From 319a3d744bdae2484a738b021a600ff6188fbb84 Mon Sep 17 00:00:00 2001 From: X1a0He Date: Thu, 31 Oct 2024 22:35:22 +0800 Subject: [PATCH] Init: Initially complete the basic download and installation functions --- .gitignore | 5 + Adobe Downloader.xcodeproj/project.pbxproj | 341 +++++++++ .../contents.xcworkspacedata | 7 + .../UserInterfaceState.xcuserstate | Bin 0 -> 115369 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 6 + .../xcschemes/xcschememanagement.plist | 14 + .../Adobe Downloader.entitlements | 14 + Adobe Downloader/Adobe DownloaderApp.swift | 20 + .../AccentColor.colorset/Contents.json | 11 + .../Acrobat.imageset/Contents.json | 21 + .../Acrobat.imageset/acrobat-pro.svg | 21 + .../After Effects (Beta).imageset/192x192.png | Bin 0 -> 3585 bytes .../Contents.json | 21 + .../After Effects.imageset/Contents.json | 21 + .../After Effects.imageset/after-effects.svg | 36 + .../Animate.imageset/Contents.json | 21 + .../Animate.imageset/animate.svg | 1 + .../AppIcon.appiconset/128.png | Bin 0 -> 68996 bytes .../Assets.xcassets/AppIcon.appiconset/16.png | Bin 0 -> 4430 bytes .../AppIcon.appiconset/256 1x.png | Bin 0 -> 265620 bytes .../AppIcon.appiconset/256 2x.png | Bin 0 -> 265620 bytes .../AppIcon.appiconset/32 1x.png | Bin 0 -> 7502 bytes .../AppIcon.appiconset/32 2x.png | Bin 0 -> 7556 bytes .../AppIcon.appiconset/512 2x.png | Bin 0 -> 1052100 bytes .../AppIcon.appiconset/64 1.png | Bin 0 -> 19844 bytes .../Adobe Downloader - 1024 x 1025.png | Bin 0 -> 4198020 bytes .../Adobe Downloader- 512 x 513.png | Bin 0 -> 1052100 bytes .../AppIcon.appiconset/Contents.json | 68 ++ .../Audition (Beta).imageset/192x192 (1).png | Bin 0 -> 3031 bytes .../Audition (Beta).imageset/Contents.json | 21 + .../Audition.imageset/Contents.json | 21 + .../Audition.imageset/audition.svg | 1 + .../Bridge (Beta).imageset/192x192.png | Bin 0 -> 2762 bytes .../Bridge (Beta).imageset/Contents.json | 21 + .../Bridge.imageset/Contents.json | 21 + .../Bridge.imageset/bridge.svg | 1 + .../Camera Raw.imageset/192x192 (5).png | Bin 0 -> 9960 bytes .../Camera Raw.imageset/Contents.json | 21 + .../192x192 (1).png | Bin 0 -> 3041 bytes .../Contents.json | 21 + .../Character Animator.svg | 1 + .../Character Animator.imageset/Contents.json | 21 + .../Assets.xcassets/Contents.json | 6 + .../Dreamweaver.imageset/Contents.json | 21 + .../Dreamweaver.imageset/dreamweaver.svg | 1 + .../192x192 (3).png | Bin 0 -> 2990 bytes .../Contents.json | 21 + .../Illustrator Beta.imageset/192x192 (2).png | Bin 0 -> 2990 bytes .../Illustrator Beta.imageset/Contents.json | 21 + .../Illustrator.imageset/Contents.json | 21 + .../Illustrator.imageset/illustrator.svg | 1 + .../InCopy.imageset/Contents.json | 21 + .../InCopy.imageset/incopy.svg | 1 + .../InDesign (Beta).imageset/192x192.png | Bin 0 -> 2454 bytes .../InDesign (Beta).imageset/Contents.json | 21 + .../InDesign.imageset/Contents.json | 21 + .../InDesign.imageset/indesign.svg | 1 + .../Lightroom Classic.imageset/Contents.json | 21 + .../Lightroom Classic.svg | 1 + .../Lightroom.imageset/Contents.json | 21 + .../Lightroom.imageset/lightroom.svg | 31 + .../192x192 (1).png | Bin 0 -> 3735 bytes .../Contents.json | 21 + .../Media Encoder.imageset/Contents.json | 21 + .../Media Encoder.imageset/media-encoder.svg | 1 + .../Photoshop (Beta).imageset/192x192 (2).png | Bin 0 -> 3215 bytes .../Photoshop (Beta).imageset/Contents.json | 21 + .../Photoshop.imageset/Contents.json | 21 + .../Photoshop.imageset/photoshop.svg | 1 + .../192x192 (3).png | Bin 0 -> 2564 bytes .../Contents.json | 21 + .../Premiere Pro.imageset/Contents.json | 21 + .../Premiere Pro.imageset/premiere-pro.svg | 34 + .../192x192 (4).png | Bin 0 -> 2890 bytes .../Contents.json | 21 + .../Premiere Rush.imageset/Contents.json | 21 + .../Premiere Rush.imageset/Premiere Rush.svg | 1 + .../Contents.json | 22 + .../Substance 3D Sampler (Beta) - 192x192.png | Bin 0 -> 3568 bytes .../Substance 3D Sampler (Beta) - 96x96.png | Bin 0 -> 1836 bytes .../Contents.json | 22 + .../Substance 3D Sampler - 192x192.png | Bin 0 -> 3467 bytes .../Substance 3D Sampler - 96x96.png | Bin 0 -> 1793 bytes Adobe Downloader/Commons/Enums.swift | 439 ++++++++++++ Adobe Downloader/Commons/Extensions.swift | 238 +++++++ Adobe Downloader/Commons/Statics.swift | 33 + Adobe Downloader/Commons/Structs.swift | 423 +++++++++++ Adobe Downloader/ContentView.swift | 298 ++++++++ Adobe Downloader/Info.plist | 39 + Adobe Downloader/Models/DownloadTask.swift | 268 +++++++ Adobe Downloader/NetworkManager.swift | 612 ++++++++++++++++ .../Preview Assets.xcassets/Contents.json | 6 + Adobe Downloader/Utils/CancelTracker.swift | 79 ++ Adobe Downloader/Utils/DownloadUtils.swift | 394 ++++++++++ Adobe Downloader/Utils/InstallManager.swift | 153 ++++ Adobe Downloader/Utils/XHXMLParser.swift | 228 ++++++ Adobe Downloader/Views/AboutView.swift | 89 +++ Adobe Downloader/Views/AppCardView.swift | 229 ++++++ .../Views/DownloadManagerView.swift | 124 ++++ .../Views/DownloadProgressView.swift | 466 ++++++++++++ .../Views/InstallProgressView.swift | 112 +++ .../Views/LanguagePickerView.swift | 75 ++ Adobe Downloader/Views/SettingsView.swift | 83 +++ .../Views/VersionPickerView.swift | 104 +++ LICENSE | 674 ++++++++++++++++++ Localizables/Localizable.xcstrings | 228 ++++++ 106 files changed, 6652 insertions(+) create mode 100644 .gitignore create mode 100644 Adobe Downloader.xcodeproj/project.pbxproj create mode 100644 Adobe Downloader.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 Adobe Downloader.xcodeproj/project.xcworkspace/xcuserdata/hejinhui.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 Adobe Downloader.xcodeproj/xcuserdata/hejinhui.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist create mode 100644 Adobe Downloader.xcodeproj/xcuserdata/hejinhui.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 Adobe Downloader/Adobe Downloader.entitlements create mode 100644 Adobe Downloader/Adobe DownloaderApp.swift create mode 100644 Adobe Downloader/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 Adobe Downloader/Assets.xcassets/Acrobat.imageset/Contents.json create mode 100644 Adobe Downloader/Assets.xcassets/Acrobat.imageset/acrobat-pro.svg create mode 100644 Adobe Downloader/Assets.xcassets/After Effects (Beta).imageset/192x192.png create mode 100644 Adobe Downloader/Assets.xcassets/After Effects (Beta).imageset/Contents.json create mode 100644 Adobe Downloader/Assets.xcassets/After Effects.imageset/Contents.json create mode 100644 Adobe Downloader/Assets.xcassets/After Effects.imageset/after-effects.svg create mode 100644 Adobe Downloader/Assets.xcassets/Animate.imageset/Contents.json create mode 100644 Adobe Downloader/Assets.xcassets/Animate.imageset/animate.svg create mode 100644 Adobe Downloader/Assets.xcassets/AppIcon.appiconset/128.png create mode 100644 Adobe Downloader/Assets.xcassets/AppIcon.appiconset/16.png create mode 100644 Adobe Downloader/Assets.xcassets/AppIcon.appiconset/256 1x.png create mode 100644 Adobe Downloader/Assets.xcassets/AppIcon.appiconset/256 2x.png create mode 100644 Adobe Downloader/Assets.xcassets/AppIcon.appiconset/32 1x.png create mode 100644 Adobe Downloader/Assets.xcassets/AppIcon.appiconset/32 2x.png create mode 100644 Adobe Downloader/Assets.xcassets/AppIcon.appiconset/512 2x.png create mode 100644 Adobe Downloader/Assets.xcassets/AppIcon.appiconset/64 1.png create mode 100644 Adobe Downloader/Assets.xcassets/AppIcon.appiconset/Adobe Downloader - 1024 x 1025.png create mode 100644 Adobe Downloader/Assets.xcassets/AppIcon.appiconset/Adobe Downloader- 512 x 513.png create mode 100644 Adobe Downloader/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 Adobe Downloader/Assets.xcassets/Audition (Beta).imageset/192x192 (1).png create mode 100644 Adobe Downloader/Assets.xcassets/Audition (Beta).imageset/Contents.json create mode 100644 Adobe Downloader/Assets.xcassets/Audition.imageset/Contents.json create mode 100644 Adobe Downloader/Assets.xcassets/Audition.imageset/audition.svg create mode 100644 Adobe Downloader/Assets.xcassets/Bridge (Beta).imageset/192x192.png create mode 100644 Adobe Downloader/Assets.xcassets/Bridge (Beta).imageset/Contents.json create mode 100644 Adobe Downloader/Assets.xcassets/Bridge.imageset/Contents.json create mode 100644 Adobe Downloader/Assets.xcassets/Bridge.imageset/bridge.svg create mode 100644 Adobe Downloader/Assets.xcassets/Camera Raw.imageset/192x192 (5).png create mode 100644 Adobe Downloader/Assets.xcassets/Camera Raw.imageset/Contents.json create mode 100644 Adobe Downloader/Assets.xcassets/Character Animator (Beta).imageset/192x192 (1).png create mode 100644 Adobe Downloader/Assets.xcassets/Character Animator (Beta).imageset/Contents.json create mode 100644 Adobe Downloader/Assets.xcassets/Character Animator.imageset/Character Animator.svg create mode 100644 Adobe Downloader/Assets.xcassets/Character Animator.imageset/Contents.json create mode 100644 Adobe Downloader/Assets.xcassets/Contents.json create mode 100644 Adobe Downloader/Assets.xcassets/Dreamweaver.imageset/Contents.json create mode 100644 Adobe Downloader/Assets.xcassets/Dreamweaver.imageset/dreamweaver.svg create mode 100644 Adobe Downloader/Assets.xcassets/Illustrator (Prerelease).imageset/192x192 (3).png create mode 100644 Adobe Downloader/Assets.xcassets/Illustrator (Prerelease).imageset/Contents.json create mode 100644 Adobe Downloader/Assets.xcassets/Illustrator Beta.imageset/192x192 (2).png create mode 100644 Adobe Downloader/Assets.xcassets/Illustrator Beta.imageset/Contents.json create mode 100644 Adobe Downloader/Assets.xcassets/Illustrator.imageset/Contents.json create mode 100644 Adobe Downloader/Assets.xcassets/Illustrator.imageset/illustrator.svg create mode 100644 Adobe Downloader/Assets.xcassets/InCopy.imageset/Contents.json create mode 100644 Adobe Downloader/Assets.xcassets/InCopy.imageset/incopy.svg create mode 100644 Adobe Downloader/Assets.xcassets/InDesign (Beta).imageset/192x192.png create mode 100644 Adobe Downloader/Assets.xcassets/InDesign (Beta).imageset/Contents.json create mode 100644 Adobe Downloader/Assets.xcassets/InDesign.imageset/Contents.json create mode 100644 Adobe Downloader/Assets.xcassets/InDesign.imageset/indesign.svg create mode 100644 Adobe Downloader/Assets.xcassets/Lightroom Classic.imageset/Contents.json create mode 100644 Adobe Downloader/Assets.xcassets/Lightroom Classic.imageset/Lightroom Classic.svg create mode 100644 Adobe Downloader/Assets.xcassets/Lightroom.imageset/Contents.json create mode 100644 Adobe Downloader/Assets.xcassets/Lightroom.imageset/lightroom.svg create mode 100644 Adobe Downloader/Assets.xcassets/Media Encoder (Beta).imageset/192x192 (1).png create mode 100644 Adobe Downloader/Assets.xcassets/Media Encoder (Beta).imageset/Contents.json create mode 100644 Adobe Downloader/Assets.xcassets/Media Encoder.imageset/Contents.json create mode 100644 Adobe Downloader/Assets.xcassets/Media Encoder.imageset/media-encoder.svg create mode 100644 Adobe Downloader/Assets.xcassets/Photoshop (Beta).imageset/192x192 (2).png create mode 100644 Adobe Downloader/Assets.xcassets/Photoshop (Beta).imageset/Contents.json create mode 100644 Adobe Downloader/Assets.xcassets/Photoshop.imageset/Contents.json create mode 100644 Adobe Downloader/Assets.xcassets/Photoshop.imageset/photoshop.svg create mode 100644 Adobe Downloader/Assets.xcassets/Premiere Pro (Beta).imageset/192x192 (3).png create mode 100644 Adobe Downloader/Assets.xcassets/Premiere Pro (Beta).imageset/Contents.json create mode 100644 Adobe Downloader/Assets.xcassets/Premiere Pro.imageset/Contents.json create mode 100644 Adobe Downloader/Assets.xcassets/Premiere Pro.imageset/premiere-pro.svg create mode 100644 Adobe Downloader/Assets.xcassets/Premiere Rush (Beta).imageset/192x192 (4).png create mode 100644 Adobe Downloader/Assets.xcassets/Premiere Rush (Beta).imageset/Contents.json create mode 100644 Adobe Downloader/Assets.xcassets/Premiere Rush.imageset/Contents.json create mode 100644 Adobe Downloader/Assets.xcassets/Premiere Rush.imageset/Premiere Rush.svg create mode 100644 Adobe Downloader/Assets.xcassets/Substance 3D Sampler (Beta).imageset/Contents.json create mode 100644 Adobe Downloader/Assets.xcassets/Substance 3D Sampler (Beta).imageset/Substance 3D Sampler (Beta) - 192x192.png create mode 100644 Adobe Downloader/Assets.xcassets/Substance 3D Sampler (Beta).imageset/Substance 3D Sampler (Beta) - 96x96.png create mode 100644 Adobe Downloader/Assets.xcassets/Substance 3D Sampler.imageset/Contents.json create mode 100644 Adobe Downloader/Assets.xcassets/Substance 3D Sampler.imageset/Substance 3D Sampler - 192x192.png create mode 100644 Adobe Downloader/Assets.xcassets/Substance 3D Sampler.imageset/Substance 3D Sampler - 96x96.png create mode 100644 Adobe Downloader/Commons/Enums.swift create mode 100644 Adobe Downloader/Commons/Extensions.swift create mode 100644 Adobe Downloader/Commons/Statics.swift create mode 100644 Adobe Downloader/Commons/Structs.swift create mode 100644 Adobe Downloader/ContentView.swift create mode 100644 Adobe Downloader/Info.plist create mode 100644 Adobe Downloader/Models/DownloadTask.swift create mode 100644 Adobe Downloader/NetworkManager.swift create mode 100644 Adobe Downloader/Preview Content/Preview Assets.xcassets/Contents.json create mode 100644 Adobe Downloader/Utils/CancelTracker.swift create mode 100644 Adobe Downloader/Utils/DownloadUtils.swift create mode 100644 Adobe Downloader/Utils/InstallManager.swift create mode 100644 Adobe Downloader/Utils/XHXMLParser.swift create mode 100644 Adobe Downloader/Views/AboutView.swift create mode 100644 Adobe Downloader/Views/AppCardView.swift create mode 100644 Adobe Downloader/Views/DownloadManagerView.swift create mode 100644 Adobe Downloader/Views/DownloadProgressView.swift create mode 100644 Adobe Downloader/Views/InstallProgressView.swift create mode 100644 Adobe Downloader/Views/LanguagePickerView.swift create mode 100644 Adobe Downloader/Views/SettingsView.swift create mode 100644 Adobe Downloader/Views/VersionPickerView.swift create mode 100644 LICENSE create mode 100644 Localizables/Localizable.xcstrings diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..130b6f4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +.idea/ +Adobe-Downloader.xcodeproj +Adobe-Downloader.xcodeproj/*.workspace +.DS_Store +*.DS_Store \ No newline at end of file diff --git a/Adobe Downloader.xcodeproj/project.pbxproj b/Adobe Downloader.xcodeproj/project.pbxproj new file mode 100644 index 0000000..0bbb2c9 --- /dev/null +++ b/Adobe Downloader.xcodeproj/project.pbxproj @@ -0,0 +1,341 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 77; + objects = { + +/* Begin PBXFileReference section */ + 3CCC3AE02CC67B8F006E22B4 /* Adobe-Downloader.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Adobe-Downloader.app"; sourceTree = BUILT_PRODUCTS_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFileSystemSynchronizedRootGroup section */ + 3CCC3AE22CC67B8F006E22B4 /* Adobe Downloader */ = { + isa = PBXFileSystemSynchronizedRootGroup; + path = "Adobe Downloader"; + sourceTree = ""; + }; + 3CCC3B112CC67F7A006E22B4 /* Localizables */ = { + isa = PBXFileSystemSynchronizedRootGroup; + path = Localizables; + sourceTree = ""; + }; +/* End PBXFileSystemSynchronizedRootGroup section */ + +/* Begin PBXFrameworksBuildPhase section */ + 3CCC3ADD2CC67B8F006E22B4 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 3CCC3AD72CC67B8F006E22B4 = { + isa = PBXGroup; + children = ( + 3CCC3AE22CC67B8F006E22B4 /* Adobe Downloader */, + 3CCC3AE12CC67B8F006E22B4 /* Products */, + 3CCC3B112CC67F7A006E22B4 /* Localizables */, + ); + sourceTree = ""; + }; + 3CCC3AE12CC67B8F006E22B4 /* Products */ = { + isa = PBXGroup; + children = ( + 3CCC3AE02CC67B8F006E22B4 /* Adobe-Downloader.app */, + ); + name = Products; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 3CCC3ADF2CC67B8F006E22B4 /* Adobe-Downloader */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3CCC3B052CC67B91006E22B4 /* Build configuration list for PBXNativeTarget "Adobe-Downloader" */; + buildPhases = ( + 3CCC3ADC2CC67B8F006E22B4 /* Sources */, + 3CCC3ADD2CC67B8F006E22B4 /* Frameworks */, + 3CCC3ADE2CC67B8F006E22B4 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + fileSystemSynchronizedGroups = ( + 3CCC3AE22CC67B8F006E22B4 /* Adobe Downloader */, + 3CCC3B112CC67F7A006E22B4 /* Localizables */, + ); + name = "Adobe-Downloader"; + packageProductDependencies = ( + ); + productName = "Adobe-Downloader"; + productReference = 3CCC3AE02CC67B8F006E22B4 /* Adobe-Downloader.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 3CCC3AD82CC67B8F006E22B4 /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = 1; + LastSwiftUpdateCheck = 1600; + LastUpgradeCheck = 1610; + TargetAttributes = { + 3CCC3ADF2CC67B8F006E22B4 = { + CreatedOnToolsVersion = 16.0; + }; + }; + }; + buildConfigurationList = 3CCC3ADB2CC67B8F006E22B4 /* Build configuration list for PBXProject "Adobe Downloader" */; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 3CCC3AD72CC67B8F006E22B4; + minimizedProjectReferenceProxies = 1; + preferredProjectObjectVersion = 77; + productRefGroup = 3CCC3AE12CC67B8F006E22B4 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 3CCC3ADF2CC67B8F006E22B4 /* Adobe-Downloader */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 3CCC3ADE2CC67B8F006E22B4 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 3CCC3ADC2CC67B8F006E22B4 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 3CCC3B032CC67B91006E22B4 /* 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; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = dwarf; + 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.0; + 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; + }; + 3CCC3B042CC67B91006E22B4 /* 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; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + 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.0; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = macosx; + SWIFT_COMPILATION_MODE = wholemodule; + }; + name = Release; + }; + 3CCC3B062CC67B91006E22B4 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = NO; + CODE_SIGN_ENTITLEMENTS = "Adobe Downloader/Adobe Downloader.entitlements"; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEAD_CODE_STRIPPING = YES; + DEVELOPMENT_ASSET_PATHS = "\"Adobe Downloader/Preview Content\""; + DEVELOPMENT_TEAM = ""; + ENABLE_HARDENED_RUNTIME = NO; + ENABLE_PREVIEWS = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_CFBundleDisplayName = "Adobe Downloader"; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = 13.5; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "com.x1a0he.macOS.Adobe-Downloader"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + }; + name = Debug; + }; + 3CCC3B072CC67B91006E22B4 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = NO; + CODE_SIGN_ENTITLEMENTS = "Adobe Downloader/Adobe Downloader.entitlements"; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEAD_CODE_STRIPPING = YES; + DEVELOPMENT_ASSET_PATHS = "\"Adobe Downloader/Preview Content\""; + DEVELOPMENT_TEAM = ""; + ENABLE_HARDENED_RUNTIME = NO; + ENABLE_PREVIEWS = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_CFBundleDisplayName = "Adobe Downloader"; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = 13.5; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "com.x1a0he.macOS.Adobe-Downloader"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 3CCC3ADB2CC67B8F006E22B4 /* Build configuration list for PBXProject "Adobe Downloader" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3CCC3B032CC67B91006E22B4 /* Debug */, + 3CCC3B042CC67B91006E22B4 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 3CCC3B052CC67B91006E22B4 /* Build configuration list for PBXNativeTarget "Adobe-Downloader" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3CCC3B062CC67B91006E22B4 /* Debug */, + 3CCC3B072CC67B91006E22B4 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 3CCC3AD82CC67B8F006E22B4 /* Project object */; +} diff --git a/Adobe Downloader.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Adobe Downloader.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/Adobe Downloader.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Adobe Downloader.xcodeproj/project.xcworkspace/xcuserdata/hejinhui.xcuserdatad/UserInterfaceState.xcuserstate b/Adobe Downloader.xcodeproj/project.xcworkspace/xcuserdata/hejinhui.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..625b31d85faea84b33a997eaf019aee13b4a7492 GIT binary patch literal 115369 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 literal 0 HcmV?d00001 diff --git a/Adobe Downloader.xcodeproj/xcuserdata/hejinhui.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/Adobe Downloader.xcodeproj/xcuserdata/hejinhui.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist new file mode 100644 index 0000000..d940682 --- /dev/null +++ b/Adobe Downloader.xcodeproj/xcuserdata/hejinhui.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -0,0 +1,6 @@ + + + diff --git a/Adobe Downloader.xcodeproj/xcuserdata/hejinhui.xcuserdatad/xcschemes/xcschememanagement.plist b/Adobe Downloader.xcodeproj/xcuserdata/hejinhui.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..54c994b --- /dev/null +++ b/Adobe Downloader.xcodeproj/xcuserdata/hejinhui.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,14 @@ + + + + + SchemeUserState + + Adobe-Downloader.xcscheme_^#shared#^_ + + orderHint + 0 + + + + diff --git a/Adobe Downloader/Adobe Downloader.entitlements b/Adobe Downloader/Adobe Downloader.entitlements new file mode 100644 index 0000000..7c26338 --- /dev/null +++ b/Adobe Downloader/Adobe Downloader.entitlements @@ -0,0 +1,14 @@ + + + + + com.apple.security.temporary-exception.files.absolute-path.read-only + + /Library/Application Support/Adobe/ + + com.apple.security.temporary-exception.files.home-relative-path.read-write + + /Downloads/ + + + diff --git a/Adobe Downloader/Adobe DownloaderApp.swift b/Adobe Downloader/Adobe DownloaderApp.swift new file mode 100644 index 0000000..8240f67 --- /dev/null +++ b/Adobe Downloader/Adobe DownloaderApp.swift @@ -0,0 +1,20 @@ +import SwiftUI + +@main +struct Adobe_DownloaderApp: App { + @StateObject private var networkManager = NetworkManager() + + var body: some Scene { + WindowGroup { + ContentView() + .environmentObject(networkManager) + .frame(width: 850, height: 700) + } + .windowStyle(.hiddenTitleBar) + .windowResizability(.contentSize) + + Settings { + AboutView() + } + } +} diff --git a/Adobe Downloader/Assets.xcassets/AccentColor.colorset/Contents.json b/Adobe Downloader/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 0000000..eb87897 --- /dev/null +++ b/Adobe Downloader/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Adobe Downloader/Assets.xcassets/Acrobat.imageset/Contents.json b/Adobe Downloader/Assets.xcassets/Acrobat.imageset/Contents.json new file mode 100644 index 0000000..35f269b --- /dev/null +++ b/Adobe Downloader/Assets.xcassets/Acrobat.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "acrobat-pro.svg", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Adobe Downloader/Assets.xcassets/Acrobat.imageset/acrobat-pro.svg b/Adobe Downloader/Assets.xcassets/Acrobat.imageset/acrobat-pro.svg new file mode 100644 index 0000000..2d8d6ad --- /dev/null +++ b/Adobe Downloader/Assets.xcassets/Acrobat.imageset/acrobat-pro.svg @@ -0,0 +1,21 @@ + + + + + + + + + diff --git a/Adobe Downloader/Assets.xcassets/After Effects (Beta).imageset/192x192.png b/Adobe Downloader/Assets.xcassets/After Effects (Beta).imageset/192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..a9b2e885a6534024aef38faf6a16089594158dcd GIT binary patch literal 3585 zcmb7{Sv(Z(8pp?2vSvmMQB3?5vL;KigfaGAVX|hdV=K!LV@-w$*|IN*DBIYHVQfWI zV+dp4qR6hX#&OQoxi~lH;(34X=lOk~oA>iv{N6YdBW*TjUS`SqIXLJeXVkS8eTNe*(2>TV^4a z#-;bp5Z0rn0vj=e@d=kIQ8y}A!!4!Oi#A$f2CF6^+kaF8&#r7%r~kIwG!^8%Q6vlV z|0ljkNWQB2@@PSYnFkho)ZnY%n8Y3hy=Y+!8oF3wkriVA>o(I^d1gb6m#Is-rMhsj}`ui zaJDjct^df8YDLt0mk09)m~tZ-QEL&S2tf`eEA&Xn;#Y4ZbggP14fm_{yql@G?KVN{Ni>uQ*%!zJ>ehr}fwpdQ7H!Y$;7yg;`;Hv{B zwn`PqXGuphmnm8~$`Zs_2>?3kmEWgXbHBIM4&~HC)R}`7?=$fM_(}FsbB1nU5YPQD zkUt~n@e3ecPa%0OFh-qdK|d7@p^GG&kK9}afCQ(temyY;EcL;Mx~>D3*yvcJ7=R4w zv^3F$qHWY8w?Gy;+Ltm|BGir9$;qh`=1@V(mw0U}bqyFzii}Vv-8*-n4xrm0X+~Z~ z9y&wC!xRSi%sUc#-`MKz%!x4vp}7UuUO#oVccs}74?d_w1rCoXoa)~W^(L>%s8fj= zBQhuO5-}v`Vkh%KD4Z4>D+y(eh2eqi+XbG912eqOG@JPq-!O(ATph>0WHcj&6LKs2 zE*8piv#K*6j2~0Nmf3To6BuKp=}+t$fgvFk8kV0yj~VH1%;_(}EPasS{Qk>bP(_-8 z6VjJp2ciF5F9-PXH-fF5l_FH4IHV_I!)N``sxZehCOu;8Y(Pjm_{Ha7V-sMYv%n*G zwX1>y@Hgm1#GRX4L!W+~c~92@F^4p}9Q~M5Pz>h!6&k*{&W;tC+%p z-${NEn7g?2@TxSFXy-qn?XdbS{vzCB>h~2Y$@Oozdp8LG8sl)r*Ui>NzXo4nC&IT# z`&%t~4WRx#ErLze-`uN}Dn4PqnksIRiSLV=z)Fnlo??YF=`kO|b7sY~!|iX5ST(CD zE2`TcuG6inI!eyCY}JIx-_pf&v}m;^89%jlStUeRE1DgX4ty?!;<`=@tSrQBhNbl1 z`{k7}QJPlf2oZ(?JmIISDp$gR!oO}8Fi%q!FP>~XxNjjjf4q`4_i*1hXji-qBCS^3 z{gFEV^sY8 zx-Wo3Bpl3-iGi=PtTJ9P?-fGj{8!DwVm8EQDhS?)P*6=15JHK)Ea+7r&Ac)c7aWEp z-`)O*#}=p|ePW91gKj#+VKPOX9~2;DI|Jf`LuM?Ej%|}Vr7Z0zOg{AD!BE+NQAOF# z%gp9BUo#dxqowlE^5Y9jj>2u6(kwkAs=n_%8%>4!3mNXL4%YBA3b2-PBv$X2EN)bf z>C@;J`J@3oPc1}aK{j>iDFyDECjWP-H)g|{s};}a z$!4~Np;n8nF61JvUw^(if6{r+Tpbk5{uo7KyC97(TsZN0{rvx^39PqET^AUm1{RC56K;hfQhk z;odaF-!`{u>rf5Djn3X|jV%u1jx@HreKwgd{3|SjZ-O)bYF_UZf?AuX+Q;FwVHI3v zFdB>rcdC@MiW+Fa`GroTC$D$^sI@lBHFu&dAD$jqWd96rs+tiYIqf$|`Wv_I3Tszy zp4d^fLR~bI+X*w`lG}f3vEdCZ

|g&lFR1E9NOzq!#5u^vJloOWZts1DW$N5xceQGVBs50-9!Xelt5&Z}MOpz^}uq zJ>y$RDb;-sofd}C;w>Q#x*HiWXE6oG^J5Dd=+ykybxgtCxG5puyOpQdbn)rb@(5uZ z^$`0m!8iShhxQJaZ;r%#Qi7xRqK6Fe9BYkCaP(+KWXmbgH05BhogbyW`;CcS6Qt{W z-6PdbQ<8(+74Zenr^s&WQ%)-*bH*Kzukjlkirn@EN=vy)xQvyF7AQAOQ#l5!d;H|d z8+}=@@+D0~cTONf9Q)FvYoWI5QxJES=?un|!sPDDp!RtiBDrhbL}zi^i`ChWZnGx} zx&ov+CcAML#}UaCcA2~#&$Y*rb4HiFf4BwhbT4)I2r;h^0BC+iF5lAe*v#8&LOQNG zsg2?S<&7+%Iwo{_$i5xVo)3|C8D=;Dp?{gdfTIA+t96kztmbQ`k;+Z22b_yZi2riS-7)f4}z_ z&DuUe6N1z!uiqJ$n0b|;+#2eva{x4 zub>h};?G7@$5*E^9R}dVmyzQ~ZbOt8&q@6@M6+We+pqT@I=&xzA%)2Pj}CM5%o0U~ z{b=;pHTm#G)10*1Nd?L_)NNJq#n2fAe`9QeBU1w7lhG>G5G@V{8nRU|UdF1Ci>StzJ@i zaMmYSH0##K5TGf~Gx+_wnuyq;P^k3#>`G?E_#zcN7z+K2s2gUuMJ=RP zhZ?vy*b!UL=Rt4lm4xR+;w3qT?CPOgxdcS{eO}bH#!eR6BvDj?k&GeHlye)uV{~q& zIyd#X%dQRbr9k4UGs+#o}XXH-YOEAh#TSUOC}(qC9(qaOgXhQK{9=j1Vo6eS(!zO*Cq6V zz}Tt(pQEKkH{F+VIBw3fw)tc&d&4K$J*i5E5d&)XPjoGl@pU))=tdzZ@pnO@hIEOh zdX=OSPn3;QObkU9ttKyh=o5oA- z4$HxoJ%i9A>Xl=?6!Uc*S=PL5?H&FIrkmx|zof{bFAc%#U9^eiDvyyr + + + + + + + + + + + + + + + + + + + diff --git a/Adobe Downloader/Assets.xcassets/Animate.imageset/Contents.json b/Adobe Downloader/Assets.xcassets/Animate.imageset/Contents.json new file mode 100644 index 0000000..c7b4675 --- /dev/null +++ b/Adobe Downloader/Assets.xcassets/Animate.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "animate.svg", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Adobe Downloader/Assets.xcassets/Animate.imageset/animate.svg b/Adobe Downloader/Assets.xcassets/Animate.imageset/animate.svg new file mode 100644 index 0000000..aea430e --- /dev/null +++ b/Adobe Downloader/Assets.xcassets/Animate.imageset/animate.svg @@ -0,0 +1 @@ +Asset 148 \ No newline at end of file diff --git a/Adobe Downloader/Assets.xcassets/AppIcon.appiconset/128.png b/Adobe Downloader/Assets.xcassets/AppIcon.appiconset/128.png new file mode 100644 index 0000000000000000000000000000000000000000..f88c3de4d9135f58c1e2cf5d985fac6192d49d6c GIT binary patch literal 68996 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 Iu>=hJFHj;+J^%m! literal 0 HcmV?d00001 diff --git a/Adobe Downloader/Assets.xcassets/AppIcon.appiconset/256 1x.png b/Adobe Downloader/Assets.xcassets/AppIcon.appiconset/256 1x.png new file mode 100644 index 0000000000000000000000000000000000000000..3bcc6156e9072cc9e83d1a592ba693611bb83eda GIT binary patch literal 265620 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 N{kr~3{@nj<|Nlen+4=wg literal 0 HcmV?d00001 diff --git a/Adobe Downloader/Assets.xcassets/AppIcon.appiconset/256 2x.png b/Adobe Downloader/Assets.xcassets/AppIcon.appiconset/256 2x.png new file mode 100644 index 0000000000000000000000000000000000000000..ffa7b8cb2daf6443bcae23685d8ab826802edb98 GIT binary patch literal 265620 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 QGK8kWB9WKqDMSGL50&sJ0{{R3 literal 0 HcmV?d00001 diff --git a/Adobe Downloader/Assets.xcassets/AppIcon.appiconset/32 2x.png b/Adobe Downloader/Assets.xcassets/AppIcon.appiconset/32 2x.png new file mode 100644 index 0000000000000000000000000000000000000000..a439f469e38c5e746f561e8e953459b59b58a02b GIT binary patch literal 7556 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 AF8}}l literal 0 HcmV?d00001 diff --git a/Adobe Downloader/Assets.xcassets/AppIcon.appiconset/512 2x.png b/Adobe Downloader/Assets.xcassets/AppIcon.appiconset/512 2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9abc33346e311313f0577eef64f37dfee7c9d305 GIT binary patch literal 1052100 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 literal 0 HcmV?d00001 diff --git a/Adobe Downloader/Assets.xcassets/AppIcon.appiconset/64 1.png b/Adobe Downloader/Assets.xcassets/AppIcon.appiconset/64 1.png new file mode 100644 index 0000000000000000000000000000000000000000..e9d155b7758a474c62af7be279bcbab68373d8dd GIT binary patch literal 19844 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 ke>qvPn%{4_fAJ=D)Bpeg literal 0 HcmV?d00001 diff --git a/Adobe Downloader/Assets.xcassets/AppIcon.appiconset/Adobe Downloader - 1024 x 1025.png b/Adobe Downloader/Assets.xcassets/AppIcon.appiconset/Adobe Downloader - 1024 x 1025.png new file mode 100644 index 0000000000000000000000000000000000000000..a6e7fa0ce05f3969d6f5d2e532121d3d8a50ff1b GIT binary patch literal 4198020 zcmeF)37lM2f%bpWOZIg3ee3Kb5+E$fP9PvEpg5=~h=A`qB8uYjN5lnW5L^&&R8)p2 zs4wE+_#zkRIS4uSz936O+@KtdoPWFdPz|L3`>Q**mg)!j*Yt9yTk&-vV2OIO$Z zlDb{b+3xA5?>A$=+4~)`U+rz(_N(1*zx}%Dzx{5j*{?3y*XFj`|Jm1l6a)}J009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 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 z 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

)pFRJT|Jmm+Py-P4|EvBF&%bg%N7eqR`%~}d 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≪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 z00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa z0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV= z5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHaf zKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_ z009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz z00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_< z0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb z2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$## zAOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;| zfB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U< z00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa z0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV= z5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHaf zKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_ z009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz z00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_< 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 literal 0 HcmV?d00001 diff --git a/Adobe Downloader/Assets.xcassets/AppIcon.appiconset/Adobe Downloader- 512 x 513.png b/Adobe Downloader/Assets.xcassets/AppIcon.appiconset/Adobe Downloader- 512 x 513.png new file mode 100644 index 0000000000000000000000000000000000000000..a0b4215c7d6828ff1b2f7097685614150ff2b873 GIT binary patch literal 1052100 zcmeF42bfgl^~UMFDI$VM6T}W!u%V!+AOd1TiUmzfG#Y!4#u7ELx7bV2Xw)c)-DuRm z8e8nKp!Ds%m)V`!a{ll8-Fs&5&MpYJ?9A+*%X6N4XPBM2^UgQ(JMH`K?AaZ5?l7Rk z9vwO_>DZxjhYlS&;$Md)ojP=J#~nI#Skk%S828y`3YY?>fGJ=Km;$DNDPRhi0;Yf| zU<#N5rhqA63YY?>fGJ=Km;$DNDPRhi0;Yf|U<#N5rhqA63YY?>fGJ=Km;$DNDPRhi z0;Yf|U<#N5rhqA63YY?>fGJ=Km;$DNDPRhi0;Yf|U<#N5rhqA63YY?>fGJ=Km;$DN zDPRhi0;Yf|U<#N5rhqA63YY?>fGJ=Km;$DNDPRhi0;Yf|U<#N5rhqA63YY?>fGJ=K zm;$DNDPRhi0;Yf|U<#N5rhqA63YY?>fGJ=Km;$DNDPRhi0;Yf|U<#N5rhqA63YY?> zfGJ=Km;$DNDPRhi0;Yf|U<#N5rhqA63YY?>fGJ=Km;$DNDPRhi0;Yf|U<#N5rhqA6 z3YY?>fGJ=Km;$DNDPRhi0;Yf|U<#N5rhqA63YY?>fGJ=Km;$DNDPRhi0;Yf|U<#N5 zrhqA63YY?>fGJ=Km;$DNDPRhi0;Yf|U<#N5rhqA63YY?>fGJ=Km;$DNDPRhi0;Yf| zU<#N5rhqA63YY?>fGJ=Km;$DNDPRhi0;Yf|U<#N5rhqA63YY?>fGJ=Km;$DNDPRhi z0;Yf|U<#N5rhqA63YY?>fGJ=Km;$DNDPRhi0;Yf|U<#N5rhqA63YY?>fGJ=Km;$DN zDPRhi0;Yf|U<#N5rhqA63YY?>fGJ=Km;$DNDPRhi0;Yf|U<#N5rhqA63YY?>fGJ=K zm;$DNDPRhi0;Yf|U<#N5rhqA63YY?>fGJ=Km;$DNDPRhi0;Yf|U<#N5rhqA63YY?> zfGJ=Km;$DNDPRhi0;Yf|U<#N5rhqA63YY?>fGJ=Km;$DNDPRhi0;Yf|U<#N5rhqA6 z3YY?>fGJ=Km;$DNDPRhi0;Yf|U<#N5rhqA63YY?>fGJ=Km;$DNDPRhi0;Yf|U<#N5 z%_z{ZW5-Uk;HLNa`;PcC95#ATXKY<)*t*iNb)#YHj;#l_p1peY>aEthcke#US)V?A z`Ub79zxC_auRjj^(RfV5Hb8B_fB{?3ux&}hHjsvGD;l;zG;CXA8|-h}=r&}?kfAhe z+hQB$Z`)xT&TYhq5hH2XMqwL`ZF_8Eu#Kf*+kxA-apQKxwiC9UvF(CwS8Tgs+a25Z z2@@tv#J0zt-nQ4?d+$Aow%>mH?Z5B7`|g+M#`D}~pMCb_Iq$XCUVHOx?17E%Yy9}} z6KH&|e8YV2)PP!06KX@FPSlIKQA27;O{pzSwWjXWAD_i`{7m@SsPVJHXE%hOA3jUk zV1Bl0`g!xS*Rg=T+jNX@yy*DRF{OKd*fko99GA_FS-nrkcF&$YdvUyT+;jZ%dqCs& zLcb^Yes$LG7{5xe==aLMt^Xa}^ZsVOvUZm#U<#N5>r;R~FYb55|7~%%`CEkFs-FC< z%_UxpR*`2pj!L`bG3d=vVNIjW2)nJI>p@vA!P! z`#)2_6lhZl@GI{i&mE7+cgD+%y^cBNm}ALv{-&g3Yw;g1dqPvd6o{JwA#5Lf@WF@o zVf*#3e|-k?G|YuC|KR@~&@FJeJ^bpKZ_uWG`t8lMLj{O<_kAYnk$dcglnd($X?hKFa;7yfiJ)O@~c~Kz4f-k4?lc5Ya)yd`1|4e1g`eb4u3=KEt>+#pn%o} z9q(C3WQ}wow!i=V@6R!Bm{319b~2`bDUk3Au+DJt#TQ?~UJmv!xPSr<0e%q8A4mo& z*g3Xk1^9K;e12#4CC!;L=cu=_CHxPIouDaT3M8EZ+1SoM|NILWTWEfOKS91f(3XE| z?Y)@-iJ*Y_kE(D4eQL>+=Uljc#+lblm6$^-he64W)z?=fcc!e(GOsJf*)P; z1CpIQcK-2FK)*Z8?|0^0VfN>*#@1$jFzk((0;WKlQ=kSLbCO(hf$<9C7V`z-g%Nw* zBvU|ReSB>?cIG-H_h4&tKN9waOaW7%%`32M*|HzF?vtMr=xlyKlF`Ucx3v^d?z%1TbuuZus3K5m;!BH0rm~fm@(rB^bB^TFJOK^YhlG+C&3kna-ZJ|uKW7+*I)my z&Ho_S8#Dz>fp(_=dzKb2UVN&*CZYKO2@WSaz0IaTw7$#h)_mThVj!Sm@uHF9tm;k1LDbVf};I)i!&CPB2+lXJ>XpGdN zzrOZlra*iYaN`+yE)4HZU3mRg&XH;NUwRY36fgx$fq()x-E`B<>=Cq@Kzu-DuiByt zMEzL$wYb)I&%a>{40k&;1xx``z!V55z-y0U{?katO87Olnm~&p$)2p06o`%a_qX-> z0$*}FGzClnQ(!#`TyxDe*C7|s&2j;)L@axmmQuj6-(vpte7WtvOaW8C6!-}RmfGMyZ1r{t=un51YUGdv( z^?=O?Fnj7vRv^g!uCr#%nzNqaZ2x5nm;$DNDXzy>Jr12(Ri;`;!W3uqyL+0$&20_uZe zICkpNyLa!tUt!yTVQddE1xx``z!ca71vqzl_uY4&fZtrJ2W%3y?2lSNfkx~fIB?*g zYHXV@ob69c0aL&fFaQuRYupFa=D3 zpQ*qZXPj}S?*jza4cyq@b9=lgu%QYxV*hTt?Kb{r4q^LqQ@|831x$fWRN(i&|NS-a z0lMJ_+7auSI=F>~u04$@U<#N5rohis;K2tUd>y0Nu?8*i_Wn-^D1k+ ztUaA6U<#N5ra%iRaKjBZ{1G`?^8sQ&W;Zulfkx~fF=E8%78;`VG^T(lU<#N5n@NFl z&pr17^8q%RclHMj3Ml(Aj5>84Jb3WXI&7P1xZ2a20;Yf|U<$OL0=Q=`+BtrhqA63YY?|s6c9JYFf8$-FoBtY+d}{c8&3x{`%WJ?O6e3KhWQ~``o#6 zk8Qek4|G{_;a0~hX?U{A<-Ww~RJ|Wll={|h;aO?Ho4Btb0 zN>jiTFa_eFz}aV?eXjWcjiG0^oB~nyBS+M=XV0GfLZMJqJjSTKrYT?wm;$E2=22kc z#EE+|zQeD+T`R!gPX(0yTJ!Ju?6c24w|PdNJ*z2T3YY?>K)e(v!PdQd_r8qt%m*+B zz~{fRzsG?G9%$?O$Lq^!uWJgJ0;a%bR^Z`>AASsVfS&m6w_bqu?E+}*-x>a3w_d$^ z4XCcJ4sYh+XHRbmm;$DNDG)~m_Sj>OeXJLtUBh45&)B~!#zL>9OPBsLjziL3+7vJa zOaW7%6%;7L)}u#{{*3$Z`)|Df?avh;|26O5bK10NGg@KT*-MxLrhqA63M7C6k3atS zUm5o?{_|NtCfL^Y70}q9eqT5GftL4AfG?z-f+=7Mm;$Y+z%IM&GSTV)Z6EkC?@(j^ zu2|o<_chmCbA2lgIeRHnz!WeAOo0SYVCBk{tHFRij00g-2Z#Y>8@#FP?}B-tJ+|C( z%WV>17}_bA0;Yf|U<$-Rfg_JR@@T6Av_aB0eM^n<{`k!Mpy%&}I1D*^NmIZSFa=D3 z1W*9icCEyk0R4drt_x&y0-JKPt=toh{ps(G9XocH1Q>pH3Z{T5U<#N5aa7>K3opEs zwP1iQxGqpz;hw#ZhIRf}K%5o0{r21MwqC$C34g8ov$oS6{O|Y8H{X00 z=iz2AZwiAm;$DNDPRgDfC3j> zZ~^-O`T~D8AFyrs0I{)u|2N-!^X&u}YIX{yfGJ=Km;wo;Kn*sm2RG1i0Br;Qco)&w zAH5yDh71`pI)R3por)=73YY?>KmsYSaN)wmehz^10d-BFHUq?V^hO%R{`gG$Kldm;$Ci;wXR~v3HO! zwj4n6`V5U?fB14+u357tC2>ZWorx)63YY?>K%y#u^?-%~e_RtVI2Ry!iP*l*JR1As zZTA^Ebm-Vb9cOl4rhqA63YY?kr2zT>Ph-y*_@Qe8k}0+&z5*KibG@IQ?B%%f$}6u+ ztkGp>V+xo8rhqAss0yT{q@;oWoD0|s#_Ixff|(Bh5fXe;{xfgW8~op@3R|L%GdnL+ zz!WeAOo7BxVB2lC-2wB)*#~HI0TUehfzu=Z-CDm`@2}tZ@#FVRypd&RWD1x9rhqAs z$O>F_)m7KqT)+TX6aP?Sf97j?;j`QFy6dj{QzDNsJ2z9n6fgx$fy7fFFE1}2H2_`{ zK>Gl#29Vf30Qt{3f6V>&!DqL1Nl8g*;*BgjBU8W>Fa=D3L|0(oz=0#dl729&0YHQV z-!%8np3VMSZ@u;Qi9WvU{7eB;z!WeA5>tV>bLTEZ9JwWU!ahLOl`RJV5fX4~l>2Az z<_Ra9usAVCm7SF-U<#N5ra+=A@X9N%yn#A0YXE&Lxx}vl*gSy5 z^edGAy5`TI#ful8nYbg$&dd}r1xx``AQ=>39U1)J2I#Z3fD)Jg?plBRjQCkS_uO+Y zB*WOUb2J4^0aL&fNNfeVb?de**fIcS*8@mAAAs>cbN~Eo2B7zU+Zt?%J)-RFOaW8C z6fgynL4m=82k!{B=sZBX9stBhkWF*{Zp}ZO)0Wt5-hVQDsq7q00aL&fNCE{8J@nAI zxQ_f*;ET=!v~>Uy!vRqKyEXsNr@7U>`|f*K5)3IjMN_~OFa=D3Bv9b`>#x5RH2~`Y zNDSr&&w~7q*8ce!U2@4K*CfG^vQsn#OaW8C6i5OE($mv3QCA)c)>scfkiPLh4%Ytr zga1R9E?xR^5)3IjMN_~OFa=D3BvAlt*$%klIsn17fa6cV_I(Dd!?5?SCu|GUXtpgb zE-p!uA!Vm&3YY?>fGLm!3T&~(7GuB|_5g4l0P6vS2yx!D_OHEv1AF%DIWh@`lAWR{ zU<#N5ra%%YfHmdz0q?ekaUB4=7C@ZgkC#{eyWT(C9)xTD?UY1A%1+f3Fa=BjQy>Wx zm_2*;Lgbg(18CO*h(G&z290|EaC`8?i4zY_f}v!mXbPADrhqAsL<(GS#TD112f)?= zN(}ZZ|8?D;{#f^K=)#2yf0aZ-%1+f3Fa=BjQy>Wxc=_d*-w5;ovfqsCVGL?pd=#Me z+WR-4d-v|!-f+VWcO=13vQsn#OaW8C6i6ZkDl02P$p3Q=z(5%10B8>&4sDBr0^0k} z&tgmPf4gU&eb(0fPonRXovJBd3YY@Pq5$ImkzkF^0bt)58Dv|06rlFe-hbr(M=V>m zYd;iIQeimEz=+R?zvWz1;PgB4YFa=D3;B*zww*kA@~mVTM|Pg3fGJ=Km;%YAz>PQFcqitWj{t9M4S+a--+$TQ+<#v8Z`iC^ zvlb=SXtJ|41xx``z!XRp1s;9$(Z7NJBf%hD1Hje*ijN-&kFaLQh=7Ffmj5zPS^R7y+(PU?93YY?> zfGLnH3Vi?l_dg=m91Z5!8bI;kzP_r)|K$Hx%*kNw|2vaq9NBrA0;Yf|UfGLnn3LyU9-sgWm?79Ao ztpNlPT6t^4f5iWzpMU=Omy>B6*}0kmrhqA63M7{Ts5OrT>$ZUz|63XQ{>$mwKhd>+ z@tJJ@=9_Q6ms}&s&ejw#1xx``Aej{C*|X;k;81W4V6H<$CfU|H3Ml`hYyX1(V?O`< z^RJU>9ND>=0;Yf|UY> zOaW8C6i6lo`t|F#bAbQ025@tP-n{q4@_!rjWR58=E-p=`ab)Le3YY?>fGLn%3T&~( z7P|s(+rsP`0GpTd>w0$OfArcvc;J}i8bx-trhqA63YY@Proh%)Z#^Eov1 ze)3a#*~XEbuPI;( zcnZ|l*Gtsu>ZHCo3qA(NwwVI)P+<7*;d=vfLH^q{fLe$9`YOtQ_Fg*vWBs2U<1rTO zHBA9iVEqczf#s2KSSm_Nq`aU&%JcH1JSRuWv$CW#BSVVUu9eI$zm%*`Kb6c+K9Tef zKXjIXeOBN&gSoBof8)oo{e>ye(h89E)uE776c2E2ZG_%cc0@i>2t?bEWX~(oh5Ivm!Ft2?+C%bB|D_aOc!3mNa0henK(* zgQ6k{!7r$VU%(uLZKlA_QDFP+x8EPk84eo=WBuRae~8eETND0c{eO%9f6kz`zcmFm zK>_kUR9Pv7;B3l&|0^qBeO11=>@rz?>Zy{uXpxl7nIjcr#z<(y2&wMZPii`LgmsYG z&K;zt8?39p*W>QE-NUzD*!P6-zP|XI-q`o?kFl@iaer7p&%y&bNY!>*N#(c^Qohsn zQaWv_6fRsK8K*9mZ+`n*`R?(@W%ax7NgnbBp^6IOx!Yz6Y^(xf$Bvy0)*1g>5%@7L z)r9|8lX0hw{T%J_rhqB1;R-Nzj#O7mCF1GA)vF~7x%#hexkZ*wo-Bpq$4gcJ{!-JS zgVe$5VYQt)NEn=NVqI{b8n_>Z4?wHtp0~mLFnj>FhYt`A8hn5-xF4aB`{X~k-^jMa zZQ53_LEb*H4W54p{DYw#q-gxkvU^p*sBi^L2jTC|F^(x z@_!(VKET!i8;oQ40FiAwNcqr?l0USQ8`u(dT@aMy#Bo9|KrU6K7INa|C9P#Whb8~3Xpl>swyc&UtY#L??~DmcSz33 zCrkObaZ=s4PqVy_a$b2K+=Kg$`N#!SBPUP|?pO1eF+Yzr?nj>A`2exZ*V|-2j~V-e z`OXmkGY=2}^CQRuL@gNqEC0!U{v*TAz!XSc z1!`+*qzHBV^taxU)EjS!dM^q{pHU-E2|crD5ageoIY##tml*YE_cuUCYY=LGsY+H8UNFl zVC=6s03P%I8UJ(N4ENoAjQ^SU2k)ak0OEgltnoj40>FIw1JU}w#{b-t{p;fYNcmK?O50jupK){*|?6f`skUGvh;Z=Oigu~Q9Ik(p8}I6O_~Yj82^>Vt-t45OI&k_ z{O1}>!v+i(uv_~ZiS~|7fsI#yxoq~j6{n?1?)&dc8hZG0r%naqJG$OI*7AQ2?;H6D zFh4#6bMMP0OaMdsy8b;E=WjxM--!3YzbE%& z`47H3_ACF%d+qzOQQe{!GvS5y8o4-m}#EB~4Mr?K|0{MXz+`On;ckpE-+*k9RC z{v!`iyE7iQE6#C34=Fo*Z^{1MC6fQ|H>6YfPOw^;mFkB+Tmn@o@l} z@PFXIfyVy?_-@!KB&Gt4_w$kCPk;DfDaPFVs-1R{8sz!equ=7(S08}`SqaUy#{P%kRT;8AgfBFK-eeN0mbKajC^Zr`eHmb@Q-aBCeV<|weUY6%65|M7u-;8mOO zf2*yw8s8G1tv!b+(3TY7I=H1+hcE5vrzP#M!`%8ib!0x-teoB)dp>ud+uVL&@{*Ura z`A_yM_m%x*KH0yU$A0qP*#zuikx5-8{}&5n#eMfm3D!8K_O`V>1r9#=;N!rekuZz@ z15j?oL-L<B^`PG?BkA;s(#4vgY%o6`|3-O z{XwH2KvVwvK7ivs`A_z9-Jf-_pZBBp&zT?pySl&D{{8sh_5C5%V|@U`|Fsigd-yh~gH-O{MRI@p3(5G$bME>E%)Qvwb`&_| zkV9hm-wiAxlWc1p1)A`Gn{Bq)qwS0^dncyArYXQRZFw!6+;`uV!mF;5a;(c20du)7 z&${CMkpF*GfxRBD>u=V3KN+v=XPmF>*JJV?aep-a*VunU_)qr34{&vV=KhfbaJ_$w z{j~-V%YU8oAFTV6`^tXS{+0dP<9G~MJ{G3zN8evG=O2vy$$rNEG)a8wq3l-v?&=hX}2>HR1ozp+omd{*h(x zz!cbY1sG@Yx_H@F{7x#TO+!rGy;<&)_sV>7Tv;F7>+yOy@B0f)9s~Y|$$$C*%6@;( zc%QyOBmOh?XC2@t_#g4P?{Wlw{+~Gjw+1lSA6@g0Ie+c@V-A3Ezt;UV_Sd|BY~LUG zPul?uC;!QQ^!zo6`7>?i;CgY663AAZ1`JthCz%O&&kPi-xsO&{I~^Ophs z4+8Uy|E&mq|D}Tb=QWtN!!?;FCCmV^6EOu^Q31~9t1K&%A0K;63isTzVGdsmpULz} z%<&8Ix+3Ow@c%aHSYv^&|f^{%=$RKn}q50cibS zeSqfpPws2qUoieh?BA&GkL;%ppm~4R|F!NPjQh#_y*yq`h+b;H3?t|^o9zfoQbBpqx?5Ax&{-3dbwD!+_ zf5iPR_GiwY{eR5=)5w11{?<4S_WtR7f35qI|07|eV9ft-4^#d#_K%JKV{`u+_cQme z+}Azge#ZWF2l@Qx9zHAp8`RW63Pu~Q4$9!_1$ISn)>w16e`=c@U@8|qo&7XCD=KjflT9E(D z|10~o_Rk!E@;^5BPxjNsfZ1bV%>8q&e{Akw<9_D-Y2-iIAI$rs?$6pk^Z#`R1laHM zziujCXIcj-nY+6bK6ZAJ`zy2Yia?g#`R}vd#s6Tv z+k^Ky|F2Q+zjA(Ed&d9l{R8)#@Sp654-n1$gZ&Za0LXsje{Am`bN(Y?qhMq|V*gt5 zpX_Jcul#4eUrqVXo<{ukz<$R5F8*i!|3EMHC;RITfgK7v46k|QHd1`iFD2`( ze@P{-KWtlaC~)}UhtCI^EdF0NpEvjaDF1owCD#9k^O{V_F?#GQO@U2Upt_<$GGBU0 zN)9?m>d@a8JD<<7+>iOAOeWuPpZWx`JpjSSu^+(o2R8E@!N;xZ*j?v`>{lc2dCWWj zeE=Lciv5}YXZ*h|?)$O7oA1xOKMnbQSN~_;Ut@nBgZYi-{V@liK0q+`XZ)}15AeTH z-Jks5**EfE+0Xq%7<~Zczvle8_hWy@e#ZZd`!)7Q{=e>E7~+5R0qSOSmg-r9W$mrk zNkLkw*fj+<{kzdxe`);R+<5=V=MVCqb1+8iz4zWTTI=(-*D(cJTLI?#D+>xF^`VD6 z_JirM>-K4^uX{2&cpPN5#{IGXulfJrV>kGi@xF4OoDUp3_6PY-?!z~5^?&C6*T;YS zpUeG&{ao+I`2zF-$b6cg`)_o;pTR!+wf9f?KfD?CkH&ptVT}DX{wMp{^G6HvpWJ8O zpFRNd{;~1@zPOJ@_A~CMDgUS9_z)Q5|LL$94Hll&OR}ywOY*+_Ov1R{Fd73|dx+WV zZJ+|vr%zu1=2-mylbGIY4`{;w0}eP~&IW#b_ApZ*sT5$ozu^1tCF_P8q>6QZau#fl zwP0MY`TW>@?B9_8v>^9mZ^!=4I&bs580R-<%mb*w4{+SyfY{$%@7J&W>zaSj-hX93 zbN|7fKaKmze&+qT*Liws=$4~hk%Vgdkyiac{+jXyxsfx+>>*MwRH)!7p zuc~8#6tnb{TZ+SONz0UPffS39$RC$u3Qer`N2E@IUc;Nj}PwkZ+Rad`%{k( z{%!Oa?2oSbL*CODApgmG9`ioEANNJ$|Mlhm+4D#CGyYfhlmGpFWBjlDXUrdK8vh4l zfAW8Hz!3X4;y>75(;WYq17Pe={xj}p4S@B2HLd$2@9%Q|jQ43%eLEC;vY!^n`_~-n3|1A&njeN#f{*OHDu)|JR&qrqe zWeOyX0*v`WB_)#m`s-45@WE1xn7X-Ie{k)dAj8RI?e&ZD8TY9#zbzTk22 zIo5fsalgj=x+n8_to%pLKN|lt_V4L4o}7<0pZ_igp!^5(b-ur@_t)rpKlA~%fi=f| z&HV@XAD!=~vH#9sFO6|OjoerEllipRygzgPTJvYWe~|r$;Px~aV}7!KI!yV`n4kQg z1tb5Df|38UWAL2Ecb5FiPLqPKzYwnTU|V7+Flo}HBf%?+|2GoaE%@UmBm8=IJluE4S$7}YuoI3YDw}WivaV+~|8O_JU{*B&N z_VaJ_*ga=VJs|cu8{H=R8RM&w^}J8_LH_eT#{Xph`eJ|j0^~of517xmpT^jqKEM`W z{FX50`8;x_qD_R|MY_WS&=I~LD7ud5VYc8X-b{f1QAIsu#h z#cIL7oH=vmiC~WLA0otQYr=o_WVGN%Y)@qh#6+mH#6H{NEnOLH?8dLH=vpKOXl_fN9;IvA^=)XFu!xF6SR) zKXU+N|DmwMd?Wjn|H^)He-11r_9y%6kAoeL=bqnHD$kxF8B3p(GF(TS$_VXxkD3h+8{<@x!N^4@#0V&+UK9WcQ80jvWAS**+s z-q+l*K2Cf5=m%7S`N79V9~0vb1Rt~BV{)E;0NJm5o-bL?+x&muFNpU2tt$tBnBUF! z^W*+t{IA#g(e?fq`#WDiIZ11^P}!xPwp%G=iyjwKJ;5WTGAf5%dH!1^8;J% z`?j&qWc-gG`2AOo<^L$-|Hh7DdwilRz*<0YPL8a3?KMe7KA`xBBP6{2_NbZnXvA*v zJT`9E`^apK@tfm!@Nwz`xWDnAv$?-%a-YWiWIX)}pYx5FkNdbbkjwkSCy0Rk5#;}C zu&?1ha9=d<-xrUE58&4PL+l?$&Y$M${fzl(%>Q$*{Acc;d4HPnKN$b}{CBbc81P&3 z|C;yT75C8?|1>~B=7w5CHw5N zByG_mSutn}Su>!kr1$M2`2#vj$(Eg@Y+xs;9Mn<5>;WMAHSQ<>hxx|3e{Ai4d+=P@ zzXOiRe{z2}nCAYO_b2(ROD2Q@>1f!}Px3JU_iJ`2QQkemo!N{qY>gd-^2K zFJbCYfJ;DQRDR z<*YO#L&|Y&qq59QXQk=sQm}fpq{IKo`sz!`{`_+(z~2>OU4+8_{73Tfd|6LDC2Oy{ zR?;uNP%;Pik)k1;q+(b{iO>fa2^-}bxbLp>2ljK#zv!I*SpIA5&$yrL*Vum_95d%1 z~!prnr-D?j3zgeiahtE9g5mZW^} zf#l+PMdgKs?pk+T%b30l--j9wqVMmg4)kxh=kxISB3LJ>3OSNe%$;E0MCu#=k~NPn zk!1_#OXeQiOU1bU5<$K{%6!KBv>joL`(tB&&HD%Ae#ZXfKl1+Me>K+lsckOyC;yfG zLH=v(ul0V-`yb=;U)etoS~Biu%&&33ANxE0`#wPA^x=~B)B{pcT=Y|t+5fko0>*#i ze+v#Ldn!|4lNDgEVD67U%8J`=m-538m&lMIE*2-F$?;$=fcI(4AG}}t1A_N8Vm$sX zc$>L~8pQf_y?RM_>p@a*=%KRm*T0sPOCFar#Pp^41&+t$b38Y`ei(j1QFgYZefXiQ zc=Aa}IrnVIJMs_-PZ}eUow_$%hpGNjG_E+{Z_CMA$7yHu(Ap4d7^wW~_zyC=w^7Ub?Q4??Guj_;2c`;{Fihjy$)Dd!) zJ}f;7M>{tFX_E-Kh=g+vG+*cnUSo06^ zU*mqVpSgcBpE>^^`xoOj?KIdgV5fJGva@%Uj2EAh>dK0By?wjC1r@OP-}v8x!^xh? z6lf6z$hZ*w0M^rQx=AYc-rLpU$?bL30C<1U7a;RBN1*&?J)hhUZ97!*XU~>w^d7JW zf!C<1MeaQrH?FN*o|lLB@h#@nKQF0sr%Tn8og@>?ik`_t)5;?AO>|>;CKFzp|hF{}t@l_{=VvEV*yKBz#}CZC(Y8 z|Hl8#JHqVQO@U2Uz+Ef2s7SIt`bg4FIR(9em@5E&E6Kk}bB ze{!GuAp5o7kK9-G2l)^7N9X#n_mAACY0W(A&c6&FpFoUcB% z>jiB3S7(F%()e%u-=KkF4@wvX_&ZOljnqg@br|cZSNn$JP_D*Z=vDQGr znP*B0dicr;3SF;VqQ2LbI4|nOHFon-*2>B|Zj^$>M@jXRZIJKBI*jc3L*Bm;`x);u z?pOW?+0UAPu-{L)@7MjKbNdaxiBu z2XpT#r%#s%`}V+ivOc!gpZBwFPpfDv+g%cxaI1v&yhREo-XM7g{YeVXyjP0; z@PriJ^rWOe_?)Eu>wQ`M@#l!W^Q5Y>G9mJ@oF~U?3g%|FY}7BD>rLyF+B>+hMne?D$8Kao0=zxa*{DhihS1OJvt8@!D5QX!_Ms{L7nV z?KwBg$|wJcHEX_-@}gp|KP!$U1I`!Zx;j~0M{t*2+}wT6->=wixUBu%@1y|p^m(n> zM9E)l*ofG?kD~7sL0zB_`GA~zZ}`bXn_@}JyS z{ww=~{MWc&`5%n=d92+3EsoXT1B5TxK~f(5lbe&VdDUru&u;uT{Xx6{sZ1_ zU_au1$A0pE?|(G#e*)ru$N#^A|4Y31U)hiNUv|9@%qRPAgWW2!)1Scp8(@F%Z0uDc zW3Lq1{xZ)-Um`O4VyPc_9@d}xE!OQnQ}U0#LcYK3R!RHlQ>o0u9Cy?XK3!k7z} z{>2xPj=sKZTw`c0a{ZO1rSUkGq{QC_lIs0UZ9D$ku<9-^MuW`TT{e$dh zuRkmr`v-IW<-Yd%k^QvTT0gmuT)$)g+1LlT&-lOoJlKV(1zgZoa{l{&p3j*y zDkuJl8vl*|i9bq{{|sxym_xe59 z|3BDQQa|-G@c$E^{U1m@WB52T_0u%gv_>KWG-q@+j=)(_&`ecLun0s3skSa&z;@du^!H^;*d z=;yIt`~AuPV7*`S{>|0=xwen?`zimK?+@nu$$#ek$^A2YQ~s0v=fJpE_LKkT!!GF{ zg}0m{h0DH1?`C}b%negCxgKTpf8&30jo9QmTXMfBvq&;N&XAOcew3V}zmbxoR!Mlq z8su45A>X>vXa9G|!+wjn|4Z2CKL7vQz<1OHwAf2o)M-{a{({-5#xW61xL z|BU^~{<|CEf91c%|2td*_9OlubA=!KU+l5p@t^EJ3-%ikuwS*i`>u;niFF$GL)F;;{`xDkXPWj{Nx4O3A-ug;buFA=Ps;rT&OCSgOzd z=Ty#{Vw=|4yU$KU({D`G5BQ1?vCo{hNr|zsvu#{!jkpI9$$Irk)B(bYEoPFOo$=rJ zpCm&y;ZM``@)@6J+m1+LMn;`7fqP?cA>3`u@!K9}m-ce&j#v{H*uW$oyd3&zL{R ze&+jW8t;?+v9*5Y`8D1r`<44X`|B^oeV2ET(rXWvyfrJVud@XPsqx?V-vYy^T|Y&A zUA@zrQ{sBMr!8dd)%Le>ze!A_hSDvFZOr2{}m1KKltB}|JV3GkpFK| z|0n-n_4vQfOW=Q?|KHXA=>t50`2R0n{$Ke|_S0PNANlXs|JnQJ;{U6?{Qvfs`}u#? z{t^F=I?my@@*3!Fs>O{K|gizxMiR?5}lx^#OwH zzYNbw_S1NLWe3Up!?9A3x;lXsOpa4C{u}?3W27eLS%#~^lK)+vq&>1$3eL)w%DGru zZf-H=Oo9KibETgApXtT@%K!Rk{15&g&Kf{-`G55OPYLkf@Av+b|2tgm*Z!6NsQ;ty-|PEh?f*=l{mlQL+7SN_ zT_`f-1TXgA=C}s_BmS4Iju07iq||RUU8;9IN(z5@f#g2%v=sfY-1Q13<|k`s6%JKO z-q&AB@t-c0@Vu=W*7j5O>l{C2zs~Px-alCDXTG1@*L;6$+^_Y1*7<`uf8_h4%)bK1 zi2dui2mixYb(Fl99<}lFGlwbozX${z1seqG1M3Fs1hcJm6rk4BoZ9m<7&U$RbR<%3 zOJoH&hpz~E{)|UfOX&sqQguuTa-}66`Jz-|fx)SN{9+{)M@J zvY);G(b)eI#Qli>+4Jx6|6u=c80-G5|8IK=jCFq)**|1H_z(6o_wQo=Iga}t|7VH} zJRCMn>bE>tB7>$%=}Biw=A%zYQ5te0=-;<3@f6_aQl6EG&k5^AEgI&{@hA5g`z!ak zkL~r-xIf5##{Amrr+t3hYs?>HKjVLm_sRUAf&X$1dI4^mD+S+uVeE>Zh+p z?Ee$_|AT__|K1aC?H`T*UvJ3&v-jV{|6o7o{_P1P|D*Z;N4?&E*Z)WU2j~9ZGB5Yf`TwKAf9?At`!)B^*nik!kNvFsGyZpV|D$905AJU@!?S^hf&Yh!fd4XJ zGHidT?Z2-SE&h$9y!sk?CdqA)PVi9$5db~w9>}>KMFMf_y8{Ve`Gd# z|6suyzznQsuKd^hf3*G|?Egazz^(m*96)sKKjlB`|E~q=|H%LErTu?g`;Ym5#Qwqf zpX>fH|L^Aiq4v+Ue|E&&e^>k0`2VT^`;q%+-QUgmM-BjU{yk&=A94V}-aoS6Su?qR z@?W`6_HQv2>_0#R?3e!gi1gcAszy$h^z$y0!ms~lIo$*s`g%HLxjB;h=-pDa7bDg|Be3}Ib_=1!b-%rX;`L*Oe^PH5TCSccpPpq#R=eLx?2grK%F{${~1aEGC zu-8x5^&$Ipj-TfHwa-uU{>pvE{fzk;?+5Gs8vASfkC;nfu@3K*ar%T_jLT1z7wUs?|7-+bD9)f zc$sAX_fv`BdiJ&@mI77fWs>#Mvr=*DpoUyO#Td2|HqPkSdDYuXigb$-YGFyj7@ z7yJ9{cYXl!0Ch*9@88w`k^i5S>(v0*|Hu4)a1J2y|K8evP3!-4T>sa_|Lp${@*n;G zQU3p1WIxpZb?x6^{onQfJ>k{7^P z=l>D^>%2d%`^)%WYyZQM|Bu%GQTLD5{*OiNU-|F%{<)q%*8KzVzhC?J^8fGw0{oZW zyNmSNS)})lxGv#TNqOpN%&jbGKZ7nw-f5_`MAklbmsI_Fu;&9X=GVBNv43pb&sx9E z@ng)d>-%WTuW`O|pL@U7Uw@U)d*=Pge&qcH+>hE#xaQNf-6i!C^v7BbV53G5_`e7Q zwEqA2xdB%H->4D0`5)}^{pn?rcGnsSomA<^{EYiy$Fbk9%FF+g|9&2T@jq(;jdB2( z2Tj~oDN|KlI=`~Sgzx9(4%_fKp8tpASz`(6BhMPvRu_WSGpIsWUs zKg9i5@6W~l?Ef1~_G{n&QRw@h4P);gV*f1<@olOX_p|no-aqN5asM9h0Vaa^R( zT||2B02?cj9VbcVRo6;sYHC7UdwBDYz9e}CzZQ`G_#F~CXWPbW`D@&-xqj}o-cR;x z&R_HXLH3jRWIucS$bDsgkoz~_{uryjxr5|9axtzGT$CgNCdO%6{2xE?`>$;LPmHgE zJBx5AEQMbbNYQOYQavA>_hbI(-siuU_Yd&j^#BHH0RH^{I@AEX`hOt*kM)0}{eLm_ z|2j7ZkaPcn`G0@yzi9l={C^<+ch~+y{@-2u_Zgr4e(m4!|3NSIcfEhi{om%t{_Op` z!OQ=z_i3!}*ZEz{uf2X`|8+2p`(xPee1TiACcvK$m;A3kG(T}8 zhKKRr_`eaurAum^xO0GE7{_p>m7ys|~M&tay<3D2mJ;8p)|8CtM@IRXWSN`7( z_TS#X|DA4XSofCdgH!-@?Y2dae4o_Uhkjl`FAC3M_;$^6GZa2-Xf2PDcDkv>2{%4*5K z_e!ki+pXywKgRu9?`OPE(^`Kp*YD5iYt-MbvHu^ye&+kRSN7kC<3Gaw3cl#hI z{O4^_SzMSX@+ACu82^p`2|q|%;RH(yDkSr7xl(mfNFwvX;C}@BNYnVAbN>ALe+~D6 z{=Zu00F?iX|G5qT`G2IY0p$1pk^fu+kokYT{-3`FV59y&UH`|e{Tt~2-|tQFuKoM6 z*Z=3P`$PW!9sK_r;{U+hKNtT$?8pBx{Ex2vgZzJN?;mUbT=#FpZ@t(*dd)w^|EDzc z{o#5)E(gHezt;X;?td0){*3*n`SJf$FYagj-=Devy_@HMubrC2|I%}N5##`*_ecqk z8!wp;J|v}id95%i>?Jlt0hb5JNRhm&=15(0bNqt&e)2y!ug|aZJMIVL{a}wDxvxHe z@?W`++P~1if4Lp=0q>e1h2NrY#@3VCkdID`|Hl6f8Ype_L0r4PJf~9DKAIzy^D8BM z0=XY{7R~uLsR6M5-@yK8|6efv=lVYZ{?{ED%>SnZ_|G0dUjN6B|MmL6%>Os)|0Dn3 zj>i9u>i^NTf1maE@8bU@-rT=v{U5!5T>CE?|KIG-{lDH@_kV|L8u$LYb^n6=KNGP( z*?*eHe(n2r>;BDanDe(a`u_a&e!ZSQpZ{A-^>hFGdF)>o|Jei3%d7pn{6AuU=`mWQ z`*7HHux%wgaUaQj;6bU##{3Fgzuva^D^P>$J7&HAI{NTtd3}D&`;+^@KL6%of9CyB z=Xd#j#`_xcYrQ|nedYi(?nk{})X09?t$3b0dQ0Amw@Y>={%QW7bN^rSVt-!$kMX}-`^V>hwD%AF|GPhe*#7~) z_x~<0_wVZeto?)i(d+(P>GS_`Z{8p0{<+>iKmKRWKd<-W_;G{5Kk^^f{%OSjcLVXi^8b~F{J-OWu>QZq zpZmw$KYIUnyEm}z5BvZA*iid-u|N5Lh1dVrXx=~T|GxqI!T;czzi!R{1>U@W*ZZgZ zN8X?DKMiaBuap0-_V2U5&u)R)Q&ptn$+o#Oup3G;xpSk`Z z`)|W-8gl<+zubu&z&#yh)nBfV%JR|;J@t0`IOD(Zzr789_dAtUA{m$Gfb-Q-xu8bM z7dG%;{Q#{6kpJ2X!1;dO+JDM_#{V#`1Bm>8_0jABEEM_xyaq6RfbeYaAMt+#J^=T% zGge8>5v!%v_5LybXa4_N*Z)^HjX40n|Ic0j&!7M2*8kD?|MkZ8f4%OXtN&x}pXUFg zwSS%acV{5}zX|-m(eM4g8ufq7|Koc9G_LvM;{S8NexLvDx<98j)czU&>zY4Y_gB~a z+j_Ro|CwMv=lvb*8DoDJ|L=>K-|zW%vHt|b|1i$`i|PAs$on(*Kf=ZRj{T1RgFPQ$ z;84lB-~uVedV#jZUjbe(C~xg5$-8tX&j$$h_-nr(d;E1yzsCIBll{TCKgfKo_iN10 zSf3W)KH2Z=9;^p&=P*hA40C4Tli0Ry1&sg3|8{J+Nk+W&VT=l=!k|Nm;>|D=Cn?mtZD{<;4DCGY`Y z(b~Vp|3UsY6aPo~kKRAG?w_CgXYB9R{5cJIf9C!%_n*E0e8c+v%6`rH$L9NWZXaWR=KC4z)3nB~d(HJL_x+eZ%6|F) zcVRBT1Dz!8g1oHL{_U_5ME>NX5b`DO*&FeT_5npT|Kz zAnF6aPpE=bgZ-i7(Ie>l0O8}f{(mWafpW0FRH|_e;4plE8pi(MKV$#M>@2B)MNk7^ z4?ykARK)&k!2Xpn{15j3as7Yx|M~0xxc-0S{~Oi+Uu~%W@A*9V&;I{s{r7UI z`~EfdpNchq4)S7ux85&m{~G`IX5QbA`^kTQ%^$~o_WZkkKd|5B{>go1{~(Y3UADv? z)_H)0yA6=6n{Spf^aPp@(4t?PO?tA*k|N1|;zp^tva1N=eVyMQT+@flSMFnKNge2m;#rfAMnztp2~A z@!699Rg_*LS$7pk>B&{d_t!f9Gw)yS`vGJ>Z-@MRfX4r!`CvcR1E@yaPpg6t5JCTc znAZUU_rv7>G1!Csk)w-{3n-L`AODBvWV`%7`5!qF*9)GN?sES%i2rL)2XMWA!T$e4 zz7FL7b^Sl~|8ebq&HulF`2RJJ|C3%s@842??%&hkKlA@f0{nj{!2dfM^8cLsx8n`S z|6kj9?q77>pYs}W|78C<`G1U``=9Og{yF|1){y((VhY$l+3)+?+w1+0&imgTxqprS z(f9AK_YT7HcAwdUVkzF*nTT))=&gSGxx{ww$Wm|ueYzqg}A9^66F-+4;H zp~{Uu|Mv0+7XQZ&{QfH&|6Ae9R$f#gY1ic;#t%o?&-g!RA>{n&3xpO#{9FKz*%Np| zwS-_*j{P40=>t@g`=|p{gZ&{t_78*qj{V?&82SJ3oE)j1ljZpUGgGif4*+WaLau~C~*!S0H&Odtp zxz4|v_pfz-vVULLKCnrFIsf3k_Wd=g`!n}H5-~sHe(e2z|AxB%)-LBS$oV_#+z;&U z>sgn65*a^HavsFoz{0{-7*+NX>ra*8OB1+`cAW5|DW;S_}`|#0QG`vmR8CS_hvh$2YJ7)<3=?B z#Qv2FU?(vCuW~*BYXHmxR32A`*uM;Z0PGm78Ho6w{14A9knmB+{lgglNBNKVKMZ63 zpRs@Kbj)3I^Z(fY_nmmXf4u&m_WuRq|H;Vz2j~A|{ogwH0CfkvEH#t=DK!T^C*cF1 zmh#C@NdDxN6IGMD&>=IlbXG6lG+J3O8t(1koq02mU?&H zze~~g=jZ-)-QVG7czORu^ZwcUcbs4M_jCWzo`3THP`~eQs$cit4{?8h{o4Ca?z{DV zc8ZDp!Tsobf7bl{x<7jUy_g?7A^-ijUpn=XpjB@-QZnzp8|%OoTOJ_JU+%)xRZ?)v zJg=`$eE|0OX}(|Q^u^Zto2&C{z902{7wa?L|8oQHqwH5705yP$hxU`=A3n1hz&gf( z@!$Brj-k;e?yjz=mb8E5OCHwsBkxOTCpPSx^8s8(>AG>;F?R2k^iTqgHpo|49hf{VSZbRI(SoDEU|ZOG@s0Pja4kPqP2{sjPkBzq0bB zkL1T!{v$uU^1dv4i@aDyZzF8vh0O-WbHrRlANV)N&aImOWw6hB>$rOq~L@< zND0>bi$t&a$KL<5yuLp-@Bb7p_GjN8ulE;>{n`8P_#adI*SbIB|LA%@6OjX$;Me`h zeVyw+7RQMFdxHHvMu7idKI{Lk=Fi;!U@)IKe~tT@^GEF839)~a|GjZc>m}iBhfC%| z4_PfB&fnrlxLPvbdsS+$L(PW0eae2F+o#+o@0Ix)^DFOzF+bT)i;4A}A8@}P|8q|R z|054|lB_qeCP7sw&PpWa%NzfV|A{#=fBspq2ATPGzT{tADJ9^3F}Pm@Otd?aOuzb)zKz9V^0el7+7 z_k-kp@}uM~OOev-0$dxn9QDmAsjaPb#`nzHcXP)7)5q1;)JSzjCDzd`kdllXDOk2r z@;>-nivRT=$$scr$vFLbDcSE_i3G3tHxzL{`5#^L-;e#>ntxz_wDy0n7ymo{BmeLE z{`U5B|KPu__0Q}4_8J$6{YUxiC-=$!VGaCezdxe)jnN*|(q{ zpxoE}gYW?!=_G|u{z{57Q-0QaXsds0{eQ;)wm7!QzoP6CNjHJs{s4UrTlo*{t^E(2T%p}(?Ums``~}|QC{ue z%l~J%+P};H`@Mf!|F2>0-(UaNTMOVj38D7Ca=({k`9q&d#yj6hSzd`ms=`?7u7U3@ z`MEiN0scWYoc}p~>_5Zj|Fl5v zfB%NQzrK3~YX7^(%=bg=&$WJfkHj8E?qi)_uJad-|GSX?i2u>+?-}F%VC+x+_Ymo* z20x%fC#l+hf6036F{v&uZ%MiAxi&%pj;-v^-l60Z^Rk5pNCrfZ~SkIqrE7jR90V|?P7egzu@Fr z$%m2uyzTq}-w$9OfOP@-0VRvTe6YWi`vui7_yV{Na5;|2{R;E}R3Z;hj<~-9{0|*l zA{EDZ#@OH4(Wn7{|Dizq&%Qrr=>O;XKM{WpVBO(Ax*mX9%mIkZ{zkG-{8*OX|Cy}) zWQCL?w&!{U@!a^^U0GHxxyx6|ntL9T!g&`;&F-g2{WeGYbN*)gegELU>-#&z=l_(( zegDdTx7H8hez(s5jt%jDbd7)X{khm5{O|7bpLKuN^UwKy8vn<#-;ez}g8Lo2!McL~ zU;uo8$e^t;7wrk;N=oA?WxIauP-zMBS2sxQpE@<)<4680`(tB%@?U%VW9$9Of9{q0 z50U+N9mM{$$RnL)`I7T&o#bok7t7Oez@}yv4wPSwX$#rf|{^#RZ zeE`h`&=+tu0WiN9Rs#NWPamKZ@jv-zfGc^BMPd_pAfvn|18s*iZhuJixyD zO3q*ZDwUWQ!1rQX>nc!NTO;{jejt^%AJll={$Sis&d0K!F+Z8F^ZFU*Ypk!#SMEQI z&zkHf_j&xNZ;zn{@W5Cp$L{-V(DeYI|F3*jid17BU^Vz(I_n3?xbibedwZ3X<(5b- za_`Bov4@~6D_e5kephnNxl*cjL=M1R@5k@^C;J`$ng8Dh^?yJ2AHB{G`M*;`-M`mp z@PAZ8?mx)>Zp{0`*!$<$uYG^a_tO~n_wxDAxZme~NBRKF0e~Ma570p(JM192@BuhC z(0qW_A88f2SyKA=#ZrG8xJ>SAonQ0&v3th+G-W<({lR#j$K<`5azBRsvZRyL{iTVL1M*BmSmmd{rnZ7a-RNwv+qWF!ci%`}5fI0lb_5 zAIF|R^1lE^{?iYj6)p<9TtErp{u1~ArQDPMi2ch>s6gzmK0t|MKl!ihuS5xJZ?x7A`~Cy`cd*X$Fsow%*BZNvF9;kefk32JO0x@IN4)>)%|> zAMroy{p|Z^uHVJ~V25Kq+0SFW?HyN-9xdt5JR{YWm76};>@PP-fxOi}NbY^;9UZGLX&UpdtIn@A zevS8;?+ply<0FAe`CO|(Rhq(Z7pL^#6fd6^)0l@yeMb(b~+~b|`uP zUF^@?KiJPX|55&f{ao*-`v{Ny8vna~f7bo|yua4{y9DEZt@*R(kNnqufAGVv_czD= z;C+=l?kL&MJ}XtFHZP#HzWV&GW_|aWRNRF%oyhrneCCt&yd7k|#{TT@b2WbOT$#_9 zKbYfJ<}=n;?mq#4P!0T#{B3Jl`}PvynnbpF3fTOA@RSBK&A5mGzU-l320CDAp82SM!4?0M)SqrfB0a|T% zay_7wdw=Q8*CX#~n(GhppWKhKpFV)k|3F`VH0~$&gY4%q*^j!v+k^jgPj#2-AvV*Q=n4)**00=0kE{q-7ujn@0+e1Djm>(BLmVtfAC`$zWsaliKb z$JF^Z$OpjRl<&Q_Wc~Z!=)-JZK3crSCC5ejf8UVMedyiL7(cit^V!=+-ZQr!tn;6sp{@Cxwx&CU1{X5_{pRxaj#Qf`cOzEz>O2!K>O4xb=TV){TuURI=kInHI zuk2UuJN5_ozb@vJ{mlCZ<9_m=%zwh)^O)>c{x3aN3fFvVJplfvjQHQ?|Han@u>Su| z{KcuQsgsqj=gR6|h9m{NUkgh;)rJgaaK9Am0j6J>EomR(dOybgMxSa;7{1lJ z??EHX4{+D{;hMiA{N6wCKbrez-=81*Yu(>n=SS!J`E`F6|FhP zEg%>C&qp1A{Lh?+IzQ?FMe|A}{m8IL?aJ0;(i^ zez9cJ4}d?AJ-^J=0t(;{q+Ols`usNkJ5TOcsKJ^+>4>o_hVSV0{JD95jQ=(F&-H$S z@qdv2n)_G&Yy1y>G!xTr>U||sr%L*3ui090n{lYI2cT%>S5or82rtfeG5(sw zS)91J21!YFnxri`O=_2b&y4Na=NF9k$$9PPV?IB4tZ{!V?={wc2IIqz`Gv={zr&Vx zlY*yaU=3)y763n2WfzsYxc-M<)X9(F|8k%C z%W<2zfaUN5xOYAQxUW7y3SxfE2XLQ;n12m&0Bij`faU_y-~+5#h?+iq0rKDX0m%Ne zMU|3+{Qv5cizM~SY|I<0-N<)f52pg0bD#a->VNd9%uS?`9tP{<6KA7Vt>w_`=I+>4g@Hdz; z-{t!8TrS>+k4WYt=dZbc^1t-ip0fP?=WPxEK2PKSddS>5|7HB&h~Jf}%CM|hnk#Eg z54*VE<3D`>pZosa^8q~m2Ymp|2?TwBwa6pTSOZwSI3lUY_iH{Nng^gCumJ0pAm7i} zKkc*(C2kzT0zv-fYk>-{VHmH+si|C#gtVtL=(?egP~m%L9u zMSaJv9k=P9bko1&T9H}b|5qxWKFo{h$$z!jc%QempD(y~Iez>f_nPOA#{A&Evj6Y& z1z=0NN-g$j@BY=kyZA_q|E&Z0^}LGlzv)lII`1h=E0-^?Es!5htC8=)dh(yP%-=H) z(2xW0@&c|m0I|O758&R<2hbNtMf}e_YYD5-OGxgofe%1`VAY~Bw_gk9r=A4nBL|R; z`2cCBmP^Wu*%Gdbtn)nWKQ>$e*4TMHp3t-?AT|0jPbya#Z; z|Jo0V<(tJJ`Tm!6jcgfis}I0j04Qo#RoSmxqtS$l6j*0n3M_+bM-w+(q1^8k6TzKZK49)*4Y%>C*%Mf_c(LSu^pUW4!M2uBpc?b=GX8$97n>{hgLVBV?*lPD z*{-p^*7lY6dYgWLGC#Nn{{{U2;ep=r|LmOycva_>uJ6o!?o1|=J98&(5-{L`>D9)@ zy*nZ(aKlYPvsx~WqfMogw*yn73_y-CkKcUF) z4Licu>}YPrdVoCS0;(>(9PHP5KU(*%+CQ)NgYR};<0lOHf7`cUO<>8bx0+mlUk`9J zuWabsat=W97mqseI%9nDo-5;dZrd@w>iRb08QX_4y&nec-{wEJo4)fMDgM)+Bp3AnjVI`JoZI&mZTqh=2avwyYpMMVTqfTQ^Iabx zkpCX{gD_uNAGk8!r=jl882SIrcO>`Yf0v@X?6x0VH#qC_KRl3c<6eCJAHnCW0pGO? zpV}{xf326jU_LF-4^Ur#x`3Mc0ICI$|C%SDPLOzOy(ED7YDOaf_Y-eLeIeGQTagDq zUBH3cYGu#3G+aB>&lw)U%XREG0S_ulO61Uc?@9G}=S$N+Gw)9gK;wU~;eXMX`)~ig zzd+sx+i(2Wf0cr}@0PsSSj>_2dq0l-#dd!4VB~r!{|JmGyUBRkXLyZO!1V=eKY-h0zo{F%wFb3>wXizbcS|+=0B8bWf5I)`|IJlc zQ44^az`iG-`yVJdf=BA#q&=R2O85Xd&;cqhyBsxvr~@=Tf3Eg#^nddI_~-pY-3RLd z3df9*0@MWh*A4u3uXt+IR>}Af{v9=XWxeqMT<)8iKG#18#(X`--`6FP_=$dpdmnhX?X)+>6iu!+d>EBTU|viI~4$l>K|af8AE*b6>aBFR*h2 z)C5!`P#+);`oF0cF#Z5?0N{N*j>W?lh)3+tJV5fjxW3TZ0@Qx{bNvtVQnl;ps^VhF z`Q%fnfez5w_)ou}2|7T@n7gGQCI;7h@O7bMeenwglc)ugkk9MhbDezthX?X)+>6iu!+dWPWR}a;CrXUwzZ?AC1>+jb2hd~c2QW`S zKR|s0uJjF}Z>upY_f4+guMJ+!KrH+K`U><3;>T1=>Y5yX#@}IHqvLtHG&fhWr%aI= zT%Wg@|KaKVKNA0<0X|6f6HiD{a&ouNCm+lEpc?ZZ(mo#>n*SQ(8~xsm>&bc^_ZaVP z(}yqy&T}R2&5CX0{mnk&fBFDvi{AwQyLT_A&;K^a9G+7?|J(S|XvB5?5;x|^p8INL z=ieG-8*C?dPE%ii+w=*P{edfe03M@upmhVf(oZlx!tJ&22O1;_en8}{RT2dsU?1`T zQ46C$xHb?qfKCwm+rB~Fzx|tJKL0$fD_0hl=i@}W zlRD&14$gbV;k4H8Df789z9+*y*1Ox@F`Q>?Pre(*yW0z0-qQ!rb6mlGS@vDYSofyX z`uzVhFy~+YH$1Elb}v5v+xRjoE2)$%?`47Sb+QBO-|q6C+v*4G0NZstP!|Z?cl>|` ziTG=s>l2`+0PK$h`}f{j?X1|3fgccqTtNJ)48;Ea+}AcBul8pI9_2fNJrw)qz2NX&xv#OloyRBdZKFRx?&~p|@u9Y% z`^!?yl3M=nlDGa1pa0if9vLC*Vp`-@qKlzR?E2`aLfH9jyTSI2VDOz#jSmILDm8hC8#RIM0vg+IV@w zdW!S+OENR%&~wj8J!zSZOR_5bjJKEyrw{15RCX3TdWwn#QV zUTR{0vY*`Ns(yg_09?s>nsT2jeFEDDpdO%k1Jwr13hwJZwSZl>RY=5FX?{L8#B0-$ zhl>v#l0(qi8~zK|3FzSZzrg#ig*K6aImZ56fTMYbG)cs~aZ;WfR!F8D?`o)V68_Jg?iT71(}&`VD%FK0yThfP@t#s15e}{X@Jo9eZfTMViG|77M{~K_bvAS|!dGE#XylS=TJ4{@NOcY779<>$#j7G@(Yi!gv?flX;?ktD zsz&O&$xK>P69^w5_k|av{y%ZOz)q42DErf&r8qvm)4qQ~eB3(lu*H8e+~&USllzAG zZrrb|*Og4yZDsy)m;XG+ZCzJj))3Z>d}LcomU}i zwr9zcA7scS<8$TQ@kKInLYWMIr9_6kQY>e`RxB5d&z9RJC(A0_EgrGY`Sh#_ z%osaXsJ(XvAD|GABV*k#S%Pn}XaeI)J{s1|zOef!IWV>y_j`93z zpZ|OveEx@^a`+DW{BQk*V2`QKjdI4DB4^Sj zikvY?WF+hiZ@Wp(ezQ_;o?alUc9lqGZYAcNHih?rhwfJ}UJmoz&qz zK+!+_vm8VppnrY9BYhKC{3p*1+g;{!-`4Jx`8*zIf!pA}umAh}4ju z|F`5~o_oi~&E#4dW*<)brc`d2UJK?oIgAJQ$^VfdYy^A(+VIIua?P|ldFJzSiA^q( z+D`C41$n94SZ zA7I!IhN};t{(-L44aj`z1@sp@4Z+&xdDa1}9$P9YG1(#=94ev z?-_5yeV6|UAN%=#pa0>)e8~Ip`5)w4p{BY{KE5?m){kkFRd+YYO4oFozQ76`qc5<^ zH6EiW_Yb$)+5vC7723eMSF(in-H|_L=5boNJUXjV&T?aYvVYVYPTa44Kr{E7WaJwS z#t$I-N4{PQ{x`}9_zlJ%fDbSNTEO{}%Vqxh9OwWiZeIgu1Qn#DNdChQJM;L-9Xo1 zz5(kDS4~Yv-nL`s{bu4?gRg#3Cg+3UCe{b{&!oWz(ET&sAoF23Hqz1n$a@|$>?i-h z{^4qGHOfVkD`e5;94V`)Ibrd{yn8`Hf)v9Cs6X}8u=)T^|NPHV@YrLfH!;ZD+CLQJ z8Q}c?eT$zJS@Rz*{}Jme>y_Q=8<>6Y-8+wM!+fw^V|!)4vR?fGU3ow2|DWXe^M8H) zKU|a#eLp_`gM24!S{Wk??%r_S2eV7}v?L zx0>Xv$(8aobO8DQC+ZLD0SXcmCI6|Xq~UvDM3{7dddws|IAexXSNPYAI@0%6bycOr zFU9r$*8XQpu9N3vIC}M*)!o-)%5&vBxz6oYtNZ(Ud@cF^pOU=Rzy6OO|Az*1n9lh8 z5BQ?sclZ1`J7wXWr6#6V#vjS5{MXx(`+AJ4y{~=&k5dnrcSn)LMP>y&n(*#Mqv!Eg zlThRTrmOY8;l%vjK8`cKr$0c>+p)ii`%V6zxqouM*~tH4;6H6R>H)5qRw?t==SfB7 ziF^HX>dHmv!_Rx@A!+#WkHg{vlwWj_Nn$ELU-SJD^WVrufdSl%!myeIpO zx$HNwK99Sm?B_oDt`^h}aQy?+{xSYfSToVT{;z-ipD}}=+{&7o+B*Y#Hcr@YLW$gd_tSlJ? zuB+Bh?zf8lT_3>F{@ok^jybu0#{H=MH=4i0e=>jQ6YLKC@VQ)9e6>pcyif!4L zRo}7sj^p_Z*F#&**}GRtZn{aDzJu8@$598M_J0twf6EICkLSO1!u{>k_y|dw4JL2+ zf6xG2M%(5^>mAB_MS8|;i0*%{i{;#v@arF(r{;Ksqkf>$Ty8U$;{P;g4m&0|! z=YPOA8acRPcDloU@Om*gA86$MqJZPZKXCm3`T{id3v}OJc}~wW2k_;KsZvzfF*E;J zDwdF1jM%^2uwUbS`T@Fac#nOL`&JIXuz#Xk_wTWvxqrs|;Js@@-+~{YHnmYkPcD;X zTXQfs@Wj>uaw8%nA9Hyd{sWvi4n6?q{+3^JjpXjz=g0m5pXbBv9^AJ>G8X)xng3+D z&Gi<1$2sM=9ycqw@BW_p0_477zxz9SeB*yf`MMv-+Qg&-fp?|4{s&0$*TigPcF5Ocrj+m9p{^w;q5xKtWub z6g=?2ak*|_#YGoO_QHkeuk6^~k${gxg4$&KK}#0rK%B&u6{4aX#V8;LYMc-dhWNd zdz){g{(-%6JJ9G4ko!DN4S?HUPfO~s?}O@^dYSTdKKlL8uMd`M-Jh~wb$~!WfZXRX zW&a2_=Wp`;R?fd!|F`1*DRnaB?ONjlTs@;w7H=((st)db40tQF>n{5O@}L9c-F&k& ze*gRJrUTUW?=QI@e=JocCGGlnyTc!2zh>-8fVY z=au`qt*ajAO7?$qSG9aRWk-kczXbD!$A3}??mPK>)%;Zh2;{yp->ioJtoe6l{&;nN zZoQwW`!jiei~S}C0RGblm{Kc4rq!EzfaTkAPUw1ohWdKRi;9w>TW^)7f5kQBzhy3< z9_-JVGDRx#@&ew){_c@H1AIMFzIntj`KVZKb6vNoA1LE_Ot-o69FK9``a{WF^g}5x zEk2TmctYRC=YL2phwFsT|A0?eCip++v23H^&j;IE7+Bq6-#z~|R$AaW`U!!@xUYT! z{Q+tL^Z!;MAHTgl;E{xHcX!kQxn|r!L5pt@|_XA3o8F`?c=hX#Wjv-rvdn zd-;CN`(qtU=EDZRUE|ph%nCl^tx{RJBj<$g3&=-rV9s-x|1x^CH2v@YebjzH1N!`m zZ@57Y&7EuN{aCZ={~Y}@P*GMa8Efwblim1VS#7gCa68mKj|Uq6-bVZQe;NKK%&lZM6P4T6dN*-eVJoFW? z&);W%zz6sUclo>>N{*J?b-!`>4>ptEsLwN|Ea$#%>#E1}wz^`jpZ7QH+v<5}|Bah} zAn}VIk%oG|R>S9iNG^x#gwOwg?~9D|e8Ycg`t$BQ zx0$c;KiNNMT9vWE@ByxUrvmi=c~W@-*8}ivS65waX7%N)UoWZ8KQ9?qT_yP^pDb1X z^iNX%zy3+;VCCrR%Na66(oo-@Hf@^ZM@C9jadEe=9S``}9`!EgGh`%ek?KuXiflpr z4>o)3x3?{Jd*{7l;Qb~VewV9v9Q(!>aL@5LZ?pOPQn&F3lCotM{I>30`_C85=YO~` zAM$>D{s(+>kpHs~|5K+YyUF$=G39@#+v<6)_HC#Md^x6L`CpD%e6N09Xy*1P=L1($ z<8O5T=3KwY`D@Kz3+_98{w?Ev=>63ETj>7azRUiB;J>ly6*6c>jhyv%v8>shFAXQ~ zwS(=q9(h!ZJbudN&62!efuwx-rKHT8CrOJINjmBVOVQWg-TTGt=j+>UQ-9Bh_)_Y& zp6T!(jIQ7KeQ8qm>k4K&>~?(wJ+7;srw_qxvYxTOVZQ4V=xvevFIw|siQ7ES*KP0u z`uq>c<#3(w`5*8_LjC`v$Fod6pPaV2{W}>HR_L{OVif`dh^PQ^Eb|l`i|S zavL^iMz!2ByG$aJN`*a{-RXzgv>GnQxo&-S!Crw?DCdhkisy^Pm0y%eLgnd6Vkk1GKFB)3`qr z|2fxRbNw3c+pE_24@R$_a-ZvoE*OkZhHhMcf#+CPB&QIys>$WtYCjISsnWzDDX83Eo@67hq z8b7DbPiy@&?ssbZ-8z5N`jP+2ey83qAojQF{RY`FzwrZ<|7C{%{og5-f$x;djkC*T zcVY?Z0sOkDfVZr_dz8;WJ!qrQ;3ZM}>p&;GwA#O938kBafUJv4pqciQ@WoU7UV zW69hzN9yZN+*y}L^HTWne;Z^D}YzxwK{|9mvB;fZ$JoUCG*{r6PEe=^)=wc+#w z4Kmxcxmf4iUoW$;(#Ut3o}c61j{7`68|U=4vmS7MkGC;@_wC3IuL(*_Es{S>Ekg~z z*7iFyeD!)h&DZe@G1H$l{)YYR??>DpsQHuouz}N=^LO(8YJE3O;ooJt@&iMaSmK90Xrl+N8=YLD%_8&_VasXUu4LfiQ)`VD{`^G0= zj(}`ezH?pxx5<9mcAV#J%)WbD-PYUe__36%?87T58yX8I`in>BxDwqFa~-;MiCkH1^*KWM7v{oPzYe1QHl%MAAi%ygLF zAMEew1b=$BVe8=DLVt=0FZ9Koh^$~Xcx0LR9K+5tDcDm=JqaM(;*IxS36Q3Duv=RVn= z(DC05Y&XjF3%&_ym9ZtUzK9l=}4mo#8{%g&spid8r&&a=A3^{;4#9 z$r|G~?EHx|?D~n52Vf2W+sqF%f#;1lXP8gU)0F>#t2qze!>=&5gY0*1->{>H9Nhe} zl$8{8p=ay(K2$&c4;$x0-BBz4UwY}K-J1WL!?JjGij%`fT&~Rj!1w^_2Q%J3sy z--l1|{)4W$+q{p7cV^1I=#1n0fjh##&id%Ayb77{Rk@r$9o&Z>pz;4u^!N`8=<}!6 zKNMzS{uc9n9R8abKZgCB@yGl>`43~Azp3?Stsi55)%}CalGL=IS%7Cxo>Vm zz6Y58o_!q0YIpRLgS$V4X4UZ;UuStE`1OCGupGAIt@wZO#TQ@SS>7KV@i@r7Z|26x zNB7m3nBVZ)<+ROs`}lj{x!SwfRx`)&yIl1c*LQ4th`vCBymeoh#O%%Qh<`cgee!w8 zFRGLo%SvSQ^m-XKrBTdvd{N)$X#TA8ck=vBt$)iJf2Y?UaX)+e-C947`-cB+-k-X^ z=K8I;zrX7KR@{HO;eNjK{UFC!zklS)?Vn{!9DIPPfuwAqiOUBnsy`hhc+NI9_KOFyx1Q5-ZpOI`3v+J_!W;c_G{f;`2XjoDX$Jt@wY@MHgMy+1@ANemq~#*)AX6Rc!eGp2cr+oUwZ# z&jXo06HI>x7VNm5qYp3xx6%C>57fx|<(ZwTHi$kzZeg{&v%EwuH9mlSEuWU`4?5SM z^?o|rM`M1hM)x~gH$Y(x8}=Fc1ea|15#d5mmtbbSHC zdG!s*cCw$ofLXb%{HG59<89$jWUl(Xlon)msb}nXKUhEi9}3H1JKl=_7hG@wE{N5= ze=-i{%k(?4WSW+Tq zAQzx{{vqh?BlCw~mS0Qu>s&u4_IKicSMPUy0HgWaeSXFVaO(TLeE++a-VYz(^!FY1 zpAO!8{QodpPWv!R`eD82t4xVP{~~7@`ak|N5cmw#)>KJO%v{9!gAxDZ`n!nvYj%MD zU_Il1^1U9%$$zrna2vPLs*2V}~ad50w7AnE~pAE2|ng*yE4loe%2;oirj zA@U@tgZ^*gf3Vr(Kl}j3{mctA?Q#78vKz-3zZ*S(EB%2WoDX>nf3I#&Z%K_@?O(qs z;9cPJKNOb3c03sWe--dDb-UdfTzB@R+x8o+-{!t@o%~iK-;FVjcej=6Z{wJ4!H!SC zZD__vc&<$1x=C%Umb)FQ0V6Z^o8?RX~4X{oRrm45q+i9 zMfH;U$evOU#xw4(-|glC5c^XXXe9d?>yz~~>&pr2-fv;0{+h_dv)d%S^^T9e#&nKTXepk+OCDX}x zuDY+BSGMcQ+vzsfw=CoS%qMGP=cYob>!jDZp%0LqUn#TJl*lDB9Unli>7y~f>G9LN ze=EJ8J$|hB)7gIP_j9b7|75@NAGLnqePGVt;eV!y`x*P6IxD@|uz&a02W8j(0>37( zyM1s&{J-U;`I5PNtkmx9W%yqQ4S@WwC;y=Z)J2>m4W=fLJ^*R~$#&NdFj|1o1gHx* zeu21}fa3$W$EXRYPoVn1o}Wn7u9GltU_3M_f97A{%j3uYp|Bjbiyig{(-svfz!0d&s|mbC-WKio7kWHXOEv#>*r|x zPOiT%a{W%s5AKuwhW}~czhkG&J|KN(r^)>b(j_h(^#K0$0y^z`DI5=s@7K)aO;Wb^ zQmKvYBehYz4ex6sdl`R#S^)im295u@;+XLRuubM0GuzYxX!H-reVFA2!a1x}#wH|9O{tBOQkayk%{Qym?=ViRqR18rO5RCt53yao_O&;W~Ne)e_0fs5}n;QTzQ#ey0``SE3%E(9{GDo>uGe-_G}Y zJ^t>s{QAG6n!m>XZmqw^e4X**uwVJ_)ca)%*>7}zH|MXh|0!TUxqr&+R5@i%ifgHI z?>7e|CA*}<=PI|~Gw=VUqkRU-N(*KG=Chz2Uvfb=@b|jp01`{)WqW9@A~Ew28P4kH7YC zxkT+L>h#PqIzWDfOk7lqTmbU^oa@70KdaA=+urqjyjnkHKXreX|3>e3HGk9NA6V<} zaGy1PwC4C9d4FjC4*S9XITrutCQIMBDf0Y^bVR8`e>`X`+}KyG2BytlGM&Y1xpz@GD?{rzUX zk22p~y=(fgzu)D)>G5;pey_$KbAH^I-*6wf5r_ZO{T=pG_c#2v**_;)PX0JaPW~j( ztPd_eAn}>SeqTVRe@C_71LS+NC?{F+cHLxj|0=}(ReKTt?{TeQ0r|b{Le{04M z`OiK-#{H(=U-SOpKl1#iQup^Xe@FX2dG7vZ{(qVvec=Z@x-3N!acyT_|Hc0~@t=X3 z>PpE?{79-}2TL_#|B9%Sr4sz722d5*TdE=)4Z!pRuqS|80JVRtM*oK|(4=Pk0qm<^ zK+fy7&3|rF8^F2xsFNgf>))l!*ZxDk*?j(o6ZJvwOZorrIBWQS#u;b${Kq?%JpkJ_ z=gS-SmpOHMZfsBHtCoK_<}v@j3f)@UP^Sd?C7fN2zO7tH3^ZrA`ZRs>JX=6!*z^Tf;Z8J&tL-&sBW@oBPW9@!&me+~baMo9A8{ zTPXR+uXmLnK3|!*X3)fMisho2Rp5Vx%YVfE-t~O#dOxl8<7_|Wzs~l_LChbR^S9!D zlk=zUul!Gj1^~^U>_^_;u;1{X?B6GSK8y40`8E5Y1NeObUFCgsERVCiG*1pizb2(| zr%2hpQ>7f-FQfJkAHZk;0sODUem!#l^Z{IJ#M-70pz(i@wQ*l>DcW_X6z8QM%fs(B zzvJ^ioTv|aU#<8*V#J7_b(=TfVgAvaoC=x!c8RIY(^y}5PtGgj4d1Q!o|?YR`oL|& zd)($_FkkH@Yuoq&kJie@4cT2PXYJ?!Rr1b?VmXT%fT{P#On=Vt=UhL=`YmSr1j+Zi z*Y;`IXt0&7T|dJKT3Qf8_o9e4=qb*&l1z-~01up`G%1tlYIEUJ|qY89|46 z`*+FHjQtPB&XdCEGo%#kFNT$p|1qZ+KcF%e+vowPf-g`FqYh9Tjha9jdjl;$;D~g9 zAo@T9_@5m$Tk7gMe+^GZzR2LeU;h^r%V9f6{{J7Cr~eNhKK#m#d{1*v(`X}(|CkNAI<*83y&xAcEg>u2iyz<~qz{<$Et9JzBCNE|=1TQ>7^W zG%4J7nv_8YpfA9+lDPoX0C1%bVCMm-0~lWbJ^*z9)&g*CQwIp-e{3%)+!t%6fZM?!SQZYU7@)mi23My4);Veh+g#!1(!vGMqI4sQqis`&0L4+^?~} zeN8{r{B^E>^K4%e^Sg8YoO*xl^LK0gKW5Hf<9;XS&)DB#KUQ$xwmx4(%HykIWj}NP zK3@N)>puf!#ksN%HFxD;e{OtVDTI~8!4HUq4iM2tO2K^A0#v{cAp4mQs0Q=Z2QagN zEDgZq16UVmd;#Kqfv@WVHT39p8@a?Hs;p`nuYj=QdeS#y>x{*`9N^pT){;uFsFHlQ|!jN7077T|Ed13eSYrse7tM3IeHj7UBfaMBHumW17)i;+wS)cntX=LsW|8s3Zy?-NO|KiAyF~_~&b6%jROKt?hdA z!|4MQB8M_%NuHc*&G>WX`8I3*eNpR2W1YX(-|uSuUamiIz8~xSsQDxAH|+QLuQ`8e z{>b^;asQX(e>3|}`f8{2hTXd|Qubx#b*Wm5Zuwyh@lW&mKG|toB_r-8$xS$2vcY~D zHGo{KMPxs$0Qms=0VU`KEC>H-tOp?fZ5=>;0IpgOP>=cm;|GBIUY#KPfkxLSV7*`i z{f?-qQsZCeH^eK|^03eUP*@Jz@mBmFJb3V>EnlVXy~iBDs#OQ%l}GCg|5eAg*HD_i z@?PWowz#i80GUsF3O>M-Sf9i?@wH+}O)cq?F9dyn+`=mPaCL#4<7xnQ%x|`t^VfQR zo$YJ*@5cLv{VnJFwP3&7{zxQX1`vYQsu)nt*`+v1dPWozxob>f}tUKkw z^$`-Ck?ZRKUF=u5Kj|K0^eAp9~{e5h$ zOrM$o4WMiG67xHny@4-$l_!JWD+22=*N-v3HQT3UkN-jR_`7p`S?9+-Khx{y^!w?2 zpB9?G>GN}X{S5oRK)s(A`&)58%fVY3A-mR=Gm6W&- zBs+0{WF($0hZ6gF@jr6_)By5b{<9X)(E|D!{?i9A^?>jJR0pV}CV;wtTIK}6f7S#T z9RR$q!}Wvea2)~q1H6`y@dMx!G(iKXi$7Iz&~sQ>R@kYZug>(~{P;g8lf!wi75@hg z9C%4*dXIF5$5LP4Ag_!|mX{x`Y0GzTtd5;(NyVSZO#$ z=JS|x|M4dp#I~_xt7PNGoGzIM;A==9AitOaqVzQ^n2xyNe_^XUWFalVP~ znbXH{GT-ptjrHw#e=NBFcN|ytKZgBBU0-0rE5(wWT;65t)ty{GrA%LwD;Iv`XaFYe z=Uji){mnIfwa<^&^lPd6n>jxo|FzEFneWpZz5R~vZ{_`|`=i$1srTFC#Qlu_$$xO) zuz&t$IcdQr>A7&D^j@+-p4hlc_GRb#^#Gmt<62c!CdovoC<`xB1Un0Okc8J;1FApa#I}27>uU3-I`l_@B7}u)iS=K0rcm$=N$W zswzr5@iW%>9-7bppiB_vwf?=B^Vhf^%Op(2VmrX zMnXTya_a!K9#CrnnFpZJ7vNj~GaG>O0bu1c`T`~=(3}@AdO)0`2h{BY`)Tk88WQ?Q z!Jd(lmA0$P`sE$<0{i?AC+dUVS0MlU^zYyQqKO6Vzkt(lmkL*|0 zb5-7J4gXVMx-p!4($e;A?rW@1)+_rp<|p?9?WvdQWaE}{sjcg}IwO66oPr9OfY}QD zQ3K#z&)2K@v+Dl5x&CgwKYW0ed4Grh#s_GT^WW?C`k~*?jT*ASN<~>PyqgGJ)qG6T>eu7C`V4f=?!o+fogES3dXf2-pvV6|3~a!mvFM|+x!A% z{rUa=NBcGb|NZ*EpjZyu!B+h5*RS7&NBcTC-)KaJNbUM)_?vs zH{VaaAMw6&f8jcCAGT=%R0@$L@a; zbp$V$N@P^m_W`H_%vhHt7tDbVz?y$+t}k_e)%*kbZ|3^7$$qEKpRxZ*Uz7dH|1Hwf zykNYPq^c~dJRZB+xZrPi9tL#k~ zBvHwOBpNIzS#~1;4*3TSm@C-=E>X6ZaeT^IE<-+h6M@~Wy3?+*X) z@p=a88|uOST@sagmqexvkv++SWiR+21O7+vA0+$e1Gu>Wtp!NYTmbq391Y-f(-WY5 z0Y(FW50FP60LEE?g;>=GD1|@J!ViF7P(k)5I6gove1*KYH_-2wf4u(f6aMe|{0|%F zL*0?j|D*hrRae)_+}Y3oQ17pG{K|Wc^SSaE`ESSin%8ICPgDL=(^qYu%nywFmH*_v z+TF$Po1ps-mfc`KEy9ie_k#a%7XP&#z~O&?(+|kG06H7M=6{aizvBZG zB!d62B5>XK0IvS8K0qb7&+Q8M0dy`-A=T1JtPb+wniy zPwtO_{q30sxf3?#nOd3jexYP$Rd#V7ph-$As^rzRX>#tTZmqw@{oZU}*7`Z~{Y;O) zH{VCE?c>b&(;oj`I^WM_e^12!J?FFD-|6*p^nW|=ze zSEiiz*?yVs-QSJ#DEHemJF@^S1QNzBRcYXXkLdyVgd;_@8Xo%X4$P8ud# zQisTWuQ5N@zgZR9KY)Qi`xnO!f$krLn!m2we|ubCyrcNze*7OE$hUDX zt@wZP$tRz46fa@7y(zE9w{T$|>i=q+bNq zbNtGF&F?Gk=?CaGHGeziSN`AnoZ|!Bg7xO->gB;#3uP~SfExHHUG<00Z*EDsOx&0v zqrcE=`dPF6T4?@mkH4MoH+}w`@3+yN?W=J=>-|*sC;RQ3Kl1$=^S5CC0w?ZYJkw9uGNVHB{S{?DJn=mhX2t2m0-_+&;Rg1zKwfn#s5Bi`iu_tTKUIXKLa&2^|E|r zfjseaO)KtuT0hvYd3{|qw;#xU)%eMKvfehv`zF`##rn;$zr+0o;rf^78|8ms_l&QQ z6&s7CyrQPd<|$PN_;AMo8Tp0V^XJw4vDVL>>(3cKChoU#{wDU{n)#LV+6Op(n8-j_uwSIDxo5whsO2w4iFAFw)gxU5N44FI(OhW|rN4Zu$L0a^z@ z9f0+KoC!c3Kz#t#1W*H@(FafsKx+cXfBFMi$OF)FY2d%D0hA@7CNS}DQiQpKT{*WF z{1xc9qdx!JAai(5wc>y8-o1VPAK^!We9F$LkckruJ^pLFuQ5NFuiPi^8UNdHKevtE zkCoilSf9Mt8vkH%KQ({G{WRtOP0u$N_R|OW3%2i?P%E<+l*)mFD` z$$qEi&(Zxg{wMnx`-A`M=ECMkPw>A#?3e53%G}sZlAN2-WuNmSeEWavo7L1-OLF#J zS(5aSEKI#r79JQW-?+Az{7)Srs|^2}^8l;?U>zXq0BrtK10er(E&%HRx89G(vdMb;4V!c2p{J{i&QHE8^T~UU`Pe4smG|7H)^FGk?o;Pi z-rF^Ps`2Ye?%(`eqv8HdST*Lq$uPfBZhWCp{%qM_UPNwUQkm@7TO_=Waaa7I4^UKI zCDXPfOaCvO-2X|qhA-#(wwUefUE7B>e}VaahyPBlAM<^+)=&A*UO&zKo4B9#{%*Y= zSCjK++z;*F#QhHY$^D+|KWes(AIP8$AIgpJ12!f{OI1yESA5Ek>tkjNT~wMYE0W%p zd8yaSd@z4r+Lt51>6AsbEO}^o9f&cCNS+u!N)XU)Ic<8NyIq5EsSpI7r|v7a%&r~A)E%+I(V zwtkkwe{jF&hJV1`m!6y6m5VohAg}LUA_t1HrMj-R%jRL)>l57A*dS$9#j-u|8~H5m zukz`EGv)L2Gv!Oy=BJ$@U&B-bSdu!@XaLLL1FT^kfa?QjJs|nN6ElHmS_?o8APVz= znFnAFV4tf4s1HC5Ky?7e2XJNtX)OR(`T%)m7Qi4$-1C5xmiRON+Uq@F{~e$IZIC%U zr+og~Z^&cZ);z$J8Kuzo>%Cq+*7e)m*B*XlzH0p%@00sl+po;m`u^Kot^a1MG-bY{ z^+WF```x(zPgrSW{|%P?{>27){+&`;yS+qm@~favcdc0ge4a}%Bj}y&Npi;55f=ZU z_nTfn>i&rRO|8E*-`~Bik757f0NtP5SN0ptUwi$a`=igVhpG9q^ZjnlAG&{w*k9QX z?)TgX+w=}>rku2ShTOb!j(ifkK~nNFq`J22)?*yw#{+&(BVM;6Tu*toEJ%G#K1e=K z=A@63*|51_|EI7oVDnu5FR*lgWyk@L|EvR88^C||25!Y{fbFoIi2YRuP#=IAKrGDE z0$8~K>Hxf6a0<-!0c;H*KXHI$?0ZBCbCbHg-*&98`{91i=YM!0-^RVP;{Qn}opjdW zUN`@I>t}%1hua;A>jJ!5Y5Mud{d--_U$uVnUv+-28t2=q>ioKDo}W5@bDp31{g$RN zzjFT%;QsGnzkA8C-(sa*{}S|r*J|YTITf;MYp!JFR&=R6HGP1BvI?0Kkt`Q}0}Wul zGvCK>AM<@qGW~wg{=NCWPQITxf5U(3{-)QTd4D(dSKXg8{=Aw$#{HV_SN=2S@6`K| z{XN!O+W&?RzHz8kPzPWxKwfUE_~Wi3F`J(8arAq{?CXX`J! zb~*z7`}2R=fO8m5wc>xzo;`j3ALIMGqM}yj%`ZR>pvLRv*M2^Y@ipexRqOgy>sRjU zsx^L$_f72Ya-VuXk16-LlKF=J*e3fK`;+WIwIfwzs7B_Q^7G$6NBpoik7!*D?49(p(0Tx!5yZMcqyNVbm;LeIAWv2k z=681Yx;sDq4+G)bz6+cGKfq1<`27ENpTXR`N}2Rdh2ei7^L1b6_Szc1^4?y_dlU1! zb^YYM#{D+;b=!;iE%rMxzr+9QT<(+qzZ%zM>=)x2<=Pi2<*AuDvSC-Awe_|5KXPSH##Wgc^O(GP;Cz{!elF}BnF1sG zX*0q98L;;)AAq?4<^kvfPy_f1{8t}fky{J69Jv7Y1gykt0PP864q!8E3ygVy9k5+) zJpg9{nEAlUf2>*$pgI730i6?Q<^sf@hkC!6sP*^j{f_th(C2^Ka1O)SK>qjc(WA$x zO~1dze|NsGllyn;{oR^B zr{2%j{TcteHGkwka{tWtpR}2pKiJRM-{b#e!~Who-jqH&$^X~n&kQ$KcE(QjNH;}iOq?`%$_gg)u=zqE2-DWgtYVI)pW<+gby$Y z{D0f!KiN+o;9b}U@BuUr@G*RVkHLP{0+9bS<^jlm_5(T^zzA7xask6kJpeU;jfVfY zJ`mWy^#C;hM+evg{+qc#tOso20}L>|f!Z5D9e{NJ=}A|hSN3D6s3#`~=C z(^%i*J~*#&zt;QNF+bT)?vwwt=D6SS0hIsOzz?8ZJ-$({99J!OO|6t?KPZs*7G}$i zXk1?~w_GYJYdc-706Cct9pJN=L>avt{5R~k_`jI(KeT_3|J3|7{)Yy@oWJJ%O|O4o z-e3FusQJ$ci2YsmGxu*a|94#WJN)lO_HUiy#s9sxPlON9%>O>SUNQVXHR2^XWzS18 zdiTpRCTf~Yj{j2T#jJoYa1izKoojXjpYN)gD#=5fADrnv#RbO7*w8*FfRKj!&?`O1A=HSTAB zpR%7T&BXrTy~h4zzvleOf5!Y8_v?BsxKF!kf@4>{(j-^VCN#*^6YAs-Z&u6gld@#m zyhE~dQzra@Y{@Sy!#sidPVrso_yFZHeRqruS%JF$Z@~Y>?sff^fd5Oanm@g!uQ%t< ziv7udQ}eHL{-FD}>h}w%`P;yLKbV*EcVqv}(;fB)@_*+WM*FA!&)EOu-Q(ocJuevk zpBnMJoEG_<42XVKhDJRtH|(7tuSL$5*vP&@gLilz1k#~W4#osV~uj@E46ajxB|KKxg@#t?|bCw=~1#~XMt?k zohO_2WXt9~hh)p{bl3seyen0N4vZbebEd!JMe=Xwd&i{***i##8I8UXzOTL+*9 zFcJ2)l?TxHpE-aJT_1q`fXoAME&y#FjClat2jEN~`T^_-SOa5UAo~L72iO|G4rl;7 zsRN`Al0At3=>vFq08r?yJnE&U{`N{ulv0g<3`>&)i?sx5SFrWOVk^L9bUTczzU>6!|lnY<2mvi9{ zjGj;}XOF9pkuT-Tu;(&m_%rD;?CCTa`V8#ZbQwZ>Iu(|JV<~d`)I;+1hCI|+wXYA5 zS6U|TMxq{I^+x3RG3Vc&^XKuO+*kJNjNbtE{4o zWYqmJ_fP&K_BXkI=>A6gALqvXFF5Rvcux9){rw`Jl+$4Y_C78HqaT+6F^|j8*oR~Y z`q61aBkz+z+wPIO_Mm<+;yrmU=2O{_wL>EFq9rmXMj|s~W$&R_iAsx>*n@F$5OI4R zuBn?{nj?u>NfLE1TB0&>Tg=|wn;#{+(3ih0Ya4nKzm&K4PL{V4Cdq?)?~&g}Tq!pu zTqS=^y;AN>yF$jKU2g1tu>S$rgRn=y|Hr}qzk~lzxf;OpU_X6;mtm>{I2r(b0H+Rs zI)LT?oI1eP8UXVEIv0SofSL!;ojQeE%FTi>e^RwO`yuSu^HF(ds-*A6I zgRA-1d;BN!mHn5v>?i-p{_|fKv!3^Qlbna`b1fVFhR8XvvnM(>3hSszB4y#aB)Tl?qb{N4E9oAGPU_gCGY{eF6VAI|r8 zYyNHiv)9kCpLKtT{Ws6FYW|&mKd0uO?0>VF{ouc&`?L0s{C}}I_6Pq@XY3#OG}!-l z*jO1D1^!1pCPSkiG&U^e0ig|zeNaZk-)(HkkRX| zlPlNXC=W+GD=){tDbL1EkQ;a0DHm<~wOq05m-4gdU&*!czmi|Z|5C0?__^G0;OFwk zv}@&0Y1hbK(yo@9)2@=6V7I6JO#Yg7rTh&(z+JF=;0N57ewoMrM_nJ_N%#Po2Vf51 zMN0#C4Y9wY0W|ZUIe-~%9>DGe&^&j)0zLq*6U}PKvuM=SU0TYKvWYi;)pP%B#{q6XDcQk*>*Zczj}NF;{HaX`(OD=qsx6~rRJ~f=c;kP#{L(;2cVJtYUf~^>{mM*+h@J$*eI-L zzz;YR>qxA$5pOlgb*MAk9aks~(68I;2QoNn=qu%uxL7%B74iV|0le6s+P}vBobm7W z`mb{P{W#~}?)fwQ{;d16bbqpc1M~i_58&4RnVvt?{59A7v*%CwuXTT~LjPyoAJ}jB z|56M7Gydc{av|#SXqW8&gIu=%_i|zWR0OkQ~4Zz6*jBL>pK>n)_K>o8Y(B?mV0M-JS8G+CNB3TExf1pIhjFmjF zpEHU5pN@G3{P;gSkZS+H18D58wSHv3Q|Iq!{EYpt8CPrcevSLd{bs#i+21nPPv#rl zA1k>}y8w)5?60PAKiO|$e#ZT-Df`L%Gsu0{MoelF+HlygX(G41S1kKdirPI6tEjG) z$*VTXc`M-qtOyeKlldm!@6P!%n!m>Vob#*K_e1=zeg5RWH|J01{G#rkxx!)&hJ0-fJ%)`S17uPCo!O0QLlMHn8dd%mc6v zka+<00jLA$Y``sGKlyKT0BQiRsFbs0SNxNbnYpjs-*3m^YvY9elm7Mp+8}dyPPO9y zkACzcpZ~|{Q^%fw%{xow@i!|C_gnV$H+bCFc%LhK`n1MRwSS}e;Dp3Kj-_9|61#JjTiGX=g-)megOIJ_yCt-)wrMRSKU7_?kE3k-CtvWWxpN!ll?9D zkJx`W&GiG$o7N!HmX=Evu1!QgsXc#6$}4b+yM=M@jvZ;HwQosfOP=mzvcim z4?y;hgG~VYsRL*Zz@7&{4S@3im;+!hfb9b?2cZ1`^a03z+5)g&uMwzu0M-I97qIRC zY5}MNAP2yDK%)V`57?c0wZtEqC6!fWe!jmwKV--Fw|xGG2l8#)OECVAIL4RL|Ft7{ z2C6U{VDqjLx#Oiu6aQ1|cg*3xvS0K4c8{Ot{7vi+-rM}w9=~6M_nh(5GT-m?_mTa~ z`I|mJ==(pLfSkW!zf{sny^ZsN%<9_A8&3=vf?bT*KHGmNl5&MJx z!%!1o40QpQPH&K@OG>4vr2Tu`>Khs)A|pe_Y~CQfj1QpK_NC^pGyXN_uXBE#*uQz! zpU(NQHGe1P@6GzNV}H*3#jHQaRQu=LA6NS~b^mt!{~YT6pEVkQ!~e1H0WAJA{61;Qtxm|0uAZ{HL9haGSA<_TPy3|0X#<;TE~X_yCRuK>lCp<^Zlm4uBc}eE{YE z4KDu~|FaI@7UTe^0Z{)Z{~7<&?oD%Q0JIK}bpWgbR3G5kbf+JXK7jI{8USYjuor+@ zfYt%h2VgH?pbx-)KsyhhbAhxTP-g-xcWVKho&dKV(DebfgZ(=WTrF{#pGgI-Kj{B- zj%UEn|F=Qr@SO7b-vJ+m+PVhW7EvT)##cDk?6ow10ree!vj;0Ow6@lu6$dNk&e2yXydTm{ky$bx8iY0@wRnfw?~> z_E+6sV}E5o=lp8i@8it{h{dLw)Z`1GZ%=^`OKPRJZ-|72vYX8Xn zQzOX!r={;+)c&LQuOIY(C-?uT432)--6e-rzI|Iqvy`=6I| zGYssv^nb?xP7dJrrUu{|Qv*N^z~TRIPzP{5;(z7lkTAbSB+19-sI z0oV`7UVyRi0W=SweSq2rK>lkl05t&m0GbD2Egi}LR@>X{ohv|@bz)R+~w%eqkj&}odWw2?0c|( zfssl6Pk5ezR{a0r4}a*#|6%xqv0r;Te1JQ~RkqOmwZD)2XS}c4|L?$ma{oG9zwb9M zIoiL;_q#p-`A@xHYyH^Y$2$LO5%XU&uHMA_obSijUwi!7@6Q=OTI;9%e#(CO0$$#q z?05OEIe)Iq`Lo_HkpH3BPalA~zsdb$9SSr2cYT1N)0$+${1RM;p#5_J%q<+sE0A~h z?vep3(f4Q9{ISo!#Wj97=SOS)T-~47_4Tgp%UORq>lgL@)|?;K{oDL^d;qQc!^|JA z=U=t|XPRSw@SlBuPX7Nf&I0VcT`fbyR;0GtiXxj=RvK<5H#9zbUT*w+Ve`T?9e0MiQq{%=BU zz^1g{NlI1(W=&Lu;ZyD3#nC(iS6_YgpMg1_|KVYMuzT_Oe>88{cD`+0T_bdWQhDy( za``j3uJOLEW|klF{9HBW*H!cU4)>dT`<-0B6Zcc^H#2=r><{i^-|6*3uHTLOssEGz zmqYj0yua%G%6?P#7bNy4|IY@`gRwtQ^Vis4`OnyYsB0eou|F8Sf#*(Zls6WZ%l?Dq z!rqDY{;8?0l}}@L$*mif$jM&4zZ?6TYy8Y{;(vS2&j!~0G3Vc$_t$ItntFeG&cC_N z5BmKX`VvnDYNj z#Q$fa?vL94=)_x%Q3E)KH30Mhz<<{N(H~&`pEZEwKh4(v=>w4e*P{+Va{zxrEg*9M z^aHd8usH{Cx!i*~K;-(y%>%FwP-g;aF97`j z)d4sc(7rw(X98(0ps52uEdc8P%r%0b0Wc5X%mq9LeE`o(W>F%pW!3)gq4s`HcE`Wx z^FJ7p!+Ol;e+Pf?muy?&ba*IIv5?;pT_jr)V~e*|tz zqxK(^{m20ff(^iIfHS5x$o(G{$lipa<5H_t4IdyPBTeqvfLZ|d`|%pTrrzJVwy)9u zwdQ|4HJ|DBpYvcH-C<4xVaQ~S@Ef6mOG)2RI$ z{y$;(&z}GOut6dDZ}tA6{{M^w#{Rd<+2H@#%>QFO53&FGr~$Yj8GV3=|EU2`|ECW? z_Ok|n@jrb4tpj8Y0QpZ1z?lW$^a9#B0P>$20DA%NLHw`$XAK~009Xe&7N-4xIu}@L z0qFxU4?qoo`oH=BuL z>Br^0)4^XEC(PYnb=6gW0`2_xKdi`aac8ag|AQa=VE7612J0gK2y+41xs~$KS4HUc zuQ&62S>s0^K;wO`8uKgne+6GaujTi1X#771@0)dhC+BbK{lR~u`y0K#dA=X>{to*w z)7S0szxdTgPxB}DgT?+@??>HVbN#xK`$5_7*84lUKl1&E^#hIU9|-FY4WK`KfI)9# zF2Z|dvMst$YU|o>PN2Rm>Kf|hU}3I&7Pm)+u4?Z0b87yqyuXS4!GA0EcWVA{eLv*? zZSCLF{aak;2mCj){yFd8>HBNuKWF|wZLBYP|1|z*-9LQ*=KeMQH~oL8`ycAX{&zdQ z|A_t1ME@WA|IbRiP0mH$pXTr%`af#_$$pdn2m8tYE1&^T2Vf7t)v3)j0KY!q%mQ$7 z08TF;=K*mZfL#Zuvw(CKfc64V190j9n|lEm|J(C`#zP0tIsp0rye^RX0L%rb4nPfn zvw`UYFb6;*`+1FE)d1$DIX!`k&=fiqMdY$nB0@=@eKY367JN&=9od41B-^uxt|BU?u+0XqJ{HG59 z8-V!$zkat$w#OAo9ki0;@x$7{Pxfw-!K>#;FUHw?()cBw5*E#@hx6A`L*9La@@6-a4|9X93)&bDe2Vg&-@?ZM_ z7vlOrOAm~aB}w}UKx zH1=M@{-OKs!R%j${nY-?OuXILD8&C~C$;21a{yWccxj5G|FZ^=W@-S9{_peva2}xM z0JH~yH2`)W0Cj)n0LXs!0a62C4uJCjmH(^(ps5c)4S+rXuL(r{Qv=XE0OtX*ACNkL z&IP0nKp!Bm4nXds$zdvXFPYB5SQ}<`xKlA=iczu72{rh3=e?RE|{h|F21p5bq z`-cB++|Ss5NczH~a^m#?_u3ZMTSihrN~9q_h4qPt|TT7F@*ELdA2 zcTTJ^y?uK9KJuS=e)}4}Uadc3fA;t@?$_)3IP?7&`#ZJ%&Gmi``vdF!H14-Gf5U#{ z`&Ii7jQz>}!{z;h*8EwzKe=ywfPna)K0rUz1N4IqFa)y#U!GSiQHcfZe%&B_VXASh z`-GfBGIrb7GSJNWxA?yqb$=%Icjo7w#{m0#BY%tl6zJKz61lT_kvHuyI{fqd2RMKtY#Q(Rn z(*GI%vj&j4e;Q{1HO~RQ-kSmREA#;HdH~e_Z%AvN1xz1+HGrH2sQjl6z#IVm0QLds zH36L(0L}xx#LNQXOd$3F(5U~vW<43(;SH}A6@#o4pKi;e#>i(SXYvO+AdcJntuiGB~E$!db{JXJ#VEiAd z=Fjx{an>KT{}6e9Pxq(J4>R$9F#fwfKwtO(eK8~8hIdM32WkT9>yJ-O0N+&AwKcM4 zf23TvdWJLW*KpsB{n_v5_55kSKdK|K~2h{PN%b|Mt!UKB{61(|Ed2oV5h?x_`^rfm{;Z= zHUp-d7oG1~-|wpJhxvZ-_hqi%wVxm2{yN|9%J*}w?;m$5dA>g>*I#q~p!YH7uk-$x z@7J|{8vBRNzvBB_^8TUYQ}z3;asO-Se)0D;=TBq)?sNZF;{QqdKUB^kQzaH4H3IJb z*J<f`3rnTxk=-WPcRI}iP4rmS6PdMux9DqzhY;{R9af9&yxTEDv9U+ewpnt$Z{ z>zuz!_q+7JtKM(2{>R#Xu>oZMKU8#oXp-(PE4n{i^nSSb{^e!QU- zEy@3v*uTsFml^=uQ|16P693<|50I+{0Q`T~UI4B-04=2sApC#mf8+pQ4M0bW{!h*W zOx_b1u>iyYp#PBvpfLd57Z7U!F&CgUfwdk0_6NdT0CYcU0YLvlP!kAs0o4Z3{ej=u z+tAF})7Pvx_+NAU)DfBgxqWtD1{?yi7G7K#rM}eeRQ24>;SCu)3tuqyg$|bTI0`}^QY_mQq%wH z`@7o!&UOAtet&AdfB7WckMlL>{4H?+#Q)1+4nV{i13(-=?0}$`B`09v3A6Y2GvW{4 zKAmtu<^(nz*kfjH_}X;;@!yjBC;R&>S4rCAH$}Z4_5Bg|x9;;Rd4Fq=`-i#z2>;Dk{7yVxY>;IGH|7-8K$Fc^%75|S+TK^CK zUt<93|7#s!#Q(7lu#@Qi&U<37+7D3I0lLQk)c@C7fJ2jV0Wk-FS^$qp48S@EfEWPk z0cake+5nmds5OC{`vUIhY`)$1mf3fFi^O{_Ws)AtulY{|8aHm-iTa=V|DW0k|2>(& zWr+nGko>p#k_+Eye4^L@u04IQ#t-p+=e)n@d8h6lr?vgDr=M$IKg|8B-*27whyHi! zemO(;U#0)W--rKSOP)uqKkMB8P3!-pd4K4C`2OnuTm60OwY&a@EdV>9wAcWZW$&Po z@0~C|ZI(5Hx6uYb9l6A_rzPKPx0$+jzNxcR<^Yzx}&f0ZQvA2vWuiT`U3U>!^RA8Y>_N)14F{qJ1= zhZ+DP8vj@Q58aO#fbIv3c>w5tbByf6@7x`>*r<8vp;N7(f}(_3HaO&!YcJ z%X7hq0Z5I2(vlO2>9Ql{^qJeUMo@3nU*<1^c)*(9wwwM-XBo#5iTyj*{7L*j zsn(xsuOImTSo1Hwza{>UHUC%E{cGMI>i+7yzpVR1>>m;)b^gn4iZ|uO=Xb{clYIXQ zqWj_hR}!g$`ahQSf9|pW$qv<^^h0OSC=@&M~OV*r=~&~*T)1MuRu+UAW-kI9}r>&!)& z<4@~7q4hrUd}j$nMMcs7zq2L)_5Ypi0=N9>=gwa;t2Q1nW8XPq?tA&HX)1XDSnr3J zzccPHXXO0B=Z75t-Jh!d7vH`<=Kba0Yft=B_V<;uJXUe${K5DC2mSA?@q0b`KPmpN z`F_qAfF<7V?)$^nSDzne`2Da6p#Nb9zy^RgUOsOo%sXZd965JeV*$8v&`ZZoC7Lfb zEi(x}yk%OgoMI}hLJUCW{biruQmc~ne~S3OGxo3h{Uy!&i~bK?@5=jE{SV(CQXcdF zn_cVvtn>esoc@2Z{;%Qm|6Owcy8aJmtN}z0Am;y(18CL%&KiK?|Hn!l0BZ~YYXDqz z0A2bYHh``Jz*<0^14!2Yu5|#g0d!A5%mZjWV5|esc>vS{KrH~w0XXyjWG~^VdwZC7 z_B~-%>|Sh6olT_Pzva;(W4{6Q|D9F-^#3z<|G1HFcRcZ|S+nJYdG+HX=I-Z@n-=2h zL+?B1`{fLs4;w&p{B^$H>HCYGPZ9H%=QQSjMfXcipZfk<=U;35xcmLdIscaZ{lx!A zykC8P)%{jopV~F_y}Ry*&W8;EfeoN>0N4QGuUwCy$wx zzic+|Z~xYGUpd{BUXiT(QSZ-{^RIdTnD>Xc_WKE4FYEoBx&P4r@cmu6e__!5vgRKG z{~tL3s{5V!f3p71ng4Hz|3m+$=Kn+gL-)h?ckKb}n*T=*pw5On|OJq^ukyM~y>`#&~Yj;L~U8jdc7> z{95Y&jHmze=FJgOep3#cMw0gr8$jp$-St200M-50 zoPW*v)0n^d{i^@n*ZWr%pZ`jozofjsh*a|aQ|N!O2U64d*5|DHU+4VwoSOcJ4S+R* z9shN~%#!($14quJi%vm)z_|_5HFJP$yr25}l z2hghjbq#>l0ze*sH4cC^0BQs1TEK_hasUwfAGN){nYcO5{CC&;=J%7oNSyydy4<5| zJwRlzA78Ity*8o&x&H6YnE@%{|G9JLu9(4^3BS$_5)d;$@}&PXCr+L>3zkY9o0-3x z=!s`d{iMBppz~An|8>qEXKSuMbiY;qyXX4D_pfZp^@r~d-LG@~*7No1f2{L^4FEmw zjQuB_;rHuvR{vk)|L*5-5>J)uGamo_`l2lhu;rD48ZFDBlhpq|4I4(ngf9Rf9QYr_`mK0 z?8*U5&i_Xa0Cc}K2M~6Es}7K?0Zf_)=(eY&GYSJioivyKOuu__gWZTPzs&?{)vDEs`v1-;fBEDT`af5$ zT-5)!x!tGd+q+@{=gsO(N6n1S4w`|lpD~>$Uo=q@FG;@NpI7bcqxxUx{8jJk88Lsz zt>}N``>Fh0&L498oNN6>-)rn&^*+wf{W$CVzjF>CDF?va1_+W^K!=&9&6g{Wn-ixl z-j>?I*Se?RfAr*WvwYVEGkx7W(`(ff6SL_#(f5y<(2b9o&<#@WcZ00=Uk{Pke^TDR zGxyKw{|^$~FCugQ;i>3<=ls9a|I;-9TK^Aw09f@u_5f1-k39ga^Z(HQi2b|kf9wN< zIzXKy{|{>cRR62)zb~mCpvwkutpz|mK=}X8{Q&kvnUV4y&+fV3ys&kInY;Zhv+>t; z=EUja^!2aRV6xHk)v8sCrvA?``ai#XlM(>|0Tr@Q6Ui1jo{!;4vow{Fqe`oz4)c(5?|99p8yZnDw{U7-My7tdq z|LYzA$N{kGf9wO?+~WVoN(~^L1AzaJ9Dt6p4#1iRh#WxcIzU|ufI2|%`QvxDFbUhb znAf&XFbj5nEVYz3nUj*w_XlhCq-S%>@Sjz=a^>cta~vWCMFK>8MBtP1NFM@L|KF+q z{r&x^|1*5gxwS8dxdH5>_v^uPk~5fS-d*sEdH#b#CTi?KQ~kM9ruz8v67T=>%3A;G zGPe(b?!Q_6kDNc%|NoThkGTJpIe+B-!3GdfzaM(v>Gw+vKy~}|o>42H*BfWd?5~fS z-M^j^o%H9e!MusTzASSCiDysBy!T|7#AQ`v1xKf3Eny)&PPHpml(u|2ywR z9U#{_0O)_M1&mq%_wH(8?%UABOx*c|nX~N;v;No`v+KkTbL{L<$%i;gU;ifBNOt&> z3Kc3e5jE!!q5e-FeeeD$DfGXepC9#qcIbRbzY+22i%S#Xu3Wh&QAiGv0wVPP1wuL>DfEBNoH@h)_NMV4vpfOV1ee4nNIZ4c{IK>n z^Vv6h%;Ph+nun(SVg|f+!t{RalxaTsl&SafX;V-3Bd9m!qNzLeqNyx-1raY_G7%DI zuQ=thsWABuQ(?*n#+&{t#+o>( zhZnmk!PMO_(A1Y0K-JBCT>JlRMeJX6|29|d-_^PQJx%=`J)CR*-1Wcu|1nbg2lM}} zcC|IFceXQ~c6Kz~c6Ksdw|6oR?C4`g?i_ALtsiM7{y51j-o3=E*ttUL@E^}G%u?gX z=Q1{du&}U3qVF6c(Et7-jQJa}X^1J!Z;)CYJ_jZ}*-rQlHdv~vS?!EnH%=-t-7@1da$w4_o z@Ys4SubFe$@^5&I*Whmtn$dIQwes(yaqaxO1J390yvnn34bjJX*5{s)zth(|E7#7) z&gTx9XFfb?o|W(P(O0|7k)s)N4|&WNAU<&F+-Y-I_P$xMXRTSV`CIeJt_5boPp_Ki zHcU5THcm6+wof&qw@)@t?0nwbFFA#^R&+KsS9UeEe(G*&ukLDUuj*{-ukL6XtZZ)@ zu54!pZ+%48-%l{(JztxJ+rBpI_N+I@&m1>r zC6<5T64&Xadk4&-9~cr6QeX6rLqzqzw_HOf@kk#6)c;wuZ>7i2f}g5_eTq*co;F91 zoiay{pD{;IoJ~IC+WFY+Y<ervm%6)6h z%Dq21AFtlK#`$l%kL@uB&m1y`C2oJ@%u$)Im-je%O!D&+WlqRdcNd?-g9L5|f#Bfa zx}xSBBGmusqwn26C58U?@$sSme>)mG-;)H=kpQ%|+Gf`}r{mY*N0C4Z0;Niosx1o1 zAwvD{u9?&4vAg~+?(OYeF2#-F6C^+aBtQZrkcI?GlqgY4)Lbd*|MXGzseFoEp40jN zd~#jf%gd{58s1{Q6$y|436KB@q##hNSh1R-bEyAQQOxP|lMJuP@Qz`Vn%>S3&y?ggB*89Y35+DH*AOR9cO9FZF@`zSbWlkV=zr9pq5c;L>3F2j|5E>_ z?4m`BmRau;uStLeNPq-LAT0?!|U9Q~jSq9;^Nj8$W)$?5xIv1W14cNPq;=p1|3&XU}p1O1P^XE^^a z5YqWbq5mZ&6PA#W@NC-OalRu7kN^pg00|hgWy_Wws5LM8&Z_@Wi;nyMq@NLB)&F_q zV~ff?3GLOZ*TZb1BtQZrKmsIiI|zLJ_18Tt|gmgZv`ahR^wp0HH2M0G`3nc*(AOR8}f!jgg z{`>DAD(nBkMCYjf#~d`{|LJQ0sQ&knkA?m(BobVpK!Iwv~?z@(Kkg!kb6e`FA(m)f%O*9{{bQeMS}eN{3@}9k^l*i011%5?I2L0LWO3cYeGbj zbB5eAuUznf|{(xC4h( z|Dz6bNm-XsVcxuXU#9gv=lhWW36KB@kbva=R}x(lB!ZkX=zq*XGyX3S()m#RkNQif z!(2l2fB6X$CQM^1B>@s30TLjAv?P#J`@f>-8ixpS&X9Ws{SRHlBYg>gIo4gM{x2>y zfXl_j#f?bId(QVF0TLhq5+H#^ixzz^{y+48DG|&$W9}Jq(A56|A)OE8TSEV%{sQVS zp&nCMy?XUJu%(g!36KB@kU&}z7(IIQWW<<7&y*D5-oFCj4j!uivHsGz2e6z&ix)3m zFD>sm--`rDfCNZ@1iEzTGC*?7%ZZ+`?)^vq|IQcz(EnHM0VIz@0s;b91BhLf1W14c zNFYrKRIXgPrRW&c{?)zzSo>FC+@VADzwQC#tN|?h09HbtMw;Guz8MLS011#lwkA-x zaABI|(ae2-)3o*T%}9U*NFe(X=+L1Q1}NPq-LAo~)Kz2$3&ZsFQLfsla?=zrv2VhteH065nGivF)0A0Pj8 z_HC{Fl;K?VSd{NewRS~@sB2q*ow+Q$B6$p3uQ2l?^8UXoD;ra9DubX{aEPpu(kN^pg zKw1!J)TmK+SyzUAe}Y7~@9!N}`feYuYXEc~Ak=0oiyXjp>(*^ai~G;_AOR8}0TRfb z1oGs`gSvm%_b0V||KNl2xN`)+A8Ph!vxE8*o z=oiiX%P-g1a~?Vez9)}6O91-cJqIvYo{I__1A>CHuPY#!#u(SVi^%xG(#)T>fGbAOR8}fmVJWd0S?>;%>lsLOw<8#<^cHn``2YH;9Kbh{96(r0TRf51S(ak z)Yikp1MB`-_eUUP-~;;KJqG}5HOfofhT5;b`s&-+ul4d5lK=^j014a-f#b)ICra$U zuIP{m5%`kuDN$pVb$%a!E)&W4B#t@OpV#n1xdi3at?AMCR5RXUNe+uBJnz0_FgQ4I4J@M%w^iPXZ)B z0wj>V2uR)7tx2(eUH7Lo|50NO`X9Q6N5&$6djh*m=Kzqa>8u4T=jyQMvR5nSuO$Hz zAORA%Q374MbQvuAzqaTNYwTaw{UOhs`d=VqzytTiItNfx9$%RQ`1adxf4tGQz}J%i z36KB@WDf$DFJJy6ckbMcL~m&9A3h{v|EMj)b$N|ZHEPrgGGAOzbO>Yr8CcO@NIWI^!}{hiunsk zfCNZ@1a5@D)TvY77T>>t=n8AiALjiFkW6$~=K%cWdt*PKk|MC@YRLU1hk3h&oht2^Y574?FKpA;lMf89DZr!>K z&Dt%Qzm5b*fCNb3dI@~`>8Fb@KP)<;x=2|O)cX$NKY@^m4vhhzRwL}UE42XR zx|W}xUli&)UT@pr>qvkENPq;gE`f68%C+_M^sFQL!J7A%M;_~%f7bjF7@6eI7=YFS zz#I;0I3W+Ps@QoAqNAf9$hxhWzl;P(fCNb3dI-##HEXWu1g!bPUVoS;#(Xj6jhXi+ z5HjHb{SUz$0Ac{TCt#3VV{WIG-0!HLe)?(S^|TMZh6G4}1V|w35y0NCg$fmFE;<2w z{Ztk~y%^Mu!9Mb=_bU)G>ERv&(0YK*7=Y9Rs2>p#!Fm8$uS@e6kpKyhz;zLjeSRh) zCtP%#`usazqTEHevvC=FC}eT@8gVA^{R0 z0TReE1QHVyPXz=7V7Tx(OGMZFG4D@cWa0xh0PHu^14JI@RWShB8@PV4V#Qi! znFh@tLINZ}0wi!<1Uhu+F!&n2zx$d$=n)>7kHEEJ073FooOu9p|Dz-ZH0in;3|~Y7 zBtQZrkm(7mT)A?+jQ#ZeGoMbs(Qo{>F#vh9deRP>u3fu!bEa?9`~f6D0wh2Je@g&4 ze-ihNmGyqQ-d}6|V&0#=|BY(cjQ#r5VgRV?gcv{tk(!bV*eEzSxXs@-8vY{*kN^pg zK&B_qt5>g4;`23@v0vBwyXX9K-e2Hkp+ju|Ydrwuc_7~dYd-2C78D;J|6HbT-24F~ zKmsH{0;v*Mx^(Gk$@^|5V?OHqV~=00^_SXuf9MS!nV$geBSh-~AjX4O57v4h_Jf*_ z4a5d$CN%*zrP^@#BnglJ36MahC6E;NZzXa6NEz>Ii693I>%p)`9Bcgvge-hO|D%Q@ zVgR}?0O~xH7Ksq4E%N}8K|w)nGi?Ls7bgJ{AOR9cl|WM5UvvI+kH6wF_G4Wb)`wx8 z7}kqHSMbPM1aMCwxWBp{5c@k|p9g16AUPu!uu1FItp}#sfcPW{kN^pgK&B(`=9_QM zv&8)o??v3#A)EGxt}@@fc8;Wazq*j1_rh~a^%SIOw-u;MM;1JNPq;c z5U5|jey_iY`=cg2{FPc80`c(D3~a>*l$6VQ8Yod>{vkGdYfSsPd$H$wY~iHRAIDH=S#BnglJ z36Ox9F=NJD@!v4#A0>i1KdAE(DpE`Yaew!Gf9M1r*@pn`H(~&=0dze8)`6gXlo6>U zf?N@2Ep&cB{WRT0$rDJh~gei`={7}@+# z8^Br@C`B%SFp3geGJ4>^fvgXhvAaIM9SM*?HYTue;lgD(bLNbZF}sOKeG%(gzryku zb$(F)#hUL=-(P@a!vptSZ2+_fvIG{`qd2C0r;gzfCNY&8xmNzZr#>gxpK9Xb$-zOn(v48+*sF*_1#+I z4{N><@5S6N{eFSK<0>0Ka{;t2KxyIQ+$T`ZumPHSdwWNZ9zFWCY}n2ClSzOCNFYNI zShQ%-k1{UD`1trVlQVQb^0tt_g?vA(^T(X7?(0k4FEDtdAfWRAXdhY^K=T1%Lt;$; z;z`&ux+(Gj9)9@Y2^p#*@XL?@36MZGB7pgRiTT6thwhIQ(Omy9xkgQwYvudV_ZK)k zt|H)W1Hfj)S`pZgWke89!a7p50b=gC=blHiQFr4{B>@s3feb+adH#NWel2Cb->Umj zzfE)fk;jF6F3tDjoWH=}aZLiy|5h6SYeZlJAbzAa0OCqlYyeqj5)&OA&H4ZtVnpDV zAORA{4g_Y+n)Q*4y)9)dR^6|)eWClYuRC|fjA%b;&sOM(Q^=H1H0O4_6 z1l(-^T^ESCq*QGHX^%053m0y)diCm!cdB3Tb4h>%NFb{cz+OHL8Z_wR=J#X1A2EOG z{_9e0e9?6hxE>oo^8v6fpo!$5w2=9z*y+=!e~?xCAb%GLkN^p!Hv#P7TfBJj_Ly&# zv9_rQ^88izBj)cAargU~>n~7v+%$oIvH_42sOth?12h(CA+dni?%lhOOz%Fz&m#d6 zAc3q#VD{|UpGuB@EY@Ai_^P@eYy42tU+4R&`vnG%G$(K^8$fdcb!}h``DE0aj1p-s zH7Hxk-hthB@811eR_l-aJtRN^ByhV4{3%CVT-?*}r({fRA<{$yYp;-hjT|hj@k332 z)Tm-RI#8^>-1@o@R!$vNa=J}_V>xXfh2MMGFfos_S zs1JbplEEV3BG_vR^HP|fLaeHV%vr@&u3Y)uwfCSQ-0DS(wefv6n ze#xgoydUfP5L3k-EU3edTC9k<7TCGpW*wF011#lW+$*_&6>?6OO`~A zpT_&)KWUyH{3`fY@Uswe)tbIon}v1SR^2ZTd62+uA)qz@>`b)*{N)<+Psl;Rd=z3+ z$O}YH0PNN%5!kWOXxkAH5j~bKU;cAu@2~v+BtQZraH|9o6BAE&>C$DmjE$|t=SP0O zHQo6?rSV zKEN3Z5F4PS)C*{Z`L2r>FJ8)Q{g>aD1W14cZic{{Z@&4TqD70gll(r!`rUngtnEWh zAH@6NN9kNY{44lbs{1+DFEDuAF#_&30Af*yNoh_1>{aBbhKL|<#TpA}ERPZAia{U9 zpFe+_r=EIh+U3ia|G1g{#J?c{5+H$$PGJ80`QKswQ+%IRcDo&Vzl8|q`6ET(^JC5w z`Tb!c4iWfK@TcHc!M}o^1;3xVUm){rdGAjXAN5-k16PNPq-L;Ccwmm@#8+NJvO$=zW>vZ<#daAr2ZPf;?%= z^ILs>UE7DeD#ZI!o9oB8%Yy_m0s(g$z&am*IV)={pu9XrTSuGMIf1L}0I>yHw`V5aIIK?L;fvP1Z^H|AM;(Xfnf_@u>)W$L+aPBANTIN z@BTL<^=*C^5+DH*NR0q$_1|;PJ&)zfm#+=3xm$BR2{;Qo$ma=hs?(m_wz{ zFA#WSIs#TZ05$;ZSF~l#3qTu3TSuEm+sAwta$R8yr?3MMFGD}dn>TM8tdrp$gQ<-= ze2xT2;7$?1eC6YhKmJPT(xsg-e)ugimRaNc@b|HnU-drL^o5Irh#=OF`YF1u4?aKU zP%(B|^ZPNb@*siCK)`APxW@vJ%YwG9a{|b5Ehlmynd}(wR&Mp!dfPbQ6iexXN~hi?_&)V^giZ4%ZQW` zL98D+QpoM+JikETk);T@+X3G4>tNfWtz&)*xvj8$VFO$30G$^=en6y16A|<$XRe@} zoiPEaCD5vH;ll0PwrxA)?YH0loa+a&?|95#P6D@^z}mHIw+tLOa9mheSl1+--`dmD zGZy2K2z(UyDwxBJ5_ZPf9|>GW<*Cv50o{^ZK3l~r%%QltImf{f-y;B z{P0nYs2zYdj<#;K17HKg4zR`p zg5`0TNO=+1&*)F+SLk1uOGAHCTi{AuK%R?5z5wh2u?t!kD^{!nY7IX5M9{CWb`UW&#Maan zKwJQQQRfKIN1d?&ImdcPv}?ZUx=w8Ul6u7Yyrdtu-6d!WTXiCC}IP!2heX}uUl;b z%-6+Y?hbuEso%Fkyg+IYwMERJeEIS{nlx$h;Jx?W`}l|vBVHUoe*7#sK1K~M?A3MX z(4k`)f5hWAB!R3;0Q!8}wrzX9{r20H@4ffl{K=Cizx~7$PfUI2p@+sw{g8)i)TnV^ zP*70kz`#JP!EYmeKx;X-7JUyruW@|U^%xUU)A#TzqC_zN2!8{92XgsT=a-l3Fp<(C z8smrW0v`r3O~f{Hics$h1Rf;dMj$mi0QNEZ3*uz3n_)j|OaQSo#MFXC)E3aV0Okl_ zkE4&OJ%G6a^k4MjYuN-EE5I1wv<>8paUm9dfsPp%H()Cu&j7Z9tW9h!F+x1oCU@@K zZ7@ezs8FGHupcn)U_DToGG)3To+$Q2_lgxO-d&|im7dkBSHBl|!|*>EHEPtiapT4h zVvaE;CT3u4Z0w*UiI;PHt5&VzTeogK7}BOqn<2<`#MqW3L*+cQLx&E-5X;EQl39LZ zX8E2s+g3Vu?0BWEq3tD!vpu4HLbSc2{U(XCO}A{>auDX?A|oRoXwaZR9NIs0bhT>L z?v=cqo`}hXhlh7Zex20I>k=Fs+!_A4)X-@U9S++Zae3%+#POid(f?BGpYm_1>37xf zRy_~j06qf728o zb;JkIk72(fMxZu9W4Ttlps8G2;{_NO5Ho;ays(Pe38|f9<+V2|7^^5`ke%AVjrI|| zKDGX)&sqDY_FME})$h>p=-=q)s^_ERI#L9>9^(Rh2KWxp_wXg4?-AFpAW}{Q{zk9} z{Cvz!Lgynsi7^TB$^em^BEBLRyD)}P?+XMTBygPs)DFNIb^!Vh`jOfK=wJRK*0=y_ z3So`_b~ySb`e+%EFp+Q(#0Sui)h2)~uWl0JZ_f z1lR|N8(^GJ8v%BL#t`5yKrpVT-GFgM?T1LYhD2S5G?v#;$RNA4f$QlL=sQ-?zNP&Q zXYGUNlMwVz)$QoJ=)>sC=+o%ihzG(4fSyN;5Pm)U1J(5*avda6N~E}m>U;S3`9(C3 z5B`T$=X=XztKPTEV->mNK>{Rj3k0+;;p~wlY73z6!4`o1jXtTd0ksE^H-P>NyB#qC z*aWcU(Z_>CU>Bg@!`4^Z0AqsM2e1(^R$$D4VElls0Ks^IaYgM0wH+|#s11QJ$Xzft zr6#a7C}faT+dyhiQybT}Y&Wi0XTd>tk$zzk#tv{e0?tfx&|W(vbjc02Oyz0R2&81F#3s zU(s(dFPBS1Z36Ud^l`Nd(C=aE!#2QJfH48~fkPxnBv?f41dJcB71Un9n1ZndV+;hg zg9>a2t6)5G7mQOBGRSUiz`Y;fv9+(@TKf^s+P~1(RF|Xgp&z18!iI;aZb!dGA4Xq> zy{|eRK0sj+)${NV@`=E=hpxvs;Ve9C8skA^+67kIz}-I3 z*a2(=wG%LgsJ)=$iuw`mXN*DDBN(qJWRM-&!1eS8tL}F1Q`+ZLpQ}#SK8il8x?OF3 zwf$4m^B4!L;{&dFkN^o}Z36Cn9*?cIfnLKtu!?moalh8_=0?ssUh(W2x5**vbGVWI zp|5rCYu3ls{)ubtyLwKouT#%w?eU$zjs$L%z_rE=_vdw-;W_2lOD1HJR&Bt&-(BnR zt@eBVJqeHi36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg z011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!) z36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@ zkN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg z011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!) z36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@ zkN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg z011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!) z36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@ zkN^pg011!)36KB@kU)A62(;U5p7KF<5B$$=x%O~gd)e~ZE7(0<&)ek1cAunc`2)M3 z<@tOzFL{d`^7>Bp{FdhnCSA+F+6yIJN6K~KE3dC^zsu&0kC(qKZZCG_I>cVw@;+sg zuJO4YEYEjzUgLWvjO*`wPx+R%9OH)Bd~LRXXnFo|d5q&_5&WC$oI}1V{=*OdJF(fS z%D-2Ycdlyl5y>IqClVl%Tg0C9pL|xU{_%r7^4e^J;uD5;Xwlfwt$PoL?;82*obs1d zY_{Hgh7D=mv3V!?L|aU=CXQk9B3vgQ=QcaPp>0FO=yncA^7Geqm9Ni`p$YO6+sUh| z#q}N5N3O@n^}vw{L-2f}To<_iAzXXlUKJQBUr?@#;JTmdx`OjHuIor##|?^)lh@!o z4~ZKThwEi>J$}USzH;r^O0LI_=-+pwTyK=?kb%Po^_S}la$R6h-`>M)Hm?9YpU}6@ zgK}M2t^d-{4>&tBl=x4dU-*TPM_YwJ?Hd~XyLmnO4zu$uije_$ym}uyqLJnpNu5tXZ*Ygy6q&{Ovzp zdDY)v;NH4kak{2JZG~N*`EAd$eT7> zo-sDtg0+_4QwZ(l!Gwe%bt_dGIdWt~|Gs@90QAc7k1x3L%4=U(J}&~FcZHp!Y2OEW z4>DU72O;0P5+_gYgxWWg${im=sUD;ynIv_X=VN6`^oK& zkL#b%e{j5`fBd!X@J;@i@>%GxT*C{xQ;&lYKGW@~9{YwKj|ZoAjk$M&FYkZq`Kr0sFrGq$m|Niwdz zYMWtu!}gACj_niMXSOeF|FeB(`@y!#_Oor1ZHH~IZNKe^Ezx$)cG+&X``UBa1MNla zrR-(waJ?!Rbw0oPob~nfE$Um|w}Ee4-`>6nzGHn~_x;HCTi^A*`+YCu@Xt{yN7Wq7bM(j& zpX1pa({g;60G&Th31OP)gxCzt`~F7$+a}s?pzmg2j-5*9g{mQ_fxrN=3bC{eeUCV za^@+MCo0dqc}C@#mgn<4Yx5ku9k8 z#p)I7Q*2_f&x&m??om9vc!%PT6@R<<>f&chlq}Jr#E=rNmsncjXvsn)BTEh_Ikn_B zB@dMfEY+}7|58&+eOv0Vqo5 z{Yuv^{XprdrI(aW3@H`TI^^+?xgp!jpWHGe|0X_tywpr?q_vR)T>zU zp?V+IJ6J!ge&71<)c>_XaD(0r-fFP7p`&51hHp09+bF0}??$s5{SsL^GA{DH$OBR3 zq6S2L6m`6D<;FuB&u@IbN!=z-G+Er#vuTT_6PvDSmcLo&W;2@YZXVpcU-P-m6I;}1 z@mPz+(caOq(UYUM#FU8X6Ei0!v1P56PqbVX8xY$uc1G+kt-@OkZS_@akJc?)ztVbV zn=)2Z z-o3wPjh%xU9sb<#eIpuQ>y~g(+zh*+U39nE1Yhv8Qm6Iw@nl|Z= z=leXr@`Wldy!L{5@qriDyj1h0f4}VWa{SAiCpVh>!IXScMoszkmDaB;nCh51aq5{@ z?|XH{wCdB|nC>@y`1HN6wR-K#*F#=^`Sm|$JUC<1%*He4%_=@?!mRWEiu>34e@FiN zlQ&AdG3kvsu|}S};3w_O!Qs-X8Jx@9%VZXZgFe-<|W`UGGhL@6Y$+-{1Q| zhYyy`sWoTLhs8g9X|BiI;d2jt)bpdCKW_T*m!DMpx>Kd!(|5W3r`D<#fS+KU&+An{u^Yd5h>aY7|eWUf? zZD_jThmA2CS8ZyuY2D_|o40Q1xn=LxxUC1b4cvBe`-ttAcRan*d*{Smd3R0QU3~ZK zJ>~Yy+go$*qJ2&Gt^TFsFFSti^Xrk{hW+-({xQGj`hD7gQU~T7ta|W&hngSy`S9I` z_a7N@&#(T9{cEQgWX%5o4Q_1) literal 0 HcmV?d00001 diff --git a/Adobe Downloader/Assets.xcassets/AppIcon.appiconset/Contents.json b/Adobe Downloader/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..daaa028 --- /dev/null +++ b/Adobe Downloader/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,68 @@ +{ + "images" : [ + { + "filename" : "16.png", + "idiom" : "mac", + "scale" : "1x", + "size" : "16x16" + }, + { + "filename" : "32 2x.png", + "idiom" : "mac", + "scale" : "2x", + "size" : "16x16" + }, + { + "filename" : "32 1x.png", + "idiom" : "mac", + "scale" : "1x", + "size" : "32x32" + }, + { + "filename" : "64 1.png", + "idiom" : "mac", + "scale" : "2x", + "size" : "32x32" + }, + { + "filename" : "128.png", + "idiom" : "mac", + "scale" : "1x", + "size" : "128x128" + }, + { + "filename" : "256 2x.png", + "idiom" : "mac", + "scale" : "2x", + "size" : "128x128" + }, + { + "filename" : "256 1x.png", + "idiom" : "mac", + "scale" : "1x", + "size" : "256x256" + }, + { + "filename" : "512 2x.png", + "idiom" : "mac", + "scale" : "2x", + "size" : "256x256" + }, + { + "filename" : "Adobe Downloader- 512 x 513.png", + "idiom" : "mac", + "scale" : "1x", + "size" : "512x512" + }, + { + "filename" : "Adobe Downloader - 1024 x 1025.png", + "idiom" : "mac", + "scale" : "2x", + "size" : "512x512" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Adobe Downloader/Assets.xcassets/Audition (Beta).imageset/192x192 (1).png b/Adobe Downloader/Assets.xcassets/Audition (Beta).imageset/192x192 (1).png new file mode 100644 index 0000000000000000000000000000000000000000..8923c9af8d210723c6de62def6ed760820393882 GIT binary patch literal 3031 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 HsDyt3Artboard 1 \ No newline at end of file diff --git a/Adobe Downloader/Assets.xcassets/Bridge (Beta).imageset/192x192.png b/Adobe Downloader/Assets.xcassets/Bridge (Beta).imageset/192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..c6c04e38194dc0704d9d11c818c1da804149f196 GIT binary patch literal 2762 zcmbuB_dgVlAIER#td2|NxNJE|Q6Xn@os9cXwm7R4I-886Y)(Q(cm66?<`TG9!{R6%~yxz~p>+yd7`hL7#v3Cu1pd1Je0002h)5RE{u>3?tY><@I&YxqlUW13V74(@cTT* zEK(W<4=%E@lf}|_Fxs+96f2Z%O|5U$Lgq=4M{1&xhsIebgB*Vxly;biDbVS*9J;is@3acYg|*CoJ0dQnSx-&aI!zse9hwtAKrp z!f5RwJ3{-t*6plpJQABxz;#U#UP+xmg&-7UP!xUwN$w#j?|lJBIh8QBeTDgEmU6v+ zL_4LTorl#DuV#pmG+IU{psXbgs62Y-?1zn1qLU-S1>`cUhe^Pj+>r^0b8hl_L>4eXWw-~le7z{&PJIu_`Roi%)$Mcijyey# z`ALj#A?n}pVfRjVz0kf!U&eJ*Xn4G=ok~R`L_MJpoNC$USoxmcept8jC4cIqGd`xY z3ew*w#`ea(?_)J2;4~S4mj8r+jJbl*GxMCG|3b~I@wqElKq+@5qt%=Lbc>s_%Q!NJ*dr= z&t#T$@FAyS@4!O7hyOD%4ms8X3j8u#r4yOkGtEl=j&Lw$n_;cByYp2J!<@2to7Bo7 zIAI2DgLa@Vj16V(gy!sSfdmg%-3V!!%EGbFlo%qE1W(UgHQ`fxv&Eb?8>EYxp@Kg} zeBxF24^^M;dRa788lyvfK4-T`{zdyfsFt>~brGQ`?N4`MTGZjtQ)qPujYEcO`LNI!`XXbAEY4i#LgcEsjwjl-pC$26DMgkwspeio_{eT8Uh4ti~9-Sa(Mv{a5 z`5ltYRh+ynqwa}GCGd7p?e&;nm4bf_TjpoC@UkX_j&(|8rl5Ls=NU&vHd}f-8qmE%;Os0v%tx!4AR^=t9 z%sDl)x;jeLZugcqe$w0-?dWK-%e1O|>-O$V;D<)*&)A}{PZfggHNS}C%7n+w#c95I zkbe6w-n7HVx9$ZlSMPMQdFoF@S7x-+$5qukSSKhd8R!w8n&PKA5HFTjST;|N7L?oQ z-VA;7icszFPIj&A@seNRbeu(YohojtyS__j_e1gh{SB z^naLo02kw0i?H)%3VHnK&h8FQ^Zq@4TfRJgk(GPkmi2$soBE`iD$MGfMh;9F4KHLi*^Qf(&E1ZK~TYJaF?p{2|+ zmf~)mzRU?)VfSCz<*m181^!uN%5m2EM@tBl{kT1$-h@j`u%0{a$8+<0;F(WVQylqj z6aWIr+xb zBwQlQ9;==h3t|~V{ASL>L9V~N)3Y`&od>zbz9Y2?vy2V#vnsCrdD0N>9tyCgZ&<@? zX!SlRU2stWkn2p*oZhSJqtPET(PN2CGYZ>o2Hv}nXoJ9 zP(g;A*lmb(AA&jYT_(^$A{t=L=poKbeqRq}`*>N}_7}JpC`HqoZ#+dDT^AaQ`nGQ# zI77}PPnjQVstj7JOdm_^55(+g$WA}>`P%7x&LJp%u~dcEqh*OU+dIU(7+)50bIH;# zZito7Uf~tNroR=kkv+J!w)VEUZ|-XsgBh+>?N&B8CYZ{*4N5V=|v$+s&3m! zOjiSM#?M|)6-jNk#CMgLb)8z(m&*ASz$3wyqvrDO81;k7ja1{Gd{*E@qya?5$_JZd z{P?segd1t_$J~rP+_5HB<#>R3ykAxqQL6G;tv!X5Jv zs)@wJ_*w7PamEV?s4V$?*n^Ya^GJ%8lNWc!f2lWpVR^1DX2vidnq4quK5*wvDncZ$ z>$>@AF3)J8g@4FU+3_q+hez6ec@eC0f2U%AA?C*|w|*vuS;8fN>#NcT(4Hpe-k z{{GD>sEd-z%Igog7VLsltHcbK7E!SeZ!xWrY0Pqi4izb!*OZkaoX@s^O6X?Ep!Gh* tR0@;pWY%5o;680;hz~znXb8e=hm?(I1(&6Fh@O;FfS$G?rW9=-{vTFND;od+ literal 0 HcmV?d00001 diff --git a/Adobe Downloader/Assets.xcassets/Bridge (Beta).imageset/Contents.json b/Adobe Downloader/Assets.xcassets/Bridge (Beta).imageset/Contents.json new file mode 100644 index 0000000..b68261e --- /dev/null +++ b/Adobe Downloader/Assets.xcassets/Bridge (Beta).imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "192x192.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Adobe Downloader/Assets.xcassets/Bridge.imageset/Contents.json b/Adobe Downloader/Assets.xcassets/Bridge.imageset/Contents.json new file mode 100644 index 0000000..e922b21 --- /dev/null +++ b/Adobe Downloader/Assets.xcassets/Bridge.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "bridge.svg", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Adobe Downloader/Assets.xcassets/Bridge.imageset/bridge.svg b/Adobe Downloader/Assets.xcassets/Bridge.imageset/bridge.svg new file mode 100644 index 0000000..2acc2f2 --- /dev/null +++ b/Adobe Downloader/Assets.xcassets/Bridge.imageset/bridge.svg @@ -0,0 +1 @@ +Artboard 1 \ No newline at end of file diff --git a/Adobe Downloader/Assets.xcassets/Camera Raw.imageset/192x192 (5).png b/Adobe Downloader/Assets.xcassets/Camera Raw.imageset/192x192 (5).png new file mode 100644 index 0000000000000000000000000000000000000000..bc8d77d6ce0aad1b25845b95f67146eca75feb24 GIT binary patch literal 9960 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 I!2tE(e^@NFdH?_b literal 0 HcmV?d00001 diff --git a/Adobe Downloader/Assets.xcassets/Character Animator (Beta).imageset/Contents.json b/Adobe Downloader/Assets.xcassets/Character Animator (Beta).imageset/Contents.json new file mode 100644 index 0000000..845e96e --- /dev/null +++ b/Adobe Downloader/Assets.xcassets/Character Animator (Beta).imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "192x192 (1).png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Adobe Downloader/Assets.xcassets/Character Animator.imageset/Character Animator.svg b/Adobe Downloader/Assets.xcassets/Character Animator.imageset/Character Animator.svg new file mode 100644 index 0000000..51efb29 --- /dev/null +++ b/Adobe Downloader/Assets.xcassets/Character Animator.imageset/Character Animator.svg @@ -0,0 +1 @@ +Artboard 1 \ No newline at end of file diff --git a/Adobe Downloader/Assets.xcassets/Character Animator.imageset/Contents.json b/Adobe Downloader/Assets.xcassets/Character Animator.imageset/Contents.json new file mode 100644 index 0000000..fdbffc5 --- /dev/null +++ b/Adobe Downloader/Assets.xcassets/Character Animator.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "Character Animator.svg", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Adobe Downloader/Assets.xcassets/Contents.json b/Adobe Downloader/Assets.xcassets/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/Adobe Downloader/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Adobe Downloader/Assets.xcassets/Dreamweaver.imageset/Contents.json b/Adobe Downloader/Assets.xcassets/Dreamweaver.imageset/Contents.json new file mode 100644 index 0000000..b5457de --- /dev/null +++ b/Adobe Downloader/Assets.xcassets/Dreamweaver.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "dreamweaver.svg", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Adobe Downloader/Assets.xcassets/Dreamweaver.imageset/dreamweaver.svg b/Adobe Downloader/Assets.xcassets/Dreamweaver.imageset/dreamweaver.svg new file mode 100644 index 0000000..3a2b01e --- /dev/null +++ b/Adobe Downloader/Assets.xcassets/Dreamweaver.imageset/dreamweaver.svg @@ -0,0 +1 @@ +Asset 108 \ No newline at end of file diff --git a/Adobe Downloader/Assets.xcassets/Illustrator (Prerelease).imageset/192x192 (3).png b/Adobe Downloader/Assets.xcassets/Illustrator (Prerelease).imageset/192x192 (3).png new file mode 100644 index 0000000000000000000000000000000000000000..107602462ee38c4c75fbdb31fc2e364853461c0e GIT binary patch literal 2990 zcmai0XEYlO7bZf*cnMlttTtw;O{rM1BS>pYUX&_YZCWcW zm6@G0$8pLHe!GI=Y}Y$R7E-seIeTgKFD1ivN8ySJjDNRuUkQYuc(UspvYE29eXGV* z;?&f(+yape3GdUgx^_EmuC_;P=VMpZS96X=kHSTl*B5T$RdHNtZ&d}@hgjW5 zn8E+_oEfSZ8X8MNR0Gd?M*ke%(tsIc`?L|~c)f8PJM%oDPJ<6|V_=HBcowv1M$*(X ztf^LbA;0Q|=d;-Us@ACPMM#AxJIacS0&*YWdSzj#Y)Y^=K4s`+_KoMiR`lIah2C3F zkg0maO28cf2AhY=b2)`jQ$rBOG9|OU_|b>-T^E z;~`ligk7U=d%o_vCZ&axbDhs!Lo)&d<_(Gz4vEWcczX{`yIOa{b0ksjuy8ffYx-^Q zroE>Ut8cufso_LyyQuMWwfCmuH6@VmrTb7awm=kNzZx=bi#dVwRp5*G$HX7m;r*my zIt%3bai!eCjLm~8<4j03XgmAQSr*@N<<9Fz^rD!C2_C0%X6>jMCQi<%FN5s9oYOTg zF?qbt`?~{V1AKtZo8y_QOLS5hZ#I3PUyPS*O@v`2Hb-NpCSbFvQrQS>ExuNST%Abz zbXkv%$71;NXMj}!ZzPvvjT&R~T;%H$fIOR{mlL?PmP?Hefbk`gB-X$M@nwxqJNAXw z8OTiKV2P)O=z@$g(g`IBCVjGb@Lq^cMG2KIatMUQ34w)u0k9bura*w14aI=R-@jkm zUH^KKzL##9OG$Z7wI#40v~^Te-IX!`+7i{iWq+TX>BHWB_RnnDR(Js%O|>pQ z*`~~Sb85IPgx2bnqtRur)I0usyoD`5EJiqcse$kk(I0fe!Zjx#hr{N>PgXXRbOK-B z>uBf$uzeF>hI%y&XE*!;Q><2Fw?iv8gJDY_mzwYrm8^e`QtoXKYF6p-65nHb+GLNT zt}9fr9XBBdg@TT&?`8!LqoF#uIz(|&if(n_-Fk`zW67^Z&4Zxd6Dg?M_z0R)Oa3&% zxidKZ{8tx!h=1KYVwKiAbt1I4i#Uqn>EqTOb5z@04R)cV=)*8p7B~x2=is@CqRJ$d z5-Ay|zboZO?g#jK@@9Q?xDB7BEH;(<_mEro&e>3@2FpnR?pT~h?+5TemF#_~)-x3} zrS_XNb@K1(ldaMx;o21Y`PFxd(C5;N+P z)o(_tV^Zn~OGc@FPV?wLldk#IgZXA4ZI?*r7G3E;L`Lziu^#266tj2;Ox3aOx1;B% z{(4kfwd(O_EW;CjTr(Vv}$b-i-Nl$f#uvXHjSM^C$5|JC$AF?Q>EM4iO&Mrdy;um4jwc;_4wKMzuUqHEWRBKj)(8?r8J~d59i6Fi+8XV@M;X015?Q z*Ag^j(eV8_ukv3zwAm8pI4ywrio5Nj?7dQcUf^s??@=kjBz;)nv}^jnEY1ltK*LA7 z=tQfv54$WyP^DY+7kWiN53}@vbkHtlQ9v~*f$fiFGQ6vml&$yPE3_zOe^8YHKcak zZg#mu1Rrshl4@*Cb5;Z9l4bcvQeDxI+6XJaD_V%1wml3tW`rz#IiI zU;Zew!riBxF~MwEuKVIs8SR0h<>`9VLHX;R(B8A8=}zy=l^U;;;KdfpJ5}eq(H$yT zwjZVlF%oxFHNlp^?qHu%|9-|Ry9;9;5ns>!8k${O#c(>mb+c8dL(^Mji0;gokA9J~ z>Vb_XL0$(tyLQccccr$iU$RnrGM2GLCkhM8XsE->qQSU(;&mmMvc*isy!s$i5YSuB zxIWF22Vjn%uA@39SiSv#GLxsA(Ii5MlO4EpulFwGg8-{Fv$MzX>pp9zEO-IgB{2ja zyxp=!6JxxZ_M;fRBxD9{6sOk5v#4rX8)EEAg5}a(&6)+kOjtJ*tK5v5f+fVJZ5LT?M+6EOMiewlym87ghZ

9NHXggVW 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

9NHXggVW z;4@||o0jj&)80{hXK5O~BlRTEpp^9Iif=Z@FY`HB=G8cQ(K*p$OXEtx(zk<|X}J0HG@OleF;ei-}Pz#B=0T#d3~LVW=lkkOHX$ zCTfP6^jcS)6`Czo{#-H2^$(b29>JE>mvcyGAchkK@b8*zqV*4dR=kD3`RhTRCh}n# z@(Mkqc%yyPdw)@IPkyf(DOTq(r#%z(4$UWjFt9=kp5aY=Xdm(wG?Q?28)n2JmMfUL zowb&J3Rp~HO7GM{^*fDTr_WzP43~?PT#bs17OQd$78CdJb#Q9#wGLrw6d<`sn{9MZRD zpRo`RfYSbQ>jp1rkKgn7s?VDE15QjJB~!h}FCxI9CE!?+AP9khT(<8P&$9|G1!vee znfvR6S+^D@OSr_UHie$oCI#$=+&T=qbIzYt(RJLfkL)q;d>Xz%nDc2nSeip`?95J! zx808oKWqNUFu+kI_xg$c?rBE(0hb>{=KFdpIEO?>Gw^$4J;r6#(m^ng^s7zlh#?Zw z-P&dOQQZG^K~Y5{JCLaoPlBm(@>MVa7(V}xMgCusHS{kR=9I^YjNQ=-3}$T~0At06 zkv1z1OAa&<()7c#!i2JjrznsrMcnG$|A z?3&UI-CPmSO0`WCOQoZ)_sE@xIpO^X+ISHlUa>x8 zsW~f=aqHsSY~aVHnoiDhdP$JXjC@}JEUUt~T*Sbc znz);P(m5gylakVU@Oi-Cy(9Vk#fYt8j!@;{0gr{r!H2EivHK8?Nsv13nKPzky1r`H zMi;E{flt}jeCFUXHKFybGTQ8cLak2x(=5L=!^OFcBL;%xjFsV-dkx>eSuHPj!_JkE z!}_chA@>>yn#s=p1zznwUDt0t>Hy5HiC2y+Hu&Lxn z?jz4#4g|%D^k`CbAsset 104 \ No newline at end of file diff --git a/Adobe Downloader/Assets.xcassets/InCopy.imageset/Contents.json b/Adobe Downloader/Assets.xcassets/InCopy.imageset/Contents.json new file mode 100644 index 0000000..152bf2b --- /dev/null +++ b/Adobe Downloader/Assets.xcassets/InCopy.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "incopy.svg", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Adobe Downloader/Assets.xcassets/InCopy.imageset/incopy.svg b/Adobe Downloader/Assets.xcassets/InCopy.imageset/incopy.svg new file mode 100644 index 0000000..a2f6f77 --- /dev/null +++ b/Adobe Downloader/Assets.xcassets/InCopy.imageset/incopy.svg @@ -0,0 +1 @@ +Asset 100 \ No newline at end of file diff --git a/Adobe Downloader/Assets.xcassets/InDesign (Beta).imageset/192x192.png b/Adobe Downloader/Assets.xcassets/InDesign (Beta).imageset/192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..90943c35044e4ec3ac528a31a425d9457fc6380f GIT binary patch literal 2454 zcmai0c{CJ^7M~dtim|1}E+amb>|@5BWn>MBlKoM}C`&_O7}J+!MigFIN9YrZv4kO_ ziJnr7Ei%?o`q0eaBa|`b&G+8<&U=5nbKW2K-gECc_jk`d_ji8hlHAXog&a~i1ONaa zjt+L`1+h_JHKM`-f5srRMi350JNRG$05O?A4LCZB-xJgv9PO+x#FII*{#kxkl;8fr zAMnd}mW~bB@0@qDq5820iZ=JQ ziGQ2o+Ac*d7Bh|D;|HHMGy}N>}Pk_`n1nkOd}rdU)Er6 zsX%j0q)jwnh90tmsqNhl!LOR>FJh$Sw_a1y@X3XZ?jEzcFcC5~4)UDna@HdjxhNtk z6SOpAEX~k`eMvofs^+KO{2JNpI85QQt%q!>8?O0TIG$mGSSF9%P4KnDpNSvIC?0x0 zU93FlUR;uoq|r?%F z#Vxn|PAwB~Rgvje!-=+TAvU>0D)$7&Kh&Wa{;;@6AH=sY zuThH%;iblp1Gvw~>yNcUBH+Iy3Qr=c!i~$(BHp-0UwvA)nfh{$YEI8Wfd92F3^P1Y z(H#aa>%WqJVDf(E@X+1ojMh=&>|+2oW~H0UB#>RTOU;^Ege~pHfEwPL@|ybg(q^rfqmKzH^e!qbg?kD$+v2Eo{tcl`wq_f*)-T!Oxi{4R;99nKo^;Ea z+%u>;*d#&jB(FLfan_(DK(7%+eaoN+?G(p)3yn)B0ls$nO|rX#}BggFRS9PAX{Bv?hp^x7O)o?7l5w*A^ZH(sPA( zik1{9t?{CF083}4pNrg=nbDSFW?AeMzr%(tecB4smI2b={Ugy6fAhj(*KWsN{1a<} zVfpphHGcS`fHWm3CasEYwD>l~v72$|bFh}lv7QnukP=bCUTSVnnh9trVV_N@s;&?P zBQ=uUao_KoHy%mLXn*hs->p_qAIi6EiR$^X8#fO*<5i0}G!!l^2@?4^t%&_IWyJTc| zZ|8_K6CC^IG`Ock1$fVqi?gk(93Hmh&7NFvB>~=6MoilLSa68*d8PANou;oW=FY{8 z-TusGLkHV(e!89O?VN@--0m<(SqT(=9I2V!QMP@X%P&wX}LX~`*(K5 z(L=y{*3&e#t9dKG4!g6y8JmKXJZoNvCr*kb_pC@W3u9}mrCN?!#y?O#JtlxmGoOmv z9p6rfakwYgn-k>kCH-Fa9(>Xlc>qMFEz=vZiLIIw%9^$Vh&i-qG^pcvK${iBQ3TnS zVx=4Ms-(IMDSWfqWjUAotcXmis7`qFayarl+7tC@c*UUdNtf!4WtLjY?8%|-`2O!MIe}frH|E{)c&ne9dLZ{=R5k80V+rdH4^vyB?cMD@GQqM!h04Q h+SiaI>1MYtiTg&kQl2z$5IkA{N7OmHdYhnM{|S5!qQd|H literal 0 HcmV?d00001 diff --git a/Adobe Downloader/Assets.xcassets/InDesign (Beta).imageset/Contents.json b/Adobe Downloader/Assets.xcassets/InDesign (Beta).imageset/Contents.json new file mode 100644 index 0000000..b68261e --- /dev/null +++ b/Adobe Downloader/Assets.xcassets/InDesign (Beta).imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "192x192.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Adobe Downloader/Assets.xcassets/InDesign.imageset/Contents.json b/Adobe Downloader/Assets.xcassets/InDesign.imageset/Contents.json new file mode 100644 index 0000000..0226811 --- /dev/null +++ b/Adobe Downloader/Assets.xcassets/InDesign.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "indesign.svg", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Adobe Downloader/Assets.xcassets/InDesign.imageset/indesign.svg b/Adobe Downloader/Assets.xcassets/InDesign.imageset/indesign.svg new file mode 100644 index 0000000..fb21beb --- /dev/null +++ b/Adobe Downloader/Assets.xcassets/InDesign.imageset/indesign.svg @@ -0,0 +1 @@ +256 \ No newline at end of file diff --git a/Adobe Downloader/Assets.xcassets/Lightroom Classic.imageset/Contents.json b/Adobe Downloader/Assets.xcassets/Lightroom Classic.imageset/Contents.json new file mode 100644 index 0000000..1bd3ed1 --- /dev/null +++ b/Adobe Downloader/Assets.xcassets/Lightroom Classic.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "Lightroom Classic.svg", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Adobe Downloader/Assets.xcassets/Lightroom Classic.imageset/Lightroom Classic.svg b/Adobe Downloader/Assets.xcassets/Lightroom Classic.imageset/Lightroom Classic.svg new file mode 100644 index 0000000..4af1e06 --- /dev/null +++ b/Adobe Downloader/Assets.xcassets/Lightroom Classic.imageset/Lightroom Classic.svg @@ -0,0 +1 @@ +Asset 180 \ No newline at end of file diff --git a/Adobe Downloader/Assets.xcassets/Lightroom.imageset/Contents.json b/Adobe Downloader/Assets.xcassets/Lightroom.imageset/Contents.json new file mode 100644 index 0000000..6a5c77a --- /dev/null +++ b/Adobe Downloader/Assets.xcassets/Lightroom.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "lightroom.svg", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Adobe Downloader/Assets.xcassets/Lightroom.imageset/lightroom.svg b/Adobe Downloader/Assets.xcassets/Lightroom.imageset/lightroom.svg new file mode 100644 index 0000000..409b605 --- /dev/null +++ b/Adobe Downloader/Assets.xcassets/Lightroom.imageset/lightroom.svg @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/Adobe Downloader/Assets.xcassets/Media Encoder (Beta).imageset/192x192 (1).png b/Adobe Downloader/Assets.xcassets/Media Encoder (Beta).imageset/192x192 (1).png new file mode 100644 index 0000000000000000000000000000000000000000..914ec0cffa9b7366052e17ccd4dff63b1e6bb0af GIT binary patch literal 3735 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 c58%6Maa?Bp5B5FsE|(?%q4fk_s)2sga7~l literal 0 HcmV?d00001 diff --git a/Adobe Downloader/Assets.xcassets/Media Encoder (Beta).imageset/Contents.json b/Adobe Downloader/Assets.xcassets/Media Encoder (Beta).imageset/Contents.json new file mode 100644 index 0000000..845e96e --- /dev/null +++ b/Adobe Downloader/Assets.xcassets/Media Encoder (Beta).imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "192x192 (1).png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Adobe Downloader/Assets.xcassets/Media Encoder.imageset/Contents.json b/Adobe Downloader/Assets.xcassets/Media Encoder.imageset/Contents.json new file mode 100644 index 0000000..27d9148 --- /dev/null +++ b/Adobe Downloader/Assets.xcassets/Media Encoder.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "media-encoder.svg", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Adobe Downloader/Assets.xcassets/Media Encoder.imageset/media-encoder.svg b/Adobe Downloader/Assets.xcassets/Media Encoder.imageset/media-encoder.svg new file mode 100644 index 0000000..dd90b67 --- /dev/null +++ b/Adobe Downloader/Assets.xcassets/Media Encoder.imageset/media-encoder.svg @@ -0,0 +1 @@ +Asset 106 \ No newline at end of file diff --git a/Adobe Downloader/Assets.xcassets/Photoshop (Beta).imageset/192x192 (2).png b/Adobe Downloader/Assets.xcassets/Photoshop (Beta).imageset/192x192 (2).png new file mode 100644 index 0000000000000000000000000000000000000000..c5d99f8f3b9b436ccb2a44e081c8151a809d86ee GIT binary patch literal 3215 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 bHGA@F-1xe}ZXe(2he2nok4C-Gb&L5Apwk0X literal 0 HcmV?d00001 diff --git a/Adobe Downloader/Assets.xcassets/Photoshop (Beta).imageset/Contents.json b/Adobe Downloader/Assets.xcassets/Photoshop (Beta).imageset/Contents.json new file mode 100644 index 0000000..f8e3ca8 --- /dev/null +++ b/Adobe Downloader/Assets.xcassets/Photoshop (Beta).imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "192x192 (2).png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Adobe Downloader/Assets.xcassets/Photoshop.imageset/Contents.json b/Adobe Downloader/Assets.xcassets/Photoshop.imageset/Contents.json new file mode 100644 index 0000000..199fd22 --- /dev/null +++ b/Adobe Downloader/Assets.xcassets/Photoshop.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "photoshop.svg", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Adobe Downloader/Assets.xcassets/Photoshop.imageset/photoshop.svg b/Adobe Downloader/Assets.xcassets/Photoshop.imageset/photoshop.svg new file mode 100644 index 0000000..2599070 --- /dev/null +++ b/Adobe Downloader/Assets.xcassets/Photoshop.imageset/photoshop.svg @@ -0,0 +1 @@ +Asset 116 \ No newline at end of file diff --git a/Adobe Downloader/Assets.xcassets/Premiere Pro (Beta).imageset/192x192 (3).png b/Adobe Downloader/Assets.xcassets/Premiere Pro (Beta).imageset/192x192 (3).png new file mode 100644 index 0000000000000000000000000000000000000000..15ca72fa43d2cf45073abca0badd4a19cc0cb6fd GIT binary patch literal 2564 zcmbtW_d6R37Y;$}TzhwfQf~FCy;sG!HEWbKDz{W5RE=JPZ#Ecb+$j$f5_Xm965AS)O_nh-Q?|IHI=ir%~Zai{DY(ay@kEegLm>yrvc%6!~G`b$y8pL;i` zG-TpbC$-&oSMIt#<7s&(0u`8L+`QJ=PEDlcQ6W=_FoHe5dJK|i*+JleOo})i@$Z_a(BE zAes&VynGcV ztU6|2yeD(xN+`BCTniGGaYssq5~Q%_bwkMo%gm%+gb5oMENQjZxdS(RQss1(?yK3Q z-V$uu{>1m&@jY}~Sh+72bIoB28)wu?$@HEEocue(t>zR9urU&9{&Ov1Mf$#ZLdKE( z_oZsUiI>Pgw2O8p^~U(>4sM`Iq)Qjq^oDsI_?F7i7_d@^+;z*VcS$JT#P5UTer z=K2H`c-RHu9rV(wZ{R4YmOxl()rVr4x);zsp4S$%rZ*BgVSn?8_xS~4KcYmW#gN2} z_8wQ$K3R3ef#LlgjVr?RVAwC#n^#Z7!U5^l!(|^$I54fhts=xq=Xf>j75g+Y0sXC% zbOH$(X|D0?S`4Dl1Lo$+hgAXK^2c9&rYJT)m zB7Z2*j;OJ^1%4+Am!^7L{8+@dZ+b7C9A@Rc;H6XOjFA_S=$(R?U9fvcq_3TDMjmhY zc^4ok%C}4s6wM--=BwO+W!z9$N(a=Kvyux>Y#e$R>(E5JmQl`k>wsrY@H@Fc-+NP` zE2S*mw>Drr$7c4c*ebPNWAF1i77@H5DGw*Nhs@I8Z(HU^%pER2%o!QYUJBwh|u zLcaK8eK{_D71@Q4alMZ$dCGW0vVIUIu4nB3GLNU(f8Rsa0}o1Ctgt8Z9R>BdqN*~3 zI6?3Jrm`C72F1vyxI4uZ{*s9P`Q0TpiEG!Z(=wYA>r(Ilcpbw))ph za-A`;0BT;g%1Iq{p6#s?cLJH63_d&EoNqEdHh=%e7Bnm9O`5%N`n3H^Kuq0IH(hjba6XVKg*G&)!#|^>|8e zc$c1acOS#`4n&RG%R5dic82+yb@?6u%rND$Pik+!Pg0_NDZgrLX!cv!5g~o&Nxc}8 zE{a%etsJGdG3>kb#XwO955CeFyDj^%!H=ACUd0CneCVz59UH+n5@rX{ogR{}6MzA! z*S+Dk49+6XbC0V7bB)yBPJqj{F8}<1s{<3%x%9DFZZmT4Zbw(e*WFGYA1cVlI6oA( z8h%cjQy*}h@er9eKXH}L8}!|+Y>ONJe$*$BzB{d>QRRRIZcd4wn@{HpChhxQv8s4H zIwWIKeE~J%^N>s5+4ep)bJR{;fq#s?_I|0YRX7O%Qd^J?HlhLvZFK(rfTaH2OzQ8e z3BXVut9Z5v>~;#JA4rztl($7vEJJtiZS#hdE+zyfdx7Os0H9ISoJVFj;4;Hql7s3!uUdmglAGFdWhwV7=Sf0b5Ep1UMp)XyV zkE0UfM(5XHKgu`icrCEg0YUW>*X}4N58qwRXLKD0Wg6?~)~p4ux7|f>z7g3m!+RYeS$KoV9#Il`S~$20oJ9-?!VP&tNc)IfoH*D=X|b zC1qmXi^5e!&Y5JBq8mH7+?aDzrYatn5&{%M2>H~npN|V`t!;ejedZLeSSssb!pfkO z7V;?f8A_(NJ;4bUT4Vo^bxBOd24x{l{)`U9J{^tGD1Y(IA6s$xJp|Iy zdVxQ99H~Qmr2a1p^dI7$ACRpmJ9dqNT9$$R!mYEYMSVDiZoQn=+N19zP>vv-1YISg z43?FuxcDm + + + + + + + + + + + + + + + + + + + diff --git a/Adobe Downloader/Assets.xcassets/Premiere Rush (Beta).imageset/192x192 (4).png b/Adobe Downloader/Assets.xcassets/Premiere Rush (Beta).imageset/192x192 (4).png new file mode 100644 index 0000000000000000000000000000000000000000..e79839054689fbe942c8bb3dbfdab94ca20d2cec GIT binary patch literal 2890 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 MdxpqrO-$r}0PtXQiU0rr literal 0 HcmV?d00001 diff --git a/Adobe Downloader/Assets.xcassets/Premiere Rush (Beta).imageset/Contents.json b/Adobe Downloader/Assets.xcassets/Premiere Rush (Beta).imageset/Contents.json new file mode 100644 index 0000000..a3da81e --- /dev/null +++ b/Adobe Downloader/Assets.xcassets/Premiere Rush (Beta).imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "192x192 (4).png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Adobe Downloader/Assets.xcassets/Premiere Rush.imageset/Contents.json b/Adobe Downloader/Assets.xcassets/Premiere Rush.imageset/Contents.json new file mode 100644 index 0000000..bc519f1 --- /dev/null +++ b/Adobe Downloader/Assets.xcassets/Premiere Rush.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "Premiere Rush.svg", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Adobe Downloader/Assets.xcassets/Premiere Rush.imageset/Premiere Rush.svg b/Adobe Downloader/Assets.xcassets/Premiere Rush.imageset/Premiere Rush.svg new file mode 100644 index 0000000..df52f94 --- /dev/null +++ b/Adobe Downloader/Assets.xcassets/Premiere Rush.imageset/Premiere Rush.svg @@ -0,0 +1 @@ +256 \ No newline at end of file diff --git a/Adobe Downloader/Assets.xcassets/Substance 3D Sampler (Beta).imageset/Contents.json b/Adobe Downloader/Assets.xcassets/Substance 3D Sampler (Beta).imageset/Contents.json new file mode 100644 index 0000000..d5832e0 --- /dev/null +++ b/Adobe Downloader/Assets.xcassets/Substance 3D Sampler (Beta).imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "filename" : "Substance 3D Sampler (Beta) - 96x96.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "Substance 3D Sampler (Beta) - 192x192.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Adobe Downloader/Assets.xcassets/Substance 3D Sampler (Beta).imageset/Substance 3D Sampler (Beta) - 192x192.png b/Adobe Downloader/Assets.xcassets/Substance 3D Sampler (Beta).imageset/Substance 3D Sampler (Beta) - 192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..a7b413750579d53054d55ca87918df21fb0adf0f GIT binary patch literal 3568 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 Z-$ZgpUHF5rhFc3q0E0eLt5LBE`wwB7pF02m literal 0 HcmV?d00001 diff --git a/Adobe Downloader/Assets.xcassets/Substance 3D Sampler (Beta).imageset/Substance 3D Sampler (Beta) - 96x96.png b/Adobe Downloader/Assets.xcassets/Substance 3D Sampler (Beta).imageset/Substance 3D Sampler (Beta) - 96x96.png new file mode 100644 index 0000000000000000000000000000000000000000..9c2f74e0d297ada9157e8fddfda491f224cb16f2 GIT binary patch literal 1836 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 PyCN~vMZg-Mu2265eWGx6 literal 0 HcmV?d00001 diff --git a/Adobe Downloader/Assets.xcassets/Substance 3D Sampler.imageset/Substance 3D Sampler - 96x96.png b/Adobe Downloader/Assets.xcassets/Substance 3D Sampler.imageset/Substance 3D Sampler - 96x96.png new file mode 100644 index 0000000000000000000000000000000000000000..ea34b60ea576ac6caed3078d25989b4fd865cebd GIT binary patch literal 1793 zcmV+c2mbhpP)w_JL z3@X?syXOrVY$)tSm__ixqO#(P13_i;MIQ|8VPFN<3M~|@Yecb?X3Jb*nJaCu!F1ME zzNhz=G`Y$BbIwU_lJkKJNx6T&_jk_u{W1Pj z5yh}2=eF*cJ!MIOgFRk|d6|e#)Ty9mOcK$B=8dmVeI$0&C*lB%)}&t7emVA{xjS*_-=CiOU5vyQyio%dWsmTp<*QoNK|ON?ajC zH7yye57xYepR4=1T*onZ7rF&su6H#gz%=!A9P=QExLs>c=MtXtYSEcO4ns;{xiEpd zYxxN)Ot-g=6F23+@2&hj)HX_B$tZy(qXd?W5?C@yV97MdzJNdAqhQ2OfzD=X3pG1Zl%?|}<7;dq&E>Olej{*fAk<9$KqIvT z3Jn0QD7BQKRASxH`K`h&u&=rFDbf$Jmc`8nQQX4Jisk)b^%xJr{jHW-6=_i9HtvJa6CH(f3DQ4zO)DwoDUOmW1Ay^kfe#3H_>UoQRtbLVHA^A}LEY zZTQkr)^w`@Sn}YRkgz-D78n^XGtdlAy%lEG;Wrp?+y*RJRIB3_7->bTz&g%-(OVTl z+wtv7@tFUhXVm%OM4SI^u|T2q*~cv(gV7#VawxiEC3-HH2T_9PzyOdc&8$A+I*$-9 z0xph|pa26Cwv%T=-~PjR}%EY=eH^G(<-gp`^V7w@Hd=4{(Xv~g8_EE z;^*`@_ThDe2uxaE+|uS_7UC3L=y3mjTK@fSTg?;Kx3fP2jP=z=6zos4Oz|$7=Z!MYEnkT z^+Y4Bs+5C@nuQ&=qX6}mJk}Fx1I75ghR78vSNrk zG8T1hvc9Y{dyo!9w(7&zr&*2|KC4yGry2pvb#o=8VpFFuaDDdX9P>x5VB}*XfmG>1 z%#4cWgAuh||7d}IMxLS+MpoK8^o*tJ;3Y0jKcsBtKUT>=x1tvcMm~s$e53+gk#L{* zbjeg;qdwcLYk*IF^!~WE3-M1|EyvqVuVjFyXIzw5P{#hahzqdd=4j` z;JB7RW66E;Uw~OHkSyk^Wh2ajk)1mCWv?Tl5geGgZB7c39c3t0nIW_fhDZ<^8}btH zePMY<^L+6V4)?cGbg<2mC$KQ{aL;!u)(L-GzmG~GZIDCMCTijc2CK#Cz2$qnF!<4> z!eYE|cnL_@AV-|rAH(e{hyPp^WqS-(Mu~WchRDziy;W5L*Z)QXT?{HFMnL!tm;c1T z)dEA@YbBCA82G*uJW(Vc-s-Yz1x5x9;+oay5OTwk-HMQkhTW=iDbVCmSG)1aAFN_+ z1=QdkB-U9arBsd0&OQ7#^%tx0@p>S_^1-YW|5`gsdOMlvj_zPKc8_@rPAkiB{csOR z0@+Qv>yrQ>D9=6QBPHREyl-1)6PrG&Pq5BM|2-W1S(KPW{~iu698+Hr@fr1_x@F?} z_Y)Z@Gb^cF6^(jE{ghTRN?^$-fhD5^mW&cuGD={{D1jxT1eS~vSTf!+SF!7jv{zdf zLLmqC51M02TxrCVz;cOswdG Bool { + switch (lhs, rhs) { + case (.waiting, .waiting): + return true + case (.preparing(let lInfo), .preparing(let rInfo)): + return lInfo.message == rInfo.message && + lInfo.timestamp == rInfo.timestamp && + lInfo.stage == rInfo.stage + case (.downloading(let lInfo), .downloading(let rInfo)): + return lInfo.fileName == rInfo.fileName && + lInfo.currentPackageIndex == rInfo.currentPackageIndex && + lInfo.totalPackages == rInfo.totalPackages + case (.paused(let lInfo), .paused(let rInfo)): + return lInfo.reason == rInfo.reason && + lInfo.timestamp == rInfo.timestamp && + lInfo.resumable == rInfo.resumable + case (.completed(let lInfo), .completed(let rInfo)): + return lInfo.timestamp == rInfo.timestamp && + lInfo.totalTime == rInfo.totalTime && + lInfo.totalSize == rInfo.totalSize + case (.failed(let lInfo), .failed(let rInfo)): + return lInfo.message == rInfo.message && + lInfo.timestamp == rInfo.timestamp && + lInfo.recoverable == rInfo.recoverable + case (.retrying(let lInfo), .retrying(let rInfo)): + return lInfo.attempt == rInfo.attempt && + lInfo.maxAttempts == rInfo.maxAttempts && + lInfo.reason == rInfo.reason && + lInfo.nextRetryDate == rInfo.nextRetryDate + default: + return false + } + } +} + +extension DownloadStatus.PrepareInfo: Equatable { + static func == (lhs: DownloadStatus.PrepareInfo, rhs: DownloadStatus.PrepareInfo) -> Bool { + return lhs.message == rhs.message && + lhs.timestamp == rhs.timestamp && + lhs.stage == rhs.stage + } +} + +extension DownloadStatus.PrepareInfo.PrepareStage: Equatable { + static func == (lhs: DownloadStatus.PrepareInfo.PrepareStage, rhs: DownloadStatus.PrepareInfo.PrepareStage) -> Bool { + switch (lhs, rhs) { + case (.initializing, .initializing): + return true + case (.creatingInstaller, .creatingInstaller): + return true + case (.signingApp, .signingApp): + return true + case (.fetchingInfo, .fetchingInfo): + return true + case (.validatingSetup, .validatingSetup): + return true + default: + return false + } + } +} + +extension DownloadStatus.PauseInfo.PauseReason: Equatable { + static func == (lhs: DownloadStatus.PauseInfo.PauseReason, rhs: DownloadStatus.PauseInfo.PauseReason) -> Bool { + switch (lhs, rhs) { + case (.userRequested, .userRequested): + return true + case (.networkIssue, .networkIssue): + return true + case (.systemSleep, .systemSleep): + return true + case (.other(let lhsReason), .other(let rhsReason)): + return lhsReason == rhsReason + default: + return false + } + } +} + +enum LoadingState: Equatable { + case idle + case loading + case failed(Error) + case success + + static func == (lhs: LoadingState, rhs: LoadingState) -> Bool { + switch (lhs, rhs) { + case (.idle, .idle): + return true + case (.loading, .loading): + return true + case (.success, .success): + return true + case (.failed(let lError), .failed(let rError)): + return lError.localizedDescription == rError.localizedDescription + default: + return false + } + } +} + +private func formatDuration(_ seconds: TimeInterval) -> String { + if seconds < 60 { + return String(format: "%.1f秒", seconds) + } else if seconds < 3600 { + let minutes = Int(seconds / 60) + let remainingSeconds = Int(seconds.truncatingRemainder(dividingBy: 60)) + return "\(minutes)分\(remainingSeconds)秒" + } else { + let hours = Int(seconds / 3600) + let minutes = Int((seconds.truncatingRemainder(dividingBy: 3600)) / 60) + let remainingSeconds = Int(seconds.truncatingRemainder(dividingBy: 60)) + return "\(hours)小时\(minutes)分\(remainingSeconds)秒" + } +} + +extension DownloadStatus.DownloadInfo: Equatable { + static func == (lhs: DownloadStatus.DownloadInfo, rhs: DownloadStatus.DownloadInfo) -> Bool { + return lhs.fileName == rhs.fileName && + lhs.currentPackageIndex == rhs.currentPackageIndex && + lhs.totalPackages == rhs.totalPackages && + lhs.startTime == rhs.startTime && + lhs.estimatedTimeRemaining == rhs.estimatedTimeRemaining + } +} + +extension DownloadStatus.PauseInfo: Equatable { + static func == (lhs: DownloadStatus.PauseInfo, rhs: DownloadStatus.PauseInfo) -> Bool { + return lhs.reason == rhs.reason && + lhs.timestamp == rhs.timestamp && + lhs.resumable == rhs.resumable + } +} + +extension DownloadStatus.CompletionInfo: Equatable { + static func == (lhs: DownloadStatus.CompletionInfo, rhs: DownloadStatus.CompletionInfo) -> Bool { + return lhs.timestamp == rhs.timestamp && + lhs.totalTime == rhs.totalTime && + lhs.totalSize == rhs.totalSize + } +} + +extension DownloadStatus.FailureInfo: Equatable { + static func == (lhs: DownloadStatus.FailureInfo, rhs: DownloadStatus.FailureInfo) -> Bool { + return lhs.message == rhs.message && + lhs.timestamp == rhs.timestamp && + lhs.recoverable == rhs.recoverable + } +} + +extension DownloadStatus.RetryInfo: Equatable { + static func == (lhs: DownloadStatus.RetryInfo, rhs: DownloadStatus.RetryInfo) -> Bool { + return lhs.attempt == rhs.attempt && + lhs.maxAttempts == rhs.maxAttempts && + lhs.reason == rhs.reason && + lhs.nextRetryDate == rhs.nextRetryDate + } +} diff --git a/Adobe Downloader/Commons/Extensions.swift b/Adobe Downloader/Commons/Extensions.swift new file mode 100644 index 0000000..2e66a14 --- /dev/null +++ b/Adobe Downloader/Commons/Extensions.swift @@ -0,0 +1,238 @@ +// +// Adobe-Downloader +// +// Created by X1a0He on 2024/10/30. +// +import Foundation +import AppKit + +extension FileManager { + func volumeAvailableCapacity(for url: URL) throws -> Int64 { + let resourceValues = try url.resourceValues(forKeys: [.volumeAvailableCapacityKey]) + return Int64(resourceValues.volumeAvailableCapacity ?? 0) + } +} + +extension Product.ProductVersion { + var size: Int64 { + return 0 + } +} + +extension DownloadTask { + var startTime: Date { + switch status { + case .downloading(let info): + return info.startTime + case .completed(let info): + return info.timestamp.addingTimeInterval(-info.totalTime) + case .preparing(let info): + return info.timestamp + case .paused(let info): + return info.timestamp + case .retrying(let info): + return info.nextRetryDate.addingTimeInterval(-60) + case .failed(let info): + return info.timestamp + case .waiting: + return Date() + } + } +} + +extension NetworkManager { + func handleDownloadCompletion(taskId: UUID, packageIndex: Int) async { + await MainActor.run { + guard let taskIndex = downloadTasks.firstIndex(where: { $0.id == taskId }) else { return } + + downloadTasks[taskIndex].packages[packageIndex].downloaded = true + downloadTasks[taskIndex].packages[packageIndex].progress = 1.0 + downloadTasks[taskIndex].packages[packageIndex].status = .completed + + if let nextPackageIndex = downloadTasks[taskIndex].packages.firstIndex(where: { !$0.downloaded }) { + downloadTasks[taskIndex].status = .downloading(DownloadTask.DownloadStatus.DownloadInfo( + fileName: downloadTasks[taskIndex].packages[nextPackageIndex].name, + currentPackageIndex: nextPackageIndex, + totalPackages: downloadTasks[taskIndex].packages.count, + startTime: Date(), + estimatedTimeRemaining: nil + )) + Task { + await resumeDownload(taskId: taskId) + } + } else { + let startTime = downloadTasks[taskIndex].startTime + let totalTime = Date().timeIntervalSince(startTime) + + downloadTasks[taskIndex].status = .completed(DownloadTask.DownloadStatus.CompletionInfo( + timestamp: Date(), + totalTime: totalTime, + totalSize: downloadTasks[taskIndex].totalSize + )) + downloadTasks[taskIndex].progress = 1.0 + progressObservers[taskId]?.invalidate() + progressObservers.removeValue(forKey: taskId) + + if activeDownloadTaskId == taskId { + activeDownloadTaskId = nil + } + + updateDockBadge() + objectWillChange.send() + Task { + do { + try await downloadUtils.clearExtendedAttributes(at: downloadTasks[taskIndex].destinationURL) + print("Successfully cleared extended attributes for \(downloadTasks[taskIndex].destinationURL.path)") + } catch { + print("Failed to clear extended attributes: \(error.localizedDescription)") + } + } + } + } + } +} + +extension NetworkManager { + func getApplicationInfo(buildGuid: String) async throws -> ApplicationInfo { + guard let url = URL(string: NetworkConstants.applicationJsonURL) else { + throw NetworkError.invalidURL(NetworkConstants.applicationJsonURL) + } + + var request = URLRequest(url: url) + request.httpMethod = "GET" + + var headers = NetworkConstants.adobeRequestHeaders + headers["x-adobe-build-guid"] = buildGuid + headers["Accept"] = "application/json" + headers["Connection"] = "keep-alive" + headers["Cookie"] = generateCookie() + + headers.forEach { request.setValue($0.value, forHTTPHeaderField: $0.key) } + + let (data, response) = try await URLSession.shared.data(for: request) + + guard let httpResponse = response as? HTTPURLResponse else { + throw NetworkError.invalidResponse + } + + guard (200...299).contains(httpResponse.statusCode) else { + throw NetworkError.httpError(httpResponse.statusCode, String(data: data, encoding: .utf8)) + } + + do { + let decoder = JSONDecoder() + let applicationInfo: ApplicationInfo = try decoder.decode(ApplicationInfo.self, from: data) + return applicationInfo + } catch { + throw NetworkError.parsingError(error, "Failed to parse application info") + } + } + + func fetchProductsData() async throws -> ([String: Product], String) { + var components = URLComponents(string: NetworkConstants.productsXmlURL) + components?.queryItems = [ + URLQueryItem(name: "_type", value: "xml"), + URLQueryItem(name: "channel", value: "ccm"), + URLQueryItem(name: "channel", value: "sti"), + URLQueryItem(name: "platform", value: "osx10-64,osx10,macarm64,macuniversal"), + URLQueryItem(name: "productType", value: "Desktop") + ] + + guard let url = components?.url else { + throw NetworkError.invalidURL(NetworkConstants.productsXmlURL) + } + + var request = URLRequest(url: url) + request.httpMethod = "GET" + NetworkConstants.adobeRequestHeaders.forEach { request.setValue($0.value, forHTTPHeaderField: $0.key) } + + let (data, response) = try await URLSession.shared.data(for: request) + + guard let httpResponse = response as? HTTPURLResponse else { + throw NetworkError.invalidResponse + } + + guard (200...299).contains(httpResponse.statusCode) else { + throw NetworkError.httpError(httpResponse.statusCode, nil) + } + + guard let xmlString = String(data: data, encoding: .utf8) else { + throw NetworkError.invalidData("无法解码XML数据") + } + + let result: ([String: Product], String) = try await Task.detached(priority: .userInitiated) { + let parseResult = try XHXMLParser.parse( + xmlString: xmlString, + urlVersion: 6, + allowedPlatforms: Set(["osx10-64", "osx10", "macuniversal", "macarm64"]) + ) + return (parseResult.products, parseResult.cdn) + }.value + + return result + } + + func getDownloadPath(for fileName: String) async throws -> URL { + try await withCheckedThrowingContinuation { continuation in + DispatchQueue.main.async { + let panel = NSOpenPanel() + panel.title = "选择保存位置" + panel.canCreateDirectories = true + panel.canChooseDirectories = true + panel.canChooseFiles = false + panel.directoryURL = FileManager.default.urls(for: .downloadsDirectory, in: .userDomainMask).first + + if panel.runModal() == .OK { + if let baseURL = panel.url { + continuation.resume(returning: baseURL) + } else { + continuation.resume(throwing: NetworkError.fileSystemError("未选择保存位置", nil)) + } + } else { + continuation.resume(throwing: NetworkError.fileSystemError("用户取消了操作", nil)) + } + } + } + } + func configureNetworkMonitor() { + monitor.pathUpdateHandler = { [weak self] path in + Task { @MainActor in + guard let self = self else { return } + let wasConnected = self.isConnected + self.isConnected = path.status == .satisfied + + if !wasConnected && self.isConnected { + for task in self.downloadTasks where task.status.isPaused { + if case .paused(let info) = task.status, + info.reason == .networkIssue { + await self.resumeDownload(taskId: task.id) + } + } + } else if wasConnected && !self.isConnected { + for task in self.downloadTasks where task.status.isActive { + await self.downloadUtils.pauseDownloadTask( + taskId: task.id, + reason: DownloadTask.DownloadStatus.PauseInfo.PauseReason.networkIssue + ) + } + } + } + } + monitor.start(queue: DispatchQueue.global(qos: .utility)) + } + + func generateCookie() -> String { + let letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" + let randomString = String((0..<26).map { _ in letters.randomElement()! }) + return "fg=\(randomString)======" + } + + func updateDockBadge() { + let activeCount = downloadTasks.filter { $0.status.isActive }.count + if activeCount > 0 { + NSApplication.shared.dockTile.badgeLabel = "\(activeCount)" + } else { + NSApplication.shared.dockTile.badgeLabel = nil + } + } +} diff --git a/Adobe Downloader/Commons/Statics.swift b/Adobe Downloader/Commons/Statics.swift new file mode 100644 index 0000000..9f29202 --- /dev/null +++ b/Adobe Downloader/Commons/Statics.swift @@ -0,0 +1,33 @@ +// +// Adobe-Downloader +// +// Created by X1a0He on 2024/10/30. +// +import Foundation + +struct AppStatics { + static let supportedLanguages: [(code: String, name: String)] = [ + ("zh_CN", "简体中文"), + ("zh_TW", "繁體中文"), + ("en_US", "English (US)"), + ("en_GB", "English (UK)"), + ("ja_JP", "日本語"), + ("ko_KR", "한국어"), + ("fr_FR", "Français"), + ("de_DE", "Deutsch"), + ("es_ES", "Español"), + ("it_IT", "Italiano"), + ("ru_RU", "Русский"), + ("pt_BR", "Português (Brasil)"), + ("nl_NL", "Nederlands"), + ("pl_PL", "Polski"), + ("tr_TR", "Türkçe"), + ("sv_SE", "Svenska"), + ("da_DK", "Dansk"), + ("fi_FI", "Suomi"), + ("nb_NO", "Norsk"), + ("cs_CZ", "Čeština"), + ("hu_HU", "Magyar"), + ("ALL", "所有语言") + ] +} diff --git a/Adobe Downloader/Commons/Structs.swift b/Adobe Downloader/Commons/Structs.swift new file mode 100644 index 0000000..bcde136 --- /dev/null +++ b/Adobe Downloader/Commons/Structs.swift @@ -0,0 +1,423 @@ +// +// Adobe-Downloader +// +// Created by X1a0He on 2024/10/30. +// +import Foundation + +struct NetworkConstants { + static let downloadTimeout: TimeInterval = 300 + static let maxRetryAttempts = 3 + static let retryDelay: UInt64 = 3_000_000_000 + static let bufferSize = 1024 * 1024 + static let maxConcurrentDownloads = 3 + static let progressUpdateInterval: TimeInterval = 1 + + static let applicationJsonURL = "https://cdn-ffc.oobesaas.adobe.com/core/v3/applications" + static let productsXmlURL = "https://prod-rel-ffc-ccm.oobesaas.adobe.com/adobe-ffc-external/core/v6/products/all" + + static let adobeRequestHeaders = [ + "X-Adobe-App-Id": "accc-apps-panel-desktop", + "User-Agent": "Adobe Application Manager 2.0", + "X-Api-Key": "CC_HD_ESD_1_0", + "Cookie": "fg=QZ6PFIT595NDL6186O9FNYYQOQ======" + ] + + static let downloadHeaders = [ + "User-Agent": "Creative Cloud" + ] + + static let ADOBE_CC_MAC_ICON_PATH = "/Library/Application Support/Adobe/Adobe Desktop Common/HDBox/Install.app/Contents/Resources/CreativeCloudInstaller.icns" + static let MAC_VOLUME_ICON_PATH = "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/CDAudioVolumeIcon.icns" + + // 这里好像不怎么需要这个script了 + static let INSTALL_APP_APPLE_SCRIPT = """ + const app = Application.currentApplication() + app.includeStandardAdditions = true + + ObjC.import('Cocoa') + ObjC.import('stdio') + ObjC.import('stdlib') + + ObjC.registerSubclass({ + name: 'HandleDataAction', + methods: { + 'outData:': { + types: ['void', ['id']], + implementation: function(sender) { + const data = sender.object.availableData + if (data.length !== 0) { + const output = $.NSString.alloc.initWithDataEncoding(data, $.NSUTF8StringEncoding).js + const res = parseOutput(output) + if (res) { + switch (res.type) { + case 'progress': + Progress.additionalDescription = `Progress: ${res.data}%` + Progress.completedUnitCount = res.data + break + case 'exit': + if (res.data === 0) { + $.puts(JSON.stringify({ title: 'Installation succeeded' })) + } else { + $.puts(JSON.stringify({ title: `Failed with error code ${res.data}` })) + } + $.exit(0) + break + } + } + sender.object.waitForDataInBackgroundAndNotify + } else { + $.NSNotificationCenter.defaultCenter.removeObserver(this) + } + } + } + } + }) + + function parseOutput(output) { + let matches + + matches = output.match(/Progress: ([0-9]{1,3})%/) + if (matches) { + return { + type: 'progress', + data: parseInt(matches[1], 10) + } + } + + matches = output.match(/Exit Code: ([0-9]{1,3})/) + if (matches) { + return { + type: 'exit', + data: parseInt(matches[1], 10) + } + } + + return false + } + + function shellescape(a) { + var ret = [] + + a.forEach(function(s) { + if (/[^A-Za-z0-9_\\/:=-]/.test(s)) { + s = "'"+s.replace(/'/g,"'\\''")+"'" + s = s.replace(/^(?:'')+/g, '') // unduplicate single-quote at the beginning + .replace(/\\'''/g, "\\'") // remove non-escaped single-quote if there are enclosed between 2 escaped + } + ret.push(s) + }) + + return ret.join(' ') + } + + function run() { + const appPath = app.pathTo(this).toString() + const driverPath = appPath + '/Contents/Resources/products/driver.xml' + const hyperDrivePath = '/Library/Application Support/Adobe/Adobe Desktop Common/HDBox/Setup' + + if (!$.NSProcessInfo && parseFloat(app.doShellScript('sw_vers -productVersion')) >= 11.0) { + app.displayAlert('GUI unavailable in Big Sur', { + message: 'JXA is currently broken in Big Sur.\\nInstall in Terminal instead?', + buttons: ['Cancel', 'Install in Terminal'], + defaultButton: 'Install in Terminal', + cancelButton: 'Cancel' + }) + const cmd = shellescape([ 'sudo', hyperDrivePath, '--install=1', '--driverXML=' + driverPath ]) + app.displayDialog('Run this command in Terminal to install (press \\'OK\\' to copy to clipboard)', { defaultAnswer: cmd }) + app.setTheClipboardTo(cmd) + return + } + + const args = $.NSProcessInfo.processInfo.arguments + const argv = [] + const argc = args.count + for (var i = 0; i < argc; i++) { + argv.push(ObjC.unwrap(args.objectAtIndex(i))) + } + delete args + + const installFlag = argv.indexOf('-y') > -1 + + if (!installFlag) { + app.displayAlert('Adobe Package Installer', { + message: 'Start installation now?', + buttons: ['Cancel', 'Install'], + defaultButton: 'Install', + cancelButton: 'Cancel' + }) + + const output = app.doShellScript(`"${appPath}/Contents/MacOS/applet" -y`, { administratorPrivileges: true }) + const alert = JSON.parse(output) + alert.params ? app.displayAlert(alert.title, alert.params) : app.displayAlert(alert.title) + return + } + + const stdout = $.NSPipe.pipe + const task = $.NSTask.alloc.init + + task.executableURL = $.NSURL.alloc.initFileURLWithPath(hyperDrivePath) + task.arguments = $(['--install=1', '--driverXML=' + driverPath]) + task.standardOutput = stdout + + const dataAction = $.HandleDataAction.alloc.init + $.NSNotificationCenter.defaultCenter.addObserverSelectorNameObject(dataAction, 'outData:', $.NSFileHandleDataAvailableNotification, stdout.fileHandleForReading) + + stdout.fileHandleForReading.waitForDataInBackgroundAndNotify + + let err = $.NSError.alloc.initWithDomainCodeUserInfo('', 0, '') + const ret = task.launchAndReturnError(err) + if (!ret) { + $.puts(JSON.stringify({ + title: 'Error', + params: { + message: 'Failed to launch task: ' + err.localizedDescription.UTF8String + } + })) + $.exit(0) + } + + Progress.description = "Installing packages..." + Progress.additionalDescription = "Preparing…" + Progress.totalUnitCount = 100 + + task.waitUntilExit + } + """ +} + +struct ApplicationInfo: Codable { + let Name: String? + let SAPCode: String? + let CodexVersion: String? + let AssetGuid: String? + let ProductVersion: String? + let BaseVersion: String? + let Platform: String? + let LbsUrl: String? + let LanguageSet: String? + let Packages: PackagesContainer + let SupportedLanguages: SupportedLanguages? + let ConflictingProcesses: ConflictingProcesses? + let AMTConfig: AMTConfig? + let SystemRequirement: SystemRequirement? + let version: String? + let NglLicensingInfo: NglLicensingInfo? + let AppLineage: String? + let FamilyName: String? + let BuildGuid: String? + let selfServeBuild: Bool? + let HDBuilderVersion: String? + let IsSTI: Bool? + let AppsPanelFullAppUpdateConfig: AppsPanelFullAppUpdateConfig? + let Cdn: CdnInfo? + let WhatsNewUrl: UrlContainer? + let TutorialUrl: UrlContainer? + let AppLaunch: String? + let InstallDir: InstallDir? + let MoreInfoUrl: UrlContainer? + let AddRemoveInfo: AddRemoveInfo? + let AutoUpdate: String? + let AppsPanelPreviousVersionConfig: AppsPanelPreviousVersionConfig? + let ProductDescription: ProductDescription? + let IsNonCCProduct: Bool? + let CompressionType: String? + let MinimumSupportedClientVersion: String? +} + +struct PackagesContainer: Codable { + let Package: [Package] + + struct Package: Codable { + let PackageType: String? + let PackageName: String? + let PackageVersion: String? + let DownloadSize: Int64? + let ExtractSize: Int64? + let Path: String + let Format: String? + let ValidationURL: String? + let packageHashKey: String? + let DeltaPackages: [DeltaPackage]? + let ValidationURLs: ValidationURLs? + let Condition: String? + let InstallSequenceNumber: Int? + let fullPackageName: String? + let PackageValidation: String? + let AliasPackageName: String? + let PackageScheme: String? + let Features: Features? + + var size: Int64 { DownloadSize ?? 0 } + } +} + +struct DeltaPackage: Codable { + let SchemaVersion: String? + let PackageName: String? + let Path: String? + let BasePackageVersion: String? + let ValidationURL: String? + let DownloadSize: Int64? + let ExtractSize: Int64? + let packageHashKey: String? +} + +struct ValidationURLs: Codable { + let TYPE1: String? + let TYPE2: String? +} + +struct Features: Codable { + let Feature: [FeatureItem] + + struct FeatureItem: Codable { + let name: String? + let value: String? + } +} + +struct CdnInfo: Codable { + let Secure: String + let NonSecure: String +} + +struct UrlContainer: Codable { + let Stage: LanguageContainer + let Prod: LanguageContainer + + struct LanguageContainer: Codable { + let Language: [LanguageValue] + } + + struct LanguageValue: Codable { + let value: String + let locale: String + } +} + +struct InstallDir: Codable { + let value: String? + let maxPath: String? +} + +struct AddRemoveInfo: Codable { + let DisplayName: LanguageContainer + let DisplayVersion: LanguageContainer? + let URLInfoAbout: LanguageContainer? + + struct LanguageContainer: Codable { + let Language: [LanguageValue] + } + + struct LanguageValue: Codable { + let value: String + let locale: String + } +} + +struct AppsPanelPreviousVersionConfig: Codable { + let ListInPreviousVersion: Bool + let BrandingName: String +} + +struct ProductDescription: Codable { + let Tagline: LanguageContainer? + let DetailedDescription: LanguageContainer? + + struct LanguageContainer: Codable { + let Language: [LanguageValue] + + struct LanguageValue: Codable { + let value: String + let locale: String + } + } +} + +struct AppsPanelFullAppUpdateConfig: Codable { + let PreviousVersionRange: VersionRange + let ShowDialogBox: Bool + let ImportPreferenceCheckBox: PreferenceCheckBox + let RemovePreviousVersionCheckBox: PreferenceCheckBox + + struct VersionRange: Codable { + let min: String + } + + struct PreferenceCheckBox: Codable { + let DefaultValue: Bool + let Show: Bool + let AllowToggle: Bool + } +} + +struct SupportedLanguages: Codable { + let Language: [LanguageInfo] + + struct LanguageInfo: Codable { + let value: String + let locale: String + } +} + +struct ConflictingProcesses: Codable { + let ConflictingProcess: [ConflictingProcess] + + struct ConflictingProcess: Codable { + let RegularExpression: String + let ProcessDisplayName: String + let Reason: String + let RelativePath: String + let headless: Bool + let forceKillAllowed: Bool + let adobeOwned: Bool + } +} + +struct AMTConfig: Codable { + let path: String + let LEID: String + let appID: String +} + +struct SystemRequirement: Codable { + let OsVersion: OsVersion? + let SupportedOsVersionRange: [OsVersionRange]? + let ExternalUrl: ExternalUrl + let CheckCompatibility: CheckCompatibility + + struct OsVersion: Codable { + let min: String + } + + struct OsVersionRange: Codable { + let min: String + } + + struct ExternalUrl: Codable { + let Stage: LanguageUrls + let Prod: LanguageUrls + + struct LanguageUrls: Codable { + let Language: [LanguageUrl] + + struct LanguageUrl: Codable { + let value: String + let locale: String + } + } + } + + struct CheckCompatibility: Codable { + let Content: String + } +} + +struct NglLicensingInfo: Codable { + let AppId: String + let AppVersion: String + let LibVersion: String + let BuildId: String + let ImsClientId: String +} diff --git a/Adobe Downloader/ContentView.swift b/Adobe Downloader/ContentView.swift new file mode 100644 index 0000000..43d9e1e --- /dev/null +++ b/Adobe Downloader/ContentView.swift @@ -0,0 +1,298 @@ +import SwiftUI + +struct ContentView: View { + @EnvironmentObject private var networkManager: NetworkManager + @State private var isRefreshing = false + @State private var errorMessage: String? + @State private var showDownloadManager = false + @State private var searchText = "" + @State private var useDefaultLanguage = true + @State private var useDefaultDirectory = true + @AppStorage("defaultLanguage") private var defaultLanguage: String = "zh_CN" + @AppStorage("defaultDirectory") private var defaultDirectory: String = "" + @State private var showLanguagePicker = false + + private var filteredProducts: [Product] { + let products = networkManager.products.values + .filter { !$0.hidden && !$0.versions.isEmpty } + .sorted { $0.displayName < $1.displayName } + + if searchText.isEmpty { + return Array(products) + } + + return products.filter { + $0.displayName.localizedCaseInsensitiveContains(searchText) || + $0.sapCode.localizedCaseInsensitiveContains(searchText) + } + } + + var body: some View { + VStack(spacing: 0) { + HStack(spacing: 20) { + HStack { + Text("Adobe Downloader") + .font(.title2) + .fontWeight(.bold) + } + .frame(minWidth: 200) + HStack { + SettingsView( + useDefaultLanguage: $useDefaultLanguage, + useDefaultDirectory: $useDefaultDirectory, + onSelectLanguage: selectLanguage, + onSelectDirectory: selectDirectory + ) + } + .frame(maxWidth: .infinity) + HStack(spacing: 8) { + SearchField(text: $searchText) + .frame(width: 160) + + Button(action: refreshData) { + Image(systemName: "arrow.clockwise") + .imageScale(.large) + } + .disabled(isRefreshing) + .buttonStyle(.borderless) + + Button(action: { showDownloadManager.toggle() }) { + Image(systemName: "arrow.down.circle") + .imageScale(.large) + } + .buttonStyle(.borderless) + .overlay( + Group { + if !networkManager.downloadTasks.isEmpty { + Text("\(networkManager.downloadTasks.count)") + .font(.caption2) + .padding(4) + .background(Color.blue) + .clipShape(Circle()) + .foregroundColor(.white) + .offset(x: 10, y: -10) + } + } + ) + } + .frame(width: 220) + } + .padding(.horizontal) + .padding(.vertical, 8) + .background(Color(NSColor.windowBackgroundColor)) + + ZStack { + Color(NSColor.windowBackgroundColor) + .ignoresSafeArea() + + switch networkManager.loadingState { + case .idle, .loading: + ProgressView("正在加载...") + .frame(maxWidth: .infinity, maxHeight: .infinity) + + case .failed(let error): + VStack(spacing: 20) { + Image(systemName: "exclamationmark.triangle") + .font(.system(size: 48)) + .foregroundColor(.red) + + Text("加载失败") + .font(.title2) + .fontWeight(.medium) + + Text(error.localizedDescription) + .foregroundColor(.secondary) + .multilineTextAlignment(.center) + .frame(maxWidth: 300) + .padding(.bottom, 10) + + Button(action: { + networkManager.retryFetchData() + }) { + HStack(spacing: 8) { + Image(systemName: "arrow.clockwise") + Text("重试") + } + .padding(.horizontal, 20) + .padding(.vertical, 8) + } + .buttonStyle(.borderedProminent) + .controlSize(.large) + } + .padding() + .frame(maxWidth: .infinity, maxHeight: .infinity) + + case .success: + if filteredProducts.isEmpty { + ContentUnavailableView( + "没有找到产品", + systemImage: "magnifyingglass", + description: Text("尝试使用不同的搜索关键词") + ) + } else { + ScrollView { + LazyVGrid( + columns: [GridItem(.adaptive(minimum: 250))], + spacing: 20 + ) { + ForEach(filteredProducts) { product in + AppCardView(product: product) + } + } + .padding() + } + } + } + } + } + .sheet(isPresented: $showLanguagePicker) { + LanguagePickerView(languages: AppStatics.supportedLanguages) { language in + defaultLanguage = language + showLanguagePicker = false + } + } + .sheet(isPresented: $showDownloadManager) { + DownloadManagerView() + .environmentObject(networkManager) + } + .onAppear { + if networkManager.products.isEmpty { + refreshData() + } + } + } + + private func refreshData() { + isRefreshing = true + errorMessage = nil + + Task { + await networkManager.fetchProducts() + await MainActor.run { + isRefreshing = false + } + } + } + + private func selectLanguage() { + showLanguagePicker = true + } + + private func selectDirectory() { + let panel = NSOpenPanel() + panel.title = "选择默认下载目录" + panel.canCreateDirectories = true + panel.canChooseDirectories = true + panel.canChooseFiles = false + + if panel.runModal() == .OK { + defaultDirectory = panel.url?.path ?? "" + } + } +} + +struct SearchField: View { + @Binding var text: String + + var body: some View { + HStack { + Image(systemName: "magnifyingglass") + .foregroundColor(.secondary) + TextField("搜索应用", text: $text) + .textFieldStyle(PlainTextFieldStyle()) + if !text.isEmpty { + Button(action: { text = "" }) { + Image(systemName: "xmark.circle.fill") + .foregroundColor(.secondary) + } + .buttonStyle(PlainButtonStyle()) + } + } + .padding(8) + .background(Color(NSColor.controlBackgroundColor)) + .cornerRadius(8) + } +} + +#Preview { + let networkManager = NetworkManager() + + let mockProducts: [String: Product] = [ + "PHSP": Product( + id: "PHSP", + hidden: false, + displayName: "Photoshop", + sapCode: "PHSP", + versions: [ + "25.0.0": Product.ProductVersion( + sapCode: "PHSP", + baseVersion: "25.0.0", + productVersion: "25.0.0", + apPlatform: "macuniversal", + dependencies: [], + buildGuid: "" + ) + ], + icons: [ + Product.ProductIcon( + size: "192x192", + url: "https://ffc-static-cdn.oobesaas.adobe.com/icons/PHSP/25.0.0/192x192.png" + ) + ] + ), + "ILST": Product( + id: "ILST", + hidden: false, + displayName: "Illustrator", + sapCode: "ILST", + versions: [ + "28.0.0": Product.ProductVersion( + sapCode: "ILST", + baseVersion: "28.0.0", + productVersion: "28.0.0", + apPlatform: "macuniversal", + dependencies: [], + buildGuid: "" + ) + ], + icons: [ + Product.ProductIcon( + size: "192x192", + url: "https://ffc-static-cdn.oobesaas.adobe.com/icons/ILST/28.0.0/192x192.png" + ) + ] + ), + "AEFT": Product( + id: "AEFT", + hidden: false, + displayName: "After Effects", + sapCode: "AEFT", + versions: [ + "24.0.0": Product.ProductVersion( + sapCode: "AEFT", + baseVersion: "24.0.0", + productVersion: "24.0.0", + apPlatform: "macuniversal", + dependencies: [], + buildGuid: "" + ) + ], + icons: [ + Product.ProductIcon( + size: "192x192", + url: "https://ffc-static-cdn.oobesaas.adobe.com/icons/AEFT/24.0.0/192x192.png" + ) + ] + ) + ] + + Task { @MainActor in + networkManager.products = mockProducts + networkManager.loadingState = .success + } + + return ContentView() + .environmentObject(networkManager) + .frame(width: 850, height: 700) +} + diff --git a/Adobe Downloader/Info.plist b/Adobe Downloader/Info.plist new file mode 100644 index 0000000..86ee78e --- /dev/null +++ b/Adobe Downloader/Info.plist @@ -0,0 +1,39 @@ + + + + + + com.apple.security.network.client + + + + com.apple.security.network.server + + + + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + + + + NSDownloadsFolderUsageDescription + 需要访问下载文件夹来保存Adobe安装文件 + + + com.apple.security.app-sandbox + + + com.apple.security.files.downloads.read-write + + + com.apple.security.files.user-selected.read-write + + + com.apple.security.temporary-exception.files.home-relative-path.read-write + + /Downloads/ + + + diff --git a/Adobe Downloader/Models/DownloadTask.swift b/Adobe Downloader/Models/DownloadTask.swift new file mode 100644 index 0000000..92bcdac --- /dev/null +++ b/Adobe Downloader/Models/DownloadTask.swift @@ -0,0 +1,268 @@ +// +// Adobe-Downloader +// +// Created by X1a0He on 2024/10/30. +// +import Foundation + +class DownloadTask: Identifiable, ObservableObject, Equatable { + let id = UUID() + let sapCode: String + let version: String + let language: String + let productName: String + @Published var status: DownloadStatus + @Published var progress: Double + @Published var downloadedSize: Int64 + @Published var totalSize: Int64 + @Published var speed: Double + @Published var currentFileName: String + let destinationURL: URL + var priority: Priority + var retryCount: Int + let createdAt: Date + @Published var lastUpdated: Date + @Published var lastRecordedSize: Int64 + @Published var packages: [Package] + @Published var detailedStatus: String = "" + + enum Priority: Int { + case low = 0 + case normal = 1 + case high = 2 + } + + enum DownloadStatus { + case waiting + case preparing(PrepareInfo) + case downloading(DownloadInfo) + case paused(PauseInfo) + case completed(CompletionInfo) + case failed(FailureInfo) + case retrying(RetryInfo) + + struct PrepareInfo: Equatable { + let message: String + let timestamp: Date + let stage: PrepareStage + + enum PrepareStage: Equatable { + case initializing + case creatingInstaller + case signingApp + case fetchingInfo + case validatingSetup + } + } + + struct DownloadInfo: Equatable { + let fileName: String + let currentPackageIndex: Int + let totalPackages: Int + let startTime: Date + let estimatedTimeRemaining: TimeInterval? + } + + struct PauseInfo: Equatable { + let reason: PauseReason + let timestamp: Date + let resumable: Bool + + enum PauseReason: Equatable { + case userRequested + case networkIssue + case systemSleep + case other(String) + } + } + + struct CompletionInfo: Equatable { + let timestamp: Date + let totalTime: TimeInterval + let totalSize: Int64 + } + + struct FailureInfo: Equatable { + let message: String + let error: Error? + let timestamp: Date + let recoverable: Bool + + static func == (lhs: FailureInfo, rhs: FailureInfo) -> Bool { + lhs.message == rhs.message && + lhs.timestamp == rhs.timestamp && + lhs.recoverable == rhs.recoverable + } + } + + struct RetryInfo: Equatable { + let attempt: Int + let maxAttempts: Int + let reason: String + let nextRetryDate: Date + } + + var description: String { + switch self { + case .waiting: + return "等待中" + case .preparing(let info): + return "准备中: \(info.message)" + case .downloading(let info): + return "下载中: \(info.fileName) (\(info.currentPackageIndex + 1)/\(info.totalPackages))" + case .paused(let info): + switch info.reason { + case .userRequested: return "已暂停" + case .networkIssue: return "网络中断" + case .systemSleep: return "系统休眠" + case .other(let reason): return "已暂停: \(reason)" + } + case .completed(let info): + let duration = String(format: "%.1f", info.totalTime) + return "已完成 (用时: \(duration)秒)" + case .failed(let info): + return "失败: \(info.message)" + case .retrying(let info): + return "重试中 (\(info.attempt)/\(info.maxAttempts))" + } + } + + var sortOrder: Int { + switch self { + case .downloading: return 0 + case .preparing: return 1 + case .waiting: return 2 + case .paused: return 3 + case .retrying: return 4 + case .failed: return 5 + case .completed: return 6 + } + } + + var isFinished: Bool { + switch self { + case .completed, .failed: + return true + default: + return false + } + } + + var isPaused: Bool { + if case .paused = self { + return true + } + return false + } + + var isActive: Bool { + switch self { + case .downloading, .preparing, .retrying: + return true + default: + return false + } + } + + var isCompleted: Bool { + if case .completed = self { + return true + } + return false + } + + var isFailed: Bool { + if case .failed = self { + return true + } + return false + } + } + + enum PackageStatus { + case waiting + case downloading + case paused + case completed + case failed(String) + + var description: String { + switch self { + case .waiting: return "等待中" + case .downloading: return "下载中" + case .paused: return "已暂停" + case .completed: return "已完成" + case .failed(let message): return "失败: \(message)" + } + } + } + + struct Package: Identifiable { + let id = UUID() + var name: String + var Path: String + var size: Int64 + var downloadedSize: Int64 = 0 + var progress: Double = 0 + var speed: Double = 0 + var status: PackageStatus = .waiting + var type: String + var downloaded: Bool = false + var lastUpdated: Date = Date() + var lastRecordedSize: Int64 = 0 + } + + init(sapCode: String, version: String, language: String, productName: String, + status: DownloadStatus = .waiting, progress: Double = 0, + downloadedSize: Int64 = 0, totalSize: Int64 = 0, speed: Double = 0, + currentFileName: String = "", destinationURL: URL, + priority: Priority = .normal, retryCount: Int = 0, + packages: [Package] = [], detailedStatus: String = "") { + self.sapCode = sapCode + self.version = version + self.language = language + self.productName = productName + self.status = status + self.progress = progress + self.downloadedSize = downloadedSize + self.totalSize = totalSize + self.speed = speed + self.currentFileName = currentFileName + self.destinationURL = destinationURL + self.priority = priority + self.retryCount = retryCount + self.createdAt = Date() + self.lastUpdated = Date() + self.lastRecordedSize = 0 + self.packages = packages + self.detailedStatus = detailedStatus + } + + private func updateProgress(_ newProgress: Double) { + objectWillChange.send() + progress = newProgress + } + + private func updateSpeed(_ newSpeed: Double) { + objectWillChange.send() + speed = newSpeed + } + + static func == (lhs: DownloadTask, rhs: DownloadTask) -> Bool { + lhs.id == rhs.id + } +} + +extension DownloadTask.DownloadStatus: Equatable { + static func == (lhs: DownloadTask.DownloadStatus, rhs: DownloadTask.DownloadStatus) -> Bool { + switch (lhs, rhs) { + case (.waiting, .waiting): return true + case (.downloading, .downloading): return true + case (.paused, .paused): return true + case (.completed, .completed): return true + case (.failed(let lhsMessage), .failed(let rhsMessage)): return lhsMessage == rhsMessage + case (.retrying(let lhsCount), .retrying(let rhsCount)): return lhsCount == rhsCount + default: return false + } + } +} diff --git a/Adobe Downloader/NetworkManager.swift b/Adobe Downloader/NetworkManager.swift new file mode 100644 index 0000000..4b83a45 --- /dev/null +++ b/Adobe Downloader/NetworkManager.swift @@ -0,0 +1,612 @@ +import Foundation +import Network +import Combine +import AppKit +import SwiftUI + + +private class DownloadDelegate: NSObject, URLSessionDownloadDelegate { + var completionHandler: (URL?, URLResponse?, Error?) -> Void + var progressHandler: ((Int64, Int64, Int64) -> Void)? + var destinationDirectory: URL + var fileName: String + + init(destinationDirectory: URL, + fileName: String, + completionHandler: @escaping (URL?, URLResponse?, Error?) -> Void, + progressHandler: ((Int64, Int64, Int64) -> Void)? = nil) { + self.destinationDirectory = destinationDirectory + self.fileName = fileName + self.completionHandler = completionHandler + self.progressHandler = progressHandler + super.init() + } + + func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didFinishDownloadingTo location: URL) { + do { + if !FileManager.default.fileExists(atPath: destinationDirectory.path) { + try FileManager.default.createDirectory(at: destinationDirectory, withIntermediateDirectories: true) + } + let destinationURL = destinationDirectory.appendingPathComponent(fileName) + if FileManager.default.fileExists(atPath: destinationURL.path) { + try FileManager.default.removeItem(at: destinationURL) + } + try FileManager.default.moveItem(at: location, to: destinationURL) + Thread.sleep(forTimeInterval: 0.5) + if FileManager.default.fileExists(atPath: destinationURL.path) { + let fileSize = try FileManager.default.attributesOfItem(atPath: destinationURL.path)[.size] as? Int64 ?? 0 + completionHandler(destinationURL, downloadTask.response, nil) + } else { + completionHandler(nil, downloadTask.response, NetworkError.fileSystemError("文件移动后不存在", nil)) + } + } catch { + print("File operation error in delegate: \(error.localizedDescription)") + completionHandler(nil, downloadTask.response, error) + } + } + + func urlSession(_ session: URLSession, task: URLSessionTask, didCompleteWithError error: Error?) { + guard let error = error else { return } + switch (error as NSError).code { + case NSURLErrorCancelled: + return + case NSURLErrorTimedOut: + completionHandler(nil, task.response, NetworkError.downloadError("下载超时", error)) + case NSURLErrorNotConnectedToInternet: + completionHandler(nil, task.response, NetworkError.noConnection) + default: + completionHandler(nil, task.response, error) + } + } + + func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, + didWriteData bytesWritten: Int64, + totalBytesWritten: Int64, + totalBytesExpectedToWrite: Int64) { + guard totalBytesExpectedToWrite > 0 else { return } + guard bytesWritten > 0 else { return } + + progressHandler?(bytesWritten, totalBytesWritten, totalBytesExpectedToWrite) + } + func cleanup() { + completionHandler = { _, _, _ in } + progressHandler = nil + } +} + +@MainActor +class NetworkManager: ObservableObject { + typealias ProgressUpdate = (bytesWritten: Int64, totalWritten: Int64, expectedToWrite: Int64) + @Published var isConnected = false + @Published var products: [String: Product] = [:] + @Published var cdn: String = "" + @Published var loadingState: LoadingState = .idle + @Published var downloadTasks: [DownloadTask] = [] + @Published var installationState: InstallationState = .idle + private let cancelTracker = CancelTracker() + internal var downloadUtils: DownloadUtils! + internal var progressObservers: [UUID: NSKeyValueObservation] = [:] + internal var activeDownloadTaskId: UUID? + internal var monitor = NWPathMonitor() + internal var isFetchingProducts = false + private let installManager = InstallManager() + + enum InstallationState { + case idle + case installing(progress: Double, status: String) + case completed + case failed(Error) + } + + init() { + self.downloadUtils = DownloadUtils(networkManager: self, cancelTracker: cancelTracker) + setupNetworkMonitoring() + } + + func fetchProducts() async { + await fetchProductsWithRetry() + } + + func startDownload(sapCode: String, version: String, language: String, destinationURL: URL) async throws { + try await validateAndStartDownload(sapCode: sapCode, version: version, language: language, destinationURL: destinationURL) + } + + func pauseDownload(taskId: UUID) { + Task { + await downloadUtils.pauseDownloadTask( + taskId: taskId, + reason: DownloadTask.DownloadStatus.PauseInfo.PauseReason.userRequested + ) + } + } + + func resumeDownload(taskId: UUID) async { + await downloadUtils.resumeDownloadTask(taskId: taskId) + } + + func cancelDownload(taskId: UUID, removeFiles: Bool = false) { + Task { + await downloadUtils.cancelDownloadTask(taskId: taskId, removeFiles: removeFiles) + } + } + + func clearCompletedTasks() { + Task { + await clearCompletedDownloadTasks() + } + } + + private func setupNetworkMonitoring() { + configureNetworkMonitor() + } + + private func validateAndStartDownload(sapCode: String, version: String, language: String, destinationURL: URL) async throws { + if downloadTasks.contains(where: { task in + task.sapCode == sapCode && + task.version == version && + !({ + if case .failed = task.status { + return true + } + return false + }()) + }) { + throw NetworkError.downloadError("该版本已在下载队列中", nil) + } + + guard let productInfo = products[sapCode]?.versions[version] else { + throw NetworkError.invalidData("无法获取产品信息") + } + + let installerURL: URL + if sapCode == "APRO" { + let fileName = "Acrobat_DC_Web_WWMUI.dmg" + installerURL = destinationURL.appendingPathComponent(fileName) + } else { + let appName = "Install \(sapCode)_\(version)-\(language)-\(productInfo.apPlatform).app" + let baseDirectory: URL + if destinationURL.pathExtension == "app" { + baseDirectory = destinationURL.deletingLastPathComponent() + } else { + baseDirectory = destinationURL + } + installerURL = baseDirectory.appendingPathComponent(appName) + } + + if FileManager.default.fileExists(atPath: installerURL.path) { + let alert = NSAlert() + alert.messageText = "安装程序已存在" + alert.informativeText = "在目标位置已找到相同版本的安装程序,您想要如何处理?" + alert.addButton(withTitle: "使用已有程序") + alert.addButton(withTitle: "重新下载") + alert.addButton(withTitle: "取消") + + let response = await MainActor.run { + alert.runModal() + } + + switch response { + case .alertFirstButtonReturn: + let task = DownloadTask( + sapCode: sapCode, + version: version, + language: language, + productName: products[sapCode]?.displayName ?? "", + status: .completed(DownloadTask.DownloadStatus.CompletionInfo( + timestamp: Date(), + totalTime: 0, + totalSize: 0 + )), + progress: 1.0, + downloadedSize: 0, + totalSize: 0, + speed: 0, + currentFileName: "", + destinationURL: installerURL, + packages: [] + ) + downloadTasks.append(task) + return + + case .alertSecondButtonReturn: + try? FileManager.default.removeItem(at: installerURL) + default: + throw NetworkError.downloadCancelled + } + } + + let task = DownloadTask( + sapCode: sapCode, + version: version, + language: language, + productName: products[sapCode]?.displayName ?? "", + status: .preparing(DownloadTask.DownloadStatus.PrepareInfo( + message: "正在初始化...", + timestamp: Date(), + stage: .initializing + )), + progress: 0, + downloadedSize: 0, + totalSize: 0, + speed: 0, + currentFileName: "", + destinationURL: installerURL, + packages: [] + ) + + await MainActor.run { + downloadTasks.append(task) + updateDockBadge() + } + + try await performDownload(task: task, productInfo: productInfo) + } + + private func performDownload(task: DownloadTask, productInfo: Product.ProductVersion) async throws { + if task.sapCode == "APRO" { + try await downloadUtils.downloadAPRO(task: task, productInfo: productInfo) + return + } + + try downloadUtils.createInstallerApp( + for: task.sapCode, + version: task.version, + language: task.language, + at: task.destinationURL + ) + + try await downloadUtils.signApp(at: task.destinationURL) + + await updateTaskStatus(task.id, .preparing(DownloadTask.DownloadStatus.PrepareInfo( + message: "正在获取 \(task.productName) 的下载信息...", + timestamp: Date(), + stage: .fetchingInfo + ))) + let appInfo = try await getApplicationInfo(buildGuid: productInfo.buildGuid) + + let packages = appInfo.Packages.Package.map { package in + DownloadTask.Package( + name: package.PackageName ?? "", + Path: package.Path, + size: package.size, + downloadedSize: 0, + progress: 0, + speed: 0, + status: .waiting, + type: package.PackageType ?? "", + downloaded: false, + lastUpdated: Date(), + lastRecordedSize: 0 + ) + } + + await MainActor.run { + if let index = downloadTasks.firstIndex(where: { $0.id == task.id }) { + downloadTasks[index].packages = packages + downloadTasks[index].totalSize = packages.reduce(0) { $0 + $1.size } + } + } + + let productDir = task.destinationURL.appendingPathComponent("Contents/Resources/products/\(task.sapCode)") + try FileManager.default.createDirectory(at: productDir, withIntermediateDirectories: true) + + let encoder = JSONEncoder() + encoder.outputFormatting = [.prettyPrinted, .sortedKeys] + let jsonData = try encoder.encode(appInfo) + try jsonData.write(to: productDir.appendingPathComponent("application.json")) + + await MainActor.run { + if let taskIndex = downloadTasks.firstIndex(where: { $0.id == task.id }) { + downloadTasks[taskIndex].status = .downloading(DownloadTask.DownloadStatus.DownloadInfo( + fileName: packages[0].name, + currentPackageIndex: 0, + totalPackages: packages.count, + startTime: Date(), + estimatedTimeRemaining: nil + )) + } + } + + await resumeDownload(taskId: task.id) + + let driverXml = downloadUtils.generateDriverXML( + sapCode: task.sapCode, + version: task.version, + language: task.language, + productInfo: productInfo, + displayName: task.productName + ) + + let productsDir = task.destinationURL.appendingPathComponent("Contents/Resources/products") + try driverXml.write(to: productsDir.appendingPathComponent("driver.xml"), + atomically: true, + encoding: .utf8) + } + + private func handleDownloadError(taskId: UUID, error: Error) async { + await MainActor.run { + guard let index = downloadTasks.firstIndex(where: { $0.id == taskId }) else { return } + + let (errorMessage, isRecoverable) = classifyError(error) + + if isRecoverable && downloadTasks[index].retryCount < NetworkConstants.maxRetryAttempts { + downloadTasks[index].retryCount += 1 + let nextRetryDate = Date().addingTimeInterval(TimeInterval(NetworkConstants.retryDelay / 1_000_000_000)) + downloadTasks[index].status = .retrying(DownloadTask.DownloadStatus.RetryInfo( + attempt: downloadTasks[index].retryCount, + maxAttempts: NetworkConstants.maxRetryAttempts, + reason: errorMessage, + nextRetryDate: nextRetryDate + )) + + Task { + do { + try await Task.sleep(nanoseconds: NetworkConstants.retryDelay) + if await !cancelTracker.isCancelled(taskId) { + await downloadUtils.resumeDownloadTask(taskId: taskId) + } + } catch { + print("Retry cancelled for task: \(taskId)") + } + } + } else { + downloadTasks[index].status = .failed(DownloadTask.DownloadStatus.FailureInfo( + message: errorMessage, + error: error, + timestamp: Date(), + recoverable: isRecoverable + )) + + progressObservers[taskId]?.invalidate() + progressObservers.removeValue(forKey: taskId) + + if let currentPackage = downloadTasks[index].packages.first(where: { !$0.downloaded }) { + let destinationDir = downloadTasks[index].destinationURL + .appendingPathComponent("Contents/Resources/products/\(downloadTasks[index].sapCode)") + let fileName = currentPackage.Path.components(separatedBy: "/").last ?? "" + let fileURL = destinationDir.appendingPathComponent(fileName) + try? FileManager.default.removeItem(at: fileURL) + } + + updateDockBadge() + objectWillChange.send() + } + } + } + + private func classifyError(_ error: Error) -> (message: String, recoverable: Bool) { + switch error { + case let networkError as NetworkError: + switch networkError { + case .noConnection: + return ("网络连接已断开", true) + case .timeout: + return ("下载超时", true) + case .serverUnreachable: + return ("服务器无法访问", true) + case .insufficientStorage: + return ("存储空间不足", false) + case .filePermissionDenied: + return ("没有入权限", false) + default: + return (networkError.localizedDescription, false) + } + case let urlError as URLError: + switch urlError.code { + case .notConnectedToInternet: + return ("网络连接已断开", true) + case .timedOut: + return ("连接超时", true) + case .cancelled: + return ("下载已取消", false) + default: + return (urlError.localizedDescription, true) + } + default: + return (error.localizedDescription, false) + } + } + + private func updateProgress(for taskId: UUID, progress: ProgressUpdate) { + guard let index = downloadTasks.firstIndex(where: { $0.id == taskId }) else { return } + let task = downloadTasks[index] + guard let packageIndex = task.packages.firstIndex(where: { !$0.downloaded }) else { return } + let now = Date() + let timeDiff = now.timeIntervalSince(task.packages[packageIndex].lastUpdated) + guard timeDiff >= NetworkConstants.progressUpdateInterval else { return } + downloadTasks[index].packages[packageIndex].downloadedSize = progress.totalWritten + downloadTasks[index].packages[packageIndex].progress = + clampProgress(Double(progress.totalWritten) / Double(progress.expectedToWrite)) + let byteDiff = progress.totalWritten - task.packages[packageIndex].lastRecordedSize + if byteDiff > 0 { + let speed = Double(byteDiff) / timeDiff + downloadTasks[index].packages[packageIndex].speed = speed + downloadTasks[index].speed = speed + } + var totalDownloaded: Int64 = 0 + for (i, package) in task.packages.enumerated() { + if package.downloaded { + totalDownloaded += package.size + } else if i == packageIndex { + totalDownloaded += min(progress.totalWritten, package.size) + } + } + downloadTasks[index].downloadedSize = totalDownloaded + downloadTasks[index].progress = clampProgress(Double(totalDownloaded) / Double(task.totalSize)) + if progress.totalWritten >= progress.expectedToWrite { + downloadTasks[index].packages[packageIndex].downloaded = true + downloadTasks[index].packages[packageIndex].downloadedSize = downloadTasks[index].packages[packageIndex].size + downloadTasks[index].packages[packageIndex].progress = 1.0 + downloadTasks[index].packages[packageIndex].speed = 0 + } + downloadTasks[index].packages[packageIndex].lastRecordedSize = progress.totalWritten + downloadTasks[index].packages[packageIndex].lastUpdated = now + objectWillChange.send() + } + + private func updateTaskStatus(_ taskId: UUID, _ status: DownloadTask.DownloadStatus) async { + await MainActor.run { + guard let index = downloadTasks.firstIndex(where: { $0.id == taskId }) else { return } + downloadTasks[index].status = status + switch status { + case .completed: + progressObservers[taskId]?.invalidate() + progressObservers.removeValue(forKey: taskId) + if activeDownloadTaskId == taskId { + activeDownloadTaskId = nil + } + + case .failed: + progressObservers[taskId]?.invalidate() + progressObservers.removeValue(forKey: taskId) + if activeDownloadTaskId == taskId { + activeDownloadTaskId = nil + } + + case .downloading: + activeDownloadTaskId = taskId + + case .paused: + if activeDownloadTaskId == taskId { + activeDownloadTaskId = nil + } + + default: + break + } + + updateDockBadge() + objectWillChange.send() + } + } + + private func clampProgress(_ value: Double) -> Double { + min(1.0, max(0.0, value)) + } + + func retryFetchData() { + Task { + isFetchingProducts = false + loadingState = .idle + await fetchProducts() + } + } + + func getActiveTaskId() async -> UUID? { + await MainActor.run { activeDownloadTaskId } + } + + func setTaskStatus(_ taskId: UUID, _ status: DownloadTask.DownloadStatus) async { + await updateTaskStatus(taskId, status) + } + + func getTasks() async -> [DownloadTask] { + await MainActor.run { downloadTasks } + } + + func handleError(_ taskId: UUID, _ error: Error) async { + await handleDownloadError(taskId: taskId, error: error) + } + func updateDownloadProgress(for taskId: UUID, progress: ProgressUpdate) { + updateProgress(for: taskId, progress: progress) + } + + var cdnUrl: String { + get async { + await MainActor.run { cdn } + } + } + + func removeTask(taskId: UUID, removeFiles: Bool = false) { + Task { + if removeFiles { + if let task = downloadTasks.first(where: { $0.id == taskId }) { + try? FileManager.default.removeItem(at: task.destinationURL) + } + } + + await MainActor.run { + downloadTasks.removeAll { $0.id == taskId } + updateDockBadge() + objectWillChange.send() + } + } + } + + private func fetchProductsWithRetry() async { + guard !isFetchingProducts else { return } + + isFetchingProducts = true + loadingState = .loading + + let maxRetries = 3 + var retryCount = 0 + + while retryCount < maxRetries { + do { + let (products, cdn) = try await fetchProductsData() + await MainActor.run { + self.products = products + self.cdn = cdn + self.loadingState = .success + self.isFetchingProducts = false + } + return + } catch { + retryCount += 1 + if retryCount == maxRetries { + await MainActor.run { + self.loadingState = .failed(error) + self.isFetchingProducts = false + } + } else { + try? await Task.sleep(nanoseconds: UInt64(pow(2.0, Double(retryCount))) * 1_000_000_000) + } + } + } + } + + private func clearCompletedDownloadTasks() async { + await MainActor.run { + downloadTasks.removeAll { task in + task.status.isCompleted || task.status.isFailed + } + updateDockBadge() + objectWillChange.send() + } + } + + func installProduct(at path: URL) async { + await MainActor.run { + installationState = .installing(progress: 0, status: "准备安装...") + } + + do { + try await installManager.install(at: path) { progress, status in + Task { @MainActor in + if status.contains("完成") || status.contains("成功") { + self.installationState = .completed + } else if progress >= 1.0 { + self.installationState = .completed + } else { + self.installationState = .installing(progress: progress, status: status) + } + } + } + + await MainActor.run { + installationState = .completed + } + } catch { + await MainActor.run { + installationState = .failed(error) + } + } + } + + func cancelInstallation() { + Task { + await installManager.cancel() + } + } +} diff --git a/Adobe Downloader/Preview Content/Preview Assets.xcassets/Contents.json b/Adobe Downloader/Preview Content/Preview Assets.xcassets/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/Adobe Downloader/Preview Content/Preview Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Adobe Downloader/Utils/CancelTracker.swift b/Adobe Downloader/Utils/CancelTracker.swift new file mode 100644 index 0000000..2293eb1 --- /dev/null +++ b/Adobe Downloader/Utils/CancelTracker.swift @@ -0,0 +1,79 @@ +// +// Adobe-Downloader +// +// Created by X1a0He on 2024/10/30. +// +import Foundation + +actor CancelTracker { + private var cancelledIds: Set = [] + private var pausedIds: Set = [] + private var downloadTasks: [UUID: URLSessionDownloadTask] = [:] + private var sessions: [UUID: URLSession] = [:] + private var resumeData: [UUID: Data] = [:] + + func registerTask(_ id: UUID, task: URLSessionDownloadTask, session: URLSession) { + downloadTasks[id] = task + sessions[id] = session + } + + func cancel(_ id: UUID) async { + cancelledIds.insert(id) + pausedIds.remove(id) + resumeData.removeValue(forKey: id) + + if let task = downloadTasks[id] { + await withCheckedContinuation { continuation in + task.cancel { _ in + continuation.resume() + } + } + downloadTasks.removeValue(forKey: id) + } + + if let session = sessions[id] { + session.invalidateAndCancel() + sessions.removeValue(forKey: id) + } + } + + func pause(_ id: UUID) async { + if !cancelledIds.contains(id) { + pausedIds.insert(id) + if let task = downloadTasks[id] { + let data = await withCheckedContinuation { continuation in + task.cancel(byProducingResumeData: { data in + continuation.resume(returning: data) + }) + } + if let data = data { + resumeData[id] = data + } + } + } + } + + func getResumeData(_ id: UUID) -> Data? { + return resumeData[id] + } + + func resume(_ id: UUID) async { + pausedIds.remove(id) + } + + func isPaused(_ id: UUID) async -> Bool { + pausedIds.contains(id) + } + + func isCancelled(_ id: UUID) async -> Bool { + cancelledIds.contains(id) + } + + func clearTask(_ id: UUID) { + cancelledIds.remove(id) + pausedIds.remove(id) + downloadTasks.removeValue(forKey: id) + sessions.removeValue(forKey: id) + resumeData.removeValue(forKey: id) + } +} diff --git a/Adobe Downloader/Utils/DownloadUtils.swift b/Adobe Downloader/Utils/DownloadUtils.swift new file mode 100644 index 0000000..e4c6655 --- /dev/null +++ b/Adobe Downloader/Utils/DownloadUtils.swift @@ -0,0 +1,394 @@ +// +// Adobe-Downloader +// +// Created by X1a0He on 2024/10/30. +// +import Foundation +import Network +import Combine +import AppKit + +class DownloadUtils { + typealias ProgressUpdate = (bytesWritten: Int64, totalWritten: Int64, expectedToWrite: Int64) + + private weak var networkManager: NetworkManager? + private let cancelTracker: CancelTracker + + init(networkManager: NetworkManager, cancelTracker: CancelTracker) { + self.networkManager = networkManager + self.cancelTracker = cancelTracker + } + + private class DownloadDelegate: NSObject, URLSessionDownloadDelegate { + var completionHandler: (URL?, URLResponse?, Error?) -> Void + var progressHandler: ((Int64, Int64, Int64) -> Void)? + var destinationDirectory: URL + var fileName: String + + init(destinationDirectory: URL, + fileName: String, + completionHandler: @escaping (URL?, URLResponse?, Error?) -> Void, + progressHandler: ((Int64, Int64, Int64) -> Void)? = nil) { + self.destinationDirectory = destinationDirectory + self.fileName = fileName + self.completionHandler = completionHandler + self.progressHandler = progressHandler + super.init() + } + + func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didFinishDownloadingTo location: URL) { + do { + if !FileManager.default.fileExists(atPath: destinationDirectory.path) { + try FileManager.default.createDirectory(at: destinationDirectory, withIntermediateDirectories: true) + } + + let destinationURL = destinationDirectory.appendingPathComponent(fileName) + + if FileManager.default.fileExists(atPath: destinationURL.path) { + try FileManager.default.removeItem(at: destinationURL) + } + + try FileManager.default.moveItem(at: location, to: destinationURL) + + Thread.sleep(forTimeInterval: 0.5) + + if FileManager.default.fileExists(atPath: destinationURL.path) { + let fileSize = try FileManager.default.attributesOfItem(atPath: destinationURL.path)[.size] as? Int64 ?? 0 + print("File size verification - Expected: \(downloadTask.countOfBytesExpectedToReceive), Actual: \(fileSize)") + + completionHandler(destinationURL, downloadTask.response, nil) + } else { + completionHandler(nil, downloadTask.response, NetworkError.fileSystemError("文件移动后不存在", nil)) + } + } catch { + print("File operation error in delegate: \(error.localizedDescription)") + completionHandler(nil, downloadTask.response, error) + } + } + + func urlSession(_ session: URLSession, task: URLSessionTask, didCompleteWithError error: Error?) { + guard let error = error else { return } + + switch (error as NSError).code { + case NSURLErrorCancelled: + return + case NSURLErrorTimedOut: + completionHandler(nil, task.response, NetworkError.downloadError("下载超时", error)) + case NSURLErrorNotConnectedToInternet: + completionHandler(nil, task.response, NetworkError.noConnection) + default: + completionHandler(nil, task.response, error) + } + } + + func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, + didWriteData bytesWritten: Int64, + totalBytesWritten: Int64, + totalBytesExpectedToWrite: Int64) { + guard totalBytesExpectedToWrite > 0 else { return } + guard bytesWritten > 0 else { return } + + progressHandler?(bytesWritten, totalBytesWritten, totalBytesExpectedToWrite) + } + } + + func pauseDownloadTask(taskId: UUID, reason: DownloadTask.DownloadStatus.PauseInfo.PauseReason = .userRequested) async { + await cancelTracker.pause(taskId) + await networkManager?.setTaskStatus(taskId, .paused(DownloadTask.DownloadStatus.PauseInfo( + reason: reason, + timestamp: Date(), + resumable: true + ))) + } + + func resumeDownloadTask(taskId: UUID) async { + guard let networkManager = networkManager, + let task = await networkManager.getTasks().first(where: { $0.id == taskId }) else { return } + + if let activeId = await networkManager.getActiveTaskId(), activeId != taskId { + await cancelTracker.cancel(activeId) + } + + guard let packageIndex = task.packages.firstIndex(where: { !$0.downloaded }) else { + await networkManager.setTaskStatus(taskId, .completed(DownloadTask.DownloadStatus.CompletionInfo( + timestamp: Date(), + totalTime: Date().timeIntervalSince(task.startTime), + totalSize: task.totalSize + ))) + return + } + + let package = task.packages[packageIndex] + + let delegate = DownloadDelegate( + destinationDirectory: task.destinationURL.appendingPathComponent("Contents/Resources/products/\(task.sapCode)"), + fileName: package.Path.components(separatedBy: "/").last ?? "", + completionHandler: { [weak networkManager] localURL, response, error in + guard let networkManager = networkManager else { return } + + Task { + if let error = error { + await networkManager.handleError(taskId, error) + return + } + + if let localURL = localURL { + do { + let fileSize = try FileManager.default.attributesOfItem(atPath: localURL.path)[.size] as? Int64 ?? 0 + guard fileSize >= package.size else { + throw NetworkError.dataValidationError("文件大小不正确") + } + + await networkManager.handleDownloadCompletion(taskId: taskId, packageIndex: packageIndex) + } catch { + print("File validation error: \(error.localizedDescription)") + await networkManager.handleError(taskId, error) + } + } + } + }, + progressHandler: { [weak networkManager] bytesWritten, totalBytesWritten, totalBytesExpectedToWrite in + guard let networkManager = networkManager else { return } + + Task { @MainActor in + networkManager.updateDownloadProgress(for: taskId, progress: ( + bytesWritten: bytesWritten, + totalWritten: totalBytesWritten, + expectedToWrite: totalBytesExpectedToWrite + )) + } + } + ) + + let config = URLSessionConfiguration.default + config.timeoutIntervalForResource = NetworkConstants.downloadTimeout + config.timeoutIntervalForRequest = NetworkConstants.downloadTimeout + + let session = URLSession(configuration: config, delegate: delegate, delegateQueue: nil) + var downloadTask: URLSessionDownloadTask + + if let resumeData = await cancelTracker.getResumeData(taskId) { + downloadTask = session.downloadTask(withResumeData: resumeData) + } else { + let downloadURL: String + if task.sapCode == "APRO" { + downloadURL = await package.Path.hasPrefix("https://") ? package.Path : networkManager.cdn + package.Path + } else { + downloadURL = await networkManager.cdn + package.Path + } + + guard let url = URL(string: downloadURL) else { + await networkManager.handleError(taskId, NetworkError.invalidURL(downloadURL)) + return + } + + var request = URLRequest(url: url) + NetworkConstants.downloadHeaders.forEach { request.setValue($0.value, forHTTPHeaderField: $0.key) } + + downloadTask = session.downloadTask(with: request) + } + + await cancelTracker.registerTask(taskId, task: downloadTask, session: session) + + await networkManager.setTaskStatus(taskId, .downloading(DownloadTask.DownloadStatus.DownloadInfo( + fileName: package.name, + currentPackageIndex: packageIndex, + totalPackages: task.packages.count, + startTime: Date(), + estimatedTimeRemaining: nil + ))) + + downloadTask.resume() + } + + func cancelDownloadTask(taskId: UUID, removeFiles: Bool = false) async { + await cancelTracker.cancel(taskId) + + if removeFiles { + if let task = await networkManager?.getTasks().first(where: { $0.id == taskId }) { + try? FileManager.default.removeItem(at: task.destinationURL) + } + } + + await networkManager?.setTaskStatus(taskId, .failed(DownloadTask.DownloadStatus.FailureInfo( + message: "下载已取消", + error: NetworkError.downloadCancelled, + timestamp: Date(), + recoverable: false + ))) + } + + func downloadAPRO(task: DownloadTask, productInfo: Product.ProductVersion) async throws { + guard let networkManager = networkManager else { return } + + let manifestURL = await networkManager.cdnUrl + productInfo.buildGuid + print("Manifest URL:", manifestURL) + guard let url = URL(string: manifestURL) else { + throw NetworkError.invalidURL(manifestURL) + } + + var request = URLRequest(url: url) + NetworkConstants.adobeRequestHeaders.forEach { request.setValue($0.value, forHTTPHeaderField: $0.key) } + + let (manifestData, _) = try await URLSession.shared.data(for: request) + + let manifestXML = try XMLDocument(data: manifestData) + + guard let downloadPath = try manifestXML.nodes(forXPath: "//asset_list/asset/asset_path").first?.stringValue, + let assetSizeStr = try manifestXML.nodes(forXPath: "//asset_list/asset/asset_size").first?.stringValue, + let assetSize = Int64(assetSizeStr) else { + throw NetworkError.invalidData("无法从manifest中获取下载信息") + } + + await MainActor.run { + if let index = networkManager.downloadTasks.firstIndex(where: { $0.id == task.id }) { + networkManager.downloadTasks[index].packages = [ + DownloadTask.Package( + name: "Acrobat_DC_Web_WWMUI.dmg", + Path: downloadPath, + size: assetSize, + downloadedSize: 0, + progress: 0, + speed: 0, + status: .waiting, + type: "core", + downloaded: false, + lastUpdated: Date(), + lastRecordedSize: 0 + ) + ] + networkManager.downloadTasks[index].totalSize = assetSize + } + } + + await networkManager.resumeDownload(taskId: task.id) + } + + func signApp(at url: URL) async throws { + let process = Process() + process.executableURL = URL(fileURLWithPath: "/usr/bin/codesign") + process.arguments = ["--force", "--deep", "--sign", "-", url.path] + try process.run() + process.waitUntilExit() + } + + func createInstallerApp(for sapCode: String, version: String, language: String, at destinationURL: URL) throws { + let parentDirectory = destinationURL.deletingLastPathComponent() + if !FileManager.default.fileExists(atPath: parentDirectory.path) { + try FileManager.default.createDirectory(at: parentDirectory, withIntermediateDirectories: true) + } + + if FileManager.default.fileExists(atPath: destinationURL.path) { + try FileManager.default.removeItem(at: destinationURL) + } + + let process = Process() + process.executableURL = URL(fileURLWithPath: "/usr/bin/osacompile") + + let tempScriptURL = FileManager.default.temporaryDirectory.appendingPathComponent("installer.js") + try NetworkConstants.INSTALL_APP_APPLE_SCRIPT.write(to: tempScriptURL, atomically: true, encoding: .utf8) + + process.arguments = [ + "-l", "JavaScript", + "-o", destinationURL.path, + tempScriptURL.path + ] + + try process.run() + process.waitUntilExit() + + if process.terminationStatus != 0 { + throw NetworkError.fileSystemError( + "Failed to create installer app: Exit code \(process.terminationStatus)", + nil + ) + } + + try? FileManager.default.removeItem(at: tempScriptURL) + + let iconDestination = destinationURL.appendingPathComponent("Contents/Resources/applet.icns") + if FileManager.default.fileExists(atPath: iconDestination.path) { + try FileManager.default.removeItem(at: iconDestination) + } + + if FileManager.default.fileExists(atPath: NetworkConstants.ADOBE_CC_MAC_ICON_PATH) { + try FileManager.default.copyItem( + at: URL(fileURLWithPath: NetworkConstants.ADOBE_CC_MAC_ICON_PATH), + to: iconDestination + ) + } else { + try FileManager.default.copyItem( + at: URL(fileURLWithPath: NetworkConstants.MAC_VOLUME_ICON_PATH), + to: iconDestination + ) + } + + try FileManager.default.createDirectory( + at: destinationURL.appendingPathComponent("Contents/Resources/products"), + withIntermediateDirectories: true + ) + } + + func generateDriverXML(sapCode: String, version: String, language: String, + productInfo: Product.ProductVersion, displayName: String) -> String { + let dependencies = productInfo.dependencies.map { dependency in + """ + + \(dependency.sapCode) + \(dependency.version) + ./\(dependency.sapCode) + + """ + }.joined(separator: "\n") + + return """ + + + Adobe \(displayName) + \(sapCode) + \(version) + \(productInfo.apPlatform) + ./\(sapCode) + + \(dependencies) + + + + /Applications + \(language) + + + """ + } + + func clearExtendedAttributes(at url: URL) async throws { + let escapedPath = url.path.replacingOccurrences(of: "'", with: "'\\''") + let script = """ + do shell script "sudo xattr -cr '\(escapedPath)'" with administrator privileges + """ + + let process = Process() + process.executableURL = URL(fileURLWithPath: "/usr/bin/osascript") + process.arguments = ["-e", script] + + let pipe = Pipe() + process.standardOutput = pipe + process.standardError = pipe + + do { + try process.run() + process.waitUntilExit() + + if process.terminationStatus != 0 { + let data = try pipe.fileHandleForReading.readToEnd() ?? Data() + if let output = String(data: data, encoding: .utf8) { + print("xattr command output:", output) + } + } + + print("Successfully cleared extended attributes for \(url.path)") + } catch { + print("Error executing xattr command:", error.localizedDescription) + } + } +} diff --git a/Adobe Downloader/Utils/InstallManager.swift b/Adobe Downloader/Utils/InstallManager.swift new file mode 100644 index 0000000..f534029 --- /dev/null +++ b/Adobe Downloader/Utils/InstallManager.swift @@ -0,0 +1,153 @@ +// +// Adobe-Downloader +// +// Created by X1a0He on 2024/10/30. +// +import Foundation + +actor InstallManager { + enum InstallError: Error { + case setupNotFound + case installationFailed(String) + case cancelled + case permissionDenied + } + + private var installationProcess: Process? + private var progressHandler: ((Double, String) -> Void)? + + func install(at appPath: URL, progressHandler: @escaping (Double, String) -> Void) async throws { + self.progressHandler = progressHandler + + let setupPath = "/Library/Application Support/Adobe/Adobe Desktop Common/HDBox/Setup" + let driverPath = appPath.appendingPathComponent("Contents/Resources/products/driver.xml").path + + guard FileManager.default.fileExists(atPath: setupPath) else { + throw InstallError.setupNotFound + } + + let authProcess = Process() + authProcess.executableURL = URL(fileURLWithPath: "/usr/bin/osascript") + let authScript = """ + tell application "System Events" + display dialog "请输入管理员密码以继续安装" default answer "" with hidden answer ¬ + buttons {"取消", "确定"} default button "确定" ¬ + with icon caution ¬ + with title "需要管理员权限" + if button returned of result is "确定" then + return text returned of result + else + return "" + end if + end tell + """ + + let authPipe = Pipe() + authProcess.standardOutput = authPipe + authProcess.arguments = ["-e", authScript] + + try authProcess.run() + authProcess.waitUntilExit() + + guard let passwordData = try? authPipe.fileHandleForReading.readToEnd(), + let password = String(data: passwordData, encoding: .utf8)?.trimmingCharacters(in: .whitespacesAndNewlines), + !password.isEmpty else { + throw InstallError.permissionDenied + } + + let installProcess = Process() + installProcess.executableURL = URL(fileURLWithPath: "/usr/bin/sudo") + installProcess.arguments = ["-S", setupPath, "--install=1", "--driverXML=\(driverPath)"] + let inputPipe = Pipe() + let outputPipe = Pipe() + installProcess.standardInput = inputPipe + installProcess.standardOutput = outputPipe + installProcess.standardError = outputPipe + + Task { + do { + for try await line in outputPipe.fileHandleForReading.bytes.lines { + // print("Install output:", line) + if let progress = parseProgress(from: line) { + await MainActor.run { + progressHandler(progress.progress, progress.status) + } + } + } + } catch { + print("Error reading output:", error) + } + } + + installationProcess = installProcess + + do { + await MainActor.run { + progressHandler(0.0, "正在准备安装...") + } + + try installProcess.run() + + try inputPipe.fileHandleForWriting.write(contentsOf: "\(password)\n".data(using: .utf8)!) + inputPipe.fileHandleForWriting.closeFile() + + try await withCheckedThrowingContinuation { (continuation: CheckedContinuation) in + Task.detached { + installProcess.waitUntilExit() + + let terminationStatus = installProcess.terminationStatus + if terminationStatus != 0 { + if let errorData = try? outputPipe.fileHandleForReading.readToEnd(), + let errorOutput = String(data: errorData, encoding: .utf8) { + continuation.resume(throwing: InstallError.installationFailed("安装失败 (退出代码: \(terminationStatus)): \(errorOutput)")) + } else { + continuation.resume(throwing: InstallError.installationFailed("安装失败 (退出代码: \(terminationStatus))")) + } + } else { + continuation.resume() + } + } + } + + await MainActor.run { + progressHandler(1.0, "安装完成") + } + } catch { + if case InstallError.cancelled = error { + throw error + } + throw InstallError.installationFailed(error.localizedDescription) + } + } + + func cancel() { + installationProcess?.terminate() + } + + private func parseProgress(from line: String) -> (progress: Double, status: String)? { + if let range = line.range(of: "Exit Code: ([0-9]+)", options: .regularExpression), + let codeStr = line[range].split(separator: ":").last?.trimmingCharacters(in: .whitespaces), + let exitCode = Int(codeStr) { + if exitCode == 0 { + return (1.0, "安装完成") + } else { + return nil + } + } + + if let range = line.range(of: "Progress: ([0-9]{1,3})%", options: .regularExpression), + let progressStr = line[range].split(separator: ":").last?.trimmingCharacters(in: .whitespaces), + let progressValue = Double(progressStr.replacingOccurrences(of: "%", with: "")) { + return (progressValue / 100.0, "正在安装...") + } + + if line.contains("Installing packages") { + return (0.0, "正在安装包...") + } else if line.contains("Preparing") { + return (0.0, "正在准备...") + } + + return nil + } +} + diff --git a/Adobe Downloader/Utils/XHXMLParser.swift b/Adobe Downloader/Utils/XHXMLParser.swift new file mode 100644 index 0000000..c7c9e74 --- /dev/null +++ b/Adobe Downloader/Utils/XHXMLParser.swift @@ -0,0 +1,228 @@ +// +// Adobe-Downloader +// +// Created by X1a0He on 2024/10/30. +// +import Foundation + +struct Product: Identifiable { + let id: String + var hidden: Bool + var displayName: String + var sapCode: String + var versions: [String: ProductVersion] + var icons: [ProductIcon] + + struct ProductVersion { + var sapCode: String + var baseVersion: String + var productVersion: String + var apPlatform: String + var dependencies: [Dependency] + var buildGuid: String + } + + struct Dependency { + var sapCode: String + var version: String + } + + struct ProductIcon { + let size: String + let url: String + + var dimension: Int { + let components = size.split(separator: "x") + if components.count == 2, + let dimension = Int(components[0]) { + return dimension + } + return 0 + } + } + + var isValid: Bool { + return !sapCode.isEmpty && + !displayName.isEmpty && + !versions.isEmpty + } + + func getBestIcon() -> ProductIcon? { + if let icon = icons.first(where: { $0.size == "192x192" }) { + return icon + } + + return icons.max(by: { $0.dimension < $1.dimension }) + } +} + +struct ParseResult { + var products: [String: Product] + var cdn: String +} + +class XHXMLParser { + + static func parseProductsXML(xmlData: Data, urlVersion: Int, allowedPlatforms: Set) throws -> ParseResult { + let xml = try XMLDocument(data: xmlData) + + let prefix = urlVersion == 6 ? "channels/" : "" + + guard let cdn = try xml.nodes(forXPath: "//" + prefix + "channel/cdn/secure").first?.stringValue else { + throw ParserError.missingCDN + } + + var products: [String: Product] = [:] + + let productNodes = try xml.nodes(forXPath: "//" + prefix + "channel/products/product") + + let parentMap = createParentMap(xml.rootElement()) + + for productNode in productNodes { + guard let element = productNode as? XMLElement else { continue } + + let sap = element.attribute(forName: "id")?.stringValue ?? "" + let parentElement = parentMap[parentMap[element] ?? element] + let hidden = (parentElement as? XMLElement)?.attribute(forName: "name")?.stringValue != "ccm" + let displayName = try element.nodes(forXPath: "displayName").first?.stringValue ?? "" + let productVersion = element.attribute(forName: "version")?.stringValue ?? "" + + if products[sap] == nil { + let productIcons = try element.nodes(forXPath: "productIcons/icon").compactMap { iconNode -> Product.ProductIcon? in + guard let iconElement = iconNode as? XMLElement, + let size = iconElement.attribute(forName: "size")?.stringValue, + let url = iconElement.stringValue + else { return nil } + return Product.ProductIcon(size: size, url: url) + } + + products[sap] = Product( + id: sap, + hidden: hidden, + displayName: displayName, + sapCode: sap, + versions: [:], + icons: productIcons + ) + } + + let platforms = try element.nodes(forXPath: "platforms/platform") + for platformNode in platforms { + guard let platform = platformNode as? XMLElement else { continue } + + let appPlatform = platform.attribute(forName: "id")?.stringValue ?? "" + + guard let languageSet = try platform.nodes(forXPath: "languageSet").first as? XMLElement else { continue } + + let baseVersion = languageSet.attribute(forName: "baseVersion")?.stringValue ?? "" + var buildGuid = languageSet.attribute(forName: "buildGuid")?.stringValue ?? "" + let currentProductVersion = productVersion + + if let existingVersion = products[sap]?.versions[productVersion], + allowedPlatforms.contains(existingVersion.apPlatform) { + continue + } + + if sap == "APRO" { + let baseVersion = productVersion + var currentProductVersion = productVersion + + if urlVersion == 4 || urlVersion == 5 { + if let appVersion = try languageSet.nodes(forXPath: "nglLicensingInfo/appVersion").first?.stringValue { + currentProductVersion = appVersion + } + } else if urlVersion == 6 { + currentProductVersion = productVersion + + let builds = try xml.nodes(forXPath: "//builds/build") + for build in builds { + guard let buildElement = build as? XMLElement, + buildElement.attribute(forName: "id")?.stringValue == sap, + buildElement.attribute(forName: "version")?.stringValue == baseVersion else { + continue + } + break + } + } + + buildGuid = try languageSet.nodes(forXPath: "urls/manifestURL").first?.stringValue ?? buildGuid + + if !buildGuid.isEmpty && allowedPlatforms.contains(appPlatform) { + let version = Product.ProductVersion( + sapCode: sap, + baseVersion: baseVersion, + productVersion: currentProductVersion, + apPlatform: appPlatform, + dependencies: [], + buildGuid: buildGuid + ) + + products[sap]?.versions[currentProductVersion] = version + } + continue + } + + let dependencies = try languageSet.nodes(forXPath: "dependencies/dependency").compactMap { node -> Product.Dependency? in + guard let element = node as? XMLElement, + let sapCode = try element.nodes(forXPath: "sapCode").first?.stringValue, + let version = try element.nodes(forXPath: "baseVersion").first?.stringValue + else { return nil } + return Product.Dependency(sapCode: sapCode, version: version) + } + + if !buildGuid.isEmpty && allowedPlatforms.contains(appPlatform) { + let version = Product.ProductVersion( + sapCode: sap, + baseVersion: baseVersion, + productVersion: currentProductVersion, + apPlatform: appPlatform, + dependencies: dependencies, + buildGuid: buildGuid + ) + + products[sap]?.versions[currentProductVersion] = version + } + } + } + + let validProducts = products.filter { product in + !product.value.hidden && + product.value.isValid && + !product.value.versions.isEmpty + } + + return ParseResult(products: validProducts, cdn: cdn) + } + + private static func createParentMap(_ root: XMLNode?) -> [XMLNode: XMLNode] { + var parentMap: [XMLNode: XMLNode] = [:] + + func traverse(_ node: XMLNode) { + for child in node.children ?? [] { + parentMap[child] = node + traverse(child) + } + } + + if let root = root { + traverse(root) + } + + return parentMap + } +} + +enum ParserError: Error { + case missingCDN + case invalidXML + case missingRequired +} + +extension XHXMLParser { + static func parse(xmlString: String, urlVersion: Int, allowedPlatforms: Set) throws -> ParseResult { + guard let data = xmlString.data(using: .utf8) else { + throw ParserError.invalidXML + } + return try parseProductsXML(xmlData: data, urlVersion: urlVersion, allowedPlatforms: allowedPlatforms) + } +} diff --git a/Adobe Downloader/Views/AboutView.swift b/Adobe Downloader/Views/AboutView.swift new file mode 100644 index 0000000..5c46448 --- /dev/null +++ b/Adobe Downloader/Views/AboutView.swift @@ -0,0 +1,89 @@ +// +// Adobe-Downloader +// +// Created by X1a0He on 2024/10/30. +// + +import SwiftUI + +struct AboutView: View { + var body: some View { + TabView { + GeneralSettingsView() + .tabItem { + Label("General", systemImage: "gear") + } + + AboutAppView() + .tabItem { + Label("About", systemImage: "info.circle") + } + } + .frame(width: 375, height: 150) + .padding() + } +} + +struct GeneralSettingsView: View { + @AppStorage("defaultLanguage") private var defaultLanguage: String = "zh_CN" + @AppStorage("defaultDirectory") private var defaultDirectory: String = "" + @AppStorage("useDefaultLanguage") private var useDefaultLanguage: Bool = true + @AppStorage("useDefaultDirectory") private var useDefaultDirectory: Bool = true + + var body: some View { + Form { + GroupBox(label: Text("下载设置")) { + VStack(alignment: .leading) { + Toggle("使用默认语言", isOn: $useDefaultLanguage) + if useDefaultLanguage { + Text("当前语言:\(getLanguageName(code: defaultLanguage))") + .foregroundColor(.secondary) + } + + Divider() + + Toggle("使用默认目录", isOn: $useDefaultDirectory) + if useDefaultDirectory && !defaultDirectory.isEmpty { + Text("当前目录:\(defaultDirectory)") + .foregroundColor(.secondary) + .lineLimit(1) + } + } + .padding(.vertical, 4) + } + } + .padding() + } + + private func getLanguageName(code: String) -> String { + AppStatics.supportedLanguages.first { $0.code == code }?.name ?? code + } +} + +struct AboutAppView: View { + var body: some View { + VStack(spacing: 12) { + Image(nsImage: NSApp.applicationIconImage) + .resizable() + .frame(width: 96, height: 96) + + Text("Welcome to Adobe Downloader") + .font(.title2) + .bold() + + Text("By X1a0He. ❤️ Love from China. ❤️") + .font(.subheadline) + .foregroundColor(.secondary) + + Text("Released under GPLv3.") + .font(.caption) + .foregroundColor(.secondary) + } + .frame(maxWidth: .infinity, maxHeight: .infinity) + .padding() + } +} + +#Preview { + AboutView() +} diff --git a/Adobe Downloader/Views/AppCardView.swift b/Adobe Downloader/Views/AppCardView.swift new file mode 100644 index 0000000..1d107c8 --- /dev/null +++ b/Adobe Downloader/Views/AppCardView.swift @@ -0,0 +1,229 @@ +// +// Adobe-Downloader +// +// Created by X1a0He on 2024/10/30. +// + +import SwiftUI + +class IconCache { + static let shared = IconCache() + private var cache: [String: NSImage] = [:] + private let queue = DispatchQueue(label: "com.adobe.downloader.iconcache") + + func getIcon(for url: String) -> NSImage? { + queue.sync { + return cache[url] + } + } + + func setIcon(_ image: NSImage, for url: String) { + queue.sync { + self.cache[url] = image + } + } +} + +struct AppCardView: View { + let product: Product + @EnvironmentObject private var networkManager: NetworkManager + @AppStorage("defaultDirectory") private var defaultDirectory: String = "" + @AppStorage("useDefaultDirectory") private var useDefaultDirectory: Bool = true + @State private var showError: Bool = false + @State private var errorMessage: String = "" + @State private var showVersionPicker = false + @State private var selectedVersion: String = "" + @State private var iconImage: NSImage? = nil + + private var isDownloading: Bool { + networkManager.downloadTasks.contains { task in + if task.sapCode == product.sapCode { + if case .downloading = task.status { + return true + } + if case .preparing = task.status { + return true + } + if case .waiting = task.status { + return true + } + if case .retrying = task.status { + return true + } + } + return false + } + } + + var body: some View { + VStack { + Group { + if let iconImage = iconImage { + Image(nsImage: iconImage) + .resizable() + .interpolation(.high) + .scaledToFit() + } else { + Image(systemName: "app.fill") + .resizable() + .scaledToFit() + .foregroundColor(.secondary) + } + } + .frame(width: 64, height: 64) + .onAppear { + loadIcon() + } + + Text(product.displayName) + .font(.system(size: 16)) + .fontWeight(.bold) + .lineLimit(2) + .multilineTextAlignment(.center) + + Text("可用版本: \(product.versions.count)") + .font(.caption) + .foregroundColor(.secondary) + .frame(height: 20) + + Spacer() + + Button(action: { showVersionPicker = true }) { + Label(isDownloading ? "下载中" : "下载", + systemImage: isDownloading ? "hourglass.circle.fill" : "arrow.down.circle") + .font(.system(size: 14)) + .frame(minWidth: 0, maxWidth: .infinity) + .frame(height: 32) + } + .buttonStyle(.borderedProminent) + .tint(isDownloading ? .gray : .blue) + .disabled(isDownloading) + } + .padding() + .frame(width: 250, height: 200) + .background(RoundedRectangle(cornerRadius: 10).fill(Color.black.opacity(0.05))) + .overlay( + RoundedRectangle(cornerRadius: 10) + .stroke(Color.gray.opacity(0.1), lineWidth: 2) + ) + .sheet(isPresented: $showVersionPicker) { + VersionPickerView(product: product) { version in + selectedVersion = version + startDownload(version) + } + } + .alert("下载错误", isPresented: $showError) { + Button("确定", role: .cancel) { } + Button("重试") { + if !selectedVersion.isEmpty { + startDownload(selectedVersion) + } + } + } message: { + Text(errorMessage) + } + } + + private func loadIcon() { + guard let bestIcon = product.getBestIcon(), + let iconURL = URL(string: bestIcon.url) else { + return + } + + if let cachedImage = IconCache.shared.getIcon(for: bestIcon.url) { + self.iconImage = cachedImage + return + } + + Task { + do { + var request = URLRequest(url: iconURL) + request.timeoutInterval = 10 + + let (data, response) = try await URLSession.shared.data(for: request) + + guard let httpResponse = response as? HTTPURLResponse, + (200...299).contains(httpResponse.statusCode), + let image = NSImage(data: data) else { + throw URLError(.badServerResponse) + } + + IconCache.shared.setIcon(image, for: bestIcon.url) + + await MainActor.run { + self.iconImage = image + } + } catch { + if let localImage = NSImage(named: product.displayName) { + await MainActor.run { + self.iconImage = localImage + } + } + } + } + } + + private func startDownload(_ version: String) { + Task { + do { + let destinationURL: URL + if useDefaultDirectory && !defaultDirectory.isEmpty { + destinationURL = URL(fileURLWithPath: defaultDirectory) + .appendingPathComponent("Install \(product.displayName)_\(version)-zh_CN.app") + } else { + let panel = NSOpenPanel() + panel.title = "选择保存位置" + panel.canCreateDirectories = true + panel.canChooseDirectories = true + panel.canChooseFiles = false + panel.directoryURL = FileManager.default.urls(for: .downloadsDirectory, in: .userDomainMask).first + + guard await MainActor.run(body: { panel.runModal() == .OK }), + let selectedURL = panel.url else { + return + } + destinationURL = selectedURL + .appendingPathComponent("Install \(product.displayName)_\(version)-zh_CN.app") + } + try await networkManager.startDownload( + sapCode: product.sapCode, + version: version, + language: "zh_CN", + destinationURL: destinationURL + ) + + } catch { + await MainActor.run { + errorMessage = error.localizedDescription + showError = true + } + } + } + } +} + +#Preview { + AppCardView(product: Product( + id: "PHSP", + hidden: false, + displayName: "Photoshop", + sapCode: "PHSP", + versions: [ + "25.0.0": Product.ProductVersion( + sapCode: "PHSP", + baseVersion: "25.0.0", + productVersion: "25.0.0", + apPlatform: "macuniversal", + dependencies: [], + buildGuid: "" + ) + ], + icons: [ + Product.ProductIcon( + size: "192x192", + url: "https://ffc-static-cdn.oobesaas.adobe.com/icons/PHSP/25.0.0/192x192.png" + ) + ] + )) + .environmentObject(NetworkManager()) +} diff --git a/Adobe Downloader/Views/DownloadManagerView.swift b/Adobe Downloader/Views/DownloadManagerView.swift new file mode 100644 index 0000000..9f38892 --- /dev/null +++ b/Adobe Downloader/Views/DownloadManagerView.swift @@ -0,0 +1,124 @@ +// +// Adobe-Downloader +// +// Created by X1a0He on 2024/10/30. +// + +import SwiftUI + +struct DownloadManagerView: View { + @EnvironmentObject private var networkManager: NetworkManager + @Environment(\.dismiss) private var dismiss + + @State private var sortOrder: SortOrder = .addTime + + enum SortOrder { + case addTime + case name + case status + + var description: String { + switch self { + case .addTime: return "按添加时间" + case .name: return "按名称" + case .status: return "按状态" + } + } + } + + private func removeTask(_ task: DownloadTask) { + networkManager.removeTask(taskId: task.id) + } + + private func sortTasks(_ tasks: [DownloadTask]) -> [DownloadTask] { + switch sortOrder { + case .addTime: + return tasks + case .name: + return tasks.sorted { $0.productName < $1.productName } + case .status: + return tasks.sorted { $0.status.sortOrder < $1.status.sortOrder } + } + } + + var body: some View { + VStack(spacing: 12) { + HStack { + Text("下载管理") + .font(.headline) + Spacer() + Menu { + ForEach([SortOrder.addTime, .name, .status], id: \.self) { order in + Button(action: { + sortOrder = order + }) { + HStack { + Text(order.description) + if sortOrder == order { + Image(systemName: "checkmark") + } + } + } + } + } label: { + HStack { + Image(systemName: "arrow.up.arrow.down") + Text(sortOrder.description) + .font(.caption) + } + } + + Button("全部暂停", action: {}) + Button("全部继续", action: {}) + Button("清理已完成", action: { + Task { + networkManager.clearCompletedTasks() + } + }) + + Button("关闭") { + dismiss() + } + } + .padding() + + ScrollView { + LazyVStack(spacing: 8) { + ForEach(sortTasks(networkManager.downloadTasks)) { task in + DownloadProgressView( + task: task, + onCancel: { + networkManager.cancelDownload(taskId: task.id) + }, + onPause: { + networkManager.pauseDownload(taskId: task.id) + }, + onResume: { + Task { + await networkManager.resumeDownload(taskId: task.id) + } + }, + onRetry: { + Task { + await networkManager.resumeDownload(taskId: task.id) + } + }, + onRemove: { + removeTask(task) + } + ) + } + } + .padding(.horizontal) + } + } + .frame(width: 600, height: 400) + } +} + +extension DownloadManagerView.SortOrder: Hashable {} + +#Preview { + DownloadManagerView() + .environmentObject(NetworkManager()) +} diff --git a/Adobe Downloader/Views/DownloadProgressView.swift b/Adobe Downloader/Views/DownloadProgressView.swift new file mode 100644 index 0000000..3a46e14 --- /dev/null +++ b/Adobe Downloader/Views/DownloadProgressView.swift @@ -0,0 +1,466 @@ +// +// Adobe-Downloader +// +// Created by X1a0He on 2024/10/30. +// +import SwiftUI + +struct DownloadProgressView: View { + @EnvironmentObject private var networkManager: NetworkManager + let task: DownloadTask + let onCancel: () -> Void + let onPause: () -> Void + let onResume: () -> Void + let onRetry: () -> Void + let onRemove: () -> Void + + @State private var showInstallPrompt = false + @State private var isInstalling = false + @State private var isPackageListExpanded: Bool = false + + private var statusLabel: some View { + Text(task.status.description) + .font(.caption) + .foregroundColor(statusColor) + .padding(.vertical, 2) + .padding(.horizontal, 6) + .background(statusBackgroundColor) + .cornerRadius(4) + } + + private var statusColor: Color { + switch task.status { + case .downloading: + return .white + case .preparing: + return .white + case .completed: + return .white + case .failed: + return .white + case .paused: + return .white + case .waiting: + return .white + case .retrying: + return .white + } + } + + private var statusBackgroundColor: Color { + switch task.status { + case .downloading: + return Color.blue + case .preparing: + return Color.purple.opacity(0.8) + case .completed: + return Color.green.opacity(0.8) + case .failed: + return Color.red.opacity(0.8) + case .paused: + return Color.orange.opacity(0.8) + case .waiting: + return Color.gray.opacity(0.8) + case .retrying: + return Color.yellow.opacity(0.8) + } + } + + private var actionButtons: some View { + HStack(spacing: 8) { + switch task.status { + case .downloading, .preparing, .waiting: + Button(action: onPause) { + Label("暂停", systemImage: "pause.fill") + } + .buttonStyle(.borderedProminent) + .tint(.orange) + + Button(action: onCancel) { + Label("取消", systemImage: "xmark") + } + .buttonStyle(.borderedProminent) + .tint(.red) + + case .paused: + Button(action: onResume) { + Label("继续", systemImage: "play.fill") + } + .buttonStyle(.borderedProminent) + .tint(.blue) + + Button(action: onCancel) { + Label("取消", systemImage: "xmark") + } + .buttonStyle(.borderedProminent) + .tint(.red) + + case .failed(let info): + if info.recoverable { + Button(action: onRetry) { + Label("重试", systemImage: "arrow.clockwise") + } + .buttonStyle(.borderedProminent) + .tint(.blue) + } + + Button(action: onRemove) { + Label("移除", systemImage: "xmark") + } + .buttonStyle(.borderedProminent) + .tint(.red) + + case .completed: + HStack(spacing: 8) { + Button(action: { showInstallPrompt = true }) { + Label("安装", systemImage: "square.and.arrow.down.on.square") + } + .buttonStyle(.borderedProminent) + .tint(.green) + + Button(action: { + networkManager.removeTask(taskId: task.id, removeFiles: true) + }) { + Label("删除", systemImage: "trash") + } + .buttonStyle(.borderedProminent) + .tint(.red) + } + + case .retrying: + Button(action: onCancel) { + Label("取消", systemImage: "xmark") + } + .buttonStyle(.borderedProminent) + .tint(.red) + } + } + .controlSize(.small) + .sheet(isPresented: $showInstallPrompt) { + VStack(spacing: 20) { + Text("是否要安装 \(task.productName)?") + .font(.headline) + + HStack(spacing: 16) { + Button("取消") { + showInstallPrompt = false + } + .buttonStyle(.bordered) + + Button("安装") { + showInstallPrompt = false + isInstalling = true + Task { + await networkManager.installProduct(at: task.destinationURL) + } + } + .buttonStyle(.borderedProminent) + } + } + .padding() + .frame(width: 300) + } + .sheet(isPresented: $isInstalling) { + Group { + if case .installing(let progress, let status) = networkManager.installationState { + InstallProgressView( + productName: task.productName, + progress: progress, + status: status + ) { + networkManager.cancelInstallation() + isInstalling = false + } + } else if case .completed = networkManager.installationState { + InstallProgressView( + productName: task.productName, + progress: 1.0, + status: "安装完成" + ) { + isInstalling = false + } + } else { + InstallProgressView( + productName: task.productName, + progress: 0, + status: "准备安装..." + ) { + networkManager.cancelInstallation() + isInstalling = false + } + } + } + .frame(minWidth: 400, minHeight: 200) + .background(Color(NSColor.windowBackgroundColor)) + } + } + + private func formatFileSize(_ size: Int64) -> String { + let formatter = ByteCountFormatter() + formatter.countStyle = .file + return formatter.string(fromByteCount: size) + } + + private func formatSpeed(_ bytesPerSecond: Double) -> String { + let formatter = ByteCountFormatter() + formatter.countStyle = .file + formatter.includesUnit = true + formatter.isAdaptive = true + return formatter.string(fromByteCount: Int64(bytesPerSecond)) + "/s" + } + + private func openInFinder(_ url: URL) { + NSWorkspace.shared.selectFile(url.path, inFileViewerRootedAtPath: url.deletingLastPathComponent().path) + } + + var body: some View { + VStack(alignment: .leading, spacing: 8) { + HStack { + VStack(alignment: .leading, spacing: 4) { + Text(task.productName) + .font(.headline) + Text(task.destinationURL.path) + .font(.caption) + .foregroundColor(.blue) + .lineLimit(1) + .truncationMode(.middle) + .onTapGesture { + openInFinder(task.destinationURL) + } + .onHover { hovering in + if hovering { + NSCursor.pointingHand.push() + } else { + NSCursor.pop() + } + } + } + + Spacer() + + VStack(alignment: .trailing, spacing: 4) { + Text(task.version) + .foregroundColor(.secondary) + statusLabel + .padding(.vertical, 2) + .padding(.horizontal, 6) + .cornerRadius(4) + } + } + + VStack(alignment: .leading, spacing: 4) { + HStack { + HStack(spacing: 4) { + Text(formatFileSize(task.downloadedSize)) + Text("/") + Text(formatFileSize(task.totalSize)) + } + + Spacer() + + HStack(spacing: 8) { + Text("\(Int(task.progress * 100))%") + .foregroundColor(.primary) + + if task.speed > 0 { + Text(formatSpeed(task.speed)) + .foregroundColor(.secondary) + } + } + } + .font(.caption) + .foregroundColor(.secondary) + + ProgressView(value: task.progress) + .progressViewStyle(.linear) + } + + if task.packages.count > 0 { + Divider() + + VStack(alignment: .leading, spacing: 6) { + Button(action: { + withAnimation { + isPackageListExpanded.toggle() + } + }) { + HStack { + Image(systemName: isPackageListExpanded ? "chevron.down" : "chevron.right") + .foregroundColor(.secondary) + Text("包列表 (\(task.packages.count))") + .font(.caption) + .foregroundColor(.secondary) + } + .contentShape(Rectangle()) + } + .buttonStyle(.plain) + + if isPackageListExpanded { + ScrollView { + VStack(alignment: .leading, spacing: 6) { + ForEach(task.packages.indices, id: \.self) { index in + let package = task.packages[index] + PackageProgressView(package: package, index: index, total: task.packages.count) + } + } + } + .frame(maxHeight: 120) + } + } + } + + HStack { + Spacer() + actionButtons + } + } + .padding() + .background(Color(NSColor.windowBackgroundColor)) + .cornerRadius(8) + .overlay( + RoundedRectangle(cornerRadius: 8) + .stroke(Color.primary.opacity(0.1), lineWidth: 1) + ) + .shadow(color: Color.primary.opacity(0.05), radius: 2, x: 0, y: 1) + } +} + +struct PackageProgressView: View { + let package: DownloadTask.Package + let index: Int + let total: Int + + var body: some View { + VStack(alignment: .leading, spacing: 2) { + HStack { + Text("\(package.name)") + .font(.caption) + .foregroundColor(package.downloaded ? .secondary : .primary) + + Text("(\(index + 1)/\(total))") + .font(.caption2) + .foregroundColor(.secondary) + + Spacer() + + if package.downloaded { + Text("已完成") + .font(.caption) + .foregroundColor(.green) + } else if package.downloadedSize > 0 { + HStack(spacing: 4) { + Text("\(Int(package.progress * 100))%") + Text(formatSpeed(package.speed)) + } + .font(.caption) + .foregroundColor(.blue) + } else { + Text("等待中") + .font(.caption) + .foregroundColor(.secondary) + } + } + + if !package.downloaded && package.downloadedSize > 0 { + ProgressView(value: package.progress) + .scaleEffect(x: 1, y: 0.5, anchor: .center) + + HStack { + Text(formatFileSize(package.downloadedSize)) + Text("/") + Text(formatFileSize(package.size)) + } + .font(.caption2) + .foregroundColor(.secondary) + } + } + .padding(.vertical, 2) + } + + private func formatFileSize(_ size: Int64) -> String { + let formatter = ByteCountFormatter() + formatter.countStyle = .file + return formatter.string(fromByteCount: size) + } + + private func formatSpeed(_ bytesPerSecond: Double) -> String { + let formatter = ByteCountFormatter() + formatter.countStyle = .file + formatter.includesUnit = true + formatter.isAdaptive = true + return formatter.string(fromByteCount: Int64(bytesPerSecond)) + "/s" + } +} + +#Preview { + DownloadProgressView( + task: DownloadTask( + sapCode: "PHSP", + version: "24.0", + language: "zh_CN", + productName: "Adobe Photoshop", + status: .downloading(DownloadTask.DownloadStatus.DownloadInfo( + fileName: "PhotoshopSupport.dmg", + currentPackageIndex: 1, + totalPackages: 4, + startTime: Date(), + estimatedTimeRemaining: nil + )), + progress: 0.45, + downloadedSize: 1024 * 1024 * 450, + totalSize: 1024 * 1024 * 1000, + speed: 1024 * 1024 * 2, + currentFileName: "PhotoshopSupport.dmg", + destinationURL: URL(fileURLWithPath: "/tmp"), + packages: [ + .init( + name: "PhotoshopCore.dmg", + Path: "/path/to/core", + size: 1024 * 1024 * 300, + downloadedSize: 1024 * 1024 * 300, + progress: 1.0, + speed: 0, + status: .completed, + type: "core", + downloaded: true, + lastUpdated: Date(), + lastRecordedSize: 1024 * 1024 * 300 + ), + .init( + name: "PhotoshopSupport.dmg", + Path: "/path/to/support", + size: 1024 * 1024 * 400, + downloadedSize: 1024 * 1024 * 150, + progress: 0.375, + speed: 1024 * 1024 * 2, + status: .downloading, + type: "support", + downloaded: false, + lastUpdated: Date(), + lastRecordedSize: 1024 * 1024 * 150 + ), + .init( + name: "PhotoshopOptional.dmg", + Path: "/path/to/optional", + size: 1024 * 1024 * 200, + downloadedSize: 0, + progress: 0, + speed: 0, + status: .waiting, + type: "optional", + downloaded: false, + lastUpdated: Date(), + lastRecordedSize: 0 + ) + ] + ), + onCancel: {}, + onPause: {}, + onResume: {}, + onRetry: {}, + onRemove: {} + ) + .environmentObject(NetworkManager()) + .padding() + .frame(width: 500) +} diff --git a/Adobe Downloader/Views/InstallProgressView.swift b/Adobe Downloader/Views/InstallProgressView.swift new file mode 100644 index 0000000..b89d713 --- /dev/null +++ b/Adobe Downloader/Views/InstallProgressView.swift @@ -0,0 +1,112 @@ +// +// Adobe-Downloader +// +// Created by X1a0He on 2024/10/30. +// +import SwiftUI + +struct InstallProgressView: View { + let productName: String + let progress: Double + let status: String + let onCancel: () -> Void + + private var isCompleted: Bool { + progress >= 1.0 || status == "安装完成" + } + + private var progressText: String { + if isCompleted { + return "安装完成" + } else { + return "\(Int(progress * 100))%" + } + } + + var body: some View { + VStack(spacing: 16) { + HStack { + Image(systemName: isCompleted ? "checkmark.circle.fill" : "arrow.down.circle.fill") + .font(.title2) + .foregroundColor(isCompleted ? .green : .blue) + + Text(isCompleted ? "\(productName) 安装完成" : "正在安装 \(productName)") + .font(.headline) + } + + VStack(spacing: 4) { + ProgressView(value: progress) + .progressViewStyle(.linear) + .frame(maxWidth: .infinity) + + Text(progressText) + .font(.caption) + .foregroundColor(.secondary) + .frame(maxWidth: .infinity, alignment: .center) + } + + HStack { + Image(systemName: isCompleted ? "checkmark.circle" : "hourglass.circle") + .foregroundColor(isCompleted ? .green : .secondary) + Text(status) + .font(.caption) + .foregroundColor(.secondary) + } + + if isCompleted { + Button(action: onCancel) { + Label("确定", systemImage: "checkmark.circle.fill") + } + .buttonStyle(.borderedProminent) + .tint(.green) + } else { + Button(action: onCancel) { + Label("取消", systemImage: "xmark.circle.fill") + } + .buttonStyle(.borderedProminent) + .tint(.red) + } + } + .padding() + .frame(minWidth: 400, minHeight: 150) + .background(Color(NSColor.windowBackgroundColor)) + .cornerRadius(8) + } +} + +#Preview("安装中") { + InstallProgressView( + productName: "Adobe Photoshop", + progress: 0.45, + status: "正在安装核心组件...", + onCancel: {} + ) +} + +#Preview("准备安装") { + InstallProgressView( + productName: "Adobe Photoshop", + progress: 0.0, + status: "正在准备安装...", + onCancel: {} + ) +} + +#Preview("安装完成") { + InstallProgressView( + productName: "Adobe Photoshop", + progress: 1.0, + status: "安装完成", + onCancel: {} + ) +} + +#Preview("在深色模式下") { + InstallProgressView( + productName: "Adobe Photoshop", + progress: 0.75, + status: "正在安装...", + onCancel: {} + ) + .preferredColorScheme(.dark) +} diff --git a/Adobe Downloader/Views/LanguagePickerView.swift b/Adobe Downloader/Views/LanguagePickerView.swift new file mode 100644 index 0000000..95061e8 --- /dev/null +++ b/Adobe Downloader/Views/LanguagePickerView.swift @@ -0,0 +1,75 @@ +// +// Adobe-Downloader +// +// Created by X1a0He on 2024/10/30. +// +import SwiftUI + +struct LanguagePickerView: View { + let languages: [(code: String, name: String)] + let onLanguageSelected: (String) -> Void + @Environment(\.dismiss) private var dismiss + @State private var selectedLanguage: String = "zh_CN" + + var body: some View { + VStack(spacing: 0) { + HStack { + Text("选择安装语言") + .font(.headline) + Spacer() + Button("取消") { + dismiss() + } + .buttonStyle(.plain) + } + .padding() + .background(Color(NSColor.controlBackgroundColor)) + + ScrollView { + LazyVGrid( + columns: [GridItem(.flexible())], + spacing: 8 + ) { + ForEach(languages, id: \.code) { language in + Button(action: { + selectedLanguage = language.code + onLanguageSelected(language.code) + dismiss() + }) { + HStack { + Text(language.name) + .frame(maxWidth: .infinity, alignment: .leading) + + if selectedLanguage == language.code { + Image(systemName: "checkmark") + .foregroundColor(.blue) + } + } + .padding(.horizontal) + .padding(.vertical, 8) + .contentShape(Rectangle()) + } + .buttonStyle(.plain) + .background( + RoundedRectangle(cornerRadius: 6) + .fill(selectedLanguage == language.code ? Color.blue.opacity(0.1) : Color.clear) + ) + } + } + .padding() + } + } + .frame(width: 300, height: 400) + } +} + +#Preview { + LanguagePickerView( + languages: [ + ("zh_CN", "简体中文"), + ("en_US", "English (US)"), + ("ja_JP", "日本語") + ], + onLanguageSelected: { _ in } + ) +} diff --git a/Adobe Downloader/Views/SettingsView.swift b/Adobe Downloader/Views/SettingsView.swift new file mode 100644 index 0000000..16a540d --- /dev/null +++ b/Adobe Downloader/Views/SettingsView.swift @@ -0,0 +1,83 @@ +// +// Adobe-Downloader +// +// Created by X1a0He on 2024/10/30. +// +import SwiftUI + +struct SettingsView: View { + @AppStorage("defaultLanguage") private var defaultLanguage: String = "zh_CN" + @AppStorage("defaultDirectory") private var defaultDirectory: String = "" + @Binding var useDefaultLanguage: Bool + @Binding var useDefaultDirectory: Bool + + var onSelectLanguage: () -> Void + var onSelectDirectory: () -> Void + + private let languageMap: [(code: String, name: String)] = AppStatics.supportedLanguages + + var body: some View { + HStack(spacing: 12) { + Toggle(isOn: $useDefaultLanguage) { + HStack(spacing: 4) { + Text("语言:") + .fixedSize() + Text(getLanguageName(code: defaultLanguage)) + .foregroundColor(.secondary) + .lineLimit(1) + .frame(width: 80, alignment: .leading) + } + } + .toggleStyle(.checkbox) + .fixedSize() + + if !useDefaultLanguage { + Button("选择", action: onSelectLanguage) + .buttonStyle(.borderless) + .fixedSize() + } + + Divider() + .frame(height: 16) + + Toggle(isOn: $useDefaultDirectory) { + HStack(spacing: 4) { + Text("目录:") + .fixedSize() + Text(formatPath(defaultDirectory.isEmpty ? "未设置" : defaultDirectory)) + .foregroundColor(.secondary) + .lineLimit(1) + .frame(width: 120, alignment: .leading) + } + } + .toggleStyle(.checkbox) + .fixedSize() + + if !useDefaultDirectory { + Button("选择", action: onSelectDirectory) + .buttonStyle(.borderless) + .fixedSize() + } + } + } + + private func getLanguageName(code: String) -> String { + let languageDict = Dictionary(uniqueKeysWithValues: languageMap) + return languageDict[code] ?? code + } + + private func formatPath(_ path: String) -> String { + if path.isEmpty || path == "未设置" { return "未设置" } + let url = URL(fileURLWithPath: path) + return url.lastPathComponent + } +} + +#Preview { + SettingsView( + useDefaultLanguage: .constant(true), + useDefaultDirectory: .constant(true), + onSelectLanguage: {}, + onSelectDirectory: {} + ) +} diff --git a/Adobe Downloader/Views/VersionPickerView.swift b/Adobe Downloader/Views/VersionPickerView.swift new file mode 100644 index 0000000..f3ca2ef --- /dev/null +++ b/Adobe Downloader/Views/VersionPickerView.swift @@ -0,0 +1,104 @@ +// +// Adobe-Downloader +// +// Created by X1a0He on 2024/10/30. +// +import SwiftUI + +struct VersionPickerView: View { + let product: Product + let onVersionSelected: (String) -> Void + @Environment(\.dismiss) private var dismiss + + private var sortedVersions: [(version: String, platform: String)] { + product.versions + .map { (version: $0.key, platform: $0.value.apPlatform) } + .sorted { $0.version.compare($1.version, options: .numeric) == .orderedDescending } + } + + var body: some View { + VStack(spacing: 0) { + HStack { + VStack(alignment: .leading, spacing: 4) { + Text(product.displayName) + .font(.headline) + Text("选择版本") + .font(.subheadline) + .foregroundColor(.secondary) + } + Spacer() + Button("取消") { + dismiss() + } + .buttonStyle(.plain) + } + .padding() + .background(Color(NSColor.controlBackgroundColor)) + + List { + ForEach(sortedVersions, id: \.version) { version in + Button(action: { + onVersionSelected(version.version) + dismiss() + }) { + HStack(spacing: 12) { + VStack(alignment: .leading, spacing: 4) { + Text(version.version) + .font(.system(.body, design: .monospaced)) + Text(getPlatformDisplayName(version.platform)) + .font(.caption) + .foregroundColor(.secondary) + } + + Spacer() + + Image(systemName: "chevron.right") + .font(.caption) + .foregroundColor(.secondary) + } + .contentShape(Rectangle()) + } + .buttonStyle(.plain) + .padding(.vertical, 4) + } + } + } + .frame(width: 300, height: 400) + } + + private func getPlatformDisplayName(_ platform: String) -> String { + switch platform { + case "macuniversal": + return "Universal (Intel/Apple Silicon)" + case "macarm64": + return "Apple Silicon" + case "osx10-64", "osx10": + return "Intel" + default: + return platform + } + } +} + +#Preview { + VersionPickerView( + product: Product( + id: "PHSP", + hidden: false, + displayName: "Photoshop", + sapCode: "PHSP", + versions: [ + "25.0.0": Product.ProductVersion( + sapCode: "PHSP", + baseVersion: "25.0.0", + productVersion: "25.0.0", + apPlatform: "macuniversal", + dependencies: [], + buildGuid: "" + ) + ], + icons: [] + ), + onVersionSelected: { _ in } + ) +} diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..f288702 --- /dev/null +++ b/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/Localizables/Localizable.xcstrings b/Localizables/Localizable.xcstrings new file mode 100644 index 0000000..b030e67 --- /dev/null +++ b/Localizables/Localizable.xcstrings @@ -0,0 +1,228 @@ +{ + "sourceLanguage" : "en", + "strings" : { + "(%lld/%lld)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "(%1$lld/%2$lld)" + } + } + } + }, + "/" : { + + }, + "%@" : { + "localizations" : { + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@" + } + } + } + }, + "%@ 安装完成" : { + + }, + "%lld" : { + + }, + "%lld%%" : { + "localizations" : { + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld%%" + } + } + } + }, + "About" : { + "localizations" : { + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "关于" + } + } + } + }, + "Adobe Downloader" : { + + }, + "By X1a0He. ❤️ Love from China. ❤️" : { + + }, + "General" : { + "localizations" : { + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "通用" + } + } + } + }, + "Released under GPLv3." : { + + }, + "Welcome to Adobe Downloader" : { + + }, + "下载" : { + + }, + "下载中" : { + + }, + "下载已取消" : { + "comment" : "Download cancelled" + }, + "下载管理" : { + + }, + "下载设置" : { + + }, + "下载错误" : { + + }, + "使用默认目录" : { + + }, + "使用默认语言" : { + + }, + "全部暂停" : { + + }, + "全部继续" : { + + }, + "关闭" : { + + }, + "删除" : { + + }, + "加载失败" : { + + }, + "包列表 (%lld)" : { + + }, + "取消" : { + + }, + "可用版本: %lld" : { + + }, + "安装" : { + + }, + "尝试使用不同的搜索关键词" : { + + }, + "已完成" : { + + }, + "已暂停" : { + "comment" : "Download status paused" + }, + "当前目录:%@" : { + + }, + "当前语言:%@" : { + + }, + "搜索应用" : { + + }, + "是否要安装 %@?" : { + + }, + "暂停" : { + + }, + "服务器响应无效" : { + "comment" : "Invalid response" + }, + "正在下载 %@ (%d/%d)" : { + "comment" : "Download status downloading", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "正在下载 %1$@ (%2$d/%3$d)" + } + } + } + }, + "正在加载..." : { + + }, + "正在安装 %@" : { + + }, + "没有找到产品" : { + + }, + "没有网络连接" : { + "comment" : "Network error" + }, + "清理已完成" : { + + }, + "目录:" : { + + }, + "确定" : { + + }, + "移除" : { + + }, + "等待中" : { + "comment" : "Download status waiting" + }, + "系统休眠" : { + "comment" : "Download status system sleep" + }, + "继续" : { + + }, + "网络中断" : { + "comment" : "Download status network paused" + }, + "语言:" : { + + }, + "选择" : { + + }, + "选择安装语言" : { + + }, + "选择版本" : { + + }, + "重试" : { + + }, + "重试中 (%d/%d)" : { + "comment" : "Download status retrying", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "重试中 (%1$d/%2$d)" + } + } + } + } + }, + "version" : "1.0" +} \ No newline at end of file