From 13d0e93369c19736be5d2fe7fa2bb6093cca289d Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Thu, 22 May 2025 02:46:39 +0200 Subject: [PATCH] Convert AXspector to AXorcist Swift package with CLI tool MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Removes Xcode project structure and implements Swift Package Manager with accessibility inspection commands and test framework. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- AXspector/AXspector.xcodeproj/project.pbxproj | 556 -------- .../contents.xcworkspacedata | 7 - AXspector/AXspector/AXspector.entitlements | 10 - AXspector/AXspector/AXspectorApp.swift | 17 - .../AccentColor.colorset/Contents.json | 11 - .../AppIcon.appiconset/Contents.json | 58 - .../AXspector/Assets.xcassets/Contents.json | 6 - AXspector/AXspector/ContentView.swift | 24 - AXspector/AXspectorTests/AXspectorTests.swift | 17 - .../AXspectorUITests/AXspectorUITests.swift | 41 - .../AXspectorUITestsLaunchTests.swift | 33 - Makefile | 39 + Package.resolved | 32 + Package.swift | 44 + Sources/AXorcist/AXorcist.swift | 960 +++++++++++++ .../GetAttributesCommandHandler.swift | 71 + .../Commands/QueryCommandHandler.swift | 92 ++ .../Core/AccessibilityConstants.swift | 201 +++ .../AXorcist/Core/AccessibilityError.swift | 108 ++ .../Core/AccessibilityPermissions.swift | 118 ++ Sources/AXorcist/Core/Attribute.swift | 113 ++ Sources/AXorcist/Core/Element+Hierarchy.swift | 87 ++ .../AXorcist/Core/Element+Properties.swift | 98 ++ Sources/AXorcist/Core/Element.swift | 355 +++++ Sources/AXorcist/Core/Models.swift | 305 ++++ Sources/AXorcist/Core/ProcessUtils.swift | 120 ++ .../AXorcist/Search/AttributeHelpers.swift | 377 +++++ .../AXorcist/Search/AttributeMatcher.swift | 173 +++ Sources/AXorcist/Search/ElementSearch.swift | 200 +++ Sources/AXorcist/Search/PathUtils.swift | 81 ++ .../AXorcist/Utils/CustomCharacterSet.swift | 42 + .../AXorcist/Utils/GeneralParsingUtils.swift | 84 ++ Sources/AXorcist/Utils/Scanner.swift | 323 +++++ .../Utils/String+HelperExtensions.swift | 31 + Sources/AXorcist/Utils/TextExtraction.swift | 42 + Sources/AXorcist/Values/Scannable.swift | 44 + Sources/AXorcist/Values/ValueFormatter.swift | 174 +++ Sources/AXorcist/Values/ValueHelpers.swift | 165 +++ Sources/AXorcist/Values/ValueParser.swift | 236 ++++ Sources/AXorcist/Values/ValueUnwrapper.swift | 92 ++ Sources/axorc/axorc.swift | 773 ++++++++++ .../AXorcistIntegrationTests.swift | 1252 +++++++++++++++++ Tests/AXorcistTests/SimpleXCTest.swift | 11 + axorc | Bin 0 -> 2410976 bytes run_tests.sh | 11 + 45 files changed, 6854 insertions(+), 780 deletions(-) delete mode 100644 AXspector/AXspector.xcodeproj/project.pbxproj delete mode 100644 AXspector/AXspector.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100755 AXspector/AXspector/AXspector.entitlements delete mode 100755 AXspector/AXspector/AXspectorApp.swift delete mode 100755 AXspector/AXspector/Assets.xcassets/AccentColor.colorset/Contents.json delete mode 100644 AXspector/AXspector/Assets.xcassets/AppIcon.appiconset/Contents.json delete mode 100755 AXspector/AXspector/Assets.xcassets/Contents.json delete mode 100755 AXspector/AXspector/ContentView.swift delete mode 100755 AXspector/AXspectorTests/AXspectorTests.swift delete mode 100755 AXspector/AXspectorUITests/AXspectorUITests.swift delete mode 100755 AXspector/AXspectorUITests/AXspectorUITestsLaunchTests.swift create mode 100644 Makefile create mode 100644 Package.resolved create mode 100644 Package.swift create mode 100644 Sources/AXorcist/AXorcist.swift create mode 100644 Sources/AXorcist/Commands/GetAttributesCommandHandler.swift create mode 100644 Sources/AXorcist/Commands/QueryCommandHandler.swift create mode 100644 Sources/AXorcist/Core/AccessibilityConstants.swift create mode 100644 Sources/AXorcist/Core/AccessibilityError.swift create mode 100644 Sources/AXorcist/Core/AccessibilityPermissions.swift create mode 100644 Sources/AXorcist/Core/Attribute.swift create mode 100644 Sources/AXorcist/Core/Element+Hierarchy.swift create mode 100644 Sources/AXorcist/Core/Element+Properties.swift create mode 100644 Sources/AXorcist/Core/Element.swift create mode 100644 Sources/AXorcist/Core/Models.swift create mode 100644 Sources/AXorcist/Core/ProcessUtils.swift create mode 100644 Sources/AXorcist/Search/AttributeHelpers.swift create mode 100644 Sources/AXorcist/Search/AttributeMatcher.swift create mode 100644 Sources/AXorcist/Search/ElementSearch.swift create mode 100644 Sources/AXorcist/Search/PathUtils.swift create mode 100644 Sources/AXorcist/Utils/CustomCharacterSet.swift create mode 100644 Sources/AXorcist/Utils/GeneralParsingUtils.swift create mode 100644 Sources/AXorcist/Utils/Scanner.swift create mode 100644 Sources/AXorcist/Utils/String+HelperExtensions.swift create mode 100644 Sources/AXorcist/Utils/TextExtraction.swift create mode 100644 Sources/AXorcist/Values/Scannable.swift create mode 100644 Sources/AXorcist/Values/ValueFormatter.swift create mode 100644 Sources/AXorcist/Values/ValueHelpers.swift create mode 100644 Sources/AXorcist/Values/ValueParser.swift create mode 100644 Sources/AXorcist/Values/ValueUnwrapper.swift create mode 100644 Sources/axorc/axorc.swift create mode 100644 Tests/AXorcistTests/AXorcistIntegrationTests.swift create mode 100644 Tests/AXorcistTests/SimpleXCTest.swift create mode 100755 axorc create mode 100755 run_tests.sh diff --git a/AXspector/AXspector.xcodeproj/project.pbxproj b/AXspector/AXspector.xcodeproj/project.pbxproj deleted file mode 100644 index 85b0286..0000000 --- a/AXspector/AXspector.xcodeproj/project.pbxproj +++ /dev/null @@ -1,556 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 77; - objects = { - -/* Begin PBXContainerItemProxy section */ - 785C57082DDD38FF00BB9827 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 785C56F12DDD38FD00BB9827 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 785C56F82DDD38FD00BB9827; - remoteInfo = AXspector; - }; - 785C57122DDD38FF00BB9827 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 785C56F12DDD38FD00BB9827 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 785C56F82DDD38FD00BB9827; - remoteInfo = AXspector; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 785C56F92DDD38FD00BB9827 /* AXspector.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AXspector.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 785C57072DDD38FF00BB9827 /* AXspectorTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = AXspectorTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 785C57112DDD38FF00BB9827 /* AXspectorUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = AXspectorUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; -/* End PBXFileReference section */ - -/* Begin PBXFileSystemSynchronizedRootGroup section */ - 785C56FB2DDD38FD00BB9827 /* AXspector */ = { - isa = PBXFileSystemSynchronizedRootGroup; - path = AXspector; - sourceTree = ""; - }; - 785C570A2DDD38FF00BB9827 /* AXspectorTests */ = { - isa = PBXFileSystemSynchronizedRootGroup; - path = AXspectorTests; - sourceTree = ""; - }; - 785C57142DDD38FF00BB9827 /* AXspectorUITests */ = { - isa = PBXFileSystemSynchronizedRootGroup; - path = AXspectorUITests; - sourceTree = ""; - }; -/* End PBXFileSystemSynchronizedRootGroup section */ - -/* Begin PBXFrameworksBuildPhase section */ - 785C56F62DDD38FD00BB9827 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 785C57042DDD38FF00BB9827 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 785C570E2DDD38FF00BB9827 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 785C56F02DDD38FD00BB9827 = { - isa = PBXGroup; - children = ( - 785C56FB2DDD38FD00BB9827 /* AXspector */, - 785C570A2DDD38FF00BB9827 /* AXspectorTests */, - 785C57142DDD38FF00BB9827 /* AXspectorUITests */, - 785C56FA2DDD38FD00BB9827 /* Products */, - ); - sourceTree = ""; - }; - 785C56FA2DDD38FD00BB9827 /* Products */ = { - isa = PBXGroup; - children = ( - 785C56F92DDD38FD00BB9827 /* AXspector.app */, - 785C57072DDD38FF00BB9827 /* AXspectorTests.xctest */, - 785C57112DDD38FF00BB9827 /* AXspectorUITests.xctest */, - ); - name = Products; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 785C56F82DDD38FD00BB9827 /* AXspector */ = { - isa = PBXNativeTarget; - buildConfigurationList = 785C571B2DDD38FF00BB9827 /* Build configuration list for PBXNativeTarget "AXspector" */; - buildPhases = ( - 785C56F52DDD38FD00BB9827 /* Sources */, - 785C56F62DDD38FD00BB9827 /* Frameworks */, - 785C56F72DDD38FD00BB9827 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - fileSystemSynchronizedGroups = ( - 785C56FB2DDD38FD00BB9827 /* AXspector */, - ); - name = AXspector; - packageProductDependencies = ( - ); - productName = AXspector; - productReference = 785C56F92DDD38FD00BB9827 /* AXspector.app */; - productType = "com.apple.product-type.application"; - }; - 785C57062DDD38FF00BB9827 /* AXspectorTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 785C571E2DDD38FF00BB9827 /* Build configuration list for PBXNativeTarget "AXspectorTests" */; - buildPhases = ( - 785C57032DDD38FF00BB9827 /* Sources */, - 785C57042DDD38FF00BB9827 /* Frameworks */, - 785C57052DDD38FF00BB9827 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 785C57092DDD38FF00BB9827 /* PBXTargetDependency */, - ); - fileSystemSynchronizedGroups = ( - 785C570A2DDD38FF00BB9827 /* AXspectorTests */, - ); - name = AXspectorTests; - packageProductDependencies = ( - ); - productName = AXspectorTests; - productReference = 785C57072DDD38FF00BB9827 /* AXspectorTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - 785C57102DDD38FF00BB9827 /* AXspectorUITests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 785C57212DDD38FF00BB9827 /* Build configuration list for PBXNativeTarget "AXspectorUITests" */; - buildPhases = ( - 785C570D2DDD38FF00BB9827 /* Sources */, - 785C570E2DDD38FF00BB9827 /* Frameworks */, - 785C570F2DDD38FF00BB9827 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 785C57132DDD38FF00BB9827 /* PBXTargetDependency */, - ); - fileSystemSynchronizedGroups = ( - 785C57142DDD38FF00BB9827 /* AXspectorUITests */, - ); - name = AXspectorUITests; - packageProductDependencies = ( - ); - productName = AXspectorUITests; - productReference = 785C57112DDD38FF00BB9827 /* AXspectorUITests.xctest */; - productType = "com.apple.product-type.bundle.ui-testing"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 785C56F12DDD38FD00BB9827 /* Project object */ = { - isa = PBXProject; - attributes = { - BuildIndependentTargetsInParallel = 1; - LastSwiftUpdateCheck = 1640; - LastUpgradeCheck = 1640; - TargetAttributes = { - 785C56F82DDD38FD00BB9827 = { - CreatedOnToolsVersion = 16.4; - }; - 785C57062DDD38FF00BB9827 = { - CreatedOnToolsVersion = 16.4; - TestTargetID = 785C56F82DDD38FD00BB9827; - }; - 785C57102DDD38FF00BB9827 = { - CreatedOnToolsVersion = 16.4; - TestTargetID = 785C56F82DDD38FD00BB9827; - }; - }; - }; - buildConfigurationList = 785C56F42DDD38FD00BB9827 /* Build configuration list for PBXProject "AXspector" */; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 785C56F02DDD38FD00BB9827; - minimizedProjectReferenceProxies = 1; - preferredProjectObjectVersion = 77; - productRefGroup = 785C56FA2DDD38FD00BB9827 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 785C56F82DDD38FD00BB9827 /* AXspector */, - 785C57062DDD38FF00BB9827 /* AXspectorTests */, - 785C57102DDD38FF00BB9827 /* AXspectorUITests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 785C56F72DDD38FD00BB9827 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 785C57052DDD38FF00BB9827 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 785C570F2DDD38FF00BB9827 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 785C56F52DDD38FD00BB9827 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 785C57032DDD38FF00BB9827 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 785C570D2DDD38FF00BB9827 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 785C57092DDD38FF00BB9827 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 785C56F82DDD38FD00BB9827 /* AXspector */; - targetProxy = 785C57082DDD38FF00BB9827 /* PBXContainerItemProxy */; - }; - 785C57132DDD38FF00BB9827 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 785C56F82DDD38FD00BB9827 /* AXspector */; - targetProxy = 785C57122DDD38FF00BB9827 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - 785C57192DDD38FF00BB9827 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - DEVELOPMENT_TEAM = Y5PE65HELJ; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - ENABLE_USER_SCRIPT_SANDBOXING = YES; - GCC_C_LANGUAGE_STANDARD = gnu17; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - LOCALIZATION_PREFERS_STRING_CATALOGS = YES; - MACOSX_DEPLOYMENT_TARGET = 15.5; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = macosx; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - }; - name = Debug; - }; - 785C571A2DDD38FF00BB9827 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = Y5PE65HELJ; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_USER_SCRIPT_SANDBOXING = YES; - GCC_C_LANGUAGE_STANDARD = gnu17; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - LOCALIZATION_PREFERS_STRING_CATALOGS = YES; - MACOSX_DEPLOYMENT_TARGET = 15.5; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SDKROOT = macosx; - SWIFT_COMPILATION_MODE = wholemodule; - }; - name = Release; - }; - 785C571C2DDD38FF00BB9827 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CODE_SIGN_ENTITLEMENTS = AXspector/AXspector.entitlements; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = Y5PE65HELJ; - ENABLE_HARDENED_RUNTIME = YES; - ENABLE_PREVIEWS = YES; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_KEY_NSHumanReadableCopyright = ""; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = me.steipete.AXspector; - PRODUCT_NAME = "$(TARGET_NAME)"; - REGISTER_APP_GROUPS = YES; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_VERSION = 5.0; - }; - name = Debug; - }; - 785C571D2DDD38FF00BB9827 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CODE_SIGN_ENTITLEMENTS = AXspector/AXspector.entitlements; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = Y5PE65HELJ; - ENABLE_HARDENED_RUNTIME = YES; - ENABLE_PREVIEWS = YES; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_KEY_NSHumanReadableCopyright = ""; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = me.steipete.AXspector; - PRODUCT_NAME = "$(TARGET_NAME)"; - REGISTER_APP_GROUPS = YES; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_VERSION = 5.0; - }; - name = Release; - }; - 785C571F2DDD38FF00BB9827 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = Y5PE65HELJ; - GENERATE_INFOPLIST_FILE = YES; - MACOSX_DEPLOYMENT_TARGET = 15.5; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = me.steipete.AXspectorTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/AXspector.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/AXspector"; - }; - name = Debug; - }; - 785C57202DDD38FF00BB9827 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = Y5PE65HELJ; - GENERATE_INFOPLIST_FILE = YES; - MACOSX_DEPLOYMENT_TARGET = 15.5; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = me.steipete.AXspectorTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/AXspector.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/AXspector"; - }; - name = Release; - }; - 785C57222DDD38FF00BB9827 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = Y5PE65HELJ; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = me.steipete.AXspectorUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_VERSION = 5.0; - TEST_TARGET_NAME = AXspector; - }; - name = Debug; - }; - 785C57232DDD38FF00BB9827 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = Y5PE65HELJ; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = me.steipete.AXspectorUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_VERSION = 5.0; - TEST_TARGET_NAME = AXspector; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 785C56F42DDD38FD00BB9827 /* Build configuration list for PBXProject "AXspector" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 785C57192DDD38FF00BB9827 /* Debug */, - 785C571A2DDD38FF00BB9827 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 785C571B2DDD38FF00BB9827 /* Build configuration list for PBXNativeTarget "AXspector" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 785C571C2DDD38FF00BB9827 /* Debug */, - 785C571D2DDD38FF00BB9827 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 785C571E2DDD38FF00BB9827 /* Build configuration list for PBXNativeTarget "AXspectorTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 785C571F2DDD38FF00BB9827 /* Debug */, - 785C57202DDD38FF00BB9827 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 785C57212DDD38FF00BB9827 /* Build configuration list for PBXNativeTarget "AXspectorUITests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 785C57222DDD38FF00BB9827 /* Debug */, - 785C57232DDD38FF00BB9827 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 785C56F12DDD38FD00BB9827 /* Project object */; -} diff --git a/AXspector/AXspector.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/AXspector/AXspector.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 919434a..0000000 --- a/AXspector/AXspector.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/AXspector/AXspector/AXspector.entitlements b/AXspector/AXspector/AXspector.entitlements deleted file mode 100755 index 18aff0c..0000000 --- a/AXspector/AXspector/AXspector.entitlements +++ /dev/null @@ -1,10 +0,0 @@ - - - - - com.apple.security.app-sandbox - - com.apple.security.files.user-selected.read-only - - - diff --git a/AXspector/AXspector/AXspectorApp.swift b/AXspector/AXspector/AXspectorApp.swift deleted file mode 100755 index a0a07a2..0000000 --- a/AXspector/AXspector/AXspectorApp.swift +++ /dev/null @@ -1,17 +0,0 @@ -// -// AXspectorApp.swift -// AXspector -// -// Created by Peter Steinberger on 21.05.25. -// - -import SwiftUI - -@main -struct AXspectorApp: App { - var body: some Scene { - WindowGroup { - ContentView() - } - } -} diff --git a/AXspector/AXspector/Assets.xcassets/AccentColor.colorset/Contents.json b/AXspector/AXspector/Assets.xcassets/AccentColor.colorset/Contents.json deleted file mode 100755 index eb87897..0000000 --- a/AXspector/AXspector/Assets.xcassets/AccentColor.colorset/Contents.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "colors" : [ - { - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/AXspector/AXspector/Assets.xcassets/AppIcon.appiconset/Contents.json b/AXspector/AXspector/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index 3f00db4..0000000 --- a/AXspector/AXspector/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "images" : [ - { - "idiom" : "mac", - "scale" : "1x", - "size" : "16x16" - }, - { - "idiom" : "mac", - "scale" : "2x", - "size" : "16x16" - }, - { - "idiom" : "mac", - "scale" : "1x", - "size" : "32x32" - }, - { - "idiom" : "mac", - "scale" : "2x", - "size" : "32x32" - }, - { - "idiom" : "mac", - "scale" : "1x", - "size" : "128x128" - }, - { - "idiom" : "mac", - "scale" : "2x", - "size" : "128x128" - }, - { - "idiom" : "mac", - "scale" : "1x", - "size" : "256x256" - }, - { - "idiom" : "mac", - "scale" : "2x", - "size" : "256x256" - }, - { - "idiom" : "mac", - "scale" : "1x", - "size" : "512x512" - }, - { - "idiom" : "mac", - "scale" : "2x", - "size" : "512x512" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/AXspector/AXspector/Assets.xcassets/Contents.json b/AXspector/AXspector/Assets.xcassets/Contents.json deleted file mode 100755 index 73c0059..0000000 --- a/AXspector/AXspector/Assets.xcassets/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/AXspector/AXspector/ContentView.swift b/AXspector/AXspector/ContentView.swift deleted file mode 100755 index fd95d63..0000000 --- a/AXspector/AXspector/ContentView.swift +++ /dev/null @@ -1,24 +0,0 @@ -// -// ContentView.swift -// AXspector -// -// Created by Peter Steinberger on 21.05.25. -// - -import SwiftUI - -struct ContentView: View { - var body: some View { - VStack { - Image(systemName: "globe") - .imageScale(.large) - .foregroundStyle(.tint) - Text("Hello, world!") - } - .padding() - } -} - -#Preview { - ContentView() -} diff --git a/AXspector/AXspectorTests/AXspectorTests.swift b/AXspector/AXspectorTests/AXspectorTests.swift deleted file mode 100755 index 8bed4cb..0000000 --- a/AXspector/AXspectorTests/AXspectorTests.swift +++ /dev/null @@ -1,17 +0,0 @@ -// -// AXspectorTests.swift -// AXspectorTests -// -// Created by Peter Steinberger on 21.05.25. -// - -import Testing -@testable import AXspector - -struct AXspectorTests { - - @Test func example() async throws { - // Write your test here and use APIs like `#expect(...)` to check expected conditions. - } - -} diff --git a/AXspector/AXspectorUITests/AXspectorUITests.swift b/AXspector/AXspectorUITests/AXspectorUITests.swift deleted file mode 100755 index 32a7dbe..0000000 --- a/AXspector/AXspectorUITests/AXspectorUITests.swift +++ /dev/null @@ -1,41 +0,0 @@ -// -// AXspectorUITests.swift -// AXspectorUITests -// -// Created by Peter Steinberger on 21.05.25. -// - -import XCTest - -final class AXspectorUITests: XCTestCase { - - override func setUpWithError() throws { - // Put setup code here. This method is called before the invocation of each test method in the class. - - // In UI tests it is usually best to stop immediately when a failure occurs. - continueAfterFailure = false - - // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this. - } - - override func tearDownWithError() throws { - // Put teardown code here. This method is called after the invocation of each test method in the class. - } - - @MainActor - func testExample() throws { - // UI tests must launch the application that they test. - let app = XCUIApplication() - app.launch() - - // Use XCTAssert and related functions to verify your tests produce the correct results. - } - - @MainActor - func testLaunchPerformance() throws { - // This measures how long it takes to launch your application. - measure(metrics: [XCTApplicationLaunchMetric()]) { - XCUIApplication().launch() - } - } -} diff --git a/AXspector/AXspectorUITests/AXspectorUITestsLaunchTests.swift b/AXspector/AXspectorUITests/AXspectorUITestsLaunchTests.swift deleted file mode 100755 index 590c1e5..0000000 --- a/AXspector/AXspectorUITests/AXspectorUITestsLaunchTests.swift +++ /dev/null @@ -1,33 +0,0 @@ -// -// AXspectorUITestsLaunchTests.swift -// AXspectorUITests -// -// Created by Peter Steinberger on 21.05.25. -// - -import XCTest - -final class AXspectorUITestsLaunchTests: XCTestCase { - - override class var runsForEachTargetApplicationUIConfiguration: Bool { - true - } - - override func setUpWithError() throws { - continueAfterFailure = false - } - - @MainActor - func testLaunch() throws { - let app = XCUIApplication() - app.launch() - - // Insert steps here to perform after app launch but before taking a screenshot, - // such as logging into a test account or navigating somewhere in the app - - let attachment = XCTAttachment(screenshot: app.screenshot()) - attachment.name = "Launch Screen" - attachment.lifetime = .keepAlways - add(attachment) - } -} diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..76449fa --- /dev/null +++ b/Makefile @@ -0,0 +1,39 @@ +# Makefile for axorc helper + +# Define the output binary name +BINARY_NAME = axorc +UNIVERSAL_BINARY_PATH = ./$(BINARY_NAME) +RELEASE_BUILD_DIR := ./.build/arm64-apple-macosx/release +RELEASE_BUILD_DIR_X86 := ./.build/x86_64-apple-macosx/release + +# Build for arm64 and x86_64, then lipo them together +# -Xswiftc -Osize: Optimize for size +# -Xlinker -Wl,-dead_strip: Remove dead code +# strip -x: Strip symbol table and debug info +# Ensure old binary is removed first +all: + @echo "Cleaning old binary and build artifacts..." + rm -f $(UNIVERSAL_BINARY_PATH) + swift package clean + @echo "Building for arm64..." + swift build --arch arm64 -c release -Xswiftc -Osize -Xlinker -dead_strip + @echo "Building for x86_64..." + swift build --arch x86_64 -c release -Xswiftc -Osize -Xlinker -dead_strip + @echo "Creating universal binary..." + lipo -create -output $(UNIVERSAL_BINARY_PATH) $(RELEASE_BUILD_DIR)/$(BINARY_NAME) $(RELEASE_BUILD_DIR_X86)/$(BINARY_NAME) + @echo "Stripping symbols from universal binary..." + strip -x $(UNIVERSAL_BINARY_PATH) + @echo "Build complete: $(UNIVERSAL_BINARY_PATH)" + @ls -l $(UNIVERSAL_BINARY_PATH) + @codesign -s - $(UNIVERSAL_BINARY_PATH) + @echo "Codesigned $(UNIVERSAL_BINARY_PATH)" + + +clean: + @echo "Cleaning build artifacts..." + swift package clean + rm -f $(UNIVERSAL_BINARY_PATH) + @echo "Clean complete." + +# Default target +.DEFAULT_GOAL := all diff --git a/Package.resolved b/Package.resolved new file mode 100644 index 0000000..0fb601d --- /dev/null +++ b/Package.resolved @@ -0,0 +1,32 @@ +{ + "pins" : [ + { + "identity" : "swift-argument-parser", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-argument-parser.git", + "state" : { + "revision" : "41982a3656a71c768319979febd796c6fd111d5c", + "version" : "1.5.0" + } + }, + { + "identity" : "swift-syntax", + "kind" : "remoteSourceControl", + "location" : "https://github.com/swiftlang/swift-syntax.git", + "state" : { + "revision" : "0687f71944021d616d34d922343dcef086855920", + "version" : "600.0.1" + } + }, + { + "identity" : "swift-testing", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-testing.git", + "state" : { + "revision" : "399f76dcd91e4c688ca2301fa24a8cc6d9927211", + "version" : "0.99.0" + } + } + ], + "version" : 2 +} diff --git a/Package.swift b/Package.swift new file mode 100644 index 0000000..413accf --- /dev/null +++ b/Package.swift @@ -0,0 +1,44 @@ +// swift-tools-version:5.9 +// The swift-tools-version declares the minimum version of Swift required to build this package. + +import PackageDescription + +let package = Package( + name: "axPackage", // Renamed package slightly to avoid any confusion with executable name + platforms: [ + .macOS(.v13) // macOS 13.0 or later + ], + products: [ + .library(name: "AXorcist", targets: ["AXorcist"]), + .executable(name: "axorc", targets: ["axorc"]) // Product 'axorc' comes from target 'axorc' + ], + dependencies: [ + .package(url: "https://github.com/apple/swift-argument-parser.git", from: "1.3.0"), // Added swift-argument-parser + .package(url: "https://github.com/apple/swift-testing.git", from: "0.6.0") // Added swift-testing + ], + targets: [ + .target( + name: "AXorcist", // New library target name + path: "Sources/AXorcist" // Explicit path + // Sources will be inferred by SPM + ), + .executableTarget( + name: "axorc", // Executable target name + dependencies: [ + "AXorcist", + .product(name: "ArgumentParser", package: "swift-argument-parser") // Added dependency product + ], + path: "Sources/axorc" // Explicit path + // Sources (axorc.swift) will be inferred by SPM + ), + .testTarget( + name: "AXorcistTests", + dependencies: [ + "AXorcist", // Test target depends on the library + .product(name: "Testing", package: "swift-testing") // Added swift-testing dependency + ], + path: "Tests/AXorcistTests" // Explicit path + // Sources will be inferred by SPM + ) + ] +) \ No newline at end of file diff --git a/Sources/AXorcist/AXorcist.swift b/Sources/AXorcist/AXorcist.swift new file mode 100644 index 0000000..149d7b3 --- /dev/null +++ b/Sources/AXorcist/AXorcist.swift @@ -0,0 +1,960 @@ +import Foundation +import ApplicationServices +import AppKit + +// Placeholder for the actual accessibility logic. +// For now, this module is very thin and AXorcist.swift is the main public API. +// Other files like Element.swift, Models.swift, Search.swift, etc. are in Core/ Utils/ etc. + +public struct HandlerResponse { + public var data: AXElement? + public var error: String? + public var debug_logs: [String]? + + public init(data: AXElement? = nil, error: String? = nil, debug_logs: [String]? = nil) { + self.data = data + self.error = error + self.debug_logs = debug_logs + } +} + +public class AXorcist { + + private let focusedAppKeyValue = "focused" + private var recursiveCallDebugLogs: [String] = [] // Added for recursive logging + + public init() { + // Future initialization logic can go here. + // For now, ensure debug logs can be collected if needed. + // Note: The actual logging enable/disable should be managed per-call. + // This init doesn't take global logging flags anymore. + } + + // Placeholder for getting the focused element. + // It should accept debug logging parameters and update logs. + @MainActor + public func handleGetFocusedElement( + for appIdentifierOrNil: String? = nil, + requestedAttributes: [String]? = nil, + isDebugLoggingEnabled: Bool, + currentDebugLogs: inout [String] + ) -> HandlerResponse { + func dLog(_ message: String) { + if isDebugLoggingEnabled { + currentDebugLogs.append(message) + } + } + + let appIdentifier = appIdentifierOrNil ?? focusedAppKeyValue + dLog("[AXorcist.handleGetFocusedElement] Handling for app: \(appIdentifier)") + + guard let appElement = applicationElement(for: appIdentifier, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) else { + let errorMsgText = "Application not found: \(appIdentifier)" + dLog("[AXorcist.handleGetFocusedElement] \(errorMsgText)") + return HandlerResponse(data: nil, error: errorMsgText, debug_logs: currentDebugLogs) + } + dLog("[AXorcist.handleGetFocusedElement] Successfully obtained application element for \(appIdentifier)") + + var cfValue: CFTypeRef? + let copyAttributeStatus = AXUIElementCopyAttributeValue(appElement.underlyingElement, kAXFocusedUIElementAttribute as CFString, &cfValue) + + guard copyAttributeStatus == .success, let rawAXElement = cfValue else { + dLog("[AXorcist.handleGetFocusedElement] Failed to copy focused element attribute or it was nil. Status: \(axErrorToString(copyAttributeStatus)). Application: \(appIdentifier)") + return HandlerResponse(data: nil, error: "Could not get the focused UI element for \(appIdentifier). Ensure a window of the application is focused. AXError: \(axErrorToString(copyAttributeStatus))", debug_logs: currentDebugLogs) + } + + guard CFGetTypeID(rawAXElement) == AXUIElementGetTypeID() else { + dLog("[AXorcist.handleGetFocusedElement] Focused element attribute was not an AXUIElement. Application: \(appIdentifier)") + return HandlerResponse(data: nil, error: "Focused element was not a valid UI element for \(appIdentifier).", debug_logs: currentDebugLogs) + } + + let focusedElement = Element(rawAXElement as! AXUIElement) + dLog("[AXorcist.handleGetFocusedElement] Successfully obtained focused element: \(focusedElement.briefDescription(option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs)) for application \(appIdentifier)") + + let fetchedAttributes = getElementAttributes( + focusedElement, + requestedAttributes: requestedAttributes ?? [], + forMultiDefault: false, + targetRole: nil, + outputFormat: .smart, + isDebugLoggingEnabled: isDebugLoggingEnabled, + currentDebugLogs: ¤tDebugLogs + ) + + let elementPathArray = focusedElement.generatePathArray(upTo: appElement, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) + + let axElement = AXElement(attributes: fetchedAttributes, path: elementPathArray) + + return HandlerResponse(data: axElement, error: nil, debug_logs: currentDebugLogs) + } + + // Handle getting attributes for a specific element using locator + @MainActor + public func handleGetAttributes( + for appIdentifierOrNil: String? = nil, + locator: Locator, + requestedAttributes: [String]? = nil, + pathHint: [String]? = nil, + maxDepth: Int? = nil, + outputFormat: OutputFormat? = nil, + isDebugLoggingEnabled: Bool, + currentDebugLogs: inout [String] + ) -> HandlerResponse { + func dLog(_ message: String) { + if isDebugLoggingEnabled { + currentDebugLogs.append(message) + } + } + + let appIdentifier = appIdentifierOrNil ?? focusedAppKeyValue + dLog("[AXorcist.handleGetAttributes] Handling for app: \(appIdentifier)") + + guard let appElement = applicationElement(for: appIdentifier, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) else { + let errorMessage = "Application not found: \(appIdentifier)" + dLog("[AXorcist.handleGetAttributes] \(errorMessage)") + return HandlerResponse(data: nil, error: errorMessage, debug_logs: currentDebugLogs) + } + + // Find element to get attributes from + var effectiveElement = appElement + if let pathHint = pathHint, !pathHint.isEmpty { + let pathHintString = pathHint.joined(separator: " -> ") + _ = pathHintString // Silences compiler warning + let logMessage = "[AXorcist.handleGetAttributes] Navigating with path_hint: \(pathHintString)" + dLog(logMessage) + if let navigatedElement = navigateToElement(from: effectiveElement, pathHint: pathHint, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) { + effectiveElement = navigatedElement + } else { + let pathHintStringForError = pathHint.joined(separator: " -> ") + _ = pathHintStringForError // Silences compiler warning + let errorMessageText = "Element not found via path hint: \(pathHintStringForError)" + dLog("[AXorcist.handleGetAttributes] \(errorMessageText)") + return HandlerResponse(data: nil, error: errorMessageText, debug_logs: currentDebugLogs) + } + } + + let rootElementDescription = effectiveElement.briefDescription(option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) + _ = rootElementDescription // Silences compiler warning + let searchLogMessage = "[AXorcist.handleGetAttributes] Searching for element with locator: \(locator.criteria) from root: \(rootElementDescription)" + dLog(searchLogMessage) + let foundElement = search( + element: effectiveElement, + locator: locator, + requireAction: locator.requireAction, + maxDepth: maxDepth ?? DEFAULT_MAX_DEPTH_SEARCH, + isDebugLoggingEnabled: isDebugLoggingEnabled, + currentDebugLogs: ¤tDebugLogs + ) + + if let elementToQuery = foundElement { + let elementDescription = elementToQuery.briefDescription(option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) + _ = elementDescription // Silences compiler warning + let attributesDescription = (requestedAttributes ?? ["all"]).description + _ = attributesDescription // Silences compiler warning + let foundElementLogMessage = "[AXorcist.handleGetAttributes] Element found: \(elementDescription). Fetching attributes: \(attributesDescription)..." + dLog(foundElementLogMessage) + var attributes = getElementAttributes( + elementToQuery, + requestedAttributes: requestedAttributes ?? [], + forMultiDefault: false, + targetRole: locator.criteria[kAXRoleAttribute], + outputFormat: outputFormat ?? .smart, + isDebugLoggingEnabled: isDebugLoggingEnabled, + currentDebugLogs: ¤tDebugLogs + ) + if outputFormat == .json_string { + attributes = encodeAttributesToJSONStringRepresentation(attributes) + } + + let elementPathArray = elementToQuery.generatePathArray(upTo: appElement, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) + let axElement = AXElement(attributes: attributes, path: elementPathArray) + + dLog("[AXorcist.handleGetAttributes] Successfully fetched attributes for element \(elementToQuery.briefDescription(option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs)).") + return HandlerResponse(data: axElement, error: nil, debug_logs: currentDebugLogs) + } else { + let errorMessage = "No element found for get_attributes with locator: \(String(describing: locator))" + dLog("[AXorcist.handleGetAttributes] \(errorMessage)") + return HandlerResponse(data: nil, error: errorMessage, debug_logs: currentDebugLogs) + } + } + + // Handle query command - find an element matching criteria + @MainActor + public func handleQuery( + for appIdentifierOrNil: String? = nil, + locator: Locator, + pathHint: [String]? = nil, + maxDepth: Int? = nil, + requestedAttributes: [String]? = nil, + outputFormat: OutputFormat? = nil, + isDebugLoggingEnabled: Bool, + currentDebugLogs: inout [String] + ) -> HandlerResponse { + func dLog(_ message: String) { + if isDebugLoggingEnabled { + currentDebugLogs.append(message) + } + } + + let appIdentifier = appIdentifierOrNil ?? focusedAppKeyValue + dLog("[AXorcist.handleQuery] Handling query for app: \(appIdentifier)") + + guard let appElement = applicationElement(for: appIdentifier, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) else { + let errorMessage = "Application not found: \(appIdentifier)" + dLog("[AXorcist.handleQuery] \(errorMessage)") + return HandlerResponse(data: nil, error: errorMessage, debug_logs: currentDebugLogs) + } + + var effectiveElement = appElement + if let pathHint = pathHint, !pathHint.isEmpty { + let pathHintString = pathHint.joined(separator: " -> ") + _ = pathHintString // Silences compiler warning + dLog("[AXorcist.handleQuery] Navigating with path_hint: \(pathHintString)") + if let navigatedElement = navigateToElement(from: effectiveElement, pathHint: pathHint, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) { + effectiveElement = navigatedElement + } else { + let errorMessage = "Element not found via path hint: \(pathHintString)" + dLog("[AXorcist.handleQuery] \(errorMessage)") + return HandlerResponse(data: nil, error: errorMessage, debug_logs: currentDebugLogs) + } + } + + // Check if this is an app-only locator (only application/bundle_id/pid/path criteria) + let appSpecifiers = ["application", "bundle_id", "pid", "path"] + let criteriaKeys = locator.criteria.keys + let isAppOnlyLocator = criteriaKeys.allSatisfy { appSpecifiers.contains($0) } && criteriaKeys.count == 1 + + var foundElement: Element? = nil + + if isAppOnlyLocator { + dLog("[AXorcist.handleQuery] Locator is app-only (criteria: \(locator.criteria)). Using appElement directly.") + foundElement = effectiveElement + } else { + dLog("[AXorcist.handleQuery] Locator contains element-specific criteria. Proceeding with search.") + var searchStartElementForLocator = appElement + + if let rootPathHint = locator.root_element_path_hint, !rootPathHint.isEmpty { + let rootPathHintString = rootPathHint.joined(separator: " -> ") + _ = rootPathHintString // Silences compiler warning + dLog("[AXorcist.handleQuery] Locator has root_element_path_hint: \(rootPathHintString). Navigating from app element first.") + guard let containerElement = navigateToElement(from: appElement, pathHint: rootPathHint, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) else { + let errorMessage = "Container for locator not found via root_element_path_hint: \(rootPathHintString)" + dLog("[AXorcist.handleQuery] \(errorMessage)") + return HandlerResponse(data: nil, error: errorMessage, debug_logs: currentDebugLogs) + } + searchStartElementForLocator = containerElement + let containerDescription = searchStartElementForLocator.briefDescription(option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) + _ = containerDescription // Silences compiler warning + dLog("[AXorcist.handleQuery] Searching with locator within container found by root_element_path_hint: \(containerDescription)") + } else { + searchStartElementForLocator = effectiveElement + let searchDescription = searchStartElementForLocator.briefDescription(option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) + _ = searchDescription // Silences compiler warning + dLog("[AXorcist.handleQuery] Searching with locator from element (determined by main path_hint or app root): \(searchDescription)") + } + + let finalSearchTarget = (pathHint != nil && !pathHint!.isEmpty) ? effectiveElement : searchStartElementForLocator + + foundElement = search( + element: finalSearchTarget, + locator: locator, + requireAction: locator.requireAction, + maxDepth: maxDepth ?? DEFAULT_MAX_DEPTH_SEARCH, + isDebugLoggingEnabled: isDebugLoggingEnabled, + currentDebugLogs: ¤tDebugLogs + ) + } + + if let elementToQuery = foundElement { + let elementDescription = elementToQuery.briefDescription(option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) + _ = elementDescription // Silences compiler warning + dLog("[AXorcist.handleQuery] Element found: \(elementDescription). Fetching attributes...") + + var attributes = getElementAttributes( + elementToQuery, + requestedAttributes: requestedAttributes ?? [], + forMultiDefault: false, + targetRole: locator.criteria[kAXRoleAttribute], + outputFormat: outputFormat ?? .smart, + isDebugLoggingEnabled: isDebugLoggingEnabled, + currentDebugLogs: ¤tDebugLogs + ) + + if outputFormat == .json_string { + attributes = encodeAttributesToJSONStringRepresentation(attributes) + } + + let elementPathArray = elementToQuery.generatePathArray(upTo: appElement, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) + let axElement = AXElement(attributes: attributes, path: elementPathArray) + + dLog("[AXorcist.handleQuery] Successfully found and processed element with query.") + return HandlerResponse(data: axElement, error: nil, debug_logs: currentDebugLogs) + } else { + let errorMessage = "No element matches query criteria with locator: \(String(describing: locator))" + dLog("[AXorcist.handleQuery] \(errorMessage)") + return HandlerResponse(data: nil, error: errorMessage, debug_logs: currentDebugLogs) + } + } + + // Handle describe element command - provides comprehensive details about a specific element + @MainActor + public func handleDescribeElement( + for appIdentifierOrNil: String? = nil, + locator: Locator, + pathHint: [String]? = nil, + maxDepth: Int? = nil, + outputFormat: OutputFormat? = nil, + isDebugLoggingEnabled: Bool, + currentDebugLogs: inout [String] + ) -> HandlerResponse { + func dLog(_ message: String) { + if isDebugLoggingEnabled { + currentDebugLogs.append(message) + } + } + + let appIdentifier = appIdentifierOrNil ?? focusedAppKeyValue + dLog("[AXorcist.handleDescribeElement] Handling for app: \(appIdentifier)") + + guard let appElement = applicationElement(for: appIdentifier, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) else { + let errorMessage = "Application not found: \(appIdentifier)" + dLog("[AXorcist.handleDescribeElement] \(errorMessage)") + return HandlerResponse(data: nil, error: errorMessage, debug_logs: currentDebugLogs) + } + + var effectiveElement = appElement + if let pathHint = pathHint, !pathHint.isEmpty { + let pathHintString = pathHint.joined(separator: " -> ") + _ = pathHintString // Silences compiler warning + dLog("[AXorcist.handleDescribeElement] Navigating with path_hint: \(pathHintString)") + if let navigatedElement = navigateToElement(from: effectiveElement, pathHint: pathHint, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) { + effectiveElement = navigatedElement + } else { + let errorMessage = "Element not found via path hint for describe_element: \(pathHintString)" + dLog("[AXorcist.handleDescribeElement] \(errorMessage)") + return HandlerResponse(data: nil, error: errorMessage, debug_logs: currentDebugLogs) + } + } + + let rootElementDescription = effectiveElement.briefDescription(option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) + _ = rootElementDescription // Silences compiler warning + dLog("[AXorcist.handleDescribeElement] Searching for element with locator: \(locator.criteria) from root: \(rootElementDescription)") + let foundElement = search( + element: effectiveElement, + locator: locator, + requireAction: locator.requireAction, + maxDepth: maxDepth ?? DEFAULT_MAX_DEPTH_SEARCH, + isDebugLoggingEnabled: isDebugLoggingEnabled, + currentDebugLogs: ¤tDebugLogs + ) + + if let elementToDescribe = foundElement { + let elementDescription = elementToDescribe.briefDescription(option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) + _ = elementDescription // Silences compiler warning + dLog("[AXorcist.handleDescribeElement] Element found: \(elementDescription). Describing with verbose output...") + + // For describe_element, we typically want ALL attributes with verbose output + var attributes = getElementAttributes( + elementToDescribe, + requestedAttributes: [], // Empty means 'all standard' or 'all known' + forMultiDefault: false, + targetRole: locator.criteria[kAXRoleAttribute], + outputFormat: .verbose, // Describe implies verbose + isDebugLoggingEnabled: isDebugLoggingEnabled, + currentDebugLogs: ¤tDebugLogs + ) + + if outputFormat == .json_string { + attributes = encodeAttributesToJSONStringRepresentation(attributes) + } + + let elementPathArray = elementToDescribe.generatePathArray(upTo: appElement, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) + let axElement = AXElement(attributes: attributes, path: elementPathArray) + + dLog("[AXorcist.handleDescribeElement] Successfully described element \(elementToDescribe.briefDescription(option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs)).") + return HandlerResponse(data: axElement, error: nil, debug_logs: currentDebugLogs) + } else { + let errorMessage = "No element found for describe_element with locator: \(String(describing: locator))" + dLog("[AXorcist.handleDescribeElement] \(errorMessage)") + return HandlerResponse(data: nil, error: errorMessage, debug_logs: currentDebugLogs) + } + } + + // Add other public API methods here as they are refactored or created. + // For example: + // public func handlePerformAction(...) async -> HandlerResponse { ... } + + @MainActor + public func handlePerformAction( + for appIdentifierOrNil: String? = nil, + locator: Locator, + pathHint: [String]? = nil, + actionName: String, + actionValue: AnyCodable?, + maxDepth: Int? = nil, + isDebugLoggingEnabled: Bool, + currentDebugLogs: inout [String] + ) -> HandlerResponse { + + func dLog(_ message: String) { + if isDebugLoggingEnabled { + currentDebugLogs.append(message) + } + } + + let appIdentifier = appIdentifierOrNil ?? focusedAppKeyValue + dLog("[AXorcist.handlePerformAction] Handling for app: \(appIdentifier), action: \(actionName)") + + guard let appElement = applicationElement(for: appIdentifier, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) else { + let error = "[AXorcist.handlePerformAction] Failed to get application element for identifier: \(appIdentifier)" + dLog(error) + return HandlerResponse(data: nil, error: error, debug_logs: currentDebugLogs) + } + + var effectiveElement = appElement + + if let pathHint = pathHint, !pathHint.isEmpty { + dLog("[AXorcist.handlePerformAction] Navigating with path_hint: \(pathHint.joined(separator: " -> "))") + guard let navigatedElement = navigateToElement(from: effectiveElement, pathHint: pathHint, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) else { + let error = "[AXorcist.handlePerformAction] Failed to navigate using path hint: \(pathHint.joined(separator: " -> "))" + dLog(error) + return HandlerResponse(data: nil, error: error, debug_logs: currentDebugLogs) + } + effectiveElement = navigatedElement + } + + dLog("[AXorcist.handlePerformAction] Searching for element with locator: \(locator.criteria) from root: \(effectiveElement.briefDescription(option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs))") + guard let foundElement = search(element: effectiveElement, locator: locator, requireAction: locator.requireAction, maxDepth: maxDepth ?? DEFAULT_MAX_DEPTH_SEARCH, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) else { + let error = "[AXorcist.handlePerformAction] Failed to find element with locator: \(locator)" + dLog(error) + return HandlerResponse(data: nil, error: error, debug_logs: currentDebugLogs) + } + + dLog("[AXorcist.handlePerformAction] Found element: \(foundElement.briefDescription(option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs))") + if let actionValue = actionValue { + // Attempt to get a string representation of actionValue.value for logging + // This is a basic attempt; complex types might not log well. + let valueDescription = String(describing: actionValue.value) + dLog("[AXorcist.handlePerformAction] Performing action '\(actionName)' with value: \(valueDescription)") + } else { + dLog("[AXorcist.handlePerformAction] Performing action '\(actionName)'") + } + + var errorMessage: String? + var axStatus: AXError = .success // Initialize to success + + switch actionName.lowercased() { + case "press": + axStatus = AXUIElementPerformAction(foundElement.underlyingElement, kAXPressAction as CFString) + if axStatus != .success { + errorMessage = "[AXorcist.handlePerformAction] Failed to perform press action: \(axErrorToString(axStatus))" + } + case "increment": + axStatus = AXUIElementPerformAction(foundElement.underlyingElement, kAXIncrementAction as CFString) + if axStatus != .success { + errorMessage = "[AXorcist.handlePerformAction] Failed to perform increment action: \(axErrorToString(axStatus))" + } + case "decrement": + axStatus = AXUIElementPerformAction(foundElement.underlyingElement, kAXDecrementAction as CFString) + if axStatus != .success { + errorMessage = "[AXorcist.handlePerformAction] Failed to perform decrement action: \(axErrorToString(axStatus))" + } + case "showmenu": + axStatus = AXUIElementPerformAction(foundElement.underlyingElement, kAXShowMenuAction as CFString) + if axStatus != .success { + errorMessage = "[AXorcist.handlePerformAction] Failed to perform showmenu action: \(axErrorToString(axStatus))" + } + case "pick": + axStatus = AXUIElementPerformAction(foundElement.underlyingElement, kAXPickAction as CFString) + if axStatus != .success { + errorMessage = "[AXorcist.handlePerformAction] Failed to perform pick action: \(axErrorToString(axStatus))" + } + case "cancel": + axStatus = AXUIElementPerformAction(foundElement.underlyingElement, kAXCancelAction as CFString) + if axStatus != .success { + errorMessage = "[AXorcist.handlePerformAction] Failed to perform cancel action: \(axErrorToString(axStatus))" + } + default: + if actionName.hasPrefix("AX") { + axStatus = AXUIElementPerformAction(foundElement.underlyingElement, actionName as CFString) + if axStatus != .success { + errorMessage = "[AXorcist.handlePerformAction] Failed to perform action '\(actionName)': \(axErrorToString(axStatus))" + } + } else { + if let actionValue = actionValue { + var cfValue: CFTypeRef? + // Convert basic Swift types to CFTypeRef for setting attributes + switch actionValue.value { + case let stringValue as String: + cfValue = stringValue as CFString + case let boolValue as Bool: + cfValue = boolValue as CFBoolean + case let intValue as Int: + var number = intValue + cfValue = CFNumberCreate(kCFAllocatorDefault, .intType, &number) + case let doubleValue as Double: + var number = doubleValue + cfValue = CFNumberCreate(kCFAllocatorDefault, .doubleType, &number) + // TODO: Consider other CFNumber types if necessary (CGFloat, etc.) + // TODO: Consider CFArray, CFDictionary if complex values are needed. + default: + // For other types, attempt a direct cast if possible, or log/error. + // This is a simplification; robust conversion is more involved. + if CFGetTypeID(actionValue.value as AnyObject) != 0 { // Basic check if it *might* be a CFType + cfValue = actionValue.value as AnyObject // bridge from Any to AnyObject then to CFTypeRef + dLog("[AXorcist.handlePerformAction] Warning: Attempting to use actionValue of type '\(type(of: actionValue.value))' directly as CFTypeRef for attribute '\(actionName)'. This might not work as expected.") + } else { + errorMessage = "[AXorcist.handlePerformAction] Unsupported value type '\(type(of: actionValue.value))' for attribute '\(actionName)'. Cannot convert to CFTypeRef." + dLog(errorMessage!) + } + } + + if errorMessage == nil, let finalCFValue = cfValue { + axStatus = AXUIElementSetAttributeValue(foundElement.underlyingElement, actionName as CFString, finalCFValue) + if axStatus != .success { + errorMessage = "[AXorcist.handlePerformAction] Failed to set attribute '\(actionName)' to value '\(String(describing: actionValue.value))': \(axErrorToString(axStatus))" + } + } else if errorMessage == nil { // cfValue was nil, means conversion failed earlier but wasn't caught by the default error + errorMessage = "[AXorcist.handlePerformAction] Failed to convert value for attribute '\(actionName)' to a CoreFoundation type." + } + } else { + errorMessage = "[AXorcist.handlePerformAction] Unknown action '\(actionName)' and no action_value provided to interpret as an attribute." + } + } + } + + if let currentErrorMessage = errorMessage { + dLog(currentErrorMessage) + return HandlerResponse(data: nil, error: currentErrorMessage, debug_logs: currentDebugLogs) + } + + dLog("[AXorcist.handlePerformAction] Action '\(actionName)' performed successfully.") + return HandlerResponse(data: nil, error: nil, debug_logs: currentDebugLogs) + } + + @MainActor + public func handleExtractText( + for appIdentifierOrNil: String? = nil, + locator: Locator, + pathHint: [String]? = nil, + isDebugLoggingEnabled: Bool, + currentDebugLogs: inout [String] + ) -> HandlerResponse { + func dLog(_ message: String) { + if isDebugLoggingEnabled { + currentDebugLogs.append("[handleExtractText] \(message)") + } + } + + let appIdentifier = appIdentifierOrNil ?? focusedAppKeyValue + dLog("Starting text extraction for app: \(appIdentifier)") + + guard let appElement = applicationElement(for: appIdentifier, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) else { + let errorMessage = "Failed to get application element for \(appIdentifier)" + dLog(errorMessage) + return HandlerResponse(data: nil, error: errorMessage, debug_logs: currentDebugLogs) + } + + var effectiveElement = appElement + if let pathHint = pathHint, !pathHint.isEmpty { + dLog("Navigating to element using path hint: \(pathHint.joined(separator: " -> "))") + guard let navigatedElement = navigateToElement(from: appElement, pathHint: pathHint, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) else { + let errorMessage = "Failed to navigate to element using path hint: \(pathHint.joined(separator: " -> "))" + dLog(errorMessage) + return HandlerResponse(data: nil, error: errorMessage, debug_logs: currentDebugLogs) + } + effectiveElement = navigatedElement + } + + dLog("Searching for target element with locator: \(locator)") + // Assuming DEFAULT_MAX_DEPTH_SEARCH is defined elsewhere, e.g., in AXConstants.swift or similar. + // If not, replace with a sensible default like 10. + guard let foundElement = search(element: effectiveElement, locator: locator, requireAction: locator.requireAction, maxDepth: DEFAULT_MAX_DEPTH_SEARCH, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) else { + let errorMessage = "Target element not found for locator: \(locator)" + dLog(errorMessage) + return HandlerResponse(data: nil, error: errorMessage, debug_logs: currentDebugLogs) + } + + dLog("Target element found: \(foundElement.briefDescription(option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs)), attempting to extract text") + var attributes: [String: AnyCodable] = [:] + var extractedValueText: String? + var extractedSelectedText: String? + + var cfValue: CFTypeRef? + if AXUIElementCopyAttributeValue(foundElement.underlyingElement, kAXValueAttribute as CFString, &cfValue) == .success, let value = cfValue { + if CFGetTypeID(value) == CFStringGetTypeID() { + extractedValueText = (value as! CFString) as String + if let extractedValueText = extractedValueText, !extractedValueText.isEmpty { + attributes["extractedValue"] = AnyCodable(extractedValueText) + dLog("Extracted text from kAXValueAttribute (length: \(extractedValueText.count)): \(extractedValueText.prefix(80))...") + } else { + dLog("kAXValueAttribute was empty or not a string.") + } + } else { + dLog("kAXValueAttribute was present but not a CFString. TypeID: \(CFGetTypeID(value))") + } + } else { + dLog("Failed to get kAXValueAttribute or it was nil.") + } + + cfValue = nil // Reset for next attribute + if AXUIElementCopyAttributeValue(foundElement.underlyingElement, kAXSelectedTextAttribute as CFString, &cfValue) == .success, let selectedValue = cfValue { + if CFGetTypeID(selectedValue) == CFStringGetTypeID() { + extractedSelectedText = (selectedValue as! CFString) as String + if let extractedSelectedText = extractedSelectedText, !extractedSelectedText.isEmpty { + attributes["extractedSelectedText"] = AnyCodable(extractedSelectedText) + dLog("Extracted selected text from kAXSelectedTextAttribute (length: \(extractedSelectedText.count)): \(extractedSelectedText.prefix(80))...") + } else { + dLog("kAXSelectedTextAttribute was empty or not a string.") + } + } else { + dLog("kAXSelectedTextAttribute was present but not a CFString. TypeID: \(CFGetTypeID(selectedValue))") + } + } else { + dLog("Failed to get kAXSelectedTextAttribute or it was nil.") + } + + + if attributes.isEmpty { + dLog("Warning: No text could be extracted from the element via kAXValueAttribute or kAXSelectedTextAttribute.") + // It's not an error, just means no text content via these primary attributes. + // Other attributes might still be relevant, so we return the element. + } + + let elementPathArray = foundElement.generatePathArray(upTo: appElement, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) + // Include any other relevant attributes if needed, for now just the extracted text + let axElement = AXElement(attributes: attributes, path: elementPathArray) + + dLog("Text extraction process completed.") + return HandlerResponse(data: axElement, error: nil, debug_logs: currentDebugLogs) + } + + @MainActor + public func handleBatchCommands( + batchCommandID: String, // The ID of the overall batch command + subCommands: [CommandEnvelope], // The array of sub-commands to process + isDebugLoggingEnabled: Bool, + currentDebugLogs: inout [String] + ) -> [HandlerResponse] { + // Local debug logging function + func dLog(_ message: String, subCommandID: String? = nil) { + if isDebugLoggingEnabled { + let prefix = subCommandID != nil ? "[AXorcist.handleBatchCommands][SubCmdID: \(subCommandID!)]" : "[AXorcist.handleBatchCommands][BatchID: \(batchCommandID)]" + currentDebugLogs.append("\(prefix) \(message)") + } + } + + dLog("Starting batch processing with \(subCommands.count) sub-commands.") + + var batchResults: [HandlerResponse] = [] + + for subCommandEnvelope in subCommands { + let subCmdID = subCommandEnvelope.command_id + // Create a temporary log array for this specific sub-command to pass to handlers if needed, + // or decide if currentDebugLogs should be directly mutated by sub-handlers and reflect cumulative logs. + // For simplicity here, let's assume sub-handlers append to the main currentDebugLogs. + dLog("Processing sub-command: \(subCmdID), type: \(subCommandEnvelope.command)", subCommandID: subCmdID) + + var subCommandResponse: HandlerResponse + + switch subCommandEnvelope.command { + case .getFocusedElement: + subCommandResponse = self.handleGetFocusedElement( + for: subCommandEnvelope.application, + requestedAttributes: subCommandEnvelope.attributes, + isDebugLoggingEnabled: isDebugLoggingEnabled, + currentDebugLogs: ¤tDebugLogs // Pass the main log array + ) + + case .getAttributes: + guard let locator = subCommandEnvelope.locator else { + let errorMsg = "Locator missing for getAttributes in batch (sub-command ID: \(subCmdID))" + dLog(errorMsg, subCommandID: subCmdID) + subCommandResponse = HandlerResponse(data: nil, error: errorMsg, debug_logs: nil) // Keep debug_logs nil for specific error, main logs will have the dLog entry + break + } + subCommandResponse = self.handleGetAttributes( + for: subCommandEnvelope.application, + locator: locator, + requestedAttributes: subCommandEnvelope.attributes, + pathHint: subCommandEnvelope.path_hint, + maxDepth: subCommandEnvelope.max_elements, + outputFormat: subCommandEnvelope.output_format, + isDebugLoggingEnabled: isDebugLoggingEnabled, + currentDebugLogs: ¤tDebugLogs + ) + + case .query: + guard let locator = subCommandEnvelope.locator else { + let errorMsg = "Locator missing for query in batch (sub-command ID: \(subCmdID))" + dLog(errorMsg, subCommandID: subCmdID) + subCommandResponse = HandlerResponse(data: nil, error: errorMsg, debug_logs: nil) + break + } + subCommandResponse = self.handleQuery( + for: subCommandEnvelope.application, + locator: locator, + pathHint: subCommandEnvelope.path_hint, + maxDepth: subCommandEnvelope.max_elements, + requestedAttributes: subCommandEnvelope.attributes, + outputFormat: subCommandEnvelope.output_format, + isDebugLoggingEnabled: isDebugLoggingEnabled, + currentDebugLogs: ¤tDebugLogs + ) + + case .describeElement: + guard let locator = subCommandEnvelope.locator else { + let errorMsg = "Locator missing for describeElement in batch (sub-command ID: \(subCmdID))" + dLog(errorMsg, subCommandID: subCmdID) + subCommandResponse = HandlerResponse(data: nil, error: errorMsg, debug_logs: nil) + break + } + subCommandResponse = self.handleDescribeElement( + for: subCommandEnvelope.application, + locator: locator, + pathHint: subCommandEnvelope.path_hint, + maxDepth: subCommandEnvelope.max_elements, + outputFormat: subCommandEnvelope.output_format, + isDebugLoggingEnabled: isDebugLoggingEnabled, + currentDebugLogs: ¤tDebugLogs + ) + + case .performAction: + guard let locator = subCommandEnvelope.locator else { + let errorMsg = "Locator missing for performAction in batch (sub-command ID: \(subCmdID))" + dLog(errorMsg, subCommandID: subCmdID) + subCommandResponse = HandlerResponse(data: nil, error: errorMsg, debug_logs: nil) + break + } + guard let actionName = subCommandEnvelope.action_name else { + let errorMsg = "Action name missing for performAction in batch (sub-command ID: \(subCmdID))" + dLog(errorMsg, subCommandID: subCmdID) + subCommandResponse = HandlerResponse(data: nil, error: errorMsg, debug_logs: nil) + break + } + subCommandResponse = self.handlePerformAction( + for: subCommandEnvelope.application, + locator: locator, + pathHint: subCommandEnvelope.path_hint, + actionName: actionName, + actionValue: subCommandEnvelope.action_value, + maxDepth: subCommandEnvelope.max_elements, // Added maxDepth, though performAction doesn't currently use it directly, for consistency + isDebugLoggingEnabled: isDebugLoggingEnabled, + currentDebugLogs: ¤tDebugLogs + ) + + case .extractText: + guard let locator = subCommandEnvelope.locator else { + let errorMsg = "Locator missing for extractText in batch (sub-command ID: \(subCmdID))" + dLog(errorMsg, subCommandID: subCmdID) + subCommandResponse = HandlerResponse(data: nil, error: errorMsg, debug_logs: nil) + break + } + subCommandResponse = self.handleExtractText( + for: subCommandEnvelope.application, + locator: locator, + pathHint: subCommandEnvelope.path_hint, + isDebugLoggingEnabled: isDebugLoggingEnabled, + currentDebugLogs: ¤tDebugLogs + ) + + case .ping: + let pingMsg = "Ping command handled within batch (sub-command ID: \(subCmdID))" + dLog(pingMsg, subCommandID: subCmdID) + // For ping, the handlerResponse itself won't carry much data from AXorcist, + // but it should indicate success and carry the logs up to this point for this sub-command. + subCommandResponse = HandlerResponse(data: nil, error: nil, debug_logs: isDebugLoggingEnabled ? currentDebugLogs : nil) + + // .batch command cannot be nested. .collectAll is also not handled by AXorcist lib directly. + case .collectAll, .batch: + let errorMsg = "Command type '\(subCommandEnvelope.command)' not supported within batch execution by AXorcist (sub-command ID: \(subCmdID))" + dLog(errorMsg, subCommandID: subCmdID) + subCommandResponse = HandlerResponse(data: nil, error: errorMsg, debug_logs: nil) + + // default case for any command types that might be added to CommandType enum + // but not handled by this switch statement within handleBatchCommands. + // This is distinct from commands axorc itself might handle outside of AXorcist library. + // @unknown default: // This would be better if Swift enums allowed it easily here for non-frozen enums from other modules. + // Since CommandType is in axorc, this default captures any CommandType case not explicitly handled above. + default: + let errorMsg = "Unknown or unhandled command type '\(subCommandEnvelope.command)' in batch processing within AXorcist (sub-command ID: \(subCmdID))" + dLog(errorMsg, subCommandID: subCmdID) + subCommandResponse = HandlerResponse(data: nil, error: errorMsg, debug_logs: nil) + } + batchResults.append(subCommandResponse) + } + + dLog("Completed batch command processing, returning \(batchResults.count) results.") + return batchResults + } + + @MainActor + public func handleCollectAll( + for appIdentifierOrNil: String?, + locator: Locator?, + pathHint: [String]?, + maxDepth: Int?, + requestedAttributes: [String]?, + outputFormat: OutputFormat?, + isDebugLoggingEnabled: Bool, + currentDebugLogs: [String] // No longer inout, logs from caller + ) -> HandlerResponse { + self.recursiveCallDebugLogs.removeAll() + self.recursiveCallDebugLogs.append(contentsOf: currentDebugLogs) // Incorporate initial logs + + // Local dLog now appends to self.recursiveCallDebugLogs + func dLog(_ message: String) { + if isDebugLoggingEnabled { + let logMessage = "[AXorcist.handleCollectAll] \(message)" + self.recursiveCallDebugLogs.append(logMessage) + } + } + + dLog("Starting handleCollectAll") + + let appIdentifier = appIdentifierOrNil ?? focusedAppKeyValue + dLog("Using app identifier: \(appIdentifier)") + + guard let appElement = applicationElement(for: appIdentifier, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &self.recursiveCallDebugLogs) else { + let errorMsg = "Failed to get app element for identifier: \(appIdentifier)" + dLog(errorMsg) + // Return all accumulated logs up to this point + return HandlerResponse(data: nil, error: errorMsg, debug_logs: self.recursiveCallDebugLogs) + } + + var startElement: Element + if let hint = pathHint, !hint.isEmpty { + dLog("Navigating to path hint: \(hint.joined(separator: " -> "))") + guard let navigatedElement = navigateToElement(from: appElement, pathHint: hint, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &self.recursiveCallDebugLogs) else { + let errorMsg = "Failed to navigate to path: \(hint.joined(separator: " -> "))" + dLog(errorMsg) + return HandlerResponse(data: nil, error: errorMsg, debug_logs: self.recursiveCallDebugLogs) + } + startElement = navigatedElement + } else { + dLog("Using app element as start element") + startElement = appElement + } + + var collectedAXElements: [AXElement] = [] + let effectiveMaxDepth = maxDepth ?? 8 + dLog("Max collection depth: \(effectiveMaxDepth)") + + var collectRecursively: ((AXUIElement, Int) -> Void)! + collectRecursively = { axUIElement, currentDepth in + if currentDepth > effectiveMaxDepth { + // Pass &self.recursiveCallDebugLogs to briefDescription + dLog("Reached max depth \(effectiveMaxDepth) at element \(Element(axUIElement).briefDescription(option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &self.recursiveCallDebugLogs)), stopping recursion for this branch.") + return + } + + let currentElement = Element(axUIElement) + + var shouldIncludeElement = true // Default to include if no locator + if let loc = locator { + let matchStatus = evaluateElementAgainstCriteria( + element: currentElement, + locator: loc, + actionToVerify: loc.requireAction, // Pass requireAction from locator + depth: currentDepth, // Pass currentDepth + isDebugLoggingEnabled: isDebugLoggingEnabled, + currentDebugLogs: &self.recursiveCallDebugLogs + ) + if matchStatus != .fullMatch { + shouldIncludeElement = false + // Log if not a full match, but still recurse for children + dLog("Element \(currentElement.briefDescription(option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &self.recursiveCallDebugLogs)) at depth \(currentDepth) did not fully match locator (status: \(matchStatus)), not collecting it.") + } + } + + if shouldIncludeElement { + dLog("Collecting element \(currentElement.briefDescription(option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &self.recursiveCallDebugLogs)) at depth \(currentDepth)") + + let fetchedAttrs = getElementAttributes( + currentElement, + requestedAttributes: requestedAttributes ?? [], + forMultiDefault: true, + targetRole: nil as String?, + outputFormat: outputFormat ?? .smart, + isDebugLoggingEnabled: isDebugLoggingEnabled, + currentDebugLogs: &self.recursiveCallDebugLogs // Pass self.recursiveCallDebugLogs + ) + + let elementPath = currentElement.generatePathArray( + upTo: appElement, + isDebugLoggingEnabled: isDebugLoggingEnabled, + currentDebugLogs: &self.recursiveCallDebugLogs // Pass self.recursiveCallDebugLogs + ) + + let axElement = AXElement(attributes: fetchedAttrs, path: elementPath) + collectedAXElements.append(axElement) + } else if locator != nil { + dLog("Element \(currentElement.briefDescription(option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &self.recursiveCallDebugLogs)) did not match locator. Still checking children.") + } + + var childrenRef: CFTypeRef? + let childrenResult = AXUIElementCopyAttributeValue(axUIElement, kAXChildrenAttribute as CFString, &childrenRef) + + if childrenResult == .success, let children = childrenRef as? [AXUIElement] { + dLog("Element \(currentElement.briefDescription(option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &self.recursiveCallDebugLogs)) has \(children.count) children at depth \(currentDepth). Recursing.") + for childElement in children { + collectRecursively(childElement, currentDepth + 1) + } + } else if childrenResult != .success { + dLog("Failed to get children for element \(currentElement.briefDescription(option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &self.recursiveCallDebugLogs)): \(axErrorToString(childrenResult))") + } else { + dLog("No children found for element \(currentElement.briefDescription(option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &self.recursiveCallDebugLogs)) at depth \(currentDepth)") + } + } + + dLog("Starting recursive collection from start element: \(startElement.briefDescription(option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &self.recursiveCallDebugLogs))") + collectRecursively(startElement.underlyingElement, 0) + + dLog("Collection complete. Found \(collectedAXElements.count) elements matching criteria (if any). Naming them 'collected_elements' in response.") + + let responseDataElement = AXElement( + attributes: ["collected_elements": AnyCodable(collectedAXElements)], + path: startElement.generatePathArray(upTo: appElement, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &self.recursiveCallDebugLogs) + ) + + return HandlerResponse(data: responseDataElement, error: nil, debug_logs: self.recursiveCallDebugLogs) + } + + internal func getElementAttributes(for axElement: AXUIElement, requestedAttributes: [String]?, outputFormat: OutputFormat, pathHint: [String]?, currentDebugLogs: inout [String]) -> (attributes: ElementAttributes, collectedAttrData: [String: AttributeData]) { + var attributesToReturn: ElementAttributes = [:] + var collectedAttributesForComputedName: [String: AttributeData] = [:] // Still collect for computed name + + dLog("getElementAttributes starting for element: \(axElement.descriptionForLogs), format: \(outputFormat.rawValue)", ¤tDebugLogs) + + // Temporarily, only process ComputedName + // First, we need to fetch attributes that might be used by generateComputedName, e.g., AXRole, AXTitle, AXValue, etc. + // This part remains similar to ensure `collectedAttributesForComputedName` is populated. + let attributesNeededForComputedName = [kAXRoleAttribute, kAXTitleAttribute, kAXValueAttribute, kAXDescriptionAttribute, kAXPlaceholderValueAttribute, "AXIdentifier", "AXLabel"] + for attrNameCFS in attributesNeededForComputedName { + let attrName = attrNameCFS as String + let (value, source) = getAttributeValueAndSource(for: axElement, attributeName: attrName, outputFormat: .smart) // Use .smart to get raw values + collectedAttributesForComputedName[attrName] = AttributeData(value: AnyCodable(value), source: source) + } + + if let computedNameString = generateComputedName(for: axElement, from: collectedAttributesForComputedName) { + attributesToReturn["ComputedName"] = AnyCodable(computedNameString) + dLog("Added ComputedName: \(computedNameString)", ¤tDebugLogs) + } + + // Skip all other attribute processing for this debug step + dLog("TEMPORARY DEBUG: Skipped all other attribute processing.", ¤tDebugLogs) + + // Still need to populate AXActionNames for consistency if other parts of axorc rely on it + // but ensure it uses only encodable values. + var actionNames: [String] = [] + // Simplified action fetching or make it empty for now to avoid encoding issues from it + // Example: actionNames.append("debug_action") + attributesToReturn[kAXActionNamesAttribute as String] = AnyCodable(actionNames) // Ensure this is an array of strings + + dLog("getElementAttributes finished. Result keys: \(attributesToReturn.keys.joined(separator: \", \"))", ¤tDebugLogs) + return (attributesToReturn, collectedAttributesForComputedName) // Return the possibly minimal attributes + } + + // Helper to get an attribute's value and its source (e.g., direct, placeholder, computed) + // ... existing code ... +} \ No newline at end of file diff --git a/Sources/AXorcist/Commands/GetAttributesCommandHandler.swift b/Sources/AXorcist/Commands/GetAttributesCommandHandler.swift new file mode 100644 index 0000000..63462ba --- /dev/null +++ b/Sources/AXorcist/Commands/GetAttributesCommandHandler.swift @@ -0,0 +1,71 @@ +import Foundation +import ApplicationServices +import AppKit + +// Placeholder for GetAttributesCommand if it were a distinct struct +// public struct GetAttributesCommand: Codable { ... } + +@MainActor +public func handleGetAttributes(cmd: CommandEnvelope, isDebugLoggingEnabled: Bool) throws -> QueryResponse { + var handlerLogs: [String] = [] // Local logs for this handler + func dLog(_ message: String) { if isDebugLoggingEnabled { handlerLogs.append(message) } } + dLog("Handling get_attributes command for app: \(cmd.application ?? "focused app")") + + let appIdentifier = cmd.application ?? focusedApplicationKey + guard let appElement = applicationElement(for: appIdentifier, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &handlerLogs) else { + let errorMessage = "Application not found: \(appIdentifier)" + dLog("handleGetAttributes: \(errorMessage)") + return QueryResponse(command_id: cmd.command_id, attributes: nil, error: errorMessage, debug_logs: isDebugLoggingEnabled ? handlerLogs : nil) + } + + // Find element to get attributes from + var effectiveElement = appElement + if let pathHint = cmd.path_hint, !pathHint.isEmpty { + dLog("handleGetAttributes: Navigating with path_hint: \(pathHint.joined(separator: " -> "))") + if let navigatedElement = navigateToElement(from: effectiveElement, pathHint: pathHint, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &handlerLogs) { + effectiveElement = navigatedElement + } else { + let errorMessage = "Element not found via path hint: \(pathHint.joined(separator: " -> "))" + dLog("handleGetAttributes: \(errorMessage)") + return QueryResponse(command_id: cmd.command_id, attributes: nil, error: errorMessage, debug_logs: isDebugLoggingEnabled ? handlerLogs : nil) + } + } + + guard let locator = cmd.locator else { + let errorMessage = "Locator not provided for get_attributes." + dLog("handleGetAttributes: \(errorMessage)") + return QueryResponse(command_id: cmd.command_id, attributes: nil, error: errorMessage, debug_logs: isDebugLoggingEnabled ? handlerLogs : nil) + } + + dLog("handleGetAttributes: Searching for element with locator: \(locator.criteria) from root: \(effectiveElement.briefDescription(option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &handlerLogs))") + let foundElement = search( + element: effectiveElement, + locator: locator, + requireAction: locator.requireAction, + maxDepth: cmd.max_elements ?? DEFAULT_MAX_DEPTH_SEARCH, + isDebugLoggingEnabled: isDebugLoggingEnabled, + currentDebugLogs: &handlerLogs + ) + + if let elementToQuery = foundElement { + dLog("handleGetAttributes: Element found: \(elementToQuery.briefDescription(option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &handlerLogs)). Fetching attributes: \(cmd.attributes ?? ["all"])...") + var attributes = getElementAttributes( + elementToQuery, + requestedAttributes: cmd.attributes ?? [], + forMultiDefault: false, + targetRole: locator.criteria[kAXRoleAttribute], + outputFormat: cmd.output_format ?? .smart, + isDebugLoggingEnabled: isDebugLoggingEnabled, + currentDebugLogs: &handlerLogs + ) + if cmd.output_format == .json_string { + attributes = encodeAttributesToJSONStringRepresentation(attributes) + } + dLog("Successfully fetched attributes for element \(elementToQuery.briefDescription(option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &handlerLogs)).") + return QueryResponse(command_id: cmd.command_id, attributes: attributes, error: nil, debug_logs: isDebugLoggingEnabled ? handlerLogs : nil) + } else { + let errorMessage = "No element found for get_attributes with locator: \(String(describing: locator))" + dLog("handleGetAttributes: \(errorMessage)") + return QueryResponse(command_id: cmd.command_id, attributes: nil, error: errorMessage, debug_logs: isDebugLoggingEnabled ? handlerLogs : nil) + } +} \ No newline at end of file diff --git a/Sources/AXorcist/Commands/QueryCommandHandler.swift b/Sources/AXorcist/Commands/QueryCommandHandler.swift new file mode 100644 index 0000000..659bc49 --- /dev/null +++ b/Sources/AXorcist/Commands/QueryCommandHandler.swift @@ -0,0 +1,92 @@ +import Foundation +import ApplicationServices +import AppKit + +// Note: Relies on applicationElement, navigateToElement, search, getElementAttributes, +// DEFAULT_MAX_DEPTH_SEARCH, CommandEnvelope, QueryResponse, Locator. + +@MainActor +public func handleQuery(cmd: CommandEnvelope, isDebugLoggingEnabled: Bool) async throws -> QueryResponse { + var handlerLogs: [String] = [] // Local logs for this handler + func dLog(_ message: String) { if isDebugLoggingEnabled { handlerLogs.append(message) } } + + let appIdentifier = cmd.application ?? focusedApplicationKey + dLog("Handling query for app: \(appIdentifier)") + + // Pass logging parameters to applicationElement + guard let appElement = applicationElement(for: appIdentifier, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &handlerLogs) else { + return QueryResponse(command_id: cmd.command_id, attributes: nil, error: "Application not found: \(appIdentifier)", debug_logs: isDebugLoggingEnabled ? handlerLogs : nil) + } + + var effectiveElement = appElement + if let pathHint = cmd.path_hint, !pathHint.isEmpty { + dLog("Navigating with path_hint: \(pathHint.joined(separator: " -> "))") + // Pass logging parameters to navigateToElement + if let navigatedElement = navigateToElement(from: effectiveElement, pathHint: pathHint, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &handlerLogs) { + effectiveElement = navigatedElement + } else { + return QueryResponse(command_id: cmd.command_id, attributes: nil, error: "Element not found via path hint: \(pathHint.joined(separator: " -> "))", debug_logs: isDebugLoggingEnabled ? handlerLogs : nil) + } + } + + guard let locator = cmd.locator else { + return QueryResponse(command_id: cmd.command_id, attributes: nil, error: "Locator not provided in command.", debug_logs: isDebugLoggingEnabled ? handlerLogs : nil) + } + + let appSpecifiers = ["application", "bundle_id", "pid", "path"] + let criteriaKeys = locator.criteria.keys + let isAppOnlyLocator = criteriaKeys.allSatisfy { appSpecifiers.contains($0) } && criteriaKeys.count == 1 + + var foundElement: Element? = nil + + if isAppOnlyLocator { + dLog("Locator is app-only (criteria: \(locator.criteria)). Using appElement directly.") + foundElement = effectiveElement + } else { + dLog("Locator contains element-specific criteria or is complex. Proceeding with search.") + var searchStartElementForLocator = appElement + if let rootPathHint = locator.root_element_path_hint, !rootPathHint.isEmpty { + dLog("Locator has root_element_path_hint: \(rootPathHint.joined(separator: " -> ")). Navigating from app element first.") + // Pass logging parameters to navigateToElement + guard let containerElement = navigateToElement(from: appElement, pathHint: rootPathHint, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &handlerLogs) else { + return QueryResponse(command_id: cmd.command_id, attributes: nil, error: "Container for locator not found via root_element_path_hint: \(rootPathHint.joined(separator: " -> "))", debug_logs: isDebugLoggingEnabled ? handlerLogs : nil) + } + searchStartElementForLocator = containerElement + dLog("Searching with locator within container found by root_element_path_hint: \(searchStartElementForLocator.briefDescription(option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &handlerLogs))") + } else { + searchStartElementForLocator = effectiveElement + dLog("Searching with locator from element (determined by main path_hint or app root): \(searchStartElementForLocator.briefDescription(option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &handlerLogs))") + } + + let finalSearchTarget = (cmd.path_hint != nil && !cmd.path_hint!.isEmpty) ? effectiveElement : searchStartElementForLocator + + // Pass logging parameters to search + foundElement = search( + element: finalSearchTarget, + locator: locator, + requireAction: locator.requireAction, + maxDepth: cmd.max_elements ?? DEFAULT_MAX_DEPTH_SEARCH, + isDebugLoggingEnabled: isDebugLoggingEnabled, + currentDebugLogs: &handlerLogs + ) + } + + if let elementToQuery = foundElement { + // Pass logging parameters to getElementAttributes + var attributes = getElementAttributes( + elementToQuery, + requestedAttributes: cmd.attributes ?? [], + forMultiDefault: false, + targetRole: locator.criteria[kAXRoleAttribute], + outputFormat: cmd.output_format ?? .smart, + isDebugLoggingEnabled: isDebugLoggingEnabled, + currentDebugLogs: &handlerLogs + ) + if cmd.output_format == .json_string { + attributes = encodeAttributesToJSONStringRepresentation(attributes) + } + return QueryResponse(command_id: cmd.command_id, attributes: attributes, error: nil, debug_logs: isDebugLoggingEnabled ? handlerLogs : nil) + } else { + return QueryResponse(command_id: cmd.command_id, attributes: nil, error: "No element matches single query criteria with locator or app-only locator failed to resolve.", debug_logs: isDebugLoggingEnabled ? handlerLogs : nil) + } +} \ No newline at end of file diff --git a/Sources/AXorcist/Core/AccessibilityConstants.swift b/Sources/AXorcist/Core/AccessibilityConstants.swift new file mode 100644 index 0000000..ab93a4b --- /dev/null +++ b/Sources/AXorcist/Core/AccessibilityConstants.swift @@ -0,0 +1,201 @@ +// AccessibilityConstants.swift - Defines global constants used throughout the accessibility helper + +import Foundation +import ApplicationServices // Added for AXError type +import AppKit // Added for NSAccessibility + +// Configuration Constants +public let MAX_COLLECT_ALL_HITS = 200 // Default max elements for collect_all if not specified in command +public let DEFAULT_MAX_DEPTH_SEARCH = 20 // Default max recursion depth for search +public let DEFAULT_MAX_DEPTH_COLLECT_ALL = 15 // Default max recursion depth for collect_all +public let AX_BINARY_VERSION = "1.1.7" // Updated version +public let BINARY_VERSION = "1.1.7" // Updated version without AX prefix + +// Standard Accessibility Attributes - Values should match CFSTR defined in AXAttributeConstants.h +public let kAXRoleAttribute = "AXRole" // Reverted to String literal +public let kAXSubroleAttribute = "AXSubrole" +public let kAXRoleDescriptionAttribute = "AXRoleDescription" +public let kAXTitleAttribute = "AXTitle" +public let kAXValueAttribute = "AXValue" +public let kAXValueDescriptionAttribute = "AXValueDescription" // New +public let kAXDescriptionAttribute = "AXDescription" +public let kAXHelpAttribute = "AXHelp" +public let kAXIdentifierAttribute = "AXIdentifier" +public let kAXPlaceholderValueAttribute = "AXPlaceholderValue" +public let kAXLabelUIElementAttribute = "AXLabelUIElement" +public let kAXTitleUIElementAttribute = "AXTitleUIElement" +public let kAXLabelValueAttribute = "AXLabelValue" +public let kAXElementBusyAttribute = "AXElementBusy" // New +public let kAXAlternateUIVisibleAttribute = "AXAlternateUIVisible" // New + +public let kAXChildrenAttribute = "AXChildren" +public let kAXParentAttribute = "AXParent" +public let kAXWindowsAttribute = "AXWindows" +public let kAXMainWindowAttribute = "AXMainWindow" +public let kAXFocusedWindowAttribute = "AXFocusedWindow" +public let kAXFocusedUIElementAttribute = "AXFocusedUIElement" + +public let kAXEnabledAttribute = "AXEnabled" +public let kAXFocusedAttribute = "AXFocused" +public let kAXMainAttribute = "AXMain" // Window-specific +public let kAXMinimizedAttribute = "AXMinimized" // New, Window-specific +public let kAXCloseButtonAttribute = "AXCloseButton" // New, Window-specific +public let kAXZoomButtonAttribute = "AXZoomButton" // New, Window-specific +public let kAXMinimizeButtonAttribute = "AXMinimizeButton" // New, Window-specific +public let kAXFullScreenButtonAttribute = "AXFullScreenButton" // New, Window-specific +public let kAXDefaultButtonAttribute = "AXDefaultButton" // New, Window-specific +public let kAXCancelButtonAttribute = "AXCancelButton" // New, Window-specific +public let kAXGrowAreaAttribute = "AXGrowArea" // New, Window-specific +public let kAXModalAttribute = "AXModal" // New, Window-specific + +public let kAXMenuBarAttribute = "AXMenuBar" // New, App-specific +public let kAXFrontmostAttribute = "AXFrontmost" // New, App-specific +public let kAXHiddenAttribute = "AXHidden" // New, App-specific + +public let kAXPositionAttribute = "AXPosition" +public let kAXSizeAttribute = "AXSize" + +// Value attributes +public let kAXMinValueAttribute = "AXMinValue" // New +public let kAXMaxValueAttribute = "AXMaxValue" // New +public let kAXValueIncrementAttribute = "AXValueIncrement" // New +public let kAXAllowedValuesAttribute = "AXAllowedValues" // New + +// Text-specific attributes +public let kAXSelectedTextAttribute = "AXSelectedText" // New +public let kAXSelectedTextRangeAttribute = "AXSelectedTextRange" // New +public let kAXNumberOfCharactersAttribute = "AXNumberOfCharacters" // New +public let kAXVisibleCharacterRangeAttribute = "AXVisibleCharacterRange" // New +public let kAXInsertionPointLineNumberAttribute = "AXInsertionPointLineNumber" // New + +// Actions - Values should match CFSTR defined in AXActionConstants.h +public let kAXActionsAttribute = "AXActions" // This is actually kAXActionNamesAttribute typically +public let kAXActionNamesAttribute = "AXActionNames" // Correct name for listing actions +public let kAXActionDescriptionAttribute = "AXActionDescription" // To get desc of an action (not in AXActionConstants.h but AXUIElement.h) + +public let kAXIncrementAction = "AXIncrement" // New +public let kAXDecrementAction = "AXDecrement" // New +public let kAXConfirmAction = "AXConfirm" // New +public let kAXCancelAction = "AXCancel" // New +public let kAXShowMenuAction = "AXShowMenu" +public let kAXPickAction = "AXPick" // New (Obsolete in headers, but sometimes seen) +public let kAXPressAction = "AXPress" // New + +// Specific action name for setting a value, used internally by performActionOnElement +public let kAXSetValueAction = "AXSetValue" + +// Standard Accessibility Roles - Values should match CFSTR defined in AXRoleConstants.h (examples, add more as needed) +public let kAXApplicationRole = "AXApplication" +public let kAXSystemWideRole = "AXSystemWide" // New +public let kAXWindowRole = "AXWindow" +public let kAXSheetRole = "AXSheet" // New +public let kAXDrawerRole = "AXDrawer" // New +public let kAXGroupRole = "AXGroup" +public let kAXButtonRole = "AXButton" +public let kAXRadioButtonRole = "AXRadioButton" // New +public let kAXCheckBoxRole = "AXCheckBox" +public let kAXPopUpButtonRole = "AXPopUpButton" // New +public let kAXMenuButtonRole = "AXMenuButton" // New +public let kAXStaticTextRole = "AXStaticText" +public let kAXTextFieldRole = "AXTextField" +public let kAXTextAreaRole = "AXTextArea" +public let kAXScrollAreaRole = "AXScrollArea" +public let kAXScrollBarRole = "AXScrollBar" // New +public let kAXWebAreaRole = "AXWebArea" +public let kAXImageRole = "AXImage" // New +public let kAXListRole = "AXList" // New +public let kAXTableRole = "AXTable" // New +public let kAXOutlineRole = "AXOutline" // New +public let kAXColumnRole = "AXColumn" // New +public let kAXRowRole = "AXRow" // New +public let kAXToolbarRole = "AXToolbar" +public let kAXBusyIndicatorRole = "AXBusyIndicator" // New +public let kAXProgressIndicatorRole = "AXProgressIndicator" // New +public let kAXSliderRole = "AXSlider" // New +public let kAXIncrementorRole = "AXIncrementor" // New +public let kAXDisclosureTriangleRole = "AXDisclosureTriangle" // New +public let kAXMenuRole = "AXMenu" // New +public let kAXMenuItemRole = "AXMenuItem" // New +public let kAXSplitGroupRole = "AXSplitGroup" // New +public let kAXSplitterRole = "AXSplitter" // New +public let kAXColorWellRole = "AXColorWell" // New +public let kAXUnknownRole = "AXUnknown" // New + +// Attributes for web content and tables/lists +public let kAXVisibleChildrenAttribute = "AXVisibleChildren" +public let kAXSelectedChildrenAttribute = "AXSelectedChildren" +public let kAXTabsAttribute = "AXTabs" // Often a kAXRadioGroup or kAXTabGroup role +public let kAXRowsAttribute = "AXRows" +public let kAXColumnsAttribute = "AXColumns" +public let kAXSelectedRowsAttribute = "AXSelectedRows" // New +public let kAXSelectedColumnsAttribute = "AXSelectedColumns" // New +public let kAXIndexAttribute = "AXIndex" // New (for rows/columns) +public let kAXDisclosingAttribute = "AXDisclosing" // New (for outlines) + +// Custom or less standard attributes (verify usage and standard names) +public let kAXPathHintAttribute = "AXPathHint" // Our custom attribute for pathing + +// String constant for "not available" +public let kAXNotAvailableString = "n/a" + +// DOM specific attributes (these seem custom or web-specific, not standard Apple AX) +// Verify if these are actual attribute names exposed by web views or custom implementations. +public let kAXDOMIdentifierAttribute = "AXDOMIdentifier" // Example, might not be standard AX +public let kAXDOMClassListAttribute = "AXDOMClassList" // Example, might not be standard AX +public let kAXARIADOMResourceAttribute = "AXARIADOMResource" // Example +public let kAXARIADOMFunctionAttribute = "AXARIADOM-función" // Corrected identifier, kept original string value. +public let kAXARIADOMChildrenAttribute = "AXARIADOMChildren" // New +public let kAXDOMChildrenAttribute = "AXDOMChildren" // New + +// New constants for missing attributes +public let kAXToolbarButtonAttribute = "AXToolbarButton" +public let kAXProxyAttribute = "AXProxy" +public let kAXSelectedCellsAttribute = "AXSelectedCells" +public let kAXHeaderAttribute = "AXHeader" +public let kAXHorizontalScrollBarAttribute = "AXHorizontalScrollBar" +public let kAXVerticalScrollBarAttribute = "AXVerticalScrollBar" + +// Attributes used in child heuristic collection (often non-standard or specific) +public let kAXWebAreaChildrenAttribute = "AXWebAreaChildren" +public let kAXHTMLContentAttribute = "AXHTMLContent" +public let kAXApplicationNavigationAttribute = "AXApplicationNavigation" +public let kAXApplicationElementsAttribute = "AXApplicationElements" +public let kAXContentsAttribute = "AXContents" +public let kAXBodyAreaAttribute = "AXBodyArea" +public let kAXDocumentContentAttribute = "AXDocumentContent" +public let kAXWebPageContentAttribute = "AXWebPageContent" +public let kAXSplitGroupContentsAttribute = "AXSplitGroupContents" +public let kAXLayoutAreaChildrenAttribute = "AXLayoutAreaChildren" +public let kAXGroupChildrenAttribute = "AXGroupChildren" + +// Helper function to convert AXError to a string +public func axErrorToString(_ error: AXError) -> String { + switch error { + case .success: return "success" + case .failure: return "failure" + case .apiDisabled: return "apiDisabled" + case .invalidUIElement: return "invalidUIElement" + case .invalidUIElementObserver: return "invalidUIElementObserver" + case .cannotComplete: return "cannotComplete" + case .attributeUnsupported: return "attributeUnsupported" + case .actionUnsupported: return "actionUnsupported" + case .notificationUnsupported: return "notificationUnsupported" + case .notImplemented: return "notImplemented" + case .notificationAlreadyRegistered: return "notificationAlreadyRegistered" + case .notificationNotRegistered: return "notificationNotRegistered" + case .noValue: return "noValue" + case .parameterizedAttributeUnsupported: return "parameterizedAttributeUnsupported" + case .notEnoughPrecision: return "notEnoughPrecision" + case .illegalArgument: return "illegalArgument" + @unknown default: + return "unknown AXError (code: \(error.rawValue))" + } +} + +// MARK: - Custom Application/Computed Keys + +public let focusedApplicationKey = "focused" +public let computedNameAttributeKey = "ComputedName" +public let isClickableAttributeKey = "IsClickable" +public let isIgnoredAttributeKey = "IsIgnored" // Used in AttributeMatcher +public let computedPathAttributeKey = "ComputedPath" \ No newline at end of file diff --git a/Sources/AXorcist/Core/AccessibilityError.swift b/Sources/AXorcist/Core/AccessibilityError.swift new file mode 100644 index 0000000..ad64c01 --- /dev/null +++ b/Sources/AXorcist/Core/AccessibilityError.swift @@ -0,0 +1,108 @@ +// AccessibilityError.swift - Defines custom error types for the accessibility tool. + +import Foundation +import ApplicationServices // Import to make AXError visible + +// Main error enum for the accessibility tool, incorporating parsing and operational errors. +public enum AccessibilityError: Error, CustomStringConvertible { + // Authorization & Setup Errors + case apiDisabled // Accessibility API is disabled. + case notAuthorized(String?) // Process is not authorized. Optional AXError for more detail. + + // Command & Input Errors + case invalidCommand(String?) // Command is invalid or not recognized. Optional message. + case missingArgument(String) // A required argument is missing. + case invalidArgument(String) // An argument has an invalid value or format. + + // Element & Search Errors + case appNotFound(String) // Application with specified bundle ID or name not found or not running. + case elementNotFound(String?) // Element matching criteria or path not found. Optional message. + case invalidElement // The AXUIElementRef is invalid or stale. + + // Attribute Errors + case attributeUnsupported(String) // Attribute is not supported by the element. + case attributeNotReadable(String) // Attribute value cannot be read. + case attributeNotSettable(String) // Attribute is not settable. + case typeMismatch(expected: String, actual: String) // Value type does not match attribute's expected type. + case valueParsingFailed(details: String) // Failed to parse string into the required type for an attribute. + case valueNotAXValue(String) // Value is not an AXValue type when one is expected. + + // Action Errors + case actionUnsupported(String) // Action is not supported by the element. + case actionFailed(String?, AXError?) // Action failed. Optional message and AXError. + + // Generic & System Errors + case unknownAXError(AXError) // An unknown or unexpected AXError occurred. + case jsonEncodingFailed(Error?) // Failed to encode response to JSON. + case jsonDecodingFailed(Error?) // Failed to decode request from JSON. + case genericError(String) // A generic error with a custom message. + + public var description: String { + switch self { + // Authorization & Setup + case .apiDisabled: return "Accessibility API is disabled. Please enable it in System Settings." + case .notAuthorized(let axErr): + let base = "Accessibility permissions are not granted for this process." + if let e = axErr { return "\(base) AXError: \(e)" } + return base + + // Command & Input + case .invalidCommand(let msg): + let base = "Invalid command specified." + if let m = msg { return "\(base) \(m)" } + return base + case .missingArgument(let name): return "Missing required argument: \(name)." + case .invalidArgument(let details): return "Invalid argument: \(details)." + + // Element & Search + case .appNotFound(let app): return "Application '\(app)' not found or not running." + case .elementNotFound(let msg): + let base = "No element matches the locator criteria or path." + if let m = msg { return "\(base) \(m)" } + return base + case .invalidElement: return "The specified UI element is invalid (possibly stale)." + + // Attribute Errors + case .attributeUnsupported(let attr): return "Attribute '\(attr)' is not supported by this element." + case .attributeNotReadable(let attr): return "Attribute '\(attr)' is not readable." + case .attributeNotSettable(let attr): return "Attribute '\(attr)' is not settable." + case .typeMismatch(let expected, let actual): return "Type mismatch: Expected '\(expected)', got '\(actual)'." + case .valueParsingFailed(let details): return "Value parsing failed: \(details)." + case .valueNotAXValue(let attr): return "Value for attribute '\(attr)' is not an AXValue type as expected." + + // Action Errors + case .actionUnsupported(let action): return "Action '\(action)' is not supported by this element." + case .actionFailed(let msg, let axErr): + var parts: [String] = ["Action failed."] + if let m = msg { parts.append(m) } + if let e = axErr { parts.append("AXError: \(e).") } + return parts.joined(separator: " ") + + // Generic & System + case .unknownAXError(let e): return "An unexpected Accessibility Framework error occurred: \(e)." + case .jsonEncodingFailed(let err): + let base = "Failed to encode the response to JSON." + if let e = err { return "\(base) Error: \(e.localizedDescription)" } + return base + case .jsonDecodingFailed(let err): + let base = "Failed to decode the JSON command input." + if let e = err { return "\(base) Error: \(e.localizedDescription)" } + return base + case .genericError(let msg): return msg + } + } + + // Helper to get a more specific exit code if needed, or a general one. + // This is just an example; actual exit codes might vary. + public var exitCode: Int32 { + switch self { + case .apiDisabled, .notAuthorized: return 10 + case .invalidCommand, .missingArgument, .invalidArgument: return 20 + case .appNotFound, .elementNotFound, .invalidElement: return 30 + case .attributeUnsupported, .attributeNotReadable, .attributeNotSettable, .typeMismatch, .valueParsingFailed, .valueNotAXValue: return 40 + case .actionUnsupported, .actionFailed: return 50 + case .jsonEncodingFailed, .jsonDecodingFailed: return 60 + case .unknownAXError, .genericError: return 1 + } + } +} \ No newline at end of file diff --git a/Sources/AXorcist/Core/AccessibilityPermissions.swift b/Sources/AXorcist/Core/AccessibilityPermissions.swift new file mode 100644 index 0000000..6d816bf --- /dev/null +++ b/Sources/AXorcist/Core/AccessibilityPermissions.swift @@ -0,0 +1,118 @@ +// AccessibilityPermissions.swift - Utility for checking and managing accessibility permissions. + +import Foundation +import ApplicationServices // For AXIsProcessTrusted(), AXUIElementCreateSystemWide(), etc. +import AppKit // For NSRunningApplication, NSAppleScript + +private let kAXTrustedCheckOptionPromptKey = "AXTrustedCheckOptionPrompt" + +// debug() is assumed to be globally available from Logging.swift +// getParentProcessName() is assumed to be globally available from ProcessUtils.swift +// kAXFocusedUIElementAttribute is assumed to be globally available from AccessibilityConstants.swift +// AccessibilityError is from AccessibilityError.swift + +public struct AXPermissionsStatus { + public let isAccessibilityApiEnabled: Bool + public let isProcessTrustedForAccessibility: Bool + public var automationStatus: [String: Bool] = [:] // BundleID: Bool (true if permitted, false if denied, nil if not checked or app not running) + public var overallErrorMessages: [String] = [] + + public var canUseAccessibility: Bool { + isAccessibilityApiEnabled && isProcessTrustedForAccessibility + } + + public func canAutomate(bundleID: String) -> Bool? { + return automationStatus[bundleID] + } +} + +@MainActor +public func checkAccessibilityPermissions(isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) throws { + // Define local dLog using passed-in parameters + func dLog(_ message: String) { if isDebugLoggingEnabled { currentDebugLogs.append(message) } } + + let trustedOptions = [kAXTrustedCheckOptionPromptKey: true] as CFDictionary + // tempLogs is already declared for getParentProcessName, which is good. + // var tempLogs: [String] = [] // This would be a re-declaration error if uncommented + + if !AXIsProcessTrustedWithOptions(trustedOptions) { + // Use isDebugLoggingEnabled for the call to getParentProcessName + let parentName = getParentProcessName(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) + let errorDetail = parentName != nil ? "Hint: Grant accessibility permissions to '\(parentName!)'." : "Hint: Ensure the application running this tool has Accessibility permissions." + dLog("Accessibility check failed (AXIsProcessTrustedWithOptions returned false). Details: \(errorDetail)") + throw AccessibilityError.notAuthorized(errorDetail) + } else { + dLog("Accessibility permissions are granted (AXIsProcessTrustedWithOptions returned true).") + } +} + +// @MainActor // Removed again for pragmatic stability +public func getPermissionsStatus(checkAutomationFor bundleIDs: [String] = [], isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> AXPermissionsStatus { + // Local dLog appends to currentDebugLogs + func dLog(_ message: String) { if isDebugLoggingEnabled { currentDebugLogs.append(message) } } + + dLog("Starting full permission status check.") + + // Check overall accessibility API status and process trust + let isProcessTrusted = AXIsProcessTrusted() // Non-prompting check + // let isApiEnabled = AXAPIEnabled() // System-wide check, REMOVED due to unavailability + + if isDebugLoggingEnabled { + dLog("AXIsProcessTrusted() returned: \(isProcessTrusted)") + // dLog("AXAPIEnabled() returned: \(isApiEnabled) (Note: AXAPIEnabled is deprecated)") // Removed + if !isProcessTrusted { + let parentName = getParentProcessName(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) + let hint = parentName != nil ? "Hint: Grant accessibility permissions to '\(parentName!)'." : "Hint: Ensure the application running this tool has Accessibility permissions." + currentDebugLogs.append("Process is not trusted for Accessibility. \(hint)") + } + // Removed isApiEnabled check block + } + + var automationStatus: [String: Bool] = [:] + + if !bundleIDs.isEmpty && isProcessTrusted { // Only check automation if basic permissions seem okay (removed isApiEnabled from condition) + if isDebugLoggingEnabled { dLog("Checking automation permissions for bundle IDs: \(bundleIDs.joined(separator: ", "))") } + for bundleID in bundleIDs { + if NSRunningApplication.runningApplications(withBundleIdentifier: bundleID).first != nil { // Changed from if let app = ... + let scriptSource = """ + tell application id \"\(bundleID)\" to count windows + """ + var errorDict: NSDictionary? = nil + if let script = NSAppleScript(source: scriptSource) { + if isDebugLoggingEnabled { dLog("Executing AppleScript against \(bundleID) to check automation status.") } + let descriptor = script.executeAndReturnError(&errorDict) // descriptor is non-optional + + if errorDict == nil && descriptor.descriptorType != typeNull { + // No error dictionary populated and descriptor is not typeNull, assume success for permissions. + automationStatus[bundleID] = true + if isDebugLoggingEnabled { dLog("AppleScript execution against \(bundleID) succeeded (no errorDict, descriptor type: \(descriptor.descriptorType.description)). Automation permitted.") } + } else { + automationStatus[bundleID] = false + if isDebugLoggingEnabled { + let errorCode = errorDict?[NSAppleScript.errorNumber] as? Int ?? 0 + let errorMessage = errorDict?[NSAppleScript.errorMessage] as? String ?? "Unknown AppleScript error" + let descriptorDetails = errorDict == nil ? "Descriptor was typeNull (type: \(descriptor.descriptorType.description)) but no errorDict." : "" + currentDebugLogs.append("AppleScript execution against \(bundleID) failed. Automation likely denied. Code: \(errorCode), Msg: \(errorMessage). \(descriptorDetails)") + } + } + } else { + if isDebugLoggingEnabled { currentDebugLogs.append("Could not initialize AppleScript for bundle ID '\(bundleID)'.") } + } + } else { + if isDebugLoggingEnabled { currentDebugLogs.append("Application with bundle ID '\(bundleID)' is not running. Cannot check automation status.") } + // automationStatus[bundleID] remains nil (not checked) + } + } + } else if !bundleIDs.isEmpty { + if isDebugLoggingEnabled { dLog("Skipping automation permission checks because basic accessibility (isProcessTrusted: \(isProcessTrusted)) is not met.") } + } + + let finalStatus = AXPermissionsStatus( + isAccessibilityApiEnabled: isProcessTrusted, // Base this on isProcessTrusted now + isProcessTrustedForAccessibility: isProcessTrusted, + automationStatus: automationStatus, + overallErrorMessages: currentDebugLogs // All logs collected so far become the messages + ) + dLog("Finished permission status check. isAccessibilityApiEnabled: \(finalStatus.isAccessibilityApiEnabled), isProcessTrusted: \(finalStatus.isProcessTrustedForAccessibility)") + return finalStatus +} \ No newline at end of file diff --git a/Sources/AXorcist/Core/Attribute.swift b/Sources/AXorcist/Core/Attribute.swift new file mode 100644 index 0000000..31cace7 --- /dev/null +++ b/Sources/AXorcist/Core/Attribute.swift @@ -0,0 +1,113 @@ +// Attribute.swift - Defines a typed wrapper for Accessibility Attribute keys. + +import Foundation +import ApplicationServices // Re-add for AXUIElement type +// import ApplicationServices // For kAX... constants - We will now use AccessibilityConstants.swift primarily +import CoreGraphics // For CGRect, CGPoint, CGSize, CFRange + +// A struct to provide a type-safe way to refer to accessibility attributes. +// The generic type T represents the expected Swift type of the attribute's value. +// Note: For attributes returning AXValue (like CGPoint, CGRect), T might be the AXValue itself +// or the final unwrapped Swift type. For now, let's aim for the final Swift type where possible. +public struct Attribute { + public let rawValue: String + + // Internal initializer to allow creation within the module, e.g., for dynamic attribute strings. + internal init(_ rawValue: String) { + self.rawValue = rawValue + } + + // MARK: - General Element Attributes + public static var role: Attribute { Attribute(kAXRoleAttribute) } + public static var subrole: Attribute { Attribute(kAXSubroleAttribute) } + public static var roleDescription: Attribute { Attribute(kAXRoleDescriptionAttribute) } + public static var title: Attribute { Attribute(kAXTitleAttribute) } + public static var description: Attribute { Attribute(kAXDescriptionAttribute) } + public static var help: Attribute { Attribute(kAXHelpAttribute) } + public static var identifier: Attribute { Attribute(kAXIdentifierAttribute) } + + // MARK: - Value Attributes + // kAXValueAttribute can be many types. For a generic getter, Any might be appropriate, + // or specific versions if the context knows the type. + public static var value: Attribute { Attribute(kAXValueAttribute) } + // Example of a more specific value if known: + // static var stringValue: Attribute { Attribute(kAXValueAttribute) } + + // MARK: - State Attributes + public static var enabled: Attribute { Attribute(kAXEnabledAttribute) } + public static var focused: Attribute { Attribute(kAXFocusedAttribute) } + public static var busy: Attribute { Attribute(kAXElementBusyAttribute) } + public static var hidden: Attribute { Attribute(kAXHiddenAttribute) } + + // MARK: - Hierarchy Attributes + public static var parent: Attribute { Attribute(kAXParentAttribute) } + // For children, the direct attribute often returns [AXUIElement]. + // Element.children getter then wraps these. + public static var children: Attribute<[AXUIElement]> { Attribute<[AXUIElement]>(kAXChildrenAttribute) } + public static var selectedChildren: Attribute<[AXUIElement]> { Attribute<[AXUIElement]>(kAXSelectedChildrenAttribute) } + public static var visibleChildren: Attribute<[AXUIElement]> { Attribute<[AXUIElement]>(kAXVisibleChildrenAttribute) } + public static var windows: Attribute<[AXUIElement]> { Attribute<[AXUIElement]>(kAXWindowsAttribute) } + public static var mainWindow: Attribute { Attribute(kAXMainWindowAttribute) } // Can be nil + public static var focusedWindow: Attribute { Attribute(kAXFocusedWindowAttribute) } // Can be nil + public static var focusedElement: Attribute { Attribute(kAXFocusedUIElementAttribute) } // Can be nil + + // MARK: - Application Specific Attributes + // public static var enhancedUserInterface: Attribute { Attribute(kAXEnhancedUserInterfaceAttribute) } // Constant not found, commenting out + public static var frontmost: Attribute { Attribute(kAXFrontmostAttribute) } + public static var mainMenu: Attribute { Attribute(kAXMenuBarAttribute) } + // public static var hiddenApplication: Attribute { Attribute(kAXHiddenAttribute) } // Same as element hidden, but for app. Covered by .hidden + + // MARK: - Window Specific Attributes + public static var minimized: Attribute { Attribute(kAXMinimizedAttribute) } + public static var modal: Attribute { Attribute(kAXModalAttribute) } + public static var defaultButton: Attribute { Attribute(kAXDefaultButtonAttribute) } + public static var cancelButton: Attribute { Attribute(kAXCancelButtonAttribute) } + public static var closeButton: Attribute { Attribute(kAXCloseButtonAttribute) } + public static var zoomButton: Attribute { Attribute(kAXZoomButtonAttribute) } + public static var minimizeButton: Attribute { Attribute(kAXMinimizeButtonAttribute) } + public static var toolbarButton: Attribute { Attribute(kAXToolbarButtonAttribute) } + public static var fullScreenButton: Attribute { Attribute(kAXFullScreenButtonAttribute) } + public static var proxy: Attribute { Attribute(kAXProxyAttribute) } + public static var growArea: Attribute { Attribute(kAXGrowAreaAttribute) } + + // MARK: - Table/List/Outline Attributes + public static var rows: Attribute<[AXUIElement]> { Attribute<[AXUIElement]>(kAXRowsAttribute) } + public static var columns: Attribute<[AXUIElement]> { Attribute<[AXUIElement]>(kAXColumnsAttribute) } + public static var selectedRows: Attribute<[AXUIElement]> { Attribute<[AXUIElement]>(kAXSelectedRowsAttribute) } + public static var selectedColumns: Attribute<[AXUIElement]> { Attribute<[AXUIElement]>(kAXSelectedColumnsAttribute) } + public static var selectedCells: Attribute<[AXUIElement]> { Attribute<[AXUIElement]>(kAXSelectedCellsAttribute) } + public static var visibleRows: Attribute<[AXUIElement]> { Attribute<[AXUIElement]>(kAXVisibleRowsAttribute) } + public static var visibleColumns: Attribute<[AXUIElement]> { Attribute<[AXUIElement]>(kAXVisibleColumnsAttribute) } + public static var header: Attribute { Attribute(kAXHeaderAttribute) } + public static var orientation: Attribute { Attribute(kAXOrientationAttribute) } // e.g., kAXVerticalOrientationValue + + // MARK: - Text Attributes + public static var selectedText: Attribute { Attribute(kAXSelectedTextAttribute) } + public static var selectedTextRange: Attribute { Attribute(kAXSelectedTextRangeAttribute) } + public static var numberOfCharacters: Attribute { Attribute(kAXNumberOfCharactersAttribute) } + public static var visibleCharacterRange: Attribute { Attribute(kAXVisibleCharacterRangeAttribute) } + // Parameterized attributes are handled differently, often via functions. + // static var attributedStringForRange: Attribute { Attribute(kAXAttributedStringForRangeParameterizedAttribute) } + // static var stringForRange: Attribute { Attribute(kAXStringForRangeParameterizedAttribute) } + + // MARK: - Scroll Area Attributes + public static var horizontalScrollBar: Attribute { Attribute(kAXHorizontalScrollBarAttribute) } + public static var verticalScrollBar: Attribute { Attribute(kAXVerticalScrollBarAttribute) } + + // MARK: - Action Related + // Action names are typically an array of strings. + public static var actionNames: Attribute<[String]> { Attribute<[String]>(kAXActionNamesAttribute) } + // Action description is parameterized by the action name, so a simple Attribute isn't quite right. + // It would be kAXActionDescriptionAttribute, and you pass a parameter. + // For now, we will represent it as taking a string, and the usage site will need to handle parameterization. + public static var actionDescription: Attribute { Attribute(kAXActionDescriptionAttribute) } + + // MARK: - AXValue holding attributes (expect these to return AXValueRef) + // These will typically be unwrapped by a helper function (like ValueParser or similar) into their Swift types. + public static var position: Attribute { Attribute(kAXPositionAttribute) } + public static var size: Attribute { Attribute(kAXSizeAttribute) } + // Note: CGRect for kAXBoundsAttribute is also common if available. + // For now, relying on position and size. + + // Add more attributes as needed from ApplicationServices/HIServices Accessibility Attributes... +} \ No newline at end of file diff --git a/Sources/AXorcist/Core/Element+Hierarchy.swift b/Sources/AXorcist/Core/Element+Hierarchy.swift new file mode 100644 index 0000000..3679eae --- /dev/null +++ b/Sources/AXorcist/Core/Element+Hierarchy.swift @@ -0,0 +1,87 @@ +import Foundation +import ApplicationServices + +// MARK: - Element Hierarchy Logic + +extension Element { + @MainActor + public func children(isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> [Element]? { + func dLog(_ message: String) { if isDebugLoggingEnabled { currentDebugLogs.append(message) } } + var collectedChildren: [Element] = [] + var uniqueChildrenSet = Set() + var tempLogs: [String] = [] // For inner calls + + dLog("Getting children for element: \(self.briefDescription(option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs))") + + // Primary children attribute + tempLogs.removeAll() + if let directChildrenUI: [AXUIElement] = attribute(Attribute<[AXUIElement]>.children, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) { + currentDebugLogs.append(contentsOf: tempLogs) + for childUI in directChildrenUI { + let childAX = Element(childUI) + if !uniqueChildrenSet.contains(childAX) { + collectedChildren.append(childAX) + uniqueChildrenSet.insert(childAX) + } + } + } else { + currentDebugLogs.append(contentsOf: tempLogs) // Append logs even if nil + } + + // Alternative children attributes + let alternativeAttributes: [String] = [ + kAXVisibleChildrenAttribute, kAXWebAreaChildrenAttribute, kAXHTMLContentAttribute, + kAXARIADOMChildrenAttribute, kAXDOMChildrenAttribute, kAXApplicationNavigationAttribute, + kAXApplicationElementsAttribute, kAXContentsAttribute, kAXBodyAreaAttribute, kAXDocumentContentAttribute, + kAXWebPageContentAttribute, kAXSplitGroupContentsAttribute, kAXLayoutAreaChildrenAttribute, + kAXGroupChildrenAttribute, kAXSelectedChildrenAttribute, kAXRowsAttribute, kAXColumnsAttribute, + kAXTabsAttribute + ] + + for attrName in alternativeAttributes { + tempLogs.removeAll() + if let altChildrenUI: [AXUIElement] = attribute(Attribute<[AXUIElement]>(attrName), isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) { + currentDebugLogs.append(contentsOf: tempLogs) + for childUI in altChildrenUI { + let childAX = Element(childUI) + if !uniqueChildrenSet.contains(childAX) { + collectedChildren.append(childAX) + uniqueChildrenSet.insert(childAX) + } + } + } else { + currentDebugLogs.append(contentsOf: tempLogs) + } + } + + tempLogs.removeAll() + let currentRole = self.role(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) + currentDebugLogs.append(contentsOf: tempLogs) + + if currentRole == kAXApplicationRole as String { + tempLogs.removeAll() + if let windowElementsUI: [AXUIElement] = attribute(Attribute<[AXUIElement]>.windows, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) { + currentDebugLogs.append(contentsOf: tempLogs) + for childUI in windowElementsUI { + let childAX = Element(childUI) + if !uniqueChildrenSet.contains(childAX) { + collectedChildren.append(childAX) + uniqueChildrenSet.insert(childAX) + } + } + } else { + currentDebugLogs.append(contentsOf: tempLogs) + } + } + + if collectedChildren.isEmpty { + dLog("No children found for element.") + return nil + } else { + dLog("Found \(collectedChildren.count) children.") + return collectedChildren + } + } + + // generatePathString() is now fully implemented in Element.swift +} \ No newline at end of file diff --git a/Sources/AXorcist/Core/Element+Properties.swift b/Sources/AXorcist/Core/Element+Properties.swift new file mode 100644 index 0000000..8118aaa --- /dev/null +++ b/Sources/AXorcist/Core/Element+Properties.swift @@ -0,0 +1,98 @@ +import Foundation +import ApplicationServices + +// MARK: - Element Common Attribute Getters & Status Properties + +extension Element { + // Common Attribute Getters - now methods to accept logging parameters + @MainActor public func role(isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> String? { + attribute(Attribute.role, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) + } + @MainActor public func subrole(isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> String? { + attribute(Attribute.subrole, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) + } + @MainActor public func title(isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> String? { + attribute(Attribute.title, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) + } + @MainActor public func description(isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> String? { + attribute(Attribute.description, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) + } + @MainActor public func isEnabled(isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> Bool? { + attribute(Attribute.enabled, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) + } + @MainActor public func value(isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> Any? { + attribute(Attribute.value, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) + } + @MainActor public func roleDescription(isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> String? { + attribute(Attribute.roleDescription, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) + } + @MainActor public func help(isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> String? { + attribute(Attribute.help, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) + } + @MainActor public func identifier(isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> String? { + attribute(Attribute.identifier, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) + } + + // Status Properties - now methods + @MainActor public func isFocused(isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> Bool? { + attribute(Attribute.focused, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) + } + @MainActor public func isHidden(isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> Bool? { + attribute(Attribute.hidden, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) + } + @MainActor public func isElementBusy(isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> Bool? { + attribute(Attribute.busy, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) + } + + @MainActor public func isIgnored(isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> Bool { + if attribute(Attribute.hidden, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) == true { + return true + } + return false + } + + @MainActor public func pid(isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> pid_t? { + // This function doesn't call self.attribute, so its logging is self-contained if any. + // For now, assuming AXUIElementGetPid doesn't log through our system. + // If verbose logging of this specific call is needed, add dLog here. + var processID: pid_t = 0 + let error = AXUIElementGetPid(self.underlyingElement, &processID) + if error == .success { + return processID + } + // Optional: dLog if error and isDebugLoggingEnabled + return nil + } + + // Hierarchy and Relationship Getters - now methods + @MainActor public func parent(isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> Element? { + guard let parentElementUI: AXUIElement = attribute(Attribute.parent, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) else { return nil } + return Element(parentElementUI) + } + + @MainActor public func windows(isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> [Element]? { + guard let windowElementsUI: [AXUIElement] = attribute(Attribute<[AXUIElement]>.windows, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) else { return nil } + return windowElementsUI.map { Element($0) } + } + + @MainActor public func mainWindow(isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> Element? { + guard let windowElementUI: AXUIElement = attribute(Attribute.mainWindow, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) ?? nil else { return nil } + return Element(windowElementUI) + } + + @MainActor public func focusedWindow(isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> Element? { + guard let windowElementUI: AXUIElement = attribute(Attribute.focusedWindow, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) ?? nil else { return nil } + return Element(windowElementUI) + } + + @MainActor public func focusedElement(isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> Element? { + guard let elementUI: AXUIElement = attribute(Attribute.focusedElement, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) ?? nil else { return nil } + return Element(elementUI) + } + + // Action-related - now a method + @MainActor + public func supportedActions(isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> [String]? { + return attribute(Attribute<[String]>.actionNames, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) + } +} \ No newline at end of file diff --git a/Sources/AXorcist/Core/Element.swift b/Sources/AXorcist/Core/Element.swift new file mode 100644 index 0000000..fd39c70 --- /dev/null +++ b/Sources/AXorcist/Core/Element.swift @@ -0,0 +1,355 @@ +// Element.swift - Wrapper for AXUIElement for a more Swift-idiomatic interface + +import Foundation +import ApplicationServices // For AXUIElement and other C APIs +// We might need to import ValueHelpers or other local modules later + +// Element struct is NOT @MainActor. Isolation is applied to members that need it. +public struct Element: Equatable, Hashable { + public let underlyingElement: AXUIElement + + public init(_ element: AXUIElement) { + self.underlyingElement = element + } + + // Implement Equatable - no longer needs nonisolated as struct is not @MainActor + public static func == (lhs: Element, rhs: Element) -> Bool { + return CFEqual(lhs.underlyingElement, rhs.underlyingElement) + } + + // Implement Hashable - no longer needs nonisolated + public func hash(into hasher: inout Hasher) { + hasher.combine(CFHash(underlyingElement)) + } + + // Generic method to get an attribute's value (converted to Swift type T) + @MainActor + public func attribute(_ attribute: Attribute, isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> T? { + // axValue is from ValueHelpers.swift and now expects logging parameters + return axValue(of: self.underlyingElement, attr: attribute.rawValue, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) as T? + } + + // Method to get the raw CFTypeRef? for an attribute + // This is useful for functions like attributesMatch that do their own CFTypeID checking. + // This also needs to be @MainActor as AXUIElementCopyAttributeValue should be on main thread. + @MainActor + public func rawAttributeValue(named attributeName: String, isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> CFTypeRef? { + func dLog(_ message: String) { + if isDebugLoggingEnabled { + currentDebugLogs.append(message) + } + } + var value: CFTypeRef? + let error = AXUIElementCopyAttributeValue(self.underlyingElement, attributeName as CFString, &value) + if error == .success { + return value // Caller is responsible for CFRelease if it's a new object they own. + // For many get operations, this is a copy-get rule, but some are direct gets. + // Since we just return it, the caller should be aware or this function should manage it. + // Given AXSwift patterns, often the raw value isn't directly exposed like this, + // or it is clearly documented. For now, let's assume this is for internal use by attributesMatch + // which previously used copyAttributeValue which likely returned a +1 ref count object. + } else if error == .attributeUnsupported { + dLog("rawAttributeValue: Attribute \(attributeName) unsupported for element \(self.underlyingElement)") + } else if error == .noValue { + dLog("rawAttributeValue: Attribute \(attributeName) has no value for element \(self.underlyingElement)") + } else { + dLog("rawAttributeValue: Error getting attribute \(attributeName) for element \(self.underlyingElement): \(error.rawValue)") + } + return nil // Return nil if not success or if value was nil (though success should mean value is populated) + } + + // MARK: - Common Attribute Getters (MOVED to Element+Properties.swift) + // MARK: - Status Properties (MOVED to Element+Properties.swift) + // MARK: - Hierarchy and Relationship Getters (Simpler ones MOVED to Element+Properties.swift) + // MARK: - Action-related (supportedActions MOVED to Element+Properties.swift) + + // Remaining properties and methods will stay here for now + // (e.g., children, isActionSupported, performAction, parameterizedAttribute, briefDescription, generatePathString, static factories) + + // MOVED to Element+Hierarchy.swift + // @MainActor public var children: [Element]? { ... } + + // MARK: - Actions (supportedActions moved, other action methods remain) + + @MainActor + public func isActionSupported(_ actionName: String, isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> Bool { + if let actions: [String] = attribute(Attribute<[String]>.actionNames, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) { + return actions.contains(actionName) + } + return false + } + + @MainActor + @discardableResult + public func performAction(_ actionName: Attribute, isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) throws -> Element { + func dLog(_ message: String) { if isDebugLoggingEnabled { currentDebugLogs.append(message) } } + let error = AXUIElementPerformAction(self.underlyingElement, actionName.rawValue as CFString) + if error != .success { + // Now call the refactored briefDescription, passing the logs along. + let desc = self.briefDescription(option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) + dLog("Action \(actionName.rawValue) failed on element \(desc). Error: \(error.rawValue)") + throw AccessibilityError.actionFailed("Action \(actionName.rawValue) failed on element \(desc)", error) + } + return self + } + + @MainActor + @discardableResult + public func performAction(_ actionName: String, isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) throws -> Element { + func dLog(_ message: String) { if isDebugLoggingEnabled { currentDebugLogs.append(message) } } + let error = AXUIElementPerformAction(self.underlyingElement, actionName as CFString) + if error != .success { + // Now call the refactored briefDescription, passing the logs along. + let desc = self.briefDescription(option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) + dLog("Action \(actionName) failed on element \(desc). Error: \(error.rawValue)") + throw AccessibilityError.actionFailed("Action \(actionName) failed on element \(desc)", error) + } + return self + } + + // MARK: - Parameterized Attributes + + @MainActor + public func parameterizedAttribute(_ attribute: Attribute, forParameter parameter: Any, isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> T? { + func dLog(_ message: String) { if isDebugLoggingEnabled { currentDebugLogs.append(message) } } + var cfParameter: CFTypeRef? + + // Convert Swift parameter to CFTypeRef for the API + if var range = parameter as? CFRange { + cfParameter = AXValueCreate(.cfRange, &range) + } else if let string = parameter as? String { + cfParameter = string as CFString + } else if let number = parameter as? NSNumber { + cfParameter = number + } else if CFGetTypeID(parameter as CFTypeRef) != 0 { // Check if it's already a CFTypeRef-compatible type + cfParameter = (parameter as CFTypeRef) + } else { + dLog("parameterizedAttribute: Unsupported parameter type \(type(of: parameter))") + return nil + } + + guard let actualCFParameter = cfParameter else { + dLog("parameterizedAttribute: Failed to convert parameter to CFTypeRef.") + return nil + } + + var value: CFTypeRef? + let error = AXUIElementCopyParameterizedAttributeValue(underlyingElement, attribute.rawValue as CFString, actualCFParameter, &value) + + if error != .success { + dLog("parameterizedAttribute: Error \(error.rawValue) getting attribute \(attribute.rawValue)") + return nil + } + + guard let resultCFValue = value else { return nil } + + // Use axValue's unwrapping and casting logic if possible, by temporarily creating an element and attribute + // This is a bit of a conceptual stretch, as axValue is designed for direct attributes. + // A more direct unwrap using ValueUnwrapper might be cleaner here. + let unwrappedValue = ValueUnwrapper.unwrap(resultCFValue, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) + + guard let finalValue = unwrappedValue else { return nil } + + // Perform type casting similar to axValue + if T.self == String.self { + if let str = finalValue as? String { return str as? T } + else if let attrStr = finalValue as? NSAttributedString { return attrStr.string as? T } + return nil + } + if let castedValue = finalValue as? T { + return castedValue + } + dLog("parameterizedAttribute: Fallback cast attempt for attribute '\(attribute.rawValue)' to type \(T.self) FAILED. Unwrapped value was \(type(of: finalValue)): \(finalValue)") + return nil + } + + // MOVED to Element+Hierarchy.swift + // @MainActor + // public func generatePathString() -> String { ... } + + // MARK: - Attribute Accessors (Raw and Typed) + + // ... existing attribute accessors ... + + // MARK: - Computed Properties for Common Attributes & Heuristics + + // ... existing properties like role, title, isEnabled ... + + /// A computed name for the element, derived from common attributes like title, value, description, etc. + /// This provides a general-purpose, human-readable name. + @MainActor + // Convert from a computed property to a method to accept logging parameters + public func computedName(isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> String? { + // Now uses the passed-in logging parameters for its internal calls + if let titleStr = self.title(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs), !titleStr.isEmpty, titleStr != kAXNotAvailableString { return titleStr } + + if let valueStr: String = self.value(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) as? String, !valueStr.isEmpty, valueStr != kAXNotAvailableString { return valueStr } + + if let descStr = self.description(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs), !descStr.isEmpty, descStr != kAXNotAvailableString { return descStr } + + if let helpStr: String = self.attribute(Attribute(kAXHelpAttribute), isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs), !helpStr.isEmpty, helpStr != kAXNotAvailableString { return helpStr } + if let phValueStr: String = self.attribute(Attribute(kAXPlaceholderValueAttribute), isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs), !phValueStr.isEmpty, phValueStr != kAXNotAvailableString { return phValueStr } + + let roleNameStr: String = self.role(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) ?? "Element" + + if let roleDescStr: String = self.roleDescription(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs), !roleDescStr.isEmpty, roleDescStr != kAXNotAvailableString { + return "\(roleDescStr) (\(roleNameStr))" + } + return nil + } + + // MARK: - Path and Hierarchy +} + +// Convenience factory for the application element - already @MainActor +@MainActor +public func applicationElement(for bundleIdOrName: String, isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> Element? { + func dLog(_ message: String) { + if isDebugLoggingEnabled { + currentDebugLogs.append(message) + } + } + // Now call pid() with logging parameters + guard let pid = pid(forAppIdentifier: bundleIdOrName, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) else { + // dLog for "Failed to find PID..." is now handled inside pid() itself or if it returns nil here, we can log the higher level failure. + // The message below is slightly redundant if pid() logs its own failure, but can be useful. + dLog("applicationElement: Failed to obtain PID for '\(bundleIdOrName)'. Check previous logs from pid().") + return nil + } + let appElement = AXUIElementCreateApplication(pid) + return Element(appElement) +} + +// Convenience factory for the system-wide element - already @MainActor +@MainActor +public func systemWideElement(isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> Element { + // This function doesn't do much logging itself, but consistent signature is good. + func dLog(_ message: String) { if isDebugLoggingEnabled { currentDebugLogs.append(message) } } + dLog("Creating system-wide element.") + return Element(AXUIElementCreateSystemWide()) +} + +// Extension to generate a descriptive path string +extension Element { + @MainActor + // Update signature to include logging parameters + public func generatePathString(upTo ancestor: Element? = nil, isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> String { + func dLog(_ message: String) { if isDebugLoggingEnabled { currentDebugLogs.append(message) } } + var pathComponents: [String] = [] + var currentElement: Element? = self + + var depth = 0 // Safety break for very deep or circular hierarchies + let maxDepth = 25 + var tempLogs: [String] = [] // Temporary logs for calls within the loop + + dLog("generatePathString started for element: \(self.briefDescription(option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs)) upTo: \(ancestor?.briefDescription(option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) ?? "nil")") + + while let element = currentElement, depth < maxDepth { + tempLogs.removeAll() // Clear for each iteration + let briefDesc = element.briefDescription(option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) + pathComponents.append(briefDesc) + currentDebugLogs.append(contentsOf: tempLogs) // Append logs from briefDescription + + if let ancestor = ancestor, element == ancestor { + dLog("generatePathString: Reached specified ancestor: \(briefDesc)") + break // Reached the specified ancestor + } + + // Check role to prevent going above application or a window if its parent is the app + tempLogs.removeAll() + let role = element.role(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) + currentDebugLogs.append(contentsOf: tempLogs) + + tempLogs.removeAll() + let parentElement = element.parent(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) + currentDebugLogs.append(contentsOf: tempLogs) + + tempLogs.removeAll() + let parentRole = parentElement?.role(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) + currentDebugLogs.append(contentsOf: tempLogs) + + if role == kAXApplicationRole || (role == kAXWindowRole && parentRole == kAXApplicationRole && ancestor == nil) { + dLog("generatePathString: Stopping at \(role == kAXApplicationRole ? "Application" : "Window under App"): \(briefDesc)") + break + } + + currentElement = parentElement + depth += 1 + if currentElement == nil && role != kAXApplicationRole { + let orphanLog = "< Orphaned element path component: \(briefDesc) (role: \(role ?? "nil")) >" + dLog("generatePathString: Unexpected orphan: \(orphanLog)") + pathComponents.append(orphanLog) + break + } + } + if depth >= maxDepth { + dLog("generatePathString: Reached max depth (\(maxDepth)). Path might be truncated.") + pathComponents.append("<...max_depth_reached...>") + } + + let finalPath = pathComponents.reversed().joined(separator: " -> ") + dLog("generatePathString finished. Path: \(finalPath)") + return finalPath + } + + // New function to return path components as an array + @MainActor + public func generatePathArray(upTo ancestor: Element? = nil, isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> [String] { + func dLog(_ message: String) { if isDebugLoggingEnabled { currentDebugLogs.append(message) } } + var pathComponents: [String] = [] + var currentElement: Element? = self + + var depth = 0 + let maxDepth = 25 + var tempLogs: [String] = [] + + dLog("generatePathArray started for element: \(self.briefDescription(option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs)) upTo: \(ancestor?.briefDescription(option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) ?? "nil")") + currentDebugLogs.append(contentsOf: tempLogs); tempLogs.removeAll() + + while let element = currentElement, depth < maxDepth { + tempLogs.removeAll() + let briefDesc = element.briefDescription(option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) + pathComponents.append(briefDesc) + currentDebugLogs.append(contentsOf: tempLogs); tempLogs.removeAll() + + if let ancestor = ancestor, element == ancestor { + dLog("generatePathArray: Reached specified ancestor: \(briefDesc)") + break + } + + tempLogs.removeAll() + let role = element.role(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) + currentDebugLogs.append(contentsOf: tempLogs); tempLogs.removeAll() + + tempLogs.removeAll() + let parentElement = element.parent(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) + currentDebugLogs.append(contentsOf: tempLogs); tempLogs.removeAll() + + tempLogs.removeAll() + let parentRole = parentElement?.role(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) + currentDebugLogs.append(contentsOf: tempLogs); tempLogs.removeAll() + + if role == kAXApplicationRole || (role == kAXWindowRole && parentRole == kAXApplicationRole && ancestor == nil) { + dLog("generatePathArray: Stopping at \(role == kAXApplicationRole ? "Application" : "Window under App"): \(briefDesc)") + break + } + + currentElement = parentElement + depth += 1 + if currentElement == nil && role != kAXApplicationRole { + let orphanLog = "< Orphaned element path component: \(briefDesc) (role: \(role ?? "nil")) >" + dLog("generatePathArray: Unexpected orphan: \(orphanLog)") + pathComponents.append(orphanLog) + break + } + } + if depth >= maxDepth { + dLog("generatePathArray: Reached max depth (\(maxDepth)). Path might be truncated.") + pathComponents.append("<...max_depth_reached...>") + } + + let reversedPathComponents = Array(pathComponents.reversed()) + dLog("generatePathArray finished. Path components: \(reversedPathComponents.joined(separator: "/"))") // Log for debugging + return reversedPathComponents + } +} \ No newline at end of file diff --git a/Sources/AXorcist/Core/Models.swift b/Sources/AXorcist/Core/Models.swift new file mode 100644 index 0000000..1f37954 --- /dev/null +++ b/Sources/AXorcist/Core/Models.swift @@ -0,0 +1,305 @@ +// Models.swift - Contains Codable structs for command handling and responses + +import Foundation + +// Enum for output formatting options +public enum OutputFormat: String, Codable { + case smart // Default, tries to be concise and informative + case verbose // More detailed output, includes more attributes/info + case text_content // Primarily extracts textual content + case json_string // Returns the attributes as a JSON string (new) +} + +// Define CommandType enum +public enum CommandType: String, Codable { + case query + case performAction = "performAction" + case getAttributes = "getAttributes" + case batch + case describeElement = "describeElement" + case getFocusedElement = "getFocusedElement" + case collectAll = "collectAll" + case extractText = "extractText" + case ping + // Add future commands here, ensuring case matches JSON or provide explicit raw value +} + +// For encoding/decoding 'Any' type in JSON, especially for element attributes. +public struct AnyCodable: Codable { + public let value: Any + + public init(_ value: T?) { + self.value = value ?? () + } + + public init(from decoder: Decoder) throws { + let container = try decoder.singleValueContainer() + + if container.decodeNil() { + self.value = () + } else if let bool = try? container.decode(Bool.self) { + self.value = bool + } else if let int = try? container.decode(Int.self) { + self.value = int + } else if let int32 = try? container.decode(Int32.self) { + self.value = int32 + } else if let int64 = try? container.decode(Int64.self) { + self.value = int64 + } else if let uint = try? container.decode(UInt.self) { + self.value = uint + } else if let uint32 = try? container.decode(UInt32.self) { + self.value = uint32 + } else if let uint64 = try? container.decode(UInt64.self) { + self.value = uint64 + } else if let double = try? container.decode(Double.self) { + self.value = double + } else if let float = try? container.decode(Float.self) { + self.value = float + } else if let string = try? container.decode(String.self) { + self.value = string + } else if let array = try? container.decode([AnyCodable].self) { + self.value = array.map { $0.value } + } else if let dictionary = try? container.decode([String: AnyCodable].self) { + self.value = dictionary.mapValues { $0.value } + } else { + throw DecodingError.dataCorruptedError(in: container, debugDescription: "AnyCodable value cannot be decoded") + } + } + + public func encode(to encoder: Encoder) throws { + var container = encoder.singleValueContainer() + switch value { + case is Void: + try container.encodeNil() + case let bool as Bool: + try container.encode(bool) + case let int as Int: + try container.encode(int) + case let int32 as Int32: + try container.encode(Int(int32)) + case let int64 as Int64: + try container.encode(int64) + case let uint as UInt: + try container.encode(uint) + case let uint32 as UInt32: + try container.encode(uint32) + case let uint64 as UInt64: + try container.encode(uint64) + case let double as Double: + try container.encode(double) + case let float as Float: + try container.encode(float) + case let string as String: + try container.encode(string) + case let array as [AnyCodable]: + try container.encode(array) + case let array as [Any?]: + try container.encode(array.map { AnyCodable($0) }) + case let dictionary as [String: AnyCodable]: + try container.encode(dictionary) + case let dictionary as [String: Any?]: + try container.encode(dictionary.mapValues { AnyCodable($0) }) + default: + let context = EncodingError.Context(codingPath: container.codingPath, debugDescription: "AnyCodable value cannot be encoded") + throw EncodingError.invalidValue(value, context) + } + } +} + +// Type alias for element attributes dictionary +public typealias ElementAttributes = [String: AnyCodable] + +// Main command envelope - REPLACED with definition from axorc.swift for consistency +public struct CommandEnvelope: Codable { + public let command_id: String + public let command: CommandType // Uses CommandType from this file + public let application: String? + public let attributes: [String]? + public let payload: [String: String]? // For ping compatibility + public let debug_logging: Bool? + public let locator: Locator? // Locator from this file + public let path_hint: [String]? + public let max_elements: Int? + public let output_format: OutputFormat? // OutputFormat from this file + public let action_name: String? // For performAction + public let action_value: AnyCodable? // For performAction (AnyCodable from this file) + public let sub_commands: [CommandEnvelope]? // For batch command + + // Added a public initializer for convenience, matching fields. + public init(command_id: String, + command: CommandType, + application: String? = nil, + attributes: [String]? = nil, + payload: [String : String]? = nil, + debug_logging: Bool? = nil, + locator: Locator? = nil, + path_hint: [String]? = nil, + max_elements: Int? = nil, + output_format: OutputFormat? = nil, + action_name: String? = nil, + action_value: AnyCodable? = nil, + sub_commands: [CommandEnvelope]? = nil + ) { + self.command_id = command_id + self.command = command + self.application = application + self.attributes = attributes + self.payload = payload + self.debug_logging = debug_logging + self.locator = locator + self.path_hint = path_hint + self.max_elements = max_elements + self.output_format = output_format + self.action_name = action_name + self.action_value = action_value + self.sub_commands = sub_commands + } +} + +// Locator for finding elements +public struct Locator: Codable { + public var match_all: Bool? + public var criteria: [String: String] + public var root_element_path_hint: [String]? + public var requireAction: String? + public var computed_name_contains: String? + + enum CodingKeys: String, CodingKey { + case match_all + case criteria + case root_element_path_hint + case requireAction = "require_action" + case computed_name_contains + } + + public init(match_all: Bool? = nil, criteria: [String: String] = [:], root_element_path_hint: [String]? = nil, requireAction: String? = nil, computed_name_contains: String? = nil) { + self.match_all = match_all + self.criteria = criteria + self.root_element_path_hint = root_element_path_hint + self.requireAction = requireAction + self.computed_name_contains = computed_name_contains + } +} + +// Response for query command (single element) +public struct QueryResponse: Codable { + public var command_id: String + public var success: Bool + public var command: String + public var data: AXElement? + public var attributes: ElementAttributes? + public var error: String? + public var debug_logs: [String]? + + public init(command_id: String, success: Bool = true, command: String = "getFocusedElement", data: AXElement? = nil, attributes: ElementAttributes? = nil, error: String? = nil, debug_logs: [String]? = nil) { + self.command_id = command_id + self.success = success + self.command = command + self.data = data + self.attributes = attributes + self.error = error + self.debug_logs = debug_logs + } +} + +// Response for collect_all command (multiple elements) +public struct MultiQueryResponse: Codable { + public var command_id: String + public var elements: [ElementAttributes]? + public var count: Int? + public var error: String? + public var debug_logs: [String]? + + public init(command_id: String, elements: [ElementAttributes]? = nil, count: Int? = nil, error: String? = nil, debug_logs: [String]? = nil) { + self.command_id = command_id + self.elements = elements + self.count = count ?? elements?.count + self.error = error + self.debug_logs = debug_logs + } +} + +// Response for perform_action command +public struct PerformResponse: Codable { + public var command_id: String + public var success: Bool + public var error: String? + public var debug_logs: [String]? + + public init(command_id: String, success: Bool, error: String? = nil, debug_logs: [String]? = nil) { + self.command_id = command_id + self.success = success + self.error = error + self.debug_logs = debug_logs + } +} + +// Response for extract_text command +public struct TextContentResponse: Codable { + public var command_id: String + public var text_content: String? + public var error: String? + public var debug_logs: [String]? + + public init(command_id: String, text_content: String? = nil, error: String? = nil, debug_logs: [String]? = nil) { + self.command_id = command_id + self.text_content = text_content + self.error = error + self.debug_logs = debug_logs + } +} + + +// Generic error response +public struct ErrorResponse: Codable { + public var command_id: String + public var success: Bool + public var error: ErrorDetail + public var debug_logs: [String]? + + public init(command_id: String, error: String, debug_logs: [String]? = nil) { + self.command_id = command_id + self.success = false + self.error = ErrorDetail(message: error) + self.debug_logs = debug_logs + } +} + +public struct ErrorDetail: Codable { + public var message: String + + public init(message: String) { + self.message = message + } +} + +// Simple success response, e.g. for ping +public struct SimpleSuccessResponse: Codable, Equatable { + public var command_id: String + public var success: Bool + public var status: String + public var message: String + public var details: String? + public var debug_logs: [String]? + + public init(command_id: String, status: String, message: String, details: String? = nil, debug_logs: [String]? = nil) { + self.command_id = command_id + self.success = true + self.status = status + self.message = message + self.details = details + self.debug_logs = debug_logs + } +} + +// Placeholder for any additional models if needed + +public struct AXElement: Codable { + public var attributes: ElementAttributes? + public var path: [String]? + + public init(attributes: ElementAttributes?, path: [String]? = nil) { + self.attributes = attributes + self.path = path + } +} \ No newline at end of file diff --git a/Sources/AXorcist/Core/ProcessUtils.swift b/Sources/AXorcist/Core/ProcessUtils.swift new file mode 100644 index 0000000..5e87d4b --- /dev/null +++ b/Sources/AXorcist/Core/ProcessUtils.swift @@ -0,0 +1,120 @@ +// ProcessUtils.swift - Utilities for process and application inspection. + +import Foundation +import AppKit // For NSRunningApplication, NSWorkspace + +// debug() is assumed to be globally available from Logging.swift + +@MainActor +public func pid(forAppIdentifier ident: String, isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> pid_t? { + func dLog(_ message: String) { + if isDebugLoggingEnabled { + currentDebugLogs.append(message) + } + } + dLog("ProcessUtils: Attempting to find PID for identifier: '\(ident)'") + + if ident == "focused" { + dLog("ProcessUtils: Identifier is 'focused'. Checking frontmost application.") + if let frontmostApp = NSWorkspace.shared.frontmostApplication { + dLog("ProcessUtils: Frontmost app is '\(frontmostApp.localizedName ?? "nil")' (PID: \(frontmostApp.processIdentifier), BundleID: \(frontmostApp.bundleIdentifier ?? "nil"), Terminated: \(frontmostApp.isTerminated))") + return frontmostApp.processIdentifier + } else { + dLog("ProcessUtils: NSWorkspace.shared.frontmostApplication returned nil.") + return nil + } + } + + dLog("ProcessUtils: Trying by bundle identifier '\(ident)'.") + let appsByBundleID = NSRunningApplication.runningApplications(withBundleIdentifier: ident) + if !appsByBundleID.isEmpty { + dLog("ProcessUtils: Found \(appsByBundleID.count) app(s) by bundle ID '\(ident)'.") + for (index, app) in appsByBundleID.enumerated() { + dLog("ProcessUtils: App [\(index)] - Name: '\(app.localizedName ?? "nil")', PID: \(app.processIdentifier), BundleID: '\(app.bundleIdentifier ?? "nil")', Terminated: \(app.isTerminated)") + } + if let app = appsByBundleID.first(where: { !$0.isTerminated }) { + dLog("ProcessUtils: Using first non-terminated app found by bundle ID: '\(app.localizedName ?? "nil")' (PID: \(app.processIdentifier))") + return app.processIdentifier + } else { + dLog("ProcessUtils: All apps found by bundle ID '\(ident)' are terminated or list was empty initially but then non-empty (should not happen).") + } + } else { + dLog("ProcessUtils: No applications found for bundle identifier '\(ident)'.") + } + + dLog("ProcessUtils: Trying by localized name (case-insensitive) '\(ident)'.") + let allApps = NSWorkspace.shared.runningApplications + if let appByName = allApps.first(where: { !$0.isTerminated && $0.localizedName?.lowercased() == ident.lowercased() }) { + dLog("ProcessUtils: Found non-terminated app by localized name: '\(appByName.localizedName ?? "nil")' (PID: \(appByName.processIdentifier), BundleID: '\(appByName.bundleIdentifier ?? "nil")')") + return appByName.processIdentifier + } else { + dLog("ProcessUtils: No non-terminated app found matching localized name '\(ident)'. Found \(allApps.filter { $0.localizedName?.lowercased() == ident.lowercased() }.count) terminated or non-matching apps by this name.") + } + + dLog("ProcessUtils: Trying by path '\(ident)'.") + let potentialPath = (ident as NSString).expandingTildeInPath + if FileManager.default.fileExists(atPath: potentialPath), + let bundle = Bundle(path: potentialPath), + let bundleId = bundle.bundleIdentifier { + dLog("ProcessUtils: Path '\(potentialPath)' resolved to bundle '\(bundleId)'. Looking up running apps with this bundle ID.") + let appsByResolvedBundleID = NSRunningApplication.runningApplications(withBundleIdentifier: bundleId) + if !appsByResolvedBundleID.isEmpty { + dLog("ProcessUtils: Found \(appsByResolvedBundleID.count) app(s) by resolved bundle ID '\(bundleId)'.") + for (index, app) in appsByResolvedBundleID.enumerated() { + dLog("ProcessUtils: App [\(index)] from path - Name: '\(app.localizedName ?? "nil")', PID: \(app.processIdentifier), BundleID: '\(app.bundleIdentifier ?? "nil")', Terminated: \(app.isTerminated)") + } + if let app = appsByResolvedBundleID.first(where: { !$0.isTerminated }) { + dLog("ProcessUtils: Using first non-terminated app found by path (via bundle ID '\(bundleId)'): '\(app.localizedName ?? "nil")' (PID: \(app.processIdentifier))") + return app.processIdentifier + } else { + dLog("ProcessUtils: All apps for bundle ID '\(bundleId)' (from path) are terminated.") + } + } else { + dLog("ProcessUtils: No running applications found for bundle identifier '\(bundleId)' derived from path '\(potentialPath)'.") + } + } else { + dLog("ProcessUtils: Identifier '\(ident)' is not a valid file path or bundle info could not be read.") + } + + dLog("ProcessUtils: Trying by interpreting '\(ident)' as a PID string.") + if let pidInt = Int32(ident) { + if let appByPid = NSRunningApplication(processIdentifier: pidInt), !appByPid.isTerminated { + dLog("ProcessUtils: Found non-terminated app by PID string '\(ident)': '\(appByPid.localizedName ?? "nil")' (PID: \(appByPid.processIdentifier), BundleID: '\(appByPid.bundleIdentifier ?? "nil")')") + return pidInt + } else { + if NSRunningApplication(processIdentifier: pidInt)?.isTerminated == true { + dLog("ProcessUtils: String '\(ident)' is a PID, but the app is terminated.") + } else { + dLog("ProcessUtils: String '\(ident)' looked like a PID but no running application found for it.") + } + } + } + + dLog("ProcessUtils: PID not found for identifier: '\(ident)'") + return nil +} + +@MainActor +func findFrontmostApplicationPid(isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> pid_t? { + func dLog(_ message: String) { if isDebugLoggingEnabled { currentDebugLogs.append(message) } } + dLog("ProcessUtils: findFrontmostApplicationPid called.") + if let frontmostApp = NSWorkspace.shared.frontmostApplication { + dLog("ProcessUtils: Frontmost app for findFrontmostApplicationPid is '\(frontmostApp.localizedName ?? "nil")' (PID: \(frontmostApp.processIdentifier), BundleID: '\(frontmostApp.bundleIdentifier ?? "nil")', Terminated: \(frontmostApp.isTerminated))") + return frontmostApp.processIdentifier + } else { + dLog("ProcessUtils: NSWorkspace.shared.frontmostApplication returned nil in findFrontmostApplicationPid.") + return nil + } +} + +public func getParentProcessName(isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> String? { + func dLog(_ message: String) { if isDebugLoggingEnabled { currentDebugLogs.append(message) } } + let parentPid = getppid() + dLog("ProcessUtils: Parent PID is \(parentPid).") + if let parentApp = NSRunningApplication(processIdentifier: parentPid) { + dLog("ProcessUtils: Parent app is '\(parentApp.localizedName ?? "nil")' (BundleID: '\(parentApp.bundleIdentifier ?? "nil")')") + return parentApp.localizedName ?? parentApp.bundleIdentifier + } + dLog("ProcessUtils: Could not get NSRunningApplication for parent PID \(parentPid).") + return nil +} \ No newline at end of file diff --git a/Sources/AXorcist/Search/AttributeHelpers.swift b/Sources/AXorcist/Search/AttributeHelpers.swift new file mode 100644 index 0000000..d25768e --- /dev/null +++ b/Sources/AXorcist/Search/AttributeHelpers.swift @@ -0,0 +1,377 @@ +// AttributeHelpers.swift - Contains functions for fetching and formatting element attributes + +import Foundation +import ApplicationServices // For AXUIElement related types +import CoreGraphics // For potential future use with geometry types from attributes + +// Note: This file assumes Models (for ElementAttributes, AnyCodable), +// Logging (for debug), AccessibilityConstants, and Utils (for axValue) are available in the same module. +// And now Element for the new element wrapper. + +// Define AttributeData and AttributeSource here as they are not found by the compiler +public enum AttributeSource: String, Codable { + case direct // Directly from an AXAttribute + case computed // Derived by this tool +} + +public struct AttributeData: Codable { + public let value: AnyCodable + public let source: AttributeSource +} + +// MARK: - Element Summary Helpers + +// Removed getSingleElementSummary as it was unused. + +// MARK: - Internal Fetch Logic Helpers + +// Approach using direct property access within a switch statement +@MainActor +private func extractDirectPropertyValue(for attributeName: String, from element: Element, outputFormat: OutputFormat, isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> (value: Any?, handled: Bool) { + func dLog(_ message: String) { if isDebugLoggingEnabled { currentDebugLogs.append(message) } } + var tempLogs: [String] = [] // For Element method calls + var extractedValue: Any? + var handled = true + + // Ensure logging parameters are passed to Element methods + switch attributeName { + case kAXPathHintAttribute: + extractedValue = element.attribute(Attribute(kAXPathHintAttribute), isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) + case kAXRoleAttribute: + extractedValue = element.role(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) + case kAXSubroleAttribute: + extractedValue = element.subrole(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) + case kAXTitleAttribute: + extractedValue = element.title(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) + case kAXDescriptionAttribute: + extractedValue = element.description(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) + case kAXEnabledAttribute: + let val = element.isEnabled(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) + extractedValue = val + if outputFormat == .text_content { extractedValue = val?.description ?? kAXNotAvailableString } + case kAXFocusedAttribute: + let val = element.isFocused(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) + extractedValue = val + if outputFormat == .text_content { extractedValue = val?.description ?? kAXNotAvailableString } + case kAXHiddenAttribute: + let val = element.isHidden(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) + extractedValue = val + if outputFormat == .text_content { extractedValue = val?.description ?? kAXNotAvailableString } + case isIgnoredAttributeKey: + let val = element.isIgnored(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) + extractedValue = val + if outputFormat == .text_content { extractedValue = val ? "true" : "false" } + case "PID": + let val = element.pid(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) + extractedValue = val + if outputFormat == .text_content { extractedValue = val?.description ?? kAXNotAvailableString } + case kAXElementBusyAttribute: + let val = element.isElementBusy(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) + extractedValue = val + if outputFormat == .text_content { extractedValue = val?.description ?? kAXNotAvailableString } + default: + handled = false + } + currentDebugLogs.append(contentsOf: tempLogs) // Collect logs from Element method calls + return (extractedValue, handled) +} + +@MainActor +private func determineAttributesToFetch(requestedAttributes: [String], forMultiDefault: Bool, targetRole: String?, element: Element, isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> [String] { + func dLog(_ message: String) { if isDebugLoggingEnabled { currentDebugLogs.append(message) } } + var attributesToFetch = requestedAttributes + if forMultiDefault { + attributesToFetch = [kAXRoleAttribute, kAXValueAttribute, kAXTitleAttribute, kAXIdentifierAttribute] + if let role = targetRole, role == kAXStaticTextRole { + attributesToFetch = [kAXRoleAttribute, kAXValueAttribute, kAXIdentifierAttribute] + } + } else if attributesToFetch.isEmpty { + var attrNames: CFArray? + if AXUIElementCopyAttributeNames(element.underlyingElement, &attrNames) == .success, let names = attrNames as? [String] { + attributesToFetch.append(contentsOf: names) + dLog("determineAttributesToFetch: No specific attributes requested, fetched all \(names.count) available: \(names.joined(separator: ", "))") + } else { + dLog("determineAttributesToFetch: No specific attributes requested and failed to fetch all available names.") + } + } + return attributesToFetch +} + +// MARK: - Public Attribute Getters + +@MainActor +public func getElementAttributes(_ element: Element, requestedAttributes: [String], forMultiDefault: Bool = false, targetRole: String? = nil, outputFormat: OutputFormat = .smart, isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> ElementAttributes { + func dLog(_ message: String) { if isDebugLoggingEnabled { currentDebugLogs.append(message) } } + var tempLogs: [String] = [] // For Element method calls, cleared and appended for each. + var result = ElementAttributes() + let valueFormatOption: ValueFormatOption = (outputFormat == .verbose) ? .verbose : .default + + tempLogs.removeAll() + dLog("getElementAttributes starting for element: \(element.briefDescription(option: valueFormatOption, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs)), format: \(outputFormat)") + currentDebugLogs.append(contentsOf: tempLogs) + + let attributesToFetch = determineAttributesToFetch(requestedAttributes: requestedAttributes, forMultiDefault: forMultiDefault, targetRole: targetRole, element: element, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) + dLog("Attributes to fetch: \(attributesToFetch.joined(separator: ", "))") + + for attr in attributesToFetch { + var tempCallLogs: [String] = [] // Logs for a specific attribute fetching call + if attr == kAXParentAttribute { + tempCallLogs.removeAll() + let parent = element.parent(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempCallLogs) + result[kAXParentAttribute] = formatParentAttribute(parent, outputFormat: outputFormat, valueFormatOption: valueFormatOption, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempCallLogs) // formatParentAttribute will manage its own logs now + currentDebugLogs.append(contentsOf: tempCallLogs) // Collect logs from element.parent and formatParentAttribute + continue + } else if attr == kAXChildrenAttribute { + tempCallLogs.removeAll() + let children = element.children(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempCallLogs) + result[attr] = formatChildrenAttribute(children, outputFormat: outputFormat, valueFormatOption: valueFormatOption, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempCallLogs) // formatChildrenAttribute will manage its own logs + currentDebugLogs.append(contentsOf: tempCallLogs) + continue + } else if attr == kAXFocusedUIElementAttribute { + tempCallLogs.removeAll() + let focused = element.focusedElement(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempCallLogs) + result[attr] = AnyCodable(formatFocusedUIElementAttribute(focused, outputFormat: outputFormat, valueFormatOption: valueFormatOption, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempCallLogs)) + currentDebugLogs.append(contentsOf: tempCallLogs) + continue + } + + tempCallLogs.removeAll() + let (directValue, wasHandledDirectly) = extractDirectPropertyValue(for: attr, from: element, outputFormat: outputFormat, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempCallLogs) + currentDebugLogs.append(contentsOf: tempCallLogs) + var finalValueToStore: Any? + + if wasHandledDirectly { + finalValueToStore = directValue + dLog("Attribute '\(attr)' handled directly, value: \(String(describing: directValue))") + } else { + tempCallLogs.removeAll() + let rawCFValue: CFTypeRef? = element.rawAttributeValue(named: attr, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempCallLogs) + currentDebugLogs.append(contentsOf: tempCallLogs) + if outputFormat == .text_content { + finalValueToStore = formatRawCFValueForTextContent(rawCFValue) + } else { + finalValueToStore = formatCFTypeRef(rawCFValue, option: valueFormatOption, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) + } + dLog("Attribute '\(attr)' fetched via rawAttributeValue, formatted value: \(String(describing: finalValueToStore))") + } + + if outputFormat == .smart { + if let strVal = finalValueToStore as? String, + (strVal.isEmpty || strVal == "" || strVal == "AXValue (Illegal)" || strVal.contains("Unknown CFType") || strVal == kAXNotAvailableString) { + dLog("Smart format: Skipping attribute '\(attr)' with unhelpful value: \(strVal)") + continue + } + } + result[attr] = AnyCodable(finalValueToStore) + } + + tempLogs.removeAll() + if result[computedNameAttributeKey] == nil { + if let name = element.computedName(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) { + result[computedNameAttributeKey] = AnyCodable(AttributeData(value: AnyCodable(name), source: .computed)) + dLog("Added ComputedName: \(name)") + } + } + currentDebugLogs.append(contentsOf: tempLogs) + + tempLogs.removeAll() + if result[isClickableAttributeKey] == nil { + let isButton = (element.role(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) == kAXButtonRole) + let hasPressAction = element.isActionSupported(kAXPressAction, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) + if isButton || hasPressAction { + result[isClickableAttributeKey] = AnyCodable(AttributeData(value: AnyCodable(true), source: .computed)) + dLog("Added IsClickable: true (button: \(isButton), pressAction: \(hasPressAction))") + } + } + currentDebugLogs.append(contentsOf: tempLogs) + + tempLogs.removeAll() + if outputFormat == .verbose && result[computedPathAttributeKey] == nil { + let path = element.generatePathString(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) + result[computedPathAttributeKey] = AnyCodable(path) + dLog("Added ComputedPath (verbose): \(path)") + } + currentDebugLogs.append(contentsOf: tempLogs) + + populateActionNamesAttribute(for: element, result: &result, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) + + dLog("getElementAttributes finished. Result keys: \(result.keys.joined(separator: ", "))") + return result +} + +@MainActor +private func populateActionNamesAttribute(for element: Element, result: inout ElementAttributes, isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) { + func dLog(_ message: String) { if isDebugLoggingEnabled { currentDebugLogs.append(message) } } + var tempLogs: [String] = [] // For Element method calls + if result[kAXActionNamesAttribute] != nil { + dLog("populateActionNamesAttribute: Already present or explicitly requested, skipping.") + return + } + currentDebugLogs.append(contentsOf: tempLogs) // Appending potentially empty tempLogs, for consistency, though it does nothing here. + + var actionsToStore: [String]? + tempLogs.removeAll() + if let currentActions = element.supportedActions(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs), !currentActions.isEmpty { + actionsToStore = currentActions + dLog("populateActionNamesAttribute: Got \(currentActions.count) from supportedActions.") + } else { + dLog("populateActionNamesAttribute: supportedActions was nil or empty. Trying kAXActionsAttribute.") + tempLogs.removeAll() // Clear before next call that uses it + if let fallbackActions: [String] = element.attribute(Attribute<[String]>(kAXActionsAttribute), isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs), !fallbackActions.isEmpty { + actionsToStore = fallbackActions + dLog("populateActionNamesAttribute: Got \(fallbackActions.count) from kAXActionsAttribute fallback.") + } + } + currentDebugLogs.append(contentsOf: tempLogs) + + tempLogs.removeAll() + let pressActionSupported = element.isActionSupported(kAXPressAction, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) + currentDebugLogs.append(contentsOf: tempLogs) + dLog("populateActionNamesAttribute: kAXPressAction supported: \(pressActionSupported).") + if pressActionSupported { + if actionsToStore == nil { actionsToStore = [kAXPressAction] } + else if !actionsToStore!.contains(kAXPressAction) { actionsToStore!.append(kAXPressAction) } + } + + if let finalActions = actionsToStore, !finalActions.isEmpty { + result[kAXActionNamesAttribute] = AnyCodable(finalActions) + dLog("populateActionNamesAttribute: Final actions: \(finalActions.joined(separator: ", ")).") + } else { + tempLogs.removeAll() + let primaryNil = element.supportedActions(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) == nil + currentDebugLogs.append(contentsOf: tempLogs) + tempLogs.removeAll() + let fallbackNil = element.attribute(Attribute<[String]>(kAXActionsAttribute), isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) == nil + currentDebugLogs.append(contentsOf: tempLogs) + if primaryNil && fallbackNil && !pressActionSupported { + result[kAXActionNamesAttribute] = AnyCodable(kAXNotAvailableString) + dLog("populateActionNamesAttribute: All action sources nil/unsupported. Set to kAXNotAvailableString.") + } else { + result[kAXActionNamesAttribute] = AnyCodable("\(kAXNotAvailableString) (no specific actions found or list empty)") + dLog("populateActionNamesAttribute: Some action source present but list empty. Set to verbose kAXNotAvailableString.") + } + } +} + +// MARK: - Attribute Formatting Helpers + +// Helper function to format the parent attribute +@MainActor +private func formatParentAttribute(_ parent: Element?, outputFormat: OutputFormat, valueFormatOption: ValueFormatOption, isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> AnyCodable { + func dLog(_ message: String) { if isDebugLoggingEnabled { currentDebugLogs.append(message) } } + var tempLogs: [String] = [] // For Element method calls + guard let parentElement = parent else { return AnyCodable(nil as String?) } + if outputFormat == .text_content { + return AnyCodable("Element: \(parentElement.role(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) ?? "?Role")") + } else { + return AnyCodable(parentElement.briefDescription(option: valueFormatOption, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs)) + } +} + +// Helper function to format the children attribute +@MainActor +private func formatChildrenAttribute(_ children: [Element]?, outputFormat: OutputFormat, valueFormatOption: ValueFormatOption, isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> AnyCodable { + func dLog(_ message: String) { if isDebugLoggingEnabled { currentDebugLogs.append(message) } } + var tempLogs: [String] = [] // For Element method calls + guard let actualChildren = children, !actualChildren.isEmpty else { return AnyCodable("[]") } + if outputFormat == .text_content { + return AnyCodable("Array of \(actualChildren.count) Element(s)") + } else if outputFormat == .verbose { + var childrenSummaries: [String] = [] + for childElement in actualChildren { + childrenSummaries.append(childElement.briefDescription(option: valueFormatOption, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs)) + } + return AnyCodable("[\(childrenSummaries.joined(separator: ", "))]") + } else { // .smart output + return AnyCodable("Array of \(actualChildren.count) children") + } +} + +// Helper function to format the focused UI element attribute +@MainActor +private func formatFocusedUIElementAttribute(_ focusedElement: Element?, outputFormat: OutputFormat, valueFormatOption: ValueFormatOption, isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> AnyCodable { + func dLog(_ message: String) { if isDebugLoggingEnabled { currentDebugLogs.append(message) } } + var tempLogs: [String] = [] // For Element method calls + guard let actualFocusedElement = focusedElement else { return AnyCodable(nil as String?) } + if outputFormat == .text_content { + return AnyCodable("Element: \(actualFocusedElement.role(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) ?? "?Role")") + } else { + return AnyCodable(actualFocusedElement.briefDescription(option: valueFormatOption, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs)) + } +} + +/// Encodes the given ElementAttributes dictionary into a new dictionary containing +/// a single key "json_representation" with the JSON string as its value. +/// If encoding fails, returns a dictionary with an error message. +@MainActor +public func encodeAttributesToJSONStringRepresentation(_ attributes: ElementAttributes) -> ElementAttributes { + let encoder = JSONEncoder() + encoder.outputFormatting = .prettyPrinted // Or .sortedKeys for deterministic output if needed + do { + let jsonData = try encoder.encode(attributes) // attributes is [String: AnyCodable] + if let jsonString = String(data: jsonData, encoding: .utf8) { + return ["json_representation": AnyCodable(jsonString)] + } else { + return ["error": AnyCodable("Failed to convert encoded JSON data to string")] + } + } catch { + return ["error": AnyCodable("Failed to encode attributes to JSON: \(error.localizedDescription)")] + } +} + +// MARK: - Computed Attributes + +// New helper function to get only computed/heuristic attributes for matching +@MainActor +public func getComputedAttributes(for element: Element, isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> ElementAttributes { + func dLog(_ message: String) { if isDebugLoggingEnabled { currentDebugLogs.append(message) } } + var tempLogs: [String] = [] // For Element method calls + var attributes: ElementAttributes = [:] + + tempLogs.removeAll() + dLog("getComputedAttributes for element: \(element.briefDescription(option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs))") + currentDebugLogs.append(contentsOf: tempLogs) + + tempLogs.removeAll() + if let name = element.computedName(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) { + attributes[computedNameAttributeKey] = AnyCodable(AttributeData(value: AnyCodable(name), source: .computed)) + dLog("ComputedName: \(name)") + } + currentDebugLogs.append(contentsOf: tempLogs) + + tempLogs.removeAll() + let isButton = (element.role(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) == kAXButtonRole) + currentDebugLogs.append(contentsOf: tempLogs) // Collect logs from role call + tempLogs.removeAll() + let hasPressAction = element.isActionSupported(kAXPressAction, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) + currentDebugLogs.append(contentsOf: tempLogs) // Collect logs from isActionSupported call + + if isButton || hasPressAction { + attributes[isClickableAttributeKey] = AnyCodable(AttributeData(value: AnyCodable(true), source: .computed)) + dLog("IsClickable: true (button: \(isButton), pressAction: \(hasPressAction))") + } + + // Ensure other computed attributes like ComputedPath also use methods with logging if they exist. + // For now, this focuses on the direct errors. + + return attributes +} + +// MARK: - Attribute Formatting Helpers (Additional) + +// Helper function to format a raw CFTypeRef for .text_content output +@MainActor +private func formatRawCFValueForTextContent(_ rawValue: CFTypeRef?) -> String { + guard let value = rawValue else { return kAXNotAvailableString } + let typeID = CFGetTypeID(value) + if typeID == CFStringGetTypeID() { return (value as! String) } + else if typeID == CFAttributedStringGetTypeID() { return (value as! NSAttributedString).string } + else if typeID == AXValueGetTypeID() { + let axVal = value as! AXValue + return formatAXValue(axVal, option: .default) // Assumes formatAXValue returns String + } else if typeID == CFNumberGetTypeID() { return (value as! NSNumber).stringValue } + else if typeID == CFBooleanGetTypeID() { return CFBooleanGetValue((value as! CFBoolean)) ? "true" : "false" } + else { return "<\(CFCopyTypeIDDescription(typeID) as String? ?? "ComplexType")>" } +} + +// Any other attribute-specific helper functions could go here in the future. \ No newline at end of file diff --git a/Sources/AXorcist/Search/AttributeMatcher.swift b/Sources/AXorcist/Search/AttributeMatcher.swift new file mode 100644 index 0000000..b65ca71 --- /dev/null +++ b/Sources/AXorcist/Search/AttributeMatcher.swift @@ -0,0 +1,173 @@ +import Foundation +import ApplicationServices // For AXUIElement, CFTypeRef etc. + +// debug() is assumed to be globally available from Logging.swift +// DEBUG_LOGGING_ENABLED is a global public var from Logging.swift + +@MainActor +internal func attributesMatch(element: Element, matchDetails: [String: String], depth: Int, isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> Bool { + func dLog(_ message: String) { if isDebugLoggingEnabled { currentDebugLogs.append(message) } } + var tempLogs: [String] = [] // For Element method calls + + let criteriaDesc = matchDetails.map { "\($0.key)=\($0.value)" }.joined(separator: ", ") + let roleForLog = element.role(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) ?? "nil" + let titleForLog = element.title(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) ?? "nil" + dLog("attributesMatch [D\(depth)]: Check. Role=\(roleForLog), Title=\(titleForLog). Criteria: [\(criteriaDesc)]") + + if !matchComputedNameAttributes(element: element, computedNameEquals: matchDetails[computedNameAttributeKey + "_equals"], computedNameContains: matchDetails[computedNameAttributeKey + "_contains"], depth: depth, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) { + return false + } + + for (key, expectedValue) in matchDetails { + if key == computedNameAttributeKey + "_equals" || key == computedNameAttributeKey + "_contains" { continue } + if key == kAXRoleAttribute { continue } // Already handled by ElementSearch's role check or not a primary filter here + + if key == kAXEnabledAttribute || key == kAXFocusedAttribute || key == kAXHiddenAttribute || key == kAXElementBusyAttribute || key == isIgnoredAttributeKey || key == kAXMainAttribute { + if !matchBooleanAttribute(element: element, key: key, expectedValueString: expectedValue, depth: depth, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) { + return false + } + continue + } + + if key == kAXActionNamesAttribute || key == kAXAllowedValuesAttribute || key == kAXChildrenAttribute { + if !matchArrayAttribute(element: element, key: key, expectedValueString: expectedValue, depth: depth, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) { + return false + } + continue + } + + if !matchStringAttribute(element: element, key: key, expectedValueString: expectedValue, depth: depth, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) { + return false + } + } + + dLog("attributesMatch [D\(depth)]: All attributes MATCHED criteria.") + return true +} + +@MainActor +internal func matchStringAttribute(element: Element, key: String, expectedValueString: String, depth: Int, isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> Bool { + func dLog(_ message: String) { if isDebugLoggingEnabled { currentDebugLogs.append(message) } } + var tempLogs: [String] = [] // For Element method calls + + if let currentValue = element.attribute(Attribute(key), isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) { + if currentValue != expectedValueString { + dLog("attributesMatch [D\(depth)]: Attribute '\(key)' expected '\(expectedValueString)', but found '\(currentValue)'. No match.") + return false + } + return true + } else { + if expectedValueString.lowercased() == "nil" || expectedValueString == kAXNotAvailableString || expectedValueString.isEmpty { + dLog("attributesMatch [D\(depth)]: Attribute '\(key)' not found, but expected value ('\(expectedValueString)') suggests absence is OK. Match for this key.") + return true + } else { + dLog("attributesMatch [D\(depth)]: Attribute '\(key)' (expected '\(expectedValueString)') not found or not convertible to String. No match.") + return false + } + } +} + +@MainActor +internal func matchArrayAttribute(element: Element, key: String, expectedValueString: String, depth: Int, isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> Bool { + func dLog(_ message: String) { if isDebugLoggingEnabled { currentDebugLogs.append(message) } } + var tempLogs: [String] = [] // For Element method calls + + guard let expectedArray = decodeExpectedArray(fromString: expectedValueString, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) else { + dLog("matchArrayAttribute [D\(depth)]: Could not decode expected array string '\(expectedValueString)' for attribute '\(key)'. No match.") + return false + } + + var actualArray: [String]? = nil + if key == kAXActionNamesAttribute { + actualArray = element.supportedActions(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) + } else if key == kAXAllowedValuesAttribute { + actualArray = element.attribute(Attribute<[String]>(key), isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) + } else if key == kAXChildrenAttribute { + actualArray = element.children(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs)?.map { childElement -> String in + var childLogs: [String] = [] + return childElement.role(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &childLogs) ?? "UnknownRole" + } + } else { + dLog("matchArrayAttribute [D\(depth)]: Unknown array key '\(key)'. This function needs to be extended for this key.") + return false + } + + if let actual = actualArray { + if Set(actual) != Set(expectedArray) { + dLog("matchArrayAttribute [D\(depth)]: Array Attribute '\(key)' expected '\(expectedArray)', but found '\(actual)'. Sets differ. No match.") + return false + } + return true + } else { + if expectedArray.isEmpty { + dLog("matchArrayAttribute [D\(depth)]: Array Attribute '\(key)' not found, but expected array was empty. Match for this key.") + return true + } + dLog("matchArrayAttribute [D\(depth)]: Array Attribute '\(key)' (expected '\(expectedValueString)') not found in element. No match.") + return false + } +} + +@MainActor +internal func matchBooleanAttribute(element: Element, key: String, expectedValueString: String, depth: Int, isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> Bool { + func dLog(_ message: String) { if isDebugLoggingEnabled { currentDebugLogs.append(message) } } + var tempLogs: [String] = [] // For Element method calls + var currentBoolValue: Bool? + + switch key { + case kAXEnabledAttribute: currentBoolValue = element.isEnabled(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) + case kAXFocusedAttribute: currentBoolValue = element.isFocused(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) + case kAXHiddenAttribute: currentBoolValue = element.isHidden(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) + case kAXElementBusyAttribute: currentBoolValue = element.isElementBusy(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) + case isIgnoredAttributeKey: currentBoolValue = element.isIgnored(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) + case kAXMainAttribute: currentBoolValue = element.attribute(Attribute(key), isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) + default: + dLog("matchBooleanAttribute [D\(depth)]: Unknown boolean key '\(key)'. This should not happen.") + return false + } + + if let actualBool = currentBoolValue { + let expectedBool = expectedValueString.lowercased() == "true" + if actualBool != expectedBool { + dLog("attributesMatch [D\(depth)]: Boolean Attribute '\(key)' expected '\(expectedBool)', but found '\(actualBool)'. No match.") + return false + } + return true + } else { + dLog("attributesMatch [D\(depth)]: Boolean Attribute '\(key)' (expected '\(expectedValueString)') not found in element. No match.") + return false + } +} + +@MainActor +internal func matchComputedNameAttributes(element: Element, computedNameEquals: String?, computedNameContains: String?, depth: Int, isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> Bool { + func dLog(_ message: String) { if isDebugLoggingEnabled { currentDebugLogs.append(message) } } + var tempLogs: [String] = [] // For Element method calls + + if computedNameEquals == nil && computedNameContains == nil { + return true + } + + // getComputedAttributes will need logging parameters + let computedAttrs = getComputedAttributes(for: element, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) + if let currentComputedNameAny = computedAttrs[computedNameAttributeKey]?.value, // Assuming .value is how you get it from the AttributeData struct + let currentComputedName = currentComputedNameAny as? String { + if let equals = computedNameEquals { + if currentComputedName != equals { + dLog("matchComputedNameAttributes [D\(depth)]: ComputedName '\(currentComputedName)' != '\(equals)'. No match.") + return false + } + } + if let contains = computedNameContains { + if !currentComputedName.localizedCaseInsensitiveContains(contains) { + dLog("matchComputedNameAttributes [D\(depth)]: ComputedName '\(currentComputedName)' does not contain '\(contains)'. No match.") + return false + } + } + return true + } else { + dLog("matchComputedNameAttributes [D\(depth)]: Locator requires ComputedName (equals: \(computedNameEquals ?? "nil"), contains: \(computedNameContains ?? "nil")), but element has none. No match.") + return false + } +} + diff --git a/Sources/AXorcist/Search/ElementSearch.swift b/Sources/AXorcist/Search/ElementSearch.swift new file mode 100644 index 0000000..3489280 --- /dev/null +++ b/Sources/AXorcist/Search/ElementSearch.swift @@ -0,0 +1,200 @@ +// ElementSearch.swift - Contains search and element collection logic + +import Foundation +import ApplicationServices + +// Variable DEBUG_LOGGING_ENABLED is expected to be globally available from Logging.swift +// Element is now the primary type for UI elements. + +// decodeExpectedArray MOVED to Utils/GeneralParsingUtils.swift + +enum ElementMatchStatus { + case fullMatch // Role, attributes, and (if specified) action all match + case partialMatch_actionMissing // Role and attributes match, but a required action is missing + case noMatch // Role or attributes do not match +} + +@MainActor +internal func evaluateElementAgainstCriteria(element: Element, locator: Locator, actionToVerify: String?, depth: Int, isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> ElementMatchStatus { + func dLog(_ message: String) { if isDebugLoggingEnabled { currentDebugLogs.append(message) } } + + var tempLogs: [String] = [] // For calls to Element methods that need their own log scope temporarily + + let currentElementRoleForLog: String? = element.role(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) + let wantedRoleFromCriteria = locator.criteria[kAXRoleAttribute] + var roleMatchesCriteria = false + + if let currentRole = currentElementRoleForLog, let roleToMatch = wantedRoleFromCriteria, !roleToMatch.isEmpty, roleToMatch != "*" { + roleMatchesCriteria = (currentRole == roleToMatch) + } else { + roleMatchesCriteria = true // Wildcard/empty/nil role in criteria is a match + let wantedRoleStr = wantedRoleFromCriteria ?? "any" + let currentRoleStr = currentElementRoleForLog ?? "nil" + dLog("evaluateElementAgainstCriteria [D\(depth)]: Wildcard/empty/nil role in criteria ('\(wantedRoleStr)') considered a match for element role \(currentRoleStr).") + } + + if !roleMatchesCriteria { + dLog("evaluateElementAgainstCriteria [D\(depth)]: Role mismatch. Element role: \(currentElementRoleForLog ?? "nil"), Expected: \(wantedRoleFromCriteria ?? "any"). No match.") + return .noMatch + } + + // Role matches, now check other attributes + // attributesMatch will also need isDebugLoggingEnabled, currentDebugLogs + if !attributesMatch(element: element, matchDetails: locator.criteria, depth: depth, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) { + // attributesMatch itself will log the specific mismatch reason + dLog("evaluateElementAgainstCriteria [D\(depth)]: attributesMatch returned false. No match.") + return .noMatch + } + + // Role and attributes match. Now check for required action. + if let requiredAction = actionToVerify, !requiredAction.isEmpty { + if !element.isActionSupported(requiredAction, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) { + dLog("evaluateElementAgainstCriteria [D\(depth)]: Role & Attributes matched, but required action '\(requiredAction)' is MISSING.") + return .partialMatch_actionMissing + } + dLog("evaluateElementAgainstCriteria [D\(depth)]: Role, Attributes, and Required Action '\(requiredAction)' all MATCH.") + } else { + dLog("evaluateElementAgainstCriteria [D\(depth)]: Role & Attributes matched. No action to verify or action already included in locator.criteria for attributesMatch.") + } + + return .fullMatch +} + +@MainActor +public func search(element: Element, + locator: Locator, + requireAction: String?, + depth: Int = 0, + maxDepth: Int = DEFAULT_MAX_DEPTH_SEARCH, + isDebugLoggingEnabled: Bool, + currentDebugLogs: inout [String]) -> Element? { + func dLog(_ message: String) { if isDebugLoggingEnabled { currentDebugLogs.append(message) } } + var tempLogs: [String] = [] // For calls to Element methods + + let criteriaDesc = locator.criteria.map { "\($0.key)=\($0.value)" }.joined(separator: ", ") + let roleStr = element.role(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) ?? "nil" + let titleStr = element.title(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) ?? "N/A" + dLog("search [D\(depth)]: Visiting. Role: \(roleStr), Title: \(titleStr). Locator Criteria: [\(criteriaDesc)], Action: \(requireAction ?? "none")") + + if depth > maxDepth { + let briefDesc = element.briefDescription(option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) + dLog("search [D\(depth)]: Max depth \(maxDepth) reached for element \(briefDesc).") + return nil + } + + let matchStatus = evaluateElementAgainstCriteria(element: element, + locator: locator, + actionToVerify: requireAction, + depth: depth, + isDebugLoggingEnabled: isDebugLoggingEnabled, + currentDebugLogs: ¤tDebugLogs) // Pass through logs + + if matchStatus == .fullMatch { + let briefDesc = element.briefDescription(option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) + dLog("search [D\(depth)]: evaluateElementAgainstCriteria returned .fullMatch for \(briefDesc). Returning element.") + return element + } + + let briefDesc = element.briefDescription(option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) + if matchStatus == .partialMatch_actionMissing { + dLog("search [D\(depth)]: Element \(briefDesc) matched criteria but missed action '\(requireAction ?? "")'. Continuing child search.") + } + if matchStatus == .noMatch { + dLog("search [D\(depth)]: Element \(briefDesc) did not match criteria. Continuing child search.") + } + + let childrenToSearch: [Element] = element.children(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) ?? [] + + if !childrenToSearch.isEmpty { + for childElement in childrenToSearch { + if let found = search(element: childElement, locator: locator, requireAction: requireAction, depth: depth + 1, maxDepth: maxDepth, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) { + return found + } + } + } + return nil +} + +@MainActor +public func collectAll( + appElement: Element, + locator: Locator, + currentElement: Element, + depth: Int, + maxDepth: Int, + maxElements: Int, + currentPath: [Element], + elementsBeingProcessed: inout Set, + foundElements: inout [Element], + isDebugLoggingEnabled: Bool, + currentDebugLogs: inout [String] // Added logging parameter +) { + func dLog(_ message: String) { if isDebugLoggingEnabled { currentDebugLogs.append(message) } } + var tempLogs: [String] = [] // For calls to Element methods + + let briefDescCurrent = currentElement.briefDescription(option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) + + if elementsBeingProcessed.contains(currentElement) || currentPath.contains(currentElement) { + dLog("collectAll [D\(depth)]: Cycle detected or element \(briefDescCurrent) already processed/in path.") + return + } + elementsBeingProcessed.insert(currentElement) + + if foundElements.count >= maxElements { + dLog("collectAll [D\(depth)]: Max elements limit of \(maxElements) reached before processing \(briefDescCurrent).") + elementsBeingProcessed.remove(currentElement) + return + } + if depth > maxDepth { + dLog("collectAll [D\(depth)]: Max depth \(maxDepth) reached for \(briefDescCurrent).") + elementsBeingProcessed.remove(currentElement) + return + } + + let criteriaDesc = locator.criteria.map { "\($0.key)=\($0.value)" }.joined(separator: ", ") + dLog("collectAll [D\(depth)]: Visiting \(briefDescCurrent). Criteria: [\(criteriaDesc)], Action: \(locator.requireAction ?? "none")") + + let matchStatus = evaluateElementAgainstCriteria(element: currentElement, + locator: locator, + actionToVerify: locator.requireAction, + depth: depth, + isDebugLoggingEnabled: isDebugLoggingEnabled, + currentDebugLogs: ¤tDebugLogs) // Pass through logs + + if matchStatus == .fullMatch { + if foundElements.count < maxElements { + if !foundElements.contains(currentElement) { + foundElements.append(currentElement) + dLog("collectAll [D\(depth)]: Added \(briefDescCurrent). Hits: \(foundElements.count)/\(maxElements)") + } else { + dLog("collectAll [D\(depth)]: Element \(briefDescCurrent) was a full match but already in foundElements.") + } + } else { + dLog("collectAll [D\(depth)]: Element \(briefDescCurrent) was a full match but maxElements (\(maxElements)) already reached.") + } + } + + let childrenToExplore: [Element] = currentElement.children(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs) ?? [] + elementsBeingProcessed.remove(currentElement) + + let newPath = currentPath + [currentElement] + for child in childrenToExplore { + if foundElements.count >= maxElements { + dLog("collectAll [D\(depth)]: Max elements (\(maxElements)) reached during child traversal of \(briefDescCurrent). Stopping further exploration for this branch.") + break + } + collectAll( + appElement: appElement, + locator: locator, + currentElement: child, + depth: depth + 1, + maxDepth: maxDepth, + maxElements: maxElements, + currentPath: newPath, + elementsBeingProcessed: &elementsBeingProcessed, + foundElements: &foundElements, + isDebugLoggingEnabled: isDebugLoggingEnabled, + currentDebugLogs: ¤tDebugLogs // Pass through logs + ) + } +} \ No newline at end of file diff --git a/Sources/AXorcist/Search/PathUtils.swift b/Sources/AXorcist/Search/PathUtils.swift new file mode 100644 index 0000000..7404b52 --- /dev/null +++ b/Sources/AXorcist/Search/PathUtils.swift @@ -0,0 +1,81 @@ +// PathUtils.swift - Utilities for parsing paths and navigating element hierarchies. + +import Foundation +import ApplicationServices // For Element, AXUIElement and kAX...Attribute constants + +// Assumes Element is defined (likely via AXSwift an extension or typealias) +// debug() is assumed to be globally available from Logging.swift +// axValue() is assumed to be globally available from ValueHelpers.swift +// kAXWindowRole, kAXWindowsAttribute, kAXChildrenAttribute, kAXRoleAttribute from AccessibilityConstants.swift + +public func parsePathComponent(_ path: String) -> (role: String, index: Int)? { + let pattern = #"(\w+)\[(\d+)\]"# + guard let regex = try? NSRegularExpression(pattern: pattern) else { return nil } + let range = NSRange(path.startIndex.. Element? { + func dLog(_ message: String) { + if isDebugLoggingEnabled { + currentDebugLogs.append(message) + } + } + var currentElement = rootElement + for pathComponent in pathHint { + guard let (role, index) = parsePathComponent(pathComponent) else { + dLog("Failed to parse path component: \(pathComponent)") + return nil + } + + var tempBriefDescLogs: [String] = [] // Placeholder for briefDescription logs + + if role.lowercased() == "window" || role.lowercased() == kAXWindowRole.lowercased() { + guard let windowUIElements: [AXUIElement] = axValue(of: currentElement.underlyingElement, attr: kAXWindowsAttribute, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) else { + dLog("PathUtils: AXWindows attribute could not be fetched as [AXUIElement].") + return nil + } + dLog("PathUtils: Fetched \(windowUIElements.count) AXUIElements for AXWindows.") + + let windows: [Element] = windowUIElements.map { Element($0) } + dLog("PathUtils: Mapped to \(windows.count) Elements.") + + guard index < windows.count else { + dLog("PathUtils: Index \(index) is out of bounds for windows array (count: \(windows.count)). Component: \(pathComponent).") + return nil + } + currentElement = windows[index] + } else { + let currentElementDesc = currentElement.briefDescription(option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempBriefDescLogs) // Placeholder call + guard let allChildrenUIElements: [AXUIElement] = axValue(of: currentElement.underlyingElement, attr: kAXChildrenAttribute, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) else { + dLog("PathUtils: AXChildren attribute could not be fetched as [AXUIElement] for element \(currentElementDesc) while processing \(pathComponent).") + return nil + } + dLog("PathUtils: Fetched \(allChildrenUIElements.count) AXUIElements for AXChildren of \(currentElementDesc) for \(pathComponent).") + + let allChildren: [Element] = allChildrenUIElements.map { Element($0) } + dLog("PathUtils: Mapped to \(allChildren.count) Elements for children of \(currentElementDesc) for \(pathComponent).") + + guard !allChildren.isEmpty else { + dLog("No children found for element \(currentElementDesc) while processing component: \(pathComponent)") + return nil + } + + let matchingChildren = allChildren.filter { + guard let childRole: String = axValue(of: $0.underlyingElement, attr: kAXRoleAttribute, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) else { return false } + return childRole.lowercased() == role.lowercased() + } + + guard index < matchingChildren.count else { + dLog("Child not found for component: \(pathComponent) at index \(index). Role: \(role). For element \(currentElementDesc). Matching children count: \(matchingChildren.count)") + return nil + } + currentElement = matchingChildren[index] + } + } + return currentElement +} \ No newline at end of file diff --git a/Sources/AXorcist/Utils/CustomCharacterSet.swift b/Sources/AXorcist/Utils/CustomCharacterSet.swift new file mode 100644 index 0000000..a35b1bd --- /dev/null +++ b/Sources/AXorcist/Utils/CustomCharacterSet.swift @@ -0,0 +1,42 @@ +import Foundation + +// CustomCharacterSet struct from Scanner +public struct CustomCharacterSet { + private var characters: Set + public init(characters: Set) { + self.characters = characters + } + public init(charactersInString: String) { + self.characters = Set(charactersInString.map { $0 }) + } + public func contains(_ character: Character) -> Bool { + return self.characters.contains(character) + } + public mutating func add(_ characters: Set) { + self.characters.formUnion(characters) + } + public func adding(_ characters: Set) -> CustomCharacterSet { + return CustomCharacterSet(characters: self.characters.union(characters)) + } + public mutating func remove(_ characters: Set) { + self.characters.subtract(characters) + } + public func removing(_ characters: Set) -> CustomCharacterSet { + return CustomCharacterSet(characters: self.characters.subtracting(characters)) + } + + // Add some common character sets that might be useful, similar to Foundation.CharacterSet + public static var whitespacesAndNewlines: CustomCharacterSet { + return CustomCharacterSet(charactersInString: " \t\n\r") + } + public static var decimalDigits: CustomCharacterSet { + return CustomCharacterSet(charactersInString: "0123456789") + } + public static func punctuationAndSymbols() -> CustomCharacterSet { // Example + // This would need a more comprehensive list based on actual needs + return CustomCharacterSet(charactersInString: ".,:;?!()[]{}-_=+") // Simplified set + } + public static func characters(in string: String) -> CustomCharacterSet { + return CustomCharacterSet(charactersInString: string) + } +} \ No newline at end of file diff --git a/Sources/AXorcist/Utils/GeneralParsingUtils.swift b/Sources/AXorcist/Utils/GeneralParsingUtils.swift new file mode 100644 index 0000000..1e0216c --- /dev/null +++ b/Sources/AXorcist/Utils/GeneralParsingUtils.swift @@ -0,0 +1,84 @@ +// GeneralParsingUtils.swift - General parsing utilities + +import Foundation + +// TODO: Consider if this should be public or internal depending on usage across modules if this were a larger project. +// For AXHelper, internal or public within the module is fine. + +/// Decodes a string representation of an array into an array of strings. +/// The input string can be JSON-style (e.g., "["item1", "item2"]") +/// or a simple comma-separated list (e.g., "item1, item2", with or without brackets). +public func decodeExpectedArray(fromString: String, isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> [String]? { + // This function itself does not log, but takes the parameters as it's called by functions that do. + // func dLog(_ message: String) { if isDebugLoggingEnabled { currentDebugLogs.append(message) } } + + let trimmedString = fromString.trimmingCharacters(in: .whitespacesAndNewlines) + + // Try JSON deserialization first for robustness with escaped characters, etc. + if trimmedString.hasPrefix("[") && trimmedString.hasSuffix("]") { + if let jsonData = trimmedString.data(using: .utf8) { + do { + // Attempt to decode as [String] + if let array = try JSONSerialization.jsonObject(with: jsonData, options: []) as? [String] { + return array + } + // Fallback: if it decodes as [Any], convert elements to String + else if let anyArray = try JSONSerialization.jsonObject(with: jsonData, options: []) as? [Any] { + return anyArray.compactMap { item -> String? in + if let strItem = item as? String { + return strItem + } else { + // For non-string items, convert to string representation + // This handles numbers, booleans if they were in the JSON array + return String(describing: item) + } + } + } + } catch { + // dLog("JSON decoding failed for string: \(trimmedString). Error: \(error.localizedDescription)") + } + } + } + + // Fallback to comma-separated parsing if JSON fails or string isn't JSON-like + // Remove brackets first if they exist for comma parsing + var stringToSplit = trimmedString + if stringToSplit.hasPrefix("[") && stringToSplit.hasSuffix("]") { + stringToSplit = String(stringToSplit.dropFirst().dropLast()) + } + + // If the string (after removing brackets) is empty, it represents an empty array. + if stringToSplit.isEmpty && trimmedString.hasPrefix("[") && trimmedString.hasSuffix("]") { + return [] + } + // If the original string was just "[]" or "", and after stripping it's empty, it's an empty array. + // If it was empty to begin with, or just spaces, it's not a valid array string by this func's def. + if stringToSplit.isEmpty && !trimmedString.isEmpty && !(trimmedString.hasPrefix("[") && trimmedString.hasSuffix("]")) { + // e.g. input was " " which became "", not a valid array representation + // or input was "item" which is not an array string + // However, if original was "[]", stringToSplit is empty, should return [] + // If original was "", stringToSplit is empty, should return nil (or based on stricter needs) + // This function is lenient: if after stripping brackets it's empty, it's an empty array. + // If the original was non-empty but not bracketed, and became empty after trimming, it's not an array. + } + + // Handle case where stringToSplit might be empty, meaning an empty array if brackets were present. + if stringToSplit.isEmpty { + // If original string was "[]", then stringToSplit is empty, return [] + // If original was "", then stringToSplit is empty, return nil (not an array format) + return (trimmedString.hasPrefix("[") && trimmedString.hasSuffix("]")) ? [] : nil + } + + return stringToSplit.components(separatedBy: ",") + .map { $0.trimmingCharacters(in: .whitespacesAndNewlines) } + // Do not filter out empty strings if they are explicitly part of the list e.g. "a,,b" + // The original did .filter { !$0.isEmpty }, which might be too aggressive. + // For now, let's keep all components and let caller decide if empty strings are valid. + // Re-evaluating: if a component is empty after trimming, it usually means an empty element. + // Example: "[a, ,b]" -> ["a", "", "b"]. Example "a," -> ["a", ""]. + // The original .filter { !$0.isEmpty } would turn "a,," into ["a"] + // Let's retain the original filtering of completely empty strings after trim, + // as "[a,,b]" usually implies "[a,b]" in lenient contexts. + // If explicit empty strings like `["a", "", "b"]` are needed, JSON is better. + .filter { !$0.isEmpty } +} \ No newline at end of file diff --git a/Sources/AXorcist/Utils/Scanner.swift b/Sources/AXorcist/Utils/Scanner.swift new file mode 100644 index 0000000..6c14076 --- /dev/null +++ b/Sources/AXorcist/Utils/Scanner.swift @@ -0,0 +1,323 @@ +// Scanner.swift - Custom scanner implementation (Scanner) + +import Foundation + +// String extension MOVED to String+HelperExtensions.swift +// CustomCharacterSet struct MOVED to CustomCharacterSet.swift + +// Scanner class from Scanner +class Scanner { + + // MARK: - Properties and Initialization + let string: String + var location: Int = 0 + init(string: String) { + self.string = string + } + var isAtEnd: Bool { + return self.location >= self.string.count + } + + // MARK: - Character Set Scanning + // A more conventional scanUpTo (scans until a character in the set is found) + @discardableResult func scanUpToCharacters(in charSet: CustomCharacterSet) -> String? { + let initialLocation = self.location + var scannedCharacters = String() + + while self.location < self.string.count { + let currentChar = self.string[self.location] + if charSet.contains(currentChar) { break } + scannedCharacters.append(currentChar) + self.location += 1 + } + + return scannedCharacters.isEmpty && self.location == initialLocation ? nil : scannedCharacters + } + + // Scans characters that ARE in the provided set (like original Scanner's scanUpTo/scan(characterSet:)) + @discardableResult func scanCharacters(in charSet: CustomCharacterSet) -> String? { + let initialLocation = self.location + var characters = String() + + while self.location < self.string.count, charSet.contains(self.string[self.location]) { + characters.append(self.string[self.location]) + self.location += 1 + } + + if characters.isEmpty { + self.location = initialLocation // Revert if nothing was scanned + return nil + } + return characters + } + + @discardableResult func scan(characterSet: CustomCharacterSet) -> Character? { + guard self.location < self.string.count else { return nil } + let character = self.string[self.location] + guard characterSet.contains(character) else { return nil } + self.location += 1 + return character + } + + @discardableResult func scan(characterSet: CustomCharacterSet) -> String? { + var characters = String() + while let character: Character = self.scan(characterSet: characterSet) { + characters.append(character) + } + return characters.isEmpty ? nil : characters + } + + // MARK: - Specific Character and String Scanning + @discardableResult func scan(character: Character, options: NSString.CompareOptions = []) -> Character? { + guard self.location < self.string.count else { return nil } + let characterString = String(character) + if characterString.compare(String(self.string[self.location]), options: options, range: nil, locale: nil) == .orderedSame { + self.location += 1 + return character + } + return nil + } + + @discardableResult func scan(string: String, options: NSString.CompareOptions = []) -> String? { + let savepoint = self.location + var characters = String() + + for character in string { + if let charScanned = self.scan(character: character, options: options) { + characters.append(charScanned) + } else { + self.location = savepoint // Revert on failure + return nil + } + } + + // If we scanned the whole string, it's a match. + return characters.count == string.count ? characters : { self.location = savepoint; return nil }() + } + + func scan(token: String, options: NSString.CompareOptions = []) -> String? { + self.scanWhitespaces() + return self.scan(string: token, options: options) + } + + func scan(strings: [String], options: NSString.CompareOptions = []) -> String? { + for stringEntry in strings { + if let scannedString = self.scan(string: stringEntry, options: options) { + return scannedString + } + } + return nil + } + + func scan(tokens: [String], options: NSString.CompareOptions = []) -> String? { + self.scanWhitespaces() + return self.scan(strings: tokens, options: options) + } + + // MARK: - Integer Scanning + func scanSign() -> Int? { + return self.scan(dictionary: ["+": 1, "-": -1]) + } + + // Private helper that scans and returns a string of digits + private func scanDigits() -> String? { + return self.scanCharacters(in: .decimalDigits) + } + + // Calculate integer value from digit string with given base + private func integerValue(from digitString: String, base: T = 10) -> T { + return digitString.reduce(T(0)) { result, char in + result * base + T(Int(String(char))!) + } + } + + func scanUnsignedInteger() -> T? { + self.scanWhitespaces() + guard let digitString = self.scanDigits() else { return nil } + return integerValue(from: digitString) + } + + func scanInteger() -> T? { + let savepoint = self.location + self.scanWhitespaces() + + // Parse sign if present + let sign = self.scanSign() ?? 1 + + // Parse digits + guard let digitString = self.scanDigits() else { + // If we found a sign but no digits, revert and return nil + if sign != 1 { + self.location = savepoint + } + return nil + } + + // Calculate final value with sign applied + return T(sign) * integerValue(from: digitString) + } + + // MARK: - Floating Point Scanning + // Attempt to parse Double with a compact implementation + func scanDouble() -> Double? { + scanWhitespaces() + let initialLocation = self.location + + // Parse sign + let sign: Double = (scan(character: "-") != nil) ? -1.0 : { _ = scan(character: "+"); return 1.0 }() + + // Buffer to build the numeric string + var numberStr = "" + var hasDigits = false + + // Parse integer part + if let digits = scanCharacters(in: .decimalDigits) { + numberStr += digits + hasDigits = true + } + + // Parse fractional part + let dotLocation = location + if scan(character: ".") != nil { + if let fractionDigits = scanCharacters(in: .decimalDigits) { + numberStr += "." + numberStr += fractionDigits + hasDigits = true + } else { + // Revert dot scan if not followed by digits + location = dotLocation + } + } + + // If no digits found in either integer or fractional part, revert and return nil + if !hasDigits { + location = initialLocation + return nil + } + + // Parse exponent + var exponent = 0 + let expLocation = location + if scan(character: "e", options: .caseInsensitive) != nil { + let expSign: Double = (scan(character: "-") != nil) ? -1.0 : { _ = scan(character: "+"); return 1.0 }() + + if let expDigits = scanCharacters(in: .decimalDigits), let expValue = Int(expDigits) { + exponent = Int(expSign) * expValue + } else { + // Revert exponent scan if not followed by valid digits + location = expLocation + } + } + + // Convert to final double value + if var value = Double(numberStr) { + value *= sign + if exponent != 0 { + value *= pow(10.0, Double(exponent)) + } + return value + } + + // If conversion fails, revert everything + location = initialLocation + return nil + } + + // Mapping hex characters to their integer values + private static let hexValues: [Character: Int] = [ + "0": 0, "1": 1, "2": 2, "3": 3, "4": 4, "5": 5, "6": 6, "7": 7, "8": 8, "9": 9, + "a": 10, "b": 11, "c": 12, "d": 13, "e": 14, "f": 15, + "A": 10, "B": 11, "C": 12, "D": 13, "E": 14, "F": 15 + ] + + func scanHexadecimalInteger() -> T? { + let initialLoc = location + let hexCharSet = CustomCharacterSet(charactersInString: Self.characterSets.hexDigits) + + var value: T = 0 + var digitCount = 0 + + while let char: Character = scan(characterSet: hexCharSet), + let digit = Self.hexValues[char] { + value = value * 16 + T(digit) + digitCount += 1 + } + + if digitCount == 0 { + location = initialLoc // Revert if nothing was scanned + return nil + } + + return value + } + + // Helper function for power calculation with FloatingPoint types + private func scannerPower(base: T, exponent: Int) -> T { + if exponent == 0 { return T(1) } + if exponent < 0 { return T(1) / scannerPower(base: base, exponent: -exponent) } + var result = T(1) + for _ in 0.. String? { + scanWhitespaces() + let savepoint = location + + // Scan first character (must be letter or underscore) + guard let firstChar: Character = scan(characterSet: Self.identifierFirstCharSet) else { + location = savepoint + return nil + } + + // Begin with the first character + var identifier = String(firstChar) + + // Scan remaining characters (can include digits) + while let nextChar: Character = scan(characterSet: Self.identifierFollowingCharSet) { + identifier.append(nextChar) + } + + return identifier + } + // MARK: - Whitespace Scanning + func scanWhitespaces() { + _ = self.scanCharacters(in: .whitespacesAndNewlines) + } + // MARK: - Dictionary-based Scanning + func scan(dictionary: [String: T], options: NSString.CompareOptions = []) -> T? { + for (key, value) in dictionary { + if self.scan(string: key, options: options) != nil { + // Original Scanner asserts string == key, which is true if scan(string:) returns non-nil. + return value + } + } + return nil + } + + // Helper to get the remaining string + var remainingString: String { + if isAtEnd { return "" } + let startIndex = string.index(string.startIndex, offsetBy: location) + return String(string[startIndex...]) + } +} \ No newline at end of file diff --git a/Sources/AXorcist/Utils/String+HelperExtensions.swift b/Sources/AXorcist/Utils/String+HelperExtensions.swift new file mode 100644 index 0000000..3058c7f --- /dev/null +++ b/Sources/AXorcist/Utils/String+HelperExtensions.swift @@ -0,0 +1,31 @@ +import Foundation + +// String extension from Scanner +extension String { + subscript (i: Int) -> Character { + return self[index(startIndex, offsetBy: i)] + } + func range(from range: NSRange) -> Range? { + return Range(range, in: self) + } + func range(from range: Range) -> NSRange { + return NSRange(range, in: self) + } + var firstLine: String? { + var line: String? + self.enumerateLines { + line = $0 + $1 = true + } + return line + } +} + +extension Optional { + var orNilString: String { + switch self { + case .some(let value): return "\(value)" + case .none: return "nil" + } + } +} \ No newline at end of file diff --git a/Sources/AXorcist/Utils/TextExtraction.swift b/Sources/AXorcist/Utils/TextExtraction.swift new file mode 100644 index 0000000..8173cb5 --- /dev/null +++ b/Sources/AXorcist/Utils/TextExtraction.swift @@ -0,0 +1,42 @@ +// TextExtraction.swift - Utilities for extracting textual content from Elements. + +import Foundation +import ApplicationServices // For Element and kAX...Attribute constants + +// Assumes Element is defined and has an `attribute(String) -> String?` method. +// Constants like kAXValueAttribute are expected to be available (e.g., from AccessibilityConstants.swift) +// axValue() is assumed to be globally available from ValueHelpers.swift + +@MainActor +public func extractTextContent(element: Element, isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> String { + func dLog(_ message: String) { if isDebugLoggingEnabled { currentDebugLogs.append(message) } } + dLog("Extracting text content for element: \(element.briefDescription(option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs))") + var texts: [String] = [] + let textualAttributes = [ + kAXValueAttribute, kAXTitleAttribute, kAXDescriptionAttribute, kAXHelpAttribute, + kAXPlaceholderValueAttribute, kAXLabelValueAttribute, kAXRoleDescriptionAttribute, + // Consider adding kAXStringForRangeParameterizedAttribute if dealing with large text views for performance + // kAXSelectedTextAttribute could also be relevant depending on use case + ] + for attrName in textualAttributes { + var tempLogs: [String] = [] // For the axValue call + // Pass the received logging parameters to axValue + if let strValue: String = axValue(of: element.underlyingElement, attr: attrName, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: &tempLogs), !strValue.isEmpty, strValue.lowercased() != kAXNotAvailableString.lowercased() { + texts.append(strValue) + currentDebugLogs.append(contentsOf: tempLogs) // Collect logs from axValue + } else { + currentDebugLogs.append(contentsOf: tempLogs) // Still collect logs if value was nil/empty + } + } + + // Deduplicate while preserving order + var uniqueTexts: [String] = [] + var seenTexts = Set() + for text in texts { + if !seenTexts.contains(text) { + uniqueTexts.append(text) + seenTexts.insert(text) + } + } + return uniqueTexts.joined(separator: "\n") +} \ No newline at end of file diff --git a/Sources/AXorcist/Values/Scannable.swift b/Sources/AXorcist/Values/Scannable.swift new file mode 100644 index 0000000..c0fe687 --- /dev/null +++ b/Sources/AXorcist/Values/Scannable.swift @@ -0,0 +1,44 @@ +import Foundation + +// MARK: - Scannable Protocol +protocol Scannable { + init?(_ scanner: Scanner) +} + +// MARK: - Scannable Conformance +extension Int: Scannable { + init?(_ scanner: Scanner) { + if let value: Int = scanner.scanInteger() { self = value } + else { return nil } + } +} + +extension UInt: Scannable { + init?(_ scanner: Scanner) { + if let value: UInt = scanner.scanUnsignedInteger() { self = value } + else { return nil } + } +} + +extension Float: Scannable { + init?(_ scanner: Scanner) { + // Using the custom scanDouble and casting + if let value = scanner.scanDouble() { self = Float(value) } + else { return nil } + } +} + +extension Double: Scannable { + init?(_ scanner: Scanner) { + if let value = scanner.scanDouble() { self = value } + else { return nil } + } +} + +extension Bool: Scannable { + init?(_ scanner: Scanner) { + scanner.scanWhitespaces() + if let value: Bool = scanner.scan(dictionary: ["true": true, "false": false], options: [.caseInsensitive]) { self = value } + else { return nil } + } +} \ No newline at end of file diff --git a/Sources/AXorcist/Values/ValueFormatter.swift b/Sources/AXorcist/Values/ValueFormatter.swift new file mode 100644 index 0000000..074f8ee --- /dev/null +++ b/Sources/AXorcist/Values/ValueFormatter.swift @@ -0,0 +1,174 @@ +// ValueFormatter.swift - Utilities for formatting AX values into human-readable strings + +import Foundation +import ApplicationServices +import CoreGraphics // For CGPoint, CGSize, CGRect, CFRange + +// debug() is assumed to be globally available from Logging.swift +// stringFromAXValueType() is assumed to be available from ValueHelpers.swift +// axErrorToString() is assumed to be available from AccessibilityConstants.swift + +@MainActor +public enum ValueFormatOption { + case `default` // Concise, suitable for lists or brief views + case verbose // More detailed, suitable for focused inspection +} + +@MainActor +public func formatAXValue(_ axValue: AXValue, option: ValueFormatOption = .default) -> String { + let type = AXValueGetType(axValue) + var result = "AXValue (\(stringFromAXValueType(type)))" + + switch type { + case .cgPoint: + var point = CGPoint.zero + if AXValueGetValue(axValue, .cgPoint, &point) { + result = "x=\(point.x) y=\(point.y)" + if option == .verbose { result = "" } + } + case .cgSize: + var size = CGSize.zero + if AXValueGetValue(axValue, .cgSize, &size) { + result = "w=\(size.width) h=\(size.height)" + if option == .verbose { result = "" } + } + case .cgRect: + var rect = CGRect.zero + if AXValueGetValue(axValue, .cgRect, &rect) { + result = "x=\(rect.origin.x) y=\(rect.origin.y) w=\(rect.size.width) h=\(rect.size.height)" + if option == .verbose { result = "" } + } + case .cfRange: + var range = CFRange() + if AXValueGetValue(axValue, .cfRange, &range) { + result = "pos=\(range.location) len=\(range.length)" + if option == .verbose { result = "" } + } + case .axError: + var error = AXError.success + if AXValueGetValue(axValue, .axError, &error) { + result = axErrorToString(error) + if option == .verbose { result = "" } + } + case .illegal: + result = "Illegal AXValue" + default: + // For boolean type (rawValue 4) + if type.rawValue == 4 { + var boolResult: DarwinBoolean = false + if AXValueGetValue(axValue, type, &boolResult) { + result = boolResult.boolValue ? "true" : "false" + if option == .verbose { result = ""} + } + } + // Other types: return generic description. + // Consider if other specific AXValueTypes need custom formatting. + break + } + return result +} + +// Helper to escape strings for display (e.g. in logs or formatted output that isn't strict JSON) +private func escapeStringForDisplay(_ input: String) -> String { + var escaped = input + // More comprehensive escaping might be needed depending on the exact output context + // For now, handle common cases for human-readable display. + escaped = escaped.replacingOccurrences(of: "\\", with: "\\\\") // Escape backslashes first + escaped = escaped.replacingOccurrences(of: "\"", with: "\\\"") // Escape double quotes + escaped = escaped.replacingOccurrences(of: "\n", with: "\\n") // Escape newlines + escaped = escaped.replacingOccurrences(of: "\t", with: "\\t") // Escape tabs + escaped = escaped.replacingOccurrences(of: "\r", with: "\\r") // Escape carriage returns + return escaped +} + +@MainActor +// Update signature to accept logging parameters +public func formatCFTypeRef(_ cfValue: CFTypeRef?, option: ValueFormatOption = .default, isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> String { + guard let value = cfValue else { return "" } + let typeID = CFGetTypeID(value) + // var tempLogs: [String] = [] // Removed as it was unused + + switch typeID { + case AXUIElementGetTypeID(): + let element = Element(value as! AXUIElement) + // Pass the received logging parameters to briefDescription + return element.briefDescription(option: option, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) + case AXValueGetTypeID(): + return formatAXValue(value as! AXValue, option: option) + case CFStringGetTypeID(): + return "\"\(escapeStringForDisplay(value as! String))\"" // Used helper + case CFAttributedStringGetTypeID(): + return "\"\(escapeStringForDisplay((value as! NSAttributedString).string ))\"" // Used helper + case CFBooleanGetTypeID(): + return CFBooleanGetValue((value as! CFBoolean)) ? "true" : "false" + case CFNumberGetTypeID(): + return (value as! NSNumber).stringValue + case CFArrayGetTypeID(): + let cfArray = value as! CFArray + let count = CFArrayGetCount(cfArray) + if option == .verbose || count <= 5 { // Show contents for small arrays or if verbose + var swiftArray: [String] = [] + for i in 0..") + continue + } + // Pass logging parameters to recursive call + swiftArray.append(formatCFTypeRef(Unmanaged.fromOpaque(elementPtr).takeUnretainedValue(), option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs)) + } + return "[\(swiftArray.joined(separator: ","))]" + } else { + return "" + } + case CFDictionaryGetTypeID(): + let cfDict = value as! CFDictionary + let count = CFDictionaryGetCount(cfDict) + if option == .verbose || count <= 3 { // Show contents for small dicts or if verbose + var swiftDict: [String: String] = [:] + if let nsDict = cfDict as? [String: AnyObject] { + for (key, val) in nsDict { + // Pass logging parameters to recursive call + swiftDict[key] = formatCFTypeRef(val, option: .default, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) + } + // Sort by key for consistent output + let sortedItems = swiftDict.sorted { $0.key < $1.key } + .map { "\"\(escapeStringForDisplay($0.key))\": \($0.value)" } // Used helper for key, value is already formatted + return "{\(sortedItems.joined(separator: ","))}" + } else { + return "" + } + } else { + return "" + } + case CFURLGetTypeID(): + return (value as! URL).absoluteString + default: + let typeDescription = CFCopyTypeIDDescription(typeID) as String? ?? "Unknown CFType" + return "" + } +} + +// Add a helper to Element for a brief description +extension Element { + @MainActor + // Now a method to accept logging parameters + public func briefDescription(option: ValueFormatOption = .default, isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> String { + // Call the new method versions of title, identifier, value, description, role + if let titleStr = self.title(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs), !titleStr.isEmpty { + let roleStr = self.role(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) ?? "UnknownRole" + return "<\(roleStr): \"\(escapeStringForDisplay(titleStr))\">" + } + else if let identifierStr = self.identifier(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs), !identifierStr.isEmpty { + let roleStr = self.role(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) ?? "UnknownRole" + return "<\(roleStr) id: \"\(escapeStringForDisplay(identifierStr))\">" + } else if let valueAny = self.value(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs), let valueStr = valueAny as? String, !valueStr.isEmpty, valueStr.count < 50 { + let roleStr = self.role(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) ?? "UnknownRole" + return "<\(roleStr) val: \"\(escapeStringForDisplay(valueStr))\">" + } else if let descStr = self.description(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs), !descStr.isEmpty, descStr.count < 50 { + let roleStr = self.role(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) ?? "UnknownRole" + return "<\(roleStr) desc: \"\(escapeStringForDisplay(descStr))\">" + } + let roleStr = self.role(isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) ?? "UnknownRole" + return "<\(roleStr)>" + } +} \ No newline at end of file diff --git a/Sources/AXorcist/Values/ValueHelpers.swift b/Sources/AXorcist/Values/ValueHelpers.swift new file mode 100644 index 0000000..fd99440 --- /dev/null +++ b/Sources/AXorcist/Values/ValueHelpers.swift @@ -0,0 +1,165 @@ +import Foundation +import ApplicationServices +import CoreGraphics // For CGPoint, CGSize etc. + +// debug() is assumed to be globally available from Logging.swift +// Constants like kAXPositionAttribute are assumed to be globally available from AccessibilityConstants.swift + +// ValueUnwrapper has been moved to its own file: ValueUnwrapper.swift + +// MARK: - Attribute Value Accessors + +@MainActor +public func copyAttributeValue(element: AXUIElement, attribute: String) -> CFTypeRef? { + var value: CFTypeRef? + // This function is low-level, avoid extensive logging here unless specifically for this function. + // Logging for attribute success/failure is better handled by the caller (axValue). + guard AXUIElementCopyAttributeValue(element, attribute as CFString, &value) == .success else { + return nil + } + return value +} + +@MainActor +public func axValue(of element: AXUIElement, attr: String, isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> T? { + func dLog(_ message: String) { + if isDebugLoggingEnabled { + currentDebugLogs.append(message) + } + } + + // copyAttributeValue doesn't log, so no need to pass log params to it. + let rawCFValue = copyAttributeValue(element: element, attribute: attr) + + // ValueUnwrapper.unwrap also needs to be audited for logging. For now, assume it doesn't log or its logs are separate. + let unwrappedValue = ValueUnwrapper.unwrap(rawCFValue, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) + + guard let value = unwrappedValue else { + // It's common for attributes to be missing or have no value. + // Only log if in debug mode and something was expected but not found, + // or if rawCFValue was non-nil but unwrapped to nil (which ValueUnwrapper might handle). + // For now, let's not log here, as Element.swift's rawAttributeValue also has checks. + return nil + } + + if T.self == String.self { + if let str = value as? String { return str as? T } + else if let attrStr = value as? NSAttributedString { return attrStr.string as? T } + dLog("axValue: Expected String for attribute '\(attr)', but got \(type(of: value)): \(value)") + return nil + } + + if T.self == Bool.self { + if let boolVal = value as? Bool { return boolVal as? T } + else if let numVal = value as? NSNumber { return numVal.boolValue as? T } + dLog("axValue: Expected Bool for attribute '\(attr)', but got \(type(of: value)): \(value)") + return nil + } + + if T.self == Int.self { + if let intVal = value as? Int { return intVal as? T } + else if let numVal = value as? NSNumber { return numVal.intValue as? T } + dLog("axValue: Expected Int for attribute '\(attr)', but got \(type(of: value)): \(value)") + return nil + } + + if T.self == Double.self { + if let doubleVal = value as? Double { return doubleVal as? T } + else if let numVal = value as? NSNumber { return numVal.doubleValue as? T } + dLog("axValue: Expected Double for attribute '\(attr)', but got \(type(of: value)): \(value)") + return nil + } + + if T.self == [AXUIElement].self { + if let anyArray = value as? [Any?] { + let result = anyArray.compactMap { item -> AXUIElement? in + guard let cfItem = item else { return nil } + // Ensure correct comparison for CFTypeRef type ID + if CFGetTypeID(cfItem as CFTypeRef) == AXUIElementGetTypeID() { // Directly use AXUIElementGetTypeID() + return (cfItem as! AXUIElement) + } + return nil + } + return result as? T + } + dLog("axValue: Expected [AXUIElement] for attribute '\(attr)', but got \(type(of: value)): \(value)") + return nil + } + + if T.self == [Element].self { // Assuming Element is a struct wrapping AXUIElement + if let anyArray = value as? [Any?] { + let result = anyArray.compactMap { item -> Element? in + guard let cfItem = item else { return nil } + if CFGetTypeID(cfItem as CFTypeRef) == AXUIElementGetTypeID() { // Check underlying type + return Element(cfItem as! AXUIElement) + } + return nil + } + return result as? T + } + dLog("axValue: Expected [Element] for attribute '\(attr)', but got \(type(of: value)): \(value)") + return nil + } + + if T.self == [String].self { + if let stringArray = value as? [Any?] { + let result = stringArray.compactMap { $0 as? String } + // Ensure all elements were successfully cast, otherwise it's not a homogenous [String] array + if result.count == stringArray.count { return result as? T } + } + dLog("axValue: Expected [String] for attribute '\(attr)', but got \(type(of: value)): \(value)") + return nil + } + + // CGPoint and CGSize are expected to be directly unwrapped by ValueUnwrapper to these types. + if T.self == CGPoint.self { + if let pointVal = value as? CGPoint { return pointVal as? T } + dLog("axValue: Expected CGPoint for attribute '\(attr)', but got \(type(of: value)): \(value)") + return nil + } + + if T.self == CGSize.self { + if let sizeVal = value as? CGSize { return sizeVal as? T } + dLog("axValue: Expected CGSize for attribute '\(attr)', but got \(type(of: value)): \(value)") + return nil + } + + if T.self == AXUIElement.self { + if let cfValue = value as CFTypeRef?, CFGetTypeID(cfValue) == AXUIElementGetTypeID() { + return (cfValue as! AXUIElement) as? T + } + let typeDescription = String(describing: type(of: value)) + let valueDescription = String(describing: value) + dLog("axValue: Expected AXUIElement for attribute '\(attr)', but got \(typeDescription): \(valueDescription)") + return nil + } + + if let castedValue = value as? T { + return castedValue + } + + dLog("axValue: Fallback cast attempt for attribute '\(attr)' to type \(T.self) FAILED. Unwrapped value was \(type(of: value)): \(value)") + return nil +} + +// MARK: - AXValueType String Helper + +public func stringFromAXValueType(_ type: AXValueType) -> String { + switch type { + case .cgPoint: return "CGPoint (kAXValueCGPointType)" + case .cgSize: return "CGSize (kAXValueCGSizeType)" + case .cgRect: return "CGRect (kAXValueCGRectType)" + case .cfRange: return "CFRange (kAXValueCFRangeType)" + case .axError: return "AXError (kAXValueAXErrorType)" + case .illegal: return "Illegal (kAXValueIllegalType)" + default: + // AXValueType is not exhaustive in Swift's AXValueType enum from ApplicationServices. + // Common missing ones include Boolean (4), Number (5), Array (6), Dictionary (7), String (8), URL (9), etc. + // We rely on ValueUnwrapper to handle these based on CFGetTypeID. + // This function is mostly for AXValue encoded types. + if type.rawValue == 4 { // kAXValueBooleanType is often 4 but not in the public enum + return "Boolean (rawValue 4, contextually kAXValueBooleanType)" + } + return "Unknown AXValueType (rawValue: \(type.rawValue))" + } +} \ No newline at end of file diff --git a/Sources/AXorcist/Values/ValueParser.swift b/Sources/AXorcist/Values/ValueParser.swift new file mode 100644 index 0000000..a9af87e --- /dev/null +++ b/Sources/AXorcist/Values/ValueParser.swift @@ -0,0 +1,236 @@ +// AXValueParser.swift - Utilities for parsing string inputs into AX-compatible values + +import Foundation +import ApplicationServices +import CoreGraphics // For CGPoint, CGSize, CGRect, CFRange + +// debug() is assumed to be globally available from Logging.swift +// Constants are assumed to be globally available from AccessibilityConstants.swift +// Scanner and CustomCharacterSet are from Scanner.swift +// AccessibilityError is from AccessibilityError.swift + +// Inspired by UIElementInspector's UIElementUtilities.m + +// AXValueParseError enum has been removed and its cases merged into AccessibilityError. + +@MainActor +public func getCFTypeIDForAttribute(element: Element, attributeName: String, isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> CFTypeID? { + func dLog(_ message: String) { if isDebugLoggingEnabled { currentDebugLogs.append(message) } } + guard let rawValue = element.rawAttributeValue(named: attributeName, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) else { + dLog("getCFTypeIDForAttribute: Failed to get raw attribute value for '\(attributeName)'") + return nil + } + return CFGetTypeID(rawValue) +} + +@MainActor +public func getAXValueTypeForAttribute(element: Element, attributeName: String, isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> AXValueType? { + func dLog(_ message: String) { if isDebugLoggingEnabled { currentDebugLogs.append(message) } } + guard let rawValue = element.rawAttributeValue(named: attributeName, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) else { + dLog("getAXValueTypeForAttribute: Failed to get raw attribute value for '\(attributeName)'") + return nil + } + + guard CFGetTypeID(rawValue) == AXValueGetTypeID() else { + dLog("getAXValueTypeForAttribute: Attribute '\(attributeName)' is not an AXValue. TypeID: \(CFGetTypeID(rawValue))") + return nil + } + + let axValue = rawValue as! AXValue + return AXValueGetType(axValue) +} + + +// Main function to create CFTypeRef for setting an attribute +// It determines the type of the attribute and then calls the appropriate parser. +@MainActor +public func createCFTypeRefFromString(stringValue: String, forElement element: Element, attributeName: String, isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) throws -> CFTypeRef? { + func dLog(_ message: String) { if isDebugLoggingEnabled { currentDebugLogs.append(message) } } + + guard let currentRawValue = element.rawAttributeValue(named: attributeName, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) else { + throw AccessibilityError.attributeNotReadable("Could not read current value for attribute '\(attributeName)' to determine type.") + } + + let typeID = CFGetTypeID(currentRawValue) + + if typeID == AXValueGetTypeID() { + let axValue = currentRawValue as! AXValue + let axValueType = AXValueGetType(axValue) + dLog("Attribute '\(attributeName)' is AXValue of type: \(stringFromAXValueType(axValueType))") + return try parseStringToAXValue(stringValue: stringValue, targetAXValueType: axValueType, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) + } else if typeID == CFStringGetTypeID() { + dLog("Attribute '\(attributeName)' is CFString. Returning stringValue as CFString.") + return stringValue as CFString + } else if typeID == CFNumberGetTypeID() { + dLog("Attribute '\(attributeName)' is CFNumber. Attempting to parse stringValue as Double then create CFNumber.") + if let doubleValue = Double(stringValue) { + return NSNumber(value: doubleValue) // CFNumber is toll-free bridged to NSNumber + } else if let intValue = Int(stringValue) { + return NSNumber(value: intValue) + } else { + throw AccessibilityError.valueParsingFailed(details: "Could not parse '\(stringValue)' as Double or Int for CFNumber attribute '\(attributeName)'") + } + } else if typeID == CFBooleanGetTypeID() { + dLog("Attribute '\(attributeName)' is CFBoolean. Attempting to parse stringValue as Bool.") + if stringValue.lowercased() == "true" { + return kCFBooleanTrue + } else if stringValue.lowercased() == "false" { + return kCFBooleanFalse + } else { + throw AccessibilityError.valueParsingFailed(details: "Could not parse '\(stringValue)' as Bool (true/false) for CFBoolean attribute '\(attributeName)'") + } + } + // TODO: Handle other CFTypeIDs like CFArray, CFDictionary if necessary for set-value. + // For now, focus on types directly convertible from string or AXValue structs. + + let typeDescription = CFCopyTypeIDDescription(typeID) as String? ?? "Unknown CFType" + throw AccessibilityError.attributeUnsupported("Setting attribute '\(attributeName)' of CFTypeID \(typeID) (\(typeDescription)) from string is not supported yet.") +} + + +// Parses a string into an AXValue for struct types like CGPoint, CGSize, CGRect, CFRange +@MainActor +private func parseStringToAXValue(stringValue: String, targetAXValueType: AXValueType, isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) throws -> AXValue? { + func dLog(_ message: String) { if isDebugLoggingEnabled { currentDebugLogs.append(message) } } + var valueRef: AXValue? + + switch targetAXValueType { + case .cgPoint: + var x: Double = 0, y: Double = 0 + let components = stringValue.replacingOccurrences(of: " ", with: "").split(separator: ",") + if components.count == 2, + let xValStr = components[0].split(separator: "=").last, let xVal = Double(xValStr), + let yValStr = components[1].split(separator: "=").last, let yVal = Double(yValStr) { + x = xVal; y = yVal + } else if components.count == 2, let xVal = Double(components[0]), let yVal = Double(components[1]) { + x = xVal; y = yVal + } else { + let scanner = Scanner(string: stringValue) + _ = scanner.scanCharacters(in: CustomCharacterSet(charactersInString: "xy:, \t\n")) + let xScanned = scanner.scanDouble() + _ = scanner.scanCharacters(in: CustomCharacterSet(charactersInString: "xy:, \t\n")) + let yScanned = scanner.scanDouble() + if let xVal = xScanned, let yVal = yScanned { + x = xVal; y = yVal + } else { + dLog("parseStringToAXValue: CGPoint parsing failed for '\(stringValue)' via scanner.") + throw AccessibilityError.valueParsingFailed(details: "Could not parse '\(stringValue)' into CGPoint. Expected format like 'x=10,y=20' or '10,20'.") + } + } + var point = CGPoint(x: x, y: y) + valueRef = AXValueCreate(targetAXValueType, &point) + + case .cgSize: + var w: Double = 0, h: Double = 0 + let components = stringValue.replacingOccurrences(of: " ", with: "").split(separator: ",") + if components.count == 2, + let wValStr = components[0].split(separator: "=").last, let wVal = Double(wValStr), + let hValStr = components[1].split(separator: "=").last, let hVal = Double(hValStr) { + w = wVal; h = hVal + } else if components.count == 2, let wVal = Double(components[0]), let hVal = Double(components[1]) { + w = wVal; h = hVal + } else { + let scanner = Scanner(string: stringValue) + _ = scanner.scanCharacters(in: CustomCharacterSet(charactersInString: "wh:, \t\n")) + let wScanned = scanner.scanDouble() + _ = scanner.scanCharacters(in: CustomCharacterSet(charactersInString: "wh:, \t\n")) + let hScanned = scanner.scanDouble() + if let wVal = wScanned, let hVal = hScanned { + w = wVal; h = hVal + } else { + dLog("parseStringToAXValue: CGSize parsing failed for '\(stringValue)' via scanner.") + throw AccessibilityError.valueParsingFailed(details: "Could not parse '\(stringValue)' into CGSize. Expected format like 'w=100,h=50' or '100,50'.") + } + } + var size = CGSize(width: w, height: h) + valueRef = AXValueCreate(targetAXValueType, &size) + + case .cgRect: + var x: Double = 0, y: Double = 0, w: Double = 0, h: Double = 0 + let components = stringValue.replacingOccurrences(of: " ", with: "").split(separator: ",") + if components.count == 4, + let xStr = components[0].split(separator: "=").last, let xVal = Double(xStr), + let yStr = components[1].split(separator: "=").last, let yVal = Double(yStr), + let wStr = components[2].split(separator: "=").last, let wVal = Double(wStr), + let hStr = components[3].split(separator: "=").last, let hVal = Double(hStr) { + x = xVal; y = yVal; w = wVal; h = hVal + } else if components.count == 4, + let xVal = Double(components[0]), let yVal = Double(components[1]), + let wVal = Double(components[2]), let hVal = Double(components[3]) { + x = xVal; y = yVal; w = wVal; h = hVal + } else { + let scanner = Scanner(string: stringValue) + _ = scanner.scanCharacters(in: CustomCharacterSet(charactersInString: "xywh:, \t\n")) + let xS_opt = scanner.scanDouble() + _ = scanner.scanCharacters(in: CustomCharacterSet(charactersInString: "xywh:, \t\n")) + let yS_opt = scanner.scanDouble() + _ = scanner.scanCharacters(in: CustomCharacterSet(charactersInString: "xywh:, \t\n")) + let wS_opt = scanner.scanDouble() + _ = scanner.scanCharacters(in: CustomCharacterSet(charactersInString: "xywh:, \t\n")) + let hS_opt = scanner.scanDouble() + if let xS = xS_opt, let yS = yS_opt, let wS = wS_opt, let hS = hS_opt { + x = xS; y = yS; w = wS; h = hS + } else { + dLog("parseStringToAXValue: CGRect parsing failed for '\(stringValue)' via scanner.") + throw AccessibilityError.valueParsingFailed(details: "Could not parse '\(stringValue)' into CGRect. Expected format like 'x=0,y=0,w=100,h=50' or '0,0,100,50'.") + } + } + var rect = CGRect(x: x, y: y, width: w, height: h) + valueRef = AXValueCreate(targetAXValueType, &rect) + + case .cfRange: + var loc: Int = 0, len: Int = 0 + let components = stringValue.replacingOccurrences(of: " ", with: "").split(separator: ",") + if components.count == 2, + let locStr = components[0].split(separator: "=").last, let locVal = Int(locStr), + let lenStr = components[1].split(separator: "=").last, let lenVal = Int(lenStr) { + loc = locVal; len = lenVal + } else if components.count == 2, let locVal = Int(components[0]), let lenVal = Int(components[1]) { + loc = locVal; len = lenVal + } else { + let scanner = Scanner(string: stringValue) + _ = scanner.scanCharacters(in: CustomCharacterSet(charactersInString: "loclen:, \t\n")) + let locScanned: Int? = scanner.scanInteger() + _ = scanner.scanCharacters(in: CustomCharacterSet(charactersInString: "loclen:, \t\n")) + let lenScanned: Int? = scanner.scanInteger() + if let locV = locScanned, let lenV = lenScanned { + loc = locV + len = lenV + } else { + dLog("parseStringToAXValue: CFRange parsing failed for '\(stringValue)' via scanner.") + throw AccessibilityError.valueParsingFailed(details: "Could not parse '\(stringValue)' into CFRange. Expected format like 'loc=0,len=10' or '0,10'.") + } + } + var range = CFRangeMake(loc, len) + valueRef = AXValueCreate(targetAXValueType, &range) + + case .illegal: + dLog("parseStringToAXValue: Attempted to parse for .illegal AXValueType.") + throw AccessibilityError.attributeUnsupported("Cannot parse value for AXValueType .illegal") + + case .axError: + dLog("parseStringToAXValue: Attempted to parse for .axError AXValueType.") + throw AccessibilityError.attributeUnsupported("Cannot set an attribute of AXValueType .axError") + + default: + if targetAXValueType.rawValue == 4 { + var boolVal: DarwinBoolean + if stringValue.lowercased() == "true" { boolVal = true } + else if stringValue.lowercased() == "false" { boolVal = false } + else { + dLog("parseStringToAXValue: Boolean parsing failed for '\(stringValue)' for AXValue.") + throw AccessibilityError.valueParsingFailed(details: "Could not parse '\(stringValue)' as boolean for AXValue.") + } + valueRef = AXValueCreate(targetAXValueType, &boolVal) + } else { + dLog("parseStringToAXValue: Unsupported AXValueType '\(stringFromAXValueType(targetAXValueType))' (rawValue: \(targetAXValueType.rawValue)).") + throw AccessibilityError.attributeUnsupported("Parsing for AXValueType '\(stringFromAXValueType(targetAXValueType))' (rawValue: \(targetAXValueType.rawValue)) from string is not supported yet.") + } + } + + if valueRef == nil { + dLog("parseStringToAXValue: AXValueCreate failed for type \(stringFromAXValueType(targetAXValueType)) with input '\(stringValue)'") + throw AccessibilityError.valueParsingFailed(details: "AXValueCreate failed for type \(stringFromAXValueType(targetAXValueType)) with input '\(stringValue)'") + } + return valueRef +} \ No newline at end of file diff --git a/Sources/AXorcist/Values/ValueUnwrapper.swift b/Sources/AXorcist/Values/ValueUnwrapper.swift new file mode 100644 index 0000000..d9259e1 --- /dev/null +++ b/Sources/AXorcist/Values/ValueUnwrapper.swift @@ -0,0 +1,92 @@ +import Foundation +import ApplicationServices +import CoreGraphics // For CGPoint, CGSize etc. + +// debug() is assumed to be globally available from Logging.swift +// Constants like kAXPositionAttribute are assumed to be globally available from AccessibilityConstants.swift + +// MARK: - ValueUnwrapper Utility +struct ValueUnwrapper { + @MainActor + static func unwrap(_ cfValue: CFTypeRef?, isDebugLoggingEnabled: Bool, currentDebugLogs: inout [String]) -> Any? { + func dLog(_ message: String) { if isDebugLoggingEnabled { currentDebugLogs.append(message) } } + guard let value = cfValue else { return nil } + let typeID = CFGetTypeID(value) + + switch typeID { + case ApplicationServices.AXUIElementGetTypeID(): + return value as! AXUIElement + case ApplicationServices.AXValueGetTypeID(): + let axVal = value as! AXValue + let axValueType = AXValueGetType(axVal) + + if axValueType.rawValue == 4 { // kAXValueBooleanType (private) + var boolResult: DarwinBoolean = false + if AXValueGetValue(axVal, axValueType, &boolResult) { + return boolResult.boolValue + } + } + + switch axValueType { + case .cgPoint: + var point = CGPoint.zero + return AXValueGetValue(axVal, .cgPoint, &point) ? point : nil + case .cgSize: + var size = CGSize.zero + return AXValueGetValue(axVal, .cgSize, &size) ? size : nil + case .cgRect: + var rect = CGRect.zero + return AXValueGetValue(axVal, .cgRect, &rect) ? rect : nil + case .cfRange: + var cfRange = CFRange() + return AXValueGetValue(axVal, .cfRange, &cfRange) ? cfRange : nil + case .axError: + var axErrorValue: AXError = .success + return AXValueGetValue(axVal, .axError, &axErrorValue) ? axErrorValue : nil + case .illegal: + dLog("ValueUnwrapper: Encountered AXValue with type .illegal") + return nil + @unknown default: // Added @unknown default to handle potential new AXValueType cases + dLog("ValueUnwrapper: AXValue with unhandled AXValueType: \(stringFromAXValueType(axValueType)).") + return axVal // Return the original AXValue if type is unknown + } + case CFStringGetTypeID(): + return (value as! CFString) as String + case CFAttributedStringGetTypeID(): + return (value as! NSAttributedString).string + case CFBooleanGetTypeID(): + return CFBooleanGetValue((value as! CFBoolean)) + case CFNumberGetTypeID(): + return value as! NSNumber + case CFArrayGetTypeID(): + let cfArray = value as! CFArray + var swiftArray: [Any?] = [] + for i in 0...fromOpaque(elementPtr).takeUnretainedValue(), isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs)) + } + return swiftArray + case CFDictionaryGetTypeID(): + let cfDict = value as! CFDictionary + var swiftDict: [String: Any?] = [:] + // Attempt to bridge to Swift dictionary directly if possible + if let nsDict = cfDict as? [String: AnyObject] { // Use AnyObject for broader compatibility + for (key, val) in nsDict { + swiftDict[key] = unwrap(val, isDebugLoggingEnabled: isDebugLoggingEnabled, currentDebugLogs: ¤tDebugLogs) // Unwrap the value + } + } else { + // Fallback for more complex CFDictionary structures if direct bridging fails + // This part requires careful handling of CFDictionary keys and values + // For now, we'll log if direct bridging fails, as full CFDictionary iteration is complex. + dLog("ValueUnwrapper: Failed to bridge CFDictionary to [String: AnyObject]. Full CFDictionary iteration not yet implemented here.") + } + return swiftDict + default: + dLog("ValueUnwrapper: Unhandled CFTypeID: \(typeID) - \(CFCopyTypeIDDescription(typeID) as String? ?? "Unknown"). Returning raw value.") + return value // Return the original value if CFType is not handled + } + } +} \ No newline at end of file diff --git a/Sources/axorc/axorc.swift b/Sources/axorc/axorc.swift new file mode 100644 index 0000000..2569c83 --- /dev/null +++ b/Sources/axorc/axorc.swift @@ -0,0 +1,773 @@ +import Foundation +import AXorcist +import ArgumentParser + +let AXORC_VERSION = "0.1.2a-config_fix" + +@main // Add @main if this is the executable's entry point +struct AXORCCommand: AsyncParsableCommand { // Changed to AsyncParsableCommand + static let configuration = CommandConfiguration( + commandName: "axorc", // commandName must come before abstract + abstract: "AXORC CLI - Handles JSON commands via various input methods. Version \\(AXORC_VERSION)" + ) + + @Flag(name: .long, help: "Enable debug logging for the command execution.") + var debug: Bool = false + + @Flag(name: .long, help: "Read JSON payload from STDIN.") + var stdin: Bool = false + + @Option(name: .long, help: "Read JSON payload from the specified file path.") + var file: String? + + @Argument(help: "Read JSON payload directly from this string argument. If other input flags (--stdin, --file) are used, this argument is ignored.") + var directPayload: String? = nil + + mutating func run() async throws { + var localDebugLogs: [String] = [] + if debug { + localDebugLogs.append("Debug logging enabled by --debug flag.") + } + + var receivedJsonString: String? = nil + var inputSourceDescription: String = "Unspecified" + var detailedInputError: String? = nil + + let activeInputFlags = (stdin ? 1 : 0) + (file != nil ? 1 : 0) + let positionalPayloadProvided = directPayload != nil && !(directPayload?.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty ?? true) + + if activeInputFlags > 1 { + detailedInputError = "Error: Multiple input flags specified (--stdin, --file). Only one is allowed." + inputSourceDescription = detailedInputError! + } else if stdin { + inputSourceDescription = "STDIN" + let stdInputHandle = FileHandle.standardInput + let stdinData = stdInputHandle.readDataToEndOfFile() + if let str = String(data: stdinData, encoding: .utf8)?.trimmingCharacters(in: .whitespacesAndNewlines), !str.isEmpty { + receivedJsonString = str + localDebugLogs.append("Successfully read \(str.count) chars from STDIN.") + } else { + detailedInputError = "Warning: STDIN flag specified, but no data or empty data received." + localDebugLogs.append(detailedInputError!) + } + } else if let filePath = file { + inputSourceDescription = "File: \(filePath)" + do { + let fileContent = try String(contentsOfFile: filePath, encoding: .utf8).trimmingCharacters(in: .whitespacesAndNewlines) + if fileContent.isEmpty { + detailedInputError = "Error: File '\(filePath)' is empty." + } else { + receivedJsonString = fileContent + localDebugLogs.append("Successfully read from file: \(filePath)") + } + } catch { + detailedInputError = "Error: Failed to read from file '\(filePath)': \(error.localizedDescription)" + } + if detailedInputError != nil { localDebugLogs.append(detailedInputError!) } + } else if let payload = directPayload, positionalPayloadProvided { + inputSourceDescription = "Direct Argument Payload" + receivedJsonString = payload.trimmingCharacters(in: .whitespacesAndNewlines) + localDebugLogs.append("Using direct argument payload. Length: \(receivedJsonString?.count ?? 0)") + } else if directPayload != nil && !positionalPayloadProvided { + detailedInputError = "Error: Direct argument payload was provided but was an empty string." + inputSourceDescription = detailedInputError! + localDebugLogs.append(detailedInputError!) + } else { + detailedInputError = "No JSON input method specified or chosen method yielded no data." + inputSourceDescription = detailedInputError! + localDebugLogs.append(detailedInputError!) + } + if detailedInputError != nil { localDebugLogs.append(detailedInputError!) } + + print("AXORC_JSON_OUTPUT_PREFIX:::") + let encoder = JSONEncoder() + encoder.outputFormatting = .prettyPrinted + + if let errorToReport = detailedInputError, receivedJsonString == nil { + let errResponse = ErrorResponse(command_id: "input_error", error: ErrorResponse.ErrorDetail(message: errorToReport), debug_logs: debug ? localDebugLogs : nil) + if let data = try? encoder.encode(errResponse), let str = String(data: data, encoding: .utf8) { print(str) } + return + } + + guard let jsonToProcess = receivedJsonString, !jsonToProcess.isEmpty else { + let finalErrorMsg = detailedInputError ?? "No JSON data successfully processed. Last input state: \(inputSourceDescription)." + var errorLogs = localDebugLogs; errorLogs.append(finalErrorMsg) + let errResponse = ErrorResponse(command_id: "no_json_data", error: ErrorResponse.ErrorDetail(message: finalErrorMsg), debug_logs: debug ? errorLogs : nil) + if let data = try? encoder.encode(errResponse), let str = String(data: data, encoding: .utf8) { print(str) } + return + } + + do { + let commandEnvelope = try JSONDecoder().decode(CommandEnvelope.self, from: Data(jsonToProcess.utf8)) + var currentLogs = localDebugLogs + currentLogs.append("Decoded CommandEnvelope. Type: \(commandEnvelope.command), ID: \(commandEnvelope.command_id)") + + switch commandEnvelope.command { + case .ping: + let prefix = "Ping handled by AXORCCommand. Input source: " + let messageValue = inputSourceDescription + let successMessage = prefix + messageValue + currentLogs.append(successMessage) + + let details: String? + if let payloadData = jsonToProcess.data(using: .utf8), + let payload = try? JSONSerialization.jsonObject(with: payloadData) as? [String: Any], + let payloadDict = payload["payload"] as? [String: Any], + let payloadMessage = payloadDict["message"] as? String { + details = payloadMessage + } else { + details = nil + } + + let successResponse = SimpleSuccessResponse( + command_id: commandEnvelope.command_id, + success: true, // Explicitly true + status: "pong", + message: successMessage, + details: details, + debug_logs: debug ? currentLogs : nil + ) + if let data = try? encoder.encode(successResponse), let str = String(data: data, encoding: .utf8) { print(str) } + + case .getFocusedElement: + let axInstance = AXorcist() + var handlerLogs = currentLogs + + let commandIDForResponse = commandEnvelope.command_id + let appIdentifierForHandler = commandEnvelope.application + let requestedAttributesForHandler = commandEnvelope.attributes + + // Directly await the MainActor function. operationResult is non-optional. + let operationResult: HandlerResponse = await axInstance.handleGetFocusedElement( + for: appIdentifierForHandler, + requestedAttributes: requestedAttributesForHandler, + isDebugLoggingEnabled: commandEnvelope.debug_logging ?? debug, + currentDebugLogs: &handlerLogs + ) + // No semaphore needed + + // operationResult is now non-optional, so we can use it directly. + let actualResponse = operationResult + let finalDebugLogs = debug || (commandEnvelope.debug_logging ?? false) ? handlerLogs : nil + + fputs("[axorc DEBUG] Attempting to encode QueryResponse...\n", stderr) + let queryResponse = QueryResponse( + command_id: commandIDForResponse, + success: actualResponse.error == nil, + command: commandEnvelope.command.rawValue, + handlerResponse: actualResponse, + debug_logs: finalDebugLogs + ) + + do { + let data = try encoder.encode(queryResponse) + fputs("[axorc DEBUG] QueryResponse encoded to data. Size: \(data.count)\n", stderr) + if let str = String(data: data, encoding: .utf8) { + fputs("[axorc DEBUG] QueryResponse data converted to string. Length: \(str.count). Printing to stdout.\n", stderr) + print(str) // STDOUT + } else { + fputs("[axorc DEBUG] Failed to convert QueryResponse data to UTF8 string.\n", stderr) + let errorDetailForResponse = ErrorResponse.ErrorDetail(message: "Failed to convert QueryResponse data to string (UTF8)") + let errResponse = ErrorResponse(command_id: commandIDForResponse, error: errorDetailForResponse, debug_logs: finalDebugLogs) + if let errData = try? encoder.encode(errResponse), let errStr = String(data: errData, encoding: .utf8) { print(errStr) } + } + } catch { + fputs("[axorc DEBUG] Explicitly CAUGHT error during QueryResponse encoding: \(error)\n", stderr) + fputs("[axorc DEBUG] Error localizedDescription: \(error.localizedDescription)\n", stderr) + if let encodingError = error as? EncodingError { + fputs("[axorc DEBUG] EncodingError context: \(encodingError)\n", stderr) + } + + let errorDetailForResponse = ErrorResponse.ErrorDetail(message: "Caught error during QueryResponse encoding: \(error.localizedDescription)") + let errResponse = ErrorResponse(command_id: commandIDForResponse, error: errorDetailForResponse, debug_logs: finalDebugLogs) + if let data = try? encoder.encode(errResponse), let str = String(data: data, encoding: .utf8) { print(str) } + } + + case .getAttributes: + guard let locatorForHandler = commandEnvelope.locator else { + let errorMsg = "getAttributes command requires a locator but none was provided" + currentLogs.append(errorMsg) + let errResponse = ErrorResponse(command_id: commandEnvelope.command_id, error: ErrorResponse.ErrorDetail(message: errorMsg), debug_logs: debug ? currentLogs : nil) + if let data = try? encoder.encode(errResponse), let str = String(data: data, encoding: .utf8) { print(str) } + return + } + + let axInstance = AXorcist() + var handlerLogs = currentLogs + + let commandIDForResponse = commandEnvelope.command_id + let appIdentifierForHandler = commandEnvelope.application + let requestedAttributesForHandler = commandEnvelope.attributes + let pathHintForHandler = commandEnvelope.path_hint + let maxDepthForHandler = commandEnvelope.max_elements + let outputFormatForHandler = commandEnvelope.output_format + + // Call the new handleGetAttributes method + let operationResult: HandlerResponse = await axInstance.handleGetAttributes( + for: appIdentifierForHandler, + locator: locatorForHandler, + requestedAttributes: requestedAttributesForHandler, + pathHint: pathHintForHandler, + maxDepth: maxDepthForHandler, + outputFormat: outputFormatForHandler, + isDebugLoggingEnabled: commandEnvelope.debug_logging ?? debug, + currentDebugLogs: &handlerLogs + ) + + let actualResponse = operationResult + let finalDebugLogs = debug || (commandEnvelope.debug_logging ?? false) ? handlerLogs : nil + + fputs("[axorc DEBUG] Attempting to encode QueryResponse for getAttributes...\n", stderr) + let queryResponse = QueryResponse( + command_id: commandIDForResponse, + success: actualResponse.error == nil, + command: commandEnvelope.command.rawValue, + handlerResponse: actualResponse, + debug_logs: finalDebugLogs + ) + + do { + let data = try encoder.encode(queryResponse) + fputs("[axorc DEBUG] QueryResponse encoded to data. Size: \(data.count)\n", stderr) + if let str = String(data: data, encoding: .utf8) { + fputs("[axorc DEBUG] QueryResponse data converted to string. Length: \(str.count). Printing to stdout.\n", stderr) + print(str) // STDOUT + } else { + fputs("[axorc DEBUG] Failed to convert QueryResponse data to UTF8 string.\n", stderr) + let errorDetailForResponse = ErrorResponse.ErrorDetail(message: "Failed to convert QueryResponse data to string (UTF8)") + let errResponse = ErrorResponse(command_id: commandIDForResponse, error: errorDetailForResponse, debug_logs: finalDebugLogs) + if let errData = try? encoder.encode(errResponse), let errStr = String(data: errData, encoding: .utf8) { print(errStr) } + } + } catch { + fputs("[axorc DEBUG] Explicitly CAUGHT error during QueryResponse encoding for getAttributes: \(error)\n", stderr) + fputs("[axorc DEBUG] Error localizedDescription: \(error.localizedDescription)\n", stderr) + if let encodingError = error as? EncodingError { + fputs("[axorc DEBUG] EncodingError context: \(encodingError)\n", stderr) + } + + let errorDetailForResponse = ErrorResponse.ErrorDetail(message: "Caught error during QueryResponse encoding: \(error.localizedDescription)") + let errResponse = ErrorResponse(command_id: commandIDForResponse, error: errorDetailForResponse, debug_logs: finalDebugLogs) + if let data = try? encoder.encode(errResponse), let str = String(data: data, encoding: .utf8) { print(str) } + } + + case .query: + guard let locatorForHandler = commandEnvelope.locator else { + let errorMsg = "query command requires a locator but none was provided" + currentLogs.append(errorMsg) + let errResponse = ErrorResponse(command_id: commandEnvelope.command_id, error: ErrorResponse.ErrorDetail(message: errorMsg), debug_logs: debug ? currentLogs : nil) + if let data = try? encoder.encode(errResponse), let str = String(data: data, encoding: .utf8) { print(str) } + return + } + + let axInstance = AXorcist() + var handlerLogs = currentLogs + + let commandIDForResponse = commandEnvelope.command_id + let appIdentifierForHandler = commandEnvelope.application + let requestedAttributesForHandler = commandEnvelope.attributes + let pathHintForHandler = commandEnvelope.path_hint + let maxDepthForHandler = commandEnvelope.max_elements + let outputFormatForHandler = commandEnvelope.output_format + + // Call the new handleQuery method + let operationResult: HandlerResponse = await axInstance.handleQuery( + for: appIdentifierForHandler, + locator: locatorForHandler, + pathHint: pathHintForHandler, + maxDepth: maxDepthForHandler, + requestedAttributes: requestedAttributesForHandler, + outputFormat: outputFormatForHandler, + isDebugLoggingEnabled: commandEnvelope.debug_logging ?? debug, + currentDebugLogs: &handlerLogs + ) + + let actualResponse = operationResult + let finalDebugLogs = debug || (commandEnvelope.debug_logging ?? false) ? handlerLogs : nil + + fputs("[axorc DEBUG] Attempting to encode QueryResponse for query...\n", stderr) + let queryResponse = QueryResponse( + command_id: commandIDForResponse, + success: actualResponse.error == nil, + command: commandEnvelope.command.rawValue, + handlerResponse: actualResponse, + debug_logs: finalDebugLogs + ) + + do { + let data = try encoder.encode(queryResponse) + fputs("[axorc DEBUG] QueryResponse encoded to data. Size: \(data.count)\n", stderr) + if let str = String(data: data, encoding: .utf8) { + fputs("[axorc DEBUG] QueryResponse data converted to string. Length: \(str.count). Printing to stdout.\n", stderr) + print(str) // STDOUT + } else { + fputs("[axorc DEBUG] Failed to convert QueryResponse data to UTF8 string.\n", stderr) + let errorDetailForResponse = ErrorResponse.ErrorDetail(message: "Failed to convert QueryResponse data to string (UTF8)") + let errResponse = ErrorResponse(command_id: commandIDForResponse, error: errorDetailForResponse, debug_logs: finalDebugLogs) + if let errData = try? encoder.encode(errResponse), let errStr = String(data: errData, encoding: .utf8) { print(errStr) } + } + } catch { + fputs("[axorc DEBUG] Explicitly CAUGHT error during QueryResponse encoding for query: \(error)\n", stderr) + fputs("[axorc DEBUG] Error localizedDescription: \(error.localizedDescription)\n", stderr) + if let encodingError = error as? EncodingError { + fputs("[axorc DEBUG] EncodingError context: \(encodingError)\n", stderr) + } + + let errorDetailForResponse = ErrorResponse.ErrorDetail(message: "Caught error during QueryResponse encoding: \(error.localizedDescription)") + let errResponse = ErrorResponse(command_id: commandIDForResponse, error: errorDetailForResponse, debug_logs: finalDebugLogs) + if let data = try? encoder.encode(errResponse), let str = String(data: data, encoding: .utf8) { print(str) } + } + + case .describeElement: + guard let locatorForHandler = commandEnvelope.locator else { + let errorMsg = "describeElement command requires a locator but none was provided" + currentLogs.append(errorMsg) + let errResponse = ErrorResponse(command_id: commandEnvelope.command_id, error: ErrorResponse.ErrorDetail(message: errorMsg), debug_logs: debug ? currentLogs : nil) + if let data = try? encoder.encode(errResponse), let str = String(data: data, encoding: .utf8) { print(str) } + return + } + + let axInstance = AXorcist() + var handlerLogs = currentLogs + + let commandIDForResponse = commandEnvelope.command_id + let appIdentifierForHandler = commandEnvelope.application + let pathHintForHandler = commandEnvelope.path_hint + let maxDepthForHandler = commandEnvelope.max_elements + let outputFormatForHandler = commandEnvelope.output_format + + // Call the new handleDescribeElement method + let operationResult: HandlerResponse = await axInstance.handleDescribeElement( + for: appIdentifierForHandler, + locator: locatorForHandler, + pathHint: pathHintForHandler, + maxDepth: maxDepthForHandler, + outputFormat: outputFormatForHandler, + isDebugLoggingEnabled: commandEnvelope.debug_logging ?? debug, + currentDebugLogs: &handlerLogs + ) + + let actualResponse = operationResult + let finalDebugLogs = debug || (commandEnvelope.debug_logging ?? false) ? handlerLogs : nil + + fputs("[axorc DEBUG] Attempting to encode QueryResponse for describeElement...\n", stderr) + let queryResponse = QueryResponse( + command_id: commandIDForResponse, + success: actualResponse.error == nil, + command: commandEnvelope.command.rawValue, + handlerResponse: actualResponse, + debug_logs: finalDebugLogs + ) + + do { + let data = try encoder.encode(queryResponse) + fputs("[axorc DEBUG] QueryResponse encoded to data. Size: \(data.count)\n", stderr) + if let str = String(data: data, encoding: .utf8) { + fputs("[axorc DEBUG] QueryResponse data converted to string. Length: \(str.count). Printing to stdout.\n", stderr) + print(str) // STDOUT + } else { + fputs("[axorc DEBUG] Failed to convert QueryResponse data to UTF8 string.\n", stderr) + let errorDetailForResponse = ErrorResponse.ErrorDetail(message: "Failed to convert QueryResponse data to string (UTF8)") + let errResponse = ErrorResponse(command_id: commandIDForResponse, error: errorDetailForResponse, debug_logs: finalDebugLogs) + if let errData = try? encoder.encode(errResponse), let errStr = String(data: errData, encoding: .utf8) { print(errStr) } + } + } catch { + fputs("[axorc DEBUG] Explicitly CAUGHT error during QueryResponse encoding for describeElement: \(error)\n", stderr) + fputs("[axorc DEBUG] Error localizedDescription: \(error.localizedDescription)\n", stderr) + if let encodingError = error as? EncodingError { + fputs("[axorc DEBUG] EncodingError context: \(encodingError)\n", stderr) + } + + let errorDetailForResponse = ErrorResponse.ErrorDetail(message: "Caught error during QueryResponse encoding: \(error.localizedDescription)") + let errResponse = ErrorResponse(command_id: commandIDForResponse, error: errorDetailForResponse, debug_logs: finalDebugLogs) + if let data = try? encoder.encode(errResponse), let str = String(data: data, encoding: .utf8) { print(str) } + } + + case .performAction: + guard let locatorForHandler = commandEnvelope.locator else { + let errorMsg = "performAction command requires a locator but none was provided" + currentLogs.append(errorMsg) + let errResponse = ErrorResponse(command_id: commandEnvelope.command_id, error: ErrorResponse.ErrorDetail(message: errorMsg), debug_logs: debug ? currentLogs : nil) + if let data = try? encoder.encode(errResponse), let str = String(data: data, encoding: .utf8) { print(str) } + return + } + guard let actionNameForHandler = commandEnvelope.action_name else { + let errorMsg = "performAction command requires an action_name but none was provided" + currentLogs.append(errorMsg) + let errResponse = ErrorResponse(command_id: commandEnvelope.command_id, error: ErrorResponse.ErrorDetail(message: errorMsg), debug_logs: debug ? currentLogs : nil) + if let data = try? encoder.encode(errResponse), let str = String(data: data, encoding: .utf8) { print(str) } + return + } + + let axInstance = AXorcist() + var handlerLogs = currentLogs + + let commandIDForResponse = commandEnvelope.command_id + let appIdentifierForHandler = commandEnvelope.application + let pathHintForHandler = commandEnvelope.path_hint + let actionValueForHandler = commandEnvelope.action_value // This is AnyCodable? + + // Call the new handlePerformAction method + let operationResult: HandlerResponse = await axInstance.handlePerformAction( + for: appIdentifierForHandler, + locator: locatorForHandler, + pathHint: pathHintForHandler, + actionName: actionNameForHandler, + actionValue: actionValueForHandler, + isDebugLoggingEnabled: commandEnvelope.debug_logging ?? debug, + currentDebugLogs: &handlerLogs + ) + + let actualResponse = operationResult + let finalDebugLogs = debug || (commandEnvelope.debug_logging ?? false) ? handlerLogs : nil + + fputs("[axorc DEBUG] Attempting to encode QueryResponse for performAction...\n", stderr) + let queryResponse = QueryResponse( + command_id: commandIDForResponse, + success: actualResponse.error == nil, + command: commandEnvelope.command.rawValue, + handlerResponse: actualResponse, + debug_logs: finalDebugLogs + ) + + do { + let data = try encoder.encode(queryResponse) + fputs("[axorc DEBUG] QueryResponse encoded to data. Size: \(data.count)\n", stderr) + if let str = String(data: data, encoding: .utf8) { + fputs("[axorc DEBUG] QueryResponse data converted to string. Length: \(str.count). Printing to stdout.\n", stderr) + print(str) // STDOUT + } else { + fputs("[axorc DEBUG] Failed to convert QueryResponse data to UTF8 string.\n", stderr) + let errorDetailForResponse = ErrorResponse.ErrorDetail(message: "Failed to convert QueryResponse data to string (UTF8)") + let errResponse = ErrorResponse(command_id: commandIDForResponse, error: errorDetailForResponse, debug_logs: finalDebugLogs) + if let errData = try? encoder.encode(errResponse), let errStr = String(data: errData, encoding: .utf8) { print(errStr) } + } + } catch { + fputs("[axorc DEBUG] Explicitly CAUGHT error during QueryResponse encoding for performAction: \(error)\n", stderr) + fputs("[axorc DEBUG] Error localizedDescription: \(error.localizedDescription)\n", stderr) + if let encodingError = error as? EncodingError { + fputs("[axorc DEBUG] EncodingError context: \(encodingError)\n", stderr) + } + + let errorDetailForResponse = ErrorResponse.ErrorDetail(message: "Caught error during QueryResponse encoding: \(error.localizedDescription)") + let errResponse = ErrorResponse(command_id: commandIDForResponse, error: errorDetailForResponse, debug_logs: finalDebugLogs) + if let data = try? encoder.encode(errResponse), let str = String(data: data, encoding: .utf8) { print(str) } + } + + case .extractText: + guard let locatorForHandler = commandEnvelope.locator else { + let errorMsg = "extractText command requires a locator but none was provided" + currentLogs.append(errorMsg) + let errResponse = ErrorResponse(command_id: commandEnvelope.command_id, error: ErrorResponse.ErrorDetail(message: errorMsg), debug_logs: debug ? currentLogs : nil) + if let data = try? encoder.encode(errResponse), let str = String(data: data, encoding: .utf8) { print(str) } + return + } + + let axInstance = AXorcist() + var handlerLogs = currentLogs + + let commandIDForResponse = commandEnvelope.command_id + let appIdentifierForHandler = commandEnvelope.application + let pathHintForHandler = commandEnvelope.path_hint + + let operationResult: HandlerResponse = await axInstance.handleExtractText( + for: appIdentifierForHandler, + locator: locatorForHandler, + pathHint: pathHintForHandler, + isDebugLoggingEnabled: commandEnvelope.debug_logging ?? debug, + currentDebugLogs: &handlerLogs + ) + + let actualResponse = operationResult + let finalDebugLogs = debug || (commandEnvelope.debug_logging ?? false) ? handlerLogs : nil + + fputs("[axorc DEBUG] Attempting to encode QueryResponse for extractText...\n", stderr) + let queryResponse = QueryResponse( + command_id: commandIDForResponse, + success: actualResponse.error == nil, + command: commandEnvelope.command.rawValue, + handlerResponse: actualResponse, + debug_logs: finalDebugLogs + ) + + do { + let data = try encoder.encode(queryResponse) + fputs("[axorc DEBUG] QueryResponse encoded to data. Size: \(data.count)\n", stderr) + if let str = String(data: data, encoding: .utf8) { + fputs("[axorc DEBUG] QueryResponse data converted to string. Length: \(str.count). Printing to stdout.\n", stderr) + print(str) // STDOUT + } else { + fputs("[axorc DEBUG] Failed to convert QueryResponse data to UTF8 string.\n", stderr) + let errorDetailForResponse = ErrorResponse.ErrorDetail(message: "Failed to convert QueryResponse data to string (UTF8)") + let errResponse = ErrorResponse(command_id: commandIDForResponse, error: errorDetailForResponse, debug_logs: finalDebugLogs) + if let errData = try? encoder.encode(errResponse), let errStr = String(data: errData, encoding: .utf8) { print(errStr) } + } + } catch { + fputs("[axorc DEBUG] Explicitly CAUGHT error during QueryResponse encoding for extractText: \(error)\n", stderr) + fputs("[axorc DEBUG] Error localizedDescription: \(error.localizedDescription)\n", stderr) + if let encodingError = error as? EncodingError { + fputs("[axorc DEBUG] EncodingError context: \(encodingError)\n", stderr) + } + + let errorDetailForResponse = ErrorResponse.ErrorDetail(message: "Caught error during QueryResponse encoding: \(error.localizedDescription)") + let errResponse = ErrorResponse(command_id: commandIDForResponse, error: errorDetailForResponse, debug_logs: finalDebugLogs) + if let data = try? encoder.encode(errResponse), let str = String(data: data, encoding: .utf8) { print(str) } + } + + case .batch: + // The main commandEnvelope is for the batch itself. + // Sub-commands are now directly in commandEnvelope.sub_commands. + guard let subCommands = commandEnvelope.sub_commands, !subCommands.isEmpty else { + let errorMsg = "Batch command received, but 'sub_commands' array is missing or empty." + currentLogs.append(errorMsg) + let errResponse = ErrorResponse(command_id: commandEnvelope.command_id, error: ErrorResponse.ErrorDetail(message: errorMsg), debug_logs: debug ? currentLogs : nil) + if let data = try? encoder.encode(errResponse), let str = String(data: data, encoding: .utf8) { print(str) } + return + } + + currentLogs.append("Processing batch command. Batch ID: \(commandEnvelope.command_id), Number of sub-commands: \(subCommands.count)") + + let axInstance = AXorcist() + var handlerLogs = currentLogs // batch handler will append to this + + // Call the handleBatchCommands method + let batchHandlerResponses: [HandlerResponse] = await axInstance.handleBatchCommands( + batchCommandID: commandEnvelope.command_id, // Use the main command's ID for the batch + subCommands: subCommands, // Pass the array of CommandEnvelopes + isDebugLoggingEnabled: commandEnvelope.debug_logging ?? debug, // Use overall debug flag + currentDebugLogs: &handlerLogs + ) + + // Convert each HandlerResponse into a QueryResponse + var batchQueryResponses: [QueryResponse] = [] + var overallSuccess = true + for (index, subHandlerResponse) in batchHandlerResponses.enumerated() { + // The subCommandEnvelope for ID and type. + // Make sure subCommands array is not empty and index is valid. + guard index < subCommands.count else { + // This should not happen if batchHandlerResponses lines up with subCommands + let errorMsg = "Mismatch between subCommands and batchHandlerResponses count." + currentLogs.append(errorMsg) + // Consider how to report this internal error + continue + } + let subCommandEnvelope = subCommands[index] + + let subQueryResponse = QueryResponse( + command_id: subCommandEnvelope.command_id, // Use sub-command's ID + success: subHandlerResponse.error == nil, + command: subCommandEnvelope.command.rawValue, // Use sub-command's type + handlerResponse: subHandlerResponse, + debug_logs: nil // Individual sub-command logs are part of HandlerResponse. + // QueryResponse's init handles this for its 'error' or 'data'. + // The overall batch debug log will be separate. + ) + batchQueryResponses.append(subQueryResponse) + if subHandlerResponse.error != nil { + overallSuccess = false + } + } + + let finalDebugLogsForBatch = debug || (commandEnvelope.debug_logging ?? false) ? handlerLogs : nil + + let batchOperationResponse = BatchOperationResponse( + command_id: commandEnvelope.command_id, // ID of the overall batch from the main envelope + success: overallSuccess, + results: batchQueryResponses, + debug_logs: finalDebugLogsForBatch + ) + + do { + let data = try encoder.encode(batchOperationResponse) + if let str = String(data: data, encoding: .utf8) { + print(str) + } else { + let errorMsg = "Failed to convert BatchOperationResponse to UTF8 string." + currentLogs.append(errorMsg) // Log to main logs + fputs("[axorc DEBUG] \(errorMsg)\n", stderr) + // Fallback to a simple error if top-level encoding fails + let errResponse = ErrorResponse(command_id: commandEnvelope.command_id, error: ErrorResponse.ErrorDetail(message: errorMsg), debug_logs: finalDebugLogsForBatch) + if let errData = try? encoder.encode(errResponse), let errStr = String(data: errData, encoding: .utf8) { print(errStr) } + } + } catch { + let errorMsg = "Failed to encode BatchOperationResponse: \(error.localizedDescription)" + currentLogs.append(errorMsg) // Log to main logs + fputs("[axorc DEBUG] \(errorMsg) - Error: \(error)\n", stderr) + // Fallback to a simple error + let errResponse = ErrorResponse(command_id: commandEnvelope.command_id, error: ErrorResponse.ErrorDetail(message: errorMsg), debug_logs: finalDebugLogsForBatch) + if let data = try? encoder.encode(errResponse), let str = String(data: data, encoding: .utf8) { print(str) } + } + + case .collectAll: + let axInstance = AXorcist() + let handlerLogs = currentLogs // Changed var to let + + let commandIDForResponse = commandEnvelope.command_id + let appIdentifierForHandler = commandEnvelope.application + let locatorForHandler = commandEnvelope.locator // Optional for collectAll + let pathHintForHandler = commandEnvelope.path_hint + let maxDepthForHandler = commandEnvelope.max_elements + let requestedAttributesForHandler = commandEnvelope.attributes + let outputFormatForHandler = commandEnvelope.output_format + + // Call handleCollectAll, passing handlerLogs as non-inout + let operationResult: HandlerResponse = await axInstance.handleCollectAll( + for: appIdentifierForHandler, + locator: locatorForHandler, + pathHint: pathHintForHandler, + maxDepth: maxDepthForHandler, + requestedAttributes: requestedAttributesForHandler, + outputFormat: outputFormatForHandler, + isDebugLoggingEnabled: commandEnvelope.debug_logging ?? debug, + currentDebugLogs: handlerLogs // Pass as [String] + ) + + // operationResult.debug_logs now contains all logs from the handler + // including the initial handlerLogs plus anything new from handleCollectAll. + let finalDebugLogs = (debug || (commandEnvelope.debug_logging ?? false)) ? operationResult.debug_logs : nil + + fputs("[axorc DEBUG] Attempting to encode QueryResponse for collectAll...\n", stderr) + let queryResponse = QueryResponse( + command_id: commandIDForResponse, + success: operationResult.error == nil, + command: commandEnvelope.command.rawValue, + handlerResponse: operationResult, + debug_logs: finalDebugLogs + ) + + do { + let data = try encoder.encode(queryResponse) + fputs("[axorc DEBUG] QueryResponse encoded to data. Size: \(data.count)\n", stderr) + if let str = String(data: data, encoding: .utf8) { + fputs("[axorc DEBUG] QueryResponse data converted to string. Length: \(str.count). Printing to stdout.\n", stderr) + print(str) // STDOUT + } else { + fputs("[axorc DEBUG] Failed to convert QueryResponse data to UTF8 string.\n", stderr) + let errorDetailForResponse = ErrorResponse.ErrorDetail(message: "Failed to convert QueryResponse data to string (UTF8)") + let errResponse = ErrorResponse(command_id: commandIDForResponse, error: errorDetailForResponse, debug_logs: finalDebugLogs) + if let errData = try? encoder.encode(errResponse), let errStr = String(data: errData, encoding: .utf8) { print(errStr) } + } + } catch { + fputs("[axorc DEBUG] Explicitly CAUGHT error during QueryResponse encoding for collectAll: \(error)\n", stderr) + fputs("[axorc DEBUG] Error localizedDescription: \(error.localizedDescription)\n", stderr) + if let encodingError = error as? EncodingError { + fputs("[axorc DEBUG] EncodingError context: \(encodingError)\n", stderr) + } + + let errorDetailForResponse = ErrorResponse.ErrorDetail(message: "Caught error during QueryResponse encoding: \(error.localizedDescription)") + let errResponse = ErrorResponse(command_id: commandIDForResponse, error: errorDetailForResponse, debug_logs: finalDebugLogs) + if let data = try? encoder.encode(errResponse), let str = String(data: data, encoding: .utf8) { print(str) } + } + + default: + let errorMsg = "Unhandled command type: \(commandEnvelope.command)" + currentLogs.append(errorMsg) + let errResponse = ErrorResponse(command_id: commandEnvelope.command_id, error: ErrorResponse.ErrorDetail(message: errorMsg), debug_logs: debug ? currentLogs : nil) + if let data = try? encoder.encode(errResponse), let str = String(data: data, encoding: .utf8) { print(str) } + } + } catch { + var errorLogs = localDebugLogs + let basicErrorMessage = "JSON decoding error: \(error.localizedDescription)" + errorLogs.append(basicErrorMessage) + + let detailedErrorMessage: String + if let decodingError = error as? DecodingError { + errorLogs.append("Decoding error details: \(decodingError.humanReadableDescription)") + detailedErrorMessage = "Failed to decode JSON command (DecodingError): \(decodingError.humanReadableDescription)" + } else { + detailedErrorMessage = "Failed to decode JSON command: \(error.localizedDescription)" + } + + let errResponse = ErrorResponse(command_id: "decode_error", error: ErrorResponse.ErrorDetail(message: detailedErrorMessage), debug_logs: debug ? errorLogs : nil) + if let data = try? encoder.encode(errResponse), let str = String(data: data, encoding: .utf8) { print(str) } + } + } +} + +// MARK: - Codable Structs for axorc responses and CommandEnvelope +// These should align with structs in AXorcistIntegrationTests.swift + +struct SimpleSuccessResponse: Codable { + let command_id: String + let success: Bool + let status: String? // e.g., "pong" + let message: String + let details: String? + let debug_logs: [String]? +} + +struct ErrorResponse: Codable { + let command_id: String + var success: Bool = false // Default to false for errors + struct ErrorDetail: Codable { + let message: String + } + let error: ErrorDetail + let debug_logs: [String]? +} + +// AXElement as received from AXorcist library and to be encoded in QueryResponse +// This is a pass-through structure. AXorcist.AXElement should be Codable itself. +// If AXorcist.AXElement is not Codable, then this needs to be manually constructed. +// For now, assume AXorcist.AXElement is Codable or can be easily made so. +// The properties (attributes, path) must match what AXorcist.AXElement provides. +struct AXElementForEncoding: Codable { + let attributes: [String: AnyCodable]? // This will now use AXorcist.AnyCodable + let path: [String]? + + init(from axElement: AXElement) { // axElement is AXorcist.AXElement + self.attributes = axElement.attributes // Directly assign + self.path = axElement.path + } +} + +struct QueryResponse: Codable { + let command_id: String + let success: Bool + let command: String // Name of the command, e.g., "getFocusedElement" + let data: AXElementForEncoding? // Contains the AX element's data, adapted for encoding + let error: ErrorResponse.ErrorDetail? + let debug_logs: [String]? + + // Custom initializer to bridge from HandlerResponse (from AXorcist module) + init(command_id: String, success: Bool, command: String, handlerResponse: HandlerResponse, debug_logs: [String]?) { + self.command_id = command_id + self.success = success + self.command = command + if let axElement = handlerResponse.data { + self.data = AXElementForEncoding(from: axElement) // Convert here + } else { + self.data = nil + } + if let errorMsg = handlerResponse.error { + self.error = ErrorResponse.ErrorDetail(message: errorMsg) + } else { + self.error = nil + } + self.debug_logs = debug_logs + } +} + +struct BatchOperationResponse: Codable { + let command_id: String + let success: Bool + let results: [QueryResponse] + let debug_logs: [String]? +} + +// Helper for DecodingError display +extension DecodingError { + var humanReadableDescription: String { + switch self { + case .typeMismatch(let type, let context): return "Type mismatch for \(type): \(context.debugDescription) at \(context.codingPath.map { $0.stringValue }.joined(separator: "."))" + case .valueNotFound(let type, let context): return "Value not found for \(type): \(context.debugDescription) at \(context.codingPath.map { $0.stringValue }.joined(separator: "."))" + case .keyNotFound(let key, let context): return "Key not found: \(key.stringValue) at \(context.codingPath.map { $0.stringValue }.joined(separator: ".")) - \(context.debugDescription)" + case .dataCorrupted(let context): return "Data corrupted: \(context.debugDescription) at \(context.codingPath.map { $0.stringValue }.joined(separator: "."))" + @unknown default: return self.localizedDescription + } + } +} + +/* +struct AXORC: ParsableCommand { ... old content ... } +*/ + diff --git a/Tests/AXorcistTests/AXorcistIntegrationTests.swift b/Tests/AXorcistTests/AXorcistIntegrationTests.swift new file mode 100644 index 0000000..225f845 --- /dev/null +++ b/Tests/AXorcistTests/AXorcistIntegrationTests.swift @@ -0,0 +1,1252 @@ +import AppKit +import XCTest +import Testing +@testable import AXorcist + +// Refactored TextEdit setup logic into an @MainActor async function +@MainActor +private func setupTextEditAndGetInfo() async throws -> (pid: pid_t, axAppElement: AXUIElement?) { + let textEditBundleId = "com.apple.TextEdit" + var app: NSRunningApplication? = NSRunningApplication.runningApplications(withBundleIdentifier: textEditBundleId).first + + if app == nil { + guard let url = NSWorkspace.shared.urlForApplication(withBundleIdentifier: textEditBundleId) else { + throw TestError.generic("Could not find URL for TextEdit application.") + } + + print("Attempting to launch TextEdit from URL: \(url.path)") + // Use the older launchApplication API which sometimes is more robust in test environments + // despite deprecation. Configure for async and no activation initially. + let configuration: [NSWorkspace.LaunchConfigurationKey: Any] = [:] // Empty config for older API + do { + app = try NSWorkspace.shared.launchApplication(at: url, + options: [.async, .withoutActivation], + configuration: configuration) + print("launchApplication call completed. App PID if returned: \(app?.processIdentifier ?? -1)") + } catch { + throw TestError.appNotRunning("Failed to launch TextEdit using launchApplication(at:options:configuration:): \(error.localizedDescription)") + } + + // Wait for the app to appear in running applications list + var launchedApp: NSRunningApplication? = nil + for attempt in 1...10 { // Retry for up to 10 * 0.5s = 5 seconds + launchedApp = NSRunningApplication.runningApplications(withBundleIdentifier: textEditBundleId).first + if launchedApp != nil { + print("TextEdit found running after launch, attempt \(attempt).") + break + } + try await Task.sleep(for: .milliseconds(500)) + print("Waiting for TextEdit to appear in running list... attempt \(attempt)") + } + + guard let runningAppAfterLaunch = launchedApp else { + throw TestError.appNotRunning("TextEdit did not appear in running applications list after launch attempt.") + } + app = runningAppAfterLaunch // Assign the found app + } + + guard let runningApp = app else { + // This should be redundant now due to the guard above, but as a final safety. + throw TestError.appNotRunning("TextEdit is unexpectedly nil before activation checks.") + } + + let pid = runningApp.processIdentifier + let axAppElement = AXUIElementCreateApplication(pid) + + // Activate and ensure a window + if !runningApp.isActive { + runningApp.activate(options: [.activateAllWindows]) + try await Task.sleep(for: .seconds(1.5)) // Wait for activation + } + + var window: AnyObject? + let resultCopyAttribute = AXUIElementCopyAttributeValue(axAppElement, ApplicationServices.kAXWindowsAttribute as CFString, &window) + if resultCopyAttribute != AXError.success || (window as? [AXUIElement])?.isEmpty ?? true { + let appleScript = """ + tell application "System Events" + tell process "TextEdit" + set frontmost to true + keystroke "n" using command down + end tell + end tell + """ + var errorDict: NSDictionary? + if let scriptObject = NSAppleScript(source: appleScript) { + scriptObject.executeAndReturnError(&errorDict) + if let error = errorDict { + throw TestError.appleScriptError("Failed to create new document in TextEdit: \(error)") + } + try await Task.sleep(for: .seconds(2)) // Wait for new document window + } + } + + // Re-check activation + if !runningApp.isActive { + runningApp.activate(options: [.activateAllWindows]) + try await Task.sleep(for: .seconds(1)) + } + + // Optional: Confirm focused element directly (for debugging setup) + var cfFocusedElement: CFTypeRef? + let status = AXUIElementCopyAttributeValue(axAppElement, ApplicationServices.kAXFocusedUIElementAttribute as CFString, &cfFocusedElement) + if status == AXError.success, cfFocusedElement != nil { + print("AX API successfully got a focused element during setup.") + } else { + print("AX API did not get a focused element during setup. Status: \(status.rawValue). This might be okay.") + } + + return (pid, axAppElement) +} + +@MainActor +private func closeTextEdit() async { + let textEditBundleId = "com.apple.TextEdit" + guard let textEdit = NSRunningApplication.runningApplications(withBundleIdentifier: textEditBundleId).first else { + return // Not running + } + + textEdit.terminate() + // Give it a moment to terminate gracefully + for _ in 0..<5 { // Check for up to 2.5 seconds + if textEdit.isTerminated { break } + try? await Task.sleep(for: .milliseconds(500)) + } + + if !textEdit.isTerminated { + textEdit.forceTerminate() + try? await Task.sleep(for: .milliseconds(500)) // Brief pause after force terminate + } +} + +private func runAXORCCommand(arguments: [String]) throws -> (String?, String?, Int32) { + let axorcUrl = productsDirectory.appendingPathComponent("axorc") + + let process = Process() + process.executableURL = axorcUrl + process.arguments = arguments + + let outputPipe = Pipe() + let errorPipe = Pipe() + process.standardOutput = outputPipe + process.standardError = errorPipe + + try process.run() + process.waitUntilExit() + + let outputData = outputPipe.fileHandleForReading.readDataToEndOfFile() + let errorData = errorPipe.fileHandleForReading.readDataToEndOfFile() + + let output = String(data: outputData, encoding: .utf8)?.trimmingCharacters(in: .whitespacesAndNewlines) + let errorOutput = String(data: errorData, encoding: .utf8)?.trimmingCharacters(in: .whitespacesAndNewlines) + + // Strip the AXORC_JSON_OUTPUT_PREFIX if present + let cleanOutput = stripJSONPrefix(from: output) + + return (cleanOutput, errorOutput, process.terminationStatus) +} + +// Helper to create a temporary file with content +private func createTempFile(content: String) throws -> String { + let tempDir = FileManager.default.temporaryDirectory + let fileName = UUID().uuidString + ".json" + let fileURL = tempDir.appendingPathComponent(fileName) + try content.write(to: fileURL, atomically: true, encoding: .utf8) + return fileURL.path +} + +// Helper to strip the JSON output prefix from axorc output +private func stripJSONPrefix(from output: String?) -> String? { + guard let output = output else { return nil } + let prefix = "AXORC_JSON_OUTPUT_PREFIX:::" + if output.hasPrefix(prefix) { + return String(output.dropFirst(prefix.count)).trimmingCharacters(in: .whitespacesAndNewlines) + } + return output +} + +// Function to run axorc with STDIN input +private func runAXORCCommandWithStdin(inputJSON: String, arguments: [String]) throws -> (String?, String?, Int32) { + let axorcUrl = productsDirectory.appendingPathComponent("axorc") + + let process = Process() + process.executableURL = axorcUrl + // Ensure --stdin is included if not already present, as axorc.swift now uses it as a flag + var effectiveArguments = arguments + if !effectiveArguments.contains("--stdin") { + effectiveArguments.append("--stdin") + } + process.arguments = effectiveArguments + + let outputPipe = Pipe() + let errorPipe = Pipe() + let inputPipe = Pipe() + + process.standardOutput = outputPipe + process.standardError = errorPipe + process.standardInput = inputPipe + + try process.run() + + // Write to STDIN + if let inputData = inputJSON.data(using: .utf8) { + try inputPipe.fileHandleForWriting.write(contentsOf: inputData) + inputPipe.fileHandleForWriting.closeFile() // Close STDIN to signal EOF + } else { + // Handle error: inputJSON could not be converted to Data + inputPipe.fileHandleForWriting.closeFile() // Still close it + // Consider throwing an error or logging + print("Warning: Could not convert inputJSON to Data for STDIN.") + } + + process.waitUntilExit() + + let outputData = outputPipe.fileHandleForReading.readDataToEndOfFile() + let errorData = errorPipe.fileHandleForReading.readDataToEndOfFile() + + let output = String(data: outputData, encoding: .utf8)?.trimmingCharacters(in: .whitespacesAndNewlines) + let errorOutput = String(data: errorData, encoding: .utf8)?.trimmingCharacters(in: .whitespacesAndNewlines) + + let cleanOutput = stripJSONPrefix(from: output) + + return (cleanOutput, errorOutput, process.terminationStatus) +} + +// MARK: - Codable Structs for Testing + +// Based on axorc.swift and AXorcist.swift +enum CommandType: String, Codable { + case ping + case getFocusedElement + // Add other command types as they are implemented in axorc + case collectAll, query, describeElement, getAttributes, performAction, extractText, batch +} + +// Local test model for Locator, mirroring AXorcist.Locator from Models.swift +struct Locator: Codable { + var match_all: Bool? + var criteria: [String: String] + var root_element_path_hint: [String]? + var requireAction: String? // Snake case for JSON: require_action + var computed_name_contains: String? + + enum CodingKeys: String, CodingKey { + case match_all + case criteria + case root_element_path_hint + case requireAction = "require_action" + case computed_name_contains + } + + init(match_all: Bool? = nil, criteria: [String: String] = [:], root_element_path_hint: [String]? = nil, requireAction: String? = nil, computed_name_contains: String? = nil) { + self.match_all = match_all + self.criteria = criteria + self.root_element_path_hint = root_element_path_hint + self.requireAction = requireAction + self.computed_name_contains = computed_name_contains + } +} + +struct CommandEnvelope: Codable { + let command_id: String + let command: CommandType + let application: String? + let attributes: [String]? + let debug_logging: Bool? + + // Use the locally defined Locator struct that mirrors AXorcist.Locator + let locator: Locator? + let path_hint: [String]? // Changed from String? to [String]? to align with AXorcist.CommandEnvelope + let max_elements: Int? + let output_format: OutputFormat? // Use directly from AXorcist module (OutputFormat, not AXorcist.OutputFormat) + let action_name: String? + let action_value: AnyCodable? // Use directly from AXorcist module (AnyCodable, not AXorcist.AnyCodable) + + let payload: [String: AnyCodable]? // Use directly from AXorcist module + let sub_commands: [CommandEnvelope]? // Recursive for batch command + + init(command_id: String, + command: CommandType, + application: String? = nil, + attributes: [String]? = nil, + debug_logging: Bool? = nil, + locator: Locator? = nil, // Use local Locator type + path_hint: [String]? = nil, // Aligned to [String]? + max_elements: Int? = nil, + output_format: OutputFormat? = nil, // Use direct OutputFormat + action_name: String? = nil, + action_value: AnyCodable? = nil, // Use direct AnyCodable + payload: [String: AnyCodable]? = nil, // Use direct AnyCodable + sub_commands: [CommandEnvelope]? = nil + ) { + self.command_id = command_id + self.command = command + self.application = application + self.attributes = attributes + self.debug_logging = debug_logging + self.locator = locator + self.path_hint = path_hint + self.max_elements = max_elements + self.output_format = output_format + self.action_name = action_name + self.action_value = action_value + self.payload = payload + self.sub_commands = sub_commands + } +} + +// Matches SimpleSuccessResponse implicitly defined in axorc.swift for ping +struct SimpleSuccessResponse: Codable { + let command_id: String + let success: Bool // Assuming true for success responses + let status: String? // e.g., "pong" + let message: String + let details: String? + let debug_logs: [String]? + + // Adding an explicit init to match how it might be constructed if `success` is always true for this type + init(command_id: String, success: Bool = true, status: String?, message: String, details: String?, debug_logs: [String]?) { + self.command_id = command_id + self.success = success + self.status = status + self.message = message + self.details = details + self.debug_logs = debug_logs + } +} + +// Matches ErrorResponse implicitly defined in axorc.swift +struct ErrorResponse: Codable { + let command_id: String + let success: Bool // Assuming false for error responses + let error: ErrorDetail // Changed from String to ErrorDetail struct + + struct ErrorDetail: Codable { // Nested struct for error message + let message: String + } + let debug_logs: [String]? + + // Custom init if needed, for now relying on synthesized one after struct change + init(command_id: String, success: Bool = false, error: ErrorDetail, debug_logs: [String]?) { + self.command_id = command_id + self.success = success + self.error = error + self.debug_logs = debug_logs + } +} + + +// For AXElement.attributes which can be [String: Any] +// Using a simplified AnyCodable for testing purposes + + +struct AXElementData: Codable { // Renamed from AXElement to avoid conflict if AXorcist.AXElement is imported + let attributes: [String: AnyCodable]? // Dictionary of attributes using AnyCodable from AXorcist module + let path: [String]? // Optional path from root + // Add other fields like role, description if they become part of the AXElement structure in axorc output + + // Explicit init to allow nil for attributes and path + init(attributes: [String: AnyCodable]? = nil, path: [String]? = nil) { // Use direct AnyCodable + self.attributes = attributes + self.path = path + } +} + +// Matches QueryResponse implicitly defined in axorc.swift for getFocusedElement +struct QueryResponse: Codable { + let command_id: String + let success: Bool + let command: String // e.g., "getFocusedElement" + let data: AXElementData? // This will contain the AX element's data + let error: ErrorDetail? // Changed from String? + let debug_logs: [String]? +} + +// Added for batch command testing +struct BatchOperationResponse: Codable { + let command_id: String + let success: Bool + let results: [QueryResponse] // Assuming batch results are QueryResponses + let debug_logs: [String]? +} + + +// MARK: - Test Cases + +@Test("Test Ping via STDIN") +func testPingViaStdin() async throws { + let inputJSON = """ + { + "command_id": "test_ping_stdin", + "command": "ping", + "payload": { + "message": "Hello from testPingViaStdin" + } + } + """ + let (output, errorOutput, terminationStatus) = try runAXORCCommandWithStdin(inputJSON: inputJSON, arguments: ["--stdin"]) + + #expect(terminationStatus == 0, "axorc command failed with status \(terminationStatus). Error: \(errorOutput ?? "N/A")") + #expect(errorOutput == nil || errorOutput!.isEmpty, "Expected no error output, but got: \(errorOutput!)") + + guard let outputString = output else { + #expect(Bool(false), "Output was nil for ping via STDIN") + return + } + + guard let responseData = outputString.data(using: .utf8) else { + #expect(Bool(false), "Failed to convert output to Data for ping via STDIN. Output: \(outputString)") + return + } + let decodedResponse = try JSONDecoder().decode(SimpleSuccessResponse.self, from: responseData) + #expect(decodedResponse.success == true) + #expect(decodedResponse.message == "Ping handled by AXORCCommand. Input source: STDIN", "Unexpected success message: \(decodedResponse.message)") + #expect(decodedResponse.details == "Hello from testPingViaStdin") +} + +@Test("Test Ping via --file") +func testPingViaFile() async throws { + let payloadMessage = "Hello from testPingViaFile" + let inputJSON = """ + { + "command_id": "test_ping_file", + "command": "ping", + "payload": { "message": "\(payloadMessage)" } + } + """ + let tempFilePath = try createTempFile(content: inputJSON) + defer { try? FileManager.default.removeItem(atPath: tempFilePath) } + + // axorc needs --file flag + let (output, errorOutput, terminationStatus) = try runAXORCCommand(arguments: ["--file", tempFilePath]) + + #expect(terminationStatus == 0, "axorc command failed with status \(terminationStatus). Error: \(errorOutput ?? "N/A")") + #expect(errorOutput == nil || errorOutput!.isEmpty, "Expected no error output, but got: \(errorOutput ?? "N/A")") + + guard let outputString = output else { + #expect(Bool(false), "Output was nil for ping via file") + return + } + guard let responseData = outputString.data(using: .utf8) else { + #expect(Bool(false), "Failed to convert output to Data for ping via file. Output: \(outputString)") + return + } + // Use the updated SimpleSuccessResponse for decoding + let decodedResponse = try JSONDecoder().decode(SimpleSuccessResponse.self, from: responseData) + #expect(decodedResponse.success == true) + #expect(decodedResponse.message.lowercased().contains("file: \(tempFilePath.lowercased())"), "Message should contain file path. Got: \(decodedResponse.message)") + #expect(decodedResponse.details == payloadMessage) +} + + +@Test("Test Ping via direct positional argument") +func testPingViaDirectPayload() async throws { + let payloadMessage = "Hello from testPingViaDirectPayload" + // Ensure the JSON string is compact and valid for a command-line argument + let inputJSON = "{\"command_id\":\"test_ping_direct\",\"command\":\"ping\",\"payload\":{\"message\":\"\(payloadMessage)\"}}" + + let (output, errorOutput, terminationStatus) = try runAXORCCommand(arguments: [inputJSON]) // No --stdin or --file for direct + + #expect(terminationStatus == 0, "axorc command failed with status \(terminationStatus). Error: \(errorOutput ?? "N/A")") + #expect(errorOutput == nil || errorOutput!.isEmpty, "Expected no error output, but got: \(errorOutput ?? "N/A")") + + guard let outputString = output else { + #expect(Bool(false), "Output was nil for ping via direct payload") + return + } + guard let responseData = outputString.data(using: .utf8) else { + #expect(Bool(false), "Failed to convert output to Data for ping via direct payload. Output: \(outputString)") + return + } + let decodedResponse = try JSONDecoder().decode(SimpleSuccessResponse.self, from: responseData) + #expect(decodedResponse.success == true) + #expect(decodedResponse.message.contains("Direct Argument Payload"), "Unexpected success message: \(decodedResponse.message)") + #expect(decodedResponse.details == payloadMessage) +} + +@Test("Test Error: Multiple Input Methods (stdin and file)") +func testErrorMultipleInputMethods() async throws { + let inputJSON = """ + { + "command_id": "test_error_multiple_inputs", + "command": "ping", + "payload": { "message": "This should not be processed" } + } + """ + let tempFilePath = try createTempFile(content: "{}") // Empty JSON for file + defer { try? FileManager.default.removeItem(atPath: tempFilePath) } + + // Pass arguments that trigger multiple inputs, including --stdin for runAXORCCommandWithStdin + let (output, errorOutput, terminationStatus) = try runAXORCCommandWithStdin(inputJSON: inputJSON, arguments: ["--file", tempFilePath]) // --stdin is added by the helper + + // axorc.swift now prints error to STDOUT and exits 0 + #expect(terminationStatus == 0, "axorc command should return 0 with error on stdout. Status: \(terminationStatus). Error STDOUT: \(output ?? "nil"). Error STDERR: \(errorOutput ?? "nil")") + + guard let outputString = output, !outputString.isEmpty else { + #expect(Bool(false), "Output was nil or empty for multiple input methods error test") + return + } + guard let responseData = outputString.data(using: .utf8) else { + #expect(Bool(false), "Failed to convert output to Data for multiple input methods error. Output: \(outputString)") + return + } + // Use the updated ErrorResponse for decoding + let errorResponse = try JSONDecoder().decode(ErrorResponse.self, from: responseData) + #expect(errorResponse.success == false) + #expect(errorResponse.error.message.contains("Multiple input flags specified"), "Unexpected error message: \(errorResponse.error.message)") +} + + +@Test("Test Error: No Input Provided for Ping") +func testErrorNoInputProvidedForPing() async throws { + // Run axorc with no input flags or direct payload + let (output, errorOutput, terminationStatus) = try runAXORCCommand(arguments: []) + + #expect(terminationStatus == 0, "axorc should return 0 with error on stdout. Status: \(terminationStatus). Error STDOUT: \(output ?? "nil"). Error STDERR: \(errorOutput ?? "nil")") + + guard let outputString = output, !outputString.isEmpty else { + #expect(Bool(false), "Output was nil or empty for no input test.") + return + } + guard let responseData = outputString.data(using: .utf8) else { + #expect(Bool(false), "Failed to convert output to Data for no input error. Output: \(outputString)") + return + } + let errorResponse = try JSONDecoder().decode(ErrorResponse.self, from: responseData) + #expect(errorResponse.success == false) + #expect(errorResponse.command_id == "input_error", "Expected command_id to be input_error, got \(errorResponse.command_id)") + #expect(errorResponse.error.message.contains("No JSON input method specified"), "Unexpected error message for no input: \(errorResponse.error.message)") +} + +// The original failing test, now adapted +@Test("Launch TextEdit, Get Focused Element via STDIN") +func testLaunchAndQueryTextEdit() async throws { + // Close TextEdit if it's running from a previous test + await closeTextEdit() // Now async and @MainActor + try await Task.sleep(for: .milliseconds(500)) // Pause after closing + + // Setup TextEdit (launch, activate, ensure window) - this is @MainActor + let (pid, _) = try await setupTextEditAndGetInfo() + #expect(pid != 0, "PID should not be zero after TextEdit setup") + // axAppElement from setupTextEditAndGetInfo is not directly used hereafter, but setup ensures app is ready. + + // Prepare the JSON command for axorc + let commandId = "focused_textedit_test_\(UUID().uuidString)" + let attributesToFetch: [String] = [ + ApplicationServices.kAXRoleAttribute as String, + ApplicationServices.kAXRoleDescriptionAttribute as String, + ApplicationServices.kAXValueAttribute as String, + "AXPlaceholderValue" // Custom attribute + ] + + let commandEnvelope = CommandEnvelope( + command_id: commandId, + command: .getFocusedElement, + application: "com.apple.TextEdit", + attributes: attributesToFetch, + debug_logging: true, + locator: nil, // Explicitly nil if not used for this command, or provide actual locator + payload: nil // Ensure all params of init are present or defaulted + ) + + let encoder = JSONEncoder() + let inputJSONData = try encoder.encode(commandEnvelope) + guard let inputJSON = String(data: inputJSONData, encoding: .utf8) else { + throw TestError.generic("Failed to encode CommandEnvelope to JSON string") + } + + print("Input JSON for axorc:\n\(inputJSON)") + + let (output, errorOutput, terminationStatus) = try runAXORCCommandWithStdin(inputJSON: inputJSON, arguments: ["--debug"]) + + print("axorc STDOUT:\n\(output ?? "nil")") + print("axorc STDERR:\n\(errorOutput ?? "nil")") + print("axorc Termination Status: \(terminationStatus)") + + #expect(terminationStatus == 0, "axorc command failed with status \(terminationStatus). Error Output: \(errorOutput ?? "N/A")") + + guard let outputJSONString = output else { + throw TestError.generic("axorc output was nil or empty for getFocusedElement. STDERR: \(errorOutput ?? "N/A")") + } + + let decoder = JSONDecoder() + guard let responseData = outputJSONString.data(using: .utf8) else { + throw TestError.generic("Failed to convert axorc output string to Data for getFocusedElement. Output: \(outputJSONString)") + } + + let queryResponse: QueryResponse + do { + queryResponse = try decoder.decode(QueryResponse.self, from: responseData) + } catch { + print("JSON Decoding Error: \(error)") + print("Problematic JSON string from axorc: \(outputJSONString)") // Print the problematic JSON + throw TestError.generic("Failed to decode QueryResponse from axorc: \(error.localizedDescription). Original JSON: \(outputJSONString)") + } + + #expect(queryResponse.success == true, "axorc command was not successful. Error: \(queryResponse.error?.message ?? "Unknown error"). Logs: \(queryResponse.debug_logs?.joined(separator: "\n") ?? "")") + #expect(queryResponse.command_id == commandId) + #expect(queryResponse.command == CommandType.getFocusedElement.rawValue) // Compare with rawValue + + guard let elementData = queryResponse.data else { + throw TestError.generic("QueryResponse data is nil. Error: \(queryResponse.error?.message ?? "N/A"). Logs: \(queryResponse.debug_logs?.joined(separator: "\n") ?? "")") + } + + // Validate attributes (example) + // Cast kAXTextAreaRole (CFString) to String for comparison + // Use ApplicationServices for standard AX constants + let expectedRole = ApplicationServices.kAXTextAreaRole as String + let actualRole = elementData.attributes?[ApplicationServices.kAXRoleAttribute as String]?.value as? String + #expect(actualRole == expectedRole, "Focused element role should be '\(expectedRole)'. Got: '\(actualRole ?? "nil")'. Attributes: \(elementData.attributes?.keys.map { $0 } ?? [])") + + // Use ApplicationServices.kAXValueAttribute and cast to String for key + #expect(elementData.attributes?.keys.contains(ApplicationServices.kAXValueAttribute as String) == true, "Focused element attributes should contain kAXValueAttribute as it was requested.") + + if let logs = queryResponse.debug_logs, !logs.isEmpty { + print("axorc Debug Logs:") + logs.forEach { print($0) } + } + + // Clean up TextEdit + await closeTextEdit() // Now async and @MainActor +} + +@Test("Get Attributes for TextEdit Application") +@MainActor +func testGetAttributesForTextEditApplication() async throws { + let commandId = "getattributes-textedit-app-\(UUID().uuidString)" + let textEditBundleId = "com.apple.TextEdit" + let requestedAttributes = ["AXRole", "AXTitle", "AXWindows", "AXFocusedWindow", "AXMainWindow", "AXIdentifier"] + + // Ensure TextEdit is running + do { + _ = try await setupTextEditAndGetInfo() + print("TextEdit setup completed for getAttributes test.") + } catch { + throw TestError.generic("TextEdit setup failed for getAttributes: \(error.localizedDescription)") + } + defer { + Task { await closeTextEdit() } + print("TextEdit close process initiated for getAttributes test.") + } + + // For getAttributes on the application itself + let appLocator = Locator(criteria: [:]) // Empty criteria, or specify if known e.g. ["AXRole": "AXApplication"] + + let commandEnvelope = CommandEnvelope( + command_id: commandId, + command: .getAttributes, + application: textEditBundleId, + attributes: requestedAttributes, + debug_logging: true, + locator: appLocator // Specify the locator for the application + ) + + let encoder = JSONEncoder() + encoder.outputFormatting = .withoutEscapingSlashes + let jsonData = try encoder.encode(commandEnvelope) + guard let jsonString = String(data: jsonData, encoding: .utf8) else { + throw TestError.generic("Failed to create JSON string for getAttributes command.") + } + + print("Sending getAttributes command to axorc: \(jsonString)") + let (output, errorOutput, exitCode) = try runAXORCCommand(arguments: [jsonString]) + + #expect(exitCode == 0, "axorc process should exit with 0. Error: \(errorOutput ?? "N/A")") + #expect(errorOutput == nil || errorOutput!.isEmpty, "STDERR should be empty on success. Got: \(errorOutput ?? "")") + + guard let outputString = output, !outputString.isEmpty else { + throw TestError.generic("Output string was nil or empty for getAttributes.") + } + print("Received output from axorc (getAttributes): \(outputString)") + + guard let responseData = outputString.data(using: .utf8) else { + throw TestError.generic("Could not convert output string to data for getAttributes. Output: \(outputString)") + } + + let decoder = JSONDecoder() + do { + let queryResponse = try decoder.decode(QueryResponse.self, from: responseData) + + #expect(queryResponse.command_id == commandId) + #expect(queryResponse.success == true, "getAttributes command should succeed. Error: \(queryResponse.error?.message ?? "None")") + #expect(queryResponse.command == CommandType.getAttributes.rawValue) + #expect(queryResponse.error == nil, "Error field should be nil. Got: \(queryResponse.error?.message ?? "N/A")") + #expect(queryResponse.data != nil, "Data field should not be nil.") + #expect(queryResponse.data?.attributes != nil, "AXElement attributes should not be nil.") + + // Check some specific attributes + let attributes = queryResponse.data?.attributes + #expect(attributes?["AXRole"]?.value as? String == "AXApplication", "Application role should be AXApplication. Got: \(String(describing: attributes?["AXRole"]?.value))") + #expect(attributes?["AXTitle"]?.value as? String == "TextEdit", "Application title should be TextEdit. Got: \(String(describing: attributes?["AXTitle"]?.value))") + + // AXWindows should be an array + if let windowsAttr = attributes?["AXWindows"] { + #expect(windowsAttr.value is [Any], "AXWindows should be an array. Type: \(type(of: windowsAttr.value))") + if let windowsArray = windowsAttr.value as? [AnyCodable] { + #expect(!windowsArray.isEmpty, "AXWindows array should not be empty if TextEdit has windows.") + } else if let windowsArray = windowsAttr.value as? [Any] { // More general check + #expect(!windowsArray.isEmpty, "AXWindows array should not be empty (general type check).") + } + } else { + #expect(attributes?["AXWindows"] != nil, "AXWindows attribute should be present.") + } + + #expect(queryResponse.debug_logs != nil, "Debug logs should be present.") + #expect(queryResponse.debug_logs?.contains { $0.contains("Handling getAttributes command") || $0.contains("handleGetAttributes completed") } == true, "Debug logs should indicate getAttributes execution.") + + } catch { + throw TestError.generic("Failed to decode QueryResponse for getAttributes: \(error.localizedDescription). Original JSON: \(outputString)") + } +} + +@Test("Query for TextEdit Text Area") +@MainActor +func testQueryForTextEditTextArea() async throws { + let commandId = "query-textedit-textarea-\(UUID().uuidString)" + let textEditBundleId = "com.apple.TextEdit" + // Use kAXTextAreaRole from ApplicationServices for accuracy + let textAreaRole = ApplicationServices.kAXTextAreaRole as String + let requestedAttributes = ["AXRole", "AXValue", "AXSelectedText", "AXNumberOfCharacters"] + + // Ensure TextEdit is running and has a window + do { + _ = try await setupTextEditAndGetInfo() + print("TextEdit setup completed for query test.") + } catch { + throw TestError.generic("TextEdit setup failed for query: \(error.localizedDescription)") + } + defer { + Task { await closeTextEdit() } + print("TextEdit close process initiated for query test.") + } + + // Locator to find the first text area in TextEdit + let textAreaLocator = Locator( + criteria: ["AXRole": textAreaRole] + ) + + let commandEnvelope = CommandEnvelope( + command_id: commandId, + command: .query, + application: textEditBundleId, + attributes: requestedAttributes, + debug_logging: true, + locator: textAreaLocator + ) + + let encoder = JSONEncoder() + encoder.outputFormatting = .withoutEscapingSlashes + let jsonData = try encoder.encode(commandEnvelope) + guard let jsonString = String(data: jsonData, encoding: .utf8) else { + throw TestError.generic("Failed to create JSON string for query command.") + } + + print("Sending query command to axorc: \(jsonString)") + let (output, errorOutput, exitCode) = try runAXORCCommand(arguments: [jsonString]) + + #expect(exitCode == 0, "axorc process should exit with 0. Error: \(errorOutput ?? "N/A")") + #expect(errorOutput == nil || errorOutput!.isEmpty, "STDERR should be empty on success. Got: \(errorOutput ?? "")") + + guard let outputString = output, !outputString.isEmpty else { + throw TestError.generic("Output string was nil or empty for query.") + } + print("Received output from axorc (query): \(outputString)") + + guard let responseData = outputString.data(using: .utf8) else { + throw TestError.generic("Could not convert output string to data for query. Output: \(outputString)") + } + + let decoder = JSONDecoder() + do { + let queryResponse = try decoder.decode(QueryResponse.self, from: responseData) + + #expect(queryResponse.command_id == commandId) + #expect(queryResponse.success == true, "query command should succeed. Error: \(queryResponse.error?.message ?? "None")") + #expect(queryResponse.command == CommandType.query.rawValue) + #expect(queryResponse.error == nil, "Error field should be nil. Got: \(queryResponse.error?.message ?? "N/A")") + #expect(queryResponse.data != nil, "Data field should not be nil.") + #expect(queryResponse.data?.attributes != nil, "AXElement attributes should not be nil.") + + let attributes = queryResponse.data?.attributes + #expect(attributes?["AXRole"]?.value as? String == textAreaRole, "Element role should be \(textAreaRole). Got: \(String(describing: attributes?["AXRole"]?.value))") + + // AXValue might be an empty string if the new document is empty, which is fine. + #expect(attributes?["AXValue"]?.value is String, "AXValue should exist and be a string.") + #expect(attributes?["AXNumberOfCharacters"]?.value is Int, "AXNumberOfCharacters should exist and be an Int.") + + #expect(queryResponse.debug_logs != nil, "Debug logs should be present.") + #expect(queryResponse.debug_logs?.contains { $0.contains("Handling query command") || $0.contains("handleQuery completed") } == true, "Debug logs should indicate query execution.") + + } catch { + throw TestError.generic("Failed to decode QueryResponse for query: \(error.localizedDescription). Original JSON: \(outputString)") + } +} + +@Test("Describe TextEdit Text Area") +@MainActor +func testDescribeTextEditTextArea() async throws { + let commandId = "describe-textedit-textarea-\(UUID().uuidString)" + let textEditBundleId = "com.apple.TextEdit" + let textAreaRole = ApplicationServices.kAXTextAreaRole as String + + // Ensure TextEdit is running and has a window + do { + _ = try await setupTextEditAndGetInfo() + print("TextEdit setup completed for describeElement test.") + } catch { + throw TestError.generic("TextEdit setup failed for describeElement: \(error.localizedDescription)") + } + defer { + Task { await closeTextEdit() } + print("TextEdit close process initiated for describeElement test.") + } + + // Locator to find the first text area in TextEdit + let textAreaLocator = Locator( + criteria: ["AXRole": textAreaRole] + ) + + let commandEnvelope = CommandEnvelope( + command_id: commandId, + command: .describeElement, + application: textEditBundleId, + // No attributes explicitly requested for describeElement + debug_logging: true, + locator: textAreaLocator + ) + + let encoder = JSONEncoder() + encoder.outputFormatting = .withoutEscapingSlashes + let jsonData = try encoder.encode(commandEnvelope) + guard let jsonString = String(data: jsonData, encoding: .utf8) else { + throw TestError.generic("Failed to create JSON string for describeElement command.") + } + + print("Sending describeElement command to axorc: \(jsonString)") + let (output, errorOutput, exitCode) = try runAXORCCommand(arguments: [jsonString]) + + #expect(exitCode == 0, "axorc process should exit with 0. Error: \(errorOutput ?? "N/A")") + #expect(errorOutput == nil || errorOutput!.isEmpty, "STDERR should be empty on success. Got: \(errorOutput ?? "")") + + guard let outputString = output, !outputString.isEmpty else { + throw TestError.generic("Output string was nil or empty for describeElement.") + } + print("Received output from axorc (describeElement): \(outputString)") + + guard let responseData = outputString.data(using: .utf8) else { + throw TestError.generic("Could not convert output string to data for describeElement. Output: \(outputString)") + } + + let decoder = JSONDecoder() + do { + let queryResponse = try decoder.decode(QueryResponse.self, from: responseData) + + #expect(queryResponse.command_id == commandId) + #expect(queryResponse.success == true, "describeElement command should succeed. Error: \(queryResponse.error?.message ?? "None")") + #expect(queryResponse.command == CommandType.describeElement.rawValue) + #expect(queryResponse.error == nil, "Error field should be nil. Got: \(queryResponse.error?.message ?? "N/A")") + #expect(queryResponse.data != nil, "Data field should not be nil.") + + guard let attributes = queryResponse.data?.attributes else { + throw TestError.generic("Attributes dictionary is nil in describeElement response.") + } + + #expect(attributes["AXRole"]?.value as? String == textAreaRole, "Element role should be \(textAreaRole). Got: \(String(describing: attributes["AXRole"]?.value))") + + // describeElement should return many attributes. Check for a few common ones. + #expect(attributes["AXRoleDescription"]?.value is String, "AXRoleDescription should exist.") + #expect(attributes["AXEnabled"]?.value is Bool, "AXEnabled should exist.") + #expect(attributes["AXPosition"]?.value != nil, "AXPosition should exist.") // Value can be complex (e.g., AXValue containing a CGPoint) + #expect(attributes["AXSize"]?.value != nil, "AXSize should exist.") // Value can be complex (e.g., AXValue containing a CGSize) + #expect(attributes.count > 10, "Expected describeElement to return many attributes (e.g., > 10). Got \(attributes.count)") + + #expect(queryResponse.debug_logs != nil, "Debug logs should be present.") + #expect(queryResponse.debug_logs?.contains { $0.contains("Handling describeElement command") || $0.contains("handleDescribeElement completed") } == true, "Debug logs should indicate describeElement execution.") + + } catch { + throw TestError.generic("Failed to decode QueryResponse for describeElement: \(error.localizedDescription). Original JSON: \(outputString)") + } +} + +@Test("Perform Action: Set Value of TextEdit Text Area") +@MainActor +func testPerformActionSetTextEditTextAreaValue() async throws { + let actionCommandId = "performaction-setvalue-\(UUID().uuidString)" + let queryCommandId = "query-verify-setvalue-\(UUID().uuidString)" + let textEditBundleId = "com.apple.TextEdit" + let textAreaRole = ApplicationServices.kAXTextAreaRole as String + let textToSet = "Hello from AXORC performAction test! Time: \(Date())" + + // Ensure TextEdit is running and has a window + do { + _ = try await setupTextEditAndGetInfo() + print("TextEdit setup completed for performAction test.") + } catch { + throw TestError.generic("TextEdit setup failed for performAction: \(error.localizedDescription)") + } + defer { + Task { await closeTextEdit() } + print("TextEdit close process initiated for performAction test.") + } + + // Locator for the text area + let textAreaLocator = Locator( + criteria: ["AXRole": textAreaRole] + ) + + // 1. Perform AXSetValueAction + let performActionEnvelope = CommandEnvelope( + command_id: actionCommandId, + command: .performAction, + application: textEditBundleId, + debug_logging: true, + locator: textAreaLocator, + action_name: "AXSetValue", // Standard action for setting value + action_value: AnyCodable(textToSet) // AXorcist.AnyCodable wrapping the string + ) + + let encoder = JSONEncoder() + encoder.outputFormatting = .withoutEscapingSlashes + var jsonData = try encoder.encode(performActionEnvelope) + guard var jsonString = String(data: jsonData, encoding: .utf8) else { + throw TestError.generic("Failed to create JSON for performAction command.") + } + + print("Sending performAction (AXSetValue) command: \(jsonString)") + var (output, errorOutput, exitCode) = try runAXORCCommand(arguments: [jsonString]) + + #expect(exitCode == 0, "performAction axorc call failed. Error: \(errorOutput ?? "N/A")") + #expect(errorOutput == nil || errorOutput!.isEmpty, "STDERR for performAction should be empty. Got: \(errorOutput ?? "")") + + guard let actionOutputString = output, !actionOutputString.isEmpty else { + throw TestError.generic("Output for performAction was nil/empty.") + } + print("Received output from performAction: \(actionOutputString)") + guard let actionResponseData = actionOutputString.data(using: .utf8) else { + throw TestError.generic("Could not convert performAction output to data. Output: \(actionOutputString)") + } + + let decoder = JSONDecoder() + do { + let actionResponse = try decoder.decode(QueryResponse.self, from: actionResponseData) // performAction returns a QueryResponse + #expect(actionResponse.command_id == actionCommandId) + #expect(actionResponse.success == true, "performAction command was not successful. Error: \(actionResponse.error?.message ?? "N/A")") + // Some actions might not return data, but AXSetValue might confirm the element it acted upon. + // For now, primary check is success. + } catch { + throw TestError.generic("Failed to decode QueryResponse for performAction: \(error.localizedDescription). JSON: \(actionOutputString)") + } + + // Brief pause for UI to update if necessary, though AXSetValue is often synchronous. + try await Task.sleep(for: .milliseconds(100)) + + // 2. Query the AXValue to verify + let queryEnvelope = CommandEnvelope( + command_id: queryCommandId, + command: .query, + application: textEditBundleId, + attributes: ["AXValue"], // Only need AXValue + debug_logging: true, + locator: textAreaLocator + ) + + jsonData = try encoder.encode(queryEnvelope) + guard let queryJsonString = String(data: jsonData, encoding: .utf8) else { + throw TestError.generic("Failed to create JSON for query (verify) command.") + } + + print("Sending query (to verify AXSetValue) command: \(queryJsonString)") + (output, errorOutput, exitCode) = try runAXORCCommand(arguments: [queryJsonString]) + + #expect(exitCode == 0, "Query (verify) axorc call failed. Error: \(errorOutput ?? "N/A")") + #expect(errorOutput == nil || errorOutput!.isEmpty, "STDERR for query (verify) should be empty. Got: \(errorOutput ?? "")") + + guard let queryOutputString = output, !queryOutputString.isEmpty else { + throw TestError.generic("Output for query (verify) was nil/empty.") + } + print("Received output from query (verify): \(queryOutputString)") + guard let queryResponseData = queryOutputString.data(using: .utf8) else { + throw TestError.generic("Could not convert query (verify) output to data. Output: \(queryOutputString)") + } + + do { + let verifyResponse = try decoder.decode(QueryResponse.self, from: queryResponseData) + #expect(verifyResponse.command_id == queryCommandId) + #expect(verifyResponse.success == true, "Query (verify) command failed. Error: \(verifyResponse.error?.message ?? "N/A")") + + guard let attributes = verifyResponse.data?.attributes else { + throw TestError.generic("Attributes nil in query (verify) response.") + } + let retrievedValue = attributes["AXValue"]?.value as? String + #expect(retrievedValue == textToSet, "AXValue after AXSetValue action did not match. Expected: '\(textToSet)'. Got: '\(retrievedValue ?? "nil")'") + + #expect(verifyResponse.debug_logs != nil) + } catch { + throw TestError.generic("Failed to decode QueryResponse for query (verify): \(error.localizedDescription). JSON: \(queryOutputString)") + } +} + +@Test("Extract Text from TextEdit Text Area") +@MainActor +func testExtractTextFromTextEditTextArea() async throws { + let setValueCommandId = "setvalue-for-extract-\(UUID().uuidString)" + let extractTextCommandId = "extracttext-textedit-textarea-\(UUID().uuidString)" + let textEditBundleId = "com.apple.TextEdit" + let textAreaRole = ApplicationServices.kAXTextAreaRole as String + let textToSetAndExtract = "Text to be extracted by AXORC. Unique: \(UUID().uuidString)" + + // Ensure TextEdit is running and has a window + do { + _ = try await setupTextEditAndGetInfo() + print("TextEdit setup completed for extractText test.") + } catch { + throw TestError.generic("TextEdit setup failed for extractText: \(error.localizedDescription)") + } + defer { + Task { await closeTextEdit() } + print("TextEdit close process initiated for extractText test.") + } + + // Locator for the text area + let textAreaLocator = Locator( + criteria: ["AXRole": textAreaRole] + ) + + // 1. Set a known value in the text area using performAction + let performActionEnvelope = CommandEnvelope( + command_id: setValueCommandId, + command: .performAction, + application: textEditBundleId, + debug_logging: true, + locator: textAreaLocator, + action_name: "AXSetValue", + action_value: AnyCodable(textToSetAndExtract) + ) + + let encoder = JSONEncoder() + encoder.outputFormatting = .withoutEscapingSlashes + var jsonData = try encoder.encode(performActionEnvelope) + guard var jsonString = String(data: jsonData, encoding: .utf8) else { + throw TestError.generic("Failed to create JSON for performAction (set value) command.") + } + + print("Sending performAction (AXSetValue) for extractText setup: \(jsonString)") + var (output, errorOutput, exitCode) = try runAXORCCommand(arguments: [jsonString]) + + #expect(exitCode == 0, "performAction (set value) call failed. Error: \(errorOutput ?? "N/A")") + guard let actionOutputString = output, !actionOutputString.isEmpty else { throw TestError.generic("Output for performAction (set value) was nil/empty.") } + let actionResponse = try JSONDecoder().decode(QueryResponse.self, from: Data(actionOutputString.utf8)) + #expect(actionResponse.success == true, "performAction (set value) was not successful. Error: \(actionResponse.error?.message ?? "N/A")") + + try await Task.sleep(for: .milliseconds(100)) // Brief pause + + // 2. Perform extractText command + let extractTextEnvelope = CommandEnvelope( + command_id: extractTextCommandId, + command: .extractText, + application: textEditBundleId, + debug_logging: true, + locator: textAreaLocator + ) + + jsonData = try encoder.encode(extractTextEnvelope) + guard let extractJsonString = String(data: jsonData, encoding: .utf8) else { + throw TestError.generic("Failed to create JSON for extractText command.") + } + + print("Sending extractText command: \(extractJsonString)") + (output, errorOutput, exitCode) = try runAXORCCommand(arguments: [extractJsonString]) + + #expect(exitCode == 0, "extractText axorc call failed. Error: \(errorOutput ?? "N/A")") + #expect(errorOutput == nil || errorOutput!.isEmpty, "STDERR for extractText should be empty. Got: \(errorOutput ?? "")") + + guard let extractOutputString = output, !extractOutputString.isEmpty else { + throw TestError.generic("Output for extractText was nil/empty.") + } + print("Received output from extractText: \(extractOutputString)") + guard let extractResponseData = extractOutputString.data(using: .utf8) else { + throw TestError.generic("Could not convert extractText output to data. Output: \(extractOutputString)") + } + + let decoder = JSONDecoder() + do { + let extractQueryResponse = try decoder.decode(QueryResponse.self, from: extractResponseData) + #expect(extractQueryResponse.command_id == extractTextCommandId) + #expect(extractQueryResponse.success == true, "extractText command failed. Error: \(extractQueryResponse.error?.message ?? "N/A")") + #expect(extractQueryResponse.command == CommandType.extractText.rawValue) + + guard let attributes = extractQueryResponse.data?.attributes else { + throw TestError.generic("Attributes nil in extractText response.") + } + + // AXorcist.handleExtractText is expected to return the text. + // The most straightforward way for it to appear in QueryResponse is via an attribute in `data.attributes`. + // Common attribute for text content is AXValue. Let's assume extractText populates this or a specific "ExtractedText" attribute. + // For now, checking AXValue as it's the most standard for text areas. + let extractedValue = attributes["AXValue"]?.value as? String + #expect(extractedValue == textToSetAndExtract, "Extracted text did not match set text. Expected: '\(textToSetAndExtract)'. Got: '\(extractedValue ?? "nil")'") + + #expect(extractQueryResponse.debug_logs != nil) + #expect(extractQueryResponse.debug_logs?.contains { $0.contains("Handling extractText command") || $0.contains("handleExtractText completed") } == true, "Debug logs should indicate extractText execution.") + + } catch { + throw TestError.generic("Failed to decode QueryResponse for extractText: \(error.localizedDescription). JSON: \(extractOutputString)") + } +} + +@Test("Batch Command: GetFocusedElement and Query TextEdit") +@MainActor +func testBatchCommand_GetFocusedElementAndQuery() async throws { + let batchCommandId = "batch-textedit-\(UUID().uuidString)" + let focusedElementSubCmdId = "batch-sub-getfocused-\(UUID().uuidString)" + let querySubCmdId = "batch-sub-querytextarea-\(UUID().uuidString)" + let textEditBundleId = "com.apple.TextEdit" + let textAreaRole = ApplicationServices.kAXTextAreaRole as String + + // Ensure TextEdit is running and has a window + do { + _ = try await setupTextEditAndGetInfo() + print("TextEdit setup completed for batch command test.") + } catch { + throw TestError.generic("TextEdit setup failed for batch command: \(error.localizedDescription)") + } + defer { + Task { await closeTextEdit() } + print("TextEdit close process initiated for batch command test.") + } + + // Sub-command 1: Get Focused Element + let getFocusedElementSubCommand = CommandEnvelope( + command_id: focusedElementSubCmdId, + command: .getFocusedElement, + application: textEditBundleId, + debug_logging: true + ) + + // Sub-command 2: Query for Text Area + let queryTextAreaSubCommandLocator = Locator(criteria: ["AXRole": textAreaRole]) + let queryTextAreaSubCommand = CommandEnvelope( + command_id: querySubCmdId, + command: .query, + application: textEditBundleId, + attributes: ["AXRole", "AXValue"], // Request some attributes for the text area + debug_logging: true, + locator: queryTextAreaSubCommandLocator + ) + + // Main Batch Command + let batchCommandEnvelope = CommandEnvelope( + command_id: batchCommandId, + command: .batch, + application: nil, // Application context is per sub-command if needed + debug_logging: true, + sub_commands: [getFocusedElementSubCommand, queryTextAreaSubCommand] + ) + + let encoder = JSONEncoder() + encoder.outputFormatting = .prettyPrinted // Easier to debug JSON if needed + let jsonData = try encoder.encode(batchCommandEnvelope) + guard let jsonString = String(data: jsonData, encoding: .utf8) else { + throw TestError.generic("Failed to create JSON string for batch command.") + } + + print("Sending batch command to axorc: \(jsonString)") + let (output, errorOutput, exitCode) = try runAXORCCommand(arguments: [jsonString]) + + #expect(exitCode == 0, "axorc process for batch command should exit with 0. Error: \(errorOutput ?? "N/A")") + #expect(errorOutput == nil || errorOutput!.isEmpty, "STDERR for batch command should be empty on success. Got: \(errorOutput ?? "")") + + guard let outputString = output, !outputString.isEmpty else { + throw TestError.generic("Output string was nil or empty for batch command.") + } + print("Received output from axorc (batch command): \(outputString)") + + guard let responseData = outputString.data(using: .utf8) else { + throw TestError.generic("Could not convert output string to data for batch command. Output: \(outputString)") + } + + let decoder = JSONDecoder() + do { + let batchResponse = try decoder.decode(BatchOperationResponse.self, from: responseData) + + #expect(batchResponse.command_id == batchCommandId) + #expect(batchResponse.success == true, "Batch command overall should succeed. Error: \(batchResponse.results.first(where: { !$0.success })?.error?.message ?? "None")") + #expect(batchResponse.results.count == 2, "Expected 2 results in batch response, got \(batchResponse.results.count)") + + // Check first sub-command result (getFocusedElement) + let result1 = batchResponse.results[0] + #expect(result1.command_id == focusedElementSubCmdId) + #expect(result1.success == true, "Sub-command getFocusedElement failed. Error: \(result1.error?.message ?? "N/A")") + #expect(result1.command == CommandType.getFocusedElement.rawValue) + #expect(result1.data != nil, "Data for getFocusedElement should not be nil") + #expect(result1.data?.attributes?["AXRole"]?.value as? String == textAreaRole, "Focused element (from batch) should be text area. Got \(String(describing: result1.data?.attributes?["AXRole"]?.value))") + + // Check second sub-command result (query for text area) + let result2 = batchResponse.results[1] + #expect(result2.command_id == querySubCmdId) + #expect(result2.success == true, "Sub-command query text area failed. Error: \(result2.error?.message ?? "N/A")") + #expect(result2.command == CommandType.query.rawValue) + #expect(result2.data != nil, "Data for query text area should not be nil") + #expect(result2.data?.attributes?["AXRole"]?.value as? String == textAreaRole, "Queried element (from batch) should be text area. Got \(String(describing: result2.data?.attributes?["AXRole"]?.value))") + + #expect(batchResponse.debug_logs != nil, "Batch response debug logs should be present.") + #expect(batchResponse.debug_logs?.contains { $0.contains("Executing batch command") || $0.contains("Batch command processing completed") } == true, "Debug logs should indicate batch execution.") + + } catch { + throw TestError.generic("Failed to decode BatchOperationResponse: \(error.localizedDescription). Original JSON: \(outputString)") + } +} + +// TestError enum definition +enum TestError: Error, CustomStringConvertible { + case appNotRunning(String) + case axError(String) + case appleScriptError(String) + case generic(String) + + var description: String { + switch self { + case .appNotRunning(let s): return "AppNotRunning: \(s)" + case .axError(let s): return "AXError: \(s)" + case .appleScriptError(let s): return "AppleScriptError: \(s)" + case .generic(let s): return "GenericTestError: \(s)" + } + } +} + +// Products directory helper (if not already present from previous steps) +var productsDirectory: URL { + #if os(macOS) + // First, try the .xctest bundle method (works well in Xcode) + for bundle in Bundle.allBundles where bundle.bundlePath.hasSuffix(".xctest") { + return bundle.bundleURL.deletingLastPathComponent() + } + + // Fallback for SPM command-line tests if .xctest bundle isn't found as expected. + // This navigates up from the test file to the package root, then to .build/debug. + let currentFileURL = URL(fileURLWithPath: #filePath) + // Assuming Tests/AXorcistTests/AXorcistIntegrationTests.swift structure: + // currentFileURL.deletingLastPathComponent() // AXorcistTests directory + // .deletingLastPathComponent() // Tests directory + // .deletingLastPathComponent() // AXorcist package root directory + let packageRootPath = currentFileURL.deletingLastPathComponent().deletingLastPathComponent().deletingLastPathComponent() + + // Try common build paths for SwiftPM + let buildPathsToTry = [ + packageRootPath.appendingPathComponent(".build/debug"), + packageRootPath.appendingPathComponent(".build/arm64-apple-macosx/debug"), + packageRootPath.appendingPathComponent(".build/x86_64-apple-macosx/debug") + ] + + let fileManager = FileManager.default + for path in buildPathsToTry { + // Check if the directory exists and contains the axorc executable + if fileManager.fileExists(atPath: path.appendingPathComponent("axorc").path) { + return path + } + } + + fatalError("couldn\'t find the products directory via Bundle or SPM fallback. Package root guessed as: \(packageRootPath.path). Searched paths: \(buildPathsToTry.map { $0.path }.joined(separator: ", "))") + #else + return Bundle.main.bundleURL + #endif +} \ No newline at end of file diff --git a/Tests/AXorcistTests/SimpleXCTest.swift b/Tests/AXorcistTests/SimpleXCTest.swift new file mode 100644 index 0000000..749d5b3 --- /dev/null +++ b/Tests/AXorcistTests/SimpleXCTest.swift @@ -0,0 +1,11 @@ +import XCTest + +class SimpleXCTest: XCTestCase { + func testExample() throws { + XCTAssertEqual(1, 1, "Simple assertion should pass") + } + + func testAnotherExample() { + XCTAssertTrue(true, "Another simple assertion") + } +} \ No newline at end of file diff --git a/axorc b/axorc new file mode 100755 index 0000000000000000000000000000000000000000..d49bc100bc940e4f0f3f53a4774f600fac05a578 GIT binary patch literal 2410976 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

D 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

(GRu>oWmaXQ#UGn2?WQT| z6I+nq)Nl`?kLaM7z$RId+^?&z^kDDyJiG(t_v36c1cuBY>l8dBKlDZc4#at6sk;L4 zPs#+_YpUp`Z~#kF4CaNUr_?`l9?TtXPqI zLh{;YOn?W%K(rq{;Zm?+0Aqi~+hdz~!4DRyo$QogTctM3DVGGq$g@o>ZKOTd2f-C6 z#ty6q2Po1jFZxmBpj%by^Jl-LI9l7E~*k{=Pdd|K_9Ii(21 zju8J_u?QL9meY8OHa7rJP);;yIu=V0e)&tOH+S%&aK<4(ACfhqJ--!Knw7X%NihAf zr*Uxxi=r&&5z$Fjsn!hX{3I;-8?|Mq+NR_ zchRc*dB)`CloS?;mypkI0D-nw^e=W;?Qd?GUAKVgB)bk^9l`jXD{yIAWG!}8h!z7; zspTS(_h_a5j?=Qd21b)=Vz48oCOG)?8gA-vH7_U~H+cTtJus3a(*{`lh-WKy7Ll?t z7kqzr#jCO__@-QNK@u11E7c$)JBwH{ERmYwUW%;|U{L;HU*@J_e)A3tEZ)s-wX8!Cc(@FVA_?*=@`E6rr7Ha({U)&HJHc6-UfB7VEHBwbib)Z70IATeE@2U5=IT2KHGp#xJ8`9`;fy_ zoj0Z^)p-_MB8R=v!v%gG;!@z6>{3K_{tzclQv$jfLe-S# z!5+2Dwq3z|5=)B#0$9p>0+*KA)^tAZM%_-frEu?ifSh3OoEZC{Qm|1wCmbVIP45H@ ziT1488r-MtWVhGTQi|J&FC+fM`+TIfjHEO^QpMeg|HQvxZa689-lT|Em0I+O=W*lH zMfN7X5?=ypUMfFj2)7|S^dG$BbN#4#53FCHLKv@-*No(8pYqaW4N}>mEyy@qqgKprq;)q2u77M+n( zx`mZbVxV82U?zHtxb(*_`jR@cSW(21`k6j)nG`Q33>VmYEA@v#JEo*QoEE z@fw<>p47MJu!Ellj^y^~Z;S8X&|%6B=aWO7l%enT7A`ZudIN;(XRr=jy9s09+Wq_y zai<+s`X7uMzCKBc(=Ceq6#oVX_hsg-k<7qi_ zHwEG3Y45>HFiIDQQ4+{{qFM}NWgRBTsZ?2Af8=M25JBwkHO43TjV#0({iztWO{Rq@ z@EglmGQ;qvWEt5reL4>V>4quJOiXbCTkU#@Zv|9V`R4vkau`Ffo)Dpfv6w%*4hP9{ zTK2kBENBHEqezDi^p9+Op#s?mE;PcCLD`|dqgggM1G=Dt7Nk42O$6~KQj(<<5m8}z zxJ_|aahWvc_#k0lb(12_Q8!%01;rjZ8A+C-+8R4r?hgD-Gp=Uwl0@{mJ!a?Xp^~mb z>@@+CL3lW^1=iy9~*lzj*HMm+0%#iv%wlaM73-x(f zAKHXQr#dSuGb>wwYyD8!s%~H~aR;ejwyqBfh#Sp}!+13oCZI*22bz1e`Qidxoy|oi z*<^8+nITb?^q?eE??R7gXTCUeYEyl%q$RJR328y=oPV;++GK}swn zEs-614l2d!5LTSE6?d>!*^%Ms$gl)43lAb47@mTc=)kZPFmiTLNgits_!hs3bKG{hOas?^(PR5Xs0q4XH_d?%kD#6!{~tp=^`ScVTe6t^=vSiQruleF>~ z39j(_X!q*4%8yDC>JuwJDvnR9Su!F?Hm|dS7LOphJU9sz#HmMxd~`o5z@r9q3Yzg= zK3Ztji5aUSL$X8L;KQ*AntqgQjPC`xyWwE@ZXFbct(JLWTh<+oDxZu&gP#U5Vf78`A-mIx&hI_ z_%j}r_!ih*Z+&;zif#bP_Zd8r%@|y{o60)c4y*FXW}kr;%;Xmiatx6 zZwzPRerLk#Y+Dq4hB)6`<4j~Z6Ph#8Jbluf*`oSW?QG6l&cqgHV!Jc(t~2qzGx4D_ z@v$@UsWb7pGx3!(QRhs2<4o*#CPL1{_s+yYXW}Pk;#X(ls59}KGjYP1h;vGCJ7=PU zGttqR_+*cR`CQI7ZJmh?&TPk=mHzHbgq?{tP5|-FM1nI>nKZg)?$A+6E0_^UpPVUaVGXU6Z@Qr1J1--PS9JNiS5qB zCTE!q&NmyKi5H#OUUnv)cV=7VOssY$UUep-^xFeYXb(FRk2({7vlA*J#v^OXzn_2z zGsfXCq&WH&fiq0u&N;FngpUXc8=0%_-&(mR!&!QCq{JT@plSa9W`7wlzc1YPCl&{a=L0uia_Y zcGcw{^b+s8@I08kIa9wB$DDnL-D~iVd%r8!%k;-ZhIf8Mct_j;kfGZUPimp&K>_To z693mGrt(Ma%HOan4=!vgu1Do&?0mRvM|#lCS-$CH)E&B``3fl$)S}@w@*j+eH`BMpya94z?SqmO7lm zPE_~4&@&^y*wfpde-`4m6L_Ka{2k(LWM;ZIwnK(e5ix6~NyO;cvUiDAlkRLUoAivL zOLUXoP7IA~%*+jZX+Vc*Tmk1Rj2*1xaHPre`G zHU||rbp>?G8+_zM@3m~0L~mmK)eP(KBVG;SgLWwYiX5idOhnxjY*ZczpGIJ=z{6JMhm{HGL$q-$3i6!MuW33GQ=rV zNFmA|F7E5av3D1vI6jw<7Z>1JT==Fp27D$gXgAb6p+CMMFu-2+xHqF=OPss%8N6!_ zQpHa@S;Vi{!4I(1Cw~ zyY{fQVEQNbA$P1f*w!u7DVkwyKJzC2;!XVBoA{->;ubY9f5@=d=G@TNKy?c(?JisT z+V5sd`>>_K_>WW*VpK}xux@Iw2GI}gjrs^~{jDw3q$JK~)l>~F_9t-i&M}FT#f@~oLXOtXvSBLC#TfEhbQk6Pcp<)zP(TV8+dZN<4HpO zb9i#Es#(H0yZ%u;IqxqhC51Yz{$9+goBRCbjwdWJKPG-blo8?*x*cQqyRi>_58_;x zAPRaJu60Ml;j?kz$QO85iu6H@_5XqW>6N(VcGCPn6*jqoSjpMExfYu<7T!+d zaez2?+R=`$*%5ul3;8GSB@_&EseV%7# zLTLN@|9-rTGxOa0+~wSJ&OP^RcV|U!ujaEHulwgrt8%~kBUL-M9$Z4G>B583DuPbNO zh-#B|U+0BiSLptQ{`whjX?^F$xopOGT(Eoq?`@DlXtvuW4|LJ{3plQeyjv?Pm zT!E!(c<*5e_L2Ci^3*V@s5}(qnJy;((_=CUC2qv(Kbgws;S^b_47|965&@x{8s~xA z)AaE% zTWij+doL=m3pg~i)j1PWB>y~A^8{DY*04DjGWaG_n9-P9SnLJ^X7BkFP|D2GM`o5! z_<@<_NF8qCjk7-!oNIO+Y>g>oFyG6pqWUwwJNql!2xgT&GOL_2WXFafb7mB@9y`0~ zAQqyX{=ez`f=(H4U|bO-6Z=IL4KJu^I0$|cIk!=M7J6K>=b&l5YMMA%oDoYlev?J2Tl>N zqw>_V?Ox3{zi_YSXS`~=?6WKE)OV-&YiF)qG#9Y!2S*%u@8RTPgy#Kf$MY%Alk#j!q%$8N_K+ zAZ=6VwOJimRP`^7K2h0h#>cQJW3#%;$~bG;yz4vCq@Oa{Jou$AAmmvYC3p5ch(g`B zdyB*VYZ~7P4ng*Sv&Tf3j~pQWp)EZ7pku!HOhTNy^$N>z@`!4tr}KM#&|oY%bN9Xm zbopr0l>zzNK~GMS$)fvg16-*cG+^$d5C3pd%UAG_F70*C2_PqU&6p>~v(uc)2+b>p zlUFBMJOw8JNY^?Veg^oh)ApHO{Hi=l3+LuHom;@emFCZa1PQ6ydY$x?qGY}VK?ihz zH|`o9Ed*|QaqMZCFqO{p8#`d;?Ii>eSYTM`!@GZ3KX@hDBYIs9fr?dFEObpsPOA=8i zM=G#>aoA@~V>jZPw4}=_rd5vf7T-8#;&iMm3}e`Cdn5{io;F7#r8o?4Fh_0|0=Jk= zI~}y;MjcDoG0DSTQgzC7Vc4p)j7kcisvF5jIcX>?czx93W281tKLFlYUNYtYCLR#X zVHOQAhn+Q?1z&KG(sfs4>Ivq+tvfvfoMf3b#5=aRA(rUn0O%hq)8X5UR#`w{8*Qou zCeV5;*!jWTlKeMj_VZ!7A2L>+7Q$MfQIfQ=4(0O9J1i07+-50eV+Ui}`l%b!Q(8+& zIFS=AEWaQoX6TiK^^6uDIeE-@qlBQJMhbe3S2BBEd{U9j*fy4fyj~);5 z%lz&Wb=rszXFqleg`4y=>1k0*c|AhdQ;n|6x^n40;l+H;9s&914{|{UO(R~Xq*y$778G<3=DG(f!Uyx*gJ;55 z6e7keg<*}=?!k!g!8$!iC!r!TJ zLHJ;yd$2g1T)lhHFC52w_u!21!2&%9ZZ9Vn3Q&qAZ^1(;x8_9` z$RZ&EaQR(9y!P5J#E})`M;#Zt$8J2fm1Tn16GeY@x3SMuM;!XQQC(Z={(N$tlFXPm zcG>S0)%~_S!i&B*$+}KdkZakz9svWj<2RXMAKM1`MMck^V?fU#(K_yo7|4n9 zarIbOj$;@e9%YFs89JOYoK0<(;ZhaFZ?aj2X-oAlj1TKyFg#w-ABF!;Gm9pJ zPT~Xkrm0z=gGsmcwbGcE9J$aev)j@tvw}}S&N4cCms+HDB9Ni6wq8@8zz1fg`(^sl zw1t-oyp7bJW((Ra>u?9QAA!Cdf=yr%5t(kO0BnzHNwp7sVR*zYxL7PQiCN~7P_%{X&_&h#cvd`d zV&&vW-7&J6#N9=AeoQY5{0HsFiAM)okhPfKGJ_IwMa0V?74Z-R{P)Z!H&{s_zIw-M zQU;ikn$0<}F1O@Is?Py`N>Feli{BGZ-}rm^0xtRnF$30O>2WOBx*(@w5RSjLMWARY z?pLnK>JM^;#djT(GjMgd?Qis%LB*jdXeBLn1kYnG;XbnULfyjcx%&kxj>J)R;JHm* z2ZZog&X!NqlaRV~q}UPO+w4%oxW($N54`S|H4Whv4jZ3&jqj5@ePp#4KZN7vgARQz z%j0|4BF>d<4Sr*h>L}y#$Pnf5XbybO@+Dml!eTTCOLlJ-dwd6;GuOGDuQlgrJZ!+6 zJs_SNpanDCa%EC;6rF6ZdAA(7!tSiA%uGHlN8V~`SS96FOO`K;)SheU#K3vY`mHp{ z=U6R$k$sMsQPkFUepAG>el&2oX7!Xu?fJ&(v84A+K@e`ggX(5Mt zsbc~l2b)WP9EwX?ef?g@QPyP&$Z;&lJLf@xAN+Vx+eZV+>vs4t6!OsR;|B{n+u_J< zu4QoK-lUp|H)kVCr1lf0oN5B)b!<4HRDTNvBun)KgJwQnRaZb8tQAH)UUNnBd1Ed~ zzW6KSdzo!PjIR#d^J=P^HGlP8af+6Wn7zb<+I^AmK4bwE$Y<`QD(6QMt!k}pFRe1& znKKxHm+lrwOQUT7TL=RJTBua3h zjSV-i!EahG`hP?1G-athQhlSyBP8>l8gjT@jAOePw@`tEEt~eSHEBneBx-K?Ks*+1 z>c*%r?NL0^N*(Do_k*Y^8PyE2Rf~?dmj>FDimG)z_y8j@cUpQaj#@>By=2n7X_1MO z;ag5F*NDD;UzpNj8nq>69B^lXw$H7jn>19-8>-9pL}+(C=q(A}7vGo7(JtD8oM~pN zAs3_#clqt3mb);pRu5O7- zhjRB6zyBh?|9tw_vA|qz>soH1O+uq*EKm(Lo#j`Bu%6TF;7%=lO8^>lf6A%0;K&S)M$IlCQl1A z3mg5d-{0b+H7~L4z8a}J7_W@fVmLP|>DBMji}p~lN`XQsM)sIi0Pn=o>; zc^rJp8tEz1!jT?hPNiR>lB=uk>lAsgw7TA^$es^J9wAUK9DN9dO|eMncFVVRn9u*^ zmcJfK;w0NsjR(4?Y9$@4S^2g0(O0PFzp~7KrB1}>D>G37&jBR@#`wD$ZExtj)oLPl z`U4_a7m7OQ-qPxlIjaz98#m?+>kfDE?{;@F@UvG+Lz!Vhb#baTR`n~(`HRb-6LT{> zFP+xQMhM{6#HMWitUf{Pb1d7}XIaW`k@#X-w z^_OCmzP-l=0l8>|%A*5I!WUlROtVX4p_lV)Z+?g+@e0f~_Xzkf;R`NC6OQ%wKUt3T z93SR1TR-=Gb}whBC{OhPErPbO$=yZ#lO5q5zNsN~I6qZ^peHO@_ja4J-@WJM%sHQ3 z*o6(nbQu^&Ak)U61ooYFa2OB#m>L%^iYsq6W zE8qOdw$);OX)A2E){nGFf`||=aZ$b(CmclKSAIl@9jPJ#GkarVm(U0yOVk}o?yR2Y z<=NdFQ6wBHCZs+ykHemq=PdydIzb9V`nT(opgyeZX%|n@STh?L~kIT^Q~xxiy7EZh8_pnApl$u~@y;VqfI z*PP16jGuf35K=jX84wC*>t5a#_H+kIA%FeajY2S*Hf3_fByY)-=@sg$H4WFYag!_0 z9YaLQ-eVX)dHf{C@FPDuCgYtcH;kE>UfC>cxN%G+*agHZDyB>hM#l(-j+s1m93`%x z)2HdyhEAL^ecZX;68lEhDqS^Y%A|8EX^o~bppfh}d`vi3^zHhWiK|nlOuSw*${s_q z*P!%UdqZf%v?()h?{H4%Pn$BMWE$%}#`YAfJ9D~Z$_$n+#FY#TA39}Xr| zp<7RZpgyszv}WU3A9D3FZ2$kyHY&UU_PtT%YoqFu-lz_>0iABQ3b(0zwy9V$cfm)v zY@YSpes+50sSnwx+)QmIhqR4XUPn6cqIgK;-v57+X-ex+EWPX{b8r40loT(U9~*nf zoM_JS(DJ%9LsndJ+qh}h!z_@4r%xI)O{^>yFP($dbFPQq!7y%#9Oll1C2b#+Jew1Z zzur2~TUNoH-J{1&nH*hO0c!Ko$6PzHY{K*@lSfalm=;|+e)3I1u~uY7atxSf-m&Vk zVROc<4YS*FOKQL}v_eO{D}f}p8Kn=N!3%M7k0otBZ{MO^rJL_f)!Xf)#nBC?qM<7q?^&XzY$nKo%mg;}V2Nt@u0JIClosU>lTyHP5LM2|M4Rq{&aJ;I00 z`DR8kRxX-G!UDH8==$KqByv=z$jGgAX)!0M$D}MVIFz=S6ZA9ws8sm+IqgU-#Yx9R z7LirLW@s46vAB%95vB9U6=&8Isug#QL$X)(_<$5M{lvT2{H2#8`Y8+M$5@u<9xMaA$)Va}nJppDJL2?d+e{6&3sEY7G7heiN{evq;>TGLyMu!w1rLP-9y7Kx#-H{49JR z-IG6#SaNDVQ1S>VBAm5R8Y7-`Nk5TdMraMe%weT>apUV;^4Y;_Vuj4{vsmG7uX`gA zC7UV^2ky{AEdCKkVo}8-Z#jjp0@G>rwfR~BU0+azC;X>molBIjCW}h4vY{-#-5mRf zJ;-}WYf6IRo6!Ky9~S>0zFx&2;;9krc=GC>96hX9` zdCEb`8t>jShr}#G>}}XM@X)}p@hq5P_PZ}zas8BqB>)|-YymuLm4wQ?7yoX+4vqlgKw_f3!paQdGb(JWlyt(2; zhY}tm^hM#t0Rs|(++m>_seN2cCvuQ#8V$PUd%%2X;ScoN=Cl0Du7xkRcCij7mGjAHq_xy_U2%H}suzC)I^li2 zy99;<5JBdFT*QMJ4&hQT zLNmpTSpJwg%RoL6>#UV62SU_8 zOu#%A`Pxz$ETu30>uZ*#PYh^Umql9+X3Y7v*)%0rbWeSPgbk7)G3;j1H5QB$6@9pZ zDYvZ4O=AVb=}3A1(Hu4Aa39pT~uIET9>nt(c~|swsZ}HV#U^U!{aDGl+w(?w~6Ho*Jr?Fc_m;UDYG(0wF_Imn`Alsqj0+>GhNg*}Z_6ji|8j`E;-SSHGL*Hl znXYaAS&_~deC$P<75+t zNjdCdGm$8CakcHj4(Y)EHYCZ=PI5NK@LKCt8RGM@U=<})?>!%OY!2|g1nw;k+R=^? zeO0^rOB&4Uuk)2SsfzuzcJ;9S)`R#qO!r@{Mv&}n7CjkcWXwXpWAhyPJ(VAVkVs(C_Wp4KC8q+lvfCg}c6%L2rMUI94*F4?m^mL?ZkG+h=%!UY&Q zv`LHQu-2TeADQS{0J=)nGl#20JPD2P=jN>o9G>2Ak3K>ECiCD+nRxmMzXTd_Hh6(W zONXws5J2Vb6YSgOr>>IL+b<{f!B^(&tH(&~V(qa0=9sjCn&ix6 z(W%|E;-8zJM=96#7pbjrRUPGiit=89F2|hu8sGf=7`@45XB-s+5>GrK(svwvV9iF- zt|I;bKmO5hpEskCC7X&pVhpU8*s<_E$!?3!o;-fyIRMNGOz(#pl+8|Hiqw8X8JMfv z>z0Id7YoGvvrxDM97BYtTf+k{c_~BK?iGUMNy+=M!uOH8BDK#^=r`jE1i#+?oAYd; zz4jc7r?A+oA36D!$x~)bE(n?H(DN?4eX0`1IJRnDog=icc*F_n(Yr+&__;Jj;|-=5 zTw9P+IaEU_n%sX3U8kq^p_^L8u}fTuom()Y4>hjpRdzJ^Rt4w;u%tL__N-7RK?t+Um{RVVSN;Ndv> z6IwL4ze9MYl5%Zv$WW6v3A|g)xy1oTw|S%`xSeBo{La$~(ll{l z{F>AHsmViWQkQ_FoO2K7lO5(b1dcS~`bY`l{)jsrgt+U^Q{UTQW7W*W?a*c=551Zf z=kcUd#U%(?7KJ5bC5v|>O8dgx-B1t<>L522@xH~J|7B-2r=Fjrktn_{fwTy(*`f;ziadOdJ`Wgsxb?P|%DiGJ^_VE{1vQuw?%y@#mQG;Wen-?BY62{9BG~TuH z_*kH)QGE-l`aoaeC4a`uR;M28iJ@v+{;^^Nxl0u$`haXvZ}1R?tYY z=omfvs~YM}Lt4|j{f1IXD->NebjqZumE=@{htB7L8LN>w3%a?&e$VanbGyx2*UV_m ztb83-DsB?movRA|;sJ+^TK?IsGn`=2v^3nWD{!FgHsmJ7^@>NJr%Wv*KgyBHOd1;%>2uLiOPE3y0A zZ#lY0rw=7%!YyMo;yq{m#|5eA>lWmCwUjKnaF1J%8Ax!c+qE&!%XyS_v>-=P*_2V! zTe`P#EoRkX<@1=6#OuqHtee20^Rz-7mYo?wSW&oEn_~b>;}yP6f>W>io(d8eViVpY zUV0kLjNGc)BNxLhTe~RdDV?_0Yuip;hlf3+4&~hyUtyIQ+#)?a?KHwg2FuNKob7Zy z4`9EZX33a3EN_<%vUh=srSUIIs=v%B&HJXchfD20UQY`*u@om|BiO>6Ib8@o%sjQW znD2H6FllK%IoGbu(qL`G7&M=kRjsBkRl#8W+bGnTP=o+xvB$)~n=H42{VoUjg4!S- z>C8jqOU{g#mtWYw)54sR+9vB`5M3Jh7_gLHq;yyK>ZXu&Z{|Kwiq?t!BzRi@xp*a? z=ntm~ZYADQn*-p?f^BAk-~3A3d`u1s!C>UBu#0Y3H8YfInqPO?$XWZ=W~9Mh80%HnpL%q7J!rQF><_P{w_PGj5q(R31&0F5#g zra zwD8hM?LDkE9L9XEZ99YgEd1BkxnFuAk2YrwbR>MSvA=ktsG~^aD zlNu-m*w^|2HKEumb_iA{2)hzT7BX%=&JHYkiB&~&*~s@o;g5?@a zlBrS2S~*(GiUvDTL^1L7t@Zk~)jY*h>=R^JLBX;k*hy**cWnDUN~O@-r=t!IFMpZ= z3vYT63^?F0d@eR`CXXP0UHJab?d;kFs`ugVhx~m+z;`iTXYyY=fxmmnF>owumuLBW zg+FV>%dl+?1pO6I`+Q)IBw@$$zcHl55Ij+a3^9Yr27p#R;?->2?w!Eay@eV#FUqKK zMEe?>s4;;WiKzo3e;aWc8-%HY1{Jze#$!G?x|k#RD)98vXL4M7lf|Vwd1D>E242zzTd2SOf;lRN_Sa(8k5jS| zXbRjY2sz?re)SX5TN_yTc%$`hJASm8qE%LW|pm|X3vWMN%q0fDbOjoU2*XR5^@VKjc5C#RkP7{6|v zC*17ujK$5JrU4KzJ%R5pyk-6HEgEtw=63T9rJ%O8ZG3JFzqF^%5|Sp14^zrwLQ~D} zZnF^coY-f+rJar-R?|TLJ#HVtj02N za{5a2=;DT(ssZ41{m8#rsQ#{79bmOk_XwixS7~vuN?a{n5DFcn%k}y(mKTS&8w>r$ zD>SRAo>#NtdrD(NRrqhOGu=4uu%)X^{8=Atf{i&)=0VPEW*}qG@i93L!}T?LM~Gtu z9uZ4iPbB503bOsY<;S2WepKKkrg4_q6)QvojtS~B&c78Xf4<^CuAQeZc!Ra3>%yGY zylBlgIh8$ex>8bybT15e;Dnr#@@U&jQ_sLr45B-=eTxn07T<)YaN7MdujLmulnvTk z+0^=!^V?H~HBVv`#&4XYd)zi%OQDOQz1|*yRPm`o&2<9$8(TP6Mc5PmC@qsUxgj4U zt0>%Ho}rLIdR+VvG7Fo&jRfI))PAzp{ooKNj%2jQG_mbPYvegL8pk+~*K|^Dc22IN_bJpX7=7yQZ{19k6}0EJ3m*EV#JobGJ`?jzN%Fu}B*wyV2qJ zQ(V<&sp`0wd5uZ{wP3F?SO*F2&%i;DaQDQ_{8-M;snaIpTx$;ctSgM8ir4PI+hM4* z?)HL+Hv)|{A22sMUZi$c zh)>q+$%#DB@O0;XjfHFIF|w#JGHiM15HdvZQ;Ww22iy7^#!nkJ7RLqz+eX|6yvD7A zLO!#_%lXP7VPw(Z$RaKXnQ)lDgW++YyHHNban2gp?)f=~#Nc-P?&t3Q?x#SEAE`@j z!tlQf$D5ORiHEI#{{r`(Txq!>2ChppQ(9PmPspn`aa9|kexg6u*(?+*%&){mh_}WL zEsl%F?#PV@%Ii$xX@FF-vbPW4fRxmi7zjWmw2 z0s_7KIdZSKPoUu~5rKTN8HMSXiIwB5=!k-D7k7ksA#)-D)_O6gdtinzCvH(8<`=e7 z*kBhalybJ9f1gr0Z7j`LHD9`w$^-SzJ4gvIwpTzmzs1vN(cY~={3C@W)mw5Fb{^Jm zd+YBQiT$UU6z&ubfFl0zN5WUWt=Yn%f2TQ8dlg6-!8Ar6?AWoxA)d3sRn<=4SyZUDd$R#vQ@0 zUFRV6(n$fN9?)P(?xJIXpfzp*5Tp8TbILOT1S(@du0@c$;2v$P45UZwr<$aVg~1Y^ z1|jF!)lABK{FmVE3OvHAXkW8#27uacAEW>FQ|IV(9eC<1Hf(;b(rRKB=OS3NG%DE)Lw&qc{~gS9?2VZde@;yJg%diMQkIZpCAR6C25xBxkHUY)x|@n0*f9qK_Gm3#CB68OS{NUz z^m+CS%r9qmMhSIx=gJFMsUL8Ql2+<(Fegp~Y14DOn>4t@2S$400eW8V$fDBK5cXhc zADt~UL@liCCGnP$YGkHl(Yqpvy%;%bU@ycF=N1ruWp} znV10O-1vRm05HzmCIC$TCo@+vQY-yhHZ0PC5N39@gG!{Xt3AsX_4Ft5C^Y`RK&IEe z#vf?3On+#z^}>#f{vFx&A#dUIgg;4=A?&=(Yy-Wa9vOTiwe@IFP$0Unu#C(}rOokm zJ64mGkkn;fP4gxs^MTc0cMhY}K9t_JWSKQWMoM?HV*QL;v1egwWpPwh*XE^$pvh0K zX*a*d&#B?B>D4#=FKe2!-~Ya*D}}7Vx!!1XJsVyU60C1P?F%SE$HfkyT+;r}q2>NRtmUu& z5Uyokh&EiykIBN>Ix`LLUuI+`*0@NOOVzrcHTZr0#J|ABhus(+hPrwh45-vjdq zB=Y|Ni=G$SfI#a*+W#;n3qi8z!_98UQ%=w>d?bt>eP?dfSnUYs^-k@_3}t4D-ZXj2 zH2C&LjsoIj1!=~WUdb5?+)Dn55$}5?SKryW)7hOX_QOM+jSd6PCWdj1KMd0k%gY=@ zi`-{!a6|C<*YK|Y4MLV_hU=PPkdY|Wfe#LjdCjTs!@)x=`%v>M8W9}^^X0T77to4h zm)YOJxrizOmx}-1&Gs;hw^b;{D#6>4_2&AYF;pozitgFufO`&!2R1aG z$USo!s`*Fxm9eT#kV0#Dn$cuWqILf?Gv3#PeCG4X@0`7&%}l3B@D*H%)E4h*Yb&kY z)Imh5wSVD#AFX*~Q?zmGz|;rGL4^&4FXNQn;dZi6z7A<>>HuL8NjpVf3}VmZYU|?B zEDklN_wnO&gRl0^iQ~Ba$BHQdgpX$yGSbx{ZDit;41z)Rk4!brsE#x25;T)V`5!u{ zKZ0KWf7t-u7HOsD60-e)P<`v@{|{DU^b;Zb*aV4$?BglIvn^UoJCbwXle%Nb{6NNt zMDgKMB~Lb)1;1qsU0I1W2x|cqugjw1uTn*9DQPCu^8+{iM~@Ae(2ZmM7bc|5IRg%R zuPOQN(j4e}%%t_weL?5H;Ah$Yg%DW-8HEsen1sFiW@`kA>?%RS6JROZV*rx%p~fA? zHf&ewXc7|_Bj4Z2-=+NBz~7bN^a$wvSpH7uZwYmt0dzm+ZytYh;C27x*>Ct_y(0A@;)fheQ!v z$DAx)w1MN^_|bsdvWfohYO%>e1t^fiZK@HZ8XOO7s2LGEGNfNxK~UOQosSAvYi}%k z9gA?qq3#SIiDMVIB62C!tBKs7UGB!9Yg+3r)w5*L$+o8!bsU+WE&mb%ruoO(Ki0Eky07+&GLiuJyHo;iqg!|5i1 zO>v{Otz0$Q96TQsBJl(Na|u6xeHQBdpjtIxk`(svqv{NsC(31x-stj*-?>&GD%#11 z+#j#_jpjmxmTW5O&)md2Ixn8gfV`#QYRqox-D&xsJTAb#jU@SFt~Z0JR~A1WU!M=T zwq0)k2WGR1#a^!`iC)jxX>Tx3Dik5uPClTQ1=cdi;SANCx$Y5lD08cTy9kI{P;v7w zqghX(X7ZQ?v`b!yn1LG`hw!rbhJZhMs+!l<>$y>G6qRbgnm`L$3t9hOXSM?j*3R#% z3CU(^Vt|^6lO}e$T1e!^F4Kog6M$7>V>afjFkgXl@&cNWMGUCpUUQ-C(#U=DxK^`x zH-|cn{MX^;xf7~3EYVL6kHI$rcXbsj!N4*vbsX+G)j7uWkOB< zeGp3=+kcWc;JA4uORi=Wq(H9ikN8kVR6Lg+HV0UPR*=aJ(UrMR<|r z9&SaB)8=_OO>Jm0_jc}WJy|EPBbZ(WU+m1!*2|-5u`(1%IO^-l<1bX2WRNBzGT|8F}D{?;Zg?( zt-ioQsZ&a{15(XLd(&V`62;9|Ypsh?e3%%N2`Nxxjw1(i&97XeN2}2=XwaM8w5;oL zHt+(sAy=5ws8^O4$r4xPrJjZD$e$5tZV(3=dmzxnks}T3@O-nm^+fOaVDA+?UDRTx zm#z1F=l~UZXN0CbIK>8W!OsDNuR)#xJ-bVp|IDm4myUpU$Y`_XVavIYd@<#fST4|F z2I(^!de5h!2c)y1ckfjedVk`>d`F96Sx5lABOlUw?lhZVRbI`j7Xh%bH; zJGDwuXn=@Y%`z%+3-mELh(;U;3fg-8Q-sN->{SaAl~3Za zF;Cp1+hA#Th*AXA#6Rw33go@=$`TWg!SaLS2DQlBP?oGzCdJ#L(Y94(@e0ZsH+QA+ zg``nDsemu_`qIxbf(djK8&uU$d3Wm>(FAqV$zkeHI$|Rpj}Fzp`Nc z2;>%XGVkk4vV4xWs>{_ZOUS3+cb;^U=F6iLe(}&+QE{6o8Kpj&;H3BQ1WtN0tVvws z`d*#(_NuUVbA0cYf`60GMW@msu;&$p$~-`sn!Spr6Us-2toVKNBb6i$)}^_C07Z3= z+q8vZ`;5i&z4%O-b4I1N%@qTX89qTy=)&jW{QUs=;v818gwHGZYtN?!YPV-!zFCcO zCP9IDPD%WYlK4NQR}8WVZHD_W*&e@5OQr0A^=%u6#W`byJPIXt>$T|aen4w5@w^GW zQ&(%FRlbyEm(W96Qkx1bw^r))j<`~5Z&%{@LZ_{1MwjMKX`bbCsw712Cug}tojIkw z=|)e8Z^IH*ZzHwa#r4_3nNSOxZhH>I*7L?bd~#%h-C1hf zd6J%GE>OedtF;@R%m#8N1(*{q7Pj@BkT)t8KU*fhOpWKkNmY?bFQ^- z!=V}L%H5WuwwRxY*C69OqR&CAq|D>o7(Wuk9)2UBtXU5B_4wvezB1Mc`=L&OmH$gy zf8s0!%coiZZ0JGtp;HN^Ug4qX=C?Unuk=)hiQ;?TfFZp{0na#5D0#Wq1K# zbuHj3^H*DEmHC?*L2;EhdCCY)eP>AUEcFg4XsKdQ+IO zem6y`|3kZ8#g8+3vxkE0>8-Sr(DZ)$8t3f8k=V_r@L-K{GNb&YE*xcwF=dbPe*a~F z(!e`7j#^B(j)AG?CwT$4RFYtqL>|B=GjO{svDwgd{D{`P&M|t+z|?8<8!pxR-m22( zvsov0L?rk&GoHrfxq3KOF0H^FKev##Y-?Lvuk9Bd*s1l9=rYAI@UJ!cf*h15j+=QI z!~}V46%%}kchpt_5KK5{G{!0O439L}7=RtDsv-J9kTfD1 zI^4z*r&uq>NNueh_cqg?et?FkElJ#zWWO6wRpJ3&Ixzae(Hf{dB2-p0BaP;p9h&eq z^N}W-EPCrri&LfzDUhGX^xsP$U3p4m5kY-hq0weDp95h^_w1>O-_rzvf(xXPz~Ga1 z7@tL><|$f)A^s566#&6>)NJ0}pmReh?xh1cJCbxl@qXCNKOpkav`l2P)WL%R3gNw) znfXN1Y~&a4t?ocn5Eb-i3=_^8Z61Rfvd$dup4@IGkZ-lOEP#l%p6~ul3&IwPa0&u! zHSf%0LP?uLO&R5&)?wnNiK20QnC1tB4iJZqBYJ=RTnqc?(x6fEAPoS;rS1EUCTIQI z{E_PRZj-C?5Heg+gXWZuS?c>L_v)oTXg}=wpmi@f^GyFOr9$YXNCjmnO`K(p(96XC zO0N(nnX!dyI^PT6RrqezEk1<1_(wYj;ZOcEgkNJDo^bwXQw$nsL3rj#?T5M-g#UJ5 zI|x^3PtStz2QW1t+y%C7ZnP{d1HvnDO@N; zg8%*nTkrP-?pD4*|9I1id8a|_;92-D>L+q4ogifJs?PQFTJQr2rg< znn6FM8b%JMU`!|LL(@DgzR_l3-d=*6M!+7$9&&jHh?`g0y0b0}Gp$L`-)CRcERBB) zGNLy$Kfy;;ugv2WXH%&Ls7!@hJpWly6-so7G9hsAzM8VGtxbVvwlZLt1Q-+*cRgO_ zG19A%J)n0W9?w8L-W|DTtcq+R>#bdFb}S3&3*y7hDhS2at@_zdIYrA?w{q=g@%q1m zSwAVW?5)?!TF_M{#Za|c%9K$e0!)z5QTg8AhQ>LdM&m6mlQ{4HM(@Y;J`xt!hDr~Q zc}GnC8EP~0j&P$i{xO)iz>H<#qcz8+#p;c`pU16p;%O!Yw5=EFHMGQ`?BD%Z$HhQT z|Eg_xONg2^jR&MJVDNbq{$9!AJO+rg@_vkuWYOoZGTgPYE`~}C=jt4nFOs=0p_%I- zS?w5^Irt}fLi`KFm%ZY~^GR;a`dXbY=9|Xzr&aZkmD1&^vP?*nv1TW-B|Y>ICjQ> zQ(`33-`y(jgg-}v#&M}!wVyQx1?sU6|6|LCxRxi;a)|NZNmF`b!*j5hu0)t$d?KJ# ztu}ku=n&p+&NwW2!uYl(vT$-#q;4xlA`m=vHwUNm;nC(G-J$YV{qicx+Y8k<flb6W4Zsv z;U4$jXza<{*1pU*vV^n@i@)zydo=-Hc>zTf;{L!ml^es%?XOd}uQoKN#VwYaui%+k z$js$V@0-;h10s7D1+uk87~;FYj2Cnz)Rj%NB^TE1~M#B`Syf-F_F3E|L(Oj%QJ^*67@mUoIBk~hCH*N6PJeiH=}Mb zN3#gp0u8%mHbm?(>_wEj0?Er12OvpIYA{DI5GHs1l@1=@e*3hJP&aAuC26#rtu2wD zGp$3w&rD|cS(8`DKHuUMzJcA*<6c7rodIN>g_g1Q{$@FhLAcG*Espu6AePAemsO~C z>5u}$Q6#Vb?;CUKO>NBd++xY*T-wE!$K^i7$^w(QI*o?0XV19> z-L5tsU84mJLe0D-B#9KZwz5zx=uUIlTa@n|bk^UkL}>;+0Puq!e0ZHrx_Qvd)!-J;%6Y_(%cVl8ZG<(Os5Q>Ows|G{m4 z&;#*c|G|`}^nh$7!GlGwb>#uS?E{wwHn_~@Aiybs9^G56^@xq?dSsvb;n?5CnX9x@ z>n7KBQ47wknY|b7T9Dm)(PvL)_g*wGt9QK4@bc3go?hZ&gqXG7o7?El8?^Jz&gCn_ zUcc%*By#^M*lQbpY;i@`FH2&PD32TzQXa(e8c)j z6L%hyXPPV%MoAR!(t04LJcX_hqSmupJ550Q0T1MuU~Y_i@=J`naj3i*suXTRD=_`#W*8&J z@3}yt0>s;ZkKsZy%e7}S?QGPQ50zJu-ly4u=1`34GH7m3q`Ixz zbj6=p(rCQNe5RqsyI5QgMiNa{<(nk)biw;{TAqqfFC3+f2+4l)VyZ6()6-`W!0 z`A)3Q7xG#~n~lc$r6FGA@pX}!AJb|yz8#cAqcOmi6S$B#n`;^?_Cr`CerBVMpJ~Kt zqq6HWIjvW5%qKnKx>&qXJpP}s2i#4zcx@{>=wLe8z38%oCO>CY)_H}mc-@y*{DCH0 zpTQJQ-I|s8l5WCa5HH^B#dmv++qy*;vwrqp^sV>Hy2o}6i6&+ah{j)za$(B_@zWv~ z#4n2w$TeahIg@fD=p6F7u(oGxfBx5X|EMmUYHOIZEc?i)6<(yPzE}p8KF}+oE>HTFsz_2>EtF-QtW^Dp=63jrQ^E=Waux z(^&gX6ILuOdXfW)sd1h5bDaj`W&i#ur6fFeoWS&?dEb{gjPFQX&h~Hxvp;uNTmHR6 z3rgmkSAa*oC0t9GK}~a2RZgdN6>Luyfbm`TUQ{q=c!3g(=U)Wk66Um5qH!aocqG3| zB>zG&@rx`cZ`Y(+3)8mt_Wp>^+^xP7=A_e(BUH8SB*9-XBMfoSI!- zD-IHt9~Al9`8lom7Ry_Ikl=e)uI|l&D0`4vKe8y2(_GWAr?qEf(SAv94{z9-v=F39 zPj^p;U)j!&YFn=FLFatQ?tJ#1J&bWiZ|lE5m9L=>Pt*B1omzi5yD0}mh=10Y%4=&J zGUp7{>qTNc)w|ovS>3jA&hVVpf*WgYqIOsPUqN3(_B2tqwR@bht~c_3@uC~&;tJD- zTyF30=494}D#qS{{Sco`{2BgU<4>Sul0i6)exmrHMSDf?4$e4P@CM_rU)qj@AF@ZJ zqE}>4{aLLgvva89FghfZQ`^7xl|4oj-LKcKa<4`9eywZ!*B*ASU8C3fy4NlCNEHPY9?Aq0voFgChSNV}OXXY&Sd7iW(yQM_HJ{Y24vKFlaLx|74vm8Tx`O_SxR z%XhhjDo>U9rmOPQCE>SES>GEYM@jLYDO$LE#&dYa?m91?bWCjId`t*)QNRE7LY=%{ z903mK4g_>t9wJwywkv{wHZkmj2^T$+1I_ z)uaiF+YDw_RLB|Sy|q!gv^jrA^zjC*h$L6=1+__({rAE|*KY`iy(Yds`qm~VJ^WtP zFzJ>IDm^Ar_b|VZ0~ZLwcFQjt5KW9kG&?OPmZ->KJ3O#6mXUhI#s)8OO=p(kxtW?z zys{d3XF}&|P5;?i^cK^H&k4mDMr4lLs%lQTU29WC8yn2g`c7q2?anS6`ScRDNvc#U zrzQsbIbPx_bb{x?pJk$tC8y_jgVsmxdC)?7TE5r#VOK9+@x1~se&_f4A$cy$5StVf zwR0VEWP^pq^Xy_?!sbc3sP33uk=iGDAQMLj1B_>kX=JnHEoAsBH6)?v7DU6-zG>JIVUy9 zB1BcQY)k$*KIv|Oj3d3j#FqVszk#op4b-?+m`yl!cC1i5XNCqRzq*lh*k*oy7r_FN zMNZ3+e8M3fsOUl|aY3;EwxIIUaX`wtXHJsZ?;Z37i^*n&mS#~d(N;N z;HZH>^lrPDzIICW@29@d@yc0zE-OE?VCc=`#@^yBJ*7bFQoPMfQw3+zF*mAlWc`zD z<&z35NQ%RiF{ad2wuhQQwlaG_m0CWfVCb~*6{Oi;I)2QV1y_@d-t=~rSA(da{05V! z-wfq-UdZ;v__R_C;p}6giEET(1pl^?3y{R;nU=%ddH!KuA(PoLhoDN0Ectk_2*R2w z@f_*T!wMAU+ste`k^qb{TCT$~BctVD-R~~)_Y#K?nxr&~*FgFVri^#+MGEwz)zR+Q zF+ufzV)89)D=qvaWjz~wTTbCWL;EhwVVmi~+hyH%x}oq|#l?EM`%WgBxtyIjfN>p? ziTcCo8%i!oQtbxO!G^n3X4wN=h* zt6X4KbnDdV%By@Ys9S9#+st@AU3#OtDdyFM_YNbNCWdfjZ=@seI=SC-?Kji9V@JkPth=P5bo(dH;UznJG; z-Sap7=hx}^AfD&C=ZpR4H|u#HJZAQbomEBOzv1}>iEG-1;0i@iMJn3%1~ZZ?Z+yKM zd0_=td3k+a)g&9=-(UFBy_u_U2E^=cVb_VQ4UIZ%7JlS)e}zPRQATz~r9AGc9!XH@x9?J-8UyjsW z&8H8}Fm6#TJWUI#ca|-;pmYIEHs@t3j26KUTM;6W+Jn*!F%-XUsDxIN*ZNJ`6ql@P z7z`0K8HP#tO)kq?7Ux5S6PACGkD5Fnm}d~1v)4TDpbgD)db+KwdA?i`LQ41TKu#7? zLJc2MgZvf>Gg@$q-D!))@MBsKqn;vzsmas) zCVydTx+W)1oHAov0I3`79ZA!-xh5-a&1lZmTO8C-bDO7IthwUWy^`Lj&;Y3e~x7cW%bBp$f654oHQfE zb6a`ESYYOy$P$VwACoz;1y*SqR4LJG@HtGl#`*B8X<5_nH*hL>EuObQbf^)3jEaJR;WUE`w4~)XM9K?R(7yyhF+LzNxAmBf}&V6 zI)L**H_Og_7je?Pkp736;wX%=7srS^Q&Ffz?^UK@q0S3a>aLmO+IwA4O4_@a&1`I+ zLX?eAQtCb*%5U*Qnwb;0%=m=TYQe36M>e2;;+4FRd}<&o))C6zIof;|oXZlPyY}#f z=jhTSS#oD=P*$q)SkgLI-?j5t1r(TGkxYB7gSC;IEcsRkLt$=KekeP#kdX4L|_33;S3YapPQ#G#dm%PP8Bx!-rW3Se2}K{b1Pcfr2>RfPk1w>=&r$B6u*dwt)@?IWRCn3&1$~MOj)xqVTDs`e zX^WZTDs!>|40q^9M_{<#);h~eSULY6cKPPZW*_ z&lJH6N~*sl>il>y*d+GE4%|n|N1M4UW7gu|k{fV|rD1x@q}Z`t^~gS~r#s3q5l&^)IftaZO}GpCLl3o?(p zL5u#0dBiq>S8ZjznX5|4qP1Z&+z%teY#09zl#A7Uc zU)OTX(6GZ-(vYq=v^|txNj)f55?)OyZHq7E##eiV+erZvD_rY!UsW*>OJgklj+*aH z^XZD|mpkn8;H)m!q!jd-4rE7Yuz~EmDvtG0N!%mdko6ryS%!35dl4(2)fgP)6|?_2 zeiZw2eiZvB7Gb)=vOgTw6+`H~TZ)2OKN>oU>vjy1o|kra0%K96TU& z1H?J0H^9mz_R?T2{{}w~;P-`K@g`hHY`zZOdx-bYYE{3_tHTEFj@15w7l%pnv=21B ze6&fiz*%UzvU7l@VFFp~^PnmGd9%5hano8Rnm&H4MbnjhnB&D5GIz>>cAhO}j|dHa zv@Sv8HE*yHwVB>34>0ur{Qy%fqEi-wuL`7;d&qboF$WyhaXaD8P(!HwS1DV38&51*PO6?T-?`#s=ulGV;e7Dn2l zn`|>%&B-(qoxLj3cK&{87O8=rM}@%agbSDRt*VOqItK3VxZ{`LEP`%UyzPoK2bPDb zJAB2+rbB84FvMk9I~3;#-*jCdW?_-BqA-SFhrRs|G@FH!d!)C$jer(Ee(+8zqy}Lx z*cUQfG}`=&1;|2%^K*jr3VBvEc`dr17IW?Odtt&ueJv&|;lmsOUWMC~U4WDI0z2>* z;4P?dV9>N0>uJm6`moyM@;$R0-{3qJF7;dJHCz6#`S|9t_#0(tvE#3@A2hHZ;Jf@S zyubIorTGY<15ef7F>)T-U>FGN*E9^Ee1Hm=9c4ZS9OpjwG20(f@m#J|lkEccyK3}% z+?W-dLzTkBKbsP7r^KA{(NJ`{XNxQ&oaS=}eRFh5fJd-P8dde`z$pO1e>!^PaO)vUCSwwk#-auGFh zwJ11H-YM3B?3cE}PIDihx`HiIyT{ILtEqCWrA|Z#w=WFf%Jp{veijD&yN$_M*>)+> z6#BPXRCL{ScJ=X2!2vi?{8%5m@(p~Lz93P!RoRt4Rh1$3-JmTiyF6?%IjfgBltQ1j z4$#+R(X@XCUDh;ltvNRajOKx)UM23@q902G)_{ndO@gM0@__zQ6D%wz&EMCI$Bi~- zOuHF(35EwNiM|j{I#~q|+^V4P8|Z-s>vgj7PYaK+2FR!le3-s4fD9h^tvO922Fbs2 zd+en_`?|({k2zGO!Q{H@N5}!w(=^+!Rjs0(N6418(>!RK^i}xgEeiGYA$34UKhtMN zEbfo0$i0J9rm;WLn7J^krMTbHaKEMV-HV|F+U58{*af;;ykP5PvB@Mf?5r^}cxnhtd4OM8OLTVif4==o1 zPrdo-nC#xzqUUhpom+9J!za<=4pvt*7}bE2mGi6z?MG%XqBrF4j^QG%#8eq3Ben18 zw99sZQsL`U< z-a}Oh-EgfngAdY~p37#|Vs#2{tGNWzlav&5y?QJ!qPAAfj}?CD1ol*R8n0wZB%b=jaTUc!z)Qg;rsXgw-z zvtzS#_PPaT;R(W(Nefz^QHSTyVd@PS84Ehk3{dwlt1^7_5EIGypa;pK=C7eW;Yql4 za!+hPLE#=2xE(N-{K|j*kgW6QAl$S>PJWN@twBTi`JYC+{{G%P8R+3 zE7wrX3Y)R?a-K#L7>`Ehfx*F9=z`8}x9>*hg$=3avnD!mw3$}E?}>J$#dZ@Ne7K$H zb$pl=z$j~?Z(rpm`YX3_e<#6J1PEIMFBdBUu!b*R1HLmHh=z_a6Vfc!;RUQldVxUyR;9||ouQHlw{NGX3WcYt`7)LN>2k44Te68t6BUS*@=|qW2u<3ji zFM|*_noGW885*mGTp>}~e9Bg54aJ-JBGuZUKq1Gin}h<|TdyjdQVxF!q6(~W=y*UP zcJ_fp3TCvD&oE!bhtW_-lYc9~u=3Q%Q34|h106N2J-YBK9W`uPmmBFmrF<+)tl?V$ zni%};?VitT1(kbZs~JKqn{%S>Dyp*YHM?7}bjtSATGkG+jVP&@+sxPnY%>)!!;tF= z?3+5Yuf}|+3&y;~a3B8BV&Af6aN~pY^+kGf$wg)Q zSM7D@UQi{=N5S{4dG-p6VskTeN|ui%it=IAX1WMCP^hSWt?D!D3$!)L9B%Ko^Oka8 z7-vrkW2wL_r7K!sF4vEa*hjIeC8=e#8K57WuXpm%eFF%2v~c!&JoRZWg*dp+8Q(VA zlz`J&Gd}#^G_{WzFTZ@R8Gn12C9EUaK+J5BeCCXQuKLV)6s)Dg8Q)5UaK<<22loZ} zb4kw1Hy68dH`igV{OWM7pz%&~3Qsfn46Y}fijMwvkL5EPKy1rrGSewQN6q^}0!}NZ zfY@0e>HZ}Hv)fO`(Y0!x)^y>>y&%$hsD;RZ0LDxKx>*pZR(&9H9^*F;t13C&` zL!A&P!}TMS+-$s7D5L6@+DY@wNw!UQ$SL4^boR;~oxUPbO>h`hqx-o=IZo^_Utgv{ z>@Y zex&Yj{o)Xn=>`yuuSQJ4y9zge=+4!#NZImO-}47%x&d$@6Dh6A@M%0c8hN21n)KSD zeVBog-&WRhPQp;$4Z~<^6U3>XZH2 z_@!Ttv%s22U5zWl89-%s_+>Z>tf{<(cW?&K^RfPOoCMZXUdnTv0rdPr|2a+qYbwv; zInDrjeyaZ*CxJDUeZ88d{Q%Hem6X`~KoXbj9H{UK2AJ}2CdGIddEs*}c|jW&BO57D%l%R2D6_b+ZV=5DZ8JM4CCfU>=8kpXJmCAi<; zCB)Vm_#W`_mvG7|>+^4I5zYyI)xcQfaWnm00zOR1rJ6QbmJ*|NO?(B0*sA8TH|igCo<28Qr+d%*4w4oJkAs3+SRQDr#5MC{ka~nLNzPg$iM*Iwi6(tdoOv%DRTkEjLTJv+2<)_e>g3EB9@tQf(_ zbY|ILsYp)lqmH(YldE-1fe1;05*hwQVH@s~r$aRSj?8(7$_Nh=BBPZ4#M(clD&W7@ zr6Afuqsl#ioS_8GplQ@-||gKfCRRQI`*BOIK0=omOyR{Ib*f0cP2s z&}N`}!gs}-q`|exDW>wV*3+eoDa0eWG`l_KP=4!LX@Z0bLWv3*E-Ic-|(6w9~VZz;JJ(|xjlM+>yWwwZ;cp~Cg})If0#|E}^}TE0gu&EDy>x;k7wh;` z_%i1g@v2u-O7;oQ!pSL8t-IqKKe@#6lacFi-dgTgU6GQW$xDucv2X=gl8YojX;ry% zxpJ3B>i+J^VQngpWR!C_rTj@(4vSOyHvRJ7?`_L};>uxlDt{xRynyn`sq_uIQ`uiL z%KEA7GRnHSvR`JD4N%!YFF9gA@2rultL{RU(RiB%^1LD!El2D3z2sGPLRHsGE~Iev z5Ez-tH?tY6iYAA%87K=Pye2w;BCqiS=QXw3c}(3P&o*K~wecl|Q)tsaFpWoPcErQ4 z)bsfIRDvb9IJ0vN&n0QBL#^qNPrdYiidoxO0X3ZRVEEks?IjmVygU4 zr8KoZ#x`_^n;wKl1TLL2M$sPojxj0 zeTv4`mL`k7`V>ew@h0CEcUoPZdfhM2@G;+M9&v(0FxWo^b;MO{j8%b~woPx60?+nI z6qxS|QDva*Op}L5A|MfwMw%={Fy<&acl5#e_*Jb{294-vq`F3^ZTH;~A(Cg%iD7nW zI+3SDfai`*nq9e1Cp|LC9i1$2#35vhL(wcKfb z=boBh+ih!os?Jgg7c#+J9eEUlLVmdj)0Rr=qfJGtXR>QN6kpx*IIHsF~eH-XV*faq1HcKEzr+zYf^SCGJsL*FRm6y z=+`9Ju*&CIB@iYF4s_dEa~ZA+Wka1mc+`8{|--nAm~ z!w{};>8h*Kt8MntuHibcz9c~|@th_gVQ#bFnpAl3HducwVX24$t329dbS1a0IIOeC zE{oDm^K;t4*W14Fj#*$^-H@8C@lsmB?-=**p)^R{!!wO;2&0R}x9UbNE5xquWNtkZ zXk^~zxLNI`$5qyDTu<3mi+|*g>yNa|xGHB_`5iAgdWglpVXFY@m4JIB2P*jomo}RN zi5l?|xvRd#E(u#=52-v`!^pm6Pv@$6>ePWi@?hdQhwhd$Ic-|&(~$$rg)w#ZA^n;C znXTS@hBqSzNG4gpw={I_Wn50^4DL6Y{qbB2m2nNoxATw@5suD9>Sz|S%7q>gvkmWR zR7HIbK@L{5jLyaNoLA;W6NEEg)Vqv}dvtWpBOW;QxCQ(hUfZfjbqex}CN9s%&u@s= z_)#}+(Ar3n1bIB<&d)^GJ$frQNZvE&sw(Lrk>$x4c2iD7%#Cn+n7zu8J=xZ$0n zgWilJukp*+BO5AQhPU8 z#HQ7ZM|xYV&vIgAA->nW#x0KaQD2_zXupgLK}bGQz+Bfw6SH*ob?a`-Jy8K227tez zZX|lwOdbjo__2NbRSA)#9DPS4l!M~Pku5N`HS82 z5Z4nPL*a<55RS8P1LdAz8@)AXZRP&}^^o=$Ct-}uu@ z&x|)g{I2MIKl66J>Gf&!;s?GPt!s+ZHd4KHI?KoMy5*}84zlP7C@_g)4KaCBH@kXo zSB+N*;t2>=7Jol=t}PwDUs?PE*0$r8@`ElrCcmOY zp@hleYq_e?^bx|6@3ZRym^ZHu7-o{iOQ?VR~eIJg^)f}qpZXV~}LIwx`+En`@!qGivN zgkgzD%*5#RY)L1w>L=zBC*UU}EVUkk4uNjYILmS^Y^Csh&K%x1M-^$#@0x+Uao3V% zMB3}Rlw{cxVG`C1bXqq!>pyYUZ;^b@V~Qkt+uXo};9;@ztzx!LikTuDtg-P!Ua9KB zWhr0XQgGuGzG7W%@W5G9MBvM!+|S%rYj(#gUvX-7#-|jGtL$WThQ^l8PPR+{%uX9` ztM3K6T=>dBm>?6>n&m=Q=pdvDJHkNxtUT`B%(y@Z`a4UB4JC8~Ey=5GOtY`hsX1 z#r`9YOJVYkK1*|__{+@|#b8b8fY%G5k(?7Z^I^kHMMidqmsKa??btw5*4t#WIrbyW zJPCg*^U|4?6wJ?QA?Pv7jtK#7bm_1OGJn#IxsgA`4oF zf?N)--D7r^zyi>KugpB1&UfK33pUz6$TN! zI&z`LiuxoeB0b&rvqJ8i5;xVUN2%3cgHyM%@?i85$QKR9oQAM*!o9M;>Y5en!7~oq zKlk%s$F8nf@%7LHJf%sYb7awy^?X~GEcm%nAV3Md8r@={IAuez*ws8$VT|NNB&%km zMB};2A>#h?w`kl!0!Wq4=y{|WCbQ6!knXlKS zwihRCU&q&L+JX3*U?E{;&|rLZM^Gy^KoZ9ZUzd!PZH^hw;r{KZNIVEbRtF2ibkmy} zfvkB1(0n$5n830GDaA%4;QbesaN#Xjf6WYIxvCn`i*U~AGHnXO$+~InB?3%W2c9R9 z#Pn%6g~CElxCIvao?I>>OV^6gbJe6kmv=FlkyBZ|t9CrqHtI{LRErka8 zbwwaj*L6oO8-`(%DZ1P(8i_(KeDe~Q$o(2iJ|>viC%|p6W^o9dy+i@ruhx- zJG*s`bX%StBv{ZEdgZr-|of#@Zl+& z#X-YFgq*O)VQx_4;;xn&8+f)rJCx98;ZmYMl{Awb+{Pg(1W(-n@Ipz{~i zK#I-}yn|8MSQ`w#NP1CSPb>7f)YZnA_{(y7qqMQE6=CyThA&mBKJ^k2XYT;oaFJDu zXnbCZ57DC1p0L_?nm-ZtgtL*b%_12bG&|2%b8Ajk*2wTJyZyy+&eh5ECw;wGb_S&v zwW*b75HwyYugf!x`Gt5h$`CcIKGJ0F9jYlcnOk{de#(FIM@sFzj2H!0?fpk-Z}w51 zHacRZd*b7F*l(W`9&9wSQd+2OsJb5YGA5&_8rMfW|J5(J1dTWoqq_&t!RT)8h|x{3 zjP9mj=!!gXiD0NQjnT<(w%(k#pFoGdSg)BhD*k2}oi)<)u*^QBfaQGi0)?BPj?p|s z?O)`pdjz=~BL#Uo=6Bp>P~CK}l+ORQB>10RUd>BdHLIDU_-L$ef)tipxLFY+mX}N1 z?pUsh{#q}>E=|T8u|6H(s~anAxv$2bhWaKs5)&nUw|Vsp;b3L-4XfYU>-X$S%rDWP zOj~bEQ+}lx7na7`#v$d?G$5PUE9cEzd3tqDbMq2iCj$&X+Z?NyG260HFTb@yYJF+= zbPe@u(5=srwa_uAV1uj+-HaL6DxD8*ziU|?&eKVzY@O+Gy7wlO_7R=Jtu)vMxDo}sGitG!0WZFaq!Zgw(O>|cEKw29MifOwcp zf<-VH*kpz*NR#k~QO5VPajZ(MF!^nT$`++om?XVc zn8bYPO{}n7g!|W8P}+^BBs+E{E7@_ElVtC~Y@xcXpIQYV)EX=2K}x9qk=a4(lRBbx z8$ILtD}$jK9<65xb#pb#*A?jVZR1IS&f+H91;V`Vjl6&gA?wqi&e-5R$ol+oNbWn* zX-mHkr-LEV#yK&#jBM~EqgCi`gPiIuB*m-Ht7}2C{rJ=+2*hzw4PeB zJWNG_HO7a&snyckuKFgE!*6o{|D|)@ra&v47dv~KJ?sm+oVRV(M33{fiSw?fQmAoB zcI^vQqm(hFgYu`Pmw%A*Sn%#{s5&xHoag}=V- zMf(Yk1u^z$80xr5bDXC+o&d&N(~2yD2mgo}_UDm1L(jAtNVlnC<*>2^o9g5A;)F-` z_l&8Y5e2nXA#fB>ug&_rf6D%_@&LO7u{TBUI$cJTN<1cFGnhj=^QzbSEOv6(aHS_m z7GR#~sMY6Etq!)WRz2FTx!}ryt$^M1ute6>Hb^hQ$^kD-@=ed*!CqjJZ~KZ#zU$xCtG=Jw2h*cG z{Fnk?PV!CK!AnEsZ~5`|ZoYiNm)Q16zMp*3xFbVc+;LlVEKWHr8*1*|Hs+l z0g9{9F1AtZ7wXnBo6x{`{;9m}5OL`MnQXVx@++ccGQ}xor>jtDvmrtsRv<8JGE10> zC3t&myzmr&GL%;?!MC#^W-3#G;~NOOlJ_{|V})da2s#AfMw5uKi* zP7zYph4XZ#N$}+`0mdWNTbNXGVl(2yzNa_=wZ53J4Q_r&W0?ow0^$7vavYU8D%2C1 zlneBngsqxazj=d$q-D|B|Qd4K{IxapC$ z+nFCdUD8+cBY_fQoFx`}ctQZp%1&DAvawh-ggY);@4nh93wOKVe+O5Q)$~dU4S5u$ ztfpSuGark-j^@{%W&LZcUdy~w*c^Kj*u0KM|8Z!rq4z_}0xV68FxoLaH+>&Ut1I$61 z#Ik39=EW2)&cmCdr&HKi9&Jm;vKn6&x-1aKu#dL9#RvtyM*87D*p4BU9l_55Y`+Ia*$w! zb%NWq&AKze?X0x!OCxZ*97JynOY4wb`(xo)11Qo@b6m%Wu`b`icZ~pW44c!O@cGPh zg*#7trlw+hln$o(Dt!Nb<_gR*B&91{asB>gC2Kn>qk(xGQ&fs=O|2Hs`Wbzug!49T zlbB!d=z9p~Sr?-|BR4Ni6VBf8Lp#BIUP^@SI$7AR8rn{TO8&Yh8!a>c3GGx zT^*!nWHgHo<@SaX9&&3GW$>5q*8dE|zQ%}@fY^oT-7dtwQb@Waqjw>88GWW8=5Qy) zjOWq+7Q~uhIR8V4btgm%5W9a15W5lt>nYAi*1>5@l1Hy&&N_uQ>h$*LO)g{@WH1CdS}Fvksa3Y%tj$HfZb z!0r4^U=_ekDG)k4Pe%dR7N*2e99NDAZI-%F^NknUYh&Q(%LfK(Rt*g_ZtF}$Gi^!_ z#c)r~>X95w;Mf;UIPpps)lWI`zNYVmn|+Z#YDL(ym4ljfT!P-y9Gm3e!y7DY@kOj> zS{Ud5@P%kYxY&;5)jqtMQ-!3lk1^D|R)q^q@xFR|dEzn760cSD3PehB^!V(N;R`>x z0-2*eJ`U8Z<`S`Cn7HCz!Z7W9YU^uE4uI86yg!;Ij<SDU?OZG_xnlm<}kDX9OsN=>>hI zru67(Nt6wEoBN}chjK8xIuI$vVYR_3`~KO*GtQyBXofiW3>_rTbcB*yNyuhTGg zu7@#SblxTO@gu|!)5r>qYPTvB{sUP3J18ug3<~$%vIh#EJoZ0|!U-q-|0w(p z6z+z{B~jP|e12aPa@%{mcx51bIU@OM$2V#d>+)uDB$|^yv=m{D%AXH-O|0~zzCtPo znm20)y_v^;JKn-Ud}P5-ihi^bXWgK?uLPlIA&n0d=%J z>3yFUI_Vv3U+jlXW#z!wM}*w6J0_GY?8j@}Q?Unifj9JH_mXsz_traL1X z@EWw{?sF^ZMQewp(VFXgz^S~wQWKl*#8>#LpA~`Nq3w&*@+}Y!{==m=C$u((OdTe2 z<0X;2?Mq8;hx1(2#`AN%=PtEbkM@qJjUxic%=1Tp=2HF$BD_Dd-ZX;NIouo7Mf))vifII5_LfK24Kc8*^#cFAvD8u_iAL;8u} zDwq5OjDY|{rxROEKfb}}8r<9+|9$eiWjy3JbW-T zCs&8V=`f@<%$HoXenyeu19g_jJ_Cvjt;0=^WJAc;4anCW!J}uv^4xuk%gHvGLm96t zU&Zs-=fd-LTKT$$1AYV^yY8fXz1hlF-C1zut9t>kWG&XPmZXS1Gfl+0Ho`QUiVS#^>z>w3H5b*XsW3jT91 z@9o9ws_B2=b+vu3#7C?DhS$}rcwOnTfy679KRLCI&V!Am#OtvMsIdRSnd)PY$6XJx zHP6}Kwc&SbjN!<&$&6yTS@hc={OBe%Z9_TDYPi+sxxiW@XI|`wn8Dew;!OsUU(r^< z1PutUnUH6}*qL@nYx%u|^K4m#I}py3$ai9TzvWS_*9_+zoOk^2GE_R!qlTeu;kfGfQ~#MeMfL zlC325U{6x>ULi+aCs+F>SH(IaS{7nMM-tnm-#E-NC8^7L zLcN_>-2ZFTt5`%Gv(En(^=3-yv-4n?OQ5QT=nPS-E2*33SV|VCTuPQ%TFT;$?I~GU zt+i`crzuu#)8dDgzXu)He#GLbnTYPEW`>9_;4SM~7ScURJJvKkVs5{&xl74J#*l8) za$sFO6D|MX5RaDaZ5+97TTz#dw))X}E`;SQ;Mh_MPbkn=lGU z>8zAdz$M|qtn35{e`fmSL&C*8`d=eq>z38w{^q+$SlEG@(mh{29-O3N4q3&F;hZiN zPyG%mUhh%y3h_ zYw*EcfpjMOWA$-xlWbHAPFf3isqVnxx`UWXY;CzH*_>^U$YG?(f)`X>Idl58#PxQE zi=P_>S9egbeO?b+@V*WTj;NS5VdmA&GcywYl4@~Q2L-+OrO!-E?|N&@9b*7kBqn2{ zmuDrthHyN1wJiG9i|r;8$$#uV@Z)>t_n=SbJ4ho(%eL~f&3MX?qJ-z9qgWL-Vn&{ft7Po)A=NP@a;?^D@DJ{TOrRN)EW-rjX{+!0hOob%ud@?$}>DB*fg**2v-#n$|%VUzgdo=;>VI*in@???ue#eliwVt8m#$(+|OD9ShPZYxMY; zKrRVkcbY}-xzkKP$nKdA9M7>T=~M-9%rh-GP01zNUK@1nHFu5lo~;2XvSEdDroPXa zx|ct5z)rM{fbZO$_NxEO7vWzfp9jHQdOW%`N_2ycxA*Y3l160Sh5N?3+Q?<`{NKN< z!}>Y+9o#@DF%rR9A84XH+ROhvQMUu3@;t8oxB7#H6`U27HQ;sDJLTkL<&qMKnqiED zqd04B!Bc3H$pvz;gYf@~`Sf!aun&fZJg`|kwsmN9PluMmU|tMy${EcgPV>bFK;{v= z_2Ma?(0|E^jvAuk?eDx-nu_kQTo``hyf zA@owQO-ia@4%4q?9=>N<{4=}J*8#|_=$%vq!_6IqJUYMJ6!k!?`SMEmuLq7?#NYX| z9rq^$TRY0_b1i3*-OTDANF>5XcAIDTO3Cw*C6^~kn&0wDK3Wh=E`A*w>|Lxk&0R}( zqt3?7s2_SK(dp+RiK(@7MVh;99&b<<7L$S-kB#c2FIP+8xnmMT3+F$&NhC}ll+eNQ z$ntJKC@C}-wL-7P^ACB^S}dphsN9^NXNQ+-Rs$N`o|i4LlQo1`5BA}lxs+v5lAE{+ zA#&I4qMlD?^W2M)Y@X{bK*Y^$YGS#+YQ}}r&+y~m=uKm*xt9Vc+11SdJt^V&WWa15 z5NCzF`d84yFgE+jC@jHY&HAQ zHO`_~&CZnP$7KrbkJDs4|739-6oMw}Rjd&O!zYEX*m4nxgI<(?MJ)Q+)`VMP$E34A z*Wua>u%mO`?ls#n4d&5DZ+a_zhz|Z~)HKe3LKl(A|W{v+o!tcvB&xW60D!nlv>zn?zRQ8SMk8QRHWaiwZ zF;5&|o!;tpprf+<o1&4@P@6ftQAi+~j!lI| zWPx6E?^RTl_B=SmCG_*XmTnL-Zwy|yn*kjPm*j9NKy~gwZ)Fg){dwsS8eZp<% z{swhlM-zBPvOc!Q^Jh>^4aa)0z`&i}Y4Y4*A*OwhXo==Vbx9yf%(lK-d)Vf>v&#ET zVKS|cuZ@w(C810QU*9iDP)yP)U+r`t<}P7fQv8w6b=oKs9LZVYvbMkgyefC4NuUAi zf?YOOvfZ&kbJUq9Zl2Z<`7>(lBi236dN)Xdgx>Mh{+1WGx@snJ`^g;Q&h|sB3W}-+ zfLNzyPIXq*#OPWWo}Ts6v+$fn@b`1pbj>P`GZmZAPOxWERhLA^L24@c8Jvv1W5=>& zG^FzxlINxT2Cv+f_qX9|>#ozTz-{*P)$N*vSbVil3n&TncOI*wcg}|46)ve|x)mffk z$Y}#c76FGb>{naO7z)iVdn2&S-Uq@>gV@KGX2)0VZBBj5&4c@UbNZn>r=gEAwFKQ& zD?!%NiGDExkxR?v-?eYUbA_o*ka%i9+@=%}hb!hOPEd*@lj}uPb9guTYY7$)P{R`#p2Q-3=Z{#Ex)2OJ(Qz;`n;Yi5ye^=bZ<1={nMv zX6X_7OQA+-4W(rWEnOWGzuuk{e^ z!fN;)(=32m7H6mGR-Q_w2J-|BYVHs78J!9KY$_0O%On^+NLAV!<`A?|2#Pu7n#*Vj zYV7+cAL*DQfDd;UTzn;ov8q8}ytK0m#@?#B+~1GAR>c|qBtVThg93JrT+KV#7T#*U zKz1%a&VObK@E@21cvl>HN6tT@=8iO=e&y!O#8Ce%xgE)Q^pSQ$RSZ$<*Y4)Zc`nCA zmsA{q92I8-LR2XG<72Lxa}_ONMNAWsr37V0^WE&by&BF!i%7-~iF|cgU;nwG%D(+l zK=n`_&%dM*Hd6DvqFeM#Lce-ecc-aj5!^K^dW7YX3}7!zVR*T@5)#YM?!Ns4u!Vdh zWeZA)wvg1LK)Rf7TRQRDy-*)$D#<#8Zg4v43Fl=yQ^<$8PtZ!w+Vr@pK=iX%I4FfL z+YWXs2=$ld=e$d0YDy4x-5*_#{bFhefE_9mzT1B+_Q8EO8ca=J9L-ZJQXqqtJ|7th z77#?tY85u!Cq%nQs!JAk!#S_k*R>G+-hg#Vu?>JR0FtqE`+LgL`w%;w7Nzk^kU;`I zp)wj9a@la*_KurQt0d1?;W%(UPn>Z63GhiN%YEk}0u##NW*}uXu12$I9}7s02bEA4 zASUeVLh?AePE-F9U>o(QtNiV+ks-U{`2&|r&}`f@yH!f6=mbi0}Gwc~r8&&cCPV8IE%4|Vv6&m>> z7$0gNDxNt8TC}`6o_`XAo?NJCUYh>kPk<_!zXB!N{s}`8Q z?(V{RSdE2cBMoU=Gz76^)m=6eM?Tv%t3*46uONB0p*urWYgzMd#G8%Ac?g3Fsi0gs z!23dby>=Sqapk5jRAzbMLZ{ z$(4BwSFc9dR|PjbNC~^TLRAZ$W-RasDQ9sN5&Vdrl zb=AR%`VHkCPf^P!NK?0HM7Zi7=E;7NghR%?sa3tk#*cX0()~(bzmi419{X@No_Ic2 z_RLx{%-cO?nXoOdjpeF&YA_Hb>e>Sar34KkZ-en4bqz1u9MY5N>1 znFp~gOhH-nGX-L+2TK;hCunBhL2SW@)qt5Bjto_cwC0azkg($3zoVu{RSQzUHeGow z{sPdYUViiSUg+urUNGKD=qg5Jmec0kHQ7{a8$D>E(|HMP%_K)x8`v*2ij&? zE}IJ2|1#v&V17k<8ND5&w>8J6kr%$xE_qo1nR>AA&R_iRJLaF5xH-+vBe8aX#RAh? zkCd*0Y36G-h~c+|Ga2|qPT{h5%p`U$@;iPbMNJW_i>&de$q6YxJkw04s1cwg)`h9W z^Iv#MH8-+H+zUPF&coboZLHT&BnUL^jY3%1(p-KJudl!T@Zy?1pQm5psdSlh_Fn{S z8ZUueArH*M7Pxg;Y9w6L=7j3nbVL;{Dl!**0%TLs!JN=TExaNCrAqBclsajTQZ_Yi zgd<%y@zR>hi9irHwcB6=;espZ1Xx%s;#4E&G@c=WtgTMK^q+XOMDR((y=$-bxVwh#&1poQk9MY}ym7@2~i(Q|X8 ztRlF#n3EV7GV(H(nUl=Jsi9cu&p7;Gy4u^#ng`oNg?8WiF}x~jm1no156gt_g1-(z zEsf;AL+&Ex+ou;`%xG3K+(cDc?gI9!qhEl(VCeZGi=GKRy8;` z`7^L~!nO~^maDxfUUA^JH;I0W*HENHjYiUoFrEBx-HUb{-7dZ zch0btW!~dj%dZFbQF!NEkE&ri1WHi2Li4-(U9nn5G0$c8Ll%j)BQBJY(BaZNle3h& z|1RL7n=x>a0!IYFtpi`JyT9FT{!B&RQ}=7#V8dOaqoB}s>2r76uFklg7$1>`uFz{C zdyBbc`@XE=Tl(~bWGeD}wO>NX-imfuwC0w6)ELw^dudmEYPW!lkZoM+0qNp4wA(y( z31JbH{WiQ*oW*LWyPdEN|A|kaF#IPltfaU$1|A#Cuf5rZ-7J-#>8IS>S_fb#-pn}y zlcf{W!mUTXEHS6`79{{R%dvvt87%7i#i8tKdmn>Ok|=q^KF&T0#Rn(=Ky0ia>-BZJ z+ZR8J07Pg*)CO@;A8Y;UW4pOLb8ut$=>f$&PLXufXt3A(RiRV1M@MSq?VU=qpt=ky zz4X@|Fuqs)rtS+!En%vRRgcL|Q90dTdE*T7 zih)%AJ~j(&fvsS33WABtj~+Iw-RI^kRg4t)lD*e7?Js_Gh2BRhs+9q%r|iubP(Ehw zX~{%^tjv7X42e$iY|9=~GsoDL<7OLNv;FpQf8K%V>z=dQ&71V0rrB=3WmZ973A%z3 z!x`fF?S-tV&YP3Ca0qiN5hk2EUiY9DVk`_J^yez`{ME<}dxak|5nu=tT7Z&*;~ zT=s~o>agAP)m>n9hKh}8`%O!%%>I~*L_!7MD&=4#{}}Q{BfTdn)p;h(ihdf+5sXaq z+6WeiXgu0dNI@PMiDcD1!zu|)=1e}hcs9?}%OIHAtL&`*%Dy?*|uy-@vR#?y}KKiH*ZvE4k9 z3F<|{u9nzuW_TTbc9>w@y+CcJ376<#f|Hxo2&>dK$GwU>klEoSQ;d-+;Z3qt$9}G_ z4n#-{P;x(-FNwOy#WG**TwrOpE-3wL9XH32f<8UN?M-adIybHE@Uu{gLd?@A+SZs;! zDT1h#E!Idq*Pf8w`6oIigf>)Hyi(*S(0HYIm@?F6LAK-=yX|8d05&kHMi$kikh3xo7)fuz_ubX zXR+ybD8prX?R}vVC}}ZQKKOrylFr_+<>D)p+zua2Vswi}?fOQg#`+YS-~Su(x#Uw9 z#E*%oFxI!=a85m!$@PaXNB*wsEzig0D>8!%DK5dcm`?v^BVG*a5m9`_05#%%8Zj_+ zlN>U_6sYau+@j=XV}54=>^$pwd{wgb$HtL3F5MdRmAubf|6avh6DFN%C{nE@J>6_; zJIwxWQOa_{eps13l3u=D z6RkX6LS#6rTugZopB(fLcw6fz^cGv{foWm@&1}|xnR@%r&q zjeP>0Vogbw+-!cp8xB~Iab>x&`z$jYBYV$iH;Kh!E*v0Gf|mJ{eHYq6x|(79Hs|VL z&8pE@j9jav6CUb>PcMshGVT$9~dzM)^+Niqbm>u-dv;<_7=E7Pu+ ztgM#6a<-fL(}Bc7&z5B!j22r5qxy$ntD%)sPAxZ|0`3fT_?tTu3RdLS98(?bg8Uw# zkO*>A!S#l~e&~Hq-I?xTbP1)PQ{xvlI`S|oqyW0@0;GbC1N=j^iQYP<*<4FYU=T9i z!^J4@Txv<}G+!EZ(rTUs+Gz^Vh|pKG+-zFzbT#Vxge+`r@%-0*FO8-9ARW&%)lIgd zkM$ZE(+~*#o$gsYp(+9eBBVm44YJ?tGVgIA0i{Am)+95;@>g#zra?*eiJu`vedfLGKEY_A~HS|r)_M-!0*CONAHnSoCRb7E0i|hjUUf@tu9O zx4PRa-dp|WV=E5orrM__<(uRTV9liXu<-27E{29`u08&q zeo0&Q@JkvhruwUYGS!+n3$m&%j>^!jXLWjpgOA;zvtOwLHh3eAiQW$3sK7)D$Q8-v zC~jiCdO0tH$;NO+T1~X0yCkON-xn^J{5zM_!pR1GwVR}Iu>Q<}wnw|}&^}Q}iPg$X z(1YXgb>bGE5v7=(q&83&h|OcNcxFr{j=KZ5vbI(( z?9AZg#wF*aH?)SIr>=E$fj6-zH<`zHz*-MHmvB_l!+Z2F!TQ@x=a_Qy%}3sJrc;jT zG|z809p~wU0KrWu>Go1myR(ut7B>T_CO+XLeWGGyy^$asZS0gGW(yhlL-a%lNcPsuZ z9!rgS1U&AbxF9a2g6Bj6w=(0gkhaU7W7&{j|Hg$iR%#dIX0)m$G&ImLXG!#EEf?#N zrM-R{x5$|79ned$jLw@(H`-8~)nty+4=M?Qt@xLo(2VgJo$l$r?`h#ZXLHa#D*?_Q z!R$8e4VRE+e~5~y<(dbn3NEj$+bb^jLYDV!cFFQeHPDg!(#^JjwQbC>U*qO<%DUc5 zK>1Q0ewWV@r)Bd$@J9J9Qk+p9GjFe>gyK3SM=FuD(|pxpYa?=#9!!Zvqi_f!$%kln zZyroDU`cy=FeP|V{sZ^HRBEipWY1ZL;;p2(RcUy~Eg*WLWuutBlbTf$pVfOq&WLjJ z3+OLHyL#nz=1t<;$gQLm`3B6gM_#A{=YyGIa1TeObK#5}=FQ;4tQQE=&xt?W~@|L3ikJ(6S}Z}Kl-Rfm0B$40ho`r0ZydX*JLhKr@#0u z44pL*8S<%~g!6|zEXn+ydGa!3Tf*UpY;Y%?>Guw>u6>Vj5(-C##JE`@CS1cErgjVs zzsnOW1+oZ!Lm9~H9u@(fS1C5uj-Vc)VV46#P@&xkV!DsCVd`nDT0z9c^KbvP#<)@A znY&8v{b^erIVF8%U14R&k*h?bQSN|f0|w5HJeIVjm1vrQ#}Z%Nzobsj8Dxme+Fy`1 zLBZpGM1(wS&y5PiU$}XWKdB8BIoa!c^O~uxaGt@!mZ0z47G)kG9{J6ArG?*=`bKR< zzE=`Ue#j)Hgg@jrKpyWs;#&FLFwSD7=Sm2K@K9yqx%uT zBM=(Vr)O+GoM?Aqh>?q&--*ofi=9;-8))3x>6}QXGo8XV-#rb1!gqYXY^-gR5AIjy zYTF?9nYr*1?jB%)>FJkx3MK5~6NeRn(mIf|3k}9jPjL7iKrsIr2&0sRA~NJRM*@c) zcvS(1oJ=^J&1gJ0EMkd`z*H?z`1b~i*yEgxMJoIFgOO|e+5lFb1SoPwMmn7mEZmU} z3LKB*B&4a2rDc1;J4S%OA@hWln){@Hcm+f|8&n4Hyv3*M&%@sDGVT84Ws?S^e~(gD z|7#$T7HvrF5sYd3z47=tk<&i%Q^yPV-H*|D;F&9FD%j-i4K}Z0dTmE0kjUppk$i)qpKHo@=}c~VqR%U~1c zrnj~0wPDjM2f@SrM3^lt++LN(BrVK>*@n4tfh!em-nX&u*B+j9RVDIfHOPGqjHpjnfF%i9nvFZZ#f0J`G{%d*= z=a_gn^swny9dV9)&B)~((-2$V%{iWXG>s(0Gc5NwdT*TL6x*Ok!ZMOW^^-NRM&hw! zmf@`irJLDWchK4iy+Ye**n-?Im0%U zSO>%4wIZA~ddl2iOgi_0Zsrbi=88liIV3S$RXC?uFNH-XGT1tbb(OmRbC+-{ zL}Q;X*Jeb=8Jl1Vo(8mnH7|{14WBHT&)YMIWR?%?y}BtxHiuU&v*L)JYZ)2rB>Dj( zOGRGL4R&Os?%hYa?MJ#Z-#v{^;a4QEYAULIwQ?U|CJWe#vgp0ZQQep_*4S-R-)kzwX{|i_Aa}%Qm^y`Z(+| zKi{est4qUu`Ur9hX_l9!md`-pyOmu?X&5dz2HjKk>&$?ccy#?eAKjF*FgG6-oM5ok zC<`J>P{I3v1t*mA2xZDd4f+!omSrY9sx2HC?R#c(k6C%Xr(TGhm)E+EbGCiiZ#H{( zvQcclrp5VGH+8?1G0kaXGC1JG&!gBzi>{1@%cAOnVXgULyJ3y9yS;+banmsorpB-y zpbSWhVJ{Wh>@VEK<>F-?c400&Vpp){m!J|X zhL(;+-Vkb#@Dy0=<}759RQqa=v1Xo}_pnl;>o1azt;`e0zb$()$}qXtuV17s*;M+wuOCY~`QOgyUyi(&&xGmVd?aT~0GGYo)R)lxj`}AMapQJe z5lR})33mc&>#?h?|G@D**ygL@3_;tO=HkM$`uOU=7qtk4tVrIY`ja|xASrH1^g%i` z!p!W$4rKwcGxh=ERf{oeFL6Sy1t7GQlVUUNEzwJ>xq{CrL()zr0F2D(i_NvK0dDI$ zywhC4cMNG*3R}%lw&qrID4(pp#dtX4`!jV>rlGhrGD$beeYfkhvoyq=8*ZGEOkS5k zDhvAI!;k=pmjp+uVC%+2TA{*5U!=1;--dJQ4sYWSDmQ)hpYV&!4XDr>(!FpwQJ6J1 zzi)oCUO!hBhtKK*1~^r<_Z>~=;{-8ESx_r|eYj#F=pnK>JDJ#zQhOOdw!msEW7Z0N zAl@wajb>Z5K>P+sEQz9=^V*Z>wB5OGjC1mAPV>L_Q4U(>z+kP&a=1OzG zKd=rb_J8j$KhdwzSnq&q*J`}h-P=OA0S3kqLTg7hVg@shbuQC2VYo^;zWK0DR_FB` zYCdfZDn2!2lQRXR1?caCfNz8~T(=K=;kKk!exp`sV$>H`Cl(KzlJVS8-EzoVrTiRit#fiO!i;uEMr;fk7N6f%n{5{fP{eSt*3f; z$he=|UH?sdn0G;0a@Vi&pSf?kb-in zY1v>$jQK|%(`~P~vtGti@0Nsi+(bDFgkHz)&=VIm*S2vVC9v&V{x)b%y&FPG$@L;- z^K|MYCmJd&G@nd3o6x{?hTY{S)y{no&8~&%G4$ z)!%s$wx?3csbHyP$f<727xH2Lwoc6=trJZ)Q$y14XKFH1aEDIN6UT$q$}F=yK`rKf z+xVPj%$qE--6rByy@0AyPEKQhW|l2Ei0JF^P78bs`AL;7Hy@NB1e*g|x1G3zracr(9BQ zvZ1v!sB{1k^V66107uhLEjSDxW+ZS;fBn80 zNlt!e*urfIALc+HpM;yr_fdJq_c4pNL$K|u38vA_=P%f~o2OMFQn2E>b|6eGYNw{@ zaI=cyDI2giZIRGY0>cS#*U=95+{k8%bweA5h34e>RwgS2&IRhF?(HhLSg%&hpmvvx zS+T;2m(=^J?*Lc?$R~PE%pcF6RL5RV+=m@ka>b*w=-g7PJ{YzdXS}LsoSRaUzl_Jn z5q5eF7>(y2MO_8%srwr)aLS`nxQ#@~jBgza56&$;eeNphtr_MpcPEqD&!q1cCI>?$ zG*LQF%Bu2pB-D#7>BosVeoZSv-og-sZO(Q8e?wq8!WTtLCHw zRN8T+`OZLsH-C^kRot8$GXXPzB7bn!I=pV|{Tou{5ovLhwqywpzpYO1H&6w(3~_wJ zo7lsktkq+ts`=*lszHPstU7(l@na?MVizVZ$*)x#__0>NW~=IBgX_mnyHOK{OO@2e zPST6mu~UvmPlrG%nlZKMxcgC7ro5k~arYx_;0(=IvXTYhMzpc(XLh+f6C)5}`VuNw zxCiBOz1vyd8x-@$7W`eaUz2DP<=MR)aMnD#kgnpxyr}h@F6`c3BV>qGEH?ME%2*qd z_UNHL(Yg~MKhR>TXyJp0dI`OSZWE+;oN?j9MBFNUnj zszykd)qbv8I9Rj~+N4E5uk>Z! zUj)so?44Ge=nNC}o`tl+oSnyB&GkSz-KqjO>z~9IH;*DYerqRECrJTGg`-7kkwkJW zNX;OGJEvzJF_BZ4oy4O`>M(!C+?Q;j1)XE zLkB^`0bHr8VCK)f1?|xTEUTD!h99Ea=FDBQ{k`r#kazg_Yp?Z}7DunOAZCsM z$?F7Nx0}_u<>m=+oH47Xr+uGU_062sM7W?6E~w+f7~qtoaLsDhN_SSvUEyiyz@1fB z&FXF5DzcK@t}6fvgpp@now7Ur*L|XYO3b2$x_g<$axqu4Wp%rGd^+{}%%eL{PWHJS(xe7i?6N8-M#* zobbJ7anFj3S!}4WvuNeRuI>zMT%)qk*Z_AH`zL2{fM!w3+a!$@=?5fr^(=pB-~wma z1%Xj#b4K`2b1X0R#Mxn2gEI_?t>$%jW=IyH$!S7Qdu(tEw{CU{Ulc=ui&T->{UrkS z$dL4sxnDv*v?Ub(ln5+ZbteBZc0rr^$1LX3~7{I(U`Uf0_Wb7*%*y{UbM(~It zyc$gdAeI3y;d_cJsJvEjvO`67omTImi0`Sd&E0&O2i)>0XI0-*r~957S{CKd!F5RW zJtc3|C8?isSH0cp0m-AEG49n>tGN=EA{eUE{T%!oW%vl$i#%vHGRe#@!M0R^A+`JQ zGA~42cRs5k?a%!k8SP-b?7rTvu!dDAJ`g?)JJBZd8#31?9RXSvL!WaNSB=B8)d1Dt zKtSZ|kiAoc+`#y<$XBaKJi+h{e$0yIV3+_16WD*xoaMcrr`Mo(hvX)AqOlt_q&mQC zA(NwdjkgNPkhsf*u`G8A8u^(JNE#U~pD_K}Ye9Fhvkbm{DYgw=JV2*=*Q{73va|Y< zr$_9*)l%M()llATEJ5xBC#@^0u|PGTu8SnMBL&m1g7{qP%3&f5DJPMi>|?IB#fUB? zEpE5D#QuyMzgufuqLx}ZlXodCoE40vthB!wP~nRHe*%(dF{gicpvdr-T{&P%PVwcX zk)M1+nl>^^{Xi+U2Y(^(Rj^b5UtJ?sIh|DwvNfvK3zQGh4#V+-uXz5(8>NjC+l7c5 zVhd{ka8GmRPqoYk#qAlXW^4|O8(JQ*OpVHs4L;g4X6|g$K{&jS%M{ znVb%tV<9?-5AoA`g^YB+p~qAS%ACmvpz)U`c0}X5O&!HBO5&Y_#mTNA+Fo{xZF>_R zW|(a_&FFN2Z8&ZYaT~rX(XcxEv2BeQ6DaAjfgI}%;-4(SOqIF2EtzKaa2HG#wrFAO zIVxyBB8vXDEAR|8#q&2^&#>mM5*thxm!Xns%x3N$bapNmq(ye5chFHrir@HZ&$FbR z(*yGcRLwp|hZ%8GMpxpC_J%LG#)Zg==AbDZPmHPe|chc9-r;c zHRfq8n_oU{Db+T>rlyXcKzW|H%h|Sas~O5C6ut!gnRb=2FEeIXr57_y+gUb%Ud*ry z`|50?FY@Q1{){e>y7F>TVrXw~4>#;obhz=hd$_SSST}g1uNGTV0uIH6Bl-Xdh>in} z4Ib57IKE`A$P+5GQDHy!nR)6NhN*K7Y9N|~9^vx{Tk1V0Zm<5^aAIQV{I%HAj*&X; z7?^(AvD5_yR>?8*+yjqh^V>SXz`g+#^8it^m&J>NGj}bTCw+Dwgo7OsFs&QhkPll~ zGIv6NI`TM@L`6w1l5ym5=j|1(G5Ne%;a6C0ikVs(Ul51yKmdw2tfnPV zGXw@>C}GS)vS9q|F?#c1YFTDUy-VfqR(WuJDP3A7d(qXiu0|)idfHWfK(x(NYG{@v zvd_LsKL~a+eCE}a6*DO{{tW-6Qfx=LrNF~ZGt4&GYI4 z<{u2-=*RqrFDyp{7#3QR<`A6_;59`o08a?h(VI_c?5*av8NwEQX91QzSWbT>USC$` za*&%;$eO6F$p>7DLx4-hybEJhLrG|J@kM6wKY3WQDo+x(RRY>Zuec!(gfA>D{KOY& z11hpx)sD05qug&!RLdemyNx$XkqlCIc38I0CD1I5crRjeWVxxR|Gv15F5LsSeQvP0 zE#bo~X6a_I{HIkO_}u!uu-1Wvb|D3lxDD$E_Qi5fFgVK-$`5wMgQAKCk*=4ulm8bW z|H0??BT~Pe2=*sSq@DUeq?d}9hYN1uL+4%Z0F;cm{PRh7E`OCo?r1JAQy@8)<@ymR zc=+;;gj}v!#Ou<~;65T1cd-n4yUO* zTwOUUBOK-lwwXEA0d@`nvVWuO5$O0!t~-=70I~FN!5qGs7M67ekNWg48UVtdC~bcQ zYEw>0Kc8C9TUTT0EL^$`ou-EFu?=B*OPr4_whgtKX_6G-gtFlt3-mX?9OrV1(YyuT zJz?W{D6QI+U@J!xNE+%sGv9EDUb;3Xh`m)jRI!$m&8n_WIHyrY1o1L3biO!0RgsQOH)mEYM4+WCq+vSReo8p3CPP zEBUJkg+DE?RDn%aF$(gG`2}2dFV#+AF=S^w=6#U{4VC3 zBH=R52hN%*^`0b@IvKS4(FEHKt)NAusNJ}hhIYlP`p2slT);^Ir?`^b920i`)Ux9K zOdn>xHlDxzS}3&eqso&5s_?}K)v-CxD;dz|UfA{x*#DrV6t}ZGmkva- z_Ax(N0>&a`cFAcihKEeM&aSvS`H&3W&dNvu zHvUQF26-&3r`u{FALc%-!c_dPFU{i=l_EXMZSurqlQh)D+^M%|`<`39(j{)`lar-u zRvn~)mGi!X-Ou?Kv4S|disz5GhNH;?Kw$cLjlM$w+VB!+8qLbReR=45t)-^uP#9rK z4YL|Gr$D>RSFgG62k~A_w7U>nv(2&T*}rk`50eKJTb3^J9$~q5tNE!_6Uad*0mp*t z#&dHB|G8Q6_LfY2&A=djMzao4O5StAgWF{Cf0J6|Qa?bs)L#=h^`UJJc4DXN$HDv% zM>twg3uB}$T|k(slTdE@j|!jG=8h|Fo|2$|jYA7kgfjy;s*q`}WyV|-j;+cx`P6J1 z%V`W=QSwUC-5V!-v!+|E>7HWwtF9Qzjr6d`ndE6anonxFxHrc&Heo!j={i0_OpREn zIkNHCX;+em7d=C7FE zgo-GaM_mJ5@+LM(Qn7Ri4Hm{+2H8MLpkRa?y4tDSkR9l4Pcbt=-4En-G`w zR>v@jL#X^1UYk>G8N>u}H@=DIKS4>DHcfHwxA)h9!lpR~IfW<}bDE*^!gu%uCS#*` zHnW)DdU4A(7rP_-kBW5Kd`{$`PZgyjP`K82*9!b%aU5NPIjyL6L)F3OM7n+IgbCiB z%ad5H>Zt`#5aUc-@INpVNB;xq^XA8%^Oaz0n6OYS<80fJ@F4ZORB2MI0!~ z=Y3T8#DV98FB=HKKP1t@bW8}&X;E&&`cyq4Mf4*RcKL5JY6rW=iiTkCmO$aRs2_!G zg5s?FK;i0JN@G9Z_sn5@*TY+eIAN_=W6cBE&7h_b)KJGo&6h4}z7%Q>2xjl{Pk!kwBdH@Izp#Y{ATnSXkiiCN5C4t)tTbSun6mDOvnn3bvnse}Ty8HmC5jS&PmI zLqs)=MFCbC?QV_TAtrmlXu0Wzhnn*xtwTw#+>Cd_GT!MG%yIq?=K18ltDhXK51hMu zH{H!VuVxK-nda`!;soFK3;QK2D-z7w$Ijk2ys@UOQ{@3dr_RpC9l3jB3kMOt?B<$=Z(}`tPwf|RzO8B7*OsJ(xOW~wH(%L4{WUAp=U0h7 z`I6b^+}+AYp_zrel&N@J`5uCX=5}u-dHs6$10b9 znp^HRCwpzYW!|~jvEGwvuA+1&{m+aKD5_qw4~1i0LcHuWiT`zRX#wX;@z?p+%0EPR z9E~f!j(^-PiQ^v_kMi&D{G)lnjuxyR^QWBf;>WB>^Zli^04at)cgZL!)3*$ujU$-_A{mx~qhOffvo(GLsh)@0?*H z0M;IYqurFUv=>qDMHVk`DVd?>>=-K;OLB}(_^2E3rq5(m4S*c`?u94+Bf^vV@T!Z6VuWuK{`M}i46 zP2rNAQat}D-g8p9gnKp8*T#c&ea0krBSQv$$Z$R&ZVRqY@5mfbvywxLISUf;_CnS> z`AWJ}cvWw}-iF3>vL;KrX*WKKz{wXxH+9x@>39eoYiGiCt>ppDZVfUZo_~bK8~Vch zOan*&;FIVO^de9!8~|e%EZaefrAbaD{_Zwm1NDXrHrs?k$Ri7zHuLqPG=>5Y=hOCy zr{L0Z0p`bSQGK<4Mz%5Qc>ZD@YTp7$G8%IMsMhDZf-UzIwg8RSCjgBk2=HIBvD(lt zb#rm-AKi`TVa$@ziK+RPiY04ffH+Gf)^Ye-{2!KwDva;z_dXMQ`$ zYvMMG4nG9wC5ncu5nqMO=SPW1wwp+9|ml9KT-3#_j0~PSZkT6s7b*4^&*do zAg+x(78N;yy-huDuD68OYCb~0NMj)Gf@Mq^ttNXN?=v{Zir=XXLb-o}RMpPD6vkk$E`4muU@QFMc*GpVR7=_VTic5hdNByWyv?Ak(V`V*VWNxeaLr~u zQ_f3P-8TbkT6~;J6S9tIO4hYaq3V3KlPv9SH;=2X_U6iN;U0L)^Gu}bH0^gHD?b>z z6$LbZ6*Mlr++|xNh%l#n>n}VTD+jUXcS+R?=X9N^#ef$ZHgoL%84!G4EqanFbPGK)*}Qh_RqpLkQc0cSSQ~)TSO# zvhfEN1lVzLLCK~4X*qtk__-QpYX|jT3;=hCB<`&z^ED>W@*Wj0^yVP=b7&8C}UUX zaUq4!h7uu>vVK&FO@}_h6WW4=<_~er=wHqar%X4#;??5%xppMmUAf6lp|$}rC`zir zzL1u8OVn}NH5Mx*oJl`s3q&ro#=PtM1wv!&5nDP3IyZDnUv8|f%)?KHK%GK)#*vm6 z#>w95au;JTD2G&+`%LKNQmnbmESH&C*($pPmx|b_W?t=Yw^w!N zv&60*qF=mX8^hY8G&S%rgdf(h($J0o{hfb5Z69ZR)zWfM%kca4ox6jS_I+R-t|f$Y zfTf&&9ZpGa2Hxl;MH@e6FS%~!Ih2;8NP5#`jEd8Lg{6gu6m>dO^$t$f$Z*Ba zPl~q|=h;;B$RRJ?gp$xxwrz8n75ErLk zH|vB>xw4E<-AK;!XITrZ8R|qv_Dn<-!BF0lqjuKm_3UXmFxB*6@bzukf>x_Jkjk(V zXZa+XKX{@aGWwQt%-znj-V=famb@#=NWv2wM}QGndrBL;Q9)tmvtOyXxGOa{>Oml| zjo3XRJoTLsp^venuQiY86(m!7U!q+-PY1kUZm_bOSa5nD!W6CJN}JDv z7Gz@$asvRQqiRVAnLkiYH*Z2E?}#5_()HC|g6@v4Ey_Mw&2i5WEpN7UPMSc%G+_ZIuW`&<#X#@*||{bi{Nk(`GF_wR1kF3X;*ODbuy)!&m3pKoQrwwrMn7;*aw_c9j$9b(aQ^Mk-u&FL*-F+7Zo(=}Yui^b!bn z7U9c3-eyy+Jrf3|9)jV4BHJo@h$>4kF>NCSHal3dn?M(2;&yYs1{u1nkDqD)lCVg8 zVV)!Umlh-Z-5NXrEOK}x4MmB|qWz(dVZz%)vmSyK)wPOK4+ z@~8yIhW=iL1**?nlKXH<4vE?YEsH&YQvulmjyO0mHHS1<4ySRpQODXmbdJ*jV&PWt z{HM>ghp|(Jm7C8%Pe;pgLs2HIGneIoX7Vps_%5L`Sc~sZ81f->KOhc{Z7c>|PW;q_ z3lsjt8sNp0U=Y%mTt;AesVT7V!LONaq~IHyPKeR#Zx4ph*?e-B$i>Dk>t|>BV-N?m zEyC0u4GOUy2KLO2by~U3SmVD`4upN%@uB?o-3FE?8mZ3}c@8){zHJ{LBhYI6mn($iy9h#?%I&xCvQ2g^@B`Q$7!ICJFTG4EKqi@PQw6O+&k*Y&ds$80WG zj%5reNaj6Wh@dv8!16>W=w$0#%rV{Eo0kI;H!q#=LAo@)nD8FiD8|IUuuW_?ckmhO zr6(bMMOU-)09+|2DH^TSS;t*_SKtrJB+fE}wG2e)dDa|0IME}S(drOit%gqFz z37Fb|*O(gt&`HS+s?+G=sL3#O~Fd@5m_NID_kx96p|u|>A92;Xh} zg1GL3PvQbD&`M7;6@pqM=Ly!}ITN}qcCs7eo0Bn}KjLcg)bTSbnL_j=R0%83-rhwo zX^Yg#v)k0QC(jloTL=K|~Y1#?imQKjlD;#-!H4P!J%id9{CdI^EXx9bJ!ej2cqE&YSx*||(!9wAwk zM2AdrrR|c8k&{krrDz(tB2(gKy`-ev{yomW8~CSd<2PnlvT%@t zMHBvVr+j-NSL1eA)gUvS-A_J)6c;#G@o6sYBwjHb3-1+q)=JFpfZXA52Ee*eY%PPM zLbvqxj|x@x?&pMfni=j&J%h76Gnw{W6AAs4MQixUA?wb{GZSOGU^J;VwL_L8Bm?-d zH;_~K6x%=6{+7Emb}fagjOO!XrEr{RqS$l7aID`F`(b_yu`WvM*=P1a*+0ewF(T@y6rsiZVRpFxk zW$_jo)t{bv&I7lyJvh5v&X{%1RUr|emy`3`0YUBwWz&hF!LO4o6qlr{Xh^ALAx zG`c+!{koZnpi~?sZp|f2nxELS{jiGD`|yFnEuW5nPY%S<<{+yjw3=?Nwjlqx6W{+9 zp|aiVf~Q$dzQg^}Y_{r)1ys*8pAkmEUjl3iV$uk>XUO@^t;rG4BlEVsYZRk33UfP+ zYN9`}pY*)Nv~G4saE;sXT63lQrP++rmySkYyT9lHOqR0f5XZF{<>}e8tnzf?N>_R6 zX|WA;VTFFnJRA~z>k_@$msar#?=+>;*nn@?8er=AD5zDgkT&6nF@ZTI9Wjy-e?KDJ zkSEq-Mb0yoq^qXfHm5!zx?;yW&m=^RQ=gDPv4fH=Y<21rQmbs`qy-O4li=TT{KKWv zdb1_2pMD+tHvRf(66$+iXKiNffd#ZouA689-5E6;`cR9T0A- z6}Ykg{}iqk{vNHI>$Y+cr+d=G-Bup@^2W~}_94a22ldxhre@uHWO8Vd`{NXw#Y5vsR> zpAGz5%s=+|@w@rw4Oda+pPn#%>Wr#NyzuKM()0unD4-n?1$zpLG|EC=ftHyrZ&$CwM`RqXMEFqRjiP>gRc8 zG85S2-S8QntB>mH>ZguUC#;Tm$ zzA59Ta%lXdl2{SlUh}ov$BE;a@G@ZgtQ3*)1^w#oOC|=khlJ0TPXS5V{<&@151XL< z9E}nuE@b>VepC4k~Bo8+Op>jb--34q`Q6QL1iuyh*73WaA3OWn z$h<+D+Q_^McDEU3(^;lY8g=vCI1s7y#O}g<($jr>`;X}9fWPj8p6;FfZ_(4Me`$xF zhT6OyJz1<-4x+B?qKr227NTrbx-MOha)l~8G7o|>2Z2&uxKbZ0D6|!gN){Eiz{~Mn z7N4@(8O+RC&O$D_yV6JYl0XoW>@7r?KE+01zQyLo?Pgn4;oRa5dl*M8nZQuDr@ zl=nn8@0|AYu1BEJ@6H)9lcvb2CHD)9jr8ny1=+(nIRoVT z*XGU1GEi4J5p{jlsU)l9lNQm}nC&R_UGry#okwI(szGFnxiSHS9by&;8D@|F#SW85 zQIF?g@Yex=2(C!c5eh)zGnWehJrC&*IN_XS=a6Q@Ey+MY+cd@nKvrOmQvf!p&*veE z1>y^dHV`@Lo)a-4iK2=d^RahI!G*_NprWMjTiAz=CzTFaA|EfF0oQbvA8Xl$9sBQ@ zf6kP~eQEwlgJgoWWcS{9jODwW1J09T%3Jzm)|EEI2J+@E-o!Z8B)H`Uk_) z2^xVf@yXhO@V9W*C%`7Ek98DuY|Lz&1+T@BZ^;FFfup~Q=B8%6CX$+FSYPW zXYcwzY^&I-zBXUkTl0!WhN-}OKMhoPXTSs_S4!CE>1U#oNXY0cj_Ei{4kmDm7Fr$7 z7D#6Hi{Pa=o<=56W7RKWHzpkZ)CBR4_4=wePc0Lw!BAIGAA1z1VhiC0GoC>M4T&S^ zk$AE|{ZOwQqKs-aNWMji9$E_3tvXjnOAAX)4bhPz;au0>!$~AOJci5PPSahogpc}% zbb6$yNOIOm&WO5sI~+xH>3k=hh`0IZ{;IKCS`r{VjF3}4giabU6UQ_%>cc|&+Q^-e{z-clJY=jyo zJZrtYy6k;=DO~vG5Y|m=nz45jy{@-wP$b20%5t_?crRs~;e~uUO+zaK9SPZYzmT)Lyc?ZL;f~F>D{Vtr0d=CT13>_7ZA_8r+(B zgL%$$r{?mIa2aw4uP~2&M+ey4=6BpfQBGvs#-u@+GrQgDvu*W-0%beZzj0$b)&CAE zh~BAa&&lrBUZb9-W9goKm3n)7rJgUPo?uJ;W4o|kXG=Y+eNg*QXey$#>3GSR z-fo%M`-k)m=BsJwe@sff)0WzBcDwC|;%I--H^MlD3ko+)CDdt@EeRM~$<%tRlzy}= zeSW*8U*VR%T}l^@+Ft2BDP0nzl>YK0Dz$s>e`mkhj+t!$#K!&nlm z%@Yy`^-8K%v|6e1LS>N>)c%i@%PQ&^z4ZKO8^q7}qB-UX(vVdPA^s8ig4LeIhcmhu z-I3g70@dU*sV1_lm(=EuTNkSBkfQ9RU5*4|)lkzYtD7Q{NnqtH0HiyT$r&h;NnMwH z;UuC6;k4};5l*Gh4;>UPtyfv0Zg6a~c~T&hg{#O>pFd4wu+t3MAxEN#+n)G`$v0k} zVP68GE>ZI4DBcjkESLNlm6wY10ZqF7QampU)bsKa=!Ys9%|IJbhcWY4PDiI`VP)N= zKs=u1(H3gz@%1MkXUy!&G?qQu}*0Ur4;eCDYJQPr+s9e6h0Il4lB2t zJi^x?ST98E$l+>EWLl=v|J~{5JE5t$*e9}tenqVa^e8)`03~33pvRyi^1#(XSFQ>s z9hQ5E$^=TH;-;G{Vo_31R8+`n5183Yq*LUzRv-I6P;(CGHFFE3o7)ngENdwdb^>Ei z{K$O}V1gO19IK**LZg3E0vx+Vn%ndJ(|HQ#Ja8&CEhi1g6of?27Gv#n84nvp`b3J} z6Ii}GBOMln<4#fv*_|MY5Aioe$r{8vu~sk%Ge?c45Lvq%w;mlqzUJ{2eb{2Zy&)6u zAwJha{Pfof@ktiqPfh`z0}>E}J9o%1#%0KuC#I>W5hbPeGxLtLrH(nfbc*@ybZQT0 zl@<&A3KJ54hzj~X0Z9UPwPQToeQqK7t6qBcR)BJH&j6Awq|sjT!9e%mJmOvEcngL| zJXE9Os5qJ_V5D=^b-%KThMoGZo+^U@dwRTpm6JVJ#2!gec9533ddejW=BuiWi244bxS;MZDD5o4(}Fgmgh<+ z`re5ErgpGzbcsW?xA~>Ht_e-k_F|P7=E?cjm1${Nkj$@$e!>UI$x}f^bglbTGQYH+ zEhiY6RSf>lZ4iVso8Q4~-4EeeGb*Bg^0U`gL*ym%AFSizf-t`}lz0$$9$vt6d3feQrMC)CdgP06ks#+}ovEL03$ocyxTgn~hJqx#{RcNo8sOmA{;$P4sf ziK54dVSyf_Mg_w|VNTAJKo4g|N%f}8L3It%#JYvjwm^?+X%d+_^1~smM|HivuCsdz z7Bumcw78bguvyp}W|y~u%Wh-{^7n-V7@IU{^etmY%9gCYyBv;h=o^&)5bXG24OO;1 zh}gVuvRZVGlEH8&Lj$LpL1bvV*TE0Fx7jZioJ+ABhFactb6MA2QtYNgu>)+eIa2Hj zMo!6+%-ACwd_8HLKo@gXjGi*(<{QV1u5_V`{4KkKP}RFm-)(M`3J=1qwX4Sh7JnA5bFj?sg(m?@)gzj^ZLv2Kgf+cG&R z=k{BrEuEqwS6Py{L03<{a#oBT_p_=SM&3NxLv}mu$WJQf2`wfodao3-;^xU9V)E2| z0`N5(*|54P2BvDx&e5wB0A2ZzWv&%dMpsT4IpM}z_5;8pNyVI^#dL}0QcUpq(KlB~ zzkKPem^6CE$ZhP4cG@!{skjedcO^@*qbo%nT+V9CXdnYEldCFO z=NdVFKT!2ZD&|2grfc*LDQ1OTf*YCCq@_On^nFvPqc?J+ zddmIWRXXSzy|EaZ!&)~P`Qsoxk1AQGll3LxM;Wm^XQ@AMSdp*;CpLs2XYM%g7Y8=S z`uZ)rg*LdL#D3DIJxZaC9_13d;FyeeA?y1X+_I){Bfm_3zvK50elp$M$PYa({xUyt z{Sg&d`Kb-x%-J~lsH+9${&v@#%n%Z#Ek*4yTdoD&V$36MmMlU=TW<0eYw>$9t*M{? z68?kXRa3Yy(z$n!dsn_UI-FH zCR~A~q%==74_Es>h~-(PRc3_NyNUv*TqZ_P1On;>$-?ZYf`o}ezGWiHN%*JC1Ddd$ z;aKya7zCO-C`%2^Y9%f$%4381c!DT$a$0d!5DmL&elfFyhb3(t4%(A8lr)!SWST>y z!br|#;$7&j(hGe@gBJgP=uw$W9N0Zvpe1nISfa}kuc0{-O0@o5740X2E zb9`gbRn%wB^s66ctAF=ct^U3|J_f1Y&W!zflk2=Jsm|x2MyV`3qaTwo?YPcapxZ;x z5q?@hP@wjGH$7M_2CFz14I2h^jVKEjqy0D&z}XbHR~RHvH8%|H{(s+HpSc2MD2ION$Ov zLkNSRT6DR@Ks9;7Z|ABE}}+>wo%kUC)^+!t`A4IB%&|&vsDqp z3p$T1tS4<*L<2v|Fzjv)_!uS;$r*@o!5fCd8_Da~Sdt&e)>@e&!o+nBP#?;0Rjc$%I7?@W*H=Eu(1y8I=B{Ri?IAPA%R9* zT|H}Uh88J;(|p7bs-CsTz7er%Ue!1C8I=cvsD8Y`#J1>n^wzph84L$wP9 zfY5`|PRk!N&HCZOdZFo@fLH}08WEgx!VwaJYv#l<={@CVwqsaE;@G1T+-{lQrLJ}n zWi@x{AlAMQMtj|Y_cmR^I}IAg#&+$Kzh_1#C;+-W2si|t(ATDif%x8|1vCg;C|{(8 z`2*mD3xh|=rRUP4NprOas|(}?VLCEvXXOeggA(ZHU2_9qNN^75=ol=2ExLa}h>eZZ zE*vG#WJWi_Nq|zE$wz@XYxk>_4yE$rsNC#5N(i^PEHVpO+eJjlbrz<@M=DI$A3>rV z3llCrND#Fph#5!>2~8SSXPa3!%Hr-=!JWneNCSpxTl8|_Y?j=`5yx&sZSIn#Wlm}` z^Q0Ih`bv7CswGxZS1TKFb-^mT+4`a4nD>NPG5fNez^sw78LJ^@|PZF@#13FS%;AHydNX3FM z<;s(7<=%*tu8Cisom6u}Cf2FwP_14WfW?T6g61wT2g?R#P^6S3J8INtX_-l7_eQ5Le^pqOw?C(YSIvZH3L>R1S>+1 zAtPy9uTQ}CQrvNX-I4a3`{+nh2B1F0lM0RE58KML}}e=-ydVwQQYY zd3ordAAb#_DmYwFR(R4wbQT_d5v|5^hWp8NuEBJJnE{8u87^yLR>B$10-FHYoidAK zX=2K})OQAElIS}FHy&!UwL&3Zy`av($*&&cmHM)Yo3`%^+?eDH?0K*mrnas#u+BXf zKmwcjJ8*9-Rt>k7d_v`Z|ya#z3$Xg9Gg$Xl{V?|A9xYVW2)cU(@ZCPzkl#{@wRN0)7l}NeAJjAdOTK4C)Tj?4Pv^{1<>gQM7 z&zMtli|hJ{z0?V%8cc^3*eVi}Ur0^e1XRt76g@5!a^PVq@7id1OD}3q!*eIUFmBcG zdfp`&Uo`JuBCyNk_fxcRPrH+?;P0B<*UB&~Z3#1Ps%mKN%;#_HOt;m1ezh;LVeawh z`$AWw1rna&>l(vK&K=Z5!3o|{km*D9VmG4gA}!`r&mvWq1LnT5Ur={p?qvA z+iyKR{CXPdvf@H*MmH1tyzvjzPkOR{dV(66C(c&j) zqKO|O^sQJCjlW4X{>PjYdf3F4UW_3XdCb-8Z5<}7+S0=-pvBU|+vt|sd!pwfy`{4C zA_d+7HP*;c*@c7b?vdm)o zMieG}In>M)LhK)nW-t%5-29Ylnngtpj|{__i!$y9lE)7g%-}I6TCUJm2Mg^Os1>4J z3(#iTMS?XJ4K-4V`SuzHjy-}>G%Lg?V|Kj@x_GeNcBO}z%44mr+X`tgcocYr@XwTi z_I(a45_J)P&cZSy?RZEESINm{B#Y=n6U7}zAe()Zco`XKbBwTd?7u~gZth5wi+4C! z&kRg2bJcJUMAiTBbHfUi1S4WPQwqd4P!Rc@j+dS0E3SZj7tB*nGIulSdY?8<60aqZ z_RR>~M&!janp-z6n#bi{PgUal6G=!-4{3(dy7}cF)xj%Az+zZ;#~LDwOk5Xo&Ewk2 zHD4B+q9+1?vS21?a9Ek7G@0j6D8)8+42XuPCG0_I6DwG)f!yI613id#&_foN#EHJ2 z>mzSwpn{0#*TLrrXwffB2Y_NLD{5VZxFB10EgN%6>SnP#$gptpFw|64u!L+fpZJkM z%1}yLP)sT~pRj2K<|GnPctT@vC6E+J?fojEzl29<3x{Dml~?9g-T+KLYh6|Udh{2V zch-TFmae}PqrW&pQiI62ABY@t7zu!;n9|wC;5L=Aiz)l*$J>?-D8nkE+Zde5&-F2c^yL9I*C%T!_vjuIoT%qLG z7^)>pIz%VQxc0VT6G&>SQ#f{XC3~j4<)p(_$aA7eostTv(?U8%^QDl~wZ6zR?pj~^ zdSTOLN$WpaMyKd!3=|&_Hr$V!I+gV{k&Sk3)PslM_#Sp|Pb%g|*hI;atmwm1Ov+jx z2hr{ImK~*&>@v_Rnxk{{CUVHM&@c8_iglNP9+5P58K_J2LU$-Pbg@G$Z5gOmB#;;G z*-N%)l6`ZByXwPo7zOD9K^T{P1=z&@_N^8x<@ZRzUe_=(; zQ8^LNJ)*l}jmOSBGQ*quGPn-++|^Z7ik!c7ANZJ)iH!$7v-NSjMw-N7C}ow`NVbqQ=9Vb|-<3)VEa!MXDLwDz)|i)=1H}g0K^* z9IXWfB*`E8t)f%{MV`5Ot(y6%Qmh&$S6Lc8>Oz228l6xmJt@(7(2^6X?KZO~fvQf} zvd?uQ%Op+$s;y}5=sIGvG%L#d&YmZot;#1IPz8LY^-wG3V=>Q|+h5`sq7Ee$m{id` z&m)~@R$5cqD7=U6XfR8MsbbojhXv+I9t2g)7|iiR2ZhuY#SZPe1869=3L8GLG|-s3 z$~WZ6EKN_$FRp1l8uE-T+K7&s#N8BaZ#Zd%ha@%Wn~S|BftLmye#s4Dh8H_elqeS+ z9g_1lkQeik>njZgl*}}{;({iwW2m7Oima)t*x*Fesx3C-(A#EXv1s})N@JcU83U~Z zH#O1-&|=k&ELNKlUR}h%@cIDqb9n{!;surGgJSTP471|)dMS~TujDE{k=g;#m@b`Y zDA=;dlTxJ@?+8jCC4~QY7d1Lp>m0xZyc1YrtpxBsGH3pgp1|LAzK-N*o-n(fgFEX; z-qMi*dYrFQ8EbA%YK=67X;rmM2*zKO)SSl3;`HW_+FPB;ks5_^sv%cy7MR=Q#-*)j zFKLo(i}X3BlTZ38LCZiawUJ z-G9+pa*2Mura42n#it+*_An?*E2R!y^Ex4ZK4I{GQF`QbHj^rFnRP& zCIs_KH}uIY3B6cX%7{p*LoKOJh*|K&hHI||(c#E-{2v<9BQzBG zYR`mVy9xotU9g9^U~A9~Rstm8h6}dF+W>5hwb9CTn7II;CAfwSu+2~)z(#b2yErM{ z8Y3)S)SI5np=92bBgrFG^)y+6amb-WR;4pn@3gZlVT$gb$Oep7y-MZ}&$Fq5p;^5M z1W-~}#S2a4$q(5`BkqDyAz8$*R@y;h~|o(@RLxj=Jvv>RCdt;xpqnxj+nTNrzr$;RSRf3k6& zq_LBYtmrEwl-_7?Exc)yjZs2O?Mya;X%m9jIWpO>*ok#Z%pDT*iKK`on99B0s94R$ zGRS9~vETG&t+*RQ0SKAFO+Bvbx#-^%t;Y z{%}6t@}6F1_nS_os~FWyiTOhdo>yhWX-J+vG?=jiMVN{6Rl><>gv}^!Sh$9TGLwvs z&(#3<>v36hf6)w-`Xd^zQJ19K=&(PSj)|h%T7%PUhYIJ6UV$azjWrxVS!Tz%{s*)4 zLJvArxJK34X_0RLCZ*Vo;qwT=A568MT6_uAvdJ=OY=PSxSkLyhEt0v#rL$?#4|}ym zJa)TF1@WJL#3!HqwZx}2uN3;tOwrSSFvr*`MMID&hZ?&%MFU9oJ*S?|54h6f>SH&=FRx;%>qVXmHgd=HY4t0FKWzU zNh8aqzN-3zC^B~!`+%H|p4J2pp-)uV09O_wN^2M-Ok2#>0JlAQo8q}@AQL z!5vmtm;57z|>mo3l+@R1$@k{-BHque_MLjeX{R2%NR9D3Wq;!E*AOAQL z?3VxFVz>02<_sa?KhIIB&Dx_>JDpSJP0zCg-=aFw{aeicQ7SmM>Z+)Y?^uMZ>L{HF z!VmRfth_1((H;^8CV(^NN|CHso73%0qggJoF6GUU@&=q8BFU-!0It!O;JInV>IP+$ z#TNR@k^w}-Ntmj*-vm-h>rwl1xr+MNYkujvI@K2!@RSch(zs~_XoUTwx}CIHs(YAG zNlo?U0dAzveqmoUnj-~5+eH*fO{(wNT86l_4560wXf5H|+aaKEkitmN! zt3&e3Lbnxg4{sdO&%8vXo-;u%8cQx3i&X$QUyq#`*v7?=WJE!<1;tsV25O#T)x1XY z4!WP3*D-?Yr7U|l|L(=ZaiD4G)a8b z($NX=by4c)QSRr2_$o$xp^;BgD?_B{pR*vs7B<Zn|+LAh4tX}n8zA$C{Id>3Nj zT5lkVg=@V9;;i`k3Kv;Xg~Y5Np2oY)-+wASDBgEy(`x>DO&y2Da)om-#}dm?(c>1G zKcDZ7tI8g9c`M3)6B!#AxUtdD2XK`(THDv_vYN`lnx43r>}Rby#n$C7NWOsxVx0O( zPwL0gP?2g_j+tlfG}Ua{N2*#GU4;ZcDOAQqu|Mlw^r{yTNdKDLW7 zJNgVT5}8%c@T9j=#OXfND@nA6}#VO zy=V(Z?8;k_ zg~AkajSis;ETG7oq7Ku+_mi>_R;TwLSs%YncW7Ua`%e4%ogMUb)oIGBgcbT;3rRWv|+VJeC&oqb2SXK&G(pVli#B zn4iJ%g&Yopx53xS;cLU;Ywa!>hT((WYMU}AyQ44<^JKoT@P9&G`&n+wH;a_~s`6Ma z%h%;L(H9bIjuo~7GmkWUFKD}*R={#v?*(laViI@( zI8R8?zNw#&a6j);iasK&;;wIG=HX2Okyhybr=O6{nZ@^{jT8-4SkC1knD?gZt76jNNB2MZ?kcyJ06yduHO+n{DRKp_eagwY%RZ;Dm zn7a{5t?q2i_Sl_$(tFI8rSM~wrR%P>J=WzEugAvWSlwo}hQd)w@@?i3MW`=Jm!&MG zOg*cOFo47BGKy$D!r9Mh*q1CtwWwI`%2FAdLeR3Jp|TW-^R0=WnN)Q0BqdRWaESBB zjKGW@$PCCzziL_{qIyMhM-~j%nLh0nU!N#Gby5dPRd0hRAvr|O2DA1Y5mj5Fe-fs^ z9Ed6w+Ii5gZ=o+rCCGuw8rPTpw^Nl8e*8));T8zOc>%56jgd&}YYoHZb3j&5? z+h-DISE@wV9*}_YN_3TE{Cc4E7trkTf;mmflzC4dg*R>%KLud&;$ZngL%QpSEv6&a z=xCkprj+{d6ev)}q$D?VzjWjzDTn7*d8Xnfxo?thZpHu5dmBG~k*2Y0QZ?9GB@Ak z0++~SSLTXP=13Yz;#{Mb27y zGT4gl`7!KA&i>t&rE>OM%K9(l>=avsip_5s$N!O>T`d{fk+VOcP*={@lO$cvHgrO{ zQlzKu2fhLXv}c?BPXw-yL*EyqVzt;`#U8to-#UI$xpgT1WMY!4=Vn#dDx%#9UgRgN zh+gdGvx0dWr0NT1@<~Gb1z-Kd7w`2R^YZaB_BSL%_AfwF;`8IFpKowKw-wniWY6#8 zfXQ&3H@-*~*&+yv%}l}~B~5&FGUbcxMJj3bns!mH@!uJb_Rozw0`DrJvt*>D@~yt;m`7U3zuu+t6m}yLAFM`%Tp1 zEK>BSoV6G(ywE6%{(BS_Juy$}pT+#l-Q`3}k-Q(6m8WVeE&AMg#i_SONyL}bqma}s zcFJ1~Qs+#f!jq{GiP7YWX*=cp=aFrCi6hyAglBW7yr7>P#DBcP_EO|HAs*?a({WlA zn}cVf7{{DeLiD_AGEVopp$h9V9G!y$5Y^T$B_SZuus$#^oZ_WYiz?-Ke$lK-wg{h> z-DPPA)gXaY3&aWB^+9+O;-I%vioYpQyc#Exil^v%m7r#|#Kz)HEPe`NIq`bFBW(oN zbpAIv()l7`*~vuzf8hatxL-Qewp13lQ+E(+r|vANOAAi6pqb|$ktuTA9Kmz+B!(pl z+yW=eg9R+uhv2OOfAp?c!J(rd>o+(u`ni2o}FME}p z>hMtSSSR$oKMh2}O~PGs^bO;n>sF27;`%98=}P4d40TpNV>p1SKj@m1e3??lr;;7- zh*%+-i|@?Zkm=9Zm93TxAIAC?;ffmR36b|D6|MjuE+$X$5yPQ_@AvVY%e`F8?`&E} z(t5(c)ejndcs-}X&9=OX=q&n3npqM3t$!!xT5WoAZRP}9*YQ%}>Q<%g#!*ZeeF{93bp$m$kO8 z7dBQ37%suXj#znr1RI*|@ORJa&l%`yP0J<-)xbY_a=owT4Gg+G*u(b4R{6rDSIr6GdTQ?qXK( z1X?DuHA1*C>r_eNF<+*AmAyox?((Pf^(=Y6<&OZ0v}1y>KK7Bim3exju#Lc7RADN|f z<8y`FML2l!vbGhsQ^;oFaqAM=`i?Jw8h7ZXoqlq#jD@A*3Ek>XD?r ziqu0KY5SK)TF;N-qc~%xTbnax1R4oP)h0y#|3BZ3tm9SlKU_L91d(`}|8*r5wi@3j zBTf59(Q4P5{pmhhq)q_Np-3hGkNX^U6LW~l(Un!xq>=md1fOh+&@3HZ3E~~%&Di|3o7?v>7a1WoKd}M6%x@7t@h`Vy%C!Ps%8SGxmzYs)1c7D!$B`)Q z^&a!;5h;xSSo+E#;|^|SPdd`_O(I^hd6PEPn>0+D1h`E~jt0k#JFwgkI2RR-`c zlwBHqkJY|Buw?$=+%pH}vSFhKUj~s{W31`u;Q(l~+Ua=&HG!{QoVTyCKJTq%ts*@e zXr`mvU5;Vk;(~ppUu@IgN7`c270dBp=Q_171?Gw9rIdb@&@VOj(Jth-Y3{(hVWf?9 zm29;a+H8&!p2m^Zal-aUcx@qS^HO(w!=A}plo^q59CJT8g%9Aq0pW} z0(VUcbW}eY0d(AlDu7_&&MsD&nFbK(==Izb0o0z{Jc$()S*84@mnVR_;GEe;Zeo#X zHC^eCHc^g-zwC!NLgd&GM|+R)jcRnRhGlg1=ja;70vaihNwA$RuICK4);w&jugbEe`mk%xIzMMwXipV}ESV1Z&ND2i;*eR66rH50 zukll>4Of!Vol}afxwlht(!>0u>b1OHOo(d3O>>T?lwyRCSo4VGH0urGOJt!Od~gkY zb2qU7tO57I>s9wZ{XNzFfB!zZ|CI;nfP&))mXjAl71&3PR)ks|$3><1$NMUvt5D7T zQo@~yPNkbZYextbMT#C6N&Q`@Uv&fPchjIc)zfHuNfUX3U?u$H)t4CM!sHCLwDAsm zzO8Z+>maltkr^N}R%5yu|Sq?J;4`We)SL`QuSOeT-Mfc<|<1bm{bk zX3VemGW@^7BmQ)Tlcs4jG9F6_*&^FB7nw(R0wE;HF~8xSm-Vp@sM+`MKrK#6kQ6mI zMjlphd^h)7B%^B-4s#$qz;*Y5qlJwcS}PemnM$2XE9j&P*V!(3Y6ST`X+=i3dMM+WN{t>|=}oqodVbz(teJ$CM?ShlqRvY)U7*@ z&((Yu8+1L_0j{NPUgbF3o>Yu6BXjJge{G=5Jg{w9u41 z1XeBSIi3SH=RAo=`4Hcu8;3bOdSqSG_vqG`AaVeK+H~-KP`@B?@|g@|>hObYXHGHq z@S!1&nFm;+yM~u3H?c0i#oTYv%0;O-d)&uLo`#inoVP&r(xt`EC0Y5$IA>7t&kbq_25F<$oq(*(jfv^#o81hBkuB77O zS}}~Hs3VVTft!6lm4H8yn2r`>f@3 zqYwdh&CnOAwiW~iOSEW|{Q&Y;mjdJ<3nU*{0G00gjldW#`~gY;#z}OOIiPDYaJH8` z>#jhSXCb4T5O?6&MpLMLKTs>PQrIm-0eGJfTR7U*iC*>?|0_GlWAH_H6l)(#Z0WM_ z(A=^Cm*fU&A7kK_%lzTD+_-G4|IWa?2#-uB@|b8KB`(invXP%MttexIQRTtz)Z$2K z1G+4;p^9M5?##-e6EjOHCiW}2js)fXUz>LI#o;?o*mZIE>=P~uUvb>7i^2ySmr`D( z>~t}2AL18uNHG3lu;zu_^8V4P=b3QCI#QND&+<(Of$qr!Jon3LK({tLv4V|}Vf(vQ z89p0iHZkkqt{L+$&f^SY=j}}s%bGADdR3-h+OD%suE61&5Rlw>*sN=fijO@IS)_==aAi@jBKJ>NRm zZ^tHm8z$c_h(sPB~-0`|kBUkrmOC!P1o2>o44dV6|2Y0?% z7ASvN2&C+|i;Lv|fg~D%KnbOJ#!%)Wk;Qq8UMHM&(gs*TO_QRH$Ac1&^$^cOMqlMI z!NBt?gOOl7*!v}hRg0CWxWIxn&s3vHin!Zn>m{e-|DCwJ} zreI`)5YJ#U(YJwv>D?ec-dv-1)w*ZQ& zbHami1vT*PUCzplmZF#wIGKzvoqN#luwqjJ`(q4?X_=?9cv3QZxLB}klN>EcYE&uA zs2l;^gJ92fXxf+Eyi-s}%YKDs=Iq-5je-bp^|*fVOaxpITJ&#T519H(C^WCPm#L^e4q_$Q9hW^rtpk8vZru+o1J3+lJ24@Fz7#*2|>P zPJbyiv5|>zr0@?oR+ws=_%B}KCsGq%Y)k$@@PD~YT&Ia$bcRzioG$Cxk;3iU$#AUA zaD!L+^wh+EW4V~b=Sbr30@Bi~%e=&wrY7EKX=m=&ByO>ZPxBI=otijo6JH^Te`6Ep zYGRM5(JvXAoXeHXId!>Z;TvFNbNZQw4phc!eyP{Exm&NB%^a?*#kCou-U1nY7@k8h z(Q1q zy>6Kyz3wz~^}5;IuGcN*R<7w~Lo5@76q0*!5377MGDDdBG0Z9%)q_Z*y?A+Q;@LLw zK*9AlT1D0wnpmK&h`Ma%)YNP>On#~3gHOr!oXwVxZA1%<$4&`z-zl(UNG52@S-CMguq2S#Qq#0E z)+4Z_OT^h(v#YD7q=a~rofT8f_gZIO%_^z$d#_Gz+SWOD?@lVet(UrMP3G2LL2Vv_ zVtD4&UmgNm!0vq>E5 z8scN8@%&HF+3rl*b-i>KS7tWx?fi%<8~-)GHT=Y{^L2idu76ktf=_1QHjeB-bx>Xry3com9v{=I{aA0I}1iKUv-pnvh z>&;l#*3g!>)S2wU9sT?S*)to`mWueXH zM7?e?$LKX~4&#cF-75B*%UHTEt{YfPB@UbV(ZXjA3x)@epqdfo;qjxWW)#m8c%D!m zzGVv4O)>9eS+aUvubWM?UbmR#T;-gCfyKedB}kJ?3vi{!T|YCB8_W&lUdqm6*?la# zkj0`lgGy%v!#}SUY=mm$QZoPNbzJIdjRcCL3uzfZz8!9(jGG(bpmn!LiDBf9_pI*p!oxtWkwU>D*h7mCy3Sl6zd}C^1w%) zx!p}SPOjmZ_(IIi=R>|3<$fr$9}4&YerFb#A?}B>xKgsvKv`sFae3qxr0y7pS{y8+ zfqAvklv+;Clu*xZzf%arGSe{~w2;l_>yBD2L@;|8ABLHzya4Wha`h;KkE4KX6bVL| z7B|5^Yyu?}5=r;ffWzGq%k{e1lpi94DrC;bvsM*YR%bh6YDotM!IsZ85*<&QZ@c#+LB{FC+)wjo!yKq`U|2g5rD&M+lZ_TLiV&xPcWMS2O<$i-}nXJf5Z zQRR_b<&nXf<&AvIsO%=N-Y{ctJci{UZvOGP($vrE`3Cg&H0aeGFRqYdKs50h?k*Q| zFXclMZDzQ>QjooGrQk5D6y#Q~5E9C$d^24yI09MUrTK3CPLbDpszG+_a;qAsR&e(s zvIlzHEv@BJXD`w`G=>@cCh!}<&*9gPUp~KH{2)ouCfpjVLUHlC?I;va?UmW;%v|#q zdy{8=Yj50r-q8q;zQ9)l!Tip3zMwA)PtPTaNRp^WG$0lb>PqB@en@6afw_!gM8&&E zuW@ssUN@WbxTd1mI`-Lt=2ZqmqfIljO;@*o?|!5}0Ef%v@*&r3l^68$2V9}JbV>Dw zo8UQ{K;a`d(>;lTf?#?|6YMm<=IXJ6giEcgd4(?_BAzfAE<|vdL;sF_&*^jO(rpbf~ zpY4zyEpPfTC~TO?)x^jKz3wy_T-&1@>-L-qyH7ta?XhICm}?rlPSR`s;HHbnH3Hlb zl-KYW)o+3|KXj<-t>`@om}!$$XwA)Trm=K@H}#bM+$zDWf>NTyAlZ#QfAf;#Y-an) zP4>o97_Q@Sf7FO-kjv1_g(`c&*s*I#Ts}EDbT-z3nJ`&bWjKa{gbokWYup6%y4iH$ z`XAEa+V3otG;xK_w0<}zmI*db5lq+o-A(X&n?L~~0l>hegj?U|CYUYPWNv-C`(Yf{ zbOMw>JZ_A*D<4+;b?;eS##l?r9it#HJh-?}((kH)Z8VL|(U zMq~ZbX)L)Y&wSNSsO^*lwdL)f(E3?Idl@$`m(UW0CMfAFX@l6ZPPR7)0X?MoCp=0^ z5_v3_N#kp&R;KBB(34L`X2W(%KkM`wH*auF@1fLM+IH9MY&ts|3dlAK++yzJnkM9u z6o(0Jx+~93*|-lW6CEMj-|N9)%PLg`Aq8klvO;;7S|_sRquZX$icj zz>>%rINL!YR?mRtJYt`v`xAuHjixA}WZIhovum5aDK=Z|jpLHeMjn0M<1HI`Ouc;t z))Gx(zG8(T&#G9!jEWJ8#h5P9Mp+V?PYuG9?$T@A+@aUaW~yGdn2B8d&h<4c4<=bI zZ)+{}$*Zqh;89%nM_ygsbl+`N?vXAk4Ie}zuC)oY8IT4|5byAr#b%A0;O}xpPvWD) z2gf|+e)u(4zYWQ<)Ol8x8ssmb67Gk=T}C-+O-WJ*&*VD{&}~A}Z0B(MK|!bEi%qsb z1gOFQi(!DpX2%wV(I@Z!jHrjD6LrE?KTJsZ>;x&F1Q9!JL~A=UZAf~UCF!xRCvm+z zaFs;N7nq+4+`>{UuRDWBB@P+$7|~_91Hp*FVp_I2nvX(jho-dEV~5*`hg%lDfLy`Q zPtDe^ZNGoOl?e%kshQcq(Clop&i$}juUoa|#I)954q*$OsV52Kkj<(HT%@yEV6!A+ z`GUE!s5NJ5pn6VjMrGGVo>=jSohB|n&n8w$RyuE*c*|0f#sk4tSuc5)^^(?DmYPPq z1(Lah?~Tv7?XbBlkW(f|%oXJKmQ|8-QT}Ug$j+GCOsUm8Cnd6&p8uN5JYXD$Ca_Kc zEJp4D^RgJ3^*>yU{N7!R{Jv&aXKhEyVx-o|Vx-i$zs1P!fz4fvoXTz5Vq_NBNLh?L z$EMrwVq{kOVr1Z$49uo+$GkL)myiSw<>$bS1D%PBEFZn z&dEiv?#SVf_4jj*aUB}m)m=Wv9f3gVcw)-{O z72_xEmUe#5Pu5;PaGyWn>bCm3SKCUWDv!9l?+L6}0{f8~LyHf~^K;8dxwYy_FfsJ1vLw7B|9sFeNdmF!2ehc}% z$j|V5l^^9x6_Km~2~1W*e+CH%rBy^<=g$6#9*{_5u`NSJu-*B8i0$1jws+U;>e3#z zwN9`tb?y(_yMb+gz6Bgul8Wtr$G4z!I=25a-vaQs#Zt9k*y2$rL-5$?e~8CDE*|&P z?6T}Vg)M5G;8E(_A0CB$?hlWh{yRK&`XAu&+*CY%>*Dc%{~;c?yLjAQvn!`Pdel0> zqtv-SJZ}FNcs$_0!{Y(}13b=oB}q8~Omv~FX+*GY<1F=8?3{QcT~1o_%_hzSHuqs{i>OXB}zvuz_zb4qQSBy@AKN7rbv z$VUqIwvesdW?Pk>?U~eUpV(~YO1497w)@kw)um<|Bg-U_!YOOWw&8O{$=LL4SEpwC z%w~HOk3+M_W-Cn3c5-UAakB2kx+tEK=2n}nb9%Nty;D%K$!7bBWINAhTSuA{Oum|$ z?FLo_sqG3JCQV11ZBcr*hf}k)*xHVgY_EQ%D7ig7+byZtZnW7pttQ)pHrqw%*)B-U z_D74!3#7K|ZML7JXUk2^Hqd6vmTV{5Y+vT3q2yy;wIQxMEtQOxY+FCowk=D~_H=5t zqinX5CEK$$+db*oYErXZX-7bfWV_2|8=0Q%iqvd7?JzBqY!};X1?kz2Pt8_fv;9S~ z9b&U(rf1u6ObSZglr?}z;VqKw!%q|?Z;>X2xYnd*>t?g9k!*jp+5VKCZDDG*$Hmkh zDO@1gCfjV4>Dg{f&Gs2)YO+NoTR)qvG(FpSso836wx=aqrpkQt(DsDx7ixgvpt!bZIqZ@BZa3)ZP(dsq4aFCQ?q5- zY&)d3<88KU(z6Xs&32xcJR^lerM9m(YTHgp&z6^(?R_yNMhbgLwr6a%AC3}~ATaiD z(*_Zb$-FvJH~_1LnQs%X^Af+4nmEE#n8dRiNnBwQKdp(a_IfsPIqlud$Gp37Pl(oQ z-~JJ|PkXoYOYd$GYO}~d`+mo_o{pS&*D0xlFKfMgk>(#=ZQAC1kDd9F$Nt%O|9CY0 z-83JDb!T{Gt%!PeA^+>={@oZRPqw^g{k!9~c<(-9S}Aqf6sH2ey_?<+JeT^=Pk7u* zH`KpdbmHEml1A~~ZH!y?`G?9ITY3+@Pi||xXFNXs^uRIm^rfT{3yH1+6RFGaHuT_~ z=sb4ip;ladp@YD@Ut`S*hF*2n)b`_*WJY6tZ64Anu+&`OgzPChk*xQUUiFg9k*u9b zuL|s|PPK`QdG^)Hq*uB6N|rim#gUW^yYZg4-rEfTUSvn&0$gIv=^thjWdkRvagBCM z9oy|9lDI5f=w4zFa}^zxDsS80vT(rMa#8PRb03+17W=8Hd(RJ!Rw+94Y`YR0u>IO^I% z!i^5DlN0-nlr8^e(mOy9p4DnLzRykL!M31QlC%)cB3~Oy01EX$=UcH;yBgFj3e@gp z^SSfvE)wvU;q-n5qdJR2a-t&Vau9NnT_FcN2-d=dr*Sb0)=5)A6pegGtFC`r-fS@A z+twVJL0p-|(&uJ2DcDNex~)vqNXm+q z(!QSsmvxkM85vFGwO?1#=>!AZVKxxKC)S$HvK2T_zOSB)Dh}K))`pb*B>Sr7&%z=S758bf@_7-uP? zLBA405W=94g%^hgoskEHoPlkf^A8z`vb(xGbbcQnZSvu7e4tR>c^%g6xMlsf2O@Ji zOV4w#%DsG7TKFlhAktI80oUgSYB-iUgFVE-@SPvg^H2OjNC^R}JH+EXAK+Q~%<>)?;DbiZhzZZ;WGoJOYmpR2L1ew?4$0xQes*4 z{l@9~a#c?mHQRJJZZJ`Di@z_Wnu#-+<5cYsS-b| zw9%aLdl^IY+G1&L`>gANk%TCkAmzKHxd^JzvtD|XwggvrJWN^?UMwuk6oLt9$t}w5 zC5W<5mJ=2zS%$cnFW-`6a_*YTr-U?jzi#ucfKvt|b8-lZO|c@(%tw3znLG+K<_$@? zB5(ZUsY1VgNSn{i68R8jGk>_M-aN{~#M4LmpFcJa+0QUs2|4yrc=!wKf^IbPt7I46 z2Hq|*7Ydt(5rzITjGFA86epbZ{_ll=Qg{*33(SB+1dXtwm$H@o+Oi_xSXc%-!p(ED zxtzE{vF;aHUUbBK|&k-7buGmBO0DZB&F-+FuM)5lU<05g#nr1YqAg{jtYJs&x6AvhyKFFWJ4>27gOmDb-yEp9!eG&cOM9gi_FAD zQ#X*Cy{}5YEfbV`eH@cl?e+0nn%3>(7kOyg$A7n<;qVd&X2+oLtQQ7_z9-BHawlqj zKaFF90pMBy2-YB`G6M7FA@51eKqvk)@9C>S5?1F6G#g<88h-09{iMlT?O1_2t#{={2G3TY-tI^b+*KsZ zXo}Xj!D-w@P5hw%tl6oT zr*3D`E(t(@&J(N|2LgO;h=@no6OSEf#wgv)$~Nx^7l>pHy&a|WSrtUGh}N~mdDbVl znw2@hP&s_9G~14At4zNBvS56Jd4LiKkISzj+YV@H{nA^tlcP(p){|?2nIshn(#L9z zg|qIUMh`A(Y<7HJ=G3e?6TTqDOw(ev#CwkadAAHbcTx+>qm1ZHUeO2fw6C^aHqzV% zHL@VAPL-uHH=CMTH5_1JaJkpuU}W}Q8L2W@qOcT-ZqT@3;iK}yI<|sxq3Mqb7DH>T znkUJZN^;mtwMgzr;Yq0#1#6nwtFzPGM>-m^$Xul&9*G_)Zy+X=RHa<7a1*@Aj&9M+ zy|H_ZmcP^FNwyUyot`&v@}wz~o#nT1j@5a28DE?Jw%}@rxn6XyliUnjT2sepfGpj5gPuFM z?yFyJ9BDQ{KyCWv`|0dTSm6<2S=YU7c-{r(x)#N*wChs6#pg?^iWKJE#vTsR$6t|p z&*me5R3l94p-9t5o_YTT?6fVT>c$t3cB9|1#w?w;TI8p+YpLEO+Vz+`Q_df`mWRIF zSJN&SX*#7gZOc%a<|!-HWnFi)XTUu?x#meUvq+wK-;vZ_qx=CG?M>^ncRqt-?F;m=BTW#xXwxf|^h%q7+GeD%1+ap^ zLLZtH&C-HdP@Y8o-)sIK&jNdu$omy}qbu{6zKwI1duoxnM-u4NsaEEl5{r#lRI~81 zaN%Yy<|44DVL*iZrH*UeGJ9*8r{`TZ`Q~xw<@w5mG3O}|uG%Pp4)>Z9-8^40R-F~6 z=M6?-8Fw>*{N#Xf88V%19+7)VsNedc1%HWTixmE{DisNAUzU;FLOPng$V4o(MbWBR^_b7&*Nuob~trlVMxh()a!1z>;Q}<%fud+rMH#V4kd^1_xB2 zo6nZJ@SPu`m>)b>)F39{Yh;!!IE7^|b%)_5X4&Yf3r+lX-m)2MIz0lvgiT4Wmi>-#+#dF5cxMra&WzITiAy_!LY0RRQrIOLad ziiKrk2tZ|64=Zb^I-X4No};U2S$uUAs}$p7i#gm)-b1c7X^V79Pmro7l2x_NYpOcR z2~SN(*T|$+(+z`;q-UnsS{A+oh2cVfrgR%KrQOpHry5cFz%H6T2d}^w3N7(8XT2gYY%x__W!{Ebu?Ux%VM)<=61{47V2^O4vxSQ$?1g6T z7XiB>|GL{wIqAA<^PT0_jpe2y-Oa(ioOU|=($nP~32&dTWd!NAf@0|NK2%6mDm zgaBfl>IiPtr7SY8A-JYfp8%8*3=QhTF(YzLNC78ZAwf2ng#vD*=)-J+UF6n??z6^R zL}Gw7t#=C&avp`!fYl)YKHJ4PdovhXY2H~a6vUhf3c||tk=eFVUaVp0%q4gu$OPI| zeP6=XQ;zodOGXm3XYSV#^&->~?-`ukP4>YC=9NO#ZYhuZr3|DL)tk1M%QW+w6n&1y zg=EUH$`rXJmS~Bn9hA6p7LbOEw#o(Mj-@crwg_@)<(W`KZY`zy0WnzkA?HF*?11Js zsY$xssLYX?UX=r*B}V2d^R~WRW7ct1d%*@RX|w61z%m5iwx#>S59S7~^T*)xyR5AD z4yTq$+e#-e=yeSZez|N)^whUpr}mXV?MQi5`*zi!VD0OHd3VWE{3U^dfOa)&@)%XE z6T4jlRo0vTlPOE+g_6)eOR7K5j2>k5s+M@qZFiz{Jt6_6p0!Y*`i9`p$AsIqHGR9=Qi5;(=e??9MDFiS{lw%Wh3sj2>PGHGf z!IRbos&|SEkFQi9TdH1-ik{#VOQ7v|@TOO#!Jp6?%4In4J-zI|ky08SsOC%_EjyF4 zf0I(SEdDe0TFpOHKF(^9_*;ZImJ1=550avxA3J29KER_ONfPhbc!x#P3=zI`P_$KQ z>h7jKPX~>Nk0`T#6?q;j)c8&?saAxg#>~nppDsK=M&CxWZkY^27<1elEhR^0tqpmbwZ4?LzN#%hg(HdD`6GYx4ctw@?Bs+%L!Q|#2f zQPq`6qX=o1n0oJ$5WP$vLBX1e=yOe;Z>J5h->dy1Ua!2v>AkfWsYp&(MYFkwjA~IU z%BA^cCJ-p2X*L&%R#MwkH3wA$6s1oAhmSO)R-`C;dnTdd1eSh%fwN*DQ1jOcr|1~1 zxzqcz#;`Y!s!V~>M$x?zG3^KVxLf^dfrNp2ko67*N1O$s?snbx z1rYPJHj5@G_(nd0|#&6wEzdYDOR z-Aa_5A;-qpx=VJm|J?6o;poQ-|MM?Zqlwo3yGfEu^_pp&Ie4} zQ84~<6=jR+3Wo~E1L#Hl8 zA+$yL`65|!eXe3pei*DZ=zbJC{=XqqC*o8Q{YYa#L3}zH-%m?s~L9qXtri~M`uXcXr z?A(p2C>j`CQx>1l5qrgmFme2`*fPo^{~vE}0v}b8_5CM6AgI`JL2;!~R8Uc(M2Qe3 zNVFRhL%>fpG=al>(Abi}9#i7dfoH0~(Mrb4w*zzqdmosqFF0}Gz&xPoS^jheu?D7z)te7{}K|7e+-Es4kU7DH?S0#Fv2o1s45#9f<=V7#Z%480^Q)V#FKsV;?z)@5A-RGX}fCoF)h|#ib0I zbNv1Q-~X3}d|tU7a=X+a-^w`MA+M8Y)R421a6M_ry>Wf~*F!$r70K5z^wx%K7Q+7= z{%SVij(2`KEKowXH>u@G8k?|zWWx6M-RztU!YQpWJ;ZXDjHHC>d?&#Y}`6V{)G0pHj(0Io!)@V=EBecl(bw8Cy%12zHLf#lm)qGIh`i+ak%p-_R{GN2rRZ-rIaapIE#a?RpB|`R z@5c^ieF9D#=LBf+QeQgYDYKpZKp+14l3lcpa>yZXZGrlKTVUeBijL!{XLLB;mli;? zoGJj#_meDW4!KsBPQP-e`g=Ur3^d_ZLGzdYhoFg~JOG+}u?zg)^f13-6K7eiVuh_G zpnRW^43tf^4p4?AfbtYm42B6PlXn9ObVd5&x3RRq>obC(>)0xGA*}7(E=HLWVf*UE z{nQGao||Ifw3Lel_ffoiUckWq0hVJ~@(R^0mD|(H) zck^G$ckXb{y`KN_Y1|C*6~2p&=BxS_6=c62e1(hs8#w3Ct`)!Zo}8J#uyIh|_a`4w z@k_pLULVx=&B>iBei`k%`3B17FMMK9-=)6F3HV3E)od=JapMLG*3X{$9T(?cw%maZ~&3*PGg9 zzn)#kER#6jA6gmc*l71rY8Ak8C~f(C*F&FWbljrPRBskKfj-Z<=<}myAs_S!fQQQAab)r(Y+K%VTn<|AwYeJc3Gn}srU%J*!&ucDM+&Ts=gSNSR~R=o}a zJry0MQo?-w@VcJM@BdNPwR`CQvg^zF#Ou0bv(xow`Q>&!ovzn#8}Ir(+|Xm8klZ5w zgASLSD-_xdz`LW+kuC}yqTWsF9Pe2ii57uGbs$k)_Is&_LvX7$$A8b^N2R`Eb21%< zox{h_Zvr8lxb;SZu*)}c>Y3MJb9lC7dTHBnV)HKuXzN+&EgCFFQt$`JI9kN_^7_1h zRuCe6s;Q3(cLeLr-i5gMsof|L|Yy^8H(J6QeivS-{B}9Y#gJ_@`%@ z$BkNal>kSD*wuCIUsfZiA2+M|`psE^`lc+@kWJF)ydVP9kY&EAcPN1xg37_M75<|1 z?S(ymfX%b8z?cGw^^oXWPr#&I%`cW_Rg{t%j^&sijPySN{iTKvwH)z?%B6fNy@WTY z>pB_vpK1_EFb%-k17ud3TZQe!>sHqJ@mr$Xu>T)PSV&wQ%3=+xV=O!ARQjDPj&VLx z5s?lyP=eWs6!3mp7n7$Ca(^l7A-5@Ulo&`)Sz$_BzUuA(pAg_^SFVNOUUhgdIrhNM z(a2fmhxw8|h;4%5wwP{Kbgg1ZD0&Ko<2sL<^#FUBBOSH{ab{Ww|FuqYT_5d-vXxms zD73C}-Cm{b@<#>V|7uXKDLav)$$6rmr}DuU{U@KP=?K<;lU3AnqYm1#h!Z!^ov!1S zH78!D-Y;uf4Dc9@9vx~Qt!P@9SlaLw8o<M6dl2D9TC zK#5bM4#)*Vgou$xLoSV+bFY_wIyQ;rS(e3LXXzBnuAI2qZDmJl`PA>5 zJwog+%sF87(Y*`d_mGNR$jx0@ep2>(MYv=_ScF=m!=S+M;F?v);dzCjt3W4wvdL%+ zIis3!oJW5MONgaoiM;76Z8wtRcR<1U&^k~1R<4hmF7%<>R(&W4(^gTfj&q`Q*0>f} zz`j|CL8VhkIP|FqV4MR;S*LYyqF=%Mva4~liwOHq&I-=@QhASqvzE1Ev$iz-b&M;E zBZ_LLTt#gb_0X>Y-U~bO}o0F=|(e~vB_#?<$lczR?&~^nC0T9MH3C?X-#M- zV+fC|wTndUY% z5y{B7&^kZa7x2=da0dP`ww&lGzHQ9c0fXVZC1p~Tb5?ONSHNJjs7}oeZ#GjN6|;z$ zT&heBSh{sN{n|VnaHz{X0`osGzHuNmp0Gc{|q%zv(tDjo>%6Lv=&+ z08pH-tAbCZy2)&6VVNMi*yKL$j_)azk7V36g7JBVY=w;!^Tx^2ls8mDCi>H&I`hRb zs{SL8|CI?>k3+@|S{gqR{EH&rAdZv4I^1S%d_;rZZU(8HCCB)C3@o28Mu8f^L8tkT z!Baen0@Qow8mHbc^-?K|A*%{~1sjlG^2znJwQMrGo}{oBaI;~_F+GV9K9qM}V2p3! zaN@Sshz`x(=UDfO@PhB?-0z*qG?ljt#2R*zN}vnq<{BY3fd7oPZ8hr=hc z^vq(@0US?p&+j`Nka@)b8KG`*kX1I|QJzW2^>1e8!!(~jk^3Bj;sqHL1DJ%QINjgO zd6bpJK9DY_V#ukyapSs@$9U{uXN(&Wwb`o)6KEO$Rs=qGV0ju(g%hXiiY&`@{dwd5 zq32eVgnNB)sS30BtxymCg=-^KU`I*W+qH-m>--WWo9;>Fi?hBF1jJ|Z6)|UJx(AbW z!6mHc=&um~)LFP%Xyz81mzcB^X!aQfG__1ce6rsJ=%FKyO&&i>k4cU-K8`1GYO&F$ zPz=-(HHQQpO8HpA{pBksUQs@!WK06Dk+&Qz4=-I4$bOp%8x(p}4g-v@U&{_~np5OT zM`l`wXFrSz4%Qs}r)KjUT;vTa7@5(%w_;!w{~EB~n%h2OVjCo@;RCBJb(-gN%RDT! zSA`X9bl=Q#-`vO5Sq&lXa}@q$siLc);5gvonC2klImKowD3JofeRk_8dpem~v$KZw zBRR8ZRHWFWyGZu~sBBPZ<_GypM884bpoYLJ&TOT9QRo}=g{9w(W-;HYjwc~I?pNjEoXzv!Nr^>LiOS*H83;Ut^62U`SE_s8;B-T z6ZGX9Gr;Njb#CPoj$}rv--9u5Y+1plqH0vRLsST=Sub*0a=d?7$>i}@PY5g?T~;!N zdN!M#585u~yR{riIkc>*IvuCHq-=6|Nuc)1(c`8-_TpnZf|c)l$sulirJXI|Q<^c= zd{f#p84DlfjmLKAMHt4Ti1&GCITSfeoeAeG|HJ{yv*48Ve8oCXzL-t$b)*4}fE-l zAhZg&m<1AZA%c4p#mWwZ@_A}kpWH8Y*!BAc7I3R970D8(oL z$wE||Dw1<0(uhcEaQ-)4W-Z?ttYI0g|DH6Ky6~)>we?CA~yrIabnL% z+iM3vt`6{+Z7Y-Xw(`|!T+$RDW1X=3tVN^KcCcN<9{z14hKtq{3or#s>Jnmd9gkL) z78VPxf{^Bj816dXK03MbRoia(1$EpM+$Z48oG*9->ngY+uzr+_$%Noj0DX`xyWOmn z{9H21-^)K_^mzD)Gz|Wl%#M3i86j#pGd`k%qq};_%S*2EQs1KTQg1&a{zvtOZ2)Q# z=X;p9bZNtf>KW&}zKL9tQtov4`BK~Ax44)K#VfpM290~HTk#3D!>NpqE`Mvzwsms^ zOC;w8>NjPF@77}}Sp<45u#9?}>FidynqI)DT{cLJgu@26m>>UcyW5ZI#Ly3;Tvc65 z?9bD$zKqM9uMh}ZrOhp%4q^0EJ|;49<+f@G(Dbrv3Cgb177J%*;}$bo1!!e71JnjK zS@=cTOOdp*F&G)4je&u1r{WQNq)ojk7#gO{jT^POu@9RY$MxwUxW?XPY&9V3u%tUr`jAj&x z9U0h4vmwOU?v{>wD1T;bAbQ8&WQYAaCK@B_I)bl8r#fN8N zm&m&jm4`{48BfPs=}9RO^Y4K#DgB7RbK@PRA1ji0Ph{Fr=G^2S4df=y2Xk8NixoND z&v2OGI+0lm+B+QyHt$Gx4b#(9ckf6b1VO*{HxE48Pq)TA$9=p%k8 zce>pnV}{We*w)PVAl_QI9FzSz2~joK59^ler}dguYFcs>tsR%&TJr5`{D=sc^p2#ZTUG#$VCJcG2qRsJlDjUJLZ|0;q78>E?EK6Y{S`h^DE= zaLyTSjXfnN6A;ZBVxN zN?P0ITZG4r#b!BElmd@+XE%dK3Nz@%igq1zI9EGZPjz}DDm-4zLx$}6z?BeK?6-)P z7B&0n1=R4BD?5RZG{bQOAE7#m;=cG+4nM_$n}17O0*azg34_TyO3XH#a~2o#ge5N* z6l(nCzdE3(P{om)>(%WPUYgLKBKUa26z51XW#Oa?7zPrI+V(c%G{-#cYwO7vt$I2V zKakMA>NA6(y_M=$V01P*t%a)RX|nrJt>r!moHTyhlpIHv38^jG+26La-84caE@Dsl zi>6o6_ZN^`Pp~-5zHBhvEGbD%j&=Tch+<=Z#QH4v6Sg(Te&hne^tN{vc-QfbDE~+v zNy!u9g!As9X7d&-gjSSKQLVhFTduEgmG3;9^M&(9Q89n#p^PFJSI#9g?Ql6FaQRWC zj0LrElwaqoI;{ib5XpHMI|1drk5UB2OyNR%QnA>|X4|rkiQ8!IV9qV?%g{&izvrCn z_UPEoma2SJ>j^jsgzP@BIMT}fr{bJrT{^0mVVNwDDg|k$|1Q#kaaJ)lx7;B(IK8<+ zzau$zzEea_lK!tE4i74HN?-81?Hpu|qF9n_wp0I|IjFBA3O{t@XaySdY$4B-xvF2T zhox@_)13{$7+D9XAQN;j*P_rStF^BUgb#bGaF4W@_APiq=L)qab83?wZ#RD^GZCBZLgxbI)?N5hhbR@s6XHr`g5^KYsX z*SZ`2@_%iH^>iEA!pF&G*wx62I%_3`{j!Tz>phLErZZJ_Wz$=?z&;OPflZ5BVCRNr z>}G-8Ol7VG*2GQ;%&+-;q-MtI4OUC|X-oOJpOYE@q4%gz)K`6>Os^5UnO2e_iN2Akwm)v zP-fSuE5H?)-a&jKv+Eg&0@v(%|7@zy{k(jkHMcgIJ5+ruN=-qr*~(O;Ftk0z&=xs5 zNm@l=$Bn_oo_uEudX^a-Hx-Kb!Z&(qVLGfr7bUMyc2}#_#i$MyV8Zue`50ie0}=wsW-(j?tz%L-Dz$`f8v#sV~hExj)JOfWtYb%I0>p+ z!aBX!3<950aCL27v#FL4e`~hT%5@4X(M=@h0C#3#g-w^W*21u2vjLE&v@o-!7D|&_ z80EB3rh?Y(aI_iBqg0HsGn99tGebWkm^E`2`@-XE0+Ec3{rS38SN4HYF-5}OiY;@x z@z&)=x;P_A+ zi@-gKX2Cak*Usl>T)F>p$uYPu&FOj;$yr_x3A1HdB6ck3D2=-{0s1RQCY`UXtvP01 zmw;@^-rjHvFTy$9R5$hRDS;b_+uPqeCefbw*v#FcVb3}gD9vMhtL~4pmA7DTSF7?! z&Z0V}^5>Ptt@^#VF^dVylHEpgsjX*|=}tX%JvR=34Q3$kG$Zb^IGn@cK~690Vu^L` zF;I2KjDdwkpWsMkjbb%7Eh(Rug8$%E%A~}EHYt{za+0w;q^dl^?HF7L2HWz>aDFa^IuNf8w;wA{OQ8}Jl{`D#k0#1^ym$(;Cyou(( zq@IpnJw8)knR)sklGAmGGufo(PnqnvJe23cPWx4EjlG;2cVAXK%XT5Bda+aEL|9i6 zZjQhw2IfxWVs8z>*z&%OBJazt`V@ zK(!S9RlaJSE6&dCLh=OJ72k8MXp#LhYL#??L+B3Mg5fx|N#;WJQmwkMM7GAfk{~T-OtQi}|fGT~#(r)Dvu&wVdd0fYZ+V zHuJC7NZEBHbfh}ByOM2-t_r)ug#O^&`qw$t2^1A<80Ag<&dWO=wjUE;Z7ETxmPB-CW9*8i)gB(o@rd zB=)r_deGELV-V4TOd@c=a|m`E7Mn zUbbK4LZyeeZckfXdihCi^Gxi?C<27tX1`ug6(j0oC9%^DgjM^S?}7s3S{USYi`0P^ z-3~n4tOE}UbKVmT3X)Ba*m+uG8eX@Pq?a%7QsD~TWGNt1m{)$2kn5x95g>j%(AJ4K z51(S95}sh|x4JUCL*-KD{*W0KB^}-o>pZtFq@7{o(c;l$Ufekt_HF;+`6B}C9L|J4 zX4=j5l^fFYXWu>BE>ta?W-p5;alylT#!R>F<>mx_S{8Ln1@BCjoV=m6+8ejG3Pth` zWWJTgSP2~XCuicDu{rc93ea5hudQ}dvbmp%O1qIj#^$?0 zz9P=okPzV}o?A}5F+6;}!rjJPW8F8xrKP+hVUg@2U)4u=HC@PA&RD3I;hEEls^Q$q zZzX{ifaHReoFL|_$`hCHRB-CpL^R%G8Z>Oy8F3P1uw!GLPdmjClBI_go5>)a1;AIc zEC7b&0Dx3G&;uqRO?!ACDGDvNvmD8bz*kM*(=?V9X61~uv?cytr~4VRm!37mJ_{Q! zBUTAGq+RZRz3@;Opew+B$i>X#iGPq<20)-)$Dz?U^(Z2s)q{eT_N^bo?r ztAnA%z3tDtv>>6}1v~U1-920j-Ku;ri{c3^a=DxdPrI(31#1@WsREj{u zfGkvwG_GCfKdQ{=Nt4E1eZ}Z9ocaDhq%tkN1Mn>95vaXf!NDcPS98}pP&-EbOG}G# z*EiTuFksTv1ao?H@&!)=JRLe|blF%|@kW;V^KE=Ye*k9X~@kV+nW&dy!>=YfU?9%HOsuowVojQu?a34NrKR?yG)GcuNW~ z-@*z@qR9M~5mt_uH$jgSJM5N|a1weh>Pc#CX044bXyD)I72r`(dIl+#5t@+WizER>WnH4h$*R5V9 zJVbjd4ENByuBAY+m5R{mIcJlrIQGwfO#$$P4! za+;WxtuA@eA8BRK^msmUFk4hvEvLAKU<&C{>EL3sh}lX(hwb!Fy{cTgAB)}<%%ql` z&nyQzv__W@9J5`Hwff)C*)2KZSj)`;)972M-eFoEKEXxZFv_oK-7#HD$b0&gxwuS> zD`{nW9S?*nk4b<>ayVWfL0}b%&Vjuz(nng(*1441!lNE>MaGR^I}ELqZ!JTcSw~g) zbYN&hRi6_mVY3*PH|nEN3$(N9PY+n$CVxVRVsk1TjC#Z}xS<|{E9`A?u+i*EnO2|- zYQ;Jqr-B&i$k9@wqAvqKQegY$3C&#|wTZc(*4KPK#p%A4kSm?;-!UEC%(t-ok?hzY zH)qKwrp>{EHBs|eOqMB@vh7K%8qvM1@Q<8)KcPorvMx55@s0 zjSYld${CxPU$Iy)0EhqL;&330x`6#pjZtYIasos$hOSMXo?u7dt@JCTWuf#X-LvdT zyY0H8F_yN;zepQy>~^$mftS1yo25)z^n8H)2V#~lYh#_?IYIFNyU_AV$>fv)KBj=S z;&`F$Hc03UbN6HmMkcvVV383Q+6E?^g}NaqZX^@~;g3Z8+0=GPKytgOqJ#^{^Qc6S zJTO&9@kHoe#$i)CV5blU+pp@%_Ozs_?v}R`lr6zTW=oX8n8>MLF^!)UwX-EjNY@pv zsNhFa+tU3<#z}M30w((vO+l>lXT9V^S)P#4=uIwGOt(V5tb67lWzxq1LjW_&QWB2j zv)0Nij*Y@_MD%W!-EVaYp~}PhE}VA*HLHi#fwYBxEy5p2s}_&1&}*rP;Y#%wj@pCm z3Y01D5C~_yfUA?Y^9sXHOB4kwXNn&+f=l9cKfqVTXPdYx9g~~w(_;u5O~1{*DS3*o z>I+G*a8X|@4ZyX3dLVR{Ivxnm(D5Qp=)$A6wk_rku2D6i6={Kwzly?0&d)vJrX5!l zM)H5P|{x*Did-JY85#*E3I2EO>8)4oJS!~V%xvZ}El7uDa+pkxTonfU_*ey>UnV>7O zDbP!fT`(^gvQ|MeHp|>=E|_~qKl7a`*OVp3*>#Z}nFJpf2`1axY|%sSHq^NZeQF=~r> zPm;31Mhs|>{8TsXPY1<7`kD~;*>%CnU)vS1?SRb>zJ>RS5E3>(f|RFIp*T)v=+N#$ zWQ+t>|43ZwVt*ifzXOO>1rYfK_bM_+9u4yk`{5QdKs|!3_0=_!k&99|_=>%10_pX! z^}$!wGyc8`ESWNX^yD&rMz#GPs~*-j{8K)OBcWw|Wx}p;zr*@!Va^GZG%LTdNcKZd zY0gs3p+S6I`ZqcNs|D_a9y5MHbS|w1Uo9h-89%-WEGa9QR#tq)#0gD314}%m*_6Qy zRk|qDehIdNa|zLMkf$!p=FPF~#JVyI3&+y!N1 z5RaLi|F#L-^m9KofETc-ojQgNP*)Urv2kRX=!lwz-5E8enwL(tw z%zaV~P~Z20tWyNvrW8SJqnP7kj7&RDI-C@^o3GInz9PkKch)h~VI3p60K1iDNvU`T zGlaK2W;$D)LOy;~luJdLx)?01D0~9PT4Zi3cqF}SpCksdg?H9tTj-u=63Os?oI3q= z;>LdQWxVN}GSrg3AZPEqqzV5E3Cw`$t4GHtobFk|(ZA?;Vu9vL8VCAwO-TJloyI(n z{|2a$E-rsgVfQS4?$w=thIQ}3zn66H%fDl~2YmZv&JJYx_8HK{x6jZXzI{e=y82}t zN`F?S@}bUJwh|1|W~btWKPR@1^PL+x!eI{iSBv>ynOV>0e<52q<1Y*7Dw=_lOlgUp znw#X5uCO{ULHbW&y-2UnC`LM5szsiMte zlPelvtMzQgHTE4jGx;2h^0Qe$i6(%4TEnWw8I~(@x z*7KKn%^$$;_8J?eP6@zoH~&URlS;#;FSqc2k&hDa?`Q$Vj`>K@ ze7+2X&I32U#5GxSCEu~V-c@=Bg*FcgVRF@*u1BY*ndgodDRd5taw5(mO7?rWdzByi z6Xt&2(4qO~=bvx()vS>B$`b!tGmN!Ub!tC4rI|2$@WbY9CwE=>k*K2}%-PIV-J~AD z(AjnXKfs^>Yg2~$^_~>}NXe?-1@K4$CWWfOFdi5!@G#}^A+*S)4yIUDS> z*2fj5b%D@ev@RX_Hk0_@)0KBDSb1d@n5y%3%7GMT!O$=9uWA6L<)-|&$3j^)kQk;d zer5)4jncKItIFdxJr@FmdPE@RRK68QY|Fc*=PZ-iG2Sv6@KGk`cG20lC7LmoYVE@0 zeDk^PbC;I&G3i#15Brd%SDI=2rmsrblsDET(s44DG zTOVHl|8j}H;~t$%Xn(8ogE?k7?8#b++s$D0mH`ap>VkWIX)myCWA=NdEx~b?wm&vU z@E&!)Y>)4KSs6dEF5cuXJs4KM+d&p=Km+W5Dpk(;11(Roc?`|6G3xgw zGlzGi6ZNNTNLRM{&rJb+a(h3<*1)di3OZpmmP9||eKS|tKH##)UT;v?=>5bp*!hRO zG5<~_WqoK1NUJjmXp5SA(dH-0ASJaV>4gkl>>vSdPwv2rbcIhxdm=@3NWm>Wk;6AMgq?TO($Dq8mCtz z0}q7G^goxLT^Aih9SDO3-rO0#t>)P2YasBEm8cLxY3j--dC+PIO{$;i)NhE?<{2V&`IO& zyEVdZERgkD&8wcn;FK_aj`!8R@vq9RaudH7yQRy4Rw;D&*Qa|aQ(XD zZ6^4mm1sTvgGq-clB}<4I+`NV65?6s#XD_&cx9aTRo_QXZ0JSI%3qrce!3JjCVMWf zXTObt!1gRB7K(8xHR)b(l=;|=AVSlCD+9g>br5P%Vq=@TL$nG;Fw27S+drY>At?c37><5@`F)QtGPszE#}ZKLG# z30U}UJ(Q^l(0x#%2Q$})9xxu{(WEYZu7GRmW@bum98qDy;d zrNJs|lF?$;XbPV`hNe)!>+JVNEoBznKfTq;yHW&gdYmEy{Zb|ZJD@Vw3}feIdJE~J zmL`sqotr8FW_@EVFqmfKX=(0uNv?U;3q@NVQ*1sOEq>49Tu|CXB%{qCI3n%hTzr9# zWxD-6KSOrR%{}ELeYsOBH=fdG`WA~9Z#TOThSZ4>VE6kt+Tu~|oh^s!C1oRd&pp84 zO1d(*$O|hq1&E_XR-t)KD>0}Sb|q$SU2F44ju<_zoGnnHf&Msu*u-6rz)Sffhh1I9 zu`x*c-aP56(t}E-Trv4-?gj*ECzV}2aRQr_xeMrBpk&-6>I@AW8m|ej-@uWKeX5~r z?!qJr)Zoi_K33lpj=sEP+z9R_u_~mF$l?wSoF;gA-xP*kuHZQiYHJgenkr}<9KOWAV@SA#0)KyalL1Jo+3TYnF|7DlX# z-27x$lO6Z&c5@fSEZfaYWxJfDlBDjw>u_FjS&5aL&t8cIRyuJ$(I_U$M$;^raN_7h zROc6_6K|}M=Y-IF??g$JA0f)(IA)` zWV6wci)Ia1%c>OVWf~iCP7lh40VUL@N!b2FyC^l-yHW3$R!C%| z-GvP^(_bo%U3-cG;7M{1Nh;!@yHu<*^Rqm zP4_6ce`lM-*{)KM&(fQ_>5AMiW*i+ejU>A$^?OT)xf)P7<88+&TBH8EXCckEQe`{S z5{RG%BZ)Cj@1~q|xPCVg4ON8fKmsG#b~tX%q6LBQp`2ARCLNQ%ye3$AV;0~Y)#$4d zCI!Pc_HfCWJjEs(s7md5@CsdJfy)NF^&3Ky@peN8#gGIEVhv-I8a8n22%6Ud+U1q~_>aM|JhqR^Pbdjuj* z>>}!RWPFYJ>{#(UyF14`2Y1zm`F^rZX4d+u7c+}dWz)oQUWc8@+^iR#{d}p-hf`f7 zh8J7j!ias9XY(#TVtt)7>hk9qF&RcX>HFl!EOJ}r&9Ex7jqFP70>KhfpcU^AbKf7% zwd2}<1_NvT^fvW0^~ zE)tP>1pf$?*kF~NI32{~ldJ$AySu!<=JLSuB4z6TFdtjh+G!Ns6kJ4y`2(1ozUA@J zcTkw{rLx&DEA8V>er;W9O>cuz1 zGimCG-J7Bro~AZ~@m(8;l&^GaRWnY_w7dC$J<`;`)OZ6dd1}|Axf6*iY~qMWMgU`L zNGI$*QT6&jC|@raTKXkO!Q?jeqV+a!aNBH?Xw&XqTxuW0L9`FzW~2qI4HdD`!kCL8KT9pSeD+^c zOFP>}GNpJ3ywQT&J>3}W0o|6QtiXvF^#)zt3i%kAXcndZzo(kUeVuWRblXf&%~aa_-=UgI+%~@)=8V&kP@d+s>rbE$I>9!s zjNSUko)#ZB2V9^xG4mO3mK<@ql#7kgUs3i&XASy{ z0QIN~Ys>RRKarVp3nLcmSW|~H?o55*G_&vdg2aw&-=9xtPSWvj zH@Z~ZTLb@C^DJ=99b(W+{8LAd6BWmac$4`j1>~D@u#S|Sk&>0FvbpSI zNli;Zl8Pz9PYE8(Uk}iP$#>e|NIupJwz)D2k%VwMFUvu{Pb>h$wBJuizjoc5i$7XZ zODXbCEis8Jk$)8}%0Hje#8kHl{61Ep;QVK}wsK>*azSFQMfq3Jn*3|E%^Tb{+a%hw zGMDp@-8NmBt2SGdf40q*KJ?CS zvFK5(qKi(=svEGWj_}@%=UvnO-d!;x5@;W$n&H|4O$oCZb+RT4Ldck<~0%X``^X-{!P$Fh_Nh`a= zQ6L^wM4XmyexN3|(CN=AuHdLw4Y16!T8&C5r=ls_@~f3by)7`;ntw||x)9ozj(HGzV&!i-4#8cS{X@i+ z*M`lV`Js0LcB_q(B1ahf!}Y@8<$=ikSwP;pdA5*Imi4P$tOgp>ApD(KVX1nT>6I`1 zy-7-NhD9OXL|(ACcG3-$4Ci$?NLbsDS=cY{srGwNPC+KzT$rhwaeTzhd-mpqHuh$e zz4=k{E|NEQHtwmV9YEXM9jJgP$Oq!>=f!n@=EXmq7rv^QnfBq=xA5>T@8Pd#VT2wW zr4(PeJA74(V0_%S@$P4FHaGWQkx)br_eaV{JyB*V8lukyiy3GjB4G z2VYNau*(VZBbtE#F4`b(l3QpBh4f*%{g4!rm-8SxNouzmrF=aLYP`nUt4A(g+`oco4+h}tQBdRCr#*JZ zNmLzOqkYS%Er0n>+wz-C%Vh`YJF0vg;9k6)H6u0H4gi>Lr$#71|O?(W{|6IsKz)b$i z6=tHJD+cMObAmc?4&l69G;qqsH=qX;9WqS<*`1t^CMCK)ez^m$!qCwy9pcKJ0FUjw zt1U{4orkqhVx3t-bAY4zOHO*W(O_p1iq$syA-CQ@-TA!z2@BQVTAa_nIn`8M=|c4j zNl$l-Zr@Hz>f5`^oW2D@hkHzVsAd3|9;0R=IorT_VA>Vv0Mo*et-!Ra+wSZXm_Br) z1JizDpn@eSaDIyss?K}|)ibwCk55d1>vXzA`V@;{cL}?0YX^2!pj#u@Dq7*tKNd9O z&<~>eu*{Xrp`(M)hMK{0;Cu_qAWiTl6;;eR^g3=c(__Jwbzw^!T0E|aF1B36&EU4i z{K$FVfNW{C1=%+cbSRaIp(&1`HMo%kZV{NBBH6CmMH8uTBOS%A=taOzbv1)u8$05> zix{z)(Z=>D6^Np@w(dYr6>AM!C>Mq&l4s#tU)3}?Yhgs^t~e3z&r5QKGloinX&Eu{ zLL+M-h;yOj;r-eOHde#Z&&pQ~FX8jwSnf5x2IT|YOg)gA;ggOVzCU1ZwR~g_8c!Fs zjJ?Lp2V<}UMc$vEEnS_2;X+XJFM4an@CYOg=CZ;6AzS$_Q#Zx(^UlW!*srG9T9Kl| z>lkBchy0P8dB8{E7xV`0r^38Dj@ImEskP>FjY~-;^fw?-{l4$c`l^-XSMsYcJf3q{ z*6>`*-Y@OobN-0+TFLIf_!6EXYgd%0`%9bpNXeR_+Uf5#T$@TvhkA8O9Dl7D$s?s3 zS5Ov}H=V72S!Szk-T=E3S$7Pu?)XOF-LHd@VzNN*oO-O*9fyRdlsz9=yR4(_0q+rRIbx9D9%n6RjSSLQFmRN&tD~EGI$>AV5yje{smE zK}wU$fsVRHtvPD!q9qPFDF&nlLKhP{Ce3Bn3REVh{zRv}>Kx=P>{?6RM9#vp)1pW4 z=#NORZ?VbGZ$^5Hex*CRk=}37HNd$A(!2Fx^*C?MEJ!asW^r9Hc+kAl$MD!en$T}>+8J$7oG?(WskINfamX)Vn;M2(;EUd0`FG-u_=qgM-0 zEzR{AsF}7jcQuSBL34RP(`*F~EWtf2QiwQm*?LyZz5m!n@(1(xV_GA<8mQSLJ?4Ao zt11Wy4pHM|>M>VXK$Oj3qG}whPpq~J>wlhlldxW6Zwd38vPE)fb|`Djj!^xwY;yWCS_Ir$IAp7N`GwyEx%)` zg_a|d(bCPlBXkc$ib2a)R{}Zn5M?n>PwymS4q+C0ArpW=$Wo#u3NmxrI7s+{!}zzE zZG9|~it(p$Dp=%IM}}-u$XvKn)lN>WNAoh**j|+F(X_87_sFYu#iV%kthS}YPBTKH zj=Uk1e-*t^NbK-H*cKs_We1OBi)Mh$SjQJ)kr#yt=MRR5X*Z05If^1BpjUJ%Uqzha zml4zPRXgH2diaUu=+Oh_yt1h+pUQhwxfBljw)n2EdLQ~9{U?y#Eo0*ymuRhiS<{~r zNP|&tt;l*)#>=KVAVO^c68F0Rvcq1ljXo|6Xhn%)bH%g$n_*Jv_T6SaQ29<<)8{mv zJBeYfx!Ya$Et$J}>V<3a5G~EzO`=bQ;VA&eit*WqiiGjo!}14NzR#Q??T1KIYxyqA zWdKak99U*^%XdESm{cDc9F}hvDRQbBt9PfloB??;T3Ed`U< zz?7C__Gd87peb-f2X{!>u(}*ZwBr!hgd4A^vU0IgKfC z@t&UaIJJPQHMXXslWM9`O|F1GgxXZ=4QkSIfm5t0Wo7fu=q0F7>{^Iwho$?8qZzF+ z=ik@Lq!v?^IMOk8Qn#2VfsU`oZg%jl%M-o0>qT)l*ADL4K6<^#EquS2mOA%2Q0E#5 zU!3LcCUlTLp+utu;{n=iDpjf6RvU58>|jg50JBwD&=NZ;f+2R2X0(*ij%8eB>-Eed}idhU5bs^R97I-t(2 zwn=c!ztv$5J|_RZr@9zww8RfZr%sju^p}vXKDd*r1YTJe5c~-qxYrbJCWAs8! z1rU0?XCY>NXlykC{}kq9(&7WqU5z?uZHcyMn3v2zlt1{R#SzfdG@i`cP_-k4Iqbfq zf=c95{%M}(jWp#1Vn0ctpf)k0-_*&6>1{Y%XQP@*2WZb#h3S7vvk5wTE0ymyK^dlA zjV4XdzjWWy1kG~_I=x$CLb_$x=fb?2!+g9gDjRv18O?9O?--ZK;i{LTv<7f^pbmWc ztA$`YRV5m_)q=^v*{?3u*tbXj3~r*nCjB*c>MPvP`bIejRC{xV*AOcTg+j{CVxod2 zLu=WmFNf&I&p9HSzKK;Fdc5n<_f@T=9vx3feB}acJ1leZWJc`4O&ZX?B{X9hjQy}H z{j)sgO9GbRF=q`hw;i3rV*;TsEXu)SMxY0;wVa9Rv0*;C<2gJAMietoN=}59nmk=| zmzIwPOOQmsQcx2an$Xct$vf7#~wtl^7(hG z!#Q;lb(Jd!9$IU*_NGwfkt&#qxmpeM5VsP1N#Sm{f6G@6;`VZ8ztQZa=Gc@AMbwy> zs%;5lH|mA<%R)k*@>_hZMu2T5oEJOgEV@2t%f-wz%84_$=<1%hxxn1_v4g84RgZ9W zwS|i_Nx3M9lGq9#;3ha>Q8)ULU*r}XjZa^sJ)Mo77^bsl^)OEQyb7(<;fgn2IBJ$Way63J^bh3PwL zD`*qWIUJWO#|USFR8rt1lE6twMArX9Fi1)7lbqU#Zn3gfIR??#(JfZ`s?I=>E{aU> zLoa}Ey9x45Ae^xg!=9OD_i;HV_C4C0y6Ls-iUsUJqM)YbQGR0eT7$w@)z#_6frF(&59B`8tv_@{?tNxqZvtM zkjv9uB=HpDvk@Us>p7VgLXxb6aULGqq9>{$e9A)G=^D@O9;V*%HC4Y$-OZgp&Am%w zFHo(nL@Dhr&BK|3{65C8MDeS2z$T-j!nl1hu^!%L9;iwHgz^v zKEpf;$iV(Z9_gE4<#NoOcYM_$*k<(4z%}7eVhTjoWZW@tpRb;=zb@H1)-;Pzx9CuM zQ-p#;sjFtkRT&H1&b$x!Ea>|1AbWN6GTLm(r;K4;b7C_RpC08~hs00xNW5n+OR!ev z9mek#DZHHuMIIHh2g7#Dw{>TRM<#Qw<1Bi}`1#jK>c6)+xZ!x+tu+y82+df+lX@5K zwC{GSH5{UgRR<+GO6YzPYXE_eWB_y4`<69iuQvUx&H-~+>|o+h`ezQMQ<}XOpCW3d zz|je}n=Fbp>G0K!xqRI|L=%2x-Q65Gc|B~HC3_;-Y} z&v@21^MR-pi~os>#RgV{WfMp4@2i>AqB-Yriso506Tff_CW)$Drp;0DrNRfOYEWqW z2lU69z>yb5YGi4biYevYC8pBYWDl!>%+6v#Lc5ZyA|eqdMxPe#hfsF6xqu^_SMw_= z5?E#w>R4^quAV9T-q8$Ftmk+TNpPDiphjL*k4@tU3l!V>RZl|BWXg#?3Lo+cJWBz6 zl;?b;M$NrEi_VnQFAgGy2hn=UT&eC7c2(%~s09gD&; zunn;bpi|4q{&j-*kB*yqfS4} z-T%}qYjdzC&d(6uLg82pE(GNk2UD!yrD&zuY2{(t=s(1!BTs9%Ezut7vb%%WDdM$w zBXwKad!>s@dn7wLz&z2D=bnhYPdB7jFPrEuyM7WUTl;O%uT7<1L~;hlD*<~aI?vj_ z<5gVwW`?l(LY`ZgJ7|-nX{;WWOs~_eE+KkNhtd-CdZ6m1p3lXFn$hboJ$OcZ#SfNV zuhB&lVVxB(9G60`t|+fH@4n-R@(A^TE771uv@ND1&_){)awYZg)RaDctUh?iEM0!? zB#{4o6IY1ZsY6!JL65YSK<|j=I_KG+p>tOuT6+wI9EFH&y-BKkTp_YkX(k@qY|?J{ zk`En*8K1PuhR)_kRp?FHCf&587rpJ20zEgH*Z3_$nJrK^1L|W=IS6GJ9%7Y?nafg{ zUmTcKZ#%#opn8PSOD%*Pa_xoy1PW%+B4$5Bm|?^oOr=G zZ`t4+DEMo$=i@?qW$Ka1ZibQ>%L&f8LTrWaL=YP72x@W*JroxIIm*97{Kp38%-qDx zL}oU|HJ}aV9}qR}$J5pM?-|(~c&gC(CL$S`8 z8>~TVhS^r_Mkw>#c?1Vl#e8=ybz3%PK8B&HB)~0k1y(Ef23u3O!b|HJgo9v5TT&+u z=Wj<@6tEIG%I! zE*`7~!<}Yru>?Lx7ni^{m=C~B$BMTxIB(Gg0=d>~ebb4-dCC>^y@9AVTes6A!LsM0 zzr~(!gI4y3p*O~&WrH#+hb(hIXRk0bMtGuht94JU0=)*I2s=6T%(agQGx55KS8p>5 z4-;nE*z*r8VsHdW#Cq4wD^vs@S$73|B>biL2(ywbxj}Q+X$InqbZxuM-J4onrr}=^jGDbZ!US*T z+%SN}TJ#BxszcFXn}c1GtT2yDl7=$|sa~m^j=323lE6f_nLQ7&Mw-wmjh{?n51^9f zt5Q-osZSQAIe}#uw_!{0cKWxOPDPBsG1BgXYF#7kT@k61E`L7a%v`K{)I*!*pD)$W zi!4H;IqtP5!*@DN_jwiwtqi=pgK=mmfo`B+A`ZaR7pUL$&C3*q$7WFug!-PP{Gx~u>g%ba z0->TtA=Ti}CB`3zAg8`N1lDx45V?o?2Y&jw+T$I}OEuP5tI^XvZ12ZothuZIvt+Ej zgAOP3+GSV&9b?TLW&765P>arB7y&{7-634qg#ZT6S|#2N8{*rll%d`s&l1-W9KHJTb=342cX-BTP?b+j04NY z`dV?k&D_@|j&67GGl6dQ6bNz8&1T+tNvLK$3I7-zN40Fm>!R9~R*p2e*mfGS&3xP4 z#kMEFf}jrSSnGB}cz0K&T?M~0vl-rrH`)M{zaOm;SiIB3{rG?if`0+EFE7w23zM=N z#akSN@m9edgo#d_DP)1#R_=~477k6lg)rNL4#I5V+Qi8fpX*^Y%}I!;>5q8f_S``m zZ2XsmHWv!=%J!4IJN=t{R1h6s-V(ohM=!NN?yx}In#sOo5rkZ=@( zV?|{I=(2K|(R5uPtOKOinlmJ*oz!=1j~Xw{M*xOh#F6A^!1E~7|VV5p;2E$xk1>MSno zOO+B5cdKbvaQt|-X4o!|MyHC`hI8)yR+RHg)E;&c&bf_S)_6ick*_$*ye-7fT_d=b z_w*`xmP%A{o>OseX4#y6pX|!x+^umcfNm^N5e^&Ag%o5MCieZOt$un>m-)aWFU|yQfK)UTfr?Fqz8Mu}U z*ax>jY&4pe8A1!-|G3@(|6i$3P&!aE>w>?W9tn@Ll-pCN*)#_9t<$41D(;{!TE`}{ zPTh4sJ6)eSvt~a0JM4k-ebilVYvCzk7*_2H51$92&Nc_buEi$X4zzF77n8-Ha5RL&Tr`@MXofvsxXnH2br<~h%BNor%9Cm|Utuxntu44gKXm=zdz(jRn z?Cg#_nU=K+>Xn1&likwyvA5Bx^oWsxP}_KQ4CYL>MzY)Mh}{|i@z@LWg1X_>Zu0|- zz(qI$vHbQ&P9r1YjW}DaVy28)`Y*OxIY;-lo+6;tmWR15e+CLW!_$mves>7Bc0mZE!qg@`E=~_|4 zy9gTyJ2cOIU~ireCb@ zk#M6WoIRLkRsTN@@aiX=$>y}E1KPqIXZ}c;)XJV-?cr-Nr$wu6KK8!T<_YmO*|+eq zW~|V*seQzptgZx_t!xjpZMKA}t+siR+vdxfLkmZbHdi6`60}KfzLxRSCiPHGi}=)% zmPDk}I&2re=Zy2Lc$?by6(9u2Tp?M@fG>9BF@6@;*=(loCwUSx`MfDTqFBDRu{`3d zmF6XZ$0qb57er_WyQZ2s0L>j@J&1$ph=aKqDdJ!@A3IFflRhWePS{x2V!p!>Mweop zV{gNy(Gkw!106S2d*$eHO0XH|c4C?*i8@ge zgm_~Sg!l<=C+Scnj37CMCZtSW#YpXX{Na<6OX6P?SCeJFL|lYR8uLDcQ$ zVGF}e9J$Bq=$CRCOcOWCT{S3VSCgFs!+^*g?Occ`Wo^t%wI3of=`mhp9-o{V_?DH9_wqbhCy7gwVeZ$!R^oc>oI$!l4Wb(so zwlPb^48#a8gDo@gA<%*>XKYgeW$M`Owr@C# z)%FXV3%}J7%dHYF7xAn7@0RsW)HSo+1{f8f?^)ScN)f^SYx*ZM{4Wd^Wp{4s zxqr@Hc#=V@~gZJH#EWuev)Oj%w3LbI)1dY$plU`O-pAP-zy1MOW&{Jz4!ey?NL+C6S_e`kCHCKD-vW9frS9B=QAM zOGhP>TU*`;m!c=3AA#A|u9X?oYbS__BG4Av3xwRrCDy{emhIV&hKMp73y?e#al*+! z=+|D?2QalxX;fr=j&kI&*!i{2uy}PZeM-5%P%a4KbN-vJ>M)$cbI$cErr`YzHgoI> z0<_=X2=^Hf*#1$#SF|;7OYB;aj#$Qc#UyanO(|FY`{^~;a)n$6sl~)<@SN+{rV|nGP`b^w5^g>^a z#J7mG+E zL4L))%pXA!k-SA0fS|s&I5rGRP$o2IojQxj=Fi~S{PeQy!mzF0vM(EVzR@h5Z7Z(W zkRDpqJ-u(EJFR6|(Rwzn#wVE|b>~~9aqmx9Ro`I!#&(0lGfvJldsD?AdWSQnbFZ= z^ObcS0{!f%S2GL1!iE7<$IO>~9f+-r4pIpwa0T+hrVh~_OUp(Y%m*E-= z0_j-JYjZL%uqR$`F?%yiP3d0F7F9=5cTnEqfAd5OGSy|)lHOw8Mcm?;R1v%?_+UZ4 zIbwJrdxj3v7ZBowGe)k4VoB1Wt>#1`n_oZbfaoeoGh5!4E)R=yVnHJ3^eqfMsz|^< z$ci7KP#~Od0^#eo2Eym<0N;>k?Aj@xTYALBd}h1%k{BL;7-mHk_!@8pS|ujH4s;I5 zm@jjfR}1)En`%%{xXv8l>JxiwI1%Zl+EV8!I5IHAN1c>*EZQEjvSV8QF#Tt0_TUSv z8RM=~v%_nwg@Hy~YkOq-!~tV!_y{`TJ%#BO)Y-OD+Hu-&D?c+{Iav^F_L0$61yDF0 zD{YL6o$84y8NAz2vt)U0L#f70Vnl9hAA%arP;^4E5aT?@rALgf6nVU^%RNFo}M!9Dy*dq zNaJu$n2XtLIf(0=mUa-!5Ztz#rFYFMf>)>EtqIsxJ_z6)}2noW+kCAcU!Zd}P#qsRH9`%_XoZ6m|y`g*o0ZFi}r zY8}Isb+H}$N?(uVYq)Y9o}x(;r{u-?!k5BS32e425dGb*JMdbx%xa&XbHSiuKFn#5 zYl;DRPFn|O_ffS={NqX{L?XsFZKccE9PwH{L8d z{k~bsB>g`70xa{>qJ1FWc%KJmX_DI7e)n_xeLm$iNlTeD+wT^Z)b=YjJwO*$Lo&_1 zVj+xeS}S9F!S>9HlYKDV8CwZo#g8#&Y}e;86TRMTymiPgq z3SZzBt}*AO6z=C1PPc`DnhGE77M^dqr*vphz|*HSpYR+xNgzk>>Q~EWS*hdcb4G@XmqFk#l|>1o5b~4- z`8t1O!Q{ykCp+Uukm~Pip{`?6n*YQ)*unmlDpDoJ^Stpu3LBgAqQl1e6*TIkqjicm zO+B;0Yv(wvomD_<*|at|(&s0^#A(fxCYo9*DW|3~-KHY#w4D{C#^>R+ zxAz~l=ZBF|fk0jl3wk0hD0n z`Wis4nj@2tC@i$g1l*|%7t7G*kVdsd;p4lL#hruj6r9SBEPkxi4^*Q9j`bST-7ngz zqF;z^^q4x_Dl0La8jC{f%!^xDInCuD(&JR<0tz+x^ed?1;hgWS6Lu>&5=dIbObE&g z0+ru%Dbhiybo>lqad)84A}DG?%p8wT1XF~4npvD0;SWS+t_p;x{_M=6(2r({rOwSb@GAMV411Wys3`M` zq{(Ptx>9Por8{3ma$aO1&$saYMa{RuCdqjJ53=|f3-i- z(jtXvZEA&29Hua9*Diis*CmA9?KDwc@MQIhv(wX>PMWnMov93cS0Bxc)eo3`s>*df z*(rB(AiXiRZuYt9P5vt@ucCB2{R>^~Gho*W$~JWj@vhyK{5xu?Z_l}qV(cUS-_HM# zW(p2m0%cluDjuuv@Q<4Vtg-tAhHn%4S+5Artzd*Ry_EDd)FBW$m-USDRqS5C zy`}QU(6IVhS&}6jHcv@ zw#)u3=kC*GPej5Cd%qfpT}l`jDj-a|lNLF#i@<9*dZ_mI)NX8xZ!DYK0@;{yZ?MFS zzqIYJ=n)0OqM-s9Z%?2%&fFcr-gWknPsNdqt}8o?Jv*(!1@Ahs*3`wJ1P#YC@f~Zf z+z*Uk!4NFyi`00fW>0mGB4`_q^~u)uEsl5~0N`AXN1*j1jt)jcN9P0z-Y@GMC|FaL zMiP3vnadlNT8~^K(Y;gTck7OPf4itRl#1t1H*s9*1^-lRtSxC|F!azZt z6MNG>tjE%I%0JYDf*k=Tv?EaPp7ZP1?eDLg%10>_j&g?EC&YlZ4QGEJ;P{L*y4r)T z_W0mLM>;ZY^hS;lHUeN<0LZyZLd9Ch6))Ie8|pTLngJN)v`Y{WW8yKc94EI}LklzB zE~8N!vo{7KWriRA9l->%-&aBfUzPotlL$i`4WfNo$k;j!vg&$xFcA654zgga^XoRW zKn&GV$;R)n7>Gol#?DicU<~!Ty2eg|SZOF-^`7MXzPPf&VEHfU5%8s{*xK_*#jJI#9crt7Xu|VpGhd z#t!QN;l1E{=ht%lh*!Zc>WtOQM-X0s^g6m(4-VD^V#5(^lXFQb;#Brlv-<6Ls!S~8uwB5$s_r1i~UKAp(|6BxLD}h+hcJAs5 zK(x_|hV$_{HpGxn4Y~Xyh+xRri+Ymu!*2bPDh)5Hx*y-?Ib`asff?6V3$*= zbsS_`DB2VAP*NzI&H4uJQ;DeC+5-F1wm@@S9h6cNjE>nDjE+bX{e_n3*YCANKTu&r zS28`N%mq+|=zVAgy*p6&7|8t&$bF{BedrEoT{8HdEo02}~k zT{DTC9MGuZK$J7V5ek-0E)?Y`HTZ5$yAFs*D)zP^NkGNk)=rgOB8V3E2%KJ=U+BzV z)o@WT@@f#z`tWE`jv0P>QO-uETrLoB#`(WUm*|*vfz!v-tFTl4Jun&`y*MXl_~}RF zIOV$pvh25=^6gxN3zj)CndF7LS8-t4J9-wW3v#eHj_a(P3r`;am(RzMT*H%4tT;c& zL0J&)h-m1ToDrvYI>sq~+`h9foW0s9|C_E0-o7m_gnS#`Fv@lR-N%bf)s&!;zmjc zB0Mh?@gscUXR-C0E?YAmkF9N_`z=&O2thcqRU;dOWPx-2>xd)2ZG`5U?|o}o8kaoA zZT}&;dU#V2%fC7*=(-bnAaXgGR%^hp;Ymoo#n~KG+l&U2Fi?eMl);{E_=j#b0}9-R z8h;nqh$wM9_0-``Qt#M6tlQOuBVPu4k_>c*d!wKR(T2Ku&V>(S1yxJ}RnW*R5E>JylIT{yA>t<^=!E;cMbSg--{TGplE#1Pg*ERY{AAndBH6kaAlX+XMb zg#KwSW(^nA-PD#IOt0X`NjD|24M(y&5B%%Q0J^O{W1Ot>`px3Jx=k}~w{Jm7Av12~ zbE64FM{Nv5hoxoAIn8=L?VHS=t7^J_XdpItW3Yf==;dXHHXIj>`8I|NFsy1bJ3U;T zZWk)}b_UahZ^8w&Gw($5)`xr6hFHA$LkSZsCXcdI$g9vH80&n8M&Li)u_V)rZ2wB|cg5sK&zc4ke?4HtYpV>sJKbEyxd*kB0 zkK8WSq@ zY53%6g;)eyEpaNpk>VGlc81uU>MQvd1+o}LQeSexSj;W0w((|NAc1D_FVYFeP-UG{ zahm0hRh+QplpoKvmY=HTSRQp(Y&)v1{v!HkCBfOr5sLO%Ef+vr`rW{)jxRgZ-_P^^ zNHl-(m3Vci8I^3q(btojJ8DIMZeX9?Fj$aXI;2P5BvViRGhjbOJ8bDnnj*fs5X z1S0VD?I`YP~AT*l1#q6Z)k zM;L`RKe`$Zu)!q$dQH>Un6+Q1zN)3rR6s|UyZQULEHvdLF~e#}pJ4uwR@LQiQZc({ zQpGMkpqQ3t02!@}tHv3O)n1M*U^*QytSikqt`)Q{8jm#RcG1snxl}CKKC`bx=Gg4{ zR=DqH4`g%fFv9ibJ#96No-+D*cPq2q zzZ`u+a0WOQb{u53*Sxz^I?JgnJA$5Qi*`Qbfcax*Zrgj?jVZxJ>ZQ%WYo>IyTN;X~ z$FwRT1~F>!#ZH5KLJll`>`n^+?n^MoQ2tgh0;)FaxBQV*%|T*R z=*SI9(3g7VD3ML^p?S7-wU`{+J~k8LSiJc;jg2HV(atBZ3{I83DCF&8#o#r2cDRH4 zr+8X}8%!(deCy!b9n^mvksj2U*D@%Mj3VFqVoZm)=$vwy&EM)azwg;p^JAcr1Dn6u zYksn-Q1dGQ_B=Os$7}hxjF$gB*=?Dm>vb88g3FHDJQ?e|2{OUq*YRY#LHw0tY{!}o z8P}R=XYe2;D_x+vNmAfsiH-XtuyREVB%B3loJ=P-1 z{B%q7c!!Jx!E8RGNshwn!PdjlJ-Gc>F3^-x-MV=^Q~|YjhFPdR(9=Tgb;b|Z+;j9n zp!WKgZo_}I4JV;C+=H6=k6dF|gv7Z$`Zpk?u6-j=dVLy|(Wh%!44Vl3ZyyO^?tP*QUmL*^GN1Wz=G0*EBFi^|JCm%7?&A`CjU zc;y{^@i5Qew?h}R0ugO{6koP_yt2E@RSY4$vFbjpiQ@y3v&7u;Yj<n1YAZ}z zEV!jI$*1`K&$($r>Z``#d#%hZj@RnlG$}>w2Ft!0KFc#!D zp`+Fd51=FEm^Yt%YEj|RQoVk(L`%=;!2z^%fzzCpK4MfZEnOAQq@|g>FIpO?=gBp2 zkCraCJ?Omb2}?__@s*~ft_-~>j9K?^pqY?iL}W3(Tt{;J=L1WXiiw|DL#(4*+bk2!EiDo zLKoC|D8j*aBvi(BtVZ3LV%y8M|M|B@$DCL>#$r#@$SM+F?l;eTl+8&s3KbsT5o&x=W`Iw6PXzQf4^oZyBApQyG-5gA^kV1d| zre>1m=KEWcEZ>`o4VE!o$udJfT9Pc|^xy!=@_EPRl4TAZbtOxCbWd7K9nbrcET2O6 z%_U2=?Lp_sm}O|G8)cn&R_QMDJi|DMWO=8`l`QjBr6kMYF5_4*-$>7>#dI2PCCe9o zL9*P9^?#sbxqPq?GVov64(45L(~q9A=E)zBEF)=76wuZ#X_5ojHQKz`U2N#ZPUSzK z+N9KpP0V*EKpV_1tB%{=L-nq7naTv_en}U*%KxRg^nFPe8T@8Amucy;72Xt3(g%19 z&y{qsX%{7SkT+vHXvpx$ezR3jlX>{JV6w;U|Uc%!yDgmtB3<_(U zs^=svdTL77JcGicS%QndE`BYQNS5sLWQk61m#&CVApR>J9*mvHqVVMUX6!U?K@04} zNdmn!#XPv-_^ami{Ob<~)MIvhWGUKZ$xrp8C6-*R2M4g^MeUoj9q49O?somL=DtJA~Yu zFSjhY^S`ZhtY;58=53r~NJXa<&a@(5x`20L1G}C8bM|99e<0em_v5@*VbdUGn393W zefg5>pmQ;eSJtpHRqs^Zo+E;=b3P%*MJRSdejxJV9xlyj+vnqV;TvG9 zxQI+Dd(~QTBq!&1*-y8ar?~@TO08#=o<@IN{v{Eq+k>#63h|t67iA zB6y8M6x=r&&FkDDShkMl<)XTn>A4=^Rq0{Jvcc53H55y_$gdO~#RNe|Cj?_x!c047 zj37kWEj*S2%dP90{Sk_S?$tx%(DF2CL@hX~PNUlR7k17>eTkL5-R!_0m@B>owz#b` zvLeCz9)DcG!-n6(ZPrBU1`%OWAos@A#kC*qVAM_qkeeZ+CgyFQ|2lx$?Wqa-*I9yb zDSoGZv_$di^dL#`x4KiM{boWNOYtn*NcI&mwfSx%-i+dJ zvpwkiDbqzL{tL|-Jtf4cwhY6icx5N^rb=W^V5&6Y4pDr<9HJ^k@pl8BB*lNx+NJor z#)@)h*T;{8^dy&?68Q%MLBaBIufl@WvtY0d0xt)3OQ`+ZUXR= z?>i9SiB<77)_jp$Zi6Y7YQ{#4YjJ{k%MMNTHI(HVlgGT>G!)NlSvm$e%$Sdo-iE}O z&AVAKl+JVmbIbTw)O6rDclNjAoJRcz9p_gdOxm?OV$^ox7jz(J(qt-eR)7J^c0;_j5v#?=;GuAJf6ea`U`|xUwg& z6t+D?j#XR2?&o$Gt|7W*v@ptf8Ba@=Aor3xwW~>P;i9-*JP#mR^K-jgeS6Ku-vKto z7e2jILMv)dd`T2*zhsMU6H=F6`+hU>eDF6Oc?Mrfx=n(y+uNBh-=W>4>tvIDw3NEE zjt5{2m&hLhMLLvwv0eaEGX#iO-wSR@Hd3+j8v$s(o+sr9F$e#yqO&7qq?J=|NGBYjy%Yhtsa-lX7eRGwhp2>+u!PH z&gE9|f}SB3@-7uVNX(zcbHT-~9Pw1_SX3a$O2Pkce;2!s#*Hc zlHeV$2T6dX1n<`UASsiM%h?`dnyg2C&w)2c1jqw*b3| zuOz^BnHL$tK>+sN%`U)xt13m$T`jU*fZasT1h7L#B>{#DZFBqqX)E$_;Ih&I8#8mw z#lkDmEhCfcQJ^y{AN)*Ph@lVYu-ezb(hoo}j?P1YzeznP!1 z(-(oQ=6G4@7FF*g!k)238_jGXHkv&8!1E9>mBV29^9=L~W4lbXiO@f>pmO=9KbD?I z;Jp!+3+e%AqZhqzO6{GPYL8?DIBGkl=9~5;ApNOAh;! z#+&T`8;InXtC7KhSlicJ3@O`0s>2npwj%u#9KkM&*win4M0fb zjhazAaFDii`Pb;q26G72vZX79pH1d;o}kJ3jLwN)3W7cdjJ^0igwGLtWRxgYAh~L; zFfDYE_MW|4r8cS9zY!arF`ddaUZ3~O$Tz4}O>cmZ<;Gu%_|(A(Y=nC`f?*YHM{?DU z^v<*a!yI7|?R=N5tpiaU8_N!1#W)#!ZwA1%=|6WZdIurCHo~{daH4wKHH(!8(=Dw^ z&z91o$=8tAO;)9y6Dw^4c8nJ@z<$IHXu&(?=PNf58(klW4C1@**pM83+97>}Oh4ie zd{=n8LF|4BK__3(ai09ZDgQmH4|cR?zbm++ zVf&TdaGu*Tz?rM?7+nsWeqM^7bAwf@oXVLz2_)(WI8h9BNk`&g8%>)$u|5mu@A}F= z&yF80a(~usDv=fJMtqx=P0L97vcL9AcKz+Gjpt%L)Naf3l_yRw^=m7BMdD1S>P0}| z#>vu*@9FG{J#27$mYap;E9(o(_jhpadW>J}?cYyw4X3IfEd?7l#2-w)x0@Tu_vU20 zH*==8H}?j!8!Ps-F8yWsvikCU9cB&>PI*)J_XV@xtk~10 zG*r^&(s>tmuIDiotHc@MDT$8LPIZ>N9n5}z+6hEKDBnpzUD>*ZlPIG76&-xBF{*7w zTaG<%=%nfxO4+Ft^zD9yAj@L<8Or|FDL;h^Hyk1zv!5L7%w@qT@2fBSX^8Qb)_8q? z)VojLx!<~UQAz7&eXO>9oa^?{DOVtBx}WdFXY$*v%em_^t|`6SS@LSICqr)SRF2kT z3l8V5{_f+B&XU#kaT}-dTy8aoigVXt$%5rMT&d-r?>pt+!NTd5Uypy!Z^d@VmX1uS zGug-sOGQ>XcSsSE$m#>B+vudaxTgPlMP=AnV-~zFKmFHsb>O}DOk%j*$eW~`a05Dv z6>iL?1LC|0_SuhlLL3DVQZ6ezM<@9M`rTGT>Kg~b2g?GHU%+ta#EzlJAR=q7&ILJx zP@t>KSak-w-OPCv4kk>ezqJd9`sQGIn6(BcAF{q|aft9sf}0acL-wgu#bL4xsy-?s z@`@lS*r4GV)XD<04}q%?F1ur+I28z;8pOq7Xrdt51VYegN^XAka(;)7oz3SAn<JLz9{ z@by&^PpTD@{$xpk$Vw71N`4QcN*@uzCE1q;ouc)DmwWX-`6^YrsgCY79lK~0|$r`NV|hzb#I8}l#LKDp`sK-FHSQtpO8;>|#} z4L0g}sii7QR<)?^w|L10Ebo-uex?xVB&GD70J;zLM|iaNh8C0PlLGPm2&jB^BrMJT zMV2DLQ2r0pO+OX_s}m8MXVGw0%9QuRI=**hLu+E!RO2FQq;lWxmD#1N)BD#owCYW` z^?SbZE!nafW0N+fAP9AwLg%nmOTaxkRCO;_9B*VbeU;JvN}Y&dgBeM+{(0v%JghX# zn2tw_1EgW!vPqYl;$j-?w$QShy9GY7&V0~^Aw*jEbTH0^iFs^e&bR2Q zs44U!Fku_=J~6~_gycedwGE|e13*yBozj`i0V2L7B*5X!Z{i>%fuH!taQaij{G5%X<>d33c* zG=&V9IUqV-ErhTm3He&nl65+GycxN&*#x3fMQQ?3$m{&on-7;;2xv<1CYL3rWm=mr zawj=c#^87#T>@(B&66eWGFBk_8zPVc8N(=us-GaY3nYz(C zPu!ot+g6Gs%wWm^#YERFw|5{V!cKc26;NE-5)_AwH;25^42nn2O+hhjuyoo!>xf76NwS;iEo#vWrze~h5qJwoHFy72t(X0cX&q;P5V_Gz;qY^DB zPhC#BAK%w9)>z-qQZKxm?6KL*BZ2KA1Qv}Wo{2b$4(wp9`o4$pW$tI>DfgFZ{)eiA z0851nvV7?nB%Rr)(b#F=?oRL!C?aXQ`x;=WymXt#LW+MXdVQdrV**`2{cng zP_^8a9Di4jV63r`xY2N~Ys(ZxR-3=QWNF2zyaG9dp}Y_afrJo9*HvaN+8EL?XY=hW zd5x2mC{Py(Kkih0L21aQ&%Z6%$jlf_KV6h1Y34sxe*5REsyO_kNf6oJ1fUjjC!8|g zeBmNC$BfsTOMRuK)33d{tki;Y>7@MA#AR%n^dob~coZ#LU?$g4FxK}5kx_EuUmobN zGVpR271kuTVpUt?qZlCkV23A?7~Om33~mZ*yEICs;v6lBe|C3KboS#+4ltvDQrzVJ z%0+{^#d0*>1~Y``wr;1Vzux?9 zn{2UxL#=zrrr9*Ff*FJY@tO5bmsVQ->M|&I<)Hlb%Aj{Ah=_M%ROW677y>|4FL0`! zWIQ^<_8_QaU8!5sA-$Z$rH-|7@n{}@$--!%n0%qGV|{;B-hAAdc+599Q!L5(;Rw4+ z*GES`4!7i*YbS{iH<(ix4S=_3GAm!?M`U??48&?y!TK7&^CAoW%AKmqxzGNggAL>I z@#ZpUBm*-o4dZh)lBCCV`Vs4UqOj3nePC%CYqJKL=XsdyeMZ;+@k_VsB|w-Zyc#i+ zt^qYXyFt+cF|t$cUdCLs$};JmT3{Y$CI$SMS2OFeQ|p-4DbS>rw0F*u?GCjM5YQv* z$bg5^nvj}Fm=mP(bR1hd3+U~^q|frRgMr*X-fRWOKLYaUFJypxl77VccA9-4$WJo? z9<~7T{u5o0H`2irwY>1WM!|OT+Q6KhHl1znU4ag(%WfB4y+KJR&aT3_d+xO>Zs5w@ z$o3AlmcGB`8d0Z!$9mIV_bj05%<&+T-BR%nuzDnL4oA$Po}J21AVaOFBOklj#YX7uV8-E%6}0O>%q?a#}E8W}r@ zt`|`g&BjO5eA+D%>c+k&cCgw_Na3Y62|{F7?Y3Op9H%>#uTxK-{3t$NFD*^x!@_E;4=hdP#L^b2g9wk%c=H)p z%OHVR-wj$Hf}b*_U@J4_Ig7o8Ruf#QA1p!La7{jK23{fySFk8Q>r3P30d19gS-whV z3o?CY^JQ`*PLgZS>W|4&Vfb%7;wv@d-TZPsOJC-@XKiyez#0_oHec{t==_(;#`<2a zJ~q)o70VA3j#f}EErIhtw-Wf3`$R0R1RhESElJ>Z@m*jc#WbG>UreT3PSI?R`ebP~ z)H@!s^y*Yu3!jFMre27`&POczhT^w#(N{XnbLC9-&{nA(PM!6S&Wu3skCH86iDTv4!bj`3*a5P)M6V2|GyZjTQS? zklEgq1sP_UomZU%pBhWgu7lII(r*a)5N`~kegZtd+Xc}s!5Gq1ofjrBbO zq6~M~Z|XK$0-O4qG=XiG@`Jsg*Z5>Lecu4=g-Gm|{2Pkc@O{W-LBLI3OcD+H?4HOO z!4k&X!@&gk^eh}1!Ot=#b*FNzW7JQx~`#z>RohpIX)~B zI)~h~Qj8r$c`nG7j?aHE;77u8v0%A4KPQ~!Lsa`Fb70d;dE1#C8y z+m7a`(g60}5g3?Nh|ZmRwSB?viBm6UJlqVN^#7sB8tW<_zF7Bl8dwmDc!4B3@oFlb zpV^B`dW<#aHh=%qtpBIAzziqpVu#P_N( zCd}Pd`aZXXnVZ|4sJo4C?jlg50#j80zoAq0`#iP6!f-6SfHl@xbUywPrT#Cecl=CC zz5Qubx>5-w0+j?uT+Ycb#ZQV6whqn5N6KP2(Q>&tK3}wKz3472TRExIn;1vy6V+)=|3{aTq6t5Q?pD%@^#R&^smvp= z-pVcQ>@r@ERT0>Dp_~j5)@>4@W%YKKyOZEWKD+sq*axZ7zYO{+RpmR0};EbpC0)<3TX}E zL@OJTr#Z?NGEXjc2VQxYBo%|saw^B+UUKmb!$)r=t;Q7mtvB_P$Qb6TX287P1KreQ z4JREYSZy%JQ3MA~uMw!q9#?v4_&$|9W>!)$A)mUd3PndqFxYIYy}UKg>`;-HXHGu< z43>G)<^l0E`^`?myIohJQsVy1FK-H`ZZw)Fc?rTc5A&@@or9{_KOYH@u1hsMX=^~L ztuhTo-s=f7&3k>a_xhSZA|YW=*1=ACzhM?FMb(nm2+M8>LvLc)`EF`vi3eXw&cg{^ z%QxrzLkwm!_6MR?;hB8hV)iiO+N<(!nizQLs_UM*v$_Ppg-;yNrI>ET`aU(?T3o@3HD|x7*__`c}7};r=;5^dE`hKWA-j= z&Sv4r4Y|_g|NRuTq@-cM)#cY?2Y9+1RzsJQ5y9&6k6vq_?3I)SWKAb{^apf#ar2IDaYf+}i9)rxQ<6W{_4U(Jx*RS= z2)e?6zJ4((;fjJ|k99>svbPWEP2{7H+Dbc$t$pE10#;Pe`i-Vsg_K_5SOrqpXd_!2 zo4mE|_1DKeG5DPo`>yE4b1KyzsF;OCGk3f!0e34r37iT85u1OX-5dduYZV8gV}C#z zUi6n{Xlg$Cul{96zvgGnMlU+u1JK(F<(p(O0URMt`D)=i*)^ zywN}Os5g3>g2OvOBxCe#oVn%NCmXRT9s<$oa;qw1Hoh#n)UISj7tPnr=z<0MI;cf^ z;r%}Xi3UU$kXVWH!?S2zE>K$;kjP`GnUMIKUW?lP2@>B~<6DrB8IUA`*(yXF)Nw8d zWCB>)f9MfU6J8+0Fsc~tsnueAG~!Th!PxomIwrhdhw=2{Flsd7c2l7G2)VLv?33gE za<8VUyDfw)7pWq+$8jqvq@sXVQ85*bRYg0VY+lh}ZbfCJoV5Z#l|Y1>nNiW32~;xK ztAxaX*UwTVj~!6S8;iVg)sZ8XwFLx(K8>c7qUh;r&fH1s>HhZpAJo$U6?u8q&90^n zyd>kEzqknz1fN#YRRcwQEH-iyGH*y(wc^`M@kv8lpi~oZ(o#jOQx%yD(zUEWA*hxY z_%^4wwTOGIs&An?FA})!Ehp_|`e_Y@gt^_;vfa$!TL#0&m?CsXj8Hwgyv6R6rYl;U zuBfk9(V1RFzoVj}j%D*ZjxI0C*=5a#f9Cw4`7jgAG%+8hm;A8#@byDLzNz`JNw-=u zAL@8;aP#4*kZV3nL)EurK3p;0eDH9y-u?2L7R-mM4(!r!-HP@7{94a^SlKV$EBAkB zKKzIe;OG)-LF}6NgR`iKf2SiqIE$)X&_oag6t?9004Aad({_V5i#nIt5=?f$Eb2ik z7n8H7e^)YT7qDx}#g>P%bHr1JmYS=2GVZ-S-+hyFaei=qG5NuIv=ky+G6`qO0C*XsSK zJBwNgtupNLK=WBt5rqyii@Np!PsV->$9uD=qg9WcH6J*OYHQmge?V#$by~89v+Pcw z4dy*$Khk*{axN{M@8{-^%%UEpNbsf9EQ&T{%iUNp(>$`PQQW~BfKZ)cL+-ftiSq&LZ@U*kFqxu%>dm4r1Y`q*WGM=xj z+tSX~xd>|4*?K}Ca!e>PJtuwy_H7E(;mBwm_U`#zT_B=$s+Oz zh~x#Vk(e9)Vj~*b*NbeDyPhuNrbsKFz6b$5re8JllB)tQT~{_q2Ne9r6sSOKYMmE2 zKlTQBs{3Bcm-!CRrfO0PoxRG|N`5CPck|0Vf6h|a&OZy07qCG`yDi;GG0{x!qFQ@o zgD#=~^Sio8o`%jE%2n6fVNd7Fv~51@BfaWAcJ*h~mCbvV8If?9*?PalUwifpV|j2k z>#LSBw%nYijLEVA6kuUXG>Nfjr=^~gz*amVBSm(8WJCO^cAEcM*RNn0h~kzBQ%O<+ zZ7>tnxnv;2MwycYPvR}L_FN!B?4`9-1Cb#(T&-2bWo{^PdtOQFxbmP_jp91j+K3OV zW6h5T@m3~~Q;OwI6HGrvm1sWvroQoLrzPe0jN7{E7W_xZSk+LLQRTleMh{lye6Pye z4yf|cWR=lcK)r)q)b zxbkFI+>zTV#n+phxolzrwAKqAh>kC0?>qj?F~#URI~$D7OwZuG6^K9H(@g(<&R&?L z^Y#MTMfVr2yZT^PN*c{K49=Uh3(+I!l?53_c*O4U z^41{UpqyQU_>M`2q7%mL(r_vXs^iUoeVnb7l z5!n>>5uXijc(Z8hN^s^rWyh8<8zr0YKc=aR6JQCDv5e*|Ni3(VH)C-~s-#EM1^PXZ-!5U=!?xs2CnJprbEL5Ycj>Y-Wi#lq@^xg49S(HK)cQ+) zLVo$A!ewf`gR>I?0}~gpz;x$_dSchk?!f&#v!5`W8#@rg*pd9W#bkPs_Y}e8Pv9=Lw#wStRXvSOBJ#db_4Qc_?PMx)R497VWnWPma zkoh^tqzf3$&fEe|z)6C2XhVuD=~hN%j%sgd$&iPAX@v-JHxgccJkhjWU0H zH^R!JCG`tA=Xs{IM$u|ZTF$ZB>AvJtKBAR>@4&W2+{9XbfekuIF}=#%z|9}AmTyy$ zm#@2FB1e>+e@0LnOkk9(2CW#(_Gh{?mXI3CTXX2oOX8(-_?DSm^hVN5X3Zg4mul#5 zYp`n$Gn21#)&tr`uYb+AUT@3m8EX!|gIZ*#v}A~4CJ$O*)qXm=;ER_wvlE(`$uHl> z5SyCGkLy-TX7cZNaBwsEjsdQj++Q7UVa;LWc=O=zoAvIjOPU$EVvREn?9$P?739y76xA8)f zNH&=1LNVjbb3Q z=A8d(2JqnkJf-c+HET+ljltL*C!58;Yo8T;QQ;V-XocvOutO;HJ@b1WXoTbFU4Rqa zt}UIMf9>^wm!_4K<`d%ZA2UM*l7w`>yKJ}KOyF+Q@T1|}afzs`1snbR^IaQ#H$y|_ zZWv8>pB2yXM|bN;OW!$6K!}!hyng;^xmYhb)!2?c6m2}M3R>#t8VV%)Nr3Om{A}96 zC%Dsus@f?MJvQ($S?6A4+?mvVFsh2ze4Ua!4IR@6G$-*=oUP(kZK7OF7xgh^D8}F7 zJ$JvJ_Vi7yju$DcjEElnhv1L*$@uLSkve$o4^+F41+UJI%zigkUoodr) zrs0s@AF&mLy_%p`L>kVjZ-yGn%OU&yAlbvoIK zm!7dNv9Cxw$@ZDA)g2q`qA|{{&MG}ZrfaP^)W%lVHXO>~^<^dOx>$h~#@TB-cyobT zA)Xt75tQ*fHP1IXQI=~qV%}YPnN&tC)#`|#c*}kp>R+Udm2*~T%&CZI z%-w|;KDl&izTIl0ypLr|sencmEvZ;`c0}cw4!;rQgCzHq+{k?sfK(u6*Xc1E+&RLe zMF~%~OVO;nwhB?;GQ0P=VSw!>(iF-YZ2XOcxRiPG!BSV*ej$taH=p<$|#p%82FM`I;U>cjUr?4Z@_EBOewQOLfr$KY}XObuVs~ z>!KeJTgMNkcDA=IKZ^G16t zEYctdS$fbvhu^UwoUNvSK#mCnOC$n3kBnuvod$TZl)Yf(!4$jFzen0LdTZ z6C1ee7SBtu|TVXhc4KZziIS~gjdNdZ;5jPS zUyc&E-n%S+wZd3qZK{z1?dd={Mum(acR|k zGBec^f*Ao52m#kj_k@5B4Dp1(Q4G@+0-dZ7m|dfjb6S!EFL-hQ<`tV*IiO>Fkpajh zfWOmRVS6LqUkt+BiHqxSLUx)OnzHO)<5ap^Q~ijI7TLc}4W!w>CdvMglgs|9+hhNf zD3AoGhrT@t0E*x!dmy2?U|x%yuhJgp7s{IVAdEy`*KoAu{;7=XOBdg}%-)EtC6n=| z!}#%B3pw~IllL!s8{R*jZZ_e4%9JT1i*g+HqlA9Om6zb)G!=3N8P3W}Zw-fVRyy~Q z<5yI}AB0m!4&eM+X9*j+2UMYj$lS0Uo%I3{;Z(dJt*?kvGmb^tc5@sGB&noy&45iG z&uBZtew&7qEvufuFDsL}dXG0DPwPk8CU-mm7*{6_cn(w)4IkmM`utGtds7gR_(!KFrwJD->#l z;cGXf&q4qv%yaw>#)jfV9LD=T1n^eWq#r&hDp1h~4)RwflJh1jtU*sEK z#pj){*El~5lp+E@1#0$%FQ!jAYrx3^SCxk74X;giQkhjY%2^0sT*xxaOoQ&9UO+0DHl z;=_nHS0OsESfPEaq;PhlQ$CVX;hv4ouXXaD4BcS%egGVDiW-3@%&xadW(aUfTQ%q) zqQ&#D`&i3Q8?+IUj%d%nwnPEV)o5!rqOCFGM~UUQ3*BOazf!IIz ze-b>vxcK)~hSRTNlam}Fx1@y`5jN=)z_Y|bO)>*;*=dcrrxFpT(`z~Qa1!R##gJx zaIfo47pQTvXQn2SX|@~XEO9FKvZqc`v|=y&=_-M@&I-L-aozvqpg@U`9IlIEgL)Ok zE;_F$cHtPZARppqKaKC%t9Z}vgkR&=hrZ{0?yt4{s_{L4zWo(iCyS|awd#GIf9xMy z1&ikOIS~QXYkH3FnRk;*w5=-SJh{v% zpT(6wYd_8G4)@&Qluzb2hfM~^#kVLf;wr)z-<(}N$_m8G-F#gf`x%N3MFbuhhz`dCKoXplX8hZ2Id@ytbI@+Cc?Yv4 z`EzuxIg6P|`X|Ts=7mWNWOSNt^7iap^Kdm@o;*dHBWcFPm+?~-@+0sPQG)g_@SIE- z{f&$Nl>+w9ZI*T}V(l-}3z6}ZPEFpPY|c%wgu09ahcL1WiM2g3QnIS7?L7bXYKe04 z^`HS%_qe!BXI&Z1*fLtM_qu1?vp3o_zrkVyZ>7)hny+HM)H(5UzF0?3<(*{z*LiYc zN<-F5U0un%OQ%=vH{Hdz zJt;Bsqprsy8Y={pX7wqqzwt2J-qu9dr_bl;uO?l81E0U?;emvs$<37OQr+B2r<#J~ zH^5N(oNjKJ?Lh~NitWyqQ!`k&Vj!vZB7O_7Kk>Q+m{#M=T-1hzN(H|J&j^nR3uwjp zQ)aX}AmH1rx$vPm)@v!+H=Dzj)Zpoq(f3(=gBIKB=LMQuCd{RDhJLw8D-&JUaGTD& zIUwB`#{zg99h#IAU&nf@X{_)%^cX6Df$zE@HSjNKyy?If*v9R^U*SFQW80tPHgv)- z(hdEccm0)#hW?}!TfDMWR!N&H-20@(%N>dey-cKvnW8}qo!FnFx5Y63RC@Fk}D=3>;d$QcDPiZL}zO9 zNsB>7a1l)sbfLb&92}$U24LtqKfVomPW7RcjnpI0zSsVTdZ_ct+=0-Q{nvkoJK3eC z;mHPe!sv0G&#sYFoRn44){dg1SId(;iH?&QWsXh0@)EC5-7>0E3{LzVt zOp0>ec=J9K)g&V8>_IIs+^Q4I6}PsBMcI_{m|WlZdhCM25blaFJAtH)qlCXus1CPHZuZSX-Y2s+E(fXy{t07 z=Y1Te{Xn?3yH{7{0Nm)A%ZBNc!4qf!Z@MQ1S(%WJQJI>i>MeZMQ#^5UE6vFKg{`7b zi+JQoJ`}aY4Rew0!*=sFEsKeMg9r&nXDdryo)SkW?f-b4q2b*5TOJ{??d(lwU^%(r zn!!$&(7;{|1LQfr$E#xA!K;X7Rxw6z7Y*!X|K-4d6`_KMG*pfl5$QWsJ@_|%9xKw) z-^rr`6jN~OpO}k9UWt#QfczDETIr-7^b4*EJ#XhdAI|gU?{4Er2fcgQLEc^MJy*)c z7Da?BbavnF!mH*$5s?rPMc~)J^|8Eh_7p^fj`|W&ZB9O{;vuV@x#UX~AEx;l@$@^d z@YBh{V=3$@7fh)HN&M_m*0{X*WUuJFWYIIzMROZ0uilV+bXfXPvgvqt`@RLZ8OxZg z9x31^gnbo>yr3a<`#f7mrV8J5hoygH+2PN^AcywTba~)uL9|A6;No-jb;`5)!r!I| z&L&ek!&0*))0A|Of}4Ae)DTnI&NTt9Dr#K|4v*nJ4#zdK?R)p%?vA8h1P zAY#w!ARegnFt5Wd5yoqwSn&ZTvqs02JLL)53-phTr87x7jjfTyjF!Gxs1s-D`|7yp zob!Cisb@W$PV6zSNPr?`(|E)o#onVkRU>cX3fNsXnn$fukF3L(M`QKqd>(N?u=iH6 z_tpeGI*~_hQ;+(3k0$fTseDTlkjT?wEHdHY?7T0}0`jd?CcL5jSh-_Tt_*lXdxfIi zF}_Q4a)kD$tn%Mr`U%-qgd|V!OiPj#r1D9M1E*(rA!(WBOB|F#O(=6MNOCSwt^lSa z=H9+A(vE&UqggmXp7qTBh!mhcx z_-B*^;vkm>^BIi!w-6AmvM6)Ul!=dF;$ofc{q0Jc6LVL$N>>$911K-u5=hj=3sfpL zaKtmfZ+ai`=D2cgbr)8zw3WIW(cP168_k8>vqI}XXQkv)rc9EI!m@hubeVr}0J*iQ z8bw-jR%oJ-;hsxt{^wKX^HPfFZzI*@l(5BhZCNuL;L3ue4G_EaP-22vH~8LMeiNM{ zMJ$#jtqz=rI0;1i{*Etm!b}MhFUUY;&!Vgp+BdiGos91N^yU0B^Rvw1sz;XM%{)Vq zR^CNlG`GR#y?MIKuN8Jn5m}19{CS70hC9qhm=X==5jk>Xs$VasMpLnBQd8UF#iJ3F z0N4{Mzge|%! zYv%+Fi+p1J08;`7EuQF&?zkyN0uc<_F&D)F1tf$hdu?at7^*fH7%u~ zpK}D0iKtO<_P+2KX}j&;9kO%~wTjpoc`r+35an~;ESwp+Ls>UuK|S~u-x`|j!QZr@ z_cR_2<^v6&MF-S$VpDn=tdxVW^d$U&ytazhM!IA}>JS-IblVK$4kHTuK~UwqMB6d6 z-5zSSOEHtynZYzhCImr$=Z^2#X!vy#k7Fp-_AN5Q$FIAnjqRu0x?csfN;L)xjKi0r zL-V1ceA1H&SczP%%-J)zm%9U_{qKel-xTW{IWH%x%T3r@+w(R<=W?Xgcbyo$K zUVYsp!KI-jtHfW@s^oZcoLGef_GynEZgc=c*lsT76u~W(^V^6i0y>skyKyUOIf{D| z%M4pdS#6Jekuc_bkwkGW)G3jf4Q|L|RC+v)e|Plg{SOnx`GL$NxeWHRa|zvYo+Ax@ zY+#Yw@3**>?Dr5PAb+{^c7*Ni^^kSb-U>qBhN3g*tZ?xDJ?bp$9U;9O;uPy>9k z5;Cn&EcA*kI8+2=p0(HHgc%AEZ!izSO++Cb%0Os8-Drj%KDlxcJ(1Y-eC0zZRF+{M zt$}tOWH%89*y${p&<8DYyPj_s;x27Xtv7KRauJ{v6b9bl1fu5<|B3o0!pD7TTGKoA z^4n7J%?A3Dv7QqDoVzZU&B!(1v#RZSn7rkMnLyc;-kstX$ZvzIi0!aEjtPK`aq;_j zISEpqm)1281E7W|T);O3`qh$WVWGBKc{y@|Juwl!Bdj#o6L+{o&?su+hK@VphxnlMy0mhTlyFZx+K6EaRU@lXYf>8ZxOf(l zule}R-ef-N`vo z|2u=Ki%wR2Qi4cbEihX?GdEbV>R;%B(%h*z=7Dg^bTS&tAz@l0oF@{lArv-00Yzdhtf_J+}W?2zyo@&X;z4hT~$* zy#xX%dg0nR1>*r_%VBrkYy}Ci+K<(tPQUhj}ZFQYC?N=?5~{Y%$7; zSh$Y#UzdQ>T)v5(s~-hQuX#CzQoUv7H~uI}n@9sNN(@j)^T6eXbv0U4kOvj? zfC~Eg=J|X1s*Ab@gyUeOsCzLNsKBD`V?)`Wy7a!(1`@0ml}N`UB8ElU^x=Eaut-s# z9H?e+bx|LQh%TfRum%wp(1#{ug`Iz)CtxS;{z;@0j=TZoES7{w(T!big?485az#Yt z23(IcuJ5)}D~vOKboB-l}sWi~K_L0S|i zrA6Owew4I&xN-sjkV$vIt4kO4^igw&J*|=4wRyvN)?@qMr7P*MaI0T3`Yy# z(?lO_y7Nz{yDl&8-i%g?x+5|IY)?Z+U6~RaPy#&}GTDj`93BHp4;NewYQ>OrU*ZG) zLT~Rjq$Y)N zoxb2yD@+D|)gs12v98y%yFL^<{;5$NvZ!s88G*$-_EOhq zOY7E(F9NX3LfB;y6tMtc0q->#@@DbN3h6fCN!sFKwF5%dUuUW-TOtxq_+YE+!i0M+(*^yOLL|1+6cDdfpJdiNt0z|Ee zVkYU^ONhNH-!(T-p)xgg@RRP}^jp!?=pNz=#{w=XLNfFc1XbrMCY;?KL3y^u#nMY_ za1eN=h9#vvI}S!lf1y=K>DiGUDd9P6k(8Rt7Hn9%jq+PdL$XHNO|;s@Qj+n{ZHa_D zIpf+S;wW>~+8H8D!&4VFy;vSp7*z(}xob_o(il2|8Q?y|zo zlPX(GhaEo&*DwSzFRUF{+cTwHEUwYU=I2+dizrv&I@3P)Y){v^^z0Ddi6XwOW;Uuw z_%748H9WSP_fN34h$xXT8Q9bqWSElxeTcRUQ0cL1)eO+ zbA?FGRn3IR;PM}!04BQg6)D^#k1Az%+Ht5{!j^%HmC9}S#oNQD@#t5ESWDzNo8qP zXnt$uqGIvoRxppSP5dXx5=?k0WMaKD=Qe1CG7J~9W_$*HWqMkmFQoO?uGPTg4Oa?G zf<^)oqOGI#O_Z4K-FjS8o8$q0OYU_0m8ffAD;qAq-n?Xim?=Qu-U3v#h)7f*TjGcV`|4`5W^1(n;zyJwuTG&xr|W+k)v;qAWC?a zX}0{BKCYfA>l?p?^ z3`_#wNqU6Wv7+r6o?WaW!CYX;*Y#Y$@qW!&n;M~TdZxkPn};1LlfhR#ZX}uU$Ff2? z0ld?Ye=*X$lV*~H)B>Gf3wjG|a@K0nG6JUs=M>`gR2$pDHJ(QSdZ^ded zAolOLR+QTXqnG6P<_%{L){4o^yg=#Ex*=3{4zF&!!FV~z2|J>m!3o`$B|D>;bU!%V z6rpW|(*gE-yZKw5%gAT&I}@MFxDOs9>=QtH^it0@QN+_8p_n~d)%s;5@9MEcti2Go zQx55m6gES#(KXT~b!Ne0i_Jm_j+GeP2d?ZiR}Pb5Q&$&AxG}hIeAd5z_Jt|W!(bGH ze6x5S#DsF6f=TT%PEI_*<4_rXBV_oE!2_YW=g?w*^-R$CE2(?x9x8Ru?a5;Q^`_fp zNi1GWcvuRHayXlY+kYI3|JnLK$0EWwjYTX%i$z(3_g?CC2D_vpAM_FXHo-+>nf=~w zKEib(*OGNh<(f9y-X0tHTD8Sq4~^(#3#TL}%8!^bBKI{zooDG?lE&Qnf4G=KFzZc| zv-KxouVq%epC$N`o9!I%PIQyC+{>^}e#$%$CJVrSK~^~7qAvbo7;yrOIN4*wX)Ytq z0%})|O`@89Cn(IAKi0VJC+lSt4#(xeA^qsl>ti(9l`M0k zt-;k+vjmkR$@&lb&56@^GC+&@Gryy79lAiAZ2IWF?Ad=xna2jcccd*BEFvrBcI3tJ}2YRua%e$h-D%o(3s+-g7v6+9JROh)RY zITK&oS1xCoAt^cg2)f34*vs;S+@`j7$`yp|Z9PH$>eBAPaOAcOS5P=|U3X8y7Ik+; zY*BZ~*osS%sNI^Afm-YS3E%qTs2#zk$MR`cN%E^gnp-wD$X z_k`R!)yw}K`YA~FMCPpPj6uWjRzI`By$G21q;uG2 z7S3i3Wh)kN&fs}PeRBs8_%bYdTi>i<(bB$budg?g%CiX)TG=H~@mhPBz%_#Da_Y#? z_|sIypR|IFUtm3zC=Oq-KT_*!e9Ko+Gt%F!julq=c0_itVi_LE&3Gik`QdCcA{y$N zH8grf*IXZdkYeAc!HLqYIpz}tGi`Vi5iChGLoRAVFGc-h!_n{rU(`RDu(9qrkv84U zeW>Gfd8>Mp;NmUuXGD8;XEg!YgoA+WDDy0Og|~W{#qLF+dDy)eYgRK@7iNOq55Vor zJAMpqv#C=+V|cv;I7U{i#b|&x65zdMfwydezZ>3F0q?jj!HVSo?^6MfDE08zaQ3#r zPHxfhg5dGF0UWdWMUgAI!?nOA6gi^1d1jjhOfPpvCqU}mWNWHJfSurvj-IC1^NJ!D zcjxSFKstx5|7nnpi$C1jMKP;e93xYTo*XEL5CaWiWAo?tNT7dxIkxj`3Iw1tH1{# z?Ro4bI)Jn#P3^kydNh+a(oBM~Cx7Ej4YCgoI3hIt>s)K(5N|l(udui%QtQ&bPqbfH z7|O;fU}tQ_#w6*7qoKB0{^-SRb74UGDK}Bsx>3x<6Qyl)%oNQl?T#e3KVGzdphYzN zRHWYU)ej;hIPw65z$DEPlJ6qqUg=3ONz}b4G;?*K)rRQovF5LUuL)*)torGg*>UR+ zVWx<7QZ}gN^In7i+0#)I;pikwU0cj;#mT`G7f0S|e5+#F1aT76scho-Q>f5(4{{`j zaSLpN7mC_u`JzR_$uGO-iz6&A1>hwNI?n@eoJ-bh7Rx{lgZ3!(R`i~w)amX;z+CHI zj5QOuz_Oi&n3Y(XKu{{@RN)0;yzaaQ5j!qEkzz^7kRkXivxX-B z8CcT&vau}~9BWF+M%|hAS+>_SGbgpvY0w^b1j&-GtK_G2fs&bfqFjL;h_?Ojdu=FH zX|@$5)O|@Ag=2kRW0!<^)V|nuCS^SDA7N5DC0zkXGjm_QfEYhhb{*~(oS+r^E|__0 zI5q^6dGH>1sgOi~h6EP9KT0mLn_1M?`|XC-B^R(ht2ia>g)7rFM=xR?NF0+5D%#tn zB-eLk$Qis-5mvF=v!j9HKtsn?#aq!ns{H0FK18L>4Tgl1J12Tw3>dKuVR0j zk~Ww6oIz^{Ci-tAb#P**>QHuVViN+mUBfRbUTx0>8#I3ri1hcxn9n!9=j*nTt)Qk0 zog<4~!?>boyN0es&NJ;A9Os!sDL$l?k7NhF4t1*jrrbfXPAs^wxpCG0wOf51_V_Al zS{1QzD3M*p4zt^HSU`8Wv>vpw%{kfTg;C0HgCU25PIrKm8^uO09rAi6w4>~PJ`eC& zz{gSw;W9QJCR$twRJ#P8%~f;!u@RPx3P(5<`&v!Eq+)Ly-%|PHi=086Vcq#sE=O?6 zRye!Pm)J_&e0``b~$_ZfaezZ2#KLz7F;7D3(?1 z%P#8}h~AMiF8;Nvx^l)PHqOVCO8k@03w)OGd4`Yr>a%fkfrDT!g_yBT5i^~xHbu-a z{|lfWo(8%J(dWh44Tv2Ne*jLH-VX{ym?+@ma)2aJOSf?rSTC(gFpIPNfbp zM{|Utw;+(U9P9=rv6nzZc?Cqdk)gFYxulJ69QzBVkMLD|*M@LkpELN4K&BlLIv|YlE6<_OIR8VOhnp zR*`xIDjh=JupBcD<=fDi(O?TOPp+5ULd&PB)sd>e?+hYmSm!@c!-W%%cqEX$Iy6{`=UoS9N}}GIkMqU{^hgelAqGnj@{9n;czY#x;Zsz}=(aj+q%>YK71Bz9Yq7@gQCm%>G z*UZ-@oMZSXc(@0j6Z!m$&&_-)`OM>U2Oq&3-GE$7F01bC5?Goc7i)=aKX%T3ty(*C zegIhM~P{?7^V1PVe$8%eRy|6TY<@eaw@ySI$}4il1x0Osu2^ zs+j4xHO=f)vA@+#FEtE_Qbil*nLbC+NR?H~I)OY6WY;A&N*bT(Ea}ufvU<)gbuzJxclWk(1}|$k4#_ORjE?D0*U%o3-5QDA zVMkk)8@GJ^3i^f_m)OLI9l_0L&nLg3uL)pEa>puVLMS#($~WP=V$MEQHGK$Dxb=)S zCD{%AlRB&@vSsa-#`m&!%~@taur0BS!UDmObN1;_7S6P+_#mtIN2nZU@CT^wHkbS6 zB=%F?%;O>-AneYkP)gV#6wb?vFXX9j&Z=zsD!D(sM@hDCoMKIIdxbBQmfh-)4Cs#R zh;_yrnTArbSN_QNzP11Ht^LfGc*T~grIa7okC7<$HNNBT_MM`9sqg!sY?}=lS?M7D zZB=%~HARt=sX3;a5t%6*Tr;Sm`*~RnZS9wz`Qv52-5ZLk2efY(nJ&Y-zS=Kxi>fEK zqK;tmI*O{96_zOA{~yJpV5eKa#YzhYTC{lIyfMLG^$WM#!dS*?}=_$<&oXFtJ$Su^vU+QRDdRIY0ux7=K&J&BFgBeEO1UGx7~I}`Y*s;hw$ z)}Y`76^;8KsG)8_MT3A$NCw`(3`PWtOC%~Nf?9+LMlcc#(G1g3>Pi=tR%@wNi>(VP zXaX353kDE~sB9|SajXPU5nf9`#=g#@=RzaP9e@9t;2=bn4+x#c&JyS@AmppSHw z)pR6tq;r78_BZl>;WEeJbEV(w_=j2=#I6Y zLZkuCSKVxh9YO93nq-_hYq8f=aoC{F7biN ztum{8{6byyHPToZJUfR4L#VV&y}$f>Vn;7&$FG4W74p%JVtJF~V?D53{xt!LWc-OpE5X8g*jnXFWwAi-a;mgKk0(Q) zv2$eTP+*SUqv@@0uI?>mGNep-X&J|0y#kp~aT$I{*=&F~g)#%Oqm+e@YnJ%9X5r)7 z`?s9Rb~t(uZ4imlQ~?Wx2EG$u0W>=LeUyM}W3cwJmo5iU@Uo~iv%ZJ<(CrTvC%xPuQ;RmM5@EpHtS}LUouV@DVPYuMcr>!>A0l&nuih4PJ`A$$16Y znA=B)2Sga?&!cNon|z^LdRb~kX*&o756oByyCd)9gN_>I#Vu1pC{3!#fzPOPR9b-} zBd@`caX5}MEOkevxmfh3Wn(2sb9w@jzkIpX(q;iB6gFVX$Gbq!0ZwgBbadvRN~y)a z0<7lmLhIm9A7ziKk2OHLpH3bQQ^Mn2uWm1=m>|pTYWo1ms#oDL&ten7!RG`o^ump$ zvlRFgT56PAAUm)t6%lAJN8Lrmcv++vRkYy^mcec*JmC#Q^vE-G$Iwp*eSj|&-v?+XdQsHz{81}+1C&pf|R3@dDtL2O%wH70_M42{im<=zTLC5>7DO?sF8B4&D;0+Be!U}O(6DQY<$)G_H73^?A>`Ne*n+>k& zvq$xmfn&vOs}JgA#4I&#=%u8fFnqdQD|RUPGNv$mwEYF)OURTqiZIS%ONq;Kbrln@ zsYd-i{%WX84&coCYM#)J1YF_ByNMisGD21FW@DMXwGM&KzP5U9u)t%7dP+Z|>d*Sw z$RSopi@iKKfjD_o8-0VsY%v{JlbS3~yO}v0 z$^J(%Z)kj(Fn%`2{wD)$q?fooWNF{qEU{s|x9JhyC z=!ia*k|%A}i{u?ieZGOM4aM7`(C}|85;P7Lm!KKuwCqU znP(9R^0x)JbVq146XHk|Ibl%;FCi7C79hN|txBI)vd_Tj18`z)*0PVoWytTV$H>_3 z6236;kDSc#vD%AhoNJEXVq zpM?mVkCOP?JCWfbnTYnN|19Q+XsEPOjcaNPP2Qc^#_uF(bL3>&Iak_|wAaaG&|3%o zx8%N(Mrt=|A+=8Zg;cs>#M9(NPqg_(Yd|oUW$yOW!GPWKnSv1U^Q^!UAw-%<9c)DBnUW@SbeJtXGve0z_s}Sv#^ZqqE2IQcPzD^7!@2 zRjT?RTBT%?>kRCC=KLAHGh+}G+IPlWtsrwuM6DCa66$`&EP>bawK@yAzE*d=!5MbL zz;02;LQ5o(K$ST%WlX)q@LspZwvYy%AeHURq4=H3OOjk;MUYkjN~rt0WdcRhys1Tw zHJzyIpD6-D%azcQE!0o;zuX~R(UBV@-?y&|_H^UwDegT$nq^W(3{QM^0b4T9*Zn@A zW>1ix$-}7q(+>nR7&x?(oc>;sKCz={M1_Ei(IepYAz0>0XpNeIL|xHmZzNjC%`luC zn+U5R+KFE`pbmdUy3%+5%=mazx%4jRu4FIPDIO4VUW_})HlR(-H#0Fmyu=X>cce-R zziA2!EF(%uL9bW2G1+5AHU&aR!)dm~ts)=at zGQUCez$oIwr^tRM+}=*?MxNR8_+ zeAmtj5okH|vKeQidR21cPb+Z=YJhjLBXyT|l}%q%81nD?PUYgVVi%iPUmcCbz3OYX)Zl zlke5%0#nmhRsA2K(7rFqwQNQ*sDAV*yp{1LPhBEfox(U0-Ib`Ch(d%anAJBH+Vlj{ zMW~ty-v~;^-hx~$6G0hzxspbhH7padLsqtRO@KMn{ZzUGBxE)LgCczHfa4K3BBcHS zm?q|4X@x2@U%_6&oPia)pGIZNQ5&Jw1<1TV3WqWO&(I^2rqoz1HkM=wE<-0RnIeto z(g+Cg>^st=OSP(cS6c?VSv|Ik)f=)3(ZPu6j#ke>9@250Qu&g&oh%JWUNKNJaBw6 zg;h6tfgr&JK}M=3(5`rrwJ1m)pRD1bWr<)!WJx{l=`PiMftDrUM9Y%O7G;SBdhk|+ zW|k#k*N>E$Pws^1OQSNwr13$p5_(<_=&&2(@`N*x60}$lCX#71!dQeaKIj*jBKkWr zg^&d^S#Ad2miVtkiVZ#P(m3hfdwLvO!XC3;683P}6*B0|jtOcYs2-t%5g$EUw_oDf8 zbdYmmlOOJ=xK|_!tqi7BA?AzaX_MW7G%XfiEr~;14f-#%&eRJK^m&siwOV|2f~AX8 z5hYR8!msOL8^T>|YA8;s;RnQt;e|f%$w%rBl-Du$)&A$0L_z~|@WYNttb34<-oV9( zC&bhg7O*v}5cFuXLVB24kI48~++y|_hS_Ii4r7%;BH66`%87V?eyfhrkT*U0jp@;6 zC@u_B^ZX~zH~8inBqx!6Xpw+KKI>1qOySmi4+)X;x@pA-jTzurH?i)lrM z#g4iaydukyF$A3FA%%uDK{C;93Dd6NP1}Q$N|o1SC>(vEF0-9zy9C7cWx-6A-j`iV z9&PI(z{gB1$Tw#C`t9)hyn!3=UK`>RnIZeNdt4*idV=0wP5Hr_3y7Mm(gt-{j?}t2?{o>y32K%ppPCpR z%U1!R-gw`Q1u6kXweVTtm%MByjBKoa8Jw46oZUvqe{vsYLwwDJh2L3nniX_duZuPd z+M^bJP^-gzs;tJ1$5pWpb@U?n8tGa#GpCJzo&1>Du2Zzipr&F^$uSjc?rdK(G)Hy| zeiL0~r6Dvfia2NCdL5mq7wbbIfuXQJp?3op*}2(8K;S=f;z3&j>Z(3~CCHX{>3RAk zLs{mFQw=gNS?WUbk|VxmXR9pp%cV|{m+~1!ZTy|B&N>cwue#r8E zEse+w`=tIIRgdvRcGao-%}cHH*$0(oQ=ES@a(uzNT~zC`LV1={>kHjx`GPkVscY;i zM)8zjKU$ zAR$9NW|t_}B@7_R;3NZlI>V`^*%_`kRc4U@bZ2C#LOa1D&(ICozR=y-#H`5yb~(O^ z|M`EXgLEwwQD8%pdO^mF9CfNLx>Frt>U2@3iv*YIY}fhSIa22g%NM#4!#5PeS)C%s z>^UNPD%Ln=&*MdFirdwfryYofpVkRg{;|!QIv9C3g1p;`)RWQzka~-kk*Hum` zLOrzcx1H5(G$UN56LzShb`Y#qP$>SMU~wir@gL8=K#@2@ncjfz6Q$Nw&k#v9`LI(r zIj+{N6A+ldU^SlAiFOy#dD=*i{3fZ?A!uXk*)iI{vYQgWM(%}p?RL5>f4iSflF$+z z3f|vu1v|=p1A%tx0crtY>B7!Xd%Aj-p6~&V66(m~OsUDC*^2~NOQ<5xsYaOu_)DlE zFH7a|Aw~s!)U01Z5nihNH+h01;HBaG%ga%jrmTx>U_H;JI_a`W*!IKUQ5E=mYd|EF zi3Vcc1oiG&3E&+i41UWODQJR&QZ^-imPEb%P!jcak*I^>61A^Ye$#|D$zpX3BGuww z4*!xxY|YTgZH$<`-H6$@j*W|1y~+!g5Qgc%nPvh}Yw-ftGl^{;e@>1mCYi@$X7g1C zf5#9i7Iiji{_;6%=U~^z<-t7_7K`UB^hOa|Z6octtRl5WW^!;IEBudbx^R^|LT)96 zBQ$0TLp^*7j&7ia%=i{8cVfhgyG+};rtJnP{;zoP4&NXPrEJ{X&v+7L2bi)0O<4lX z>{F8yWp`6n;;_ZbGQ^9?im_lg4^_dWX*hs{+jr@NDLj-2l6XR$Nmwlji<1*RFbR^b z#OEhoV!KJ$AqhR=ZKzpibV}s;+ZVdIr+BCzk_+!Oh4)EeF-_Slni#dl4_A9|Ekw1t z2kf_uC5Cj&H@b~ud9+p)93QLdqIgxf$hh}3gWERKtwtwhi_Y&H+-t{~8cQ z;?P!aHcOu^={LsHDKTBXgp$8ZmM>x%F}13Do7FKv($^%?i<+goBt3y~cq}8j8Xy*D z1eR8RnO?pvt$G`$c4|AX=5`f)ZsVOlwzYyCPK!pxk02@U?*FyY$WgK>Uj3z$W~}OM z&Oo)*d9{_?kXqa;6=sW4tBS5J+iC+eh76ZE<`8E;<-pHGAg(Tty*w6s`PhC*-4(8t z6HcO4u_xS5eBkviUOHQ#sCHO_zQKT@&fA8aAarXL##%jRJF;Z%W-k=#V7=Q5S0%Az zJPrGqy)#q#R9r{Y#I z@fX!rF%zQ}e+BGep(SENpwQ~E6vB*_Z3>9pelN0t4&KC-km^61MA_~B+)jk3Y`tR% z)a8oHw3!}O&t^Dck6$aLVg?8FO%{Ua;`@%2t@a_AYSuVeTn%wj@ezCzt4k#vQ;$P# z+T6pr=gFCIt6QTw@&?_DJ15YKv*-n2ETO`!M@fYhWt0_7gRe!n5lqk!o<&^(;ZruX zWkFw>5&nZ7N#Fn7B&&X$N=p7lJ#-ATaI&|wjk=T)*oO3&*y5Th`O9Yr5U^d5Vvn}4 zOfWT&A=tJ@y(&APYX1ccS!F>A^=!Ma|9yv36TsIh+D&eF9?y2355?>+)fDLO^p#{~=H>(mE-(zcQ=7bk2b zS3v*JpEqzG7G0Uvpr660ZK>e~5{431pxI(2!A0h9Hp^6l1_8jS`wRBR>oH2cDeg7` zF3(@_!MVmX`Nw{VCO_+`oBWABI1lIsH1Vm5Pq1hPKCzNbEw(Y)-fWa8dTc?Imt?f@ zXR|$6E1QR(jfHshuHZRztd`I7S(B)LU9XK;f}6kc8o9vi;>zx=RepoB4R^AI`nqn^ zqp4Lh<_q%m_B{cQk>mAhd!gWadD6b6cEU1T1+gv9u&MW>qB!+t;XESLyIQDsGi)lR zbv7Y960~!tx{#bA2ZSd*p;zY$orbzk8V?n}|D;4ez{S!tLKgf?#dFCet8MJa?f z{!cMNyW^0Aw*HFdgmxw+h0qqS(}XtgU_u*AUqzUCA+#Fzf_T6GwXSU&Srf)Z+MVcC zF-l954kc4s{fP-mi#8pK(pCcQR7xB5bgPsW?EH%#piODJ9?+C_ z&bbLnD>?4hQQDCP{3DwlVGgWJ-G$IEzd>kZCAw56>8-&0YP| zC`~+}lXbKUQ<1?V~y~f5zs{e_WN2Xy-~_lIg6Y9{iFPAix=6H5N$t)%Mz{Nu z>1;6V2%SAjIYH_DQr?zmSs(l|I$Jd+SvslHABxf0A=d%}AG@?UoqYu(OQ%X#wM1u~ z=&I0}I5^a}{~GW1?WcH!Fon#X>@LGKWL6{ISgne)xxhM=%uaZ`RWcjd z_7{`c!`Cz?v&xW7W~T-~AaEwqey7n>BBzH!(8X3&*CASzShg%o@d^s#S4T4XjhenRi~RWLEye zFDA3MxtliC_V`+*O=g$htI2HcX$f?1bo@Fp^BZ()adsK)v?$K9%_*e?N$p;5+WpC7 z)y=j#tOYrMqx~V z6SP{UPa255y$bHN-B!i3%xHARCjau}nAJ_($?-=$o4APL&x7$VAWV zk32$(_5eS~Wd7d1Ure?~jD|MlreK^#xvn9q+TCkY?c?I29vZmu)CAS`>MDpk9vc{T zu!$IM-~MUVa$n#pwNwMZKFL<#x0xv<}*sp*2I{v!9A@<7t`_pf;Eq6H^T(M2P zf!o&b<)4Hzihr@z^5p<0w&Pz$$d^%^^N)YIMZO#!uSd;+b>fNVt|0Mi_SxcJLXtf{ zxslK0%O8^)3CowAdy`5<<;yeideoWmM$|dq$MO+Dc=Y8380R@(RX71d{bV82F5Jit z8R%V|J;eD>XA>4%I$kP;v9p#f7hHQzYQc=3RO<0&r81kBirZAnpald^6^H$#&upp@ zp{j7QFwzr^rsI6U1iQa?f6r8hw~dasKYC8Ozj*_k16n`&WhjRWN5wXVXMH8@$t2MNuD<#1khqdFKV~b#;Oe^bQ*gCl zyvEfTu%3;p_ukUDs!GDuKcRMTb-cz^hgl;1+)PQMkwu&&KP197y`vGfLmnvzJG)&B zVQgb2A?yi)k04WzIXQu_x=tElcm=kGuu6@fo$3>E3c^0rPwanXts(5fTpMB4vws4@ z{OdKsdc4yj!k%v1D#BV~uH0`AiLh?X5Vo*S3c?z1&kBSMI^9(=6VrQ+?80#yK6pYPCi(xF4#lFhZ7#oLYY;1{eGVLFl#nx*K z?Nq-Zr(o<<{fw%A+}#?+W)HG4<|zLO7+dGVeG)UDHwBK zuQ9fKRUBh?zNuNPJ_%z(I>a#ciNV+trQb)z6kGq}7@N){hkqBx8=GNlWwc|9Lh<6k z8e{)CK7p}YMCcq+DE87A+Nny&DHxlqpHcPQU9Dkk%|IJtg@}wF6^a>aHO7|Iw1_d6 z45gV+)cfB7xxQ-rB3m$;iMLcwydO2hur|+3O!{7o5a)W#EOv}xG)_C&2Vys={Btzs z?EETNq%n8c`!?n{3Yl3_G`KvI1^Lkmb@wMF445ZugWwAnMUO}Ygi zPnj00QGr0*JMswGrz>L92smo;4!5zbxx80tDM*Qj&IqdDqEe%~_cmR+Jz*B{^3 zn4tVl1koW;_q;|G=ilh9pl&ZEL_@#(&el+OwK(vEI77D`5%Qy``{M^1bwif5h`N>g ze>Uo_|KFie*8c{E4e$4xDx&f8z3ZaL0oe zwr<|jks-BgC5m4!8e7{D^<|-~No9TaW;llDN@NL6TKfLEkh{{J8jY(uZCGruNPK=tixiSAsKI$!Exx&rg#Yir-vTs|i?0Qp~qvgsTY^AcMmMiOSDqFg^#i6?6m0{oJ z=KIFI9rZavRf%OO?$KTt{trK8)m#|fWWTAy*+SZ(~iXcM`Af@)`#m9@w*9 zr>>-<057(bo_rLb`yEmu`6xj5TjfjAQGl7v>KHHSNk;)LZf*1}Yh$mR+#JIp)L@6(#b263Wbw%7{}S&!;uU?t z@D?_TAnM>Fj}1x!3H^I#M;*aTT9zZsyCu5NGkmoA)jOW3(l$bqTicxEVBB&h3#|Et z*p_GF %pUzb=`+Dop?!DO~W<=iNCb*%4**?sC3NsnSGFHDadfx|Qh{D@-3|LuFF z962+t(!a&_wnANrpqAij(lz-`lzgPQPAd$1NwgEvO_sv&74|o~r--X;&hX8-)HyNA z9JJJ0yUhXvjUO=t&)Uze^1Uukk?P4o{+a!)YF3?Q+uuItsSk-1RLZa@T8TQR`3FFH7cDmI(MaKI9~Cl zcdOo--gz%G-6GZV2vJz}hX1CcMU1Yq8rPVayq=I0P+WG5B*MSjygw!Ei-fS_vL{V= z{qN3jRD9kJ$M*_?f!6RM!5!JKl4$3z@^j*t+(N=%l@Z(oyHfAy@XC(=>F>iRTOpjykh;SkQZB-H710GwX*1 z^UstbbBD}1`b=-2$}5UiwHi2r?}{Ju=pPg z;y?K-^7L39|KarXTkfbhLJy|N>cdHs22Y<_PiJ=4Z)u1-9nT8NEJ#PT>Zn3R+nppUO*X+c+xEBnwz| zR6cBKs;yET33kO-$17F3%fzZ}lONd9t7?GDQE{8(!tp=3e-$r~gHF`uXA^6VUR4Y; zb?II?X5Y_H!x!<1OC{scDvG>4s^ULf-hNe%iZm$|>!?eE<7=sz6Ic>)<#4PtoogKx z8+B`9X!b4evh%I4Fy8MDY;d!)a`HApD+hMF1N%IpAr@Amc$NW}7>pbh|Dt&Ao@HtN z!*lm6O)EYz{AWIR`-cQi`U-}n^4(D}o6o4RE}^lCS2+g|F64`VDj?92@d7GAi+`*E zRq^$4FcGTwU@$EM4mOwsb)O4ZBm!e@+4nBTJsn|*utWd+yefCkCyp{~!qKoCij)jf zjtqaJUrpjH9qgx>!+Werh~Q`S4%pl2Bo++-F}&Iseu1GLkEW2#a&AU?~d}4keAA3)vuL z=0n;bZ=Oxw6{pEKuV(l!rbW2@Ac0v`u!Swiv}SS*&*qH0lY`b-YzHw%q)@W|1b3gPfnS|UXK0M3PQX$? zo!-C)5(Dq{^*==A)5U!9lz*RAoSyq?TKHUkS>?-|1Tb()cyNRd%a=khF}~KuJiPG zo&G6S`TjJ&H8CgmS{>cI-=|Y=M_l%48Xml$&+y==3wY^r!9g{A{$;FJ{%lY5ZAPEr z?H3`qGtu1mEe8r2JuJ8gR)oWM35~zUfAqi{A4-ZsLO^bVSl6B!xRVGICFxeb=^4}7 zORVmLac=2Qxop4_wUn!>xGydwar>0=%eXLyZG))UvLiC6=ppZXVZK)BuZ?PXEOn2% zzqdfJQT?4yYJ@Ir-&Q3DB~u~_hee$g?ZfQD8S0as>wibT&F zT?eHtvL-EqkbMgvW`f)L(;((?X_|b`XFd$fDzGvdYdWiH2<@$R;!*ohe%}=@j+}<_YxN|^nt?8?u_yuIdtQVYxI?Jze+cJX z5B_pm7IRwpamMkNJJz#yho^Cax5xg2k@hJ=2MM0QULv<<2kLrNRk}9^M%ROIki$Ko zV9ygA&>qONPv^QOe|zq>Y5?*6-^fiZXO)$1b`{TLkY3b}m=aR#&COn)3u6|K4?jo) zW&2!HI!CT#gMLr_?ITTQRybClcO*<|=cRr`;5!1{>g@(D&`T}KGLuEGNUojs_tZ36 z*i)CE-awx709s3fyJrxyG||5pweXHUtZZLUM!ONE`34gAEFz!&^9ZFkcpB@_H-y)! z!y<9t7Xq)I>gKd;w$*PywSN%0z0M)0zsWIbo#a?LwWp*y9$xBq#xm4ctPOzOcaouI z%H~K%gTL6qs@C%wT%-RyYqttR`8s>6a;!Z>_zmo*;=sk#K;XkW6NDBqRl?YzrH(BIs$y?m^8rLUq@ zZ|8lEN0z3)<4Uh_RTi&HU#is*3I4c?*>(Xp{34t7c>|>jMY-`!`XO_8Z~#o}ACNv2 zA|DVV@~%SUXV9L@pB|Y;6RxR~V;udBr_Vc{&P$6=%MYN;HbnBR&IcS1qm6BHIp)^5 zW;gizmzAz>Q#>dvmstpTZ~Lrc8&R;3bPMy5Znjcdn;%$}pS@>KolD5M*b#n~{AH!< zaFqFgH<>G2fXh8YAlXP~Mg(y5U{-hn@8t*HWih7GwSXxGXP2l9kWDTr|UQtqPk$}t(-cyqg# z(5~X$w#qFOvrhdU)NQ^;ISHUrxxpI<(^6J6GN*#Yuvli(_M4?=^1la;?7>_ z??Mo@9qCgq3O^&gmG>!U`ua5#pKkOSiGS=rKKwF?R{zpk=zB$edeo((B1>Qrz+Dw2d+Gwlkc~1)D|0N;q&-ZlrK&9ntSc#>I+jp6M<4x0|R*iouu@Iln!^% zEtJ-Y;vlpnOG1%}J-3<`d+=1}@LvkKtiXuj>9N6!ZegUHCYPqEXJ~R6(eHvL$LvRd zfhW2`XTxBk=OB&Xy;Im&?ym+hbheNr7(x49cFQJ?N23}_n&XwV^jx-S&P~E(_%W(Q z;?;@3&iqvDY#6Biq~X08eNc%$WEm5LoZ9yGE6JR8j&^QqR1J(jGDrZqQA2`2{BSDE zGzkfpqgL|~l;_fG$+MK7afn3K5yy)JA#l7w*Sr%AYQ}A&4>~>t`k@;=1*i^BHW&6n3x$GRS*3|_HH`(pA$q^ zrK6-)c|(5}Z(x)JFJ8u~tK_P{h@w|u;&Um{pjW8N7!WP}sTVB`)Gh6>Lb6U7T?KUr zsi+!3d(ifv-l>j~5)$&O-;B&Vn6_6)!~oU)I65u7CevtOi)w^&k-0viyL`i|it?YH z5=FLXBjjqU2NB)HZbXDJ|FRsbalN(nYisRxfZ)%t9E;K8w^oToEl?X7HgV9ER`1n9 zGF%i9t+M*n7I)V6iF*aN{c1gq{2G_z;Tl)^H>S4o15y8at9(y%qU%b3d#YPyRd4BN zrPZ?ShW;a+&{~kydDOc(TwRpy4GgHZqIns5Va8&;POW6%kz)nMr)Y$pJb%m9|{)W$wlgWGOd2qF2`dv2&jGevx!7<>%#m%>0*p4f_H4DxqGS* z=e{a0VxE_{qgr!aw*d*Pef^LG-R zd|W5gl`T++KSf=clv~#1nmS&q+i>YFZ=aRWNio-~R$+UKxMJ$cCyu$*vuphqYGviZ z$V_iwjW@7T^p*2IHu{Qm-YeY|drhD^KYQz*y7XF9mGsDEqNn(WYYqJ1;oox^%oXWG zzoj@_&b}$YMf|M_j$TZpUHCm|Di80_!SV;*6JZ3jE7 zrxm}Bgvty9x$zqXa0`JK0)a{20KlZfeN@IE1_mP<> zn|P`Y^f?KX61Jx0iIO^)d}N~ZU(m`VNkCh|7Rm(3_^gCh68_Iy%=DpwYjF)$(M(9kc3-aMh1Ik~cbl*R?Afo-A} zhIEY7IuwdQvPNWIge%xX?UA*t?)t5m(v^T=*!J+j_%|cRiGhaRNX`B>tC9?$N|+g$m~=F0n;di3T>SYsrx(TXm0 zl&uCk-hSI0A+1@-d>!mkXH~59cd!C=kxQ-6;52W)Esju7u&CE0-qpnQUs-$sNo`3g z^~XMQE!)cCldMo)d-+_*%6QWlpE;VwN)+YxePrXcPi`fj-IaU}XWN)rr&+f@SV?ak zD_A3ijcz>wtfaG9-HeT1Ta%2LU(H4nHnfDEU&Tg$2in3_(drl*fr11Z9Zg*0HG-kq z$cjm&2-wMMurx1DAqlt`UBQ$7oKb&$_PuqtgT(%iL1 zb60!AUEg>^6XC9Pf=(-dKM@#Hp=41PhunP%8+Foc*4)C6e1jp zHnrb!jMxks-#iX9<`O&reHGoP&l(Yh`|AXU*e_>_D0~hxvJr!0thHNYfgD&XN+hx6 zn&6GK@Ww_@&#~}Y6+#h(mR(eRqhnM(3ii;!V}T*q1L6kAQy^G$_~8&Nw|B^W2C`4G z%icnc6k5?5N7j=_J5=#HbmkeDKh%D>fc08n^n1B_3sP2RXqqa- z94hPA;pB{Kqw0L>Vm>#O)lih&=r0rqj^;|s(gkXQ%)LEWTd)IKhcznj(VmZte%Bu3 zOS_3}$Er%osYm$FXs|6UHAH$GdZ{roWvPKki`KAPWUn@s3FGuzrFUm7hdZ|9Fty5( zW7Q#-9FuA@_2RhmsG1x-aR`S5jz&iV1(kw<=n&QjW}hgmqppR9v<1nfrwH;bL2$(> z*viFPdWn2TRrapPiEOv8Y&=oGPjyk%g*UC12C@$}V#q#HbJf7Gh%d0ytS7Eb;t(&( z40X!yg+s(FVL0R?Fs7#>)@hnahC+s{!fUmDbDYR@j{622!cHzO9Qkv`rDI$+9FmE6$gdo~!9DwP_;&%8we`iv8zpInN+VI0 ziF-eQ62;t=j#DZde-Ve!{bziYUy@@3@9J~Ork7kljbM+~vt4{`%mQygf-RJE&Gns5_-F-essEcV#b`kK7@E;4^uJD8|g>FCaqB$9VpvYuTbh)GKF=?g$ z_*zFuye4p^*i#2ivO$`<^ukdDHLm;^hIT7__w5b!5f zYl5Qh!-S=RrB&gFpd5ipJAq26Q$SUqrQ+8%Nu93~IvJY!LUo`ZG*t&p?Ss#Rrczdh zdP}`!QE0RUv8^P_!nwFYtE29-Z`BcTDC)v{waF?U(N+zRxwp8TDnCPhQ@b<*=&X38}-R@ozG12TS<#d5KUpV&ef>;=^2HsmEG)6U^QiXbE7)` z?W8i#lap0G8!)U_HvxM!vI|+hT&S;JQMX3!yE{ zwE>;H$?D17688F6m!? z%+f{SGxP-ELTPR)J(=lYsbPw#Hd7SJcVUX9ksZ*HY&Vo27&NnMU{{Rt+eU~MUIXRh z`W#gUBp6YUB~jYn?EosYfN)kWreK9|7Z_gW&2_7v)mY%W^1l=qWf56OCx8=B6eJ9>JjJ5G{xhQTh(x4u5`AaxZX6nb-qmDLzii_Sh;zsk^Cn@*0dg)%FKxIpFXTm&%Y(eSt^!a zWU#R6cB`|0t-XVGf!;x*eQeW-5H32b3NC^LVru8)fq2`1-;p)?wBv6H(u0p!@EC9ZwsP(^qV6Siy#q_W);a<|4LS`r3C}U=w*GRMvb03KM?&o0Q7Ef0 zEIDQLGIGxS93Wm;5nU3}`NtnbX4dOrnQkRzx?uyExW|i(av6L)8$-=%KGX;SSQu(i zJwrWLun_3bUJsSb?V4vE64r28_HQz`HJLZJPk~Fi86`(E4HTSe4}`$*vep00OOE>7 zyx4GAZ+;c1_vIxCE>~P^!{sHNV~LnZ)dKS_lbe9`eD#?5Fkcdbx`riHytnap@r0Hv zkgrGRdY076`_1HtUDKdJd=DQOX%9w`axUvDLjjiw1!OWN!16=8l#!mS8wT;+%}bW* zA}{5omO*T`dZeEoK!Ms_MM9{wNR{&?cE^csz8ysjzcpCFOPy9=gp(^e92u8#Tg3?e zbu_r0y{4oy*BuvzU#6yJpB{~WG6Fzfo0|ac^s}9k}hkQ1P|%5+|6MQ^x)tY9OMafREMP&_+?i=a>YmM zS3hRRMP<(TMPpOPb+Q19ZYNm~XRMDIaD02KsTSCwncitLQGV0{vrv=l({- z;0#tnH{u3!1N$*~U>C2L&=7gnao=N(+VQ4=^Je|rp*HZ8-9?-_*3kVf(jUyLf45aZ*rFJ#QIyW5K=%Wh3zSaBF5lN@7J$J!a%=?r({fHxzP zgiLi{i5cjZ@&v~8JqF^?Sok+PkGw<7l2?P|wMKSU$v%NMzhkcqqbb%cX1Z0#mJ zuC@ei0tywf8@!XJ4Hs}*z|n^SITC;594$RXJx;k6MRWj`FiF=6=1@UmtYZC^v2vT> zDJCJ44~&ruq>qp$8Ji&`_$8_y?yI{x#0efoWV5FiyEt)(O9+f&F12BCN)J^LWoU3R ziIW9=1yZ)i(QP>Y@*qVc@)O+_b}0F&x2l#LinU6FwJwgcR(A6Be-P2o)~*0F*Z-B6 z>;IhpOy{_&J`!q+qe1FhCV9r2u8svn0zkFRd~vFe%uAN4GcQ;jWv*Ome!0|Z@{)AR z>fj4BZ%$D2O^y=vn0|RfCI>0oPu*)iNLU;-T^D~t41Y`rR_G0xH`EX3OC@hC;@z-x zc%;tv41Jj}~?s{FGQ5EK?9l5rcms;unPrI%41-pu8c*?5jbVN*% z_-9}QNV=^R2UKor4Na5VT7U9Yts|)ut}cO(N_@c=^sIY{Zs&jg+dRR0%LHtJa(Q?I z&q*>L1==FkNRZdu#RBMIq4qsR=K0dT^#$J)B*^f;dCeYnm={sq&h-W~hA=5f_iMFq z+K0S5Yf%|xtk8gVp0pZ<0OvA_3t@=%z4*`DD^&`^Nw?2FGCAd1(?i}qTaewVxSs$3Cjh_+>WNnk zWasewnYYj0KoKE#>e3{yM%r~og=DhcpCm0!D15LvC54A^8_Ci9p`swqj443!evfEBGy1>|KZI3aqGG59nr7IJHi5>I>3}8g6$dkEb5%pLJu;N#a3> z6~}22af>;4tQi%HF4qc&ALqMFBqymuqU>UURwq$js|H#!pljy< zDn2B1g#A>&2U`-L_{DA<-ewZA_<#i9#^Kd`h;cq2^)y&QQC^zgIQ)z$>mr*=YY>m< zvPm3nZX7=L?A9QgbmQ=ql#MZrzHxZpEh!kJ3nerJXXKTrvm|peM=*(M8kh6^3ji5p zXMV#GLSvrb{bf9?K+rtOB~^X#UxA95GGZ*CXASi(DJ_z|8Ik*})<$%%CXyJfl*=!5 zw^Wuq4Mg++k4qgO1dyTy{seXE*hLr*qLGZUw}edE_}9qq)O+fWLnrD~bDvJ9#_@5b z>T0X}AJV(zyOr+~&^fx@H_to-Mrd0l{5zD^RdZhz8RhO}yCI{0WzCQ4Uo<>u)&VwQ zW=?UG&2+N7StLK&b&CAP3U(43=jw2@8h`aS)2K+sWK}dc-0y^Pe<KQ5vAC(Oea%p(D2u-dwJ*l{1%f+8PM#$Z9?JAxi=F6uM&P2P-1c3o zR?xv!z}D(7qf0rYlGN@lNB&aNRK=c>F8)*E0PCKtg)#xNKYCLpOJJ^H{PfBAPz%G~ zHzYi0Q9OefIpLhs**eLdb6j9!*|sXqLKdT(S7%z$+Tw^;?&M_qV$Rs?$dUg&fFYX0 z&Vy$yxhy&P#jk#*9euWs)cl_-|zaLo48`WE*F$eU<~qkon$# zuS_CNc!Rg*uw-L;p3H5jCtbBd0y=fLfyY}ib)eZWLt>Xx7r!Wnwb-vvL!K4!#EQ`b zlCMh*B>%am_i}H5J^l{IP)Q$_PQ?onwS2n}7GuvN)YWBL^2j4t>e91?T=ApcC5zb8 z0^eZ|qrGSWVoG8Imu9l!%<;(geZ<|&^aXw(VIc!sgg4q`=xd_$T8tQK@4uyy6%32q zL$R{`j+O2X3R8jhIj_U`G{=`+wm0fO%o{93-x=+U92sj-B2#+;OFeuvX z`}iW+2tic~mI5!?NE|(vy%XTaS>>RwGFrSq%(a*2j?5jE`&)0Q`y*Lsn{1bBAk^VPj`T@(XV9I&BU5v3 zK7KRWT-~0v!{aK3jAEcTdJ%}I@^SJl=v%02j)+5nHdReN9+c29m-WbhzIxdL58n?pi zCKZ=?1MeF5ERLGa8Sg~($bgRL@w5qjuv6H}8=RgsXE0D zDYwOPWhDgLer=|<;jPI>O)>|&15@lK4z!DZne^+Q~}dBb>=8)a`73m9`J>rfne_Ob!d9slA zHmA`oUwBT)V6%FLr-1AUc?L`8%OdST{VpeocBp$LU$77=+^nX{duU0S-GAmOyZcsP zDBTz5JscJScVzOukay=C_lC-$y661L_6BgOLi+IT@&<0wz2?2Z3XFxx+;c037BL-7 zNQA@LLh58y^!IjcCOWP}*a$7+!oJ)3I~%e>sYx5M#_lT96X%5pBuJmBw+ig&17o$%g^M)MPn6-J`+GvME`+7PW7lHFzPd z@+aJ;&--u^u1AB_ufgBR>dc8TdP#7tN2-{R4>pJ*d=MCcQemjFuVJY2>oK@!p=mX7 z%*&ZZ$vV^MkEz?|fTu_Wky1+0KX+#XHG}P^&kwFg{5LQY5oJ z!zO;bw=U4Pm~e{Dy)arwKibd_E7-l7s>A@e_!NN-hjE(Np{#|RI75RNlSxhue@cjE z;CgP1r^J1_@xGIJsCy};XHX6;7SHGKpqx43km}2Hbq|emDDH-vvwdmb^-9aF>{xsx z!4aw#C{LTNGL$RUi+ISd}teRZBo5u z2(XiN!{lr$ZPT0+VE?(&A=4HD^WfPnhIV!OwHoDw60E#Dy#*3dOrij&-9Z_QNUOFw z@6|-mqlu^sh613=!tg(bx3%e-A8`WeLGVXy64ZI#D{O(9TPD}Wx;Vwgnc+WQnd0#e zv1Y6ai2@LB$gs{sc5Zf{V5F<bBYfRp z2Bo2=`f|HSDr3br1F#;Gw9Fg42z9K^(^!MH94+qV4fg%(WT87w!=epD*k<7P=Ef6b zfiyxK5d2*0J;dpFr67ZS>+*eR#iv5!=&37Ea)VbOj)Ztr_eMG8Rk6k! z%<%?`prRe>iDxuvMDnGL3VvWqa}p7jtrRbs2b%7LERm(tNSb)|SnExJ8GllG_?meCqhZ^VYQMZYds59gz=Ph+#tY<4O)zNJ5)ntp46NqV`z9#(rI-_7m)SEgM_jV27J{ zDC;kf%}|-c&pw+z$8?Epkt6jth7hhaqTILg?Eb^iT`-6ZTkXPKA1oAeZEe3KYMgE^a zzIAs?AP@anppgK1WV{CXw>;FkKmAgW7t>Y}$g^}KG2Bn!h~WPt$gevT$hX{-407#= zf20*WsrxNVY$!*M$UGO=sQEAeVF%VT>t$_Z>}#)*`IJKzZp`!E;ozKX;Rg>Qtk6iq{XGpXrfXfY9!V20~MraSwt}$BzKQi&w@V6vc4@2;DVC zLumDtB#u3{We8Qylj;cAvO&7P38jH$4XbSC-<%}HP_J-CV^a`?UDTM+^Eu2TdU++{ zdDoNpK+PedFgm4V$t|>1uq!UtzDteE%(TNmeq#^hSwM=(v!$%PS(U#1e#&BRZlP) zhKC%f!+?MaSgX!Irk!Y0lV28)*7RA^XQg_b0mzcrgfc;fREcz98CuEGEa=X(0)w4A zojgSqN0l7R+&7Ws>vY!7*IR9B1{ZYkK@`IcPSulCi1t&DxCxHVQ0WcAV|ZrV$9I9) zOp{)xrt#uq&0W6S8NV_^gFEH}2GkWGWf+VBQbxlRyNX`(&x36EF+Zm=2q)^wL$SK6*ta&c(Q|LHAIHy7P!1 zBoZI~SzykrV*hFoJ=pBJmuS)*uIp*taTw6>ptD2Se$5bsNLjHp_zI7cKXu3 z2Q0KhTTEt94mvlF1;YdFFQN+zhX?MuC>`jPT^bm7QHGkJXWSjCNS?vsdBT<1)6?3J z)kQ6K4JcUWvyYlCE4t9j0$^FrX(Nf=1dXpKwRJn_URl`kmE{uICFp)IP%fT+ zTygQ}je+tu|C3LFphUXG<)^{*#sv=zzXd8o6hAkWP zjM%_Cs4I4o1p`TRt)_Sc^q1KW)4>u@^rj18p_kc zMm-S`d^D<)`OddG)t#3}cYA+qkuk_Zgh-5e&94?n$Q==)*I zz$0Lye0Fqn7AsDPY&-iOfJJT0(1190VFD1>p|j{Vi|Y{CXsPvZy;EBsi|NdHUOBNk z9S)GVa?_hbCNL}uC}?SG1*Yd%fhjJeu4RPn7iyD+L8Cg4Ml=lcN>%;&OK4HBdOY6+ zE~=Y(AvP;7GHM+#`XC#t9yN4XZ>A5i#rT-9*Tp<=iY>U<1x=m3P!s1lJTMC!C$)>G zL9$SdQ)0}hiZql+Pr*`#RE!vE(00qwESPQu8RH=kU=#Q#T3lrtjz^1sE;4I704^3` zkzqtA<$Vx|o07hIO1l7&Re-%2$x^N{zR(8>xmRx3cvZ7bAVTNk=vyI7Ol^(;;Whd!n*Gqx&WPg`Vb4rRcFkk>}FwUg%3 z;$yYW_O+OR#fIG5J(quF5l+;XmSHK&RIA8H2%{$2Gpn2EWlnPevR~)>NU~dJX)zK}@7%mTf<1wD-O?ilLXcx*%**N+X&U1Bo9ZoF(jFg46@b4IUMo*@}N3<0^f2Bfi+o~ z+^h`RSA_J?g&7t-%q#0mTV3q)J~smq}l1)H-VAOc_-i55lZqSLbk9^p7v&fU%yj_Nk%=WOSuf z>TPP4o`fmm3trGm){AJ1S+XVNp6}>QVu`_r73^L=j0Qlv3hFjFT|Cg|HSoDkkK_^A zt*`=ZNmxv0#DHc=LTuHz4Oq{A>nx{`kv8UTn?tIs(y)a^)j0A>XR_&(Uaf5dffJgo z)+{Yr28nbj4EI1o6!eOVZH=z7=x_F%OZHXiv-3}T^WXIyzxI&h1{tjvhq8{Ii zO!bm^ajNIcOP2bZd2y*fnwJ7K*Sr*|`^-y;x?8`zQ3g3$!T(nB2tG8I|J6ya$`|bl zNy2=cAeyH_Bb5ZLUFuzh@Qrjksjt7~XLHKUG4r(-&vCow2m|6f(7HF!AJ?8C>Fi#n z<6?z8n~{kv(}`ix$zEs{^o53&mxTjLc4Z#ADDEzSyc`^tUAT|A_-*mq;t42OMg{T; zcpt-a49_CIAs+LJC_bT5T%3nY=I3M#b0v6Q<2`e4nG6V%1g|oFUKiyW$CH5jLv`~X zq>DS$bvz-w1!|1`uu~P74^?WYd8t*G=oDnIJXuJ{j7P9fh$%mK>xcQMto5j>Xy($Q zH}I6SmS6dtfEyPSSp}H20KQkE@cV+#%;!M_xfcZRdj2E?-j_;_%urww z2HLEOx{50@X3cgHe6jnh9A+SbpYe7MZ-V9HWloBFg5&uV$jcB+<4mWqtvc8lcfs5w zpnKWAkYDjZYN$5}EJkc!$hCIDTRfW)1{Ju-=Yo!0>Nz{#W4eMErQBUW2B>95ftq7y zm}WBAWOH{B8H&hIq;9q|jON*lhG?mTd?n;7A@+{x>e)O&U>Sf1fr4Up@C89}0)J~> z)Ep#PY@SP{3B!RlWvGXtnV&@-E4Usim2*>xCHRogicK=gjn9tlKi3NRJY+r+wV4`|qytWJnr3jMf14DD%E<>O1m#pOnGdMqwzu3H9`ZpzV*@RF`u<0{0c|PPdHK@2EoPxpk9I+ zQt-vQUtzzcN6G2>DADW8{>H1T z2Od}9K2=uZ#^b6w*G3ZlYgOcE<6nKS|Jw1!txTs=kemR)c>0UTcQc$x%R?z z?aoDyuy=T7B>8qpFRfsQbss=RICaJE&dPon5QO@kL|*0B8e)eR$rDrfV-xU|WK*Mb zdVB&FTBhhXkC8pxjr#2mm+23>K`yrFt4aQf%l+M~zMO;y6r}_KOik_7N~@G@~-!QW!3PelUn4@dcBi*0S%4h&{c7th6FBjYw(C_9$3Me z1IfaHApGwzcQc|+2~x<#@GX{;{d&C|Wxqfi+SGM=ob3`8>-c%K(7^Ef(9Bo4tjWZ$ zKo)R#|1XtwsrZ9lYxH;ajI-1Y)MA{o=y+jxq}@q$c9(c&!InOh(~QwhM>lS7adaDn zCl$U{>G_~HKX7y}bu?ERqBFXZ>U2;imFK99MEvH(rB?G|?5etzulOmTkfi}AcW3yh z%@-_`=G=0c$d`?&-{r-Xi$&9@UfJ5IOL|}$*9+i3n1-$7BWrrG0bC8~{U2-Z0vKg+ z_5Twf5N>Wz(Rjn4QG<#mYLrx>i6pvR6S@`GR|oLr zxzQ2FIxm5iaF%ua*jd*^{>{jl+w3H{l|VeYvzEwq9K5S=@NV1|iV}WP^G0t@@F>bK zEqC_P31CH;=4I|ch8>v?Wi^RdCFo-R;7y!ggrO{XkuYM`K>{rQfG8Y`(E;BtuwC29 z#dZz*RzR)gYv)V(qB`C?|LE}R9cyZubBAz<6@5!+m3aZF#)SHyr9KDVPkh#P(C~{(C zhK_9=*n=R>^6w5OtZSlDJ##) z?3Pm03rkj0@mZs0Lz+Ic5yl7I=uJtM7u7e3WRp`Ty1_6z$lYX{z1_`l)5qQTO*eNl z)^spyPWcc-lB>Tz7<4i*C;wP))Ko(kx16e$)0;=ZvDtyp5&pCwP~@o8&QRK479VD)=+oOB6(P;fB#M+RrEl_tCbJwo(-_IN(<6tQ z2i*sj0Qiu>S7%51&F$`m*GWuf+sTn*&16?&*Un)#i$JlRO@Q~7tGy`@R&x4emj5U9 z$$c$DwhySjjqRoH?5<4ikERD-+U=#M#x=>T_W#}f(rzdly`(d_uer9RvR8TRT4uAvcsPlf{47wnlFvBQrR!&iy$*9aA0qxz5hJ-T zf=AOp@}9CwJM#Ra@=I?;>$7WX!lW;E5VuH27o z7TJCbqczM*YV>8U?L&BKZSR-#Yacy-g1Z2d0frU|(W!eT!N^|zurIZ*etX=J#g9Vl z9Z&-2Eduxg;caBU4AeCVH0BZVxmO+$sQZWS-grmqT6t63T-g^im>j{9VGiN43sxW( zwwzGE-Exv)#rc1?8%w`9Rql0Frgmg3rbxqT!yUKRV|h8rvyad)S?6B)UPMSmpyniacP8ZSQyTSN;k zp{(gkxBcPtvnb;bocL_SuAg1#KFiT(Z{KD=%i8_30lR)y{FH6&pTrEBhumke<-4`^ zDUXsmFpkC&*V+<&Hqm|dV#;TukM3lObp5PAdx+mJ+u$^b@>qo9vfcXy-oeJ@u~)pe zC3DMAQ}ni^zAAoKU6t1@5pr3)_5I>%j<`v@4u+2}aV3}qq8IWvT_fjeL7ka2tNzk++2Z9EZ_ z>KIsg+*nyNKd*wRmQhlF)_J*+&(On~Bk`f%nqd>maieV#gg3CIzy4AZ&7jC6WxuPE z6&pPGHVDLQpREG7xGV@d{p5XJwbHJS$Jj6RCA2h^mv*!n+LfnuV4+ z&b^*tz7+_e#g8ZxM{D|Vrzd`pZ;tp*r#N!@6G??`cG^dx_9u6({drgWH-tf&Y*%|- zYV8dt#%o9Zq2Cs3S%x5XRMQ{_vtR@J!*3a7yYw71OmDsTdyb5x3ow$-0VVg2-x2Td%^9EPuaoa9B2d1~@Mt#{U@RTc%E$x5;Nw4Vw zuRxfqhxpy0VA7d;PF}q-%=glWxBcJ>Q5k~m#d;YHk9cG-WNq6OCNa|u8S5ts!L?hgQw^+;4v;{1?$T8DED9L zU8*~(l4xPRSwgMmOZp9^PN9s)m^KM@JUm_W;1>SCr51^vq@Wp>@3I4}0}idt&z}i7 z>|y6obY`}7%W4tui<{I?n>nBJq|E6Lb>{yrWL%ykv=2^iJE$CZk`_Z0npAv0j zR$i~~R++K10sXREXu<;(0S6%gHcYv5*F@9^=o6JVdgu@Z8QFF74r=N@vxC|jM zu_1C%9_xxL*uG=VvWUc8v4Lgv>8pe{@5j&CK0s~kb5e9YE9ecBm~c6f^ZWDho%*;h z9}~$f=P>6Lei12qo+CDWOH4`4muc$n%Qw3IF5!wZFB_sUS;J)6&(_-eNja-ZbKLH< zNYTku=#SQAq2v)f%Dxts@IzW*O&MA$lX5yrtAjWaoHlg_=K~#4_PvHSDY#w*-Ok6SDHsX8S?{OZOeF3!Iyp8s|FwE{^>Bp>I?6C$^BFKNV0e>h;?QzT6%ilLq zBSWs+Yjqnrq{nHH3`9^vm;KSDs?_u#PEl;LgWL{g!~KwOv|xF)6(f%gv&9wkecLsv zYn2&DMe^`PCeAY@1DqV0b%?G6ZMX^_z28;%fW2;mDv4i~mYt%C>#?7?aj;vw0~=8zbz#rBfroo6xf1nC?n}!FV@9?M)Ta z2q~;3#laGA%`uMJ@KNqH>H$UDAlome^y}t^WaCdWuC{TzGm!C9I2CSsod1GLLki9^*_dxn;{u6j*9&t74v_KByV+DDF7VAini7Rsu&DZNU@ zQpE1CiGC+k%vZaB`h$_h85*pp4gBT!!{H{)h}eowyHnk8 z5##kYhzST}BD%A@MF(IKvx)vvCsg?|qr>gxKEEyl&tSqIg(v{e6S3U8Kof17>7&lREBPKR_~tTdR^QLjnTTH`8K<`_ za_hx$_6o^>W4G~5R~DY2Atv_NvG6>i9w8kP33zz}l`7y&L_t}DTT0*ZD%+~6nS*%eD>Sb z+$MRX6gf(n6J5GU6z3w$q0H|dBfIu+Gya97Jo@8xj%F_)={NES!po|d$$&7UT6wf4 zDUUAmhd=i-=|@Me3rg*nwgp3a8}V|7zOo$*5ttcSYykoqYM956)(0at6Em9WFHAl| ztI)ZR*$;!G-l0z9@Lb%sk}q+E5zGpCvtJm%0fQcj{mhb@Abc zo%XO`C~1;?1(uhp5KTacAC`0~-qNaF-+TU<57W4=!*f5fZi zTT|!?`|2Xl2L<5;72*z>)?Mt6pp9Yv_)m#pj!hLYMiw}h&?v5ja0vrd-2fH`k@d6> zKeDj+>b|tqC*jfDg9fUm+ybj53W3Vx*xugLfq_p_fE)B*(Vp^!T>`-TkOw+gL_00RCX`-l7x@V&U9$j{21-JBK;%@2kPgW(%kNWBb)Shyrh zc>V<8PW|&uFYraiFkh{9%xEiFWDHv0dp7&~Ln5#+yg~{|q7wK}TU7ngn>gO!2c4Ka zBh!D)TY3KQ`TerVY|<|m^Qd2*e^qI};l+Gv?S#^P#fap!?e}1w5>*{YY*sDP$-C+z zbCdb~BT`+F)!<%RA^<|%)&3Aq8cYtrO2Z=p5VLr6LaXw!c(0BX{}qTUdn{(R zd4ThMgJ~;ClAaxC1RVXD;4gf=ij0Hjus`AT(2!RGg|AfZ7btAjp7C?G1^ew4?01gg z@4AXXoK?uD#nfB*x)P_fhPRh5CuPz1yPgh19JTu9j|}#w>;%j{!AaQ$V0SwKr%VFn zkr`yq=1}K%0ES`SE(bw;m@6rlY1BS45fG+ZZy*DTKihYJ~oEi4QZ9I#KgHK%Dr zaY^{SDaB(;eWhCfU=hl9qnS)kA*5Ct!>a_9S+b_JulPc{uXuQX=ml*oP6yBI&ng{} z%}t|ja?h%-AeT4s^!hcNR`G{bE>wo_IqgGG1H7TbtVYph@Jw}sh>%PQ6IU z?~N&Yq;q_`htUfBdD1JMx#53EXhX->OJe&8xld{FA3MDpCA^aC_E zDDP4b5}%LfPif7)NM-3q__9YFjSg6xAIb zv%+k^Oeqade2i$*FO;O_3|VzkX-8$4TNEX*8eKr!c3Jb~1sUNh4))$gsNwmai#W=v z5$KCz$6AdJH8xVU2n{8}91T8|m;E+$@~VXpMx*y>nT~Z{FI{sw)#C&RwaH&0`!u{6;!zpzX$0Pw(zJ}on8)hRPs89$)?(eZoS1Mjf$#_?4sr}v zW(a8vTo!rheRXF@a7Q?NtY*d7B;m#0zY@Kk)9z#kXr1UN1mLbL?KY*7uFTQIr}WV} zl8Z(im%^{FPILtRD{2(q?u2hY8LF67(%-|kE+;25_*y@Yc*55A;udOZ_1kE!(44Wut+V$4Wy?D&9eb{jdtPbpuU`+_U%z{$ zc6CLszoa48`>V#iII;MqeiHXym5wsXW1$|-Rjp-?c*-9_l`_2Wywt2f{?4}q*{zu~ zc7?3Bzq4hU&!+b|wZy(=4Itj3WX+@oh=elCeoW|!!P7dGLr;0^PWadL@^mt#0Dvp{ zXS_Obw|BO8XX_K9&3rLJmx@vs&X!eEr`ZADzOCe6? z3ktHZNH#JNk_9fgAV-^#LnZT%tP{tyIoM-&@QtAMy2x70O$bc~yZk=;X`o%Sp+9^! zvUFrtO0VO-duW4&z4sIXP&hqv_A#7~9tg7mxx-{$CUR>t8C>oD7FiFtm_>CqP{fU5 z0wZ)R!>9-GMw2M^6YmvI!YJgaXnE}EjUJ`eWOuu275-i?j>+o~W3jhJm7~Wq%uO=w z!@DQ)u_0QdGQEJVyP}q+fx?YwVaM#={=)aGx{D+dWBfmUuzhyQ2fc$4mVG1Stv|<} zgC2s8KyWbpo?Gv;)fT?5hQ3LD7w?6}`=@AHJelF|WRt9A3{_<5n6*xkGOwCgWQ&82 z&0f~cHxR$pgiMbdlgR9Y>KmtGQpCZl1N?o$rnJF2t0);l^dCj>Os1ZPFdaHgQ9c9@SZbu{x1R|(!G z{pPhF&lY=^nm`}QvT?KWsNcQ*m&hB%4#^4K$e z*Xw{*iC-rRlG%DeJU%9|9Q*9=(NIzsxpE_dt6=rd5yRbR-ycqoQpV%;l^H@nWOvWK_yMuGGAh-J3(xtNg`Qfb|qa>Bf+yM)5+@A)I?#okw5 z@OPx>c>7I3mcF^kA|U->%6NdV?^Pc}3$k>H3>tETE(3nX1@EGRWY-8{Qa-o{VzUn= zKr9Sl4z^XhAY!fDf{QrdPHNf6V^;h-jrkl-WBqTm9UU|nov*;r(wuF`C%cHI^4JR$ zw+sND9u;&252-KHEp*N8c>3_4ZrEEE^(1SU#nFQE^>JiSIbS(gbXpqvq)cfG z0=u1QeuKF_(R?CUn8`7{RNtp!s-MGD|8oK3RQpYOHf0>9?50q94_kg74F4k(ewFYj zEWk_@#w=s+KCtmxFo_p64A{$ZhOufbyO7m!qZR>cit-rm$Yg>-3op{nRN)t$@ zFKn#EENi7F^rBMX7%ZD`k_g&hHl&gCWd#wHgSY3(5ATRyw#gK4j?s zD39NpDYpx6RrAcw)vT;U3pU+j`PAI<-i}T(&_@eCLA9hy7XFDml)qqT*&_Zn@pc)- z1(F%1@=D=0&pb~}<`-{Sztr6XsKotJAB+_nEcdVKj+*BD4rj0nQVSDjurP7P@OTy* zA5?7WE|#wIF{)`3rFZcrq*6+PNDkjSNhAtTvLvFlCOje{k=y2266tSyNPeYvcO?-^ zgLVO51hR!@$$TKMfsU=QcIQ%_q4;AoT$k;~0O0f?Ske^GGaf??9cC!^STeF z)vf_OS2A3#PAm!8Lf%{R=bNcCQt;Ri$0qwSqyn8(E7k4E$>acaOnA* zubu^fbz3VB2-Iv&n@$v@xbKs|oL7ag*er(Lk5kdyWt(NIOAR;5#V}`ux|YCbveyza zbG{~J6NtwnbBm7e+)7cKK^Avwmf)#3Wcq5@CDzSz9QdOLr{Ue+zo>P@f9Nrj&sk4xhnG4`aHeI#3~=HV+i99qMkdx_ zg6XO*Fs&^~lsBzs>E5o##Z_!m%eUZBs7lc(;zmMJ$c(0d96k6bn%KrauT0Vgg&5y& z)!MS~t0m3b*bi6+%CNug%iCClb@Ld>7rd^=H|@iXQu%4`Lhn7cR~4oOG&xZm2?cHAw>XaxCLRU zJ^-LRd%3Sz7yL)532uVmd3Ih~U*vVQvfow_(X%fL$xyYO~f-1nzveA~-*2az=(5;)d*g}J? zv7Fu>fD0(m<YFbQ`=9obFpv9 zdt&Ej)`~5|1}Ggnw-F_Rui3G4h>GUc#V7(v7%s50K7b_F>AT3{EnHH`0e0Sq>)g^p zv`z#N4Ce*IlNfxajW&;)C5hnZBO27LD30wgmz-12%ne{t;pBR3-f`l(WyuCCm5@165ATC@4RVRAsM%?n7EHz410lzKg)pP8~ zTXGQX7yOJD;kMY2eo6qbq%Ec$Z}z4GMz=Ra7HhE405E_mJ(~+Sm`ZRP2i&?@GGcz$kOm?F?>y%ktX^#Qc1 zhz>#(=IOF0@kI>Ue3Lid`E&s85P;h=)@BgY5yu+(%36d(D&iyx<_l>ehJ+mO)&5Ds zCR$MWxkXijxwgpOtToRCHL@1Yn0D@zh5s`KTIfP520ka;Bt-nW#Xt)c%&q%?B4A*x z?X!)J00XV|*L~}B`AG~MM=YT9BQS6faP1ibH$3#e!oXr+0|PVGdl;A^i6&wEEE6{v zP{(5bhW!603^Y(M6$4)q&yv8vN-CIJ_bf%gz#?@vvQ!^{fra*RU!yKRiGgE(lfb|M zz_n)#TuSq-FpH;(F=+g zXJMZt}oswe*YaVh$Nm3X$HtoIRAbupF6)kvjo!5^B{g%2VVYKZ$hVgg( z^#ql+rYW0=0A;JwydF>|3ueT>nv(j}D}1H3EJ^NXC@4^{YA~J6g&%5qBZFCoxsx}G z(xhbANWnI9yXy30$Zb@iO#fJ%f#{{#G6Sx#HMyvbAI)CziZ+|mcoB%)m>r7Th$~3T zsrBZbdvSoQHbGYC2guTR0$j(c)3NcR`>H!HGkW?n!QcEDuJUnxGj*&91*u%LatYpvA?6I7R2c4*(-(RDSPIH^ z>BnzNT|e&Us(#$fwQE1B^hW)t;Kt11pZ~Ldj0EJ}`f=QU>POc>_;{oP{zI+;ehpXE z$3)he9Eg|nRvmbb8`H!;T|1x|qGL^92tjMxhzbI4rLPVT`hLG{#%Ka4@&ebq#aLu8 z7DE|}jLO5emS!ZzV!v1oIJJG?bap&>g%ueY71INqt89HgB*vEdewhBeSY?4ILDw^N zeTL`&GFMe)1`4aPZp_AQShqI_fYS8B6kfyR5V7~M?X<)?lJ|<;wpr$jn>pQWKXq3% zj-=+;SClf>-oR&$SZ!ROI|v8LUWg)vh%n}nGt_#g`5jlG?tZSxao3wVy%E}Gb7R8% z1KJiQ>G!A61_`I4O(dKl5>BG+z}P*A`-2fR-vd6xWViL_!?PFCltjn>{LW6reH1ew-qSs2ssJ%06`%popC)ljDk6ZYS#K{ zkATy6k;i>bcOtDfS8-wIX^N0B+qjr?J^OFwkl|hDkb%L%5&4z<>>T2&oBPx9^-XV{ zi0(d5+yDTY)vo6%xUP0^O%PmD_3ZyQT;E#pw#WJF&0Uc6MUew$Jy!wqAy<&}HW#x_ z&$ocVRl8=ia@o-%|d1eLF@*21&ge)mB_j`Q6I(}~aD zY~E!wEM>fDhibEVvslnPBgv5v=))w?C6a?t`@&3`D4wzRF$KY^rif|^x3v#((p?oG z-48LnDv<66sl?=XTNAj6{h9Afn3(~^#mXtRuu^|qHCZ{rVP^$bVdo{TU}rHG^9ui< zRn9#-u7v#WaPy9(p*`aUIap1za0q@h$?2QNh!dt(|FoRm^h*htJ<4fhw31mTEcb+* z9xMG5DnR<1FDFG^4(y*YadGQTFe!C3vCdXf-`rT(V+7nFzFC_KT z0E#`#-**Y;x!wDlT%*zo)dZRbA9z8%%_;ZgO0&^g9G*qiytkUpJ0;YKl~`r6g!$F& z@E@^y@`ptyP&ycy#FE}Wk>v9$E_B|A%GMw;DZ%K{Y`EgZCd)B)hWO2?)KFs|cdOiQ zYh5ny*|Al>DYs=yeeDOhFzi@)#<-(A=39iLjr2Ebuk z2zNYkOf4*>n*;x5=M^oEutem|E91Z&^NK`xuy9A^HNnWRsp)d@5rYVOF)XcSIAs*r zxXJXTA?qsCIU{TiWQN;pUZ5P?v(^DBbdSPbXSiiQg=Ock4Vf2u3fp{jXF})K+3fM^6LDeV*U*l<=JA{{+jkQ z-|Y+di~~1{W3nBS!J4>0FrzEira<%1bhIee);x&XYe4mUCTR|o;UKLerEgeS;7&P- z*bRD~bZB4@=bP^eHJUbXz-;6`7%959hx6n21R0!E8D1cvt9hlc*;g|plPa}sZ1OiE zJAV(m|IQMvhf}j|c#>)>2BTB~5Fc=i=&5#b!B^XAwXl(y?SJ$wv5p_2rx)(1e5cxa zlo+DbK2gA8>-UK)XaXG=uA+XZNH#;fsefLqabvw&>Tvlyr?i;kpHPVf^BKi_RMG05 z#lCxSkgfGcEj5}tYNx)1awxxW8rAXVHfv$)2RsGW;99L}@zri)od!VMqF9}l!K8wr zf%0wrwH! zA-u}1v6_>?oL%eedbTO{dp6^Wzxu3PnrbYozdny7CHWGX<^;ac448k1^Mb|qSZc+? zZU%Wl{%Nd%h1T6YbsiJVqE3Yq>(m;%@=|v;y)>Vk!mv@{yIc_>EyRmxU->1zT6rOe zE!X_(Ej*Yr3tZt+u9_W2aNSzgn&vE0RdcjTNO}+9#vI2#C3DY>&&a#D1>Q=y1Q$* zQUKpwl~|>A*3P()y@q*6#iXV+4DgdCVe!^gX%z>?#v|x-EASI0;ix@m8WtrVOxF;Z z3pFC)rNs~@!+;fin`cGu(8xxg(F^mPEX9Z|6vJcfS~B`{a$<3XB?yH#w3$ZkrS;jJNR{)h>rmtXRQG>>qp`cr>CVZPFU}PNsdx1w{bF<@h z39P!|P(l3|L>j7#oA}IgW7wLBf#;kv%zbu~+*b2lgM?P6xx_Mb3qcQ!G-SK%wpTOV z&w3<@!AmZr)3s!(lDv#hB=?9+)PJtto+h06(}1GlGLFt-Xfz?aNh91w9F_Uw2`oPs zcKB+R_K_~L%2&OFo1fHudiiRf2P}P2`?)oHH~F0&)czzBjuxw8Z`tQl8{!I)bR(3a zOK(Npi7XXLFhzXTm(vc`cH9u(>AUL}YFR3r3~|idqzS(HS*t45`@{FCGsGg&5K5C7 z#<*!cR^DQK$v4w9V^ePi#Rbwu;&dEQV}QBP%)Ir4WJ{x!d&{2u7|=%jL}Rw7k-}v(tua zSDh4?aNRngB^;H?2)3OC=#-eS^=~V1rM|&drf4`#t5&%Qo;rybt}rh&9$lwiroM`_ z4AVYDAfTh#P!;n{o;4*=1wS7lU(|=@(4$4ZgsRTW4cYVl;v2nRLbG^MJu`HM!iF0{%%@qSBG&g(W32Y5^ydMoO2<3%g~;SU>rkG2<*d2d?>t zXRRL;hp<2J0zNEdUtrHU1 zhjBxdo5c8Pzox%%R@RNj);39c`0Dyo1@nkrny0a3_0$1lKZt!TinLx?6|wWlIak{G zWTR#srxswSd$s3+dXqCuxGK3+I2z17C|PR;ag#un-t=^DIG^WOkd?u&|663;g{GN` ztl4t1{S>mahHVFc;epqP67avh-i}kB^Oq0T2x(-3;bSxWVO-#)^|LcFSC-;6=M{DW z0kHc>v9(#sbc(B%+r5kz9G0T3==p2n+8EI$if(Fh+E{g}HZ}{vV9pg4F>YsZjXlqv z2=Lcp3iULyRLo&sI9|dPi9TnA?9!x3>1L8N8??&^paT2mlWpym(=ugEKMFjUVI zwP|kS#@xj}{{?!+{lB57Ka^R9DIG`8kN*KZ?fuo~I2Q0LTORyjcOHBT9y|#i1mUIi zI5NBPpfrC7cITDOojO10&PNRl*%Bz+R?)vihFvfA zOcb}*LL!-f#6Z|@hlV&QYYdwg%9~8i0VqPb{K(~DZdp@%f8T{<&*6CAfBG(5;~Usd z*{7A6GZ?-iueAP};YfI4rc1zgSI1?y@+PgLw{HilR$n^ z25RbiTlD44ndGlPAr0T0jZ(VCK2w^HO3y)8H;?|1N7fXm0s6c{lS-s$AtlX0w$Y`w zZWnL{Di(UEh*+$ei~b?ZOkAr7QO=|;x?Uf?CnQGfhvs2h;nFMsH21jsY~9~s@2w9F zX*5rQcLtBV1yyskUIWi~uI#A>dIl?8hT>V37n@2D3k4fsFj#iJdGrRSr^n+`e02k@ zuxm4a)DW^)0H9&;`GN3huA(#1X{yjQ$YW2$kx5s}K=AJ)T&v%^tA?Dz6U^_(O+efZ zcoIl!c!{Aw&<%#hjl>jr*k?SxRs7L9lR$~D_9)ru9x8sVS|bh>ce;Cvido#F6Xbyw ziHvLYigvElV}KgR6*^@VwK5N=$vi}6MGqZZ=Yf_yl`HnjA8W6~oN`q?2Xl@63^?Lz zwMcu7qUQmvwgWn~J|49b8vw*V8MR{r@`m2m%13BJP4;4w-@ws}RB5yz??tA73kOjP zjUNMMZ8*-oRLel-61uonlRr(ajAHhb6ObH&bOI@^we~)z0?ZT zrS|6+<1}1ot?wO9 z4D%X$ZR}Cm?? zUL|+CO1f7tu@l`^^QwPJ_mWF3gR$5Q;LSiU!-h+d>7F#AN`i8sQ!qVF)jnV1IcOP&di`if(h4XL&95Gxf@-YTMb!-?L0tuxg%_G$4}XqMH^Gcq~xo2 zhgmwNKh=*PpdUeUz9nUiSP#L;u_lHSuBit0v!f>+7hkmSh5W3y*~I9z9zs7-OSBzmyM!-06zxjD8)m{8mTFZ<kOh#LrR(^H8_IEn+*aW%q+^cOr)mEq4 ztfH!5&VQSu^Ljvgl|-Og!NSN|vBR63e7&hSl=*u?%+24AsXiOQv{1c@&9)>Vt=Cod z$?^7+>{zpv0&V8%E&$xe%8cm=00J77!B=;y%0(6kH9UNFAbLW;d za_Z*Fku2*tVllpA3xNpAJW2cN<)~{}@S`$3y^+Ne)PBUOtdXdgBIu|`sPD8!yQi}F z>TnvS^k$fP^N?5N7l#N}=?gZ}d70SJXEMa(*pL$rk_B*y+P#EZ(bjoftE(Cb7>z+v z`JJ&%qAZV^8mLK3dk@#xnx#iy@sIq;0_Zr}uu^9nlLce<=>|7;hp9J?0#*H+&!{m+AxGJPXbVQCE;2oj z5_D(-Hf*aBmsN)uIcZn*sujm}?4hlKu+5A;P5wgLmOjbJJ+N3mg@0rIoo=TUMfOP3Z}lhTDi2 z@#sUoJqA@@;>55nzx)FnjU3NaeKbdMb5%`MOTy{UVfJzFT1{VW%>MlIUtn+IZrFoa zO4)^ *$);9U19ynk+ZLM=pNuJ$s7JdjT> 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

~kIa1IR4I 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

cJ7KcoNJen#JWum&Bkzwm6R;B) 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%0Def{zJuRuP6Hlx{=?n75VRWC%-)V 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
xa%U(ZVk3!7jS@zHR5` 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

c&=XY{&Q`*Yc=6-P># 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

k#KUj9GitoY;S*+MjR#V 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