From d5362946f22dc1e86daaf85ad52cf64074a97e18 Mon Sep 17 00:00:00 2001 From: pixelomer <37103802+pixelomer@users.noreply.github.com> Date: Mon, 6 Jan 2020 21:55:16 +0300 Subject: [PATCH] Initial commit --- .gitattributes | 2 + .gitignore | 2 + AltDeploy-Bridge.h | 14 + AltDeploy.xcodeproj/project.pbxproj | 820 ++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/xcschemes/AltDeploy.xcscheme | 78 + AltDeploy/AltDeploy.entitlements | 10 + AltDeploy/AppDelegate.h | 15 + AltDeploy/AppDelegate.m | 25 + .../AppIcon.appiconset/Contents.json | 58 + AltDeploy/Assets.xcassets/Contents.json | 6 + AltDeploy/Base.lproj/Main.storyboard | 542 ++++ AltDeploy/Info.plist | 36 + AltDeploy/ViewController.h | 29 + AltDeploy/ViewController.m | 411 +++ AltDeploy/apple.pem | 53 + AltDeploy/main.m | 63 + AltKit/AltKit.h | 9 + AltKit/NSError+ALTServerError.h | 40 + AltKit/NSError+ALTServerError.m | 73 + AltKit/Result+Conveniences.swift | 76 + AltPlugin.mailbundle/Contents/Info.plist | 84 + AltPlugin.mailbundle/Contents/MacOS/AltPlugin | Bin 0 -> 27652 bytes AltServer/ALTDeviceManager+Installation.swift | 553 ++++ AltServer/ALTDeviceManager.h | 25 + AltServer/ALTDeviceManager.mm | 706 +++++ AltServer/AnisetteDataManager.swift | 78 + AltSign/ALTAccount.h | 24 + AltSign/ALTAccount.m | 73 + AltSign/ALTAnisetteData.h | 44 + AltSign/ALTAnisetteData.m | 223 ++ AltSign/ALTAppGroup.h | 22 + AltSign/ALTAppGroup.m | 59 + AltSign/ALTAppID.h | 26 + AltSign/ALTAppID.m | 84 + AltSign/ALTAppleAPI+Authentication.h | 28 + AltSign/ALTAppleAPI+Authentication.m | 764 +++++ AltSign/ALTAppleAPI.h | 86 + AltSign/ALTAppleAPI.m | 862 ++++++ AltSign/ALTAppleAPISession.h | 25 + AltSign/ALTAppleAPISession.m | 35 + AltSign/ALTAppleAPI_Private.h | 34 + AltSign/ALTApplication.h | 43 + AltSign/ALTApplication.mm | 153 + AltSign/ALTCapabilities.h | 31 + AltSign/ALTCapabilities.m | 50 + AltSign/ALTCertificate.h | 33 + AltSign/ALTCertificate.m | 262 ++ AltSign/ALTCertificateRequest.h | 22 + AltSign/ALTCertificateRequest.m | 151 + AltSign/ALTDevice.h | 23 + AltSign/ALTDevice.m | 63 + AltSign/ALTModel+Internal.h | 49 + AltSign/ALTProvisioningProfile.h | 45 + AltSign/ALTProvisioningProfile.m | 301 ++ AltSign/ALTSigner.h | 29 + AltSign/ALTSigner.mm | 312 +++ AltSign/ALTTeam.h | 36 + AltSign/ALTTeam.m | 93 + AltSign/AltSign.h | 39 + AltSign/NSError+ALTErrors.h | 60 + AltSign/NSError+ALTErrors.m | 128 + AltSign/NSFileManager+Apps.h | 20 + AltSign/NSFileManager+Apps.m | 415 +++ AltSign/ldid/ldid.cpp | 119 + AltSign/ldid/ldid.hpp | 18 + Dependencies/Individual/libcrypto.a | Bin 0 -> 3924000 bytes Dependencies/Individual/libimobiledevice.a | Bin 0 -> 256704 bytes Dependencies/Individual/libplist.a | Bin 0 -> 77632 bytes Dependencies/Individual/libssl.a | Bin 0 -> 721848 bytes Dependencies/Individual/libusbmuxd.a | Bin 0 -> 43208 bytes Dependencies/README.md | 7 + Dependencies/dependencies.a | Bin 0 -> 5022936 bytes SAMKeychain/LICENSE | 20 + SAMKeychain/SAMKeychain.h | 203 ++ SAMKeychain/SAMKeychain.m | 130 + SAMKeychain/SAMKeychainQuery.h | 147 + SAMKeychain/SAMKeychainQuery.m | 316 +++ corecrypto/cc.h | 164 ++ corecrypto/cc_config.h | 560 ++++ corecrypto/cc_debug.h | 126 + corecrypto/cc_memory.h | 189 ++ corecrypto/cc_priv.h | 530 ++++ corecrypto/cc_runtime_config.h | 102 + corecrypto/ccaes.h | 175 ++ corecrypto/ccansikdf.h | 89 + corecrypto/ccasn1.h | 150 + corecrypto/ccblowfish.h | 96 + corecrypto/cccast.h | 96 + corecrypto/ccchacha20poly1305.h | 352 +++ corecrypto/ccchacha20poly1305_priv.h | 91 + corecrypto/cccmac.h | 266 ++ corecrypto/ccder.h | 370 +++ corecrypto/ccder_decode_eckey.h | 73 + corecrypto/ccder_encode_eckey.h | 72 + corecrypto/ccder_priv.h | 113 + corecrypto/ccder_rsa.h | 77 + corecrypto/ccdes.h | 121 + corecrypto/ccdh.h | 516 ++++ corecrypto/ccdh_gp.h | 88 + corecrypto/ccdh_priv.h | 105 + corecrypto/ccdigest.h | 245 ++ corecrypto/ccdigest_priv.h | 90 + corecrypto/ccdrbg.h | 191 ++ corecrypto/ccdrbg_factory.h | 68 + corecrypto/ccdrbg_impl.h | 123 + corecrypto/ccec.h | 888 ++++++ corecrypto/ccec25519.h | 189 ++ corecrypto/ccec25519_priv.h | 86 + corecrypto/ccec_priv.h | 504 ++++ corecrypto/ccecies.h | 217 ++ corecrypto/ccecies_priv.h | 70 + corecrypto/cchkdf.h | 93 + corecrypto/cchmac.h | 161 ++ corecrypto/ccmd2.h | 84 + corecrypto/ccmd4.h | 82 + corecrypto/ccmd5.h | 82 + corecrypto/ccmode.h | 926 +++++++ corecrypto/ccmode_factory.h | 646 +++++ corecrypto/ccmode_impl.h | 264 ++ corecrypto/ccmode_siv.h | 192 ++ corecrypto/ccmode_siv_priv.h | 129 + corecrypto/ccn.h | 704 +++++ corecrypto/ccn_priv.h | 212 ++ corecrypto/ccnistkdf.h | 175 ++ corecrypto/ccpad.h | 127 + corecrypto/ccpbkdf2.h | 96 + corecrypto/ccperf.h | 226 ++ corecrypto/ccprime.h | 81 + corecrypto/ccrc2.h | 92 + corecrypto/ccrc4.h | 98 + corecrypto/ccripemd.h | 95 + corecrypto/ccrng.h | 114 + corecrypto/ccrng_drbg.h | 92 + corecrypto/ccrng_ecfips_test.h | 83 + corecrypto/ccrng_pbkdf2_prng.h | 91 + corecrypto/ccrng_priv.h | 78 + corecrypto/ccrng_rsafips_test.h | 89 + corecrypto/ccrng_sequence.h | 81 + corecrypto/ccrng_system.h | 96 + corecrypto/ccrng_test.h | 83 + corecrypto/ccrsa.h | 663 +++++ corecrypto/ccrsa_priv.h | 571 ++++ corecrypto/ccsha1.h | 106 + corecrypto/ccsha2.h | 137 + corecrypto/ccsrp.h | 635 +++++ corecrypto/ccsrp_gp.h | 76 + corecrypto/cctest.h | 91 + corecrypto/ccwrap.h | 191 ++ corecrypto/ccz.h | 314 +++ corecrypto/ccz_priv.h | 135 + corecrypto/cczp.h | 392 +++ corecrypto/cczp_priv.h | 142 + corecrypto/fipspost.h | 133 + ldid/ldid.cpp | 2453 +++++++++++++++++ ldid/ldid.hpp | 159 ++ ldid/lookup2.c | 416 +++ ldid/sha1.h | 64 + minizip/crypt.h | 132 + minizip/ioapi.c | 177 ++ minizip/ioapi.h | 75 + minizip/miniunz.c | 446 +++ minizip/minizip.c | 169 ++ minizip/mztools.c | 281 ++ minizip/mztools.h | 31 + minizip/unzip.c | 1598 +++++++++++ minizip/unzip.h | 354 +++ minizip/zip.c | 1219 ++++++++ minizip/zip.h | 235 ++ 170 files changed, 33489 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 AltDeploy-Bridge.h create mode 100644 AltDeploy.xcodeproj/project.pbxproj create mode 100644 AltDeploy.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 AltDeploy.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 AltDeploy.xcodeproj/xcshareddata/xcschemes/AltDeploy.xcscheme create mode 100644 AltDeploy/AltDeploy.entitlements create mode 100644 AltDeploy/AppDelegate.h create mode 100644 AltDeploy/AppDelegate.m create mode 100644 AltDeploy/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 AltDeploy/Assets.xcassets/Contents.json create mode 100644 AltDeploy/Base.lproj/Main.storyboard create mode 100644 AltDeploy/Info.plist create mode 100644 AltDeploy/ViewController.h create mode 100644 AltDeploy/ViewController.m create mode 100644 AltDeploy/apple.pem create mode 100644 AltDeploy/main.m create mode 100644 AltKit/AltKit.h create mode 100644 AltKit/NSError+ALTServerError.h create mode 100644 AltKit/NSError+ALTServerError.m create mode 100644 AltKit/Result+Conveniences.swift create mode 100644 AltPlugin.mailbundle/Contents/Info.plist create mode 100755 AltPlugin.mailbundle/Contents/MacOS/AltPlugin create mode 100644 AltServer/ALTDeviceManager+Installation.swift create mode 100644 AltServer/ALTDeviceManager.h create mode 100644 AltServer/ALTDeviceManager.mm create mode 100644 AltServer/AnisetteDataManager.swift create mode 100644 AltSign/ALTAccount.h create mode 100644 AltSign/ALTAccount.m create mode 100644 AltSign/ALTAnisetteData.h create mode 100644 AltSign/ALTAnisetteData.m create mode 100644 AltSign/ALTAppGroup.h create mode 100644 AltSign/ALTAppGroup.m create mode 100644 AltSign/ALTAppID.h create mode 100644 AltSign/ALTAppID.m create mode 100644 AltSign/ALTAppleAPI+Authentication.h create mode 100644 AltSign/ALTAppleAPI+Authentication.m create mode 100644 AltSign/ALTAppleAPI.h create mode 100644 AltSign/ALTAppleAPI.m create mode 100644 AltSign/ALTAppleAPISession.h create mode 100644 AltSign/ALTAppleAPISession.m create mode 100644 AltSign/ALTAppleAPI_Private.h create mode 100644 AltSign/ALTApplication.h create mode 100644 AltSign/ALTApplication.mm create mode 100644 AltSign/ALTCapabilities.h create mode 100644 AltSign/ALTCapabilities.m create mode 100644 AltSign/ALTCertificate.h create mode 100644 AltSign/ALTCertificate.m create mode 100644 AltSign/ALTCertificateRequest.h create mode 100644 AltSign/ALTCertificateRequest.m create mode 100644 AltSign/ALTDevice.h create mode 100644 AltSign/ALTDevice.m create mode 100644 AltSign/ALTModel+Internal.h create mode 100644 AltSign/ALTProvisioningProfile.h create mode 100644 AltSign/ALTProvisioningProfile.m create mode 100644 AltSign/ALTSigner.h create mode 100644 AltSign/ALTSigner.mm create mode 100644 AltSign/ALTTeam.h create mode 100644 AltSign/ALTTeam.m create mode 100644 AltSign/AltSign.h create mode 100644 AltSign/NSError+ALTErrors.h create mode 100644 AltSign/NSError+ALTErrors.m create mode 100644 AltSign/NSFileManager+Apps.h create mode 100644 AltSign/NSFileManager+Apps.m create mode 100644 AltSign/ldid/ldid.cpp create mode 100644 AltSign/ldid/ldid.hpp create mode 100644 Dependencies/Individual/libcrypto.a create mode 100644 Dependencies/Individual/libimobiledevice.a create mode 100644 Dependencies/Individual/libplist.a create mode 100644 Dependencies/Individual/libssl.a create mode 100644 Dependencies/Individual/libusbmuxd.a create mode 100644 Dependencies/README.md create mode 100644 Dependencies/dependencies.a create mode 100644 SAMKeychain/LICENSE create mode 100644 SAMKeychain/SAMKeychain.h create mode 100644 SAMKeychain/SAMKeychain.m create mode 100644 SAMKeychain/SAMKeychainQuery.h create mode 100644 SAMKeychain/SAMKeychainQuery.m create mode 100644 corecrypto/cc.h create mode 100644 corecrypto/cc_config.h create mode 100644 corecrypto/cc_debug.h create mode 100644 corecrypto/cc_memory.h create mode 100644 corecrypto/cc_priv.h create mode 100644 corecrypto/cc_runtime_config.h create mode 100644 corecrypto/ccaes.h create mode 100644 corecrypto/ccansikdf.h create mode 100644 corecrypto/ccasn1.h create mode 100644 corecrypto/ccblowfish.h create mode 100644 corecrypto/cccast.h create mode 100644 corecrypto/ccchacha20poly1305.h create mode 100644 corecrypto/ccchacha20poly1305_priv.h create mode 100644 corecrypto/cccmac.h create mode 100644 corecrypto/ccder.h create mode 100644 corecrypto/ccder_decode_eckey.h create mode 100644 corecrypto/ccder_encode_eckey.h create mode 100644 corecrypto/ccder_priv.h create mode 100644 corecrypto/ccder_rsa.h create mode 100644 corecrypto/ccdes.h create mode 100644 corecrypto/ccdh.h create mode 100644 corecrypto/ccdh_gp.h create mode 100644 corecrypto/ccdh_priv.h create mode 100644 corecrypto/ccdigest.h create mode 100644 corecrypto/ccdigest_priv.h create mode 100644 corecrypto/ccdrbg.h create mode 100644 corecrypto/ccdrbg_factory.h create mode 100644 corecrypto/ccdrbg_impl.h create mode 100644 corecrypto/ccec.h create mode 100644 corecrypto/ccec25519.h create mode 100644 corecrypto/ccec25519_priv.h create mode 100644 corecrypto/ccec_priv.h create mode 100644 corecrypto/ccecies.h create mode 100644 corecrypto/ccecies_priv.h create mode 100644 corecrypto/cchkdf.h create mode 100644 corecrypto/cchmac.h create mode 100644 corecrypto/ccmd2.h create mode 100644 corecrypto/ccmd4.h create mode 100644 corecrypto/ccmd5.h create mode 100644 corecrypto/ccmode.h create mode 100644 corecrypto/ccmode_factory.h create mode 100644 corecrypto/ccmode_impl.h create mode 100644 corecrypto/ccmode_siv.h create mode 100644 corecrypto/ccmode_siv_priv.h create mode 100644 corecrypto/ccn.h create mode 100644 corecrypto/ccn_priv.h create mode 100644 corecrypto/ccnistkdf.h create mode 100644 corecrypto/ccpad.h create mode 100644 corecrypto/ccpbkdf2.h create mode 100644 corecrypto/ccperf.h create mode 100644 corecrypto/ccprime.h create mode 100644 corecrypto/ccrc2.h create mode 100644 corecrypto/ccrc4.h create mode 100644 corecrypto/ccripemd.h create mode 100644 corecrypto/ccrng.h create mode 100644 corecrypto/ccrng_drbg.h create mode 100644 corecrypto/ccrng_ecfips_test.h create mode 100644 corecrypto/ccrng_pbkdf2_prng.h create mode 100644 corecrypto/ccrng_priv.h create mode 100644 corecrypto/ccrng_rsafips_test.h create mode 100644 corecrypto/ccrng_sequence.h create mode 100644 corecrypto/ccrng_system.h create mode 100644 corecrypto/ccrng_test.h create mode 100644 corecrypto/ccrsa.h create mode 100644 corecrypto/ccrsa_priv.h create mode 100644 corecrypto/ccsha1.h create mode 100644 corecrypto/ccsha2.h create mode 100644 corecrypto/ccsrp.h create mode 100644 corecrypto/ccsrp_gp.h create mode 100644 corecrypto/cctest.h create mode 100644 corecrypto/ccwrap.h create mode 100644 corecrypto/ccz.h create mode 100644 corecrypto/ccz_priv.h create mode 100644 corecrypto/cczp.h create mode 100644 corecrypto/cczp_priv.h create mode 100644 corecrypto/fipspost.h create mode 100644 ldid/ldid.cpp create mode 100644 ldid/ldid.hpp create mode 100644 ldid/lookup2.c create mode 100644 ldid/sha1.h create mode 100644 minizip/crypt.h create mode 100644 minizip/ioapi.c create mode 100644 minizip/ioapi.h create mode 100644 minizip/miniunz.c create mode 100644 minizip/minizip.c create mode 100644 minizip/mztools.c create mode 100644 minizip/mztools.h create mode 100644 minizip/unzip.c create mode 100644 minizip/unzip.h create mode 100644 minizip/zip.c create mode 100644 minizip/zip.h diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..dfe0770 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4898ad8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +AltDeploy.xcodeproj/project.xcworkspace/xcuserdata +AltDeploy.xcodeproj/xcuserdata diff --git a/AltDeploy-Bridge.h b/AltDeploy-Bridge.h new file mode 100644 index 0000000..0c91629 --- /dev/null +++ b/AltDeploy-Bridge.h @@ -0,0 +1,14 @@ +// +// AltDeploy-Bridge.h +// AltDeploy +// +// Created by PixelOmer on 4.01.2020. +// Copyright © 2020 PixelOmer. All rights reserved. +// + +#ifndef AltDeploy_Bridge_h +#define AltDeploy_Bridge_h +#import +#import +#import +#endif /* AltDeploy_Bridge_h */ diff --git a/AltDeploy.xcodeproj/project.pbxproj b/AltDeploy.xcodeproj/project.pbxproj new file mode 100644 index 0000000..b5a2584 --- /dev/null +++ b/AltDeploy.xcodeproj/project.pbxproj @@ -0,0 +1,820 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 50; + objects = { + +/* Begin PBXBuildFile section */ + CE5F0E3B23C3894300445F16 /* AltPlugin.mailbundle in Resources */ = {isa = PBXBuildFile; fileRef = CE5F0E3A23C3894300445F16 /* AltPlugin.mailbundle */; }; + CE7AA86423C3B66B009EFA51 /* dependencies.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CE7AA85823C3B630009EFA51 /* dependencies.a */; }; + CEA24B5E23C1234100A6DB11 /* ALTAppleAPI.m in Sources */ = {isa = PBXBuildFile; fileRef = CEA24B3023C1234100A6DB11 /* ALTAppleAPI.m */; }; + CEA24B5F23C1234100A6DB11 /* ALTAppleAPI+Authentication.m in Sources */ = {isa = PBXBuildFile; fileRef = CEA24B3123C1234100A6DB11 /* ALTAppleAPI+Authentication.m */; }; + CEA24B6023C1234100A6DB11 /* ALTAppleAPISession.m in Sources */ = {isa = PBXBuildFile; fileRef = CEA24B3223C1234100A6DB11 /* ALTAppleAPISession.m */; }; + CEA24B6123C1234100A6DB11 /* ALTSigner.mm in Sources */ = {isa = PBXBuildFile; fileRef = CEA24B3923C1234100A6DB11 /* ALTSigner.mm */; }; + CEA24B6223C1234100A6DB11 /* ALTCapabilities.m in Sources */ = {isa = PBXBuildFile; fileRef = CEA24B3B23C1234100A6DB11 /* ALTCapabilities.m */; }; + CEA24B6423C1234100A6DB11 /* ALTDevice.m in Sources */ = {isa = PBXBuildFile; fileRef = CEA24B4723C1234100A6DB11 /* ALTDevice.m */; }; + CEA24B6523C1234100A6DB11 /* ALTAppGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = CEA24B4823C1234100A6DB11 /* ALTAppGroup.m */; }; + CEA24B6623C1234100A6DB11 /* ALTAppID.m in Sources */ = {isa = PBXBuildFile; fileRef = CEA24B4A23C1234100A6DB11 /* ALTAppID.m */; }; + CEA24B6723C1234100A6DB11 /* ALTTeam.m in Sources */ = {isa = PBXBuildFile; fileRef = CEA24B4B23C1234100A6DB11 /* ALTTeam.m */; }; + CEA24B6823C1234100A6DB11 /* ALTCertificateRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = CEA24B4C23C1234100A6DB11 /* ALTCertificateRequest.m */; }; + CEA24B6923C1234100A6DB11 /* ALTAccount.m in Sources */ = {isa = PBXBuildFile; fileRef = CEA24B4D23C1234100A6DB11 /* ALTAccount.m */; }; + CEA24B6A23C1234100A6DB11 /* ALTCertificate.m in Sources */ = {isa = PBXBuildFile; fileRef = CEA24B5023C1234100A6DB11 /* ALTCertificate.m */; }; + CEA24B6B23C1234100A6DB11 /* ALTProvisioningProfile.m in Sources */ = {isa = PBXBuildFile; fileRef = CEA24B5123C1234100A6DB11 /* ALTProvisioningProfile.m */; }; + CEA24B6C23C1234100A6DB11 /* ALTAnisetteData.m in Sources */ = {isa = PBXBuildFile; fileRef = CEA24B5323C1234100A6DB11 /* ALTAnisetteData.m */; }; + CEA24B6D23C1234100A6DB11 /* ALTApplication.mm in Sources */ = {isa = PBXBuildFile; fileRef = CEA24B5423C1234100A6DB11 /* ALTApplication.mm */; }; + CEA24B6E23C1234100A6DB11 /* ldid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA24B5823C1234100A6DB11 /* ldid.cpp */; }; + CEA24B6F23C1234100A6DB11 /* NSFileManager+Apps.m in Sources */ = {isa = PBXBuildFile; fileRef = CEA24B5A23C1234100A6DB11 /* NSFileManager+Apps.m */; }; + CEA24B7023C1234100A6DB11 /* NSError+ALTErrors.m in Sources */ = {isa = PBXBuildFile; fileRef = CEA24B5C23C1234100A6DB11 /* NSError+ALTErrors.m */; }; + CEA24B7723C1278B00A6DB11 /* NSError+ALTServerError.m in Sources */ = {isa = PBXBuildFile; fileRef = CEA24B7623C1278B00A6DB11 /* NSError+ALTServerError.m */; }; + CEA24BE023C12A3100A6DB11 /* unzip.c in Sources */ = {isa = PBXBuildFile; fileRef = CEA24B8823C12A3100A6DB11 /* unzip.c */; }; + CEA24BE123C12A3100A6DB11 /* zip.c in Sources */ = {isa = PBXBuildFile; fileRef = CEA24B8923C12A3100A6DB11 /* zip.c */; }; + CEA24BE223C12A3100A6DB11 /* ioapi.c in Sources */ = {isa = PBXBuildFile; fileRef = CEA24B8A23C12A3100A6DB11 /* ioapi.c */; }; + CEA24BE323C12A3100A6DB11 /* mztools.c in Sources */ = {isa = PBXBuildFile; fileRef = CEA24B8B23C12A3100A6DB11 /* mztools.c */; }; + CEA24BE423C12A3100A6DB11 /* minizip.c in Sources */ = {isa = PBXBuildFile; fileRef = CEA24B9123C12A3100A6DB11 /* minizip.c */; }; + CEA24BE523C12A3100A6DB11 /* miniunz.c in Sources */ = {isa = PBXBuildFile; fileRef = CEA24B9223C12A3100A6DB11 /* miniunz.c */; }; + CEA24BEB23C130CD00A6DB11 /* ALTDeviceManager.mm in Sources */ = {isa = PBXBuildFile; fileRef = CEA24BE823C130CD00A6DB11 /* ALTDeviceManager.mm */; }; + CEA24BEC23C130CD00A6DB11 /* ALTDeviceManager+Installation.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEA24BE923C130CD00A6DB11 /* ALTDeviceManager+Installation.swift */; }; + CEA24BF723C132E000A6DB11 /* Result+Conveniences.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEA24BF423C132E000A6DB11 /* Result+Conveniences.swift */; }; + CEA24BFB23C133C500A6DB11 /* AnisetteDataManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEA24BFA23C133C500A6DB11 /* AnisetteDataManager.swift */; }; + CEA6378023C3941200CEC7A9 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = CEA6377623C3941200CEC7A9 /* Assets.xcassets */; }; + CEA6378123C3941200CEC7A9 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CEA6377723C3941200CEC7A9 /* ViewController.m */; }; + CEA6378223C3941200CEC7A9 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = CEA6377823C3941200CEC7A9 /* Main.storyboard */; }; + CEA6378323C3941200CEC7A9 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = CEA6377A23C3941200CEC7A9 /* main.m */; }; + CEA6378423C3941200CEC7A9 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = CEA6377C23C3941200CEC7A9 /* AppDelegate.m */; }; + CEA6378523C3941200CEC7A9 /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = CEA6377D23C3941200CEC7A9 /* Info.plist */; }; + CEA6378623C3941200CEC7A9 /* apple.pem in Resources */ = {isa = PBXBuildFile; fileRef = CEA6377F23C3941200CEC7A9 /* apple.pem */; }; + CEBF417D23C2599C004338D2 /* SAMKeychainQuery.m in Sources */ = {isa = PBXBuildFile; fileRef = CEBF417C23C2599C004338D2 /* SAMKeychainQuery.m */; }; + CEBF418023C259CA004338D2 /* SAMKeychain.m in Sources */ = {isa = PBXBuildFile; fileRef = CEBF417F23C259CA004338D2 /* SAMKeychain.m */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + CEA24AB723C1123F00A6DB11 /* Embed Libraries */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 12; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Libraries"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + CE5F0E3A23C3894300445F16 /* AltPlugin.mailbundle */ = {isa = PBXFileReference; lastKnownFileType = folder; path = AltPlugin.mailbundle; sourceTree = ""; }; + CE7AA85723C3B62A009EFA51 /* Dependencies */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Dependencies; sourceTree = ""; }; + CE7AA85823C3B630009EFA51 /* dependencies.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = dependencies.a; path = Dependencies/dependencies.a; sourceTree = ""; }; + CE7AA85A23C3B652009EFA51 /* libimobiledevice.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libimobiledevice.a; path = Dependencies/Individual/libimobiledevice.a; sourceTree = ""; }; + CE7AA85C23C3B655009EFA51 /* libssl.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libssl.a; path = Dependencies/Individual/libssl.a; sourceTree = ""; }; + CE7AA85E23C3B657009EFA51 /* libcrypto.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libcrypto.a; path = Dependencies/Individual/libcrypto.a; sourceTree = ""; }; + CE7AA86023C3B658009EFA51 /* libplist.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libplist.a; path = Dependencies/Individual/libplist.a; sourceTree = ""; }; + CE7AA86223C3B65A009EFA51 /* libusbmuxd.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libusbmuxd.a; path = Dependencies/Individual/libusbmuxd.a; sourceTree = ""; }; + CEA24A9923C10F8900A6DB11 /* AltDeploy.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AltDeploy.app; sourceTree = BUILT_PRODUCTS_DIR; }; + CEA24B2E23C1234100A6DB11 /* AltSign.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AltSign.h; sourceTree = ""; }; + CEA24B3023C1234100A6DB11 /* ALTAppleAPI.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ALTAppleAPI.m; sourceTree = ""; }; + CEA24B3123C1234100A6DB11 /* ALTAppleAPI+Authentication.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ALTAppleAPI+Authentication.m"; sourceTree = ""; }; + CEA24B3223C1234100A6DB11 /* ALTAppleAPISession.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ALTAppleAPISession.m; sourceTree = ""; }; + CEA24B3323C1234100A6DB11 /* ALTAppleAPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ALTAppleAPI.h; sourceTree = ""; }; + CEA24B3423C1234100A6DB11 /* ALTAppleAPI+Authentication.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ALTAppleAPI+Authentication.h"; sourceTree = ""; }; + CEA24B3523C1234100A6DB11 /* ALTAppleAPI_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ALTAppleAPI_Private.h; sourceTree = ""; }; + CEA24B3623C1234100A6DB11 /* ALTAppleAPISession.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ALTAppleAPISession.h; sourceTree = ""; }; + CEA24B3823C1234100A6DB11 /* ALTSigner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ALTSigner.h; sourceTree = ""; }; + CEA24B3923C1234100A6DB11 /* ALTSigner.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ALTSigner.mm; sourceTree = ""; }; + CEA24B3B23C1234100A6DB11 /* ALTCapabilities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ALTCapabilities.m; sourceTree = ""; }; + CEA24B3C23C1234100A6DB11 /* ALTCapabilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ALTCapabilities.h; sourceTree = ""; }; + CEA24B4123C1234100A6DB11 /* ALTAccount.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ALTAccount.h; sourceTree = ""; }; + CEA24B4223C1234100A6DB11 /* ALTCertificateRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ALTCertificateRequest.h; sourceTree = ""; }; + CEA24B4323C1234100A6DB11 /* ALTTeam.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ALTTeam.h; sourceTree = ""; }; + CEA24B4423C1234100A6DB11 /* ALTProvisioningProfile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ALTProvisioningProfile.h; sourceTree = ""; }; + CEA24B4523C1234100A6DB11 /* ALTCertificate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ALTCertificate.h; sourceTree = ""; }; + CEA24B4623C1234100A6DB11 /* ALTModel+Internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ALTModel+Internal.h"; sourceTree = ""; }; + CEA24B4723C1234100A6DB11 /* ALTDevice.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ALTDevice.m; sourceTree = ""; }; + CEA24B4823C1234100A6DB11 /* ALTAppGroup.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ALTAppGroup.m; sourceTree = ""; }; + CEA24B4923C1234100A6DB11 /* ALTAnisetteData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ALTAnisetteData.h; sourceTree = ""; }; + CEA24B4A23C1234100A6DB11 /* ALTAppID.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ALTAppID.m; sourceTree = ""; }; + CEA24B4B23C1234100A6DB11 /* ALTTeam.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ALTTeam.m; sourceTree = ""; }; + CEA24B4C23C1234100A6DB11 /* ALTCertificateRequest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ALTCertificateRequest.m; sourceTree = ""; }; + CEA24B4D23C1234100A6DB11 /* ALTAccount.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ALTAccount.m; sourceTree = ""; }; + CEA24B4E23C1234100A6DB11 /* ALTDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ALTDevice.h; sourceTree = ""; }; + CEA24B4F23C1234100A6DB11 /* ALTAppGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ALTAppGroup.h; sourceTree = ""; }; + CEA24B5023C1234100A6DB11 /* ALTCertificate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ALTCertificate.m; sourceTree = ""; }; + CEA24B5123C1234100A6DB11 /* ALTProvisioningProfile.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ALTProvisioningProfile.m; sourceTree = ""; }; + CEA24B5223C1234100A6DB11 /* ALTAppID.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ALTAppID.h; sourceTree = ""; }; + CEA24B5323C1234100A6DB11 /* ALTAnisetteData.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ALTAnisetteData.m; sourceTree = ""; }; + CEA24B5423C1234100A6DB11 /* ALTApplication.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ALTApplication.mm; sourceTree = ""; }; + CEA24B5523C1234100A6DB11 /* ALTApplication.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ALTApplication.h; sourceTree = ""; }; + CEA24B5723C1234100A6DB11 /* ldid.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = ldid.hpp; sourceTree = ""; }; + CEA24B5823C1234100A6DB11 /* ldid.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ldid.cpp; sourceTree = ""; }; + CEA24B5A23C1234100A6DB11 /* NSFileManager+Apps.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSFileManager+Apps.m"; sourceTree = ""; }; + CEA24B5B23C1234100A6DB11 /* NSError+ALTErrors.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSError+ALTErrors.h"; sourceTree = ""; }; + CEA24B5C23C1234100A6DB11 /* NSError+ALTErrors.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSError+ALTErrors.m"; sourceTree = ""; }; + CEA24B5D23C1234100A6DB11 /* NSFileManager+Apps.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSFileManager+Apps.h"; sourceTree = ""; }; + CEA24B7423C1278B00A6DB11 /* NSError+ALTServerError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSError+ALTServerError.h"; sourceTree = ""; }; + CEA24B7523C1278B00A6DB11 /* AltKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AltKit.h; sourceTree = ""; }; + CEA24B7623C1278B00A6DB11 /* NSError+ALTServerError.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSError+ALTServerError.m"; sourceTree = ""; }; + CEA24B8823C12A3100A6DB11 /* unzip.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = unzip.c; sourceTree = ""; }; + CEA24B8923C12A3100A6DB11 /* zip.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = zip.c; sourceTree = ""; }; + CEA24B8A23C12A3100A6DB11 /* ioapi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ioapi.c; sourceTree = ""; }; + CEA24B8B23C12A3100A6DB11 /* mztools.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mztools.c; sourceTree = ""; }; + CEA24B8C23C12A3100A6DB11 /* crypt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypt.h; sourceTree = ""; }; + CEA24B8D23C12A3100A6DB11 /* zip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zip.h; sourceTree = ""; }; + CEA24B8E23C12A3100A6DB11 /* unzip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = unzip.h; sourceTree = ""; }; + CEA24B8F23C12A3100A6DB11 /* mztools.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mztools.h; sourceTree = ""; }; + CEA24B9023C12A3100A6DB11 /* ioapi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ioapi.h; sourceTree = ""; }; + CEA24B9123C12A3100A6DB11 /* minizip.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = minizip.c; sourceTree = ""; }; + CEA24B9223C12A3100A6DB11 /* miniunz.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = miniunz.c; sourceTree = ""; }; + CEA24B9423C12A3100A6DB11 /* cctest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cctest.h; sourceTree = ""; }; + CEA24B9523C12A3100A6DB11 /* cczp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cczp.h; sourceTree = ""; }; + CEA24B9623C12A3100A6DB11 /* ccmd4.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccmd4.h; sourceTree = ""; }; + CEA24B9723C12A3100A6DB11 /* ccrng_priv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccrng_priv.h; sourceTree = ""; }; + CEA24B9823C12A3100A6DB11 /* ccrng_sequence.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccrng_sequence.h; sourceTree = ""; }; + CEA24B9923C12A3100A6DB11 /* ccz.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccz.h; sourceTree = ""; }; + CEA24B9A23C12A3100A6DB11 /* ccaes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccaes.h; sourceTree = ""; }; + CEA24B9B23C12A3100A6DB11 /* cchkdf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cchkdf.h; sourceTree = ""; }; + CEA24B9C23C12A3100A6DB11 /* ccec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccec.h; sourceTree = ""; }; + CEA24B9D23C12A3100A6DB11 /* cc_config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cc_config.h; sourceTree = ""; }; + CEA24B9E23C12A3100A6DB11 /* ccsrp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccsrp.h; sourceTree = ""; }; + CEA24B9F23C12A3100A6DB11 /* ccrng_ecfips_test.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccrng_ecfips_test.h; sourceTree = ""; }; + CEA24BA023C12A3100A6DB11 /* ccrng_drbg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccrng_drbg.h; sourceTree = ""; }; + CEA24BA123C12A3100A6DB11 /* cc_priv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cc_priv.h; sourceTree = ""; }; + CEA24BA223C12A3100A6DB11 /* fipspost.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fipspost.h; sourceTree = ""; }; + CEA24BA323C12A3100A6DB11 /* ccec25519.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccec25519.h; sourceTree = ""; }; + CEA24BA423C12A3100A6DB11 /* ccdh_priv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccdh_priv.h; sourceTree = ""; }; + CEA24BA523C12A3100A6DB11 /* ccder_rsa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccder_rsa.h; sourceTree = ""; }; + CEA24BA623C12A3100A6DB11 /* ccrc4.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccrc4.h; sourceTree = ""; }; + CEA24BA723C12A3100A6DB11 /* ccdes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccdes.h; sourceTree = ""; }; + CEA24BA823C12A3100A6DB11 /* ccrsa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccrsa.h; sourceTree = ""; }; + CEA24BA923C12A3100A6DB11 /* cc_debug.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cc_debug.h; sourceTree = ""; }; + CEA24BAA23C12A3100A6DB11 /* ccblowfish.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccblowfish.h; sourceTree = ""; }; + CEA24BAB23C12A3100A6DB11 /* ccchacha20poly1305_priv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccchacha20poly1305_priv.h; sourceTree = ""; }; + CEA24BAC23C12A3100A6DB11 /* cczp_priv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cczp_priv.h; sourceTree = ""; }; + CEA24BAD23C12A3100A6DB11 /* ccdrbg_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccdrbg_impl.h; sourceTree = ""; }; + CEA24BAE23C12A3100A6DB11 /* ccprime.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccprime.h; sourceTree = ""; }; + CEA24BAF23C12A3100A6DB11 /* ccrng_pbkdf2_prng.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccrng_pbkdf2_prng.h; sourceTree = ""; }; + CEA24BB023C12A3100A6DB11 /* ccdigest_priv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccdigest_priv.h; sourceTree = ""; }; + CEA24BB123C12A3100A6DB11 /* ccnistkdf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccnistkdf.h; sourceTree = ""; }; + CEA24BB223C12A3100A6DB11 /* ccasn1.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccasn1.h; sourceTree = ""; }; + CEA24BB323C12A3100A6DB11 /* ccripemd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccripemd.h; sourceTree = ""; }; + CEA24BB423C12A3100A6DB11 /* ccchacha20poly1305.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccchacha20poly1305.h; sourceTree = ""; }; + CEA24BB523C12A3100A6DB11 /* cc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cc.h; sourceTree = ""; }; + CEA24BB623C12A3100A6DB11 /* ccder_priv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccder_priv.h; sourceTree = ""; }; + CEA24BB723C12A3100A6DB11 /* ccder_decode_eckey.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccder_decode_eckey.h; sourceTree = ""; }; + CEA24BB823C12A3100A6DB11 /* ccrsa_priv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccrsa_priv.h; sourceTree = ""; }; + CEA24BB923C12A3100A6DB11 /* ccdh_gp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccdh_gp.h; sourceTree = ""; }; + CEA24BBA23C12A3100A6DB11 /* ccrng_rsafips_test.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccrng_rsafips_test.h; sourceTree = ""; }; + CEA24BBB23C12A3100A6DB11 /* ccperf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccperf.h; sourceTree = ""; }; + CEA24BBC23C12A3100A6DB11 /* ccder_encode_eckey.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccder_encode_eckey.h; sourceTree = ""; }; + CEA24BBD23C12A3100A6DB11 /* ccn_priv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccn_priv.h; sourceTree = ""; }; + CEA24BBE23C12A3100A6DB11 /* ccz_priv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccz_priv.h; sourceTree = ""; }; + CEA24BBF23C12A3100A6DB11 /* ccdrbg_factory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccdrbg_factory.h; sourceTree = ""; }; + CEA24BC023C12A3100A6DB11 /* ccansikdf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccansikdf.h; sourceTree = ""; }; + CEA24BC123C12A3100A6DB11 /* ccmd2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccmd2.h; sourceTree = ""; }; + CEA24BC223C12A3100A6DB11 /* ccsha1.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccsha1.h; sourceTree = ""; }; + CEA24BC323C12A3100A6DB11 /* ccecies.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccecies.h; sourceTree = ""; }; + CEA24BC423C12A3100A6DB11 /* cc_memory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cc_memory.h; sourceTree = ""; }; + CEA24BC523C12A3100A6DB11 /* ccwrap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccwrap.h; sourceTree = ""; }; + CEA24BC623C12A3100A6DB11 /* ccmode_factory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccmode_factory.h; sourceTree = ""; }; + CEA24BC723C12A3100A6DB11 /* ccrc2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccrc2.h; sourceTree = ""; }; + CEA24BC823C12A3100A6DB11 /* ccsrp_gp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccsrp_gp.h; sourceTree = ""; }; + CEA24BC923C12A3100A6DB11 /* cccmac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cccmac.h; sourceTree = ""; }; + CEA24BCA23C12A3100A6DB11 /* ccn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccn.h; sourceTree = ""; }; + CEA24BCB23C12A3100A6DB11 /* ccmd5.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccmd5.h; sourceTree = ""; }; + CEA24BCC23C12A3100A6DB11 /* ccrng_system.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccrng_system.h; sourceTree = ""; }; + CEA24BCD23C12A3100A6DB11 /* ccmode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccmode.h; sourceTree = ""; }; + CEA24BCE23C12A3100A6DB11 /* ccec_priv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccec_priv.h; sourceTree = ""; }; + CEA24BCF23C12A3100A6DB11 /* ccrng_test.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccrng_test.h; sourceTree = ""; }; + CEA24BD023C12A3100A6DB11 /* cchmac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cchmac.h; sourceTree = ""; }; + CEA24BD123C12A3100A6DB11 /* ccpad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccpad.h; sourceTree = ""; }; + CEA24BD223C12A3100A6DB11 /* ccecies_priv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccecies_priv.h; sourceTree = ""; }; + CEA24BD323C12A3100A6DB11 /* ccsha2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccsha2.h; sourceTree = ""; }; + CEA24BD423C12A3100A6DB11 /* ccpbkdf2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccpbkdf2.h; sourceTree = ""; }; + CEA24BD523C12A3100A6DB11 /* ccec25519_priv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccec25519_priv.h; sourceTree = ""; }; + CEA24BD623C12A3100A6DB11 /* cc_runtime_config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cc_runtime_config.h; sourceTree = ""; }; + CEA24BD723C12A3100A6DB11 /* ccdh.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccdh.h; sourceTree = ""; }; + CEA24BD823C12A3100A6DB11 /* ccmode_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccmode_impl.h; sourceTree = ""; }; + CEA24BD923C12A3100A6DB11 /* ccmode_siv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccmode_siv.h; sourceTree = ""; }; + CEA24BDA23C12A3100A6DB11 /* ccdrbg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccdrbg.h; sourceTree = ""; }; + CEA24BDB23C12A3100A6DB11 /* ccmode_siv_priv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccmode_siv_priv.h; sourceTree = ""; }; + CEA24BDC23C12A3100A6DB11 /* cccast.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cccast.h; sourceTree = ""; }; + CEA24BDD23C12A3100A6DB11 /* ccdigest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccdigest.h; sourceTree = ""; }; + CEA24BDE23C12A3100A6DB11 /* ccder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccder.h; sourceTree = ""; }; + CEA24BDF23C12A3100A6DB11 /* ccrng.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccrng.h; sourceTree = ""; }; + CEA24BE823C130CD00A6DB11 /* ALTDeviceManager.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ALTDeviceManager.mm; sourceTree = ""; }; + CEA24BE923C130CD00A6DB11 /* ALTDeviceManager+Installation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "ALTDeviceManager+Installation.swift"; sourceTree = ""; }; + CEA24BEA23C130CD00A6DB11 /* ALTDeviceManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ALTDeviceManager.h; sourceTree = ""; }; + CEA24BF423C132E000A6DB11 /* Result+Conveniences.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Result+Conveniences.swift"; sourceTree = ""; }; + CEA24BFA23C133C500A6DB11 /* AnisetteDataManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AnisetteDataManager.swift; sourceTree = ""; }; + CEA6377523C3941200CEC7A9 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + CEA6377623C3941200CEC7A9 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + CEA6377723C3941200CEC7A9 /* ViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; + CEA6377923C3941200CEC7A9 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + CEA6377A23C3941200CEC7A9 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + CEA6377B23C3941200CEC7A9 /* AltDeploy.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = AltDeploy.entitlements; sourceTree = ""; }; + CEA6377C23C3941200CEC7A9 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + CEA6377D23C3941200CEC7A9 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + CEA6377E23C3941200CEC7A9 /* ViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; + CEA6377F23C3941200CEC7A9 /* apple.pem */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = apple.pem; sourceTree = ""; }; + CEA6378723C3944400CEC7A9 /* AltDeploy-Bridge.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "AltDeploy-Bridge.h"; sourceTree = ""; }; + CEBF417A23C2597E004338D2 /* LICENSE */ = {isa = PBXFileReference; lastKnownFileType = text; path = LICENSE; sourceTree = ""; }; + CEBF417B23C2599C004338D2 /* SAMKeychainQuery.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SAMKeychainQuery.h; sourceTree = ""; }; + CEBF417C23C2599C004338D2 /* SAMKeychainQuery.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SAMKeychainQuery.m; sourceTree = ""; }; + CEBF417E23C259CA004338D2 /* SAMKeychain.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SAMKeychain.h; sourceTree = ""; }; + CEBF417F23C259CA004338D2 /* SAMKeychain.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SAMKeychain.m; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + CEA24A9623C10F8900A6DB11 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + CE7AA86423C3B66B009EFA51 /* dependencies.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + CEA24A9023C10F8900A6DB11 = { + isa = PBXGroup; + children = ( + CEBF417923C25963004338D2 /* SAMKeychain */, + CEA6378723C3944400CEC7A9 /* AltDeploy-Bridge.h */, + CEA24B7323C1278B00A6DB11 /* AltKit */, + CEA24BE723C130CD00A6DB11 /* AltServer */, + CEA6377423C3941200CEC7A9 /* AltDeploy */, + CE5F0E3A23C3894300445F16 /* AltPlugin.mailbundle */, + CEA24B2D23C1234100A6DB11 /* AltSign */, + CEA24B9323C12A3100A6DB11 /* corecrypto */, + CE7AA85723C3B62A009EFA51 /* Dependencies */, + CEA24B8723C12A3100A6DB11 /* minizip */, + CEA24A9A23C10F8900A6DB11 /* Products */, + CEA24AB023C10FCD00A6DB11 /* Frameworks */, + ); + sourceTree = ""; + }; + CEA24A9A23C10F8900A6DB11 /* Products */ = { + isa = PBXGroup; + children = ( + CEA24A9923C10F8900A6DB11 /* AltDeploy.app */, + ); + name = Products; + sourceTree = ""; + }; + CEA24AB023C10FCD00A6DB11 /* Frameworks */ = { + isa = PBXGroup; + children = ( + CE7AA85A23C3B652009EFA51 /* libimobiledevice.a */, + CE7AA86023C3B658009EFA51 /* libplist.a */, + CE7AA85C23C3B655009EFA51 /* libssl.a */, + CE7AA86223C3B65A009EFA51 /* libusbmuxd.a */, + CE7AA85E23C3B657009EFA51 /* libcrypto.a */, + CE7AA85823C3B630009EFA51 /* dependencies.a */, + ); + name = Frameworks; + sourceTree = ""; + }; + CEA24B2D23C1234100A6DB11 /* AltSign */ = { + isa = PBXGroup; + children = ( + CEA24B2E23C1234100A6DB11 /* AltSign.h */, + CEA24B3823C1234100A6DB11 /* ALTSigner.h */, + CEA24B3923C1234100A6DB11 /* ALTSigner.mm */, + CEA24B3B23C1234100A6DB11 /* ALTCapabilities.m */, + CEA24B3C23C1234100A6DB11 /* ALTCapabilities.h */, + CEA24B3023C1234100A6DB11 /* ALTAppleAPI.m */, + CEA24B3123C1234100A6DB11 /* ALTAppleAPI+Authentication.m */, + CEA24B3223C1234100A6DB11 /* ALTAppleAPISession.m */, + CEA24B3323C1234100A6DB11 /* ALTAppleAPI.h */, + CEA24B3423C1234100A6DB11 /* ALTAppleAPI+Authentication.h */, + CEA24B3523C1234100A6DB11 /* ALTAppleAPI_Private.h */, + CEA24B3623C1234100A6DB11 /* ALTAppleAPISession.h */, + CEA24B4123C1234100A6DB11 /* ALTAccount.h */, + CEA24B4223C1234100A6DB11 /* ALTCertificateRequest.h */, + CEA24B4323C1234100A6DB11 /* ALTTeam.h */, + CEA24B4423C1234100A6DB11 /* ALTProvisioningProfile.h */, + CEA24B4523C1234100A6DB11 /* ALTCertificate.h */, + CEA24B4623C1234100A6DB11 /* ALTModel+Internal.h */, + CEA24B4723C1234100A6DB11 /* ALTDevice.m */, + CEA24B4823C1234100A6DB11 /* ALTAppGroup.m */, + CEA24B4923C1234100A6DB11 /* ALTAnisetteData.h */, + CEA24B4A23C1234100A6DB11 /* ALTAppID.m */, + CEA24B4B23C1234100A6DB11 /* ALTTeam.m */, + CEA24B4C23C1234100A6DB11 /* ALTCertificateRequest.m */, + CEA24B4D23C1234100A6DB11 /* ALTAccount.m */, + CEA24B4E23C1234100A6DB11 /* ALTDevice.h */, + CEA24B4F23C1234100A6DB11 /* ALTAppGroup.h */, + CEA24B5023C1234100A6DB11 /* ALTCertificate.m */, + CEA24B5123C1234100A6DB11 /* ALTProvisioningProfile.m */, + CEA24B5223C1234100A6DB11 /* ALTAppID.h */, + CEA24B5323C1234100A6DB11 /* ALTAnisetteData.m */, + CEA24B5423C1234100A6DB11 /* ALTApplication.mm */, + CEA24B5A23C1234100A6DB11 /* NSFileManager+Apps.m */, + CEA24B5B23C1234100A6DB11 /* NSError+ALTErrors.h */, + CEA24B5C23C1234100A6DB11 /* NSError+ALTErrors.m */, + CEA24B5D23C1234100A6DB11 /* NSFileManager+Apps.h */, + CEA24B5523C1234100A6DB11 /* ALTApplication.h */, + CEA24B5623C1234100A6DB11 /* ldid */, + ); + path = AltSign; + sourceTree = ""; + }; + CEA24B5623C1234100A6DB11 /* ldid */ = { + isa = PBXGroup; + children = ( + CEA24B5723C1234100A6DB11 /* ldid.hpp */, + CEA24B5823C1234100A6DB11 /* ldid.cpp */, + ); + path = ldid; + sourceTree = ""; + }; + CEA24B7323C1278B00A6DB11 /* AltKit */ = { + isa = PBXGroup; + children = ( + CEA24B7423C1278B00A6DB11 /* NSError+ALTServerError.h */, + CEA24B7523C1278B00A6DB11 /* AltKit.h */, + CEA24B7623C1278B00A6DB11 /* NSError+ALTServerError.m */, + CEA24BF423C132E000A6DB11 /* Result+Conveniences.swift */, + ); + path = AltKit; + sourceTree = ""; + }; + CEA24B8723C12A3100A6DB11 /* minizip */ = { + isa = PBXGroup; + children = ( + CEA24B8823C12A3100A6DB11 /* unzip.c */, + CEA24B8923C12A3100A6DB11 /* zip.c */, + CEA24B8A23C12A3100A6DB11 /* ioapi.c */, + CEA24B8B23C12A3100A6DB11 /* mztools.c */, + CEA24B8C23C12A3100A6DB11 /* crypt.h */, + CEA24B8D23C12A3100A6DB11 /* zip.h */, + CEA24B8E23C12A3100A6DB11 /* unzip.h */, + CEA24B8F23C12A3100A6DB11 /* mztools.h */, + CEA24B9023C12A3100A6DB11 /* ioapi.h */, + CEA24B9123C12A3100A6DB11 /* minizip.c */, + CEA24B9223C12A3100A6DB11 /* miniunz.c */, + ); + path = minizip; + sourceTree = ""; + }; + CEA24B9323C12A3100A6DB11 /* corecrypto */ = { + isa = PBXGroup; + children = ( + CEA24B9423C12A3100A6DB11 /* cctest.h */, + CEA24B9523C12A3100A6DB11 /* cczp.h */, + CEA24B9623C12A3100A6DB11 /* ccmd4.h */, + CEA24B9723C12A3100A6DB11 /* ccrng_priv.h */, + CEA24B9823C12A3100A6DB11 /* ccrng_sequence.h */, + CEA24B9923C12A3100A6DB11 /* ccz.h */, + CEA24B9A23C12A3100A6DB11 /* ccaes.h */, + CEA24B9B23C12A3100A6DB11 /* cchkdf.h */, + CEA24B9C23C12A3100A6DB11 /* ccec.h */, + CEA24B9D23C12A3100A6DB11 /* cc_config.h */, + CEA24B9E23C12A3100A6DB11 /* ccsrp.h */, + CEA24B9F23C12A3100A6DB11 /* ccrng_ecfips_test.h */, + CEA24BA023C12A3100A6DB11 /* ccrng_drbg.h */, + CEA24BA123C12A3100A6DB11 /* cc_priv.h */, + CEA24BA223C12A3100A6DB11 /* fipspost.h */, + CEA24BA323C12A3100A6DB11 /* ccec25519.h */, + CEA24BA423C12A3100A6DB11 /* ccdh_priv.h */, + CEA24BA523C12A3100A6DB11 /* ccder_rsa.h */, + CEA24BA623C12A3100A6DB11 /* ccrc4.h */, + CEA24BA723C12A3100A6DB11 /* ccdes.h */, + CEA24BA823C12A3100A6DB11 /* ccrsa.h */, + CEA24BA923C12A3100A6DB11 /* cc_debug.h */, + CEA24BAA23C12A3100A6DB11 /* ccblowfish.h */, + CEA24BAB23C12A3100A6DB11 /* ccchacha20poly1305_priv.h */, + CEA24BAC23C12A3100A6DB11 /* cczp_priv.h */, + CEA24BAD23C12A3100A6DB11 /* ccdrbg_impl.h */, + CEA24BAE23C12A3100A6DB11 /* ccprime.h */, + CEA24BAF23C12A3100A6DB11 /* ccrng_pbkdf2_prng.h */, + CEA24BB023C12A3100A6DB11 /* ccdigest_priv.h */, + CEA24BB123C12A3100A6DB11 /* ccnistkdf.h */, + CEA24BB223C12A3100A6DB11 /* ccasn1.h */, + CEA24BB323C12A3100A6DB11 /* ccripemd.h */, + CEA24BB423C12A3100A6DB11 /* ccchacha20poly1305.h */, + CEA24BB523C12A3100A6DB11 /* cc.h */, + CEA24BB623C12A3100A6DB11 /* ccder_priv.h */, + CEA24BB723C12A3100A6DB11 /* ccder_decode_eckey.h */, + CEA24BB823C12A3100A6DB11 /* ccrsa_priv.h */, + CEA24BB923C12A3100A6DB11 /* ccdh_gp.h */, + CEA24BBA23C12A3100A6DB11 /* ccrng_rsafips_test.h */, + CEA24BBB23C12A3100A6DB11 /* ccperf.h */, + CEA24BBC23C12A3100A6DB11 /* ccder_encode_eckey.h */, + CEA24BBD23C12A3100A6DB11 /* ccn_priv.h */, + CEA24BBE23C12A3100A6DB11 /* ccz_priv.h */, + CEA24BBF23C12A3100A6DB11 /* ccdrbg_factory.h */, + CEA24BC023C12A3100A6DB11 /* ccansikdf.h */, + CEA24BC123C12A3100A6DB11 /* ccmd2.h */, + CEA24BC223C12A3100A6DB11 /* ccsha1.h */, + CEA24BC323C12A3100A6DB11 /* ccecies.h */, + CEA24BC423C12A3100A6DB11 /* cc_memory.h */, + CEA24BC523C12A3100A6DB11 /* ccwrap.h */, + CEA24BC623C12A3100A6DB11 /* ccmode_factory.h */, + CEA24BC723C12A3100A6DB11 /* ccrc2.h */, + CEA24BC823C12A3100A6DB11 /* ccsrp_gp.h */, + CEA24BC923C12A3100A6DB11 /* cccmac.h */, + CEA24BCA23C12A3100A6DB11 /* ccn.h */, + CEA24BCB23C12A3100A6DB11 /* ccmd5.h */, + CEA24BCC23C12A3100A6DB11 /* ccrng_system.h */, + CEA24BCD23C12A3100A6DB11 /* ccmode.h */, + CEA24BCE23C12A3100A6DB11 /* ccec_priv.h */, + CEA24BCF23C12A3100A6DB11 /* ccrng_test.h */, + CEA24BD023C12A3100A6DB11 /* cchmac.h */, + CEA24BD123C12A3100A6DB11 /* ccpad.h */, + CEA24BD223C12A3100A6DB11 /* ccecies_priv.h */, + CEA24BD323C12A3100A6DB11 /* ccsha2.h */, + CEA24BD423C12A3100A6DB11 /* ccpbkdf2.h */, + CEA24BD523C12A3100A6DB11 /* ccec25519_priv.h */, + CEA24BD623C12A3100A6DB11 /* cc_runtime_config.h */, + CEA24BD723C12A3100A6DB11 /* ccdh.h */, + CEA24BD823C12A3100A6DB11 /* ccmode_impl.h */, + CEA24BD923C12A3100A6DB11 /* ccmode_siv.h */, + CEA24BDA23C12A3100A6DB11 /* ccdrbg.h */, + CEA24BDB23C12A3100A6DB11 /* ccmode_siv_priv.h */, + CEA24BDC23C12A3100A6DB11 /* cccast.h */, + CEA24BDD23C12A3100A6DB11 /* ccdigest.h */, + CEA24BDE23C12A3100A6DB11 /* ccder.h */, + CEA24BDF23C12A3100A6DB11 /* ccrng.h */, + ); + path = corecrypto; + sourceTree = ""; + }; + CEA24BE723C130CD00A6DB11 /* AltServer */ = { + isa = PBXGroup; + children = ( + CEA24BE823C130CD00A6DB11 /* ALTDeviceManager.mm */, + CEA24BFA23C133C500A6DB11 /* AnisetteDataManager.swift */, + CEA24BE923C130CD00A6DB11 /* ALTDeviceManager+Installation.swift */, + CEA24BEA23C130CD00A6DB11 /* ALTDeviceManager.h */, + ); + path = AltServer; + sourceTree = ""; + }; + CEA6377423C3941200CEC7A9 /* AltDeploy */ = { + isa = PBXGroup; + children = ( + CEA6377523C3941200CEC7A9 /* AppDelegate.h */, + CEA6377623C3941200CEC7A9 /* Assets.xcassets */, + CEA6377723C3941200CEC7A9 /* ViewController.m */, + CEA6377823C3941200CEC7A9 /* Main.storyboard */, + CEA6377A23C3941200CEC7A9 /* main.m */, + CEA6377B23C3941200CEC7A9 /* AltDeploy.entitlements */, + CEA6377C23C3941200CEC7A9 /* AppDelegate.m */, + CEA6377D23C3941200CEC7A9 /* Info.plist */, + CEA6377E23C3941200CEC7A9 /* ViewController.h */, + CEA6377F23C3941200CEC7A9 /* apple.pem */, + ); + path = AltDeploy; + sourceTree = ""; + }; + CEBF417923C25963004338D2 /* SAMKeychain */ = { + isa = PBXGroup; + children = ( + CEBF417A23C2597E004338D2 /* LICENSE */, + CEBF417B23C2599C004338D2 /* SAMKeychainQuery.h */, + CEBF417C23C2599C004338D2 /* SAMKeychainQuery.m */, + CEBF417E23C259CA004338D2 /* SAMKeychain.h */, + CEBF417F23C259CA004338D2 /* SAMKeychain.m */, + ); + path = SAMKeychain; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + CEA24A9823C10F8900A6DB11 /* AltDeploy */ = { + isa = PBXNativeTarget; + buildConfigurationList = CEA24AAD23C10F8A00A6DB11 /* Build configuration list for PBXNativeTarget "AltDeploy" */; + buildPhases = ( + CEA24A9523C10F8900A6DB11 /* Sources */, + CEA24A9623C10F8900A6DB11 /* Frameworks */, + CEA24A9723C10F8900A6DB11 /* Resources */, + CEA24AB723C1123F00A6DB11 /* Embed Libraries */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = AltDeploy; + productName = "alt-impactor"; + productReference = CEA24A9923C10F8900A6DB11 /* AltDeploy.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + CEA24A9123C10F8900A6DB11 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 1130; + ORGANIZATIONNAME = PixelOmer; + TargetAttributes = { + CEA24A9823C10F8900A6DB11 = { + CreatedOnToolsVersion = 11.3; + }; + }; + }; + buildConfigurationList = CEA24A9423C10F8900A6DB11 /* Build configuration list for PBXProject "AltDeploy" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = CEA24A9023C10F8900A6DB11; + productRefGroup = CEA24A9A23C10F8900A6DB11 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + CEA24A9823C10F8900A6DB11 /* AltDeploy */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + CEA24A9723C10F8900A6DB11 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CEA6378523C3941200CEC7A9 /* Info.plist in Resources */, + CEA6378223C3941200CEC7A9 /* Main.storyboard in Resources */, + CEA6378023C3941200CEC7A9 /* Assets.xcassets in Resources */, + CEA6378623C3941200CEC7A9 /* apple.pem in Resources */, + CE5F0E3B23C3894300445F16 /* AltPlugin.mailbundle in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + CEA24A9523C10F8900A6DB11 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CEA24B5E23C1234100A6DB11 /* ALTAppleAPI.m in Sources */, + CEA24B6B23C1234100A6DB11 /* ALTProvisioningProfile.m in Sources */, + CEA24BE323C12A3100A6DB11 /* mztools.c in Sources */, + CEA24B7023C1234100A6DB11 /* NSError+ALTErrors.m in Sources */, + CEA24B6A23C1234100A6DB11 /* ALTCertificate.m in Sources */, + CEA24B6523C1234100A6DB11 /* ALTAppGroup.m in Sources */, + CEA24BE023C12A3100A6DB11 /* unzip.c in Sources */, + CEA24B6F23C1234100A6DB11 /* NSFileManager+Apps.m in Sources */, + CEA24B6E23C1234100A6DB11 /* ldid.cpp in Sources */, + CEA24BFB23C133C500A6DB11 /* AnisetteDataManager.swift in Sources */, + CEA6378123C3941200CEC7A9 /* ViewController.m in Sources */, + CEA24BE523C12A3100A6DB11 /* miniunz.c in Sources */, + CEA24BE423C12A3100A6DB11 /* minizip.c in Sources */, + CEA24B6723C1234100A6DB11 /* ALTTeam.m in Sources */, + CEA6378423C3941200CEC7A9 /* AppDelegate.m in Sources */, + CEA24B6423C1234100A6DB11 /* ALTDevice.m in Sources */, + CEA24B6623C1234100A6DB11 /* ALTAppID.m in Sources */, + CEA24B6D23C1234100A6DB11 /* ALTApplication.mm in Sources */, + CEA24BEB23C130CD00A6DB11 /* ALTDeviceManager.mm in Sources */, + CEA24BE223C12A3100A6DB11 /* ioapi.c in Sources */, + CEA24B6023C1234100A6DB11 /* ALTAppleAPISession.m in Sources */, + CEA24B6823C1234100A6DB11 /* ALTCertificateRequest.m in Sources */, + CEA24B6223C1234100A6DB11 /* ALTCapabilities.m in Sources */, + CEA24B6C23C1234100A6DB11 /* ALTAnisetteData.m in Sources */, + CEA24BE123C12A3100A6DB11 /* zip.c in Sources */, + CEA24B7723C1278B00A6DB11 /* NSError+ALTServerError.m in Sources */, + CEA24BF723C132E000A6DB11 /* Result+Conveniences.swift in Sources */, + CEA24BEC23C130CD00A6DB11 /* ALTDeviceManager+Installation.swift in Sources */, + CEA24B6123C1234100A6DB11 /* ALTSigner.mm in Sources */, + CEBF418023C259CA004338D2 /* SAMKeychain.m in Sources */, + CEBF417D23C2599C004338D2 /* SAMKeychainQuery.m in Sources */, + CEA24B5F23C1234100A6DB11 /* ALTAppleAPI+Authentication.m in Sources */, + CEA6378323C3941200CEC7A9 /* main.m in Sources */, + CEA24B6923C1234100A6DB11 /* ALTAccount.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + CEA6377823C3941200CEC7A9 /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + CEA6377923C3941200CEC7A9 /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + CEA24AAB23C10F8A00A6DB11 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + 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_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + 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; + MACOSX_DEPLOYMENT_TARGET = 10.13; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + }; + name = Debug; + }; + CEA24AAC23C10F8A00A6DB11 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + 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_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + 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; + MACOSX_DEPLOYMENT_TARGET = 10.13; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = macosx; + }; + name = Release; + }; + CEA24AAE23C10F8A00A6DB11 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_ENTITLEMENTS = AltDeploy/AltDeploy.entitlements; + CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = ""; + ENABLE_HARDENED_RUNTIME = YES; + GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; + HEADER_SEARCH_PATHS = ( + /usr/local/include, + "/usr/local/opt/openssl@1.1/include", + ., + ); + INFOPLIST_FILE = "$(SRCROOT)/AltDeploy/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "/usr/local/Cellar/libusbmuxd/HEAD-563cd25/lib", + "/usr/local/Cellar/openssl@1.1/1.1.1d/lib", + /usr/local/Cellar/libplist/2.1.0/lib, + "/usr/local/Cellar/libimobiledevice/HEAD-d04f8ff_6/lib", + "$(PROJECT_DIR)/Objects", + "$(PROJECT_DIR)/Dependencies", + "$(PROJECT_DIR)/Dependencies/Individual", + ); + MACOSX_DEPLOYMENT_TARGET = 10.13; + OTHER_CFLAGS = "-Dunix=1"; + PRODUCT_BUNDLE_IDENTIFIER = com.pixelomer.altdeploy; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "AltDeploy-Bridge.h"; + SWIFT_VERSION = 4.0; + }; + name = Debug; + }; + CEA24AAF23C10F8A00A6DB11 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_ENTITLEMENTS = AltDeploy/AltDeploy.entitlements; + CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = ""; + ENABLE_HARDENED_RUNTIME = YES; + HEADER_SEARCH_PATHS = ( + /usr/local/include, + "/usr/local/opt/openssl@1.1/include", + ., + ); + INFOPLIST_FILE = "$(SRCROOT)/AltDeploy/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "/usr/local/Cellar/libusbmuxd/HEAD-563cd25/lib", + "/usr/local/Cellar/openssl@1.1/1.1.1d/lib", + /usr/local/Cellar/libplist/2.1.0/lib, + "/usr/local/Cellar/libimobiledevice/HEAD-d04f8ff_6/lib", + "$(PROJECT_DIR)/Objects", + "$(PROJECT_DIR)/Dependencies", + "$(PROJECT_DIR)/Dependencies/Individual", + ); + MACOSX_DEPLOYMENT_TARGET = 10.13; + OTHER_CFLAGS = "-Dunix=1"; + PRODUCT_BUNDLE_IDENTIFIER = com.pixelomer.altdeploy; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "AltDeploy-Bridge.h"; + SWIFT_VERSION = 4.0; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + CEA24A9423C10F8900A6DB11 /* Build configuration list for PBXProject "AltDeploy" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CEA24AAB23C10F8A00A6DB11 /* Debug */, + CEA24AAC23C10F8A00A6DB11 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + CEA24AAD23C10F8A00A6DB11 /* Build configuration list for PBXNativeTarget "AltDeploy" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CEA24AAE23C10F8A00A6DB11 /* Debug */, + CEA24AAF23C10F8A00A6DB11 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = CEA24A9123C10F8900A6DB11 /* Project object */; +} diff --git a/AltDeploy.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/AltDeploy.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..eb18fca --- /dev/null +++ b/AltDeploy.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/AltDeploy.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/AltDeploy.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/AltDeploy.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/AltDeploy.xcodeproj/xcshareddata/xcschemes/AltDeploy.xcscheme b/AltDeploy.xcodeproj/xcshareddata/xcschemes/AltDeploy.xcscheme new file mode 100644 index 0000000..b234e43 --- /dev/null +++ b/AltDeploy.xcodeproj/xcshareddata/xcschemes/AltDeploy.xcscheme @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/AltDeploy/AltDeploy.entitlements b/AltDeploy/AltDeploy.entitlements new file mode 100644 index 0000000..311b32b --- /dev/null +++ b/AltDeploy/AltDeploy.entitlements @@ -0,0 +1,10 @@ + + + + + com.apple.security.app-sandbox + + com.apple.security.files.user-selected.read-only + + + diff --git a/AltDeploy/AppDelegate.h b/AltDeploy/AppDelegate.h new file mode 100644 index 0000000..98c22ab --- /dev/null +++ b/AltDeploy/AppDelegate.h @@ -0,0 +1,15 @@ +// +// AppDelegate.h +// AltDeploy +// +// Created by PixelOmer on 4.01.2020. +// Copyright © 2020 PixelOmer. All rights reserved. +// + +#import + +@interface AppDelegate : NSObject + + +@end + diff --git a/AltDeploy/AppDelegate.m b/AltDeploy/AppDelegate.m new file mode 100644 index 0000000..7e38a97 --- /dev/null +++ b/AltDeploy/AppDelegate.m @@ -0,0 +1,25 @@ +// +// AppDelegate.m +// AltDeploy +// +// Created by PixelOmer on 4.01.2020. +// Copyright © 2020 PixelOmer. All rights reserved. +// + +#import "AppDelegate.h" + +@interface AppDelegate () + +@end + +@implementation AppDelegate + +- (void)applicationDidFinishLaunching:(NSNotification *)aNotification { + // Insert code here to initialize your application +} + +- (void)applicationWillTerminate:(NSNotification *)aNotification { + // Insert code here to tear down your application +} + +@end diff --git a/AltDeploy/Assets.xcassets/AppIcon.appiconset/Contents.json b/AltDeploy/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..2db2b1c --- /dev/null +++ b/AltDeploy/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,58 @@ +{ + "images" : [ + { + "idiom" : "mac", + "size" : "16x16", + "scale" : "1x" + }, + { + "idiom" : "mac", + "size" : "16x16", + "scale" : "2x" + }, + { + "idiom" : "mac", + "size" : "32x32", + "scale" : "1x" + }, + { + "idiom" : "mac", + "size" : "32x32", + "scale" : "2x" + }, + { + "idiom" : "mac", + "size" : "128x128", + "scale" : "1x" + }, + { + "idiom" : "mac", + "size" : "128x128", + "scale" : "2x" + }, + { + "idiom" : "mac", + "size" : "256x256", + "scale" : "1x" + }, + { + "idiom" : "mac", + "size" : "256x256", + "scale" : "2x" + }, + { + "idiom" : "mac", + "size" : "512x512", + "scale" : "1x" + }, + { + "idiom" : "mac", + "size" : "512x512", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/AltDeploy/Assets.xcassets/Contents.json b/AltDeploy/Assets.xcassets/Contents.json new file mode 100644 index 0000000..da4a164 --- /dev/null +++ b/AltDeploy/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/AltDeploy/Base.lproj/Main.storyboard b/AltDeploy/Base.lproj/Main.storyboard new file mode 100644 index 0000000..bb857b6 --- /dev/null +++ b/AltDeploy/Base.lproj/Main.storyboard @@ -0,0 +1,542 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NSAllRomanInputSourcesLocaleIdentifier + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/AltDeploy/Info.plist b/AltDeploy/Info.plist new file mode 100644 index 0000000..3a893f2 --- /dev/null +++ b/AltDeploy/Info.plist @@ -0,0 +1,36 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + $(PRODUCT_BUNDLE_PACKAGE_TYPE) + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + LSMinimumSystemVersion + $(MACOSX_DEPLOYMENT_TARGET) + NSHumanReadableCopyright + Copyright © 2020 PixelOmer. All rights reserved. + NSMainStoryboardFile + Main + NSPrincipalClass + NSApplication + NSSupportsAutomaticTermination + + NSSupportsSuddenTermination + + + diff --git a/AltDeploy/ViewController.h b/AltDeploy/ViewController.h new file mode 100644 index 0000000..4595c0f --- /dev/null +++ b/AltDeploy/ViewController.h @@ -0,0 +1,29 @@ +// +// ViewController.h +// AltDeploy +// +// Created by PixelOmer on 4.01.2020. +// Copyright © 2020 PixelOmer. All rights reserved. +// + +#import + +@interface ViewController : NSViewController { + NSArray *devices; + NSProgress *currentProgress; + NSArray *utilityURLs; + NSURL *selectedFileURL; + NSURL *selectedUtilityURL; + NSMenuItem *pluginMenuItem; +} +@property (weak) IBOutlet NSTextField *descriptionLabel; +@property (weak) IBOutlet NSProgressIndicator *progressIndicator; +@property (weak) IBOutlet NSView *progressContainerView; +@property (weak) IBOutlet NSPopUpButton *deviceButton; +@property (weak) IBOutlet NSPopUpButton *actionButton; +@property (weak) IBOutlet NSButton *startButton; ++ (BOOL)isPluginInstalled; ++ (NSString *)mailBundlesPath; ++ (NSString *)altPluginPath; +@end + diff --git a/AltDeploy/ViewController.m b/AltDeploy/ViewController.m new file mode 100644 index 0000000..62ca2f2 --- /dev/null +++ b/AltDeploy/ViewController.m @@ -0,0 +1,411 @@ +// +// ViewController.m +// AltDeploy +// +// Created by PixelOmer on 4.01.2020. +// Copyright © 2020 PixelOmer. All rights reserved. +// + +#import "ViewController.h" +#import +#import +#import +#import +#import +@class ALTDeviceManager; +@protocol Installation; + +@implementation ViewController + +static NSString *defaultKeyEquivalent; + +static void handle_idevice_event(const idevice_event_t *event, void *user_data) { + ViewController *vc = (__bridge id)user_data; + [vc refreshDevices]; +} + ++ (void)dispatchIfNecessary:(void(^)(void))block { + if ([NSThread isMainThread]) block(); + else dispatch_async(dispatch_get_main_queue(), block); +} + +- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(NSProgress *)object change:(NSDictionary *)change context:(void *)context { + [self.class dispatchIfNecessary:^{ + self->_descriptionLabel.stringValue = object.localizedDescription; + self->_progressIndicator.doubleValue = object.fractionCompleted; + }]; +} + +- (void)didClickSaveButton:(NSButton *)sender { + NSSecureTextField *passwordField = objc_getAssociatedObject(sender, @selector(passwordField)); + NSTextField *usernameField = objc_getAssociatedObject(sender, @selector(usernameField)); + [self.class setAppleIDUsername:usernameField.stringValue password:passwordField.stringValue]; + objc_setAssociatedObject(sender, @selector(passwordField), nil, OBJC_ASSOCIATION_RETAIN); + objc_setAssociatedObject(sender, @selector(usernameField), nil, OBJC_ASSOCIATION_RETAIN); + [sender.window close]; +} + +- (void)askForAppleID { + NSViewController *vc = [[NSStoryboard storyboardWithName:@"Main" bundle:NSBundle.mainBundle] instantiateControllerWithIdentifier:@"appleid"]; + NSSecureTextField *passwordField = nil; + NSTextField *usernameField = nil; + NSButton *button = nil; + for (__kindof NSView *view in vc.view.subviews) { + NSLog(@"view: %@", view); + if (view.tag == 300) button = view; + else if (view.tag == 200) passwordField = view; + else if (view.tag == 100) usernameField = view; + } + objc_setAssociatedObject(button, @selector(passwordField), passwordField, OBJC_ASSOCIATION_RETAIN); + objc_setAssociatedObject(button, @selector(usernameField), usernameField, OBJC_ASSOCIATION_RETAIN); + NSString *username; + if ([self.class getAppleIDUsername:&username password:nil]) { + usernameField.stringValue = username; + } + button.action = @selector(didClickSaveButton:); + button.target = self; + [self presentViewControllerAsModalWindow:vc]; +} + +- (void)beginMailPluginInstallation { + BOOL isInstalling = ![self.class isPluginInstalled]; + NSString *script = [NSString stringWithFormat: + @"do shell script \"%@ -i\" with administrator privileges", + NSBundle.mainBundle.executablePath + ]; + NSAppleScript *appleScript = [[NSAppleScript alloc] initWithSource:script]; + NSAlert *alert = [NSAlert new]; + [alert addButtonWithTitle:@"OK"]; + NSDictionary *error; + if ([appleScript executeAndReturnError:&error]) { + alert.messageText = @"Success"; + if (isInstalling) { + alert.informativeText = @"The mail plugin is now installed. To enable this plugin:\n1) Restart the mail app\n2) In mail preferences, press \"Manage Plug-ins...\"\n3) Enable \"AltPlugin.mailbundle\"\n4) Press \"Apply and Restart Mail\"\nThis application relies on this plugin so this plugin must be enabled. It is also necessary to keep the Mail application open while AltDeploy is running."; + } + else { + alert.informativeText = @"The mail plugin was uninstalled successfully."; + } + } + else { + alert.messageText = @"Failure"; + alert.informativeText = error.description; + } + [alert runModal]; + [self reloadMainMenu]; +} + +- (void)didClickInstallPlugin:(id)sender { + [self beginMailPluginInstallation]; +} + +- (void)refreshDevices { + char **udids; + int udid_count = 0; + idevice_error_t error = idevice_get_device_list(&udids, &udid_count); + switch (error) { + case IDEVICE_E_NO_DEVICE: + devices = @[]; + break; + case IDEVICE_E_SUCCESS: { + NSMutableArray *newArray = [NSMutableArray new]; + for (int i=0; i_progressContainerView.hidden = !visible; + self->_deviceButton.hidden = visible; + self->_actionButton.hidden = visible; + self->_startButton.hidden = visible; + }]; +} + +- (void)didClickStart:(id)sender { + if (sender != _startButton) return; + if (![self.class isPluginInstalled]) { + NSAlert *alert = [NSAlert new]; + alert.messageText = @"Missing Mail Plugin"; + alert.informativeText = @"The mail plugin is necessary for this app to function. Install it now?"; + [alert addButtonWithTitle:@"Install"]; + [alert addButtonWithTitle:@"Cancel"]; + NSModalResponse response = [alert runModal]; + if (response == NSAlertFirstButtonReturn) { + [self beginMailPluginInstallation]; + } + return; + } + NSString *username, *password; + if (![self.class getAppleIDUsername:&username password:&password]) { + [self askForAppleID]; + return; + } + NSURL *fileURL = nil; + if (_actionButton.indexOfSelectedItem == 0) { + // Selecteed IPA + fileURL = selectedFileURL; + } + else if (_actionButton.indexOfSelectedItem > 2) { + // Utilitites + fileURL = selectedUtilityURL; + } + if (!fileURL) { + _startButton.enabled = NO; + return; + } + self.progressVisible = YES; + ALTDevice *device = [[ALTDevice alloc] initWithName:@"targetDevice" identifier:devices[_deviceButton.indexOfSelectedItem]]; + NSProgress * __block progress = nil; + progress = [ALTDeviceManager.sharedManager + installApplicationTo:device + appleID:username + password:password + applicationURL:fileURL + completion:^(NSError * _Nullable error) { + [progress removeObserver:self forKeyPath:@"localizedDescription"]; + if (error) { + dispatch_async(dispatch_get_main_queue(), ^{ + NSAlert *alert = [NSAlert alertWithError:error]; + [alert addButtonWithTitle:@"Dismiss"]; + [alert runModal]; + self.progressVisible = NO; + }); + } + else { + dispatch_async(dispatch_get_main_queue(), ^{ + self.progressVisible = NO; + }); + } + } + ]; + // FIXME: Race condition + // If the completionHandler is called before the addObserver call, + // the app will crash. + [self observeValueForKeyPath:nil ofObject:progress change:nil context:nil]; + [progress + addObserver:self + forKeyPath:@"localizedDescription" + options:0 + context:nil + ]; +} + ++ (BOOL)getAppleIDUsername:(NSString **)usernamePt password:(NSString **)passwordPt { + NSDictionary *account = [SAMKeychain accountsForService:NSBundle.mainBundle.bundleIdentifier].firstObject; + if (!account) return NO; + NSString *password = [SAMKeychain passwordForService:NSBundle.mainBundle.bundleIdentifier account:account[kSAMKeychainAccountKey]]; + if (!password) return NO; + if (passwordPt) *passwordPt = [password copy]; + if (usernamePt) *usernamePt = [account[kSAMKeychainAccountKey] copy]; + return YES; +} + ++ (NSString *)altPluginPath { + return [NSBundle.mainBundle pathForResource:@"AltPlugin" ofType:@"mailbundle"]; +} + ++ (NSString *)mailBundlesPath { + return @"/Library/Mail/Bundles"; +} + ++ (BOOL)isPluginInstalled { + BOOL isDir; + return ([NSFileManager.defaultManager fileExistsAtPath:[[self mailBundlesPath] stringByAppendingPathComponent:[self altPluginPath].lastPathComponent] isDirectory:&isDir] && isDir); +} + ++ (BOOL)setAppleIDUsername:(NSString *)username password:(NSString *)password { + for (NSDictionary *account in [SAMKeychain accountsForService:NSBundle.mainBundle.bundleIdentifier]) { + [SAMKeychain deletePasswordForService:NSBundle.mainBundle.bundleIdentifier account:account[kSAMKeychainAccountKey]]; + } + return [SAMKeychain setPassword:password forService:NSBundle.mainBundle.bundleIdentifier account:username error:nil]; +} + +- (void)fetchUtilities { + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ + NSArray * __block menuItems = nil; + NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"https://api.pixelomer.com/ALTImpactor/v0/utilities"]]; + if (data) { + NSError *error; + NSArray *array = [NSJSONSerialization + JSONObjectWithData:data + options:0 + error:&error + ]; + if ([array isKindOfClass:[NSArray class]] && !error) { + NSMutableArray *mutableMenuItems = nil; + NSMutableArray *URLs = nil; + for (NSDictionary *dict in array) { + if (![dict isKindOfClass:[NSDictionary class]]) continue; + if (![dict[@"name"] isKindOfClass:[NSString class]]) continue; + if (![dict[@"url"] isKindOfClass:[NSString class]]) continue; + if (!mutableMenuItems) mutableMenuItems = [NSMutableArray new]; + if (!URLs) URLs = [NSMutableArray new]; + NSMenuItem *item = [[NSMenuItem alloc] + initWithTitle:dict[@"name"] + action:nil + keyEquivalent:defaultKeyEquivalent + ]; + item.enabled = YES; + [mutableMenuItems addObject:item]; + [URLs addObject:[NSURL URLWithString:dict[@"url"]]]; + } + self->utilityURLs = [URLs copy]; + menuItems = [mutableMenuItems copy]; + } + } + if (!menuItems) { + menuItems = @[ + [[NSMenuItem alloc] + initWithTitle:@"Failed to load utlities." + action:nil + keyEquivalent:defaultKeyEquivalent + ] + ]; + menuItems.firstObject.enabled = NO; + } + dispatch_async(dispatch_get_main_queue(), ^{ + [self->_actionButton.menu removeItemAtIndex:3]; + for (NSMenuItem *item in menuItems) { + [self->_actionButton.menu addItem:item]; + } + }); + }); +} + +- (void)chooseIPA { + [_actionButton.menu performActionForItemAtIndex:0]; + NSOpenPanel *panel = [NSOpenPanel openPanel]; + panel.allowedFileTypes = @[@"ipa"]; + panel.allowsMultipleSelection = NO; + panel.canChooseDirectories = NO; + panel.canChooseFiles = YES; + panel.resolvesAliases = YES; + _actionButton.enabled = NO; + _startButton.enabled = NO; + [panel beginWithCompletionHandler:^(NSModalResponse result) { + [self.class dispatchIfNecessary:^{ + self->_actionButton.enabled = YES; + if (result == NSModalResponseOK) { + self->selectedFileURL = panel.URLs.firstObject; + } + [self didChooseAction:self->_actionButton]; + }]; + }]; +} + +- (void)didClickAppleID:(id)sender { + [self askForAppleID]; +} + +- (void)didChooseAction:(NSPopUpButton *)sender { + if (sender != _actionButton) return; + NSInteger index = _actionButton.indexOfSelectedItem; + switch (index) { + case 0: + if (selectedFileURL) { + [_actionButton itemAtIndex:0].title = selectedFileURL.lastPathComponent; + } + else { + [_actionButton itemAtIndex:0].title = @"No file selected."; + } + _startButton.enabled = !!selectedFileURL; + break; + case 1: { + // Browse + [self chooseIPA]; + break; + } + case 2: + // Separator + _startButton.enabled = NO; + break; + default: + // Utilities + if (!(_startButton.enabled = !!utilityURLs)) { + selectedUtilityURL = nil; + } + else { + selectedUtilityURL = utilityURLs[index-3]; + } + break; + } + _startButton.enabled = (_deviceButton.menu.itemArray.count && _startButton.enabled); +} + +- (void)reloadMainMenu { + pluginMenuItem.title = [ + ([self.class isPluginInstalled] ? @"Remove" : @"Install") + stringByAppendingString:@" Mail Plugin" + ]; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + NSMenuItem *item = NSApp.mainMenu.itemArray[0].submenu.itemArray[2]; + item.action = @selector(didClickAppleID:); + item.target = self; + pluginMenuItem = NSApp.mainMenu.itemArray[0].submenu.itemArray[3]; + pluginMenuItem.action = @selector(didClickInstallPlugin:); + pluginMenuItem.target = self; + [self reloadMainMenu]; + _startButton.target = self; + _startButton.action = @selector(didClickStart:); + _actionButton.action = @selector(didChooseAction:); + _actionButton.target = self; + defaultKeyEquivalent = [_actionButton itemAtIndex:0].keyEquivalent.copy; + devices = @[]; + [self didChooseAction:self->_actionButton]; + [self fetchUtilities]; + idevice_error_t error; + if ((error = idevice_event_subscribe(&handle_idevice_event, (__bridge void *)self)) != IDEVICE_E_SUCCESS) { + [NSException raise:NSInternalInconsistencyException format:@"Failed to subscribe to the iDevice events (%d)", error]; + } +} + +- (void)setRepresentedObject:(id)representedObject { + [super setRepresentedObject:representedObject]; + // Update the view, if already loaded. +} + + +@end diff --git a/AltDeploy/apple.pem b/AltDeploy/apple.pem new file mode 100644 index 0000000..681ea31 --- /dev/null +++ b/AltDeploy/apple.pem @@ -0,0 +1,53 @@ +-----BEGIN CERTIFICATE----- +MIIEuzCCA6OgAwIBAgIBAjANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQGEwJVUzET +MBEGA1UEChMKQXBwbGUgSW5jLjEmMCQGA1UECxMdQXBwbGUgQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkxFjAUBgNVBAMTDUFwcGxlIFJvb3QgQ0EwHhcNMDYwNDI1MjE0 +MDM2WhcNMzUwMjA5MjE0MDM2WjBiMQswCQYDVQQGEwJVUzETMBEGA1UEChMKQXBw +bGUgSW5jLjEmMCQGA1UECxMdQXBwbGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkx +FjAUBgNVBAMTDUFwcGxlIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw +ggEKAoIBAQDkkakJH5HbHkdQ6wXtXnmELes2oldMVeyLGYne+Uts9QerIjAC6Bg+ ++FAJ039BqJj50cpmnCRrEdCju+QbKsMflZ56DKRHi1vUFjczy8QPTc4UadHJGXL1 +XQ7Vf1+b8iUDulWPTV0N8WQ1IxVLFVkds5T39pyez1C6wVhQZ48ItCD3y6wsIG9w +tj8BMIy3Q88PnT3zK0koGsj+zrW5DtleHNbLPbU6rfQPDgCSC7EhFi501TwN22IW +q6NxkkdTVcGvL0Gz+PvjcM3mo0xFfh9Ma1CWQYnEdGILEINBhzOKgbEwWOxaBDKM +aLOPHd5lc/9nXmW8Sdh2nzMUZaF3lMktAgMBAAGjggF6MIIBdjAOBgNVHQ8BAf8E +BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUK9BpR5R2Cf70a40uQKb3 +R01/CF4wHwYDVR0jBBgwFoAUK9BpR5R2Cf70a40uQKb3R01/CF4wggERBgNVHSAE +ggEIMIIBBDCCAQAGCSqGSIb3Y2QFATCB8jAqBggrBgEFBQcCARYeaHR0cHM6Ly93 +d3cuYXBwbGUuY29tL2FwcGxlY2EvMIHDBggrBgEFBQcCAjCBthqBs1JlbGlhbmNl +IG9uIHRoaXMgY2VydGlmaWNhdGUgYnkgYW55IHBhcnR5IGFzc3VtZXMgYWNjZXB0 +YW5jZSBvZiB0aGUgdGhlbiBhcHBsaWNhYmxlIHN0YW5kYXJkIHRlcm1zIGFuZCBj +b25kaXRpb25zIG9mIHVzZSwgY2VydGlmaWNhdGUgcG9saWN5IGFuZCBjZXJ0aWZp +Y2F0aW9uIHByYWN0aWNlIHN0YXRlbWVudHMuMA0GCSqGSIb3DQEBBQUAA4IBAQBc +NplMLXi37Yyb3PN3m/J20ncwT8EfhYOFG5k9RzfyqZtAjizUsZAS2L70c5vu0mQP +y3lPNNiiPvl4/2vIB+x9OYOLUyDTOMSxv5pPCmv/K/xZpwUJfBdAVhEedNO3iyM7 +R6PVbyTi69G3cN8PReEnyvFteO3ntRcXqNx+IjXKJdXZD9Zr1KIkIxH3oayPc4Fg +xhtbCS+SsvhESPBgOJ4V9T0mZyCKM2r3DYLP3uujL/lTaltkwGMzd/c6ByxW69oP +IQ7aunMZT7XZNn/Bh1XZp5m5MkL72NVxnn6hUrcbvZNCJBIqxw8dtk2cXmPIS4AX +UKqK1drk/NAJBzewdXUh +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIEIjCCAwqgAwIBAgIIAd68xDltoBAwDQYJKoZIhvcNAQEFBQAwYjELMAkGA1UE +BhMCVVMxEzARBgNVBAoTCkFwcGxlIEluYy4xJjAkBgNVBAsTHUFwcGxlIENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5MRYwFAYDVQQDEw1BcHBsZSBSb290IENBMB4XDTEz +MDIwNzIxNDg0N1oXDTIzMDIwNzIxNDg0N1owgZYxCzAJBgNVBAYTAlVTMRMwEQYD +VQQKDApBcHBsZSBJbmMuMSwwKgYDVQQLDCNBcHBsZSBXb3JsZHdpZGUgRGV2ZWxv +cGVyIFJlbGF0aW9uczFEMEIGA1UEAww7QXBwbGUgV29ybGR3aWRlIERldmVsb3Bl +ciBSZWxhdGlvbnMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQDKOFSmy1aqyCQ5SOmM7uxfuH8mkbw0U3rOfGOA +YXdkXqUHI7Y5/lAtFVZYcC1+xG7BSoU+L/DehBqhV8mvexj/avoVEkkVCBmsqtsq +Mu2WY2hSFT2Miuy/axiV4AOsAX2XBWfODoWVN2rtCbauZ81RZJ/GXNG8V25nNYB2 +NqSHgW44j9grFU57Jdhav06DwY3Sk9UacbVgnJ0zTlX5ElgMhrgWDcHld0WNUEi6 +Ky3klIXh6MSdxmilsKP8Z35wugJZS3dCkTm59c3hTO/AO0iMpuUhXf1qarunFjVg +0uat80YpyejDi+l5wGphZxWy8P3laLxiX27Pmd3vG2P+kmWrAgMBAAGjgaYwgaMw +HQYDVR0OBBYEFIgnFwmpthhgi+zruvZHWcVSVKO3MA8GA1UdEwEB/wQFMAMBAf8w +HwYDVR0jBBgwFoAUK9BpR5R2Cf70a40uQKb3R01/CF4wLgYDVR0fBCcwJTAjoCGg +H4YdaHR0cDovL2NybC5hcHBsZS5jb20vcm9vdC5jcmwwDgYDVR0PAQH/BAQDAgGG +MBAGCiqGSIb3Y2QGAgEEAgUAMA0GCSqGSIb3DQEBBQUAA4IBAQBPz+9Zviz1smwv +j+4ThzLoBTWobot9yWkMudkXvHcs1Gfi/ZptOllc34MBvbKuKmFysa/Nw0Uwj6OD +Dc4dR7Txk4qjdJukw5hyhzs+r0ULklS5MruQGFNrCk4QttkdUGwhgAqJTleMa1s8 +Pab93vcNIx0LSiaHP7qRkkykGRIZbVf1eliHe2iK5IaMSuviSRSqpd1VAKmuu0sw +ruGgsbwpgOYJd+W+NKIByn/c4grmO7i77LpilfMFY0GCzQ87HUyVpNur+cmV6U/k +TecmmYHpvPm0KdIBembhLoz2IYrF+Hjhga6/05Cdqa3zr/04GpZnMBxRpVzscYqC +tGwPDBUf +-----END CERTIFICATE----- diff --git a/AltDeploy/main.m b/AltDeploy/main.m new file mode 100644 index 0000000..121ed9e --- /dev/null +++ b/AltDeploy/main.m @@ -0,0 +1,63 @@ +// +// main.m +// AltDeploy +// +// Created by PixelOmer on 4.01.2020. +// Copyright © 2020 PixelOmer. All rights reserved. +// + +#import +#import "ViewController.h" +#import +#import + +int main(int argc, const char * argv[]) { + if ((argc >= 2) && !strcmp(argv[1], "-i")) { + setuid(0); + seteuid(0); + NSURL *pluginPath = [NSURL fileURLWithPath:[ViewController altPluginPath]]; + NSLog(@"%@", pluginPath); + NSURL *mailBundlesURL = [NSURL fileURLWithPath:ViewController.mailBundlesPath]; + NSURL *destinationURL = [mailBundlesURL URLByAppendingPathComponent:pluginPath.lastPathComponent]; + BOOL wasInstalled = [ViewController isPluginInstalled]; + NSLog(@"%d", wasInstalled); + [NSFileManager.defaultManager removeItemAtURL:destinationURL error:nil]; // Uninstall + if (!wasInstalled) { + // Install + [NSFileManager.defaultManager + createDirectoryAtURL:mailBundlesURL + withIntermediateDirectories:YES + attributes:nil + error:nil + ]; + [NSFileManager.defaultManager + copyItemAtURL:pluginPath + toURL:destinationURL + error:nil + ]; + for (NSString *file in [NSFileManager.defaultManager subpathsOfDirectoryAtPath:mailBundlesURL.path error:nil]) { + chown([mailBundlesURL URLByAppendingPathComponent:file].path.UTF8String, 0, 0); + } + pid_t pid; + const char *proc_argv[] = { + "defaults", + "write", + "/Library/Preferences/com.apple.mail", + "EnableBundles", + "1", + NULL + }; + int success = !posix_spawnp( + &pid, + "defaults", + NULL, + NULL, + (char**)&proc_argv[0], + (char**)&proc_argv[(sizeof(proc_argv)/sizeof(*proc_argv))-1] // Last element of proc_argv, which is always NULL + ); + if (success) waitpid(pid, NULL, 0); + } + return 0; + } + return NSApplicationMain(argc, argv); +} diff --git a/AltKit/AltKit.h b/AltKit/AltKit.h new file mode 100644 index 0000000..759128e --- /dev/null +++ b/AltKit/AltKit.h @@ -0,0 +1,9 @@ +// +// AltKit.h +// AltKit +// +// Created by Riley Testut on 5/30/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +#import "NSError+ALTServerError.h" diff --git a/AltKit/NSError+ALTServerError.h b/AltKit/NSError+ALTServerError.h new file mode 100644 index 0000000..f832947 --- /dev/null +++ b/AltKit/NSError+ALTServerError.h @@ -0,0 +1,40 @@ +// +// NSError+ALTServerError.h +// AltStore +// +// Created by Riley Testut on 5/30/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +#import + +extern NSErrorDomain const AltServerErrorDomain; +extern NSErrorDomain const AltServerInstallationErrorDomain; + +typedef NS_ERROR_ENUM(AltServerErrorDomain, ALTServerError) +{ + ALTServerErrorUnknown = 0, + ALTServerErrorConnectionFailed = 1, + ALTServerErrorLostConnection = 2, + + ALTServerErrorDeviceNotFound = 3, + ALTServerErrorDeviceWriteFailed = 4, + + ALTServerErrorInvalidApp = 7, + ALTServerErrorInstallationFailed = 8, + ALTServerErrorMaximumFreeAppLimitReached = 9, + ALTServerErrorUnsupportediOSVersion = 10, + + ALTServerErrorUnknownRequest = 11, + ALTServerErrorUnknownResponse = 12, + + ALTServerErrorInvalidAnisetteData = 13, + ALTServerErrorPluginNotFound = 14 +}; + +NS_ASSUME_NONNULL_BEGIN + +@interface NSError (ALTServerError) +@end + +NS_ASSUME_NONNULL_END diff --git a/AltKit/NSError+ALTServerError.m b/AltKit/NSError+ALTServerError.m new file mode 100644 index 0000000..c726927 --- /dev/null +++ b/AltKit/NSError+ALTServerError.m @@ -0,0 +1,73 @@ +// +// NSError+ALTServerError.m +// AltStore +// +// Created by Riley Testut on 5/30/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +#import "NSError+ALTServerError.h" + +NSErrorDomain const AltServerErrorDomain = @"com.rileytestut.AltServer"; +NSErrorDomain const AltServerInstallationErrorDomain = @"com.rileytestut.AltServer.Installation"; + +@implementation NSError (ALTServerError) + ++ (void)load +{ + [NSError setUserInfoValueProviderForDomain:AltServerErrorDomain provider:^id _Nullable(NSError * _Nonnull error, NSErrorUserInfoKey _Nonnull userInfoKey) { + if ([userInfoKey isEqualToString:NSLocalizedDescriptionKey]) + { + return [error alt_localizedDescription]; + } + + return nil; + }]; +} + +- (nullable NSString *)alt_localizedDescription +{ + switch ((ALTServerError)self.code) + { + case ALTServerErrorUnknown: + return NSLocalizedString(@"An unknown error occured.", @""); + + case ALTServerErrorConnectionFailed: + return NSLocalizedString(@"Could not connect to device.", @""); + + case ALTServerErrorLostConnection: + return NSLocalizedString(@"Lost connection to device.", @""); + + case ALTServerErrorDeviceNotFound: + return NSLocalizedString(@"Could not find the specified device.", @""); + + case ALTServerErrorDeviceWriteFailed: + return NSLocalizedString(@"Failed to write app data to device.", @""); + + case ALTServerErrorInvalidApp: + return NSLocalizedString(@"The app is invalid.", @""); + + case ALTServerErrorInstallationFailed: + return NSLocalizedString(@"An error occured while installing the app.", @""); + + case ALTServerErrorMaximumFreeAppLimitReached: + return NSLocalizedString(@"You have reached the limit of 3 apps per device.", @""); + + case ALTServerErrorUnsupportediOSVersion: + return NSLocalizedString(@"Unsupported iOS version", @""); + + case ALTServerErrorUnknownRequest: + return NSLocalizedString(@"This app does not support this request.", @""); + + case ALTServerErrorUnknownResponse: + return NSLocalizedString(@"Received an unknown response from AltServer.", @""); + + case ALTServerErrorInvalidAnisetteData: + return NSLocalizedString(@"Invalid anisette data.", @""); + + case ALTServerErrorPluginNotFound: + return NSLocalizedString(@"Could not connect to Mail plug-in. Please make sure the plug-in is installed and Mail is running, then try again.", @""); + } +} + +@end diff --git a/AltKit/Result+Conveniences.swift b/AltKit/Result+Conveniences.swift new file mode 100644 index 0000000..2ffec68 --- /dev/null +++ b/AltKit/Result+Conveniences.swift @@ -0,0 +1,76 @@ +// +// Result+Conveniences.swift +// AltStore +// +// Created by Riley Testut on 5/22/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +import Foundation + +public extension Result +{ + var value: Success? { + switch self + { + case .success(let value): return value + case .failure: return nil + } + } + + var error: Failure? { + switch self + { + case .success: return nil + case .failure(let error): return error + } + } + + init(_ value: Success?, _ error: Failure?) + { + switch (value, error) + { + case (let value?, _): self = .success(value) + case (_, let error?): self = .failure(error) + case (nil, nil): preconditionFailure("Either value or error must be non-nil") + } + } +} + +public extension Result where Success == Void +{ + init(_ success: Bool, _ error: Failure?) + { + if success + { + self = .success(()) + } + else if let error = error + { + self = .failure(error) + } + else + { + preconditionFailure("Error must be non-nil if success is false") + } + } +} + +public extension Result +{ + init(_ values: (T?, U?), _ error: Failure?) where Success == (T, U) + { + if let value1 = values.0, let value2 = values.1 + { + self = .success((value1, value2)) + } + else if let error = error + { + self = .failure(error) + } + else + { + preconditionFailure("Error must be non-nil if either provided values are nil") + } + } +} diff --git a/AltPlugin.mailbundle/Contents/Info.plist b/AltPlugin.mailbundle/Contents/Info.plist new file mode 100644 index 0000000..ad39158 --- /dev/null +++ b/AltPlugin.mailbundle/Contents/Info.plist @@ -0,0 +1,84 @@ + + + + + BuildMachineOSBuild + 19A583 + CFBundleDevelopmentRegion + en + CFBundleExecutable + AltPlugin + CFBundleIdentifier + com.rileytestut.AltPlugin + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + AltPlugin + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 1 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 11B41 + DTPlatformVersion + GM + DTSDKBuild + 19A547 + DTSDKName + macosx10.15 + DTXcode + 1120 + DTXcodeBuild + 11B41 + LSMinimumSystemVersion + 10.14 + NSHumanReadableCopyright + Copyright © 2019 Riley Testut. All rights reserved. + NSPrincipalClass + ALTPluginService + Supported10.14PluginCompatibilityUUIDs + + # UUIDs for versions from 10.12 to 99.99.99 + # For mail version 10.0 (3226) on OS X Version 10.12 (build 16A319) + 36CCB8BB-2207-455E-89BC-B9D6E47ABB5B + # For mail version 10.1 (3251) on OS X Version 10.12.1 (build 16B2553a) + 9054AFD9-2607-489E-8E63-8B09A749BC61 + # For mail version 10.2 (3259) on OS X Version 10.12.2 (build 16D12b) + 1CD3B36A-0E3B-4A26-8F7E-5BDF96AAC97E + # For mail version 10.3 (3273) on OS X Version 10.12.4 (build 16G1036) + 21560BD9-A3CC-482E-9B99-95B7BF61EDC1 + # For mail version 11.0 (3441.0.1) on OS X Version 10.13 (build 17A315i) + C86CD990-4660-4E36-8CDA-7454DEB2E199 + # For mail version 12.0 (3445.100.39) on OS X Version 10.14.1 (build 18B45d) + A4343FAF-AE18-40D0-8A16-DFAE481AF9C1 + # For mail version 13.0 (3594.4.2) on OS X Version 10.15 (build 19A558d) + 6EEA38FB-1A0B-469B-BB35-4C2E0EEA9053 + + Supported10.15PluginCompatibilityUUIDs + + # UUIDs for versions from 10.12 to 99.99.99 + # For mail version 10.0 (3226) on OS X Version 10.12 (build 16A319) + 36CCB8BB-2207-455E-89BC-B9D6E47ABB5B + # For mail version 10.1 (3251) on OS X Version 10.12.1 (build 16B2553a) + 9054AFD9-2607-489E-8E63-8B09A749BC61 + # For mail version 10.2 (3259) on OS X Version 10.12.2 (build 16D12b) + 1CD3B36A-0E3B-4A26-8F7E-5BDF96AAC97E + # For mail version 10.3 (3273) on OS X Version 10.12.4 (build 16G1036) + 21560BD9-A3CC-482E-9B99-95B7BF61EDC1 + # For mail version 11.0 (3441.0.1) on OS X Version 10.13 (build 17A315i) + C86CD990-4660-4E36-8CDA-7454DEB2E199 + # For mail version 12.0 (3445.100.39) on OS X Version 10.14.1 (build 18B45d) + A4343FAF-AE18-40D0-8A16-DFAE481AF9C1 + # For mail version 13.0 (3594.4.2) on OS X Version 10.15 (build 19A558d) + 6EEA38FB-1A0B-469B-BB35-4C2E0EEA9053 + + + diff --git a/AltPlugin.mailbundle/Contents/MacOS/AltPlugin b/AltPlugin.mailbundle/Contents/MacOS/AltPlugin new file mode 100755 index 0000000000000000000000000000000000000000..b78c8d1afa5d324725a74f619bbb526b02ad458a GIT binary patch literal 27652 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 literal 0 HcmV?d00001 diff --git a/AltServer/ALTDeviceManager+Installation.swift b/AltServer/ALTDeviceManager+Installation.swift new file mode 100644 index 0000000..1af7bac --- /dev/null +++ b/AltServer/ALTDeviceManager+Installation.swift @@ -0,0 +1,553 @@ +// +// ALTDeviceManager+Installation.swift +// AltServer +// +// Created by Riley Testut on 7/1/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +import Cocoa +import UserNotifications +import ObjectiveC + +enum InstallError: LocalizedError +{ + case cancelled + case noTeam + case missingPrivateKey + case missingCertificate + + var errorDescription: String? { + switch self + { + case .cancelled: return NSLocalizedString("The operation was cancelled.", comment: "") + case .noTeam: return "You are not a member of any developer teams." + case .missingPrivateKey: return "The developer certificate's private key could not be found." + case .missingCertificate: return "The developer certificate could not be found." + } + } +} + +extension ALTDeviceManager +{ + @objc func installApplication(to device: ALTDevice, appleID: String, password: String, applicationURL: URL, completion: @escaping (Error?) -> Void) -> Progress + { + let destinationDirectoryURL = FileManager.default.temporaryDirectory.appendingPathComponent(UUID().uuidString) + + func finish(_ error: Error?, title: String = "") + { + if let error = error { + completion(error) + } + else { + completion(nil) + } + try? FileManager.default.removeItem(at: destinationDirectoryURL) + } + + let progress = Progress.init(totalUnitCount: 19) + progress.localizedDescription = "Requesting anisette data..."; + + AnisetteDataManager.shared.requestAnisetteData { (result) in + do + { + let anisetteData = try result.get() + progress.completedUnitCount += 1 + progress.localizedDescription = "Authenticating with your Apple ID..."; + + self.authenticate(appleID: appleID, password: password, anisetteData: anisetteData) { (result) in + do + { + let (account, session) = try result.get() + progress.completedUnitCount += 1 + progress.localizedDescription = "Fetching team information..."; + + self.fetchTeam(for: account, session: session) { (result) in + do + { + let team = try result.get() + progress.completedUnitCount += 1 + progress.localizedDescription = "Registering device..."; + + self.register(device, team: team, session: session) { (result) in + do + { + let device = try result.get() + progress.completedUnitCount += 1 + progress.localizedDescription = "Fetching certificates..."; + + self.fetchCertificate(for: team, session: session) { (result) in + do + { + let certificate = try result.get() + progress.completedUnitCount += 1 + progress.localizedDescription = "Downloading your app..."; + + self.downloadApp(applicationURL: applicationURL) { (result) in + do + { + let fileURL = try result.get() + + try FileManager.default.createDirectory(at: destinationDirectoryURL, withIntermediateDirectories: true, attributes: nil) + + let appBundleURL = try FileManager.default.unzipAppBundle(at: fileURL, toDirectory: destinationDirectoryURL) + + do + { + try FileManager.default.removeItem(at: fileURL) + } + catch + { + print("Failed to remove downloaded .ipa.", error) + } + + guard let application = ALTApplication(fileURL: appBundleURL) else { throw ALTError(.invalidApp) } + progress.completedUnitCount += 1 + progress.localizedDescription = "Registering the App ID..."; + + self.registerAppID(name: "AltStore", identifier: "com.rileytestut.AltStore", team: team, session: session) { (result) in + do + { + let appID = try result.get() + progress.completedUnitCount += 1 + progress.localizedDescription = "Updating app ID..."; + + self.updateFeatures(for: appID, app: application, team: team, session: session) { (result) in + do + { + let appID = try result.get() + progress.completedUnitCount += 1 + progress.localizedDescription = "Fetching the provisioning profile..."; + + self.fetchProvisioningProfile(for: appID, team: team, session: session) { (result) in + do + { + let provisioningProfile = try result.get() + progress.completedUnitCount += 1 + progress.localizedDescription = "Beginning installation..."; + + self.install(application, to: device, team: team, appID: appID, certificate: certificate, profile: provisioningProfile, progress: progress) { (result) in + finish(result.error, title: "Failed to Install AltStore") + } + } + catch + { + finish(error, title: "Failed to Fetch Provisioning Profile") + } + } + } + catch + { + finish(error, title: "Failed to Update App ID") + } + } + } + catch + { + finish(error, title: "Failed to Register App") + } + } + } + catch + { + finish(error, title: "Failed to Download App") + return + } + } + } + catch + { + finish(error, title: "Failed to Fetch Certificate") + } + } + } + catch + { + finish(error, title: "Failed to Register Device") + } + } + } + catch + { + finish(error, title: "Failed to Fetch Team") + } + } + } + catch + { + finish(error, title: "Failed to Authenticate") + } + } + } + catch + { + finish(error, title: "Failed to Fetch Anisette Data") + } + } + + return progress + } + + func downloadApp(applicationURL: URL, completionHandler: @escaping (Result) -> Void) + { + if applicationURL.isFileURL { + DispatchQueue.global().async { + let fileURL = FileManager.default.temporaryDirectory.appendingPathComponent(UUID.init().uuidString).appendingPathExtension("ipa") + do { + try FileManager.default.copyItem(at: applicationURL, to: fileURL) + completionHandler(.success(fileURL)) + } + catch let error { + completionHandler(.failure(error)) + } + } + } + else { + let downloadTask = URLSession.shared.downloadTask(with: applicationURL) { (fileURL, response, error) in + do + { + let (fileURL, _) = try Result((fileURL, response), error).get() + completionHandler(.success(fileURL)) + } + catch + { + completionHandler(.failure(error)) + } + } + + downloadTask.resume() + } + } + + func authenticate(appleID: String, password: String, anisetteData: ALTAnisetteData, completionHandler: @escaping (Result<(ALTAccount, ALTAppleAPISession), Error>) -> Void) + { + func handleVerificationCode(_ completionHandler: @escaping (String?) -> Void) + { + DispatchQueue.main.async { + let alert = NSAlert() + alert.messageText = NSLocalizedString("Two-Factor Authentication Enabled", comment: "") + alert.informativeText = NSLocalizedString("Please enter the 6-digit verification code that was sent to your Apple devices.", comment: "") + + let textField = NSTextField(frame: NSRect(x: 0, y: 0, width: 300, height: 22)) + textField.delegate = self + textField.translatesAutoresizingMaskIntoConstraints = false + textField.placeholderString = NSLocalizedString("123456", comment: "") + alert.accessoryView = textField + alert.window.initialFirstResponder = textField + + alert.addButton(withTitle: NSLocalizedString("Continue", comment: "")) + alert.addButton(withTitle: NSLocalizedString("Cancel", comment: "")) + + self.securityCodeAlert = alert + self.securityCodeTextField = textField + self.validate() + + NSRunningApplication.current.activate(options: .activateIgnoringOtherApps) + + let response = alert.runModal() + if response == .alertFirstButtonReturn + { + let code = textField.stringValue + completionHandler(code) + } + else + { + completionHandler(nil) + } + } + } + + ALTAppleAPI.shared.authenticate(appleID: appleID, password: password, anisetteData: anisetteData, verificationHandler: handleVerificationCode) { (account, session, error) in + if let account = account, let session = session + { + completionHandler(.success((account, session))) + } + else + { + completionHandler(.failure(error ?? ALTAppleAPIError(.unknown))) + } + } + } + + func fetchTeam(for account: ALTAccount, session: ALTAppleAPISession, completionHandler: @escaping (Result) -> Void) + { + func finish(_ result: Result) + { + switch result + { + case .failure(let error): + completionHandler(.failure(error)) + + case .success(let team): + + var isCancelled = false + + if team.type != .free + { + DispatchQueue.main.sync { + let alert = NSAlert() + alert.messageText = NSLocalizedString("Installing AltStore will revoke your iOS development certificate.", comment: "") + alert.informativeText = NSLocalizedString(""" +This will not affect apps you've submitted to the App Store, but may cause apps you've installed to your devices with Xcode to stop working until you reinstall them. + +To prevent this from happening, feel free to try again with another Apple ID to install AltStore. +""", comment: "") + + alert.addButton(withTitle: NSLocalizedString("Continue", comment: "")) + alert.addButton(withTitle: NSLocalizedString("Cancel", comment: "")) + + NSRunningApplication.current.activate(options: .activateIgnoringOtherApps) + + let buttonIndex = alert.runModal() + if buttonIndex == NSApplication.ModalResponse.alertSecondButtonReturn + { + isCancelled = true + } + } + + if isCancelled + { + return completionHandler(.failure(InstallError.cancelled)) + } + } + + completionHandler(.success(team)) + } + } + + ALTAppleAPI.shared.fetchTeams(for: account, session: session) { (teams, error) in + do + { + let teams = try Result(teams, error).get() + + if let team = teams.first(where: { $0.type == .free }) + { + return finish(.success(team)) + } + else if let team = teams.first(where: { $0.type == .individual }) + { + return finish(.success(team)) + } + else if let team = teams.first + { + return finish(.success(team)) + } + else + { + throw InstallError.noTeam + } + } + catch + { + finish(.failure(error)) + } + } + } + + func fetchCertificate(for team: ALTTeam, session: ALTAppleAPISession, completionHandler: @escaping (Result) -> Void) + { + ALTAppleAPI.shared.fetchCertificates(for: team, session: session) { (certificates, error) in + do + { + let certificates = try Result(certificates, error).get() + + if let certificate = certificates.first + { + ALTAppleAPI.shared.revoke(certificate, for: team, session: session) { (success, error) in + do + { + try Result(success, error).get() + self.fetchCertificate(for: team, session: session, completionHandler: completionHandler) + } + catch + { + completionHandler(.failure(error)) + } + } + } + else + { + ALTAppleAPI.shared.addCertificate(machineName: "AltStore", to: team, session: session) { (certificate, error) in + do + { + let certificate = try Result(certificate, error).get() + guard let privateKey = certificate.privateKey else { throw InstallError.missingPrivateKey } + + ALTAppleAPI.shared.fetchCertificates(for: team, session: session) { (certificates, error) in + do + { + let certificates = try Result(certificates, error).get() + + guard let certificate = certificates.first(where: { $0.serialNumber == certificate.serialNumber }) else { + throw InstallError.missingCertificate + } + + certificate.privateKey = privateKey + + completionHandler(.success(certificate)) + } + catch + { + completionHandler(.failure(error)) + } + } + } + catch + { + completionHandler(.failure(error)) + } + } + } + } + catch + { + completionHandler(.failure(error)) + } + } + } + + func registerAppID(name appName: String, identifier: String, team: ALTTeam, session: ALTAppleAPISession, completionHandler: @escaping (Result) -> Void) + { + let bundleID = "com.\(team.identifier).\(identifier)" + + ALTAppleAPI.shared.fetchAppIDs(for: team, session: session) { (appIDs, error) in + do + { + let appIDs = try Result(appIDs, error).get() + + if let appID = appIDs.first(where: { $0.bundleIdentifier == bundleID }) + { + completionHandler(.success(appID)) + } + else + { + ALTAppleAPI.shared.addAppID(withName: appName, bundleIdentifier: bundleID, team: team, session: session) { (appID, error) in + completionHandler(Result(appID, error)) + } + } + } + catch + { + completionHandler(.failure(error)) + } + } + } + + func updateFeatures(for appID: ALTAppID, app: ALTApplication, team: ALTTeam, session: ALTAppleAPISession, completionHandler: @escaping (Result) -> Void) + { + let requiredFeatures = app.entitlements.compactMap { (entitlement, value) -> (ALTFeature, Any)? in + guard let feature = ALTFeature(entitlement: entitlement) else { return nil } + return (feature, value) + } + + var features = requiredFeatures.reduce(into: [ALTFeature: Any]()) { $0[$1.0] = $1.1 } + + if let applicationGroups = app.entitlements[.appGroups] as? [String], !applicationGroups.isEmpty + { + features[.appGroups] = true + } + + let appID = appID.copy() as! ALTAppID + appID.features = features + + ALTAppleAPI.shared.update(appID, team: team, session: session) { (appID, error) in + completionHandler(Result(appID, error)) + } + } + + func register(_ device: ALTDevice, team: ALTTeam, session: ALTAppleAPISession, completionHandler: @escaping (Result) -> Void) + { + ALTAppleAPI.shared.fetchDevices(for: team, session: session) { (devices, error) in + do + { + let devices = try Result(devices, error).get() + + if let device = devices.first(where: { $0.identifier == device.identifier }) + { + completionHandler(.success(device)) + } + else + { + ALTAppleAPI.shared.registerDevice(name: device.name, identifier: device.identifier, team: team, session: session) { (device, error) in + completionHandler(Result(device, error)) + } + } + } + catch + { + completionHandler(.failure(error)) + } + } + } + + func fetchProvisioningProfile(for appID: ALTAppID, team: ALTTeam, session: ALTAppleAPISession, completionHandler: @escaping (Result) -> Void) + { + ALTAppleAPI.shared.fetchProvisioningProfile(for: appID, team: team, session: session) { (profile, error) in + completionHandler(Result(profile, error)) + } + } + + func install(_ application: ALTApplication, to device: ALTDevice, team: ALTTeam, appID: ALTAppID, certificate: ALTCertificate, profile: ALTProvisioningProfile, progress: Progress, completionHandler: @escaping (Result) -> Void) + { + DispatchQueue.global().async { + let resigner = ALTSigner(team: team, certificate: certificate) + resigner.signApp(at: application.fileURL, provisioningProfiles: [profile]) { (success, error) in + do + { + try Result(success, error).get() + + ALTDeviceManager.shared.installApp(at: application.fileURL, toDeviceWithUDID: device.identifier, progress: progress) { (success, error) in + completionHandler(Result(success, error)) + } + } + catch + { + print("Failed to install app", error) + completionHandler(.failure(error)) + } + } + } + } +} + +private var securityCodeAlertKey = 0 +private var securityCodeTextFieldKey = 0 + +extension ALTDeviceManager: NSTextFieldDelegate +{ + var securityCodeAlert: NSAlert? { + get { return objc_getAssociatedObject(self, &securityCodeAlertKey) as? NSAlert } + set { objc_setAssociatedObject(self, &securityCodeAlertKey, newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC) } + } + + var securityCodeTextField: NSTextField? { + get { return objc_getAssociatedObject(self, &securityCodeTextFieldKey) as? NSTextField } + set { objc_setAssociatedObject(self, &securityCodeTextFieldKey, newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC) } + } + + public override func controlTextDidChange(_ obj: Notification) + { + self.validate() + } + + public override func controlTextDidEndEditing(_ obj: Notification) + { + self.validate() + } + + private func validate() + { + guard let code = self.securityCodeTextField?.stringValue.trimmingCharacters(in: .whitespacesAndNewlines) else { return } + + if code.count == 6 + { + self.securityCodeAlert?.buttons.first?.isEnabled = true + } + else + { + self.securityCodeAlert?.buttons.first?.isEnabled = false + } + + self.securityCodeAlert?.layout() + } +} diff --git a/AltServer/ALTDeviceManager.h b/AltServer/ALTDeviceManager.h new file mode 100644 index 0000000..ceb6ee2 --- /dev/null +++ b/AltServer/ALTDeviceManager.h @@ -0,0 +1,25 @@ +// +// ALTDeviceManager.h +// AltServer +// +// Created by Riley Testut on 5/24/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +#import +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface ALTDeviceManager : NSObject + +@property (class, nonatomic, readonly) ALTDeviceManager *sharedManager; + +@property (nonatomic, readonly) NSArray *connectedDevices; +@property (nonatomic, readonly) NSArray *availableDevices; + +- (NSProgress *)installAppAtURL:(NSURL *)fileURL toDeviceWithUDID:(NSString *)udid progress:(NSProgress *)progress completionHandler:(void (^)(BOOL success, NSError *_Nullable error))completionHandler; + +@end + +NS_ASSUME_NONNULL_END diff --git a/AltServer/ALTDeviceManager.mm b/AltServer/ALTDeviceManager.mm new file mode 100644 index 0000000..41fbf9f --- /dev/null +++ b/AltServer/ALTDeviceManager.mm @@ -0,0 +1,706 @@ +// +// ALTDeviceManager.m +// AltServer +// +// Created by Riley Testut on 5/24/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +#import "ALTDeviceManager.h" +#import + +#include +#include +#include +#include +#include +#include + + +void ALTDeviceManagerUpdateStatus(plist_t command, plist_t status, void *udid); + +NSErrorDomain const ALTDeviceErrorDomain = @"com.rileytestut.ALTDeviceError"; + +@interface ALTDeviceManager () + +@property (nonatomic, readonly) NSMutableDictionary *installationCompletionHandlers; +@property (nonatomic, readonly) NSMutableDictionary *installationProgress; +@property (nonatomic, readonly) dispatch_queue_t installationQueue; + +@end + +@implementation ALTDeviceManager + ++ (ALTDeviceManager *)sharedManager +{ + static ALTDeviceManager *_manager = nil; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + _manager = [[self alloc] init]; + }); + + return _manager; +} + +- (instancetype)init +{ + self = [super init]; + if (self) + { + _installationCompletionHandlers = [NSMutableDictionary dictionary]; + _installationProgress = [NSMutableDictionary dictionary]; + + _installationQueue = dispatch_queue_create("com.rileytestut.AltServer.InstallationQueue", DISPATCH_QUEUE_SERIAL); + } + + return self; +} + +- (NSProgress *)installAppAtURL:(NSURL *)fileURL toDeviceWithUDID:(NSString *)udid progress:(NSProgress *)UIProgress completionHandler:(void (^)(BOOL success, NSError *_Nullable error))completionHandler +{ + NSProgress *progress = [NSProgress discreteProgressWithTotalUnitCount:4]; + + dispatch_async(self.installationQueue, ^{ + NSUUID *UUID = [NSUUID UUID]; + __block char *uuidString = (char *)malloc(UUID.UUIDString.length + 1); + strncpy(uuidString, (const char *)UUID.UUIDString.UTF8String, UUID.UUIDString.length); + uuidString[UUID.UUIDString.length] = '\0'; + + __block idevice_t device = NULL; + __block lockdownd_client_t client = NULL; + __block instproxy_client_t ipc = NULL; + __block afc_client_t afc = NULL; + __block misagent_client_t mis = NULL; + __block lockdownd_service_descriptor_t service = NULL; + + NSURL *removedProfilesDirectoryURL = [[[NSFileManager defaultManager] temporaryDirectory] URLByAppendingPathComponent:[[NSUUID UUID] UUIDString]]; + NSMutableDictionary *preferredProfiles = [NSMutableDictionary dictionary]; + + void (^finish)(NSError *error) = ^(NSError *error) { + + if ([[NSFileManager defaultManager] fileExistsAtPath:removedProfilesDirectoryURL.path isDirectory:nil]) + { + // Reinstall all provisioning profiles we removed before installation. + + NSArray *contents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:removedProfilesDirectoryURL.path error:nil]; + for (NSString *filename in contents) + { + NSURL *fileURL = [removedProfilesDirectoryURL URLByAppendingPathComponent:filename]; + + ALTProvisioningProfile *provisioningProfile = [[ALTProvisioningProfile alloc] initWithURL:fileURL]; + if (provisioningProfile == nil) + { + continue; + } + + ALTProvisioningProfile *preferredProfile = preferredProfiles[provisioningProfile.bundleIdentifier]; + if (![preferredProfile isEqual:provisioningProfile]) + { + continue; + } + + plist_t pdata = plist_new_data((const char *)provisioningProfile.data.bytes, provisioningProfile.data.length); + + if (misagent_install(mis, pdata) == MISAGENT_E_SUCCESS) + { + NSLog(@"Reinstalled profile: %@", provisioningProfile.UUID); + } + else + { + int code = misagent_get_status_code(mis); + NSLog(@"Failed to reinstall provisioning profile %@. (%@)", provisioningProfile.UUID, @(code)); + } + } + + [[NSFileManager defaultManager] removeItemAtURL:removedProfilesDirectoryURL error:nil]; + } + + instproxy_client_free(ipc); + afc_client_free(afc); + lockdownd_client_free(client); + misagent_client_free(mis); + idevice_free(device); + lockdownd_service_descriptor_free(service); + + free(uuidString); + uuidString = NULL; + + if (error != nil) + { + completionHandler(NO, error); + } + else + { + completionHandler(YES, nil); + } + }; + + NSURL *appBundleURL = nil; + NSURL *temporaryDirectoryURL = nil; + + UIProgress.completedUnitCount += 1; + UIProgress.localizedDescription = @"Extracting the application..."; + + if ([fileURL.pathExtension.lowercaseString isEqualToString:@"app"]) + { + appBundleURL = fileURL; + temporaryDirectoryURL = nil; + } + else if ([fileURL.pathExtension.lowercaseString isEqualToString:@"ipa"]) + { + NSLog(@"Unzipping .ipa..."); + + temporaryDirectoryURL = [NSFileManager.defaultManager.temporaryDirectory URLByAppendingPathComponent:[[NSUUID UUID] UUIDString] isDirectory:YES]; + + NSError *error = nil; + if (![[NSFileManager defaultManager] createDirectoryAtURL:temporaryDirectoryURL withIntermediateDirectories:YES attributes:nil error:&error]) + { + return finish(error); + } + + appBundleURL = [[NSFileManager defaultManager] unzipAppBundleAtURL:fileURL toDirectory:temporaryDirectoryURL error:&error]; + if (appBundleURL == nil) + { + return finish(error); + } + } + else + { + return finish([NSError errorWithDomain:NSCocoaErrorDomain code:NSFileReadCorruptFileError userInfo:@{NSURLErrorKey: fileURL}]); + } + + UIProgress.completedUnitCount += 1; + UIProgress.localizedDescription = @"Connecting to iDevice..."; + + /* Find Device */ + if (idevice_new(&device, udid.UTF8String) != IDEVICE_E_SUCCESS) + { + return finish([NSError errorWithDomain:AltServerErrorDomain code:ALTServerErrorDeviceNotFound userInfo:nil]); + } + + /* Connect to Device */ + lockdownd_error_t error; + if ((error = lockdownd_client_new_with_handshake(device, &client, "altserver")) != LOCKDOWN_E_SUCCESS) + { + NSLog(@"%d", error); + return finish([NSError errorWithDomain:AltServerErrorDomain code:ALTServerErrorConnectionFailed userInfo:nil]); + } + + UIProgress.completedUnitCount += 1; + UIProgress.localizedDescription = @"Connecting to the installation proxy..."; + + /* Connect to Installation Proxy */ + if ((lockdownd_start_service(client, "com.apple.mobile.installation_proxy", &service) != LOCKDOWN_E_SUCCESS) || service == NULL) + { + return finish([NSError errorWithDomain:AltServerErrorDomain code:ALTServerErrorConnectionFailed userInfo:nil]); + } + + if (instproxy_client_new(device, service, &ipc) != INSTPROXY_E_SUCCESS) + { + return finish([NSError errorWithDomain:AltServerErrorDomain code:ALTServerErrorConnectionFailed userInfo:nil]); + } + + if (service) + { + lockdownd_service_descriptor_free(service); + service = NULL; + } + + UIProgress.completedUnitCount += 1; + UIProgress.localizedDescription = @"Connecting to the misagent..."; + + /* Connect to Misagent */ + // Must connect now, since if we take too long writing files to device, connecting may fail later when managing profiles. + if (lockdownd_start_service(client, "com.apple.misagent", &service) != LOCKDOWN_E_SUCCESS || service == NULL) + { + return finish([NSError errorWithDomain:AltServerErrorDomain code:ALTServerErrorConnectionFailed userInfo:nil]); + } + + if (misagent_client_new(device, service, &mis) != MISAGENT_E_SUCCESS) + { + return finish([NSError errorWithDomain:AltServerErrorDomain code:ALTServerErrorConnectionFailed userInfo:nil]); + } + + UIProgress.completedUnitCount += 1; + UIProgress.localizedDescription = @"Connecting to the AFC service..."; + + /* Connect to AFC service */ + if ((lockdownd_start_service(client, "com.apple.afc", &service) != LOCKDOWN_E_SUCCESS) || service == NULL) + { + return finish([NSError errorWithDomain:AltServerErrorDomain code:ALTServerErrorConnectionFailed userInfo:nil]); + } + + if (afc_client_new(device, service, &afc) != AFC_E_SUCCESS) + { + return finish([NSError errorWithDomain:AltServerErrorDomain code:ALTServerErrorConnectionFailed userInfo:nil]); + } + + NSURL *stagingURL = [NSURL fileURLWithPath:@"PublicStaging" isDirectory:YES]; + + UIProgress.completedUnitCount += 1; + UIProgress.localizedDescription = @"Preparing for the installation..."; + + /* Prepare for installation */ + char **files = NULL; + if (afc_get_file_info(afc, stagingURL.relativePath.fileSystemRepresentation, &files) != AFC_E_SUCCESS) + { + if (afc_make_directory(afc, stagingURL.relativePath.fileSystemRepresentation) != AFC_E_SUCCESS) + { + return finish([NSError errorWithDomain:AltServerErrorDomain code:ALTServerErrorDeviceWriteFailed userInfo:nil]); + } + } + + if (files) + { + int i = 0; + + while (files[i]) + { + free(files[i]); + i++; + } + + free(files); + } + + UIProgress.completedUnitCount += 1; + UIProgress.localizedDescription = @"Sending files to device..."; + + NSLog(@"Writing to device..."); + + plist_t options = instproxy_client_options_new(); + instproxy_client_options_add(options, "PackageType", "Developer", NULL); + + NSURL *destinationURL = [stagingURL URLByAppendingPathComponent:appBundleURL.lastPathComponent]; + + // Writing files to device should be worth 3/4 of total work. + [progress becomeCurrentWithPendingUnitCount:3]; + + NSError *writeError = nil; + if (![self writeDirectory:appBundleURL toDestinationURL:destinationURL client:afc progress:nil error:&writeError]) + { + return finish(writeError); + } + + NSLog(@"Finished writing to device."); + + if (service) + { + lockdownd_service_descriptor_free(service); + service = NULL; + } + + UIProgress.completedUnitCount += 1; + UIProgress.localizedDescription = @"Sending the provisioning profiles..."; + + /* Provisioning Profiles */ + NSURL *provisioningProfileURL = [appBundleURL URLByAppendingPathComponent:@"embedded.mobileprovision"]; + ALTProvisioningProfile *installationProvisioningProfile = [[ALTProvisioningProfile alloc] initWithURL:provisioningProfileURL]; + if (installationProvisioningProfile != nil) + { + NSError *error = nil; + if (![[NSFileManager defaultManager] createDirectoryAtURL:removedProfilesDirectoryURL withIntermediateDirectories:YES attributes:nil error:&error]) + { + return finish(error); + } + + plist_t rawProfiles = NULL; + + if (misagent_copy_all(mis, &rawProfiles) != MISAGENT_E_SUCCESS) + { + return finish([NSError errorWithDomain:AltServerErrorDomain code:ALTServerErrorConnectionFailed userInfo:nil]); + } + + // For some reason, libplist now fails to parse `rawProfiles` correctly. + // Specifically, it no longer recognizes the nodes in the plist array as "data" nodes. + // However, if we encode it as XML then decode it again, it'll work ¯\_(ツ)_/¯ + char *plistXML = nullptr; + uint32_t plistLength = 0; + plist_to_xml(rawProfiles, &plistXML, &plistLength); + + plist_t profiles = NULL; + plist_from_xml(plistXML, plistLength, &profiles); + + uint32_t profileCount = plist_array_get_size(profiles); + for (int i = 0; i < profileCount; i++) + { + plist_t profile = plist_array_get_item(profiles, i); + if (plist_get_node_type(profile) != PLIST_DATA) + { + continue; + } + + char *bytes = NULL; + uint64_t length = 0; + + plist_get_data_val(profile, &bytes, &length); + if (bytes == NULL) + { + continue; + } + + NSData *data = [NSData dataWithBytes:(const void *)bytes length:length]; + ALTProvisioningProfile *provisioningProfile = [[ALTProvisioningProfile alloc] initWithData:data]; + + if (![provisioningProfile isFreeProvisioningProfile]) + { + NSLog(@"Ignoring: %@ (Team: %@)", provisioningProfile.bundleIdentifier, provisioningProfile.teamIdentifier); + continue; + } + + ALTProvisioningProfile *preferredProfile = preferredProfiles[provisioningProfile.bundleIdentifier]; + if (preferredProfile != nil) + { + if ([provisioningProfile.expirationDate compare:preferredProfile.expirationDate] == NSOrderedDescending) + { + preferredProfiles[provisioningProfile.bundleIdentifier] = provisioningProfile; + } + } + else + { + preferredProfiles[provisioningProfile.bundleIdentifier] = provisioningProfile; + } + + NSString *filename = [NSString stringWithFormat:@"%@.mobileprovision", [[NSUUID UUID] UUIDString]]; + NSURL *fileURL = [removedProfilesDirectoryURL URLByAppendingPathComponent:filename]; + + NSError *copyError = nil; + if (![provisioningProfile.data writeToURL:fileURL options:NSDataWritingAtomic error:©Error]) + { + NSLog(@"Failed to copy profile to temporary URL. %@", copyError); + continue; + } + + if (misagent_remove(mis, provisioningProfile.UUID.UUIDString.lowercaseString.UTF8String) == MISAGENT_E_SUCCESS) + { + NSLog(@"Removed provisioning profile: %@ (Team: %@)", provisioningProfile.bundleIdentifier, provisioningProfile.teamIdentifier); + } + else + { + int code = misagent_get_status_code(mis); + NSLog(@"Failed to remove provisioning profile %@ (Team: %@). Error Code: %@", provisioningProfile.bundleIdentifier, provisioningProfile.teamIdentifier, @(code)); + } + } + + plist_free(rawProfiles); + plist_free(profiles); + + lockdownd_client_free(client); + client = NULL; + } + + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + NSProgress *installationProgress = [NSProgress progressWithTotalUnitCount:100 parent:progress pendingUnitCount:1]; + + self.installationProgress[UUID] = installationProgress; + self.installationCompletionHandlers[UUID] = ^(NSError *error) { + finish(error); + + if (temporaryDirectoryURL != nil) + { + NSError *error = nil; + if (![[NSFileManager defaultManager] removeItemAtURL:temporaryDirectoryURL error:&error]) + { + NSLog(@"Error removing temporary directory. %@", error); + } + } + + dispatch_semaphore_signal(semaphore); + }; + + UIProgress.completedUnitCount += 1; + UIProgress.localizedDescription = @"Finalizing..."; + + NSLog(@"Installing to device %@...", udid); + + instproxy_install(ipc, destinationURL.relativePath.fileSystemRepresentation, options, ALTDeviceManagerUpdateStatus, uuidString); + instproxy_client_options_free(options); + + dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER); + }); + + return progress; +} + +- (BOOL)writeDirectory:(NSURL *)directoryURL toDestinationURL:(NSURL *)destinationURL client:(afc_client_t)afc progress:(NSProgress *)progress error:(NSError **)error +{ + afc_make_directory(afc, destinationURL.relativePath.fileSystemRepresentation); + + if (progress == nil) + { + NSDirectoryEnumerator *countEnumerator = [[NSFileManager defaultManager] enumeratorAtURL:directoryURL + includingPropertiesForKeys:@[] + options:0 + errorHandler:^BOOL(NSURL * _Nonnull url, NSError * _Nonnull error) { + if (error) { + NSLog(@"[Error] %@ (%@)", error, url); + return NO; + } + + return YES; + }]; + + NSInteger totalCount = 0; + for (NSURL *__unused fileURL in countEnumerator) + { + totalCount++; + } + + progress = [NSProgress progressWithTotalUnitCount:totalCount]; + } + + NSDirectoryEnumerator *enumerator = [[NSFileManager defaultManager] enumeratorAtURL:directoryURL + includingPropertiesForKeys:@[NSURLIsDirectoryKey] + options:NSDirectoryEnumerationSkipsSubdirectoryDescendants + errorHandler:^BOOL(NSURL * _Nonnull url, NSError * _Nonnull error) { + if (error) { + NSLog(@"[Error] %@ (%@)", error, url); + return NO; + } + + return YES; + }]; + + for (NSURL *fileURL in enumerator) + { + NSNumber *isDirectory = nil; + if (![fileURL getResourceValue:&isDirectory forKey:NSURLIsDirectoryKey error:error]) + { + return NO; + } + + if ([isDirectory boolValue]) + { + NSURL *destinationDirectoryURL = [destinationURL URLByAppendingPathComponent:fileURL.lastPathComponent isDirectory:YES]; + if (![self writeDirectory:fileURL toDestinationURL:destinationDirectoryURL client:afc progress:progress error:error]) + { + return NO; + } + } + else + { + NSURL *destinationFileURL = [destinationURL URLByAppendingPathComponent:fileURL.lastPathComponent isDirectory:NO]; + if (![self writeFile:fileURL toDestinationURL:destinationFileURL client:afc error:error]) + { + return NO; + } + } + + progress.completedUnitCount += 1; + } + + return YES; +} + +- (BOOL)writeFile:(NSURL *)fileURL toDestinationURL:(NSURL *)destinationURL client:(afc_client_t)afc error:(NSError **)error +{ + NSFileHandle *fileHandle = [NSFileHandle fileHandleForReadingAtPath:fileURL.path]; + if (fileHandle == nil) + { + if (error) + { + *error = [NSError errorWithDomain:NSCocoaErrorDomain code:NSFileNoSuchFileError userInfo:@{NSURLErrorKey: fileURL}]; + } + + return NO; + } + + NSData *data = [fileHandle readDataToEndOfFile]; + + uint64_t af = 0; + if ((afc_file_open(afc, destinationURL.relativePath.fileSystemRepresentation, AFC_FOPEN_WRONLY, &af) != AFC_E_SUCCESS) || af == 0) + { + if (error) + { + *error = [NSError errorWithDomain:NSCocoaErrorDomain code:NSFileWriteUnknownError userInfo:@{NSURLErrorKey: destinationURL}]; + } + + return NO; + } + + BOOL success = YES; + uint32_t bytesWritten = 0; + + while (bytesWritten < data.length) + { + uint32_t count = 0; + + if (afc_file_write(afc, af, (const char *)data.bytes + bytesWritten, (uint32_t)data.length - bytesWritten, &count) != AFC_E_SUCCESS) + { + if (error) + { + *error = [NSError errorWithDomain:NSCocoaErrorDomain code:NSFileWriteUnknownError userInfo:@{NSURLErrorKey: destinationURL}]; + } + + success = NO; + break; + } + + bytesWritten += count; + } + + if (bytesWritten != data.length) + { + if (error) + { + *error = [NSError errorWithDomain:NSCocoaErrorDomain code:NSFileWriteUnknownError userInfo:@{NSURLErrorKey: destinationURL}]; + } + + success = NO; + } + + afc_file_close(afc, af); + + return success; +} + +#pragma mark - Getters - + +- (NSArray *)connectedDevices +{ + return [self availableDevicesIncludingNetworkDevices:NO]; +} + +- (NSArray *)availableDevices +{ + return [self availableDevicesIncludingNetworkDevices:YES]; +} + +- (NSArray *)availableDevicesIncludingNetworkDevices:(BOOL)includingNetworkDevices +{ + includingNetworkDevices = NO; + NSMutableSet *connectedDevices = [NSMutableSet set]; + + int count = 0; + char **udids = NULL; + if (idevice_get_device_list(&udids, &count) < 0) + { + fprintf(stderr, "ERROR: Unable to retrieve device list!\n"); + return @[]; + } + + for (int i = 0; i < count; i++) + { + char *udid = udids[i]; + + idevice_t device = NULL; + idevice_new(&device, udid); + + if (!device) + { + continue; + } + + lockdownd_client_t client = NULL; + int result = lockdownd_client_new(device, &client, "altserver"); + if (result != LOCKDOWN_E_SUCCESS) + { + fprintf(stderr, "ERROR: Connecting to device %s failed! (%d)\n", udid, result); + + idevice_free(device); + + continue; + } + + char *device_name = NULL; + if (lockdownd_get_device_name(client, &device_name) != LOCKDOWN_E_SUCCESS || device_name == NULL) + { + fprintf(stderr, "ERROR: Could not get device name!\n"); + + lockdownd_client_free(client); + idevice_free(device); + + continue; + } + + lockdownd_client_free(client); + idevice_free(device); + + NSString *name = [NSString stringWithCString:device_name encoding:NSUTF8StringEncoding]; + NSString *identifier = [NSString stringWithCString:udid encoding:NSUTF8StringEncoding]; + + ALTDevice *altDevice = [[ALTDevice alloc] initWithName:name identifier:identifier]; + [connectedDevices addObject:altDevice]; + + if (device_name != NULL) + { + free(device_name); + } + } + + idevice_device_list_free(udids); + + return connectedDevices.allObjects; +} + +@end + +#pragma mark - Callbacks - + +void ALTDeviceManagerUpdateStatus(plist_t command, plist_t status, void *uuid) +{ + NSUUID *UUID = [[NSUUID alloc] initWithUUIDString:[NSString stringWithUTF8String:(const char *)uuid]]; + + NSProgress *progress = ALTDeviceManager.sharedManager.installationProgress[UUID]; + if (progress == nil) + { + return; + } + + int percent = -1; + instproxy_status_get_percent_complete(status, &percent); + + char *name = NULL; + char *description = NULL; + uint64_t code = 0; + instproxy_status_get_error(status, &name, &description, &code); + + if ((percent == -1 && progress.completedUnitCount > 0) || code != 0 || name != NULL) + { + void (^completionHandler)(NSError *) = ALTDeviceManager.sharedManager.installationCompletionHandlers[UUID]; + if (completionHandler != nil) + { + if (code != 0 || name != NULL) + { + NSLog(@"Error installing app. %@ (%@). %@", @(code), @(name), @(description)); + + NSError *error = nil; + + if (code == 3892346913) + { + error = [NSError errorWithDomain:AltServerErrorDomain code:ALTServerErrorMaximumFreeAppLimitReached userInfo:nil]; + } + else + { + NSString *errorName = [NSString stringWithCString:name encoding:NSUTF8StringEncoding]; + if ([errorName isEqualToString:@"DeviceOSVersionTooLow"]) + { + error = [NSError errorWithDomain:AltServerErrorDomain code:ALTServerErrorUnsupportediOSVersion userInfo:nil]; + } + else + { + NSError *underlyingError = [NSError errorWithDomain:AltServerInstallationErrorDomain code:code userInfo:@{NSLocalizedDescriptionKey: @(description)}]; + error = [NSError errorWithDomain:AltServerErrorDomain code:ALTServerErrorInstallationFailed userInfo:@{NSUnderlyingErrorKey: underlyingError}]; + } + } + + completionHandler(error); + } + else + { + NSLog(@"Finished installing app!"); + completionHandler(nil); + } + + ALTDeviceManager.sharedManager.installationCompletionHandlers[UUID] = nil; + ALTDeviceManager.sharedManager.installationProgress[UUID] = nil; + } + } + else if (progress.completedUnitCount < percent) + { + progress.completedUnitCount = percent; + + NSLog(@"Installation Progress: %@", @(percent)); + } +} diff --git a/AltServer/AnisetteDataManager.swift b/AltServer/AnisetteDataManager.swift new file mode 100644 index 0000000..6c96236 --- /dev/null +++ b/AltServer/AnisetteDataManager.swift @@ -0,0 +1,78 @@ +// +// AnisetteDataManager.swift +// AltServer +// +// Created by Riley Testut on 11/16/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +import Foundation + +class AnisetteDataManager: NSObject +{ + static let shared = AnisetteDataManager() + + private var anisetteDataCompletionHandlers: [String: (Result) -> Void] = [:] + private var anisetteDataTimers: [String: Timer] = [:] + + private override init() + { + super.init() + + DistributedNotificationCenter.default().addObserver(self, selector: #selector(AnisetteDataManager.handleAnisetteDataResponse(_:)), name: Notification.Name("com.rileytestut.AltServer.AnisetteDataResponse"), object: nil) + } + + func requestAnisetteData(_ completion: @escaping (Result) -> Void) + { + let requestUUID = UUID().uuidString + self.anisetteDataCompletionHandlers[requestUUID] = completion + + let timer = Timer(timeInterval: 1.0, repeats: false) { (timer) in + self.finishRequest(forUUID: requestUUID, result: .failure(ALTServerError(.pluginNotFound))) + } + self.anisetteDataTimers[requestUUID] = timer + + RunLoop.main.add(timer, forMode: .defaultRunLoopMode) + + DistributedNotificationCenter.default().postNotificationName(Notification.Name("com.rileytestut.AltServer.FetchAnisetteData"), object: nil, userInfo: ["requestUUID": requestUUID], options: .deliverImmediately) + } +} + +private extension AnisetteDataManager +{ + @objc func handleAnisetteDataResponse(_ notification: Notification) + { + guard let userInfo = notification.userInfo, let requestUUID = userInfo["requestUUID"] as? String else { return } + + if + let archivedAnisetteData = userInfo["anisetteData"] as? Data, + let anisetteData = try? NSKeyedUnarchiver.unarchivedObject(ofClass: ALTAnisetteData.self, from: archivedAnisetteData) + { + if let range = anisetteData!.deviceDescription.lowercased().range(of: "(com.apple.mail") + { + var adjustedDescription = anisetteData!.deviceDescription[..) + { + let completionHandler = self.anisetteDataCompletionHandlers[requestUUID] + self.anisetteDataCompletionHandlers[requestUUID] = nil + + let timer = self.anisetteDataTimers[requestUUID] + self.anisetteDataTimers[requestUUID] = nil + + timer?.invalidate() + completionHandler?(result) + } +} diff --git a/AltSign/ALTAccount.h b/AltSign/ALTAccount.h new file mode 100644 index 0000000..1678cf6 --- /dev/null +++ b/AltSign/ALTAccount.h @@ -0,0 +1,24 @@ +// +// ALTAccount.h +// AltSign +// +// Created by Riley Testut on 5/10/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface ALTAccount : NSObject + +@property (nonatomic, copy) NSString *appleID; +@property (nonatomic, copy) NSString *identifier; + +@property (nonatomic, readonly) NSString *name; +@property (nonatomic, copy) NSString *firstName; +@property (nonatomic, copy) NSString *lastName; + +@end + +NS_ASSUME_NONNULL_END diff --git a/AltSign/ALTAccount.m b/AltSign/ALTAccount.m new file mode 100644 index 0000000..0278d73 --- /dev/null +++ b/AltSign/ALTAccount.m @@ -0,0 +1,73 @@ +// +// ALTAccount.m +// AltSign +// +// Created by Riley Testut on 5/10/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +#import "ALTAccount.h" + +@implementation ALTAccount + +- (nullable instancetype)initWithResponseDictionary:(NSDictionary *)responseDictionary +{ + self = [super init]; + if (self) + { + NSString *appleID = responseDictionary[@"email"]; + NSNumber *identifier = responseDictionary[@"personId"]; + NSString *firstName = responseDictionary[@"firstName"] ?: responseDictionary[@"dsFirstName"]; + NSString *lastName = responseDictionary[@"lastName"] ?: responseDictionary[@"dsLastName"]; + + if (appleID == nil || identifier == nil || firstName == nil || lastName == nil) + { + return nil; + } + + _appleID = [appleID copy]; + _identifier = [identifier.description copy]; + _firstName = [firstName copy]; + _lastName = [lastName copy]; + } + + return self; +} + +#pragma mark - NSObject - + +- (NSString *)description +{ + return [NSString stringWithFormat:@"<%@: %p, Name: %@, Apple ID: %@>", NSStringFromClass([self class]), self, self.name, self.appleID]; +} + +- (BOOL)isEqual:(id)object +{ + ALTAccount *account = (ALTAccount *)object; + if (![account isKindOfClass:[ALTAccount class]]) + { + return NO; + } + + BOOL isEqual = [self.identifier isEqualToString:account.identifier]; + return isEqual; +} + +- (NSUInteger)hash +{ + return self.identifier.hash; +} + +#pragma mark - Getters/Setters - + +- (NSString *)name +{ + NSPersonNameComponents *components = [[NSPersonNameComponents alloc] init]; + components.givenName = self.firstName; + components.familyName = self.lastName; + + NSString *name = [NSPersonNameComponentsFormatter localizedStringFromPersonNameComponents:components style:NSPersonNameComponentsFormatterStyleDefault options:0]; + return name; +} + +@end diff --git a/AltSign/ALTAnisetteData.h b/AltSign/ALTAnisetteData.h new file mode 100644 index 0000000..056f09f --- /dev/null +++ b/AltSign/ALTAnisetteData.h @@ -0,0 +1,44 @@ +// +// ALTAnisetteData.h +// AltSign +// +// Created by Riley Testut on 11/13/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface ALTAnisetteData : NSObject + +@property (nonatomic, copy) NSString *machineID; +@property (nonatomic, copy) NSString *oneTimePassword; +@property (nonatomic, copy) NSString *localUserID; +@property (nonatomic) unsigned long long routingInfo; + +@property (nonatomic, copy) NSString *deviceUniqueIdentifier; +@property (nonatomic, copy) NSString *deviceSerialNumber; +@property (nonatomic, copy) NSString *deviceDescription; + +@property (nonatomic, copy) NSDate *date; +@property (nonatomic, copy) NSLocale *locale; +@property (nonatomic, copy) NSTimeZone *timeZone; + +- (instancetype)initWithMachineID:(NSString *)machineID + oneTimePassword:(NSString *)oneTimePassword + localUserID:(NSString *)localUserID + routingInfo:(unsigned long long)routingInfo + deviceUniqueIdentifier:(NSString *)deviceUniqueIdentifier + deviceSerialNumber:(NSString *)deviceSerialNumber + deviceDescription:(NSString *)deviceDescription + date:(NSDate *)date + locale:(NSLocale *)locale + timeZone:(NSTimeZone *)timeZone; + +- (nullable instancetype)initWithJSON:(NSDictionary *)json; +- (NSDictionary *)json; + +@end + +NS_ASSUME_NONNULL_END diff --git a/AltSign/ALTAnisetteData.m b/AltSign/ALTAnisetteData.m new file mode 100644 index 0000000..5680244 --- /dev/null +++ b/AltSign/ALTAnisetteData.m @@ -0,0 +1,223 @@ +// +// ALTAnisetteData.m +// AltSign +// +// Created by Riley Testut on 11/13/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +#import "ALTAnisetteData.h" + +@implementation ALTAnisetteData + +- (instancetype)initWithMachineID:(NSString *)machineID + oneTimePassword:(NSString *)oneTimePassword + localUserID:(NSString *)localUserID + routingInfo:(unsigned long long)routingInfo + deviceUniqueIdentifier:(NSString *)deviceUniqueIdentifier + deviceSerialNumber:(NSString *)deviceSerialNumber + deviceDescription:(NSString *)deviceDescription + date:(NSDate *)date + locale:(NSLocale *)locale + timeZone:(NSTimeZone *)timeZone +{ + self = [super init]; + if (self) + { + _machineID = [machineID copy]; + _oneTimePassword = [oneTimePassword copy]; + _localUserID = [localUserID copy]; + _routingInfo = routingInfo; + + _deviceUniqueIdentifier = [deviceUniqueIdentifier copy]; + _deviceSerialNumber = [deviceSerialNumber copy]; + _deviceDescription = [deviceDescription copy]; + + _date = [date copy]; + _locale = [locale copy]; + _timeZone = [timeZone copy]; + } + + return self; +} + +#pragma mark - NSObject - + +- (NSString *)description +{ + return [NSString stringWithFormat:@"Machine ID: %@\nOne-Time Password: %@\nLocal User ID: %@\nRouting Info: %@\nDevice UDID: %@\nDevice Serial Number: %@\nDevice Description: %@\nDate: %@\nLocale: %@\nTime Zone: %@", + self.machineID, self.oneTimePassword, self.localUserID, @(self.routingInfo), self.deviceUniqueIdentifier, self.deviceSerialNumber, self.deviceDescription, self.date, self.locale.localeIdentifier, self.timeZone]; +} + +- (BOOL)isEqual:(id)object +{ + ALTAnisetteData *anisetteData = (ALTAnisetteData *)object; + if (![anisetteData isKindOfClass:[ALTAnisetteData class]]) + { + return NO; + } + + BOOL isEqual = ([self.machineID isEqualToString:anisetteData.machineID] && + [self.oneTimePassword isEqualToString:anisetteData.oneTimePassword] && + [self.localUserID isEqualToString:anisetteData.localUserID] && + [@(self.routingInfo) isEqualToNumber:@(anisetteData.routingInfo)] && + [self.deviceUniqueIdentifier isEqualToString:anisetteData.deviceUniqueIdentifier] && + [self.deviceSerialNumber isEqualToString:anisetteData.deviceSerialNumber] && + [self.deviceDescription isEqualToString:anisetteData.deviceDescription] && + [self.date isEqualToDate:anisetteData.date] && + [self.locale isEqual:anisetteData.locale] && + [self.timeZone isEqualToTimeZone:anisetteData.timeZone]); + return isEqual; +} + +- (NSUInteger)hash +{ + return (self.machineID.hash ^ + self.oneTimePassword.hash ^ + self.localUserID.hash ^ + @(self.routingInfo).hash ^ + self.deviceUniqueIdentifier.hash ^ + self.deviceSerialNumber.hash ^ + self.deviceDescription.hash ^ + self.date.hash ^ + self.locale.hash ^ + self.timeZone.hash); + ; +} + +#pragma mark - - + +- (nonnull id)copyWithZone:(nullable NSZone *)zone +{ + ALTAnisetteData *copy = [[ALTAnisetteData alloc] initWithMachineID:self.machineID + oneTimePassword:self.oneTimePassword + localUserID:self.localUserID + routingInfo:self.routingInfo + deviceUniqueIdentifier:self.deviceUniqueIdentifier + deviceSerialNumber:self.deviceSerialNumber + deviceDescription:self.deviceDescription + date:self.date + locale:self.locale + timeZone:self.timeZone]; + + return copy; +} + +#pragma mark - - + +- (instancetype)initWithCoder:(NSCoder *)decoder +{ + NSString *machineID = [decoder decodeObjectOfClass:[NSString class] forKey:NSStringFromSelector(@selector(machineID))]; + NSString *oneTimePassword = [decoder decodeObjectOfClass:[NSString class] forKey:NSStringFromSelector(@selector(oneTimePassword))]; + NSString *localUserID = [decoder decodeObjectOfClass:[NSString class] forKey:NSStringFromSelector(@selector(localUserID))]; + NSNumber *routingInfo = [decoder decodeObjectOfClass:[NSNumber class] forKey:NSStringFromSelector(@selector(routingInfo))]; + + NSString *deviceUniqueIdentifier = [decoder decodeObjectOfClass:[NSString class] forKey:NSStringFromSelector(@selector(deviceUniqueIdentifier))]; + NSString *deviceSerialNumber = [decoder decodeObjectOfClass:[NSString class] forKey:NSStringFromSelector(@selector(deviceSerialNumber))]; + NSString *deviceDescription = [decoder decodeObjectOfClass:[NSString class] forKey:NSStringFromSelector(@selector(deviceDescription))]; + + NSDate *date = [decoder decodeObjectOfClass:[NSDate class] forKey:NSStringFromSelector(@selector(date))]; + NSLocale *locale = [decoder decodeObjectOfClass:[NSLocale class] forKey:NSStringFromSelector(@selector(locale))]; + NSTimeZone *timeZone = [decoder decodeObjectOfClass:[NSTimeZone class] forKey:NSStringFromSelector(@selector(timeZone))]; + + self = [self initWithMachineID:machineID + oneTimePassword:oneTimePassword + localUserID:localUserID + routingInfo:[routingInfo unsignedLongLongValue] + deviceUniqueIdentifier:deviceUniqueIdentifier + deviceSerialNumber:deviceSerialNumber + deviceDescription:deviceDescription + date:date + locale:locale + timeZone:timeZone]; + + return self; +} + +- (void)encodeWithCoder:(NSCoder *)encoder +{ + [encoder encodeObject:self.machineID forKey:NSStringFromSelector(@selector(machineID))]; + [encoder encodeObject:self.oneTimePassword forKey:NSStringFromSelector(@selector(oneTimePassword))]; + [encoder encodeObject:self.localUserID forKey:NSStringFromSelector(@selector(localUserID))]; + [encoder encodeObject:@(self.routingInfo) forKey:NSStringFromSelector(@selector(routingInfo))]; + + [encoder encodeObject:self.deviceUniqueIdentifier forKey:NSStringFromSelector(@selector(deviceUniqueIdentifier))]; + [encoder encodeObject:self.deviceSerialNumber forKey:NSStringFromSelector(@selector(deviceSerialNumber))]; + [encoder encodeObject:self.deviceDescription forKey:NSStringFromSelector(@selector(deviceDescription))]; + + [encoder encodeObject:self.date forKey:NSStringFromSelector(@selector(date))]; + [encoder encodeObject:self.locale forKey:NSStringFromSelector(@selector(locale))]; + [encoder encodeObject:self.timeZone forKey:NSStringFromSelector(@selector(timeZone))]; +} + ++ (BOOL)supportsSecureCoding +{ + return YES; +} + +#pragma mark - JSON - + +- (instancetype)initWithJSON:(NSDictionary *)json +{ + NSString *machineID = json[@"machineID"]; + NSString *oneTimePassword = json[@"oneTimePassword"]; + NSString *localUserID = json[@"localUserID"]; + NSString *routingInfo = json[@"routingInfo"]; + NSString *deviceUniqueIdentifier = json[@"deviceUniqueIdentifier"]; + NSString *deviceSerialNumber = json[@"deviceSerialNumber"]; + NSString *deviceDescription = json[@"deviceDescription"]; + NSString *dateString = json[@"date"]; + NSString *localeIdentifier = json[@"locale"]; + NSString *timeZoneIdentifier = json[@"timeZone"]; + + if (machineID == nil || oneTimePassword == nil || localUserID == nil || routingInfo == nil || deviceUniqueIdentifier == nil || + deviceSerialNumber == nil || deviceDescription == nil || dateString == nil || localeIdentifier == nil || timeZoneIdentifier == nil) + { + return nil; + } + + NSISO8601DateFormatter *dateFormatter = [[NSISO8601DateFormatter alloc] init]; + NSDate *date = [dateFormatter dateFromString:dateString]; + + NSLocale *locale = [NSLocale localeWithLocaleIdentifier:localeIdentifier]; + + // There is not a perfect mapping between NSTimeZone's and their identifiers, so it's possible timeZoneWithAbbreviation: will return nil. + // In this case, we'll default to the local time zone since that's most likely correct, and if not it shouldn't matter regardless. + NSTimeZone *timeZone = [NSTimeZone timeZoneWithAbbreviation:timeZoneIdentifier] ?: [NSTimeZone localTimeZone]; + + self = [self initWithMachineID:machineID + oneTimePassword:oneTimePassword + localUserID:localUserID + routingInfo:[routingInfo longLongValue] + deviceUniqueIdentifier:deviceUniqueIdentifier + deviceSerialNumber:deviceSerialNumber + deviceDescription:deviceDescription + date:date + locale:locale + timeZone:timeZone]; + return self; +} + +- (NSDictionary *)json +{ + NSISO8601DateFormatter *dateFormatter = [[NSISO8601DateFormatter alloc] init]; + + NSDictionary *json = @{ + @"machineID": self.machineID, + @"oneTimePassword": self.oneTimePassword, + @"localUserID": self.localUserID, + @"routingInfo": [@(self.routingInfo) description], + @"deviceUniqueIdentifier": self.deviceUniqueIdentifier, + @"deviceSerialNumber": self.deviceSerialNumber, + @"deviceDescription": self.deviceDescription, + @"date": [dateFormatter stringFromDate:self.date], + @"locale": self.locale.localeIdentifier, + + // NSTimeZone.abbreviation may be nil, so provide defaults. + @"timeZone": self.timeZone.abbreviation ?: NSTimeZone.localTimeZone.abbreviation ?: @"PST" + }; + + return json; +} + +@end diff --git a/AltSign/ALTAppGroup.h b/AltSign/ALTAppGroup.h new file mode 100644 index 0000000..6e07402 --- /dev/null +++ b/AltSign/ALTAppGroup.h @@ -0,0 +1,22 @@ +// +// ALTAppGroup.h +// AltSign +// +// Created by Riley Testut on 6/24/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface ALTAppGroup : NSObject + +@property (copy, nonatomic, readonly) NSString *name; +@property (copy, nonatomic, readonly) NSString *identifier; + +@property (copy, nonatomic, readonly) NSString *groupIdentifier; + +@end + +NS_ASSUME_NONNULL_END diff --git a/AltSign/ALTAppGroup.m b/AltSign/ALTAppGroup.m new file mode 100644 index 0000000..a4395c3 --- /dev/null +++ b/AltSign/ALTAppGroup.m @@ -0,0 +1,59 @@ +// +// ALTAppGroup.m +// AltSign +// +// Created by Riley Testut on 6/24/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +#import "ALTAppGroup.h" + +@implementation ALTAppGroup + +- (nullable instancetype)initWithResponseDictionary:(NSDictionary *)responseDictionary +{ + self = [super init]; + if (self) + { + NSString *name = responseDictionary[@"name"]; + NSString *identifier = responseDictionary[@"applicationGroup"]; + NSString *groupIdentifier = responseDictionary[@"identifier"]; + + if (name == nil || identifier == nil || groupIdentifier == nil) + { + return nil; + } + + _name = [name copy]; + _identifier = [identifier copy]; + _groupIdentifier = [groupIdentifier copy]; + } + + return self; +} + +#pragma mark - NSObject - + +- (NSString *)description +{ + return [NSString stringWithFormat:@"<%@: %p, ID: %@, GroupID: %@>", NSStringFromClass([self class]), self, self.identifier, self.groupIdentifier]; +} + +- (BOOL)isEqual:(id)object +{ + ALTAppGroup *group = (ALTAppGroup *)object; + if (![group isKindOfClass:[ALTAppGroup class]]) + { + return NO; + } + + BOOL isEqual = ([self.identifier isEqualToString:group.identifier] && [self.groupIdentifier isEqualToString:group.groupIdentifier]); + return isEqual; +} + +- (NSUInteger)hash +{ + return self.identifier.hash ^ self.groupIdentifier.hash; +} + +@end diff --git a/AltSign/ALTAppID.h b/AltSign/ALTAppID.h new file mode 100644 index 0000000..a33636f --- /dev/null +++ b/AltSign/ALTAppID.h @@ -0,0 +1,26 @@ +// +// ALTAppID.h +// AltSign +// +// Created by Riley Testut on 5/21/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +#import + +#import "ALTCapabilities.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface ALTAppID : NSObject + +@property (copy, nonatomic) NSString *name; +@property (copy, nonatomic) NSString *identifier; + +@property (copy, nonatomic) NSString *bundleIdentifier; + +@property (copy, nonatomic) NSDictionary *features; + +@end + +NS_ASSUME_NONNULL_END diff --git a/AltSign/ALTAppID.m b/AltSign/ALTAppID.m new file mode 100644 index 0000000..e4d92fc --- /dev/null +++ b/AltSign/ALTAppID.m @@ -0,0 +1,84 @@ +// +// ALTAppID.m +// AltSign +// +// Created by Riley Testut on 5/21/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +#import "ALTAppID.h" + +@implementation ALTAppID + +- (instancetype)initWithName:(NSString *)name identifier:(NSString *)identifier bundleIdentifier:(NSString *)bundleIdentifier features:(NSDictionary *)features +{ + self = [super init]; + if (self) + { + _name = [name copy]; + _identifier = [identifier copy]; + _bundleIdentifier = [bundleIdentifier copy]; + _features = [features copy]; + } + + return self; +} + +- (nullable instancetype)initWithResponseDictionary:(NSDictionary *)responseDictionary +{ + NSString *name = responseDictionary[@"name"]; + NSString *identifier = responseDictionary[@"appIdId"]; + NSString *bundleIdentifier = responseDictionary[@"identifier"]; + + NSDictionary *allFeatures = responseDictionary[@"features"] ?: @{}; + NSArray *enabledFeatures = responseDictionary[@"enabledFeatures"] ?: @[]; + + if (name == nil || identifier == nil || bundleIdentifier == nil) + { + return nil; + } + + NSMutableDictionary *features = [NSMutableDictionary dictionary]; + for (ALTFeature feature in enabledFeatures) + { + id value = allFeatures[feature]; + features[feature] = value; + } + + self = [self initWithName:name identifier:identifier bundleIdentifier:bundleIdentifier features:features]; + return self; +} + +#pragma mark - NSObject - + +- (NSString *)description +{ + return [NSString stringWithFormat:@"<%@: %p, Name: %@, ID: %@, BundleID: %@>", NSStringFromClass([self class]), self, self.name, self.identifier, self.bundleIdentifier]; +} + +- (BOOL)isEqual:(id)object +{ + ALTAppID *appID = (ALTAppID *)object; + if (![appID isKindOfClass:[ALTAppID class]]) + { + return NO; + } + + BOOL isEqual = ([self.identifier isEqualToString:appID.identifier] && [self.bundleIdentifier isEqualToString:appID.bundleIdentifier]); + return isEqual; +} + +- (NSUInteger)hash +{ + return self.identifier.hash ^ self.bundleIdentifier.hash; +} + +#pragma mark - - + +- (nonnull id)copyWithZone:(nullable NSZone *)zone +{ + ALTAppID *appID = [[ALTAppID alloc] initWithName:self.name identifier:self.identifier bundleIdentifier:self.bundleIdentifier features:self.features]; + return appID; +} + +@end diff --git a/AltSign/ALTAppleAPI+Authentication.h b/AltSign/ALTAppleAPI+Authentication.h new file mode 100644 index 0000000..c0c425e --- /dev/null +++ b/AltSign/ALTAppleAPI+Authentication.h @@ -0,0 +1,28 @@ +// +// ALTAppleAPI+Authentication.h +// AltSign +// +// Created by Riley Testut on 11/16/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +@class ALTAppleAPISession; + +#import + +@class ALTAppleAPISession; + +NS_ASSUME_NONNULL_BEGIN + +@interface ALTAppleAPI (Authentication) + +- (void)authenticateWithAppleID:(NSString *)appleID + password:(NSString *)password + anisetteData:(ALTAnisetteData *)anisetteData + verificationHandler:(nullable void (^)(void (^completionHandler)(NSString *_Nullable verificationCode)))verificationHandler + completionHandler:(void (^)(ALTAccount *_Nullable account, ALTAppleAPISession *_Nullable session, NSError *_Nullable error))completionHandler +NS_SWIFT_NAME(authenticate(appleID:password:anisetteData:verificationHandler:completionHandler:)); + +@end + +NS_ASSUME_NONNULL_END diff --git a/AltSign/ALTAppleAPI+Authentication.m b/AltSign/ALTAppleAPI+Authentication.m new file mode 100644 index 0000000..faeac70 --- /dev/null +++ b/AltSign/ALTAppleAPI+Authentication.m @@ -0,0 +1,764 @@ +// +// ALTAppleAPI+Authentication.m +// AltSign +// +// Created by Riley Testut on 11/16/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// +// Heavily based on sample code provided by Kabir Oberai (https://github.com/kabiroberai) +// + +#import "ALTAppleAPI+Authentication.h" +#import "ALTAppleAPI_Private.h" + +#import "ALTModel+Internal.h" + +// Core Crypto +#import +#import +#import +#import +#import +#import +#import +#import +#import + +static const char ALTHexCharacters[] = "0123456789abcdef"; + +struct ccrng_state *ccDRBGGetRngState(void); + +void ALTDigestUpdateString(const struct ccdigest_info *di_info, struct ccdigest_ctx *di_ctx, NSString *string) +{ + ccdigest_update(di_info, di_ctx, string.length, string.UTF8String); +} + +void ALTDigestUpdateData(const struct ccdigest_info *di_info, struct ccdigest_ctx *di_ctx, NSData *data) +{ + uint32_t data_len = (uint32_t)data.length; // 4 bytes for length + ccdigest_update(di_info, di_ctx, sizeof(data_len), &data_len); + ccdigest_update(di_info, di_ctx, data_len, data.bytes); +} + +NSData *ALTPBKDF2SRP(const struct ccdigest_info *di_info, BOOL isS2k, NSString *password, NSData *salt, int iterations) +{ + const struct ccdigest_info *password_di_info = ccsha256_di(); + char *digest_raw = (char *)malloc(password_di_info->output_size); + const char *passwordUTF8 = password.UTF8String; + ccdigest(password_di_info, strlen(passwordUTF8), passwordUTF8, digest_raw); + + size_t final_digest_len = password_di_info->output_size * (isS2k ? 1 : 2); + char *digest = (char *)malloc(final_digest_len); + + if (isS2k) + { + memcpy(digest, digest_raw, final_digest_len); + } + else + { + for (int i = 0; i < password_di_info->output_size; i++) + { + char byte = digest_raw[i]; + digest[i * 2 + 0] = ALTHexCharacters[(byte >> 4) & 0x0F]; + digest[i * 2 + 1] = ALTHexCharacters[(byte >> 0) & 0x0F]; + } + } + + NSMutableData *data = [NSMutableData dataWithLength:di_info->output_size]; + + if (ccpbkdf2_hmac(di_info, final_digest_len, digest, salt.length, salt.bytes, iterations, di_info->output_size, data.mutableBytes) != 0) + { + return nil; + } + + return data; +} + +NSData *ALTCreateSessionKey(ccsrp_ctx_t srp_ctx, const char *key_name) +{ + size_t key_len; + const void *session_key = ccsrp_get_session_key(srp_ctx, &key_len); + + const struct ccdigest_info *di_info = ccsha256_di(); + + size_t hmac_len = di_info->output_size; + unsigned char *hmac_bytes = (unsigned char *)malloc(hmac_len); + cchmac(di_info, key_len, session_key, strlen(key_name), key_name, hmac_bytes); + + NSData *sessionKey = [NSData dataWithBytes:hmac_bytes length:hmac_len]; + return sessionKey; +} + +NSData *ALTDecryptDataCBC(ccsrp_ctx_t srp_ctx, NSData *spd) +{ + NSData *extraDataKey = ALTCreateSessionKey(srp_ctx, "extra data key:"); + NSData *extraDataIV = ALTCreateSessionKey(srp_ctx, "extra data iv:"); + + NSMutableData *decryptedData = [NSMutableData dataWithLength:spd.length]; + + const struct ccmode_cbc *decrypt_mode = ccaes_cbc_decrypt_mode(); + + cccbc_iv *iv = (cccbc_iv *)malloc(decrypt_mode->block_size); + if (extraDataIV.bytes) + { + memcpy(iv, extraDataIV.bytes, decrypt_mode->block_size); + } + else + { + bzero(iv, decrypt_mode->block_size); + } + + cccbc_ctx *ctx_buf = (cccbc_ctx *)malloc(decrypt_mode->size); + decrypt_mode->init(decrypt_mode, ctx_buf, extraDataKey.length, extraDataKey.bytes); + + size_t length = ccpad_pkcs7_decrypt(decrypt_mode, ctx_buf, iv, spd.length, spd.bytes, decryptedData.mutableBytes); + if (length > spd.length) + { + return nil; + } + + return decryptedData; +} + +NSData *ALTDecryptDataGCM(NSData *sk, NSData *encryptedData) +{ + const struct ccmode_gcm *decrypt_mode = ccaes_gcm_decrypt_mode(); + + ccgcm_ctx *gcm_ctx = (ccgcm_ctx *)malloc(decrypt_mode->size); + decrypt_mode->init(decrypt_mode, gcm_ctx, sk.length, sk.bytes); + + if (encryptedData.length < 35) + { + NSLog(@"ERROR: Encrypted token too short."); + return nil; + } + + if (cc_cmp_safe(3, encryptedData.bytes, "XYZ")) + { + NSLog(@"ERROR: Encrypted token wrong version!"); + return nil; + } + + decrypt_mode->set_iv(gcm_ctx, 16, encryptedData.bytes + 3); + decrypt_mode->gmac(gcm_ctx, 3, encryptedData.bytes); + + size_t decrypted_len = encryptedData.length - 35; + NSMutableData *decryptedData = [NSMutableData dataWithLength:decrypted_len]; + + decrypt_mode->gcm(gcm_ctx, decrypted_len, encryptedData.bytes + 16 + 3, decryptedData.mutableBytes); + + char tag[16]; + decrypt_mode->finalize(gcm_ctx, 16, tag); + + if (cc_cmp_safe(16, encryptedData.bytes + decrypted_len + 19, tag)) + { + NSLog(@"Invalid tag version"); + return nil; + } + + return decryptedData; +} + +NSData *ALTCreateAppTokensChecksum(NSData *sk, NSString *adsid, NSArray *apps) +{ + const struct ccdigest_info *di_info = ccsha256_di(); + size_t hmac_size = cchmac_di_size(di_info); + struct cchmac_ctx *hmac_ctx = (struct cchmac_ctx *)malloc(hmac_size); + cchmac_init(di_info, hmac_ctx, sk.length, sk.bytes); + + const char *key = "apptokens"; + cchmac_update(di_info, hmac_ctx, strlen(key), key); + + const char *adsidUTF8 = adsid.UTF8String; + cchmac_update(di_info, hmac_ctx, strlen(adsidUTF8), adsidUTF8); + + for (NSString *app in apps) + { + cchmac_update(di_info, hmac_ctx, app.length, app.UTF8String); + } + + NSMutableData *checksum = [NSMutableData dataWithLength:di_info->output_size]; + cchmac_final(di_info, hmac_ctx, checksum.mutableBytes); + + return checksum; +} + +@implementation ALTAppleAPI (Authentication) + +- (void)authenticateWithAppleID:(NSString *)appleID + password:(NSString *)password + anisetteData:(ALTAnisetteData *)anisetteData + verificationHandler:(void (^)(void (^ _Nonnull)(NSString * _Nullable)))verificationHandler + completionHandler:(void (^)(ALTAccount * _Nullable, ALTAppleAPISession * _Nullable, NSError * _Nullable))completionHandler +{ + NSMutableDictionary *clientDictionary = [@{ + @"bootstrap": @YES, + @"icscrec": @YES, + @"loc": NSLocale.currentLocale.localeIdentifier, + @"pbe": @NO, + @"prkgen": @YES, + @"svct": @"iCloud", + @"X-Apple-I-Client-Time": [self.dateFormatter stringFromDate:anisetteData.date], + @"X-Apple-Locale": NSLocale.currentLocale.localeIdentifier, + @"X-Apple-I-TimeZone": NSTimeZone.localTimeZone.abbreviation, + @"X-Apple-I-MD": anisetteData.oneTimePassword, + @"X-Apple-I-MD-LU": anisetteData.localUserID, + @"X-Apple-I-MD-M": anisetteData.machineID, + @"X-Apple-I-MD-RINFO": @(anisetteData.routingInfo), + @"X-Mme-Device-Id": anisetteData.deviceUniqueIdentifier, + @"X-Apple-I-SRL-NO": anisetteData.deviceSerialNumber, + } mutableCopy]; + + /* Begin CoreCrypto Logic */ + ccsrp_const_gp_t gp = ccsrp_gp_rfc5054_2048(); + + const struct ccdigest_info *di_info = ccsha256_di(); + struct ccdigest_ctx *di_ctx = (struct ccdigest_ctx *)malloc(ccdigest_di_size(di_info)); + ccdigest_init(di_info, di_ctx); + + const struct ccdigest_info *srp_di = ccsha256_di(); + struct ccsrp_ctx_body *srp_ctx = (struct ccsrp_ctx_body *)malloc(ccsrp_sizeof_srp(di_info, gp)); + ccsrp_ctx_init(srp_ctx, srp_di, gp); + + srp_ctx->hdr.blinding_rng = ccrng(NULL); + srp_ctx->hdr.flags.noUsernameInX = true; + + NSArray *ps = @[@"s2k", @"s2k_fo"]; + ALTDigestUpdateString(di_info, di_ctx, ps[0]); + ALTDigestUpdateString(di_info, di_ctx, @","); + ALTDigestUpdateString(di_info, di_ctx, ps[1]); + + size_t A_size = ccsrp_exchange_size(srp_ctx); + char *A_bytes = (char *)malloc(A_size); + ccsrp_client_start_authentication(srp_ctx, ccDRBGGetRngState(), A_bytes); + + NSData *A_data = [NSData dataWithBytes:A_bytes length:A_size]; + + ALTDigestUpdateString(di_info, di_ctx, @"|"); + + NSDictionary *parameters = @{ + @"A2k": A_data, + @"ps": ps, + @"cpd": clientDictionary, + @"u": appleID, + @"o": @"init" + }; + + // 1st Request + [self sendAuthenticationRequestWithParameters:parameters anisetteData:anisetteData completionHandler:^(NSDictionary *responseDictionary, NSError *requestError) { + if (responseDictionary == nil) + { + completionHandler(nil, nil, requestError); + return; + } + + size_t M_size = ccsrp_get_session_key_length(srp_ctx); + char *M_bytes = (char *)malloc(A_size); + NSData *M_data = [NSData dataWithBytes:M_bytes length:M_size]; + + NSString *sp = responseDictionary[@"sp"]; + BOOL isS2K = [sp isEqualToString:@"s2k"]; + + ALTDigestUpdateString(di_info, di_ctx, @"|"); + + if (sp) + { + ALTDigestUpdateString(di_info, di_ctx, sp); + } + + NSString *c = responseDictionary[@"c"]; + NSData *salt = responseDictionary[@"s"]; + NSNumber *iterations = responseDictionary[@"i"]; + NSData *B_data = responseDictionary[@"B"]; + + if (c == nil || salt == nil || iterations == nil || B_data == nil) + { + completionHandler(nil, nil, [NSError errorWithDomain:NSURLErrorDomain code:NSURLErrorBadServerResponse userInfo:nil]); + return; + } + + NSData *passwordKey = ALTPBKDF2SRP(di_info, isS2K, password, salt, [iterations intValue]); + if (passwordKey == nil) + { + completionHandler(nil, nil, [NSError errorWithDomain:ALTAppleAPIErrorDomain code:ALTAppleAPIErrorAuthenticationHandshakeFailed userInfo:nil]); + return; + } + + int result = ccsrp_client_process_challenge(srp_ctx, appleID.UTF8String, passwordKey.length, passwordKey.bytes, + salt.length, salt.bytes, B_data.bytes, (void *)M_data.bytes); + if (result != 0) + { + completionHandler(nil, nil, [NSError errorWithDomain:ALTAppleAPIErrorDomain code:ALTAppleAPIErrorAuthenticationHandshakeFailed userInfo:nil]); + return; + } + + NSDictionary *parameters = @{ + @"c": c, + @"M1": M_data, + @"cpd": clientDictionary, + @"u": appleID, + @"o": @"complete" + }; + + // 2nd Request + [self sendAuthenticationRequestWithParameters:parameters anisetteData:anisetteData completionHandler:^(NSDictionary *responseDictionary, NSError *requestError) { + if (responseDictionary == nil) + { + completionHandler(nil, nil, requestError); + return; + } + + NSData *M2_data = responseDictionary[@"M2"]; + if (M2_data == nil) + { + NSLog(@"ERROR: M2 data not found!"); + + completionHandler(nil, nil, [NSError errorWithDomain:NSURLErrorDomain code:NSURLErrorBadServerResponse userInfo:nil]); + return; + } + + if (!ccsrp_client_verify_session(srp_ctx, M2_data.bytes)) + { + NSLog(@"ERROR: Failed to verify session."); + + completionHandler(nil, nil, [NSError errorWithDomain:ALTAppleAPIErrorDomain code:ALTAppleAPIErrorAuthenticationHandshakeFailed userInfo:nil]); + return; + } + + ALTDigestUpdateString(di_info, di_ctx, @"|"); + + NSData *spd = responseDictionary[@"spd"]; + if (spd) + { + ALTDigestUpdateData(di_info, di_ctx, spd); + } + + ALTDigestUpdateString(di_info, di_ctx, @"|"); + + NSData *sc = responseDictionary[@"sc"]; + if (sc) + { + ALTDigestUpdateData(di_info, di_ctx, sc); + } + + ALTDigestUpdateString(di_info, di_ctx, @"|"); + + NSData *np = responseDictionary[@"np"]; + if (np == nil) + { + NSLog(@"ERROR: Missing np dictionary."); + + completionHandler(nil, nil, [NSError errorWithDomain:NSURLErrorDomain code:NSURLErrorBadServerResponse userInfo:nil]); + return; + } + + size_t digest_len = di_info->output_size; + if (np.length != digest_len) + { + NSLog(@"ERROR: Neg proto hash is too short."); + + completionHandler(nil, nil, [NSError errorWithDomain:ALTAppleAPIErrorDomain code:ALTAppleAPIErrorAuthenticationHandshakeFailed userInfo:nil]); + return; + } + + unsigned char *digest = (unsigned char *)malloc(digest_len); + di_info->final(di_info, di_ctx, digest); + + NSData *hmacKey = ALTCreateSessionKey(srp_ctx, "HMAC key:"); + unsigned char *hmac_out = (unsigned char *)malloc(digest_len); + cchmac(di_info, hmacKey.length, hmacKey.bytes, digest_len, digest, hmac_out); + + if (cc_cmp_safe(digest_len, hmac_out, np.bytes)) + { + NSLog(@"ERROR: Invalid neg prot hmac."); + + completionHandler(nil, nil, [NSError errorWithDomain:ALTAppleAPIErrorDomain code:ALTAppleAPIErrorAuthenticationHandshakeFailed userInfo:nil]); + return; + } + + NSData *decryptedData = ALTDecryptDataCBC(srp_ctx, spd); + if (decryptedData == nil) + { + NSLog(@"ERROR: Could not decrypt login response."); + + completionHandler(nil, nil, [NSError errorWithDomain:ALTAppleAPIErrorDomain code:ALTAppleAPIErrorAuthenticationHandshakeFailed userInfo:nil]); + return; + } + + NSError *parseError = nil; + NSDictionary *decryptedDictionary = [NSPropertyListSerialization propertyListWithData:decryptedData options:0 format:nil error:&parseError]; + if (decryptedDictionary == nil) + { + NSLog(@"ERROR: Could not parse decrypted login response plist!"); + + completionHandler(nil, nil, parseError); + return; + } + + NSString *adsid = decryptedDictionary[@"adsid"]; + NSString *idmsToken = decryptedDictionary[@"GsIdmsToken"]; + + if (adsid == nil || idmsToken == nil) + { + NSLog(@"ERROR: adsid and/or idmsToken is nil. adsid: %@. idmsToken: %@", adsid, idmsToken); + + completionHandler(nil, nil, [NSError errorWithDomain:NSURLErrorDomain code:NSURLErrorBadServerResponse userInfo:nil]); + return; + } + + NSDictionary *statusDictionary = responseDictionary[@"Status"]; + + NSString *authType = statusDictionary[@"au"]; + if ([authType isEqualToString:@"trustedDeviceSecondaryAuth"]) + { + // Handle Two-Factor + + if (verificationHandler != nil) + { + [self requestTwoFactorCodeForDSID:adsid idmsToken:idmsToken anisetteData:anisetteData verificationHandler:verificationHandler completionHandler:^(BOOL success, NSError *error) { + if (success) + { + // We've successfully signed-in with two-factor, so restart authentication (which will now succeed). + [self authenticateWithAppleID:appleID password:password anisetteData:anisetteData verificationHandler:verificationHandler completionHandler:completionHandler]; + } + else + { + completionHandler(nil, nil, error); + } + }]; + } + else + { + completionHandler(nil, nil, [NSError errorWithDomain:ALTAppleAPIErrorDomain code:ALTAppleAPIErrorRequiresTwoFactorAuthentication userInfo:nil]); + } + } + else + { + // Fetch Auth Token + + NSData *sk = decryptedDictionary[@"sk"]; + NSData *c = decryptedDictionary[@"c"]; + + if (sk == nil || c == nil) + { + NSLog(@"ERROR: No ak and/or c data."); + + completionHandler(nil, nil, [NSError errorWithDomain:NSURLErrorDomain code:NSURLErrorBadServerResponse userInfo:nil]); + return; + } + + NSArray *apps = @[@"com.apple.gs.xcode.auth"]; + NSData *checksum = ALTCreateAppTokensChecksum(sk, adsid, apps); + + NSDictionary *parameters = @{ + @"u": adsid, + @"app": apps, + @"c": c, + @"t": idmsToken, + @"checksum": checksum, + @"cpd": clientDictionary, + @"o": @"apptokens" + }; + + [self fetchAuthTokenWithParameters:parameters sk:sk anisetteData:anisetteData completionHandler:^(NSString *authToken, NSError *error) { + if (authToken == nil) + { + completionHandler(nil, nil, error); + return; + } + + ALTAppleAPISession *session = [[ALTAppleAPISession alloc] initWithDSID:adsid authToken:authToken anisetteData:anisetteData]; + [self fetchAccountForSession:session completionHandler:^(ALTAccount *account, NSError *error) { + if (account == nil) + { + completionHandler(nil, nil, error); + } + else + { + completionHandler(account, session, nil); + } + }]; + }]; + } + }]; + }]; +} + +- (void)fetchAuthTokenWithParameters:(NSDictionary *)parameters sk:(NSData *)sk anisetteData:(ALTAnisetteData *)anisetteData completionHandler:(void (^)(NSString *authToken, NSError *error))completionHandler +{ + [self sendAuthenticationRequestWithParameters:parameters anisetteData:anisetteData completionHandler:^(NSDictionary *responseDictionary, NSError *requestError) { + if (responseDictionary == nil) + { + completionHandler(nil, requestError); + return; + } + + NSData *encryptedToken = responseDictionary[@"et"]; + NSData *decryptedToken = ALTDecryptDataGCM(sk, encryptedToken); + + if (decryptedToken == nil) + { + NSLog(@"ERROR: Failed to decrypt apptoken."); + + completionHandler(nil, [NSError errorWithDomain:NSURLErrorDomain code:NSURLErrorBadServerResponse userInfo:nil]); + return; + } + + NSError *parseError = nil; + NSDictionary *decryptedTokenDictionary = [NSPropertyListSerialization propertyListWithData:decryptedToken options:0 format:nil error:&parseError]; + if (decryptedTokenDictionary == nil) + { + NSLog(@"ERROR: Could not parse decrypted apptoken plist."); + + completionHandler(nil, parseError); + return; + } + + NSString *app = [parameters[@"app"] firstObject]; + + NSDictionary *tokenDictionary = decryptedTokenDictionary[@"t"][app]; + NSString *token = tokenDictionary[@"token"]; + NSNumber *expirationDataMS = tokenDictionary[@"expiry"]; + + if (token == nil) + { + completionHandler(nil, [NSError errorWithDomain:NSURLErrorDomain code:NSURLErrorBadServerResponse userInfo:nil]); + return; + } + + NSDate *expirationDate = [NSDate dateWithTimeIntervalSince1970:(double)expirationDataMS.integerValue / 1000]; + NSLog(@"Got token for %@!\nExpires: %@\nValue: %@\n", app, expirationDate, token); + + completionHandler(token, nil); + }]; +} + +- (void)requestTwoFactorCodeForDSID:(NSString *)dsid idmsToken:(NSString *)idmsToken anisetteData:(ALTAnisetteData *)anisetteData + verificationHandler:(nonnull void (^)(void (^ _Nonnull)(NSString * _Nonnull)))verificationHandler + completionHandler:(void (^)(BOOL success, NSError *error))completionHandler +{ + NSURL *URL = [NSURL URLWithString:@"https://gsa.apple.com/auth/verify/trusteddevice"]; + NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:URL]; + + NSString *identityToken = [NSString stringWithFormat:@"%@:%@", dsid, idmsToken]; + + NSData *identityTokenData = [identityToken dataUsingEncoding:NSUTF8StringEncoding]; + NSString *encodedIdentityToken = [identityTokenData base64EncodedStringWithOptions:0]; + + NSDictionary *httpHeaders = @{ + @"Content-Type": @"text/x-xml-plist", + @"User-Agent": @"Xcode", + @"Accept": @"text/x-xml-plist", + @"Accept-Language": @"en-us", + @"X-Apple-App-Info": @"com.apple.gs.xcode.auth", + @"X-Xcode-Version": @"11.2 (11B41)", + @"X-Apple-Identity-Token": encodedIdentityToken, + @"X-Apple-I-MD-M": anisetteData.machineID, + @"X-Apple-I-MD": anisetteData.oneTimePassword, + @"X-Apple-I-MD-LU": anisetteData.localUserID, + @"X-Apple-I-MD-RINFO": [@(anisetteData.routingInfo) description], + @"X-Mme-Device-Id": anisetteData.deviceUniqueIdentifier, + @"X-MMe-Client-Info": anisetteData.deviceDescription, + @"X-Apple-I-Client-Time": [self.dateFormatter stringFromDate:anisetteData.date], + @"X-Apple-Locale": anisetteData.locale.localeIdentifier, + @"X-Apple-I-TimeZone": anisetteData.timeZone.abbreviation + }; + + [httpHeaders enumerateKeysAndObjectsUsingBlock:^(NSString *key, NSString *value, BOOL *stop) { + [request setValue:value forHTTPHeaderField:key]; + }]; + + NSURLSessionDataTask *requestCodeTask = [self.session dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) { + if (data == nil || error != nil) + { + completionHandler(NO, error); + return; + } + + void (^responseHandler)(NSString *) = ^(NSString *_Nullable verificationCode) { + if (verificationCode == nil) + { + completionHandler(NO, [NSError errorWithDomain:ALTAppleAPIErrorDomain code:ALTAppleAPIErrorRequiresTwoFactorAuthentication userInfo:nil]); + return; + } + + NSMutableDictionary *headers = [httpHeaders mutableCopy]; + headers[@"security-code"] = verificationCode; + + NSURL *URL = [NSURL URLWithString:@"https://gsa.apple.com/grandslam/GsService2/validate"]; + NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:URL]; + + [headers enumerateKeysAndObjectsUsingBlock:^(NSString *key, NSString *value, BOOL *stop) { + [request setValue:value forHTTPHeaderField:key]; + }]; + + NSURLSessionDataTask *verifyCodeTask = [self.session dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) { + if (data == nil || error != nil) + { + completionHandler(NO, error); + return; + } + + NSError *parseError = nil; + NSDictionary *responseDictionary = [NSPropertyListSerialization propertyListWithData:data options:0 format:nil error:&parseError]; + + if (responseDictionary == nil) + { + NSError *error = [NSError errorWithDomain:NSURLErrorDomain code:NSURLErrorBadServerResponse userInfo:@{NSUnderlyingErrorKey: parseError}]; + completionHandler(NO, error); + return; + } + + NSInteger errorCode = [responseDictionary[@"ec"] integerValue]; // Same for NSString or NSNumber. + if (errorCode != 0) + { + NSError *error = nil; + switch (errorCode) + { + case -21669: + error = [NSError errorWithDomain:ALTAppleAPIErrorDomain code:ALTAppleAPIErrorIncorrectVerificationCode userInfo:nil]; + break; + + default: + break; + } + + if (error == nil) + { + NSString *errorDescription = responseDictionary[@"em"]; + NSString *localizedDescription = [NSString stringWithFormat:@"%@ (%@)", errorDescription, @(errorCode)]; + + error = [NSError errorWithDomain:ALTAppleAPIErrorDomain code:ALTAppleAPIErrorUnknown userInfo:@{NSLocalizedDescriptionKey: localizedDescription}]; + } + + completionHandler(NO, error); + } + else + { + completionHandler(YES, nil); + } + }]; + + [verifyCodeTask resume]; + }; + + verificationHandler(responseHandler); + }]; + + [requestCodeTask resume]; +} + +- (void)fetchAccountForSession:(ALTAppleAPISession *)session completionHandler:(void (^)(ALTAccount *account, NSError *error))completionHandler +{ + NSURL *URL = [NSURL URLWithString:@"viewDeveloper.action" relativeToURL:self.baseURL]; + + [self sendRequestWithURL:URL additionalParameters:nil session:session team:nil completionHandler:^(NSDictionary *responseDictionary, NSError *requestError) { + if (responseDictionary == nil) + { + completionHandler(nil, requestError); + return; + } + + NSError *error = nil; + ALTAccount *account = [self processResponse:responseDictionary parseHandler:^id _Nullable{ + NSDictionary *dictionary = responseDictionary[@"developer"]; + if (dictionary == nil) + { + return nil; + } + + ALTAccount *account = [[ALTAccount alloc] initWithResponseDictionary:dictionary]; + return account; + } resultCodeHandler:nil error:&error]; + + completionHandler(account, error); + }]; +} + +- (void)sendAuthenticationRequestWithParameters:(NSDictionary *)requestDictionary anisetteData:(ALTAnisetteData *)anisetteData completionHandler:(void (^)(NSDictionary *responseDictionary, NSError *error))completionHandler +{ + NSURL *requestURL = [NSURL URLWithString:@"https://gsa.apple.com/grandslam/GsService2"]; + + NSDictionary *> *parameters = @{ + @"Header": @{ @"Version": @"1.0.1" }, + @"Request": requestDictionary + }; + + NSError *serializationError = nil; + NSData *bodyData = [NSPropertyListSerialization dataWithPropertyList:parameters format:NSPropertyListXMLFormat_v1_0 options:0 error:&serializationError]; + if (bodyData == nil) + { + NSError *error = [NSError errorWithDomain:ALTAppleAPIErrorDomain code:ALTAppleAPIErrorInvalidParameters userInfo:@{NSUnderlyingErrorKey: serializationError}]; + completionHandler(nil, error); + return; + } + + NSDictionary *httpHeaders = @{ + @"Content-Type": @"text/x-xml-plist", + @"X-MMe-Client-Info": anisetteData.deviceDescription, + @"Accept": @"*/*", + @"User-Agent": @"akd/1.0 CFNetwork/978.0.7 Darwin/18.7.0" + }; + + NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:requestURL]; + request.HTTPMethod = @"POST"; + request.HTTPBody = bodyData; + [httpHeaders enumerateKeysAndObjectsUsingBlock:^(NSString *key, NSString *value, BOOL *stop) { + [request setValue:value forHTTPHeaderField:key]; + }]; + + NSURLSessionDataTask *dataTask = [self.session dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) { + if (data == nil) + { + completionHandler(nil, error); + return; + } + + NSError *parseError = nil; + NSDictionary *responseDictionary = [NSPropertyListSerialization propertyListWithData:data options:0 format:nil error:&parseError]; + + if (responseDictionary == nil) + { + NSError *error = [NSError errorWithDomain:NSURLErrorDomain code:NSURLErrorBadServerResponse userInfo:@{NSUnderlyingErrorKey: parseError}]; + completionHandler(nil, error); + return; + } + + NSDictionary *dictionary = responseDictionary[@"Response"]; + + NSDictionary *status = dictionary[@"Status"]; + + NSInteger errorCode = [status[@"ec"] integerValue]; + if (errorCode != 0) + { + NSError *error = nil; + switch (errorCode) + { + case -22406: + error = [NSError errorWithDomain:ALTAppleAPIErrorDomain code:ALTAppleAPIErrorIncorrectCredentials userInfo:nil]; + break; + + default: + break; + } + + if (error == nil) + { + NSString *errorDescription = status[@"em"]; + NSString *localizedDescription = [NSString stringWithFormat:@"%@ (%@)", errorDescription, @(errorCode)]; + + error = [NSError errorWithDomain:ALTAppleAPIErrorDomain code:ALTAppleAPIErrorUnknown userInfo:@{NSLocalizedDescriptionKey: localizedDescription}]; + } + + completionHandler(nil, error); + } + else + { + completionHandler(dictionary, nil); + } + }]; + + [dataTask resume]; +} + +@end diff --git a/AltSign/ALTAppleAPI.h b/AltSign/ALTAppleAPI.h new file mode 100644 index 0000000..cb7b923 --- /dev/null +++ b/AltSign/ALTAppleAPI.h @@ -0,0 +1,86 @@ +// +// ALTAppleAPI.h +// AltSign +// +// Created by Riley Testut on 5/22/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +#import + +#import "ALTCapabilities.h" + +@class ALTAppleAPISession; + +@class ALTAccount; +@class ALTAnisetteData; +@class ALTTeam; +@class ALTDevice; +@class ALTCertificate; +@class ALTAppID; +@class ALTAppGroup; +@class ALTProvisioningProfile; + +NS_ASSUME_NONNULL_BEGIN + +@interface ALTAppleAPI : NSObject + +@property (class, nonatomic, readonly) ALTAppleAPI *sharedAPI; + +/* Teams */ +- (void)fetchTeamsForAccount:(ALTAccount *)account session:(ALTAppleAPISession *)session + completionHandler:(void (^)(NSArray *_Nullable teams, NSError *_Nullable error))completionHandler; + +/* Devices */ +- (void)fetchDevicesForTeam:(ALTTeam *)team session:(ALTAppleAPISession *)session + completionHandler:(void (^)(NSArray *_Nullable devices, NSError *_Nullable error))completionHandler; + +- (void)registerDeviceWithName:(NSString *)name identifier:(NSString *)identifier team:(ALTTeam *)team session:(ALTAppleAPISession *)session + completionHandler:(void (^)(ALTDevice *_Nullable device, NSError *_Nullable error))completionHandler +NS_SWIFT_NAME(registerDevice(name:identifier:team:session:completionHandler:)); + +/* Certificates */ +- (void)fetchCertificatesForTeam:(ALTTeam *)team session:(ALTAppleAPISession *)session + completionHandler:(void (^)(NSArray *_Nullable certificates, NSError *_Nullable error))completionHandler; + +- (void)addCertificateWithMachineName:(NSString *)name toTeam:(ALTTeam *)team session:(ALTAppleAPISession *)session + completionHandler:(void (^)(ALTCertificate *_Nullable certificate, NSError *_Nullable error))completionHandler +NS_SWIFT_NAME(addCertificate(machineName:to:session:completionHandler:)); + +- (void)revokeCertificate:(ALTCertificate *)certificate forTeam:(ALTTeam *)team session:(ALTAppleAPISession *)session + completionHandler:(void (^)(BOOL success, NSError *_Nullable error))completionHandler +NS_SWIFT_NAME(revoke(_:for:session:completionHandler:)); + +/* App IDs */ +- (void)fetchAppIDsForTeam:(ALTTeam *)team session:(ALTAppleAPISession *)session + completionHandler:(void (^)(NSArray *_Nullable appIDs, NSError *_Nullable error))completionHandler; + +- (void)addAppIDWithName:(NSString *)name bundleIdentifier:(NSString *)bundleIdentifier team:(ALTTeam *)team session:(ALTAppleAPISession *)session + completionHandler:(void (^)(ALTAppID *_Nullable appID, NSError *_Nullable error))completionHandler; + +- (void)updateAppID:(ALTAppID *)appID team:(ALTTeam *)team session:(ALTAppleAPISession *)session + completionHandler:(void (^)(ALTAppID * _Nullable appID, NSError * _Nullable error))completionHandler; + +- (void)deleteAppID:(ALTAppID *)appID forTeam:(ALTTeam *)team session:(ALTAppleAPISession *)session + completionHandler:(void (^)(BOOL success, NSError *_Nullable error))completionHandler; + +/* App Groups */ +- (void)fetchAppGroupsForTeam:(ALTTeam *)team session:(ALTAppleAPISession *)session + completionHandler:(void (^)(NSArray *_Nullable groups, NSError *_Nullable error))completionHandler; + +- (void)addAppGroupWithName:(NSString *)name groupIdentifier:(NSString *)groupIdentifier team:(ALTTeam *)team session:(ALTAppleAPISession *)session + completionHandler:(void (^)(ALTAppGroup *_Nullable group, NSError *_Nullable error))completionHandler; + +- (void)addAppID:(ALTAppID *)appID toGroup:(ALTAppGroup *)group team:(ALTTeam *)team session:(ALTAppleAPISession *)session +completionHandler:(void (^)(BOOL success, NSError *_Nullable error))completionHandler; + +/* Provisioning Profiles */ +- (void)fetchProvisioningProfileForAppID:(ALTAppID *)appID team:(ALTTeam *)team session:(ALTAppleAPISession *)session + completionHandler:(void (^)(ALTProvisioningProfile *_Nullable provisioningProfile, NSError *_Nullable error))completionHandler; + +- (void)deleteProvisioningProfile:(ALTProvisioningProfile *)provisioningProfile forTeam:(ALTTeam *)team session:(ALTAppleAPISession *)session + completionHandler:(void (^)(BOOL success, NSError *_Nullable error))completionHandler; + +@end + +NS_ASSUME_NONNULL_END diff --git a/AltSign/ALTAppleAPI.m b/AltSign/ALTAppleAPI.m new file mode 100644 index 0000000..6713070 --- /dev/null +++ b/AltSign/ALTAppleAPI.m @@ -0,0 +1,862 @@ +// +// ALTAppleAPI.m +// AltSign +// +// Created by Riley Testut on 5/22/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +#import "ALTAppleAPI_Private.h" +#import "ALTAppleAPISession.h" + +#import "ALTAnisetteData.h" + +#import "ALTModel+Internal.h" + +#import + +NS_ASSUME_NONNULL_BEGIN + +NSString *const ALTAuthenticationProtocolVersion = @"A1234"; +NSString *const ALTProtocolVersion = @"QH65B2"; +NSString *const ALTAppIDKey = @"ba2ec180e6ca6e6c6a542255453b24d6e6e5b2be0cc48bc1b0d8ad64cfe0228f"; +NSString *const ALTClientID = @"XABBG36SBA"; + +NS_ASSUME_NONNULL_END + +@implementation ALTAppleAPI + ++ (instancetype)sharedAPI +{ + static ALTAppleAPI *_appleAPI = nil; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + _appleAPI = [[self alloc] init]; + }); + + return _appleAPI; +} + +- (instancetype)init +{ + self = [super init]; + if (self) + { + _session = [NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration ephemeralSessionConfiguration]]; + _dateFormatter = [[NSISO8601DateFormatter alloc] init]; + + _baseURL = [[NSURL URLWithString:[NSString stringWithFormat:@"https://developerservices2.apple.com/services/%@/", ALTProtocolVersion]] copy]; + _servicesBaseURL = [[NSURL URLWithString:@"https://developerservices2.apple.com/services/v1/"] copy]; + } + + return self; +} + +#pragma mark - Teams - + +- (void)fetchTeamsForAccount:(ALTAccount *)account session:(ALTAppleAPISession *)session completionHandler:(void (^)(NSArray *teams, NSError *error))completionHandler +{ + NSURL *URL = [NSURL URLWithString:@"listTeams.action" relativeToURL:self.baseURL]; + + [self sendRequestWithURL:URL additionalParameters:nil session:session team:nil completionHandler:^(NSDictionary *responseDictionary, NSError *requestError) { + if (responseDictionary == nil) + { + completionHandler(nil, requestError); + return; + } + + NSError *error = nil; + NSArray *teams = [self processResponse:responseDictionary parseHandler:^id _Nullable{ + NSArray *array = responseDictionary[@"teams"]; + if (array == nil) + { + return nil; + } + + NSMutableArray *teams = [NSMutableArray array]; + for (NSDictionary *dictionary in array) + { + ALTTeam *team = [[ALTTeam alloc] initWithAccount:account responseDictionary:dictionary]; + if (team == nil) + { + return nil; + } + + [teams addObject:team]; + } + return teams; + } resultCodeHandler:nil error:&error]; + + if (teams != nil && teams.count == 0) + { + completionHandler(nil, [NSError errorWithDomain:ALTAppleAPIErrorDomain code:ALTAppleAPIErrorNoTeams userInfo:nil]); + } + else + { + completionHandler(teams, error); + } + }]; +} + +#pragma mark - Devices - + +- (void)fetchDevicesForTeam:(ALTTeam *)team session:(ALTAppleAPISession *)session completionHandler:(void (^)(NSArray * _Nullable, NSError * _Nullable))completionHandler +{ + NSURL *URL = [NSURL URLWithString:@"ios/listDevices.action" relativeToURL:self.baseURL]; + + [self sendRequestWithURL:URL additionalParameters:nil session:session team:team completionHandler:^(NSDictionary *responseDictionary, NSError *requestError) { + if (responseDictionary == nil) + { + completionHandler(nil, requestError); + return; + } + + NSError *error = nil; + NSArray *devices = [self processResponse:responseDictionary parseHandler:^id _Nullable{ + NSArray *array = responseDictionary[@"devices"]; + if (array == nil) + { + return nil; + } + + NSMutableArray *devices = [NSMutableArray array]; + for (NSDictionary *dictionary in array) + { + ALTDevice *device = [[ALTDevice alloc] initWithResponseDictionary:dictionary]; + if (device == nil) + { + return nil; + } + + [devices addObject:device]; + } + return devices; + } resultCodeHandler:nil error:&error]; + + completionHandler(devices, error); + }]; +} + +- (void)registerDeviceWithName:(NSString *)name identifier:(NSString *)identifier team:(ALTTeam *)team session:(ALTAppleAPISession *)session completionHandler:(void (^)(ALTDevice * _Nullable, NSError * _Nullable))completionHandler +{ + NSURL *URL = [NSURL URLWithString:@"ios/addDevice.action" relativeToURL:self.baseURL]; + + [self sendRequestWithURL:URL additionalParameters:@{@"deviceNumber": identifier, @"name": name} session:session team:team completionHandler:^(NSDictionary *responseDictionary, NSError *requestError) { + if (responseDictionary == nil) + { + completionHandler(nil, requestError); + return; + } + + NSError *error = nil; + ALTDevice *device = [self processResponse:responseDictionary parseHandler:^id () { + NSDictionary *dictionary = responseDictionary[@"device"]; + if (dictionary == nil) + { + return nil; + } + + ALTDevice *device = [[ALTDevice alloc] initWithResponseDictionary:dictionary]; + return device; + } resultCodeHandler:^NSError * _Nullable(NSInteger resultCode) { + switch (resultCode) + { + case 35: + if ([[[responseDictionary objectForKey:@"userString"] lowercaseString] containsString:@"already exists"]) + { + return [NSError errorWithDomain:ALTAppleAPIErrorDomain code:ALTAppleAPIErrorDeviceAlreadyRegistered userInfo:nil]; + } + else + { + return [NSError errorWithDomain:ALTAppleAPIErrorDomain code:ALTAppleAPIErrorInvalidDeviceID userInfo:nil]; + } + + default: return nil; + } + } error:&error]; + + completionHandler(device, error); + }]; +} + +#pragma mark - Certificates - + +- (void)fetchCertificatesForTeam:(ALTTeam *)team session:(ALTAppleAPISession *)session completionHandler:(void (^)(NSArray * _Nullable, NSError * _Nullable))completionHandler +{ + NSURL *URL = [NSURL URLWithString:@"certificates" relativeToURL:self.servicesBaseURL]; + NSURLRequest *request = [NSURLRequest requestWithURL:URL]; + + [self sendServicesRequest:request additionalParameters:@{@"filter[certificateType]": @"IOS_DEVELOPMENT"} session:session team:team completionHandler:^(NSDictionary *responseDictionary, NSError *requestError) { + if (responseDictionary == nil) + { + completionHandler(nil, requestError); + return; + } + + NSError *error = nil; + NSArray *certificates = [self processResponse:responseDictionary parseHandler:^id { + NSArray *array = responseDictionary[@"data"]; + if (array == nil) + { + return nil; + } + + NSMutableArray *certificates = [NSMutableArray array]; + for (NSDictionary *dictionary in array) + { + ALTCertificate *certificate = [[ALTCertificate alloc] initWithResponseDictionary:dictionary]; + if (certificate == nil) + { + return nil; + } + + [certificates addObject:certificate]; + } + return certificates; + } resultCodeHandler:nil error:&error]; + + completionHandler(certificates, error); + }]; +} + +- (void)addCertificateWithMachineName:(NSString *)machineName toTeam:(ALTTeam *)team session:(ALTAppleAPISession *)session completionHandler:(void (^)(ALTCertificate * _Nullable, NSError * _Nullable))completionHandler +{ + ALTCertificateRequest *request = [[ALTCertificateRequest alloc] init]; + if (request == nil) + { + NSError *error = [NSError errorWithDomain:ALTAppleAPIErrorDomain code:ALTAppleAPIErrorInvalidCertificateRequest userInfo:nil]; + completionHandler(nil, error); + return; + } + + NSURL *URL = [NSURL URLWithString:@"ios/submitDevelopmentCSR.action" relativeToURL:self.baseURL]; + NSString *encodedCSR = [[NSString alloc] initWithData:request.data encoding:NSUTF8StringEncoding]; + + [self sendRequestWithURL:URL additionalParameters:@{@"csrContent": encodedCSR, + @"machineId": [[NSUUID UUID] UUIDString], + @"machineName": machineName} + session:session team:team completionHandler:^(NSDictionary *responseDictionary, NSError *requestError) { + if (responseDictionary == nil) + { + completionHandler(nil, requestError); + return; + } + + NSError *error = nil; + ALTCertificate *certificate = [self processResponse:responseDictionary parseHandler:^id _Nullable{ + NSDictionary *dictionary = responseDictionary[@"certRequest"]; + if (dictionary == nil) + { + return nil; + } + + ALTCertificate *certificate = [[ALTCertificate alloc] initWithResponseDictionary:dictionary]; + certificate.privateKey = request.privateKey; + return certificate; + } resultCodeHandler:^NSError * _Nullable(NSInteger resultCode) { + switch (resultCode) + { + case 3250: + return [NSError errorWithDomain:ALTAppleAPIErrorDomain code:ALTAppleAPIErrorInvalidCertificateRequest userInfo:nil]; + + default: return nil; + } + } error:&error]; + + completionHandler(certificate, error); + }]; +} + +- (void)revokeCertificate:(ALTCertificate *)certificate forTeam:(ALTTeam *)team session:(ALTAppleAPISession *)session completionHandler:(void (^)(BOOL, NSError * _Nullable))completionHandler +{ + NSURL *URL = [NSURL URLWithString:[NSString stringWithFormat:@"certificates/%@", certificate.identifier] relativeToURL:self.servicesBaseURL]; + + NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:URL]; + request.HTTPMethod = @"DELETE"; + + [self sendServicesRequest:request additionalParameters:nil session:session team:team completionHandler:^(NSDictionary *responseDictionary, NSError *requestError) { + if (responseDictionary == nil) + { + completionHandler(NO, requestError); + return; + } + + NSError *error = nil; + id result = [self processResponse:responseDictionary parseHandler:^id _Nullable{ + return responseDictionary; + } resultCodeHandler:^NSError * _Nullable(NSInteger resultCode) { + switch (resultCode) + { + case 7252: return nil; + return [NSError errorWithDomain:ALTAppleAPIErrorDomain code:ALTAppleAPIErrorCertificateDoesNotExist userInfo:nil]; + + default: return nil; + } + } error:&error]; + + completionHandler(result != nil, error); + }]; +} + +#pragma mark - App IDs - + +- (void)fetchAppIDsForTeam:(ALTTeam *)team session:(ALTAppleAPISession *)session completionHandler:(void (^)(NSArray * _Nullable, NSError * _Nullable))completionHandler +{ + NSURL *URL = [NSURL URLWithString:@"ios/listAppIds.action" relativeToURL:self.baseURL]; + + [self sendRequestWithURL:URL additionalParameters:nil session:session team:team completionHandler:^(NSDictionary *responseDictionary, NSError *requestError) { + if (responseDictionary == nil) + { + completionHandler(nil, requestError); + return; + } + + NSError *error = nil; + NSArray *appIDs = [self processResponse:responseDictionary parseHandler:^id _Nullable{ + NSArray *array = responseDictionary[@"appIds"]; + if (array == nil) + { + return nil; + } + + NSMutableArray *appIDs = [NSMutableArray array]; + for (NSDictionary *dictionary in array) + { + ALTAppID *appID = [[ALTAppID alloc] initWithResponseDictionary:dictionary]; + if (appID == nil) + { + return nil; + } + + [appIDs addObject:appID]; + } + return appIDs; + } resultCodeHandler:nil error:&error]; + + completionHandler(appIDs, error); + }]; +} + +- (void)addAppIDWithName:(NSString *)name bundleIdentifier:(NSString *)bundleIdentifier team:(ALTTeam *)team session:(ALTAppleAPISession *)session + completionHandler:(void (^)(ALTAppID *_Nullable appID, NSError *_Nullable error))completionHandler +{ + NSURL *URL = [NSURL URLWithString:@"ios/addAppId.action" relativeToURL:self.baseURL]; + + NSMutableCharacterSet *allowedCharacters = [NSMutableCharacterSet alphanumericCharacterSet]; + [allowedCharacters formUnionWithCharacterSet:[NSCharacterSet whitespaceCharacterSet]]; + + NSString *sanitizedName = [name stringByFoldingWithOptions:NSDiacriticInsensitiveSearch locale:nil]; + sanitizedName = [[sanitizedName componentsSeparatedByCharactersInSet:[allowedCharacters invertedSet]] componentsJoinedByString:@""]; + + [self sendRequestWithURL:URL additionalParameters:@{@"identifier": bundleIdentifier, @"name": sanitizedName} session:session team:team completionHandler:^(NSDictionary *responseDictionary, NSError *requestError) { + if (responseDictionary == nil) + { + completionHandler(nil, requestError); + return; + } + + NSError *error = nil; + ALTAppID *appID = [self processResponse:responseDictionary parseHandler:^id _Nullable{ + NSDictionary *dictionary = responseDictionary[@"appId"]; + if (dictionary == nil) + { + return nil; + } + + ALTAppID *appID = [[ALTAppID alloc] initWithResponseDictionary:dictionary]; + return appID; + } resultCodeHandler:^NSError * _Nullable(NSInteger resultCode) { + switch (resultCode) + { + case 35: + return [NSError errorWithDomain:ALTAppleAPIErrorDomain code:ALTAppleAPIErrorInvalidAppIDName userInfo:nil]; + + case 9401: + return [NSError errorWithDomain:ALTAppleAPIErrorDomain code:ALTAppleAPIErrorBundleIdentifierUnavailable userInfo:nil]; + + case 9412: + return [NSError errorWithDomain:ALTAppleAPIErrorDomain code:ALTAppleAPIErrorInvalidBundleIdentifier userInfo:nil]; + + default: return nil; + } + } error:&error]; + + completionHandler(appID, error); + }]; +} + +- (void)updateAppID:(ALTAppID *)appID team:(ALTTeam *)team session:(ALTAppleAPISession *)session completionHandler:(void (^)(ALTAppID * _Nullable, NSError * _Nullable))completionHandler +{ + NSURL *URL = [NSURL URLWithString:@"ios/updateAppId.action" relativeToURL:self.baseURL]; + + NSMutableDictionary *parameters = [@{@"appIdId": appID.identifier} mutableCopy]; + + for (ALTFeature feature in appID.features) + { + parameters[feature] = appID.features[feature]; + } + + [self sendRequestWithURL:URL additionalParameters:parameters + session:session team:team completionHandler:^(NSDictionary *responseDictionary, NSError *requestError) { + if (responseDictionary == nil) + { + completionHandler(nil, requestError); + return; + } + + NSError *error = nil; + ALTAppID *appID = [self processResponse:responseDictionary parseHandler:^id _Nullable{ + NSDictionary *dictionary = responseDictionary[@"appId"]; + if (dictionary == nil) + { + return nil; + } + + ALTAppID *appID = [[ALTAppID alloc] initWithResponseDictionary:dictionary]; + return appID; + } resultCodeHandler:^NSError * _Nullable(NSInteger resultCode) { + switch (resultCode) + { + case 35: + return [NSError errorWithDomain:ALTAppleAPIErrorDomain code:ALTAppleAPIErrorInvalidAppIDName userInfo:nil]; + + case 9100: + return [NSError errorWithDomain:ALTAppleAPIErrorDomain code:ALTAppleAPIErrorAppIDDoesNotExist userInfo:nil]; + + case 9412: + return [NSError errorWithDomain:ALTAppleAPIErrorDomain code:ALTAppleAPIErrorInvalidBundleIdentifier userInfo:nil]; + + default: return nil; + } + } error:&error]; + + completionHandler(appID, error); + }]; +} + +- (void)deleteAppID:(ALTAppID *)appID forTeam:(ALTTeam *)team session:(ALTAppleAPISession *)session completionHandler:(void (^)(BOOL, NSError * _Nullable))completionHandler +{ + NSURL *URL = [NSURL URLWithString:@"ios/deleteAppId.action" relativeToURL:self.baseURL]; + + [self sendRequestWithURL:URL additionalParameters:@{@"appIdId": appID.identifier} session:session team:team completionHandler:^(NSDictionary *responseDictionary, NSError *requestError) { + if (responseDictionary == nil) + { + completionHandler(NO, requestError); + return; + } + + NSError *error = nil; + id value = [self processResponse:responseDictionary parseHandler:^id _Nullable{ + NSNumber *result = responseDictionary[@"resultCode"]; + return [result integerValue] == 0 ? result : nil; + } resultCodeHandler:^NSError * _Nullable(NSInteger resultCode) { + switch (resultCode) + { + case 9100: + return [NSError errorWithDomain:ALTAppleAPIErrorDomain code:ALTAppleAPIErrorAppIDDoesNotExist userInfo:nil]; + + default: return nil; + } + } error:&error]; + + completionHandler(value != nil, error); + }]; +} + +#pragma mark - App Groups - + +- (void)fetchAppGroupsForTeam:(ALTTeam *)team session:(ALTAppleAPISession *)session completionHandler:(void (^)(NSArray *_Nullable appIDs, NSError *_Nullable error))completionHandler +{ + NSURL *URL = [NSURL URLWithString:@"ios/listApplicationGroups.action" relativeToURL:self.baseURL]; + + [self sendRequestWithURL:URL additionalParameters:nil session:session team:team completionHandler:^(NSDictionary *responseDictionary, NSError *requestError) { + if (responseDictionary == nil) + { + completionHandler(nil, requestError); + return; + } + + NSError *error = nil; + NSArray *groups = [self processResponse:responseDictionary parseHandler:^id _Nullable{ + NSArray *array = responseDictionary[@"applicationGroupList"]; + if (array == nil) + { + return nil; + } + + NSMutableArray *groups = [NSMutableArray array]; + for (NSDictionary *dictionary in array) + { + ALTAppGroup *group = [[ALTAppGroup alloc] initWithResponseDictionary:dictionary]; + if (group == nil) + { + return nil; + } + + [groups addObject:group]; + } + return groups; + } resultCodeHandler:nil error:&error]; + + completionHandler(groups, error); + }]; +} + +- (void)addAppGroupWithName:(NSString *)name groupIdentifier:(NSString *)groupIdentifier team:(ALTTeam *)team session:(ALTAppleAPISession *)session completionHandler:(void (^)(ALTAppGroup * _Nullable, NSError * _Nullable))completionHandler +{ + NSURL *URL = [NSURL URLWithString:@"ios/addApplicationGroup.action" relativeToURL:self.baseURL]; + + [self sendRequestWithURL:URL additionalParameters:@{@"identifier": groupIdentifier, @"name": name} session:session team:team completionHandler:^(NSDictionary *responseDictionary, NSError *requestError) { + if (responseDictionary == nil) + { + completionHandler(nil, requestError); + return; + } + + NSError *error = nil; + ALTAppGroup *group = [self processResponse:responseDictionary parseHandler:^id _Nullable{ + NSDictionary *dictionary = responseDictionary[@"applicationGroup"]; + if (dictionary == nil) + { + return nil; + } + + ALTAppGroup *group = [[ALTAppGroup alloc] initWithResponseDictionary:dictionary]; + return group; + } resultCodeHandler:^NSError * _Nullable(NSInteger resultCode) { + switch (resultCode) + { + case 35: + // Doesn't distinguish between different validation failures via resultCode unfortunately. + return [NSError errorWithDomain:ALTAppleAPIErrorDomain code:ALTAppleAPIErrorInvalidAppGroup userInfo:nil]; + + default: return nil; + } + } error:&error]; + + completionHandler(group, error); + }]; +} + +- (void)addAppID:(ALTAppID *)appID toGroup:(ALTAppGroup *)group team:(ALTTeam *)team session:(ALTAppleAPISession *)session completionHandler:(void (^)(BOOL, NSError * _Nullable))completionHandler +{ + NSURL *URL = [NSURL URLWithString:@"ios/assignApplicationGroupToAppId.action" relativeToURL:self.baseURL]; + + [self sendRequestWithURL:URL additionalParameters:@{@"appIdId": appID.identifier, @"applicationGroups": group.identifier} + session:session team:team completionHandler:^(NSDictionary *responseDictionary, NSError *requestError) { + if (responseDictionary == nil) + { + completionHandler(NO, requestError); + return; + } + + NSError *error = nil; + id value = [self processResponse:responseDictionary parseHandler:^id _Nullable{ + NSNumber *result = responseDictionary[@"resultCode"]; + return [result integerValue] == 0 ? result : nil; + } resultCodeHandler:^NSError * _Nullable(NSInteger resultCode) { + switch (resultCode) + { + case 9115: + return [NSError errorWithDomain:ALTAppleAPIErrorDomain code:ALTAppleAPIErrorAppIDDoesNotExist userInfo:nil]; + + case 35: + return [NSError errorWithDomain:ALTAppleAPIErrorDomain code:ALTAppleAPIErrorAppGroupDoesNotExist userInfo:nil]; + + default: return nil; + } + } error:&error]; + + completionHandler(value != nil, error); + }]; +} + +#pragma mark - Provisioning Profiles - + +- (void)fetchProvisioningProfileForAppID:(ALTAppID *)appID team:(ALTTeam *)team session:(ALTAppleAPISession *)session completionHandler:(void (^)(ALTProvisioningProfile * _Nullable, NSError * _Nullable))completionHandler +{ + NSURL *URL = [NSURL URLWithString:@"ios/downloadTeamProvisioningProfile.action" relativeToURL:self.baseURL]; + + [self sendRequestWithURL:URL additionalParameters:@{@"appIdId": appID.identifier} session:session team:team completionHandler:^(NSDictionary *responseDictionary, NSError *requestError) { + if (responseDictionary == nil) + { + completionHandler(nil, requestError); + return; + } + + NSError *error = nil; + ALTProvisioningProfile *provisioningProfile = [self processResponse:responseDictionary parseHandler:^id _Nullable{ + NSDictionary *dictionary = responseDictionary[@"provisioningProfile"]; + if (dictionary == nil) + { + return nil; + } + + ALTProvisioningProfile *provisioningProfile = [[ALTProvisioningProfile alloc] initWithResponseDictionary:dictionary]; + return provisioningProfile; + } resultCodeHandler:^NSError * _Nullable(NSInteger resultCode) { + switch (resultCode) + { + case 8201: + return [NSError errorWithDomain:ALTAppleAPIErrorDomain code:ALTAppleAPIErrorAppIDDoesNotExist userInfo:nil]; + + default: return nil; + } + } error:&error]; + + completionHandler(provisioningProfile, error); + }]; +} + +- (void)deleteProvisioningProfile:(ALTProvisioningProfile *)provisioningProfile forTeam:(ALTTeam *)team session:(ALTAppleAPISession *)session completionHandler:(void (^)(BOOL, NSError * _Nullable))completionHandler +{ + NSURL *URL = [NSURL URLWithString:@"ios/deleteProvisioningProfile.action" relativeToURL:self.baseURL]; + + [self sendRequestWithURL:URL additionalParameters:@{@"provisioningProfileId": provisioningProfile.identifier, + @"teamId": team.identifier} + session:session team:team completionHandler:^(NSDictionary *responseDictionary, NSError *requestError) { + if (responseDictionary == nil) + { + completionHandler(NO, requestError); + return; + } + + NSError *error = nil; + id value = [self processResponse:responseDictionary parseHandler:^id _Nullable{ + NSNumber *result = responseDictionary[@"resultCode"]; + return [result integerValue] == 0 ? result : nil; + } resultCodeHandler:^NSError * _Nullable(NSInteger resultCode) { + switch (resultCode) + { + case 35: + return [NSError errorWithDomain:ALTAppleAPIErrorDomain code:ALTAppleAPIErrorInvalidProvisioningProfileIdentifier userInfo:nil]; + + case 8101: + return [NSError errorWithDomain:ALTAppleAPIErrorDomain code:ALTAppleAPIErrorProvisioningProfileDoesNotExist userInfo:nil]; + + default: return nil; + } + } error:&error]; + + completionHandler(value != nil, error); + }]; +} + +#pragma mark - Requests - + +- (void)sendRequestWithURL:(NSURL *)requestURL additionalParameters:(nullable NSDictionary *)additionalParameters session:(ALTAppleAPISession *)session team:(nullable ALTTeam *)team completionHandler:(void (^)(NSDictionary *responseDictionary, NSError *error))completionHandler +{ + NSMutableDictionary *parameters = [@{ + @"clientId": ALTClientID, + @"protocolVersion": ALTProtocolVersion, + @"requestId": [[[NSUUID UUID] UUIDString] uppercaseString], + } mutableCopy]; + + if (team != nil) + { + parameters[@"teamId"] = team.identifier; + } + + [additionalParameters enumerateKeysAndObjectsUsingBlock:^(NSString *key, NSString *value, BOOL *stop) { + parameters[key] = value; + }]; + + NSError *serializationError = nil; + NSData *bodyData = [NSPropertyListSerialization dataWithPropertyList:parameters format:NSPropertyListXMLFormat_v1_0 options:0 error:&serializationError]; + if (bodyData == nil) + { + NSError *error = [NSError errorWithDomain:ALTAppleAPIErrorDomain code:ALTAppleAPIErrorInvalidParameters userInfo:@{NSUnderlyingErrorKey: serializationError}]; + completionHandler(nil, error); + return; + } + + NSURL *URL = [NSURL URLWithString:[NSString stringWithFormat:@"%@?clientId=%@", requestURL.absoluteString, ALTClientID]]; + + NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:URL]; + request.HTTPMethod = @"POST"; + request.HTTPBody = bodyData; + + NSDictionary *httpHeaders = @{ + @"Content-Type": @"text/x-xml-plist", + @"User-Agent": @"Xcode", + @"Accept": @"text/x-xml-plist", + @"Accept-Language": @"en-us", + @"X-Apple-App-Info": @"com.apple.gs.xcode.auth", + @"X-Xcode-Version": @"11.2 (11B41)", + @"X-Apple-I-Identity-Id": session.dsid, + @"X-Apple-GS-Token": session.authToken, + @"X-Apple-I-MD-M": session.anisetteData.machineID, + @"X-Apple-I-MD": session.anisetteData.oneTimePassword, + @"X-Apple-I-MD-LU": session.anisetteData.localUserID, + @"X-Apple-I-MD-RINFO": [@(session.anisetteData.routingInfo) description], + @"X-Mme-Device-Id": session.anisetteData.deviceUniqueIdentifier, + @"X-MMe-Client-Info": session.anisetteData.deviceDescription, + @"X-Apple-I-Client-Time": [self.dateFormatter stringFromDate:session.anisetteData.date], + @"X-Apple-Locale": session.anisetteData.locale.localeIdentifier, + @"X-Apple-I-Locale": session.anisetteData.locale.localeIdentifier, + @"X-Apple-I-TimeZone": session.anisetteData.timeZone.abbreviation + }; + + [httpHeaders enumerateKeysAndObjectsUsingBlock:^(NSString *key, NSString *value, BOOL *stop) { + [request setValue:value forHTTPHeaderField:key]; + }]; + + NSURLSessionDataTask *dataTask = [self.session dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) { + if (data == nil) + { + completionHandler(nil, error); + return; + } + + NSError *parseError = nil; + NSDictionary *responseDictionary = [NSPropertyListSerialization propertyListWithData:data options:0 format:nil error:&parseError]; + + if (responseDictionary == nil) + { + NSError *error = [NSError errorWithDomain:NSURLErrorDomain code:NSURLErrorBadServerResponse userInfo:@{NSUnderlyingErrorKey: parseError}]; + completionHandler(nil, error); + return; + } + + completionHandler(responseDictionary, nil); + }]; + + [dataTask resume]; +} + +- (void)sendServicesRequest:(NSURLRequest *)originalRequest additionalParameters:(nullable NSDictionary *)additionalParameters session:(ALTAppleAPISession *)session team:(ALTTeam *)team completionHandler:(void (^)(NSDictionary *responseDictionary, NSError *error))completionHandler +{ + NSMutableURLRequest *request = [originalRequest mutableCopy]; + + NSMutableArray *queryItems = [@[[NSURLQueryItem queryItemWithName:@"teamId" value:team.identifier]] mutableCopy]; + [additionalParameters enumerateKeysAndObjectsUsingBlock:^(NSString *key, NSString *value, BOOL *stop) { + [queryItems addObject:[NSURLQueryItem queryItemWithName:key value:value]]; + }]; + + NSURLComponents *components = [[NSURLComponents alloc] init]; + components.queryItems = queryItems; + + NSString *queryString = components.query ?: @""; + + NSError *serializationError = nil; + NSData *bodyData = [NSJSONSerialization dataWithJSONObject:@{@"urlEncodedQueryParams": queryString} options:0 error:&serializationError]; + if (bodyData == nil) + { + NSError *error = [NSError errorWithDomain:ALTAppleAPIErrorDomain code:ALTAppleAPIErrorInvalidParameters userInfo:@{NSUnderlyingErrorKey: serializationError}]; + completionHandler(nil, error); + return; + } + + request.HTTPBody = bodyData; + + NSString *HTTPMethodOverride = request.HTTPMethod; + request.HTTPMethod = @"POST"; + + NSDictionary *httpHeaders = @{ + @"Content-Type": @"application/vnd.api+json", + @"User-Agent": @"Xcode", + @"Accept": @"application/vnd.api+json", + @"Accept-Language": @"en-us", + @"X-Apple-App-Info": @"com.apple.gs.xcode.auth", + @"X-Xcode-Version": @"11.2 (11B41)", + @"X-HTTP-Method-Override": HTTPMethodOverride, + @"X-Apple-I-Identity-Id": session.dsid, + @"X-Apple-GS-Token": session.authToken, + @"X-Apple-I-MD-M": session.anisetteData.machineID, + @"X-Apple-I-MD": session.anisetteData.oneTimePassword, + @"X-Apple-I-MD-LU": session.anisetteData.localUserID, + @"X-Apple-I-MD-RINFO": [@(session.anisetteData.routingInfo) description], + @"X-Mme-Device-Id": session.anisetteData.deviceUniqueIdentifier, + @"X-MMe-Client-Info": session.anisetteData.deviceDescription, + @"X-Apple-I-Client-Time": [self.dateFormatter stringFromDate:session.anisetteData.date], + @"X-Apple-Locale": session.anisetteData.locale.localeIdentifier, + @"X-Apple-I-TimeZone": session.anisetteData.timeZone.abbreviation + }; + + [httpHeaders enumerateKeysAndObjectsUsingBlock:^(NSString *key, NSString *value, BOOL *stop) { + [request setValue:value forHTTPHeaderField:key]; + }]; + + NSURLSessionDataTask *dataTask = [self.session dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) { + if (data == nil) + { + completionHandler(nil, error); + return; + } + + NSDictionary *responseDictionary = nil; + + if (data.length == 0) + { + responseDictionary = @{}; + } + else + { + NSError *parseError = nil; + responseDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:&parseError]; + + if (responseDictionary == nil) + { + NSError *error = [NSError errorWithDomain:NSURLErrorDomain code:NSURLErrorBadServerResponse userInfo:@{NSUnderlyingErrorKey: parseError}]; + completionHandler(nil, error); + return; + } + } + + completionHandler(responseDictionary, nil); + }]; + + [dataTask resume]; +} + +- (nullable id)processResponse:(NSDictionary *)responseDictionary + parseHandler:(id _Nullable (^_Nullable)(void))parseHandler + resultCodeHandler:(NSError *_Nullable (^_Nullable)(NSInteger resultCode))resultCodeHandler + error:(NSError **)error +{ + if (parseHandler != nil) + { + id value = parseHandler(); + if (value != nil) + { + return value; + } + } + + id result = responseDictionary[@"resultCode"]; + if (result == nil) + { + *error = [NSError errorWithDomain:NSURLErrorDomain code:NSURLErrorBadServerResponse userInfo:nil]; + return nil; + } + + NSInteger resultCode = [result integerValue]; // Works wether result is NSNumber or NSString. + if (resultCode == 0) + { + return nil; + } + else + { + NSError *tempError = nil; + if (resultCodeHandler) + { + tempError = resultCodeHandler(resultCode); + } + + if (tempError == nil) + { + NSString *errorDescription = [responseDictionary objectForKey:@"userString"] ?: [responseDictionary objectForKey:@"resultString"]; + NSString *localizedDescription = [NSString stringWithFormat:@"%@ (%@)", errorDescription, @(resultCode)]; + + NSMutableDictionary *userInfo = [NSMutableDictionary dictionary]; + userInfo[NSLocalizedDescriptionKey] = localizedDescription; + tempError = [NSError errorWithDomain:ALTAppleAPIErrorDomain code:ALTAppleAPIErrorUnknown userInfo:userInfo]; + } + + *error = tempError; + + return nil; + } +} + +@end diff --git a/AltSign/ALTAppleAPISession.h b/AltSign/ALTAppleAPISession.h new file mode 100644 index 0000000..c718519 --- /dev/null +++ b/AltSign/ALTAppleAPISession.h @@ -0,0 +1,25 @@ +// +// ALTAppleAPISession.h +// AltSign +// +// Created by Riley Testut on 11/15/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +#import + +@class ALTAnisetteData; + +NS_ASSUME_NONNULL_BEGIN + +@interface ALTAppleAPISession : NSObject + +@property (nonatomic, copy) NSString *dsid; +@property (nonatomic, copy) NSString *authToken; +@property (nonatomic, copy) ALTAnisetteData *anisetteData; + +- (instancetype)initWithDSID:(NSString *)dsid authToken:(NSString *)authToken anisetteData:(ALTAnisetteData *)anisetteData; + +@end + +NS_ASSUME_NONNULL_END diff --git a/AltSign/ALTAppleAPISession.m b/AltSign/ALTAppleAPISession.m new file mode 100644 index 0000000..ffa5636 --- /dev/null +++ b/AltSign/ALTAppleAPISession.m @@ -0,0 +1,35 @@ +// +// ALTAppleAPISession.m +// AltSign +// +// Created by Riley Testut on 11/15/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +#import "ALTAppleAPISession.h" +#import "ALTAccount.h" +#import "ALTAnisetteData.h" + +@implementation ALTAppleAPISession + +- (instancetype)initWithDSID:(NSString *)dsid authToken:(NSString *)authToken anisetteData:(ALTAnisetteData *)anisetteData +{ + self = [super init]; + if (self) + { + _dsid = [dsid copy]; + _authToken = [authToken copy]; + _anisetteData = [anisetteData copy]; + } + + return self; +} + +#pragma mark - NSObject - + +- (NSString *)description +{ + return [NSString stringWithFormat:@"<%@: %p, DSID: %@, Auth Token: %@, Anisette Data: %@>", NSStringFromClass([self class]), self, self.dsid, self.authToken, self.anisetteData]; +} + +@end diff --git a/AltSign/ALTAppleAPI_Private.h b/AltSign/ALTAppleAPI_Private.h new file mode 100644 index 0000000..0052d88 --- /dev/null +++ b/AltSign/ALTAppleAPI_Private.h @@ -0,0 +1,34 @@ +// +// ALTAppleAPI+Private.h +// AltSign +// +// Created by Riley Testut on 11/16/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +#import "ALTAppleAPI.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface ALTAppleAPI () + +@property (nonatomic, readonly) NSURLSession *session; +@property (nonatomic, readonly) NSISO8601DateFormatter *dateFormatter; + +@property (nonatomic, copy, readonly) NSURL *baseURL; +@property (nonatomic, copy, readonly) NSURL *servicesBaseURL; + +- (void)sendRequestWithURL:(NSURL *)requestURL + additionalParameters:(nullable NSDictionary *)additionalParameters + session:(ALTAppleAPISession *)session + team:(nullable ALTTeam *)team + completionHandler:(void (^)(NSDictionary *responseDictionary, NSError *error))completionHandler; + +- (nullable id)processResponse:(NSDictionary *)responseDictionary + parseHandler:(id _Nullable (^_Nullable)(void))parseHandler + resultCodeHandler:(NSError *_Nullable (^_Nullable)(NSInteger resultCode))resultCodeHandler + error:(NSError **)error; + +@end + +NS_ASSUME_NONNULL_END diff --git a/AltSign/ALTApplication.h b/AltSign/ALTApplication.h new file mode 100644 index 0000000..52f3ddd --- /dev/null +++ b/AltSign/ALTApplication.h @@ -0,0 +1,43 @@ +// +// ALTApplication.h +// AltSign +// +// Created by Riley Testut on 6/24/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +#import + +#if TARGET_OS_IPHONE +#import +#endif + +#import "ALTCapabilities.h" + +@class ALTProvisioningProfile; + +NS_ASSUME_NONNULL_BEGIN + +@interface ALTApplication : NSObject + +@property (nonatomic, copy, readonly) NSString *name; +@property (nonatomic, copy, readonly) NSString *bundleIdentifier; +@property (nonatomic, copy, readonly) NSString *version; + +#if TARGET_OS_IPHONE +@property (nonatomic, readonly) UIImage *icon; +#endif + +@property (nonatomic, readonly, nullable) ALTProvisioningProfile *provisioningProfile; + +@property (nonatomic, readonly) NSOperatingSystemVersion minimumiOSVersion; + +@property (nonatomic, copy, readonly) NSDictionary *entitlements; + +@property (nonatomic, copy, readonly) NSURL *fileURL; + +- (nullable instancetype)initWithFileURL:(NSURL *)fileURL; + +@end + +NS_ASSUME_NONNULL_END diff --git a/AltSign/ALTApplication.mm b/AltSign/ALTApplication.mm new file mode 100644 index 0000000..cc20699 --- /dev/null +++ b/AltSign/ALTApplication.mm @@ -0,0 +1,153 @@ +// +// ALTApplication.m +// AltSign +// +// Created by Riley Testut on 6/24/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +#import "ALTApplication.h" +#import "ALTProvisioningProfile.h" + +#include "ldid.hpp" + +@interface ALTApplication () + +@property (nonatomic, copy, nullable, readonly) NSString *iconName; + +@end + +@implementation ALTApplication +@synthesize entitlements = _entitlements; +@synthesize provisioningProfile = _provisioningProfile; + +- (instancetype)initWithFileURL:(NSURL *)fileURL +{ + self = [super init]; + if (self) + { + NSBundle *bundle = [NSBundle bundleWithURL:fileURL]; + if (bundle == nil) + { + return nil; + } + + // Load info dictionary directly from disk, since NSBundle caches values + // that might not reflect the updated values on disk (such as bundle identifier). + NSURL *infoPlistURL = [bundle.bundleURL URLByAppendingPathComponent:@"Info.plist"]; + NSDictionary *infoDictionary = [NSDictionary dictionaryWithContentsOfURL:infoPlistURL]; + if (infoDictionary == nil) + { + return nil; + } + + NSString *name = infoDictionary[@"CFBundleDisplayName"] ?: infoDictionary[(NSString *)kCFBundleNameKey]; + NSString *bundleIdentifier = infoDictionary[(NSString *)kCFBundleIdentifierKey]; + + if (name == nil || bundleIdentifier == nil) + { + return nil; + } + + NSString *version = infoDictionary[@"CFBundleShortVersionString"] ?: @"1.0"; + NSString *minimumVersionString = infoDictionary[@"MinimumOSVersion"] ?: @"1.0"; + + NSArray *versionComponents = [minimumVersionString componentsSeparatedByString:@"."]; + + NSInteger majorVersion = [versionComponents.firstObject integerValue]; + NSInteger minorVersion = (versionComponents.count > 1) ? [versionComponents[1] integerValue] : 0; + NSInteger patchVersion = (versionComponents.count > 2) ? [versionComponents[2] integerValue] : 0; + + NSOperatingSystemVersion minimumVersion; + minimumVersion.majorVersion = majorVersion; + minimumVersion.minorVersion = minorVersion; + minimumVersion.patchVersion = patchVersion; + + NSDictionary *icons = infoDictionary[@"CFBundleIcons"]; + NSDictionary *primaryIcon = icons[@"CFBundlePrimaryIcon"]; + + NSArray *iconFiles = primaryIcon[@"CFBundleIconFiles"]; + if (iconFiles == nil) + { + iconFiles = infoDictionary[@"CFBundleIconFiles"]; + } + + NSString *iconName = [iconFiles lastObject]; + if (iconName == nil) + { + iconName = infoDictionary[@"CFBundleIconFile"]; + } + + _fileURL = [fileURL copy]; + _name = [name copy]; + _bundleIdentifier = [bundleIdentifier copy]; + _version = [version copy]; + _minimumiOSVersion = minimumVersion; + _iconName = [iconName copy]; + } + + return self; +} + +#if TARGET_OS_IPHONE +- (UIImage *)icon +{ + NSBundle *bundle = [NSBundle bundleWithURL:self.fileURL]; + if (bundle == nil) + { + return nil; + } + + NSString *iconName = self.iconName; + if (iconName == nil) + { + return nil; + } + + UIImage *icon = [UIImage imageNamed:iconName inBundle:bundle compatibleWithTraitCollection:nil]; + return icon; +} +#endif + +- (NSDictionary *)entitlements +{ + if (_entitlements == nil) + { + NSDictionary *appEntitlements = @{}; + + std::string rawEntitlements = ldid::Entitlements(self.fileURL.fileSystemRepresentation); + if (rawEntitlements.size() != 0) + { + NSData *entitlementsData = [NSData dataWithBytes:rawEntitlements.c_str() length:rawEntitlements.size()]; + + NSError *error = nil; + NSDictionary *entitlements = [NSPropertyListSerialization propertyListWithData:entitlementsData options:0 format:nil error:&error]; + + if (entitlements != nil) + { + appEntitlements = entitlements; + } + else + { + NSLog(@"Error parsing entitlements: %@", error); + } + } + + _entitlements = appEntitlements; + } + + return _entitlements; +} + +- (ALTProvisioningProfile *)provisioningProfile +{ + if (_provisioningProfile == nil) + { + NSURL *provisioningProfileURL = [self.fileURL URLByAppendingPathComponent:@"embedded.mobileprovision"]; + _provisioningProfile = [[ALTProvisioningProfile alloc] initWithURL:provisioningProfileURL]; + } + + return _provisioningProfile; +} + +@end diff --git a/AltSign/ALTCapabilities.h b/AltSign/ALTCapabilities.h new file mode 100644 index 0000000..76f8296 --- /dev/null +++ b/AltSign/ALTCapabilities.h @@ -0,0 +1,31 @@ +// +// ALTCapabilities.h +// AltSign +// +// Created by Riley Testut on 6/25/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +// Entitlements +typedef NSString *ALTEntitlement NS_TYPED_EXTENSIBLE_ENUM; +extern ALTEntitlement const ALTEntitlementApplicationIdentifier; +extern ALTEntitlement const ALTEntitlementKeychainAccessGroups; +extern ALTEntitlement const ALTEntitlementAppGroups; +extern ALTEntitlement const ALTEntitlementGetTaskAllow; +extern ALTEntitlement const ALTEntitlementTeamIdentifier; +extern ALTEntitlement const ALTEntitlementInterAppAudio; + +// Features +typedef NSString *ALTFeature NS_TYPED_EXTENSIBLE_ENUM; +extern ALTFeature const ALTFeatureGameCenter; +extern ALTFeature const ALTFeatureAppGroups; +extern ALTFeature const ALTFeatureInterAppAudio; + +_Nullable ALTEntitlement ALTEntitlementForFeature(ALTFeature feature) NS_SWIFT_NAME(ALTEntitlement.init(feature:)); +_Nullable ALTFeature ALTFeatureForEntitlement(ALTEntitlement entitlement) NS_SWIFT_NAME(ALTFeature.init(entitlement:)); + +NS_ASSUME_NONNULL_END diff --git a/AltSign/ALTCapabilities.m b/AltSign/ALTCapabilities.m new file mode 100644 index 0000000..302107a --- /dev/null +++ b/AltSign/ALTCapabilities.m @@ -0,0 +1,50 @@ +// +// ALTCapabilities.m +// AltSign +// +// Created by Riley Testut on 6/25/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +#import "ALTCapabilities.h" + +// Entitlements +ALTEntitlement const ALTEntitlementApplicationIdentifier = @"application-identifier"; +ALTEntitlement const ALTEntitlementKeychainAccessGroups = @"keychain-access-groups"; +ALTEntitlement const ALTEntitlementAppGroups = @"com.apple.security.application-groups"; +ALTEntitlement const ALTEntitlementGetTaskAllow = @"get-task-allow"; +ALTEntitlement const ALTEntitlementTeamIdentifier = @"com.apple.developer.team-identifier"; +ALTEntitlement const ALTEntitlementInterAppAudio = @"inter-app-audio"; + +// Features +ALTFeature const ALTFeatureGameCenter = @"gameCenter"; +ALTFeature const ALTFeatureAppGroups = @"APG3427HIY"; +ALTFeature const ALTFeatureInterAppAudio = @"IAD53UNK2F"; + +_Nullable ALTEntitlement ALTEntitlementForFeature(ALTFeature feature) +{ + if ([feature isEqualToString:ALTFeatureAppGroups]) + { + return ALTEntitlementAppGroups; + } + else if ([feature isEqualToString:ALTFeatureInterAppAudio]) + { + return ALTEntitlementInterAppAudio; + } + + return nil; +} + +_Nullable ALTFeature ALTFeatureForEntitlement(ALTEntitlement entitlement) +{ + if ([entitlement isEqualToString:ALTEntitlementAppGroups]) + { + return ALTFeatureAppGroups; + } + else if ([entitlement isEqualToString:ALTEntitlementInterAppAudio]) + { + return ALTFeatureInterAppAudio; + } + + return nil; +} diff --git a/AltSign/ALTCertificate.h b/AltSign/ALTCertificate.h new file mode 100644 index 0000000..04c1f0b --- /dev/null +++ b/AltSign/ALTCertificate.h @@ -0,0 +1,33 @@ +// +// ALTCertificate.h +// AltSign +// +// Created by Riley Testut on 5/10/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface ALTCertificate : NSObject + +@property (nonatomic, copy) NSString *name; +@property (nonatomic, copy) NSString *serialNumber; + +@property (nonatomic, copy, nullable) NSString *identifier; +@property (nonatomic, copy, nullable) NSString *machineName; +@property (nonatomic, copy, nullable) NSString *machineIdentifier; + +@property (nonatomic, copy, nullable) NSData *data; +@property (nonatomic, copy, nullable) NSData *privateKey; + +- (nullable instancetype)initWithData:(NSData *)data; +- (nullable instancetype)initWithP12Data:(NSData *)p12Data password:(nullable NSString *)password; + +- (nullable NSData *)p12Data; +- (nullable NSData *)encryptedP12DataWithPassword:(NSString *)password; + +@end + +NS_ASSUME_NONNULL_END diff --git a/AltSign/ALTCertificate.m b/AltSign/ALTCertificate.m new file mode 100644 index 0000000..82f67c9 --- /dev/null +++ b/AltSign/ALTCertificate.m @@ -0,0 +1,262 @@ +// +// ALTCertificate.m +// AltSign +// +// Created by Riley Testut on 5/10/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +#import "ALTCertificate.h" + +#include +#include + +NSString *ALTCertificatePEMPrefix = @"-----BEGIN CERTIFICATE-----"; +NSString *ALTCertificatePEMSuffix = @"-----END CERTIFICATE-----"; + +@implementation ALTCertificate + +- (instancetype)initWithName:(NSString *)name serialNumber:(NSString *)serialNumber data:(nullable NSData *)data +{ + self = [super init]; + if (self) + { + _name = [name copy]; + _serialNumber = [serialNumber copy]; + _data = [data copy]; + } + + return self; +} + +- (instancetype)initWithResponseDictionary:(NSDictionary *)responseDictionary +{ + NSString *identifier = responseDictionary[@"id"]; + + NSDictionary *attributesDictionary = responseDictionary[@"attributes"] ?: responseDictionary; + + NSData *data = nil; + if (attributesDictionary[@"certContent"] != nil) + { + data = attributesDictionary[@"certContent"]; + } + else if (attributesDictionary[@"certificateContent"] != nil) + { + NSString *encodedData = attributesDictionary[@"certificateContent"]; + data = [[NSData alloc] initWithBase64EncodedString:encodedData options:0]; + } + + NSString *machineName = attributesDictionary[@"machineName"]; + NSString *machineIdentifier = attributesDictionary[@"machineId"]; + + if (data != nil) + { + self = [self initWithData:data]; + } + else + { + NSString *name = attributesDictionary[@"name"]; + NSString *serialNumber = attributesDictionary[@"serialNumber"] ?: attributesDictionary[@"serialNum"]; + + self = [self initWithName:name serialNumber:serialNumber data:nil]; + } + + if (self) + { + _machineName = [machineName copy]; + _machineIdentifier = [machineIdentifier copy]; + _identifier = [identifier copy]; + } + + return self; +} + +- (nullable instancetype)initWithP12Data:(NSData *)p12Data password:(nullable NSString *)password +{ + BIO *inputP12Buffer = BIO_new(BIO_s_mem()); + BIO_write(inputP12Buffer, p12Data.bytes, (int)p12Data.length); + + PKCS12 *inputP12 = d2i_PKCS12_bio(inputP12Buffer, NULL); + + // Extract key + certificate from .p12. + EVP_PKEY *key; + X509 *certificate; + PKCS12_parse(inputP12, password.UTF8String, &key, &certificate, NULL); + + if (key == nil || certificate == nil) + { + return nil; + } + + BIO *pemBuffer = BIO_new(BIO_s_mem()); + PEM_write_bio_X509(pemBuffer, certificate); + + BIO *privateKeyBuffer = BIO_new(BIO_s_mem()); + PEM_write_bio_PrivateKey(privateKeyBuffer, key, NULL, NULL, 0, NULL, NULL); + + char *pemBytes = NULL; + NSUInteger pemSize = BIO_get_mem_data(pemBuffer, &pemBytes); + + char *privateKeyBytes = NULL; + NSUInteger privateKeySize = BIO_get_mem_data(privateKeyBuffer, &privateKeyBytes); + + NSData *pemData = [NSData dataWithBytes:pemBytes length:pemSize]; + NSData *privateKey = [NSData dataWithBytes:privateKeyBytes length:privateKeySize]; + + self = [self initWithData:pemData]; + if (self) + { + _privateKey = [privateKey copy]; + } + + return self; +} + +- (nullable instancetype)initWithData:(NSData *)data +{ + NSData *pemData = data; + + NSData *prefixData = [data subdataWithRange:NSMakeRange(0, MIN(data.length, ALTCertificatePEMPrefix.length))]; + NSString *prefix = [[NSString alloc] initWithData:prefixData encoding:NSUTF8StringEncoding]; + + if (![prefix isEqualToString:ALTCertificatePEMPrefix]) + { + // Convert to proper PEM format before storing. + NSString *base64Data = [data base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength]; + + NSString *content = [NSString stringWithFormat:@"%@\n%@\n%@", ALTCertificatePEMPrefix, base64Data, ALTCertificatePEMSuffix]; + pemData = [content dataUsingEncoding:NSUTF8StringEncoding]; + } + + BIO *certificateBuffer = BIO_new(BIO_s_mem()); + BIO_write(certificateBuffer, pemData.bytes, (int)pemData.length); + + X509 *certificate = nil; + PEM_read_bio_X509(certificateBuffer, &certificate, 0, 0); + if (certificate == nil) + { + return nil; + } + + /* Certificate Common Name */ + X509_NAME *subject = X509_get_subject_name(certificate); + int index = X509_NAME_get_index_by_NID(subject, NID_commonName, -1); + if (index == -1) + { + return nil; + } + + X509_NAME_ENTRY *nameEntry = X509_NAME_get_entry(subject, index); + ASN1_STRING *nameData = X509_NAME_ENTRY_get_data(nameEntry); + unsigned char *cName = ASN1_STRING_data(nameData); + + + /* Serial Number */ + ASN1_INTEGER *serialNumberData = X509_get_serialNumber(certificate); + BIGNUM *number = ASN1_INTEGER_to_BN(serialNumberData, NULL); + if (number == nil) + { + return nil; + } + + char *cSerialNumber = BN_bn2hex(number); + + if (cName == nil || cSerialNumber == nil) + { + return nil; + } + + NSString *name = [NSString stringWithFormat:@"%s", cName]; + NSString *serialNumber = [NSString stringWithFormat:@"%s", cSerialNumber]; + + NSInteger location = NSNotFound; + for (int i = 0; i < serialNumber.length; i++) + { + if ([serialNumber characterAtIndex:i] != '0') + { + location = i; + break; + } + } + + if (location == NSNotFound) + { + return nil; + } + + // Remove leading zeros. + NSString *trimmedSerialNumber = [serialNumber substringFromIndex:location]; + + self = [self initWithName:name serialNumber:trimmedSerialNumber data:pemData]; + return self; +} + +#pragma mark - NSObject - + +- (NSString *)description +{ + return [NSString stringWithFormat:@"<%@: %p, Name: %@, SN: %@>", NSStringFromClass([self class]), self, self.name, self.serialNumber]; +} + +- (BOOL)isEqual:(id)object +{ + ALTCertificate *certificate = (ALTCertificate *)object; + if (![certificate isKindOfClass:[ALTCertificate class]]) + { + return NO; + } + + BOOL isEqual = [self.serialNumber isEqualToString:certificate.serialNumber]; + return isEqual; +} + +- (NSUInteger)hash +{ + return self.serialNumber.hash; +} + +#pragma mark - ALTCertificate - + +- (nullable NSData *)p12Data +{ + return [self encryptedP12DataWithPassword:@""]; +} + +- (nullable NSData *)encryptedP12DataWithPassword:(NSString *)password +{ + BIO *certificateBuffer = BIO_new(BIO_s_mem()); + BIO *privateKeyBuffer = BIO_new(BIO_s_mem()); + + BIO_write(certificateBuffer, self.data.bytes, (int)self.data.length); + BIO_write(privateKeyBuffer, self.privateKey.bytes, (int)self.privateKey.length); + + X509 *certificate = nil; + PEM_read_bio_X509(certificateBuffer, &certificate, 0, 0); + + EVP_PKEY *privateKey = nil; + PEM_read_bio_PrivateKey(privateKeyBuffer, &privateKey, 0, 0); + + char emptyString[] = ""; + PKCS12 *outputP12 = PKCS12_create((char *)password.UTF8String, emptyString, privateKey, certificate, NULL, 0, 0, 0, 0, 0); + + BIO *p12Buffer = BIO_new(BIO_s_mem()); + i2d_PKCS12_bio(p12Buffer, outputP12); + + char *buffer = NULL; + NSUInteger size = BIO_get_mem_data(p12Buffer, &buffer); + + NSData *p12Data = [NSData dataWithBytes:buffer length:size]; + + BIO_free(p12Buffer); + PKCS12_free(outputP12); + + EVP_PKEY_free(privateKey); + X509_free(certificate); + + BIO_free(privateKeyBuffer); + BIO_free(certificateBuffer); + + return p12Data; +} + +@end diff --git a/AltSign/ALTCertificateRequest.h b/AltSign/ALTCertificateRequest.h new file mode 100644 index 0000000..16cc43d --- /dev/null +++ b/AltSign/ALTCertificateRequest.h @@ -0,0 +1,22 @@ +// +// ALTCertificateRequest.h +// AltSign +// +// Created by Riley Testut on 5/21/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface ALTCertificateRequest : NSObject + +@property (nonatomic, copy, readonly) NSData *data; +@property (nonatomic, copy, readonly) NSData *privateKey; + +- (nullable instancetype)init; + +@end + +NS_ASSUME_NONNULL_END diff --git a/AltSign/ALTCertificateRequest.m b/AltSign/ALTCertificateRequest.m new file mode 100644 index 0000000..cd21b8e --- /dev/null +++ b/AltSign/ALTCertificateRequest.m @@ -0,0 +1,151 @@ +// +// ALTCertificateRequest.m +// AltSign +// +// Created by Riley Testut on 5/21/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +#import "ALTCertificateRequest.h" +#include +#include +#include + +@implementation ALTCertificateRequest + +- (instancetype)init +{ + self = [super init]; + if (self) + { + NSData *data = nil; + NSData *privateKey = nil; + [self generateRequest:&data privateKey:&privateKey]; + + if (data == nil || privateKey == nil) + { + return nil; + } + + _data = [data copy]; + _privateKey = [privateKey copy]; + } + + return self; +} + +// Based on https://www.codepool.biz/how-to-use-openssl-to-generate-x-509-certificate-request.html +- (void)generateRequest:(NSData **)outputRequest privateKey:(NSData **)outputPrivateKey +{ + BIGNUM *bignum = NULL; + __block RSA *rsa = NULL; + + X509_REQ *request = NULL; + EVP_PKEY *publicKey = NULL; + + BIO *csr = NULL; + BIO *privateKey = NULL; + + void (^finish)(void) = ^{ + if (publicKey != NULL) + { + // Also frees rsa, so we check if non-nil to prevent double free. + EVP_PKEY_free(publicKey); + } + else + { + RSA_free(rsa); + } + + BN_free(bignum); + X509_REQ_free(request); + + BIO_free_all(csr); + BIO_free_all(privateKey); + }; + + /* Generate RSA Key */ + + bignum = BN_new(); + if (BN_set_word(bignum, RSA_F4) != 1) + { + finish(); + return; + } + + rsa = RSA_new(); + if (RSA_generate_key_ex(rsa, 2048, bignum, NULL) != 1) + { + finish(); + return; + } + + /* Generate request */ + + const char *country = "US"; + const char *state = "CA"; + const char *city = "Los Angeles"; + const char *organization = "AltSign"; + const char *commonName = "AltSign"; + + request = X509_REQ_new(); + if (X509_REQ_set_version(request, 1) != 1) + { + finish(); + return; + } + + // Subject + X509_NAME *subject = X509_REQ_get_subject_name(request); + X509_NAME_add_entry_by_txt(subject, "C", MBSTRING_ASC, (const unsigned char *)country, -1, -1, 0); + X509_NAME_add_entry_by_txt(subject, "ST", MBSTRING_ASC, (const unsigned char*)state, -1, -1, 0); + X509_NAME_add_entry_by_txt(subject, "L", MBSTRING_ASC, (const unsigned char*)city, -1, -1, 0); + X509_NAME_add_entry_by_txt(subject, "O", MBSTRING_ASC, (const unsigned char*)organization, -1, -1, 0); + X509_NAME_add_entry_by_txt(subject, "CN", MBSTRING_ASC, (const unsigned char*)commonName, -1, -1, 0); + + // Public Key + publicKey = EVP_PKEY_new(); + EVP_PKEY_assign_RSA(publicKey, rsa); + + if (X509_REQ_set_pubkey(request, publicKey) != 1) + { + finish(); + return; + } + + // Sign request + if (X509_REQ_sign(request, publicKey, EVP_sha1()) <= 0) + { + finish(); + return; + } + + // Output + csr = BIO_new(BIO_s_mem()); + if (PEM_write_bio_X509_REQ(csr, request) != 1) + { + finish(); + return; + } + + privateKey = BIO_new(BIO_s_mem()); + if (PEM_write_bio_RSAPrivateKey(privateKey, rsa, NULL, NULL, 0, NULL, NULL) != 1) + { + finish(); + return; + } + + /* Return values */ + + char *csrData = NULL; + long csrLength = BIO_get_mem_data(csr, &csrData); + *outputRequest = [NSData dataWithBytes:csrData length:csrLength]; + + char *privateKeyData = NULL; + long privateKeyLength = BIO_get_mem_data(privateKey, &privateKeyData); + *outputPrivateKey = [NSData dataWithBytes:privateKeyData length:privateKeyLength]; + + finish(); +} + +@end diff --git a/AltSign/ALTDevice.h b/AltSign/ALTDevice.h new file mode 100644 index 0000000..72b251a --- /dev/null +++ b/AltSign/ALTDevice.h @@ -0,0 +1,23 @@ +// +// ALTDevice.h +// AltSign +// +// Created by Riley Testut on 5/10/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface ALTDevice : NSObject + +@property (nonatomic, copy) NSString *name; +@property (nonatomic, copy) NSString *identifier; + +- (instancetype)init NS_UNAVAILABLE; +- (instancetype)initWithName:(NSString *)name identifier:(NSString *)identifier NS_DESIGNATED_INITIALIZER; + +@end + +NS_ASSUME_NONNULL_END diff --git a/AltSign/ALTDevice.m b/AltSign/ALTDevice.m new file mode 100644 index 0000000..1d16a6c --- /dev/null +++ b/AltSign/ALTDevice.m @@ -0,0 +1,63 @@ +// +// ALTDevice.m +// AltSign +// +// Created by Riley Testut on 5/10/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +#import "ALTDevice.h" + +@implementation ALTDevice + +- (instancetype)initWithName:(NSString *)name identifier:(NSString *)identifier +{ + self = [super init]; + if (self) + { + _name = [name copy]; + _identifier = [identifier copy]; + } + + return self; +} + +- (nullable instancetype)initWithResponseDictionary:(NSDictionary *)responseDictionary +{ + NSString *name = responseDictionary[@"name"]; + NSString *identifier = responseDictionary[@"deviceNumber"]; + + if (name == nil || identifier == nil) + { + return nil; + } + + self = [self initWithName:name identifier:identifier]; + return self; +} + +#pragma mark - NSObject - + +- (NSString *)description +{ + return [NSString stringWithFormat:@"<%@: %p, Name: %@, UDID: %@>", NSStringFromClass([self class]), self, self.name, self.identifier]; +} + +- (BOOL)isEqual:(id)object +{ + ALTDevice *device = (ALTDevice *)object; + if (![device isKindOfClass:[ALTDevice class]]) + { + return NO; + } + + BOOL isEqual = [self.identifier isEqualToString:device.identifier]; + return isEqual; +} + +- (NSUInteger)hash +{ + return self.identifier.hash; +} + +@end diff --git a/AltSign/ALTModel+Internal.h b/AltSign/ALTModel+Internal.h new file mode 100644 index 0000000..f58928c --- /dev/null +++ b/AltSign/ALTModel+Internal.h @@ -0,0 +1,49 @@ +// +// ALTModel+Internal.h +// AltSign +// +// Created by Riley Testut on 5/28/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +#import "ALTAccount.h" +#import "ALTTeam.h" +#import "ALTDevice.h" +#import "ALTCertificate.h" +#import "ALTCertificateRequest.h" +#import "ALTAppID.h" +#import "ALTAppGroup.h" +#import "ALTProvisioningProfile.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface ALTAccount () +- (nullable instancetype)initWithResponseDictionary:(NSDictionary *)responseDictionary; +@end + +@interface ALTTeam () +- (nullable instancetype)initWithAccount:(ALTAccount *)account responseDictionary:(NSDictionary *)responseDictionary; +@end + +@interface ALTDevice () +- (nullable instancetype)initWithResponseDictionary:(NSDictionary *)responseDictionary; +@end + +@interface ALTCertificate () +- (instancetype)initWithName:(NSString *)name serialNumber:(NSString *)serialNumber data:(nullable NSData *)data NS_DESIGNATED_INITIALIZER; +- (nullable instancetype)initWithResponseDictionary:(NSDictionary *)responseDictionary; +@end + +@interface ALTAppID () +- (nullable instancetype)initWithResponseDictionary:(NSDictionary *)responseDictionary; +@end + +@interface ALTAppGroup () +- (nullable instancetype)initWithResponseDictionary:(NSDictionary *)responseDictionary; +@end + +@interface ALTProvisioningProfile () +- (nullable instancetype)initWithResponseDictionary:(NSDictionary *)responseDictionary; +@end + +NS_ASSUME_NONNULL_END diff --git a/AltSign/ALTProvisioningProfile.h b/AltSign/ALTProvisioningProfile.h new file mode 100644 index 0000000..f4f2a10 --- /dev/null +++ b/AltSign/ALTProvisioningProfile.h @@ -0,0 +1,45 @@ +// +// ALTProvisioningProfile.h +// AltSign +// +// Created by Riley Testut on 5/22/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +#import + +#import "ALTCapabilities.h" + +@class ALTAppID; +@class ALTCertificate; + +NS_ASSUME_NONNULL_BEGIN + +@interface ALTProvisioningProfile : NSObject + +@property (copy, nonatomic, readonly) NSString *name; +@property (copy, nonatomic, readonly, nullable) NSString *identifier; +@property (copy, nonatomic, readonly) NSUUID *UUID; + +@property (copy, nonatomic, readonly) NSString *bundleIdentifier; +@property (copy, nonatomic, readonly) NSString *teamIdentifier; + +@property (copy, nonatomic, readonly) NSDate *creationDate; +@property (copy, nonatomic, readonly) NSDate *expirationDate; + +@property (copy, nonatomic, readonly) NSDictionary *entitlements; +@property (copy, nonatomic, readonly) NSArray *certificates; +@property (copy, nonatomic, readonly) NSArray *deviceIDs; + +@property (readonly) BOOL isFreeProvisioningProfile; + +@property (copy, nonatomic, readonly) NSData *data; + +- (nullable instancetype)initWithData:(NSData *)data NS_DESIGNATED_INITIALIZER; +- (nullable instancetype)initWithURL:(NSURL *)fileURL; + +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/AltSign/ALTProvisioningProfile.m b/AltSign/ALTProvisioningProfile.m new file mode 100644 index 0000000..847b7cb --- /dev/null +++ b/AltSign/ALTProvisioningProfile.m @@ -0,0 +1,301 @@ +// +// ALTProvisioningProfile.m +// AltSign +// +// Created by Riley Testut on 5/22/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +#import "ALTProvisioningProfile.h" +#import "ALTCertificate.h" + +#define ASN1_SEQUENCE 0x30 +#define ASN1_CONTAINER 0xA0 +#define ASN1_OBJECT_IDENTIFIER 0x06 +#define ASN1_OCTET_STRING 0x04 + +@implementation ALTProvisioningProfile + +- (nullable instancetype)initWithResponseDictionary:(NSDictionary *)responseDictionary +{ + NSString *identifier = responseDictionary[@"provisioningProfileId"]; + if (identifier == nil) + { + return nil; + } + + NSData *data = responseDictionary[@"encodedProfile"]; + if (data == nil) + { + return nil; + } + + self = [self initWithData:data]; + _identifier = [identifier copy]; + + return self; +} + +- (nullable instancetype)initWithURL:(NSURL *)fileURL +{ + NSData *data = [NSData dataWithContentsOfURL:fileURL]; + if (data == nil) + { + return nil; + } + + self = [self initWithData:data]; + return self; +} + +- (nullable instancetype)initWithData:(NSData *)data +{ + self = [super init]; + if (self) + { + NSDictionary *dictionary = [ALTProvisioningProfile dictionaryFromEncodedData:data]; + if (dictionary == nil) + { + return nil; + } + + NSString *name = dictionary[@"Name"]; + NSUUID *UUID = [[NSUUID alloc] initWithUUIDString:dictionary[@"UUID"]]; + + NSString *teamIdentifier = [dictionary[@"TeamIdentifier"] firstObject]; + + NSDate *creationDate = dictionary[@"CreationDate"]; + NSDate *expirationDate = dictionary[@"ExpirationDate"]; + + NSDictionary *entitlements = dictionary[@"Entitlements"]; + NSArray *deviceIDs = dictionary[@"ProvisionedDevices"]; + + if (name == nil || UUID == nil || teamIdentifier == nil || creationDate == nil || expirationDate == nil || entitlements == nil || deviceIDs == nil) + { + return nil; + } + + BOOL isFreeProvisioningProfile = [dictionary[@"LocalProvision"] boolValue]; + + _data = [data copy]; + + _name = [name copy]; + _UUID = [UUID copy]; + + _teamIdentifier = [teamIdentifier copy]; + + _creationDate = [creationDate copy]; + _expirationDate = [expirationDate copy]; + + _entitlements = [entitlements copy]; + _deviceIDs = [deviceIDs copy]; + + _isFreeProvisioningProfile = isFreeProvisioningProfile; + + [entitlements enumerateKeysAndObjectsUsingBlock:^(ALTEntitlement entitlement, id value, BOOL *stop) { + if (![entitlement isEqualToString:ALTEntitlementApplicationIdentifier]) + { + return; + } + + NSUInteger location = [(NSString *)value rangeOfString:@"."].location; + if (location == NSNotFound) + { + return; + } + + NSString *bundleIdentifier = [value substringFromIndex:location + 1]; + self->_bundleIdentifier = [bundleIdentifier copy]; + + *stop = YES; + }]; + + if (_bundleIdentifier == nil) + { + return nil; + } + + NSMutableArray *certificates = [NSMutableArray array]; + + NSArray *certificatesArray = dictionary[@"DeveloperCertificates"]; + for (NSData *data in certificatesArray) + { + ALTCertificate *certificate = [[ALTCertificate alloc] initWithData:data]; + if (certificate != nil) + { + [certificates addObject:certificate]; + } + } + + _certificates = [certificates copy]; + } + + return self; +} + +// Heavily inspired by libimobiledevice/ideviceprovision.c +// https://github.com/libimobiledevice/libimobiledevice/blob/ddba0b5efbcab483e80be10130c5c797f9ac8d08/tools/ideviceprovision.c#L98 ++ (nullable NSDictionary *)dictionaryFromEncodedData:(NSData *)encodedData +{ + // Helper blocks + size_t (^itemSize)(unsigned char *) = ^size_t(unsigned char *pointer) { + size_t size = -1; + + char bsize = *(pointer + 1); + if (bsize & 0x80) + { + switch (bsize & 0xF) + { + case 2: + { + uint16_t value = *(uint16_t *)(pointer + 2); + size = ntohs(value); + break; + } + + case 3: + { + uint32_t value = *(uint32_t *)(pointer + 2); + size = ntohl(value) >> 8; + break; + } + + case 4: + { + uint32_t value = *(uint32_t *)(pointer + 2); + size = ntohl(value); + break; + } + + default: + break; + } + } + else + { + size = (size_t)bsize; + } + + return size; + }; + + unsigned char * (^advanceToNextItem)(unsigned char *) = ^unsigned char *(unsigned char *pointer) { + unsigned char *nextItem = pointer; + + char bsize = *(pointer + 1); + if (bsize & 0x80) + { + nextItem += 2 + (bsize & 0xF); + } + else + { + nextItem += 3; + } + + return nextItem; + }; + + unsigned char * (^skipNextItem)(unsigned char *) = ^unsigned char *(unsigned char *pointer) { + size_t size = itemSize(pointer); + + unsigned char *nextItem = pointer + 2 + size; + return nextItem; + }; + + + /* Start parsing */ + unsigned char *pointer = (unsigned char *)encodedData.bytes; + if (*pointer != ASN1_SEQUENCE) + { + return nil; + } + + pointer = advanceToNextItem(pointer); + if (*pointer != ASN1_OBJECT_IDENTIFIER) + { + return nil; + } + + pointer = skipNextItem(pointer); + if (*pointer != ASN1_CONTAINER) + { + return nil; + } + + pointer = advanceToNextItem(pointer); + if (*pointer != ASN1_SEQUENCE) + { + return nil; + } + + pointer = advanceToNextItem(pointer); + + // Skip 2 items. + for (int i = 0; i < 2; i++) + { + pointer = skipNextItem(pointer); + } + + if (*pointer != ASN1_SEQUENCE) + { + return nil; + } + + pointer = advanceToNextItem(pointer); + if (*pointer != ASN1_OBJECT_IDENTIFIER) + { + return nil; + } + + pointer = skipNextItem(pointer); + if (*pointer != ASN1_CONTAINER) + { + return nil; + } + + pointer = advanceToNextItem(pointer); + if (*pointer != ASN1_OCTET_STRING) + { + return nil; + } + + size_t length = itemSize(pointer); + pointer = advanceToNextItem(pointer); + + NSData *data = [NSData dataWithBytes:(const void *)pointer length:length]; + + NSError *error = nil; + NSDictionary *dictionary = [NSPropertyListSerialization propertyListWithData:data options:0 format:nil error:&error]; + if (dictionary == nil) + { + NSLog(@"Failed to parse provisioning profile from data. %@", error); + } + + return dictionary; +} + +#pragma mark - NSObject - + +- (NSString *)description +{ + return [NSString stringWithFormat:@"<%@: %p, Name: %@, UUID: %@, App BundleID: %@>", NSStringFromClass([self class]), self, self.name, self.UUID, self.bundleIdentifier]; +} + +- (BOOL)isEqual:(id)object +{ + ALTProvisioningProfile *profile = (ALTProvisioningProfile *)object; + if (![profile isKindOfClass:[ALTProvisioningProfile class]]) + { + return NO; + } + + BOOL isEqual = ([self.UUID isEqual:profile.UUID] && [self.data isEqualToData:profile.data]); + return isEqual; +} + +- (NSUInteger)hash +{ + return self.UUID.hash ^ self.data.hash; +} + +@end diff --git a/AltSign/ALTSigner.h b/AltSign/ALTSigner.h new file mode 100644 index 0000000..1d2663a --- /dev/null +++ b/AltSign/ALTSigner.h @@ -0,0 +1,29 @@ +// +// ALTSigner.h +// AltSign +// +// Created by Riley Testut on 5/22/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +#import + +@class ALTAppID; +@class ALTTeam; +@class ALTCertificate; +@class ALTProvisioningProfile; + +NS_ASSUME_NONNULL_BEGIN + +@interface ALTSigner : NSObject + +@property (nonatomic) ALTTeam *team; +@property (nonatomic) ALTCertificate *certificate; + +- (instancetype)initWithTeam:(ALTTeam *)team certificate:(ALTCertificate *)certificate; + +- (NSProgress *)signAppAtURL:(NSURL *)appURL provisioningProfiles:(NSArray *)profiles completionHandler:(void (^)(BOOL success, NSError *_Nullable error))completionHandler; + +@end + +NS_ASSUME_NONNULL_END diff --git a/AltSign/ALTSigner.mm b/AltSign/ALTSigner.mm new file mode 100644 index 0000000..5164497 --- /dev/null +++ b/AltSign/ALTSigner.mm @@ -0,0 +1,312 @@ +// +// ALTSigner.m +// AltSign +// +// Created by Riley Testut on 5/22/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +#import "ALTSigner.h" +#import "ALTAppID.h" +#import "ALTTeam.h" +#import "ALTCertificate.h" +#import "ALTProvisioningProfile.h" +#import "ALTApplication.h" + +#import "NSFileManager+Apps.h" +#import "NSError+ALTErrors.h" + +#include "ldid.hpp" + +#include + +#include +#include + +std::string CertificatesContent(ALTCertificate *altCertificate) +{ + NSURL *pemURL = [NSBundle.mainBundle URLForResource:@"apple" withExtension:@"pem"]; + NSLog(@"pem: %@", pemURL); + + NSData *altCertificateP12Data = [altCertificate p12Data]; + + BIO *inputP12Buffer = BIO_new(BIO_s_mem()); + BIO_write(inputP12Buffer, altCertificateP12Data.bytes, (int)altCertificateP12Data.length); + + auto inputP12 = d2i_PKCS12_bio(inputP12Buffer, NULL); + + // Extract key + certificate from .p12. + EVP_PKEY *key; + X509 *certificate; + PKCS12_parse(inputP12, "", &key, &certificate, NULL); + + // Open .pem from file. + auto pemFile = fopen(pemURL.path.fileSystemRepresentation, "r"); + + // Extract certificates from .pem. + auto *certificates = sk_X509_new(NULL); + while (auto certificate = PEM_read_X509(pemFile, NULL, NULL, NULL)) + { + sk_X509_push(certificates, certificate); + } + + // Create new .p12 in memory with private key and certificate chain. + char emptyString[] = ""; + auto outputP12 = PKCS12_create(emptyString, emptyString, key, certificate, certificates, 0, 0, 0, 0, 0); + + BIO *outputP12Buffer = BIO_new(BIO_s_mem()); + i2d_PKCS12_bio(outputP12Buffer, outputP12); + + char *buffer = NULL; + NSUInteger size = BIO_get_mem_data(outputP12Buffer, &buffer); + + NSData *p12Data = [NSData dataWithBytes:buffer length:size]; + + // Free .p12 structures + PKCS12_free(inputP12); + PKCS12_free(outputP12); + + BIO_free(inputP12Buffer); + BIO_free(outputP12Buffer); + + // Close files + fclose(pemFile); + + std::string output((const char *)p12Data.bytes, (size_t)p12Data.length); + return output; +} + +@implementation ALTSigner + ++ (void)load +{ + OpenSSL_add_all_algorithms(); +} + +- (instancetype)initWithTeam:(ALTTeam *)team certificate:(ALTCertificate *)certificate +{ + self = [super init]; + if (self) + { + _team = team; + _certificate = certificate; + } + + return self; +} + +- (NSProgress *)signAppAtURL:(NSURL *)appURL provisioningProfiles:(NSArray *)profiles completionHandler:(void (^)(BOOL success, NSError *error))completionHandler +{ + NSProgress *progress = [NSProgress discreteProgressWithTotalUnitCount:1]; + + NSURL *ipaURL = nil; + NSURL *appBundleURL = nil; + + void (^finish)(BOOL, NSError *) = ^(BOOL success, NSError *error) { + if (ipaURL != nil) + { + NSError *removeError = nil; + if (![[NSFileManager defaultManager] removeItemAtURL:[ipaURL URLByDeletingLastPathComponent] error:&removeError]) + { + NSLog(@"Failed to clean up after resigning. %@", removeError); + } + } + + completionHandler(success, error); + }; + + __block NSError *error = nil; + + if ([appURL.pathExtension.lowercaseString isEqualToString:@"ipa"]) + { + ipaURL = appURL; + + NSURL *outputDirectoryURL = [[appURL URLByDeletingLastPathComponent] URLByAppendingPathComponent:[[NSUUID UUID] UUIDString] isDirectory:YES]; + if (![[NSFileManager defaultManager] createDirectoryAtURL:outputDirectoryURL withIntermediateDirectories:YES attributes:nil error:&error]) + { + finish(NO, error); + return progress; + } + + appBundleURL = [[NSFileManager defaultManager] unzipAppBundleAtURL:appURL toDirectory:outputDirectoryURL error:&error]; + if (appBundleURL == nil) + { + finish(NO, [NSError errorWithDomain:AltSignErrorDomain code:ALTErrorMissingAppBundle userInfo:@{NSUnderlyingErrorKey: error}]); + return progress; + } + } + else + { + appBundleURL = appURL; + } + + NSBundle *appBundle = [NSBundle bundleWithURL:appBundleURL]; + if (appBundle == nil) + { + finish(NO, [NSError errorWithDomain:AltSignErrorDomain code:ALTErrorInvalidApp userInfo:nil]); + return progress; + } + + ALTApplication *application = [[ALTApplication alloc] initWithFileURL:appBundleURL]; + if (application == nil) + { + finish(NO, [NSError errorWithDomain:AltSignErrorDomain code:ALTErrorInvalidApp userInfo:nil]); + return progress; + } + + NSDirectoryEnumerator *countEnumerator = [[NSFileManager defaultManager] enumeratorAtURL:appURL + includingPropertiesForKeys:@[NSURLIsDirectoryKey] + options:0 + errorHandler:^BOOL(NSURL * _Nonnull url, NSError * _Nonnull error) { + if (error) { + NSLog(@"[Error] %@ (%@)", error, url); + return NO; + } + + return YES; + }]; + + NSInteger totalCount = 0; + for (NSURL *__unused fileURL in countEnumerator) + { + NSNumber *isDirectory = nil; + if (![fileURL getResourceValue:&isDirectory forKey:NSURLIsDirectoryKey error:nil] || [isDirectory boolValue]) + { + continue; + } + + // Ignore CodeResources files. + if ([[fileURL lastPathComponent] isEqualToString:@"CodeResources"]) + { + continue; + } + + totalCount++; + } + + progress.totalUnitCount = totalCount; + + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ + + NSMutableDictionary *entitlementsByFileURL = [NSMutableDictionary dictionary]; + + ALTProvisioningProfile *(^profileForApp)(ALTApplication *) = ^ALTProvisioningProfile *(ALTApplication *app) { + // Assume for now that apps don't have 100s of app extensions 🤷‍♂️ + for (ALTProvisioningProfile *profile in profiles) + { + if ([profile.bundleIdentifier isEqualToString:app.bundleIdentifier]) + { + return profile; + } + } + + return profiles.firstObject; + }; + + NSError * (^prepareApp)(ALTApplication *) = ^NSError *(ALTApplication *app) { + ALTProvisioningProfile *profile = profileForApp(app); + if (profile == nil) + { + return [NSError errorWithDomain:AltSignErrorDomain code:ALTErrorMissingProvisioningProfile userInfo:nil]; + } + + NSURL *profileURL = [app.fileURL URLByAppendingPathComponent:@"embedded.mobileprovision"]; + [profile.data writeToURL:profileURL atomically:YES]; + + NSData *entitlementsData = [NSPropertyListSerialization dataWithPropertyList:profile.entitlements format:NSPropertyListXMLFormat_v1_0 options:0 error:&error]; + if (entitlementsData == nil) + { + return error; + } + + NSString *entitlements = [[NSString alloc] initWithData:entitlementsData encoding:NSUTF8StringEncoding]; + entitlementsByFileURL[app.fileURL] = entitlements; + + return nil; + }; + + NSError *prepareError = prepareApp(application); + if (prepareError != nil) + { + finish(NO, prepareError); + return; + } + + NSURL *pluginsURL = [appBundle builtInPlugInsURL]; + + NSDirectoryEnumerator *enumerator = [[NSFileManager defaultManager] enumeratorAtURL:pluginsURL + includingPropertiesForKeys:nil options:NSDirectoryEnumerationSkipsSubdirectoryDescendants errorHandler:nil]; + + for (NSURL *extensionURL in enumerator) + { + ALTApplication *appExtension = [[ALTApplication alloc] initWithFileURL:extensionURL]; + if (appExtension == nil) + { + prepareError = [NSError errorWithDomain:AltSignErrorDomain code:ALTErrorInvalidApp userInfo:nil]; + break; + } + + NSError *error = prepareApp(appExtension); + if (error != nil) + { + prepareError = error; + break; + } + } + + if (prepareError != nil) + { + finish(NO, prepareError); + return; + } + + + // Sign application + ldid::DiskFolder appBundle(application.fileURL.fileSystemRepresentation); + std::string key = CertificatesContent(self.certificate); + + ldid::Sign("", appBundle, key, "", + ldid::fun([&](const std::string &path, const std::string &binaryEntitlements) -> std::string { + NSString *filename = [NSString stringWithCString:path.c_str() encoding:NSUTF8StringEncoding]; + + NSURL *fileURL = nil; + + if (filename.length == 0) + { + fileURL = application.fileURL; + } + else + { + fileURL = [application.fileURL URLByAppendingPathComponent:filename isDirectory:YES]; + } + + NSString *entitlements = entitlementsByFileURL[fileURL]; + return entitlements.UTF8String; + }), + ldid::fun([&](const std::string &string) { + progress.completedUnitCount += 1; + }), + ldid::fun([&](const double signingProgress) { + })); + + + // Dispatch after to allow time to finish signing binary. + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ + if (ipaURL != nil) + { + NSURL *resignedIPAURL = [[NSFileManager defaultManager] zipAppBundleAtURL:appBundleURL error:&error]; + + if (![[NSFileManager defaultManager] replaceItemAtURL:ipaURL withItemAtURL:resignedIPAURL backupItemName:nil options:0 resultingItemURL:nil error:&error]) + { + finish(NO, error); + } + } + + finish(YES, nil); + }); + }); + + return progress; +} + +@end diff --git a/AltSign/ALTTeam.h b/AltSign/ALTTeam.h new file mode 100644 index 0000000..311cc68 --- /dev/null +++ b/AltSign/ALTTeam.h @@ -0,0 +1,36 @@ +// +// ALTTeam.h +// AltSign +// +// Created by Riley Testut on 5/10/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +#import + +@class ALTAccount; + +typedef NS_ENUM(int16_t, ALTTeamType) +{ + ALTTeamTypeUnknown = 0, + ALTTeamTypeFree = 1, + ALTTeamTypeIndividual = 2, + ALTTeamTypeOrganization = 3, +}; + +NS_ASSUME_NONNULL_BEGIN + +@interface ALTTeam : NSObject + +@property (nonatomic, copy) NSString *name; +@property (nonatomic, copy) NSString *identifier; +@property (nonatomic) ALTTeamType type; + +@property (nonatomic) ALTAccount *account; + +- (instancetype)init NS_UNAVAILABLE; +- (instancetype)initWithName:(NSString *)name identifier:(NSString *)identifier type:(ALTTeamType)type account:(ALTAccount *)account NS_DESIGNATED_INITIALIZER; + +@end + +NS_ASSUME_NONNULL_END diff --git a/AltSign/ALTTeam.m b/AltSign/ALTTeam.m new file mode 100644 index 0000000..543b579 --- /dev/null +++ b/AltSign/ALTTeam.m @@ -0,0 +1,93 @@ +// +// ALTTeam.m +// AltSign +// +// Created by Riley Testut on 5/10/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +#import "ALTTeam.h" + +@implementation ALTTeam + +- (instancetype)initWithName:(NSString *)name identifier:(NSString *)identifier type:(ALTTeamType)type account:(ALTAccount *)account +{ + self = [super init]; + if (self) + { + _name = [name copy]; + _identifier = [identifier copy]; + _type = type; + _account = account; + } + + return self; +} + +- (nullable instancetype)initWithAccount:(ALTAccount *)account responseDictionary:(NSDictionary *)responseDictionary +{ + NSString *name = responseDictionary[@"name"]; + NSString *identifier = responseDictionary[@"teamId"]; + NSString *teamType = responseDictionary[@"type"]; + + if (name == nil || identifier == nil || teamType == nil) + { + return nil; + } + + ALTTeamType type = ALTTeamTypeUnknown; + + if ([teamType isEqualToString:@"Company/Organization"]) + { + type = ALTTeamTypeOrganization; + } + else if ([teamType isEqualToString:@"Individual"]) + { + NSArray *memberships = responseDictionary[@"memberships"]; + + NSDictionary *membership = memberships.firstObject; + NSString *name = membership[@"name"]; + + if (memberships.count == 1 && [name.lowercaseString containsString:@"free"]) + { + type = ALTTeamTypeFree; + } + else + { + type = ALTTeamTypeIndividual; + } + } + else + { + type = ALTTeamTypeUnknown; + } + + self = [self initWithName:name identifier:identifier type:type account:account]; + return self; +} + +#pragma mark - NSObject - + +- (NSString *)description +{ + return [NSString stringWithFormat:@"<%@: %p, Name: %@>", NSStringFromClass([self class]), self, self.name]; +} + +- (BOOL)isEqual:(id)object +{ + ALTTeam *team = (ALTTeam *)object; + if (![team isKindOfClass:[ALTTeam class]]) + { + return NO; + } + + BOOL isEqual = [self.identifier isEqualToString:team.identifier]; + return isEqual; +} + +- (NSUInteger)hash +{ + return self.identifier.hash; +} + +@end diff --git a/AltSign/AltSign.h b/AltSign/AltSign.h new file mode 100644 index 0000000..c18fa50 --- /dev/null +++ b/AltSign/AltSign.h @@ -0,0 +1,39 @@ +// +// AltSign.h +// AltSign +// +// Created by Riley Testut on 5/10/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +// Apple API +#import +#import +#import + +// Signing +#import + +// Model +#import +#import +#import +#import +#import +#import +#import +#import +#import + +// Categories +#import +#import + +// Capabilities +#import + +//! Project version number for AltSign. +FOUNDATION_EXPORT double AltSignVersionNumber; + +//! Project version string for AltSign. +FOUNDATION_EXPORT const unsigned char AltSignVersionString[]; diff --git a/AltSign/NSError+ALTErrors.h b/AltSign/NSError+ALTErrors.h new file mode 100644 index 0000000..0a664e2 --- /dev/null +++ b/AltSign/NSError+ALTErrors.h @@ -0,0 +1,60 @@ +// +// NSError+ALTErrors.h +// AltSign +// +// Created by Riley Testut on 5/10/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +#import + +extern NSErrorDomain const AltSignErrorDomain; +typedef NS_ERROR_ENUM(AltSignErrorDomain, ALTError) +{ + ALTErrorUnknown, + ALTErrorInvalidApp, + ALTErrorMissingAppBundle, + ALTErrorMissingInfoPlist, + ALTErrorMissingProvisioningProfile, +}; + +extern NSErrorDomain const ALTAppleAPIErrorDomain; +typedef NS_ERROR_ENUM(ALTAppleAPIErrorDomain, ALTAppleAPIError) +{ + ALTAppleAPIErrorUnknown, + ALTAppleAPIErrorInvalidParameters, + + ALTAppleAPIErrorIncorrectCredentials, + ALTAppleAPIErrorAppSpecificPasswordRequired, + + ALTAppleAPIErrorNoTeams, + + ALTAppleAPIErrorInvalidDeviceID, + ALTAppleAPIErrorDeviceAlreadyRegistered, + + ALTAppleAPIErrorInvalidCertificateRequest, + ALTAppleAPIErrorCertificateDoesNotExist, + + ALTAppleAPIErrorInvalidAppIDName, + ALTAppleAPIErrorInvalidBundleIdentifier, + ALTAppleAPIErrorBundleIdentifierUnavailable, + ALTAppleAPIErrorAppIDDoesNotExist, + + ALTAppleAPIErrorInvalidAppGroup, + ALTAppleAPIErrorAppGroupDoesNotExist, + + ALTAppleAPIErrorInvalidProvisioningProfileIdentifier, + ALTAppleAPIErrorProvisioningProfileDoesNotExist, + + ALTAppleAPIErrorRequiresTwoFactorAuthentication, + ALTAppleAPIErrorIncorrectVerificationCode, + ALTAppleAPIErrorAuthenticationHandshakeFailed, +}; + +NS_ASSUME_NONNULL_BEGIN + +@interface NSError (ALTError) + +@end + +NS_ASSUME_NONNULL_END diff --git a/AltSign/NSError+ALTErrors.m b/AltSign/NSError+ALTErrors.m new file mode 100644 index 0000000..7d1f7a6 --- /dev/null +++ b/AltSign/NSError+ALTErrors.m @@ -0,0 +1,128 @@ +// +// NSError+ALTError.m +// AltSign +// +// Created by Riley Testut on 5/10/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +#import "NSError+ALTErrors.h" + +NSErrorDomain const AltSignErrorDomain = @"com.rileytestut.AltSign"; +NSErrorDomain const ALTAppleAPIErrorDomain = @"com.rileytestut.ALTAppleAPI"; + +@implementation NSError (ALTError) + ++ (void)load +{ + [NSError setUserInfoValueProviderForDomain:AltSignErrorDomain provider:^id _Nullable(NSError * _Nonnull error, NSErrorUserInfoKey _Nonnull userInfoKey) { + if ([userInfoKey isEqualToString:NSLocalizedFailureReasonErrorKey]) + { + return [error alt_localizedFailureReason]; + } + + return nil; + }]; + + [NSError setUserInfoValueProviderForDomain:ALTAppleAPIErrorDomain provider:^id _Nullable(NSError * _Nonnull error, NSErrorUserInfoKey _Nonnull userInfoKey) { + if ([userInfoKey isEqualToString:NSLocalizedDescriptionKey]) + { + return [error alt_appleapi_localizedDescription]; + } + + return nil; + }]; +} + +- (nullable NSString *)alt_localizedFailureReason +{ + switch ((ALTError)self.code) + { + case ALTErrorUnknown: + return NSLocalizedString(@"An unknown error occured.", @""); + + case ALTErrorInvalidApp: + return NSLocalizedString(@"The app is invalid.", @""); + + case ALTErrorMissingAppBundle: + return NSLocalizedString(@"The provided .ipa does not contain an app bundle.", @""); + + case ALTErrorMissingInfoPlist: + return NSLocalizedString(@"The provided app is missing its Info.plist.", @""); + + case ALTErrorMissingProvisioningProfile: + return NSLocalizedString(@"Could not find matching provisioning profile.", @""); + } + + return nil; +} + +- (nullable NSString *)alt_appleapi_localizedDescription +{ + switch ((ALTAppleAPIError)self.code) + { + case ALTAppleAPIErrorUnknown: + return NSLocalizedString(@"An unknown error occured.", @""); + + case ALTAppleAPIErrorInvalidParameters: + return NSLocalizedString(@"The provided parameters are invalid.", @""); + + case ALTAppleAPIErrorIncorrectCredentials: + return NSLocalizedString(@"Incorrect Apple ID or password.", @""); + + case ALTAppleAPIErrorNoTeams: + return NSLocalizedString(@"You are not a member of any development teams.", @""); + + case ALTAppleAPIErrorAppSpecificPasswordRequired: + return NSLocalizedString(@"An app-specific password is required. You can create one at appleid.apple.com.", @""); + + case ALTAppleAPIErrorInvalidDeviceID: + return NSLocalizedString(@"This device's UDID is invalid.", @""); + + case ALTAppleAPIErrorDeviceAlreadyRegistered: + return NSLocalizedString(@"This device is already registered with this team.", @""); + + case ALTAppleAPIErrorInvalidCertificateRequest: + return NSLocalizedString(@"The certificate request is invalid.", @""); + + case ALTAppleAPIErrorCertificateDoesNotExist: + return NSLocalizedString(@"There is no certificate with the requested serial number for this team.", @""); + + case ALTAppleAPIErrorInvalidAppIDName: + return NSLocalizedString(@"The name for this app is invalid.", @""); + + case ALTAppleAPIErrorInvalidBundleIdentifier: + return NSLocalizedString(@"The bundle identifier for this app is invalid.", @""); + + case ALTAppleAPIErrorBundleIdentifierUnavailable: + return NSLocalizedString(@"The bundle identifier for this app has already been registered.", @""); + + case ALTAppleAPIErrorAppIDDoesNotExist: + return NSLocalizedString(@"There is no App ID with the requested identifier on this team.", @""); + + case ALTAppleAPIErrorInvalidAppGroup: + return NSLocalizedString(@"The provided app group is invalid.", @""); + + case ALTAppleAPIErrorAppGroupDoesNotExist: + return NSLocalizedString(@"App group does not exist", @""); + + case ALTAppleAPIErrorInvalidProvisioningProfileIdentifier: + return NSLocalizedString(@"The identifier for the requested provisioning profile is invalid.", @""); + + case ALTAppleAPIErrorProvisioningProfileDoesNotExist: + return NSLocalizedString(@"There is no provisioning profile with the requested identifier on this team.", @""); + + case ALTAppleAPIErrorRequiresTwoFactorAuthentication: + return NSLocalizedString(@"This account requires signing in with two-factor authentication.", @""); + + case ALTAppleAPIErrorIncorrectVerificationCode: + return NSLocalizedString(@"Incorrect verification code.", @""); + + case ALTAppleAPIErrorAuthenticationHandshakeFailed: + return NSLocalizedString(@"Failed to perform authentication handshake with server.", @""); + } + + return nil; +} + +@end diff --git a/AltSign/NSFileManager+Apps.h b/AltSign/NSFileManager+Apps.h new file mode 100644 index 0000000..488b003 --- /dev/null +++ b/AltSign/NSFileManager+Apps.h @@ -0,0 +1,20 @@ +// +// NSFileManager+Apps.h +// AltSign +// +// Created by Riley Testut on 5/28/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface NSFileManager (Apps) + +- (nullable NSURL *)unzipAppBundleAtURL:(NSURL *)ipaURL toDirectory:(NSURL *)directoryURL error:(NSError **)error; +- (nullable NSURL *)zipAppBundleAtURL:(NSURL *)appBundleURL error:(NSError **)error; + +@end + +NS_ASSUME_NONNULL_END diff --git a/AltSign/NSFileManager+Apps.m b/AltSign/NSFileManager+Apps.m new file mode 100644 index 0000000..d2da4cf --- /dev/null +++ b/AltSign/NSFileManager+Apps.m @@ -0,0 +1,415 @@ +// +// NSFileManager+Apps.m +// AltSign +// +// Created by Riley Testut on 5/28/19. +// Copyright © 2019 Riley Testut. All rights reserved. +// + +#import "NSFileManager+Apps.h" + +#import "NSError+ALTErrors.h" + +#include "zip.h" +#include "unzip.h" + +int ALTReadBufferSize = 8192; +int ALTMaxFilenameLength = 512; +char ALTDirectoryDeliminator = '/'; + +#define READ_BUFFER_SIZE 8192 +#define MAX_FILENAME 512 + +@implementation NSFileManager (Apps) + +- (nullable NSURL *)unzipAppBundleAtURL:(NSURL *)ipaURL toDirectory:(NSURL *)directoryURL error:(NSError **)error +{ + unzFile zipFile = unzOpen(ipaURL.fileSystemRepresentation); + if (zipFile == NULL) + { + *error = [NSError errorWithDomain:NSCocoaErrorDomain code:NSFileNoSuchFileError userInfo:@{NSURLErrorKey: ipaURL}]; + return nil; + } + + FILE *outputFile = nil; + + void (^finish)(void) = ^{ + if (outputFile != nil) + { + fclose(outputFile); + } + + unzCloseCurrentFile(zipFile); + unzClose(zipFile); + }; + + unz_global_info zipInfo; + if (unzGetGlobalInfo(zipFile, &zipInfo) != UNZ_OK) + { + *error = [NSError errorWithDomain:NSCocoaErrorDomain code:NSFileReadCorruptFileError userInfo:@{NSURLErrorKey: ipaURL}]; + + finish(); + return nil; + } + + NSProgress *progress = [NSProgress progressWithTotalUnitCount:zipInfo.number_entry]; + + char buffer[ALTReadBufferSize]; + + for (int i = 0; i < zipInfo.number_entry; i++) + { + unz_file_info info; + char cFilename[ALTMaxFilenameLength]; + + if (unzGetCurrentFileInfo(zipFile, &info, cFilename, ALTMaxFilenameLength, NULL, 0, NULL, 0) != UNZ_OK) + { + *error = [NSError errorWithDomain:NSCocoaErrorDomain code:NSFileReadUnknownError userInfo:@{NSURLErrorKey: ipaURL}]; + + finish(); + return nil; + } + + NSString *filename = [[NSString alloc] initWithCString:cFilename encoding:NSUTF8StringEncoding]; + if ([filename hasPrefix:@"__MACOSX"]) + { + if (i + 1 < zipInfo.number_entry) + { + if (unzGoToNextFile(zipFile) != UNZ_OK) + { + *error = [NSError errorWithDomain:NSCocoaErrorDomain code:NSFileReadUnknownError userInfo:@{NSFilePathErrorKey: filename}]; + + finish(); + return nil; + } + } + + continue; + } + + NSError *(^createDirectory)(NSURL *) = ^NSError *(NSURL *directoryURL) { + NSError *error = nil; + if (![self createDirectoryAtURL:directoryURL withIntermediateDirectories:YES attributes:nil error:&error]) + { + return error; + } + + return nil; + }; + + NSURL *fileURL = [directoryURL URLByAppendingPathComponent:filename]; + + if ([filename characterAtIndex:filename.length - 1] == ALTDirectoryDeliminator) + { + // Directory + + NSError *directoryError = createDirectory(fileURL); + if (directoryError != nil) + { + *error = directoryError; + return nil; + } + } + else + { + // File + if (unzOpenCurrentFile(zipFile) != UNZ_OK) + { + *error = [NSError errorWithDomain:NSCocoaErrorDomain code:NSFileReadUnknownError userInfo:@{NSURLErrorKey: fileURL}]; + + finish(); + return nil; + } + + NSURL *parentDirectory = [fileURL URLByDeletingLastPathComponent]; + if (![[NSFileManager defaultManager] fileExistsAtPath:parentDirectory.path]) + { + NSError *directoryError = createDirectory(parentDirectory); + if (directoryError != nil) + { + *error = directoryError; + return nil; + } + } + + outputFile = fopen(fileURL.fileSystemRepresentation, "wb"); + if (outputFile == NULL) + { + NSError *underlyingError = [NSError errorWithDomain:NSPOSIXErrorDomain code:errno userInfo:@{NSURLErrorKey: fileURL}]; + *error = [NSError errorWithDomain:NSCocoaErrorDomain code:NSFileWriteUnknownError userInfo:@{NSURLErrorKey: fileURL, NSUnderlyingErrorKey: underlyingError}]; + + finish(); + return nil; + } + + int result = UNZ_OK; + + do + { + result = unzReadCurrentFile(zipFile, buffer, ALTReadBufferSize); + + if (result < 0) + { + *error = [NSError errorWithDomain:NSCocoaErrorDomain code:NSFileReadUnknownError userInfo:@{NSURLErrorKey: fileURL}]; + + finish(); + return nil; + } + + size_t count = fwrite(buffer, result, 1, outputFile); + if (result > 0 && count != 1) + { + *error = [NSError errorWithDomain:NSCocoaErrorDomain code:NSFileWriteUnknownError userInfo:@{NSURLErrorKey: fileURL}]; + + finish(); + return nil; + } + + } while (result > 0); + + short permissions = (info.external_fa >> 16) & 0x01FF; + if (![self setAttributes:@{NSFilePosixPermissions: @(permissions)} ofItemAtPath:fileURL.path error:error]) + { + finish(); + return nil; + } + + fclose(outputFile); + outputFile = NULL; + } + + unzCloseCurrentFile(zipFile); + + progress.completedUnitCount += 1; + + if (i + 1 < zipInfo.number_entry) + { + if (unzGoToNextFile(zipFile) != UNZ_OK) + { + *error = [NSError errorWithDomain:NSCocoaErrorDomain code:NSFileReadUnknownError userInfo:@{NSURLErrorKey: fileURL}]; + + finish(); + return nil; + } + } + } + + finish(); + + NSURL *payloadDirectory = [directoryURL URLByAppendingPathComponent:@"Payload"]; + NSArray *contents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:payloadDirectory.path error:error]; + if (contents == nil) + { + finish(); + return nil; + } + + for (NSString *filename in contents) + { + if ([filename.pathExtension.lowercaseString isEqualToString:@"app"]) + { + NSURL *appBundleURL = [payloadDirectory URLByAppendingPathComponent:filename]; + NSURL *outputURL = [directoryURL URLByAppendingPathComponent:filename]; + + if (![[NSFileManager defaultManager] moveItemAtURL:appBundleURL toURL:outputURL error:error]) + { + finish(); + return nil; + } + + NSError *deleteError = nil; + if (![[NSFileManager defaultManager] removeItemAtURL:payloadDirectory error:&deleteError]) + { + *error = deleteError; + + finish(); + return nil; + } + + return outputURL; + } + } + + *error = [NSError errorWithDomain:AltSignErrorDomain code:ALTErrorMissingAppBundle userInfo:@{NSURLErrorKey: ipaURL}]; + return nil; +} + +- (NSURL *)zipAppBundleAtURL:(NSURL *)appBundleURL error:(NSError **)error +{ + NSString *appBundleFilename = [appBundleURL lastPathComponent]; + NSString *appName = [appBundleFilename stringByDeletingPathExtension]; + + NSString *ipaName = [NSString stringWithFormat:@"%@.ipa", appName]; + NSURL *ipaURL = [[appBundleURL URLByDeletingLastPathComponent] URLByAppendingPathComponent:ipaName]; + + if ([self fileExistsAtPath:ipaURL.path]) + { + if (![self removeItemAtURL:ipaURL error:error]) + { + return nil; + } + } + + zipFile zipFile = zipOpen(ipaURL.fileSystemRepresentation, APPEND_STATUS_CREATE); + if (zipFile == nil) + { + *error = [NSError errorWithDomain:NSCocoaErrorDomain code:NSFileWriteUnknownError userInfo:@{NSURLErrorKey: ipaURL}]; + return nil; + } + + NSURL *payloadDirectory = [NSURL fileURLWithPath:@"Payload" isDirectory:YES]; + NSURL *appBundleDirectory = [payloadDirectory URLByAppendingPathComponent:appBundleFilename isDirectory:YES]; + + NSDirectoryEnumerator *countEnumerator = [self enumeratorAtURL:appBundleURL + includingPropertiesForKeys:@[] + options:0 + errorHandler:^BOOL(NSURL * _Nonnull url, NSError * _Nonnull error) { + if (error) { + NSLog(@"[Error] %@ (%@)", error, url); + return NO; + } + + return YES; + }]; + + NSInteger totalCount = 0; + for (NSURL *__unused fileURL in countEnumerator) + { + totalCount++; + } + + NSProgress *progress = [NSProgress progressWithTotalUnitCount:totalCount + 2]; // We add two extra entries at the end. + + NSDirectoryEnumerator *enumerator = [self enumeratorAtURL:appBundleURL + includingPropertiesForKeys:@[NSURLIsDirectoryKey] + options:0 + errorHandler:^BOOL(NSURL * _Nonnull url, NSError * _Nonnull error) { + if (error) { + NSLog(@"[Error] %@ (%@)", error, url); + return NO; + } + + return YES; + }]; + + BOOL success = YES; + + for (NSURL *fileURL in enumerator) + { + NSNumber *isDirectory = nil; + if (![fileURL getResourceValue:&isDirectory forKey:NSURLIsDirectoryKey error:error]) + { + success = NO; + break; + } + + if (![self writeItemAtURL:fileURL toZipFile:&zipFile depth:enumerator.level relativeURL:appBundleDirectory isDirectory:[isDirectory boolValue] error:error]) + { + success = NO; + break; + } + + progress.completedUnitCount += 1; + } + + if (success) + { + if (![self writeItemAtURL:payloadDirectory toZipFile:&zipFile depth:1 relativeURL:nil isDirectory:YES error:error]) + { + success = NO; + } + + progress.completedUnitCount += 1; + + if (![self writeItemAtURL:appBundleDirectory toZipFile:&zipFile depth:2 relativeURL:nil isDirectory:YES error:error]) + { + success = NO; + } + + progress.completedUnitCount += 1; + } + + zipClose(zipFile, NULL); + + return success ? ipaURL : nil; +} + +- (BOOL)writeItemAtURL:(NSURL *)fileURL toZipFile:(zipFile *)zipFile depth:(NSInteger)depth relativeURL:(nullable NSURL *)relativeURL isDirectory:(BOOL)isDirectory error:(NSError **)error +{ + NSArray *components = fileURL.pathComponents; + NSArray *relativeComponents = [components subarrayWithRange:NSMakeRange(components.count - depth, depth)]; + + NSString *relativePath = [relativeComponents componentsJoinedByString:@"/"]; + NSString *filename = nil; + + if (relativeURL != nil) + { + NSURL *relatedURL = [relativeURL URLByAppendingPathComponent:relativePath]; + filename = relatedURL.relativePath; + } + else + { + filename = relativePath; + } + + NSData *data = nil; + zip_fileinfo fileInfo = {}; + + if (isDirectory) + { + if ([filename hasPrefix:@"/"]) + { + filename = [filename stringByReplacingCharactersInRange:NSMakeRange(0, 1) withString:@""]; + } + + if (![filename hasSuffix:@"/"]) + { + filename = [filename stringByAppendingString:@"/"]; + } + } + else + { + NSDictionary *attributes = [self attributesOfItemAtPath:fileURL.path error:error]; + if (attributes == nil) + { + return NO; + } + + NSNumber *permissionsValue = attributes[NSFilePosixPermissions]; + if (permissionsValue == nil) + { + *error = [NSError errorWithDomain:NSCocoaErrorDomain code:NSFileReadUnknownError userInfo:@{NSURLErrorKey: fileURL}]; + return NO; + } + + short permissions = permissionsValue.shortValue; + NSInteger shiftedPermissions = 0100000 + permissions; + uLong permissionsLong = @(shiftedPermissions).unsignedLongValue; + + fileInfo.external_fa = (unsigned int)(permissionsLong << 16L); + + data = [NSData dataWithContentsOfURL:fileURL options:0 error:error]; + if (data == nil) + { + return NO; + } + } + + if (zipOpenNewFileInZip(*zipFile, filename.fileSystemRepresentation, &fileInfo, + NULL, 0, NULL, 0, NULL, Z_DEFLATED, Z_DEFAULT_COMPRESSION) != ZIP_OK) + { + zipCloseFileInZip(*zipFile); + *error = [NSError errorWithDomain:NSCocoaErrorDomain code:NSFileWriteUnknownError userInfo:@{NSFilePathErrorKey: filename}]; + return NO; + } + + if (zipWriteInFileInZip(*zipFile, data.bytes, (unsigned int)data.length) != ZIP_OK) + { + zipCloseFileInZip(*zipFile); + *error = [NSError errorWithDomain:NSCocoaErrorDomain code:NSFileWriteUnknownError userInfo:@{NSFilePathErrorKey: filename}]; + return NO; + } + + return YES; +} + +@end diff --git a/AltSign/ldid/ldid.cpp b/AltSign/ldid/ldid.cpp new file mode 100644 index 0000000..e91a1e9 --- /dev/null +++ b/AltSign/ldid/ldid.cpp @@ -0,0 +1,119 @@ +// +// ldid.cpp +// websign +// +// ldid implentation file wrapper used to add our own logic without modifying ldid source. +// +// Created by Riley Testut on 3/12/17. +// Copyright © 2017 Riley Testut. All rights reserved. +// + +// Redefine ldid's main function to ldid_main to prevent duplicate main declarations. +#define main ldid_main + +#include + +// Undefine our hacky main redefinition. +#undef main + +namespace ldid +{ + // Based heavily on ldid::Sign executable locating logic. + std::string ExecutablePath(std::string bundlePath) + { + auto folder = ldid::DiskFolder(bundlePath); + + std::string executable; + + bool mac(false); + + std::string info("Info.plist"); + if (!folder.Look(info) && folder.Look("Resources/" + info)) { + mac = true; + info = "Resources/" + info; + } + + folder.Open(info, fun([&](std::streambuf &buffer, size_t length, const void *flag) { + plist_d(buffer, length, fun([&](plist_t node) { + executable = plist_s(plist_dict_get_item(node, "CFBundleExecutable")); + })); + })); + + if (!mac && folder.Look("MacOS/" + executable)) { + executable = "MacOS/" + executable; + mac = true; + } + + return executable; + } + + // Based heavily on ldid's -e argument logic. + std::string Entitlements(std::string path) + { + struct stat info; + _syscall(stat(path.c_str(), &info)); + + if (S_ISDIR(info.st_mode)) + { + path += "/" + ExecutablePath(path); + } + + std::stringstream stringstream; + + Map mapping(path, false); + FatHeader fat_header(mapping.data(), mapping.size()); + + _foreach (mach_header, fat_header.GetMachHeaders()) + { + struct linkedit_data_command *signature(NULL); + + _foreach (load_command, mach_header.GetLoadCommands()) + { + uint32_t cmd(mach_header.Swap(load_command->cmd)); + if (cmd == LC_CODE_SIGNATURE) + { + signature = reinterpret_cast(load_command); + } + } + + if (signature != NULL) + { + uint32_t data = mach_header.Swap(signature->dataoff); + + uint8_t *top = reinterpret_cast(mach_header.GetBase()); + uint8_t *blob = top + data; + struct SuperBlob *super = reinterpret_cast(blob); + + for (size_t index(0); index != Swap(super->count); ++index) + { + if (Swap(super->index[index].type) == CSSLOT_ENTITLEMENTS) + { + uint32_t begin = Swap(super->index[index].offset); + struct Blob *entitlements = reinterpret_cast(blob + begin); + + char *bytes = (char *)(entitlements + 1); + int size = Swap(entitlements->length) - sizeof(*entitlements); + + for (int i = 0; i < size; i++) + { + char byte = bytes[i]; + stringstream << byte; + } + + if (size > 0) + { + auto entitlementsString = stringstream.str(); + + // One valid mach_header is all we need to retrieve entitlements, so return to stop iterating over the next ones. + return entitlementsString; + } + } + } + } + } + + // No entitlements found in any mach_header, so return empty string. + return ""; + } + +} diff --git a/AltSign/ldid/ldid.hpp b/AltSign/ldid/ldid.hpp new file mode 100644 index 0000000..0a148ec --- /dev/null +++ b/AltSign/ldid/ldid.hpp @@ -0,0 +1,18 @@ +// +// ldid.hpp +// websign +// +// ldid header file wrapper used to add our own logic without modifying ldid source. +// +// Created by Riley Testut on 3/12/17. +// Copyright © 2017 Riley Testut. All rights reserved. +// + +#pragma once + +#include + +namespace ldid +{ + std::string Entitlements(std::string path); +} diff --git a/Dependencies/Individual/libcrypto.a b/Dependencies/Individual/libcrypto.a new file mode 100644 index 0000000000000000000000000000000000000000..9de1bb8db0e66fa974112a8f288e2b9d1dcdcfe1 GIT binary patch literal 3924000 zcmaIf2UwQX`@r!7s30zIByLo24?skmIY7mMD5z-JD^pPfVz|p~nwgs0a$Alv&D{RV zQRd1t%bBKTmX;cttJ3`6=RMzd0QT>?x<20b8P9pnv!C|`s<(>EOc>n8vu0r9pa5UT ze}PRynuj!N77!5V>)SLSND54GU_d}faImj$U~uzhO+$43fu0siqv(F!!@@iIM)&9y z6CS4IzmqGKy1m3j9Uj_36?xZK1#3@tQ8zAzs!)6xU&Cd%5kJGL==!Epm}{in_^iySu4w z#J^#F4}^sJ8+?#Y1=w3l~tQC&3aVB zYvdnbi6UnGYvHw$N`;;%r0!uL?b=}vye{=)x4Nmn@D=jK+)X}>c%sCMj=8DDIGy}T z+<}`ZpXnp}+2SH|%!=vu|hPh||mFgzsVx^luz zZIbpYb`(*2@hsj#CHsvo_rcm2OFwBi9yfZ(atjqwU*csfR7&=zKMJYJ*braDo*0kW z_>lH9h?nCIyvTaAk$O9SaZ@pPnDX;jwx}6b1MGsssQ)|lp5h$V=L6h@$1zpfANDDv z#^77H3b)}wJdM}z9=dy)etfVtw#HZ-jz`3O%?qi^jN=?}Kxw6NR~1%0@DIv=rCb#= z?MmSg>P^RLRB)YM^Qc#m*Ygr7vV>^A1~lt zY%3RlX|aV>Z!vdZVU;Q8#l!WBs0moc%j{nbaE_cW+xBx)%kgJ%WU`xblk?NgR5!Iz z&I3_v3#kLxm39ZE+-tO(`VK#k{#UdtqCTRZy?B@YO3>dn>UqlXyKY<&bz0)VgNvwC zi66gNL{%aGEBPz*|0g~q|2p-D$$DN%Ev%Nwaj4H5rDQ)HdB#mu!`CSPN#^sMoP_@; z=c}Eo+|)^Yne};Jyx~?@eS&G^$6^!u`<{6?#CjZ{{(bt7<+_%PnRv6dEO(~6a;;-5 zk4-Qdhv4gYsg_cmQ{7cA7Lk5*Tm=JhhLn#_bXQ@-y)hY^a=+3OhvLU?yQqvR&DEE9 z4sXnHQ9GwLSLz+(3wT||b#kS<+98H6a#s(CkBDAN-IYsSQ(i(0{ls0JCtposukG&Y z6+bC|!ClptIO>?YYKMI=1;^rC+<;%iNWas5TPk_Nk`IN_;NGL-~uoBRo`R$?r?5rZ&hpROh1V z0G^`%tN6PumgVbt{EN6)BQrnMF$BZ#G4*>Brv}LR%%{ye)3-T~z&pRfDBGtEh?*&&?{TZnKixc(umxy}&*F?QPy308A_{)f$2NzY18GmQdV_H$w zf;dss>+=fzXW&$9^szY}-X&g-yYUE~#q0PF)?s4r zjwNJ&)8~~cSQmHE|5q4H{zY6Z{RX^ORBge1cv4((sHnP(xAD8Ca(tKeR5wtCn7AS~ zzz*0K({Ls($IW;Wf5m_Bmu51)HlFGpKEq<6CSM-w;js4dJo9BS^+qeXzwj-l7T`ME zj$h*Z7IHnl?5S4aR@{%L@EShGqAg9ks@NFAus06DiMR|m;g@&@Z=q*fIiDsLQPtL>zv2hsa(pEhS9|d^o?#w7k?lF&(^Dl$e)h}7)weQ_18)^m zzfgV`pWsExe?`yMX1;%u@$4I2Ox2g=#<~<&70LTy5Vpezd>QZ2-^X(65jDtDJ!brw zj4O$Hm!$mgcuzHqcr^2nqPNdsPt}s;hsu62Fv3%fm45Yp@pd~oPL>u^AK>SB2Jhf- z`kjoWWWVby4;}R|3@tbs=i_EPhI8rXDeJd_coXi$qu7;kzr(m=iB}PyrruQ?CEF#S zLNRrlxPF*Y8P$uc5d52b$cu9R=uu3y$Lq{vUzxXQyFJxiVpoav{8qsx7>2KkdY)tG zCjql?IxfSv**=A3JbFLfK>l+bH!rTX6Cc2FZ0`r`PfBl>@x|0z_-DJ8z~cWlgZ+F%sEj6-k? zzKN5h{mzEP)h>?D#jO8A%3H{DjDCOB6IYPmPyH>#M~U|kAHj3@V<*{PE)-X{@NX>H z+2ku>eS8!l`$vlssz?`OIrPIO*dBZ0K-?znSJWz@W{Fp-lu(C=SBpDqlu)OMuZg)$ zOQ>|(rTCfWhvxHKl-J?rDjJ94MyXe4VF|StzrjoR2n%;L^}Mk%*2NI<#@Z4p5(ncX zeAHXcZy%RbONdMKF>ww2nEZwQ@*E^DaUS3o; z%!BTyA@;&-T!c^Qr)p2LzHQKg6L1|ijFtWBd`a~s@m2KhZssKbyW@1JzbLn)N+e!J zyaT_*+gPlhsb3FA&@O^_2#&)A*qZIzA4lOd{EKl$%5wDht1<5jD1RTlW&7yuzKwpr z!pnFUyUlg#|36_3@_!MBvR)p2 z&3^BLwJ{WfY1f1JO_^t(+!E?*mU{+Qli!7B@K5xLH0|nOIQGZk_zoVI@#*KB8}z@C z{6YK~-FldQYhWvU2{UmvevFUlx6sRG`}7od4lAVwVh&Ej1^6L;j>pkQ+?P;F%^M)| zf1s3Fji2BGi<~EaE~WlQd>k+1Hp-9VFZdLF2AcK(*co$a{||b;VwRskc{aX{>+mx? zi8t^m`p{1x)?VPEe4jK|t+6K_`bqAq3e{2<@GiPuGx>mEInTcnq`KoEoPx`6Cw_}J z(Y2{*UlE&N1SX*0k8=Mr#$UC>USit`{wfK_;$qy4$MGsY#G;qwx;4jN)xee*eo^MP zrN4^BUXtJUuD?pbsp5^5{%R@i#&2z&k^6HuKb1!N>%@O!@)hat6Mr=dXX8fv60hPT zEOynjtBOsr3woV3%k{%CEPp=!DR%DUuj+r`qV}C_siw*H^YX8yT2ucH<1Z@9)9Y6c z!|?}MPVO)M>JAo`{XoZ6Fc`aH9OmFOT#B2;*{YUW!}tnalIvd=e^m`bu@@%eSX_u( z@O!+0Jz1}<^nVl=vfdwHdC|wamin3UuJLmJ-Ofu5z)`peH{m|~8ZTomx+j=^JSEPp z=cOh}oH4{py^Fi>JU+n+iKbp4_P}&pf}wJsxA}T;)dPp&I9z~R@u+y%vxK^af1|hD zzbz_NLOz?8_oL-XsCweb(j`2Wo{9~t*X#{CQN19X>h>Fre(eI&2fyE<_ozKD@H0FyBX2g`mjSUz-E ztv%|kh7-Re%U>~|v?^Lnjw|_IMKx@Kov}X-!DOz-V{taVkK6Gep2p+Zvi$O8)Yr1y zMemhX7w`r?z~EPvQoom0ZLn{S9CzKysBBS1l~Fy&zl1f!b=OO)4H?q!r?Q`lUI$96 zB+7^5M4XN9;RgH+Pv8Z{`vdVUT#_m0C$}J^l087d^^>}JxGwgyE%)z&CIqt+KtY2Xnx1RqBGT-aM$|yf9N4^e*;5})tw`&-2 zZ%jltyMdk2*F-u5Tkd=@gnA8(KpR_s$&c6 zg~RbY``c|SKGp1he%J>4U0+k0?S!TJe~FXj5v_;6U3MCcMPMv@MJTNa##yzvVTuw|87IR2M)yH*q8p^ zB3{aPRuON-OzM3_{3AZVYO-DQynRCZV|emyxgWVzUY#etgHN#7472?!U~LS+fj9xz z;x+pHn)nhv#NuypTww@?VM%Gf;$V68h<<7id&+r8k2i$47xl;DQv3qDP%j-9;|}cjN@Yh)|358A5X1uhSXcMq`X>=QRMq`KFY=%&P%g!Hs_}ec!%?phn%PM`Kk`f ze^t)oBWIRTZ{vHoW2Bt-LdvOA_#@uJzj5ax7Zuy7g*t{8aotL}9(h+)$Ck>xE~uim z5?_-zK)&Sm6g`)jxDtLX9==mWy|7%)(~qjCCLhRocuG|@X|0TVaaHBBPWoF_RV`XC z_dPqRs^ATB+aq7%di8y2H@d2tjLWbl{WQn+^f#COYSZ6(`U|7KXzK5m`kUXbs=miN zm_hkuJiz*`Al_nYkKa??W|f>z+gDWs@dwJUQ|_}yt}iK7RTJ!u+4zBs*H^y0_CGw2 z4{1Mves9t5sMRtreX6P-nAeYG-ZSP_Q6ErmFP_E1E6lvlW_kUXuMe58Hq6%n=IdqV zYZ&$RQLh*E&Qb4G>TO}WB*}QrU8$m6rM{lu4_RI=>vMv7lc-mXdMBypCH?AoaF=oG z{cH-$KhN@qu>5;0|4o*EgMPhP&)T?@<;oAfh^e%z$J-rttc&lCCyWn6a|R|CfN z3H`OB{}}4MLY#?j;|kn__t_pV$oA9wOEWw|c{y3W-cP!+yg6*=4;jCUo<})eW;6cE zjDHK`_mO(~cp1#N0_iWF{$5~Sk4XKKN2{t!cn{q^G>F1WW`XWQ_Pj{473*~-yMRFOnWulZ{enEB9+vh|T zb&BOz-YexnHPp)U@_uBepK||2=6!G-b>g=4bE%Fx*uX_ykuL>RdLs9E-_})I_4j?U z>Z`ZB<>wgWOD1Q_x~PDw4b-zrE^2d?Mk=|E)PE45ern~SRH-KFW+xYQ&MR1zmiKzT zpS4t{qFq#ILQ{2v<^PSPKQi-L1Djz_OvdrJ9M5c&=i*A$)D3)!n570ft)bqi{*a=_35jY1o;66NyL9!h-$J9{s#Ln?G)FwQJ zKVieqWcwAbq1xlW{7uNw^GCX}62`I9|o^lrP4o5G4JINo#pYREmK46yj&d1{JYHBThh8OTYmf2+Lg<>xpfp6h@ z`~rW%r&wdN=_ed5_&U~QT+J~WhvHcLjrsToOMPy(V>Jvy|NqJUe7Cv^!A{s0!>HE> zhvHbAjjLsRhYwX#n{Xd~k2ml!R+H_p!lkBajA2;p6Vp#D@erJVDU9oNoQrF54}Oi8 z@HVbyyxZ_7{(yhrH0H4i<7tHLF&bA;Zxbex|AIK1_#E*abpOKaU)3=bBk?;~U%kKn zgmL84aXh|*oAC%<#s^sZOS8P1*c|)g2%Lp0@N+zix6$pO>8~ONVkaDoQ*bG6!vEpl z$7TN;T~ihP#&|^Xi)PhOm+%f2`pV?XVNHyYb{Pw5ssM=}udbom;`ozt-9A=R&BYD) zC7!{XSm;|*zcP+IA=kw{HB~d>nZ%LALvRAVgKKaXp2H7m|0l8MDYLvN#+!)aa0$v+ z(o}|}kSd3bus!y{G@OVFa1$QJAMidFFJb!k!!S(1F*pxD#c%KidXzN%)WrxKjOwV| zA9Sgyys;+kV_t%Y+hRXV{6_YRH8s_6{QihMC$_JtwlP05$uGmL_zhmc-=y7&jx|*l z{Z7O=xEinkFoS2v;TfTy+e2%UB5QV zJIQ=q#p>)wO)&xo;Hx+Vm*EaPg}W? za$eErkD3^QZ&AJ)_h2ODr-*N1q2p$|zkqe|MeK!xaT>0~t@w!JpoolDA5X`~U%;DK zk@EW34*O$y=_htVO;rnnMXzZ!RR=L@R!vnw-)|JIp&oPH@{r?BU&p3?BJ1%(HPvvd zJbz^PssyoZwy#=9e&TLJ(50H)zMoXhfN6R*PU zco@&)Z}<-u|I{qM3O2@Y?96(OXFdCnU&C?-5s$)|xEwd*emsTO@IDri{`I_8#--w- z5x!~@?#J)(CO*NE+f03548kz%gM)Dl&c@Za4G-aY{2iZSsqJQYHLw|W!Iv=&$KyL< z>{(y6jrm(f{1NWNr@?Zbzgbk3XeysC{83bWDS4k?eboiLi=I17zB)F;?wEk1a5k>T zeRu|Mq3cf5uMalH&S=3LoPjIFlO?OG{jA?+TZ||1vbecwb#)sH?UMCuUR|A}oi}kc zY=o__kLcU8x=O%T@e=JP5ih_E_!*wSt9T#(pnYLc_wR#sF+%F;ah8|+@YtKxRkq|u zPM3O|9~xnMdA`)or7fiV+{o%m?J?(t&cv~pjP>QZx%1N+Dp(x3tA=VVhVHGQdW*3q zYN)Q_>?1W)CF$qng6gV1w#1UQ{)ziyBEBjP-c((U#;Ky(US0KOoGBPD%W3<44Yf$h zryZ)UKENG#5GPRoRjFU+LJc(r-@v(eOw7GkL!HN8@c}Lub^8x-54y>DSGV)V@8tbR zZg8ObPA~sVb#(=E@hN)BcG2YvrQN#HHI<*dU*6Zeg=&p4*z=kkUzKX9m+_9|^?Pa8 z#m2H&8=GTSd{}6;_tD@QhDzqKlD-=18~P#xt_K3Q=j42_ygX; zztQuYsb3ZAVN>jYQTUQJ%1@0EJ>vb;EOFW(KQ)Z}CNU$`Ppu^Xh0ed~r_SR%KdE2a zT`j}3sV>TAYN(owi*O@;foJg+y1ilA`CudLfPL`R0`tAa!V8U+@s=!qWD9q7=m$AJ zmGxH>#Lh+h)myj#-^Uj&%66{juYQsETn&G97ym&|DcAW*;=V@ys=Aob#9uYUPz+}~ z4Zx8&3)i6c4D)+M>R?yQz8=*y1{{#%qDHoErbgiB zZ)19uMyA3738<#SLh|>dOgk)=VIZTW*n6;5W}%QrsG6B z%zXWV&u{_d-nZnq{j!d#bk}T;=GY4}@g3ZOAJKjvo*{o1KW05WWuEo%@g?y^yp1y- z$ULRgRqJHl^?vRzdAP5W8_2wCRTg>$=2>W2p1zFCYerg&n!OeI8zr)+8Lf71U2>OG>~!g}&~sNB732pXyj9*hQUu zD@f%Ax~R@sLCPb@SQ|Uy033}A@Duz7Z=pvM(~lo^W_gJ?4L`;scom;v)c`Zzme?Oh z;e1?+ZCTz<;=_0WZ{xpMO4eI%pO84u2xg*AMHe$xr1yLX&!G3h{h=Ny$79 zs;7qFNDP#6->Y?1I1a$|wEGOt;cxgD-DP=txxUyK&qvF91o^qV(a+@j4^j10>xXjR zyRfe6jYIHtT!Vvo)81Mnc@Jda`IchUbT>_LX#u$dL;BcIQ8}T2;U;JM)|Fy9reonpLS)Y@{H__#9v-}OL z&tul7Jo)@xEIgiLoEG|8ApBWi3h#p`7xk@ zN@9IR<6`_DCR5)<#;^D1O4t;~Qob0s;ch9{`(JSvv;UnS|0_PjL|3`)e^yV8!WsB3 zeuM|`44xJ@LzmJ{hIEk{_k!wjx%z+631c|zK!ef z0RDiFu&nM!)~7ZWk@4w%?~8|jt*5FIx5QX1T-cNkCoV@^3q$ckna|A|>#3IXe@*hU zYu8tQVkx=4>h+&VKdW$tlzSAZuR7DNlf=1y*HZ&=AN?+pSQV?UKEi!iNajs1Cz|%% zCBD+KzPdoWyI5G}Rgdqqv^!kBz8WR!<@nIP4pydKQ|yW@D8F7^`k&iK^**AMuYXOI zh$F=n0X5YO?8bHAW!x_YxXODDt{b~Co$}SR+l}X_e^KUb-K6>|7mE}%aRsc0tuPAX zF$ZVjYTS({@Fy%X+`NBzNL<#_EH41NqkkzmPD?aUiNvF@E%{l*tMF4ih<&JciTF>< zB7e1niyHq`edSrqEZ+}XVS6c$+Ff78<5+wb{}OfkH|cLBZpMRn8B3Nl_3slG(dQvq zznU0=^{CehyW;??>@E9QNCTBl+?(;%C*J}GlJ7)3llrT0FScj7+gYzv+6~7E*pGTY z&@O{`BF@LVl&>XziRBN%lCu7K-j1@o9n`zc_w8P%Ue6cga{`|tYA8;^Jsj5qepW`=Y`xBssr}JPk8@#0Kdhn_z;WEH}4Ir>5Xk38@@vOWzUU9yK zdW7Xs1V6@ucnR-gu`;Gz4GhE%*bfKe z1YC@p@dVz%(q&D*_3@6lIk$m&jP-nE`vf#ph02+HMQlO7IdK^F#=)3{({VX=q5Vr@ zRGWrsjTjrK@IxCJ$Z>TQfP3&JmzL&e8p?WCs z>`@JsyTsb^*Z{YPb$)874&qt7iKRQq^Y`@PsviDL-m9W%=ZEPvy31SN?9OnqcS3vK_iNQkj(ZBfc&1VV_2- zoWwhuH&XR5f%1_!8Rz0E{22G*w|E8bV5ur*`3i4Yw<8%#)nv3 z?nm_c*1)E?hWXftOPIgA+`p8NSl`EtuIZwDt2S2i@e9f4UTUPSVn^AJyuur+H`$+d z==N_nQjKWe4WCiJn)IXFze2kev^!3_&lpdf)NAY0Sf%1??04_rTHJ#tX?G1Dqo-^? zz2ExahcXU*yfh{5h`sRy{rSqc+BR#fev##$Yt&d>BcDXQ9IQt@S5ep7CiV4v9m9Lv zrxlUwm%hLA!8^(Fesh_ZdV)pe{eq4wV<2|Nc+3`kH+iYtMEU;kL@%{N?40eTo)MQ$ zGWp6Fi0!ctrr{KvkL&OY{2s4k^?3Q*QGTz*A(nfGyqm0t9#2`UgRLKC^5<6f|d<8Rbk@$E?fc!2sU;bZYt)tV@X$cj7+azIDh}&&`4eo)bNN+$-zLw|CA>{}1q`SB zPs$^tpTRQ%Rd0;L;Wz^q;$Py<4+2%uddBJ)ik)#a^>^Sg>`QqnUMD}9xWsCCFV?rE zs)V&M7`x!hn1N&Q9bAJu@c;(Me0ppQP%mP49DwOK5#86wewW@-RY139a-SzZ=Ta6+ zwwLl%O;jyxV~Z*8OPr2x;GTAQ`nQG5<1ay~d`n|JY=cpljH7TV?!=RL3tgmt z-LEgU#Xgvd<8d)=#jmj$>(Ld*w3hpmW=+&Q97w*j#Cm-`B7YDYkiSHH8?$Mr+L->v z6MGZa!Vv6^i8vk?;0D}--{E!q2WPUJ6dA{jfF`Qci)Q(L*a{;t5vO*P{W7TW9*Fan1wTO4StO`uy{MuUp)-Rc$|PsaW`JX2e_E^{Qy_6|LwxB zaVzB`_4;&eqJAR(54M)|AAhik>Vp}$pLVCwyMs9%nqUw7jq(}vpF(~zF2;YU_X%;S zP;VOUL)**LvRu<#_f0NqUuk!vVz4UH*;pG}V=qj^(KriN;s*Q-PvI~41id57 za%y68Y>)jg1IOb+{0QG-z4j8Hz-xF9J-V3XRl^XB#zFWRzK4786yC&VSiP(1w;6WF z1e}PAaWj5}H}GF9E9;}TLuDKx2J{V9^@&%DdOJ2F?u30X39HOE?@bzEYy7&HeE+md zA$1mOcbERx1gjwIgt0gnKN@a+U%*zpCyrlIRz1db@5p`i%I0c6{($$f{d=-rQ(LHB zSaPnZKbW{CadUjlR-ZTl=a65CpWsN!r{NOxSt0L-+*_)8_#(DgBkx_twp0gce+Fa7 zC*y0l5I5pMjHbVbwBO8fzr?fDyMu+^H_JUs`7LytXXc{}`r{il<@+BV^8Gwqi#zZz zp2r*b7>mmBuiIaUl;gfiQ}xXldCq!6zL!T_vWLkx!0VL%gymyq9T zE1x9yqm4sV4GhMj6D40ZR8_#*I6(RtIj5O=6(`{W{0R5s&1e@jZDdoWVvJj&oU)KnyEh%<$0}Ri1JP{4kVwAjmdYzB%Dt9dpMr_QrwO?vcC?l z;jX4&bRRj7&1kApa0;%*JvdwDVcOwfb)5JzKEcsaK6tZS-};*VUKk+T`$SXK5IbW6 zPQ^`l0iR*TS4{in7>j8*9oOI?%*9F;)4nafgrm`)afVNd``x^Nq;vAeuemx$< ztM~*T(tnYj=6Ie?`-QmJBENs($ENB7;)x#e{j6Wy)B@Z=K85)jgYV!*`~ojyE_%nB z{i7j2E0 zC0m)@p*c?`y$ zn1!?O3;O#WkI>I=SSMbd^NNP3mRMEx%Zvzj)eu`@SB%9hu8T8p1@6Yv_z)`&GS|_j z*c(T2Tns0kM?9Z+6Y&wej+-ezj=y8^!DcxPu@|P{EL@LA@H!SvG41^^43lsQ7V2k? z^R>hW@CrV_qC-r7b+H2uz>)Ya?#3VS5&8@@{RCqq4#sJ?20zCO_$QV~HT~4V+N?(_ zjKV=U66fGL+>bxtV=UL-%u5JHVluvti*Y-i!kadG$#Y8IrpoOl(_dNi!X*dJd z;SnqpZTh=P{0K|EZ2I@d))Va96M3SYu3oPq1`2>y;9X{H~4Y>x>z8CT#Q zJdF>rL^}Oo2ONlFa0%|fbNDxwm-}hGe!_r zPh?zk@l*0OPvi}X;nZn8X=^$t}B@fx~JG5KoPm-_99 zU%}ULHD=NOID8vd;1$;M55^n9JaoaOjMGB=)+)1oR$>nMskZvK74OskGu*^-zr(m*%jcQ$_u${d zZFmf?;y+kwj;UV{uQI;-SV->M^mBS848lm9H(q|uMt)!Or}!=2#Lwk9NB^Ag5qu!( zpV$4K_zGTpSt&KVl)8h@u=D_vZ-8wu64OHEbM_vdY8=kT4{<-9#oOrC+_bBJjWHbi zV>(X8#aMobe2yxAKcKR^xYbRqDJ}0YHx^dA@SfOqXJJ);mOQV>&wa0c-#oW$!7ouB z<5iu*t}0mUyxvuH7Gu9~Rj-ntiRl2y@tFOd{RWokLFud`hB6qrLZc> zS7ELB^@U{nXS%5uiThzg9~rm&9qJA^jQmXb99#b#_E_?7c*^$<W z?|k;h>hXKWZ%cXp zFJ4TQYGo|^qAA}l`F)n}~VG{)V5@?Mx?lm3=cZ%=#KujTJbrZJv%lA``QTsg#(a6TrTmGhMReWubQ%;!t3 zF$1UJa@>N)@LvoVY1&T{J6|rVIuaKfEys6UIXPDtL$Noe;Z$6TTksHG#MSga^<8-` zAKF6QkrV%oi=paY?9TQ16&#LZs>%7{^CD_CuEAaS9sZ8b(A(FvYs3ENOWX{*ViJzU zxA8;HzpIGfV1NFE_!wTodpMnOFJnD#zb)Srk-vNYRKAboJFl>6_>SCX%ip_CnlI1K z^2>YOV$J?NoBgB@-&YD==wkglW}An|{L9~6`5Zl~oAs)O5!CC4buwiCmA{u!iTk}E zY)Ss}@#ZRrlzp^s_dOwShpFh#R_hWt;IseJ; z`PhPw{N?;Ezt^LfTrah+vt3T#lzErmFL4w9#!|nTd^HTf_85bMaSXnN%W)eX#UF7X z>o=jC`8mv!GH&b7VG>*1%+ECq#j!XChkHo5{QUM*e5aV)_sh@IEX7TD0MFxX^ek@b z`(hAA;9j=lH+Y$!PkW5_UNAo=agp-Bu-r)V{NaZg%jLOFe%@gw^Su=7vAu>Yllyl0 zxq#_-iTx>v_U+NTv^lPN5+`AG$*+5_u$orUe7}4o`C0fb`S*$U;70NX@FvSWN%_xM zU)EE9|Fv|2oIhi{)IYV&_ZW|_mg7sl&vy=&hMN8SV?2Nt@Gd^Z63tEh%2*d$U>AG^ z({VC>!aQ!8XrAvY`^oi0KG$x5O~;zgqjynWgXhFU#J}+V{60P!X|`L@QO3=$%X7PY zzWF77HO_pVb{hX;z79<=pEI1sinMQl?$Ta=j-9NJKY0(IF2|pK@7J30u6TTiIsZ-7 z%HN@ClP=fA_NCQ4;%>wjR!F)0J%k51q_m7{egoCKtc*i`KIDH=@9?Xo)dM-d>A&w( z>{X*@j$C&G%c#L)WIM{=wHb@EaSeWs=kOj@8f)6M!G1U#7vK&&h4--NYo>i248wbJ z-OSA>r;5vRv;)ac!ezJzZ=l=jroRB}gSF^q<7~OFmcQF`2(RK}EH%fJH^eYZ#Id*l zKgP?V{yRVqvBWzj_QzSG{`){5;@5Z&edn6;R=7dbe@Eym{1r>gGx?U-7Y~a1?+sl= z*ZC%{gMBa)=ZdOwMfDlZUnJ)(`TIoc@CaVSKhR^bsaG9aU<%H`Pw_b3M2{t=eI0C% zaX13!<7PaD*HOJ|`l+eMb)~Xug_X#+#=e+^%W)T8N6+_6e+{rV{SBHZ=Q;U%D=lWq z@As3x*A$J7rpS3k{(em-Ou(tQ3=h05`_swtDxG#)Mg8|$j^Yh`fQ@F!{lEOZtTy7h zC*{?sC1l!^KmWi#^d-SmR)JiV~wyAzJyJd$@%ZoD$0MAoX=`iRdK6jyF^x1 z!zhn=Uycv?yBFiv%XLxy{>M1->!qIlJ12YbJNylw;SK3u|9u&?+}M1hY-joV2OTjH zU&CGEKJRL3F7f;LzcVrp`90oYM`S+a_sBl`pFDrvt*(+z%KeP|e%%Tw(r-I&HQ=h8 z-;VpMVK^3N;!^wwKf`0VZj|gNk>%88+=qwoTRe{^hs$|sURiYxuaWZPwQFVlZ|kZ`%!uC zG8q@)SU2 zRPx?S_gfJIu>J2BSM?=M#_{+LuEqM^^1S0)Se;_rH(5_td5@@{lfrmD+RuHA zPpo-9S{H4e+Y@3Wmf!1Z6U=kc6!MGlZOY%pvFUE=Pdc(Fnx)6PFmF5+z+nD z&+vQv4JR)$&q)(#Hy4lcJaifFqvv$fl@;`ezT z`UDT)S)A`-o|E3kc%E;D;W&H;*W+h+0e?eP!aO&X#=7`ql(}y%;w|^P^7Bc>Mw_?- zhM?ConLqjcGIg;XzJkTd%Xvh8{=66U({Tna!8drWy2NPoD^>fvyl<&t!oF|KBneV%niI@45@3}o?ycan?HDWt7!*D#o=R1GP z`6D#2h1#}6_V2hB>Syxbt&;a#-CL?xxvnJ1dA;-8=BhQH7xlmiE#y3N*i(i0$@g;Q z=Tlwx%JD3Jx9Eo{@}4juRQ-;h{2LJUy%{XHjR~)9}!|QUrmfw3C z`>`x%Ts4&=?%P~VHI0+y$nUKidQIl1S}irascheOg47I5k>%*$uNOhRke}s#Mt;BA z@TSSN_&5E1OTD}J3FF_3nNQ_8NPd4-XW3uJ zw+~eVF$?$0{Cm6-s-{Ss(IZqX#3yVQ@2O@x)x`Gl+?_kRfm-A3qEvbVwGF?-K2q*G zrGfgWoca9+pW{`G=6U@I@ety2FPQql*cB&JJ`dO8Zu}Z&m6!8V)rM*y?KTjn+xo#H z%hN?{k`Tm9co`odQ z=iP>?OLd8-G*Steh0}2rzF1T418z1_IkcOG?_wn7x#4mjl~r7MbTn4RrWlEXaF+Nu zr?^^)oA67#fOoM_CsTin#CkbLI6tTlWWSJ~C;5%@!wxwfZtU|@GyG-$ztmWb5ze!vctqCc@ku`w!tpSg^IkmXyKH;| zt8yQd;U#IWKQE}Vz+8X6ejw+WiSqkvvHW|oKgmh7oZSEE z^YFQaF4p_u$#Q(R-QlHbQa+pO|9etTzfZqPy?agmsA0;xZXaqnI#^D4i;{Sw=6 zDfzYZbCYrWjYS`t@m0jSctZM#-QPkj@PHJ|Fbtdd9k-xycLZ(2^TGrsWKs_>L$&(9e z8j?Sozj4B_kYM|a#HXew43)vtiM7l&G5N}}Gn)k2=E9PEYUH&A|g9k5(XzF43+&UUwV-2v+*hVILTKai+OI+)J_OW$=^a* zQi2i+CawJ@O7-}ZbUM^gat1+4cG56Q-g0|NSBlF@3$&JJCdDN>cOu73mTicpg>xn` zC+`C6VW;rO@Luh@Mf493i;3tSZi!1A!btL$IL}!AvW(1>G~2@SmpNwcIVF~?Y-u`( z^%|6vmXsNnnld^mF*{{gk|jIcl0D2eF+t9&n<7!(Inx=(oLXlfPo?n4-rZ$QW5UBM zvXSXDZ_*+w5fWUm$gu`a_4R)DAN6I}?IY9_8#j7U`eu7$d`2-jE;r&j_DYxEU`@knp+~<$*ILUMr#iRa|PO)6^%mzQaLNjJ%V*| z^PNPkq4Sy3B!*>J%n8o9RYLl(jJQnOhP75qOi505uHv*OTg&ZNDr;ojs~w|AOV1o; zJ()W9;Jl+)8#(qbTbOrm$(OZmPv;J0@5*=D&R43>;MS{_b&ZoV(}!74>W-B3pzGKV zHoZiB_2kGhp;@hdQQ=N!(ij~&Hn=s+h)WnM_XMxz$kpFImAanOdJ+cO2CCznwCA<# z9n-9(9>JWd(=)LUmKCp*FUGN_Lyy}GiiS^t?K<*b7B z5FVbCnUZWfN7{n$K2esauHpU6CXnMPKv@dpEV7%#$qj1W0&{ZBn@dhflOwWVP7l05 z-g?^2TUUl(U;sKNmx*M#A1Y8;PWw6f0+P4Dx})b!=>wK+@|=R~%+&mS=mzF+Dp+4e zq|a8v&8_2ql;_0%SFzq2&s&@v-Ese2@ZZDNL$O}e3XUWrCq6Yr_JaQ^`R`7%k`i(< zQ?f_t8`uJyUQdqx|Nol=Yx#dqf?Ppln>vlmx|#KUExBI3EUD>o|7ty|&BaMS-06$E zIhkZ9S>)ob+viOVZ$d^I1v#D0BVxk4JDm!wVQPB%(EJw(edWkxyIXtaI^eiHvn3q2 z8)OpWvg25|Et9`@r_(c4tSeoxWolB|pzOhUdowww^Aue;&gvv&;`6qYgd9}Pt5fg> zL1!$EuB?ZOKIl@?WN(#6D%*8dCOwNI>3PNa$ViVLl9XT@f(a~Ha?j2XI5?8X04qzCu^wA96UTE^M#vYnqZ>`AA`1Ma<@tJ!bJ?bYlJ&C#N7BxvVIB<7g{ zz2T!AQxF**6WyVm+!BOGcIeeFNO0B*C@MJSJpJYyU%s-a_Tf?O zdbR7$((R#Mo;|QGA*ySK=%$v8_#|@*%o7I49m=3|xx=vTzI168Z0p3@T~NMd5wkEN zv$XbI!#d`x?#P%1jyUfCgYu2g8e39^%Me(Hp^3>UBAMyu6j;^ftn-1*qwXgQbV43kr>?c(NCpwDWKg7~yN z9mMA(+hY4M79G_!!j`m-zQXLyjB|^8VVXRq=C2}+ zoUXgpeoSn=KAV1>uFlr1OvkX4?3Ce2G_@w>Ha8$1aoUNT4ut2`bS$HN_bBdSom<h(sQ`;Urx`nrkbd1GuBjCJ4Ic4qL zIprMvb!?x%!~8F(oyM5I$li7S0!ROp6kOlD1^IiTzN4Rrc1;WR;YixsJ5o+?8&SuS@)S7@DNp|S9XXa~e+^o2 zQt}tsyUJhioZg(**IwN*bVth3)_!M|=LoT9?MsiAcfWb6#DoME9K0iGZ|F!l78+Av zueIKfJI$swb~MQUI@qaZ{v!K=^A|Yv#v3u`UPw7wlW=a;F|^$g~Bo!Z)Sj^=$L zq9f$JcflU=7T7zejAbOn7VzJ4#rDBV(F5 zVrvt9Ba-iwY3@!;(sqJ#$~n$bPRV@dmx3i`g`D#C^MG^CoClmT`Y3h^oex2$w0*aK zUar8B?YqA0?M@BY|D7`S9oso4uVJ0Se7m4?iP^pKWNbT)Q!>v^VDkAktu1NaaONhl zz(&(I<@q<7J?Fg9?8yQfEq{q^>g;)^jpoSNHkv(SHkv)myV2}vr;S!HS76C`H=4bH zeWTekP8-dUvu-qdSYV?$N^Bd=DdX5^_GG?|rt<|hnn^lsH0#Z1V!Av<#M?d~PnY+L z`W1||NInYSptXnkwU<+ArhImuu0MLQSICMRZVRn9r-Rc|67-X4s=WHr52DtJ)|;=C zq|`)9hJO8R&FLGcg#5LwA9%Iv)~QFYXzL}#5u1-QoMP+8fKIVF(K;n$q4JpHl+bJ9 z6k1O{PO%IqZ+$(&Ve-(RPf(6}`QvDFFgRDx6Yq$nLi>nL@~OIYjXF5}+giuz$G)D9`d~o-C2M8zpP7kdKu%0 z9kUc2(TTmoTB<{*DJGO#X?v-CzIB=XRBtPGnl>qSdZ{80eC;~0B~8rK{Z4%&UQ;^5A747%koZyWSl0# z8nuh=7b&YM-wuk)(63GP@iIyunJMv^wns?k%&@qjN%A(@ysk9`a!kjiTAV)p)je9j zC1uHo%Q3Hyb&496?7{l&uYPjTS?h6}lbM+$Z#9Rc%c;VV9ub!!N3Hqv+d4`)J>+X` zU4U~tdHE|3tWF)}q~#fk8FFHh?Np=JHBrtV^1N)urC%TGuPT^|*3sz^n9#YESyFP2 z{vw*wM<;rq=Ebb_iCKqz+sQYa^kX5PbJ*A2USPX#%Trq~J1#ZVlAKtuC+oNd$E6L@ zuj~J#Jh|X68M0zCh#@?Py zjvJPen!l=<(LD9itRFGtNo8cFXQwBm%g2y;(phqq(#!gfG@q*!XktF!v8Bz{c64FM zKTb{^_WFaq;^i>6vn( zvv-%3lsVjbQROROj)DS{VzJGWB~2z#KB02%hT2YZW&7k$_h|lY{o08RtsgU4^aSX| zE9=KdR55o9x{~?i$@VYVxy<5p+WJKmdx?A+E@u;`Qj^Hrf}H-knr=8)-i|rXyYD_t5tO796Q zUXF$Agba(URjT}&Br_zLUQ1GDroQR14pGPE(|V^+UkYrYbdn+;@UW}vEhm{Y>v!|4 zAFb&QY-eceOIF>`tdD&&#aq8;pbHXG)3cIHCuR|{{nMFD)r=Mi0o6ZT-%qZk%jM%SmO(iBfftT&7Y}s#H*lPR^uP3(+ziEf>b9?iuIZey#AV9&E(>J!H@s{~^Rm$v$$pzRVXjfO zV(Z%JrjGU|CD-7rbVjZRkTp0bJ28EPBg15xP^RJ;jXRT^IQR=UcmitcRF(WR8^L?6Q&8`2G=U?mKoYqr*UPL}2p&(1QH+4Gnh>XgDCR z2+1Rj^ED}PkbKQcZdB6bJ}g_FSDY@Mx~a9;EKGiuLTc#hCQg=f-1C}AK5KA#j=X1Z zx`gPy^o_Lj%wYeQHJhTJu56pbcHfaDPg=HomTXH-{<^_1`I!T`I@=FJqDwjg&9===;t{OO7p( zW6QMf77-a{{V5hX3gu%{Yqk7IbC^fUl-VlFQ6UeXd<#)JwwJK8J7x3<+IHn}N~b($ zaVA$_Y5GB*hi%(qxbq^p*>>t%cB#DUq0d79Ul+RkIb-}k*4_oa@~kQo4NU>nSaj-Q zJN9VLZ`vy=Iv|xwRX;`;IhCXikjkSfRw_xKlT;Nb3O22Ej14`)0N2qA z*U>9?ypD)k;^@ULkVm8Pk_)ZlDBueOqyeFMcHi$?Ywf+)-v514;P2+wUFW~Qwf5R; zul;^+uQz3HhwL+@)z8Y}!9&=Vj{Y^4`iBl2M0!FwM!J)cZnz%Fl_39^vfZb+aepF-0%+QBTe$?6 zkyr&~XlHpb6OSP_c6?+$52j#FE+*enDR4rL9eLEO3@2iU=FyuEVk3=Jbn57I4sLG9 z?23`$N3;<#1uS$rIUvRg(#XLIyulT06y?ws4K8Sx3kT5TLY1F$Nh49})!kUbPMJGV zap%klZ%RgsP%xv3XlMy8Ey^)6L~=e_@u2vG;d!WJ8-@7XR0}&o1;B7LH9f5Jmd-4k z7aARs-N481#KyW7gPisYmpkYvflPq&m#d2fS8B&jcQ!CkKP`iBBq{bF9tqv5;A9{= z3=K%Ao|GM-s8Pf-!`xU?n=YK_axOV$SxgulJi#I56tu%ODgU`?=>WpoGDyKKLv`_@ zgLc_m1pzjMm%Yh!avL&#S*yu`jPALG0P#>7XtHX9-`J8eW~p(aOWIwIOSGYhnj;nn zm2D zAPA;HuoS;jEa}R0C*Yz@XVf~{5XXO5Q=Qy6vn;bC==rjL@4uLGH>!Yz^(C}W@T@~>e4JBM3@r7H+1z-O&(KJg=>@v^DLsd@&7%CNt3DtmnTL;j-ov-zEV4^%}?8LgZ0x=0b9169L zO;6eCfE;e{NX)m9$0iz_uaJQv3(`}f>j4=gE^8T;vtC8oQZv?>9)`k^wTy_d7O>?R zk0LfG-)AIX57W~3A*Hl}3H6xvyk&~WxkFDf6l*M+oRAY1%D%)oIgF3Giy>{1 z;#lbs6rY$`mrp=}0Z{l%%SBTR-ug!JrIY&1Kr%gsnFr0l@hs9(cY)(so+yL@@N*U` z9L5w~giabqcX=Bd5)w~xJFZCPhr_W`X(sQ)MHv@a)hR=_=wyf9G3yX5Qgv7sojMeY&N%#H6&#y3T0S}$ zf#g6EL|*0!{BzVoOc@yph=l~FY6eS|&|Wqyc92FyveSAx zu7V>rTA}a4e4%F742AvbSFWBlh;AKI+Jzdslx49 ztlG1m6{%xbP)C;ah_1nxV#XZY6q7CLN8#8QklkLC5z=D6huu9!3Et||#bnzIB759W z5Rtg8AR_GF%2tAilvfpvwC3i^oehHJfeM%3(I7lY1=3USbQSv=gnzCr#}f}A8OUNz z)ZN~RZ0()Hxf2D-Q;|`<6Fm{{yuqBw45t=GPAwcfz=gG81hjZ&VG*r2F0kP;h`Hs6 zkGe;WVJ{TtrQ#w}LZrtUotojJQ#wg#*ihjiEOY`QMRK~hYpF(d}+8cUtR9b5L(#ZAzCxgC@6( z-7?EQz-k%pEz2)xoy3s0FLfThly03m-Qi*H1#FCr=O|-*rr8Wpc(7-r%q(=fZ2#&q zfiACZZq4c{SRURvkkeyubu=E1V?Hdskcgug z{e5on*t7F#d(qHvqE&Rb6eg}q)g*!_%9lR!!+W{3NGsI~!Z5QUmpsth_IepH4XTM} z)~J(XfOT@TNF+CG5-D}7c(Sug1Fq{DDR2Yc&6LVDu-~@QG0Zi->Js7?;(h>x{>5+>D5C$s_*9Tg;6WeI^8 zXp;J5OPPqYWzLhcQRgDPvWpzx+Bzu~j`Fqm)G&kjx?i&i`!Q+>PYXQ( zNoh|I9b^JArGlqh&p@m+#N6kI(HczxV{FXraL0~XfsH{RX_U`&PtL8L)G{k|yKcg6 z#zMDB*YL2251J|kJIQSqya+?KLI@?gxDO&Cx|O1ERyYh|8n~M@l5~GphDhVd0eonY z=Z5i`BZ?z2W~x}Nu$h*lw#|Z+@klz>i^yqQ^_X`0X2D1$B6RVOvKVuZ>-!{ze)R=I z5D6RT;`Ax0NlIs#*L?O-#3b~sSs0Wn*p|^sZDZ}%hpx3WRj_(nERjlyM`IE2Am$Qe z@169btqy7SY&Dir!PL4-j?6UnPSz1rPb#5|h#Dji+5Lze_Bq)lGa>sy=u^^TQClUI zCCIYHVqPxCi;Sr{1Q&vUI+jN2?yQ*;vyw~8TMOu*S$!<+VN)t#$H-)mb}qDK0!Sae z#VaeYW`Tq1+^;EFtVYeNQ;S$?PH{7rD<~9zik~eMVxpOem?$fkctw}6r7FiIa;k4K zkT#12Rq~DIN9(7@bn}hMW+XD)-1jCbAf&0>J51TA3}Yubrlx?}O-?b2+)9x2P3@`k zB9t>`+?ubvH&FWQLZgMPZJzw9c_x_y1IrN3x0u_=DHD4Jcx?y`4Mq``!dzcuM=P3n zNc;HKJ4bo3<@a{?4CV)MiY9W_kS)w9FLdB1V-|ZQHB(7AV1XIp;-|R}I1^aB>LAv2 zF&&y`W(z5eu~HI8X&pBN6ZN{u>M<{uf;8%}p^y@o^%-+gtTkzQE{W^m4!T&?s5E{d zyXwwUA%**{okI&+?0Q+4il(yA@Q^xdOHw!F;V9&DN2ah@nnGzC)s|oE+_BrD2+jv( zG4t{)izWW)V>9g+uB~E+89m8on0Dc`quX&ZLe|thqbqGN5+a>QIhobrvSbEY{TsY# zn?qMnRu6EQFI|DnAWGJq-y)Yzm5FesZe}}T+F`ShAZ+X`SrwoctYdRTA9x(p4xL2D zEIVuhFI3LN(H+H2NszZqOmTus9d)e#1PVHW#Z!?zy zDF$s+vk8llaFE$u5sgOr_6o#^C|PpV^vu}Q+}tEimEsVbs+2)ZCK>>>?h3kgxbs9a zS?0wtaPw@~eXtu(E=BY_vAv4h=dpMo_s6k@wUp(GkDA}K&>gx$UR7?%0JiC&fh&v2 z^BzKZL6UoTyW0u%9X0SIDFlTi#=aIb@j{d-i^6C!oc49rzCyT987s}0AC~y4AZ}QW znc72O=7zM4l{-KqGZyM`mmtpxv8r2N38^4CM60@xoSFy&I9Ry6-tBU$uVf9W4g5m-PkhQD;rjhx4QbYyJ z;SP;4D_tHzR1a`dIcK`0za+saw-kbq(=EM9aub%~szKQBMf}8oQYZphmQOr-HLA^e z2rLpgc4ed|C+6n0AM9Nlq!E^n$fPbdxz=0UP$|eOnYiF`oCs=WdU9gq4&2d-W74ka zY!W0Q)}8D_MIvK%pUK$}8!cmZ8Pr+i;_0e?Gk8NT@|=#Fs=kD}i&iY>ct?Y)%Pzn4 z6J^?kBncZe=$3)0W>{2KtLUwvJxBILieUI-El2dIStdHo2TBW}L=>ChY#s`{J}^RZ zG$gZF1YDXLCixvb_Rb5eM-uSJik&`51dd2-cesTluyHRT^yl`%05xLfNLZPb9t?Rg zSY`i-r^%H=5|0$v`vBH+^B4)p(izkdAgZY%fZ?^1rq3aXr}L=;6DtW8X4MvuC_PqT zO|}r&*@EuE7KG4eO%aZ|Hlv=WZ7N{YjIL-JIv_Y?=0F!Hz}}@*Jb2T^D1ggN8`8|MI~y))7G!G!d(c?Q&9%L`N!K*mC3bM4 zVG4jJ9C3e^WQ5w_A+jf#fVrGfe7 zYza!I@v$83T0_CQVW- zql=(sjq#v>=4k#lrB z6t3_k`(2_Vh%bPGDcp3PxD*L&af_CSL%qz~Nn=L}zG9CK-xcN{2Y17^Z@;O1h(%#M z6nXh(h0m@0ngobcawB1vmL##A?7)ZSERHj{(Sk#C>QjexYdGk(3tsnI!>x@bKD5nT z$BIANp5Vs(diZqV9^k2#fN$REn2mb>Kru){!IzfWZ3^^eTro508yXZgW$dGzXiYq6P$mzZmUPuff!;HAL zIbK;B!UsHL^EnQx#)}EzGI)+PregvX8l# zPZCX2z(|OQk=T1urqC&YFpalnO{sV1S~JB>@!*O(daOED+0hYWQhE1?=% zOhfT2sZ_BD@K~<~J(+6UwA@gYgoZ@~EG$B-un3`sMF`e|saS-}g+&6?um}m>A~xhn z*+0xH(KsR3(^HAF`1{%$HnQF+tuLQihleW3ktGgtXa&7bPJ7b}c3GuJl&J|~(s~-3 zwCBgCN5jOT?-$OwslHJ-c=1tNkJHeJsY1wMVxbQr_cRGAJ8k&2)ZIAo0`&bbI;1l+ zfc%u>iv&?t3jZh9aIR(zLw0>2hfF$S$}b$l<0%$?TF&FGSzD)kI5cpsQYhAAqX!Qk z9>URjsr8`+Mm_B7$?Xk+sCEmkV5r;0C$1aZMZ!tU-}0b<{+^551qG2~Cbu8raSr}l z*8%;)v&*D%vJ;62J#num4#X^UxI>?}R-kUgJsX&(4Xm3RGMK=1gxKPxJ;iXxlRI8zzILMzJP1H1RERen|?|P zIf!f_{|IFhH`GaIC%6K2k*v#0{5KRT%a^RpIJ7kjB)&?FoD>bF0Fc+0Pc3lq!VxMe zD3rL7pJnX?zqs*7Hf~D`3O6$aeon2*p<8^dc2U~#i$cuKH@3pgL&gr#Jc!sQ51305PdhoF}i z^>P8ds(>#I;aUO7g9Sy5vX>J$9s2}L`qDCwAoO9-en?feq!?@KhF7_Cq8VGvv@Nh_LycLv7E(b* zJ5bk__gc0W@Jbh_KMH@^P}q>6ZbW0L8Bs}njHpB!NyE;wWmS)=!Bh?n_I1l4GwR2_ z))J9jysqjDgCne*wUaSi=t-gM@Xa9WcJXQmy!?}n19i_F^v2zZY>zGKu3EpT(t$sY|bYCLY3a|xi;|z`fu~A*Mx+{9-G;f^><+R_{ zCumPE!^hS0x8jX$CbM=x5f_I^yfM3Z{lWIgILwXrk7uzCJ2BFpzb$lG`;wh!?DUv# zO-&!0NS9KJP>%~c=QU!g>!bw|(Ith$oSD^I%E6JVm>^z( zp(&5Er7luKe41Y2>T?Ffj3o8H%RNj&bXui?v&lH{nsXIrer3CagSuP5FmDWqRZy5+ z5g*7|sD7en>+>@8^)LYF|m&?-)uBd9prgKuW3#RYWEwRdMgSVj?f!lDhB z4r7Biscg+53l#PpvnYMW*(B+@8i!OZVOqyy(p<(+h0S#*3xewsCmGTWZLi>TwdZCx zJ`Cd=uMO-Bfrba=zCLqHR!`rRq-6xz74mVDt`V|W3?3bxFx`qyhSYbV!akdY$Czr* z$pV$;gf%(!jPi)GuboGdXfu*T^GFiOtxTk5WWk#@&f#ivXX=N+E3z@$Bn9Fkn2B2yosDpOa?1L~A2X>ns^LEkHhG6c6A%sahv0!BLA zX^?~6WiBmxO#5lEu*VRQw6y@W;x9ymIzMX+B-64Zk5QJ7dBSxTEK??o8ZwZ#G}x+P zhF4%gT8!;Thhx{BXP4%V8k39v>ODGY_A-dRFLsYWA zK;|jwFBgUIk#*|`h%zxU#kB=su3FKt zaO@S&Oyd<8owxv>x@@o|!^Q+!u`!lVY}6@(?#LPnkLMlvu3s`pk}9j;WTab#a=qh>TmdiQ3}2FHz3r zBHr~?Vj2Nn3>keYBzJ{Lx5_r$Tz`-@#)^M%51Tvm2GedE+m|QYq3)L+mi61XG@xCQ z0$^3g^}YtYicYfwL%*c~Q7og9tv_W>)TDtS^oq#L?}8MRiQYq~3M3bX%W-JR{VKM6@4F`EUo>F6dUOf5GlD6CRi3Q?hC6tLA7 zGRxeQm1a~;RW13I3BH`3X7@5Yo7&4LZmKTBsh(@vVKKdg&lWpPW5Lv7KAH~p5fRuT z;uUpxJ=jg&z8n$@2}louH7d0xC01>;ey|v)5JwqLhV}w68#Q!1tbxvyy=t)FSY@O7Am8pyI{y<<|CCUDnG zLt3p991~v+-HEL*l%|+Le!?)8xCArMB=u%`fDs7#I zntCLMsgoK#YnC&?&Fa<2VPu+%D~G2IY8s>FBpv%8>+$eroy4mfsua8nhn{v$a@A}} z(z0Id*je0+qmmLzsi%a}F4M+lA=J#SQfT&FIx(3P@@C`U+!7)%Yj;Y6P{6Lk`{l*+ zx>3t5;YQ32*?@6NP0mHc^DH$*8I*CAf@C|7<1md@mJg%L!Et>73>_T0{(9`X_OO)p z2;j|8sgOL7?yvP|E+75?G~@$r$d`)UOWML7KHXe0b#!8CO!nf%B{p4r;!2tlp&jNG z;yLDs<76?9#x0-6$p^XjGf`x>pm~>1#4QW1&WWum zb+0yKn^^5-4*sBiG>vuoPMK(5=9oOTf>vXz=^@*^nktZ3#+F#W*b2>7Xp=fFwq#&R z)q~R5Vp=ZdRNSa3>@r`1wfcS}?CNZzp3}U-x_%uie=JZds~u@#nv^v>Zq)Fi+sTxf zov8Nq)+#r0DZ(r$`b32BVWH6X(`@&xi2cR3s z1zt6CXZg$q_ehyDE_(*Oab|JD?mo~GpK_F(;pYk^Cc2u*LhY18j>^^<ZgLc}tQqr-fh{9Xko-rcehf^xurj+FPd{3+Rbe0KU(L1VDLWNR^p){uAtwPiw5`odKVZjt7%|){$QC%K$a@iqBad1qC z8b;L}PUQ+`MWR#5F;g48IV;ylZ_cXNQ<;-xqM}r)FR>)}Y*eL5_$d^pe912MoNMLk z+wDJ?p^tb}vIZ5UJ*RYvF{;pfn)e}BU>74#^>u})*sLaITT`Q1WP`mjLe#j9 zGM*WQv1kBQ$xidk15*Q!V$@Z0c+#u}ieio+dKK=dmczYP0%P#Oo|-(S8}@Z%*jc^F zkNXF87;o?HCV;&qOtp6Kh8IBuF?SC-y3mzPg_?UUQ7Uw}@3p@=b^ z1q!efl-PyhrEP3-rXr;aE;;bZ;X+0{A78P8_GZ1c4AJ*yJ%PDSjh!+Hu@tD@8J5fk z?rT6}YKuo{mnB$mV(3cK%xRJ%An519lR9#}HzFq&xh)G}X)w1g&tYu_7~B&gh1 zf}@6dADD`eG?aUK;dLWiG$Bi~8co~|gcCm{n=H`sMrl1}#p}P+rER~uXcq6rfjdlb zD_;jQA$*Sui`6zvV3A}Ix88%QR}!r$G~Mwi^T@=^_}Hv03hD7*zSQhNotZ9CmW|jo zt`c>oqYy@K7!rm^)jX0#`nj87+j2#Q%^g%IwArrSb?9CA6ie$M6lql>R-;32yF`cN zFqKe|dD)oKKWF@TUoj@`U&!HNMNZuq;`wa6FQev>EDc+YN!D~{2L|ItC|Wll$-Dtc_6rY4bG zO(MCPM53A}R+1h0%`4VaUAUqod`BOP;XS&n3eC|Nodz7DR1z#&IUJ&vp;4&}t*FN| z3^jb>C0bF>;HG*?XsAcHsUFaZdO(}%N!m5k6SS#bfE(%=p;S-chI&Ms>JfG7b+-WC(+q@9abeMT?FB=_2e1o+trAvhQUKzJ@ikY-f#$Tx z(G|6)BL*uJKK~WO^P0olm4_JaT(sKM{M$8*rN@;MUIAWBm}w!hN>zqkZEw;W8u+pn zcuL7Bj<|dRH{yr2Ff_`iIN6*wd za|Fv~MocV0ZzXpYU9fZ*wYas-&wTU3?C35!abx->+hWhia}!~nzW0%=uyttG~jLDrQPAdhRRthAo)E%^1KD&t-L)kbd z!ZRS9n@x_HiVd4&o zIB%8d49T>*m&{hzb1%zk<&<4?8iw9vS|HxlSmZMjHMlTsm&=tS#3j@((_-6czbNgJ z)%Eas9){d@T&T)Nwm5UpuIR*MNEfFS9!cCSj-)rIRcJa=YO45)?_6Lq_ksCNnQ6-E zoIV+$8ETxvDI(c_+6G3i)FFNBUD{eSQTsc=BJPR7v8dSrtotjy7c{G$mpbIZuwjR$9N zG&i`%?tl|uax=W}RI!B0gS-*r&i|>2(Hc8R@+@!NmpsWEN!fF}5tULSuNF6;X25~D z8E&N5`??f%X32W)v6GGuHwAWPX%Pn|l+%rGI;)$@XO`r~U((W)8NP64N`3G<(^(nBa2fwZW8_J^!l7$s{-wl+xPZl zf}Tt%>nY={@(8-B;E{%BWlY}Bom%azZEkGv^euw5t_@Z;&{L~Gcs--DCHD}38D+#X zMrX#v?!7kYDvs_Yx6r^0p!5^m=4t}~qRJIe4kE1V=n@vo!eK3FeD5eZ(V(uLm76mH zhQp)>+v9lGKCwlpJvZJ$d#bEw4~oE2g23V*W5^>2&y|bY)-)61e3wsLsDrCUIhK$sRc$w*@l99PuCv&Z&5Z%8JTG;*lamNdb|aMD!r(eAv`YK~h&mmu z1-z`_>fjiD7*u9n!VPXgN%iV{MOkv)U|?f8?$|& z?~+;aiH#TlQ>3ChDwI+`8Iz%lKGq99VZLrl)Cwi3Ed<8uEyhSw1j_ zhk9ZLOa#ACCMm*1s41xUwp>+FYELoXN4CS@zRh#0n)JMNXRhi*&&Lxjpqw0*FtPX9~mIX&ea9$>aKb~93 zl2U3L91jJUa_301d_82PVTO^Z%#@uHK8vt@~Zl%VLcrKRYm>NZ^|nDy%9dqO&3@e@%r zvBzb`)EqiJH8DDd*Kz!_euBh&t#q!Jro65k=py7?@v%OkV}-Kehf0Ueq%_{bDXE}~ z8rs7NPvN5Pai0C4;Eq#Y0l>AZr_tD~a^#$0C`q_Dxdc1Q#1qOAs;>&7;}-nK&A%I) zmgd41VXQ(SrB5%dq!S6Kxxyk8ubqmEP};Tjd>B&j#+1x&2zV0jM#p1p@UUShsxIG4AFe=SeWzi zjN!U$ea~1|*YPHTOGZYReJ$r1Yc}oGtz}+P>`)vL?W``dsdu2{zG^r~F`Y07d!EMXm|ZM<=ggAH&Dpo||j(n9x4 zK|Y)UIUEByoCk6^26Ai^TM&+ojvUl~li!hp(K9}SPF88M5b1{YSdS`%wa_&zVn$Tc z$yK#yme0f^lQ6eY&g8yIDKt7gE-jzfM$Rx#0S$*oleib=;^QCAc;{G~jgo*TV(Nqjywzc3cZZn)hf&Bv;9K3Q zfihT&cvYcX=v<5jFPPgEwQ7WCrndd13B~RhIeUjCG`;flG6Wt4E(Q!)T#WlGs zL;!qkd46#xesMZ}>fVlIaT(Q=#~$#~=my13PtGY5_R_)5@iL7}N|_7>7nU|Ov$SE} z(gx)wHP9DRbO9NuGHhbo>$<1ilur-_L8)>i+~6aSabeec7EEaJM<-?xw(A-a;Etbx z_RSMBbKEe7Y!W{?Ka-9`t*|SQx(}I2&?w0SmMM>(Lg8E&chCd-e-2_Q32aFo+}PmS zIVdBGz^F`md27HBmMq}}H>9kgbxV>2*u=b`<5-s)u0v-A9MTKp<0^sa|p6Ut_hmJ%xu=bcs5;V(yGcSkWthxTY6zbo-oGHE<*%yP+kO!Cu6|`~d;3 z0&bk(h0ZGDL>Il9#Z$N!gw)`|_)P)41Sb=jBMX15U-bU9$dP&&gd8~I+>H#7K6 ztz;!f9C%@4jah^Qd_$e&=o$fF@=k{=jnhll$px6W=nz@>Cyqw-Hi|IH5dV6V(Bj9N zvWaTO!v_t7K|d!UiKC#KoBIqb)(*sae!|6{b&94(=CG5lH8(LbJBBaoyyu{d(Q-(t z3-LQLHakCotu@lc@<{Y$9J!ad`PTgL@PtqFW@zTsFz0=CvItOs8UwvNXgX{Eb}Ia_jv2{En}ligC^K{PhgTT zH#U3g#K_p>^oS4Kq0zs?ocD>NQ^;+znd*45%E06~Lf-Gx(MjZ=yll)(MAZ3?n0V*w zM3Qr2>C*R!VrJ*oo5;jMqB-4z%*oEJ`P2cH2Xln^D?=>b6c}?v0cC+P&P>USC#H@= zlg&LCY?)!fLiz|(X&t_vlvyVOf^`z8)`{+5od`thctow^kZ7F@Q|n|9t&;(29S1q< zMATa+fyp`!OV$x9xJ)MPm(=yFhGlV}Ew6scvv|VYS-x|78OPqaI3#ORB|6mReNJdD zC?as9PZZuG&T-j>Vo(>eyBo4flK{3YQ5G1qt-*ZLHX9!e0x%UX-J(Z>%j;|&xs{u* zW8(07(mT*FVanOgg@$xag+mRQ2+Z_oZ=L9}%|t_3c*53L9~oT1Ad|pD@+2E(Ok#Y5 z!a1}UOYYCWy{nQyfe>d4#UHw7;0f`Kl>rk91KjgiNH`b*&xoX1&Ff$P#Mn9?ajVCL&R`J$sUml->ti7#RAW@vU1~%eucqQVA(iG$3 zB)cCa%DIQQ4Y3cch-~56$27G6m8d$BQ!=29$Ob|swvJShRE=-pC6920Sj4#G@KJWv zRwdRs)v4wQ9a#8CCJao<1fh8YmwVxr})t3RCwXDw;s(DEW&$!JE9cLFYlj_1n zs>(u^aG%0Jnv>cRbf9EiKV^nx56BF#E?rRnznCZH|NnNb|sC{@Q@;G^r8bV0&*+j>XNgYAiTym z)Z?J)pq~72U>n~yZd^?m)~V3MAQ4g&WmF)W=pv^5FYY3gwXPVrwllgRM{@>J6C+?= zz=PJt{Kx1t*sZI7W?^d)vv8I^()*_=P?^ixT?NfJUqtQAzc1E^ADBE)6PJX;gy!3>#<_;~J^1 zUB$@c&kcPJ{laBz&Gz;R*!c?BOnl=mk~yMH8MRbUc2J5W2zVAl1$Q&PayZKy;LNT_ z#pa2S8$99_U2;<^XU)z5Yfp{crWsv%nJ%?7P`r{3Lg<$kMy%**lxCWc&_7*_T1^|J z^$F|pX+-ahbP}+URz&-zS0L8X%xHadtfd`>RKtDd3uhaV*ISGY%!`5I&hy(>0GK zrX8UikNH7^ZOu&$N$cU9!cw}EEV%_=TO33~`Em^1u0^bCC<)g_;zj7SwG#{60!U?+ zaIK*>@#5NOhpr}_Xqo*%BgRjCVJ=|Nw%(I3#hG78yWqkwK>fMcxVYmam`$T}w^vqH zjW=4OkjD&kqly#x;+9vw<-N3|WDLFZ!36K?OZ9SI98j;Ygg23N(Sl}iK5P0#3#c;A zLX5G3N$h3FWvEd?88Rn1ON}M#)CemWGH_0;>Y+yH=K*Urnv6A1B+_HZN=5Ccsa(`Y zF>&*nG{Q5ru9Fz05M+r|MTNf*8aE6R=B8gl*2uBp@7;-<%mN@$vb~$!ssAM4bsbS?B?+S1m=?QLVF^Yf-+qfJZ z1a`SqiolyU=rm@IVNpGUx7Yi~FhU_EqNSYH@%iz&*3DRL;=+Z6d8BnTtUh_9uqXtSRY~K#4l9k<)vp3KFVgG|ZNGOkw~ld|qCrh2s^TP|fiCZu-Wm=h3+g2%2V~ zDUd29N(og8a)L^6K$7CXD5Z#&3~ccf8E=O*5@ui87=ljWtSjzv!0fZbSFr1GeQ8Y& z!tPGoUdQxFKcCxMD{Rg*6EZyRs9Qr;<`~pqHpEm6Eiwk}4)i)G0h@^+1KwpXYGjr( z?&0VyEJZiNNM~;W(x*-!ICXrXA_GfJ6dQnKu`qHs2~rG00Y!R8pF&`w#2qWNL59|kY9XjYD`W-_n74Dpym`?V=58gEOEGfNHM%)_#-pzW@E90g1Hmj+DxNw) zm3ZLB#(M8d=Oi)+Ie!z!iB+)MFvxJ+o*i{UB93C6NP321r=|t%M)cUCk`3zV#cs+_ zIWG?ht3aOA? zZANk$m}o5G*o2o*BlAhJa-s+18``b;`Pnv?++(w2*sWu;6F1-C(9wybX%B^ZHYil< zH?$3i4Zsa}|3Wrvxwa!=$zR~gJ+?=tr{>3|!oCd+6RZ)>1Vl6waw|3`VA3l!Lk!+P z@7*BhcVcetIBwa-^8%PHo1JJ)WN-ikjPL#~stM*<_^67Xt<+65}j}B!68907g zw)2Q(r~(REB!@NWJ=RD-PfUs8Q8jo2Q4^MMG)U^OAU>fShhpTB7@x%C3PR2q;*(e_ z@kzv~(J|Z#p4>iu2@UZpkPyEdcJb2`M%UngRGD~>f%EaaJ3;qBM!H^y1A4e)BvOJ$ zT;zu1U*VX4gWNrXjg^bMZd*yLl}pUtcr0OG2B=;T!5$4O`qdNLTqHD)g4RLpN|za(Tff``k>0#5vIBj!j@| zu}lg`NCRy}l;5CKxH<93n`ePM(Be$hz)mH`LT`8#-f`AcqrP(QO4dkmEE> z0MJw+OY!lC7`i*I8Zmcdb*XdWBoAdES5av`CDb0BJ#rMQzVfzd0<^VEZj4-bivq&( zn2cWdoM;0^V|up6t|yrbcFfk=_Ut4ahXc3pe9LMfM6!P3;!ueTzzMOFTm_$$ZqJ0g zZ?n=!%bZ{@9X0TZk}M3W0;Ysk7I12$;mgQa!^fg6tIIqvBeR)8qBMEXrEeHw8fO>g z<|fhJGdXR$Ogh2JM3OsfHMQ-)vuq+r@bWs}h~dcpG%~pNK*+nH;g+0=O`d6UIfIZO zeZ1BD>G|kblqAM+fFLf^hGq$$^H_n2ND9~p9H*C;HwE6{5jie=9VZ6*_)p z2ThXg(@6wcWfzeoSHuzaqIiiL#hAju**<~iCQ&&`a1oSqH4fU^!iDXg35Q-*Sn3mx zt^uthXRth$I1YC#pw5XoO+s2)F2&~Y5GI3gylP=}P2V+2!UM4xtkz$NGo1NIh}00t ziPotR%Z0@|w^wl-wW1a**(Xt=5ykpG2M8q|sYyX=Wt`lX$?z+yD7d;8M>4FuKt<3> zl(wn{;Dm5?{C^feY)$EiZK*i?seb}2A~GFE2kvwCXZ{Hl*8uP?b)JBRP$)BUNd7@# z<#GgT#*sr#;sn+kMsXiwX!m9#pbcMgyJOf149#J@*HN2hF?cwV9l4Psy9;tRuH1tI zUFhEIb`zE$79Cl`PLM8X+u9KnGU%L>z~@Su}J+NhoL?5wBnZQy@ClE2OcDmrFAw zmli-T4c=_UR6yp{`PQbRCjW^!&fxlPl4b<2o8D zx@(Ia%iAoD5(GfDwDJ4QChog*&O5!6bxh!lt!4mLaBN>5x{EBUck<*~bVe;v!Z7dc z^slPr8Je;!8AX&21lvI^K-aBQ6{YM;zaqGu3fNTN!9yB)(jiE|u%L^&OGU;qhmTB@ z^sw0**U=a~OE(n9GhCiTo@m-%z$|itL`#Xw8$xR$RS3j9js#r3rZaY>pp?Hnn@Waj z2>DIESWBtP#sGmRmQGigMNfiTd*pcAC$QGBfzH)=OC1RT%p9-D0dOzDs~s7&Va(WI z7!&}Fe&nkMWpCf!9ehJ`eNwFUFhLD6TqFPVWhd3C^q9N&AF)r|M zLMQrUvQ~{tLc_QMrura+7KVT!iezh8iD1*Xg1VAZ^;R)1{Z))BaKpF(&5cX6FfO5B zTsG>G>^QQtu*Rh{o*-f;-4l=>ott}+Y|_1kO1)bWV%piu9x|bT{+?Bj0gYSsfpd0Z zsD13{%~qWT9(E*^#*TpIt~#xK=HyD@Sp(?jy`(w;<|PaynYCCl!y~`UB%z+<3qe^e zLW9>Bn_6?8s9mU>;w#jHd5pcvHQx<7{4;Uf9EUj3v2zfkhm6P3TKts#KjMN$>?tJ0 z(C^5#%1F+Nn(Zw4qOTHl9+-98vdwIIWPS`Aq~~XGlvD#VZ+)mK(}%o{=t$IqyNnBF z2+kfH&Lg7c^OW0f8XjuP^%z|IFJ+LLqbecc;$N?dm6AdUg2iqMY6qdrjg8?#aJ>y1 z6M%HZE|a*JufS}yY}6uj3_r4qAXJ1Ou?SLLOMwf#huaG$a5Fhx%@ju$MwO@A*nRd@b>ymg2*0900BZgq2<7rNMrM{t^aBL;DSnkGvFBDr2WwJiX4l=uS?BnFQ+N zo7j^<0*>2;ode{#Rovjj@#7b?ad8-C*)qHaTe*ndC2!G}-G(B`vKmAcVEc%v!oct} z7PiLf6%R9GQ)nvM-P5o=reO67->{KH&^26@iGx(0kx+ZnUxq`@ZS=Vu8`2)FO#w(N z;jvPS^1eU_<{2=1a>DtP=;v;G2&4cx`;NrVRFP+*9N#8yip{57863>5CDZJ=t7ZP$iuJ&A&Ny|QLI$hU~C`auoArJLe7oPD(#x3azRf3eEw&uBu;B&5gBYN5)xI z$~z8O{1VMJGoTKTjSMcPiHB_?s;iUB9UDPZx$J0c%7-SvYSIQSIn$i*~69QtVv13QZMn^GF3Cmqhc7=-- zswPXx$E+NLWjaqzw??u3uaQj*7cIg(t23`BchTRFyWWzOjEqogfl0H|NK*47M7d+V z860V4LOXBGH21`2@;hoHCpcOoQ#e{9f9Umea@8=Tan~*{((Xg83Y2ELO5wf%%gA|1LXfNzU0w~cG^b|G-tVv!P!?KzjYsVcM zw_-rVK5c<%IW9nny2lzmo8F=y+f-?LgQL$JPX2Q|O5sK~Of;$bUiXraB$br9tf)}N z-badv;LPIT%ko5meTvo5D8-pxIdjw3Fg-LtJ#$`}b~RY8V@Thb7fBH0gGip6$s7eU z(9o& z(tHAvud#CqFTBkWJ!w37bh;G6`PiJ5B_Kz9KsOWV^+ZRMG`VS67+)1&7rQ`XXpGoS}3Y?}}rqUA(-oesqurEaw_ObTTgdoybzAmVvIM4AB+ z%>zQ6mgfgotre75ZRH;1c38du$24BSE=9gz!Qr9V3n4_RuER?V9n6P;O3YOzF@V?` zhzL{PF1N}>kg$dOK%07mPDhkMn`G5wMoCp=4)?DvGrpo;%xHb;vYh8UPUA?0%$F9u zk*K!TVA$bUAr%!_Ce>;zSDDqwp+d`Pa{Xt;uA)yOV!E7j+@;2{(c9~5lku1@mfPpV zN9+nS6)|AxY-mv{@U^wo3Xb*@Ar}NHR}-XoQ;-@r2@(@f8{G$8L|-!7#%b=$3GuDx zzrsd|orEmA`cep42bu+|!4bA-Lxl#7>tGU^rzCBJ6pOd7t0P!c*b&ca?T9k^S((Zx zL75Wtm3WO7YVsN_tIit?sZMW@Ld9MZGzVp9S;c3>RQ+af)*;C#dF`B$T+bxK^)w$6 zI7hp<2Dk)$Eg!j=;`L-9rEl~|tVEA+J$j_{i5^L{=n-#5PtY=Y1by_Ra00*!xjc=M z>Jd+1m1k$qLK!tLTdw3j+eYSgE*tHZST;J*eM8`>O^5_*{bKv(2yw?d!gX+L%p9gm zNjYC=uN)h7;P#AMH+h0J>?6!&(1Y)r6teItDDR7&zkR+vdL*owVu_NMNEv9_DhEq9 zI#xMHSe-NvoZX7PWh%-Ynm;~~y21FC3a8WA=omWCHc%#+!?a(-usYv9f#V#@3#f22 zv|yD5T{V=kS&}rbm@Gss307;A!Zt7>GAE3WFd6D-nD1!o6C_S9!BTz2 zO7#<3c+b@*TT^{a7w9F81U4XZ?B?VMys^E-KuZ{91-lp}!osHR2Ak}fE&b-YF+;@T zVX6!w&oFH_u3^q-^kM;qvnj@8DDI@yZ5{=Td?si9a#;0?ch?%xP|hApG&Ot~L&%~I z_7;HCp|a^ok{CH+qYrs|6XRS=r8dak1WxG68dk@-`5+IAbFEEOb0K?AP`;`JOIFjL z6tOG}sj0Zm(Lgnp)o9RDB^rb)(IDK62GQN4L5^lLh`MM<#Rrq&H}1cL6OwTP4y`l3 z>BDPFx65N1Ow8oT2~XmmdpqT0I_w06Q0B}qZBYoTz{lq&CM7P|IU=Gw;LDQW^172u z{L2-5@nXQRa{?=}I5{Ej+MGMJ+F6q$Q?_mHw(*JC$(iYCEbGV5_L0@Cu+uAnH|y4- z1Wd?Avg8h4Wa40Qdis{*GrI3TykWQW$F@G`Mp{tnurR(mY1D zq=y8OAkK{m!~wPqt8;hq6JWuSUTOOtK_h zqiK~{P>?r=tm9FmczFxxX!3;zUVEU{@kkcgk`Uur5@HlVu;EB1K1P?~y%d({l2d?E zkHFYZK$e2cs=C*$yN$cGFa{T+2pqEnU3SyBQ00*^xd}Zvx#QA23t4tx$_3iOBeS5j zkdzP(u^2C&8fPZw;d7mlR6HugrDjI2a*>5_26}hf=MFI~PJqaifba>T9r>y4Gbh-{ z1U$&rxzC7}-fbAr@NFU6)TwxHD65yr_n|p^nn!BV^de{<<{}NePEJq;J4p?^osv_x zhDn{t#aufYDp9drW3K(#T)?G?&a$Bak{NO=Y-0!z?VHh3Mb123lCXaiFOb%Kx;nh! zRkqL7{f0az0mu1n2|{~eAsQ?ZQZ;bq0Lvz(hry_V(IXXaMEtBn1gTceW=K|?xuY!1 z7H8$TB&3;xGK5BP58=q1fpE``$*V`T7&($tH=vD}1wtOX0?lJsA;xMCv+Sx_&>3aE zh-t~;o2QbNVq8f(8NbDJYs4&%k<&*e?8S@@Ofhg^p?RQqjRTf6wT=xUZkymFsDz@b zOWWECnpGTOrlO!)`L>K|5_O2^IdyR65h`gT1J^E_01|B|?)~VbfJdZf>;d*{`-<(J z+TP*=T@$5UM2b@eU3W zvM|MqP{bsm-jCs14=1eqRAqLS&svk&6s`BXH1Ie)ECh-=6%~nB(u}YgGR*!J@&d8U z2=u7aHVxHmHixSrPMB`kazH9GYAea!%_LzRAl-t}@It62NupGeBoQk~l8AkhL>MYb zLVO8NLWK@*j1rniKeR}=%^*30P)05J0$xczl0pjU-iJb7AePBTkDJ?_P1yll_`&>4 zH*{8#zLmtLka}W=oqJAl)}ObQfpxpDu{|u7kl9HQQj%OzFG=)SZyY5&l8vQrOIb3i z>Ei@{RU?y`w-2Rm%|B2ki&K zlp$!G{c$m24iPQFOHolJQVL@QsA(%t$xRh0zAJ1hC3`Ru-dOY%V^|Vuv6CZ?vV7LG zN9gJK0ejE@wVrNjiScF*i$Qz6EJM-yx_b`0NTM&iU20avhC;pV2XQDN$TkSX11Xr` zSJ3s1t=5WM*(cHic4QgbokIo}(7%_OShtfU!Bt6IqA@GT5>V2~5!?hDedLA$f}<1- zMFq0@~KQXS3ERc=lKE|t02bMj35}i4B0xb z*mQpOI5t6}E-)jhJ1&_z9@ykS#zeqtqh4uD)EeB(o_o$Z{fXCiFB0mTc159hCXsQs zX%)k@lJP!6o6lWb`2wM+Hg-Gi-JYA6o(k)YSshuUrm~-?jBqhL&WUcInG^hcZ99<| zv%Uf)+OqUqM1ce^5O4J%RapkrJaCs21AwT!XEAqH112`Y(F8f1E9_{#UX&T7RX#i@ z%4?sEBfmVqCET_B351Tg#|UZK5Tg{`v|5CqBs*_X_R!zo^v*9;TNK?D|C7sFeXo?!7Vy$r<_# zL?TmVFcN7YUHT-d7T%gotXMZkG(mK2RFi02NJbsGOWar>`dN;&%2+3e4?~*9c&B72 z$2@_Kli=-Lb3|=m8$5@)FCW~J>UyRr`=zdV!ff0H4_H0t4H8A3M3sYrSkqo8OAE2X znq&&4UW9~X`5*Ie@?cvn#Qr7`2@>&D+*@8RE#RqF9zxhHBa$I+ak6NERt~FaZThm4 ziOtCDntjD*Wl$cZ`j#`-q&8prT4Cv!Tvt8$_S28$_Q68$?=YR|Zrp{SC!T(l7P$8Yv4{Yu%b9&upB<%^;Ms2 zMONz8KfUO4*Ayqit|?B2yy|L%-Y-MYtFOQ^k5Z0{KBg^BRtBk&vbNBTdwax`k+P01 zbGC&iQsThV(#{ANRLf#ufo7eDz}hcZOdHihb%R<=GZaCfa&!{_3%5L8gPE+!f+j7kM?E1MPTXVlcC9F=SMoBk_f> zi!`~DEF0>_Z~`g$;zSzlmCe!w&}M*r^BhRA+{HJd=Vor1X!8PdT$#49gaKfaf?LHZ z6zUv;&;2wMW0%KXjj@H{!UHzpmjQ>~ogR$0W5n(~uy9BzmgWXHarOb+eV0Gtr9Yc7OPP+r2#{Fh2ue>3B8@(TrnTx@1&k7k#xOEjA>Hzpct z4{_^B(gF)?{wesxn4yWaA#iLYK!HgUFY2aFPrNaI6*+}T){>Ze%%t8ZJ2Dw7ol$p! zI0F{gvTPC=Gc>UV&yFuZfyreahL|!>aNU@aXo9yDM_H12 z3Zj=qOfkFBMpjl4q|dEQdXF%wHLAL>+4|u4fEbV2gPy zGDRd~iMfu^5SEbZB9KdQlnR~m>BIyN>xJ{?|yj9v}RS<&q{Af3L`aSD|ZQe^3J(WDd2>jCy6+>Ek^vmIzg zkiA~Mb45IhMy{50#q@oqcswFTghW~FcAYiK3r&zPhE8pYNkCj|0u(g~K%QU_u5DFR zfl1>a^XAf1yu>_5?bJ(zq8E`F*D~~(?;LZf5&3+YBrwJ!L3vCf?v#(%oYOyoH4KcR zp>#^Lm!8b*Kxb)(MkO7VQeVJAS}8{|pqwa5YUEN2d00p1m6?efS;$#{VHQq2Rf(aC zi@fs0wbvp1#_`785G5g)x5`@5?=FV9yLO zHakxd$@GycX^IwT2rUo~_T*!1A;=U}fv>GDbfpn8`^#QwnWgcWJ`)+|%2__V%s{{n z8=SRrMNtJ)^;Nq_8<)_>mL;=z)ZG*0NVN-)Tlg8gBOU$<#o@M0>UUHF3n3RpPF={1sOWG)4 zUe#7ur4d7WP|LMPY$LctR3vqAgQ7RTEWhNCGE34=%(Rx4aK^Yha%ux_DOzHeC@X;y z6Wt2tfU6WFQSYW}4shmBMkmwuR9VEHu;r4+pf znXK?57-VK(l$oI>)9f+OZjBzp>=?ESg?I8CAl1pj(iu#W;{t#dR@^qQVvecQk_Xf0 zD44r2;CS^43J0WcsEssn5}2)=Q?itE!>o9bdUqv+XE!B;p}!LCxjUxjTcKTyfd}~V zcE~t!%ASv%cc)icL2V!7z?;Q8fO+f#dU+dUoOK1z9p-JNt>YMY&Q8qVVU;~bwgcxZzLC^l%IYJ*+X%31oTl{1N2Gqck-;|5CZnRDIR617~g zG?V3Jyg^m?7QRMita7;=iLK|zB$wfuo*3=Nq*o&2F=>>saQL;9Mr)Ut7`p^5zg;$} z!gtxI3fE<$T5#2)DonMgvfhp5c24Wj=(fV4XqmATEi9mwZWI84tVE+b3MASTNVFjk zH7?3Ys>uf0tb@^om0hK&RN`)aT!pM1fD)A|BbHy~lmwLM=LA!^1donQjm@?usr6X6 zw_pLr^Ekbpy$k}AoNah3kqVRSaAC}OM@(yOVkvY(EXEFz*gCh?jQ~)&N+&hzYf)A~ z2m%VYA*UP6?L^>0a#Jw)?rJx(H78AI^r9|h)^Cv?x)EIrS=dv>4{jpr*y7rR4}Y^9p3!ZsLM~mDGa5d624?KxlfY zvJcPxcGXNDHH+aAwT2J((?XqGPqJY`!8U`7QmBI*O z7bF!~OSdM#I~t9&N^9<16}!<%s~`^jCvKh?Y0Zz#OixaXOpJvrRiiLd)o{sHQ`7Sk zAdZEpr{t!$<-@nVdx5w-O(NYvyZnX8-5~~{6$Fo9>>-98oXK10rcaX!cPO6 z0#JK2wj3<(mDpQL8)9!wY>bX~2fY+a;cDTl%9chq$(GjE$xiMho0yk73!|mzhhI!kD;?OKQ`K)ZylM$`hj}JROUjLm!ZoF3ZJ4uR|@%~b#%;%Lxn)Q zRp4m1CQV~s!=VQIf~WBw9zJ=A6fe+3WT5@nD2Da3^LI!GO;a(0L=Vp+8u;#8sIGF1 z{&J+@QSYGfOgdYiA*xaa$%toT3;XG(Bs(^V_J~?WC>7G~RmLLSeG#nryh${{)AQq~ z(AcGwTac1dwM}jYnp`RIoIy1+`=FW#I<_n;QIaKfCWRR|mr^2-LMW4BS$Cp!I6Pz9 z4c!TcA=j*4wkhw4|J2!={4K( zu|jM9X2xbG;^yq?iOv@syq#!p~qx~;s02^8%fAD^9>o*UzEOhdt{ zx+3{O(15blEEuIB)ut{JDR{R|;4YuILEgzG-p`BQj_kcu<@gf_ff)_6sjjDz7EVX6 z3M_^@2~~FX9N(RrZ36u>@33@ML`3Ya8o`j$&FZ={L=V*``8{ zp-zq=nVhJa_6phA5}{h1%ICzW)-Hy#){Hpgetw;qbbfNKee+mr{y1LFRpmSqYKg72 zZhHkMAn?eDCJc(XG)^nHzPm9W!PeJ0o>rSgM6M8zB67Ix=57)t?s`Iy3EjpyPrLjQ zxJ+uO_7)&*CMx6sCfJL`W~1)1>zT-1Bw)=CdTFurN52$t$GxmDTi+-gvi8Ti#Jd?f z6wo{v3712jfi~xzG1wU$#g+Q#3un&u)QBRho3M(@`)N?;z?jFh>kk7weBdAmN*+3J;QB*{uDk9={v&_SfBeESrk77Fe*XsKgunNE z`BM)+ZeZY1j|T84{J#hPzlk5$;eY)7Yy5vB-F^Np82*6q1UF<3@PEqXUt3PL=(oD( z(NHIM`1(%!2=bnPh3W*wUL1J%+eTr+>z&xhw7q_gyLsA^qn`d`b6gid$e}JT#;>W0 zuk_b$FY^*Dj(g>=-OlwJH`Zs`?{y~6oCDu9FmNh-^YR zc;IULeAEkP2Of2P|D*Qrd)(f8!Sy8I*W&-zJfeRg-3D4$?fQaf^H?H^KccEr++k zp8N~)u0tY9ntp@j@OBk5@O=9{fJBF=ff@Y6U;F_{f0rwVZ!*?`E;628%LcnV6; zMi1bZGHd0Kdh-8&X*nF-Ilg~@Pt(sQTP+aWq259o%iq`Ae|VC#b^`-J-iL?qO$n8H3mq~Q zj(^Mc{(#9j@Eyu>`{3^7|8o72=YPM-d9nTsTtEh9opRl9l=}_UgC90|5172Yh$rQR zzi+f2d?xf@-oNh9z`%L@`g)K(7yi$*AkV+#k5ygkw$`n!&*{?^(7DA2Xyf6$3%|pC$!%2(+>iq zVxPE986wEu#V5YWIH>Z@;NbnO-r&yBJ%jIT^^We@Il5Oq_U;_rCm;JX;K93p3EX2t zUzof{>g&mSBp*!P^DTe}Chw7IV*H+G&^7cwT08Tv-8bHQ@A##UUG-gGg>FX%FOCj8 z`qGE58NB#~*5Jjh-@M||-|ruK_t4u1FTMrt(Vu+Or4R2N@4avQ(#NlXd*9B`rJ>IZ z@B4vPZ}PSKTRWq#-7^IBMqhh%Yk2gvd--+E(0loF?f6}9-7|jISDw7R^KmwqJ4g46 z+WU8oUM(M22NSV@oVe>9Px(6I@P$u&OKbS(-@+ze9eSYEd))Y4Z{Gv&*R*!p9~b1zp!xiNyyDVF_Yb{m=q-a6-|Axa=RRid8{YRHTD|E{wswv_z<3>f5JCMVe*YQ2 zAI9$&$M1Uh+QGYj6e;}i??ZC$9KA*&bIs1tYvtow#6okz;N4e(p%N)ck;!|$iz#Bs zH1vf}EcX85(m&F~^Y=db(nqgp4bMNczxTkUkL@44cpue$$rYDAjPFPA{bRrXs7wE_ zcjz4&kv%UR`l6Wpp#w;RhpvY4A3DUZYxs5J=+MXb`*fPAwe#GEuKh-AbQe>9qW3?? zd(likiwy9-Bg6at6>`8s*HPl0p+9c*p8L>~TEowM2sz-n4?US*`}p+~nCqIsyT1eG z8tpy!L#^kwp4a-}R$KcKv2e|d_x?=!7Rl`+aJ}sJ;JWnTE5=_le%F0p z9lC$#>YbgfyY}}E?eymF+P^cuvj@(rds{nu;JzB}y>MRx_g=WKfqNg^*TTIIZsf>I zd&Y0NG=9%BzxrdpGdA?8yMCX+Trv2ww<47Bd%D-Q-i!~Vi4>OI%G1u&Kacm`Gv0gG zxTe|FuO7ej>8oDy4_2a{{)4TZr~h7S`04i!Ui^QNU{}8y-#<5a@qT>odpW*$c5eM* z@5dqIeS;St9v!^+Q77l)SH0vTCTHJGEoj~v-ghsB{2@MmZUi5{ijPE%`$vbLwP)ui_71*h_=S6SZr?Zf$HUJ-g|+>qBa*l2fjBAUVI2Y z_g(tL{uT}XXM-0%12Wc^M4$@*~50{u}blrBCmF=HSKmAe+2wwD%F@h*u*OcgF4;e)>=0=icFK`SVVs z(Tnl>rq=M)FCIZ|8X3O!HE_RSc>JG-XTCUm{;R{+pj=$X$UidnfmZKN2QMN!j3L5r z!_R$}J`SBP4PN}?@!m1S_B|6lRB3;H=@Zvj<HtjZC(1*HNE#*jnjKS zwEm01i|?N3y}Pw@?Mo5#Z}h%I!CE?oul?y3;?aAj^7q~a_K%PEK7-r>-aW5IJb#*H z13DnH06z5F2;B^-uHhGKkGrMA@6$82hgnkugGP+_fKlFA%OW;vC{0l{n9_tuF{hIHe0eQKRDL= zYb3$o#SdCjNaj~O>e5H|Uin$*W%Vz>LvOtDgOfXBubJFA_WF_Gtqa%nJ`4TFcV6_m z3*XAm{TFU~RPVDF&RucgwnsBNNL4MNj`kjI2CD@>h4eWKf})=!qA%RG$K*bSavyu) zw#SY3zU&3}-d&R`jaiJrgHG;~P3~TkdnM&Q{=#kFq;2=)%N~s)Ao>4~E`3DweqdO=?+9?|E zy?u1}+6%oeX)&JceR%NV7ZEDT!#jFtM_HaPAe*D$y)5RzM4Px4exuy&BNEeVQlzC=w}@NVr%%=SI35*H!#`z9}{=I?Yha{nb)@-xis24 z_5qZ?iQZeal)s_XdzX~(`+I+dL}P(RhX6lsk`gYRK{Ov1ChvJF>$cYL9R@;`HTs_hU?o&~`+n7GRYdol!`HqMKW~5! z{=R8=&l@Lq5XIr={Vihsv17fzYz>cn5`O+W4DsMZ@2|#TWTe9A&an?*f^hKePk-%^ zN35HR?(5ZqEcv0R0627&6nqxay{NOv@^~rl$9n&OvieLkxxlU+yzUzpp&-~AWn9@G2sh3;c7%smcW2@PQ1RVbKJ3!t0^%~3!{QEh)5 zk-4AYU3uy6_g?uy$bJu8`>wq5Gb6*3_dXe!;UBNLFt?Y#kbUKa(~rM!%QsnVe(BSD zQK%8hrzIM+82s+pi!SAr?-eO5{FlJ7t4-)n{c7AyR>JmJFPRToBl;b+DQe~WMb zmBke&@u8e(l)b|JvD4{`}c@y?pFlKlyKe@h9)^J@ft-efg(f z^yN=~%a`wX<0tMo`m+0vKKPYydhpj(3nX)pceSHE=b|NQ*i`+o1#`)JQkU3$u=u6yS5ulwrX{M)bo<_q5Wn?H2%Q$O@0 zA9(YR{P8_E|M8no{`s44>fCbEvtIdE&zgMA2PSWS!^dua&)v^@&wGFW^m{-3w(tA& zf1Uoj|N50r{j0Bx{M6eKl7fkFMWLfm#*0J*eibG;g|fx z%p!@7?$X7-_>Jwq_>Los-?9I?1N$HOyKj5sb6>mabMODd zGw=V?mrVZYzH6@D_s!pZ_?tiZ)~9{4{pOFfUw!zOUOjr@Pe#A>`)~TzKYGP&fAp)z zKl`gc{?-4Fyf=@ls`wwc?*&v;^jyo_7c?v^DXyBLnSo-0f?{f#X5g-+UP4gotGVEI zBg%H$ZQsi_Gb;o4UEDVWTmwxmNRFT&wSo9bLPyP zJMH<0p6mS3kX7Ff8L;S|0kxaoTYK!`H^#=L&5N5_d+yZkA8hKL`N`zW#^J*n-_z^) zd*(d&&79ellV?Bj;+jW}uWWjJ;nQ0dRu61fJ?o2Sv!48O|C5z#)UUkfyK#GR_B@!= ze8^+X+a`8vTd8`3N|CSbi7f9|seC}hsDLLH9(-cShXa;u`D@IUZ#x!zJ80SGgI;O# z>alMxK6d(4h0{kiHaRkM%@0GLJN?pg-*?XY-q%*kcadY;q6vkwCp78eXmZ~Z z3HQ|t38?pZpA(<|GIr%JE8gm{B6sbbxqCmFxHmEPy~Kv?8#V0u=H9M<4b1#2rOM2d z7ql5K#OKV3Z$Gg^`(K|~_Uo{9Uk{6zvopfGd^zv4=d5R|*1N6hz$KpyeBi0r2l{+} zq0jFlGk%|0^Oc$DZ}&~F-}dhMAKd->2m5w~>^q--`}w)|{yeu@;}+FMZvJEBuCL;E zy;Q;Z((5h0c>Ud=1@AU!*SNu~J6@fYx7t5%!>q^+y}vH%9T+nqF#EITvS0Lm`NfYO zKmU=l;uL3*;C~4GPk{e3;J*|6?cje0`1^qWO7OoE{Fj1%E%1L6 z{L6v=JK$dd{BHyQDd4{!{PV&8Zt(vJ{FA`HBKRkRe>3o}1O9cve+>Bd1OIv8|0wuB z2>#o_|7Y-T3jPPc|9e-o{Qm_11>nCM{2PJ44g8D1{}lLd2LJWo?+5<3ga1+Rj|Km? zz&{-PYl8nW@c#n*p9lYkz<&t%4*>t#;6E1p|E{`Y|Y9PpnF{*QqF zaqwRV{?)-h3;dr1|H|OM2mEuuzd87~1^-Im9|`{D!9M`}p8)?Q;J*d@zXkt6;QtEv zzXARS!T(wC{|Ee6fq!f89}WJg;J*$0yMg~#;6Dod9|Ql>;C}@Chl2le;Qu}N`-1-> z@SgzwO~C&?@UI8{pM(D|;J*U=bHRTv_$PvYL-6kk{(pgg3i!VO{_)`79{hg=|6$-C z0sh|Le-`|!g8xA9e*paZfdB8{KNI}Z!M{HEe*pgb!2dk>&jtT#;6D=lcY*&);Qu=K zzYG2iz<(C_=YjtQ@b3-&f#9DF{x5?6N8s-S|0>}BH~1e0{|?|k0{p|k|84LO0)Gws z=YxMQ@c#q+Yk>a>@IMd!$HD(B_!oiycJR*v|5w024*b2qe*^eG2LAtm|F7U54gN>L z|7GxR2>wp+zX<*X;Qtf&zXbl5z&{N9e+K_p@b3ivcY=RU@IMIt?}C34`0oS%hrmAy z{6~TR^Wc95{FA|d1o-y=|4rb30sQxa|2N=22>kB>e_!x_1Nz<)CM9|8Z{z`s8D_XYo!;NJ@TGr|8C@b3@)pMw85@c#|` zCxQQ?;J+9Ap9KHg!T)pc|6Tfj@J|Q-Q1Cwh{?CH{0`T7o{;A+U9Q+f&|8?-63;y%L ze+Kyf0shOuzdQIJ1OJ)e{|@*M1OIB^{{r~ufxi#{Ktd;58&Sc{QbfI5cppK|G&Y1D)`p||GU6{Dfll2{|CT- zHu&EM{;z?5Z}7hi{?CE`D)3(f{>{PvF!-l|e{Jyp0Q^4z|8Vf{1^y3$e`WB05&Tzz z|I^?f2>xGy|DWJr1N^@O|2^P81pE`hzdHE83jTiJ9|8Ug!T&?>{|o#(g8wq`Zv*~z z@ZSRdC&7Ok_@{vX81UZ>{#Nk+5&Yi+|48uP3I5-L|0(d_2>xrp|1|h_27ep)JHWpX z{JVhv6W|{L{(ZoIEcm|#{%gViBk<1!|MuYjCio8o|0>|GfqxG8PXzyGz<(Y1&jJ7P z;C~MM>w*6g@P7*YzX$)3;9nE`-vXRQ_{V_%XW;J*{*QxyMewf!{zJik2l!71{|xY-2L4UKzaRKF0RR7h z|CiuD8vL7q|7YMo9sJ)0|5Wg=0{(x2|Bv9`3;bii-y8hD0{=x}!{{!$(1poWMKM4GP0{`RSe+m50f`2sl4+Q@W z;Qt@+Zx8;@fd5;;U4E*E3zajXq0{>&+zZm=<0smd#-xd6`z<(?F=YoG1 z@P8Wo?*acq;9mp$mxKQf@b3-&uY>x5B%qX|0eLC4F1Ew|9SBL2Kp9%gm!G8w$&jJ4q;J*y~zXt!E;9m~> zt>Awf_D+74Yv1{&$1_@8BN-{%95o-EG%C z{mp|XI=$cUo4yynea-to*WMR{{m+gb_uVVw*3E7b<#p!rjzisdti5OXl<)`cdij$< zzee`^F>83;MNQ^bJ<@4k+SLJGN%t?ktuSipCvQEHy5ho?r~iq4+53(6UcDp#xzT^` ze*Dolf|3_+-O?zrZ_|-Ek>RUWzx0%INz#O8UpoDC`@V1QedhPO7j)mZxaN1W3x|E{ zzxtQ98z$B2l0A5uz0RSy7CqkTG`Z)Xobf|`oc{gOf7F{d_3G>Q`d;WeA|k%_l}<0u z8kP0>Z|DE>=$%`}ezV`JYeJuw8y>jlo8H4J1m^$bz2w*X-}%q-nVHI`{B=0` z*VJCGlpC<@8OPT0K1FxL#06ZMTl=lNzqYUI80sAV!LH$db;zARJH=Tcq<`&y_8edJ zZ0AZ7Kg!cOOkCYy`gy64{cdH-$=|o>>0iu<(}8U+O=uX~&ez6?d*3arxMS!6yzbT$5?vVVg0yLuli- zZuhUYV)~?jE;G(Q^vC9E%`bdE`lF^RyWamn{Zqj|WgdNWW|fQs>ElP$`1#(qe~llO8LW)1vXpZjrOnH-+rF`th0!5m7~kniXR@?K5>52AAb7OZol*4dxBs8Y(?6z zj~{6LXSc-9*G#)SKVweL9Xr2h(PggBiF3P;hEu%QZwCJlz`r~Ae+>R3!M_Ih zR|5Y-;NKDa>w|w~@c$0{e+U0n;6DTWqrm?U@V^57AAM@XrMQ5#T=< z{MUfL4g5pF-yi%Zf&Y2%uLl03!M`i`p924*;GY5hqrm@d@V^NDjlq8z_}2mdo#0;p z{wu*h9sI9?e=G3c2>yZKe;4?F3jPPdzY6%j3;u(^e+l^Kg8!4?e+K*)ga1VE{|fwn z2LA`a{|oRR1OER3|BB#$8vL!`|0Vbj1^?&4-xvH3ga0n@-vItw!GAmW{{a4W@DB$6 zH1KZ?{-1;YeDJ>m{JVhvIqi(e=qRQ2LA)#Ul;rrg8yXj_W}O_;6E1p z?*spS;QuK2w*dd!!T&|@e-8X#0)Hp?9|!*j!2cNdw*&vj!T(|Ke-`}z2LB`A-yi&| zga1tMp9=o%!M_>!$AW(X`1^r>3iyYC|1;p91^(}W{~Yii2>$Wlp9uaP!2b*I9}51T zg8!4?|1|h_0{_0??+yMJ!GARPj|2ZG@ZSOcYr#Jp{67Kze&Amh{Hub08u%xHe`fxi>{p9TN+;QtKxcL)FP!2etDZwvliz~2u3 zEx>;=_>Tww@4fuBf$R(_>Thr^WeV){Jp^cW$^z7`~$&%3Hbj9{C&ZH7WjV# z{!fAbH1Mwn{=b0#N$}qf{-?ozG58Mx|Eu8N6a0IF|32`~2mhnsUjY6eg1-&?UjYB| z;9m~>{{sJ1@E-vFTfzSh@V^B9dEnm>{67Hy4&a{x{{6xKIQUlre+~Q_2>;+e6a0^X ze?0gnfPWGAhk*Y!@NWbDyTJc*@b3lw_ksU#@c#$=-vs|xz<)XT`-6X1@UH{@i@^UL z@XrDNn&4jr{8xhim*D>u_}2#i3gEvN{Nup?F7Q7C{ttrx^WfhU{8xbgW$-@%{+ZxE z1N<9LzA0RM-;zd87S1pfDfe=ztz3jPPczXtgK4*n6~KLq?=1pkM@zZv+?0sn5` zzX|+52LH<7KNbA5!2c!i{~P?@2me>We;xQg0{*vy|3dIT2mU{R{}k|l4g7<^|2FV{ z8~i7M|6uU{1N}#U%`Ji_%{Uq9^iij{2u`SMDPy- z|N7v+8T=mu|IXk)5d8hXzdHE01OL0he>M0Y0{zI!T)RUcYyyM z@IM9q%fP=S_=kf3Qt)pA{*mDS2KZaS|7Y+&2>$8dKOOuRfd3QV-v|6pgMS$K*98B& z!T%fZe;@oWg8u>V4+j5n;J*(1y}Hm4}kw5@c$9~7lHo~@V^TF_k({F_&);v zTfqNi@P8HjM}z;P;J+CB6Tv?R{8xkj67YWs{QH9c@8G`={AYu|KlpC||7`HD1O7e0 zzbE()0sp7Le=7Laj-{9{J z{x!gVBltfH{uRJ~B>3+J|8n5p68t|0|NFrI6!^aY{%65I8T{kG{~7Qf1OAP`e=qpA z2miz1-wXVgfq!}Mj{*O=;Qtr+hl2ku@XrN*C-~O}|5e~W5&S!V|8(IW{HK8bz2ILB z{QH4_Rq&qy{@;Ut5cq50{{;B=2me;!UkUvCfd6sue;54Iz&{iG$AkZE;Qt!<&jbI) z;9nQ~D}sLt_%8te2H<}J{FA`{ZSbEA{#Ni$0RLg&e+m3Mg8!Z1e+>K&g1;U72ZR4x z;J*U=yMX^6;C})9n}Yub;Qtf&&jkN;@c$Y7rR@ZSdhO~C(K@UI2_ z?}7h=;C~nRKMwxyfPZ)Je*^rB!2eJ1zXSaL0e=Vhe+d5b!T(e6e;E8f1OJb~zZ>{Z z1OGYT{{{H_fd5hOUl0DTfPXaj7l8lQ;QuE0Zvy|Pz`q&z4+Z}x!T&|@p9TJv!GAdT z?*V@s_-_aQ9pL{F_@4*=+rj@U@E-{N^}xR~_-_XPli*(+{8xhiIq<&%{ttnFIQahn z{v*IY0Q^4z|N7v+AN<>ae--fm68!zZ{}=Fo4E)!Ee{=931^x>kt@zZo;8vf7{2ltq z2UAb&xHR!Vn`!UfUo@-bOC7_PW#z5y^`F<9f4=0-hmJ?RQMtp#rQLk*`)F9;u7ID$ z_5V0>bjqeC3FpranK@!^jjf+Pv2MW71+R{ZkBGT)?DySI-tkDEFH+y1K4<4QmKXor zQt8~mzU3DF+^Kv+LT*-S(AgVcmyk9(n8J#tntP93K1Tw~3Aa z`R;)k`!BT4t(TNNrt^t9&(v?a-0ApjP}Q$%Ev|d{vG!e8Y<|}Nojqw+C#>&xy5Zh0 zTgE#^k6U#|d}&P{Z^$ zObq4U53?#an)^*+Om{U2VX=(iUtL!l5G)ZmPSxnr^ksjlI9PWxtfE|Mwbhlb0HX+th1<7TaH??|+idBN$td zWG_-}-LWwD(`?&1;ca zPp+uU>HUQ(zVq}y{t`!NF7)q4xZ*Fq-`|X9zH$8} zIvdZUq^{kNGozfLMkJx+OZ56Y{iYFDu_$lESzjYQvmKdY#AoL5Ryp(K28nV4rtFF= zi!;ff{L{bQ@=M3 zh~!CgEZX!FSfiaQquI_h{SfxBO!MbS&}7Xygxe?A&ENr%~j!3D#DzZg&b|qC` z8&Q-VK{84CvUHjS)G58^kQ^y+_N}3zx%$3|cL16Z!3|PqinG#v)wSJzN zmm?9WljcP^&w6AgBE@fMq}^|YnU?~|OJwRe5-6m=kwxp1zLgxfGgDrY%9A0D_-jpP z#M5etjAY$AUTiXK+Gz@z(xyKwffgfKma-3E&y&q3fNS&YX__s3`8>_`;&QoH>$6I$ z7PTB%qW^#To=u*f$3ear*yKR^IEd_pIriZL$O3UuOy#` zJ1Ytkk$lmnO}nJ@d}084n4>nCIeX8Ja-OoUexbT=So2<0EVHXu*45gUbhMQ4!(Q;K z5bWozE43|&9Xhs77F2?*9=&HrBrhpsQ->`I;-XR~&6nMn$rrWp?_cB>B8H{*62zmjEsz|48fhNb9!9)F%Rhqf;jakP~*>AqXjs z%89Z>r;ZlKe0$mpe%`@R<B5aiQ5+n;OYZ9Y-VGsQ!`=E<%P5z9+aY{-aA zF0v&&6`2}Ng`_5>MWv1gUvCkHZp>E|6Wpr`iA%eO%%hxa`SWb|N(v2us6^R0Tqt#r z+TVsONJ$(2Nf`>>w+sajLr5t2P>e;tnF@>IkJSC6#eboP{~X=_0r8hrehP?zWBGEN z{B(x@uz@2-4IR?ff8-edyYBLLBqfT$qlXwH#|<59QQvrR+|M_WH*R?12>&Mj5>JPy?j5_v_KfV;sj0*z zyqd=hKrL%tLj2{}2U=xazt%WZ#>z4doqZndv5p;zU)`wPM5?@e^VgABR zh#;tiVZM(;!cE1L_{L*O`tgQ2((sQp+*fXF0$FHU#` z4S-^CXCMr5%kz?i^T*^8R^7y|o_kF>%ede3J0pBv!F-;=X0hB=!u@CocW4Q>Jhw|4 zu0uT_4;m?oTYTtW%A@Q@>R9>k?BJ*Q_}kO50*m`|V?##r@jTDV!;|t#&ei`=y#OiRh9XH~XBe zUUC!OjIS@kk;*CKIs3Zb>GPL+IQ-R_=V62^c@cdyDp5siT)t(!uEpJE*(471a)cR| zm^Ye#iZ||`huKcQ|9?LJ#N)8d93?q@0`#H1`aqaFr-r-@k+}VDR5 zrkSqHBYScx<9^S=mYhFsQ{uXe`8~ty9P>?8cyhm$DefwJKxuq(PLS7cm!H~sJf>Io zSn-k=NJ{mK#)mM~w6g2_wb$Uhc?-Me{PUQRL8Au+O$ccf+p47}?q$wH*YYTs@IF^E zaE)WIfX!jH38vfR-HhsH`$zMBiI4hpA0@_-rTQNur0^ln8t?h)to(`D68H6ZGH$&k zBf^=}lTWhoS+>W*`p^*tMk z%8AmVmq%&c4~Zj}a;zdufH*eEX_uV#5oSGMj)_C!*-4l{aTJed8)43fx5Sf6m}cTA z9?xFFTruN0KMYaqRuM^_>uGYXuZhP_u{Ka14V6cZ_)5gS+*EK-T$`{B%M{fZHe1}g za9`bmJSQVh@o*KqR`U7E;^C2BaY}T72_wbokxOw(DMPMtM?_-lYuwTI8h4DyFQ+x6 z0WRw{(T|q3P+e3>3)!0??sm0BGfsWU1Oi944&(LJ2&n9J=| zuTWGC+Y|N0mW^#lgF>ZjSVuKf*1V!M+Kl;pX(b{Bv{IlcBK7ZiXq5PWc$qJ-q)f<& zN{QbYl`)!edB^;;I7Sta?*^5CQdb-N#u!={30zOkmRy>;3bt|Ay`sy|4{pd#YTI#^5jM36$pw1yZiRYM& zA4nKFcFf4w(Mh8cM;8BPdC3drtNdFYN408YHx{_4=OxBbV@C|MmmW!#H6M2?WGS)2XFVwE4asBdydS0la>`%qJ5goqSC1*?3Vo-jIa{ z^o>kETt2$#p-w5Yrf_St)%C5t6l++@<9v2B(l;!nho3VmEM=t4xzWC((N#3n(LWT{ z9rsE+jpg)|YFQKf#r|9{$XE`@DPK;fB9oVda?@2AgIF$!?UzPiPZSovmRdt@1U&XT}wxqB1;#$jqPFkOHVOk&hLtFRxL{9%7uEj4q zZr?7A_&=Pk7C2XWHw(ZvYPo%FdRjT_8KNGW>C-6Nz82qtW!B~Ct15`?uzjQRxOcAr zAL(qD*>|QdFNZhz3btO9Or%Kyn;Na)e#cJxPV15M^%X=2Irgk!+Sp5e()gu0cX&qy z_!1;xYeW0;^d;r2Cy2z6->AU8e3+K7rGa%*`Wm?{f0=!ybA$I20e+Hs=?};}x1I5l zyezdJk!0$orE`htwZXnAeQ7zX zv`=IA`ZU^T-z1T(x9&_|%a=NBouv(DB!pjqeTQ>}_o#sC67_l|83bQ1z4)LQ#;T|5+V`*FLHwCYp#IX5CHf6}R7mSEHl`w@}O zDP+ILrx7lRVY@COy78U%0%sO-k*Y7)qU3^Y@{jc5*zDuz5JC5Ix_U(EP%zd}J53eRRaSI}(qx-DRIty`p_Wnu!Fm~pI#Y>8iaRR6 zU+E9Jw8zvR(m87rFtYhR(Xj<4^T>=RG^Azij%TKt~l)>EQ)*0rdapQxL#ciz4oNUf4|K_1Fu z6G3Gtk${mlD$}`=0yFA3Zarh)NUSXk|G(VbSuk|9TK}`k( z&`ep6z)&qJ<%}1(+o5VlwK0-M9d7$dX_mD7eCsBVsmHDH2al7v4XP=zAE))Pir@=Q zl52m}P>wp}%qHt3e$HBG-@!#ke}BEDxq3`5$!SUwASEf(OR|yAwNeV?c-VS{aw%1_ zQ4s5L@-M)g^|EI<3y6zmK=l8lJzLsYBzRhtqM79E*l`qiyJ`W5TxZ+9f&y4KNfs|r zf?!mYmhCv-`b{q;;nY0cl9Jt66$+u27toXqi-kTrH5AP}M6%vF@Y*AyNRF zp`8imyil!`lEG~aRKH-~C>22luc$(_8>Yo)9XD!1YC*}Ls0)^P`vuTAX``~8JIFhA zSdeZ#AyuIBZC|NZEA>FN{zF-~X(?s#G3tRt96PO-RLN+Of>oW6f7NdkdfB%-v-PT# zw%oo$uZsMost~HX2-XXM1phfsyCZcW)u7}riLIv+Y^q5amE$ZBO(KtLqz)wMy;2c0 zG`Wz0|2lN4x=|03@qN|{VgDL-Ke3?;(q`KWj81T!f~OwI z#^)ZVoX#wYt0jyS1hr77-)I!y$;N%cSpC%vSlmfUY^fT#i+tx)ZH{x-_! z+=05H0yGD^j$2RIX`vN&&7{AljG}Qm{LT#&T6%N)c4;!CWYTR1H^M0u9Hx!h?aWp@ z7G#PD3dybG>0s4HT-~qtV-7A zWh&qRV?;U^+FR8*i@MRIpl$hTNKeR`LWM{U}qHYp+Lk2)%~ zDJ`=URSnw?(9&pEGwB;>c#f%>t?p5?E({&VqR72M~eIzH9FO9#bi3}cS0|NElHUE^ZE5<-t z^aNpXZ~P&8QoGrcHj_TJSW~cF?}IL(2ElHiRIfAYu-=`jenI+E)x7Eb>2cH^|I4U- zOS40zIrzuyQE66?h$>JBS*1UaE>$UkRm5x$XhUy|!hWxJCFGjaHsZBq|!=n`SCZ59N*^4@`sTNqC z$P|})15B%UNa0vrI!@G=L56DxL;M#Hsq8b6VX`M(rfOJKXQ@!DSF($QDt~=+!lR!{ zl4jQ^tdXt`Q-Da4bQvb;+{o}m53KHM*LoohT|YYp_Hbs@~jH z_TSW2Srw(qrs~LDJO53^xa-7S9si4pxV1WnVp6=XXB~+Ar5dD4q#mdi)S@1b_WyW;1{NWohTI=$`(Ap7n1xFrFV74t2!y6V+o!-RDRc-riDHzRj0c zYJN#(JgxK)VmZxBcM^#{Ad?IKNN==O%{lo;r#>nZO9h!kq7So_ zOKuXUrJ$46c3nEjg{o@NZdjsjSWkDim#~L4 zn^oPXVs%HjoqKHR9xY^zbf||3e4JGDmQF&ia>uro(7|SCrp5~L34JOo`BLSCySOJ* zr9hY%6(;dE{NhZ%c;&}w?CFagF z6`?z0R*}nkLT8wvnUOQgYzWJpmiD^uG3gv=11C!x_+On#=gGH|BET_0IG7D!hLdd;a}YT;^2_IH{wo{g*P1X5k}8-j!N>d*X_ zF#qPTvj?uolIW#X{x_qMVRPo*|3ZgX!dpMH@lx8apY8cIucW*GlE>PdsCMGb58AeN)ms_v;Eft^Jd4TRg)auym4N?~?As0gDr^{+Ko8i}IQ8CZ2dVy`(#R7cu zZ}pO?Gnys5TGIVd?%yAG9aiVd_>`_oKIt)PWl4AK+*daRlz)5sj0dWoj-U6Gt)#m~ z`lq#hN40JcH9q3*U;munvZVWGzj|%De7&<<_cibJKjpY@L`nDYX)h-_27fl8`h-=} zeZ5w`Skis5Xz`rF4GcvJOz>Xa0t~SfyPO|FlOe7Fpvt zKZ4(6$J4VNlP*gBWlw{wFI911-pZlbYNkw+CkV~vrP;dh;9|~_h(<@ettC5hmnJgRJA_x;Nc&U8fEp5 zILB7cG@FcYxRI4;n$6FOj~dCU{1G@L&RqMgZD*v_eQ=(w9!pW5%Pf?J7EVDB6Q|dOZdkRIIW#qJG! zQk5ot5=Hhk%18S{-l;ylFrGC?ov><+S4e5xPkmyebu{X*y1NeL>b2{S+d?wa)p_;J z)ujq6>*GQ)Nl)ta{hLpMkk_eWiFB`udhe>T>-*aB5W&0ULH%Dx9@ncRvXG_Zk>x3m z>(squI!k3b%R?SFnFR8%<}_ZRXt1eTViOx3$dYowE3a9+}B245)Y zMvojZ^`i7N+O%BGtYNIlf2@tuaDPsYU{2#hIZcj{W!0VIit^oMw)qTA<-1O5r| znvL8|e^V~lhWq0es!jV+xya-6#mY856#qDFT845>j?tzc#->Yy36Rw)S7b(VA|;hV z7RyH78Xn(W?Y|5bnBXinOsR;6IZPp@ytlbQ^%tIT=Os%tuKfU|u1nf^va#G9M*k2@ ziM-`KsA8W&AuL*-BF`i|v!7R;VAr}RBF>Y~+PKrw*E^fqWMec(z5Xk08sQP?|Ghpj z>FjOj@z^Bitv1xxrFAQj zhoN=aG+p0B^Zt}NaB1EK|)lfH!=0#y+=B;xa0|`&vBO9B|97`qQzKQIr zoaQx?*iC+I*5dl94};zMnZ3ynQQjG{=+ZCG^z-&e=JoNbsXw0A&HUy4OgN9Kmi-Xd z3vY@)|9Ov_-1=Kq66P&tjS;3O|6%v-W#-?^U&))z>el+ui59GuKF4TP<=sLs?XRQC zJX%_Lw=o5ifqU2@8)b}2tt}yHb78yclxfH<=OUXf$+w8|ML9F5(h594;OZ)~&1v*p z*gH~&&P)_ZR-h{hIDnCOhfW3zI~QR!l-6>Np}Z(rff;GD1j=4NR4?( z@>Z}%sW6taQncx0-0U^TOR!#ol4aBax6_%>rKlpIl*P3tQ$0kvwTA_M>HB>aicqA; zyn7+XWHPF0M%UD++x;V*OY;5P)iZ34XYM8AdI^$`SQC@Tl!y+as}vHMVK?NKU%}8n z!W-k6YYNbn5qDT@#=t`|mp7hi3M0O-lw|2fC2d#2(W(7q{+qEEBdelS_*cfumc;Uo zki9aryq=)lh1J{7AXJ@c;;_d> zIyWmzd}L~Yxc7T&tD>Bnqf=vi@ML|FJvU54 zG21rI^$wF;Wa&c&R`O%#PA$BB|#$Hagb`f6Wo+G6;NNIp_NY${(j3biEGj7W9rGC1OuH%m2m z;?x-p#-goPWD1m(-E}f2EIF-w2S}@yp|m61nPyi{D!a6h6RhD3Ll$yjpFLN3uv(d& zV)%OL!A>aOW_TbR9)O4{s#=bIEkj*v$2DZc_BJDmC~@TATTTzANBjhuE*A>rbYA7C zFgJ#L%P^#Z8YHP5k$wEd9vdv@;h}PN#Gu1*Dq$HM7A(;MSsaUHtrjS?g>9=ANEL}~ zuNFwfi0!ZzC?dsHpamjUqMBS@PTeG($&X1olb@7yCJ&QzCXXSVad9GZEqTRNc9JD8 zDX&dGNj-$6cF5?G8dYunxt-~`K6!UiiLUV?^7SPVM|eP-lx$NcrwpeZQ33JdWM35H zYF=Ps-$%XA5lfy_yB~_7BrgwMnHRXn3 zx?K&OL5^6*E6#GoIyr{=V4j83`J2xs4SM%D=R?(pbnC8&qv>AxZmfW7<`G_Q~879lO#x znUKpofh$(Lr~;fui;?@B(S%YPtP0tzM5Y#q>^Y@PmeR3tn|977wqw{BSz|kiO&(+? zkCR8k^4he@WKj}`VH|KtipmeI5VIr~$1r`FDs|o=(d^>SZz}sz)FQfHHPL3OJ3V}o zD89^FGmIdrnv#MPc(3x$li2+^If6-*(SHpL`hGpLl5IV+lI=0U`A@r3cH8DiqD+Mq zPhXNg>`q#xDCrx?P-L%!dMYz!iiuTJW^f)99bhzOXIoYQ&0vA3;vW7F@-Kd8`7hF% z`p5>20zOkH8KQQ`Vn3LhD}McATKL&;@^D!v-B`Ql>?*;q4Ujc~3HXKcw} zHPX3BCQ(!esz50>pFU00@FJ)9HL;Xu6}fPn;BHx)ywnZrh{qg-6j;X(mWaGW%E zLX$Z6;iSnUeOVGrw;v~$P!YA?z7wxfCMzG=c3hyEY!P08%-1nym0--dMhALiqq z<@*WxKva4JF3HMl8H7rBqj$hp1{y5v3>Du(IWaNYNm{zex~j!*jLo-*|FydcMswCQ zni>_eQl>I{AbC=opY#h^aaiPJD1eGu>4>fcxMlC!o?!2_1L7)FvAH6k;9*82T-+oVP0hqDc{24F zr;#VbBqK%1mBe_0sMV626XKHmiFT4JToQGGslm9VPCOzs^2Y@|Tg1dlB^ejdZ=}0o zQQ6{=Dj`R9$eXze)Apo^)0Hcky6>cfXXYf@Ch4Ce)ZShJ77>mK06yw@C1kHC2Lj@m zMQU-clng^xj=hY2C58(!zSXKdHjgHDKCN6Dom>X}TMq4gp#mrQID4%XIN?n*BAj`Q zc6m5PqY5(U+v2q8$LS`-DPMtQr1PQl2RL)I=?4vKE>}XeX?GX_3$^L}utJH)M4BM7 z*@YDy6+{6_jQFb$63AXzy`5FlDbj3H0LKn#t)+>kLy*2gI)*11vGqBt`U=%eaH3C3 z9T$_=L9#GMrmT1bCeY@xoS;hO` ztZVnb^0v8*{+Ab>sDr!zm3N-*{+AbDT=nRG`COd2)A`W}b@ozgfllUzI;s|EpJuyZ=>n;t`?rzgaS=Wn|0ff3u4B zzk0S@{jZrTqyKg1%GLk6UWvQ=-|SNTZ?@k5W*6^&v-SQrTkn6f{}=tQ(d$YlTwC5+ zNw2GS!fVW)SDP*iz~lYq@o=XQwScf?&SyyoLT+;>jXUJVUx(rm9YRq-(y=qyLx8-*kUX%rd0CL8on< zqs#jx@=u>_cFXeMyQS3dr%Z8*B((+nFvS9Tc)I%Xv%ASSrgT>?noxR3Rc4&>X#f8~ zN3Xw+Nc9OYKMTY6zI^%amn~d>mX>t{JRkG0Qc-_6mhC-lgrC)Ny0B2D)zw=ap18Zp zD;^#pWrF2)Id!r`o|CB_OVR_;+MhX*$!XTe^n*U9I`FNtJEd0>HP(k-gf2n^qMI^e z(x%6AUvz4mH9B>KcXVoeIUe216UjmTkMVz2B8p5u#Q$L*?kJxSmtWIOiQC5eJ4uQE zvKKs%g*cT34}FxGEt%AkNgi?}Pt4`V{;p4U@1!^?>oP&oTSc2V216|@U?OX>eqG-0 zzOGw&6lQRx7Zd4SEhC}4X#{oYKRWEVSWGPWL)`_EX>NU@#T6y9QHrJf_NqR)ZVYHi z?y^U6`3=-{*L_z!uBq8Ps`NY+H@TBVwlK80fkJ{Zue~_Qgb0IEPU`jIL9rc^(^)wc zMesWhfl=4|u-qI8bm7z^%v;`x)v;f!&F&TJNx8H`-0fP3b+;(p5@B4Wc0im<#i`Pj zZ?y4wJZS+WFuyy@_i@Cj@^V$2^6?mQg>9wSiqP7Q>=$#Z89G{CZrpBiBo?f6&j?iFSsE0UVGL+(hoINIlqQSExQ_g{k6vR<|kYW2CtKl{v!DX z>+KZ70u-`gepzuWPs`$x$07HWve?fmpCVR0N;%7_Kjtd9bn}(wsxMV7a<7^YFvN^g zO_P)qg)Zwd#H@syZ-tlA)mQpWv4oOg(sh@8DhZh)*<4yM#Wq@){VTx=isU2{(x@*g ztrt-8rRQE<#F?Szx%hXjRQ`))Sg*~0)CE_TsFEFJrXTTt-@dm2mz!zdn`is3#IGjLsRuT34f7YDWoFa2T)oJ^XN7u^fn}wu z^?z4y{qG~kk{p9auY~a`QEmE*dOL6S0N=TL0C}H5pfY-Zo6bs!$q}{wwp9NhV$FM% z#LV_zO~kv}dFdY{h!h=jY5r4gDbhcd>MuOQij;6K%WviCpIq@u|8b*&$o2pC`xIB} zspNI7_Nk2i1rUv{1)I^UU^6-tY(`&#P1?U(=s`+9;*u>_528POx_XeT3wpaCIfwG= zJol;w!_|X$uJU!sKq8Pvljk{3GK-oe4XNwl&DDQgCmDDDah<4CQ)KoZ*~R*gY}J2c zt5=fQGItr0t@@Abo9RE0bJ>+5^&tX~iQTgLic)#irApbQOEx~WDmGTG&=Kd~;pW0^ zlm4SrL>|p?skn4m$+UQ>+mwWi{v%uUAH@YzX8Y~Ye|U5q@`YI$WFP}wMf4)v=FYg; zKB|lq%doru&|~4Fk0Ow4`VZMEAs@Q#T+#JHjfa3v@_TEa(!h|2ti+}Lvn32;Tx_F% zWfhYQkr}TT*RWp)~$i%LZD^&HV4l zOZVkPF)!z4ojdjEusOfm$U#KYP4=`?Uk{r@nuU@T=T#z%uy4*wR7P1duoR#{12^4gFOSNmtqhw`Lyke?b`&)0Gc znZ#%_kMrV?)Ku!mvH-_!T)dLz8Rq~teHGzRZ1fBGox!G-1URmSr&RHgA|_vq*JfT~ zdN6G2K3N2XpkuA&8VLOBhnx@W@NX8uTy>^?VC#ArvhvhG~Ja7-J5tUcB~_{AQfVFL2U;e8&)zFk5iNjUN)O1+LV`Tha+KZ7WY>1tk}* z$WTT4LM9d&)5>rKmoeceLl#^`YSNKwXUS0vZ6fcH3ySips`OcF?pkQhT#u4+!Dej8 z_`gj~y5@8e*O$@DfSM>B8RD%^9^}0sleO;A3bJmmnlp1)FEw$~O{k3b)=6`9Z^%u(H^fy87RABxWz{;!(5H6$BS;j+-=Rx6xbhmzOr zQr%L`l2YECl90Twl>C*^Ar|kcvl(9Wk@UCZ9g+6Pqkg#mKrx-%>dqpFkl-Gvzr3HM ztn3#g{Ly0Jx4FYpHe>OX=&UD$gPf@GIotQ?I5;O-_FupQ%@;h!^c!J;q%vFK*(MIXdh+9E2wgnL5^375gZG3if<^-~pVh-X|k z7mwsAgABOtys5-(&iFV=`dP8oQusQhJ>SQ+Sa#hTm615wsE9Sz+!Yd>I$7hDd)l=6 zc!Dy3Z^c1 zC2Jr3`gRd8TLVHY5E-%;$aT5P*qouj*z+Ry(iT)WekYACkICBD3lav4nn2s4YC~$` zV`sd-)W2%nrXvILWJ4VC!2zjRmwtXOSE_kw)gC1?$itdj*(ez5s@@msQc~-8M2Wp} zz0H#QNATH);D*F>Fb-j!?3Qg<$i1W+H%uPU;o@UO<(`qZ%p6N+$mU< zL~SBbwJdrLLJ5-J48&{_j2X5_zVIOO6e(gpYAd#X!Beg`5GP_62@;0|;U$J5;0zJ4 zEaTgYnmart?Gm|eVf#-3D-9;c&<2J2OIGq{IOA>hG|$Iosc+gE_6A6_Y5emXtUt_Q z9_0U+(K@+06#9ErQ`(9gKCrM1<3(kx=BM1#X~taF1CK}$65eeDldqNgV5bzTdlR*A znr`aM7WaPPz@6HPTt-=e+KS!Xv}%1-0rGz`+Y4#%(UcpezhXc6+p4YDPyR4gf35Y| zRP2G>RixtWeaY|em8Uk%f2`8b7CUAcu9E(yca^G|pXYzM@)dkM|K&c<|GKz6|M|{} z`s!cgn8cx@OQ{v zg4w|^{|?gqdo;CJ{P2IkFl!s;*+9Nuh5rgnTG60EhM9f0?qB^bJ->f8(es;#DfxXb zK+o4He^svf=lBQ;<*Pr0Owu(3`C)=@(6aif=7Rh&srR7x+IqOeTDlop!$Kd-?@x2H zTrZ$-QqGAKM&e5}%(-M<+;a>w3{&LdW0;%ByvX$AyTCBOT~3`fumOvzUPiHLcC$g1)`MO~&vGTb?ad#T|L#gt=<;ht}}XBcjO z5|QIm^Sa^gY`86Z)W0W$KFjea|FWDU-nd__slXjaeaVr=zg(X} z{m7BYzqm6{PB}i{U)-VM;F!R_xc!m093A-=w|RVLxI=?4gqP<1`Tf=|J=$mDd!SOshZxuX#O{AXRykrLk_IWgc0vFw)yGh|S(OPkS52B`!c zG*8YQ=F4@7MBTPjFH9(IRa{1*$hU-GV`yR}Z;?&}fml`Kk?99Y$TyB)k;$im5$POt zhfz@CMjno!93}sPB_ft+>z2H?aLapH$(t%nmqH_NAr={hFOw^cv80Qo3(_;HL!N5g zAqM%of&^bHh?Gx{C8mrZdOfw(j>$H1rv9lH5=5t{4lGn^ab3c%be-TMb)psQmwTv} zGV4TYoI3F}>m<&|j{3P&M+ceLb-Xr@=L+!`wNtgS#B=iR zsMPwR|N2EXCsGN)T#lHrI;p%oQ?aA~RrOOsWaaeaI+4kR!TOZP_|b`V7Ymu{=7^#V z+Vr`mD?fjZ%s1;3IiyoamJVvSon9=16(g~>+6w);a=TB&l=!IInV$h-;VQ?S_2qDj zrI|7!aTF?x+|$7Dicdod4v=$PH3MDA&tP9%eHm&=$!fUEl#cft@lIai&%fle+!WmE zP7weeY5bRZPQy=4jk%tqc(U3sh0{uQ1Iaokbqn!1R%o}KU|*i{3Des0(Ez5?+G=SU zJ{Pz_vWt@{c5LLCt;k3B*B!pPqu?RQlv};rnx!k6YN~WqRSG3D0lOtQ#FkbsdCkBz z6*7~Ms)0~kDQ&}SP`w=f8 z3Yw^r5RwEPq^>LlZcE-L+yLKHOom69*STogCpl5c%FHT1h9z<61;(;h{CI-HDzl}k zed`}wMv&0rL1M}X5?4G(yeo*(6gL+viz|#w&IuMiT>9WFOwTQsoL0`MKF;_%g|dXH z1))l{cuDK=qp>nCP&~Zs0ZHxUrT?gLn6of!Q*Kytj(=Ekq5n1R7oycAQ+3OGrZ7x+ zyzcdgS?u!6vn9k!Gabz5=v6#n$rmh%E%Uwf`w{30RUxCU#_Z`eD&YEg3pu+m9_Gfe5@6H%X#@#t>UefI4tq^ z^qZUe(-PkajUSzpvuKSadZK+&ur+Gxx-0W9|2Sp6rG3oWm-oHpLt@{So_F;=zpqHCC#T|Rd3%a zUKRYTG9VwYmVO&^M4#rWuN81r=3GTIas02 zg~bE<{eHE+W#p0M%wJo@j&Jb(>2H>V1zI{E{A56#->+U+T)*F^2SO`Yl3V?Hdi;{G z2JZ)cb7W*@tYurwjD~Bvzw>s~>UuMKZuhoyxxC zwwW>A-;R1`M$g>;WOgt2rv2kt)qnPX>cW%jEnn<|MMuFs@4;rGnG{oOHVENfQ; zoV&Qc-Iju^JF3*OH??&5<;_=zG|uqZdUF2RNA8NV41aw6=W}0AfBNg*&D;AGow8(X zz3a_aPd+mL>@P!n;yN_8q<>ws{`1~`&D%dd_vur^U$=x_c)sV6S+@tZe|_ukqrYBh zsUQBD_SlZw-g{~J&c~;AUGvz`!HN91Mag9 zk9>Nlf5gDigOU=4`v>++95{v_#Teq>d(6mjLlef1OnkPf=lid+NK|}(La)sfO8sXs zY1e}yr5DF+jw$mol??xKhWm&B=1nfy#iD2{{@pQ1^r<7e}*aH<{9pHjq7h3 z?iAztI83>Jq~YJ+@NbGK`DPs8Zm#xuQnvwY&egqLxX86rMm=!l^M6HVt}$C$B+Oq3Xj3?4Cb zNYbdGvGz92W51X1?Hb33Ci;ayxrf7ai#o`^p+?NEB+73xxQ^J^UY+{(ayeZVuj;zh zjBn1}7E5FCDls1si{z<8*L@}9vl;Qk*z_PF%tM=baoyx$k@!Z(4;-8rn>1$p$T34= zW23@7E?eRPbXT0=Ir}cfxn*9UZsKi7Ko1ZbJ9I?su!Mo5hnnu< z%3S>j(=KLn{)Ht~6&lZN^3NfOivL3L;fop4)M62_dd|NH>hdp5hJ^VyM})jwk06$a z8E3WW4=W2RDO+I)PkF&cwis*Lv{_B?SZIl{vM}P4Ra$ZloV_EQhr;@VJr>qGtXIzn zXVSuyhAEwWw6)r*lK1jvoIAAz=fbrGm!jpL1fawFnU8#kl?w~QoGY{ir-}GH zzu{I;D=huE+`b|##b;_*3!gvv|G8repM}ni+JgUwwl9H?qR9U59E3yy69qIVNW_4k zjxq$0C~BI_K#xuYkqEkCfDi%Y5@rOIBbY?fG^2R1;I+%Ttg^fAin?NqiW!0=AYwq| zQZXPZAt(qM0x0=^ztz=~nMoqD`}@~tdR|x6t5?^nSFg^-_LS8p0yW8j!$}#o)eWjK z@EtX6;37Og8CZhrG*=&Y>vc>dKDhcra-arB7|WfG z1NsR^z===2oeq2(zu;S?L1_paj$iN{pptMr5J<9pgfAfOO1rbO2 z#*8G#X~zkV|6Ys~PDab?ZT0Lj)j#}~f_R%A>2tKX) z14`-;OKKfTDxal<2WYWxsQM<`>R*BOqrSNjZIfyw7OQEAKuZK#BGA4-83OH?C@V?r z3zw0)%$1hL^o$pB>^--t(b>Qpx1z)o`K{H-mu%890CVZi$xniA;?;Q26G*`Ups8`dn5hlfM_}b)pWDgvIOeLdKk{m}JKe`J(Oet_}i?$V=gJ~nl z@-k!kcFoAH)Nr)XV@xS?M}0;n5!_MRCQC2R(yR5OjZFrOVlmB0a!jVt;myFl#tig* z!%QSOcRO-j64)2-w7tDgP54P)&vFr5lWAKW`;IfAnoMEzeKYW_S(u`j5P;VmBK%SK zm4F<=f2$^J(>Joz$WA8^KJj&D!d~Q5K|W(qbBOEd-;t1`YC@g9N8fES+}9w~83{Rt z!i)cXiLt$1m#`hdI{XFcOUq6a4L~#ImShxP!}p|&;#pC}6QYZU#ORfQ1IfihVhNLq zhqNl57FRs9wT@c>;Tlf}*M#Ev=M?9((W``OA|YJc7SC!|Jks_D^)7X^dbgT0x;$Jg zE;zIjO|m4ok7+;V;l)0t&+($_$IQJ+-iy=)r`QL0&nw|J1lYs z$f&@+qy*IR(CEP4czwwM5K7pB1Hv(S(SE)M@D8C=v!gJ8K}Kv3P0w2H zsMG`cS|P%P%r@nw$1m0xT!zyRnH~G2ZS^K8$6$NHwz|yY?}vQR?@>e$7pRWcUp&P4 z&{LqqvkDU`2N|9oh}pH$5zsdx0#PXlsv6EB@DPcPj7Q#CP~aom>YN0o>{Hw7&)~b1 z(mO5oagaNQIeYO4sYA+-Y@=rvCu|vH+|>i2vsO7i(sz^kE;HpWV+51j0n~>kYPz4h zK>~YOQf*mMxF+Qj_#z7*0g!q-QEoqxI?8RNP0wDGum!zf*&t&?4^YS|actB-g*{OfZkmdRwr=t#jr7T(X1OCf-E#a`>)B?acR~aL5Kze=$+eX#)iAUcF z77Nh5oiQ}oX$J+o`oY1FIFOZj@=p$EM#ME5YNve%hD@t;4-(q&gD35TfH&pR4m_A8;t|XHu>_U=AMhxLZ0-Bk2r_p(VEA6f&ifuKn z8y5P6Gp+Mtm*b>ub-8BpCLA8kG(4Ad&eFegI<|!Ipl0^4Mr?ta<|LKRq)S@t(_lRC zom>Ce<-pCJP!`J2VLA0(s^gRsth_c@seuFW-9`U~elY=uCqGghAEEyBubhqwXPRrJ zivCk~G~UXp^(!~UrImT`VEsI<)SV^fl7 zU~c`Vw1JO$^i#l1Pj%uWw#3uXg;Bk68NhU<4J<^T;WEZ|>Zv-mIrY8h-<*0i#9Bye zD@Hwcy3*;`ZLzTn{j5SuvMVjI*ciPG6_Ta@EE_f|`*Fzqa{U-OR>ZIxWTAwiMXt83 zu0x2`GJ%7TJk*>M_)thTi59!jnU?stib8Nyx}YvN8gz82PRFTc$}UijqSFlDV*O~~ zVEeS}`t%TA*zv=Wd{zbNN>IaE%0tji42Jrj^ z%+AJlu)PykWYM{V&aonlugWQ+azI~>vb16qQR}7*7WyxA}-Z|8n5->!`|ikPEAKM8@()W0Fg6I#^_CsU0@r3y+{>0 zruI(9PBW8mRS*HRfyL~Fxn%z0-I#~i8rFCN@R%6B8ItDB8a03fi5C?ia;+j(VZrVRDqhkOe6+~H{zS%BJDi| zGSc1^X_u+v0;Xp8Sp}5rF;4wh;Oj0Z2$aH$y+r^dCPx3rt$z%Uw9zZ+(N~1ZS}cM% zaD)mfRu^#fTLVN0WELSbD6b^-HA4(!1SgpK7~-S(b%C^6k|FTXqsKTMN5CVdtJ5T3 zWv0l1>tJ_FA5GvRzcIXa<0H5_9a~ArBZ8QjMkY{aUCc}m6Cp&_9A&JqE-beZa5b{a z97pvkDE^FI-#{;nCv^WP5rj#Vbu5D1C0vhgIY=(H$0kv?;LDX-F1KJ=43;VjNj;+QLHVe&oUuX;$7)#g^^pUZ~ z5^}vhGTvB1KG#Pk8cWF5`p6_B8;d(r*P<6-P^{lv+pV0dVO55!3`=9(s-lJ4ju_*` zc!tR708cDzO?{Dd>(Sq06ar-rf?eBfbX7D|ZsD*q2Fpg<+T(pHmdLN|wvlvegjWrg z_IMdL9DW8;U0W<}9K-Vy)+lBr8%x+6^pQP{C2Rru$SVz@y4YSl+8&iMvbV8>+JwjO zEqBt*31xg_Utpl1wIFgE$|HB87+-akXB|U}r zL}LlrULQFbG{)d9aIm$%!wjZ)I$VT~b+GjyIEe&%;U=^j;WmhAoed|Uk_e|eJ?!(5 z+BwFO-Xy#bzgsnthS}5MxF!ZIx;$5_brHjNn8-Tuav3Muj>r0;z@0xh$Qn4X; zTVMKucpoO*my35YvA%SLcqh;5OR3x%*@dUxkxnt>G%x*Q01loVFEv zy68)}-ssWaXXc%b(;nk}suo7}B6uI|;)bIC_J4rkbR0Ear2dKg*;cGaxDw&IS%3RI zyy#Dq(W<|)PJq`c1z5TXKwZ#4HOIDS0hD9Im#-h$azHb(s?dG!>zbCmm|PWzcB}<| zE}`(1y@24k&!RlW--6t_O>p3r7=39K2zm^mG~<5tKy_CN5;QIc7gn$BRz@zaih?i` z4FoP5q79#D8=K*U)m+<*AHfudx&8TxZ6KyUwjcjay>iQeG}k6}DEqpC36>t99}>)t zpXsIBA-Ew^)X`A)OtNj!-(c|=bHTNJf9xlL9uO0JlW;=QVo2Vq#7Cc=y`=2s7OYi3l)o4#`Hw}I9!0^I1LpVK91AK0xHz;gUj)a z4xQt$(@~A-0&60|($W%k1}c(ln-SnRCJfL`9Z~g*snQ)*^?A5P^KQg8IMJo!YwN>e zUAhLVmS`?LuSa6yRO9YgJrD>aJ1UVF^eb!e=J*r}jN?<)xFsGH4wo&M9e|!-%u7U{ z1p5v|>evCj@B}BG^o^Ka2%vMSj_=M%l0Z%Tg1ur^ArM%bWc$Ri#c@*AH>$uo;nJaQ zY;o+)N?&h#K^gbB(OS6rc-K7Cr*v15nw&wu_?dEkKul#LrVDvvz!h_YeB z24(Ktxys3tCzU(yxI-B-WQcO)$PwjV|N57*ZQC~GrI%h(UVH5|<%JhsP*$v1q0E>u zLn$jOQ{I02ZROWre^s7-`e~&{j~+_@{{593Z@f`Ce*CzyY11a9Z{NPk-~RSD<(qH5 zQGWdKN9F$e?^ky2+^IMm4y9wqj!JB7tWr@?px>ra`^CJ{#pQA-Cr+GDqNAgg z`Sa&1!-fr01`Zsk{Q1v+R#vWDsoZ+&t;%2j`d1|*BSU%Oi6@k&o_b1o@x>RF0Rsjo zKmYu*^4@#zDXUknR(9{+tz2@+B}!6Kk^-5m96NSQ*}8SB^6|$XD~XATO8fThl|zRP zVSYbHS-Nzo;&eKd3of`oS+{PT^2#f(DD&pcQ?9@MdS(3h@yh7Yqm@pbIw><}&Q!*X z8KW#%us|6)bg1&h7hfpdx^+`7zx;A#@#4iwadELSc<^B5haY}WN=izU4jnoud-m*6 z?!NnOrA?bQ%IBYdu2ff7D}DO(QLerAT7J(|al740TwI)znwqNIb=O_W+O=zyPe1)s zdG*y-m2u<7DNjE6q_Skm5@rAX{mO$6KB#>6-FHf5WuHPvM5gYwo}Zz=cObC05Fni3Neqtw;aDec;|Q^t-RtMu#FPZ>FKr1H)? z?q^_UZIur` z_(1vg+i#UYg9a%RCr(sURaKsS_F2Vlw=39Mp{!c9N*OU?g!1mY?<(h?e?HoTvJXXd z3!FxPZGS;z7K-*N6iW=M@>8%*Cy0nUPz(VSLl;zc9FnO*?A(W} zWkYNnL6VJLMGn&rFV4--h(?ekOVl=q{VA;DMP72TjE=Lvh zgcuwGHvb&#Uji{z0WtS9#NP^tr1Ky;ZbMUSK-E45R%r*3=79L?k7jxa#KS1Ck_OQm z1y*<*?0pSb(2J(h2O@VPSfK_Y=5>hAw;_uEi6)!~vAhG#bsgCKc2xf$h|?Yrf33k< z%g{{6fUR~x6s!gtz5`Y}7a}7AP5ux>Rtnf?5!m{Dh`i+x`@8hVdOk~>$_FRYL>;e1M zKwNwTu`>d!@-W2CGhppLDEgNne%6BJE=5+ZM^pU)&Dn#dw*hr;d+t6HBpjqDqakvT9IT~!8hi0@IEc_Iza57kI zI-076rZEg`{41*Ddo;0kz#h9H9`6Q=cZBF1jOH;C?D`5siXZIzBAQqss(&$>&`vaA z>bnY>;Ub94_aG)e1-qPsYCjG!wjbhP6xg^G#7GIM_DzU07sO^9*uDxZcO}^NVl=TQ zAR0D;J#K`Uv!U5VL&OG9<*%V>zYp;n191|CrrRD(VIjoreGre=Ld-o0ad0j~u!<%= z6wPb`n)VkEy$2!6m!dfxg-HAaB5yN9^AU*n|A6hkh1i`5ar;Mz%vT|rykNU-5X;{| zbp8v?rXNIb5xSRs5Sb?+zOF&jKY(V@8O_B95&jjL)KrMaArLJ;f;BG$i{6j!pbNxs zFEsfN!MZw{&NPU)x6uuagNSSg5&jQ!10rso`d-P93rX=qT@6~`D}>okI}^LgvkF1qO2>#&zBGdE7APYAjXR!GFwAb zS3n#)AYxyKs6G$fMH0HKJ0KP=LsQO&*gOOgkOQ$g2BPCubRqL0y8e!?trMEoTj)M- zLbur#-HRP!?i+Lw4?!IK8RGwGh}RA1(q4eLI1F*S98I?xV)8n4t6Avc{*A8Va)`2@ z(cD*|+o?o1Rg13fU39$z(X|wy+qezg35>5=2A?be*~AUbE4?T!QW*5u#?UQ1GcJP)VTjOGSf<3YA4FMpQVdxKdf8 zvO>k3N;8!)Dxy?=s2ozMqtZepor*J+cPge-2C3{&xuqgXMLGpN4i!r(Yg8Volu=ow z5<_K~3M>aCRKTb>Q7NVpM}?Gwi462yRMx2|m!bFJAcl$_6>|4V_8c&BU_nKn0|zSU9KdnF z#(@|I7aSyUK*_-l2N)cjaUe;>ngd{K@W4SA2U8p%aUjHjH3xef7;}(Dg`I;sD&-t- zbFfH5g`Wc%4(>QG)_^k0UM z&G~mQy_KkkhAUCClcJImTgNX3?v-%wj3?!DFf)u54;DO=9*xdy8|N-)y(rG#>hW0K z!eQcj00&i@_)L#5s>C1G6n_p7F8|)dXZphMZwkksgM75c{!uTscOk+qHv>ikeu~YZ zFkLbwbO6%79Uw?{`8D43KL|+oND&!Sy0-!n|0+P@&4@GY;{k;~ zAn7;(8E!x7fq0)G5d8yy4F3xLh_@V&c$?u#_fOy`@BnH5D$%uTwlx<(gip>3a}lo=x*>4LA8a$K}t7Zcx16 zYJt-!*!0z>E)eA#rmkTz)diw`E_Dsdxh@dvyH;Jp5~~Zu`>s~S(Zjkxk}p-|r*Yw$ z;_IZYVRq{R8NPOot%Vy@akS8Bb05_MwQXFE{k4M&s#{|dsM9|-Dyyi$dyU)Z>MTyv z8p@HN%QRzFyeGFt)4%fQ2M>UdGH9Xm3M`5Lxb?u+>OsYLM|!Vt>s_&w5iuDaR!F#m zswbE0i?+^d@7A|z3r?aOa3@?TH{;i~DrEsVaBW!I8f5JQb{K2k$DdlF<6lIaRaEC~ zinReFqOJRFY*zC}fsF0hDu^!wr~GGkfI%vp?Ezc@?3tR@QOSE|CXrUDBS zVP!o`)sL%nJJkH|TC4AqX|SZOe)>%jF7$IA#F_=SDU*#g{S?-#>ai8BOVpA42}yX5 z(Q>cxox?1u#_?hL5a+uC+ z$Se9Zl2Aff2T!Nm^kq8=(+KF8?$6=@78l;W8X^x&V-uG;>5mMZdwTw zjZM_^25ZL6@&4Nz^5-}j6yE@xfz{hLY=qDJ?`tm?ShbfT8E*mIVCn>9%$a%f5|e!KTEki` z{p6f)9c6_ZY|ns9?u-Ygd#7DJcIH&a)xn-A7fA{;5N9+@YM7DkN_Y4)r_Wt2LriYL z|9L5`?Jf9MN@1L7#ww{bCZUb&4~Deh-;zF=3Vf;@t0)6ttb8bzekh}$-s!~il*D5` zg|YA=^g`l$@jQm_%+fI5!dUoO;d&(TSKulC#l&Yh2xH+#&}X{0;VJvo#FyoQCLr}% zGqggyU+{b`@nrcl!Fvo~&)x+P{geGX={^IVC?oqsK;k*@hpQy) z9RbnD*;`BZw~&5xq4q_95c>9q07*X&kl~^L8IB!7Jm7LbqUK9DM#2mUQzQfsc#i{8 zzq9K78fmxqWSF!A2!lI}1ir;*-%Gp2m(id_dRG0v0e@J724xUt&x^3{h_F)*g@&(; zus;xCFN&};Y-o5TXG-3b-09Fw)!S}yW$7>aW=nCNMe zP}5bSOc^^Fm)`_Ka6tdw6s1U`uBLmbIEuHV z?`%y_$r*8*Ti*;V63X5I5`o@jLiE9DRQB|WHTS~ZvDKsR6+RyB6y5F7e-t*izTVOy zJ^B%$LL?zkrV23y0mX%jYRN@-6#*P&R58PjB-{p#7Mr6#(excS^Q8Gl@6;+p;X#)- z6JuOdR5rU4H5kqBtJZWV5zu@Z)Q0Vdzcz-$1gXd(5l~~3{}3L7c^0hTkf!O!pl_C# zRI$mY@Fr9<)hvDVax;0@Xx;#N9z73AS5{?~{%aQW;9iH_1r71D?tC{M`SA2Qg_L=s z>THiV5gZy>BfT`zGrXzs@aCxweYfz#aKIOj_=;!3zo=~9x!N*!6n4V!7EnpwxQl^m zk&=~~e=Z*1D$Sq0PV;Bs#F=?90*+0&3im&Fks#T<0RuGc`sa}#ThVOrh;YSj!d^Q) zx%F95ht;}uQMRI5CfJy=3R+}k(FSi)R?+vqHil~*Gyfg^^dp{L^;!BMcdvD}M_-1E zdjUJ~`L@RnfGErJc$GVSo$aw*utJHo6)phMyGjNy)4#~lzwy|H)ZXm(_QMEmZdGGR z3;{a#4kJSE6&}473OZEz=@A8kWIX;H=!x>sdX@WjX7xJ6t&rLRsvbAmo(gE6eofu^ zDdvL8J#$iv!$x^kS-3C%5jHuD5sR{+yVqirl~q}A0{iIls%(WmcwtvkU-+ON8*o4X zu0`Epbszr_k>=Y9sR%*sy$khV^6Y(ZFJ+;sC42E-+Znz$g!{7dR!i37-^{I*?b=I# z%bV~*D5(N>s)eh*Pkjd)*ubP($XE*jS-edG&PKr6XW{#9bG~cfTf=RwKzJ@3!OX#D zL>OrzJQ$8(W@0W8`kM%&!Vydg9E;aX!%vamVex8{2t>{H2$t`!;{L^k1gr4^;;qcQmQuE@p-Tr zih*oW6Dfn!pxE7q69{g-!K}C6A?mO@eUC>!D)5^Tb={F4v(7f-O^UkVcohLcL|ypk zME2XcK$NBk@Z2`BD6?=wcbai{#ztXTG{Ue2(@^hiZrqYDJ8W`wbM$Mae@pSVH143j z&v8e|39ti?ieERm@i>0ycWhC ztK|5A`3%FqIXoSt&v8es#6MHI$F@SbLBAgYh=$$qI>30?Io}4my&E7@2YWmqR2w@x z6kE zhjz=%l6H%)M@hTI$DI2jzSSnWH;bF^iVkT$rJJj$fSaZ_4KO26K`dBPl4Ij~KrFGfs`etqRK z2iGmePnwW7)BArpZsL3bjWy1(>}U)B)wpSiWD1MkVl+Oq%d;LgS#;PAXt22^%*bR1 z-OjXbu}Y>ZLx$K1dL&8tCuxO|Jkz-8h@?k7hlbxm2u&hn$3)Y|{O>~?JR+D4t%(l| zBc*#X(!nz4_>KV)zR9`;arpq{tW9v-Brcc0M0^&<4q0VTU@)|R4uc733}bNcwP8Ed z{QIE*W1x~(>B+6eZ1inNHq?~TZix2)ORoyG6;IovytNn%DPmGnJAOyp=lfr_Jyb4o9_tfsaax-t+f1yg&=($~B7O{fm?6CeMkxekChmKlkcQ2Uh;_LK;FSic}D(&~t$#dZ6z9H;djKD*a+_D*y! zlltIZqws0F-?-1HrT(L@b^Vd(KYZ4t+yA=W9gjk%vE;mE|8M(^3|ZI~z22x?=x=A; zZ&-9J{+|fu2{kg=L8mkI8ys8GWQc!7$p<}>WWOe9g^@f{zp+fxn=a{0ape1c6xNIkX1Q26(;(Tep?ZQeN3tqRLse}2b?Gpq^T!tW}2vl%QRhYp@gLA?#R`>@o0a!Kx{Ot@YJbD#UK)K8B1AyT>wgCj|*}0xX z`!NIpwC?}}x}8&F#LqX~JI(?m{=L#Z5Rh`7{LSzwfMygXWVatGzmufh%1YWm*{x`dC zse~Cz!2`ql5(k83R5&;Op|WUpS~${f$#H4@-Rma3Bpr($zriIm-KOg%zj=>bZ%L<2 zqz-yI62i3f1k-@8Xuvj&=1g+e($|wDU9MMJc_WpxmAg1BAl5Iqev$&3&B(;kTr$5uj(6>4kf(gdz-*buP`O7ssISPW6Q zCW9$a=*9XqAh$f&4>%xIU6>GW#XUynp)0_#V~>7P_#>|K5HG}YDU&SRFgeP@wHaYE zqLGEdoP-!D7iBFsdRX$3?E$8VKgT09Q}8r5UrBjJgSjP|CgE3_?jn41@|^QiG-pa* zq&%m5?u^IM*R6a6QI-x9rM`kO<*?JX5_=M@D zzr|PMq#ZyQc!e<$$18NR49Ci$c8-fe?Hq@N+UG^s?~Jg^9!%~r$ekA4(J;cD<;t0k z9i-Magdwh5T*Fn5`%ahhjDBLT0`{Ly&chU$m`Otql{aJT zxhg9ml7NiHB8T+-_I)d z^z~kk<8w?eW=55(y+G`kCkh$>mX#%1`g-5q+FqFF^CJc`>0TyXW$YzaSut{+?*h&? z`umLsB1erGmY+H47kVK_Fn9m!I%+dT{0*Wt(;2{;onK96W!Ode85n|0?h;J*f=u!dUbp^rUCdcB%L9yXg3JoQ1zc*hfqIP(bQK zmr2Oo8<0VEZpI)U*Gu8l@l8PLM=MRcox3es!JZEY(Pp0w7!Q~Q$oMh<8O{MnIu}TL z0wCktheQ){=7ajyTY$vp`YQ47l6LB0jMoJSBi2_LFZ&$E%k@>pI|dM><1!>nkq|(* z-wa4S$|~P0q@DgW1Mtw_;uGq+4aJ`tVJFLn`acw5UmjuS z*f$hEWF0hOrL%Fu!E9Yp!3no;os%w&3z-1}Y0725lqEoJk+*Ez^}Rm6lPU$JZ3}+mvT8 zVI!q#Kt#9mT<>EPJ(a^HEPchUpLcNKkZb5`n=wQX=9<8z#(@H>?T zbXoC#Fi&P^`j0qx6_2wlr6h6bNZf&3(MTEVcO`6>Y6+93mhzv=e3RMlPFUEwXsc>_ zCQw+W+Lo0SZS@XPS2d{bFu=h4SvMl^z zfv`4zUleX~AL{qCX&AI{#03q`-nd+PYt&I()cHevW^spe-T3bLH@Lng;)3j9Vn-Ub zis6LO`JCb5j?fdL(4eQ;3ZFw3aF=lC`KS(-uXi3MXeu&d$zaeW9d)=HQ}{u_>&-(y zZlgo0$3JBo?pU>mss(eg@hLX{=2lTzQ3F#+_gb7zs_h3QZZJ9uQ~g*AicUU-hHaDz9xZdb8Q=)ddZ zt@!sbes<|<2@62P&l$Ca(S>E+lz|Ptn_P~q;%pu6XYZpXtkoLUYw17wesrNmu39)K zDm7mf$Ar`Y0UtL@-WN{#OF{Zw{MY^!lyI8Q)2oVUdV$LE61A+pwNqc8k^e1uVY3G} z&mZ5eMIFyr=sgEDyB?n&sB=bb&M59{L+xq}8&v&Aclt)(S2cHFN;!t(tD6F92r!ZT7TOwplX<$_D49VC7iVs6k2Aol(1Pv@u`SL=^!Rkai+7*`v+b( zxU+i$rmNDceD{fVH5gLme3WXnrmq*VVCOY5J;PS|bv#m7J>vnC!GjMXT|5nLrmGt1 zD*Z|%j#JPzPvaE`mj)5OCPJn_7z6~deYaJ(?_S|M*vcDXbz_1>1*ZI+tuzzw68)H3rSZs5Y!T?cp^KsE6H*ZMZ(>#nt^a+ z4=|Xk9@pKXgl1n<5)ZeGVsER%tX?p%?_r-AtGP+zOib-OH^e_g;>H%EWhzJT!MEm;MN~_~%cr?ST6@9%~i^yaJ zx;!(J-y#NCwmb(_do6tb9`3srC~Cpn>gB55IkmPgf*e3WhXlD+RM96^5S(hxO8?0lj}(ZE!0yqj zf3wZse%m`_s!NB)rf>0KtpX)|N;Bri8#qoP*%L|bkKNRDnXRI{w_>?MbQywv?I0v6 zJD8;X%*9@jq+>{u;HhiEeJ2Uu6O9Q*M|}jxKg9B?n3NA#IWB-(sKNOhEA9JDLDazcL@Ee&_Bv$qhkk6&S`AldR9G(<$$BE*xB#6hFfrPfEmT$ zJEHmL^s9$}M1PFyiC{tkS;8+x3crZi7mTWM86w26wqQ`4;YPZPdpvkIS-3AQ0G1A1 zZ-;5(Ki+g#J~3ev|1{}B4XC;Kog~yHjXVL+Bz$``e3~)vX>NXJCIm5!%>+%tKO+5k z0-?EeyGKQj)pGbH(!a0;`kl}P(=0YYllcEG{YSOnAH_itOiSrclK%aH(_H-wK129y z>3?1eUYHZ6Yvh5Azqeu=UCh; zBJn7Hgt5vcVxKk3#{>M)GJYwKaG>Af%Ee*k;J{aL_E0cQY`?g&80Q@az8;VuVc zxQhT$cJ_0n`*HM#bl(Tq1Mb@aQvhEDybN%ubTD>cJdY4IiTWLQGB)V^w@O41apJ&?bqXAh?Hv^JRf788V0$?xL8-UF4hXAjF{hxrB z1O7$2-wW6c_H@85fUf|V`1jzC^gPmDA7#e#Eg;=D0TS<3K>X}a;*a_B0g}#0K>X}u z6k+V$04|0d#i5`tvyVZ1@Q=%oFhxRUj_%bUPFN=4atZS#93x?dgeej#5>_Ly2ruDs z3G*c!BVmSwDH19YRwJEwjVqIIxrF%=j*&1!!W0PsM7YNgnBS8gPY0N}(r)R;?T}CU zTl(yqNH^`4ezH#5Eq(P~8Q#+Wu9bF6pL-s0a2?FjudWAu+AV#~EB!6~>=@|N-_qx9 zlXgqLVkYPhF(3@}1==m6OS`4dc9-#4`ulT|o~2LUD)BA-_;cxR>FW!m-O{gbly*y> zy;s^T{qQH5K1*MYm;ToH#3AFe^ua5ozcv22P}*HGL#o8L^uISiKP0>4*)Ti%(@_7z z5&pRmc8I|+{8bTluE&PbyE?-DQiPoY=}`PY1UZBQ~S)+L=(hSf{i?G=FQ3KylrY zorMi-BV112Iw@CCt#CMLDqTX*8XZFqq7J$xXR2=sZ}Y(i(3@MUwP<2fzoaR1+2~-Q z>!7Xr8^Cpb-PI`cA!y@`ddsqR7T^eLsLSvrb z8#|-P=_FD_NBb4aX>l^Rj+%(=-- z5gx2@%R_EpjBt=OK?;I9BM3ygHzq+8w+s?eJ2{N9IZBc4A(R@u&i4Fp-@fv5_F|vn zlyS(-Z=N53nxP~^7Ah%tV7Q;6n2oyyvsiWr0~iLzvO|6Puh!*XW-J@i$Y zWs)A({YlR|&2*64vJt2k13frzb9p1*m6j z#3U-0geqcF88~ni7}4;f&SQq@0esP^b{^NVoZ zlW#dbue;1vxKgAGy97tCQn|hExDzWV!PN*`aUIG<%dK=rZB`pTRC`tUzNme;Zf%rr zIH;*xeyzzzctrCybX0Sq_#rryF2|o*l7s)6!yr(%Hpa`t%TI=56$z}Hh_!*y_}fko zM_3>bR3dP17Irh@OLY1C(jrbzFRR6Mte>fYU!&c*SgYSZZ-ghkdhSqAxjdZ8GC_q( zYjl|zzXcEW0Gt#w&+vq_U{|M(Q7D4ch&+X3Ou@76Z zUj$*kUB%er2!>VPI}dIvaS7BKK=nOtBv~1a6XlC-MO2j3_s*wFlC9_^VdEs+%2-BXuAn-ZP=zC~;-wbPKKy00dAsxDa1_M{e^jDSJd~R_8#~gVsxlO zN8E5McmcyirRE(3XL{WFXIk#uSG9%;>_y-unWgW;+vHE(wF)aM-Ybo)S9Khb%EU5# z)~oAdrf$a-d?t!1Q|>p(Mq?qa3!Heuvo130)z4$7E>D4>gomf?c0$=E0Q1>hk( zZSlSvp50OKeem$}m4onvNx@-7b+*FIpp&In;L-s!Z*lE{y5QGXiw!qSxGALA}qA1nO} z%73Z7RuYJ}5Tbw(9Yi=?+X+R4YY+U{=3QvmOwhkqxwzg85(wAd;^)snrrBH{sRh5J0Pd?jG`D&2@26`^P#;Y{sRa%u7oTgsBo*HpRXjGjSjDn^Tx8|X7bZKrqB^8|j4b#+|KR3M4?7-99df!RuPmvDOB>r|% z54*4hf9u}Qt6K2CU54)=h&Npiog@7(Z^2)ttI78>?~(tEc|BX`L_Y#a=DM)%3qMa z49@)hg6DjRC(FMv9U*wBsI_>BC+neEJP+{NNj%nvFjhK4);GMsOO$x5m*()EM7=?2 zu-_};T<{V0q1tbka1Z$MT-fVT-cTp(y8t2SJ8lJp4s8Db5YgD50E9klFOvS8PX&oC zoSO%UE&~Da>v9497``1KdZ8|@0U5p?7PxnL$%Gww4;qFF_DO)y!Rdwc1h2$%>vby>W2q)JLUpGo^_310&w z-m}vF6d>_tOM4#)&y}zik&)hefGoGMfKa;Zg8-Rc@(Bc|IG>3ian-OBmPxo=!h8wG zNSGmEii7|n+%G7!rk`sTIc1x~s_Z$7KcFf!7X}8)fH`mc_$q}y%Z^?}e zX}9DA6-gWLEyGvZt@g_eAtBxhHTqDyDJQJZP)8#CD71b(Xs|C15^ zMG^MzBJ9-RL*ttpVVAQRqHDlcL~^Ev91RURhPXAE$iv;(Ilifr9*~5jKW0Ug95LI6 z35O=rXACorQ)2KGM@K`amdr`5X)|X|#&HJD7s?}`-Wg*b$eS@UFL;QPM;K;K6-QSw z(G_;OLChY>q_jABl|5qc0A8|<+pxteCRy;xw2htFctf^zVK!#~$BrLwUOSgFeyn$_ ziR<&;GeF6ihP%4OTZ{8EeVf1Et>1w3J}JWRyo7lPUg!kP|9WnsOpLu6&pB9jc5{5t z?1cHf=O%VSn9*40CJsOt-A;$IoS(7i1m(U=CrQyj_Jo-;&CiGl4unXN%-$39AX=4W z=oC1|0TV{@O!G4-5SBE{B|QzD0_j->vV5ZTPS^(z=UoJPGxxhyBOTp{h)(GckPtpN zA46vvrjrln+|Jenm2Gi^6MOEkFVI%_EXZ&dW5N7n#a3v*22I?U*}>6JicZZ`8nJzj zyQJ?|3mO`{_qmNYYQG5_B=E~HDehbhCj0qN?Txp;ai=K!iRdwI>wqHx7#SRP)V)KZ z*eNHJQMWM{TiRwOYq__XCk%KOGCm}e+rblq8<6!L!OhFTfdhtLiHOJ?emwzNr7Hf^ zl1r_$B44$YVOhn7yV=m?L-*TNAz2T)^(s{iItuC=eC<4X1*V_OWa&HIwlzuqo2v3p zM9;dkpgwvorvtdoWyU+6@h%kc-hzKI9q>T7??b}ZjekLsb2s{7@rqr7jY+vK3$p@O zqlIC7G&^KUprGuu?Qti#i4#^%{jE7r>$HNkRUUudDs|y(jLXWRHGPYwFBwChz}^_m zpQvlPp94!wg^|xx4to{H28{j|XV}(!QgGrbZ$iO|6kE|qL3qkC+}^hm+Z4sd*Fc49 z1@Tq=L$_XOTXRQ4!KoB|^dei~S8&Zgb(O7fJ6u5Ee++#-8ilPlZ zmsav5zGDf~2^VY6=#R^>akn)u%J!Wr3-?1Xg{|;qhSCpX&!%vGhphs89+PSo!vm8c zstl=Ttyn{WVih05P5}x=rr;>%0W{35qeW%7be$@6v84yvEuHcR0%Y1`tc&xGDeHL%j{B!VupPsgY zF`z1uY=wuID4-$%n(-FPJ%oRl$_fzh=ta|ok6HIP9<2HY$7##7No7x`x}U;k&y>Ob z@x9|PDHJ%+RSok}QHWBR7;%s5;TzOojFhrY!ng?L?)&m2gu#CBT>Gs4;V#j)q8{vnu;YKXEu(E}PkiwK6vpVqwXM+jcrBw@1^UjKIT-k$J+A|HNPB(+fz%QRNq2HM-2y>(q=i-cHllWiqueJ@mgB#c-?q9U+?VG-)RNiwuNjB3 zq{z(|Nu-o(a>>DCvy4M3`D=y==iTxiPKf)0 z`eC+3%i-$Me^DFOxpRL(@jeYXRk{|ACYzDRnKqmi!?`(J)PosgNdePDH~`i-`{&Ac zr+?_hF8+Q)K?7A$`iVuR_5!#L6RyWg0ZigeHf-C9m{_wv2%S51;X6t=tKrK>lvaGT zxJs_=w~%pW?ao6$*-MlM>3@KdY^Z%6aqkks@OUZYw-q-&xHU7Gy;ks6qzYHmcQyAS zNU-3|tCVoms>-}g3G+SXc^~T()gkQK-X_os%Vzf~1}E+6~~s4{vN^foAqC7C66Zx*WqZAJOvQC&3*v4qvvq`(?6&|yB_n6^Jn3- zA7(ZAl{2p^e_)I<`$ljEX!z$Y*M}r&dQP%apVmPik|L6dq-4vh3W;2hScwgp8HQiO|#^)rG9c6CanVQUewRWXX zPVF#vl3L+R<)9Nh-S0cd8_s&`$4WU}Epp(_#eEe#=(eY{ujR(VpN=_mHQ$q(!lPML zB8OaWX_CXvaIEPBCcuh|IirqA!nH_|{4#{$s?=h5`V7f)=}3}oBo2q38!L`H#-RLg zF0E!SY6V3&Bs>BYsa8wea5T#rMUjw|-osY-8qlo+Dm5>`B2*h(R)XDtYs!zWN~ZyxZZ$+@lHf-U|DY%SN^c7iL+K_|WC)F0oVTQ)G0XK~ zBC7bql8S{Ma%c)S`Qp@{j?`yhHhOxpK08St)&ZnA2nc@2rC?p}$omuJ_$XJoB^#gI z9q7L0c3f2CyaAys!Y9v=E8G-CQX(JnxyY#>CbTpOcQ@m-}GqVyS`;|zqVCQ!TG;t z<`+GnW9`>wc?x6A+cmSVbq)|5@_P$%SOv}q-`9F2a8}^yDDha%!dQ6C(A@@v;qrS6 zEO%ine0gsr>HdP}4T;C{7skSChVGTXc>vu#4eKKeKV(1i2;l9Nc(PuaDdHGf8K9T z|M`IJVb25PJoJ}vBwP!~dDv$G(U$Fx0AfnPJ`6Aga1knj`6vKnyt4tB-n#*T(lJBA z?tquTJqnQc`@o;Xs{|z8p8?4aj{~*=oCL^p=1BkkfMBuzvw7d`pvU=EOMV@cc1s?D zSA@SM|0;n?d`nKfEbW$jT_Ww4Jl-Ykmi&HO+Cf&BLTR_;e+FFP6g2Nd*sqSTKM-O6 zD8il&VxjcTi?H+1b*MjOPpBPjD$IUsguQD7K4o2KcwdD7JrVZ1Bk-q0*k6sX-w_eM zTZDgcgq`#C_yrB$L+#H+*z+Uo5&KAo4!X&eIl|m9ihY0L8;o${#AzSzY-?{Pzno}& zPee=wbN`&>z+f%y>m(_$dy{j^<9%m4Ma|$-CynoesN{6G8EFnzSk23LIrpgX8R@5ZMx!R{G9dYZd%2L1P5o& z9}53Eq&4?FsgE}_b&B|2N=R};c6pk4;wI1W;X%emI!x*_HVgxD<+r};-opI3qjy^W z6k){td9F9lx^W1M1k>F7c?lUXg}&xo>wr*(G@XP0)_uV{C5~lB_ax@eA*O}-z4Pag zxx!fVc#2)nXgYuXoA)E9NIGLAtVj9;9sJ2OfpVic(|mWnMCBNOW|WmK)5^YJqI?yA zdJOsvvn@9>-<^y^po>*z1I__N_$Kq+OsDnW^{fnsC5;1=$hSsP=&NX&)Ub4CU)HR@ zr7xe!KT@Ag1vTgq3a1untau{zUE(?MaGwy(Z{bY_UaE=KA|Cq*s2q0m{VY>)t_G@x zJp*=RJ}yN<0AXi8!hY0>x0kfjpN0iSf2$l=`E;{P23|t#L0+&BWZTXh;R=2+S1bw& zu@SmTXv&dLyvF_W60gx=XeeH@yXq1DetoN3)GMba4~191NWlgjVJ$t0hh9Ff?|CB0Edm!uVDgS1e= zl~JR0F1%D??pa>S$)m)$P#w2B)jRcu#$9Sfm?Lt2;VNu!*|bB>bYG>{Mk0e2#`eb6 zzQQu!$0clGF07!mD}kP^V7qfGGh*>E*x=F_(|Ox4T=p_QwzIA1QIWD!#s%1Y?3=^S z%NA{&H`Gz)sLLPdP<;31&v8U4zFdH4#dnv6jezOf=j<;y89V3lg=$Q36z1a#u8W`3 zrG!PR8MnnR><}$x>9vBgSS`1`mR>dI!1^e~h|$*vPInFbaB&o1w4TN}rvnJ1=$Yo8 zHL>;2+>#bLSvg7zy(-9@o@S!)6-%RkQQf=;Fi)9fOiqo*+&$)~u@!Zpr;D=cs{9l4 zy%*%4=sG`1ugpJjjyIZ4ZN1TY0E>LN8;hN7^ZmC*6`UA42iMYI8rr(Oe%_U;(Ki)0 zZ#9%_xwyKke9pg7BD~F>bH^gZ*tKZh)gi8x4_l@4*^rIUiDwaj*$kSMcx!InhVC>R zH#K*E0jC0Kw&7_myd_^F`;jYwFZvNVZ(zj}>_?iJx9}j$PKnR-2xHB2$o*8L>%}t^ zvyC)NmoOGy1lUeB>aPP=bS5yo%?st@3+|Rmp zyH!pDq}|HzDA+^LMSm1(pB>@fBf=iOEk)jQ9;ywuwB1B>OWC)$Z+8v9P4&o*2q%ur z<3LT7`C<4d{0McB$0fGCgrCzgHEye4YW_aW7WCV`_z+-Yzch2wgsEn?)SO<+GmlCN z9vI9e{pPuyQSkyTxR1lKTm6wGOMkCkdyVLP8ux|dL$Od9MbrLBmY^AbPRnd696G5tTTf9nfkY3GF@XNjoF~b{-`)H*e`{VJd>Wx@2%5V{JB%oGhIdh zG|_q|Jd>Wh9O3I5JZlr#zu_bf?jLk5)AWzbn9 z32`9Smw8bzj?%2eH;v2k`xxB=dKj*x@#LgE{p z_Gf;eozAmK#Gj43GO>dIUqr{6dN9ac^uy{k3l3{5PoN-5#|6`5U|RqR%5ZJdV>BZ( zNh_$vUEGyeDak|))YT*l%5CpJD08(XA3;l1{HZ0~Eh<<9#9|uIv1Nvf%G0qd#k&MT zLcAnGWZ++1h?fxV%ZVAa#6@3Th*t}N5E9lYd~e3T$W%mZEKlUyEMk9`*ANz^SBdT# ztH|$6wL*y=oD0kEOtYMj>4>h_;z@toi6Dc!!$MMF=9$t%M1}go8LE=n!p1Ot!;=jz zL8dsDDFP51e7&k>D0;$RSuyoyhH9>Xdt?hr&eA_Y3j#}IVKorny7?KpjG0v|h-Hc+ zI@wrzt#H&iHeg$d@Pdy=WEU5w?gKAW;nSFvZhe>VjJQ{x_u=ts6EmabNUW?}?%fmt zYQYO%i8rLPsh$|Bhz&q{&*B<>)=C_TE5Rk4SXylm*#npH=-nrR5LRI=MJc!dheQt* z*~v&kyYPg$4zxf`viMBrq@7TPRrT>a=4%vzp zz#nVNw!&_3x7Jjl7$+I$Vl{k|yr`26^LjxfGihN)d}=J3#=t07r~Nn{)(VO_?s_Zp zb~5H}5@iCOMJrm5d-bhvm=??}QNsLDprQUa8Ykp~^-Uw&*$%%ZlgZDlq%Q4ATfQp%8Kcw^=B*lzB3(6;(dfeu&Iq+D7YL1J5E^K6`aIof{*9+O|0B|WNDJXR zh|th^TUe*o&}=eZ2J50LOe3AxKF9(V@;>CbhUMA%;jgsNqK zR=RU|$#t{YfCy@z1jzMMewQs7keje*A0X}L0CFAm1Udw+ue}LK`cFxC4Is+iel;N1 z)lva5muCMQ-wjCnzX4fpE2P~Ii1`Hj{ebNN z?*xQyX}=JVHG_j<+lP5S+KKJqUgl;cTptbJ6nW3;Ldzz0D@Fp zii7~d{u&_1brzpqCG8gfQ&@zK12y2{7c>(h?0N7B^?x+NKQ+S6{D$IlT`<(XJc8b! z2>ZqeyEnq#DuUiM5%yUT_Uwr89G``z=Yj})`i1(}Mc66SLj8*)>@^W~@_@zG1lLes7Bi^lG$le{^3K%th&t=gt1jd2O_HWg-NDl7a_@e7ZA?afEZ@A16s+iW!DR+9BI0-^3V? z&cAmaVJ(Cx4e60&F@)4`Iy9X}m^O7LTcv3t=MkzTofMh&Q4r>kTP+&QBmCyP#1RNl zn#m?mW<&Ue(zCKJz0Wu=F$O}OCSRuS0O D#;MO==k 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

i5+Bd?cKPnGK{OG5fuJ|yz!97F|8EROs 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%0D{{;;%1g6X1 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≫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

S_XvN0Z&LURg@31Tjlvp*3l#ER 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

;sCq%YAaJXa`h+h3 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%0A5Cu8cU5a^VJE?ptCq>+snYcCC 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

AJj6P}2i zTo!rde2>xcbad=k&S#H7T=he?PIG+ z$}g7ReWyfR5~FfJG$e+K-33+Q^^Ax zQZ%VG1*!j5hlgxZobx>J?TYMjF*r29;O|}ss30O_0%T&GFYxG(Tz|k?>j1V zOq2_-qKGa~xm6dKpoX**o~3a>yGN|koue;V;5%l26IEM3=E>Br{0AnoZZz&vHkP-n zFYJY|`h6zd8fm!lJ10bJwDLej*Dz(!!ty@n=mp8@F4O>uoBtx6AeRNw%P%bI6yEv| zbn6)PuBa3FAIGB4^#8kb{Ch}Xv$hOq78miF_nyuy8xqsA9-ubJ^S^rsd0%QA>rl_T z1fbS3jHDg*WPKKsrAHPZ5R-otXkd0F(Ues7#S)Qgyve6=uc_2w9%EHsZO_y(txE*vq^ms$sp=9yTBgH4y-fP5z>hXv5};Jg;l z#2LbsUB2#;B%HBa9g?$eO+djd8A8*D`7+VmgiM8wd!ZlJCf*2id=s|ZX2jZNqBgeI zIGP*3zJmtK^?u_N&=0@M&E=qFS@vx=sxV&Zv+Kf${$L<)?q*>N{WGBOK|kBvCy0>7 zRtzMaioYFXx81E>CO|7@YdXILD^i<`N3s4LZAP0$gcM?FVXB{x-vUVmwhd9gxI6;N zd&B4)Hz7vj|6VdI5&vXT_UN)7mwRn@uZu@Ifz;;Km5W;>so$yY#sjH z8rn?*+w=UdHC0;fZ`b`%BDrv^QwY^5DvOlW<2Tz4;7wQb@hFQjEcCU(gMd57ljM&b z@7TRz+(BSs`<99??kAm!PWN4Elq`T+V0`_|IXGpF)b4slDLPLyl$dS09>q!Nf!^}M z<)v!|>e{o%$Osgs$UmRn&<2nA-+BtpbvyMO!MoLmy!*_0yPx9yt$QYpMWI&0IpAnE zv>aXi7krERCSNNCs(G&_6vf()V90knZZer=K^rK(b~ z+jBDrL+P3^B)&1)E&1oDmEeog_XC9?c$h%wFQvRq!YTgRZ71twdL5Qj&45C_9e;@k zHssaPID~hofiE_Y7KNx%O@3W*Ssk&};~74fh}UAL>c>d(@vE>fr{#nFQ`TXKoUZ3?m{ip717{}A0cBs>QZG?+->iL2Mi)eWe|OXQ^$>ltpC)Tzj?U#R=6wV> z_o`Dt-A{E9p{tv;a5uVHS5aX)LaO-d35$~ZLCv8>B3U+xOq;=ux*QI1Hm~E6eyHQ3 zG(F@@*dJkCJG9POH}1!VkztI-TZvk7xyuPSobew^bl$2VzQAh*_+YRi(x(yrKC)L~ zzI0Q9)(lT8t8XRO@k?LoGp!GmY)|5j9h?TQccY5uPE_F&p_IFc^i=4#FPSvf5sybh zq@t>)X#oHZ0+p}SNgWFkj^H9!l$C-a)1-Jfeu&ITY*avHEH z=>#96khHB~-C}*@d*N{t;A@6YT;w zF{Z`*89HU|Hk7u=q~|HyE6>oD1|?g!8_FIpQLw1GD8ukrz(WFp<(YZ0&oa!sQLJ<8NH!}^$POXTJ>S` zMRrVK!$u=wXKp`DcTRjI%Oe{t5Udl0qk^Ss5_^c<&70&t{qBpI7UzR?7W;A4IYNq$ zY|(fe0o@sOqG^>V94Bf^*3!45;G8&T?A3{KmyB!gK!}>3w4)g`MViSJjDXdm@C;ii z09MSOV2JGrCxpR`Z1VD(ze-!j&foxGmVs~K+3JgD1#@lU~* zKnuu&B+%33Mfu223Nz|Jcbaw*%Br^;W+1toRU9a1e`ZQtzhU@eP zFPG817g+1Od(tkRSLLSV5nmsAgoa4)JbYEsp0iah_M#VL2jQZE&l``knrrzf>v|c( zw@XHPA{V25(e?n0mJhw%Q>zPz3;^t>J)lj}nrbALBYV(b>;VA;EMf6opAeG-(Qr_8 zuYfQ>+WWJqxyF@0xiA=%eE@OnbPOMr+iql47nFj+B7bqhqrvrD5CQ{ zS-cu#^J>&vjK|D9n>`C40(b;7jKk^0N}SZdsV2h|mj^VpkhB$Rb?X!1Y4MH|`S`+r-dSCbO%`KvB`qv$9{1vuA)X|!P%7L~9p#=C0!GzGe zKc|&!vZ?59k4?+qB!5GoB_20fv`GFvZv)Ctr}&ma_{oK3)E=;S!aMt@x_{8iPi)j| z>8M`{wsQg!3Y5sMq*Wl{sxu}JMq>Rxm&mjsm#$TC6 zp5>FspGvQp;ylgpf4d-y^R2V#TN#hrjnjvml4`k88nT?p{8f`h8gfiqX)D62j&>EA z9_ zzsGzBrr(bv_(#iI7V=cpWQAzYH~yIWfeOSW_~ma+?f+*_%tNp=3blBZV7&4AK~VYp zsEW387iClMSynsNL}0^$b?BfB+YAYm2&VSDvcC^LnT-5gm_-?43BpKP0IRbS5`Kymgtt#|;^C7(}z4%E(3N&3AXh_*CkR9>1 z{pInyCp{dWPZEf*T6zPXp!Wu=X2c`G@-cTAiZ54Y8wAH)HQIbC&W;idgv)g%vwfef z0Ja-%pa(Od{&{a#Qp2`0sso`}sVLNzdrLIZ^7Tw6RFapD-lF1R2M>R7QezXm6KkPED-e%x|5vnZ2LryBHq|q@d z*P+hy1i)xU4Mcj1{zW@2Y7J$B68qv(4uT0AXgi>!EQWiK&4h z6MTnEeEEL6J-{T#9iQa8i~(gg1g=xjX9qSa3;XN3oFvxt;;3k$UfD-dDi=z2a4FjQ zSQlx5mmN_$fUFzfcit}koGB-XsjwFwDrJ>K0U*)gCN65Vb#b4s;ChvxOV)rY;=&3B z3fcSl4^4%D^Saw7YDv#)ciI6|FfyJXUvl=&&A7S?YC|^1Jvz;o70 z6y)XV1#WMy7j$M;z0usR7BpcIH))0eVzXWpsTw*2#d|GvS=@G+5?U8r639RD-~j1$ zh#3)#_MTR>6QN^c+Y*pwSA&>VKfUAXEkSltO39^MUURAmDxR(BWs6Wum|8&5pz&?d zq2#^VfV$tIGn5)Gtw5CdFB$2Q{+UpgmSmqwr6&tqw%sLR+K|QFd4d-jXx{sosd-dl z;XeTdPUz4ZM=fKL+!4N?2oC&33=7{SKom@{75fAynaLBvUmd13>*77&=`*0T%i6eH zT^RVCR78el;)t5|A7@lzuNU_NhNWK{B-Bg5b9d$or27WxM<{C2Gugp#ES_ldto8IU z{klfyu&R>f_H#6(-2=OF0uDsqr-}Iw`i<(nZlB?={{7rjNU`C1SoUCC@TzkNg0__q}NUEmzS9#-TY7 z(XkCC0rnO&8I4vmuT=ABmaYZzL?y{LZQdExH&~-nLkP^yPEi`1hPKOQ5FIWk=QFk( zSZtG@)?M-W#5r`%xaXEzibO6*Z)aY+Ymxn1eaf;WKmzqaC0f-t*}~*$SG-4`7-9n| zxiNkD7I^P&2=jxQSBJHfZS?tHZ09i8A}#FC{{XOIbk!#;{7*LdWq!LLqEcpelze=F z$(GiMk6~f+|L=(%a3N4*K{0%e|H$$_P5X|m6QnJbZ5PhpT6>cm)n_U+eTE{*I_nq^ zn=2-Z@;}7nPccqF7gtj z*_o%j_6BWdNTT957Rp0b?(y^rB1>~TFW%g(rmIfUMWm~z z;Ldhv_Nq0S1ghn!1PgwIJ`jqYBhOMp!xMhBVfS!LYfna4~rW7Kuv@~ z?mo3>V_Qz;zp#^>cqG6A-85AEd$mF8soap?m@_2en5c@oluC&-$Orazo5{kLz6ZMk zlfoEhx^`uZr~~KB?|D52(V({1&ROycVcy7HI*AX?BjRWK6~*YqZLLnGzjSwxa$J&? z57LRwgM|rZ2_Aaar}C4O+wP)DO)yNCASfFxD0jfx<3b2~EuK50a@pkn7=pwn3&wnr zofL#P2*;1i9!4*3Gz46!P)1?${psthX7<51wKZOYyt;_d6INtC$>GI1&dP`*F6ljW zqnse)w!2@*Jh04uNU_%g54p@Aln}=_DxCW5&Ln3eIBazz11%X?B9JV#}}L{s$+oDY{+!~6h?Ei#Fd52 zVh@?h0N$hJI}FMb(!SaC>5Sis2Zne=MATg4e6ro$ZIW1KN;mDe6@ZXQEsGPldLQ0- zWo(Fg3j)KSnu~~4HX;8|j!Xt_v;+&Jj!++LhJ18M8djKM zpcn=I<*~a6Hr(usPX8b$Ko}tH%~gN!g^cr+>~oF7xWkLzpIBROwh|AR-Icxpjx!Dk z8ol)xS&?4lIu>PXr1*x})>vVj`RndDwPu9xcci@bVTZ~A#=D-vNi?r7uEXF#4?FKt zH|AY^S8S?LDrjT@W)|rlsuldcmoQpI2TQd`CDA|S%v=+5fl4$VcZQ8g_s+Oc3mY`#)N*>y?AI zJ+|cZVKVzf<%8H@NmNs~?!t_44N?=CU)IxmGxi8u`5bt%eVKy+EWHf|@o&yF>6{;H z>W)t#IhhVid~a08KXqOtqc&pcB4D9}AEafn+tEXK*cc3)?@TQ~R>gC4Ohj-9fkL1> z`~8|;@#JXVw%=PrVWmlzJ%V4<8@#D191-epS?j#SyJ@mtMQb)&( z-{AdWr+;XxHKcwbfF&$He$J7U+lylj*Rqz56}7AK)<1N&>x}YGbh~Mu1WIgXFE!Vb! zuKNRkK-l%MoyvC{{EnsnED?%I%VfnIc8yWawbAenbhT-P7whTFIdE};GxZ{npW;7U z$;WF}x>Sx29r^c)ZGfC8S1PFSuwgq?XV;W113*T`G}uSpwLT|PO-_6FtB5Ig7eL;> zX3n>>aZqtGYr3D98ak~cJVAn!t?1yy$bVanhO1xhnrF51Mma0`()qCpwS`vPmxx94 z%Fu~0$(SCJE@XILOjbD20}N;nc?|o6|6KTG2QF=^ zDyYXYE66peyhe0S7-Ma!2j*R-11Kh_MjCuIfWEFhF&NVLQ9Q@}KM|5_iG!-3nQ+1LfZUuB&pfGJdZ1zkUsM#YG2^;Z!-R|%V?t822+|E(gh1FI~9 z^J(445~N@`P_k5u>2~c+aeipiXYSOLwE%lamUD-jaPP@=mqE@zIv^Z{Z}&ivkNxV_ zQqwTfjaQXDZ5gjUKg@U6vrFnLc#gRPy`@48k|YK|jFqg&{8s!-6F9hDE?0@qOzei> zd*quYHNDVJZ1%3Y3^mk#9da|M30_ z>yW9O|L*V)lES8=*|@1}{sjrp2|-&dIM!@Nx-*&18{R)91{FiFs* zjYL4=L*q_uk}389qv(*m@k3)jTY*54G|BJ#W{=(@q=NWYpWEm3)e<@qx*fa zV8(C#OOSdTvU4Z1U2N+~;NKi(?oh)i4^%|Xz^a?AYV4(}wpYBW8+;1G=zJDdEBjNW z13I#Je+5qGLE&uKkmQNOC1rVaej1}CSIG+o{U8#NXT=`Y3yVNJI&N{P>+9(EYt1om zw&uR3Y%-@q3<=E~g`Yi$IV|xLj~-U!drOdN3rSFWa}WgK3~6CfkN^)inw}{x2`2FH zScfGK-2DCXRidBLyy3tf`^not7-b}G-T5`Vn#HArTBO`KNy_YRIXw_5KYO_f+A>AI zrkNR~UK7Ob@@rmNP^mhT;9EZi?|k#!`umuD>eDI4@35CF3w zbK%B`n%B_jup&gnzwweBkmO0(4&mXCAFBqqCMnx@RnvsRj&3zMoixg+@jEm!J+^SM zrqMSjz0;4hWoR*+hg1Zj?^wk4pOx-E+y@+X7XHnP7U^L&?cLI#Cx0VnPV^uvTJZNFL^3e5D}OZmLV~V z()EXAz)pt!cOsUNEjbZi?P|M1d8)P9nde8`lmG~up^G4lSo%tY@)Cs)SLf53dG!M3 zWUkASluJ?X=j-18n8M|l4=^wvHh4C^Vf7aln#-6H^Dp&~)M8bcJr$p)yA2R0*8L{KBii0kKr7c7OA z>4Pa9h>evgpW=|?7?cbE7 zNL~DLH}y@_73y|3>TrCsRejX9SZ)Xt0v4g zYURB^A5%5ZDHdA@VfvaYEFrArdubK(YoIW}$73wqMFnrKt<8KwxQt!96>zMZH!jsa z!eaDCVfDnYB)mqLLQ2$6ZH3}G(sR7uyfO%k-OgdxLGqbaHI-nUG#UWc+e+?{A9Q_YJes+Z|FJezU%TmzI4exxm z^88TeEQ;GldrxfCMpHPRA7e4^#fH8qdZhy)+L6B@_#=Ck_p!rNvkiCB0DTYIdH&ct zZ2XUw$tBf5j9$ztWB<<`nLtJ;B@t(ge%WLm&G7W9wv0+{A=j7)C5 z-Txnu0`C&yrp_Bq#~zfsEV(=+K(){XosWLhxu1ZpDw*P2ME~7zFl~B-`<}J#;)Ne!6Ev!m*?y_5G4d!lwnu7~dBGRu| zcF(G_mgB0}z9zL~L{>P$yTQzJyhV&h`9Gd`iWpd;u;lBp?ca>oUM=i&8X^97z%`}C zMA8wP5O|h$nkl~fi+u6K`w{ytK~c74KdY32R14}ug7*xS{omNsVFS)ro^dW)+)Xfr z@CT6UqN`19j9v+;D4jpF%`;j9Feu{KT)BlaM|8Ov$kx1rSAYCC^~EXVIFQx)vPojej*m!Ah~w#MtCO%T=&-=D59QQG1trj*p3BxG%U-R>tff@Q7^`NK{s- zbvh=Mj*_t2{304}gSO9n(>p)g6dh$`Myq2=K`7NA=rm`LQU73KCaoOSZg?iGgk@#3XX z)!wV;n^ANSM7PMeSknWk*$@s3u>eiCQral7u##g0$#n~uqC{tG`S+-D7^GElD@=Snl zqi^sM9Af-#yK4%@4!A&MOJZH~R;7C-BnL~VAT2&r!=Qgbog(8g`XTAm8&i~0#wn=@ zg43oaU=@VDm)mP|pVsp+HiH(L(FTd*8`T3YOrvPn98nHCSXs-cGQs`*YtETtw9Wsj z+N?hai=#9eyo+Ux2dVM+0jLt*Rk&*Tyk`}gHF7oJn1tYq=2?d2Qv=U@fFpg#>4v+a z=$IjmatOTEtvp4%x8jZX!3(^n068G9)2pUOZrHs0?*fGqtQ?VPRF>>Q0#z-30pKZ; zcApM~n3rXb2R~!)QTI$q)Q9_;K_&c44te4IJpW4raz-{k=(Z(>W828mZ>?-2pT=yt zi^gkOYhs>&;nt)#+DoEVMH%@tgq^*8K1;K zT)5PAh*QtxC|oDtR4(0}8bvjWVFd=Yt&wRY%{F_@ON(0;a`RSU`|EF3e8hN?H6AS+qi`C8AA^?`&(yCXIT-Dnd<`46us;WEv9*7M_ zBTJepUNT0&7GzM=7+eE(9ypP(7kKi%XuGpF`4&;XxW5%ci6+5@rDS}_q8Wt4T;g$K z^fiOTu-2ar4({kYy6{W-A&e|)T^ zm(Se93fO_K*}#ByC_e+(ad+t3!(4sFZWyo~yvaL&yXaUB_HJ*?l@m>%L}D1$Vmzl) zTM7{)UyhNhej9Ykcu4J0KH%FL*EldnGCZlb1OkN3w7H;ZV5=b*Le{Y>Zu<3+Vb${v zt>zuaDH;EWstQ-NhYn(V>K$Z3JE#`S3s&d+ zcxS54Bq6E%X$}84@626#<>Gust??a+$HIyIMuQ0=X`q95!7ti!U2!cP z&$fjf*KK>SocePLZ3@Pz^@}ntnbYlpj4XrD-GIYTzo4QJ)Pm95D5cprbe(;aIrYlv zpt0zDm>CZK<<{Mu1q&Gi-?*%w5&(lTI&f3{JH%*Wc4Hq=K;-}v8NIy4sP%hd%rAl3 zh5IRAot8i7Sx0FK;Pi60CI@*^ZfimbvfDd{ynA66T+;1rYmWx=`?CHo&Rsbt}e)8D@`2|HFf)|t$H2*MFbjr zruNlfg41Phvd@tS`(kd^k$qgH4<7H$a@#Yy$LB|~bbR^=ynF#XPzv>s6_Y$ds%v3j zPsPd)pEk09(`=hjVaFp4r_-0lsbZM?)}3EbFEJ9bN=yXYElPv^pk4!Qf_uzjxaLWa zI(0QSJ`)C<>(0h=MretG`P>pFER>|2|q>^aHY^ZD8dt(DL-XuQ_^ z(xlo^-K&`8ix!PB3WV7_q9r5X5PZ+C&u)I8D!`=}-@moy=VBxhKg^(uiY==tDrdZ1 zNZn}DEN@v-mjiN*JONg@CSc})8VZ37YyuQON)(TU54Cn}I(59H)LdlfA>71x z107Q8Ehfcp903Imjw^ub8B7bioS_@+s_^TzWZNN~FEnuJPB|YGO2ixP3Zav#3;jMD z)9$BbP8A(af_!f7=VqCK`XlZQlD7q@O6+9Rs*o)$Mno;udMDqN(M|NBwnn@0ab%5< zP>B5#(`6pCcc~Ng0H`zX;g<&?*Qu-*YXAJ8g<6{Ke99j4qi~tyOHj#c4WGN>PSUNu z1jXR=!u)qu*$IBcU%O=|QX227hLVf1PhAv?0!e0F4E<&tSo9m~e1({1v8Swt;Wg&0 zB9~<%-Hj&)fVLe>JdmIQ6!J)kMQ%2ty=u7>oU}2JF+ku6OPn(PL!Z*4d>NP6gGnbI z-E)ACd~sFYI~v;2`C$X1O+Ee2;eAYj&@vMc4sEKV_kNp798dLgF54GpRntta|2?m9 zPH*J~^rEWAKhAodb!Lgi*r-L%>XelZPJ@w)z2l7`1dLQu%H*%cf$rv3=-2%^8i{M` z8)uIxIOh5*kEQpYtP!01hOwGJQnbtiz9!H7{_q_q z(EPlnS9h(-Wih*TY17>55$$8C}C>vxo4-o<3 zIK3%18H;2>Z^C)>WRaa2<=SL(!es&wBU;$8;s;Az-E(mvqMnV*#6-~)s|69HPO#|l z*ns{*rQMR|+yl?3FPQ24&mtOSsa}i3h^;?=>h$+qsatA3ciUoTMe>vT0uR#4S5h&W z#zy^zxyp;jOveiKqU>A&9P>t=A&ZDv+pa(Y&HUjv%ns#jfgh2roy{8zu(^%w!8}+I zzk{S^F3t04!LqUSrU?2d`sqtW;&t;M0c~6C|EHPSVy?v7y*_GP?@BkW0P1YK1x=le zxnHYN@?g~?6uNxgkc1#1%(6*&DEqv_Zl)Y>v2PoEHh?J~EtG8`dL?IaF;@{fdRiVe|7;!W+CLkGbpiAWI6+RoP#K4*paYpSHLFt2Tq zu4}Z|dhh&lga`+hUbEB)78PNJnd03hkN&)QOrzDu#Dwb<5>6Ie#qPlayGNmI=o^VO zXsHVjO{<@uuEC|a=>fmM>xQv8;Z1AG8@YuhOvlw!IN8FSsfJLz->Ij2D%S3bVYhZ~ z?RbY`V73FLQ1`#vhEcX6zPC&hZ92^G`<*r+qmglJvf9UvaqU3)!`hyM(a+E}D-^tw z7MXnZg0ILb3(l9=k+hf3z=u~vKBC#8I%n|>X%J46 zso#hQ5&0`N8|@rPhV(kh&XbYFk8>@3GBo>a?q8QTu$N|~c|gFRT}Usiq3SO+SKln2 zWmUZ(M3i<633fv(<8yf$SvwZtPrHW7@Rq^t8blBk*;)ijA45B_tgoauv=MCByZv$7 z$FMNXTBhwElR~yNvXY$W=Bi7flR0Y+y*sBd&^>AFU~SMGh*ohMxyl1eSF;^2h85Nt z2D@a10b5809vGmANkb=B$H2kV8rCcW^!YDZ?f*V0kRxJ?jmeD-w-+BC0tO-#08zin zz`n2g4HJN5aqXY=+yaWV!fi0X53&9rX7ET+&sSR2;n8>y_bwS)jPI@aF?2giy|0L# z3?*a-bRT{P?2EOHF)?mVoA@NS#83SyYQso~-KAxxx+L)b%pOlrMybp49HJukRHZ`h zozj)M#4Z4(gNcGYx2=o!p%Q^P7<{6ai0XNR{bkUnrD=)0pklI-_nP!4Q7f;usNVd% zElgJ76X_69?;*Stog-0_a^+0xJRIda%)3Wu@Lzf65q`ZMZnTE<9t40Rx~2{;G-6@} z8z%swK7x>M8Ja|C?MDI zvv9^y;5E?>kp&{>D+SvQOVQpr>S)C$J$q^G`9J%bn^`VgQT7+B;KC?Lq)kWtr-{!LJMG~fgjY{h*a+tZMBz@*!|?-hu4;wV?$^CfLgmPCLaTG{Rb@_}6cP0n zoll&@d9yR43GvLASn{EWdS2())U}}>md1Kq?ehq82jS!UEr|;3REi)F2WEH~Zi2qZ z@_i$h3ik}9O>pf%bBaOzGs+05x$dKu%9|E5V%bUis-`W}hSCI-`of^>2A06H5C0?8 z&}oQe4HeMkH<_u)6bvK-B`&E+EshXH`Dp7o+Sb1D@esWgOGJulqvhqE8bN4(P`Y%*a8FsmA6O8nB0>kYl`6s0|BnOflZu1WhYO=rU})AHU6>{9>`IK7%v2 zI^D2~v^klKoD9pSn5tS_H^hN3Ul4T<$?;xSQ0~sZ7dpaU1|G9o)V9=h(qvPXiR@yn z^JCLn#*srg64JFt8?@_XM^=P*d=NLxj?o}yDhyX^JO8Xj*wCBVb@?Koj~BW|3<~d# z0=9NhmO&cS5{4vn#-7AguQ+q^#A;hMTJC#dUK9qkMpx$tUFkEvcnrjCA08ay_%9;w zGkBJ*fRVIn&+SW!OnN=R={IX&=ihC7h)5^ATRN&EQ3dyOj=Os$@=uky-@})&iYvra zffmoONu^bi2DQQGNN26f%f)XGcy%Yp*U90yfU8bc&D%fW+G&i=>S>w#wB|=z%LS)} z5HA2#>OXBn$|Fu_1%dR2oUXKe@?t6*xxYt@!n)bXwBBG$!{&XI*pjGySd>Irg62+J zia#1o;ZBi-18^v+J`uagv=t$_1ImHX$_R-#Jr;bL7Z|D-p%Te~Fm8xY*Ph_Y7WF3j z<94QzFLRFftUPtJs6B(~Dp^sgsJ=`u^d`oyZndYG$er&NbMG`P<-h=jih=$lP99rF zzBt7V;xV0ciPkxe9p5 z@&&ouk_Vy*W8$nP;e-aW$%^bpBnq^)*lI{5`{SR%9}-|cJB}L9{3ceE^U-P|hE`6Y zrD_=su6o-0wLuVfjNjn57_%nXWfVo}HnDnDZkxhmgcNa$v??riN=0PjjdQi+s{>k~ z`OH*~)h7g&0(>_goU<#r@bz=W*a+qTm`xxIpQnNxrf2D!@ zQ1*u{Q&{PIeF}@V$c?JLW&stq-*p=k6n!np_vDb5^)#5Z*5YUA!w9JP^wdwm9w^n| zH-fM3d}xH+U#levY_g@X*51WXcIwFNT1t+8LCh3fKDQ%Mzc(-#L;EY&CC7NRZ63DQ z<+HnBK>d!6NUYldM*%KLqzX2g&vmQ_O=Ecl{S3G775o2fQ<0@?5PZ;rb;GjxB?9%_ zKPj{WE8(zQ7cRwQzo^iQQ_O~fFxY9?#}#Qr!WCErEvlyFEV4lY$P-Xi+}U zUEi?I!R>k$C3EH3#=C2#s$F1))W64`Y?`~ba{We$`y`>Ue}v?`|Jb6voRxL%h^5G7 zpI1ViNej5q=5LdKyK}0D(N|;*r$_UPIC_g~sO^RmV9g8$|IN3u zKLyaowz0mS3M83_BLWMuiD7q7IJ+A<8D@|k=aq(jtp5g=0JScvEPYDAsZ<7#qN=6Q zvp;W-Zb$z?uw8@Xl_JCoiwjis6ygQRI>)6rwxCv82XvYXXr9iH5KAulnvH9Dw53;E z=D#NANXiWd!;o?uIerN)=V@jxMm%V&StSM@z6JGK1Eb@iKE7Y54b`0X>oH{V2V@^y zofiGL=KNrlii3^t1^{J$`YS53`@m4s+SlKft@+HABt??>HCEY_^g9@d*?USu-_-(@ z5JRQRg;P*I^+WxA=9t~7Gz?H|8XneSJ&H=kMoU`KLw6+5#A$>xAhRhnK%r4Su3NV6+la zL`RksZE$N*#dfF?)TwFDUliXooJTFUb*ti+|05c9n%@!-oi$yOi4(>mUxWIt$5C$C z#QeaqoTq8w$4prbHGlPat57pz%6TwKS^t_8wr?UUrde$Q?5{O$EbRvLM(&$env;Ds z7ur~UdC`vo1jR(krp{b^K84s{&0nL9P-Q^t%3Mi|-(`tnso@e(s4Wk~9M8d&8%OSS z`v?lioAJ((HQs^sSV?e*PwzUi_-80znxE=~lXQ*rNsx>;RX7{A*phqmNaD}9YB^@3d6#97?SN!h9;4ZRgAY2`3pFy+ONp#y1+xzY4KFmVShIZ z@?Wmw2io|k4ymY}#CEnJo1%j&|G|NF(%34jmohkl`H8wO5&XWQf1k zazDwY=Ha{Q0NBbBUH8=&@vP^cpg{Unqk(nR&B!vD#3OK$86tE6IqW#s<*%slgAS?7 zuaQ=)j*klis=PtfXeN#MUyI{q8Q6LnC=~}0&c*|L{Ky+N1Z9ij=Dy1anA;5K53mLm z(?0%Y;MNxyPzz1QIGrx<%1wk;{fn!M?K)9eN{K>x&`U9GJAe0rwL*@M%ig=@4>{7P zFAnhm@}goQP`U50GVV}N>RC;wiKlHScYoN#l9cz)qL|OZLkV&@a##7#xsW;aOa!`0 zi1L*q=%`w+pm+l9=1qeVy(M3o?%~LBvU+c-&RLRn3($9>mu-G3gEyq=ZVX%%XoceE(PqvwVZd zmvqMRD_RhWL;D6Gjtx-6el;)<+i(V53E3L`d^^Vlnpl4*Z4HQhU_|u;@eZP~le!ms zSEg$)k%g_G6rykT9LZ&+4VfowoYdEyR=XgL?Ah!yy#MY3B}=_$1np~D%2ptZa${Tf zp%!^&^`ujMN%_bJBbWi=Hgfncs-trl8@(XLN_xV*4m^eIpsYa?I$vBnDrb}ZE6{H|zDGDOBkgk4-& z9T|>!8Lks|fFQufoTWQe?#ivYfy<(6ZS5fZ&+oPwx>5;zxWJcaE%9KyFshuy$Kp;- z|NED>IC6H9T^mp#Imhcacca4J<9RYebs25QE5V;m+dv9$+?4vg%M4Q*w32frHG=9! zA;^aejoAfEm@lPFm-b$BedQ|Mra~~k_ji+IdSn^E2cWTMm&y#92dVnia*y^~qJce* zSAqZdXCQTbL`9HLA!2xMss#nlFT%ig9PMkS@GuZL*9#vNpYkze1oPB7CuRV5bO`5@n2x*s<;E1-9l9-Se)Um? zc%$3T@^V_H;I3LiR_c4dzX%dHEQe=1s>bysGWkP;;3n5t79R$s+Ef^`(hT46Z2`dE zP(6b_@}t5RFul9dfwptNL&G}6Z3HhNWO0RkeuSLV?iUG>JmKNSxuIjd?#VxyBH({= zYJm?KGfyeP%r#@a#YIP-7a%xp1}~C=w@2oR`^o~|NiM?7?85y2!ka0Af(~w??vI)U zGKv0+Cnu(R+kxzzDZBimg zKfE)Rq+$|)JTjk}Y6L&7rp;x{*UFJ&*0Jgl2!QVvgg1JU#H$qST(`V6+*x& z30E&C$4?jP3zO@2cqivtDzIM5tV~dw8zlAj2>$t0sa%cpV*BR{62vK;G`RZ}+0eir zIh3DKx)4;SPY1*iSqc^Q+iIpb%D*%`RAj;Y%;C9Ub@JexAt2~e589b}nY6~3L?h@U zR7{sFqj0EfO_3ywjGwLJOOs>=XpUMkt%`y=TQe>5Mgc}dD!SiozA zEf$I6a6GK9RASxa8E#P%#Up!@)x^a|=;BuP9_L(heR7}0M4I=e1Y=t>&_erS^o+Fl81(0xSOee~)$smx! zLQ#W%fas!nW(B04)1w-N!15{ea{NMMT~*9H%j)~*;8y51Nsf`7Pf)djIZ?9qUIS&h zoK0`Spi>12Rj9sJ4Y6zy+CrkYSJ_Btaw})u)1($_sRD(3V}3n5Mh$Z-1IH&6Y7^ub zE5N(1wFBLe}C+S zr7fu*UX%!LLPl79Yc^FKM13TQp3vt=zi)F*KnqcQy@cn`1E7DFmHih_VfQ85n9DVx z;NVGWr-Lqgm1QjW;M>iO+CW_-tqTPO#JKV!NUFkZLKumsWrL&Lv+634wvl`n7Xxx2 zL8)Mw)&Ps_uAb>#C5lJ=s$g$lYGuE(ckW$v%h%tXla-~ki}p7c0(2;OWK{zacCCbb z4s?!RX+)4i$eY+r7^#I_+Vl5xu)v?YVG~C=F$dyz8@AthAm;|g+TVF+g?Ty zg{mn8^DwfA(W1>Jgg8@4W@bw@SBQ}IR4-+k{{nCDE3RLZBFJUq?)75etrmE2ZN>aU z-`m`>3sY31yR)C_X$Z@A@8i8=5km_`ki3aCnt|lf*8@$0r?x|$Pp&hDrih#evuz>S z?f(Gah~1GuNWBuD+JLe_=QS3J%cnA@0={^P02KZ(;CdT0v#&qt4BcAi2-Sa4tq0Z_ zGRSgDmOzaPoFWgRjfWgI!{Qr;tFr1sXUX8#j8i_5hL1&4tq6{69{{KS6+y>fW4C>CAPC11gldnRh(=S1%?}DPEyq@Kuzd3 zS%33$HGiX}{N&MnY!B=Fu!^iyrDZ9sc19;`_4^kf*Y~X1YcDQlMM`axWIA?L}{B%4xW40mlUYnf?pqrTwPI~2VrB^XMdV7Q=<{%f!e4Wz8Fiy zkV)iOJ`k^!?bXL&lB|uVtLW_0xRjHbu!6pW{;d|8@GxirEfHO18Fd#+m_eU!q+C{EF#s6D~Qh(rd_+&H*aGCcwANr=v!bBpm+1Hf8 z8pJ~ve=f*^-LG59587YB6b9d|H?F9sL$GvAb8()buckXL4@I1QL)8_rLgHusgIG$! zQyDD6y+ctTiC+9uiz`$J?wp#a`8zfUZb-urUpE5Ma9)f%R5u{BKvrVRya{nTEXIo- z1;NYeCO?4fUq$#NBsc4;&aG?t^;2tn&Z(lAZ5JDrWh7)92wb@~jVZC_o|+xFTToN5 zaJuqgo^L->)cT6a7JkrbO6%vllop?kys$jk&gKcUVL(U8x)I?zec$zAKMNCF8i4{H{H$Bh`IrFjd*LKEo z61Js`8+xCqC*i`$zrIetm)TtmPy$8|BN0a&cL{&N2@e8%vyKIexq)}oEz1vM$f*lApxHPoT}1v!VT%t_o_BLTDeG|PM(n4+cIyK1h?is3j>Rwh#_a< z7q-u{<^S%UaDsf^N9l*B^>7zCD@~+=>qHKb*VN=HacMsuo#sLgf@-YR#1X$tBE&-F z^XIi3l$}Hz=(N^&=ulJ^y>eYttR?P>;$do)&GF`xASW|FXBZ6)^AdGr6#QDsr1vs= zm%D3LRtYZvVj`%@M{ihZbHEy{XvhM-tP{pXxbjX+1%?AYR@Xy#C6%kko!V3jP3R`_ zJwmlYAcvdlPPVAu_K;bES0Jo<$MhlVmiAAtbF!-B!+9Fa2okbY5HNvJm@y?ieV5X|cdB8XU>={~7@pL=vqg(WaGODK6)wfxt0!+w}4} zD7!Xd^v-$@R29)|boMj&sPo6lkg5JttqnYSd=~m$31;kNYoRh(rUV3p8asta0#I*MG8> z1&u(kWW$)Gj>qS>=J_ll&Q zV47Y84c*g59ap81JBC$^(hLqij7j?zf)7X>^K9G6_Ru}R-pMYox8amCh@dcRGdz?DHK&xAE$0_E*QRZ1;yWdu%pvNjlN>q zuc4dMWvf!l($AX$7+0xB)e+xHK%xTf1C$AIiU=X}26Rbrt^`mClt-Cj!xE@?Ahf+g zgo4-)qjD=8?X~&}*uymW{2ejHFrnOwgK(lrgHoeU(IVgQvL4=_&cyH<0!GysNsMCQNPawlG zB;d$F$l(3K;7Nf#J0N&-It2*3y#!eWXd4jG9sDp!ZK_GUBf>+6Ko@#Jan_y)aGBMh zX%sPG{6k)Zwu!M4^OQTP?Qtp|u&>muT2AQqljTf6`K-E@z<{i}m z!Z>xrCoC#l52QHAZiO@6+-$xT{30cZZw#L^KVTlFFg_5&?UZ>wg$yFw06GKLf4lby zq|ej#7%fH~c=&LY;(us>DcHO7X;xV>Oz&>Pg?=wPFsX){kC<^GM$TWgtT@5;Ta#N7 z5@sc5ed;ixxfJ;Jyj~go}x`Qf{Di#bH%w6 zUESM94cIJeZhgg(bDsXsV6=c9!(;iYjAWSoGEK}g_W5Ur#`pc5D)b7cUI7cElJZqO zt0B#@Xyl2K)04v@@C4=gIsv8B;UTNbio(KpKPcm$`D-HfHH-6U9w`oVLN(|u77Vf# zI%i?Ny-%=p+yTKC)>|dQv?GI5kt%GHmX>UXlV@UJSmwqfj>xzS+X0SQRXT}tD8w^K z;iE@O@Gy4xHP77z2-vkU=ihgLpe$IRlo$))R&gxAXdKu9Km(Gs6|u+wT_WxB2f2eH zoPQ(0;&4PS^P&!wPQF;d_a(PuRIai5${h~`{GuC&QSDhxT@lb0^WgTG6=~Biv4BxQ z3V%|`GJX}n?BJ*!2n&1A4Nt#{s=95KCM8YBiL#mgWcb@&b+>t|)5>SnQspYUt$Wt*Vid6t$%n<{E2sS;V^`Atz%gQ7ne=C=Pz0q#-k@ zd5;Q@$U#tK7H#4>J|j~FxN!v$2U5x2%&^hFgo`}wV_#1j zH2Evj069R$zaA>OsntSFArm~-#m8+iiAt8zQ5aFm29|ZvHSOm4A0VmNT9P(rMeen? z_ZnE4y!(R+QLyf0K)iM^62smCjL8vIc*~6=nCJ~B$q1ZNoX_+uZm`ohUbYOUy?f=) z4#6(5wZfn^R<_52y=NR2&DF=<%rZKzg^4cXDODQLM3lOE8u}+B0_|k!3U{F-EjcI^ z%`e9iEY4D)Np`@Fq*Fz4Q`DVBkixVW5V2%?6t^;R_PX zDn5n%@jNhY`j2>Yw)Qr%fJo>}R_LMMDt?G7sNJv67d&2g~|a z9Scaix!~&leEijyeb3A*n*HO)7yp}y7i9YXA2&# zY2g^lnMRr{AiZlIGY-uT(t%#D4mKNCMI9UvSn8k6QUr(?j(AaKM%0ZTH71v-(1CK} zBGA4>T~gXJEh|e2*iRG_j%Snc9R|Vlq+6@F^x(_f`n5wt6DNUVaU*c3lO19AEp5L? z*Wn?(jGJ;sedj6G;M9b4AFSJ8>TV8$_o4>cgv8h*TT{wVuoP#Bn|j&nL^h4ww09w~ z`uT1UoLx;*Wb~W&3pT5!NuxI7c)M?N9z zc78iH1a0H867!U3rOD9|{V=wK240M33dS|usr!bXPn3(m z4u)XHKUm|CnVA#ZeSvx~JI9BMBwr%D_FNW#kQj)dz>@r+tS5bJ| zP%k#F*Y7WI!?5oUT}MDNcKl? z7pwb0kc#9~qT6d%C<~6--2E!YyzU3+zjr0{Z8OscB?;ocM8c?IXXxCI!T_|UqH}iWWs7%H2!MnmKD4?89z^&MzV9JM68;hTdtGROE_Ztb zcBwSKfqn8L??_*f;s|!a!_^_B`a=slgmTJbCi@e1H@Hn5v?*7AYf?K{m`JgQ(bKKF zrZTqxmg7huCiDW1^GKcy`7(f;cfQ%L)~z8h(q zU7&bkYyTHky`IVA#WWivY88YRE+l09-)CKEFGvPL5x^(z4$fz}T?@z|Q8(LVpv)el zJXU%xexNu~PW*4>RM^fkW+`kvg}8998hxGVS!8G}*}B88Te`>$M!$HRqgs_18I?m? z6yxMys28>PZ;-hB&@=+(BO31L5XJ+j7K9Jq+Z~* zR>1JP{*)E4Q%l-{2!`AGk!Mo(_RVyAErXr}Gzz)G%z-te46$I7xSnHk8>i&qA2Yg7 z8ToR6lWYBNGLUCw94Aw5&T>NWL}VamG*~mTqcr!xU}*1%oTc{nfl-B0Sq~>G=8brWDXH(n;)3BhEgS z*{B7U#U&tynv(b#MMQ@=YDd2kW&gGTk$ukz*kp=X%2vLUNq6km6*jZWg_nsCt>f+j z{gR-#a8eX7H9c#nb+!_P#+W@a547uIg~y9a-kd){R39*XWLB#yPy6JhBkaE%EhQ@* z4H9?ZyLQ$5G#Yb*K7B$2j&6hPjsm$We998G_|IyyI>*`5@8yrUvrg*m#%n6RckGTx zGcmbC;RbQBX7wNRGWt$sa*>`!qd&qy1P@5GE}EFZur6`5r<|gb54y`dj6xaK6kH%~ zh8ASAS9#lzPK&HX9ceNIPyT{0N3;jP0m!Bl|rHMI_UJ* z`P7B7T$OK;y4wGl;IMn;Qqi#LG%%zn_|B=gqW?Au8U^gRen1yha^`62mSB0D`*%G1 z`?WoV8l`0DsY^#8iyMk=nRX^@C<+pkCN_e6+ogkpNSYqzZ6So815np}h0Q~)2Mq$N zS;i9DNUk@Otx{Cx>%vK7!PogL987%7tL2sMYKR~c3>U7xR*-wUV%EUhP_m`S10x;5 zG8EWOpLPQu5^1J=D40`({iVk`0^Q6zl-k-9(XjS@A;W}=B0rOSdPk{Jf(u0bigNZ| zUcKaOS=c*VJ}oTr^?-|!#caE`Kv0b~9HEsap+aG{aOxTBI#{e=HzcbLn7e#2$W$g? zRgA!le=ykQAZ0E7lZirC^GEUN@ofFl6n&guu***^WYFxR_d#=x@cx6XToGeBpd&wI zL$_Myt9XjjoXG7pv2}dEX!Q+KE_K*Fg2o8rc1m3MH_wXZvQ?Q(g|9NJJ>Nv7lk{Ao z^}~)!>n~y&WG9bJNxaeTeQ1y`BCM4<)SQ~Ps573JiFfmims&`LSX=iCXmgtrSzq?)JF5a4)XQQ3knD>!_-e1-!)Xne-jqiH6ONrDyXZsG05>#dLzMxrNk~oU<@} zMbs2*f$zb*3#tCP?V?$vdNE&oCqnd2br2x|mh>RpZtZ)a%~P0xB;?-==PVxgm@;`2 zdoaG+crYJ4Hks~r4#LrGAgVko`P{q9wadSY}i{Z;5HZ z4zCr&J)~Niu-!hv_PCzZPap((a28M3{JquCSOxr6hT@kt-nz~KadRLLE2u{XkmiS9 zPX$1a)DDi212~0w)HC*}QnDyYnmo~tWDiCkcJ?klHe=8>n+uauo0r6otaETQmsQPP z4h}ekIXwQvYb>(k-|Ks9Q-MmlSu|-Sx3)U+5i61ua5ubD+hF`!tH?!0qw={RRU-nb z2gMK0OqHTi=fdH9yD=w>oim^qs|c3!Y(q6Sjb(bQPb-bUb6)S!HGRNy(eM63 zlaw-w3ZO9Mu)kjM{Lu^_&)7dZp(NI5vMU2~EQeSO`)qAC2rXwW`Dm$rpu+&jstv#P%n zQm^g}sm2XK6&z$t0{a87#014#jF*HHcWO$8hXiCd+IK1<#v7Rh5$i`@R|+O#EJGXe z6K1c+=~GFo$*l7tRnb9?B1w}{?^(b)Xhi}|5k!bhRTm(zj~AMy&sBiVNkt&`uhDnS zS!V{vJ_?|qDZ+9B?{N@Eu(rh0YtNeicTq4Rs5mAnzguKM-&q~iz@w+Y{X!9_?qhIF zZOVS3?A+O4?T5GvRV1w-QI68qx&m>g2xIN*2&Dgu6frCWFpj2*#hMBIK2d`dd_8J< z4390kb!*K3RJnK_me1N$iLa@oZ)rvL?3kNrv?U-8`9#h>Oz~n2Y3!=&5rpHEjs6OXjS1f!gnnVgeq-NzpJ^YZZJ4{DK zSI}XLJ-$bDlE6+n@f@8#=B9x2Q{)2{!Z#F~G315|3SlYl@^e9Y_g6jerzxk8ej%J} zZf_VqB$bhoc`zNmu}?h}a4M#faW9P4G(PPzx2Un6e*%Tq=r6Lxck4I2k)hVP@HA^i z7Wf64uZfBP3c*5s`zWv(xc0M2FUjbCWlqQBM`K)(&~uw(n+8J9(<6 zybOA$E(AUzJYSI-ONYg21n*rO+QGJScmRVAdR5r`(uL1evGZUAc6@vfV}RvG%PIwj zX0CpafGZ&hi5zlG;ApTs9IQp%u0eUIyA7%h4P1@hZZ1&c+#f>PgrJE{0Ya3>`%A*` zUb+W!@8G>4>nkDJg61svOQJ36{Oo}?f62} z%C*z77}n#9;w)?6&<-Nvz@!ZuUz%xxr^CQ;^#<`j3>Y*GS`S!{b<@`(4idXgbv9Ay z%z{^5a4N`|3|Ms{OpNLkzn?Yea9%-sxQ(<^6krSxKqAko9WQ0%^~|cDvR7f%D&23r zQ0!r1AN%yAQq5~etyNAW3o?BK1(O_zKPG`;)q|-V?zoR9M4C=DWJzv054s%A)e?T4=c1g|>!ql!kHn~}PiT4I3K&q*L3fZRir5+5lg;-5d(`18` zf>D@oV7x8{l?X924qMx%^};FRbs?c-ek1CT(p&PyBTNb{B*hhZQp~e!O!f3^Ng zx?S9$yY-XlfD=k`2|c_SOq5{-M%USYj zmBLX)i|%*r=W&Z^$JGh*(0kv#%7EuIEW!a|^j;}U*!Kjh&ZrYZlya0D{!Ge}tmHD~ zda0+-fRA&DTm68gh>QsAQJ&61%pNOYD&1eQ{Xm$HIr!%RzgX7PM2KG)`(1&o`>R(K z%aDG}-|WAyRc6s6N~~N6A1CvGM=$2kr<%imDhsK z1A@bvEM+)c<$q;YfB5Q#7E~YNa>S2TwU_1Rob&%Gt4?ht2fN!kiK~Tzl7?9#{;nJZ zDiQcKi%bTk;{xB6^Gg87ZZ%^~-p7O6^au(gx2Fk*aIz=LExnq{#7rCw=>AZ3ZpI6W zekAvt$JCrQ=eMXV}?nhEfp9w zHrGys$0u&sZ$~dE-0!ah%Gyq#P2(A1yly3ni`Rz-=@X<@P`-3p9R}`#^>3lx#DN#& zqR79Q9>}oZEq+uBX-!XJEoPl@(@GQ_+ezEO@|CFO}fNI>n@$ zsNW$QDtP86!rRhLJ&-SGgDpFJ$XU7$HIsgvO~{>&*Cw(KupygYu6ri0l+!!ot`#o6 zCCrAZ0L6}KefA4aSO#PHM5;zu6~DsbK$o!o1efWl1tNN4WySl#&~uIK=#31*kL^Ap zNjo;EgC*l0rm(`vxois>T*%vy(!=*jtikjim%HDntHQ@+Oii<|gzClO=MY96wMsmf z8*M*{#HCx5>DSGp?iWM`gGo_fE8lCaJhE97!zTA!LBp~mN;TFpHI{-p7%Um9ACONe zPZlt6{>xwNrfVePxBTMb3>q3Dvxs~i#fUA*likO1S^EYNjugT{6c6^G_0)Y-F%Onw zvQnGvShJq&!b)-HaY!o^gv+hU~c&+OI8X=~;!UxN+5~w-9QlkCCaF;mUl>4hMym;Q`v8wGvWen= z=6HSu(dCG!ECS^N;^gg}8WD#)3q}ce91fdX$E(S4Qpi!~$sNqcC{C1%2>Lu7`X3-q z&LL+$T#)<%OlPyu+Hft^qz!=>%H_gcncZnzbFze~q+H&FCndRK#NJZKa+n-13Etzv zlQpmyFWeKD0Sng|DIMIVEo*>6MB#Dx2>=7rc9Qg}Gqe7oOTY`qo;z5zAYW;fc)qY5 zwGz;Y5g3I0Ll*W0a`FjeC^3lDbV1WVGnheV^_G#>2zxt*QsP-)3~*K)7Z}=v#6FF( zR_<6=rVcv+9e1LAx#`7JOH$wcfL$;o`1D?6%1xz6Yf-7GQsCIg!Vk_ukFij=9?p4V?;9sB-Hk(qNZuGBy_C21D z0TZiLn07IlapPmetw-9-I20xQ>Xp_bM>U+vwTa~xZeq?zhR}zx$7EY;NO>T#lou}0 z9TAvukLg&8%)|NI1!KyPu!%tPa{iH4|A2h_@fwt1sx ze+Q^G4p!XVo|s&VLmw_t7W2{>V*d!ORK@B7P7BfpOt>lm;pEiT72(l0s2O{!8a_m} zMa}r$eg=*3+5=u_>GQ2)7P*o~4xts#C8RjF<;+X;{jxTe)iL4g1=dh_L5K#FopcSf zs!nJLTL-#woMt?X6_7@{Rg3qDsEeOI-l_&y*M2RtWz~yq)(BsKJLdEywZXi@4IoH= zN7yB>Xc>S`sNl>Ax48SxEN zcucy_TY@*wR1~qkfcfutX0X9vk*T3T$DxV%fQbR<;7h`G=_pa&b$DC0x51;{DWoX$XYqDzbNEh6cS~S%`+Hy5ANNF2FqUc6WW)KUU3l zzbe?Nn02G#^>D%F%ZwObhp=W)03v9C+FBLI62ca8I$a(WnOkvfglk|+F3Xqs zOSN-KW{b@}L;f3@iqvN+2`Dif;;A149%pLJN~1##Dlx;p(?{=BIaZS$>T~Lki6o$2 zvadCuWV1(tOtocFrT~MrNO3H3FJ^`^AWZDEYuA6b{o_9mr!S%K=*QSW^}9v*s0zVe z%4yl;qcY+{w^IO2TBP_ltUr3(j~v(_#bH7`0ILqLQ#4EcVlZyghL6;C0{=sycT#L( zF7$S<-gJRetj-5yhN@>G)pF%>QDfKo>o9Y=_Zo()SB8y2$H<|eQkp0r%OQxEtr*PA zA|-QqC*Y>>jX&S2O*O(7lPoy*iMANn3~1q8>AvjQ{JWkttYWSloMfa%Gr5qh6_`Y&E7`>|K$2&qkxbwie^G-e=Z|InOi zqc3VT=@q5hB&rXun%5z-Tpw;z>f{7mI+3~46BY5+{@h8`lpXzf^?M@jXDmOo?yohU zQ%^DRB#mRzBG|mjNcp;Au#NOiDc(X=vTI-b1ZwNEYT*bHt`NZ^BtACywG~Yo3*bu@ zL}+m^4QcfDBuL_@&v3DjqH~8-^pWvGG4sBmm#RmS&=~Y^N0GirjsgbiPKo>5^CB_f z7)vM4_IaDW->O*3<(;I3QFBNUSa+2qnUIsaVecIgls3^ON|$OKJ0<+n&a`wyUa?(F z=7khGv=w|5v}cy*0Taf1J5^8PfkO!w_<$<|A*w!d{kqsyPUpb!m3f$2oG7~ME-9N@ zQG!hCveZ053fp4QL(;XFASES#2u62EiOJs~7qhj>_V>o^r5E$SU}FG`LXDtqm8@@$3G{$!>T>oTT> zkrJf63E3=@z}>{a)Rhi}$-;j$_#*Vc%WDUQ#J-H?hSF@!z`*DE$|qkB+fA8e|5**F z`(ae*BM@L_8b}5I`@5d}dO~H!QvHW@X&P6s&hJT$_=!@Jhz3IHV9dT@uZE`+**PY% zkk1}AAYzUhV`NYz;3FRZc`IBBU7N1twVf2$t&J7uePOQXN~Z^VMjIbM!9Pv_tI04Fw%Yw#m+3en(?Q(} zu0nu8Fm#mg%f#Ky+O7F<2iYyf7Qm2je+1$wP4vClrV$Vufd293c-*Ynyv#bbTd8sq zHR8w5$Z9917k6e1_wLu?2{#QqK3iy-1}oiKWnJnNEz>$S2GxCy1|Q(~#;UY+6C&!# zW;8Vo`70{z!>7~fwRxRGOY^sZrsWQfb-KhI^{hS5#}G5?a~C}wgRVz+5^?6JKx=&& zU@`PD02G$Z?#v+tXjfDA5pN`CGcgSBTFftSJ82evUBrAONw+D-Nlr-p4>B0CeeWz% zvy-b?1@vy^aS#}v5xQR@&<-;dm1Vs%_cGfZ)oH%OdYn;N|*ipI%ggXLH5Z-Xi+R%Gw1SlQx{+=wd>j% zNiBTEOi_liB>f8>aF%x1B8f)?epC#V{wvevX&KbfK5PwjaumEUI)CEe{&_Z!4DP0+ z+^1xZANxIHH<{%xMs=&jyCj7F7~cVtE?Az=#g8f0wP+U5O(Ek=Idsb z1O7Yr^D(V5*7Uq3q%ebG=2lQqlLeLPRv|Oti5!7h*Rm0e{_&j1zzpUD6FIhZb<-tA zjUIu{V&x_+{6h`{pf-(QOAE967=cnqEcj1j5m_kBh2U>|D33Lnz%VF(32a_wUa4R% zzg>8nJ$*n3=e${`tBD9xITH3#=HMvuJid8oVH9mE_q(T21T2u|WJ>aO@R_YJpl!UE zdNJ8%z-n2`^LP048Sz9+E%slq7Ie4iHuY6SJJzm@S#%Gp&cYmqdE9!BRVglSc4GlEQPjj?kdW0{fGqvlp*Fa(I5()}B4!PIpg~)O z@tVPW7vpaj%bMB!|G{Nsp1E{sKf>ikzI<__i_fQZSmrARKfEqYn4BPAM?^~rTFXGW z?S=A65HHAllGg@j`X&VfYq)is2Y#1i)ifCDpm z@$ei6N(I`eBrQzGTx-Nb0dfw@^Y6F7dNbDwJd5PTULsP3Upnz~42$>XzMM3IE(UO3 zX*mbyNKlPy(z86nDJm^F52DIWd~#3j2j|T!p2=vS6DfMQA7$12@KVA&6+AxbAD?&`0T}SAXp~8uoYiTIkP+^3dBF6n zm6g+rNYD(9&K}`D7;n}d?1tX!L(U)8Ymi+cP1nBY)(5Lxw_1fKe_`Yn-NXB`-KuD1 zTi@-9Pe`@xtuN1Q=pc`WnO0w6d`T8HX&xB*>^}njgZVMF*G3RE0oU2XbtA$J23|Mv9{QF}aY^S-jHn+AG;rp=VHwl7zMG@k>xb-(Fs zA-h}&@Dku4+VEr08_cetux&z{xC_%`E;M7T01^o379BR6gZ$^htz zF|`ni{RmPN7YzPTH@XzJ)4)TX%$gW94j_F(z~UC>PvYJM!BiOT$n+(gb1F2Cr6Mv- zQpqQvPk;vq^HvQ{I%Oil1-K~6M?fByOG9%?u=oQk87gtBhi8^dLhet7LTnk#T+R+# z+LOM)S-~;EBA&bJA;$)3a_EG)<3Ye+$gHou_$Ae1|SX{>Fg>2A}r zhslgGioo4(VPrBoEX_L#y4w)gox}ri#H4sjC>q%LL0Q%0t!3yvhd?+mUi#YJn~U*I zyGlWCXj1O_Lh9+BN?N5i7OD>>xszW36r~yKm^GZ9((Bhzju$c+ZN)!QgyxUA3pk}o@W-Ohda;x*u2DE zPHAek6LxK`Q`RIkm_ud45N)EDjR5Jhl*+w z)I^^T+<{)LT3ALbU}>80vC&7wWRYaivB;f=$TmwmOe1SMdl%Fo(Ah8-1tn?;9aDhs zxVaGqT}iuSJ4=wddK9CR)Y*~|MO9Xs+@&y|5_0fv%lWa86a0q_Mun9ry19M9|2{I) zs6-aaj8quQy#Gm0)CQv%goZ9m@mSUKQh8_frgs)oV?!Lo&^jPtlmHvc<}fWFLwb>(AH(hFJu z(cGIQ+IJHVo5y4 z;U80gCEFjEi5^r?Yb#9sp^*~Y%1_^>7dmOc1M(LEPGH2c(72fjV;Ns0L@Xi3svz91 zs8SD7R!;4)<9k&2b@fR8m|x_n%`vYWh&ai*~PlE*r6{J)-T8C#j7 zQsFrgj%E?(^xwFmW0Jj6 zJao}c%6Oy@#z);gFklQh-gpX(5>q~paNmU<+AGk^f@K?~16;?}(d!QU9Fk%Ozz|T_ zBM42?AJ0Sp%c?rpis!YXyIDc|KW~EN_s54K0U8TfLig%Qc{@U2T|t2GM4{fN%_1h@ zawOJSmPzVK6FDDO?~y6AidwSu6!H)TkDj+Mg~hE$qGg~5_B{^yG~nVx>s<<6sw6-} zG+O&pf1eC%XpCa0RyJ0woWg0Gwnxso>mMUp?4qTfi2}~OK80hHtRLD1s(7AIQY?X% zk`@(Laaa4(L>!LU_#r3j;hQ-!hhR{^xY&8w5mj2+fM@l_UDbYb^ry!S1TYQa0~(a| z0dvj*I`}Z{6;kh!U)YjB!GCfn8ste_#v{^lflX?|)a?tv1_kCid(y0vKsaU`7iiy~ZR5V0N^8==_pByerhl=PHEp(V@B zi|s8)g-G4n*r`~_N43)Nen$jwQ1uEb@AgFsQDcoS);Y&dsR(a)C$G(Qe{;e@Cc6NK za3)S1L2+7z?{5bc!H5BYmom+($j;7LXNgR%FzwD5=WP_d?YxG`dhpcw2p;-_ z)sER(`_ZeuKGT4AmJvIUJW(*?#K?Q3p576Ii!#Bvv5V~%Yvlx>CWq=i`HfC)l6x*HUN#7GF^x_>Co*{ZM?a@2Qz--XlGoX z2f3^14;J!K)y$SdrfoAvjEDdwL(XrK*`7Z*Fe%yu$I+dDC$db6mi6{9IBTVIe++O9 zWuRoMGwLN6fZsS1HMhB{fAwRV4Gr0Gc`+ui+ejy7O;7(T7}94tNAc}|~b7hh~`w((E0kxf*3jLjDQ z>!lJtFNbTT>2x(zqK@|b3{|b6_YPJ+(l?%Hi+a?_%DGgGLc@v(N($6Q(8hKZd<;eG z>4}yf9OH?#7#DcB0w&MeLTk&&#y66vf%9&;ll&$VC3x_)ZEV$5E#gUZ>Mpvh05Cjb zdWhh3anH-wa?xzdzVU3s-hrMln>nsvZHl1>e&yVrc_wVLK^*|!^pdzz#`2*SU9N=K z3OCH}B$P6n-ytr&^4cIVnF>b&EsZHvF0);rY_E6=HdY^CF{5@|obsgj|6%B=NsW)z zK$6^W95S(ipJWb}&g7DZ8-Of5b{JAZa`$=kv3YDkyp!z<$y+`q1-yTzNw6JKFy`n1 z9z*lSIA`*9L3JkM0?P^Je20vIE&mL$%M)sN&UFqSO;lJBWXk>Y&>pvJiGFuoRY$6+ zH#Z|ZK&vO^k}*Yl{$KDpi1u0APFI3$;7d=B8!ajB3`OJ2hS1Dm5{g8sXGxLwvyslL z?WG7AoA5V9=Ry$m9zqhRG&&3Hyw3IdnzN=%hy4$8LeuX8?Q;8Y+m2k<`87xDQL1>t zS0Nw4zy3SFHTGG=A7I&QwD2D~bITyaBPh|yqZKJU;`5q5Kr|e*axBQ;Uz!8s}Y=KgmAukX;cP_R$eo+W$ z*qRn;Aynd$ScPD_ao8c(oB!1IuIuDrK6dg!83>^ZM>6hFzC|v|UwZv3>~hg&EwRva zFOP~++;G0yI39oDJeZT87IR%4F+M`yN*J-?X;!ITY1Knt>Y2{J< zN7{JvmjK8tVA!kSI&M2O*%-L?)fcW94Gm+kEgvaRQ!XFuYsE2K~ejP zW;n41U54XB4@mYn*+<_UsCV6R_g^4Pap|b?*op|9*h$nzZ*W~0>KSH|Vt?Jo>jHk{ zF(AB*ry%j?$x4lx0Pl;z+9Ka;oO<&Z--6tbFGIZVQ8sX0j_)kRrGc2)pnHgd9qb^v z+MVotJB>c?r79jhm)kFmMP|g^34j{vk-L1go566yn^A&+Y6bVRNsB zaxY@F;<-3*swWZ-clsc#bF%NyTbJK?i}-(mK2Vt%hVpBLM(j9HA2rpqZm&Z8#Zn4% zKN`C%6}vbtDKw}T{+a8;bh~EV@yk!j{OIM))`SO$zM$u{98AdFFQ*l~4N-uH;V|rh zukpM@J_lh6s8Ajhu7|!y7*~}IazkqO7Zj#w)58bGhkkzbGV@YW`1(2o(xg%qA>kCv zv`S68lIGsFq!u`!$aJf=DM~qSHrB$D|eQq*W{NKz<;5<{w1p1RX zuRKRn$n-s-lj{a~Z{*9D_EA2k_{`)A;X13)yggfr2t{EfCmW{`V)^f3Ir_J2D?xGJ z@AKCyxTYJkDGeBD6~wu)<=spHQbob;yGwf_OJXc=^N8uw!srz%1pW70-s zDuMu=xAOTNrp~Y}SRUR&tJ2EXVY_cFCe>~<39m02l_{39E@35nfTgG}kYx3I+61mJ zVL9p!2q|WDM+gW##q|j`_S8XAIUNYgV;Yus5IFm^{ARlUeT)dl3gZ@e^dz@t8Uy+*ZCqN zP2MncE%Nffsi}fGnRi9pr*^ zPINV&!X&cu?8BOxu2B4u{-$A(eEJi{YsSopTJbW+6pJQ_1MO$D;`G*h4zyOzX_)u> znBFbGObI^u*DUVssKemzLj7p6!2k1*?HVKqR{f`e=&!K=*m|p#QVlUaR&WwPL;TqZ zvEKjFl!Y46kzDx5xNXldSkiPZ(BHKJqkNo#hCCE$zR!u{*k~7&1!No0U4p*@l{pYa z;up6oa>=dwOYh=a77TXmr*PwGeWX1OESd?kvJ6OFr*fu2uaB*zBnVH+oW05fjo|FzyYy*N~i$ zA{*3h)0T#OShx1YfI8?rsOq>4Z%a$EH~yE>4IeF1=&xA*+1r?mHitErC#6)B$|k~V z(85#BPB<%}+6G2meTkiSuoCQZutz?nt?^b@y1Ok#wm1ID@(KQF7cS21zaBj&{Rj3u zIMu<5B@E#b|MxY3AXRLB$23iaSn9dl@A-YgZDxknX(L}ig{l_>zy8rF{t8Evo`FV~ zo`0g^X_jg}1Z5uMq6p9=3TU^S&(5dYLvD>TLG`cf%+*0fbKUn=%80y{-X_$w!=lrk zYfsrooG17$yQ5TN@@E(eTSj%&QBfk5|FD_w*Z@WOh@Ii{Al5D8XfmjhqDgpSpUFOv zf`~UP`u*7L{)}(#KJ%8ZrKmsL{y@n2wt>nR=A-zqn$T~AyghU0-6|HbwmNPjAgyq4CS#?t z_1cX1dc1s@8HfA@a#ChXQq(L&^_Uj7Wb+4jUSNBl(io&`yDU4P53nHpZ#Y!iH_ASU zB!5HmKjaJlJhO|WGPDrsW%r#jD4}CX_vSCYR@EJ>{G*^G`4Dzh`NM(e^n2krnXC=% zuTQ9J7`g6Q!y=;8wnFt2z8##$SJWls4PM3{dAI8wPj&n6V6OCGl;``qF#hOu+&}vitwSr;Xa+y4QprT)BRy(7hrJv|1}O`sQF~_PeRT%_kkwb zpFzXK=(fITFa2u!0}XI(lethjPoaYht+GJK?^_5|z6UZ_TYmlt09ELC)i-K-Qy@sso{4;4|ajB8#N9pc*zQX5FXV;MW zm7vtad#iBfd+T7XZ3TNdWIAIPsuEBTGasUpLx#Ak3pYGwnHAz9*EZjgaTa!qHK;on z@jH)l9qJx9Y;Kl0y798Pl2j?@C`v|re`~S{3is6y-wELR`Jt<+t%sX7A|HH(R;Bzh z+2sH{W@NCCt4!A#@~RJ2h9eQD_0^kgnBg^aKSsk@IDX76vebLZNcVl*F)!?$2u#fr z5O*Wv_+2{R8-K*&#D;8M6dY%Hgf z%9r9}XRWJAE(*|0tB`~}2rKppRYFr^gS{FVqPMwrpeNEW!8b}{$>&>%5og|wd5 zV!X;s^mTpFvHVH5f`6biR8{-Chxa-x_=DnN(9~|Qpc9gzpNJw?w8!(@UI;4|%0AuT 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

e$Dtk!z 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 a-eP2`JZfVYjrU# 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 A5C8xG literal 0 HcmV?d00001 diff --git a/Dependencies/Individual/libplist.a b/Dependencies/Individual/libplist.a new file mode 100644 index 0000000000000000000000000000000000000000..c632911e8227d568bde2a8f5ac3f47cb8277fde4 GIT binary patch literal 77632 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 x zi=+QE#nZaQn#V@4wCyXYYO5g!Rcg=&q|6~xjl>$Bpd^b&C1ETz`EfhE% z0yP-~?uLM}F#m0A&78Vq8)}7VYP#IJj9S+Vsl9=o4P?0o=fz#;3&9x%dr8 z8QaUEt%^R{$laC#(KSp(i$o=+AmfU#|^ES5NF%NHUVE86A<3&kghdbH5Ty-KWBR|&7pyiE!7IGKDq2O2Cy@+M-&A*LwW zg%+ghBv#&37N3Cp?aak>tSNADoSTW=HlBLeJFS`9;{P$B`~Z}rZ=u&TyNTe@B?Y6O zScIA(6nX9dH)zotvXvFCZt_R}%(`-~zlIMIlCr<6wCWboRbgZ+MVbv?n7AX zI{d>1{$N$-dPACkUkQ8#0*cRadaC`6CLu!aB-jK&%VRR6c9E6r6Q-ug&cIKV+DT~w zx{J6J0xC82Xm_6==9R$HEJf8*qb~C?I9Bw&*;{EYUKR8DuEg$&ZnNho2O4;<=JC zV<4k)!v0TvEn2#{v>xN%Io2LSHZ)3h80d6!zL|VWtUf!gh|TB)okpk%8-gTe4z_f_ z03{+p7$ucORVex?Mpz>eLvJ9ug=%Vs8BY2g$Q$MmD!~?(cNcaJ8gNApb1X9`;|P|@ z=HCBG6n%>NR(9fJ)c7W&+Kx;0@JO9$C`rjDD!(kcjiFZ4BoZ-{O>73Q$o{0Jk{Uk7 za~^1cd6yL3smw)lXxxA}7`++yFA1ahtVafs--gj$3j>FqgIE}!Y>N-LF-`Jg#Q9q} zldkI$v0mO;VN0~*C9T3YLo6I`nzn9M-%1uvGAH<0rQV7@7sKFE?uVvx6j7Do3Kg*9 z<6e>OMm|O=m1s)=nxH-54oK2)_zm-c6m6Qxma@jd08y`!VyD3$u zEl#n^{=d<9^6|+ArNgTbFA>QThrue!oLiCZT6ZI-9q3SM@ad5CY*S6t3~nj#CnfM+ z3J=1Y-a&Y@_%+`9j8K4>$XYQEs5P(?CZReRPYQOZIVS(8>tkIB(D)0X%vdD zC7Z=3XC(K2m-2l9Kh5y*?sOT%`dfd2|Ei1TLc>%NKiK`Pk3m3XBmeELxk!u?|5D|O zl-%Qnh}$1K3G6ULdx~F!2Fg#0r|SCG@C5%{;K!iElE7^hvEuc(CBlnNHFD0vFj*HTUkMe5(Qdo@yYJY7(TTB^Tfyz{Ayvf+ zaaAYLQTl>1A1&&0RbFy~-vEy^-!Je}DLGSh@eYg=`xBR6rRzsh{?<;T%h!$=jkAUa z2QDt(ThARNS6PNHDg|Djqur67;@eM;2R@2?K5k_(hVhH3RyAZ@AnVnh_ggs9>O%gm zx@}ZE@T17*C$5|T8LB5_BHbmSF_G@+p;IH>6`_;6PDS^5Ql$I1(D1I|k?yNQ$3?oo zQ9npc7rOqr7Br5Yu0t*7lJ@|&O?f~LZi$lVpj@UnYdGb4JGd=Mm*uePI{l{Xj4ydi zhn)Q=lQ1g>!#Mp}o?lkE{I1I{cTJl%4J9&Jo~K6T**;}riZywsw*LqnSVY{hi;_mdM4hDU;~fb0*HC`a=i(YC)1<;!rK%|-^t z$>7QvdE5N*v54f8h=c#q@+^PljJ)iZM7f7>jQqEjV?8Kmm`BFFkr&d6Ez zY5Er;o)Q7c&~^I zT0bzJ(4ah@OOBKMh**Eh8F^dzvK)R1`Gr^~KqvK?3P`=UZnvZBfFAf40cr2qK-zUOkaquPsJ8n}!Iyyye@y(`^^f^l zDtJAR_Lc!LSn_&-Oy3PW12_nHI`GgC)xN#21DXCF;F-W@fQ)|#m<_A}dhs_K$aJm{ zzgPT21P|jpW;*WynZIX&7XTjwlK*=^{CVf&A1O|x2Y-i-)4cBkQDoj$@oyBo8A#qs zfh?CXK8WYVutqcpi}H4wLwgaf3siUBGiue@_D$-z?#`3oZk)-4y~^KjVSt0Z$bF8@MN6 zKA#r+5s>A$0f@HmT?3@vwTzEW`hP3_ zy98?mzb<$Ia1`W*16dw_gEIBGF9fkpaHil_fV9UAq&)|+v^{SEIsc#ycngl)nOqq(?%AI1tT1AwZ!A zeE1v4f5Z-i6Wauv1;c`sf<8fyAVBHm!KiMWi9d&b7|O`Jr+Wm6bNFnoZ`^-|e&c?J z-}Dbd`=&cp{N{RF1TMy#>+3hgZ?4zhgAU`(^}SR4=6bu-$O}I|Fsaf*JD{t9AAbq= z0PM5+qlmHkxnGXe&nKu>{~DYBMw>pbA6EIvu+Qqh#wO1jQfoZ#k*xkd*!*Y6 ze%_c`^)I#A!(y_=2W|YDZ1QK@?7!KjKhUPnc{x`8c{YE8jW2HVSJ>p=v-zL0`M+aJ zKg-5PTdel*e6spwy&6KbE3omMXyfC{IIBJ%h*n2SKmlgSdc5&s&B$pCYX7!l??N zTaBnt?zFNzHQZ9_l!h^jLW@%h#In>4B*+f7DXFT)?i_U@hf>g+h0sv0$TM4lRAC2? zMb#$Hbs@D`2ouy*Z|1+utSFv=JwbxXy1L{X7(F3IcC}EO!~|vY4{oo*R-nC>W}yRU zhyJB3Z)EkyeV!x8$GVI1-v5H=& z%{lZ0Dg0kjw^(n+q3lfyfB+hp5<`1Z`*VAvhdp0yY>(24K7BBG^D`Lzq5;lP+b#T{+lQl;><$v9>o_}FB&!M?LKQ%aVP zHgCz(q?IZMYTOe0zs+0f_^BE%t8&M<+0_j{oA$n6<2eEDjgH6f3Y`?^6{~|)hq1WJ zR&^rPJII^5_*9Ao;vD9QYvZ@o07DuU9JLWmM z+O>W&cCA;RwM)J*RA0?VQnz^Um`A@#Y@zx3XSBQZL3je=cLw6w(ZJ3Q>^3o!7Grs6 ze%qQJN(S7Qo0Y0p<9l&OFmqx5b@+r?ZZ`7TftycNGDLdK+i&EOw zrX)UX?UydGUzGc&M;(x;>_n7#HKMZyqdIU-GUZ;)9KE!frEQ(PyfN15Up zl^(@Pw&ft%P7=iuVX;^Wbxb;uDbzEPQOUy8DF_`}_61lah)TdmdU$EYY4Pf{I3xHZ zN=d5M_z_0wcOKSHo2xGgs?U+<;_VjR0q4IRFL@!-J!9omuF8uKJ(Y}A*=qt>?L8g% zP%+LA^hStShBThR9lC4B>-e|bhqK1t@^hrwS%|JTvior4$Z_tqx6-cofL|a8Zz;Cn zZ0>nqeK+aHU@<2rPFQ@(oV1wsB+J$D&Sl3STuGzP=D$!H-KR1_u>%mpOW#fEJX@8c z!i_&VH>YzT5-g8CQGf(H|AX2nj{Ypb-=E+&Y~~!|?Lx&(xQ&xZDF- z;zWZ_RVm(Sx{uB#b$VE$Y7+jtNkVZ&#mCzi*aX+uE% z+kW>GmjrdoK$FOhxw?)+P<9Xoxw8Dx>>qQHY2iEdZb#G{@n^O{vvkd#tpLvR ziGGT&SSpIn&rpm`0y_3}#3DCE@_qQy$QS50xm4BtM7J@)-7p1-1gcz}c}y(!466)X z2;Mj2OWK}fK>i=Q&P)0b-HN89TW%+xdL-l26-Zk!8xj7 zswWY~GQyP6FuM>{g)&nhJQo3-KTHrbY)}Li`*afeG)KJ@$s6*{cgd8<2<&zzeaf~X zQ+)hV09xBt7y}D(kU-}U)^ye)aE zTDt{7oiFR;^htpfeK?s1sy70Gs^>blrI@WVcLKvAU-Wl3HuA((CE3uZ1oecB*mn!y zQ=gmXqaJpcu7j6*irkHS(h-QQ=}^%)Bl)Bd=Z8u>n$=YYJNdgPS~;p~p+9!NI{iX8 zXOel^XLM;s%s0dz9oThovTzQws7&eU3nvTbLj>Cjhy5+Gs`|CgcEqc`r4m0<`W8Nv zG#yK{_#O5m_aZ2@f#WsvJF4m7ROmd&<(%=MO}KNgbaI!Y5d1C6*vWBhFE+-uux>lQ ziIws`D!4lP36~$|MW&86PV=J~<0!Y`@oZEu8hemNBY^ zRgOoh7v6fP!!^)TdyuO8j!*C(xp;PVN-i!#`u>&&miFm znyNSrQT~>>Q0$tE*c+WsPvbThetZVlPOI<(oNwOBk`r3^ju*IgJML zJ+o4>uuf%RzL7Vhv##AJtk)ol+TZ?=iIvjgiPQLzuGej;bVVxphoR8Psi{G{BYP6- z3SWZoAe1c89OK~s8jh=REXMJ1cTdm#h`$>;#7svs;(v*w1;;KNdvUyj!-f5^GUZd%R>frgOO0J^~B5 z?O}Xm8Fi|%@4%O?IUYOcZg>ivZ6NY_g}afzO5&bvdEDs?#6Wp!Eh)C>32SYKxK74=uOS4OIn24IQsbS zAIxKHEr*+dSaSTQ{2c#XVG{T!exxKYO(n2LwTNi(2fPS;LbCWXm9PxMpt%5C1U^Vy z1Uiri3@@PJpW>fCx{(*0PVUj}4{xkQ3LeDsR-yBcmN0bOyyT-D24z2- zj7fIf%V9ynO5JO(UmXoz}0<4tzXyD*Y18l8eDmVv+!{B>Bvwf;b2LX2?fN5W9!k|Y5J-VO)tWp?o zy^{f4pwh`L|50TwRvD+nKBRs?^N0A6s7p0$>Esy*lay>Mc@JE=N2w!IF7;hg&L!q} zRn54LAycY+JLCA3616fBRf}J#RjnDcBEKA!Id%$TaWRH%=o13b7i9n|0WyG1Mq383 z|JC`CILiR`FDVh=)P}r-V3h+CK$T?LGUiODyDLRZbKRZ{3&=y8&Kp&jI(?#nQC+8( zR^6|gv<}ZhPP+!7PT1zn7_yV|I8CKA_Qb*iT>@u4TDiWVc@-|}DfD^oSsLA(&wBQn+TOjBH(a{qXP^9{elGO@#YAh(Jd?e1?w^d7Zalhyk1VnL$gg z_3&pmQdEg0hCgGN|I!puZGFg`y_|n4Q(e`AmrYM&48r4|824BY55@r#a9G2>%x{h{ z%5Z#$<5L`qFiyA&hh6t^guN=^9F!f0@qk@s9Ks4M;nVTEO8mD1@4~_TB>qRj?E1#f zt%F{I%zHRKJBloIxTnPNDEJd`aEyWrxF?5gXY#55y2pZ{cxst=oSNSjIWqmWvm(1& zB1Z!D{I5QJVnkriF#87nq3n>TTN}fNA3W+rkdx3p(hDOPNiU%cSYuG&9$ zWtTCrPyakhQBD8t$4P{@!~<>Y5m;|cYvG=HMwMypFeME zLt+Q=p=|~LjDc%JxUjJ2mptiyKo zf1CQ>0-+-LR&;3;6SS{{v1{6(eb85#6YF1puK(iV3GVejLUYBhJom=$;a4n6n_sHT zcQ@{YeAgvAcvUGp(CWg#94{yQv8yH(ej4f*eHD9sZ~P_+V&w(f8H>7r7f~-3?sczM zr-FVi9c!9|Vu@`kz<-oy9%|Mft3TBrTkSctyB#`#C_ZN#UA-+d%oG_m8%KDg!xI?1 zGmzC57`(UfpYF{&8@t_`+dS>QgS)fq2RF3UkLi39MmAvd_$m;jqfBX`Y#N?M7}k&N zHLIZ!*7S4AMRy?^MG(b<#Vjmp!n#{krc`Qzz`^2{Y)tXr7Rrxwv|Po;tlvbF{aVb%Ls_}d z7X7VrE`yENLr1qo(FmRGkC$iRHmtbtus`~TTi@(_5Sb{8R=0O@VI>W@ z%GKLU8)XsSQp!6`T^_6{zT=+7>2u0ZkMLQ{5{VX7k*U#ruyhR z8hwgn$Vn0vi^f*WLc{XZ&WX4lnV|eXcAg2Z=@!`C9Nbg<0Zc|alE>WJ)O{&>$I}9_ zO&n91LWtrOmgOx#a6|ow(^hpa0_h2rX)n!BPEF4 z4V;^wh{OG?A$K=;5fdx^U~5+WDG34O*9e5l7}>A>q(mgUUSrw?{xz4WjGcP0_=6ma zkk2A?oa&N0ccEG5zuoz?T;XSdEp7H+gxW)fH0NDG-au1wvf1+wk6{9{&BCXWvS3i}aR29PB z^!GFy0 z4D9S2)pUG7{m5;)GOMYoUm$)%OzEsY!=TzjrR z($gzZz&Qnt9EP>9dNmx{gcyc3m08=QmKyTt%M#&`!MxrRC@f#_^Ld))ld_ zCf*Pi#pa#rKeUS_5n2$%s=-)zFM|CCcje%cx)(isOIdtrE~YL_o_Pt+mVY2?+eeHr z_1}m=)Aenk>v8?W-Xc4(#**#xMq*Ex5_G-Vt6nd5!d5)R%mWv$ zI2a}2l5$EbH&;?k0LEin->$FtT_?7VwM6i8i#R^FJr}#dd<8U}UsE*P%%qhIv=m1d z`V#EhS>L97>eW{Lh@`D8Vk^I#RpgvCKA_q-P$bYhiYSZMRx?k`zS198l>WG;06j9t+=0WD-_A>HYgR71X1$o6 zqpMZ~A{SUMZEm>S8(%;e7BzmaP!+3QFMR>ZtCbA?*4s=GBe(jEyvac4My)wFO|wX8 zE`X+5<$F<@fL{qLH`KVtP)o9hr3q>q>I~Dz1fG> zwPam|=IFN?ruAH292>;(R;J2P&8q_vqM({rhc-nl#?Ij;S!{9Ck@`@_WH52-jT>wX ziT7g6?`{}@7J+kIz1iiYc8r=4joVkTH^o%k>_LR*Q{sh;d&5EIIer!HCX5c-QwKx2 zvrv5Utc%d-cAI)ot@G5%`MbQr1^#{DCrSbZa zHGk_1MjOUn<7tPJnXgy`J8#CQFPT|6>v0d-$yL*)FN|(sUx@EI;L6q1hM)eY zPh zpOw#(nUA*?ibM=E_FW}>2K!t2aI5KqS|y7Ux!uNJvUZD0q(9!1ul&D6MQ}dIq{kN zh7r$$&eX?mDwWr@QxMm=1Ya0Yz41BK$NR!_NYDp9mKhKHcH}eV7e+h}I%D5g=V^bw z;3DB;ybnij_JtA8gU;|>B|J9@e#>HC7;;X0#y+R~ZWNw}4X?$%Onjz3ocLZ4p0@?@ z-XhWdd`Gd5>G7b;(%|Y5p5gO#z%mP87(vIH-^s!=UGPWXV_GUbkooYNZQ0tMnO{Ck z4g-168T%Fq&&`7OS@}Gf`S^6esr>F0p5F-m7<~OqdVR3(4dMBx;Qdy?3S+FL*UE7FZQF%EdGwE{G!6MMet!O zU$}QZr}BGDcyvxgx+#>i3YkvD+-w%Z6SAvhE@EyB-e-NGz1b+#>Y?LS4U|-tb01T+;P8EFA$`?NN z_BT~{t`hu}m9G!ww@P?63H~~T@7T-lH^S2{IMBl9K{@op!IydL19{#YZ9M*=@EjH# zY~k}|;4|aDFyeX8ng0Ha#oAvec$|eVj3_7j44)zqBExrs@O)b^SNIt3$-vj!{YPAQ zej<2+h0m9P&)646JP$f!-}A!rmf(pNzA)sDHNS_2XUGz!f(=}RkLQR7hZA3K`5h-b zg@U6je7+2P1qkQ!h%k@`oyqTY!m~{96boM%a!&RcK1Cu#hHsPb{6g?d;mZM+4+r~w z`}Lglk!d{nN8$NMaIA$d3_TAHC%#PM$rEvdMK?k49O0w=J{-qt-z?$zmf$!GUl@EI z9LHkcCgJ&&;CaHw@}qIS41Af&?|+5oUxE{?e4fmFnac0f8({!kf#3y}{PxAZ8-(XO zf_YXx&#~LrEIf}2PH-j1L!fi@!(o4Z)!X^@obbFR=%qFq3)_hY$FcH#B0N2U=Y!7& z9#Hm)?-bmS(@hXuZ^^F@;ZFAT*8i0X&vk-v3t#vsd@2*n2%LcHX5ran&{BRr$Q`SF zj|oq^;CC&2;iK?5+1DvNu4Pb$yBmByAnhj}t9@gHr$BJCg)e**J}3LG6`mD>TfxV^ zfbFj@=i5f%d06o0Rz8o;^Re_-&kN6cg1-PC^U+uP`Y&h3u!o@FBUV1ovD@bto^J~N z5_~@Jvwr(hezyzHy@HQg`8>yN-_yeLC&6EV&(yC^o0vBK>+SsgOn3&bfHK^#Eqr14 zJvi*+N%Cdt@5c*Iq2M+PAGui1cD~;F(^!T$lD zX@5S%JK5J;`Lznqp9Ftn;R}P$gTroLZ{>GLc#f}uBHV8+d>;6n?CY)k#tF|Qg1@uz zk<)G;`7)K?wZc;;_&E4{Zn0Y_af> zE7yUqxAGhKZ79HfMX=Sz=Rur3zrB^;MZ!}dIJwQ$KMW4q<-@`2hn=st@~ab`^@39@ zeBq<;sY+wT!3ns2Ej%v?US#3(LC&fCdb97J!ZWm%sbCyv;S0m>!QqtOO!a%A@RSG^ zTKLH2RDQz|p6UJSeBoIo_%$1!Q+|8nyGM8)6};HSM;q<=C10lV?f1gdAvhX*?Wn?8Y8$J)k!YJhkvxw zUcYRAneO*XglC@M(@3+!+mwCCbZ_OSgp{DEKbNaSc<`NG<({*aUmy6^3D3iVyR7Bc2fmku=Wl|~Tg$Hx ze8X1he4ZxQU@JdRA_RYy=g(|^>iU}~=w$i%glDecTCq>@;NP+G-6lNW7iYJYvO@1XDuyjho{AAE^o!H?eT3qyqmoyrezobdPri>&3>2fl^EbDLnX zwfy?P_mJ?k2$opOuMd3h3eRD|+BVDkBk=Wh{)SOrJm?^*+_~S;SSna&;VxJRVrt-T@c(!tWU#9Wov%>Rd!F#NHeXwuftuzGJ55Xqh4YQcN0e0{KQgYY~e_yh2TVP9X%?|+5oGr=EP`TAhrX{%uj++@Ku zE?0lr=3!tqM?@$~bNyf#9K-tcL*e327jyz#*9y;a!H9*=194EM@sXwy;|$-k!uN{cAmo>E zJXnq@Tj1lza2eQhM17Yd3kb<8zSLG3*HMpawwiY z@LeoCWr9BtK2;ul;QN;FtQ7pA@UflrCBK`6XRBaETe3b_BRR(`sPgNBeN%;JuHftxzGJs82R^nH_DOxI-{P=RbS)6PK85et?TZV~PX#N5udns{2jTfp za9#@EvD-IvjZ3+)g5Lrk%T8U7`cS{c!gHPAjVXM`Zr^I**&?_Ud^|b&YTwhsvrlkY z3g5BYcUX8v-J#2IIrx0|nWenP-oH#0p1Fc6Quw~SecBqAYqjtg>~Zn#ukY@D;WOyE zx^H~b%4W=Q&7O7jEEm2C!7ml^3k_ASIc2kh{^Hre{D}p@>C?)CvjhH#lcywt@!JGn zSTIQiPYd|*H!&|*F|+L2{0s9Y+jU4aEuG2)7Z~{&SCy4{%Znx})>*Ut!D~wA1cD3= zGE_yw9EWIz!e}sh(*#Urrd>Xb3Au^_#onUXv%NNX1P2kU({$2-K~6deJMB9DqCmQQ zaNhD2%bnAJJ_^^_ewMm}{Z{!j`|Ubnzg;KAeyfhypDJ&&-zsma2Vu@N#E4{}r-|9h zPox1X5=UtSno?nWdc_*8w6al6Pqzo7nOeP8&6E;y(3Hjm6|1FbX(HZkZEBTdOw*>B z+OU#Zwz{!dnp&M1wd`r>lL{SyHE(GpV(BQP8H?x<>l18gTWVjlt!bxd+tRkwV_Lcnb!kc0QkQ9I+BEHH z>iR@)oO+HXPCi6P4LZt@juDnpXPp_@wBlBcFjXEDndJ>XY!KdpjD`jaET%e$2^YlD zt<~b0%uQ7hgEOckQ>mDJrRnfZc_7Hv*`q8(PH0v3QsjhDS?$0{qf_LqW$eJ6CU5vt zxpnrOh*27;v<{-lQeatUVx}qTnr>-sQr4MLNKr|qQjGnPioN)syeOM8S5ZL~m6n*x zrU$}ATXfVjWo6S#X`7CUQYpxtO;wWAW$38toJ(_gRqZ8BPYsedy0N83L(PaNO({_e zGBUF1($Zdam7yuR?8Y4oP4wS3GcCP-YC;JGXA?y)-M|z*t9gFrE!{LrXPGcfi%JJ% zHOnGwH!GoIH_4`BHOW@mQd5v{u3=k}l(R8N+UD}3V(sUF#Q@4_hSX|EwIHQLRijQ0 zn^LqLQ%})$OdA}@Q`mMHbj$&5uv`kY4G9)nVY?(cvd|V`aV!T%OHy*f+iWqyybWvK8#>nK;MJXoD9rqZCQ$8VRYk4UbgG}0zG6LuK3^wNsO)<`Yd%%LsaG;Lejmhy2(JFSRpXI+PI`?Fl75osG~rVNVGTVW<$OXf1BYjUVBYnhU!REp&Yu$Qd^gT;W< zyqofMvfPxGB|#&e!C0e_YNb&!RbsQxC^35WtO{PTyq5N+EJHY-@j2H9m010~DYD(9 z-l0fUQdw^GGp3qyvu|nU33Dx#;B2m?{FRb1HD%(3q4F(CX*DmYCi;Z*YPV}Uuxx=eQG>)OPB% z8G`0|Y0?Z@Dm^)ba43;ftJ16Ak~xZMo2)#J7Nzsp>{0!ubKjTjG&7WoRo9k!x~?r< zwkoT>)GnkF4J)0)Rt9zsn+Dt zdBvP-gR_cf6i=Tyr_?{Ebmoj;>5P(@!P(PhU#)uD5`S6Q<^E|`>X5!qky4tuH)sMi zZxugB+Wh}VdVB^)yN7HG>=c26{j|3p@lN_TN=2T6 z3EjhwH{WeZQhYQ-|1JbL>7O-J$74RT>(#jf((G%K_=~hyTKpl2Up3I#{!Jsb;^++e zk4pUg8RD0oq$94+5dVV2v%NXlzwBhK_|**hO%gvB@lNI6A@L`poSpa&3Gpo%>aSKZ z{ul5&wf{M%X~V7qIMv@aiC>=~{*u$Rex~+)rNqApF(>=SdbIus4Qcf|MdHuQ5Pz-2 z&(9G5q{MGWyi@x1W3=Kxv~#EUTO{F1h&h$t+Y;Xd%bm)v>MYIwKESDdi_X^Z(=w!g zqKr=qR@o$9|EM{?1YEZpghTa_sk%GklhGpF+eZA}8&`k?#Y@y)JUn4?4;X zLB3nQgxn;^{ZQnjUv%WV4ss8O9Q#M*Og^SXvNxavSuPEbdr9QjPo~I~LG{1gKm`^ywL;hTWK*AQ3t9WBRxGez#o$iVfAQ3sPZ8*O9P9a^6KsB$(t$;+=j zzbyYL>(`@V=Lc%|KtcM{}2 z5;NSi1 z9`S!i{ELAR#9sw$02Ttj1MI|g?`y!9ffoRG0h#V&68=NrB?xZx;{VSXI{ZT*!+$3JABevZSP7AD2o3^btl)iPj4t;*K2lyUvHZTgr zpLZ$#QSZsoE*G|N^ELsm0bUFI25^$#$$|$l$YJ-XAyv{!hQ6^*Vs`KMA}NxK{kLfVaSZF_8S@1wT3k z*A4hz0$u@p0@w&_8>Qv80Ld2xt_H3Ft_A-0WS46?kYAeo2CxB$v7dJuFbtdw?2qNC z+2a2Q_Z@@ae-Ahi_4f=g0J+D2lzUkG_W=9B9~1v=K)BIA$9+#eFX$Ka2=<_Zr`&6TZ9vw~!@x4&H-IaF zCBQo1MBq)pwp`9QQ)_MO~Bc}T3`XN9ykIx6F3xjJ+jn_ z1#-0GK43n=H;F$AJRkns#a|6XxsEOn{}>?UPZa+lTnN{|zYj>gmx1J+54;fmuLCCm z^MEYJQNUHeY~VEDfnhG!nZTa`sdqQ-WAor|0McIpByWlMPXdzXIA9U*iy^unTZjQO zJ)Z%L0S5!u0iQ)> z+zH$UTn}spMuB$#S?`wt?*!%mS^pn{g!R7*NIUt7d*(L}sOkgA^OR!?RUe3Cef%6q zxtaJ!y<+iufj7f{7Vrk(i4y;Le=YYea4Ew77fAl+1h+~2X2I_Oz4)6e{;9y3@bkmv z*Fp762|o#lBt~+L{bIy-;3THr9^h3#euyc#$aI1zY0kn+4I1J&p^(Wxv!_~XED0v`slA48w) zx*dq$u4>@rKxAq3#o`|ir2ZM=$LYm2qNCAV=tk$E@gkjp;{-d1V;(( z#Ys>3cEPaVD#1L#ae^HeX!(7Dn*^H#eS!so2hd2!zhAIfaEoAtU_h`NjfL`C1uF&T z3g!yt2)0eo@-2cjf{O(`f};fYo~Py81;c`?1oH&P33i;T<@X705^NIm2^I(*K!Z~G z6>JvVB3L095OfK4kJEbF1h)!S3eFYG70eNAJ4fra2-XO4+)Fz=f};fYo~^^%1;c`? z1oH&P33i;N<@X74{7T*?L7!lO;DNC^e!pO|;1J|qhpPMwHVbYMtPl(c^2G<`yHC-$O>nDVrQlq_T)`Yc zj%%skB3L81SkNOlN^md6uas{W3=6Ij%o7|Z*m07U-zT_9uu0G-SRi;{q?X?=*etk3 zutG2(=o0KcQR{6J+$vZpI9D)NFh{WM1g+O1SR=StP{zLlM~Q#$2rb_(7#3V5m?y|j zWV4()hHKm>xJj@{&?m_8F69s8YTPf_EVxCmLNFl64I`-6?bf(WaI0XY;9S96!5qQ1 zVOp<6utspPphs|&;NGEHzFjaZxJocjaGYSr5G}t?aFbw@pii(s@WAm}e!pO|;1!j$j)+ z^tTAs2rd@%2#ylm+h5DK3x)+(3FZlo6XduTssr~4ZW3$~^a&OS9>~)2`vsc?`R#4; zR0swHIoM=)w@c$T!L5Rof^!9Nx+r;6kHRJ(k{%WY!l`X0(RB^0fhP`J48$d7nCK6y zfPW$UJ|NT06C4M;5#b)-A|Sd;eyU*@(^~;#dh>t)*SCPpP=@IP!-AE9K0%M5ORxjw zN%=OxW|8uZ&9U>U9#9u&^+Vc#(1v6&SBw+-jfFeG$? z_PTaReBQY_fbEX*HP?$D{Q%`xiF}*roA=rWao#iDyoWvoy2Ehp_##^2L;PmEc~3eV zd~Srb-J#>x6`cF&62)(4_z(%Q$)U4^v!$h--^Bzuj>&hKl7fP&mEYac`yF5 z=$rSnr7(l>W?sV#DbFV*z5gPP@#ekq*}`w$179op=DqSzi8t?&L#%)3Un_irgb!-U zoyPp4jMhqf9VY&b;=dl{50!*_(dOR{d24(O>0AA`+We2$LjM z>OX+?WA#65vwyKozR{N7l{WqJZSjq^{Oz#W`?xK=OKtHrHvQ{u@?AFnP+R$~v&ApB z`CDxKowo9Oz?MH=m#yVhXseGgw(^={^S@zB@9#GMPi*b;YFmE%w)Fm=t-SwaE5FNZ z`~h2jM%(gp*d~9zP2OuOzr!~F3wC>K{^xA=pKNQNV{P`FY~%lTkQvz8~29BW&_~PHnZ1 z&r_}bNjCpdn>`C{{9|nKZ`<_Wvc><`7JtANFXKIgYPZxT?+RicxnNajRj{tQs=jtf z=w=;~^o5qzX>;c45LkGj<=2Ah zh4bo{hJv9b%c@t@hm^e+1{c;=R|gj?SyWvY!k&0_2u>KjsCGqtO`ScoZpor~OBb17 zmO|YMWUy*U&Eo1>5&kxVB!Rl>%zPqbNB4=1_H=YiTg3tvp|)x`-!$ZW{A%4%USh1eecSR(<}w zrAtHe=7Xzv)~sMneJEI6Tf3sx1zq`JQGHCCbtH$g$Ol7+Lnfs~746+;XWqL8G?u3+U7 zx`}dnTuWPRY2RMx^-o*-D}8GiewRjh2r z6)NkrhRNEXs+;j)o>!ol8>;6Ur_kgIwq`_DWSkV2l2uVNzhY5c-CePIU&Z7ZHz34Nonp1<4Qgr;_Z_j?s%TA}xZfVD zSu|hwSgLhuZq3@HcU9EJ7Hffb z)GS(5v9Nm4qPmI(GyzyF)CI;)whFS{B266a*lyE;Q<6LW>Lt)&5ghAK zKadLayNfICsEk&c7#mPW(Dc#FYsJmfe$^sGFI2I+KQ+;&B?ThNFj4SI(Z3cIA zXw?hqqBZRARVSaOUVW@_AsSd{^7I*{6_Mc0p&1oRFx+5hK)+g3yTIe8bWM6CGXc>y zRNs*%7=s4f8mk-bu2yPS=;q=oF5}?JEDU2Y%|5zfex24t5}j&ON^vkJfp&5aXWB)26HUw+TQs3!8n%QAyP~z1>OEbzYD`C8 zKOgb3pBlyPWkCb_Q%x7UXj5!x@91{stIVlbESOBVap4&0?ul!_n9P5f-k?83rd)S@ z#qEvgf~ywl8G)`^^itZgH6(NMi|8Qgs*>blAr)hFEj)ArYtYE4WKH8jG;cW9Y7cea z*ies=x3O_aT?4w#hPuV*7w)L5sJdO%x4TDIKv2be^c}tmGtc9oqK3wbij*TNKj$v7 z+hrWDK+j44WGYe1iYrPj?Sf$fJB)OuF=sIUszV>JaPcVZ*1I>aD8{sP2(Al@uP7cB zNL|Ha$4wY_<+v-y7X<=ii|8{7cYy%*dyX431~{Q;yyl)a1g9h~Zd`CVmPviS=RbY_ zFdsSa7@_9rn11`RF(>u~@WX}IR=(u7mdYjl-+BhbRlqQ~3=Nq+{wR-EMMboFX;j~9 zdRA!8tQ2kTej;*=yd8MHpd1KlGCV{~Mlde1pVU`HMY=pA2d_oc^+%(K&=QSMN*;R< zOu%BbOHh+5Dk7yxPu#RhfO+D$8}gWRem^5wkR}ono`tAL>@d{j)h|~9tr2-8NT)a{ z7cRewmx59F&oyrKEak^TJ%6|uDcu9m1CM$>e(&=r5aIc~SlUJT{DI}Tui2LUcJQX) zjWf%`_Tl1P@s&8X)cvaEP(JvE75Qo8zJ$KSHzn@1 zp7Ma*QQY3L-T!cV_bp-PLB1KWTDC_=TJd|bebI}+%$E|Dy=p%anI62SJg22S_M`6e zt;A41u|JJfY2QOdB>Pp&eZG(Qj<(*&%C87sW;BF;_n44 z`=I4~b3KH2eu>fWvJz#xtv>YYH|Jbi7v*Vp?|6^ZeZVdj&vfp?ry99-@qx&=jR4Gek zpuHCv5kQI0-HeW&N5Hdlt3s^q>$e~>?I)r;uWtM@`LAOdaB-(yru}%Vh`jpRZ?x@@ z{{Gy=4)1Mb!3n_n-zGe9BN&41sP~?Tm&MRAg_uyNN z??pJKdN0a5(mY^|OemTpU^ZSjqrLfZ(Gf@#X(}FV9*`sD&@S>;i##DYjxRL##G}mv z_#HYvZSwJZo(GVJ?7Pi8fco)A1vv)*%W+@HA=O&-9{U)Kw=F&X=9$QYu)R+WJzwGY z&5?b!|E6~TX`vnX5jWts4!2J4;#Jv;F z?Vg8mf+;`*{^q~n=D!`u>cwwkYuyBhp03l+bW-Kjb~tFuJ-TgHRmN=z6%!FHs z_#8-dzRs^Mti*4}E4C@w_L-JF4NSkaG*gpeTB@1Ky-dv4kNtJ=-SEG|U*A6MWB%UXJ(d6-%3QHe|>njku2-;-_kvyv$v5maR^_RB73cs%Fs*bvX}(!rMg4ew9)y z+s-k?3mw}LZkzwH_#71wQyphvDj=uE2$;icw|fOl{EpS!vhUx(nw3zEGGg!3Ww2@s z8<}T18=M`S#d-L@Fcr6)fmR~6!?FRYYbxGVtjjNKccO^=%_S<^_C>S9&be00uGnc> zvb|aPzJW-C@oW3}TOQ|~Gd0WZ=s1uaKhQsV#;OB{;TAo4k`E&MEw6yE`*ZS%LiM-& z45a0hV49X~b-W2EK?B$bPG5h^ev(a8B8uz&0IG13U?rYp9k&v{VI>bcHwB&uz*+H9 zUCuhooVwhymiPV5Pk;zl&BmPdQ|ho}iIupwJnY1>6??cU>^X36y8&U1 z-t|aY^fQ)YA%h&nRE2J@gcSRW?m_73lyfIyQkjv%5U0n-qauC@F1lj**s^TZ%R*^3 zXDGKC-bv-E&=`Zx{cGT6tM&_mHNsX+IFk5=l!XC}ec8}YyEUCh=|CY>P!hX6ayz9IN!^(?$vbpnWb zp^jQXV(dOJwl%tYBCPK3UjYlb$v2V=bE6rkK+qczK5x7Sm0CZwC1g+dJ~l5=esJk z;sl8`cih7jal9k-Vd{=$sEUPkjZw9jTaSgyn)!J1h*!833-K<%=XNpd(HgvxSX6UI zH6zn(B8Wad&KRj87ZGDvcvq6|SX8;7F-<@v*2wXG6e(F+fu+qw_vi)1%0=~9iBxYp ztLK{l$}Cv=Mitb7nmE5zaay1Q+pIXlP)Y7rCsdK-B*DS%^tq5N_tJc6$#%1eej_T zt82XASG|1V&VHO%iTdyJeX9>XlW&&reb37$`kCjia^d^6mrvX|kLNWMri^3Ob0%@g+zynNzr9^dMP&Ncys=5Wu8&ndhl`MzO&@Zs@I zU8@C0c=<$tS@&Hde3$mYCy!srhpa35;KS$p>RKx}*~=&HM*np}&+zgI10IjnwO(+Z zmrvaBn5wP~g3CR8;;hcz$h3aNGdXyjkBXP+yq@n$#h5@IU+?p-UJ-wOzMIMaXzO1) z{)y=WE~7_s{VSr+ff)(8rTFFlTk}y*b(wW7&-n}a@Z=iN@B^BkdaKLuyUwBc4m>Uv zKKc9@qqLmkBYeYAZ&CLOPX?l`5C0hHMV&3|0+QYY#P{iiD}Z1ryc>usZ!(a46M*D< z4-JvH4M_K=guY*6;d$adT-^VG1`hth=LH`ZdmsnpkAO(7ycB8BouyE*ORvpLK>j&GmkV74 z#G2x%1wv;78J>$Q@voG?`6S_obPGxzUD|C*~dyy`D zBX=t2==9nKWcYTW*8$NcPhBfCXX0oBr`8M2hZ@qB&;>w-4+!lOdOs==bmb0wfaCW{qrwQ?M)i++P2pHc~g=$-x(>D@g>aSiut2z@X3Mt8YAVH;o}Ck z3a-x`T;DYG{_Y?pux1p#B|uc_%aWP;$;4Ly*E9!|(-GJ4i~D%*K7RCgy^xRh?#Kmx z(sHzQd<*T<7r+k}`dHsKH1xi%5e3?3A;aLx6`I2of7x`zb*$_7F$^}mj6Ci)&t(Pf zwT{0CMbuEasCb;>_rBk55;^Rbc-Zwi%s2K!o+LRL z#(jg25_f3)`&Ysac{FMO*f;rtU!pb$R!-h%i1U4$RUyXp8H@5QAND*@qHuF;Em zdw6emsF&+lhRJc*Rr_!^&{27$S4FVS(T1XZnoh<0inoV~+s$ioTd`^8Pj+Z17kKB@nAVoP2buWiR?#ooWRY zcOt=#bG8COv6~}_v0Kqa=vAs8f}<^ne-Zni!Pe_i{BK}Axoxtc)mId2dWQxscr%w4b$K3fup&unaoHvOiHd*^N&UK2&!t?JFYj{R5w1YW$IH zR@DoVGAFv`(5izR4_Aib2M6o*;P}BI{^obU8b9dwxA3O8J$|5{|3NO^cJbe;gM(1@ z@!3c)erUS?`yJUG{>M7H-UH{V%{@Jbd*TOA^56eU6|i)|JN~b{h}+=4DS<41ODAug zy9-M8ZNKZ0xgz)AiGIFtwDEAq4a&0kS&{rwND zqT8w!Bl(d?bP1%67#OSXZVWpi^Kpy%kmTy(_TZ`>Hh`4_p!~`ip!i7@sgqWgf;tJ* zisJ4uOx#H;3cHJn+o9}={O(H_5UKP(L=pcvjJxk|%HGuUX+JC(gSr1oy_DuzTsH6F z%)5X?sMQ-W(bu&t0<~3Hppy8Tx#}6Vx2mcZy#GGdwXl0j%Ar z0Ac$+sa*bMp7$AcmgQ&T6<>64*j^#a?oMfbPS~E36U0q!(4La}WC`L66~7-zOd1az z5N5<~h8YsJmz}#?%XLae>|x#ahwajH_mE|ecq|*Sm&|8K{H5oDgw|Y|5672{*zb#u z4?7b_MC`+D%S^f`WWQoNSt)tSh_HRixnUws22tcs6ah6jf>P7p{ve@33<9@{uK_YWd>WzajWEaFSinTgL|`B_G`h`Ife`0PFeQrZ8sab zdnyFKG(3ag7+BP+jNfMRU10=3po%_Jyf30Yox#Ua$yXNPPL*cxBI`HiuSa5h(OF?< zWB!I@F5L+6Z4Vo9NHV!tvOi%CkzfvK{Wd-vMMD8>UMZLFs~^ z3c#?f7Xw|upaA@PG)V}8+)K3YBT$k3+LyorTh+Of4v9zei7HOk=v8=GL2WqFLK}bc zy?m9J7@LKJwrzAJR5P^uTRsnluIuqnR`!{OT+2SF2CcpRj{Dh`d$vUfqt6|n`fD!F zs|d}TDZKnxOSKYXzl-Nu4g?>XnBcWuX}qs(ugh(??-NfZ(+649 zn)3I#!m%$g>d@~1{HSLa(3jqaF>Q5W`_Pl);T3Vll0)|?f5!uNs>3L=7mZN;$6h6v z5iy522xDZ&H&8 zM)Ii8E(y*ZZ700~)@(@J680W|(suq>o|m057JHw9byEtq1& z+ZXjsV6r`%9Om0%^>GGX3QaX?;stSWJKv9g7Ig)xMeI+N6wHYjSkp~R$#>s3~qQgoVYCzD*n3_zZajc;@#TStih*X zm@?6w8SdGlho3`(8+I1AcMruV+s(IjDt`96$CZ*-F zce?S?^(+;iOla-LNm=$c+X1emtB(rM;E)0S=9}3?@onHCGrwbvpA1*k@1j{moK|)U zs6R1$;fnDO)4hnZG@uf%+Q-H4#HoC@0zEZ@v(WW>`X{G|d6E z&fcn+Oq@>rh*g*&_D^zWn9)DQbzzisj-Hs~ZlI~ei2AK$q%R|**%|K!isOnL)n&uM zXcLSt%O8&(V8Fe2UPVt`L-3dGHU1o}b|`-N<^uFWWCSY_=EHiV4Lc90+`*T}>%hyQ z@^;Jl^?Dr-K5D%ct(uFwx;8%#_qHJZ1zVRRW0Y=P+Zix1^v`%kadGjXDA*cLa{Uiz zWOvusfhP8#{d;q3tqt4F`5T}g6V4NB+`UY=vst+zY%(x)onV49unL3+k9;UomadFe z`8P%x=)qWY?&v0A1eMx*`sk<7{?MJOBnRy+#ism~8mvk!fA>EahknJoSUGgRY9?W1 zx)M=XQfYcNmrnTGvRAurgsMNp61mQ|wa`y;H#w$t7lCDECYD!BYLXqHd-9alfbnU( z`2g}5;zqeY;*X8I_2*c9Ox~W zPHw@Zr3Y|nzpc0SbaDq|-DQ3cM(p#@DeyZDEr=Tfq9dT2k^((1N$JVxy3YdLcW_Ld zm_XN1qV^nMvdSj)In^cM!}n`_v7xG#gzZ7pW4!6uEt&Y!@j^Uhhn;IpeF#2<=<&5) z>}10XsikHLoa~69fy&S1UnKzASc9B2+U_|^;Fsju5hV&-CD0{e ze~_k53oSKtm!L_F9Bf)0hqbmK{smhXn;9W=wuKsK$5!;E6=^}~cyHU4PG%9b*ux@t@ zer;)9(0)C5>DCy&a9Y08a$>u!Dm}-*&WY}U!KW}`#|M`1O62ieGCsgXj0SMuO@}h$ zpsQdmnwNXaimFdqD}3hHV|9kMA^SK65tLr2KnhJ|k%gk#x$vx_N7Biv2^=YUC_fk zSW%}isZ6UHv7aibLG_Vf#EI?b<}fl4D~P&p=3HHB$)hHBpi-)ih+3|QN>vp=<|U`R zNqxS@Vz$u!opI@ft+RI3dpu&zeDQ<^&PDiwjD$Pc0w`9YL&06K!q`yCVsMm z-cobbghelWg%hQNPO>JcBc|eP%};U37SkC#%<^0%wC6H=PjS1-g`RDb4x_RA@81MQ zC>^oiNfy$t;AFIr#)gQYM9fw^arCj(>dwi*nhVct=K03Hr?7AeSqFlxTzpats4zR= zjeLF!fFAE@_Ar+HXHi4v{Ht(lqXZSWzX{wuQg@oFoNi+*cvAH}rMP(rSFrV?R5|Ul z;ws;K=sR={Y6bK>jCp%?Xh&=~tNW@g%zIa%DNggSVyb?Dd4{lK8{7|Jp=}XoLYZ?3 z5>qx|On$TsOOf_V@xNu+v$w>eVdpD+K(%aC@3L+98ZDNKZ{#-MbJFObu+yT4%#r}V z*WI_NU&LPA>Th`zse-hwUjva-Q7ETV8i6GHrMBO|J=i+JWDBCgbR7aX*ZPIY0ek>Q zH&s>mh;7e(8IPs;IVx>MY+9+}D{6 zZKHR$w6APcPq0|9xc0c zqbc==KJMabB5TQ)fXEPjD4WVhKD*y#aw9ncCTEx^XhhOohH!5o##Fer`&dM+(@jv5 zZC2HOosPuV{Rn^(QN03_qx&34#IrXhZOM*QR|Y)<6}TE?vMtV<8ML2MkHd#hPA~c& z+H5%+-$*V2mDwBrLW0W(LqqzhM~~aB%%rp#GDfqUGP@&aZ?j*pKeF)EE<0dn19i3R zG5N*&de-dWeSAxfOn1{m@N4(`OUU80>Od3oi+g$nlJDT#CrrS%wLR@tyd&F+?;qUo zA)dhTFswg&)e&%Y;A7KDus;dbZ+a0YV=}=x#s4pUlMzeBVCW zvUj-F4p8mmJ@~>|y+X1QryQ{SQ#$5urmQ}$wvE3oa(nTq)qE(c-Vs;%)a&9!H9Qta zzdy$j1P#868n3vh(P#GEmxgEH)7HxQ1sCHqjgdG!`;tq2H>xjQ1M0w)tN6KX04F5` z^mnj3g*C5`ubX`rd5^6NT$T=%2~|X=Vhj zKjD{2{zGa~;PZVI{+YsG#LS={e;MpE?i2q;_-FcFuLg5wUJibl;{TWUe-{4zeEeD@ z{W_OZ09;(}&tzZkJK|rXxO(UB0Cv*2hH2;}|7`JZK|W?m-}h7#KyQWcnc|;|bq-!5 z@ynDx`zZdu6@Q7QmwubXKfp*b)StJGBL7ss4%nCc&xn6t`cD;qe4fComwxlbpWjJk z^8bfo_AvXAzE#o1bZIUrO0T`B&fG+VFu ze=Yv%F)c&+za##vKe&2@KV7~fv6N@;_WgPBm(MwRg_q>_xgUN1>l|r%dQ3l?{2o@R zgYR&GrTAsNq1bw)AI5wmv;E6q!pHttU53wPzwse>vQ zR+o|M;ita;!tag0Ykv0I>N5N;Jw_nz2j13vU-j~NTv!)5UQjjX#6FFN6QP!q529 z_+9x$`cvBA>QwR@4jP*m)~aJbqw;} z17Dr+$#|179kjhPU-)F)$;dYmeD?~Uj2{{K=DXy5!J99xdj0_Tet8V?9tGbwj)9N% zFIOIgkM)B#sul_#$0>E0cIc^(`S2VA{`b0deUx!4W4dnz-*dvp@k?DsZaB4{p&5MR z-_!Cqj-~PSVgGXG`d*Iw~6U9^9BweWF#OOsokZa0KY`8ocn%cL(uyIchRON3v>!(Mtbe;)#0vGB>bn2~QI_^uH?>Z2|bzmSyocko>& zd>kj$W%yk7lzDdg?ZPMHWv_S_U_3>c=g}S^aRl%>>}z-*<232TK=hG?Gl2_$X9GVE zJWc3+z-vH%n5)iN8NLS?1-%=18*nGE1o)KrKLVT%`p3XJm=61{_}?e~mEwP^_?H69 zz&{qa92fx31P&7S9(->FIfb79rvbZw^}siQz_u&Jk3g9l_JYWa#4&VkL!K8 zehC-@yQUZ@NW#T3CQsCfEY^)XA52hB!2)%y?V}2&%K531Lwf~CE(|P z+knj9r-8-5M}gGi+d#^_AIN-M4x9zN6Nt7}I2TAcp95YGyasp^uo#Fwwr~WH{M?*U z1bpLkZCCD9;Aqg#0~!A_Ks+MmeFHcibc-PEA)WXq5q`+(OCE(kaD6x6)%wbPX{u+rNF7cu|TG~ z02l@i2QuARz%Kwl%+Yp4Ujj0GE3gRoAP{Z8kaj4uk=`!>(cJSIfTQ4kCy@Cv3yAKb zaI)Yi!5kptJ?z)|bORah-++wwCEyJ}+V^4jD}mF2qkv53VLV5YJ^&>B6QS1$eUH#l zp|2PEI-#!yGJnnoGJk0AhxB1gNJxJGEC>BMkb1oWoC$ma7y zNI5fslyfbR?RymP7T~!+>U}n_4tjHQ5&NlspQ76}?FTXZRv^Q-3B69}CBSO<-wwPB zI0JY)aEka}D>w>R3HNh>Wx&C}D&S$PA7CiT`xo#e;M>3};l3M)AuaDUAg;U@f$U$N z04@Ul3V0*%$G}^G4*}Wl#DUD0JAw0nlYoqGF*@&B;1FN~@Gu(1xxg-93GhWA)7K7U zK0gAy0r)K-``Kz>0Wb(;eoX)}zb+AXKX5VJ-$do3Jlc(*yjCFje*+}{Iw1A=Dv)wl z0IBanasLl0?Re1d0vYa4z#wod5aA0q0x9=@H9ct!ko?PlV}U$bj`Xd-dw}J@1;A24 z+Bu?szF>}Ee<0=l8XIpM`R0Z-ef91{eqY_#`$0U*X?@^lw5X1mjaww=Lwbw1_XVAyP>oSFSt&yNpPNEiC{p`C%7AdRd~U5f=z<+1WN=1 zfp?#`-lIPIH=ld1fJ70N@(WLJI(#Wga0`0(Z zR(6quzZ2y^ezP7u4+VBA+D`pvG(YWH(BG`*eIop3{p<|LroUM)8z8h<|0*C2d1jvw zpL4hm)2#pf75b4j>v=z#bVM1QmX%6*ii&3fq{h5nIW>(6y)`kVE{ z70{owS%3SX&}KdFM-tww53{_0r_Y1#S zUoH{atk+IMev#j-|20eeX1)DRq0RdGMX1N*H|zb}*G$^HKS)UY=6wPB9OZA;=h{$z z$ZyvB*se*N^}PlbfMqQx4S-<>^$TREx z@KXL}eUkkN`OSLfl_KA)?|%ZCVazoY>2cEs;o+vQMt->IQP9UtZ}#{j z<>gLK76>=Z@z_nT^@QiS0B-+g5C5~C@_gTuzW?V*AMLEU<#E2_rqA$%|FtK+L6~>B z`3pSqN=?wD4ng&#RZxVh>K0pI^OH;-ZxsZTW*CYUYdk zQl8YWY#rca+NIi^8{9<-Pkz$-_h-(UJ|m>f*O;)%V1hajK%$;y%?Jfc5e*KoQtoQ! ze=4MM;~}`}#(Y%}v3fBpf2zS#bZIJ~N`0A7F*zuvf#}zlJHx0Q_!+_+!M#YCcS(-| zCkLcEP`0u<1Vc+{%4BpD?TgY`p|{6HH1@bcSC@+`w`yu}?3cC@giO$OqtsS^Ich-; zA!G5l3ja8aCAo?Xp+t1D-l=>yhLT*a=@yh+G9(*d8bq0n5-n5JLfbhCebQ_J=RHZ0&tHP_hWcJcPgf2{1>1qpC+W8o5 z?(|Ojk>x$CW%~g(p)GWwXaukvag|9Vlr!r-F8KXpd(h41849EYjvzq;;gK z`l9N)tHqB+muv#!uHwHjG$TCa=8E#*j9{7SDJo;pg*e+T8Il!yeoccm+5!_Acf$Tx zBkiXt6?DwxfjuD@n_=&nfr-VFjNVvAOMdj^whyEY@aPg>SlI|;JW5SfNnEtMa8(V2 zI?C>Z%DTqddJs`q;8B5%VQ4Fd~b%BTt9MuU`3c)(msES1w z(xN)pRZ5KyEHB+6`Yf2s7uVF%q*(=whZ$y-0DXjud+60JCP&azQ&w{_jCqG$L%b`!pIu%RPhx5AHDr82wrVX*$3hnN0ZVO_S4K#(5vZ$pk z>=*}r`iBGWUE@h=GEqxQImuL$aECe;>p6y>eLrgxPPn8+v5cL)X(BL|lk6Q;AXdRD zxOy_2ewYtwb2{wbS(|j*(r%RE$v2Kj+K?Ao01WCJkwu^0qhe*jq&h8CZOtSk)uSZq zs;{CvRHi&}et9D20gak4UJmw`^MGL4=t$=QVVbOM>I86u3$Gh} zxtQzrd2vAz*EZpqhs9=Im_Dl?rp@X)*7Ja(muP;qMT0gb;@GafWb6{bsIUb?TNoqtrq1z}tz>ObCj;U$+5Elz3BJH6@WDK&|__Oo;_ zOXRJsRPUG4WRW=9`9dXAbdYtdu(-0XSL@oo{Z&}B)=p_jKHB+0yYVuHR}(8PuJu?T zcUSw9kMVpV76a?tylRb9A{RfHgyZ`%Uk(=F=Hb~F^7tM|U0lND?*jbrF2pBUg}YLaS)&K5OzqCT zzB7yKi1h?tC5?72X+q$I$3|w z(OKAv65pB~j(6e%_=Bf3wDKeON&Gs*=WqTywQ#s7h<%_i#PBk1a8$R_Q~$@-?4klm zvONHA|9se@GR*26FbuZ={JKvqZtwaIZkmQtD88Pbl${DN0v-r36al#89>A}A5MOfQ zu^pWMKyy_|LKeZ90@lI#FTI_c;QXR-mNTB(W2daz-ULy$61eKkb+~V3%Wvb|gcpp= zoL(CkEFKH6e6MT{>kJ(Nzpst)D|Jw0(Eu0@VXqG?CgHTGu-zewt{f!n*nhECxjCUj zsm%__U8LA2QDE82vCHXku4=2jp_>p(#QsB>-5Iw3ScXHYmPhR6JFttT%>K7JgW_c* zld8Bk2wI)0#bEo>Hm7MXMA@MYmZRBF;m*Mxzzte!?U>w8*dHe@AX;pfFS9?u9+U|7 zV8%|?`}TOQ_*LADJ1V$QMF{${rA`@616q-fDw4>fYw`986LX{a`n&|xp95z$e9(O! zHuLEXd+x0!@dE>*r^XNT#4fcuv1o*HzPya44PG%@GbkK8CL{JoW%fHbGOPPkv(duI z;(m^xa~rmbsgf*ikLW|RihHh`Fv7Qp@v zcZOvLl=vU~F<*dVHNGla&|vInFpB;O?N+w(v0DjY82 zx%-pY=iwMDGVnBpSA))!{P_N?SUy$5kygK?Ph!&He6!sTTd7*sArm!YN$gzQ6vX$R z6q^jTzq{CC%gHjS3A`z$8^H7@H`5#==K?J!$KP_5j&h5etvD&m-*OK8lgvXk^RHaY z{^tESsvhMi+1%AdQfjX=0$aJyVO|Y%1_yBlzS<(aTuD(SY@y82eRbUlC-$)={>N}U z+R1lgM_%_(8`aNnVfzjJRjK$NYd;2_El1+vPN9QVVr8xph*o~CKKJ8n%bA&LC2%Hw zqA^GB2|CSnae7El8CK(7rZ<#Rsl7j~pGx*5IQ8XEI#TR|b;av%b|77C`mWy5od-E` zJjbe~>ZG&SnJFg|3HAoQYBri-2i-{S6}CStm0hdg!cN9gIbS2#v&FCmCu~{vDmuI! zXci_dunp)*3sRu6E47W+jGvP4PZuFSRCsK$j=-=5+izR}jP@BFnWfm>->Dc;OSmEJ z(lAa7fQ26C>l9(F+FSrodzfF>Q6^8W!G5{YUdI6>^Af%C9LtV1g^ID=aQS-t)~S(i zN;b>sPv{o?%~#>R%-&MQjnA$rmjk_V>ju3E{k?#DD?N5z~;}m`b4^-QA7t$`=*Ft$Pq|o`GwrQwW(p zy-C;(Z8SIS=4MN<=Ns!8Eq1k5VQc;yR>!*okosr<`urG5>|uD6ytWo&*>l%$6E~vw zKR6OP!yXRz>Ta;#fFRD8SV``Ta|d;4%fb<{3a4yiixr67ryyp*Z!hU+g0ET{Xz;ADm}0`={_} z3*uj}^`}T;*K7R|3a1fS_SBrj@#n z`h(If5%ITMYkA;K$6Es|J91X8)v+5l2dsV_R%huT&W+I%EMKpTEZNl?P|wkq&0U8R z5Y`7bVhrk06QdBOGd)kC;C+0vjqzO{ggF!KV-}Y5&~|h=#J3a(pUi)7TBc%BQp$rj z9-Z^f{$4Ilrk>zuf38T4JXf@u4R4NJYl9CVr0SRwZ{{%|GS3z7Q`wZI=a?qm*4}I?Pw4E*6E9m) znT>u5r14bJU40$O@?0^|Gy*b&5 zo;CvG+JMsYKZq8A2!O~s|8O)P_xbAn^=K~c3pCSKjEIRbIHt8oCc@>`ssnuLk3D8} zLJgH0@n z{Q$e)(~yE-69(I>Qb90Qrb6L-5*$*BCu?k`Z!0n>Z`s9U$IkA0TkG;aUItS_{$>t8 zJa5CPZc2@XI7npeib9?U>*`JEiA?62EyHu{2EZBBzhwW&9gnKJvD?uiJo3rlp+rEMYt(2UgBXOx30#c+E} zm_{3^YFfcb&>Yt;d@v@!sNyd-oJQO3XU!Z*9hgySmu*BHM?IfgQ0i3YMx4=do(Yc4 z9T**m|NUdw`X9nW%O@Cq?Y(@eQ{(3AsI+RH{U_Ymvs+7@#Q|q-j{WEOTj$xc+v9%= z*mJjp61V1KL?8Y{*v=7@(Vz+nt5~IT7cKh?5;^d4K83(1e;&f6HA6 z6pSAn;J?2Tch^^q__o#WrJld>P(6RkG&u2Wkm!`iguSt>h*O_qIdjx8foN-1j%D8f z2Ot_ItO(wW^E}Eh;0EDgf3cc9vwbGw#}l|9G4m5}a^PE*`Q-!5Xvu zaj@kJBmB)fK|6C>v7LWNu;u1}zqykP+ewAwFC?N%|BP%8x{A2n@9Rv zzNH-6CHO>t^J+N6mv8a;o6o?Q>CD{%sT2Jz13`2xf*(_W^!c05Q3TS5WOea#Qk4tM z7VhAWnH`TwVZyiPyEvn zyo)=^_Ba0(cmKz%?)q9%?pL%lfAf73!T&+|?rXyKbLkm?(u7=OpC=z83DgL8Uf^`k zevQgk*4~d`<~*LI z5iuQV&u+pDceQ0FXgkzO1o0%Qthr($(;0dM71wEQwvDoG^;QX5+-mVxttveC)nL-9k}ccYfB^ zi6=Fl+w~GWnlb3S3Y-{-4ei>*o00xz&ase1m<(W299oCFU7evv5fr&njn%mS*kv0q z7s8ZxZTCRra=52G^yQc@n3%Go)c$AFn{PCAJl%BQoQA(o9MZ5m*mQW(k|9C=V_U=i zA9Xh1sRA8e*$zAQEY8cp$!e-wJ2U`CSVB3=5nHMO98sp7cuY??5$Xp`)>zJWX_>W5 z9jNUrUyCs$Vs9$5f3Hdj2Safwb8^$fLB8l|5$8g#@$xLU=euq~hN|O@(H&jxls$^Z zpMQRbUG``yld(j$!-+kM6{l95@e&JkT?>8eP@fzW7l1fFdX~ZGZ;lP>Dqw)kbkB$T z=~$OSPk4SuEW3+I3*y)oconE1`w(O+f?U8LTj@U0?ufs69u^dx+3WUgIxjjL^!DB7 zzp$_4yx8EbhuOb7W$Wxs@wWoev-WiaVp)S<=sq>R?Tzz0K>3>+!GZIdoaJkRaV&6ha>rMr+Bb_9l01}g>PhX%w-g7N)BqW9o`w!dXHYL$8% zg6eD0_AWV7+8m0qj`IXOC^o6$<+9vtlw1ZVZc)~T?V6ch!&3{$5(-&QRINOT=&&muiqs2lb>)F_wY6GLa5hFogp zhmnd2Et9RF>pA>GN4VDiRLS6Y`wpDc@Bh+zxb+rrniB9M2TZN@X;rXsunpL&%p>Jr3^R6Us8BD1!BiaA8+5fuGW*L+Y7NIa<% zC+NzFSE%$Ov5;pbp~@oYSV}i*V#Y@g130HMd5))gM&hZzsETN42f3(^8O6U>ecFWZ z%SU!mOVsKiepC)RwbhzAsG2rD0H?71`!;$7?N>^jsu88my#W})b#BRbtO7NC!8FlX zI#N}@NMiT}5QQnDf8|L0&-UN{I|MDY-^8@C2$jgHI_1k&zZc5v7kb`|B!*rD=B^)7 zc>K_{E3U`?5}ahV>JZ~oH(1Z|#g>D!`&5*`y{PgPxY0GW0bPWQaCJs&9>n!?_Ga-z zInjyuABbIx(2p|oB;2g#%^2K#i8q(wW(999zzw(ab)Su!CA`5Zmgd1KmbwYXd;BXe z!2j$e%Sy4fk{I5McqBbc%!P-pmgyn#By|BCfQsx$mU-awty{+7{jMVzCNlCGJ`uLsLt{s(`h z!v`4VQ+;2;`%m_O?!4iM-H~$wQy0d1h&z zXTa0F1aW?yH?`)b8aHpyWe#rs#+&K5d6zd+aPuB-P$Toc$s1IGyl?XcRUpp~-B|_l zUZD%BK;CTLpbF%@&Kp#Lya~9W7V%HdTUn5}p2ff9cD$JT2i+6H3!z%FYQp(dhO3Ex zx^l(&y6H!Aw7KnQJ`lwe!(*-HnjHT$5WO<~X$fA|CGvjFfJM0ZC2uZ?f0`3J9n=G) z&c@Amd6R>iij#2zo6mVm;S$EeDVCkFih|d2Tx%S@dkBif{xEE}7q`z0&J4~_-39u- zKt!Dsop!uuBJVUv>k6R%{tK$-m+@}B48J&jHwyBezY6?X@cTD@9r%5K-!p=|=kF!_ zc48PBfX??3$gIRY(fs(HX&U1KUIQG9AJP2I#XY-ayc>)Tb5@Sjc3+qe1AZ&19`F;~ z%-x(igp|AkE!a_Ko(#BO`5GB?&r$AmNq4*hN#xA~$$+Qo%t61Og=ZqnytUbJIWP|l ze)i)7931mM(3x7AI+@v-nyZ=okDI&X2*7nu3Lh7=KSAg#aPGT`2F`fb6Tlhb?)8<@ z3FD)KdAxS_vVZV6dmIUig=ZY3pZ@G%-s!oHthMy2z9_2+%btWblsw>C5qRs5a$$$U z0Z4hPw`wYv5@Yf3IJ`(-$K~b>e13WP_jRVBrNK1t?(HmR2|%?#Jdz5t5O8(Fn%Xt1@r-O$B#FjQn^I&Y663j#CiWqHvIjD;5AK8A|Jc+L^V%8fv?>jF#Vs$dov8&Kdj`gL_tWW5HdjvAU~>d> zHD_x6&wP7}e0W&n2_tyhg<~pr{fyr;MXv}xh2cm|GkePH<(R8w;cVEm%j_cc1f)6+ zch`z(B_dp35_=n+fnIBl@Hk|=!JLrw5wjJiVIJ1`beP$?>?3BYUNAOqU0HmX`E{y_ z6RFxCbf)FU4+LVLK?UQhI4mJ!O{;8M*PUp9#k;!hCZIU*D1*{FWmAUITehipG&nh& z4^mvE;j+ENcM&Eld|Eh(G2lxC_+qKqvj3p9!6D04`okMkT%}0WPBks=`s-ociz_}R z;dDnS1dAi(S<2+d+|7zp3gSlnUI9_Ndk58ZX%YGxD065m1l}TDAB9gxpY~hKzjR0P z5?XaK-ZAQ>e0@$Q=eB5wGRwCoWBpI}jLEZVQ?aR5%xQh9k8}p%yk+Oq%Um^w)BHJ> z{sPK!2BTPa#}Ah;V+Y8Gf8BG`qN%q%fv90s1}ib@+*^F+DQ3%wO` z{m)A8t)+Qu*k_~?p)!4|qEp6Xf{2Kkx*{r75z(}IF;()Y1FJ>p^mz>V1vnMeR~8Gwv-F-3*g7A1V8RsZUX*-f${s0 zf${q%5dtnpwo$-fA_S}?2C#}uEJ0Xe6VCi1LV%(nK+{>i=aqZ5?^A_2zA7pO0o6c8 zNs>{O$o-|@qrO)FsqZ>?27t`BCg3ZSgMi$t%z&>FapC*}b^Qo#ynYCz{Go_|ad00y zz5Ku?U=AI@a2l`#x2FRcFZZMefWv@{e>jlWB|yqM6G*bC2tCgN2&W!MMcGOQ#`6-)Yx$;Vk}r@OdeBcl?5jk zmX(h61w%6tY<%J5>n3Z*nO3k^xguN!S1&K6Q-+tD?)dQh3iXvcKisbJm4>DSXGdoF zf|1Bo=TDwqRvrnJg{IA#K1DpPI=_0_>`26SQQ@f3je(0A12-(4bW!2>#y~Iz9Mc#G z)mGtVLSvw;k~d=-hxlg94EjnfUuZJ^mCw9^G=X%8Hv%(fl>4SmpE=7{S$mH!R(n@% z-I7{g>CBnFX?57z0d9z)Kk|)$Oezh{EEqfPQr~Fa6pzC<%E-0?q@FjU^i8-l6x4Uf zfz%C>ekt>0>g2MdBkzs-WS2YdUGC$P0pKxS`%K0@t3``yDz#UV(xGOAgQ;kQP(Cw5 zp;8@!2^v2^WLd$;p7-{T3(n&)#@JTGl(=v}NR{8E?y&{J~ z<)-eWs@=u9c9*Vf6jRA+R;em>C79_#_DZR43Xz`*eU%K%co~t7RY$7A2jLMUt!gDJ zBPks8#~weUq`@BN7P*$!zW!!rc2%Ra9;91yQrq zKP3f(k`E+1N=+&W`V^j_efMZxEu?ac@*Zm;>--N!~{Q9C(+!(Yy=ZPD?J4c$k z-uMRQN4;H->{5FKd4VGb&FH)02=X!pfMcL954e9VgFKE+CwhG|gFKFDCwhJ7zbvoh zv%NL>zv%aa4Eo9N+&iLUa9RIfmNz*=djBu_{VIcgoWq>x^=JlpB_}Ej;WlQF*Ytmo zw>5)2HF-Nhna^dA7dSy#4E9n6d7NvW==E9#d6adceZuQ~$UD(Cw=_e2rhX?X?{9tR zccN{is}Ff6+D2COk=_%Px3>@dPPESayAOE*7Rm`+|LH?s(+S98kO7661Fp;Ld{ozy z`;b?1)R37Oax%zcUB*)VanCgv!?6Fdyxa`(*fvg7zjOb~^71ptV?OW-sQ<_JZ(@e_ z#=h@F`@c&w=*RLs(f*|{gFMPQQF&H|^lm%R#6pj%4DteSKhbM+hV&X)C(`GSKZ3jy z$-{|9kar?|bjcCqok$-YI)Xg4_+&Ek81ece$O{~!3^&{NE^||!dwwZ%oLBh~^eZVp z{)&Cm5#%+kJN_DY+Y#io@0A6}<4E)EN07%IAjf;v97$gL@#|NABzeB$m$&pt@{YfF zea%Obcl^ccTXQ6N$Ddr^w~i$51RC%Uk0|f>E6o4*UzYc)Bg#Ae9`Nxa$_pHC^YDG? zNc|P09d8x9?Ad7j-#J>=@{hoI}UjpkCK1X?|9_Bb`1LUKMwugJO+8*VmMM8 zeES6C9jVQ{cLMT`G|&9!5#;r?o_(Y?voC`@=8ya5%|Cu<(bskI<-L6E$?* zyd4Ob$qpUedEKU=S1)rpBf~Wgbt#h_z4?6kjVqx3_wMFt!-!YDhF<uX47CjZ&kH^}RH{4&|O{J!}A9*rkc`1km+0xnrT>XrYw0p+dEGQwRi z|DvP#TjI~|JX85Jh(FKa!PQItg8}8vW4L+s^8aQ)xzmOcuU`H?2+&#A-%RQ62`F!$ zK(FxUov;0+7<&1S7XJ%1TQC0`#UDF1c=hsMB>rEAPp10WbAb*h)udPW(MYhYV-!PQ_8~tg{{BAv z%fCf>2R=T}S%8lapitw>tSC`@Q*mGm{{TRQ$;CK&S z0mY1ehF@s%J&WJV!YA3Dk?&vN+i?thw6poF@Fibsn|NJzD@(!mrtonbP?zEJPaWQ-vzmSao6y!mH@FnLmMy`u*4ES=7f$vuEWeeYD zC44eHF8hAmV>3kfWSq)aZyy2Q;T<|1GG1lmdl`Ih2%q%Zz4%o5gRevQdbL+ic`|=S zBCkIb{(v_ss*kRE@g4B( z5Iz|nGwQbmd~L!vMkN~mOuB`pe(!;AtMJKqnUQZ8=B$4_20oq)@$xb7(dNT0;gfMR zW4sT5?*-wL@w6A8YX9JC6+Vuu>N4rg)c(Q$4=FzxXM4$I{?N{5m+<{S#3u96WuJEp z_-=nm*PG-snTcP*Q66oXT`zq9@X8ZAtMyQ*5=V>P1iT$4wx$86f*u1zaScCHFbjAK z-2Zj4wm0h|mB04Zmf z_zwnN1NVMHe|nL&-}i6e*^u`Ekny|;ycW0#h&rG5IB-7bZv!phSAf?8zW@vaZvjpR z&IEoASPVoF=Jf;K0Qz6ZxN_ioK>BY24ut=ezyUx$$f0k}djTB=4u8q}A&~x!K*|{c zWV$}QKkoodeAoHnF{1=ITNbqXlb>O=U$nXK+EYN-+ z!({`5p!)+)0e$Fvbrx&hJHW|se-+4ZJAl;Z5uw)rna>M>*8%5>`wZacK}Ue-^YVf~ z#FMy6V_u=)#e!!Go(>Em+)yC(7zjKWxHF*bBW?oT4F6kzRlv^ysn>OapA{SiTmb)5 zgzhhR3!dl5e+_UV{6`9Xrr=P)EWv|l@Z^7A@b7{z2>wFwA;D#Wje>UyRtnA$oGv&; zaFXB{!OH|M5IkEjM{tnf-}1D6PYHfUaG_v<;G-CrnT~G>-XmBqxIpkW!P$Zl!O4P` z3FZj?<1+~Y#m0BgWEUud2Vhq0^hWFW@a z!cWm?>Hlva<Hmj`0_8shr2Bn9wugI!UI3(=(|{r1AaTD99WeF05lDUusN@QL zp3u2MpDgsJ7+}cv0g&O}0^*o}!dHNlvrYVIH}w|K4+Gh5;zBP4-Uga>-RK?x&H>Wy z8^d1(r2LD8K3nJ<;Bff=8T*BaTY=Kun*@slY44Q$Z=e$)J}F4MrKD-ElsH*1 zPw-<*l;}PNNPX`bto5t}lAa9gkMvyy#FbYJy|8*ecF9cHFY{4+F1oRjns%GA2fUHM{pe*(JGmv_0 z0^%?4m-u%F=l9|JZ^^cw}pOK z=tiMyh5i_Y7Do7cflxKC0f-{bn+H4z$mhsu@IMHmALz${%%2TFRKdKT0cU~!AEBFo z9Ix&LqN?RZfv7@x=L4s}eJHRD_%Vb%cED(Ap8kLG)aJ=9i-A@l(D=7W?!2N#B zzg}>TV76c@8jFfwkoKraZ$k#C_yr3DccRj%_yxxc?m;D_`&vOuaKG-)2Cf&JBbY7N zib}w63k7opx9R?7Ah&$epLX(yJ5f1^s|9K2nDibLK5?y}CAc4sbmw~u;vB(jL7s_8 z_l1JoyGD8&Dh+X|Ah$}A-igXWTrD_WaF4FX1KGalZwc;4B_h3E5Pg-RksO6h@C56? zd4eT^0YRVOZsO9TUgKEd5!QsD*H2{sAN6D$!72>JwfBfoGvuw8JSV3XiH!4koMAV7tC1nnvp znK2&?eKoKZ>7w0UV^5?CdU8Lcu?O;7L`MJmnUvu3(atpKz${HyfS2?dp?@I!MM8gq zdP#XD1)6`2gx@RvKNk95LLWkXrQKh%ZhSh!!_Cq z7X0Yn5KzH=+r;0zANi%w=6%Rl!AAZI^ELk@q>c2068;;)Z{CmWhwk*x75_@%|EACv zh`#21-Xr246!|kGeMQ2bC-N7a?^D+z@i*_2b|Egt*CYJ2_fFcpPZ}!x=Ka)vgx|a` zs}$P2pXE5u@aBE$H4^_1ME-J-Z{D{&gz_Q3dB6O1@i*^l_Cjm=oA+<5hNR8=*kuyl zyx*doTKb#!&699X+FbSGKOgDh#d=GB^ZxmB$bT2R?=EC($y>^V7Ak)qNkth6i z5B)sS>*l{6;s!c7YFj z!vEaEzux0N4dvn1_YqHi{neAd?6%zew|Mls%0qwCBaeH@-Qi#Ns1Ou`z zvu(;^D|f0l*3k@`mawR%(U|ds6}TwuD7xKa^{~I@ahp7S+LQ_yi)^fR8G4-@F1JE6 zlug%#m9_I57gpX?4cmJFs-wBNhH9vSJD5RK zmO~d;M;F%3Z-fn9$W*3iQ(Dk?pmwCKLY*i$F!|aVp-LuPXcSMh7fYmRMr}1)45rLP zoU&t=<|;W>iQVgsQUcNSB1Q)XoxLBK{U8509H2E7Q;Ye?R*-qggb2R)yH6jPn%eEiBR?zCI56XQu#?M z#V~M*@U8&#uD%DOIf0b_=v8f(*ve13IfRYOgE6b5C}+^G$$5wg0ZX{4;6iqSMb%N-xiqyqdQZK`WfAG-a{E2n z#3*BJl3`i4c0SB(x_w0DB5`xo z^~(DCMfa%Im7e=`y0c1i)V4vZ*w)2xXqtghN>v>bjRZ$)YIPGiZsVZI{7{B1dvy=0 z5{%Ze(~XD1tfzKxWrlW86#@oBiS-S4R4kVJR6kD_S1=acU9fIWE2AD~=@v72nc~V2 zN;M)ChNA0KE3bqyY;R;&8luW39eNL2+Ms$beUg!xYMFFMjU>q?W1>=aXlojija(}r z`YR35<1DPMOiw-nR4O+q_Agd0LQ6_oeqAi2slC0-tTK@jhwch^CXQ}TUtClJo2uHg zkwcZTu{yu5cZHIXvr!vP)rwQ&%0&z68fu~o7mxB?SbW8(qCn~@9y@NrxGTq9Iet_i zFt!N)0@}N{sA$}nF@ZqwmE*>ZSL|ZHw66A!BiS#-bjQazqc4CTuCwtgAl=8+ewp^z zCOn45G>_|nT-#IEvDz7^ZyynSdvo)aQDaQ=|j%LrZ zoC~42=3&0eEB6Ame(Eb9=krMsr6u`j_B=P_YdJYAL|jWR(egB<)~*+tdm^$yecP&% ziI zIcTr}7u&su(t=Op&^Q?I@;8486i)iyZH`>FaK_t8%kH=%zVw_df6E4XCsaOKmv&ek z2L`~{2TURkUlM_dCK$|6UQVdH>DNgi!m>Fq*9C5Bu)=KUJiGxZbP8|-)e?R(pa|B%& zC&TAh6Sm#GFy!Rt2ls917sa8MI0^6roOy@C2WRh4iNqO!J8(|>WH6i*g%u4lgzaZ7 z`x)gOvEPL6Md5zWcb^s9mzCcydIpT!6vpr$YiiL`!Z@khzFMC*nlu}CYjAE*Wq(=% z^!eJcZR%LkhoE(-b4jWFW=Ge6_?!K3<|bTxAyl{c+u0%e-C+FPEF6|-m%Z$Nd~)vk z?C1a(Qi;x7pT(P===B|Y27IyuXF?9%7QIF#4kifih3$!+Xbvi&w$I~~y^K0|xk?(n zvom@7!#vP&b08c)T-5M&oT%9AL`aj0nJ|9wDso<(EE~Vtx8ht_u&|sWs7a^K(Ll+7 z_|+#ZgGG#ToN5dA?uo@OI)mc755>3jvj?dh#YwVfSXJ9l=lh5I;gs54(czc&?>>#S z$&akg4nBpF@9FLj3xCNBO=aedJiiboU(f(UduYu_td$}zB=t-r9jw;(D8$AetEaXY>kBvq`qqqK2l9Ow^5CS@@U=11s&YxH6ywHM!d#c3^l74wJ0` zYfx=28T_`0?O+b(^6c2+EhCtF%OhF`v zrf>o&#I{I4AW4(7Cp5z$Iiaac!F0&sP>2)83F8$ddL62GArx&>i!?aqB5DA|C=S%h zH6TJ1rQhdW@AK}n&&~FpAWSbCvE#D&Jy!B@9_1}b`-u;l)35xc8AQ^uixPZR@v9p)z$nstT?IvZ5r%#^REl z0&SJEn^;MVSZb}D_nNw-Fgh#&jXolO-Jh-UOG0yMEPb~W99%+sd~EZ^r_kJ2ZQl4R z2X{{ZVw>-kZWgZKlA29@uvV42r(bNRuIP@XKGB1pEWfF>h0eRkn|mh(m);fOC%h|h zaQ8VPfOi6K#k-ecxS5kBbndp52uSIZT5{0XbQcCqSX@%07SwFJtESlvn1t+RYNcGU z7z_cn+Jr(7FbTQhj?0x>S6`EpZQt?g&i#_O(`;ce8UU-GdNqyo;a`En5FQs0it$Hb z{OV4${g54$CBto1nY+@075+3HMk`GQu2#j>47a%oeS*6bu=GisJ*z4BPF$h7XQ2jR zPchV79V`i{x#MlMU4uSuG>zte?lIh=>>stPZONWza#r_)QRmdR?3$iu=6;&_Z6wA# z*-gg(g&UQ~Gmdytn+7ClcWoL3$Y2+P0Q^Pqdu`j9K-U-rGCchWsQ_69QWXLQs8Z+7 zyt;pRayjmqiuH~}+~{%l{*~X2uhOR~{~Nn6P2X}x z2`*FJPui2zAGdx39yqUEYx>8nTZ~_tsyL$rw+P}2qx_1OaQO%hN&nnP=-hVeCXSTS z_Bi)t?*T3COM~j-_74an4U~ft9_tM!aOg0_RZb zB|^7iEBX#3{A=6f&8pRH40X;&Uj$>ll+xMQ4h0vZE8G=ex4Ks0q-|oq^hpdi>FlmO zhr?>=-aSRGZ{Bk*SY`TF*Ek$8UE3}~w6mfmWA{$aSig1fua4O;(tT8>b($M%_?rvB zo;kRU_Gt8aY>y6wz)$|{M&kdGQ$77MO}Gary{jwJ||O!VNH|6%*avPw1u26 za09#V7gjC$TgM|vv%<>smFN_2#SLM9#PQ=!Q%6_06E}P{LhtQGUa~wj`A*ramOSzT znb#)Yc7ccZ;%bfFUEO;Q#@`}br`Y?~p58yss!AUiO_!y{UK=}c>Y!gP`bmDpR5Vql zO{{I^R9;?q?oU%gBVJrJx2!Yja~`OVi5s zZk!dJY=+Z`mil$#c91S_Ufouo?CNNW+VWth*V()pi-n!u;+E#7wq!1i1}8zXP_YZC z(djiPT+-3rmFVEs&z}-8{v0TN3wZUa|2#| zda~H-Rd+Ps1aeu^IuC2k-g1}0m3SX@aWis$alF2{ZE>`^9xq{#%JMrQziIAtXueAH z)hAj&NrAVtVG?J>B+kyVrW?EP3U6`Li8`{FW(7sQq6?0R9LY-S#yDQ#*0*}gni|?W z8msZTKoYvcF}&SXdU;pt3Rk9)H(jl@N&Y?q3-ax)D9jCB_AhtzG?x5t!hzV+PDn2G zPfFI~v=?|4?g!zl`Fc$Ga(%h0{(4JL{MTLFQNOwsrLEJuNUGrC%xev1MK$VL6KYRG z6WmzVWR>QMwq;oruOhZw>#CGH{=BlSvwl@mm8+-O+Bk>3V_hP-BHq-7lh~cZ!CD-Z z>UMcMjZYa+q`S*dhs_;L-W3vf8dl@T z`|Sa=S14N#9JqU%{Kp_2PNa$?bmr zKI|V!dEN~6Bm1y_`abM0+=u;3_hG+oANFtDhyA{N$Unai_rJ9d`;YCz{tx#dAK!=j zzn?)aw?@iyAoeTkBSXB*lTY*0W{}H1XL&B1L4GmKm(CzxLGuP;o(#DHPdm+TnZbT9 z&HHDNf7UlQN3-4k66N3W^|IyLY5v0*)r0@@)IJ(fqC%f-6f(Ho1js?;Glah3DVo^4*0z5;hmU za$$H^Omn=pQgeoS1I;CJ`1HYBk>~XQygO-*wL->I%jdl`mqb-3%JIwd9-uisGo-ne zhn+MR-C#ofi01M(G-&=yn#=oj36J%wFVWl&zuDsZXX(aO-zyhe1vHm5aON)eJnsaW zOZZhkf?vp|Y3^tPe<95!oXqd6f_^FG;{0qRkqNJ$xs=1afcaG+b7reo8*oSTr5?!B zNOJ)(mz76(o_@C>%p9`6M zkIx`KfCXX`dE!Zq@Fgkd@Mv22H|#@x zFXdAHa=HJjeaKH@!u=eUbJdU6C_mXbKRtbqWkWYp_|Kqxrt-CjayFmS;=gns?q5%N zIl`AKf9|7vrt&eg5Bu`np*%C$f0^>eatbaaB;2bQeI~#wc zdOPsjJ$61z=v<>SAxz@`(Z5#x$5k6|zUTI?weNNqF zeaX0cN$>2t(H4uIr1k04W4oQvgG?ULlk>>tQBT}`MxGUeT{gnDAQ{B5X``kj& z`waAc@D}3p81x>b-ka5fzd-Mk)U$TaZ+93D@%KoKi8j0if8PVWHtLnrzVBY3JjgeQ z8>#nZ<@PS<#ovN^--ce#KHQUhk*z{2sVDuHd)_2p4xNK}-0!qJN`IB5ABc~fov~ma zdgA}J(0f1iq|J4Y`Jbbmm-EPueO~=%e>bh1i@V>3-i6eg)*pn*o9O=@`u9>_`a$M;R0)GvBC%T1;fGAGIa^8WM9|XJ}cpdul<-l@a z40sywYTyyTYT(}w)$??o1B&^70p|n123!RE58&m%BychC3gAV+^MIwmdB6q0qk!iC z{|Dof2=LdyD&Y5k<-q%aCjdVRTng-_`8B{}!7GUiiKh||0A2?9Pf$>?Rl0Z^5L>s4 zzX?Qhc~lGVO7O+NOMyoNu@kR&HV{cQZx664n$CjZ=iV%&Cen~o_v3l zwd`5CV?wmos7lm#GxO|UW z3H$_5?B4|x`@O&la63olB5+tO-n~D*5dc076nEwP0t^d^zX-%rdVk>=d4G?-qy^nY?@VzjX?`FmPAMix z(R`FR0z4V!Tgc_Rd2x3TcoNL} z$a{b%g2&10fD!N*c{vcDgv>1=FCs>O$iuk>ywoc$kloj}k|K z7{kxqLOw(s1RewPKJp%5A$Wp3POJmM%emF$F=9FJXqXp~M}S9x=aGBBw}DThaJq03 zCxBRjpF2h_=fH@31c;TdxkKcGKy(Rn`^o!=JwP<=a}(roVjU1o^W19k7_l6Prgv@$ zc@Z%JL=~7@K%PhRfGEmyClM$YZsG(GMQ`pHxqSD8e{)9U56tB}Df!t?Oc1MyCBy>a zq}Ka6avlkc=E!zJ!G2x)3o5ld8>w&W8nEi@+d62a=)=&~4NoVxb;AE7w{^i^LRa){9dIYPt^4glzKPt{ z`Tj)vwyrnD@Yp(@oHORak3o_=FW|q}w{@C7QQy|}){@&g%rD4oUGI5@$JX)wE$%^Q zk_!)GQn{dG>v*4~ypHL0f;3K$+d5u8^=;km^NgRZ)16IyTlcw!`nFDY1NCiPPS$tD zeOrfHNN($H(w~Uj*4g9?Y2mi6b`QC&qkR)Hk=wf2AqWZtLP0i#TrU@Jq;TU3(qfvvu$< zko^ya{A&z_XCh?(`cQn9hWNc9enW^~8RGbWytT15u+ve$-Iv2&7O$w0^G4iv_6YFrdx;s*KXr3h>!{4-OUGM-JhEcbL1_YV&T4*SC#Zb=?prQE0ouJO~X+qmP>ZG=- zl$LX!h@$~2sa+h+4o%3!5;wTP(j}vWG0RZG7}$~N5>V^koPfXuxA*NJm&46dzSvJ^Xw>lhqYKE zN}X$)lMQh@!3X=YUHL`;bDfT3rN5=UeN7imyWy!0NGm(+rUAReCGB|VO|qi_#{*>y zjmR$LR@;!QCo*J8r*i=3yG*ZG5^9dvmZda}%@+L-x*P z%_p~&Jg9`Nwf!cFK(_8^O)vStUeIud)5jeh~>7iyPS+qcu2zec`n@UZXSF zj-9)iV2CyMWkD@Zw^>|!*^;ZJO>-wDNr4TXD}#LN!Xa9jCKo5Lw9vhr0?FUbfRfY~ zQPeL9~W|z+ZP};J6nMp2@32k(DiIBBNJv-yv-t?@D3z%resX^e7lZ1a( z&Js;6JtxQS0wj)VlyzK=B!wDR#Q4LtXO~Bp;=m&u6c#LHZd1Rj=2ElRj@7Pg?`pFn zTBHym!l>$t_4@;yUelSJ@6Mc&6Q?@c^mpj&7HJryUbthkYH?IrJ;tB^%kxtfEL?a_ z@cb0G6+Ax0`{_Sld_#t6=&s%P0>c8Y24fK~g8z817UGQu2OiEe^QT-U)OfnZ4j$uh zQ`QA!`s|*!dVUJlwB2Lw4R_Fu>F1}Qvq(}KYm2oN(G^jjdgc6S=a$MjcM`V=xF=^8 zhM#?%$Fc>BobnXYkD^lL_BZV0zRo+DXjhvNI#7dfNgm{3;=tt2a&lkiop{WLa=O<| z_ef<8C~m(6=i@)twbZX1=baQF9Fli+K(Pq>{&^=7F!?XxlrU!n6#T6`@&(s+ukJX0 zfr-z@3S*lu5Sub{#@Dc!-|lm(>voE9;DJ?PmMF3C)PJX)aG36D;x18wYwZbQo8Xr{uzG8ff z@<)s(<~aL5Fuq0YKV!VV(8>R7d{Fs6j7Ky*4wMBid8+fBe#Cf>x_`Fugvu{4KJhlE z|32dd%Kh}8)bwmNxp#!qzukDxv5tSzc!BQx95x0W7;rX}m zYTeN~S1O)7b;?gNo_L3I?@Z%kYX3dPOH}`T#wS$XV7x%>cNrf!#ksfMc)7|yYrIa= z=c~rcL-nan~MRKC;r7UdJhBWi#Da~PfxmA}jQnC91|#y!p7tBn^ZZ!n$+h1Yxgk>YZj$w$<^ zJB*j8e*?zHG(WZ)FIV}mj2Fns{Mch;Jfi$CyySFG^L(C1p;78@^De!X!| z>*qS-V{$`_=Y7cd77gEk@rk)kK4iRH>%)lgN%j9%#>Z6t7vm)dIs5zLC8T@Gl^<)o zTKVb5$CRIId_?(W#!EClD~(U6{Da0Pm8Xr5X!~@Z@ySqoHKz6HnX@~Hye+r{XXO6s{e80B`W{2@t#n4C$zk7H+e$kzcxOp@_!qTX#F`_UcAcF&-TE0 zotCdlj3<<@G+wUZx!HJ$y0^i2waUM4d_vRfC&uek{;csHb^m3btNeB26Iy;kA5{0BF`m%&{bl1@RDKLL zFSut!d8zR+<(C_uP`<|ar1B3L_YQI8?LMDter`2hpz?9!5#=u%FHwH@`3#Sz=}}^Q zQrp8zj2Ec9-gwC|&i`ADZ_)I*)A)q8N1rmDQ27^)m#hB|8t+l}9y1`aP0!yM zFH!za7UZLdCSyhr2zO`ofKKQ=z8_J3=9O#9paF+Qp3wLdnmxMx!H^JwGVp|1R# zYrH^t)ObYs<;F{tUt@ew)At7Bb(()0e6Hy=XuMqQ?=0qViuFA5;FK z@d@R5W77Dfa=-o-Xn9VVd_?8<8ZXfCvICJmUr0J}fZaulAQ1A5`9AykGt6 zH(sFe|B~@)E&rMLYI<%r`Jk4cQR5NS|Gn`M&A-=-muvqnn-<+uqW;Y_Uaj(zjn^q( zV0=>3FJ?TU@;c)^%DashXnv%OM>Ib^ZM;O||6St~njcRYFW33vKaG!t<|`9AzC3<0 zNa!tRRj8`ka%Xppg`;8}*KWe;R`7_1`l}{Qk*YM1#V0aSBPc`17 z{37H1%KiL}%yaEiqsdD&y?l8>)8`hGN0i@dyhQDP+jzP1pBt}M{ukrrA@{38yiWD^ zU&8oQYx@>4o>2Kk#(R`sZG4NC_oVS^&7V&jA5;D<>Hj(71R;eFBg7UgqemR`zFGhTAMD{q$>uM35z zTJx{LgdzLisDkdqVE_hj@?bA5zKqm23Gd zGTyK9OO5wv`nDJ!RC%xQEz1AH_=xfy#>bRDZ`@P=4!D&5muPyOW_&{RuQ1-P>9NLm zwe~0X7@ySk`+nmkIv#k$ctrb`G2^6nW^`9k9p%Bzh} zDsMBMQ2#a>_q2chg7E_74;harf691)`u~dY5|tmi)Y41Kcf|Oh@^g)Q%Kh{%SNqi_ zAJg`r)p)haHyW=~e!tH(y&g91X?p*_c)7;^55^N}f691|^0!^i@b@b(HD0dib%pT> z4d0E%2erPXjC)!hA28md?b(lvN7TJN#`{%1_X_$y7-~N!wLLn^#pEbTk^YdHACzX#HA5`~VFg~XC4}PDOKW#rwHa?;9^Ndew_^$T3$`i&tmEU8$ zK=}j4OEf)3jF+>2F@kprs8Buw$$wzej88zOo8p{@~6qM@7jg;1@igie6$-Btw$QO}g|Dcmsk>5i1TFHATzm5EM%KOOw zO+H}ywOUdu1{A%)k z@=o#x$kQgL{rkyr5V}jB5%QlCtaqvZcd{sj3h@*j{-kpGbUHS!OWA9A&Z?<3@=k$;r@z2wI*{?+7nk|)VOM*R)s zA1D7J`Q_AqgdF#LyY&1C`FqL#M2>sJom@V`l;5ACccl z{yp+9lMj&ZBtM$&KSTaW%3mV?0{MX-(C~en`p1!fn7oAiQ`C=`8UZ|kdKl-NBh4e{}cHe#S-!^ykJnoZaB`pC=!r{BPt(P(J&54gcpUFChOS z`Kjc$Qoo!Wn{}M~A0R)8yqSE6_HQBoGWo~Ize2u+JVE{h`LD^JCtpSPr^x@C@*`_C z{QpV*Zt{0i|5EaIlGlG4i*Q|DJpf`Rvu| ze*yWs$d4wkAU~XZCHc$r|5oz1QT`e7F2;9+{8sX3$bU~hMg9l!k(ZHIlUI?iAwP?}kNge# z|3&gb%6E|CdgRPt9TUr7EMd5nCD9B16S=O5(j$Uj8)Hj}3*zmGgY`Pa$+ zN%?olUnl=1`M=0_lfOa!Px8IwbK5jL%jo{`&?(gnOU9dEhHJk&JL}(>_7h1_~+-fct zmn(0TPnP7nNTs+ArQW&Li2EtTOT7(T;*N_6YMXEJ@cmPxT$)n57I%!m5xq*qn3JsR zT7_#F@X4QCG2yAUW5O-g+;RzGlU zi2BkQ5@-3X-yTZApq4X`Tily0cpXj2j{3IF)@CHNW(ZYXENgM$xBJWo-*aVLQIVSH zl@{)UPkgl}k&p{stT1VrVTtTaG&O`Z;!U_!LcUPKogj#jUJ>D3kz1M(+|JIXR=sRK z5IXr@)1^_+y1Q1RcG;4}S1hZjt%_c~WSO6?wQK7Uzg6uWwT&I?JbYJ)OU&itB?Psr z4Ijp?@$fMnF4)dU%m8<6JBzsdqtnbKM6^8rQ@i((ZdhrU+`Aer45$iUjXk+E>>$w!LE_S$FL3Y=C&qW zqlC=YyMzK?@OqsciQ3h;)}=$5Ps&^CJ8^*!8>ws!25Pzniei2Moh@E@-+)*JS}7Hwcgprmngl1pT{ikdYXtr_ zcg7`YeA6uMCy3NR_c5#L`R1YcOFXqjaZR)H(p4Vy2m$rILNlE}OYNfVz8_VWU506! z=WILPrZVJQSHkthfuN|NT66tEP?t?;z&zNfIuFz!(bVQHDuR*w@-jPE86$N3YZLe` z8U2}knEWOmFPn;d89URr%i`lo6jIz(6>o2pz}K$qYHq=ORrtVGzpQm$2;@_8XH~qAYT^^5CapM6wO38(HC2-Gs;R>rR2Uf>=okAj z>0z>@H+9rDH8fY3DHrz~I9yYvgDs!4R@gj%j{VJy{Jzotog z1t~(Ez6+9PW=Gny`j!OmB+KZCc{mt$5`wjVlK)5`X%>UdVGM}x&70A8qdP+ZYiU_2 z-{J>VIx$WVVKWM9ds`Aomn}xY%*t9sTLOfEiyjHkO7kV)!i*-Lb;LDW$~nv?5l(XC`+FTq^4Jeskb zWiLxI-OFt8G+(t-kq`2-9L*S`2+t&Oj!6l1!*po@BzYX+c-;xzu-uhCjJ%PvtD0A< zVmoFKZH<@&txcMTEBh$~jU8S3FpS%!Wf zbV4Ixb{))GIr~Eg?Jm6HZC3&%SVQYhB4Me=!6|-X$VjgPQxb~Amd(Lj7+TvK(W*Ev zoU_(gwn-^QwM2Wwnxg(Bnwqqp$PdX4384FpGSbw6(XVqxx-0)ja6Bw2>H0ESb-zPa z?Y21eF);A0tzWqk>4obcG4BwMEs-s^Ia6~@zW8K3frD5u{?;O4hN!NkDB~`eA+xM1 zA8votW9``)3U>1{x{*Fayw24+IkTCY9ucpyh#~cZPIW+F&RQ7?@o-Zm&RGI+LTs&= zi1yJ^iOO2@G~ShLY+u`^Nwuun9c(0}Qlp=&M=M*88F@qP4ecwP8BU16xkham53TBI zYjBeWNw$pfP3>q{eVN20)ciTWLS~uvBrNb-5)p)&rfj2ZH!`Z37FG0fH-93@YQg+K zW|?MtkuCBorqwFz3puO~4T{WEhx2Z-;x`b^b2qxn{0dh!9sIGbDe)^?_N+k`9_Cxm zjf)m}52;7<_5>D)cr&RO~MY&o084N9F+^|Fgq=7Q8!dM;Tm&!vL#I#*{`ct`!(tWvA~2C7rM&JKtpT7jhY6O5Em~!&Gh_&SkzD>lZoHr5!*Q zT`y}#ImGB$bC_bL9X923Jd-5372H@ow;l|`c*FDWNR*C3BE2c=dcr6@XDdlmT1f6s+~ub!$x*n>B?zN7dqF>V2nzS z*$EEK%NfnUs3ezttTg8|b{8P)Synm1oZVaJbih{la@n3<>?E6|nMVbip$a;Uu7tF5 zXiGBfk&J+B^)*|Ev!0x(A{}IBM>1Ue(VWVS!0=$kHU-NQwe4vB{WaB4>}RxS3ojvk zo%PD9bY?v`JI$m-asZtzzz{ezZVI`b85@TLY^j5jyKJYakgJ+g^d{9DePKhcYVOQ) zR&$j|(zjzMkJ-cOaDc_h8PnWZf3tQ#6{fWVYCNqSaKPivnQFXwEeq+)P|KWFRxQ)q%UZ_fTrX3~w2owk zNG^e7_+szQ{N6Wc7{?qA7j8>($lwaIL|KIi@*GVI*Q_%g-Lw$`HKbAT-3yon3Ua_S zR7Qi6Y5i1C$g&wQ$}WHbL5{)~kj~Vd1XWn_vW-IBNI)1ak^xb;IA)1-U5c+mC3k|- zVE>TA+$}u0EDQ?SaRiN~7w4cfS5XegvkIu1yMi0aZ)Y|wzny8${8q^f`R#-a z%v>k6(M2Gr){F#G_`%n5)7phx zt;VztNM0plqG1z5af zfNw1@69}4R<^e%de-;oloHhpt3T*}uG_&!)ZyRKvj_6zK8HZKoK<+`6 zNwY>yW@veMV^$)YX?Qecwqz{`^J4Uqm=4Qn!_BMXIsi6}86zQrz%b18XBdQK#I`({ z6;ApeC}_FFjqP|H;2KVrAzGWB1D!cakC;s_Jz_dzK@p)}C@`bM%Ja%*tdMEviitm# zn*H?)PbzRA2C_foTB|M$%NBvFs-uf9Te3nb4^}I1$T0c@d50&j9sN{Nc}3f8EI(2yQ@fBJKj#L^Pr=$=C(*CeDz7ZhfX9T$@WM` z69OCI=qLiM#%9^Mg4YHSdudXijNk<7&SYdo)$&N`StXISrl!WGMp3@FvU+($W>}uD zR8(=A>dg=6E$_mc@5n`}idTsdt@9Cm`4e&bL7cIBC*{dciIM*U!Ay2_U@w6I&BPWh!J}yCrCh;-^C6Oq<6&4Emi`D8?bhczkWlKhlK)QDSkbMAJwM8w1oMkWJY z!I$jEb{(y8k;e9>PAT6KQ7Pkit>P$Zq37PZTd~60LZrDfvbLkWZMCL?=O;V8>HcMQ=Al-~swt{)CxeR3ZcdC^+SsH~ zw2Yyky+hRFk*>D-o3PKz?RV4hgKH%tXg=j-f>j@cnGu!$#x0&kZ z;v!`uXx7~5G6M(7FswbR;WFH8@U|$vC%5FoM{+Hn0VaWPOXgwpxca3{@A4rPu@~uA8y>;tW|t zu>G*31C=M@_6tU^*Re${N%_gLfRwF|NVyJVzpCbvM7m`2V@U4WbJlzp2;U}4LQa`0 zr J`kZYq(X|r2g_PisSDj6=R@~kZFm6NKBCY{;;aJ&}T-ziGjRKBoB&w=x$#H3h zUME~?8nIsz>lIRHY=2?cB!aT(S{t`LG9nvp8snkL1p@}zH3sI5U!R!{Zli+l5mG6_ z8L_LEEAeU=Zx&rQ*%Zkxrk*wZu5e*XU_=@_q#gwDT$=D^tj*YvlZKo<+m2W3K*7SL(MMtiG;sR4E#^q{~$;SLm-B+gmZB@bDfOT`{6u-yN~N z3W&uAo16q);!P;6=o(SJ%$P3(T%65IXk#Ou%Ww&a?SYf}!p!xnlIExk9Av;4ajy(L z^BRez4NOGGVXILw>ZPB#SUA zX(tP?7cR%)Mk~NO@ir{!S@$F>uJ&7c-?ny+E;>C_icYDPjcD!Jbm&mh1ZYQQ60O4M zw#9cLFoZI@G7t-PA3<}rCgQgnx&~!A0|GDdnK3|`AE2`@yZ`*cvF*PqU;QeTyn+o6~XwPiTDOPHP`V=qn#OON-Wg>?C>U< zS~EG_DOxtNlNKVFT$a`tD)_@rsArbm&>V?kA1rstYE?1+iT zwO~GB+9l*`g+{Nv1#>2yn%bO1i!V!EmOPNxeyk$d>IljzlsJx=v!;M5`1-Bf-g_GvN0&D7^_8&OuA|eNP+M(AY)MP3|%U7LyK)g!~a(Mj#z)RwT1Uel)on z5V0NH#@+T^zaDVh$HpAtWK|6|0-1tgYMl+8H=!(U(?ZnIYmY!!)R&c#U$Kv z>o8ZQj1hbi=9U>;m)PmK8jWvrP?4l6U}Ps(wKd7;Q7gGs`CMxYnLKk^U2SXHumw)+ zhO}kF+X9!%HU!BUQS0Dfx{@ZL8Y9_Aq=~=NBvP)liE+|oH`*~b&cpu4`mPrA zrLcsS*DWy0@0^j9#U;0%5gH_l1-$3RC>(RKOhL*KE(>XPcmhSnx*nVDiqkvnX8%w@D6s0`WmB)~Em&kCFkz;oMTYDD}Nt}}@|_S*x@!fz_IG9Abmv`pHj$oq`f6mROF_h9)Ektw7|E=CG$*1rbVYn?XX#KqY8# zhFNB|O0LOZwuY?xV{$t^*r*7BraR=h-&I;k3_8koK~|__e2^7tYxNr3KDV1nnXEFI z!uS!hGPnAru7%dDq$1d2dTs?-_wJHmG-qI{70mLkw)T}ttW~(>M-_LqNqErqo2ay1l3t~6JjM4t;jkzeAHEXY??B|we=lsnwm81YQUgJwm<1~77MR3 z^u$_;n^L*?kKY7#dLeOUeJ;47o>7v|1EeWhfHmiZkq&&DhVfU>m5c%gx}`x4zYz_t zKLpxVykv~DugVU(Z^zav0{U9q5P{&>z{;6h@z6fcjDqFCE%EyTodx-`u#kDSuB|Hg zN?aW=&Uu7UnU~mi64}9#UHKssn;)8GX`kGlIhf+J5 zVyqeBMS$O`!8Frd1v*rJP$!Q28mO1@ff?RT$p+;tk+lU`hS@>RxWg){X(_MzWR4_# zjQ@>Bqi5~86zw=({AL+QgW_JH1iNWXKN^Q}k)|%#`a3fUWG53gc59YlLlc&0F(gl0&2ZXvPAR~0ljl10ICsamE69dnD{XHvSU8=~94C$vhlxYP0b(Dqn;0k75M#tLViB>Bm`9vCjs6qIiKE0};t+9w*hlOp z#)&n=7_p34L@Xrc5vPjiKXIHmN*pE*5eJBU#BO4oSVN2v%ZNq9LSi0q3Ka|WX3h)5 zapEX(m^efnAodZviE&~LF-9yS77+`HdBmxA(SPDNag;br93l=7`-t7dII)HpBbE`1 zh=s&F;?z6oKXIHmN*pE*5eJBU#BO4oSVN2v%ZNq9LSi0q3Jsu3f8scClsHTrA`TGy zh~30Ev4$8UmJy4Hg~UAK)XDUpI8GcT4ikrn1H?XJH!)7EA;ySh#3EuLF^@Qf27P}i zf5dU(C~=rLL>wUY5xa?TVhu4yEF%^X3yFEesT1ixahy0x93~DC2Z(*dZepBRLyQs2 zh(*LgVjgiSLjQ^5#8KifafmoT>?3v)wUY z5xa?TVhu4yEF%^X3yFEesT1fwahy0x93~DC2Z(*dZepBRLyQs2h(*LgVjgj79{ned z6Gw@|#3AAUv5(kIj1y~!F=839h*(I>BTixPBTg04f8scC zlsHTrA`TGyh~30Ev4$8UmJy4Hg~UAK)Y0^xI8GcT4ikrn1H?XJH!)7EA;ySh#3EuL zF^@Qffx9br#Bt&%ahNzn93b`)yNPjP4KYS6BNh=0iFw4Sqv$_zoH$AxCJqq?h<(Iv zVw_k*j1kL-MZ`j49&rj2A{T$+IB}FXOdKK(5c`PT#5l2r7$cSui-?89JmS>b=s$6s zI7%EQ4iN{4eZ+2JoLEDQ5zB~0#6n^oaq0;APaG$X5{HRH!~tR-v6~nt)(~UFGGY<2 zkeElDI-LF!$BCoFVd4;RfY?XuCdP?1#2B%RSVSx&<`Jg~=s$6sI7%EQ4iN{4eZ+2J zoLEDQ5zB~0#6n^oaVnqw6UT|8#9`tPae&xI>?X#EHN+UPj95f0B<2yP=F)%SIB}FX zOdKK(5c`PT#5l2r7$cSui-?89JmS=0^q)9R93>7Dhlm5jK4Ld9POKruh-JhgVj(e) zICUufCyocW5hCI5wVb%N1WP^ z{u9TEqr_q25OILmN9-oXi8aI+v5Z(mEF|U;r)JTA;y7`XI7}QO;yiMfUVX%FVw_k* zj1kL-MZ`j49&yT}|HN_PC~=rLL>wUY5xa?TVhu4yEF%^X3yFC|fUKj>!F0r%i!>=0 z13ahUzwk-SljJ!M|MQ_}Pc?o7sQVq{UhR@)%WB=ZTk^)YZMB@Wfe!*acV;k*^mwDr z49AY5PG|%yx)Yq#vYN_?NVV?eF23awM?LT4(zEB6L^4n5!gCj$`|fk!T{b@wSy+NU z5fzt~l$?9cIg!XYix!9>p1OnaTE~4Pc2>K^%JY8u&llf7(=-dk)5QtZ#2Z37coF=^ zBk3e%X{Ki>>a{$h)RFox58QPB(d@XVw$^PECiA@7+7(M`R`}Hau}lJj$K3Ofam`{d z+v^dqr?z%wXQvThZEZz#MKohz;lQ-Re}d7-$~$P();3rYJNHR`l|_VvR*5I(%-tH(h+U2WJV+E`m#RT0z~rh9`l?4f%yE@75r z1+liaDK2LcVhgl;!ts@MRh|j=7sUY?N-vxVoQ+fDU_SmzU32N0kHLog$0MGKc>)%s zZcbtxS`N2CJ*iXjU})z4i(L#8y)*FtfBRe+OZ_4G{^dOv$lJ78T^B4VeN}&Z`5V3m z#~wex31XWMI|b3$j@h8M4R?EZTQA11=KtSnp2{b#l17VIt6U+GB76*esplm$x1 zmRWsHu79uF$=c9$stL4(>^j&lPuH>XU{@#2T_ml^So=a_ZKWh7}16mUkpT>+51;jJ&WX0CwfanV59R-B`yu*NK(u-vP0rS?sBR^)t{0~6bZ~YAreM9jx zKuiJW{S^3a@E-ur0e&BdrJ>^Q0#Q(khsn19&j$Zb@-G0-0>6*^USKi)eHe(i6>kC} z2uJl0*U`M4JWi|!ihoxF&jhX@uL8ac{1TwJcL7k`JC}GiQ0$!wd?)ZEU;*%0Ao{D~ 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ཀྵHmV)gOIiqg1^+ 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∋^UzhGCnDSkIX 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 CF2vga literal 0 HcmV?d00001 diff --git a/Dependencies/Individual/libusbmuxd.a b/Dependencies/Individual/libusbmuxd.a new file mode 100644 index 0000000000000000000000000000000000000000..ccfc3b40e324355818250c45ec95d7e9f7472744 GIT binary patch literal 43208 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

ME%Pn6|rdf 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 F{|D$pU=aWS literal 0 HcmV?d00001 diff --git a/Dependencies/README.md b/Dependencies/README.md new file mode 100644 index 0000000..28bc811 --- /dev/null +++ b/Dependencies/README.md @@ -0,0 +1,7 @@ +# Dependencies + +**Q:** Why are these precompiled? +**A:** I tried to add them as a dependency in the code. I tried for hours. I couldn't. These precompiled libraries come from brew.sh since I just wasn't able to compile them myself. + +**Q:** What's "Individual" and what's "dependencies.deb"? +**A:** When I individually linked the libraries, Xcode always linked the dynamic libraries as well, which I didn't want. So I packed all of the objects inside of one archive and linked that instead, which worked diff --git a/Dependencies/dependencies.a b/Dependencies/dependencies.a new file mode 100644 index 0000000000000000000000000000000000000000..843a96121893efb09e5689c135568724c0369d30 GIT binary patch literal 5022936 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℞HUzbEpsGu%}6GI~ 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/>;(vy-07oMm;e=;>Pj4a-g2A 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

{*563p7rUJ5N~In!4os1BdwS%Jd{13DnEi2|*O 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

RXyuAa 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

)=<(ZW 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

thYlk25d-ysX{(QV+jhGnU=>N%QTc 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¥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%0AuTG0U#Jr4ujZyniFc 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

ZBB$? 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 z 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%0AJ_ZjpH=dBKjN}acr4mz`Fo}w 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 z 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

=zs}BkO7)MF@5}4$yuVbp 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 z%0D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 z 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%0D_TnG9M^qtru15`uvv8X@7CHu@ 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%0D~Rv|mva#8b1 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
+ @textblock
+                                        +-------------+
+                                        |  M[2^61-1]  |
+                                        +-------------+
+                                               |
+                                               V
+                                            Hash[hLen]
+                                               |
+                                               V
+                               +--------+-------------+------------+
+             M'[8+hLen+sLen] = |  0[8]  | mHash[hLen] | salt[sLen] |
+                               +--------+-------------+------------+
+                  t=emLen-sLen-hLen-2          |
+                  +------+---+------------+    V
+ DB[emLen-hLen-1]=| 0[t] | 1 | salt[sLen] |  Hash[hLen]
+                  +------+---+------------+    |
+                             |                 |
+                             V dbMask[]        |
+          [emLen- hLen-1]  xor <------- MGF <--|
+                             |                 |
+                             |                 |
+                 bit 0       V                 V
+                 +------------------------+----------+--+
+      EM[emLen]= | maskedDB[emLen-hLen-1] | H[hLen]  |bc|
+                 +------------------------+----------+--+
+ @/textblock
+ 
+ */ + +CC_NONNULL((1,2,4,6,8)) +int ccrsa_emsa_pss_encode(const struct ccdigest_info* di, const struct ccdigest_info* MgfDi, + size_t sSize, const uint8_t *salt, + size_t hSize, const uint8_t *mHash, + size_t emBits, uint8_t *EM); +CC_NONNULL((1,2,5,7)) +int ccrsa_emsa_pss_decode(const struct ccdigest_info* di, const struct ccdigest_info* MgfDi, + size_t sSize, + size_t mSize, const uint8_t *mHash, + size_t emBits, const uint8_t *EM); + + +/* EMSA + + Null OID in emsa encode/verify is a special case, only for use by SecKey for legacy purposes + When oid==NULL, the padding is reduced to "0001FF..FF00", oid and following seperators are skipped. + it is critical that the caller has set the oid and + other padding characters in the input "dgst". + Failing to do so results in weak signatures that may be forgeable */ +CC_NONNULL2 CC_NONNULL4 +int ccrsa_emsa_pkcs1v15_encode(size_t emlen, uint8_t *em, + size_t dgstlen, const uint8_t *dgst, + const uint8_t *oid); + +CC_NONNULL2 CC_NONNULL4 +int ccrsa_emsa_pkcs1v15_verify(size_t emlen, uint8_t *em, + size_t dgstlen, const uint8_t *dgst, + const uint8_t *oid); + + +// MGF for OAEP + +// Seed is di->output_size bytes, r_size must be >= di>output_size +CC_NONNULL1 CC_NONNULL3 CC_NONNULL5 +int ccmgf(const struct ccdigest_info* di, + size_t r_size, void* r, + size_t seed_size, const void* seed); + + +// OAEP + +/* + r_size is the blocksize of the key for which the encoding is being done. + */ +CC_NONNULL((1, 2, 4, 6)) +int ccrsa_oaep_encode_parameter(const struct ccdigest_info* di, + struct ccrng_state *rng, + size_t r_size, cc_unit *r, + size_t message_len, const uint8_t *message, + size_t parameter_data_len, const uint8_t *parameter_data); + +/* + r_size is the blocksize of the key for which the encoding is being done. + */ + +CC_INLINE CC_NONNULL((1, 2, 4, 6)) +int ccrsa_oaep_encode(const struct ccdigest_info* di, + struct ccrng_state *rng, + size_t r_size, cc_unit *r, + size_t message_len, const uint8_t *message) +{ + return ccrsa_oaep_encode_parameter(di, rng, r_size, r, message_len, message, 0, NULL); +} + +/* + r_len is the blocksize of the key for which the decoding is being done. + */ +CC_NONNULL((1, 2, 3, 5)) +int ccrsa_oaep_decode_parameter(const struct ccdigest_info* di, + size_t *r_len, uint8_t *r, + size_t s_size, cc_unit *s, + size_t parameter_data_len, const uint8_t *parameter_data); + + +CC_INLINE CC_NONNULL((1, 2, 3, 5)) +int ccrsa_oaep_decode(const struct ccdigest_info* di, + size_t *r_len, uint8_t *r, + size_t s_size, cc_unit* s) +{ + return ccrsa_oaep_decode_parameter(di, r_len, r, s_size, s, 0, NULL); +} + +CC_NONNULL_TU((1,4,7)) CC_NONNULL((2, 3, 5, 6, 8)) +int ccrsa_crt_makekey(cczp_t zm, const cc_unit *e, cc_unit *d, cczp_t zp, cc_unit *dp, cc_unit *qinv, cczp_t zq, cc_unit *dq); + +/*! + @function ccrsa_sign_pkcs1v15_blinded + @abstract Same as ccrsa_sign_pkcs1v15, with explicit argument + for RNG used for blinding + + @param blinding_rng Random number generator blinding + @param key Full key + @param oid OID describing the type of digest passed in + @param digest_len Byte length of the digest + @param digest Byte array of digest_len bytes containing the digest + @param sig_len Pointer to the number of byte allocate for sig. + Output the exact size of the signature. + @param sig Pointer to the allocated buffer of size *sig_len + for the output signature + + @result 0 iff successful. + + @discussion Null OID is a special case, required to support RFC 4346 where the padding + is based on SHA1+MD5. In general it is not recommended to use a NULL OID, + except when strictly required for interoperability + + */ +CC_NONNULL_TU((2)) CC_NONNULL((5, 6, 7)) +int ccrsa_sign_pkcs1v15_blinded(struct ccrng_state *blinding_rng, + ccrsa_full_ctx_t key, const uint8_t *oid, + size_t digest_len, const uint8_t *digest, + size_t *sig_len, uint8_t *sig); + +/*! + @function ccrsa_sign_pss_blinded + @abstract Same as ccrsa_sign_pss, with explicit argument + for RNG used for blinding + + * @param blinding_rng Random number generator blinding + * @param key The RSA key + * @param hashAlgorithm The hash algorithm used to generate mHash from the original message. It is also used inside the PSS encoding function. This is also the hash function to be used in the mask generation function (MGF) + * @param MgfHashAlgorithm The hash algorithm for thr mask generation function + * @param rng Random number geberator to generate salt in PSS encoding + * @param saltLen Intended length of the salt + * @param hLen Length of message hash . Must be equal to hashAlgorithm->output_size + * @param mHash The input that needs to be signed. This is the hash of message M with length of hLen + * + * @param sig The signature output + * @param sigLen The length of generated signature in bytes, which equals the size of the RSA modulus. + * @return 0:ok, non-zero:error + */ +CC_NONNULL((3,4,6,8,9,10)) +int ccrsa_sign_pss_blinded( + struct ccrng_state *blinding_rng, + ccrsa_full_ctx_t key, + const struct ccdigest_info* hashAlgorithm, const struct ccdigest_info* MgfHashAlgorithm, + size_t saltSize, struct ccrng_state *rng, + size_t hSize, const uint8_t *mHash, + size_t *sigSize, uint8_t *sig); + + +/*! + @function ccrsa_eme_pkcs1v15_encode + @abstract Encode a key in PKCS1 V1.5 EME format prior to encrypting. + + @param rng A handle to an initialized rng state structure. + @param r_size (In/Out) Result buffer size. + @param r Result cc_unit buffer. + @param s_size Source (payload) length. + @param s Source buffer to be encoded. + + @result Returns 0 on success, -1 otherwise. + */ + +CC_NONNULL((1, 3, 5)) +int ccrsa_eme_pkcs1v15_encode(struct ccrng_state *rng, + size_t r_size, cc_unit *r, + size_t s_size, const uint8_t *s); + +/*! + @function ccrsa_eme_pkcs1v15_decode + @abstract Decode a payload in PKCS1 V1.5 EME format to a key after decrypting. + + @param r_size (In/Out) Result buffer size. + @param r Result buffer. + @param s_size Source (PKCS1 EME Payload) length. + @param s Source cc_unit buffer to be decoded. + + @result Returns 0 on success, -1 otherwise. + */ + +CC_NONNULL((1, 2, 4)) +int ccrsa_eme_pkcs1v15_decode(size_t *r_size, uint8_t *r, + size_t s_size, cc_unit *s); + +/*! + @function ccrsa_encrypt_eme_pkcs1v15 + @abstract Encode a key in PKCS1 V1.5 EME format and encrypt. + DO NOT USE: THIS ALGORITHM IS NOT SECURE + This algorithm is vulnerable to practical attacks leading to plaintext recovery (Bleichenbach 98, Coron Joye Naccache Pailler 2000) + + @param key A public key to use to encrypt the package. + @param rng A handle to an initialized rng state structure. + @param r_size (In/Out) Result buffer size. + @param r Result cc_unit buffer. + @param s_size Source (payload) length. + @param s Source buffer to be encoded. + + @result Returns 0 on success, -1 otherwise. + */ + +CC_NONNULL_TU((1)) CC_NONNULL((2, 3, 4, 6)) +int ccrsa_encrypt_eme_pkcs1v15(ccrsa_pub_ctx_t key, + struct ccrng_state *rng, + size_t *r_size, uint8_t *r, + size_t s_size, const uint8_t *s); + +/*! + @function ccrsa_decrypt_eme_pkcs1v15 + DO NOT USE: THIS ALGORITHM IS NOT SECURE + This algorithm is vulnerable to practical attacks leading to plaintext recovery (Bleichenbach 98, Coron Joye Naccache Pailler 2000) + + @abstract Decrypt and decode a payload in PKCS1 V1.5 EME format to a key. + + @param key A private key to use to decrypt the package. + @param r_size (In/Out) Result buffer size. + @param r Result buffer. + @param s_size Source (PKCS1 EME Payload) length. + @param s Source buffer to be decoded. + + @result Returns 0 on success, -1 otherwise. + */ + + +CC_NONNULL_TU((1)) CC_NONNULL((2, 3, 5)) +int ccrsa_decrypt_eme_pkcs1v15(ccrsa_full_ctx_t key, + size_t *r_size, uint8_t *r, + size_t s_size, const uint8_t *s); + +/*! + @function ccrsa_decrypt_eme_pkcs1v15_blinded + DO NOT USE: THIS ALGORITHM IS NOT SECURE + This algorithm is vulnerable to practical attacks leading to plaintext recovery (Bleichenbach 98, Coron Joye Naccache Pailler 2000) + + @abstract Same as ccrsa_decrypt_eme_pkcs1v15, with an explicit RNG for blinding + + @param blinding_rng A handle to an initialized rng state structure. + @param key A private key to use to decrypt the package. + @param r_size (In/Out) Result buffer size. + @param r Result buffer. + @param s_size Source (PKCS1 EME Payload) length. + @param s Source buffer to be decoded. + + @result Returns 0 on success, -1 otherwise. + */ + +CC_NONNULL_TU((2)) CC_NONNULL((3, 4, 6)) +int ccrsa_decrypt_eme_pkcs1v15_blinded(struct ccrng_state *blinding_rng, + ccrsa_full_ctx_t key, + size_t *r_size, uint8_t *r, + size_t s_size, const uint8_t *s); + +/*! + @function ccrsa_encrypt_eme_pkcs1v15 + @abstract Encode a key in PKCS1 V2.1 OAEP format and encrypt. + + @param key A public key to use to encrypt the package. + @param di A descriptor for the digest used to encode the package. + @param rng A handle to an initialized rng state structure. + @param r_size (In/Out) Result buffer size. + @param r Result cc_unit buffer. + @param s_size Source (payload) length. + @param s Source buffer to be encoded. + @param parameter_data_len Length of tag data (optional) + @param parameter_data Pointer to tag data (optional) + + @result Returns 0 on success, -1 otherwise. + */ +CC_NONNULL_TU((1)) CC_NONNULL((2, 3, 4, 5, 7)) +int ccrsa_encrypt_oaep(ccrsa_pub_ctx_t key, + const struct ccdigest_info* di, + struct ccrng_state *rng, + size_t *r_size, uint8_t *r, + size_t s_size, const uint8_t *s, + size_t parameter_data_len, + const uint8_t *parameter_data); + +/*! + @function ccrsa_decrypt_oaep + @abstract Decrypt and decode a payload in PKCS1 V2.1 OAEP format to a key. + + @param key A private key to use to decrypt the package. + @param di A descriptor for the digest used to encode the package. + @param r_size (In/Out) Result buffer size. + @param r Result buffer. + @param c_size Source (PKCS1 EME Payload) length. + @param c Source buffer to be decoded. + @param parameter_data_len Length of tag data (optional) + @param parameter_data Pointer to tag data (optional) + + @result Returns 0 on success, -1 otherwise. + */ + +CC_NONNULL_TU((1)) CC_NONNULL((2, 3, 4, 6)) +int ccrsa_decrypt_oaep(ccrsa_full_ctx_t key, + const struct ccdigest_info* di, + size_t *r_size, uint8_t *r, + size_t c_size, const uint8_t *c, + size_t parameter_data_len, + const uint8_t *parameter_data); + +/*! + @function ccrsa_decrypt_oaep_blinded + + @abstract Same as ccrsa_decrypt_oaep, with an explicit RNG for blinding + + @param blinding_rng A handle to an initialized rng state structure. + + @param key A private key to use to decrypt the package. + @param di A descriptor for the digest used to encode the package. + @param r_size (In/Out) Result buffer size. + @param r Result buffer. + @param c_size Source (PKCS1 EME Payload) length. + @param c Source buffer to be decoded. + @param parameter_data_len Length of tag data (optional) + @param parameter_data Pointer to tag data (optional) + + @result Returns 0 on success, -1 otherwise. + */ + +CC_NONNULL_TU((2)) CC_NONNULL((3, 4, 5, 7)) +int ccrsa_decrypt_oaep_blinded( + struct ccrng_state *blinding_rng, + ccrsa_full_ctx_t key, + const struct ccdigest_info* di, + size_t *r_size, uint8_t *r, + size_t c_size, const uint8_t *c, + size_t parameter_data_len, + const uint8_t *parameter_data); + + +/*! + @function ccrsa_private_crypt + @abstract Perform RSA operation with a private key (CRT) + Clients should use ccn_read_uint() to + convert bytes to a cc_unit to use for this function. + + @param rng A handle to an initialized rng state structure. + @param key A handle an RSA private key. + @param out Output buffer, of size ccrsa_ctx_n(key). + @param in Input buffer, of size ccrsa_ctx_n(key). + + @result Returns 0 on success, !=0 otherwise. + */ +CC_NONNULL_TU((2)) CC_NONNULL((3, 4)) +int ccrsa_priv_crypt_blinded(struct ccrng_state *blinding_rng, ccrsa_full_ctx_t key, cc_unit *out, const cc_unit *in); + +/*! + @function ccrsa_priv_crypt + @abstract Perform RSA operation with a private key + + @param key A handle an RSA private key. + @param out Output buffer, of size ccrsa_ctx_n(key). + @param in Input buffer, of size ccrsa_ctx_n(key). + + @result Returns 0 on success, !=0 otherwise. + */ +CC_NONNULL_TU((1)) CC_NONNULL((2, 3)) +int ccrsa_priv_crypt(ccrsa_full_ctx_t key, cc_unit *out, const cc_unit *in); + +/* + Generate a FIPS186-4 standard RSA key, saving the intermediary values. + + This function must only be used for internal testing, and should never be + called directly outside of those circumstances. + */ +CC_NONNULL_TU((2)) CC_NONNULL((4, 5, 6)) +int ccrsa_generate_fips186_key_trace(size_t nbits, ccrsa_full_ctx_t fk, + size_t e_size, const void *eBytes, struct ccrng_state *rng1, + struct ccrng_state *rng2, struct ccrsa_fips186_trace *trace); + +/* + Construct RSA key from fix input in conformance with FIPS186-4 standard + + This function must only be used for internal testing, and should never be + called directly outside of those circumstances. + */ +CC_NONNULL_TU((16)) CC_NONNULL((3, 5, 7, 9, 11, 13, 15)) +int ccrsa_make_fips186_key_trace(size_t nbits, const cc_size e_n, + const cc_unit *e, const cc_size xp1Len, const cc_unit *xp1, + const cc_size xp2Len, const cc_unit *xp2, const cc_size xpLen, + const cc_unit *xp, const cc_size xq1Len, const cc_unit *xq1, + const cc_size xq2Len, const cc_unit *xq2, const cc_size xqLen, + const cc_unit *xq, ccrsa_full_ctx_t fk, cc_size *np, cc_unit *r_p, + cc_size *nq, cc_unit *r_q, cc_size *nm, cc_unit *r_m, cc_size *nd, + cc_unit *r_d, struct ccrsa_fips186_trace *trace); + +CC_INLINE cc_size ccrsa_n_from_size(size_t size) { + return ccn_nof_size(size); +} + +CC_INLINE size_t ccrsa_sizeof_n_from_size(size_t size) { + return ccn_sizeof_n(ccn_nof_size(size)); +} + +CC_INLINE uint8_t *ccrsa_block_start(size_t size, cc_unit *p, int clear_to_start) { + size_t fullsize = ccrsa_sizeof_n_from_size(size); + size_t offset = fullsize - size; + if(clear_to_start) cc_zero(offset,p); + return ((uint8_t *) p) + offset; +} + +CC_INLINE size_t ccrsa_block_size(ccrsa_pub_ctx_t key) { + return ccn_write_uint_size(ccrsa_ctx_n(key), ccrsa_ctx_m(key)); +} + +CC_NONNULL_TU((1)) +bool ccrsa_pairwise_consistency_check(const ccrsa_full_ctx_t full_key, + struct ccrng_state *rng); + +#endif diff --git a/corecrypto/ccsha1.h b/corecrypto/ccsha1.h new file mode 100644 index 0000000..aeebbfa --- /dev/null +++ b/corecrypto/ccsha1.h @@ -0,0 +1,106 @@ +/* + * Copyright (c) 2010,2011,2012,2014,2015,2016,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCSHA1_H_ +#define _CORECRYPTO_CCSHA1_H_ + +#include +#include + +#define CCSHA1_BLOCK_SIZE 64 +#define CCSHA1_OUTPUT_SIZE 20 +#define CCSHA1_STATE_SIZE 20 + +/* sha1 selector */ +const struct ccdigest_info *ccsha1_di(void); + +extern const uint32_t ccsha1_initial_state[5]; + +/* shared between several implementations */ +void ccsha1_final(const struct ccdigest_info *di, ccdigest_ctx_t, + unsigned char *digest); + + +/* Implementations */ +extern const struct ccdigest_info ccsha1_ltc_di; +extern const struct ccdigest_info ccsha1_eay_di; + +#if CCSHA1_VNG_INTEL +//extern const struct ccdigest_info ccsha1_vng_intel_di; +#if defined(__x86_64__) +extern const struct ccdigest_info ccsha1_vng_intel_AVX2_di; +extern const struct ccdigest_info ccsha1_vng_intel_AVX1_di; +#endif +extern const struct ccdigest_info ccsha1_vng_intel_SupplementalSSE3_di; +#endif + +#if CCSHA1_VNG_ARMV7NEON +extern const struct ccdigest_info ccsha1_vng_armv7neon_di; +#endif + +/* TODO: Placeholders */ +#define ccoid_sha1 ((unsigned char *)"\x06\x05\x2b\x0e\x03\x02\x1a") +#define ccoid_sha1_len 7 + +#endif /* _CORECRYPTO_CCSHA1_H_ */ diff --git a/corecrypto/ccsha2.h b/corecrypto/ccsha2.h new file mode 100644 index 0000000..9a3d18e --- /dev/null +++ b/corecrypto/ccsha2.h @@ -0,0 +1,137 @@ +/* + * Copyright (c) 2010,2011,2012,2014,2015,2016,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCSHA2_H_ +#define _CORECRYPTO_CCSHA2_H_ + +#include + +/* sha2 selectors */ +const struct ccdigest_info *ccsha224_di(void); +const struct ccdigest_info *ccsha256_di(void); +const struct ccdigest_info *ccsha384_di(void); +const struct ccdigest_info *ccsha512_di(void); + +/* TODO: Placeholders */ +#define ccoid_sha224 ((unsigned char *)"\x06\x09\x60\x86\x48\x01\x65\x03\x04\x02\x04") +#define ccoid_sha224_len 11 + +#define ccoid_sha256 ((unsigned char *)"\x06\x09\x60\x86\x48\x01\x65\x03\x04\x02\x01") +#define ccoid_sha256_len 11 + +#define ccoid_sha384 ((unsigned char *)"\x06\x09\x60\x86\x48\x01\x65\x03\x04\x02\x02") +#define ccoid_sha384_len 11 + +#define ccoid_sha512 ((unsigned char *)"\x06\x09\x60\x86\x48\x01\x65\x03\x04\x02\x03") +#define ccoid_sha512_len 11 + + +/* SHA256 */ +#define CCSHA256_BLOCK_SIZE 64 +#define CCSHA256_OUTPUT_SIZE 32 +#define CCSHA256_STATE_SIZE 32 +extern const struct ccdigest_info ccsha256_ltc_di; +extern const struct ccdigest_info ccsha256_v6m_di; +#if CCSHA2_VNG_INTEL +#if defined __x86_64__ +extern const struct ccdigest_info ccsha224_vng_intel_AVX2_di; +extern const struct ccdigest_info ccsha224_vng_intel_AVX1_di; +extern const struct ccdigest_info ccsha256_vng_intel_AVX2_di; +extern const struct ccdigest_info ccsha256_vng_intel_AVX1_di; +extern const struct ccdigest_info ccsha384_vng_intel_AVX2_di; +extern const struct ccdigest_info ccsha384_vng_intel_AVX1_di; +extern const struct ccdigest_info ccsha384_vng_intel_SupplementalSSE3_di; +extern const struct ccdigest_info ccsha512_vng_intel_AVX2_di; +extern const struct ccdigest_info ccsha512_vng_intel_AVX1_di; +extern const struct ccdigest_info ccsha512_vng_intel_SupplementalSSE3_di; +#endif +extern const struct ccdigest_info ccsha224_vng_intel_SupplementalSSE3_di; +extern const struct ccdigest_info ccsha256_vng_intel_SupplementalSSE3_di; +#endif +#if CCSHA2_VNG_ARMV7NEON +extern const struct ccdigest_info ccsha224_vng_armv7neon_di; +extern const struct ccdigest_info ccsha256_vng_armv7neon_di; +extern const struct ccdigest_info ccsha384_vng_arm64_di; +extern const struct ccdigest_info ccsha384_vng_armv7neon_di; +extern const struct ccdigest_info ccsha512_vng_arm64_di; +extern const struct ccdigest_info ccsha512_vng_armv7neon_di; +#endif +extern const uint32_t ccsha256_K[64]; +extern const uint64_t ccsha512_K[80]; + +/* SHA224 */ +#define CCSHA224_OUTPUT_SIZE 28 +extern const struct ccdigest_info ccsha224_ltc_di; + +/* SHA512 */ +#define CCSHA512_BLOCK_SIZE 128 +#define CCSHA512_OUTPUT_SIZE 64 +#define CCSHA512_STATE_SIZE 64 +extern const struct ccdigest_info ccsha512_ltc_di; + +/* SHA384 */ +#define CCSHA384_OUTPUT_SIZE 48 +extern const struct ccdigest_info ccsha384_ltc_di; + +#endif /* _CORECRYPTO_CCSHA2_H_ */ diff --git a/corecrypto/ccsrp.h b/corecrypto/ccsrp.h new file mode 100644 index 0000000..44294e7 --- /dev/null +++ b/corecrypto/ccsrp.h @@ -0,0 +1,635 @@ +/* + * Copyright (c) 2012,2013,2014,2015,2016,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef SRP_H +#define SRP_H + +#include +#include +#include +#include +#include + +/* Aliases for DH-style group params for SRP */ +#if CORECRYPTO_USE_TRANSPARENT_UNION +typedef ccdh_gp ccsrp_gp; +#else +typedef struct ccdh_gp ccsrp_gp; +#endif +#define CCSRP_HDR_PAD 32 + +#if CORECRYPTO_USE_TRANSPARENT_UNION +typedef ccdh_gp_t ccsrp_gp_t; +typedef ccdh_const_gp_t ccsrp_const_gp_t; + +struct ccsrp_ctx_header { + const struct ccdigest_info *di; + ccsrp_const_gp_t gp; + struct ccrng_state *blinding_rng; + struct { + unsigned int authenticated:1; + unsigned int noUsernameInX:1; + unsigned int sessionkey:1; + unsigned int variant:16; + } flags; + uint8_t pad[CCSRP_HDR_PAD - (sizeof(struct ccdigest_info *)+ + sizeof(ccsrp_const_gp_t)+ + sizeof(struct ccrng_state *)+ + sizeof(bool))]; + cc_unit ccn[1]; +} CC_ALIGNED(16); + +typedef struct ccsrp_ctx { + struct ccsrp_ctx_header hdr; +} CC_ALIGNED(16) ccsrp_ctx; + +struct ccsrp_ctx_body { + struct ccsrp_ctx_header hdr; + cc_unit ccn[]; +} CC_ALIGNED(16); + +typedef union { + ccsrp_ctx *_full; // Constructor + struct ccsrp_ctx_header *hdr; + struct ccsrp_ctx_body *body; +} __attribute__((transparent_union)) ccsrp_ctx_t; +#else +typedef ccdh_gp_t ccsrp_gp_t; +typedef ccdh_const_gp_t ccsrp_const_gp_t; + +struct ccsrp_ctx { + const struct ccdigest_info *di; + ccsrp_const_gp_t gp; + struct ccrng_state *blinding_rng; + struct { + unsigned int authenticated:1; + unsigned int noUsernameInX:1; + unsigned int sessionkey:1; + unsigned int variant:16; + } flags; + uint8_t pad[CCSRP_HDR_PAD - (sizeof(struct ccdigest_info *)+ + sizeof(ccsrp_const_gp_t)+ + sizeof(struct ccrng_state *)+ + sizeof(bool))]; + cc_unit ccn[1]; +} CC_ALIGNED(16); +typedef struct ccsrp_ctx *ccsrp_ctx_t; + +#endif + +#define ccsrp_gpbuf_size(_gp_) (ccdh_ccn_size(_gp_)*4) +#define ccsrp_dibuf_size(_di_) ((_di_)->output_size*4) + +/* Size of the context structure for the di and gp combo */ +#define ccsrp_sizeof_srp(_di_,_gp_) sizeof(struct ccsrp_ctx)+\ + ccsrp_gpbuf_size(_gp_)+ccsrp_dibuf_size(_di_) + +/* Use this to declare a context on the stack + Use ccsrp_ctx_clear when done to prevent exposing key material */ +#define ccsrp_ctx_decl(_di_, _gp_, _name_) \ + cc_ctx_decl(struct ccsrp_ctx, ccsrp_sizeof_srp(_di_,_gp_), _name_) + +#define ccsrp_ctx_clear(_di_, _gp_, _name_) \ + cc_clear(ccsrp_sizeof_srp(_di_,_gp_), _name_) + +/* + Accessors to the context structure. + */ +#if CORECRYPTO_USE_TRANSPARENT_UNION +#define HDR(srp) ((srp).hdr) +#else +#define HDR(srp) (srp) +#endif + +#define SRP_DI(srp) (HDR(srp)->di) +#define SRP_GP(srp) (HDR(srp)->gp) +#define SRP_FLG(srp) (HDR(srp)->flags) +#define SRP_CCN(srp) (HDR(srp)->ccn) +#define SRP_RNG(srp) (HDR(srp)->blinding_rng) + +#define ccsrp_ctx_gp(KEY) SRP_GP((ccsrp_ctx_t)(KEY)) +#define ccsrp_ctx_di(KEY) SRP_DI((ccsrp_ctx_t)(KEY)) +#define ccsrp_ctx_zp(KEY) ccdh_gp_zp((ccsrp_ctx_gp(KEY))) +#define ccsrp_ctx_gp_g(KEY) (ccdh_gp_g(ccsrp_ctx_gp(KEY))) +#define ccsrp_ctx_gp_l(KEY) (ccdh_gp_l(ccsrp_ctx_gp(KEY))) +#define ccsrp_ctx_n(KEY) (ccdh_gp_n(ccsrp_ctx_gp(KEY))) +#define ccsrp_ctx_prime(KEY) (ccdh_gp_prime(ccsrp_ctx_gp(KEY))) +#define ccsrp_ctx_ccn(KEY) SRP_CCN((ccsrp_ctx_t)(KEY)) +#define ccsrp_ctx_pki_key(KEY,_N_) (ccsrp_ctx_ccn(KEY) + ccsrp_ctx_n(KEY) * _N_) +#define ccsrp_ctx_public(KEY) (ccsrp_ctx_pki_key(KEY,0)) +#define ccsrp_ctx_private(KEY) (ccsrp_ctx_pki_key(KEY,1)) +#define ccsrp_ctx_v(KEY) (ccsrp_ctx_pki_key(KEY,2)) +#define ccsrp_ctx_S(KEY) (ccsrp_ctx_pki_key(KEY,3)) +#define ccsrp_ctx_K(KEY) ((uint8_t *)(ccsrp_ctx_pki_key(KEY,4))) +#define ccsrp_ctx_M(KEY) (uint8_t *)(ccsrp_ctx_K(KEY)+\ +2*ccsrp_ctx_di(KEY)->output_size) +#define ccsrp_ctx_HAMK(KEY) (uint8_t *)(ccsrp_ctx_K(KEY)+\ +3*ccsrp_ctx_di(KEY)->output_size) + +/* Session Keys and M and HAMK are returned in this many bytes */ +#define ccsrp_ctx_keysize(KEY) ccsrp_get_session_key_length(KEY) + +#define ccsrp_ctx_M_HAMK_size(KEY) (ccsrp_ctx_di(KEY)->output_size) + +/* The public keys and the verifier are returned in this many bytes */ +#define ccsrp_ctx_sizeof_n(KEY) (ccn_sizeof_n(ccsrp_ctx_n(KEY))) + +/****************************************************************************** + * Error codes + *****************************************************************************/ + +#define CCSRP_ERROR_DEFAULT CCDH_ERROR_DEFAULT +#define CCSRP_GENERATE_KEY_TOO_MANY_TRIES CCDH_GENERATE_KEY_TOO_MANY_TRIES +#define CCSRP_NOT_SUPPORTED_CONFIGURATION CCDH_NOT_SUPPORTED_CONFIGURATION +#define CCSRP_SAFETY_CHECK CCDH_SAFETY_CHECK +#define CCSRP_PUBLIC_KEY_MISSING CCDH_PUBLIC_KEY_MISSING +#define CCSRP_INVALID_DOMAIN_PARAMETER CCDH_INVALID_DOMAIN_PARAMETER + +/****************************************************************************** + * Variant (main difference is key derivation after DH di + *****************************************************************************/ +/* OPTION + [0..2]: KDF to compute K from S + [3..5]: Variant (value of k in the computation of B) + [6..7]: Padding in Hash (leading zeroes hashed or skipped in hashes) */ + +// Do Not use these flags directly. Please use one of the "combo" flags. +// and request a new combo flag is needed. + +// Selection of KDF for the session key +#define CCSRP_OPTION_KDF_MASK (7<<0) +// K = H(S), size of K is the size of the digest output +#define CCSRP_OPTION_KDF_HASH (0<<0) +// K = MGF1(S), size of K is TWICE the size of the digest output +#define CCSRP_OPTION_KDF_MGF1 (1<<0) +// K = H_Interleave(S), size of K is TWICE the size of the digest output +#define CCSRP_OPTION_KDF_INTERLEAVED (2<<0) + +// Selection of the variant for internal computation +#define CCSRP_OPTION_VARIANT_MASK (7<<3) +// k = HASH(N | PAD(g)) and u = HASH(PAD(A) | PAD(B)) +#define CCSRP_OPTION_VARIANT_SRP6a (0<<3) +// K = 1 and u=MSB32bit(HASH(PAD(B)) +#define CCSRP_OPTION_VARIANT_RFC2945 (1<<3) + +// Selection of leading zeroes in integer hashes +#define CCSRP_OPTION_PAD_MASK (3<<6) +// Skip zeroes of A and B during hashes for the computation of k, U and X +#define CCSRP_OPTION_PAD_SKIP_ZEROES_k_U_X (1<<6) +// Skip leading zeroes when hashing A,B in M and HAMK only +// This is a hack to be compatible with AppleSRP implementation +#define CCSRP_OPTION_PAD_SKIP_ZEROES_TOKEN (2<<6) + + +// Higher level combos: +// Corecrypto default +#define CCSRP_OPTION_SRP6a_HASH (CCSRP_OPTION_VARIANT_SRP6a \ + | CCSRP_OPTION_KDF_HASH) + +// Improved SRP6a (with MGF1) compatible with SRP +// The domain parameter (g) is hashed on the exact number of bytes instead hashing +// modlen bytes. +#define CCSRP_OPTION_SRP6a_MGF1 (CCSRP_OPTION_VARIANT_SRP6a \ + | CCSRP_OPTION_KDF_MGF1 \ + | CCSRP_OPTION_PAD_SKIP_ZEROES_TOKEN) + +// TLS-SRP. Not recommended except when interoperability is required +#define CCSRP_OPTION_RFC2945_INTERLEAVED (CCSRP_OPTION_VARIANT_RFC2945 \ + | CCSRP_OPTION_KDF_INTERLEAVED \ + | CCSRP_OPTION_PAD_SKIP_ZEROES_k_U_X \ + | CCSRP_OPTION_PAD_SKIP_ZEROES_TOKEN) + + + + +/*! + @function ccsrp_ctx_init_option + @abstract Initialize the SRP context + + @param srp SRP + @param di handle on the digest to be used (ex. ccsha1_di()) + @param gp handle on DH group parameters (requires group with no small subgroups) + @param option Define variant, key derivation and padding of integers being hashed. + @param blinding_rng For randomization of internal computations, rng may be used for as long as the "srp" context is used. + + @result 0 if no error + */ +/* Init context structures with this function */ +CC_NONNULL_TU((1,3)) CC_NONNULL((2)) +CC_INLINE int +ccsrp_ctx_init_option(ccsrp_ctx_t srp, + const struct ccdigest_info *di, + ccsrp_const_gp_t gp, + uint32_t option, + struct ccrng_state *blinding_rng) { + cc_zero(ccsrp_sizeof_srp(di, gp),HDR(srp)); + SRP_DI(srp) = di; + SRP_GP(srp) = gp; + SRP_FLG(srp).authenticated = false; + SRP_FLG(srp).sessionkey = false; + SRP_RNG(srp)=blinding_rng; + // Option is a bit mask. If not a power of two, it's an error. + SRP_FLG(srp).variant = 0xFFFF & option; + return 0; // Success +} + +// Legacy function, initialize for the RFC5054 variant. +CC_NONNULL_TU((1,3)) CC_NONNULL((2)) +CC_INLINE void +ccsrp_ctx_init(ccsrp_ctx_t srp, const struct ccdigest_info *di, ccsrp_const_gp_t gp) { + ccsrp_ctx_init_option(srp,di,gp,CCSRP_OPTION_SRP6a_HASH,ccrng(NULL)); +} + +/****************************************************************************** + * Salt and Verification Generation - used to setup an account. + *****************************************************************************/ + +/*! + @function ccsrp_generate_salt_and_verification + @abstract Generate the salt and the verification token to be used for future + authentications + + @param srp SRP + @param rng handle on rng for ephemeral key generation + @param username identity + @param password_len length in byte of the password + @param password password of length password_len + @param salt_len length in byte of the salt + @param salt salt of length salt_len (output) + @param verifier password verifier known to the server (output) + + @result 0 if no error + */ +CC_NONNULL_TU((1)) CC_NONNULL((2,3,5,7,8)) +int +ccsrp_generate_salt_and_verification(ccsrp_ctx_t srp, struct ccrng_state *rng, + const char *username, + size_t password_len, const void *password, + size_t salt_len, void *salt, + void *verifier); + +/*! + @function ccsrp_generate_verifier + @abstract Generate the verification token to be used for future + authentications + + @param srp SRP + @param username identity + @param password_len length in byte of the password + @param password password of length password_len + @param salt_len length in byte of the salt + @param salt salt of length salt_len (input) + @param verifier password verifier known to the server (output) + + @result 0 if no error + */ +CC_NONNULL_TU((1)) CC_NONNULL((2,4,6,7)) +int +ccsrp_generate_verifier(ccsrp_ctx_t srp, + const char *username, + size_t password_len, const void *password, + size_t salt_len, const void *salt, + void *verifier); + +/****************************************************************************** + * Server Side Routines + *****************************************************************************/ + +/*! + @function ccsrp_server_generate_public_key + @abstract Generate the server value B. + If A is known, call directly ccsrp_server_start_authentication + + @param srp SRP + @param rng handle on rng for ephemeral key generation + @param username identity + @param verifier password verifier known to the server + @param B_bytes Value B which is the challenge to send to the client (output) + + @result 0 if no error + */ +CC_NONNULL_TU((1)) CC_NONNULL((2,3,4)) +int +ccsrp_server_generate_public_key(ccsrp_ctx_t srp, struct ccrng_state *rng, + const void *verifier, void *B_bytes); + +/*! + @function ccsrp_server_compute_session + @abstract Generate the session key material and tokens for authentication + + @param srp SRP + @param username identity + @param salt_len length in byte of the salt + @param salt salt of length salt_len + @param A_bytes Ephemeral public key received from the client + + @result 0 if no error + */ +CC_NONNULL_TU((1)) CC_NONNULL((2,4,5)) +int +ccsrp_server_compute_session(ccsrp_ctx_t srp, + const char *username, + size_t salt_len, const void *salt, + const void *A_bytes); + +/*! + @function ccsrp_server_start_authentication + @abstract Performs in one shot the server public key and the session key material + + @param srp SRP + @param rng handle on rng for ephemeral key generation + @param username identity + @param salt_len length in byte of the salt + @param salt salt of length salt_len + @param verifier password verifier known to the server + @param A_bytes Ephemeral public key received from the client + @param B_bytes Value B which is the challenge to send to the client (output) + + @result 0 if no error + */ +CC_NONNULL_TU((1)) CC_NONNULL((2,3,5,6,7,8)) +int +ccsrp_server_start_authentication(ccsrp_ctx_t srp, struct ccrng_state *rng, + const char *username, + size_t salt_len, const void *salt, + const void *verifier, const void *A_bytes, + void *B_bytes); + +/*! + @function ccsrp_server_verify_session + @abstract Verify that the token received from the client is correct and that + therefore authentication succeeded. + + @param srp SRP + @param user_M Authentication token received from the client + @param HAMK_bytes Authentication token generated to be sent to the client (output) + + @result true if client is authenticated, false otherwise (fail or incomplete protocol) + */ +CC_NONNULL_TU((1)) CC_NONNULL((2,3)) +bool +ccsrp_server_verify_session(ccsrp_ctx_t srp, const void *user_M, + void *HAMK_bytes); + +/****************************************************************************** + * Client Side Routines + *****************************************************************************/ + +/*! + @function ccsrp_client_start_authentication + @abstract Initiate protocol with an ephemeral public key + + @param srp SRP + @param rng handle on random for key generation + @param A_bytes Output public key to send to the server + + @result 0 if no error + */ +CC_NONNULL_TU((1)) CC_NONNULL((2,3)) +int +ccsrp_client_start_authentication(ccsrp_ctx_t srp, struct ccrng_state *rng, + void *A_bytes); + +/*! + @function ccsrp_client_process_challenge + @abstract Process the challenge receive from the server + + @param srp SRP + @param username identity + @param password_len length in byte of the password + @param password password of length password_len + @param salt_len length in byte of the salt + @param salt salt of length salt_len + @param B_bytes Value B received from the server + @param M_bytes Response to the challenge (output) + + @result 0 if no error + */ +CC_NONNULL_TU((1)) CC_NONNULL((2,4,6,7,8)) +int +ccsrp_client_process_challenge(ccsrp_ctx_t srp, + const char *username, + size_t password_len, const void *password, + size_t salt_len, const void *salt, + const void *B_bytes, + void *M_bytes); + +/*! + @function ccsrp_client_verify_session + @abstract Verify that the token received from the server is correct and that + therefore authentication succeeded. + + @param srp SRP + @param HAMK_bytes Authentication token received from the server + + @result true if authenticated, false otherwise (fail or incomplete protocol) + */ +CC_NONNULL_TU((1)) CC_NONNULL((2)) +bool +ccsrp_client_verify_session(ccsrp_ctx_t srp, const uint8_t *HAMK_bytes); + +CC_NONNULL_TU((1)) +CC_INLINE bool +ccsrp_client_set_noUsernameInX(ccsrp_ctx_t srp, bool flag) +{ + return HDR(srp)->flags.noUsernameInX = !!flag; +} + + +/****************************************************************************** + * Functions for both sides + *****************************************************************************/ + +/*! + @function ccsrp_is_authenticated + @abstract Returns whether authentication was successful + + @param srp SRP + + @result true if authenticated, false otherwise (fail or incomplete protocol) + */ +CC_NONNULL_TU((1)) +CC_INLINE bool +ccsrp_is_authenticated(ccsrp_ctx_t srp) { + return HDR(srp)->flags.authenticated; +} + +/*! + @function ccsrp_exchange_size + @abstract Returns the size of the public keys exchanged + + @param srp SRP + + @result The length of the public key in bytes + */ +CC_NONNULL_TU((1)) +CC_INLINE size_t +ccsrp_exchange_size(ccsrp_ctx_t srp) { + return ccsrp_ctx_sizeof_n(srp); +} + +/*! + @function ccsrp_session_size + @abstract Returns the size of the session authentication tokens M and HAMK + + @param srp SRP + + @result The length of M and HAMK in bytes + */ +CC_NONNULL_TU((1)) +CC_INLINE size_t +ccsrp_session_size(ccsrp_ctx_t srp) { + /* Session Keys and M and HAMK are returned in this many bytes */ + return (ccsrp_ctx_di(srp)->output_size); +} + +/*! + @function ccsrp_get_session_key_length + @abstract Returns the size of the session key K, which depends on the variant + + @param srp SRP + + @result The length of K + */ +CC_NONNULL_TU((1)) +CC_INLINE size_t +ccsrp_get_session_key_length(ccsrp_ctx_t srp) { + if ((HDR(srp)->flags.variant & CCSRP_OPTION_KDF_MASK) == CCSRP_OPTION_KDF_HASH) { + return (ccsrp_ctx_di(srp)->output_size); + } + else if (( (HDR(srp)->flags.variant & CCSRP_OPTION_KDF_MASK) == CCSRP_OPTION_KDF_INTERLEAVED) + || ((HDR(srp)->flags.variant & CCSRP_OPTION_KDF_MASK) == CCSRP_OPTION_KDF_MGF1)) { + return 2*(ccsrp_ctx_di(srp)->output_size); + } + return 0; // Error +} + +/*! + @function ccsrp_get_session_key + @abstract Returns a pointer to the session key and its size + + @param srp SRP context + @param key_length pointer to output the size of the session key + + @result pointer to the session key in SRP context. NULL if the key has not been + computed yet + */ +CC_NONNULL_TU((1)) CC_NONNULL((2)) +CC_INLINE const void * +ccsrp_get_session_key(ccsrp_ctx_t srp, size_t *key_length) { + *key_length = ccsrp_get_session_key_length(srp); + if (HDR(srp)->flags.sessionkey) { + return ccsrp_ctx_K(srp); + } else { + return NULL; + } +} + +/*! + @function ccsrp_get_premaster_secret + @abstract Returns a pointer to the premaster secret key + use for TLS-SRP + This value is not a cryptographic key. A KDF is needed before + use. + + @param srp SRP context + + @result pointer to the premaster secret in SRP context. + The secret is an array of ccsrp_ctx_n(srp) cc_units */ +CC_NONNULL_TU((1)) +CC_INLINE cc_unit * +ccsrp_get_premaster_secret(ccsrp_ctx_t srp) { + if (HDR(srp)->flags.sessionkey) { + return ccsrp_ctx_S(srp); + } else { + return NULL; + } +} + +/****************************************************************************** + * Component Test Interface + *****************************************************************************/ + +int +ccsrp_test_calculations(const struct ccdigest_info *di, ccsrp_const_gp_t gp, + struct ccrng_state *blinding_rng, + const char *username, uint32_t options, + size_t password_len, const void *password, + size_t salt_len, const void *salt, + size_t k_len, const void *k, + size_t x_len, const void *x, + size_t v_len, const void *v, + size_t a_len, const void *a, + size_t b_len, const void *b, + size_t A_len, const void *A, + size_t B_len, const void *B, + size_t u_len, const void *u, + size_t S_len, const void *S, + size_t K_len, const void *K, + size_t M_len, const void *M, + size_t HAMK_len, const void *HAMK + ); + +#endif /* Include Guard */ + diff --git a/corecrypto/ccsrp_gp.h b/corecrypto/ccsrp_gp.h new file mode 100644 index 0000000..b1e2794 --- /dev/null +++ b/corecrypto/ccsrp_gp.h @@ -0,0 +1,76 @@ +/* + * Copyright (c) 2012,2014,2015,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef corecrypto_ccsrp_gp_h +#define corecrypto_ccsrp_gp_h + +#include + +ccdh_const_gp_t ccsrp_gp_rfc5054_1024(void); +ccdh_const_gp_t ccsrp_gp_rfc5054_2048(void); +ccdh_const_gp_t ccsrp_gp_rfc5054_3072(void); +ccdh_const_gp_t ccsrp_gp_rfc5054_4096(void); +ccdh_const_gp_t ccsrp_gp_rfc5054_8192(void); + +#endif diff --git a/corecrypto/cctest.h b/corecrypto/cctest.h new file mode 100644 index 0000000..729e5b9 --- /dev/null +++ b/corecrypto/cctest.h @@ -0,0 +1,91 @@ +/* + * Copyright (c) 2010,2011,2015,2016,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCTEST_H_ +#define _CORECRYPTO_CCTEST_H_ + +#include + +/* bin is n byte buffer into which a 2n byte long hex string is converted. */ +void cc_hex2bin(size_t n, unsigned char *bin, const char *hex); + +/* bin is n byte buffer which is converted into 2n + 1 byte long 0 terminated + string in hex. */ +void cc_bin2hex(size_t n, char *hex, const unsigned char *bin); + + +#define CCTEST_MAX_MSG_SIZE 8192 + +struct cctest_result { + double duration; + const char *msg; /* points to msg_buffer in cctest_input */ +}; + +struct cctest_input { + double start; + char msg_buffer[CCTEST_MAX_MSG_SIZE]; + struct cctest_result(*cctest_function)(const struct cctest_input *input); +}; + +#endif /* _CORECRYPTO_CCTEST_H_ */ diff --git a/corecrypto/ccwrap.h b/corecrypto/ccwrap.h new file mode 100644 index 0000000..82e5d5f --- /dev/null +++ b/corecrypto/ccwrap.h @@ -0,0 +1,191 @@ +/* + * Copyright (c) 2012,2015,2016,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCWRAP_H_ +#define _CORECRYPTO_CCWRAP_H_ + +#include + +#include + +#define CCWRAP_IV 0xA6A6A6A6A6A6A6A6 +#define CCWRAP_SEMIBLOCK 8 + +// chosen somewhat arbitrarily +// corresponds to 65536 bytes of key material and one eight-byte IV +#define CCWRAP_MAXSEMIBLOCKS 8193 + +/*! + + @function ccwrap_wrapped_size + + @param data_size The size of the unwrapped key + + @result The size of the key after wrapping + + */ +CC_INLINE size_t ccwrap_wrapped_size(const size_t data_size) +{ + return (data_size + CCWRAP_SEMIBLOCK); +} + +/*! + + @function ccwrap_unwrapped_size + + @param data_size The size of the wrapped key + + @result The size of the key after unwrapping + + @discussion If the input is illegal (i.e. it is smaller than the overhead imposed by wrapping), the result will be zero. + + */ +CC_INLINE size_t ccwrap_unwrapped_size(const size_t data_size) +{ + if (data_size < CCWRAP_SEMIBLOCK) { + // data is malformed and possibly malicious + // just avoid underflow for now + // actually detect and handle error in ccwrap_auth_decrypt + return 0; + } + + return (data_size - CCWRAP_SEMIBLOCK); +} + + +/*! + @function ccwrap_auth_decrypt + @abstract Recover the wrapped key. + + @param ecb_mode Definition of an ECB implementation + @param ctx An instance of the implementation + @param nbytes Length in bytes of the wrapped key + @param in Pointer to the wrapped key + @param obytes Return parameter describing the size of the unwrapped key + @param out Return parameter pointing to the unwrapped key + + @result 0 iff successful; -1 otherwise. + + @discussion The out buffer should be allocated by the caller based + on the result of ccwrap_unwrapped_size(nbytes). On a successful + invocation, *obytes == ccwrap_unwrapped_size(nbytes); the caller needn't + verify this invariant. + */ +int ccwrap_auth_decrypt(const struct ccmode_ecb *ecb_mode, ccecb_ctx *ctx, + size_t nbytes, const void *in, + size_t *obytes, void *out); + +/*! + @function ccwrap_auth_encrypt + @abstract Wrap a key. + + @param ecb_mode Definition of an ECB implementation + @param ctx An instance of the implementation + @param nbytes Length in bytes of the key + @param in Pointer to the key + @param obytes Return parameter describing the size of the wrapped key + @param out Return parameter pointing to the wrapped key + + @result 0 iff successful; -1 otherwise. + + @discussion The out buffer should be allocated by the caller based + on the result of ccwrap_wrapped_size(nbytes). On a successful + invocation, *obytes == ccwrap_wrapped_size(nbytes); the caller needn't + verify this invariant. + */ +int ccwrap_auth_encrypt(const struct ccmode_ecb *ecb_mode, ccecb_ctx *ctx, + size_t nbytes, const void *in, + size_t *obytes, void *out); + +/* + This was originally implemented according to the “AES Key Wrap Specification” + formalized in RFC 3394. + + The following publications track changes made over time: + + [AES-KW1] National Institute of Standards and Technology, AES Key + Wrap Specification, 17 November 2001. + http://csrc.nist.gov/groups/ST/toolkit/documents/kms/ + AES_key_wrap.pdf + + [AES-KW2] Schaad, J. and R. Housley, "Advanced Encryption Standard + (AES) Key Wrap Algorithm", RFC 3394, September 2002. + + Note: block size is required to be 128 bits. + + This implementation wraps plaintexts between two and (CCWRAP_MAXSEMIBLOCKS-1) + semiblocks in length to produce ciphertexts between three and + CCWRAP_MAXSEMIBLOCKS semiblocks in length. All other inputs are rejected. + + While only the original unpadded algorithm is implemented at this time, the + following documents include specifications for padded versions allowing + plaintexts of arbitrary length: + + http://tools.ietf.org/html/rfc5649 + + NIST SP800-38F + +*/ + +#endif /* _CORECRYPTO_CCWRAP_H_ */ diff --git a/corecrypto/ccz.h b/corecrypto/ccz.h new file mode 100644 index 0000000..e9d561b --- /dev/null +++ b/corecrypto/ccz.h @@ -0,0 +1,314 @@ +/* + * Copyright (c) 2011,2012,2015,2017,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCZ_H_ +#define _CORECRYPTO_CCZ_H_ + +#include +#include +#include +#include + +#define CCZ_INVALID_INPUT_ERROR -1 +#define CCZ_INVALID_RADIX_ERROR -2 + +struct ccz { + size_t n; + struct ccz_class *isa; + int sac; + cc_unit *u; +}; +typedef struct ccz ccz; + +struct ccz_class { + void *ctx; + void *(*ccz_alloc)(void *, size_t); + void *(*ccz_realloc)(void *, size_t, void *, size_t); + void (*ccz_free)(void *, size_t, void *); +}; + +/* Return the size needed for a ccz big enough to hold cls type ccz's. */ +CC_NONNULL_ALL +size_t ccz_size(struct ccz_class *cls); + +/* Initialize a new ccz instance. */ +CC_NONNULL_ALL +void ccz_init(struct ccz_class *cls, ccz *r); + +/* Release the memory a ccz is holding on to. */ +CC_NONNULL_ALL +void ccz_free(ccz *r); + +/* r = 0, and clear memory accessed by r. */ +CC_NONNULL_ALL +void ccz_zero(ccz *r); + +/* r = s */ +CC_NONNULL_ALL +void ccz_set(ccz *r, const ccz *s); + +CC_NONNULL1 +void ccz_seti(ccz *r, uint64_t v); + +/* s == 0 -> return 0 | s > 0 -> return index (starting at 1) of most + significant bit that is 1. */ +CC_PURE CC_NONNULL_ALL +size_t ccz_bitlen(const ccz *s); + +/* s == 0 -> return 0 | s > 0 -> return the number of bits which are zero + before the first one bit from least to most significant bit. */ +CC_PURE CC_NONNULL_ALL +size_t ccz_trailing_zeros(const ccz *s); + +/* Return actual size in bytes needed to serialize s. */ +CC_PURE CC_NONNULL1 +size_t ccz_write_uint_size(const ccz *s); + +/* Serialize s, to out. + First byte of byte stream is the m.s. byte of s, + regardless of the size of cc_unit. + + No assumption is made about the alignment of out. + + The out_size argument should be the value returned from ccz_write_uint_size, + and is also the exact number of bytes this function will write to out. + If out_size if less than the value returned by ccz_write_uint_size, only the + first out_size non-zero most significant octets of s will be written. */ +CC_NONNULL((1,3)) +void ccz_write_uint(const ccz *s, size_t out_size, void *out); + +/* Return actual size in bytes needed to serialize s as int + (adding leading zero if high bit is set). */ +CC_PURE CC_NONNULL1 +size_t ccz_write_int_size(const ccz *s); + +/* Serialize s, to out. + First byte of byte stream is the m.s. byte of s, + regardless of the size of cc_unit. + + No assumption is made about the alignment of out. + + The out_size argument should be the value returned from ccz_write_int_size, + and is also the exact number of bytes this function will write to out. + If out_size if less than the value returned by ccz_write_int_size, only the + first out_size non-zero most significant octets of s will be written. */ +CC_NONNULL((1,3)) +void ccz_write_int(const ccz *s, size_t out_size, void *out); + +/* Return actual size in bytes needed to serialize s in base radix. Radix can be any value between 2 and 64. */ +CC_PURE CC_NONNULL1 +size_t ccz_write_radix_size(const ccz *s, unsigned radix); + +/* r = (data, len) treated as a big endian byte array, written in base radix. Radix can be any value between 2 and 64. */ +/* Not constant time. Do not use for sensitive information. */ +CC_NONNULL((1,3)) +void ccz_write_radix(const ccz *s, size_t out_size, void *out, unsigned radix); + +/* r = (data, len) treated as a big endian byte array. */ +CC_NONNULL((1,3)) +void ccz_read_uint(ccz *r, size_t data_size, const uint8_t *data); + +/* r = (data, len) treated as a two's complement signed big endian byte + array. Negative only iff high bit of first byte is set. */ +CC_NONNULL((1,3)) +void ccz_read_int(ccz *r, size_t data_size, const uint8_t *data); + +/* r = (data, len) treated as a big endian byte array. Return nonzero iff the passed in buffer isn't a valid base radix input string. Radix can be any value between 2 and 64. + Returns: 0 if no error + CCZ_INVALID_INPUT_ERROR if the input is not valid for the select radar + CCZ_INVALID_RADIX_ERROR if the radix is not supported (>64) */ +/* Not constant time. Do not use for sensitive information. */ +CC_NONNULL((1,3)) +int ccz_read_radix(ccz *r, size_t data_size, const char *data, unsigned radix); + +CC_PURE CC_NONNULL_ALL +int ccz_cmp(const ccz *s, const ccz *t); + +CC_PURE CC_NONNULL_ALL +int ccz_cmpi(const ccz *s, uint32_t v); + +/* r = -r. */ +CC_NONNULL_ALL +void ccz_neg(ccz *r); + +/* r = s + t. */ +CC_NONNULL_ALL +void ccz_add(ccz *r, const ccz *s, const ccz *t); + +/* r = s + v. */ +CC_NONNULL_ALL +void ccz_addi(ccz *r, const ccz *s, uint32_t v); + +/* r = s - t. */ +CC_NONNULL_ALL +void ccz_sub(ccz *r, const ccz *s, const ccz *t); + +/* r = s - v. */ +CC_NONNULL_ALL +void ccz_subi(ccz *r, const ccz *s, uint32_t v); + +/* r = s * t */ +CC_NONNULL_ALL +void ccz_mul(ccz *r, const ccz *s, const ccz *t); + +/* r = s * t */ +CC_NONNULL_ALL +void ccz_muli(ccz *r, const ccz *s, uint32_t v); + +/* q = s / t, r = s % t */ +CC_NONNULL((3,4)) +void ccz_divmod(ccz *q, ccz *r, const ccz *s, const ccz *t); + +/* r = s >> k */ +CC_NONNULL((1,2)) +void ccz_lsr(ccz *r, const ccz *s, size_t k); + +/* r = s << k */ +CC_NONNULL((1,2)) +void ccz_lsl(ccz *r, const ccz *s, size_t k); + +/* r = s / 2 */ +CC_INLINE CC_NONNULL_ALL +void ccz_div2(ccz *r, const ccz *s) { + ccz_lsr(r, s, 1); +} + +/* r = s % t */ +CC_NONNULL_ALL +void ccz_mod(ccz *r, const ccz *s, const ccz *t); + +/* r = s^2. */ +CC_NONNULL_ALL +void ccz_sqr(ccz *r, const ccz *s); + +/* r = gcd(s, t). */ +CC_NONNULL_ALL +void ccz_gcd(ccz *r, const ccz *s, const ccz *t); + +/* r = lcm(s, t). */ +CC_NONNULL_ALL +void ccz_lcm(ccz *r, const ccz *s, const ccz *t); + +/* r = (s * t) mod u. */ +CC_NONNULL_ALL +void ccz_mulmod(ccz *r, const ccz *s, const ccz *t, const ccz *u); + +/* r = (s^2) mod t. */ +CC_NONNULL_ALL +int ccz_sqrmod(ccz *r, const ccz *s, const ccz *t); + +/* r = (s^-1) mod t. */ +CC_NONNULL_ALL +int ccz_invmod(ccz *r, const ccz *s, const ccz *t); + +/* r = (s^t) mod u. */ +CC_NONNULL_ALL +int ccz_expmod(ccz *r, const ccz *s, const ccz *t, const ccz *u); + +/* Return the value of bit k in s. */ +CC_PURE CC_NONNULL1 +bool ccz_bit(const ccz *s, size_t k); + +/* Set the value of bit k in r to value. */ +CC_NONNULL1 +void ccz_set_bit(ccz *r, size_t k, bool value); + +/* Return true iff s a is likely prime. Using rabin miller for depth. */ +CC_NONNULL_ALL +bool ccz_is_prime(const ccz *s, unsigned depth); + +/* s == odd -> return true | s == even -> return false */ +CC_INLINE CC_PURE CC_NONNULL_ALL +bool ccz_is_odd(const ccz *s) { + return ccz_bit(s, 0); +} + +/* s == 0 -> return true | s != 0 -> return false */ +CC_PURE CC_NONNULL_ALL +bool ccz_is_zero(const ccz *s); + +/* s == 1 -> return true | s != 1 -> return false */ +CC_PURE CC_NONNULL_ALL +bool ccz_is_one(const ccz *s); + +/* s < 0 -> return true | s >= 0 -> return false */ +CC_PURE CC_NONNULL_ALL +bool ccz_is_negative(const ccz *s); + + + +/* Debugging */ +CC_NONNULL1 +void ccz_print(const ccz *s); +CC_NONNULL2 +void ccz_lprint(const char *label, const ccz *s); + +/* Forward declaration so we don't depend on ccrng.h. */ +struct ccrng_state; + +/* Make a ccz with up to nbits sized random value. */ +CC_NONNULL((1,3)) +int ccz_random_bits(ccz *r, size_t nbits, struct ccrng_state *rng); + +#endif /* _CORECRYPTO_CCZ_H_ */ diff --git a/corecrypto/ccz_priv.h b/corecrypto/ccz_priv.h new file mode 100644 index 0000000..907f7f2 --- /dev/null +++ b/corecrypto/ccz_priv.h @@ -0,0 +1,135 @@ +/* + * Copyright (c) 2011,2012,2015,2017,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCZ_PRIV_H_ +#define _CORECRYPTO_CCZ_PRIV_H_ + +#include +#include +#include +#include /* For abs() */ + +#ifndef CCZ_PREC +#define CCZ_PREC 32 /* default units of precision */ +#endif + +/* Error codes. */ +enum { + CCZ_OK = 0, + CCZ_MEM, +}; + +#define ccz_zp_decl(_ccz_, _name_) \ + cczp_decl_n(ccz_n(_ccz_), _name_); \ + CCZP_N(_name_) = ccz_n(_ccz_); \ + ccn_set(ccz_n(_ccz_), CCZP_PRIME(_name_), _ccz_->u); + + +CC_INLINE CC_CONST CC_NONNULL_ALL +int ccz_sign(const ccz *s) { + return s->sac < 0 ? -1 : 1; +} + +CC_INLINE CC_NONNULL1 +void ccz_set_sign(ccz *r, int sign) +{ + if (ccz_sign(r) != sign) + r->sac = -r->sac; +} + +CC_INLINE CC_CONST CC_NONNULL_ALL +cc_size ccz_n(const ccz *s) { + return s->n; +} + +CC_INLINE CC_NONNULL1 +void ccz_set_n(ccz *r, cc_size n) { + r->n = n; +} + +CC_INLINE CC_CONST CC_NONNULL_ALL +cc_size ccz_capacity(const ccz *s) { + return (cc_size)abs(s->sac); +} + +CC_INLINE CC_NONNULL1 +void ccz_set_capacity(ccz *r, cc_size capacity) +{ + if (ccz_capacity(r) < capacity) { + size_t ncapacity = capacity + (CCZ_PREC * 2) - (capacity % CCZ_PREC); + cc_unit *t; + if (ccz_capacity(r)) + t = r->isa->ccz_realloc(r->isa->ctx, ccn_sizeof_n(ccz_capacity(r)), r->u, ccn_sizeof_n(ncapacity)); + else + t = r->isa->ccz_alloc(r->isa->ctx, ccn_sizeof_n(ncapacity)); + + r->sac = r->sac < 0 ? -(int)ncapacity : (int)ncapacity; + r->u = t; + } +} + +/* From ccn_write_radix. */ +extern const char *ccn_radix_digit_map; + +#endif /* _CORECRYPTO_CCZ_PRIV_H_ */ diff --git a/corecrypto/cczp.h b/corecrypto/cczp.h new file mode 100644 index 0000000..fb8de7d --- /dev/null +++ b/corecrypto/cczp.h @@ -0,0 +1,392 @@ +/* + * Copyright (c) 2010,2011,2012,2014,2015,2016,2017,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCZP_H_ +#define _CORECRYPTO_CCZP_H_ + +#include +#include + +/* + Don't use cczp_hd struct directly, except in static tables such as eliptic curve parameter definitions. + + Declare cczp objects using cczp_decl_n(). It allocates cc_unit arrays of the length returned by either cczp_nof_n() or cczp_short_nof_n(). +*/ + +struct cczp; +#if CORECRYPTO_USE_TRANSPARENT_UNION + +typedef union { + cc_unit *u; + struct cczp *zp; + //cczp_const_t czp; //for automatic type cast + //struct cczp_prime *prime; +} cczp_t __attribute__((transparent_union)); + +typedef union { + const cc_unit *u; + const struct cczp *zp; + //const struct cczp_prime *prime; + cczp_t _nczp; +} cczp_const_t __attribute__((transparent_union)); + +#else + typedef struct cczp* cczp_t; + typedef const struct cczp* cczp_const_t; +#endif +typedef void (*ccmod_func_t)(cc_ws_t ws, cczp_const_t zp, cc_unit *r, const cc_unit *s); + +// keep cczp_hd and cczp structures consistent +// cczp_hd is typecasted to cczp to read EC curve params +// options field is to specify Montgomery arithmetic, bit field, etc +// make sure n is the first element see ccrsa_ctx_n macro +#define __CCZP_HEADER_ELEMENTS_DEFINITIONS(pre) \ +cc_size pre ## n;\ +cc_unit pre ## options;\ +ccmod_func_t pre ## mod_prime; + +#define __CCZP_ELEMENTS_DEFINITIONS(pre) \ +__CCZP_HEADER_ELEMENTS_DEFINITIONS(pre) \ +cc_unit pre ## ccn[]; + +//cczp_hd must be defined separetly without variable length array ccn[], because it is used in sructures such as ccdh_gp_decl_n +struct cczp_hd{ + __CCZP_HEADER_ELEMENTS_DEFINITIONS() +} CC_ALIGNED(CCN_UNIT_SIZE); + +struct cczp { + __CCZP_ELEMENTS_DEFINITIONS() +} CC_ALIGNED(CCN_UNIT_SIZE); + + +/* Return the size of an cczp where each ccn is _size_ bytes. */ +#define cczp_size(_size_) (sizeof(struct cczp) + ccn_sizeof_n(1) + 2 * (_size_)) + +/* Return number of units that a struct cczp needs to be in units for a prime + size of N units. This is large enough for all operations. */ +#define cczp_nof_n(_n_) (ccn_nof_size(sizeof(struct cczp)) + 1 + 2 * (_n_)) + +/* Return number of units that a struct cczp needs to be in units for a prime + size of _n_ units. The _short variant does not have room for CCZP_RECIP, + so it can not be used with cczp_mod, cczp_mul, cczp_sqr. It can be used + with cczp_add, cczp_sub, cczp_div2, cczp_mod_inv. */ +#define cczp_short_nof_n(_n_) (ccn_nof_size(sizeof(struct cczp)) + (_n_)) + +#define cczp_decl_n(_n_, _name_) cc_ctx_decl(struct cczp, ccn_sizeof_n(cczp_nof_n(_n_)), _name_) +#define cczp_short_decl_n(_n_, _name_) cc_ctx_decl(struct cczp_short, ccn_sizeof_n(cczp_short_nof_n(_n_)), _name_) + +#define cczp_clear_n(_n_, _name_) cc_clear(ccn_sizeof_n(cczp_nof_n(_n_)), _name_) +#define cczp_short_clear_n(_n_, _name_) cc_clear(ccn_sizeof_n(cczp_short_nof_n(_n_)), _name_) + +#if CORECRYPTO_USE_TRANSPARENT_UNION + #define CCZP_N(ZP) (((cczp_t)(ZP)).zp->n) + #define CCZP_MOD(ZP) (((cczp_t)(ZP)).zp->mod_prime) + #define CCZP_PRIME(ZP) (((cczp_t)(ZP)).zp->ccn) + #define CCZP_RECIP(ZP) (((cczp_t)(ZP)).zp->ccn + cczp_n(ZP)) + #define CCZP_OPS(ZP) ((ZP).zp->options) + #define CCZP_MOD_PRIME(ZP) CCZP_MOD(ZP) + +CC_CONST CC_NONNULL_TU((1)) +static inline cc_size cczp_n(cczp_const_t zp) { + return zp.zp->n; +} + +CC_CONST CC_NONNULL_TU((1)) +static inline cc_unit cczp_options(cczp_const_t zp) { + return zp.zp->options; +} + +CC_CONST CC_NONNULL_TU((1)) +static inline ccmod_func_t cczp_mod_prime(cczp_const_t zp) { + return zp.zp->mod_prime; +} + +CC_CONST CC_NONNULL_TU((1)) +static inline const cc_unit *cczp_prime(cczp_const_t zp) { + return zp.zp->ccn; +} + +/* Return a pointer to the Reciprocal or Montgomery constant of zp, which is + allocated cczp_n(zp) + 1 units long. */ +CC_CONST CC_NONNULL_TU((1)) + +static inline const cc_unit *cczp_recip(cczp_const_t zp) { + return zp.zp->ccn + zp.zp->n; +} + +#else + #define CCZP_N(ZP) ((ZP)->n) + #define CCZP_MOD(ZP) ((ZP)->mod_prime) + #define CCZP_MOD_PRIME(ZP) CCZP_MOD(ZP) + #define CCZP_PRIME(ZP) ((ZP)->ccn) + #define CCZP_RECIP(ZP) ((ZP)->ccn + CCZP_N(ZP)) + #define CCZP_OPS(ZP) ((ZP)->options) +CC_CONST CC_NONNULL_TU((1)) +static inline cc_size cczp_n(cczp_const_t zp) { + return zp->n; +} + +CC_CONST CC_NONNULL_TU((1)) +static inline cc_unit cczp_options(cczp_const_t zp) { + return zp->options; +} + +CC_CONST CC_NONNULL_TU((1)) +static inline ccmod_func_t cczp_mod_prime(cczp_const_t zp) { + return zp->mod_prime; +} + +CC_CONST CC_NONNULL_TU((1)) +static inline const cc_unit *cczp_prime(cczp_const_t zp) { + return zp->ccn; +} + +/* Return a pointer to the Reciprocal or Montgomery constant of zp, which is + allocated cczp_n(zp) + 1 units long. */ +CC_CONST CC_NONNULL_TU((1)) + +static inline const cc_unit *cczp_recip(cczp_const_t zp) { + return zp->ccn + zp->n; +} + +#endif + + +CC_CONST CC_NONNULL_TU((1)) +CC_INLINE size_t cczp_bitlen(cczp_const_t zp) { + return ccn_bitlen(cczp_n(zp), cczp_prime(zp)); +} + + +/* Ensure both cczp_mod_prime(zp) and cczp_recip(zp) are valid. cczp_n and + cczp_prime must have been previously initialized. */ +CC_NONNULL_TU((1)) +int cczp_init(cczp_t zp); + +/* Compute r = s2n mod cczp_prime(zp). Will write cczp_n(zp) + units to r and reads 2 * cczp_n(zp) units units from s2n. If r and s2n are not + identical they must not overlap. Before calling this function either + cczp_init(zp) must have been called or both CCZP_MOD_PRIME((cc_unit *)zp) + and CCZP_RECIP((cc_unit *)zp) must be initialized some other way. */ +CC_NONNULL_TU((1)) CC_NONNULL((2, 3)) +void cczp_mod(cc_ws_t ws, cczp_const_t zp, cc_unit *r, const cc_unit *s2n); + +/* Compute r = sn mod cczp_prime(zp), Will write cczp_n(zp) + units to r and reads sn units units from s. If r and s are not + identical they must not overlap. Before calling this function either + cczp_init(zp) must have been called or both CCZP_MOD_PRIME((cc_unit *)zp) + and CCZP_RECIP((cc_unit *)zp) must be initialized some other way. */ +CC_NONNULL_TU((1)) CC_NONNULL((2, 4)) +int cczp_modn(cczp_const_t zp, cc_unit *r, cc_size ns, const cc_unit *s); + +/* Compute r = x * y mod cczp_prime(zp). Will write cczp_n(zp) units to r + and reads cczp_n(zp) units units from both x and y. If r and x are not + identical they must not overlap, The same holds for r and y. Before + calling this function either cczp_init(zp) must have been called or both + CCZP_MOD_PRIME((cc_unit *)zp) and CCZP_RECIP((cc_unit *)zp) must be + initialized some other way. */ +CC_NONNULL_TU((1)) CC_NONNULL((2, 3, 4)) +void cczp_mul(cczp_const_t zp, cc_unit *t, const cc_unit *x, const cc_unit *y); + +CC_NONNULL_TU((1)) CC_NONNULL((2, 3, 4, 5)) +void cczp_mul_ws(cc_ws_t ws, cczp_const_t zp, cc_unit *t, const cc_unit *x, const cc_unit *y); + +/* Compute r = x * x mod cczp_prime(zp). Will write cczp_n(zp) units to r + and reads cczp_n(zp) units from x. If r and x are not identical they must + not overlap. Before calling this function either cczp_init(zp) must have + been called or both CCZP_MOD_PRIME((cc_unit *)zp) and + CCZP_RECIP((cc_unit *)zp) must be initialized some other way. */ +CC_NONNULL_TU((1)) CC_NONNULL((2, 3)) +void cczp_sqr(cczp_const_t zp, cc_unit *r, const cc_unit *x); + +CC_NONNULL_TU((1)) CC_NONNULL((2, 3, 4)) +void cczp_sqr_ws(cc_ws_t ws, cczp_const_t zp, cc_unit *r, const cc_unit *x); + +/* Compute r = x^(1/2) mod cczp_prime(zp). Will write cczp_n(zp) units to r + and reads cczp_n(zp) units from x. If r and x are not identical they must + not overlap. Before calling this function either cczp_init(zp) must have + been called or both CCZP_MOD_PRIME((cc_unit *)zp) and + CCZP_RECIP((cc_unit *)zp) must be initialized some other way. + Only support prime = 3 mod 4 */ +CC_NONNULL_TU((1)) CC_NONNULL((2, 3)) +int cczp_sqrt(cczp_const_t zp, cc_unit *r, const cc_unit *x); + +/* Compute r = m ^ e mod cczp_prime(zp), using Montgomery ladder. + - writes cczp_n(zp) units to r + - reads cczp_n(zp) units units from m and e + - if r and m are not identical they must not overlap. + - r and e must not overlap nor be identical. + - before calling this function either cczp_init(zp) must have been called + or both CCZP_MOD_PRIME((cc_unit *)zp) and CCZP_RECIP((cc_unit *)zp) must + be initialized some other way. + */ +CC_NONNULL_TU((1)) CC_NONNULL((2, 3, 4)) +int cczp_power(cczp_const_t zp, cc_unit *r, const cc_unit *m, + const cc_unit *e); + +/* Compute r = m ^ e mod cczp_prime(zp), using Square Square Multiply Always. + - writes cczp_n(zp) units to r + - reads cczp_n(zp) units units from m and e + - if r and m are not identical they must not overlap. + - r and e must not overlap nor be identical. + - before calling this function either cczp_init(zp) must have been called + or both CCZP_MOD_PRIME((cc_unit *)zp) and CCZP_RECIP((cc_unit *)zp) must + be initialized some other way. + + Important: This function is intented to be constant time but is more likely + to leak information due to memory cache. Only used with randomized input + */ +CC_NONNULL_TU((1)) CC_NONNULL((2, 3, 4)) +int cczp_power_ssma(cczp_const_t zp, cc_unit *r, const cc_unit *m, + const cc_unit *e); + +int cczp_power_ssma_ws(cc_ws_t ws, cczp_const_t zp, cc_unit *r, const cc_unit *s, const cc_unit *e); + +/* Compute r = m ^ e mod cczp_prime(zp). Will write cczp_n(zp) units to r and + reads cczp_n(zp) units units from m. Reads ebitlen bits from e. + m must be <= to cczp_prime(zp). If r and m are not identical they must not + overlap. r and e must not overlap nor be identical. + Before calling this function either cczp_init(zp) must have been called + or both CCZP_MOD_PRIME((cc_unit *)zp) and CCZP_RECIP((cc_unit *)zp) must + be initialized some other way. */ +CC_NONNULL_TU((1)) CC_NONNULL((2, 3, 5)) +int cczp_powern(cczp_const_t zp, cc_unit *r, const cc_unit *s, + size_t ebitlen, const cc_unit *e); + +/* Compute r = x + y mod cczp_prime(zp). Will write cczp_n(zp) units to r and + reads cczp_n(zp) units units from x and y. If r and x are not identical + they must not overlap. Only cczp_n(zp) and cczp_prime(zp) need to be valid. + Can be used with cczp_short_nof_n sized cc_unit array zp. */ +CC_NONNULL_TU((1)) CC_NONNULL((2, 3, 4)) +void cczp_add(cczp_const_t zp, cc_unit *r, const cc_unit *x, + const cc_unit *y); + +CC_NONNULL_TU((1)) CC_NONNULL((2, 3, 4, 5)) +void cczp_add_ws(cc_ws_t ws, cczp_const_t zp, cc_unit *r, const cc_unit *x, + const cc_unit *y); + +/* Compute r = x - y mod cczp_prime(zp). Will write cczp_n(zp) units to r and + reads cczp_n(zp) units units from x and y. If r and x are not identical + they must not overlap. Only cczp_n(zp) and cczp_prime(zp) need to be valid. + Can be used with cczp_short_nof_n sized cc_unit array zp. */ +CC_NONNULL_TU((1)) CC_NONNULL((2, 3, 4)) +void cczp_sub(cczp_const_t zp, cc_unit *r, const cc_unit *x, const cc_unit *y); + +CC_NONNULL_TU((1)) CC_NONNULL((2, 3, 4, 5)) +void cczp_sub_ws(cc_ws_t ws, cczp_const_t zp, cc_unit *r, const cc_unit *x, + const cc_unit *y); + +/* Compute r = x / 2 mod cczp_prime(zp). Will write cczp_n(zp) units to r and + reads cczp_n(zp) units units from x. If r and x are not identical + they must not overlap. Only cczp_n(zp) and cczp_prime(zp) need to be valid. + Can be used with cczp_short_nof_n sized cc_unit array zp. */ +CC_NONNULL_TU((1)) CC_NONNULL((2, 3)) +void cczp_div2(cczp_const_t zp, cc_unit *r, const cc_unit *x); + +/* Compute q = a_2n / cczp_prime(zd) (mod cczp_prime(zd)) . Will write cczp_n(zd) + units to q and r. Will read 2 * cczp_n(zd) units units from a. If r and a + are not identical they must not overlap. Before calling this function + either cczp_init(zp) must have been called or both + CCZP_MOD_PRIME((cc_unit *)zp) and CCZP_RECIP((cc_unit *)zp) must be + initialized some other way. */ +CC_NONNULL_TU((1)) CC_NONNULL((2, 3, 4)) +void cczp_div(cczp_const_t zd, cc_unit *q, cc_unit *r, const cc_unit *a_2n); + + +/*! + @brief cczp_inv(zp, r, x) computes r = x^-1 (mod p) , where p=cczp_prime(zp). + @discussion It is a general function and works for any p. It validates the inputs. r and x can overlap. It writes n =cczp_n(zp) units to r, and read n units units from x and p. The output r is overwriten only if the inverse is correctly computed. This function is not constant time in absolute sense, but it does not have data dependent 'if' statements in the code. + @param zp The input zp. cczp_n(zp) and cczp_prime(zp) need to be valid. cczp_init(zp) need not to be called before invoking cczp_inv(). + @param x input big integer + @param r output big integer + @return 0 if inverse exists and correctly computed. + */ +CC_NONNULL_TU((1)) CC_NONNULL((2, 3)) + +int cczp_inv(cczp_const_t zp, cc_unit *r, const cc_unit *x); + +/*! + @brief cczp_inv_odd(zp, r, x) computes r = x^-1 (mod p) , where p=cczp_prime(zp) is an odd number. + @discussion r and x can overlap. + @param zp The input zp. cczp_n(zp) and cczp_prime(zp) need to be valid. cczp_init(zp) need not to be called before invoking. + @param x input big integer + @param r output big integer + @return 0 if successful + */ +CC_NONNULL_TU((1)) CC_NONNULL((2, 3)) +int cczp_inv_odd(cczp_const_t zp, cc_unit *r, const cc_unit *x); + +/*! + @brief cczp_inv_field(zp, r, x) computes r = x^-1 (mod p) , where p=cczp_prime(zp) is a prime number number. + @discussion r and x must NOT overlap. The excution time of the function is independent to the value of the input x. It works only if p is a field. That is, when p is a prime. It supports Montgomery and non-Montgomery form of zp. It leaks the value of the prime and should only be used be used for public (not secret) primes (ex. Elliptic Curves) + + @param zp The input zp. cczp_n(zp) and cczp_prime(zp) need to be valid. cczp_init(zp) need not to be called before invoking cczp_inv_field(). + @param x input big unteger + @param r output big integer + @return 0 if inverse exists and correctly computed. + */ +CC_NONNULL_TU((1)) CC_NONNULL((2, 3)) +int cczp_inv_field(cczp_const_t zp, cc_unit *r, const cc_unit *x); + +#endif /* _CORECRYPTO_CCZP_H_ */ diff --git a/corecrypto/cczp_priv.h b/corecrypto/cczp_priv.h new file mode 100644 index 0000000..08e2750 --- /dev/null +++ b/corecrypto/cczp_priv.h @@ -0,0 +1,142 @@ +/* + * Copyright (c) 2014,2015,2016,2017,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef corecrypto_cczp_priv_h +#define corecrypto_cczp_priv_h + +#include +#include + +#define CCZP_MOD_WORKSPACE_N(n) (6*((n)+1)+CCN_MUL_WS_WORKSPACE_N(n)) +#define CCZP_MUL_WORKSPACE_N(n) (2*(n) + CCZP_MOD_WORKSPACE_N(n)) +#define CCZP_POWER_SSMA_WORKSPACE_N(n) (5*(n) + CCZP_MUL_WORKSPACE_N(n)) +#define CCZP_SQR_WORKSPACE_N(n) (CCZP_MUL_WORKSPACE_N(n)) +#define CCZP_ADD_WORKSPACE_N(n) (1*n) +#define CCZP_SUB_WORKSPACE_N(n) (1*n) + +#define CCZP_MONTGOMERY 1 + +/* + * Same as cczp_init with workspace + */ +void cczp_init_ws(cc_ws_t ws, cczp_t zp); + +/* + * Same as cczp_modn with workspace + */ +int cczp_modn_ws(cc_ws_t ws, cczp_const_t zp, cc_unit *r, cc_size ns, const cc_unit *s); + + +/* Compute r = m ^ e (mod p), where p=cczp_prime(zp). Writes n=cczp_n(zp) units to r and + reads n units units from m and e. If r and m are not identical + they must not overlap. r and e must not overlap nor be identical. + Before calling this function either cczp_init(zp) must have been called + or both CCZP_MOD_PRIME((cc_unit *)zp) and CCZP_RECIP((cc_unit *)zp) must + be initialized some other way. + + Use this function with PUBLIC values only, it may leak the parameters + in timing / Simple power analysis + */ +CC_NONNULL_TU((1)) CC_NONNULL((2, 3, 4)) +int +cczp_power_fast(cczp_const_t zp, cc_unit *r, const cc_unit *s, const cc_unit *e); + +/* + * Montgomery representation support + */ +CC_NONNULL_TU((1)) +CC_INLINE +bool cczp_is_montgomery(cczp_const_t zp) { + return (CCZP_OPS(zp) & CCZP_MONTGOMERY) == CCZP_MONTGOMERY ; +} + +/* + * to Montgomery representation + */ +CC_NONNULL_TU((1)) CC_NONNULL((2, 3)) +CC_INLINE +void cczp_convert_to_montgomery(cczp_const_t zp,cc_unit *r, const cc_unit *x) { + //ccn_lprint(cczp_n(zp)+1, "Montgomery cst:",cczp_recip(zp));q + cc_assert(cczp_is_montgomery(zp)); + cczp_mul(zp,r,x,cczp_recip(zp)); +} + +/* + * from Montgomery representation + */ +CC_NONNULL_TU((1)) CC_NONNULL((2, 3)) +CC_INLINE +void cczp_convert_from_montgomery(cczp_const_t zp,cc_unit *r, const cc_unit *x) { + cc_unit t2[2*cczp_n(zp)];//vla + ccn_setn(2*cczp_n(zp), t2, cczp_n(zp),x); + cczp_mod_prime(zp)(NULL, zp, r, t2); +} + +#if CORECRYPTO_USE_TRANSPARENT_UNION + #define cczp_const_decl(zp, ini) cczp_const_t (zp); (zp).zp = (ini); +#else + #define cczp_const_decl(zp, ini) cczp_const_t (zp) = (ini); +#endif + +#endif diff --git a/corecrypto/fipspost.h b/corecrypto/fipspost.h new file mode 100644 index 0000000..b4b9aec --- /dev/null +++ b/corecrypto/fipspost.h @@ -0,0 +1,133 @@ +/* + * Copyright (c) 2012,2015,2016,2017,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ +#ifndef _CORECRYPTO_FIPSPOST_H_ +#define _CORECRYPTO_FIPSPOST_H_ + +#include + +// Error list +#define CCERR_GENERIC_FAILURE -1 // Configuration or unexpect issue +#define CCERR_INVALID_SLICE -2 +#define CCERR_FILE_ERROR -3 +#define CCERR_LIBRARY_ERROR -4 +#define CCERR_INTEGRITY_ERROR -5 +#define CCERR_KAT_FAILURE -6 // Output of the algo is not as expect + +// Boot-Arg fips_mode Flags +// +// FIPS_MODE_FLAG_FULL is the default value when no other value is set, which +// is the case for all production devices. +// +// When performing tests, if _FORCEFAIL is set to true, then the tests +// intentionally fail and log their failure. The kernelspace and userspace +// flags can be enabled independently. +// +// If it's not desired to panic, supply the _NOPANIC flag with the +// _FORCEFAIL flag. +// +// Additional logging can be enabled by supplying the _VERBOSE flag. +// +// _NOINTEG is used to ignore just the results of the module integrity +// check process, which is very useful when setting breakpoints in the +// kext for diagnostic or auditing purposes. +// +// Supplying _TRACE causes a trace buffer to be accumulated of the instrumented +// functions for only one execution of the POST. As the POST finishes, the +// _TRACE flag is cleared from the fips_mode and no further tracing will occur. +#define FIPS_MODE_FLAG_DEBUG (1 << 0) +#define FIPS_MODE_FLAG_FULL (1 << 1) +#define FIPS_MODE_FLAG_DISABLE (1 << 2) +#define FIPS_MODE_FLAG_VERBOSE (1 << 3) +#define FIPS_MODE_FLAG_US_FORCEFAIL (1 << 4) +#define FIPS_MODE_FLAG_KS_FORCEFAIL (1 << 5) +#define FIPS_MODE_FLAG_NOINTEG (1 << 6) +#define FIPS_MODE_FLAG_TRACE (1 << 7) +#define FIPS_MODE_FLAG_NOPANIC (1 << 8) + +#define FIPS_MODE_IS_DEBUG(MODE) ((MODE) & FIPS_MODE_FLAG_DEBUG) +#define FIPS_MODE_IS_FULL(MODE) ((MODE) & FIPS_MODE_FLAG_FULL) +#define FIPS_MODE_IS_DISABLE(MODE) ((MODE) & FIPS_MODE_FLAG_DISABLE) +#define FIPS_MODE_IS_VERBOSE(MODE) ((MODE) & FIPS_MODE_FLAG_VERBOSE) +#define FIPS_MODE_IS_US_FORCEFAIL(MODE) ((MODE) & FIPS_MODE_FLAG_US_FORCEFAIL) +#define FIPS_MODE_IS_KS_FORCEFAIL(MODE) ((MODE) & FIPS_MODE_FLAG_KS_FORCEFAIL) +#define FIPS_MODE_IS_NOINTEG(MODE) ((MODE) & FIPS_MODE_FLAG_NOINTEG) +#define FIPS_MODE_IS_TRACE(MODE) ((MODE) & FIPS_MODE_FLAG_TRACE) +#define FIPS_MODE_IS_NOPANIC(MODE) ((MODE) & FIPS_MODE_FLAG_NOPANIC) + +#if CC_KERNEL +#define FIPS_MODE_FLAG_FORCEFAIL FIPS_MODE_FLAG_KS_FORCEFAIL +#define FIPS_MODE_IS_FORCEFAIL(MODE) FIPS_MODE_IS_KS_FORCEFAIL(MODE) +#else +#define FIPS_MODE_FLAG_FORCEFAIL FIPS_MODE_FLAG_US_FORCEFAIL +#define FIPS_MODE_IS_FORCEFAIL(MODE) FIPS_MODE_IS_US_FORCEFAIL(MODE) +#endif + +struct mach_header; + +/* + * Entrypoint for all POST tests. + */ +int fipspost_post(int fips_mode, struct mach_header *pmach_header); + +#endif /* _CORECRYPTO_FIPSPOST_H_ */ diff --git a/ldid/ldid.cpp b/ldid/ldid.cpp new file mode 100644 index 0000000..6a12d43 --- /dev/null +++ b/ldid/ldid.cpp @@ -0,0 +1,2453 @@ +/* ldid - (Mach-O) Link-Loader Identity Editor + * Copyright (C) 2007-2015 Jay Freeman (saurik) +*/ + +/* GNU Affero General Public License, Version 3 {{{ */ +/* + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero 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 Affero General Public License for more details. + + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . +**/ +/* }}} */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#ifndef LDID_NOSMIME +#include +#include +#include +#include +#endif + +#ifdef __APPLE__ +#include + +#define LDID_SHA1_DIGEST_LENGTH CC_SHA1_DIGEST_LENGTH +#define LDID_SHA1 CC_SHA1 +#define LDID_SHA1_CTX CC_SHA1_CTX +#define LDID_SHA1_Init CC_SHA1_Init +#define LDID_SHA1_Update CC_SHA1_Update +#define LDID_SHA1_Final CC_SHA1_Final + +#define LDID_SHA256_DIGEST_LENGTH CC_SHA256_DIGEST_LENGTH +#define LDID_SHA256 CC_SHA256 +#define LDID_SHA256_CTX CC_SHA256_CTX +#define LDID_SHA256_Init CC_SHA256_Init +#define LDID_SHA256_Update CC_SHA256_Update +#define LDID_SHA256_Final CC_SHA256_Final +#else +#include + +#define LDID_SHA1_DIGEST_LENGTH SHA_DIGEST_LENGTH +#define LDID_SHA1 SHA1 +#define LDID_SHA1_CTX SHA_CTX +#define LDID_SHA1_Init SHA1_Init +#define LDID_SHA1_Update SHA1_Update +#define LDID_SHA1_Final SHA1_Final + +#define LDID_SHA256_DIGEST_LENGTH SHA256_DIGEST_LENGTH +#define LDID_SHA256 SHA256 +#define LDID_SHA256_CTX SHA256_CTX +#define LDID_SHA256_Init SHA256_Init +#define LDID_SHA256_Update SHA256_Update +#define LDID_SHA256_Final SHA256_Final +#endif + +#ifndef LDID_NOPLIST +#include +#endif + +#include "ldid.hpp" + +#define _assert___(line) \ + #line +#define _assert__(line) \ + _assert___(line) + +#ifdef __EXCEPTIONS +#define _assert_(expr, format, ...) \ + do if (!(expr)) { \ + fprintf(stderr, "%s(%u): _assert(): " format "\n", "ldid.cpp", __LINE__, ## __VA_ARGS__); \ + throw "ldid.cpp" "(" _assert__(__LINE__) "): _assert(" #expr ")"; \ + } while (false) +#else +// XXX: this is not acceptable +#define _assert_(expr, format, ...) \ + do if (!(expr)) { \ + fprintf(stderr, "%s(%u): _assert(): " format "\n", "ldid.cpp", __LINE__, ## __VA_ARGS__); \ + exit(-1); \ + } while (false) +#endif + +#define _assert(expr) \ + _assert_(expr, "%s", #expr) + +#define _syscall(expr, ...) [&] { for (;;) { \ + auto _value(expr); \ + if ((long) _value != -1) \ + return _value; \ + int error(errno); \ + if (error == EINTR) \ + continue; \ + /* XXX: EINTR is included in this list to fix g++ */ \ + for (auto success : (long[]) {EINTR, __VA_ARGS__}) \ + if (error == success) \ + return (decltype(expr)) -success; \ + _assert_(false, "errno=%u", error); \ +} }() + +#define _trace() \ + fprintf(stderr, "_trace(%s:%u): %s\n", "ldid.cpp", __LINE__, __FUNCTION__) + +#define _not(type) \ + ((type) ~ (type) 0) + +#define _packed \ + __attribute__((packed)) + +template +struct Iterator_ { + typedef typename Type_::const_iterator Result; +}; + +#define _foreach(item, list) \ + for (bool _stop(true); _stop; ) \ + for (const __typeof__(list) &_list = (list); _stop; _stop = false) \ + for (Iterator_<__typeof__(list)>::Result _item = _list.begin(); _item != _list.end(); ++_item) \ + for (bool _suck(true); _suck; _suck = false) \ + for (const __typeof__(*_item) &item = *_item; _suck; _suck = false) + +class _Scope { +}; + +template +class Scope : + public _Scope +{ + private: + Function_ function_; + + public: + Scope(const Function_ &function) : + function_(function) + { + } + + ~Scope() { + function_(); + } +}; + +template +Scope _scope(const Function_ &function) { + return Scope(function); +} + +#define _scope__(counter, function) \ + __attribute__((__unused__)) \ + const _Scope &_scope ## counter(_scope([&]function)) +#define _scope_(counter, function) \ + _scope__(counter, function) +#define _scope(function) \ + _scope_(__COUNTER__, function) + +#define CPU_ARCH_MASK uint32_t(0xff000000) +#define CPU_ARCH_ABI64 uint32_t(0x01000000) + +#define CPU_TYPE_ANY uint32_t(-1) +#define CPU_TYPE_VAX uint32_t( 1) +#define CPU_TYPE_MC680x0 uint32_t( 6) +#define CPU_TYPE_X86 uint32_t( 7) +#define CPU_TYPE_MC98000 uint32_t(10) +#define CPU_TYPE_HPPA uint32_t(11) +#define CPU_TYPE_ARM uint32_t(12) +#define CPU_TYPE_MC88000 uint32_t(13) +#define CPU_TYPE_SPARC uint32_t(14) +#define CPU_TYPE_I860 uint32_t(15) +#define CPU_TYPE_POWERPC uint32_t(18) + +#define CPU_TYPE_I386 CPU_TYPE_X86 + +#define CPU_TYPE_ARM64 (CPU_ARCH_ABI64 | CPU_TYPE_ARM) +#define CPU_TYPE_POWERPC64 (CPU_ARCH_ABI64 | CPU_TYPE_POWERPC) +#define CPU_TYPE_X86_64 (CPU_ARCH_ABI64 | CPU_TYPE_X86) + +struct fat_header { + uint32_t magic; + uint32_t nfat_arch; +} _packed; + +#define FAT_MAGIC 0xcafebabe +#define FAT_CIGAM 0xbebafeca + +struct fat_arch { + uint32_t cputype; + uint32_t cpusubtype; + uint32_t offset; + uint32_t size; + uint32_t align; +} _packed; + +struct mach_header { + uint32_t magic; + uint32_t cputype; + uint32_t cpusubtype; + uint32_t filetype; + uint32_t ncmds; + uint32_t sizeofcmds; + uint32_t flags; +} _packed; + +#define MH_MAGIC 0xfeedface +#define MH_CIGAM 0xcefaedfe + +#define MH_MAGIC_64 0xfeedfacf +#define MH_CIGAM_64 0xcffaedfe + +#define MH_DYLDLINK 0x4 + +#define MH_OBJECT 0x1 +#define MH_EXECUTE 0x2 +#define MH_DYLIB 0x6 +#define MH_BUNDLE 0x8 +#define MH_DYLIB_STUB 0x9 + +struct load_command { + uint32_t cmd; + uint32_t cmdsize; +} _packed; + +#define LC_REQ_DYLD uint32_t(0x80000000) + +#define LC_SEGMENT uint32_t(0x01) +#define LC_SYMTAB uint32_t(0x02) +#define LC_DYSYMTAB uint32_t(0x0b) +#define LC_LOAD_DYLIB uint32_t(0x0c) +#define LC_ID_DYLIB uint32_t(0x0d) +#define LC_SEGMENT_64 uint32_t(0x19) +#define LC_UUID uint32_t(0x1b) +#define LC_CODE_SIGNATURE uint32_t(0x1d) +#define LC_SEGMENT_SPLIT_INFO uint32_t(0x1e) +#define LC_REEXPORT_DYLIB uint32_t(0x1f | LC_REQ_DYLD) +#define LC_ENCRYPTION_INFO uint32_t(0x21) +#define LC_DYLD_INFO uint32_t(0x22) +#define LC_DYLD_INFO_ONLY uint32_t(0x22 | LC_REQ_DYLD) +#define LC_ENCRYPTION_INFO_64 uint32_t(0x2c) + +union Version { + struct { + uint8_t patch; + uint8_t minor; + uint16_t major; + } _packed; + + uint32_t value; +}; + +struct dylib { + uint32_t name; + uint32_t timestamp; + uint32_t current_version; + uint32_t compatibility_version; +} _packed; + +struct dylib_command { + uint32_t cmd; + uint32_t cmdsize; + struct dylib dylib; +} _packed; + +struct uuid_command { + uint32_t cmd; + uint32_t cmdsize; + uint8_t uuid[16]; +} _packed; + +struct symtab_command { + uint32_t cmd; + uint32_t cmdsize; + uint32_t symoff; + uint32_t nsyms; + uint32_t stroff; + uint32_t strsize; +} _packed; + +struct dyld_info_command { + uint32_t cmd; + uint32_t cmdsize; + uint32_t rebase_off; + uint32_t rebase_size; + uint32_t bind_off; + uint32_t bind_size; + uint32_t weak_bind_off; + uint32_t weak_bind_size; + uint32_t lazy_bind_off; + uint32_t lazy_bind_size; + uint32_t export_off; + uint32_t export_size; +} _packed; + +struct dysymtab_command { + uint32_t cmd; + uint32_t cmdsize; + uint32_t ilocalsym; + uint32_t nlocalsym; + uint32_t iextdefsym; + uint32_t nextdefsym; + uint32_t iundefsym; + uint32_t nundefsym; + uint32_t tocoff; + uint32_t ntoc; + uint32_t modtaboff; + uint32_t nmodtab; + uint32_t extrefsymoff; + uint32_t nextrefsyms; + uint32_t indirectsymoff; + uint32_t nindirectsyms; + uint32_t extreloff; + uint32_t nextrel; + uint32_t locreloff; + uint32_t nlocrel; +} _packed; + +struct dylib_table_of_contents { + uint32_t symbol_index; + uint32_t module_index; +} _packed; + +struct dylib_module { + uint32_t module_name; + uint32_t iextdefsym; + uint32_t nextdefsym; + uint32_t irefsym; + uint32_t nrefsym; + uint32_t ilocalsym; + uint32_t nlocalsym; + uint32_t iextrel; + uint32_t nextrel; + uint32_t iinit_iterm; + uint32_t ninit_nterm; + uint32_t objc_module_info_addr; + uint32_t objc_module_info_size; +} _packed; + +struct dylib_reference { + uint32_t isym:24; + uint32_t flags:8; +} _packed; + +struct relocation_info { + int32_t r_address; + uint32_t r_symbolnum:24; + uint32_t r_pcrel:1; + uint32_t r_length:2; + uint32_t r_extern:1; + uint32_t r_type:4; +} _packed; + +struct nlist { + union { + char *n_name; + int32_t n_strx; + } n_un; + + uint8_t n_type; + uint8_t n_sect; + uint8_t n_desc; + uint32_t n_value; +} _packed; + +struct segment_command { + uint32_t cmd; + uint32_t cmdsize; + char segname[16]; + uint32_t vmaddr; + uint32_t vmsize; + uint32_t fileoff; + uint32_t filesize; + uint32_t maxprot; + uint32_t initprot; + uint32_t nsects; + uint32_t flags; +} _packed; + +struct segment_command_64 { + uint32_t cmd; + uint32_t cmdsize; + char segname[16]; + uint64_t vmaddr; + uint64_t vmsize; + uint64_t fileoff; + uint64_t filesize; + uint32_t maxprot; + uint32_t initprot; + uint32_t nsects; + uint32_t flags; +} _packed; + +struct section { + char sectname[16]; + char segname[16]; + uint32_t addr; + uint32_t size; + uint32_t offset; + uint32_t align; + uint32_t reloff; + uint32_t nreloc; + uint32_t flags; + uint32_t reserved1; + uint32_t reserved2; +} _packed; + +struct section_64 { + char sectname[16]; + char segname[16]; + uint64_t addr; + uint64_t size; + uint32_t offset; + uint32_t align; + uint32_t reloff; + uint32_t nreloc; + uint32_t flags; + uint32_t reserved1; + uint32_t reserved2; + uint32_t reserved3; +} _packed; + +struct linkedit_data_command { + uint32_t cmd; + uint32_t cmdsize; + uint32_t dataoff; + uint32_t datasize; +} _packed; + +struct encryption_info_command { + uint32_t cmd; + uint32_t cmdsize; + uint32_t cryptoff; + uint32_t cryptsize; + uint32_t cryptid; +} _packed; + +#define BIND_OPCODE_MASK 0xf0 +#define BIND_IMMEDIATE_MASK 0x0f +#define BIND_OPCODE_DONE 0x00 +#define BIND_OPCODE_SET_DYLIB_ORDINAL_IMM 0x10 +#define BIND_OPCODE_SET_DYLIB_ORDINAL_ULEB 0x20 +#define BIND_OPCODE_SET_DYLIB_SPECIAL_IMM 0x30 +#define BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM 0x40 +#define BIND_OPCODE_SET_TYPE_IMM 0x50 +#define BIND_OPCODE_SET_ADDEND_SLEB 0x60 +#define BIND_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB 0x70 +#define BIND_OPCODE_ADD_ADDR_ULEB 0x80 +#define BIND_OPCODE_DO_BIND 0x90 +#define BIND_OPCODE_DO_BIND_ADD_ADDR_ULEB 0xa0 +#define BIND_OPCODE_DO_BIND_ADD_ADDR_IMM_SCALED 0xb0 +#define BIND_OPCODE_DO_BIND_ULEB_TIMES_SKIPPING_ULEB 0xc0 + +static auto dummy([](double) {}); + +static std::streamsize read(std::streambuf &stream, void *data, size_t size) { + auto writ(stream.sgetn(static_cast(data), size)); + _assert(writ >= 0); + return writ; +} + +static inline void get(std::streambuf &stream, void *data, size_t size) { + _assert(read(stream, data, size) == size); +} + +static inline void put(std::streambuf &stream, const void *data, size_t size) { + _assert(stream.sputn(static_cast(data), size) == size); +} + +static inline void put(std::streambuf &stream, const void *data, size_t size, const ldid::Functor &percent) { + percent(0); + for (size_t total(0); total != size;) { + auto writ(std::min(size - total, size_t(4096 * 4))); + _assert(stream.sputn(static_cast(data) + total, writ) == writ); + total += writ; + percent(double(total) / size); + } +} + +static size_t most(std::streambuf &stream, void *data, size_t size) { + size_t total(size); + while (size > 0) + if (auto writ = read(stream, data, size)) + size -= writ; + else break; + return total - size; +} + +static inline void pad(std::streambuf &stream, size_t size) { + char padding[size]; + memset(padding, 0, size); + put(stream, padding, size); +} + +template +Type_ Align(Type_ value, size_t align) { + value += align - 1; + value /= align; + value *= align; + return value; +} + +static const uint8_t PageShift_(0x0c); +static const uint32_t PageSize_(1 << PageShift_); + +static inline uint16_t Swap_(uint16_t value) { + return + ((value >> 8) & 0x00ff) | + ((value << 8) & 0xff00); +} + +static inline uint32_t Swap_(uint32_t value) { + value = ((value >> 8) & 0x00ff00ff) | + ((value << 8) & 0xff00ff00); + value = ((value >> 16) & 0x0000ffff) | + ((value << 16) & 0xffff0000); + return value; +} + +static inline uint64_t Swap_(uint64_t value) { + value = (value & 0x00000000ffffffff) << 32 | (value & 0xffffffff00000000) >> 32; + value = (value & 0x0000ffff0000ffff) << 16 | (value & 0xffff0000ffff0000) >> 16; + value = (value & 0x00ff00ff00ff00ff) << 8 | (value & 0xff00ff00ff00ff00) >> 8; + return value; +} + +static inline int16_t Swap_(int16_t value) { + return Swap_(static_cast(value)); +} + +static inline int32_t Swap_(int32_t value) { + return Swap_(static_cast(value)); +} + +static inline int64_t Swap_(int64_t value) { + return Swap_(static_cast(value)); +} + +static bool little_(true); + +static inline uint16_t Swap(uint16_t value) { + return little_ ? Swap_(value) : value; +} + +static inline uint32_t Swap(uint32_t value) { + return little_ ? Swap_(value) : value; +} + +static inline uint64_t Swap(uint64_t value) { + return little_ ? Swap_(value) : value; +} + +static inline int16_t Swap(int16_t value) { + return Swap(static_cast(value)); +} + +static inline int32_t Swap(int32_t value) { + return Swap(static_cast(value)); +} + +static inline int64_t Swap(int64_t value) { + return Swap(static_cast(value)); +} + +class Swapped { + protected: + bool swapped_; + + Swapped() : + swapped_(false) + { + } + + public: + Swapped(bool swapped) : + swapped_(swapped) + { + } + + template + Type_ Swap(Type_ value) const { + return swapped_ ? Swap_(value) : value; + } +}; + +class Data : + public Swapped +{ + private: + void *base_; + size_t size_; + + public: + Data(void *base, size_t size) : + base_(base), + size_(size) + { + } + + void *GetBase() const { + return base_; + } + + size_t GetSize() const { + return size_; + } +}; + +class MachHeader : + public Data +{ + private: + bool bits64_; + + struct mach_header *mach_header_; + struct load_command *load_command_; + + public: + MachHeader(void *base, size_t size) : + Data(base, size) + { + mach_header_ = (mach_header *) base; + + switch (Swap(mach_header_->magic)) { + case MH_CIGAM: + swapped_ = !swapped_; + case MH_MAGIC: + bits64_ = false; + break; + + case MH_CIGAM_64: + swapped_ = !swapped_; + case MH_MAGIC_64: + bits64_ = true; + break; + + default: + _assert(false); + } + + void *post = mach_header_ + 1; + if (bits64_) + post = (uint32_t *) post + 1; + load_command_ = (struct load_command *) post; + + _assert( + Swap(mach_header_->filetype) == MH_EXECUTE || + Swap(mach_header_->filetype) == MH_DYLIB || + Swap(mach_header_->filetype) == MH_BUNDLE + ); + } + + bool Bits64() const { + return bits64_; + } + + struct mach_header *operator ->() const { + return mach_header_; + } + + operator struct mach_header *() const { + return mach_header_; + } + + uint32_t GetCPUType() const { + return Swap(mach_header_->cputype); + } + + uint32_t GetCPUSubtype() const { + return Swap(mach_header_->cpusubtype) & 0xff; + } + + struct load_command *GetLoadCommand() const { + return load_command_; + } + + std::vector GetLoadCommands() const { + std::vector load_commands; + + struct load_command *load_command = load_command_; + for (uint32_t cmd = 0; cmd != Swap(mach_header_->ncmds); ++cmd) { + load_commands.push_back(load_command); + load_command = (struct load_command *) ((uint8_t *) load_command + Swap(load_command->cmdsize)); + } + + return load_commands; + } + + void ForSection(const ldid::Functor &code) const { + _foreach (load_command, GetLoadCommands()) + switch (Swap(load_command->cmd)) { + case LC_SEGMENT: { + auto segment(reinterpret_cast(load_command)); + code(segment->segname, NULL, GetOffset(segment->fileoff), segment->filesize); + auto section(reinterpret_cast(segment + 1)); + for (uint32_t i(0), e(Swap(segment->nsects)); i != e; ++i, ++section) + code(segment->segname, section->sectname, GetOffset(segment->fileoff + section->offset), section->size); + } break; + + case LC_SEGMENT_64: { + auto segment(reinterpret_cast(load_command)); + code(segment->segname, NULL, GetOffset(segment->fileoff), segment->filesize); + auto section(reinterpret_cast(segment + 1)); + for (uint32_t i(0), e(Swap(segment->nsects)); i != e; ++i, ++section) + code(segment->segname, section->sectname, GetOffset(segment->fileoff + section->offset), section->size); + } break; + } + } + + template + Target_ *GetOffset(uint32_t offset) const { + return reinterpret_cast(offset + (uint8_t *) mach_header_); + } +}; + +class FatMachHeader : + public MachHeader +{ + private: + fat_arch *fat_arch_; + + public: + FatMachHeader(void *base, size_t size, fat_arch *fat_arch) : + MachHeader(base, size), + fat_arch_(fat_arch) + { + } + + fat_arch *GetFatArch() const { + return fat_arch_; + } +}; + +class FatHeader : + public Data +{ + private: + fat_header *fat_header_; + std::vector mach_headers_; + + public: + FatHeader(void *base, size_t size) : + Data(base, size) + { + fat_header_ = reinterpret_cast(base); + + if (Swap(fat_header_->magic) == FAT_CIGAM) { + swapped_ = !swapped_; + goto fat; + } else if (Swap(fat_header_->magic) != FAT_MAGIC) { + fat_header_ = NULL; + mach_headers_.push_back(FatMachHeader(base, size, NULL)); + } else fat: { + size_t fat_narch = Swap(fat_header_->nfat_arch); + fat_arch *fat_arch = reinterpret_cast(fat_header_ + 1); + size_t arch; + for (arch = 0; arch != fat_narch; ++arch) { + uint32_t arch_offset = Swap(fat_arch->offset); + uint32_t arch_size = Swap(fat_arch->size); + mach_headers_.push_back(FatMachHeader((uint8_t *) base + arch_offset, arch_size, fat_arch)); + ++fat_arch; + } + } + } + + std::vector &GetMachHeaders() { + return mach_headers_; + } + + bool IsFat() const { + return fat_header_ != NULL; + } + + struct fat_header *operator ->() const { + return fat_header_; + } + + operator struct fat_header *() const { + return fat_header_; + } +}; + +#define CSMAGIC_REQUIREMENT uint32_t(0xfade0c00) +#define CSMAGIC_REQUIREMENTS uint32_t(0xfade0c01) +#define CSMAGIC_CODEDIRECTORY uint32_t(0xfade0c02) +#define CSMAGIC_EMBEDDED_SIGNATURE uint32_t(0xfade0cc0) +#define CSMAGIC_EMBEDDED_SIGNATURE_OLD uint32_t(0xfade0b02) +#define CSMAGIC_EMBEDDED_ENTITLEMENTS uint32_t(0xfade7171) +#define CSMAGIC_DETACHED_SIGNATURE uint32_t(0xfade0cc1) +#define CSMAGIC_BLOBWRAPPER uint32_t(0xfade0b01) + +#define CSSLOT_CODEDIRECTORY uint32_t(0x00000) +#define CSSLOT_INFOSLOT uint32_t(0x00001) +#define CSSLOT_REQUIREMENTS uint32_t(0x00002) +#define CSSLOT_RESOURCEDIR uint32_t(0x00003) +#define CSSLOT_APPLICATION uint32_t(0x00004) +#define CSSLOT_ENTITLEMENTS uint32_t(0x00005) +#define CSSLOT_ALTERNATE uint32_t(0x01000) + +#define CSSLOT_SIGNATURESLOT uint32_t(0x10000) + +#define CS_HASHTYPE_SHA160_160 1 +#define CS_HASHTYPE_SHA256_256 2 +#define CS_HASHTYPE_SHA256_160 3 +#define CS_HASHTYPE_SHA386_386 4 + +struct BlobIndex { + uint32_t type; + uint32_t offset; +} _packed; + +struct Blob { + uint32_t magic; + uint32_t length; +} _packed; + +struct SuperBlob { + struct Blob blob; + uint32_t count; + struct BlobIndex index[]; +} _packed; + +struct CodeDirectory { + uint32_t version; + uint32_t flags; + uint32_t hashOffset; + uint32_t identOffset; + uint32_t nSpecialSlots; + uint32_t nCodeSlots; + uint32_t codeLimit; + uint8_t hashSize; + uint8_t hashType; + uint8_t spare1; + uint8_t pageSize; + uint32_t spare2; + uint32_t scatterOffset; + uint32_t teamIDOffset; + uint32_t spare3; + uint64_t codeLimit64; +} _packed; + +#ifndef LDID_NOFLAGT +extern "C" uint32_t hash(uint8_t *k, uint32_t length, uint32_t initval); +#endif + +struct Algorithm { + size_t size_; + uint8_t type_; + + Algorithm(size_t size, uint8_t type) : + size_(size), + type_(type) + { + } + + virtual const uint8_t *operator [](const ldid::Hash &hash) const = 0; + + virtual void operator ()(uint8_t *hash, const void *data, size_t size) const = 0; + virtual void operator ()(ldid::Hash &hash, const void *data, size_t size) const = 0; + virtual void operator ()(std::vector &hash, const void *data, size_t size) const = 0; +}; + +struct AlgorithmSHA1 : + Algorithm +{ + AlgorithmSHA1() : + Algorithm(LDID_SHA1_DIGEST_LENGTH, CS_HASHTYPE_SHA160_160) + { + } + + virtual const uint8_t *operator [](const ldid::Hash &hash) const { + return hash.sha1_; + } + + void operator ()(uint8_t *hash, const void *data, size_t size) const { + LDID_SHA1(static_cast(data), size, hash); + } + + void operator ()(ldid::Hash &hash, const void *data, size_t size) const { + return operator()(hash.sha1_, data, size); + } + + void operator ()(std::vector &hash, const void *data, size_t size) const { + hash.resize(LDID_SHA1_DIGEST_LENGTH); + return operator ()(reinterpret_cast(hash.data()), data, size); + } +}; + +struct AlgorithmSHA256 : + Algorithm +{ + AlgorithmSHA256() : + Algorithm(LDID_SHA256_DIGEST_LENGTH, CS_HASHTYPE_SHA256_256) + { + } + + virtual const uint8_t *operator [](const ldid::Hash &hash) const { + return hash.sha256_; + } + + void operator ()(uint8_t *hash, const void *data, size_t size) const { + LDID_SHA256(static_cast(data), size, hash); + } + + void operator ()(ldid::Hash &hash, const void *data, size_t size) const { + return operator()(hash.sha256_, data, size); + } + + void operator ()(std::vector &hash, const void *data, size_t size) const { + hash.resize(LDID_SHA256_DIGEST_LENGTH); + return operator ()(reinterpret_cast(hash.data()), data, size); + } +}; + +static const std::vector &GetAlgorithms() { + static AlgorithmSHA1 sha1; + static AlgorithmSHA256 sha256; + + static Algorithm *array[] = { + &sha1, + &sha256, + }; + + static std::vector algorithms(array, array + sizeof(array) / sizeof(array[0])); + return algorithms; +} + +struct CodesignAllocation { + FatMachHeader mach_header_; + uint32_t offset_; + uint32_t size_; + uint32_t limit_; + uint32_t alloc_; + uint32_t align_; + + CodesignAllocation(FatMachHeader mach_header, size_t offset, size_t size, size_t limit, size_t alloc, size_t align) : + mach_header_(mach_header), + offset_(offset), + size_(size), + limit_(limit), + alloc_(alloc), + align_(align) + { + } +}; + +#ifndef LDID_NOTOOLS +class File { + private: + int file_; + + public: + File() : + file_(-1) + { + } + + ~File() { + if (file_ != -1) + _syscall(close(file_)); + } + + void open(const char *path, int flags) { + _assert(file_ == -1); + file_ = _syscall(::open(path, flags)); + } + + int file() const { + return file_; + } +}; + +class Map { + private: + File file_; + void *data_; + size_t size_; + + void clear() { + if (data_ == NULL) + return; + _syscall(munmap(data_, size_)); + data_ = NULL; + size_ = 0; + } + + public: + Map() : + data_(NULL), + size_(0) + { + } + + Map(const std::string &path, int oflag, int pflag, int mflag) : + Map() + { + open(path, oflag, pflag, mflag); + } + + Map(const std::string &path, bool edit) : + Map() + { + open(path, edit); + } + + ~Map() { + clear(); + } + + bool empty() const { + return data_ == NULL; + } + + void open(const std::string &path, int oflag, int pflag, int mflag) { + clear(); + + file_.open(path.c_str(), oflag); + int file(file_.file()); + + struct stat stat; + _syscall(fstat(file, &stat)); + size_ = stat.st_size; + + data_ = _syscall(mmap(NULL, size_, pflag, mflag, file, 0)); + } + + void open(const std::string &path, bool edit) { + if (edit) + open(path, O_RDWR, PROT_READ | PROT_WRITE, MAP_SHARED); + else + open(path, O_RDONLY, PROT_READ, MAP_PRIVATE); + } + + void *data() const { + return data_; + } + + size_t size() const { + return size_; + } + + operator std::string() const { + return std::string(static_cast(data_), size_); + } +}; +#endif + +namespace ldid { + +std::string Analyze(const void *data, size_t size) { + std::string entitlements; + + FatHeader fat_header(const_cast(data), size); + _foreach (mach_header, fat_header.GetMachHeaders()) + _foreach (load_command, mach_header.GetLoadCommands()) + if (mach_header.Swap(load_command->cmd) == LC_CODE_SIGNATURE) { + auto signature(reinterpret_cast(load_command)); + auto offset(mach_header.Swap(signature->dataoff)); + auto pointer(reinterpret_cast(mach_header.GetBase()) + offset); + auto super(reinterpret_cast(pointer)); + + for (size_t index(0); index != Swap(super->count); ++index) + if (Swap(super->index[index].type) == CSSLOT_ENTITLEMENTS) { + auto begin(Swap(super->index[index].offset)); + auto blob(reinterpret_cast(pointer + begin)); + auto writ(Swap(blob->length) - sizeof(*blob)); + + if (entitlements.empty()) + entitlements.assign(reinterpret_cast(blob + 1), writ); + else + _assert(entitlements.compare(0, entitlements.size(), reinterpret_cast(blob + 1), writ) == 0); + } + } + + return entitlements; +} + +static void Allocate(const void *idata, size_t isize, std::streambuf &output, const Functor &allocate, const Functor &)> &save, const Functor &percent) { + FatHeader source(const_cast(idata), isize); + + size_t offset(0); + if (source.IsFat()) + offset += sizeof(fat_header) + sizeof(fat_arch) * source.Swap(source->nfat_arch); + + std::vector allocations; + _foreach (mach_header, source.GetMachHeaders()) { + struct linkedit_data_command *signature(NULL); + struct symtab_command *symtab(NULL); + + _foreach (load_command, mach_header.GetLoadCommands()) { + uint32_t cmd(mach_header.Swap(load_command->cmd)); + if (false); + else if (cmd == LC_CODE_SIGNATURE) + signature = reinterpret_cast(load_command); + else if (cmd == LC_SYMTAB) + symtab = reinterpret_cast(load_command); + } + + size_t size; + if (signature == NULL) + size = mach_header.GetSize(); + else { + size = mach_header.Swap(signature->dataoff); + _assert(size <= mach_header.GetSize()); + } + + if (symtab != NULL) { + auto end(mach_header.Swap(symtab->stroff) + mach_header.Swap(symtab->strsize)); + _assert(end <= size); + _assert(end >= size - 0x10); + size = end; + } + + size_t alloc(allocate(mach_header, size)); + + auto *fat_arch(mach_header.GetFatArch()); + uint32_t align; + + if (fat_arch != NULL) + align = source.Swap(fat_arch->align); + else switch (mach_header.GetCPUType()) { + case CPU_TYPE_POWERPC: + case CPU_TYPE_POWERPC64: + case CPU_TYPE_X86: + case CPU_TYPE_X86_64: + align = 0xc; + break; + case CPU_TYPE_ARM: + case CPU_TYPE_ARM64: + align = 0xe; + break; + default: + align = 0x0; + break; + } + + offset = Align(offset, 1 << align); + + uint32_t limit(size); + if (alloc != 0) + limit = Align(limit, 0x10); + + allocations.push_back(CodesignAllocation(mach_header, offset, size, limit, alloc, align)); + offset += size + alloc; + offset = Align(offset, 0x10); + } + + size_t position(0); + + if (source.IsFat()) { + fat_header fat_header; + fat_header.magic = Swap(FAT_MAGIC); + fat_header.nfat_arch = Swap(uint32_t(allocations.size())); + put(output, &fat_header, sizeof(fat_header)); + position += sizeof(fat_header); + + _foreach (allocation, allocations) { + auto &mach_header(allocation.mach_header_); + + fat_arch fat_arch; + fat_arch.cputype = Swap(mach_header->cputype); + fat_arch.cpusubtype = Swap(mach_header->cpusubtype); + fat_arch.offset = Swap(allocation.offset_); + fat_arch.size = Swap(allocation.limit_ + allocation.alloc_); + fat_arch.align = Swap(allocation.align_); + put(output, &fat_arch, sizeof(fat_arch)); + position += sizeof(fat_arch); + } + } + + _foreach (allocation, allocations) { + auto &mach_header(allocation.mach_header_); + + pad(output, allocation.offset_ - position); + position = allocation.offset_; + + std::vector commands; + + _foreach (load_command, mach_header.GetLoadCommands()) { + std::string copy(reinterpret_cast(load_command), load_command->cmdsize); + + switch (mach_header.Swap(load_command->cmd)) { + case LC_CODE_SIGNATURE: + continue; + break; + + case LC_SEGMENT: { + auto segment_command(reinterpret_cast(©[0])); + if (strncmp(segment_command->segname, "__LINKEDIT", 16) != 0) + break; + size_t size(mach_header.Swap(allocation.limit_ + allocation.alloc_ - mach_header.Swap(segment_command->fileoff))); + segment_command->filesize = size; + segment_command->vmsize = Align(size, 1 << allocation.align_); + } break; + + case LC_SEGMENT_64: { + auto segment_command(reinterpret_cast(©[0])); + if (strncmp(segment_command->segname, "__LINKEDIT", 16) != 0) + break; + size_t size(mach_header.Swap(allocation.limit_ + allocation.alloc_ - mach_header.Swap(segment_command->fileoff))); + segment_command->filesize = size; + segment_command->vmsize = Align(size, 1 << allocation.align_); + } break; + } + + commands.push_back(copy); + } + + if (allocation.alloc_ != 0) { + linkedit_data_command signature; + signature.cmd = mach_header.Swap(LC_CODE_SIGNATURE); + signature.cmdsize = mach_header.Swap(uint32_t(sizeof(signature))); + signature.dataoff = mach_header.Swap(allocation.limit_); + signature.datasize = mach_header.Swap(allocation.alloc_); + commands.push_back(std::string(reinterpret_cast(&signature), sizeof(signature))); + } + + size_t begin(position); + + uint32_t after(0); + _foreach(command, commands) + after += command.size(); + + std::stringbuf altern; + + struct mach_header header(*mach_header); + header.ncmds = mach_header.Swap(uint32_t(commands.size())); + header.sizeofcmds = mach_header.Swap(after); + put(output, &header, sizeof(header)); + put(altern, &header, sizeof(header)); + position += sizeof(header); + + if (mach_header.Bits64()) { + auto pad(mach_header.Swap(uint32_t(0))); + put(output, &pad, sizeof(pad)); + put(altern, &pad, sizeof(pad)); + position += sizeof(pad); + } + + _foreach(command, commands) { + put(output, command.data(), command.size()); + put(altern, command.data(), command.size()); + position += command.size(); + } + + uint32_t before(mach_header.Swap(mach_header->sizeofcmds)); + if (before > after) { + pad(output, before - after); + pad(altern, before - after); + position += before - after; + } + + auto top(reinterpret_cast(mach_header.GetBase())); + + std::string overlap(altern.str()); + overlap.append(top + overlap.size(), Align(overlap.size(), 0x1000) - overlap.size()); + + put(output, top + (position - begin), allocation.size_ - (position - begin), percent); + position = begin + allocation.size_; + + pad(output, allocation.limit_ - allocation.size_); + position += allocation.limit_ - allocation.size_; + + size_t saved(save(mach_header, output, allocation.limit_, overlap, top, percent)); + if (allocation.alloc_ > saved) + pad(output, allocation.alloc_ - saved); + else + _assert(allocation.alloc_ == saved); + position += allocation.alloc_; + } +} + +} + +typedef std::map Blobs; + +static void insert(Blobs &blobs, uint32_t slot, const std::stringbuf &buffer) { + auto value(buffer.str()); + std::swap(blobs[slot], value); +} + +static const std::string &insert(Blobs &blobs, uint32_t slot, uint32_t magic, const std::stringbuf &buffer) { + auto value(buffer.str()); + Blob blob; + blob.magic = Swap(magic); + blob.length = Swap(uint32_t(sizeof(blob) + value.size())); + value.insert(0, reinterpret_cast(&blob), sizeof(blob)); + auto &save(blobs[slot]); + std::swap(save, value); + return save; +} + +static size_t put(std::streambuf &output, uint32_t magic, const Blobs &blobs) { + size_t total(0); + _foreach (blob, blobs) + total += blob.second.size(); + + struct SuperBlob super; + super.blob.magic = Swap(magic); + super.blob.length = Swap(uint32_t(sizeof(SuperBlob) + blobs.size() * sizeof(BlobIndex) + total)); + super.count = Swap(uint32_t(blobs.size())); + put(output, &super, sizeof(super)); + + size_t offset(sizeof(SuperBlob) + sizeof(BlobIndex) * blobs.size()); + + _foreach (blob, blobs) { + BlobIndex index; + index.type = Swap(blob.first); + index.offset = Swap(uint32_t(offset)); + put(output, &index, sizeof(index)); + offset += blob.second.size(); + } + + _foreach (blob, blobs) + put(output, blob.second.data(), blob.second.size()); + + return offset; +} + +#ifndef LDID_NOSMIME +class Buffer { + private: + BIO *bio_; + + public: + Buffer(BIO *bio) : + bio_(bio) + { + _assert(bio_ != NULL); + } + + Buffer() : + bio_(BIO_new(BIO_s_mem())) + { + } + + Buffer(const char *data, size_t size) : + Buffer(BIO_new_mem_buf(const_cast(data), size)) + { + } + + Buffer(const std::string &data) : + Buffer(data.data(), data.size()) + { + } + + Buffer(CMS_ContentInfo *cms) : + Buffer() + { + _assert(i2d_CMS_bio(bio_, cms) != 0); + } + + ~Buffer() { + BIO_free_all(bio_); + } + + operator BIO *() const { + return bio_; + } + + explicit operator std::string() const { + char *data; + auto size(BIO_get_mem_data(bio_, &data)); + return std::string(data, size); + } +}; + +class Stuff { + private: + PKCS12 *value_; + EVP_PKEY *key_; + X509 *cert_; + STACK_OF(X509) *ca_; + + public: + Stuff(BIO *bio) : + value_(d2i_PKCS12_bio(bio, NULL)), + ca_(NULL) + { + _assert(value_ != NULL); + _assert(PKCS12_parse(value_, "", &key_, &cert_, &ca_) != 0); + _assert(key_ != NULL); + _assert(cert_ != NULL); + } + + Stuff(const std::string &data) : + Stuff(Buffer(data)) + { + } + + ~Stuff() { + sk_X509_pop_free(ca_, X509_free); + X509_free(cert_); + EVP_PKEY_free(key_); + PKCS12_free(value_); + } + + operator PKCS12 *() const { + return value_; + } + + operator EVP_PKEY *() const { + return key_; + } + + operator X509 *() const { + return cert_; + } + + operator STACK_OF(X509) *() const { + return ca_; + } +}; + +class Signature { + private: + CMS_ContentInfo *value_; + + public: + Signature(const Stuff &stuff, const Buffer &data) + { + int flags = CMS_PARTIAL | CMS_DETACHED | CMS_NOSMIMECAP | CMS_BINARY; + + CMS_ContentInfo *stream = CMS_sign(NULL, NULL, stuff, NULL, flags); + + // iOS 12 requires both SHA1 and SHA256 signing digests. + CMS_add1_signer(stream, stuff, stuff, EVP_sha256(), flags); + CMS_add1_signer(stream, stuff, stuff, EVP_sha1(), flags); + + CMS_final(stream, data, NULL, flags); + + value_ = stream; + _assert(value_ != NULL); + } + + ~Signature() { + CMS_ContentInfo_free(value_); + } + + operator CMS_ContentInfo *() const { + return value_; + } +}; +#endif + +class NullBuffer : + public std::streambuf +{ + public: + virtual std::streamsize xsputn(const char_type *data, std::streamsize size) { + return size; + } + + virtual int_type overflow(int_type next) { + return next; + } +}; + +class Digest { + public: + uint8_t sha1_[LDID_SHA1_DIGEST_LENGTH]; +}; + +class HashBuffer : + public std::streambuf +{ + private: + ldid::Hash &hash_; + + LDID_SHA1_CTX sha1_; + LDID_SHA256_CTX sha256_; + + public: + HashBuffer(ldid::Hash &hash) : + hash_(hash) + { + LDID_SHA1_Init(&sha1_); + LDID_SHA256_Init(&sha256_); + } + + ~HashBuffer() { + LDID_SHA1_Final(reinterpret_cast(hash_.sha1_), &sha1_); + LDID_SHA256_Final(reinterpret_cast(hash_.sha256_), &sha256_); + } + + virtual std::streamsize xsputn(const char_type *data, std::streamsize size) { + LDID_SHA1_Update(&sha1_, data, size); + LDID_SHA256_Update(&sha256_, data, size); + return size; + } + + virtual int_type overflow(int_type next) { + if (next == traits_type::eof()) + return sync(); + char value(next); + xsputn(&value, 1); + return next; + } +}; + +class HashProxy : + public HashBuffer +{ + private: + std::streambuf &buffer_; + + public: + HashProxy(ldid::Hash &hash, std::streambuf &buffer) : + HashBuffer(hash), + buffer_(buffer) + { + } + + virtual std::streamsize xsputn(const char_type *data, std::streamsize size) { + _assert(HashBuffer::xsputn(data, size) == size); + return buffer_.sputn(data, size); + } +}; + +#ifndef LDID_NOTOOLS +static bool Starts(const std::string &lhs, const std::string &rhs) { + return lhs.size() >= rhs.size() && lhs.compare(0, rhs.size(), rhs) == 0; +} + +class Split { + public: + std::string dir; + std::string base; + + Split(const std::string &path) { + size_t slash(path.rfind('/')); + if (slash == std::string::npos) + base = path; + else { + dir = path.substr(0, slash + 1); + base = path.substr(slash + 1); + } + } +}; + +static void mkdir_p(const std::string &path) { + if (path.empty()) + return; +#ifdef __WIN32__ + if (_syscall(mkdir(path.c_str()), EEXIST) == -EEXIST) + return; +#else + if (_syscall(mkdir(path.c_str(), 0755), EEXIST) == -EEXIST) + return; +#endif + auto slash(path.rfind('/', path.size() - 1)); + if (slash == std::string::npos) + return; + mkdir_p(path.substr(0, slash)); +} + +static std::string Temporary(std::filebuf &file, const Split &split) { + std::string temp(split.dir + ".ldid." + split.base); + mkdir_p(split.dir); + _assert_(file.open(temp.c_str(), std::ios::out | std::ios::trunc | std::ios::binary) == &file, "open(): %s", temp.c_str()); + return temp; +} + +static void Commit(const std::string &path, const std::string &temp) { + struct stat info; + if (_syscall(stat(path.c_str(), &info), ENOENT) == 0) { +#ifndef __WIN32__ + _syscall(chown(temp.c_str(), info.st_uid, info.st_gid)); +#endif + _syscall(chmod(temp.c_str(), info.st_mode)); + } + + _syscall(rename(temp.c_str(), path.c_str())); +} +#endif + +namespace ldid { + +Hash Sign(const void *idata, size_t isize, std::streambuf &output, const std::string &identifier, const std::string &entitlements, const std::string &requirement, const std::string &key, const Slots &slots, const Functor &percent) { + Hash hash; + + std::string team; + +#ifndef LDID_NOSMIME + if (!key.empty()) { + Stuff stuff(key); + auto name(X509_get_subject_name(stuff)); + _assert(name != NULL); + auto index(X509_NAME_get_index_by_NID(name, NID_organizationalUnitName, -1)); + _assert(index >= 0); + auto next(X509_NAME_get_index_by_NID(name, NID_organizationalUnitName, index)); + _assert(next == -1); + auto entry(X509_NAME_get_entry(name, index)); + _assert(entry != NULL); + auto asn(X509_NAME_ENTRY_get_data(entry)); + _assert(asn != NULL); + team.assign(reinterpret_cast(ASN1_STRING_data(asn)), ASN1_STRING_length(asn)); + } +#endif + + // XXX: this is just a "sufficiently large number" + size_t certificate(0x3000); + + Allocate(idata, isize, output, fun([&](const MachHeader &mach_header, size_t size) -> size_t { + size_t alloc(sizeof(struct SuperBlob)); + + uint32_t normal((size + PageSize_ - 1) / PageSize_); + + uint32_t special(0); + + _foreach (slot, slots) + special = std::max(special, slot.first); + + mach_header.ForSection(fun([&](const char *segment, const char *section, void *data, size_t size) { + if (strcmp(segment, "__TEXT") == 0 && section != NULL && strcmp(section, "__info_plist") == 0) + special = std::max(special, CSSLOT_INFOSLOT); + })); + + special = std::max(special, CSSLOT_REQUIREMENTS); + alloc += sizeof(struct BlobIndex); + if (requirement.empty()) + alloc += 0xc; + else + alloc += requirement.size(); + + if (!entitlements.empty()) { + special = std::max(special, CSSLOT_ENTITLEMENTS); + alloc += sizeof(struct BlobIndex); + alloc += sizeof(struct Blob); + alloc += entitlements.size(); + } + + size_t directory(0); + + directory += sizeof(struct BlobIndex); + directory += sizeof(struct Blob); + directory += sizeof(struct CodeDirectory); + directory += identifier.size() + 1; + + if (!team.empty()) + directory += team.size() + 1; + + for (Algorithm *algorithm : GetAlgorithms()) + alloc = Align(alloc + directory + (special + normal) * algorithm->size_, 16); + + if (!key.empty()) { + alloc += sizeof(struct BlobIndex); + alloc += sizeof(struct Blob); + alloc += certificate; + } + + return alloc; + }), fun([&](const MachHeader &mach_header, std::streambuf &output, size_t limit, const std::string &overlap, const char *top, const Functor &percent) -> size_t { + Blobs blobs; + + if (true) { + std::stringbuf data; + + if (requirement.empty()) { + Blobs requirements; + put(data, CSMAGIC_REQUIREMENTS, requirements); + } else { + put(data, requirement.data(), requirement.size()); + } + + insert(blobs, CSSLOT_REQUIREMENTS, data); + } + + if (!entitlements.empty()) { + std::stringbuf data; + put(data, entitlements.data(), entitlements.size()); + insert(blobs, CSSLOT_ENTITLEMENTS, CSMAGIC_EMBEDDED_ENTITLEMENTS, data); + } + + Slots posts(slots); + + mach_header.ForSection(fun([&](const char *segment, const char *section, void *data, size_t size) { + if (strcmp(segment, "__TEXT") == 0 && section != NULL && strcmp(section, "__info_plist") == 0) { + auto &slot(posts[CSSLOT_INFOSLOT]); + for (Algorithm *algorithm : GetAlgorithms()) + (*algorithm)(slot, data, size); + } + })); + + unsigned total(0); + for (Algorithm *pointer : GetAlgorithms()) { + Algorithm &algorithm(*pointer); + + std::stringbuf data; + + uint32_t special(0); + _foreach (blob, blobs) + special = std::max(special, blob.first); + _foreach (slot, posts) + special = std::max(special, slot.first); + uint32_t normal((limit + PageSize_ - 1) / PageSize_); + + CodeDirectory directory; + directory.version = Swap(uint32_t(0x00020200)); + directory.flags = Swap(uint32_t(0)); + directory.nSpecialSlots = Swap(special); + directory.codeLimit = Swap(uint32_t(limit)); + directory.nCodeSlots = Swap(normal); + directory.hashSize = algorithm.size_; + directory.hashType = algorithm.type_; + directory.spare1 = 0x00; + directory.pageSize = PageShift_; + directory.spare2 = Swap(uint32_t(0)); + directory.scatterOffset = Swap(uint32_t(0)); + directory.spare3 = Swap(uint32_t(0)); + directory.codeLimit64 = Swap(uint64_t(0)); + + uint32_t offset(sizeof(Blob) + sizeof(CodeDirectory)); + + directory.identOffset = Swap(uint32_t(offset)); + offset += identifier.size() + 1; + + if (team.empty()) + directory.teamIDOffset = Swap(uint32_t(0)); + else { + directory.teamIDOffset = Swap(uint32_t(offset)); + offset += team.size() + 1; + } + + offset += special * algorithm.size_; + directory.hashOffset = Swap(uint32_t(offset)); + offset += normal * algorithm.size_; + + put(data, &directory, sizeof(directory)); + + put(data, identifier.c_str(), identifier.size() + 1); + if (!team.empty()) + put(data, team.c_str(), team.size() + 1); + + std::vector storage((special + normal) * algorithm.size_); + auto *hashes(&storage[special * algorithm.size_]); + + memset(storage.data(), 0, special * algorithm.size_); + + _foreach (blob, blobs) { + auto local(reinterpret_cast(&blob.second[0])); + algorithm(hashes - blob.first * algorithm.size_, local, Swap(local->length)); + } + + _foreach (slot, posts) + memcpy(hashes - slot.first * algorithm.size_, algorithm[slot.second], algorithm.size_); + + percent(0); + if (normal != 1) + for (size_t i = 0; i != normal - 1; ++i) { + algorithm(hashes + i * algorithm.size_, (PageSize_ * i < overlap.size() ? overlap.data() : top) + PageSize_ * i, PageSize_); + percent(double(i) / normal); + } + if (normal != 0) + algorithm(hashes + (normal - 1) * algorithm.size_, top + PageSize_ * (normal - 1), ((limit - 1) % PageSize_) + 1); + percent(1); + + put(data, storage.data(), storage.size()); + + const auto &save(insert(blobs, total == 0 ? CSSLOT_CODEDIRECTORY : CSSLOT_ALTERNATE + total - 1, CSMAGIC_CODEDIRECTORY, data)); + algorithm(hash, save.data(), save.size()); + + ++total; + } + +#ifndef LDID_NOSMIME + if (!key.empty()) { + std::stringbuf data; + const std::string &sign(blobs[CSSLOT_CODEDIRECTORY]); + + Stuff stuff(key); + Buffer bio(sign); + + Signature signature(stuff, sign); + Buffer result(signature); + std::string value(result); + put(data, value.data(), value.size()); + + const auto &save(insert(blobs, CSSLOT_SIGNATURESLOT, CSMAGIC_BLOBWRAPPER, data)); + _assert(save.size() <= certificate); + } +#endif + + return put(output, CSMAGIC_EMBEDDED_SIGNATURE, blobs); + }), percent); + + return hash; +} + +#ifndef LDID_NOTOOLS +static void Unsign(void *idata, size_t isize, std::streambuf &output, const Functor &percent) { + Allocate(idata, isize, output, fun([](const MachHeader &mach_header, size_t size) -> size_t { + return 0; + }), fun([](const MachHeader &mach_header, std::streambuf &output, size_t limit, const std::string &overlap, const char *top, const Functor &percent) -> size_t { + return 0; + }), percent); +} + +std::string DiskFolder::Path(const std::string &path) const { + return path_ + "/" + path; +} + +DiskFolder::DiskFolder(const std::string &path) : + path_(path) +{ +} + +DiskFolder::~DiskFolder() { + if (!std::uncaught_exception()) + for (const auto &commit : commit_) + Commit(commit.first, commit.second); +} + +#ifndef __WIN32__ +std::string readlink(const std::string &path) { + for (size_t size(1024); ; size *= 2) { + std::string data; + data.resize(size); + + int writ(_syscall(::readlink(path.c_str(), &data[0], data.size()))); + if (size_t(writ) >= size) + continue; + + data.resize(writ); + return data; + } +} +#endif + +void DiskFolder::Find(const std::string &root, const std::string &base, const Functor &code, const Functor &)> &link) const { + std::string path(Path(root) + base); + + DIR *dir(opendir(path.c_str())); + _assert(dir != NULL); + _scope({ _syscall(closedir(dir)); }); + + while (auto child = readdir(dir)) { + std::string name(child->d_name); + if (name == "." || name == "..") + continue; + if (Starts(name, ".ldid.")) + continue; + + bool directory; + +#ifdef __WIN32__ + struct stat info; + _syscall(stat((path + name).c_str(), &info)); + if (false); + else if (S_ISDIR(info.st_mode)) + directory = true; + else if (S_ISREG(info.st_mode)) + directory = false; + else + _assert_(false, "st_mode=%x", info.st_mode); +#else + switch (child->d_type) { + case DT_DIR: + directory = true; + break; + case DT_REG: + directory = false; + break; + case DT_LNK: + link(base + name, fun([&]() { return readlink(path + name); })); + continue; + default: + _assert_(false, "d_type=%u", child->d_type); + } +#endif + + if (directory) + Find(root, base + name + "/", code, link); + else + code(base + name); + } +} + +void DiskFolder::Save(const std::string &path, bool edit, const void *flag, const Functor &code) { + if (!edit) { + // XXX: use nullbuf + std::stringbuf save; + code(save); + } else { + std::filebuf save; + auto from(Path(path)); + commit_[from] = Temporary(save, from); + code(save); + } +} + +bool DiskFolder::Look(const std::string &path) const { + return _syscall(access(Path(path).c_str(), R_OK), ENOENT) == 0; +} + +void DiskFolder::Open(const std::string &path, const Functor &code) const { + std::filebuf data; + auto result(data.open(Path(path).c_str(), std::ios::binary | std::ios::in)); + _assert_(result == &data, "DiskFolder::Open(%s)", path.c_str()); + + auto length(data.pubseekoff(0, std::ios::end, std::ios::in)); + data.pubseekpos(0, std::ios::in); + code(data, length, NULL); +} + +void DiskFolder::Find(const std::string &path, const Functor &code, const Functor &)> &link) const { + Find(path, "", code, link); +} +#endif + +SubFolder::SubFolder(Folder &parent, const std::string &path) : + parent_(parent), + path_(path) +{ +} + +void SubFolder::Save(const std::string &path, bool edit, const void *flag, const Functor &code) { + return parent_.Save(path_ + path, edit, flag, code); +} + +bool SubFolder::Look(const std::string &path) const { + return parent_.Look(path_ + path); +} + +void SubFolder::Open(const std::string &path, const Functor &code) const { + return parent_.Open(path_ + path, code); +} + +void SubFolder::Find(const std::string &path, const Functor &code, const Functor &)> &link) const { + return parent_.Find(path_ + path, code, link); +} + +std::string UnionFolder::Map(const std::string &path) const { + auto remap(remaps_.find(path)); + if (remap == remaps_.end()) + return path; + return remap->second; +} + +void UnionFolder::Map(const std::string &path, const Functor &code, const std::string &file, const Functor &)> &save) const { + if (file.size() >= path.size() && file.substr(0, path.size()) == path) + code(file.substr(path.size())); +} + +UnionFolder::UnionFolder(Folder &parent) : + parent_(parent) +{ +} + +void UnionFolder::Save(const std::string &path, bool edit, const void *flag, const Functor &code) { + return parent_.Save(Map(path), edit, flag, code); +} + +bool UnionFolder::Look(const std::string &path) const { + auto file(resets_.find(path)); + if (file != resets_.end()) + return true; + return parent_.Look(Map(path)); +} + +void UnionFolder::Open(const std::string &path, const Functor &code) const { + auto file(resets_.find(path)); + if (file == resets_.end()) + return parent_.Open(Map(path), code); + auto &entry(file->second); + + auto &data(*entry.data_); + auto length(data.pubseekoff(0, std::ios::end, std::ios::in)); + data.pubseekpos(0, std::ios::in); + code(data, length, entry.flag_); +} + +void UnionFolder::Find(const std::string &path, const Functor &code, const Functor &)> &link) const { + for (auto &reset : resets_) + Map(path, code, reset.first, fun([&](const Functor &code) { + auto &entry(reset.second); + auto &data(*entry.data_); + auto length(data.pubseekoff(0, std::ios::end, std::ios::in)); + data.pubseekpos(0, std::ios::in); + code(data, length, entry.flag_); + })); + + for (auto &remap : remaps_) + Map(path, code, remap.first, fun([&](const Functor &code) { + parent_.Open(remap.second, fun([&](std::streambuf &data, size_t length, const void *flag) { + code(data, length, flag); + })); + })); + + parent_.Find(path, fun([&](const std::string &name) { + if (deletes_.find(path + name) == deletes_.end()) + code(name); + }), fun([&](const std::string &name, const Functor &read) { + if (deletes_.find(path + name) == deletes_.end()) + link(name, read); + })); +} + +#ifndef LDID_NOTOOLS +static void copy(std::streambuf &source, std::streambuf &target, size_t length, const ldid::Functor &percent) { + percent(0); + size_t total(0); + for (;;) { + char data[4096 * 4]; + size_t writ(source.sgetn(data, sizeof(data))); + if (writ == 0) + break; + _assert(target.sputn(data, writ) == writ); + total += writ; + percent(double(total) / length); + } +} + +#ifndef LDID_NOPLIST +static plist_t plist(const std::string &data) { + plist_t plist(NULL); + if (Starts(data, "bplist00")) + plist_from_bin(data.data(), data.size(), &plist); + else + plist_from_xml(data.data(), data.size(), &plist); + _assert(plist != NULL); + return plist; +} + +static void plist_d(std::streambuf &buffer, size_t length, const Functor &code) { + std::stringbuf data; + copy(buffer, data, length, ldid::fun(dummy)); + auto node(plist(data.str())); + _scope({ plist_free(node); }); + _assert(plist_get_node_type(node) == PLIST_DICT); + code(node); +} + +static std::string plist_s(plist_t node) { + _assert(node != NULL); + _assert(plist_get_node_type(node) == PLIST_STRING); + char *data; + plist_get_string_val(node, &data); + _scope({ free(data); }); + return data; +} +#endif + +enum Mode { + NoMode, + OptionalMode, + OmitMode, + NestedMode, + TopMode, +}; + +class Expression { + private: + regex_t regex_; + std::vector matches_; + + public: + Expression(const std::string &code) { + _assert_(regcomp(®ex_, code.c_str(), REG_EXTENDED) == 0, "regcomp()"); + matches_.resize(regex_.re_nsub + 1); + } + + ~Expression() { + regfree(®ex_); + } + + bool operator ()(const std::string &data) { + regmatch_t matches[matches_.size()]; + auto value(regexec(®ex_, data.c_str(), matches_.size(), matches, 0)); + if (value == REG_NOMATCH) + return false; + _assert_(value == 0, "regexec()"); + for (size_t i(0); i != matches_.size(); ++i) + matches_[i].assign(data.data() + matches[i].rm_so, matches[i].rm_eo - matches[i].rm_so); + return true; + } + + const std::string &operator [](size_t index) const { + return matches_[index]; + } +}; + +struct Rule { + unsigned weight_; + Mode mode_; + std::string code_; + + mutable std::auto_ptr regex_; + + Rule(unsigned weight, Mode mode, const std::string &code) : + weight_(weight), + mode_(mode), + code_(code) + { + } + + Rule(const Rule &rhs) : + weight_(rhs.weight_), + mode_(rhs.mode_), + code_(rhs.code_) + { + } + + void Compile() const { + regex_.reset(new Expression(code_)); + } + + bool operator ()(const std::string &data) const { + _assert(regex_.get() != NULL); + return (*regex_)(data); + } + + bool operator <(const Rule &rhs) const { + if (weight_ > rhs.weight_) + return true; + if (weight_ < rhs.weight_) + return false; + return mode_ > rhs.mode_; + } +}; + +struct RuleCode { + bool operator ()(const Rule *lhs, const Rule *rhs) const { + return lhs->code_ < rhs->code_; + } +}; + +#ifndef LDID_NOPLIST +static Hash Sign(const uint8_t *prefix, size_t size, std::streambuf &buffer, Hash &hash, std::streambuf &save, const std::string &identifier, const std::string &entitlements, const std::string &requirement, const std::string &key, const Slots &slots, size_t length, const Functor &percent) { + // XXX: this is a miserable fail + std::stringbuf temp; + put(temp, prefix, size); + copy(buffer, temp, length - size, percent); + // XXX: this is a stupid hack + pad(temp, 0x10 - (length & 0xf)); + auto data(temp.str()); + + HashProxy proxy(hash, save); + return Sign(data.data(), data.size(), proxy, identifier, entitlements, requirement, key, slots, percent); +} + +Bundle Sign(const std::string &root, Folder &folder, const std::string &key, std::map &remote, const std::string &requirement, const Functor &alter, const Functor &progress, const Functor &percent) { + std::string executable; + std::string identifier; + + bool mac(false); + + std::string info("Info.plist"); + if (!folder.Look(info) && folder.Look("Resources/" + info)) { + mac = true; + info = "Resources/" + info; + } + + folder.Open(info, fun([&](std::streambuf &buffer, size_t length, const void *flag) { + plist_d(buffer, length, fun([&](plist_t node) { + executable = plist_s(plist_dict_get_item(node, "CFBundleExecutable")); + identifier = plist_s(plist_dict_get_item(node, "CFBundleIdentifier")); + })); + })); + + if (!mac && folder.Look("MacOS/" + executable)) { + executable = "MacOS/" + executable; + mac = true; + } + + std::string entitlements; + folder.Open(executable, fun([&](std::streambuf &buffer, size_t length, const void *flag) { + // XXX: this is a miserable fail + std::stringbuf temp; + copy(buffer, temp, length, percent); + // XXX: this is a stupid hack + pad(temp, 0x10 - (length & 0xf)); + auto data(temp.str()); + entitlements = alter(root, Analyze(data.data(), data.size())); + })); + + static const std::string directory("_CodeSignature/"); + static const std::string signature(directory + "CodeResources"); + + std::map> versions; + + auto &rules1(versions[""]); + auto &rules2(versions["2"]); + + const std::string resources(mac ? "Resources/" : ""); + + if (true) { + rules1.insert(Rule{1, NoMode, "^" + resources}); + if (!mac) rules1.insert(Rule{10000, OmitMode, "^(Frameworks/[^/]+\\.framework/|PlugIns/[^/]+\\.appex/|PlugIns/[^/]+\\.appex/Frameworks/[^/]+\\.framework/|())SC_Info/[^/]+\\.(sinf|supf|supp)$"}); + rules1.insert(Rule{1000, OptionalMode, "^" + resources + ".*\\.lproj/"}); + rules1.insert(Rule{1100, OmitMode, "^" + resources + ".*\\.lproj/locversion.plist$"}); + if (!mac) rules1.insert(Rule{10000, OmitMode, "^Watch/[^/]+\\.app/(Frameworks/[^/]+\\.framework/|PlugIns/[^/]+\\.appex/|PlugIns/[^/]+\\.appex/Frameworks/[^/]+\\.framework/)SC_Info/[^/]+\\.(sinf|supf|supp)$"}); + rules1.insert(Rule{1, NoMode, "^version.plist$"}); + } + + if (true) { + rules2.insert(Rule{11, NoMode, ".*\\.dSYM($|/)"}); + rules2.insert(Rule{20, NoMode, "^" + resources}); + rules2.insert(Rule{2000, OmitMode, "^(.*/)?\\.DS_Store$"}); + if (!mac) rules2.insert(Rule{10000, OmitMode, "^(Frameworks/[^/]+\\.framework/|PlugIns/[^/]+\\.appex/|PlugIns/[^/]+\\.appex/Frameworks/[^/]+\\.framework/|())SC_Info/[^/]+\\.(sinf|supf|supp)$"}); + rules2.insert(Rule{10, NestedMode, "^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/"}); + rules2.insert(Rule{1, NoMode, "^.*"}); + rules2.insert(Rule{1000, OptionalMode, "^" + resources + ".*\\.lproj/"}); + rules2.insert(Rule{1100, OmitMode, "^" + resources + ".*\\.lproj/locversion.plist$"}); + rules2.insert(Rule{20, OmitMode, "^Info\\.plist$"}); + rules2.insert(Rule{20, OmitMode, "^PkgInfo$"}); + if (!mac) rules2.insert(Rule{10000, OmitMode, "^Watch/[^/]+\\.app/(Frameworks/[^/]+\\.framework/|PlugIns/[^/]+\\.appex/|PlugIns/[^/]+\\.appex/Frameworks/[^/]+\\.framework/)SC_Info/[^/]+\\.(sinf|supf|supp)$"}); + rules2.insert(Rule{10, NestedMode, "^[^/]+$"}); + rules2.insert(Rule{20, NoMode, "^embedded\\.provisionprofile$"}); + rules2.insert(Rule{20, NoMode, "^version\\.plist$"}); + } + + std::map local; + + std::string failure(mac ? "Contents/|Versions/[^/]*/Resources/" : ""); + Expression nested("^(Frameworks/[^/]*\\.framework|PlugIns/[^/]*\\.appex(()|/[^/]*.app))/(" + failure + ")Info\\.plist$"); + std::map bundles; + + folder.Find("", fun([&](const std::string &name) { + if (!nested(name)) + return; + auto bundle(root + Split(name).dir); + bundle.resize(bundle.size() - resources.size()); + SubFolder subfolder(folder, bundle); + + bundles[nested[1]] = Sign(bundle, subfolder, key, local, "", Starts(name, "PlugIns/") ? alter : + static_cast &>(fun([&](const std::string &, const std::string &entitlements) -> std::string { return entitlements; })) + , progress, percent); + }), fun([&](const std::string &name, const Functor &read) { + })); + + std::set excludes; + + auto exclude([&](const std::string &name) { + // BundleDiskRep::adjustResources -> builder.addExclusion + if (name == executable || Starts(name, directory) || Starts(name, "_MASReceipt/") || name == "CodeResources") + return true; + + for (const auto &bundle : bundles) + if (Starts(name, bundle.first + "/")) { + excludes.insert(name); + return true; + } + + return false; + }); + + std::map links; + + folder.Find("", fun([&](const std::string &name) { + if (exclude(name)) + return; + + if (local.find(name) != local.end()) + return; + auto &hash(local[name]); + + folder.Open(name, fun([&](std::streambuf &data, size_t length, const void *flag) { + progress(root + name); + + union { + struct { + uint32_t magic; + uint32_t count; + }; + + uint8_t bytes[8]; + } header; + + auto size(most(data, &header.bytes, sizeof(header.bytes))); + + if (name != "_WatchKitStub/WK" && size == sizeof(header.bytes)) + switch (Swap(header.magic)) { + case FAT_MAGIC: + // Java class file format + if (Swap(header.count) >= 40) + break; + case FAT_CIGAM: + case MH_MAGIC: case MH_MAGIC_64: + case MH_CIGAM: case MH_CIGAM_64: + folder.Save(name, true, flag, fun([&](std::streambuf &save) { + Slots slots; + Sign(header.bytes, size, data, hash, save, identifier, "", "", key, slots, length, percent); + })); + return; + } + + folder.Save(name, false, flag, fun([&](std::streambuf &save) { + HashProxy proxy(hash, save); + put(proxy, header.bytes, size); + copy(data, proxy, length - size, percent); + })); + })); + }), fun([&](const std::string &name, const Functor &read) { + if (exclude(name)) + return; + + links[name] = read(); + })); + + auto plist(plist_new_dict()); + _scope({ plist_free(plist); }); + + for (const auto &version : versions) { + auto files(plist_new_dict()); + plist_dict_set_item(plist, ("files" + version.first).c_str(), files); + + for (const auto &rule : version.second) + rule.Compile(); + + bool old(&version.second == &rules1); + + for (const auto &hash : local) + for (const auto &rule : version.second) + if (rule(hash.first)) { + if (!old && mac && excludes.find(hash.first) != excludes.end()); + else if (old && rule.mode_ == NoMode) + plist_dict_set_item(files, hash.first.c_str(), plist_new_data(reinterpret_cast(hash.second.sha1_), sizeof(hash.second.sha1_))); + else if (rule.mode_ != OmitMode) { + auto entry(plist_new_dict()); + plist_dict_set_item(entry, "hash", plist_new_data(reinterpret_cast(hash.second.sha1_), sizeof(hash.second.sha1_))); + if (!old) + plist_dict_set_item(entry, "hash2", plist_new_data(reinterpret_cast(hash.second.sha256_), sizeof(hash.second.sha256_))); + if (rule.mode_ == OptionalMode) + plist_dict_set_item(entry, "optional", plist_new_bool(true)); + plist_dict_set_item(files, hash.first.c_str(), entry); + } + + break; + } + + for (const auto &link : links) + for (const auto &rule : version.second) + if (rule(link.first)) { + if (rule.mode_ != OmitMode) { + auto entry(plist_new_dict()); + plist_dict_set_item(entry, "symlink", plist_new_string(link.second.c_str())); + if (rule.mode_ == OptionalMode) + plist_dict_set_item(entry, "optional", plist_new_bool(true)); + plist_dict_set_item(files, link.first.c_str(), entry); + } + + break; + } + + if (!old && mac) + for (const auto &bundle : bundles) { + auto entry(plist_new_dict()); + plist_dict_set_item(entry, "cdhash", plist_new_data(reinterpret_cast(bundle.second.hash.sha256_), sizeof(bundle.second.hash.sha256_))); + plist_dict_set_item(entry, "requirement", plist_new_string("anchor apple generic")); + plist_dict_set_item(files, bundle.first.c_str(), entry); + } + } + + for (const auto &version : versions) { + auto rules(plist_new_dict()); + plist_dict_set_item(plist, ("rules" + version.first).c_str(), rules); + + std::multiset ordered; + for (const auto &rule : version.second) + ordered.insert(&rule); + + for (const auto &rule : ordered) + if (rule->weight_ == 1 && rule->mode_ == NoMode) + plist_dict_set_item(rules, rule->code_.c_str(), plist_new_bool(true)); + else { + auto entry(plist_new_dict()); + plist_dict_set_item(rules, rule->code_.c_str(), entry); + + switch (rule->mode_) { + case NoMode: + break; + case OmitMode: + plist_dict_set_item(entry, "omit", plist_new_bool(true)); + break; + case OptionalMode: + plist_dict_set_item(entry, "optional", plist_new_bool(true)); + break; + case NestedMode: + plist_dict_set_item(entry, "nested", plist_new_bool(true)); + break; + case TopMode: + plist_dict_set_item(entry, "top", plist_new_bool(true)); + break; + } + + if (rule->weight_ >= 10000) + plist_dict_set_item(entry, "weight", plist_new_uint(rule->weight_)); + else if (rule->weight_ != 1) + plist_dict_set_item(entry, "weight", plist_new_real(rule->weight_)); + } + } + + folder.Save(signature, true, NULL, fun([&](std::streambuf &save) { + HashProxy proxy(local[signature], save); + char *xml(NULL); + uint32_t size; + plist_to_xml(plist, &xml, &size); + _scope({ free(xml); }); + put(proxy, xml, size); + })); + + Bundle bundle; + bundle.path = executable; + + folder.Open(executable, fun([&](std::streambuf &buffer, size_t length, const void *flag) { + progress(root + executable); + folder.Save(executable, true, flag, fun([&](std::streambuf &save) { + Slots slots; + slots[1] = local.at(info); + slots[3] = local.at(signature); + bundle.hash = Sign(NULL, 0, buffer, local[executable], save, identifier, entitlements, requirement, key, slots, length, percent); + })); + })); + + for (const auto &entry : local) + remote[root + entry.first] = entry.second; + + return bundle; +} + +Bundle Sign(const std::string &root, Folder &folder, const std::string &key, const std::string &requirement, const Functor &alter, const Functor &progress, const Functor &percent) { + std::map local; + return Sign(root, folder, key, local, requirement, alter, progress, percent); +} +#endif + +#endif +} diff --git a/ldid/ldid.hpp b/ldid/ldid.hpp new file mode 100644 index 0000000..58bbc09 --- /dev/null +++ b/ldid/ldid.hpp @@ -0,0 +1,159 @@ +#ifndef LDID_HPP +#define LDID_HPP + +#include +#include +#include +#include +#include +#include +#include + +namespace ldid { + +// I wish Apple cared about providing quality toolchains :/ + +template +class Functor; + +template +class Functor { + public: + virtual Type_ operator ()(Args_... args) const = 0; +}; + +template +class FunctorImpl; + +template +class FunctorImpl : + public Functor +{ + private: + const Value_ *value_; + + public: + FunctorImpl(const Value_ &value) : + value_(&value) + { + } + + virtual Type_ operator ()(Args_... args) const { + return (*value_)(args...); + } +}; + +template +FunctorImpl fun(const Function_ &value) { + return value; +} + +class Folder { + public: + virtual void Save(const std::string &path, bool edit, const void *flag, const Functor &code) = 0; + virtual bool Look(const std::string &path) const = 0; + virtual void Open(const std::string &path, const Functor &code) const = 0; + virtual void Find(const std::string &path, const Functor &code, const Functor &)> &link) const = 0; +}; + +class DiskFolder : + public Folder +{ + private: + const std::string path_; + std::map commit_; + + protected: + std::string Path(const std::string &path) const; + + private: + void Find(const std::string &root, const std::string &base, const Functor &code, const Functor &)> &link) const; + + public: + DiskFolder(const std::string &path); + ~DiskFolder(); + + virtual void Save(const std::string &path, bool edit, const void *flag, const Functor &code); + virtual bool Look(const std::string &path) const; + virtual void Open(const std::string &path, const Functor &code) const; + virtual void Find(const std::string &path, const Functor &code, const Functor &)> &link) const; +}; + +class SubFolder : + public Folder +{ + private: + Folder &parent_; + std::string path_; + + public: + SubFolder(Folder &parent, const std::string &path); + + virtual void Save(const std::string &path, bool edit, const void *flag, const Functor &code); + virtual bool Look(const std::string &path) const; + virtual void Open(const std::string &path, const Functor &code) const; + virtual void Find(const std::string &path, const Functor &code, const Functor &)> &link) const; +}; + +class UnionFolder : + public Folder +{ + private: + struct Reset { + const void *flag_; + std::streambuf *data_; + }; + + Folder &parent_; + std::set deletes_; + + std::map remaps_; + mutable std::map resets_; + + std::string Map(const std::string &path) const; + void Map(const std::string &path, const Functor &code, const std::string &file, const Functor &)> &save) const; + + public: + UnionFolder(Folder &parent); + + virtual void Save(const std::string &path, bool edit, const void *flag, const Functor &code); + virtual bool Look(const std::string &path) const; + virtual void Open(const std::string &path, const Functor &code) const; + virtual void Find(const std::string &path, const Functor &code, const Functor &)> &link) const; + + void operator ()(const std::string &from) { + deletes_.insert(from); + } + + void operator ()(const std::string &from, const std::string &to) { + operator ()(from); + remaps_[to] = from; + } + + void operator ()(const std::string &from, const void *flag, std::streambuf &data) { + operator ()(from); + auto &reset(resets_[from]); + reset.flag_ = flag; + reset.data_ = &data; + } +}; + +struct Hash { + uint8_t sha1_[0x14]; + uint8_t sha256_[0x20]; +}; + +struct Bundle { + std::string path; + Hash hash; +}; + +Bundle Sign(const std::string &root, Folder &folder, const std::string &key, const std::string &requirement, const Functor &alter, const Functor &progress, const Functor &percent); + +typedef std::map Slots; + +Hash Sign(const void *idata, size_t isize, std::streambuf &output, const std::string &identifier, const std::string &entitlements, const std::string &requirement, const std::string &key, const Slots &slots, const Functor &percent); + +} + +#endif//LDID_HPP diff --git a/ldid/lookup2.c b/ldid/lookup2.c new file mode 100644 index 0000000..cd87c4d --- /dev/null +++ b/ldid/lookup2.c @@ -0,0 +1,416 @@ +/* +-------------------------------------------------------------------- +lookup2.c, by Bob Jenkins, December 1996, Public Domain. +hash(), hash2(), hash3, and mix() are externally useful functions. +Routines to test the hash are included if SELF_TEST is defined. +You can use this free for any purpose. It has no warranty. +-------------------------------------------------------------------- +*/ +#include +#include +#include +typedef unsigned long int ub4; /* unsigned 4-byte quantities */ +typedef unsigned char ub1; + +#define hashsize(n) ((ub4)1<<(n)) +#define hashmask(n) (hashsize(n)-1) + +/* +-------------------------------------------------------------------- +mix -- mix 3 32-bit values reversibly. +For every delta with one or two bit set, and the deltas of all three + high bits or all three low bits, whether the original value of a,b,c + is almost all zero or is uniformly distributed, +* If mix() is run forward or backward, at least 32 bits in a,b,c + have at least 1/4 probability of changing. +* If mix() is run forward, every bit of c will change between 1/3 and + 2/3 of the time. (Well, 22/100 and 78/100 for some 2-bit deltas.) +mix() was built out of 36 single-cycle latency instructions in a + structure that could supported 2x parallelism, like so: + a -= b; + a -= c; x = (c>>13); + b -= c; a ^= x; + b -= a; x = (a<<8); + c -= a; b ^= x; + c -= b; x = (b>>13); + ... + Unfortunately, superscalar Pentiums and Sparcs can't take advantage + of that parallelism. They've also turned some of those single-cycle + latency instructions into multi-cycle latency instructions. Still, + this is the fastest good hash I could find. There were about 2^^68 + to choose from. I only looked at a billion or so. +-------------------------------------------------------------------- +*/ +#define mix(a,b,c) \ +{ \ + a -= b; a -= c; a ^= (c>>13); \ + b -= c; b -= a; b ^= (a<<8); \ + c -= a; c -= b; c ^= (b>>13); \ + a -= b; a -= c; a ^= (c>>12); \ + b -= c; b -= a; b ^= (a<<16); \ + c -= a; c -= b; c ^= (b>>5); \ + a -= b; a -= c; a ^= (c>>3); \ + b -= c; b -= a; b ^= (a<<10); \ + c -= a; c -= b; c ^= (b>>15); \ +} + +/* same, but slower, works on systems that might have 8 byte ub4's */ +#define mix2(a,b,c) \ +{ \ + a -= b; a -= c; a ^= (c>>13); \ + b -= c; b -= a; b ^= (a<< 8); \ + c -= a; c -= b; c ^= ((b&0xffffffff)>>13); \ + a -= b; a -= c; a ^= ((c&0xffffffff)>>12); \ + b -= c; b -= a; b = (b ^ (a<<16)) & 0xffffffff; \ + c -= a; c -= b; c = (c ^ (b>> 5)) & 0xffffffff; \ + a -= b; a -= c; a = (a ^ (c>> 3)) & 0xffffffff; \ + b -= c; b -= a; b = (b ^ (a<<10)) & 0xffffffff; \ + c -= a; c -= b; c = (c ^ (b>>15)) & 0xffffffff; \ +} + +/* +-------------------------------------------------------------------- +hash() -- hash a variable-length key into a 32-bit value + k : the key (the unaligned variable-length array of bytes) + len : the length of the key, counting by bytes + level : can be any 4-byte value +Returns a 32-bit value. Every bit of the key affects every bit of +the return value. Every 1-bit and 2-bit delta achieves avalanche. +About 36+6len instructions. + +The best hash table sizes are powers of 2. There is no need to do +mod a prime (mod is sooo slow!). If you need less than 32 bits, +use a bitmask. For example, if you need only 10 bits, do + h = (h & hashmask(10)); +In which case, the hash table should have hashsize(10) elements. + +If you are hashing n strings (ub1 **)k, do it like this: + for (i=0, h=0; i= 12) + { + a += (k[0] +((ub4)k[1]<<8) +((ub4)k[2]<<16) +((ub4)k[3]<<24)); + b += (k[4] +((ub4)k[5]<<8) +((ub4)k[6]<<16) +((ub4)k[7]<<24)); + c += (k[8] +((ub4)k[9]<<8) +((ub4)k[10]<<16)+((ub4)k[11]<<24)); + mix(a,b,c); + k += 12; len -= 12; + } + + /*------------------------------------- handle the last 11 bytes */ + c += length; + switch(len) /* all the case statements fall through */ + { + case 11: c+=((ub4)k[10]<<24); + case 10: c+=((ub4)k[9]<<16); + case 9 : c+=((ub4)k[8]<<8); + /* the first byte of c is reserved for the length */ + case 8 : b+=((ub4)k[7]<<24); + case 7 : b+=((ub4)k[6]<<16); + case 6 : b+=((ub4)k[5]<<8); + case 5 : b+=k[4]; + case 4 : a+=((ub4)k[3]<<24); + case 3 : a+=((ub4)k[2]<<16); + case 2 : a+=((ub4)k[1]<<8); + case 1 : a+=k[0]; + /* case 0: nothing left to add */ + } + mix(a,b,c); + /*-------------------------------------------- report the result */ + return c; +} + + +/* +-------------------------------------------------------------------- + This works on all machines. hash2() is identical to hash() on + little-endian machines, except that the length has to be measured + in ub4s instead of bytes. It is much faster than hash(). It + requires + -- that the key be an array of ub4's, and + -- that all your machines have the same endianness, and + -- that the length be the number of ub4's in the key +-------------------------------------------------------------------- +*/ +ub4 hash2( k, length, initval) +register ub4 *k; /* the key */ +register ub4 length; /* the length of the key, in ub4s */ +register ub4 initval; /* the previous hash, or an arbitrary value */ +{ + register ub4 a,b,c,len; + + /* Set up the internal state */ + len = length; + a = b = 0x9e3779b9; /* the golden ratio; an arbitrary value */ + c = initval; /* the previous hash value */ + + /*---------------------------------------- handle most of the key */ + while (len >= 3) + { + a += k[0]; + b += k[1]; + c += k[2]; + mix(a,b,c); + k += 3; len -= 3; + } + + /*-------------------------------------- handle the last 2 ub4's */ + c += length; + switch(len) /* all the case statements fall through */ + { + /* c is reserved for the length */ + case 2 : b+=k[1]; + case 1 : a+=k[0]; + /* case 0: nothing left to add */ + } + mix(a,b,c); + /*-------------------------------------------- report the result */ + return c; +} + +/* +-------------------------------------------------------------------- + This is identical to hash() on little-endian machines (like Intel + x86s or VAXen). It gives nondeterministic results on big-endian + machines. It is faster than hash(), but a little slower than + hash2(), and it requires + -- that all your machines be little-endian +-------------------------------------------------------------------- +*/ + +ub4 hash3( k, length, initval) +register ub1 *k; /* the key */ +register ub4 length; /* the length of the key */ +register ub4 initval; /* the previous hash, or an arbitrary value */ +{ + register ub4 a,b,c,len; + + /* Set up the internal state */ + len = length; + a = b = 0x9e3779b9; /* the golden ratio; an arbitrary value */ + c = initval; /* the previous hash value */ + + /*---------------------------------------- handle most of the key */ + if (((ub4)k)&3) + { + while (len >= 12) /* unaligned */ + { + a += (k[0] +((ub4)k[1]<<8) +((ub4)k[2]<<16) +((ub4)k[3]<<24)); + b += (k[4] +((ub4)k[5]<<8) +((ub4)k[6]<<16) +((ub4)k[7]<<24)); + c += (k[8] +((ub4)k[9]<<8) +((ub4)k[10]<<16)+((ub4)k[11]<<24)); + mix(a,b,c); + k += 12; len -= 12; + } + } + else + { + while (len >= 12) /* aligned */ + { + a += *(ub4 *)(k+0); + b += *(ub4 *)(k+4); + c += *(ub4 *)(k+8); + mix(a,b,c); + k += 12; len -= 12; + } + } + + /*------------------------------------- handle the last 11 bytes */ + c += length; + switch(len) /* all the case statements fall through */ + { + case 11: c+=((ub4)k[10]<<24); + case 10: c+=((ub4)k[9]<<16); + case 9 : c+=((ub4)k[8]<<8); + /* the first byte of c is reserved for the length */ + case 8 : b+=((ub4)k[7]<<24); + case 7 : b+=((ub4)k[6]<<16); + case 6 : b+=((ub4)k[5]<<8); + case 5 : b+=k[4]; + case 4 : a+=((ub4)k[3]<<24); + case 3 : a+=((ub4)k[2]<<16); + case 2 : a+=((ub4)k[1]<<8); + case 1 : a+=k[0]; + /* case 0: nothing left to add */ + } + mix(a,b,c); + /*-------------------------------------------- report the result */ + return c; +} + + + +#ifdef SELF_TEST + +/* used for timings */ +void driver1() +{ + ub4 buf[256]; + ub4 i; + ub4 h=0; + + for (i=0; i<256; ++i) + { + h = hash(buf,i,h); + } +} + +/* check that every input bit changes every output bit half the time */ +#define HASHSTATE 1 +#define HASHLEN 1 +#define MAXPAIR 80 +#define MAXLEN 70 +void driver2() +{ + ub1 qa[MAXLEN+1], qb[MAXLEN+2], *a = &qa[0], *b = &qb[1]; + ub4 c[HASHSTATE], d[HASHSTATE], i, j=0, k, l, m, z; + ub4 e[HASHSTATE],f[HASHSTATE],g[HASHSTATE],h[HASHSTATE]; + ub4 x[HASHSTATE],y[HASHSTATE]; + ub4 hlen; + + printf("No more than %d trials should ever be needed \n",MAXPAIR/2); + for (hlen=0; hlen < MAXLEN; ++hlen) + { + z=0; + for (i=0; i>(8-j)); + c[0] = hash(a, hlen, m); + b[i] ^= ((k+1)<>(8-j)); + d[0] = hash(b, hlen, m); + /* check every bit is 1, 0, set, and not set at least once */ + for (l=0; lz) z=k; + if (k==MAXPAIR) + { + printf("Some bit didn't change: "); + printf("%.8lx %.8lx %.8lx %.8lx %.8lx %.8lx ", + e[0],f[0],g[0],h[0],x[0],y[0]); + printf("i %ld j %ld m %ld len %ld\n",i,j,m,hlen); + } + if (z==MAXPAIR) goto done; + } + } + } + done: + if (z < MAXPAIR) + { + printf("Mix success %2ld bytes %2ld initvals ",i,m); + printf("required %ld trials\n",z/2); + } + } + printf("\n"); +} + +/* Check for reading beyond the end of the buffer and alignment problems */ +void driver3() +{ + ub1 buf[MAXLEN+20], *b; + ub4 len; + ub1 q[] = "This is the time for all good men to come to the aid of their country"; + ub1 qq[] = "xThis is the time for all good men to come to the aid of their country"; + ub1 qqq[] = "xxThis is the time for all good men to come to the aid of their country"; + ub1 qqqq[] = "xxxThis is the time for all good men to come to the aid of their country"; + ub4 h,i,j,ref,x,y; + + printf("Endianness. These should all be the same:\n"); + printf("%.8lx\n", hash(q, sizeof(q)-1, (ub4)0)); + printf("%.8lx\n", hash(qq+1, sizeof(q)-1, (ub4)0)); + printf("%.8lx\n", hash(qqq+2, sizeof(q)-1, (ub4)0)); + printf("%.8lx\n", hash(qqqq+3, sizeof(q)-1, (ub4)0)); + printf("\n"); + for (h=0, b=buf+1; h<8; ++h, ++b) + { + for (i=0; i + +#ifndef _SHA_enum_ +#define _SHA_enum_ +enum +{ + shaSuccess = 0, + shaNull, /* Null pointer parameter */ + shaInputTooLong, /* input data too long */ + shaStateError /* called Input after Result */ +}; +#endif +#define SHA1HashSize 20 + +/* + * This structure will hold context information for the SHA-1 + * hashing operation + */ +typedef struct SHA1Context +{ + uint32_t Intermediate_Hash[SHA1HashSize/4]; /* Message Digest */ + + uint32_t Length_Low; /* Message length in bits */ + uint32_t Length_High; /* Message length in bits */ + + /* Index into message block array */ + int_least16_t Message_Block_Index; + uint8_t Message_Block[64]; /* 512-bit message blocks */ + + int Computed; /* Is the digest computed? */ + int Corrupted; /* Is the message digest corrupted? */ +} SHA1Context; + +/* + * Function Prototypes + */ + +int SHA1Reset( SHA1Context *); +int SHA1Input( SHA1Context *, + const uint8_t *, + unsigned int); +int SHA1Result( SHA1Context *, + uint8_t Message_Digest[SHA1HashSize]); + +#endif diff --git a/minizip/crypt.h b/minizip/crypt.h new file mode 100644 index 0000000..622f4bc --- /dev/null +++ b/minizip/crypt.h @@ -0,0 +1,132 @@ +/* crypt.h -- base code for crypt/uncrypt ZIPfile + + + Version 1.01e, February 12th, 2005 + + Copyright (C) 1998-2005 Gilles Vollant + + This code is a modified version of crypting code in Infozip distribution + + The encryption/decryption parts of this source code (as opposed to the + non-echoing password parts) were originally written in Europe. The + whole source package can be freely distributed, including from the USA. + (Prior to January 2000, re-export from the US was a violation of US law.) + + This encryption code is a direct transcription of the algorithm from + Roger Schlafly, described by Phil Katz in the file appnote.txt. This + file (appnote.txt) is distributed with the PKZIP program (even in the + version without encryption capabilities). + + If you don't need crypting in your application, just define symbols + NOCRYPT and NOUNCRYPT. + + This code support the "Traditional PKWARE Encryption". + + The new AES encryption added on Zip format by Winzip (see the page + http://www.winzip.com/aes_info.htm ) and PKWare PKZip 5.x Strong + Encryption is not supported. +*/ + +#define CRC32(c, b) ((*(pcrc_32_tab+(((int)(c) ^ (b)) & 0xff))) ^ ((c) >> 8)) + +/*********************************************************************** + * Return the next byte in the pseudo-random sequence + */ +static int decrypt_byte(unsigned long* pkeys, const unsigned long* pcrc_32_tab) +{ + unsigned temp; /* POTENTIAL BUG: temp*(temp^1) may overflow in an + * unpredictable manner on 16-bit systems; not a problem + * with any known compiler so far, though */ + + temp = ((unsigned)(*(pkeys+2)) & 0xffff) | 2; + return (int)(((temp * (temp ^ 1)) >> 8) & 0xff); +} + +/*********************************************************************** + * Update the encryption keys with the next byte of plain text + */ +static int update_keys(unsigned long* pkeys,const unsigned long* pcrc_32_tab,int c) +{ + (*(pkeys+0)) = CRC32((*(pkeys+0)), c); + (*(pkeys+1)) += (*(pkeys+0)) & 0xff; + (*(pkeys+1)) = (*(pkeys+1)) * 134775813L + 1; + { + register int keyshift = (int)((*(pkeys+1)) >> 24); + (*(pkeys+2)) = CRC32((*(pkeys+2)), keyshift); + } + return c; +} + + +/*********************************************************************** + * Initialize the encryption keys and the random header according to + * the given password. + */ +static void init_keys(const char* passwd,unsigned long* pkeys,const unsigned long* pcrc_32_tab) +{ + *(pkeys+0) = 305419896L; + *(pkeys+1) = 591751049L; + *(pkeys+2) = 878082192L; + while (*passwd != '\0') { + update_keys(pkeys,pcrc_32_tab,(int)*passwd); + passwd++; + } +} + +#define zdecode(pkeys,pcrc_32_tab,c) \ + (update_keys(pkeys,pcrc_32_tab,c ^= decrypt_byte(pkeys,pcrc_32_tab))) + +#define zencode(pkeys,pcrc_32_tab,c,t) \ + (t=decrypt_byte(pkeys,pcrc_32_tab), update_keys(pkeys,pcrc_32_tab,c), t^(c)) + +#ifdef INCLUDECRYPTINGCODE_IFCRYPTALLOWED + +#define RAND_HEAD_LEN 12 + /* "last resort" source for second part of crypt seed pattern */ +# ifndef ZCR_SEED2 +# define ZCR_SEED2 3141592654UL /* use PI as default pattern */ +# endif + +static int crypthead(passwd, buf, bufSize, pkeys, pcrc_32_tab, crcForCrypting) + const char *passwd; /* password string */ + unsigned char *buf; /* where to write header */ + int bufSize; + unsigned long* pkeys; + const unsigned long* pcrc_32_tab; + unsigned long crcForCrypting; +{ + int n; /* index in random header */ + int t; /* temporary */ + int c; /* random byte */ + unsigned char header[RAND_HEAD_LEN-2]; /* random header */ + static unsigned calls = 0; /* ensure different random header each time */ + + if (bufSize> 7) & 0xff; + header[n] = (unsigned char)zencode(pkeys, pcrc_32_tab, c, t); + } + /* Encrypt random header (last two bytes is high word of crc) */ + init_keys(passwd, pkeys, pcrc_32_tab); + for (n = 0; n < RAND_HEAD_LEN-2; n++) + { + buf[n] = (unsigned char)zencode(pkeys, pcrc_32_tab, header[n], t); + } + buf[n++] = zencode(pkeys, pcrc_32_tab, (int)(crcForCrypting >> 16) & 0xff, t); + buf[n++] = zencode(pkeys, pcrc_32_tab, (int)(crcForCrypting >> 24) & 0xff, t); + return n; +} + +#endif diff --git a/minizip/ioapi.c b/minizip/ioapi.c new file mode 100644 index 0000000..f1bee23 --- /dev/null +++ b/minizip/ioapi.c @@ -0,0 +1,177 @@ +/* ioapi.c -- IO base function header for compress/uncompress .zip + files using zlib + zip or unzip API + + Version 1.01e, February 12th, 2005 + + Copyright (C) 1998-2005 Gilles Vollant +*/ + +#include +#include +#include + +#include "zlib.h" +#include "ioapi.h" + + + +/* I've found an old Unix (a SunOS 4.1.3_U1) without all SEEK_* defined.... */ + +#ifndef SEEK_CUR +#define SEEK_CUR 1 +#endif + +#ifndef SEEK_END +#define SEEK_END 2 +#endif + +#ifndef SEEK_SET +#define SEEK_SET 0 +#endif + +voidpf ZCALLBACK fopen_file_func OF(( + voidpf opaque, + const char* filename, + int mode)); + +uLong ZCALLBACK fread_file_func OF(( + voidpf opaque, + voidpf stream, + void* buf, + uLong size)); + +uLong ZCALLBACK fwrite_file_func OF(( + voidpf opaque, + voidpf stream, + const void* buf, + uLong size)); + +long ZCALLBACK ftell_file_func OF(( + voidpf opaque, + voidpf stream)); + +long ZCALLBACK fseek_file_func OF(( + voidpf opaque, + voidpf stream, + uLong offset, + int origin)); + +int ZCALLBACK fclose_file_func OF(( + voidpf opaque, + voidpf stream)); + +int ZCALLBACK ferror_file_func OF(( + voidpf opaque, + voidpf stream)); + + +voidpf ZCALLBACK fopen_file_func (opaque, filename, mode) + voidpf opaque; + const char* filename; + int mode; +{ + FILE* file = NULL; + const char* mode_fopen = NULL; + if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER)==ZLIB_FILEFUNC_MODE_READ) + mode_fopen = "rb"; + else + if (mode & ZLIB_FILEFUNC_MODE_EXISTING) + mode_fopen = "r+b"; + else + if (mode & ZLIB_FILEFUNC_MODE_CREATE) + mode_fopen = "wb"; + + if ((filename!=NULL) && (mode_fopen != NULL)) + file = fopen(filename, mode_fopen); + return file; +} + + +uLong ZCALLBACK fread_file_func (opaque, stream, buf, size) + voidpf opaque; + voidpf stream; + void* buf; + uLong size; +{ + uLong ret; + ret = (uLong)fread(buf, 1, (size_t)size, (FILE *)stream); + return ret; +} + + +uLong ZCALLBACK fwrite_file_func (opaque, stream, buf, size) + voidpf opaque; + voidpf stream; + const void* buf; + uLong size; +{ + uLong ret; + ret = (uLong)fwrite(buf, 1, (size_t)size, (FILE *)stream); + return ret; +} + +long ZCALLBACK ftell_file_func (opaque, stream) + voidpf opaque; + voidpf stream; +{ + long ret; + ret = ftell((FILE *)stream); + return ret; +} + +long ZCALLBACK fseek_file_func (opaque, stream, offset, origin) + voidpf opaque; + voidpf stream; + uLong offset; + int origin; +{ + int fseek_origin=0; + long ret; + switch (origin) + { + case ZLIB_FILEFUNC_SEEK_CUR : + fseek_origin = SEEK_CUR; + break; + case ZLIB_FILEFUNC_SEEK_END : + fseek_origin = SEEK_END; + break; + case ZLIB_FILEFUNC_SEEK_SET : + fseek_origin = SEEK_SET; + break; + default: return -1; + } + ret = 0; + fseek((FILE *)stream, offset, fseek_origin); + return ret; +} + +int ZCALLBACK fclose_file_func (opaque, stream) + voidpf opaque; + voidpf stream; +{ + int ret; + ret = fclose((FILE *)stream); + return ret; +} + +int ZCALLBACK ferror_file_func (opaque, stream) + voidpf opaque; + voidpf stream; +{ + int ret; + ret = ferror((FILE *)stream); + return ret; +} + +void fill_fopen_filefunc (pzlib_filefunc_def) + zlib_filefunc_def* pzlib_filefunc_def; +{ + pzlib_filefunc_def->zopen_file = fopen_file_func; + pzlib_filefunc_def->zread_file = fread_file_func; + pzlib_filefunc_def->zwrite_file = fwrite_file_func; + pzlib_filefunc_def->ztell_file = ftell_file_func; + pzlib_filefunc_def->zseek_file = fseek_file_func; + pzlib_filefunc_def->zclose_file = fclose_file_func; + pzlib_filefunc_def->zerror_file = ferror_file_func; + pzlib_filefunc_def->opaque = NULL; +} diff --git a/minizip/ioapi.h b/minizip/ioapi.h new file mode 100644 index 0000000..7d457ba --- /dev/null +++ b/minizip/ioapi.h @@ -0,0 +1,75 @@ +/* ioapi.h -- IO base function header for compress/uncompress .zip + files using zlib + zip or unzip API + + Version 1.01e, February 12th, 2005 + + Copyright (C) 1998-2005 Gilles Vollant +*/ + +#ifndef _ZLIBIOAPI_H +#define _ZLIBIOAPI_H + + +#define ZLIB_FILEFUNC_SEEK_CUR (1) +#define ZLIB_FILEFUNC_SEEK_END (2) +#define ZLIB_FILEFUNC_SEEK_SET (0) + +#define ZLIB_FILEFUNC_MODE_READ (1) +#define ZLIB_FILEFUNC_MODE_WRITE (2) +#define ZLIB_FILEFUNC_MODE_READWRITEFILTER (3) + +#define ZLIB_FILEFUNC_MODE_EXISTING (4) +#define ZLIB_FILEFUNC_MODE_CREATE (8) + + +#ifndef ZCALLBACK + +#if (defined(WIN32) || defined (WINDOWS) || defined (_WINDOWS)) && defined(CALLBACK) && defined (USEWINDOWS_CALLBACK) +#define ZCALLBACK CALLBACK +#else +#define ZCALLBACK +#endif +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +typedef voidpf (ZCALLBACK *open_file_func) OF((voidpf opaque, const char* filename, int mode)); +typedef uLong (ZCALLBACK *read_file_func) OF((voidpf opaque, voidpf stream, void* buf, uLong size)); +typedef uLong (ZCALLBACK *write_file_func) OF((voidpf opaque, voidpf stream, const void* buf, uLong size)); +typedef long (ZCALLBACK *tell_file_func) OF((voidpf opaque, voidpf stream)); +typedef long (ZCALLBACK *seek_file_func) OF((voidpf opaque, voidpf stream, uLong offset, int origin)); +typedef int (ZCALLBACK *close_file_func) OF((voidpf opaque, voidpf stream)); +typedef int (ZCALLBACK *testerror_file_func) OF((voidpf opaque, voidpf stream)); + +typedef struct zlib_filefunc_def_s +{ + open_file_func zopen_file; + read_file_func zread_file; + write_file_func zwrite_file; + tell_file_func ztell_file; + seek_file_func zseek_file; + close_file_func zclose_file; + testerror_file_func zerror_file; + voidpf opaque; +} zlib_filefunc_def; + + + +void fill_fopen_filefunc OF((zlib_filefunc_def* pzlib_filefunc_def)); + +#define ZREAD(filefunc,filestream,buf,size) ((*((filefunc).zread_file))((filefunc).opaque,filestream,buf,size)) +#define ZWRITE(filefunc,filestream,buf,size) ((*((filefunc).zwrite_file))((filefunc).opaque,filestream,buf,size)) +#define ZTELL(filefunc,filestream) ((*((filefunc).ztell_file))((filefunc).opaque,filestream)) +#define ZSEEK(filefunc,filestream,pos,mode) ((*((filefunc).zseek_file))((filefunc).opaque,filestream,pos,mode)) +#define ZCLOSE(filefunc,filestream) ((*((filefunc).zclose_file))((filefunc).opaque,filestream)) +#define ZERROR(filefunc,filestream) ((*((filefunc).zerror_file))((filefunc).opaque,filestream)) + + +#ifdef __cplusplus +} +#endif + +#endif + diff --git a/minizip/miniunz.c b/minizip/miniunz.c new file mode 100644 index 0000000..1a0a5e2 --- /dev/null +++ b/minizip/miniunz.c @@ -0,0 +1,446 @@ +/* + miniunz.c + Version 1.01e, February 12th, 2005 + + Copyright (C) 1998-2005 Gilles Vollant +*/ + + +#include +#include +#include +#include +#include +#include + + + +#ifdef unix +# include +# include +# include +#else +# include +# include +#endif + +#include "unzip.h" + +#define CASESENSITIVITY (0) +#define WRITEBUFFERSIZE (8192) +#define MAXFILENAME (256) + +#ifdef WIN32 +#define USEWIN32IOAPI +#include "iowin32.h" +#endif +/* + mini unzip, demo of unzip package + + usage : + Usage : miniunz [-exvlo] file.zip [file_to_extract] [-d extractdir] + + list the file in the zipfile, and print the content of FILE_ID.ZIP or README.TXT + if it exists +*/ + + +/* change_file_date : change the date/time of a file + filename : the filename of the file where date/time must be modified + dosdate : the new date at the MSDos format (4 bytes) + tmu_date : the SAME new date at the tm_unz format */ +void change_file_date(filename,dosdate,tmu_date) + const char *filename; + uLong dosdate; + tm_unz tmu_date; +{ +#ifdef WIN32 + HANDLE hFile; + FILETIME ftm,ftLocal,ftCreate,ftLastAcc,ftLastWrite; + + hFile = CreateFile(filename,GENERIC_READ | GENERIC_WRITE, + 0,NULL,OPEN_EXISTING,0,NULL); + GetFileTime(hFile,&ftCreate,&ftLastAcc,&ftLastWrite); + DosDateTimeToFileTime((WORD)(dosdate>>16),(WORD)dosdate,&ftLocal); + LocalFileTimeToFileTime(&ftLocal,&ftm); + SetFileTime(hFile,&ftm,&ftLastAcc,&ftm); + CloseHandle(hFile); +#else +#ifdef unix + struct utimbuf ut; + struct tm newdate; + newdate.tm_sec = tmu_date.tm_sec; + newdate.tm_min=tmu_date.tm_min; + newdate.tm_hour=tmu_date.tm_hour; + newdate.tm_mday=tmu_date.tm_mday; + newdate.tm_mon=tmu_date.tm_mon; + if (tmu_date.tm_year > 1900) + newdate.tm_year=tmu_date.tm_year - 1900; + else + newdate.tm_year=tmu_date.tm_year ; + newdate.tm_isdst=-1; + + ut.actime=ut.modtime=mktime(&newdate); + utime(filename,&ut); +#endif +#endif +} + + +/* mymkdir and change_file_date are not 100 % portable + As I don't know well Unix, I wait feedback for the unix portion */ + +int mymkdir(dirname) + const char* dirname; +{ + int ret=0; +#ifdef WIN32 + ret = mkdir(dirname); +#else +#ifdef unix + ret = mkdir (dirname,0775); +#endif +#endif + return ret; +} + +int makedir (newdir) + char *newdir; +{ + char *buffer ; + char *p; + int len = (int)strlen(newdir); + + if (len <= 0) + return 0; + + buffer = (char*)malloc(len+1); + strcpy(buffer,newdir); + + if (buffer[len-1] == '/') { + buffer[len-1] = '\0'; + } + if (mymkdir(buffer) == 0) + { + free(buffer); + return 1; + } + + p = buffer+1; + while (1) + { + char hold; + + while(*p && *p != '\\' && *p != '/') + p++; + hold = *p; + *p = 0; + if ((mymkdir(buffer) == -1) && (errno == ENOENT)) + { + printf("couldn't create directory %s\n",buffer); + free(buffer); + return 0; + } + if (hold == 0) + break; + *p++ = hold; + } + free(buffer); + return 1; +} + + +int do_list(uf) + unzFile uf; +{ + uLong i; + unz_global_info gi; + int err; + + err = unzGetGlobalInfo (uf,&gi); + if (err!=UNZ_OK) + printf("error %d with zipfile in unzGetGlobalInfo \n",err); + printf(" Length Method Size Ratio Date Time CRC-32 Name\n"); + printf(" ------ ------ ---- ----- ---- ---- ------ ----\n"); + for (i=0;i0) + ratio = (file_info.compressed_size*100)/file_info.uncompressed_size; + + /* display a '*' if the file is crypted */ + if ((file_info.flag & 1) != 0) + charCrypt='*'; + + if (file_info.compression_method==0) + string_method="Stored"; + else + if (file_info.compression_method==Z_DEFLATED) + { + uInt iLevel=(uInt)((file_info.flag & 0x6)/2); + if (iLevel==0) + string_method="Defl:N"; + else if (iLevel==1) + string_method="Defl:X"; + else if ((iLevel==2) || (iLevel==3)) + string_method="Defl:F"; /* 2:fast , 3 : extra fast*/ + } + else + string_method="Unkn. "; + + printf("%7lu %6s%c%7lu %3lu%% %2.2lu-%2.2lu-%2.2lu %2.2lu:%2.2lu %8.8lx %s\n", + file_info.uncompressed_size,string_method, + charCrypt, + file_info.compressed_size, + ratio, + (uLong)file_info.tmu_date.tm_mon + 1, + (uLong)file_info.tmu_date.tm_mday, + (uLong)file_info.tmu_date.tm_year % 100, + (uLong)file_info.tmu_date.tm_hour,(uLong)file_info.tmu_date.tm_min, + (uLong)file_info.crc,filename_inzip); + if ((i+1)='a') && (rep<='z')) + rep -= 0x20; + } + while ((rep!='Y') && (rep!='N') && (rep!='A')); + } + + if (rep == 'N') + skip = 1; + + if (rep == 'A') + *popt_overwrite=1; + } + + if ((skip==0) && (err==UNZ_OK)) + { + fout=fopen(write_filename,"wb"); + + /* some zipfile don't contain directory alone before file */ + if ((fout==NULL) && ((*popt_extract_without_path)==0) && + (filename_withoutpath!=(char*)filename_inzip)) + { + char c=*(filename_withoutpath-1); + *(filename_withoutpath-1)='\0'; + makedir(write_filename); + *(filename_withoutpath-1)=c; + fout=fopen(write_filename,"wb"); + } + + if (fout==NULL) + { + printf("error opening %s\n",write_filename); + } + } + + if (fout!=NULL) + { + printf(" extracting: %s\n",write_filename); + + do + { + err = unzReadCurrentFile(uf,buf,size_buf); + if (err<0) + { + printf("error %d with zipfile in unzReadCurrentFile\n",err); + break; + } + if (err>0) + if (fwrite(buf,err,1,fout)!=1) + { + printf("error in writing extracted file\n"); + err=UNZ_ERRNO; + break; + } + } + while (err>0); + if (fout) + fclose(fout); + + if (err==0) + change_file_date(write_filename,file_info.dosDate, + file_info.tmu_date); + } + + if (err==UNZ_OK) + { + err = unzCloseCurrentFile (uf); + if (err!=UNZ_OK) + { + printf("error %d with zipfile in unzCloseCurrentFile\n",err); + } + } + else + unzCloseCurrentFile(uf); /* don't lose the error */ + } + + free(buf); + return err; +} + + +int do_extract(uf,opt_extract_without_path,opt_overwrite,password) + unzFile uf; + int opt_extract_without_path; + int opt_overwrite; + const char* password; +{ + uLong i; + unz_global_info gi; + int err; + FILE* fout=NULL; + + err = unzGetGlobalInfo (uf,&gi); + if (err!=UNZ_OK) + printf("error %d with zipfile in unzGetGlobalInfo \n",err); + + for (i=0;i +#include +#include +#include +#include +#include + +#ifdef unix +# include +# include +# include +# include +#else +# include +# include +#endif + +#include "zip.h" + +#ifdef WIN32 +#define USEWIN32IOAPI +#include "iowin32.h" +#endif + + + +#define WRITEBUFFERSIZE (16384) +#define MAXFILENAME (256) + +#ifdef WIN32 +uLong filetime(f, tmzip, dt) + char *f; /* name of file to get info on */ + tm_zip *tmzip; /* return value: access, modific. and creation times */ + uLong *dt; /* dostime */ +{ + int ret = 0; + { + FILETIME ftLocal; + HANDLE hFind; + WIN32_FIND_DATA ff32; + + hFind = FindFirstFile(f,&ff32); + if (hFind != INVALID_HANDLE_VALUE) + { + FileTimeToLocalFileTime(&(ff32.ftLastWriteTime),&ftLocal); + FileTimeToDosDateTime(&ftLocal,((LPWORD)dt)+1,((LPWORD)dt)+0); + FindClose(hFind); + ret = 1; + } + } + return ret; +} +#else +#ifdef unix +uLong filetime(f, tmzip, dt) + char *f; /* name of file to get info on */ + tm_zip *tmzip; /* return value: access, modific. and creation times */ + uLong *dt; /* dostime */ +{ + int ret=0; + struct stat s; /* results of stat() */ + struct tm* filedate; + time_t tm_t=0; + + if (strcmp(f,"-")!=0) + { + char name[MAXFILENAME+1]; + int len = strlen(f); + if (len > MAXFILENAME) + len = MAXFILENAME; + + strncpy(name, f,MAXFILENAME-1); + /* strncpy doesnt append the trailing NULL, of the string is too long. */ + name[ MAXFILENAME ] = '\0'; + + if (name[len - 1] == '/') + name[len - 1] = '\0'; + /* not all systems allow stat'ing a file with / appended */ + if (stat(name,&s)==0) + { + tm_t = s.st_mtime; + ret = 1; + } + } + filedate = localtime(&tm_t); + + tmzip->tm_sec = filedate->tm_sec; + tmzip->tm_min = filedate->tm_min; + tmzip->tm_hour = filedate->tm_hour; + tmzip->tm_mday = filedate->tm_mday; + tmzip->tm_mon = filedate->tm_mon ; + tmzip->tm_year = filedate->tm_year; + + return ret; +} +#else +uLong filetime(f, tmzip, dt) + char *f; /* name of file to get info on */ + tm_zip *tmzip; /* return value: access, modific. and creation times */ + uLong *dt; /* dostime */ +{ + return 0; +} +#endif +#endif + + + + +int check_exist_file(filename) + const char* filename; +{ + FILE* ftestexist; + int ret = 1; + ftestexist = fopen(filename,"rb"); + if (ftestexist==NULL) + ret = 0; + else + fclose(ftestexist); + return ret; +} + +/* calculate the CRC32 of a file, + because to encrypt a file, we need known the CRC32 of the file before */ +int getFileCrc(const char* filenameinzip,void*buf,unsigned long size_buf,unsigned long* result_crc) +{ + unsigned long calculate_crc=0; + int err=ZIP_OK; + FILE * fin = fopen(filenameinzip,"rb"); + unsigned long size_read = 0; + unsigned long total_read = 0; + if (fin==NULL) + { + err = ZIP_ERRNO; + } + + if (err == ZIP_OK) + do + { + err = ZIP_OK; + size_read = (int)fread(buf,1,size_buf,fin); + if (size_read < size_buf) + if (feof(fin)==0) + { + printf("error in reading %s\n",filenameinzip); + err = ZIP_ERRNO; + } + + if (size_read>0) + calculate_crc = crc32(calculate_crc,buf,size_read); + total_read += size_read; + + } while ((err == ZIP_OK) && (size_read>0)); + + if (fin) + fclose(fin); + + *result_crc=calculate_crc; + printf("file %s crc %x\n",filenameinzip,calculate_crc); + return err; +} + diff --git a/minizip/mztools.c b/minizip/mztools.c new file mode 100644 index 0000000..8a50ee4 --- /dev/null +++ b/minizip/mztools.c @@ -0,0 +1,281 @@ +/* + Additional tools for Minizip + Code: Xavier Roche '2004 + License: Same as ZLIB (www.gzip.org) +*/ + +/* Code */ +#include +#include +#include +#include "zlib.h" +#include "unzip.h" + +#define READ_8(adr) ((unsigned char)*(adr)) +#define READ_16(adr) ( READ_8(adr) | (READ_8(adr+1) << 8) ) +#define READ_32(adr) ( READ_16(adr) | (READ_16((adr)+2) << 16) ) + +#define WRITE_8(buff, n) do { \ + *((unsigned char*)(buff)) = (unsigned char) ((n) & 0xff); \ +} while(0) +#define WRITE_16(buff, n) do { \ + WRITE_8((unsigned char*)(buff), n); \ + WRITE_8(((unsigned char*)(buff)) + 1, (n) >> 8); \ +} while(0) +#define WRITE_32(buff, n) do { \ + WRITE_16((unsigned char*)(buff), (n) & 0xffff); \ + WRITE_16((unsigned char*)(buff) + 2, (n) >> 16); \ +} while(0) + +extern int ZEXPORT unzRepair(file, fileOut, fileOutTmp, nRecovered, bytesRecovered) +const char* file; +const char* fileOut; +const char* fileOutTmp; +uLong* nRecovered; +uLong* bytesRecovered; +{ + int err = Z_OK; + FILE* fpZip = fopen(file, "rb"); + FILE* fpOut = fopen(fileOut, "wb"); + FILE* fpOutCD = fopen(fileOutTmp, "wb"); + if (fpZip != NULL && fpOut != NULL) { + int entries = 0; + uLong totalBytes = 0; + char header[30]; + char filename[256]; + char extra[1024]; + int offset = 0; + int offsetCD = 0; + while ( fread(header, 1, 30, fpZip) == 30 ) { + int currentOffset = offset; + + /* File entry */ + if (READ_32(header) == 0x04034b50) { + unsigned int version = READ_16(header + 4); + unsigned int gpflag = READ_16(header + 6); + unsigned int method = READ_16(header + 8); + unsigned int filetime = READ_16(header + 10); + unsigned int filedate = READ_16(header + 12); + unsigned int crc = READ_32(header + 14); /* crc */ + unsigned int cpsize = READ_32(header + 18); /* compressed size */ + unsigned int uncpsize = READ_32(header + 22); /* uncompressed sz */ + unsigned int fnsize = READ_16(header + 26); /* file name length */ + unsigned int extsize = READ_16(header + 28); /* extra field length */ + filename[0] = extra[0] = '\0'; + + /* Header */ + if (fwrite(header, 1, 30, fpOut) == 30) { + offset += 30; + } else { + err = Z_ERRNO; + break; + } + + /* Filename */ + if (fnsize > 0) { + if (fread(filename, 1, fnsize, fpZip) == fnsize) { + if (fwrite(filename, 1, fnsize, fpOut) == fnsize) { + offset += fnsize; + } else { + err = Z_ERRNO; + break; + } + } else { + err = Z_ERRNO; + break; + } + } else { + err = Z_STREAM_ERROR; + break; + } + + /* Extra field */ + if (extsize > 0) { + if (fread(extra, 1, extsize, fpZip) == extsize) { + if (fwrite(extra, 1, extsize, fpOut) == extsize) { + offset += extsize; + } else { + err = Z_ERRNO; + break; + } + } else { + err = Z_ERRNO; + break; + } + } + + /* Data */ + { + int dataSize = cpsize; + if (dataSize == 0) { + dataSize = uncpsize; + } + if (dataSize > 0) { + char* data = malloc(dataSize); + if (data != NULL) { + if ((int)fread(data, 1, dataSize, fpZip) == dataSize) { + if ((int)fwrite(data, 1, dataSize, fpOut) == dataSize) { + offset += dataSize; + totalBytes += dataSize; + } else { + err = Z_ERRNO; + } + } else { + err = Z_ERRNO; + } + free(data); + if (err != Z_OK) { + break; + } + } else { + err = Z_MEM_ERROR; + break; + } + } + } + + /* Central directory entry */ + { + char header[46]; + char* comment = ""; + int comsize = (int) strlen(comment); + WRITE_32(header, 0x02014b50); + WRITE_16(header + 4, version); + WRITE_16(header + 6, version); + WRITE_16(header + 8, gpflag); + WRITE_16(header + 10, method); + WRITE_16(header + 12, filetime); + WRITE_16(header + 14, filedate); + WRITE_32(header + 16, crc); + WRITE_32(header + 20, cpsize); + WRITE_32(header + 24, uncpsize); + WRITE_16(header + 28, fnsize); + WRITE_16(header + 30, extsize); + WRITE_16(header + 32, comsize); + WRITE_16(header + 34, 0); /* disk # */ + WRITE_16(header + 36, 0); /* int attrb */ + WRITE_32(header + 38, 0); /* ext attrb */ + WRITE_32(header + 42, currentOffset); + /* Header */ + if (fwrite(header, 1, 46, fpOutCD) == 46) { + offsetCD += 46; + + /* Filename */ + if (fnsize > 0) { + if (fwrite(filename, 1, fnsize, fpOutCD) == fnsize) { + offsetCD += fnsize; + } else { + err = Z_ERRNO; + break; + } + } else { + err = Z_STREAM_ERROR; + break; + } + + /* Extra field */ + if (extsize > 0) { + if (fwrite(extra, 1, extsize, fpOutCD) == extsize) { + offsetCD += extsize; + } else { + err = Z_ERRNO; + break; + } + } + + /* Comment field */ + if (comsize > 0) { + if ((int)fwrite(comment, 1, comsize, fpOutCD) == comsize) { + offsetCD += comsize; + } else { + err = Z_ERRNO; + break; + } + } + + + } else { + err = Z_ERRNO; + break; + } + } + + /* Success */ + entries++; + + } else { + break; + } + } + + /* Final central directory */ + { + int entriesZip = entries; + char header[22]; + char* comment = ""; // "ZIP File recovered by zlib/minizip/mztools"; + int comsize = (int) strlen(comment); + if (entriesZip > 0xffff) { + entriesZip = 0xffff; + } + WRITE_32(header, 0x06054b50); + WRITE_16(header + 4, 0); /* disk # */ + WRITE_16(header + 6, 0); /* disk # */ + WRITE_16(header + 8, entriesZip); /* hack */ + WRITE_16(header + 10, entriesZip); /* hack */ + WRITE_32(header + 12, offsetCD); /* size of CD */ + WRITE_32(header + 16, offset); /* offset to CD */ + WRITE_16(header + 20, comsize); /* comment */ + + /* Header */ + if (fwrite(header, 1, 22, fpOutCD) == 22) { + + /* Comment field */ + if (comsize > 0) { + if ((int)fwrite(comment, 1, comsize, fpOutCD) != comsize) { + err = Z_ERRNO; + } + } + + } else { + err = Z_ERRNO; + } + } + + /* Final merge (file + central directory) */ + fclose(fpOutCD); + if (err == Z_OK) { + fpOutCD = fopen(fileOutTmp, "rb"); + if (fpOutCD != NULL) { + int nRead; + char buffer[8192]; + while ( (nRead = (int)fread(buffer, 1, sizeof(buffer), fpOutCD)) > 0) { + if ((int)fwrite(buffer, 1, nRead, fpOut) != nRead) { + err = Z_ERRNO; + break; + } + } + fclose(fpOutCD); + } + } + + /* Close */ + fclose(fpZip); + fclose(fpOut); + + /* Wipe temporary file */ + (void)remove(fileOutTmp); + + /* Number of recovered entries */ + if (err == Z_OK) { + if (nRecovered != NULL) { + *nRecovered = entries; + } + if (bytesRecovered != NULL) { + *bytesRecovered = totalBytes; + } + } + } else { + err = Z_STREAM_ERROR; + } + return err; +} diff --git a/minizip/mztools.h b/minizip/mztools.h new file mode 100644 index 0000000..eee78dc --- /dev/null +++ b/minizip/mztools.h @@ -0,0 +1,31 @@ +/* + Additional tools for Minizip + Code: Xavier Roche '2004 + License: Same as ZLIB (www.gzip.org) +*/ + +#ifndef _zip_tools_H +#define _zip_tools_H + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef _ZLIB_H +#include "zlib.h" +#endif + +#include "unzip.h" + +/* Repair a ZIP file (missing central directory) + file: file to recover + fileOut: output file after recovery + fileOutTmp: temporary file name used for recovery +*/ +extern int ZEXPORT unzRepair(const char* file, + const char* fileOut, + const char* fileOutTmp, + uLong* nRecovered, + uLong* bytesRecovered); + +#endif diff --git a/minizip/unzip.c b/minizip/unzip.c new file mode 100644 index 0000000..9ad4766 --- /dev/null +++ b/minizip/unzip.c @@ -0,0 +1,1598 @@ +/* unzip.c -- IO for uncompress .zip files using zlib + Version 1.01e, February 12th, 2005 + + Copyright (C) 1998-2005 Gilles Vollant + + Read unzip.h for more info +*/ + +/* Decryption code comes from crypt.c by Info-ZIP but has been greatly reduced in terms of +compatibility with older software. The following is from the original crypt.c. Code +woven in by Terry Thorsen 1/2003. +*/ +/* + Copyright (c) 1990-2000 Info-ZIP. All rights reserved. + + See the accompanying file LICENSE, version 2000-Apr-09 or later + (the contents of which are also included in zip.h) for terms of use. + If, for some reason, all these files are missing, the Info-ZIP license + also may be found at: ftp://ftp.info-zip.org/pub/infozip/license.html +*/ +/* + crypt.c (full version) by Info-ZIP. Last revised: [see crypt.h] + + The encryption/decryption parts of this source code (as opposed to the + non-echoing password parts) were originally written in Europe. The + whole source package can be freely distributed, including from the USA. + (Prior to January 2000, re-export from the US was a violation of US law.) + */ + +/* + This encryption code is a direct transcription of the algorithm from + Roger Schlafly, described by Phil Katz in the file appnote.txt. This + file (appnote.txt) is distributed with the PKZIP program (even in the + version without encryption capabilities). + */ + + +#include +#include +#include +#include "zlib.h" +#include "unzip.h" + +#ifdef STDC +# include +# include +# include +#endif +#ifdef NO_ERRNO_H + extern int errno; +#else +# include +#endif + + +#ifndef local +# define local static +#endif +/* compile with -Dlocal if your debugger can't find static symbols */ + + +#ifndef CASESENSITIVITYDEFAULT_NO +# if !defined(unix) && !defined(CASESENSITIVITYDEFAULT_YES) +# define CASESENSITIVITYDEFAULT_NO +# endif +#endif + + +#ifndef UNZ_BUFSIZE +#define UNZ_BUFSIZE (16384) +#endif + +#ifndef UNZ_MAXFILENAMEINZIP +#define UNZ_MAXFILENAMEINZIP (256) +#endif + +#ifndef ALLOC +# define ALLOC(size) (malloc(size)) +#endif +#ifndef TRYFREE +# define TRYFREE(p) {if (p) free(p);} +#endif + +#define SIZECENTRALDIRITEM (0x2e) +#define SIZEZIPLOCALHEADER (0x1e) + + + + +const char unz_copyright[] = + " unzip 1.01 Copyright 1998-2004 Gilles Vollant - http://www.winimage.com/zLibDll"; + +/* unz_file_info_interntal contain internal info about a file in zipfile*/ +typedef struct unz_file_info_internal_s +{ + uLong offset_curfile;/* relative offset of local header 4 bytes */ +} unz_file_info_internal; + + +/* file_in_zip_read_info_s contain internal information about a file in zipfile, + when reading and decompress it */ +typedef struct +{ + char *read_buffer; /* internal buffer for compressed data */ + z_stream stream; /* zLib stream structure for inflate */ + + uLong pos_in_zipfile; /* position in byte on the zipfile, for fseek*/ + uLong stream_initialised; /* flag set if stream structure is initialised*/ + + uLong offset_local_extrafield;/* offset of the local extra field */ + uInt size_local_extrafield;/* size of the local extra field */ + uLong pos_local_extrafield; /* position in the local extra field in read*/ + + uLong crc32; /* crc32 of all data uncompressed */ + uLong crc32_wait; /* crc32 we must obtain after decompress all */ + uLong rest_read_compressed; /* number of byte to be decompressed */ + uLong rest_read_uncompressed;/*number of byte to be obtained after decomp*/ + zlib_filefunc_def z_filefunc; + voidpf filestream; /* io structore of the zipfile */ + uLong compression_method; /* compression method (0==store) */ + uLong byte_before_the_zipfile;/* byte before the zipfile, (>0 for sfx)*/ + int raw; +} file_in_zip_read_info_s; + + +/* unz_s contain internal information about the zipfile +*/ +typedef struct +{ + zlib_filefunc_def z_filefunc; + voidpf filestream; /* io structore of the zipfile */ + unz_global_info gi; /* public global information */ + uLong byte_before_the_zipfile;/* byte before the zipfile, (>0 for sfx)*/ + uLong num_file; /* number of the current file in the zipfile*/ + uLong pos_in_central_dir; /* pos of the current file in the central dir*/ + uLong current_file_ok; /* flag about the usability of the current file*/ + uLong central_pos; /* position of the beginning of the central dir*/ + + uLong size_central_dir; /* size of the central directory */ + uLong offset_central_dir; /* offset of start of central directory with + respect to the starting disk number */ + + unz_file_info cur_file_info; /* public info about the current file in zip*/ + unz_file_info_internal cur_file_info_internal; /* private info about it*/ + file_in_zip_read_info_s* pfile_in_zip_read; /* structure about the current + file if we are decompressing it */ + int encrypted; +# ifndef NOUNCRYPT + unsigned long keys[3]; /* keys defining the pseudo-random sequence */ + const unsigned long* pcrc_32_tab; +# endif +} unz_s; + + +#ifndef NOUNCRYPT +#include "crypt.h" +#endif + +/* =========================================================================== + Read a byte from a gz_stream; update next_in and avail_in. Return EOF + for end of file. + IN assertion: the stream s has been sucessfully opened for reading. +*/ + + +local int unzlocal_getByte OF(( + const zlib_filefunc_def* pzlib_filefunc_def, + voidpf filestream, + int *pi)); + +local int unzlocal_getByte(pzlib_filefunc_def,filestream,pi) + const zlib_filefunc_def* pzlib_filefunc_def; + voidpf filestream; + int *pi; +{ + unsigned char c; + int err = (int)ZREAD(*pzlib_filefunc_def,filestream,&c,1); + if (err==1) + { + *pi = (int)c; + return UNZ_OK; + } + else + { + if (ZERROR(*pzlib_filefunc_def,filestream)) + return UNZ_ERRNO; + else + return UNZ_EOF; + } +} + + +/* =========================================================================== + Reads a long in LSB order from the given gz_stream. Sets +*/ +local int unzlocal_getShort OF(( + const zlib_filefunc_def* pzlib_filefunc_def, + voidpf filestream, + uLong *pX)); + +local int unzlocal_getShort (pzlib_filefunc_def,filestream,pX) + const zlib_filefunc_def* pzlib_filefunc_def; + voidpf filestream; + uLong *pX; +{ + uLong x ; + int i; + int err; + + err = unzlocal_getByte(pzlib_filefunc_def,filestream,&i); + x = (uLong)i; + + if (err==UNZ_OK) + err = unzlocal_getByte(pzlib_filefunc_def,filestream,&i); + x += ((uLong)i)<<8; + + if (err==UNZ_OK) + *pX = x; + else + *pX = 0; + return err; +} + +local int unzlocal_getLong OF(( + const zlib_filefunc_def* pzlib_filefunc_def, + voidpf filestream, + uLong *pX)); + +local int unzlocal_getLong (pzlib_filefunc_def,filestream,pX) + const zlib_filefunc_def* pzlib_filefunc_def; + voidpf filestream; + uLong *pX; +{ + uLong x ; + int i; + int err; + + err = unzlocal_getByte(pzlib_filefunc_def,filestream,&i); + x = (uLong)i; + + if (err==UNZ_OK) + err = unzlocal_getByte(pzlib_filefunc_def,filestream,&i); + x += ((uLong)i)<<8; + + if (err==UNZ_OK) + err = unzlocal_getByte(pzlib_filefunc_def,filestream,&i); + x += ((uLong)i)<<16; + + if (err==UNZ_OK) + err = unzlocal_getByte(pzlib_filefunc_def,filestream,&i); + x += ((uLong)i)<<24; + + if (err==UNZ_OK) + *pX = x; + else + *pX = 0; + return err; +} + + +/* My own strcmpi / strcasecmp */ +local int strcmpcasenosensitive_internal (fileName1,fileName2) + const char* fileName1; + const char* fileName2; +{ + for (;;) + { + char c1=*(fileName1++); + char c2=*(fileName2++); + if ((c1>='a') && (c1<='z')) + c1 -= 0x20; + if ((c2>='a') && (c2<='z')) + c2 -= 0x20; + if (c1=='\0') + return ((c2=='\0') ? 0 : -1); + if (c2=='\0') + return 1; + if (c1c2) + return 1; + } +} + + +#ifdef CASESENSITIVITYDEFAULT_NO +#define CASESENSITIVITYDEFAULTVALUE 2 +#else +#define CASESENSITIVITYDEFAULTVALUE 1 +#endif + +#ifndef STRCMPCASENOSENTIVEFUNCTION +#define STRCMPCASENOSENTIVEFUNCTION strcmpcasenosensitive_internal +#endif + +/* + Compare two filename (fileName1,fileName2). + If iCaseSenisivity = 1, comparision is case sensitivity (like strcmp) + If iCaseSenisivity = 2, comparision is not case sensitivity (like strcmpi + or strcasecmp) + If iCaseSenisivity = 0, case sensitivity is defaut of your operating system + (like 1 on Unix, 2 on Windows) + +*/ +extern int ZEXPORT unzStringFileNameCompare (fileName1,fileName2,iCaseSensitivity) + const char* fileName1; + const char* fileName2; + int iCaseSensitivity; +{ + if (iCaseSensitivity==0) + iCaseSensitivity=CASESENSITIVITYDEFAULTVALUE; + + if (iCaseSensitivity==1) + return strcmp(fileName1,fileName2); + + return STRCMPCASENOSENTIVEFUNCTION(fileName1,fileName2); +} + +#ifndef BUFREADCOMMENT +#define BUFREADCOMMENT (0x400) +#endif + +/* + Locate the Central directory of a zipfile (at the end, just before + the global comment) +*/ +local uLong unzlocal_SearchCentralDir OF(( + const zlib_filefunc_def* pzlib_filefunc_def, + voidpf filestream)); + +local uLong unzlocal_SearchCentralDir(pzlib_filefunc_def,filestream) + const zlib_filefunc_def* pzlib_filefunc_def; + voidpf filestream; +{ + unsigned char* buf; + uLong uSizeFile; + uLong uBackRead; + uLong uMaxBack=0xffff; /* maximum size of global comment */ + uLong uPosFound=0; + + if (ZSEEK(*pzlib_filefunc_def,filestream,0,ZLIB_FILEFUNC_SEEK_END) != 0) + return 0; + + + uSizeFile = ZTELL(*pzlib_filefunc_def,filestream); + + if (uMaxBack>uSizeFile) + uMaxBack = uSizeFile; + + buf = (unsigned char*)ALLOC(BUFREADCOMMENT+4); + if (buf==NULL) + return 0; + + uBackRead = 4; + while (uBackReaduMaxBack) + uBackRead = uMaxBack; + else + uBackRead+=BUFREADCOMMENT; + uReadPos = uSizeFile-uBackRead ; + + uReadSize = ((BUFREADCOMMENT+4) < (uSizeFile-uReadPos)) ? + (BUFREADCOMMENT+4) : (uSizeFile-uReadPos); + if (ZSEEK(*pzlib_filefunc_def,filestream,uReadPos,ZLIB_FILEFUNC_SEEK_SET)!=0) + break; + + if (ZREAD(*pzlib_filefunc_def,filestream,buf,uReadSize)!=uReadSize) + break; + + for (i=(int)uReadSize-3; (i--)>0;) + if (((*(buf+i))==0x50) && ((*(buf+i+1))==0x4b) && + ((*(buf+i+2))==0x05) && ((*(buf+i+3))==0x06)) + { + uPosFound = uReadPos+i; + break; + } + + if (uPosFound!=0) + break; + } + TRYFREE(buf); + return uPosFound; +} + +/* + Open a Zip file. path contain the full pathname (by example, + on a Windows NT computer "c:\\test\\zlib114.zip" or on an Unix computer + "zlib/zlib114.zip". + If the zipfile cannot be opened (file doesn't exist or in not valid), the + return value is NULL. + Else, the return value is a unzFile Handle, usable with other function + of this unzip package. +*/ +extern unzFile ZEXPORT unzOpen2 (path, pzlib_filefunc_def) + const char *path; + zlib_filefunc_def* pzlib_filefunc_def; +{ + unz_s us; + unz_s *s; + uLong central_pos,uL; + + uLong number_disk; /* number of the current dist, used for + spaning ZIP, unsupported, always 0*/ + uLong number_disk_with_CD; /* number the the disk with central dir, used + for spaning ZIP, unsupported, always 0*/ + uLong number_entry_CD; /* total number of entries in + the central dir + (same than number_entry on nospan) */ + + int err=UNZ_OK; + + if (unz_copyright[0]!=' ') + return NULL; + + if (pzlib_filefunc_def==NULL) + fill_fopen_filefunc(&us.z_filefunc); + else + us.z_filefunc = *pzlib_filefunc_def; + + us.filestream= (*(us.z_filefunc.zopen_file))(us.z_filefunc.opaque, + path, + ZLIB_FILEFUNC_MODE_READ | + ZLIB_FILEFUNC_MODE_EXISTING); + if (us.filestream==NULL) + return NULL; + + central_pos = unzlocal_SearchCentralDir(&us.z_filefunc,us.filestream); + if (central_pos==0) + err=UNZ_ERRNO; + + if (ZSEEK(us.z_filefunc, us.filestream, + central_pos,ZLIB_FILEFUNC_SEEK_SET)!=0) + err=UNZ_ERRNO; + + /* the signature, already checked */ + if (unzlocal_getLong(&us.z_filefunc, us.filestream,&uL)!=UNZ_OK) + err=UNZ_ERRNO; + + /* number of this disk */ + if (unzlocal_getShort(&us.z_filefunc, us.filestream,&number_disk)!=UNZ_OK) + err=UNZ_ERRNO; + + /* number of the disk with the start of the central directory */ + if (unzlocal_getShort(&us.z_filefunc, us.filestream,&number_disk_with_CD)!=UNZ_OK) + err=UNZ_ERRNO; + + /* total number of entries in the central dir on this disk */ + if (unzlocal_getShort(&us.z_filefunc, us.filestream,&us.gi.number_entry)!=UNZ_OK) + err=UNZ_ERRNO; + + /* total number of entries in the central dir */ + if (unzlocal_getShort(&us.z_filefunc, us.filestream,&number_entry_CD)!=UNZ_OK) + err=UNZ_ERRNO; + + if ((number_entry_CD!=us.gi.number_entry) || + (number_disk_with_CD!=0) || + (number_disk!=0)) + err=UNZ_BADZIPFILE; + + /* size of the central directory */ + if (unzlocal_getLong(&us.z_filefunc, us.filestream,&us.size_central_dir)!=UNZ_OK) + err=UNZ_ERRNO; + + /* offset of start of central directory with respect to the + starting disk number */ + if (unzlocal_getLong(&us.z_filefunc, us.filestream,&us.offset_central_dir)!=UNZ_OK) + err=UNZ_ERRNO; + + /* zipfile comment length */ + if (unzlocal_getShort(&us.z_filefunc, us.filestream,&us.gi.size_comment)!=UNZ_OK) + err=UNZ_ERRNO; + + if ((central_pospfile_in_zip_read!=NULL) + unzCloseCurrentFile(file); + + ZCLOSE(s->z_filefunc, s->filestream); + TRYFREE(s); + return UNZ_OK; +} + + +/* + Write info about the ZipFile in the *pglobal_info structure. + No preparation of the structure is needed + return UNZ_OK if there is no problem. */ +extern int ZEXPORT unzGetGlobalInfo (file,pglobal_info) + unzFile file; + unz_global_info *pglobal_info; +{ + unz_s* s; + if (file==NULL) + return UNZ_PARAMERROR; + s=(unz_s*)file; + *pglobal_info=s->gi; + return UNZ_OK; +} + + +/* + Translate date/time from Dos format to tm_unz (readable more easilty) +*/ +local void unzlocal_DosDateToTmuDate (ulDosDate, ptm) + uLong ulDosDate; + tm_unz* ptm; +{ + uLong uDate; + uDate = (uLong)(ulDosDate>>16); + ptm->tm_mday = (uInt)(uDate&0x1f) ; + ptm->tm_mon = (uInt)((((uDate)&0x1E0)/0x20)-1) ; + ptm->tm_year = (uInt)(((uDate&0x0FE00)/0x0200)+1980) ; + + ptm->tm_hour = (uInt) ((ulDosDate &0xF800)/0x800); + ptm->tm_min = (uInt) ((ulDosDate&0x7E0)/0x20) ; + ptm->tm_sec = (uInt) (2*(ulDosDate&0x1f)) ; +} + +/* + Get Info about the current file in the zipfile, with internal only info +*/ +local int unzlocal_GetCurrentFileInfoInternal OF((unzFile file, + unz_file_info *pfile_info, + unz_file_info_internal + *pfile_info_internal, + char *szFileName, + uLong fileNameBufferSize, + void *extraField, + uLong extraFieldBufferSize, + char *szComment, + uLong commentBufferSize)); + +local int unzlocal_GetCurrentFileInfoInternal (file, + pfile_info, + pfile_info_internal, + szFileName, fileNameBufferSize, + extraField, extraFieldBufferSize, + szComment, commentBufferSize) + unzFile file; + unz_file_info *pfile_info; + unz_file_info_internal *pfile_info_internal; + char *szFileName; + uLong fileNameBufferSize; + void *extraField; + uLong extraFieldBufferSize; + char *szComment; + uLong commentBufferSize; +{ + unz_s* s; + unz_file_info file_info; + unz_file_info_internal file_info_internal; + int err=UNZ_OK; + uLong uMagic; + long lSeek=0; + + if (file==NULL) + return UNZ_PARAMERROR; + s=(unz_s*)file; + if (ZSEEK(s->z_filefunc, s->filestream, + s->pos_in_central_dir+s->byte_before_the_zipfile, + ZLIB_FILEFUNC_SEEK_SET)!=0) + err=UNZ_ERRNO; + + + /* we check the magic */ + if (err==UNZ_OK) + if (unzlocal_getLong(&s->z_filefunc, s->filestream,&uMagic) != UNZ_OK) + err=UNZ_ERRNO; + else if (uMagic!=0x02014b50) + err=UNZ_BADZIPFILE; + + if (unzlocal_getShort(&s->z_filefunc, s->filestream,&file_info.version) != UNZ_OK) + err=UNZ_ERRNO; + + if (unzlocal_getShort(&s->z_filefunc, s->filestream,&file_info.version_needed) != UNZ_OK) + err=UNZ_ERRNO; + + if (unzlocal_getShort(&s->z_filefunc, s->filestream,&file_info.flag) != UNZ_OK) + err=UNZ_ERRNO; + + if (unzlocal_getShort(&s->z_filefunc, s->filestream,&file_info.compression_method) != UNZ_OK) + err=UNZ_ERRNO; + + if (unzlocal_getLong(&s->z_filefunc, s->filestream,&file_info.dosDate) != UNZ_OK) + err=UNZ_ERRNO; + + unzlocal_DosDateToTmuDate(file_info.dosDate,&file_info.tmu_date); + + if (unzlocal_getLong(&s->z_filefunc, s->filestream,&file_info.crc) != UNZ_OK) + err=UNZ_ERRNO; + + if (unzlocal_getLong(&s->z_filefunc, s->filestream,&file_info.compressed_size) != UNZ_OK) + err=UNZ_ERRNO; + + if (unzlocal_getLong(&s->z_filefunc, s->filestream,&file_info.uncompressed_size) != UNZ_OK) + err=UNZ_ERRNO; + + if (unzlocal_getShort(&s->z_filefunc, s->filestream,&file_info.size_filename) != UNZ_OK) + err=UNZ_ERRNO; + + if (unzlocal_getShort(&s->z_filefunc, s->filestream,&file_info.size_file_extra) != UNZ_OK) + err=UNZ_ERRNO; + + if (unzlocal_getShort(&s->z_filefunc, s->filestream,&file_info.size_file_comment) != UNZ_OK) + err=UNZ_ERRNO; + + if (unzlocal_getShort(&s->z_filefunc, s->filestream,&file_info.disk_num_start) != UNZ_OK) + err=UNZ_ERRNO; + + if (unzlocal_getShort(&s->z_filefunc, s->filestream,&file_info.internal_fa) != UNZ_OK) + err=UNZ_ERRNO; + + if (unzlocal_getLong(&s->z_filefunc, s->filestream,&file_info.external_fa) != UNZ_OK) + err=UNZ_ERRNO; + + if (unzlocal_getLong(&s->z_filefunc, s->filestream,&file_info_internal.offset_curfile) != UNZ_OK) + err=UNZ_ERRNO; + + lSeek+=file_info.size_filename; + if ((err==UNZ_OK) && (szFileName!=NULL)) + { + uLong uSizeRead ; + if (file_info.size_filename0) && (fileNameBufferSize>0)) + if (ZREAD(s->z_filefunc, s->filestream,szFileName,uSizeRead)!=uSizeRead) + err=UNZ_ERRNO; + lSeek -= uSizeRead; + } + + + if ((err==UNZ_OK) && (extraField!=NULL)) + { + uLong uSizeRead ; + if (file_info.size_file_extraz_filefunc, s->filestream,lSeek,ZLIB_FILEFUNC_SEEK_CUR)==0) + lSeek=0; + else + err=UNZ_ERRNO; + if ((file_info.size_file_extra>0) && (extraFieldBufferSize>0)) + if (ZREAD(s->z_filefunc, s->filestream,extraField,uSizeRead)!=uSizeRead) + err=UNZ_ERRNO; + lSeek += file_info.size_file_extra - uSizeRead; + } + else + lSeek+=file_info.size_file_extra; + + + if ((err==UNZ_OK) && (szComment!=NULL)) + { + uLong uSizeRead ; + if (file_info.size_file_commentz_filefunc, s->filestream,lSeek,ZLIB_FILEFUNC_SEEK_CUR)==0) + lSeek=0; + else + err=UNZ_ERRNO; + if ((file_info.size_file_comment>0) && (commentBufferSize>0)) + if (ZREAD(s->z_filefunc, s->filestream,szComment,uSizeRead)!=uSizeRead) + err=UNZ_ERRNO; + lSeek+=file_info.size_file_comment - uSizeRead; + } + else + lSeek+=file_info.size_file_comment; + + if ((err==UNZ_OK) && (pfile_info!=NULL)) + *pfile_info=file_info; + + if ((err==UNZ_OK) && (pfile_info_internal!=NULL)) + *pfile_info_internal=file_info_internal; + + return err; +} + + + +/* + Write info about the ZipFile in the *pglobal_info structure. + No preparation of the structure is needed + return UNZ_OK if there is no problem. +*/ +extern int ZEXPORT unzGetCurrentFileInfo (file, + pfile_info, + szFileName, fileNameBufferSize, + extraField, extraFieldBufferSize, + szComment, commentBufferSize) + unzFile file; + unz_file_info *pfile_info; + char *szFileName; + uLong fileNameBufferSize; + void *extraField; + uLong extraFieldBufferSize; + char *szComment; + uLong commentBufferSize; +{ + return unzlocal_GetCurrentFileInfoInternal(file,pfile_info,NULL, + szFileName,fileNameBufferSize, + extraField,extraFieldBufferSize, + szComment,commentBufferSize); +} + +/* + Set the current file of the zipfile to the first file. + return UNZ_OK if there is no problem +*/ +extern int ZEXPORT unzGoToFirstFile (file) + unzFile file; +{ + int err=UNZ_OK; + unz_s* s; + if (file==NULL) + return UNZ_PARAMERROR; + s=(unz_s*)file; + s->pos_in_central_dir=s->offset_central_dir; + s->num_file=0; + err=unzlocal_GetCurrentFileInfoInternal(file,&s->cur_file_info, + &s->cur_file_info_internal, + NULL,0,NULL,0,NULL,0); + s->current_file_ok = (err == UNZ_OK); + return err; +} + +/* + Set the current file of the zipfile to the next file. + return UNZ_OK if there is no problem + return UNZ_END_OF_LIST_OF_FILE if the actual file was the latest. +*/ +extern int ZEXPORT unzGoToNextFile (file) + unzFile file; +{ + unz_s* s; + int err; + + if (file==NULL) + return UNZ_PARAMERROR; + s=(unz_s*)file; + if (!s->current_file_ok) + return UNZ_END_OF_LIST_OF_FILE; + if (s->gi.number_entry != 0xffff) /* 2^16 files overflow hack */ + if (s->num_file+1==s->gi.number_entry) + return UNZ_END_OF_LIST_OF_FILE; + + s->pos_in_central_dir += SIZECENTRALDIRITEM + s->cur_file_info.size_filename + + s->cur_file_info.size_file_extra + s->cur_file_info.size_file_comment ; + s->num_file++; + err = unzlocal_GetCurrentFileInfoInternal(file,&s->cur_file_info, + &s->cur_file_info_internal, + NULL,0,NULL,0,NULL,0); + s->current_file_ok = (err == UNZ_OK); + return err; +} + + +/* + Try locate the file szFileName in the zipfile. + For the iCaseSensitivity signification, see unzipStringFileNameCompare + + return value : + UNZ_OK if the file is found. It becomes the current file. + UNZ_END_OF_LIST_OF_FILE if the file is not found +*/ +extern int ZEXPORT unzLocateFile (file, szFileName, iCaseSensitivity) + unzFile file; + const char *szFileName; + int iCaseSensitivity; +{ + unz_s* s; + int err; + + /* We remember the 'current' position in the file so that we can jump + * back there if we fail. + */ + unz_file_info cur_file_infoSaved; + unz_file_info_internal cur_file_info_internalSaved; + uLong num_fileSaved; + uLong pos_in_central_dirSaved; + + + if (file==NULL) + return UNZ_PARAMERROR; + + if (strlen(szFileName)>=UNZ_MAXFILENAMEINZIP) + return UNZ_PARAMERROR; + + s=(unz_s*)file; + if (!s->current_file_ok) + return UNZ_END_OF_LIST_OF_FILE; + + /* Save the current state */ + num_fileSaved = s->num_file; + pos_in_central_dirSaved = s->pos_in_central_dir; + cur_file_infoSaved = s->cur_file_info; + cur_file_info_internalSaved = s->cur_file_info_internal; + + err = unzGoToFirstFile(file); + + while (err == UNZ_OK) + { + char szCurrentFileName[UNZ_MAXFILENAMEINZIP+1]; + err = unzGetCurrentFileInfo(file,NULL, + szCurrentFileName,sizeof(szCurrentFileName)-1, + NULL,0,NULL,0); + if (err == UNZ_OK) + { + if (unzStringFileNameCompare(szCurrentFileName, + szFileName,iCaseSensitivity)==0) + return UNZ_OK; + err = unzGoToNextFile(file); + } + } + + /* We failed, so restore the state of the 'current file' to where we + * were. + */ + s->num_file = num_fileSaved ; + s->pos_in_central_dir = pos_in_central_dirSaved ; + s->cur_file_info = cur_file_infoSaved; + s->cur_file_info_internal = cur_file_info_internalSaved; + return err; +} + + +/* +/////////////////////////////////////////// +// Contributed by Ryan Haksi (mailto://cryogen@infoserve.net) +// I need random access +// +// Further optimization could be realized by adding an ability +// to cache the directory in memory. The goal being a single +// comprehensive file read to put the file I need in a memory. +*/ + +/* +typedef struct unz_file_pos_s +{ + uLong pos_in_zip_directory; // offset in file + uLong num_of_file; // # of file +} unz_file_pos; +*/ + +extern int ZEXPORT unzGetFilePos(file, file_pos) + unzFile file; + unz_file_pos* file_pos; +{ + unz_s* s; + + if (file==NULL || file_pos==NULL) + return UNZ_PARAMERROR; + s=(unz_s*)file; + if (!s->current_file_ok) + return UNZ_END_OF_LIST_OF_FILE; + + file_pos->pos_in_zip_directory = s->pos_in_central_dir; + file_pos->num_of_file = s->num_file; + + return UNZ_OK; +} + +extern int ZEXPORT unzGoToFilePos(file, file_pos) + unzFile file; + unz_file_pos* file_pos; +{ + unz_s* s; + int err; + + if (file==NULL || file_pos==NULL) + return UNZ_PARAMERROR; + s=(unz_s*)file; + + /* jump to the right spot */ + s->pos_in_central_dir = file_pos->pos_in_zip_directory; + s->num_file = file_pos->num_of_file; + + /* set the current file */ + err = unzlocal_GetCurrentFileInfoInternal(file,&s->cur_file_info, + &s->cur_file_info_internal, + NULL,0,NULL,0,NULL,0); + /* return results */ + s->current_file_ok = (err == UNZ_OK); + return err; +} + +/* +// Unzip Helper Functions - should be here? +/////////////////////////////////////////// +*/ + +/* + Read the local header of the current zipfile + Check the coherency of the local header and info in the end of central + directory about this file + store in *piSizeVar the size of extra info in local header + (filename and size of extra field data) +*/ +local int unzlocal_CheckCurrentFileCoherencyHeader (s,piSizeVar, + poffset_local_extrafield, + psize_local_extrafield) + unz_s* s; + uInt* piSizeVar; + uLong *poffset_local_extrafield; + uInt *psize_local_extrafield; +{ + uLong uMagic,uData,uFlags; + uLong size_filename; + uLong size_extra_field; + int err=UNZ_OK; + + *piSizeVar = 0; + *poffset_local_extrafield = 0; + *psize_local_extrafield = 0; + + if (ZSEEK(s->z_filefunc, s->filestream,s->cur_file_info_internal.offset_curfile + + s->byte_before_the_zipfile,ZLIB_FILEFUNC_SEEK_SET)!=0) + return UNZ_ERRNO; + + + if (err==UNZ_OK) + if (unzlocal_getLong(&s->z_filefunc, s->filestream,&uMagic) != UNZ_OK) + err=UNZ_ERRNO; + else if (uMagic!=0x04034b50) + err=UNZ_BADZIPFILE; + + if (unzlocal_getShort(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) + err=UNZ_ERRNO; +/* + else if ((err==UNZ_OK) && (uData!=s->cur_file_info.wVersion)) + err=UNZ_BADZIPFILE; +*/ + if (unzlocal_getShort(&s->z_filefunc, s->filestream,&uFlags) != UNZ_OK) + err=UNZ_ERRNO; + + if (unzlocal_getShort(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) + err=UNZ_ERRNO; + else if ((err==UNZ_OK) && (uData!=s->cur_file_info.compression_method)) + err=UNZ_BADZIPFILE; + + if ((err==UNZ_OK) && (s->cur_file_info.compression_method!=0) && + (s->cur_file_info.compression_method!=Z_DEFLATED)) + err=UNZ_BADZIPFILE; + + if (unzlocal_getLong(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) /* date/time */ + err=UNZ_ERRNO; + + if (unzlocal_getLong(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) /* crc */ + err=UNZ_ERRNO; + else if ((err==UNZ_OK) && (uData!=s->cur_file_info.crc) && + ((uFlags & 8)==0)) + err=UNZ_BADZIPFILE; + + if (unzlocal_getLong(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) /* size compr */ + err=UNZ_ERRNO; + else if ((err==UNZ_OK) && (uData!=s->cur_file_info.compressed_size) && + ((uFlags & 8)==0)) + err=UNZ_BADZIPFILE; + + if (unzlocal_getLong(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) /* size uncompr */ + err=UNZ_ERRNO; + else if ((err==UNZ_OK) && (uData!=s->cur_file_info.uncompressed_size) && + ((uFlags & 8)==0)) + err=UNZ_BADZIPFILE; + + + if (unzlocal_getShort(&s->z_filefunc, s->filestream,&size_filename) != UNZ_OK) + err=UNZ_ERRNO; + else if ((err==UNZ_OK) && (size_filename!=s->cur_file_info.size_filename)) + err=UNZ_BADZIPFILE; + + *piSizeVar += (uInt)size_filename; + + if (unzlocal_getShort(&s->z_filefunc, s->filestream,&size_extra_field) != UNZ_OK) + err=UNZ_ERRNO; + *poffset_local_extrafield= s->cur_file_info_internal.offset_curfile + + SIZEZIPLOCALHEADER + size_filename; + *psize_local_extrafield = (uInt)size_extra_field; + + *piSizeVar += (uInt)size_extra_field; + + return err; +} + +/* + Open for reading data the current file in the zipfile. + If there is no error and the file is opened, the return value is UNZ_OK. +*/ +extern int ZEXPORT unzOpenCurrentFile3 (file, method, level, raw, password) + unzFile file; + int* method; + int* level; + int raw; + const char* password; +{ + int err=UNZ_OK; + uInt iSizeVar; + unz_s* s; + file_in_zip_read_info_s* pfile_in_zip_read_info; + uLong offset_local_extrafield; /* offset of the local extra field */ + uInt size_local_extrafield; /* size of the local extra field */ +# ifndef NOUNCRYPT + char source[12]; +# else + if (password != NULL) + return UNZ_PARAMERROR; +# endif + + if (file==NULL) + return UNZ_PARAMERROR; + s=(unz_s*)file; + if (!s->current_file_ok) + return UNZ_PARAMERROR; + + if (s->pfile_in_zip_read != NULL) + unzCloseCurrentFile(file); + + if (unzlocal_CheckCurrentFileCoherencyHeader(s,&iSizeVar, + &offset_local_extrafield,&size_local_extrafield)!=UNZ_OK) + return UNZ_BADZIPFILE; + + pfile_in_zip_read_info = (file_in_zip_read_info_s*) + ALLOC(sizeof(file_in_zip_read_info_s)); + if (pfile_in_zip_read_info==NULL) + return UNZ_INTERNALERROR; + + pfile_in_zip_read_info->read_buffer=(char*)ALLOC(UNZ_BUFSIZE); + pfile_in_zip_read_info->offset_local_extrafield = offset_local_extrafield; + pfile_in_zip_read_info->size_local_extrafield = size_local_extrafield; + pfile_in_zip_read_info->pos_local_extrafield=0; + pfile_in_zip_read_info->raw=raw; + + if (pfile_in_zip_read_info->read_buffer==NULL) + { + TRYFREE(pfile_in_zip_read_info); + return UNZ_INTERNALERROR; + } + + pfile_in_zip_read_info->stream_initialised=0; + + if (method!=NULL) + *method = (int)s->cur_file_info.compression_method; + + if (level!=NULL) + { + *level = 6; + switch (s->cur_file_info.flag & 0x06) + { + case 6 : *level = 1; break; + case 4 : *level = 2; break; + case 2 : *level = 9; break; + } + } + + if ((s->cur_file_info.compression_method!=0) && + (s->cur_file_info.compression_method!=Z_DEFLATED)) + err=UNZ_BADZIPFILE; + + pfile_in_zip_read_info->crc32_wait=s->cur_file_info.crc; + pfile_in_zip_read_info->crc32=0; + pfile_in_zip_read_info->compression_method = + s->cur_file_info.compression_method; + pfile_in_zip_read_info->filestream=s->filestream; + pfile_in_zip_read_info->z_filefunc=s->z_filefunc; + pfile_in_zip_read_info->byte_before_the_zipfile=s->byte_before_the_zipfile; + + pfile_in_zip_read_info->stream.total_out = 0; + + if ((s->cur_file_info.compression_method==Z_DEFLATED) && + (!raw)) + { + pfile_in_zip_read_info->stream.zalloc = (alloc_func)0; + pfile_in_zip_read_info->stream.zfree = (free_func)0; + pfile_in_zip_read_info->stream.opaque = (voidpf)0; + pfile_in_zip_read_info->stream.next_in = (voidpf)0; + pfile_in_zip_read_info->stream.avail_in = 0; + + err=inflateInit2(&pfile_in_zip_read_info->stream, -MAX_WBITS); + if (err == Z_OK) + pfile_in_zip_read_info->stream_initialised=1; + else + { + TRYFREE(pfile_in_zip_read_info); + return err; + } + /* windowBits is passed < 0 to tell that there is no zlib header. + * Note that in this case inflate *requires* an extra "dummy" byte + * after the compressed stream in order to complete decompression and + * return Z_STREAM_END. + * In unzip, i don't wait absolutely Z_STREAM_END because I known the + * size of both compressed and uncompressed data + */ + } + pfile_in_zip_read_info->rest_read_compressed = + s->cur_file_info.compressed_size ; + pfile_in_zip_read_info->rest_read_uncompressed = + s->cur_file_info.uncompressed_size ; + + + pfile_in_zip_read_info->pos_in_zipfile = + s->cur_file_info_internal.offset_curfile + SIZEZIPLOCALHEADER + + iSizeVar; + + pfile_in_zip_read_info->stream.avail_in = (uInt)0; + + s->pfile_in_zip_read = pfile_in_zip_read_info; + +# ifndef NOUNCRYPT + if (password != NULL) + { + int i; + s->pcrc_32_tab = get_crc_table(); + init_keys(password,s->keys,s->pcrc_32_tab); + if (ZSEEK(s->z_filefunc, s->filestream, + s->pfile_in_zip_read->pos_in_zipfile + + s->pfile_in_zip_read->byte_before_the_zipfile, + SEEK_SET)!=0) + return UNZ_INTERNALERROR; + if(ZREAD(s->z_filefunc, s->filestream,source, 12)<12) + return UNZ_INTERNALERROR; + + for (i = 0; i<12; i++) + zdecode(s->keys,s->pcrc_32_tab,source[i]); + + s->pfile_in_zip_read->pos_in_zipfile+=12; + s->encrypted=1; + } +# endif + + + return UNZ_OK; +} + +extern int ZEXPORT unzOpenCurrentFile (file) + unzFile file; +{ + return unzOpenCurrentFile3(file, NULL, NULL, 0, NULL); +} + +extern int ZEXPORT unzOpenCurrentFilePassword (file, password) + unzFile file; + const char* password; +{ + return unzOpenCurrentFile3(file, NULL, NULL, 0, password); +} + +extern int ZEXPORT unzOpenCurrentFile2 (file,method,level,raw) + unzFile file; + int* method; + int* level; + int raw; +{ + return unzOpenCurrentFile3(file, method, level, raw, NULL); +} + +/* + Read bytes from the current file. + buf contain buffer where data must be copied + len the size of buf. + + return the number of byte copied if somes bytes are copied + return 0 if the end of file was reached + return <0 with error code if there is an error + (UNZ_ERRNO for IO error, or zLib error for uncompress error) +*/ +extern int ZEXPORT unzReadCurrentFile (file, buf, len) + unzFile file; + voidp buf; + unsigned len; +{ + int err=UNZ_OK; + uInt iRead = 0; + unz_s* s; + file_in_zip_read_info_s* pfile_in_zip_read_info; + if (file==NULL) + return UNZ_PARAMERROR; + s=(unz_s*)file; + pfile_in_zip_read_info=s->pfile_in_zip_read; + + if (pfile_in_zip_read_info==NULL) + return UNZ_PARAMERROR; + + + if ((pfile_in_zip_read_info->read_buffer == NULL)) + return UNZ_END_OF_LIST_OF_FILE; + if (len==0) + return 0; + + pfile_in_zip_read_info->stream.next_out = (Bytef*)buf; + + pfile_in_zip_read_info->stream.avail_out = (uInt)len; + + if ((len>pfile_in_zip_read_info->rest_read_uncompressed) && + (!(pfile_in_zip_read_info->raw))) + pfile_in_zip_read_info->stream.avail_out = + (uInt)pfile_in_zip_read_info->rest_read_uncompressed; + + if ((len>pfile_in_zip_read_info->rest_read_compressed+ + pfile_in_zip_read_info->stream.avail_in) && + (pfile_in_zip_read_info->raw)) + pfile_in_zip_read_info->stream.avail_out = + (uInt)pfile_in_zip_read_info->rest_read_compressed+ + pfile_in_zip_read_info->stream.avail_in; + + while (pfile_in_zip_read_info->stream.avail_out>0) + { + if ((pfile_in_zip_read_info->stream.avail_in==0) && + (pfile_in_zip_read_info->rest_read_compressed>0)) + { + uInt uReadThis = UNZ_BUFSIZE; + if (pfile_in_zip_read_info->rest_read_compressedrest_read_compressed; + if (uReadThis == 0) + return UNZ_EOF; + if (ZSEEK(pfile_in_zip_read_info->z_filefunc, + pfile_in_zip_read_info->filestream, + pfile_in_zip_read_info->pos_in_zipfile + + pfile_in_zip_read_info->byte_before_the_zipfile, + ZLIB_FILEFUNC_SEEK_SET)!=0) + return UNZ_ERRNO; + if (ZREAD(pfile_in_zip_read_info->z_filefunc, + pfile_in_zip_read_info->filestream, + pfile_in_zip_read_info->read_buffer, + uReadThis)!=uReadThis) + return UNZ_ERRNO; + + +# ifndef NOUNCRYPT + if(s->encrypted) + { + uInt i; + for(i=0;iread_buffer[i] = + zdecode(s->keys,s->pcrc_32_tab, + pfile_in_zip_read_info->read_buffer[i]); + } +# endif + + + pfile_in_zip_read_info->pos_in_zipfile += uReadThis; + + pfile_in_zip_read_info->rest_read_compressed-=uReadThis; + + pfile_in_zip_read_info->stream.next_in = + (Bytef*)pfile_in_zip_read_info->read_buffer; + pfile_in_zip_read_info->stream.avail_in = (uInt)uReadThis; + } + + if ((pfile_in_zip_read_info->compression_method==0) || (pfile_in_zip_read_info->raw)) + { + uInt uDoCopy,i ; + + if ((pfile_in_zip_read_info->stream.avail_in == 0) && + (pfile_in_zip_read_info->rest_read_compressed == 0)) + return (iRead==0) ? UNZ_EOF : iRead; + + if (pfile_in_zip_read_info->stream.avail_out < + pfile_in_zip_read_info->stream.avail_in) + uDoCopy = pfile_in_zip_read_info->stream.avail_out ; + else + uDoCopy = pfile_in_zip_read_info->stream.avail_in ; + + for (i=0;istream.next_out+i) = + *(pfile_in_zip_read_info->stream.next_in+i); + + pfile_in_zip_read_info->crc32 = crc32(pfile_in_zip_read_info->crc32, + pfile_in_zip_read_info->stream.next_out, + uDoCopy); + pfile_in_zip_read_info->rest_read_uncompressed-=uDoCopy; + pfile_in_zip_read_info->stream.avail_in -= uDoCopy; + pfile_in_zip_read_info->stream.avail_out -= uDoCopy; + pfile_in_zip_read_info->stream.next_out += uDoCopy; + pfile_in_zip_read_info->stream.next_in += uDoCopy; + pfile_in_zip_read_info->stream.total_out += uDoCopy; + iRead += uDoCopy; + } + else + { + uLong uTotalOutBefore,uTotalOutAfter; + const Bytef *bufBefore; + uLong uOutThis; + int flush=Z_SYNC_FLUSH; + + uTotalOutBefore = pfile_in_zip_read_info->stream.total_out; + bufBefore = pfile_in_zip_read_info->stream.next_out; + + /* + if ((pfile_in_zip_read_info->rest_read_uncompressed == + pfile_in_zip_read_info->stream.avail_out) && + (pfile_in_zip_read_info->rest_read_compressed == 0)) + flush = Z_FINISH; + */ + err=inflate(&pfile_in_zip_read_info->stream,flush); + + if ((err>=0) && (pfile_in_zip_read_info->stream.msg!=NULL)) + err = Z_DATA_ERROR; + + uTotalOutAfter = pfile_in_zip_read_info->stream.total_out; + uOutThis = uTotalOutAfter-uTotalOutBefore; + + pfile_in_zip_read_info->crc32 = + crc32(pfile_in_zip_read_info->crc32,bufBefore, + (uInt)(uOutThis)); + + pfile_in_zip_read_info->rest_read_uncompressed -= + uOutThis; + + iRead += (uInt)(uTotalOutAfter - uTotalOutBefore); + + if (err==Z_STREAM_END) + return (iRead==0) ? UNZ_EOF : iRead; + if (err!=Z_OK) + break; + } + } + + if (err==Z_OK) + return iRead; + return err; +} + + +/* + Give the current position in uncompressed data +*/ +extern z_off_t ZEXPORT unztell (file) + unzFile file; +{ + unz_s* s; + file_in_zip_read_info_s* pfile_in_zip_read_info; + if (file==NULL) + return UNZ_PARAMERROR; + s=(unz_s*)file; + pfile_in_zip_read_info=s->pfile_in_zip_read; + + if (pfile_in_zip_read_info==NULL) + return UNZ_PARAMERROR; + + return (z_off_t)pfile_in_zip_read_info->stream.total_out; +} + + +/* + return 1 if the end of file was reached, 0 elsewhere +*/ +extern int ZEXPORT unzeof (file) + unzFile file; +{ + unz_s* s; + file_in_zip_read_info_s* pfile_in_zip_read_info; + if (file==NULL) + return UNZ_PARAMERROR; + s=(unz_s*)file; + pfile_in_zip_read_info=s->pfile_in_zip_read; + + if (pfile_in_zip_read_info==NULL) + return UNZ_PARAMERROR; + + if (pfile_in_zip_read_info->rest_read_uncompressed == 0) + return 1; + else + return 0; +} + + + +/* + Read extra field from the current file (opened by unzOpenCurrentFile) + This is the local-header version of the extra field (sometimes, there is + more info in the local-header version than in the central-header) + + if buf==NULL, it return the size of the local extra field that can be read + + if buf!=NULL, len is the size of the buffer, the extra header is copied in + buf. + the return value is the number of bytes copied in buf, or (if <0) + the error code +*/ +extern int ZEXPORT unzGetLocalExtrafield (file,buf,len) + unzFile file; + voidp buf; + unsigned len; +{ + unz_s* s; + file_in_zip_read_info_s* pfile_in_zip_read_info; + uInt read_now; + uLong size_to_read; + + if (file==NULL) + return UNZ_PARAMERROR; + s=(unz_s*)file; + pfile_in_zip_read_info=s->pfile_in_zip_read; + + if (pfile_in_zip_read_info==NULL) + return UNZ_PARAMERROR; + + size_to_read = (pfile_in_zip_read_info->size_local_extrafield - + pfile_in_zip_read_info->pos_local_extrafield); + + if (buf==NULL) + return (int)size_to_read; + + if (len>size_to_read) + read_now = (uInt)size_to_read; + else + read_now = (uInt)len ; + + if (read_now==0) + return 0; + + if (ZSEEK(pfile_in_zip_read_info->z_filefunc, + pfile_in_zip_read_info->filestream, + pfile_in_zip_read_info->offset_local_extrafield + + pfile_in_zip_read_info->pos_local_extrafield, + ZLIB_FILEFUNC_SEEK_SET)!=0) + return UNZ_ERRNO; + + if (ZREAD(pfile_in_zip_read_info->z_filefunc, + pfile_in_zip_read_info->filestream, + buf,read_now)!=read_now) + return UNZ_ERRNO; + + return (int)read_now; +} + +/* + Close the file in zip opened with unzipOpenCurrentFile + Return UNZ_CRCERROR if all the file was read but the CRC is not good +*/ +extern int ZEXPORT unzCloseCurrentFile (file) + unzFile file; +{ + int err=UNZ_OK; + + unz_s* s; + file_in_zip_read_info_s* pfile_in_zip_read_info; + if (file==NULL) + return UNZ_PARAMERROR; + s=(unz_s*)file; + pfile_in_zip_read_info=s->pfile_in_zip_read; + + if (pfile_in_zip_read_info==NULL) + return UNZ_PARAMERROR; + + + if ((pfile_in_zip_read_info->rest_read_uncompressed == 0) && + (!pfile_in_zip_read_info->raw)) + { + if (pfile_in_zip_read_info->crc32 != pfile_in_zip_read_info->crc32_wait) + err=UNZ_CRCERROR; + } + + + TRYFREE(pfile_in_zip_read_info->read_buffer); + pfile_in_zip_read_info->read_buffer = NULL; + if (pfile_in_zip_read_info->stream_initialised) + inflateEnd(&pfile_in_zip_read_info->stream); + + pfile_in_zip_read_info->stream_initialised = 0; + TRYFREE(pfile_in_zip_read_info); + + s->pfile_in_zip_read=NULL; + + return err; +} + + +/* + Get the global comment string of the ZipFile, in the szComment buffer. + uSizeBuf is the size of the szComment buffer. + return the number of byte copied or an error code <0 +*/ +extern int ZEXPORT unzGetGlobalComment (file, szComment, uSizeBuf) + unzFile file; + char *szComment; + uLong uSizeBuf; +{ + int err=UNZ_OK; + unz_s* s; + uLong uReadThis ; + if (file==NULL) + return UNZ_PARAMERROR; + s=(unz_s*)file; + + uReadThis = uSizeBuf; + if (uReadThis>s->gi.size_comment) + uReadThis = s->gi.size_comment; + + if (ZSEEK(s->z_filefunc,s->filestream,s->central_pos+22,ZLIB_FILEFUNC_SEEK_SET)!=0) + return UNZ_ERRNO; + + if (uReadThis>0) + { + *szComment='\0'; + if (ZREAD(s->z_filefunc,s->filestream,szComment,uReadThis)!=uReadThis) + return UNZ_ERRNO; + } + + if ((szComment != NULL) && (uSizeBuf > s->gi.size_comment)) + *(szComment+s->gi.size_comment)='\0'; + return (int)uReadThis; +} + +/* Additions by RX '2004 */ +extern uLong ZEXPORT unzGetOffset (file) + unzFile file; +{ + unz_s* s; + + if (file==NULL) + return UNZ_PARAMERROR; + s=(unz_s*)file; + if (!s->current_file_ok) + return 0; + if (s->gi.number_entry != 0 && s->gi.number_entry != 0xffff) + if (s->num_file==s->gi.number_entry) + return 0; + return s->pos_in_central_dir; +} + +extern int ZEXPORT unzSetOffset (file, pos) + unzFile file; + uLong pos; +{ + unz_s* s; + int err; + + if (file==NULL) + return UNZ_PARAMERROR; + s=(unz_s*)file; + + s->pos_in_central_dir = pos; + s->num_file = s->gi.number_entry; /* hack */ + err = unzlocal_GetCurrentFileInfoInternal(file,&s->cur_file_info, + &s->cur_file_info_internal, + NULL,0,NULL,0,NULL,0); + s->current_file_ok = (err == UNZ_OK); + return err; +} diff --git a/minizip/unzip.h b/minizip/unzip.h new file mode 100644 index 0000000..b247937 --- /dev/null +++ b/minizip/unzip.h @@ -0,0 +1,354 @@ +/* unzip.h -- IO for uncompress .zip files using zlib + Version 1.01e, February 12th, 2005 + + Copyright (C) 1998-2005 Gilles Vollant + + This unzip package allow extract file from .ZIP file, compatible with PKZip 2.04g + WinZip, InfoZip tools and compatible. + + Multi volume ZipFile (span) are not supported. + Encryption compatible with pkzip 2.04g only supported + Old compressions used by old PKZip 1.x are not supported + + + I WAIT FEEDBACK at mail info@winimage.com + Visit also http://www.winimage.com/zLibDll/unzip.htm for evolution + + Condition of use and distribution are the same than zlib : + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + +*/ + +/* for more info about .ZIP format, see + http://www.info-zip.org/pub/infozip/doc/appnote-981119-iz.zip + http://www.info-zip.org/pub/infozip/doc/ + PkWare has also a specification at : + ftp://ftp.pkware.com/probdesc.zip +*/ + +#ifndef _unz_H +#define _unz_H + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef _ZLIB_H +#include "zlib.h" +#endif + +#ifndef _ZLIBIOAPI_H +#include "ioapi.h" +#endif + +#if defined(STRICTUNZIP) || defined(STRICTZIPUNZIP) +/* like the STRICT of WIN32, we define a pointer that cannot be converted + from (void*) without cast */ +typedef struct TagunzFile__ { int unused; } unzFile__; +typedef unzFile__ *unzFile; +#else +typedef voidp unzFile; +#endif + + +#define UNZ_OK (0) +#define UNZ_END_OF_LIST_OF_FILE (-100) +#define UNZ_ERRNO (Z_ERRNO) +#define UNZ_EOF (0) +#define UNZ_PARAMERROR (-102) +#define UNZ_BADZIPFILE (-103) +#define UNZ_INTERNALERROR (-104) +#define UNZ_CRCERROR (-105) + +/* tm_unz contain date/time info */ +typedef struct tm_unz_s +{ + uInt tm_sec; /* seconds after the minute - [0,59] */ + uInt tm_min; /* minutes after the hour - [0,59] */ + uInt tm_hour; /* hours since midnight - [0,23] */ + uInt tm_mday; /* day of the month - [1,31] */ + uInt tm_mon; /* months since January - [0,11] */ + uInt tm_year; /* years - [1980..2044] */ +} tm_unz; + +/* unz_global_info structure contain global data about the ZIPfile + These data comes from the end of central dir */ +typedef struct unz_global_info_s +{ + uLong number_entry; /* total number of entries in + the central dir on this disk */ + uLong size_comment; /* size of the global comment of the zipfile */ +} unz_global_info; + + +/* unz_file_info contain information about a file in the zipfile */ +typedef struct unz_file_info_s +{ + uLong version; /* version made by 2 bytes */ + uLong version_needed; /* version needed to extract 2 bytes */ + uLong flag; /* general purpose bit flag 2 bytes */ + uLong compression_method; /* compression method 2 bytes */ + uLong dosDate; /* last mod file date in Dos fmt 4 bytes */ + uLong crc; /* crc-32 4 bytes */ + uLong compressed_size; /* compressed size 4 bytes */ + uLong uncompressed_size; /* uncompressed size 4 bytes */ + uLong size_filename; /* filename length 2 bytes */ + uLong size_file_extra; /* extra field length 2 bytes */ + uLong size_file_comment; /* file comment length 2 bytes */ + + uLong disk_num_start; /* disk number start 2 bytes */ + uLong internal_fa; /* internal file attributes 2 bytes */ + uLong external_fa; /* external file attributes 4 bytes */ + + tm_unz tmu_date; +} unz_file_info; + +extern int ZEXPORT unzStringFileNameCompare OF ((const char* fileName1, + const char* fileName2, + int iCaseSensitivity)); +/* + Compare two filename (fileName1,fileName2). + If iCaseSenisivity = 1, comparision is case sensitivity (like strcmp) + If iCaseSenisivity = 2, comparision is not case sensitivity (like strcmpi + or strcasecmp) + If iCaseSenisivity = 0, case sensitivity is defaut of your operating system + (like 1 on Unix, 2 on Windows) +*/ + + +extern unzFile ZEXPORT unzOpen OF((const char *path)); +/* + Open a Zip file. path contain the full pathname (by example, + on a Windows XP computer "c:\\zlib\\zlib113.zip" or on an Unix computer + "zlib/zlib113.zip". + If the zipfile cannot be opened (file don't exist or in not valid), the + return value is NULL. + Else, the return value is a unzFile Handle, usable with other function + of this unzip package. +*/ + +extern unzFile ZEXPORT unzOpen2 OF((const char *path, + zlib_filefunc_def* pzlib_filefunc_def)); +/* + Open a Zip file, like unzOpen, but provide a set of file low level API + for read/write the zip file (see ioapi.h) +*/ + +extern int ZEXPORT unzClose OF((unzFile file)); +/* + Close a ZipFile opened with unzipOpen. + If there is files inside the .Zip opened with unzOpenCurrentFile (see later), + these files MUST be closed with unzipCloseCurrentFile before call unzipClose. + return UNZ_OK if there is no problem. */ + +extern int ZEXPORT unzGetGlobalInfo OF((unzFile file, + unz_global_info *pglobal_info)); +/* + Write info about the ZipFile in the *pglobal_info structure. + No preparation of the structure is needed + return UNZ_OK if there is no problem. */ + + +extern int ZEXPORT unzGetGlobalComment OF((unzFile file, + char *szComment, + uLong uSizeBuf)); +/* + Get the global comment string of the ZipFile, in the szComment buffer. + uSizeBuf is the size of the szComment buffer. + return the number of byte copied or an error code <0 +*/ + + +/***************************************************************************/ +/* Unzip package allow you browse the directory of the zipfile */ + +extern int ZEXPORT unzGoToFirstFile OF((unzFile file)); +/* + Set the current file of the zipfile to the first file. + return UNZ_OK if there is no problem +*/ + +extern int ZEXPORT unzGoToNextFile OF((unzFile file)); +/* + Set the current file of the zipfile to the next file. + return UNZ_OK if there is no problem + return UNZ_END_OF_LIST_OF_FILE if the actual file was the latest. +*/ + +extern int ZEXPORT unzLocateFile OF((unzFile file, + const char *szFileName, + int iCaseSensitivity)); +/* + Try locate the file szFileName in the zipfile. + For the iCaseSensitivity signification, see unzStringFileNameCompare + + return value : + UNZ_OK if the file is found. It becomes the current file. + UNZ_END_OF_LIST_OF_FILE if the file is not found +*/ + + +/* ****************************************** */ +/* Ryan supplied functions */ +/* unz_file_info contain information about a file in the zipfile */ +typedef struct unz_file_pos_s +{ + uLong pos_in_zip_directory; /* offset in zip file directory */ + uLong num_of_file; /* # of file */ +} unz_file_pos; + +extern int ZEXPORT unzGetFilePos( + unzFile file, + unz_file_pos* file_pos); + +extern int ZEXPORT unzGoToFilePos( + unzFile file, + unz_file_pos* file_pos); + +/* ****************************************** */ + +extern int ZEXPORT unzGetCurrentFileInfo OF((unzFile file, + unz_file_info *pfile_info, + char *szFileName, + uLong fileNameBufferSize, + void *extraField, + uLong extraFieldBufferSize, + char *szComment, + uLong commentBufferSize)); +/* + Get Info about the current file + if pfile_info!=NULL, the *pfile_info structure will contain somes info about + the current file + if szFileName!=NULL, the filemane string will be copied in szFileName + (fileNameBufferSize is the size of the buffer) + if extraField!=NULL, the extra field information will be copied in extraField + (extraFieldBufferSize is the size of the buffer). + This is the Central-header version of the extra field + if szComment!=NULL, the comment string of the file will be copied in szComment + (commentBufferSize is the size of the buffer) +*/ + +/***************************************************************************/ +/* for reading the content of the current zipfile, you can open it, read data + from it, and close it (you can close it before reading all the file) + */ + +extern int ZEXPORT unzOpenCurrentFile OF((unzFile file)); +/* + Open for reading data the current file in the zipfile. + If there is no error, the return value is UNZ_OK. +*/ + +extern int ZEXPORT unzOpenCurrentFilePassword OF((unzFile file, + const char* password)); +/* + Open for reading data the current file in the zipfile. + password is a crypting password + If there is no error, the return value is UNZ_OK. +*/ + +extern int ZEXPORT unzOpenCurrentFile2 OF((unzFile file, + int* method, + int* level, + int raw)); +/* + Same than unzOpenCurrentFile, but open for read raw the file (not uncompress) + if raw==1 + *method will receive method of compression, *level will receive level of + compression + note : you can set level parameter as NULL (if you did not want known level, + but you CANNOT set method parameter as NULL +*/ + +extern int ZEXPORT unzOpenCurrentFile3 OF((unzFile file, + int* method, + int* level, + int raw, + const char* password)); +/* + Same than unzOpenCurrentFile, but open for read raw the file (not uncompress) + if raw==1 + *method will receive method of compression, *level will receive level of + compression + note : you can set level parameter as NULL (if you did not want known level, + but you CANNOT set method parameter as NULL +*/ + + +extern int ZEXPORT unzCloseCurrentFile OF((unzFile file)); +/* + Close the file in zip opened with unzOpenCurrentFile + Return UNZ_CRCERROR if all the file was read but the CRC is not good +*/ + +extern int ZEXPORT unzReadCurrentFile OF((unzFile file, + voidp buf, + unsigned len)); +/* + Read bytes from the current file (opened by unzOpenCurrentFile) + buf contain buffer where data must be copied + len the size of buf. + + return the number of byte copied if somes bytes are copied + return 0 if the end of file was reached + return <0 with error code if there is an error + (UNZ_ERRNO for IO error, or zLib error for uncompress error) +*/ + +extern z_off_t ZEXPORT unztell OF((unzFile file)); +/* + Give the current position in uncompressed data +*/ + +extern int ZEXPORT unzeof OF((unzFile file)); +/* + return 1 if the end of file was reached, 0 elsewhere +*/ + +extern int ZEXPORT unzGetLocalExtrafield OF((unzFile file, + voidp buf, + unsigned len)); +/* + Read extra field from the current file (opened by unzOpenCurrentFile) + This is the local-header version of the extra field (sometimes, there is + more info in the local-header version than in the central-header) + + if buf==NULL, it return the size of the local extra field + + if buf!=NULL, len is the size of the buffer, the extra header is copied in + buf. + the return value is the number of bytes copied in buf, or (if <0) + the error code +*/ + +/***************************************************************************/ + +/* Get the current file offset */ +extern uLong ZEXPORT unzGetOffset (unzFile file); + +/* Set the current file offset */ +extern int ZEXPORT unzSetOffset (unzFile file, uLong pos); + + + +#ifdef __cplusplus +} +#endif + +#endif /* _unz_H */ diff --git a/minizip/zip.c b/minizip/zip.c new file mode 100644 index 0000000..7fbe002 --- /dev/null +++ b/minizip/zip.c @@ -0,0 +1,1219 @@ +/* zip.c -- IO on .zip files using zlib + Version 1.01e, February 12th, 2005 + + 27 Dec 2004 Rolf Kalbermatter + Modification to zipOpen2 to support globalComment retrieval. + + Copyright (C) 1998-2005 Gilles Vollant + + Read zip.h for more info +*/ + + +#include +#include +#include +#include +#include "zlib.h" +#include "zip.h" + +#ifdef STDC +# include +# include +# include +#endif +#ifdef NO_ERRNO_H + extern int errno; +#else +# include +#endif + + +#ifndef local +# define local static +#endif +/* compile with -Dlocal if your debugger can't find static symbols */ + +#ifndef VERSIONMADEBY +# define VERSIONMADEBY (0x0) /* platform depedent */ +#endif + +#ifndef Z_BUFSIZE +#define Z_BUFSIZE (16384) +#endif + +#ifndef Z_MAXFILENAMEINZIP +#define Z_MAXFILENAMEINZIP (256) +#endif + +#ifndef ALLOC +# define ALLOC(size) (malloc(size)) +#endif +#ifndef TRYFREE +# define TRYFREE(p) {if (p) free(p);} +#endif + +/* +#define SIZECENTRALDIRITEM (0x2e) +#define SIZEZIPLOCALHEADER (0x1e) +*/ + +/* I've found an old Unix (a SunOS 4.1.3_U1) without all SEEK_* defined.... */ + +#ifndef SEEK_CUR +#define SEEK_CUR 1 +#endif + +#ifndef SEEK_END +#define SEEK_END 2 +#endif + +#ifndef SEEK_SET +#define SEEK_SET 0 +#endif + +#ifndef DEF_MEM_LEVEL +#if MAX_MEM_LEVEL >= 8 +# define DEF_MEM_LEVEL 8 +#else +# define DEF_MEM_LEVEL MAX_MEM_LEVEL +#endif +#endif +const char zip_copyright[] = + " zip 1.01 Copyright 1998-2004 Gilles Vollant - http://www.winimage.com/zLibDll"; + + +#define SIZEDATA_INDATABLOCK (4096-(4*4)) + +#define LOCALHEADERMAGIC (0x04034b50) +#define CENTRALHEADERMAGIC (0x02014b50) +#define ENDHEADERMAGIC (0x06054b50) + +#define FLAG_LOCALHEADER_OFFSET (0x06) +#define CRC_LOCALHEADER_OFFSET (0x0e) + +#define SIZECENTRALHEADER (0x2e) /* 46 */ + +typedef struct linkedlist_datablock_internal_s +{ + struct linkedlist_datablock_internal_s* next_datablock; + uLong avail_in_this_block; + uLong filled_in_this_block; + uLong unused; /* for future use and alignement */ + unsigned char data[SIZEDATA_INDATABLOCK]; +} linkedlist_datablock_internal; + +typedef struct linkedlist_data_s +{ + linkedlist_datablock_internal* first_block; + linkedlist_datablock_internal* last_block; +} linkedlist_data; + + +typedef struct +{ + z_stream stream; /* zLib stream structure for inflate */ + int stream_initialised; /* 1 is stream is initialised */ + uInt pos_in_buffered_data; /* last written byte in buffered_data */ + + uLong pos_local_header; /* offset of the local header of the file + currenty writing */ + char* central_header; /* central header data for the current file */ + uLong size_centralheader; /* size of the central header for cur file */ + uLong flag; /* flag of the file currently writing */ + + int method; /* compression method of file currenty wr.*/ + int raw; /* 1 for directly writing raw data */ + Byte buffered_data[Z_BUFSIZE];/* buffer contain compressed data to be writ*/ + uLong dosDate; + uLong crc32; + int encrypt; +#ifndef NOCRYPT + unsigned long keys[3]; /* keys defining the pseudo-random sequence */ + const unsigned long* pcrc_32_tab; + int crypt_header_size; +#endif +} curfile_info; + +typedef struct +{ + zlib_filefunc_def z_filefunc; + voidpf filestream; /* io structore of the zipfile */ + linkedlist_data central_dir;/* datablock with central dir in construction*/ + int in_opened_file_inzip; /* 1 if a file in the zip is currently writ.*/ + curfile_info ci; /* info on the file curretly writing */ + + uLong begin_pos; /* position of the beginning of the zipfile */ + uLong add_position_when_writting_offset; + uLong number_entry; +#ifndef NO_ADDFILEINEXISTINGZIP + char *globalcomment; +#endif +} zip_internal; + + + +#ifndef NOCRYPT +#define INCLUDECRYPTINGCODE_IFCRYPTALLOWED +#include "crypt.h" +#endif + +local linkedlist_datablock_internal* allocate_new_datablock() +{ + linkedlist_datablock_internal* ldi; + ldi = (linkedlist_datablock_internal*) + ALLOC(sizeof(linkedlist_datablock_internal)); + if (ldi!=NULL) + { + ldi->next_datablock = NULL ; + ldi->filled_in_this_block = 0 ; + ldi->avail_in_this_block = SIZEDATA_INDATABLOCK ; + } + return ldi; +} + +local void free_datablock(ldi) + linkedlist_datablock_internal* ldi; +{ + while (ldi!=NULL) + { + linkedlist_datablock_internal* ldinext = ldi->next_datablock; + TRYFREE(ldi); + ldi = ldinext; + } +} + +local void init_linkedlist(ll) + linkedlist_data* ll; +{ + ll->first_block = ll->last_block = NULL; +} + +local void free_linkedlist(ll) + linkedlist_data* ll; +{ + free_datablock(ll->first_block); + ll->first_block = ll->last_block = NULL; +} + + +local int add_data_in_datablock(ll,buf,len) + linkedlist_data* ll; + const void* buf; + uLong len; +{ + linkedlist_datablock_internal* ldi; + const unsigned char* from_copy; + + if (ll==NULL) + return ZIP_INTERNALERROR; + + if (ll->last_block == NULL) + { + ll->first_block = ll->last_block = allocate_new_datablock(); + if (ll->first_block == NULL) + return ZIP_INTERNALERROR; + } + + ldi = ll->last_block; + from_copy = (unsigned char*)buf; + + while (len>0) + { + uInt copy_this; + uInt i; + unsigned char* to_copy; + + if (ldi->avail_in_this_block==0) + { + ldi->next_datablock = allocate_new_datablock(); + if (ldi->next_datablock == NULL) + return ZIP_INTERNALERROR; + ldi = ldi->next_datablock ; + ll->last_block = ldi; + } + + if (ldi->avail_in_this_block < len) + copy_this = (uInt)ldi->avail_in_this_block; + else + copy_this = (uInt)len; + + to_copy = &(ldi->data[ldi->filled_in_this_block]); + + for (i=0;ifilled_in_this_block += copy_this; + ldi->avail_in_this_block -= copy_this; + from_copy += copy_this ; + len -= copy_this; + } + return ZIP_OK; +} + + + +/****************************************************************************/ + +#ifndef NO_ADDFILEINEXISTINGZIP +/* =========================================================================== + Inputs a long in LSB order to the given file + nbByte == 1, 2 or 4 (byte, short or long) +*/ + +local int ziplocal_putValue OF((const zlib_filefunc_def* pzlib_filefunc_def, + voidpf filestream, uLong x, int nbByte)); +local int ziplocal_putValue (pzlib_filefunc_def, filestream, x, nbByte) + const zlib_filefunc_def* pzlib_filefunc_def; + voidpf filestream; + uLong x; + int nbByte; +{ + unsigned char buf[4]; + int n; + for (n = 0; n < nbByte; n++) + { + buf[n] = (unsigned char)(x & 0xff); + x >>= 8; + } + if (x != 0) + { /* data overflow - hack for ZIP64 (X Roche) */ + for (n = 0; n < nbByte; n++) + { + buf[n] = 0xff; + } + } + + if (ZWRITE(*pzlib_filefunc_def,filestream,buf,nbByte)!=(uLong)nbByte) + return ZIP_ERRNO; + else + return ZIP_OK; +} + +local void ziplocal_putValue_inmemory OF((void* dest, uLong x, int nbByte)); +local void ziplocal_putValue_inmemory (dest, x, nbByte) + void* dest; + uLong x; + int nbByte; +{ + unsigned char* buf=(unsigned char*)dest; + int n; + for (n = 0; n < nbByte; n++) { + buf[n] = (unsigned char)(x & 0xff); + x >>= 8; + } + + if (x != 0) + { /* data overflow - hack for ZIP64 */ + for (n = 0; n < nbByte; n++) + { + buf[n] = 0xff; + } + } +} + +/****************************************************************************/ + + +local uLong ziplocal_TmzDateToDosDate(ptm,dosDate) + const tm_zip* ptm; + uLong dosDate; +{ + uLong year = (uLong)ptm->tm_year; + if (year>1980) + year-=1980; + else if (year>80) + year-=80; + return + (uLong) (((ptm->tm_mday) + (32 * (ptm->tm_mon+1)) + (512 * year)) << 16) | + ((ptm->tm_sec/2) + (32* ptm->tm_min) + (2048 * (uLong)ptm->tm_hour)); +} + + +/****************************************************************************/ + +local int ziplocal_getByte OF(( + const zlib_filefunc_def* pzlib_filefunc_def, + voidpf filestream, + int *pi)); + +local int ziplocal_getByte(pzlib_filefunc_def,filestream,pi) + const zlib_filefunc_def* pzlib_filefunc_def; + voidpf filestream; + int *pi; +{ + unsigned char c; + int err = (int)ZREAD(*pzlib_filefunc_def,filestream,&c,1); + if (err==1) + { + *pi = (int)c; + return ZIP_OK; + } + else + { + if (ZERROR(*pzlib_filefunc_def,filestream)) + return ZIP_ERRNO; + else + return ZIP_EOF; + } +} + + +/* =========================================================================== + Reads a long in LSB order from the given gz_stream. Sets +*/ +local int ziplocal_getShort OF(( + const zlib_filefunc_def* pzlib_filefunc_def, + voidpf filestream, + uLong *pX)); + +local int ziplocal_getShort (pzlib_filefunc_def,filestream,pX) + const zlib_filefunc_def* pzlib_filefunc_def; + voidpf filestream; + uLong *pX; +{ + uLong x ; + int i; + int err; + + err = ziplocal_getByte(pzlib_filefunc_def,filestream,&i); + x = (uLong)i; + + if (err==ZIP_OK) + err = ziplocal_getByte(pzlib_filefunc_def,filestream,&i); + x += ((uLong)i)<<8; + + if (err==ZIP_OK) + *pX = x; + else + *pX = 0; + return err; +} + +local int ziplocal_getLong OF(( + const zlib_filefunc_def* pzlib_filefunc_def, + voidpf filestream, + uLong *pX)); + +local int ziplocal_getLong (pzlib_filefunc_def,filestream,pX) + const zlib_filefunc_def* pzlib_filefunc_def; + voidpf filestream; + uLong *pX; +{ + uLong x ; + int i; + int err; + + err = ziplocal_getByte(pzlib_filefunc_def,filestream,&i); + x = (uLong)i; + + if (err==ZIP_OK) + err = ziplocal_getByte(pzlib_filefunc_def,filestream,&i); + x += ((uLong)i)<<8; + + if (err==ZIP_OK) + err = ziplocal_getByte(pzlib_filefunc_def,filestream,&i); + x += ((uLong)i)<<16; + + if (err==ZIP_OK) + err = ziplocal_getByte(pzlib_filefunc_def,filestream,&i); + x += ((uLong)i)<<24; + + if (err==ZIP_OK) + *pX = x; + else + *pX = 0; + return err; +} + +#ifndef BUFREADCOMMENT +#define BUFREADCOMMENT (0x400) +#endif +/* + Locate the Central directory of a zipfile (at the end, just before + the global comment) +*/ +local uLong ziplocal_SearchCentralDir OF(( + const zlib_filefunc_def* pzlib_filefunc_def, + voidpf filestream)); + +local uLong ziplocal_SearchCentralDir(pzlib_filefunc_def,filestream) + const zlib_filefunc_def* pzlib_filefunc_def; + voidpf filestream; +{ + unsigned char* buf; + uLong uSizeFile; + uLong uBackRead; + uLong uMaxBack=0xffff; /* maximum size of global comment */ + uLong uPosFound=0; + + if (ZSEEK(*pzlib_filefunc_def,filestream,0,ZLIB_FILEFUNC_SEEK_END) != 0) + return 0; + + + uSizeFile = ZTELL(*pzlib_filefunc_def,filestream); + + if (uMaxBack>uSizeFile) + uMaxBack = uSizeFile; + + buf = (unsigned char*)ALLOC(BUFREADCOMMENT+4); + if (buf==NULL) + return 0; + + uBackRead = 4; + while (uBackReaduMaxBack) + uBackRead = uMaxBack; + else + uBackRead+=BUFREADCOMMENT; + uReadPos = uSizeFile-uBackRead ; + + uReadSize = ((BUFREADCOMMENT+4) < (uSizeFile-uReadPos)) ? + (BUFREADCOMMENT+4) : (uSizeFile-uReadPos); + if (ZSEEK(*pzlib_filefunc_def,filestream,uReadPos,ZLIB_FILEFUNC_SEEK_SET)!=0) + break; + + if (ZREAD(*pzlib_filefunc_def,filestream,buf,uReadSize)!=uReadSize) + break; + + for (i=(int)uReadSize-3; (i--)>0;) + if (((*(buf+i))==0x50) && ((*(buf+i+1))==0x4b) && + ((*(buf+i+2))==0x05) && ((*(buf+i+3))==0x06)) + { + uPosFound = uReadPos+i; + break; + } + + if (uPosFound!=0) + break; + } + TRYFREE(buf); + return uPosFound; +} +#endif /* !NO_ADDFILEINEXISTINGZIP*/ + +/************************************************************/ +extern zipFile ZEXPORT zipOpen2 (pathname, append, globalcomment, pzlib_filefunc_def) + const char *pathname; + int append; + zipcharpc* globalcomment; + zlib_filefunc_def* pzlib_filefunc_def; +{ + zip_internal ziinit; + zip_internal* zi; + int err=ZIP_OK; + + + if (pzlib_filefunc_def==NULL) + fill_fopen_filefunc(&ziinit.z_filefunc); + else + ziinit.z_filefunc = *pzlib_filefunc_def; + + ziinit.filestream = (*(ziinit.z_filefunc.zopen_file)) + (ziinit.z_filefunc.opaque, + pathname, + (append == APPEND_STATUS_CREATE) ? + (ZLIB_FILEFUNC_MODE_READ | ZLIB_FILEFUNC_MODE_WRITE | ZLIB_FILEFUNC_MODE_CREATE) : + (ZLIB_FILEFUNC_MODE_READ | ZLIB_FILEFUNC_MODE_WRITE | ZLIB_FILEFUNC_MODE_EXISTING)); + + if (ziinit.filestream == NULL) + return NULL; + ziinit.begin_pos = ZTELL(ziinit.z_filefunc,ziinit.filestream); + ziinit.in_opened_file_inzip = 0; + ziinit.ci.stream_initialised = 0; + ziinit.number_entry = 0; + ziinit.add_position_when_writting_offset = 0; + init_linkedlist(&(ziinit.central_dir)); + + + zi = (zip_internal*)ALLOC(sizeof(zip_internal)); + if (zi==NULL) + { + ZCLOSE(ziinit.z_filefunc,ziinit.filestream); + return NULL; + } + + /* now we add file in a zipfile */ +# ifndef NO_ADDFILEINEXISTINGZIP + ziinit.globalcomment = NULL; + if (append == APPEND_STATUS_ADDINZIP) + { + uLong byte_before_the_zipfile;/* byte before the zipfile, (>0 for sfx)*/ + + uLong size_central_dir; /* size of the central directory */ + uLong offset_central_dir; /* offset of start of central directory */ + uLong central_pos,uL; + + uLong number_disk; /* number of the current dist, used for + spaning ZIP, unsupported, always 0*/ + uLong number_disk_with_CD; /* number the the disk with central dir, used + for spaning ZIP, unsupported, always 0*/ + uLong number_entry; + uLong number_entry_CD; /* total number of entries in + the central dir + (same than number_entry on nospan) */ + uLong size_comment; + + central_pos = ziplocal_SearchCentralDir(&ziinit.z_filefunc,ziinit.filestream); + if (central_pos==0) + err=ZIP_ERRNO; + + if (ZSEEK(ziinit.z_filefunc, ziinit.filestream, + central_pos,ZLIB_FILEFUNC_SEEK_SET)!=0) + err=ZIP_ERRNO; + + /* the signature, already checked */ + if (ziplocal_getLong(&ziinit.z_filefunc, ziinit.filestream,&uL)!=ZIP_OK) + err=ZIP_ERRNO; + + /* number of this disk */ + if (ziplocal_getShort(&ziinit.z_filefunc, ziinit.filestream,&number_disk)!=ZIP_OK) + err=ZIP_ERRNO; + + /* number of the disk with the start of the central directory */ + if (ziplocal_getShort(&ziinit.z_filefunc, ziinit.filestream,&number_disk_with_CD)!=ZIP_OK) + err=ZIP_ERRNO; + + /* total number of entries in the central dir on this disk */ + if (ziplocal_getShort(&ziinit.z_filefunc, ziinit.filestream,&number_entry)!=ZIP_OK) + err=ZIP_ERRNO; + + /* total number of entries in the central dir */ + if (ziplocal_getShort(&ziinit.z_filefunc, ziinit.filestream,&number_entry_CD)!=ZIP_OK) + err=ZIP_ERRNO; + + if ((number_entry_CD!=number_entry) || + (number_disk_with_CD!=0) || + (number_disk!=0)) + err=ZIP_BADZIPFILE; + + /* size of the central directory */ + if (ziplocal_getLong(&ziinit.z_filefunc, ziinit.filestream,&size_central_dir)!=ZIP_OK) + err=ZIP_ERRNO; + + /* offset of start of central directory with respect to the + starting disk number */ + if (ziplocal_getLong(&ziinit.z_filefunc, ziinit.filestream,&offset_central_dir)!=ZIP_OK) + err=ZIP_ERRNO; + + /* zipfile global comment length */ + if (ziplocal_getShort(&ziinit.z_filefunc, ziinit.filestream,&size_comment)!=ZIP_OK) + err=ZIP_ERRNO; + + if ((central_pos0) + { + ziinit.globalcomment = ALLOC(size_comment+1); + if (ziinit.globalcomment) + { + size_comment = ZREAD(ziinit.z_filefunc, ziinit.filestream,ziinit.globalcomment,size_comment); + ziinit.globalcomment[size_comment]=0; + } + } + + byte_before_the_zipfile = central_pos - + (offset_central_dir+size_central_dir); + ziinit.add_position_when_writting_offset = byte_before_the_zipfile; + + { + uLong size_central_dir_to_read = size_central_dir; + size_t buf_size = SIZEDATA_INDATABLOCK; + void* buf_read = (void*)ALLOC(buf_size); + if (ZSEEK(ziinit.z_filefunc, ziinit.filestream, + offset_central_dir + byte_before_the_zipfile, + ZLIB_FILEFUNC_SEEK_SET) != 0) + err=ZIP_ERRNO; + + while ((size_central_dir_to_read>0) && (err==ZIP_OK)) + { + uLong read_this = SIZEDATA_INDATABLOCK; + if (read_this > size_central_dir_to_read) + read_this = size_central_dir_to_read; + if (ZREAD(ziinit.z_filefunc, ziinit.filestream,buf_read,read_this) != read_this) + err=ZIP_ERRNO; + + if (err==ZIP_OK) + err = add_data_in_datablock(&ziinit.central_dir,buf_read, + (uLong)read_this); + size_central_dir_to_read-=read_this; + } + TRYFREE(buf_read); + } + ziinit.begin_pos = byte_before_the_zipfile; + ziinit.number_entry = number_entry_CD; + + if (ZSEEK(ziinit.z_filefunc, ziinit.filestream, + offset_central_dir+byte_before_the_zipfile,ZLIB_FILEFUNC_SEEK_SET)!=0) + err=ZIP_ERRNO; + } + + if (globalcomment) + { + *globalcomment = ziinit.globalcomment; + } +# endif /* !NO_ADDFILEINEXISTINGZIP*/ + + if (err != ZIP_OK) + { +# ifndef NO_ADDFILEINEXISTINGZIP + TRYFREE(ziinit.globalcomment); +# endif /* !NO_ADDFILEINEXISTINGZIP*/ + TRYFREE(zi); + return NULL; + } + else + { + *zi = ziinit; + return (zipFile)zi; + } +} + +extern zipFile ZEXPORT zipOpen (pathname, append) + const char *pathname; + int append; +{ + return zipOpen2(pathname,append,NULL,NULL); +} + +extern int ZEXPORT zipOpenNewFileInZip3 (file, filename, zipfi, + extrafield_local, size_extrafield_local, + extrafield_global, size_extrafield_global, + comment, method, level, raw, + windowBits, memLevel, strategy, + password, crcForCrypting) + zipFile file; + const char* filename; + const zip_fileinfo* zipfi; + const void* extrafield_local; + uInt size_extrafield_local; + const void* extrafield_global; + uInt size_extrafield_global; + const char* comment; + int method; + int level; + int raw; + int windowBits; + int memLevel; + int strategy; + const char* password; + uLong crcForCrypting; +{ + zip_internal* zi; + uInt size_filename; + uInt size_comment; + uInt i; + int err = ZIP_OK; + +# ifdef NOCRYPT + if (password != NULL) + return ZIP_PARAMERROR; +# endif + + if (file == NULL) + return ZIP_PARAMERROR; + if ((method!=0) && (method!=Z_DEFLATED)) + return ZIP_PARAMERROR; + + zi = (zip_internal*)file; + + if (zi->in_opened_file_inzip == 1) + { + err = zipCloseFileInZip (file); + if (err != ZIP_OK) + return err; + } + + + if (filename==NULL) + filename="-"; + + if (comment==NULL) + size_comment = 0; + else + size_comment = (uInt)strlen(comment); + + size_filename = (uInt)strlen(filename); + + if (zipfi == NULL) + zi->ci.dosDate = 0; + else + { + if (zipfi->dosDate != 0) + zi->ci.dosDate = zipfi->dosDate; + else zi->ci.dosDate = ziplocal_TmzDateToDosDate(&zipfi->tmz_date,zipfi->dosDate); + } + + zi->ci.flag = 0; + if ((level==8) || (level==9)) + zi->ci.flag |= 2; + if ((level==2)) + zi->ci.flag |= 4; + if ((level==1)) + zi->ci.flag |= 6; + if (password != NULL) + zi->ci.flag |= 1; + + zi->ci.crc32 = 0; + zi->ci.method = method; + zi->ci.encrypt = 0; + zi->ci.stream_initialised = 0; + zi->ci.pos_in_buffered_data = 0; + zi->ci.raw = raw; + zi->ci.pos_local_header = ZTELL(zi->z_filefunc,zi->filestream) ; + zi->ci.size_centralheader = SIZECENTRALHEADER + size_filename + + size_extrafield_global + size_comment; + zi->ci.central_header = (char*)ALLOC((uInt)zi->ci.size_centralheader); + + ziplocal_putValue_inmemory(zi->ci.central_header,(uLong)CENTRALHEADERMAGIC,4); + /* version info */ + ziplocal_putValue_inmemory(zi->ci.central_header+4,(uLong)VERSIONMADEBY,2); + ziplocal_putValue_inmemory(zi->ci.central_header+6,(uLong)20,2); + ziplocal_putValue_inmemory(zi->ci.central_header+8,(uLong)zi->ci.flag,2); + ziplocal_putValue_inmemory(zi->ci.central_header+10,(uLong)zi->ci.method,2); + ziplocal_putValue_inmemory(zi->ci.central_header+12,(uLong)zi->ci.dosDate,4); + ziplocal_putValue_inmemory(zi->ci.central_header+16,(uLong)0,4); /*crc*/ + ziplocal_putValue_inmemory(zi->ci.central_header+20,(uLong)0,4); /*compr size*/ + ziplocal_putValue_inmemory(zi->ci.central_header+24,(uLong)0,4); /*uncompr size*/ + ziplocal_putValue_inmemory(zi->ci.central_header+28,(uLong)size_filename,2); + ziplocal_putValue_inmemory(zi->ci.central_header+30,(uLong)size_extrafield_global,2); + ziplocal_putValue_inmemory(zi->ci.central_header+32,(uLong)size_comment,2); + ziplocal_putValue_inmemory(zi->ci.central_header+34,(uLong)0,2); /*disk nm start*/ + + if (zipfi==NULL) + ziplocal_putValue_inmemory(zi->ci.central_header+36,(uLong)0,2); + else + ziplocal_putValue_inmemory(zi->ci.central_header+36,(uLong)zipfi->internal_fa,2); + + if (zipfi==NULL) + ziplocal_putValue_inmemory(zi->ci.central_header+38,(uLong)0,4); + else + ziplocal_putValue_inmemory(zi->ci.central_header+38,(uLong)zipfi->external_fa,4); + + ziplocal_putValue_inmemory(zi->ci.central_header+42,(uLong)zi->ci.pos_local_header- zi->add_position_when_writting_offset,4); + + for (i=0;ici.central_header+SIZECENTRALHEADER+i) = *(filename+i); + + for (i=0;ici.central_header+SIZECENTRALHEADER+size_filename+i) = + *(((const char*)extrafield_global)+i); + + for (i=0;ici.central_header+SIZECENTRALHEADER+size_filename+ + size_extrafield_global+i) = *(comment+i); + if (zi->ci.central_header == NULL) + return ZIP_INTERNALERROR; + + /* write the local header */ + err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,(uLong)LOCALHEADERMAGIC,4); + + if (err==ZIP_OK) + err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,(uLong)20,2);/* version needed to extract */ + if (err==ZIP_OK) + err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->ci.flag,2); + + if (err==ZIP_OK) + err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->ci.method,2); + + if (err==ZIP_OK) + err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->ci.dosDate,4); + + if (err==ZIP_OK) + err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4); /* crc 32, unknown */ + if (err==ZIP_OK) + err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4); /* compressed size, unknown */ + if (err==ZIP_OK) + err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4); /* uncompressed size, unknown */ + + if (err==ZIP_OK) + err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,(uLong)size_filename,2); + + if (err==ZIP_OK) + err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,(uLong)size_extrafield_local,2); + + if ((err==ZIP_OK) && (size_filename>0)) + if (ZWRITE(zi->z_filefunc,zi->filestream,filename,size_filename)!=size_filename) + err = ZIP_ERRNO; + + if ((err==ZIP_OK) && (size_extrafield_local>0)) + if (ZWRITE(zi->z_filefunc,zi->filestream,extrafield_local,size_extrafield_local) + !=size_extrafield_local) + err = ZIP_ERRNO; + + zi->ci.stream.avail_in = (uInt)0; + zi->ci.stream.avail_out = (uInt)Z_BUFSIZE; + zi->ci.stream.next_out = zi->ci.buffered_data; + zi->ci.stream.total_in = 0; + zi->ci.stream.total_out = 0; + + if ((err==ZIP_OK) && (zi->ci.method == Z_DEFLATED) && (!zi->ci.raw)) + { + zi->ci.stream.zalloc = (alloc_func)0; + zi->ci.stream.zfree = (free_func)0; + zi->ci.stream.opaque = (voidpf)0; + + if (windowBits>0) + windowBits = -windowBits; + + err = deflateInit2(&zi->ci.stream, level, + Z_DEFLATED, windowBits, memLevel, strategy); + + if (err==Z_OK) + zi->ci.stream_initialised = 1; + } +# ifndef NOCRYPT + zi->ci.crypt_header_size = 0; + if ((err==Z_OK) && (password != NULL)) + { + unsigned char bufHead[RAND_HEAD_LEN]; + unsigned int sizeHead; + zi->ci.encrypt = 1; + zi->ci.pcrc_32_tab = get_crc_table(); + /*init_keys(password,zi->ci.keys,zi->ci.pcrc_32_tab);*/ + + sizeHead=crypthead(password,bufHead,RAND_HEAD_LEN,zi->ci.keys,zi->ci.pcrc_32_tab,crcForCrypting); + zi->ci.crypt_header_size = sizeHead; + + if (ZWRITE(zi->z_filefunc,zi->filestream,bufHead,sizeHead) != sizeHead) + err = ZIP_ERRNO; + } +# endif + + if (err==Z_OK) + zi->in_opened_file_inzip = 1; + return err; +} + +extern int ZEXPORT zipOpenNewFileInZip2(file, filename, zipfi, + extrafield_local, size_extrafield_local, + extrafield_global, size_extrafield_global, + comment, method, level, raw) + zipFile file; + const char* filename; + const zip_fileinfo* zipfi; + const void* extrafield_local; + uInt size_extrafield_local; + const void* extrafield_global; + uInt size_extrafield_global; + const char* comment; + int method; + int level; + int raw; +{ + return zipOpenNewFileInZip3 (file, filename, zipfi, + extrafield_local, size_extrafield_local, + extrafield_global, size_extrafield_global, + comment, method, level, raw, + -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY, + NULL, 0); +} + +extern int ZEXPORT zipOpenNewFileInZip (file, filename, zipfi, + extrafield_local, size_extrafield_local, + extrafield_global, size_extrafield_global, + comment, method, level) + zipFile file; + const char* filename; + const zip_fileinfo* zipfi; + const void* extrafield_local; + uInt size_extrafield_local; + const void* extrafield_global; + uInt size_extrafield_global; + const char* comment; + int method; + int level; +{ + return zipOpenNewFileInZip2 (file, filename, zipfi, + extrafield_local, size_extrafield_local, + extrafield_global, size_extrafield_global, + comment, method, level, 0); +} + +local int zipFlushWriteBuffer(zi) + zip_internal* zi; +{ + int err=ZIP_OK; + + if (zi->ci.encrypt != 0) + { +#ifndef NOCRYPT + uInt i; + int t; + for (i=0;ici.pos_in_buffered_data;i++) + zi->ci.buffered_data[i] = zencode(zi->ci.keys, zi->ci.pcrc_32_tab, + zi->ci.buffered_data[i],t); +#endif + } + if (ZWRITE(zi->z_filefunc,zi->filestream,zi->ci.buffered_data,zi->ci.pos_in_buffered_data) + !=zi->ci.pos_in_buffered_data) + err = ZIP_ERRNO; + zi->ci.pos_in_buffered_data = 0; + return err; +} + +extern int ZEXPORT zipWriteInFileInZip (file, buf, len) + zipFile file; + const void* buf; + unsigned len; +{ + zip_internal* zi; + int err=ZIP_OK; + + if (file == NULL) + return ZIP_PARAMERROR; + zi = (zip_internal*)file; + + if (zi->in_opened_file_inzip == 0) + return ZIP_PARAMERROR; + + zi->ci.stream.next_in = (void*)buf; + zi->ci.stream.avail_in = len; + zi->ci.crc32 = crc32(zi->ci.crc32,buf,len); + + while ((err==ZIP_OK) && (zi->ci.stream.avail_in>0)) + { + if (zi->ci.stream.avail_out == 0) + { + if (zipFlushWriteBuffer(zi) == ZIP_ERRNO) + err = ZIP_ERRNO; + zi->ci.stream.avail_out = (uInt)Z_BUFSIZE; + zi->ci.stream.next_out = zi->ci.buffered_data; + } + + + if(err != ZIP_OK) + break; + + if ((zi->ci.method == Z_DEFLATED) && (!zi->ci.raw)) + { + uLong uTotalOutBefore = zi->ci.stream.total_out; + err=deflate(&zi->ci.stream, Z_NO_FLUSH); + zi->ci.pos_in_buffered_data += (uInt)(zi->ci.stream.total_out - uTotalOutBefore) ; + + } + else + { + uInt copy_this,i; + if (zi->ci.stream.avail_in < zi->ci.stream.avail_out) + copy_this = zi->ci.stream.avail_in; + else + copy_this = zi->ci.stream.avail_out; + for (i=0;ici.stream.next_out)+i) = + *(((const char*)zi->ci.stream.next_in)+i); + { + zi->ci.stream.avail_in -= copy_this; + zi->ci.stream.avail_out-= copy_this; + zi->ci.stream.next_in+= copy_this; + zi->ci.stream.next_out+= copy_this; + zi->ci.stream.total_in+= copy_this; + zi->ci.stream.total_out+= copy_this; + zi->ci.pos_in_buffered_data += copy_this; + } + } + } + + return err; +} + +extern int ZEXPORT zipCloseFileInZipRaw (file, uncompressed_size, crc32) + zipFile file; + uLong uncompressed_size; + uLong crc32; +{ + zip_internal* zi; + uLong compressed_size; + int err=ZIP_OK; + + if (file == NULL) + return ZIP_PARAMERROR; + zi = (zip_internal*)file; + + if (zi->in_opened_file_inzip == 0) + return ZIP_PARAMERROR; + zi->ci.stream.avail_in = 0; + + if ((zi->ci.method == Z_DEFLATED) && (!zi->ci.raw)) + while (err==ZIP_OK) + { + uLong uTotalOutBefore; + if (zi->ci.stream.avail_out == 0) + { + if (zipFlushWriteBuffer(zi) == ZIP_ERRNO) + err = ZIP_ERRNO; + zi->ci.stream.avail_out = (uInt)Z_BUFSIZE; + zi->ci.stream.next_out = zi->ci.buffered_data; + } + uTotalOutBefore = zi->ci.stream.total_out; + err=deflate(&zi->ci.stream, Z_FINISH); + zi->ci.pos_in_buffered_data += (uInt)(zi->ci.stream.total_out - uTotalOutBefore) ; + } + + if (err==Z_STREAM_END) + err=ZIP_OK; /* this is normal */ + + if ((zi->ci.pos_in_buffered_data>0) && (err==ZIP_OK)) + if (zipFlushWriteBuffer(zi)==ZIP_ERRNO) + err = ZIP_ERRNO; + + if ((zi->ci.method == Z_DEFLATED) && (!zi->ci.raw)) + { + err=deflateEnd(&zi->ci.stream); + zi->ci.stream_initialised = 0; + } + + if (!zi->ci.raw) + { + crc32 = (uLong)zi->ci.crc32; + uncompressed_size = (uLong)zi->ci.stream.total_in; + } + compressed_size = (uLong)zi->ci.stream.total_out; +# ifndef NOCRYPT + compressed_size += zi->ci.crypt_header_size; +# endif + + ziplocal_putValue_inmemory(zi->ci.central_header+16,crc32,4); /*crc*/ + ziplocal_putValue_inmemory(zi->ci.central_header+20, + compressed_size,4); /*compr size*/ + if (zi->ci.stream.data_type == Z_ASCII) + ziplocal_putValue_inmemory(zi->ci.central_header+36,(uLong)Z_ASCII,2); + ziplocal_putValue_inmemory(zi->ci.central_header+24, + uncompressed_size,4); /*uncompr size*/ + + if (err==ZIP_OK) + err = add_data_in_datablock(&zi->central_dir,zi->ci.central_header, + (uLong)zi->ci.size_centralheader); + free(zi->ci.central_header); + + if (err==ZIP_OK) + { + long cur_pos_inzip = ZTELL(zi->z_filefunc,zi->filestream); + if (ZSEEK(zi->z_filefunc,zi->filestream, + zi->ci.pos_local_header + 14,ZLIB_FILEFUNC_SEEK_SET)!=0) + err = ZIP_ERRNO; + + if (err==ZIP_OK) + err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,crc32,4); /* crc 32, unknown */ + + if (err==ZIP_OK) /* compressed size, unknown */ + err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,compressed_size,4); + + if (err==ZIP_OK) /* uncompressed size, unknown */ + err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,uncompressed_size,4); + + if (ZSEEK(zi->z_filefunc,zi->filestream, + cur_pos_inzip,ZLIB_FILEFUNC_SEEK_SET)!=0) + err = ZIP_ERRNO; + } + + zi->number_entry ++; + zi->in_opened_file_inzip = 0; + + return err; +} + +extern int ZEXPORT zipCloseFileInZip (file) + zipFile file; +{ + return zipCloseFileInZipRaw (file,0,0); +} + +extern int ZEXPORT zipClose (file, global_comment) + zipFile file; + const char* global_comment; +{ + zip_internal* zi; + int err = 0; + uLong size_centraldir = 0; + uLong centraldir_pos_inzip; + uInt size_global_comment; + if (file == NULL) + return ZIP_PARAMERROR; + zi = (zip_internal*)file; + + if (zi->in_opened_file_inzip == 1) + { + err = zipCloseFileInZip (file); + } + +#ifndef NO_ADDFILEINEXISTINGZIP + if (global_comment==NULL) + global_comment = zi->globalcomment; +#endif + if (global_comment==NULL) + size_global_comment = 0; + else + size_global_comment = (uInt)strlen(global_comment); + + centraldir_pos_inzip = ZTELL(zi->z_filefunc,zi->filestream); + if (err==ZIP_OK) + { + linkedlist_datablock_internal* ldi = zi->central_dir.first_block ; + while (ldi!=NULL) + { + if ((err==ZIP_OK) && (ldi->filled_in_this_block>0)) + if (ZWRITE(zi->z_filefunc,zi->filestream, + ldi->data,ldi->filled_in_this_block) + !=ldi->filled_in_this_block ) + err = ZIP_ERRNO; + + size_centraldir += ldi->filled_in_this_block; + ldi = ldi->next_datablock; + } + } + free_datablock(zi->central_dir.first_block); + + if (err==ZIP_OK) /* Magic End */ + err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,(uLong)ENDHEADERMAGIC,4); + + if (err==ZIP_OK) /* number of this disk */ + err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,2); + + if (err==ZIP_OK) /* number of the disk with the start of the central directory */ + err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,2); + + if (err==ZIP_OK) /* total number of entries in the central dir on this disk */ + err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->number_entry,2); + + if (err==ZIP_OK) /* total number of entries in the central dir */ + err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->number_entry,2); + + if (err==ZIP_OK) /* size of the central directory */ + err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,(uLong)size_centraldir,4); + + if (err==ZIP_OK) /* offset of start of central directory with respect to the + starting disk number */ + err = ziplocal_putValue(&zi->z_filefunc,zi->filestream, + (uLong)(centraldir_pos_inzip - zi->add_position_when_writting_offset),4); + + if (err==ZIP_OK) /* zipfile comment length */ + err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,(uLong)size_global_comment,2); + + if ((err==ZIP_OK) && (size_global_comment>0)) + if (ZWRITE(zi->z_filefunc,zi->filestream, + global_comment,size_global_comment) != size_global_comment) + err = ZIP_ERRNO; + + if (ZCLOSE(zi->z_filefunc,zi->filestream) != 0) + if (err == ZIP_OK) + err = ZIP_ERRNO; + +#ifndef NO_ADDFILEINEXISTINGZIP + TRYFREE(zi->globalcomment); +#endif + TRYFREE(zi); + + return err; +} diff --git a/minizip/zip.h b/minizip/zip.h new file mode 100644 index 0000000..acacce8 --- /dev/null +++ b/minizip/zip.h @@ -0,0 +1,235 @@ +/* zip.h -- IO for compress .zip files using zlib + Version 1.01e, February 12th, 2005 + + Copyright (C) 1998-2005 Gilles Vollant + + This unzip package allow creates .ZIP file, compatible with PKZip 2.04g + WinZip, InfoZip tools and compatible. + Multi volume ZipFile (span) are not supported. + Encryption compatible with pkzip 2.04g only supported + Old compressions used by old PKZip 1.x are not supported + + For uncompress .zip file, look at unzip.h + + + I WAIT FEEDBACK at mail info@winimage.com + Visit also http://www.winimage.com/zLibDll/unzip.html for evolution + + Condition of use and distribution are the same than zlib : + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + +*/ + +/* for more info about .ZIP format, see + http://www.info-zip.org/pub/infozip/doc/appnote-981119-iz.zip + http://www.info-zip.org/pub/infozip/doc/ + PkWare has also a specification at : + ftp://ftp.pkware.com/probdesc.zip +*/ + +#ifndef _zip_H +#define _zip_H + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef _ZLIB_H +#include "zlib.h" +#endif + +#ifndef _ZLIBIOAPI_H +#include "ioapi.h" +#endif + +#if defined(STRICTZIP) || defined(STRICTZIPUNZIP) +/* like the STRICT of WIN32, we define a pointer that cannot be converted + from (void*) without cast */ +typedef struct TagzipFile__ { int unused; } zipFile__; +typedef zipFile__ *zipFile; +#else +typedef voidp zipFile; +#endif + +#define ZIP_OK (0) +#define ZIP_EOF (0) +#define ZIP_ERRNO (Z_ERRNO) +#define ZIP_PARAMERROR (-102) +#define ZIP_BADZIPFILE (-103) +#define ZIP_INTERNALERROR (-104) + +#ifndef DEF_MEM_LEVEL +# if MAX_MEM_LEVEL >= 8 +# define DEF_MEM_LEVEL 8 +# else +# define DEF_MEM_LEVEL MAX_MEM_LEVEL +# endif +#endif +/* default memLevel */ + +/* tm_zip contain date/time info */ +typedef struct tm_zip_s +{ + uInt tm_sec; /* seconds after the minute - [0,59] */ + uInt tm_min; /* minutes after the hour - [0,59] */ + uInt tm_hour; /* hours since midnight - [0,23] */ + uInt tm_mday; /* day of the month - [1,31] */ + uInt tm_mon; /* months since January - [0,11] */ + uInt tm_year; /* years - [1980..2044] */ +} tm_zip; + +typedef struct +{ + tm_zip tmz_date; /* date in understandable format */ + uLong dosDate; /* if dos_date == 0, tmu_date is used */ +/* uLong flag; */ /* general purpose bit flag 2 bytes */ + + uLong internal_fa; /* internal file attributes 2 bytes */ + uLong external_fa; /* external file attributes 4 bytes */ +} zip_fileinfo; + +typedef const char* zipcharpc; + + +#define APPEND_STATUS_CREATE (0) +#define APPEND_STATUS_CREATEAFTER (1) +#define APPEND_STATUS_ADDINZIP (2) + +extern zipFile ZEXPORT zipOpen OF((const char *pathname, int append)); +/* + Create a zipfile. + pathname contain on Windows XP a filename like "c:\\zlib\\zlib113.zip" or on + an Unix computer "zlib/zlib113.zip". + if the file pathname exist and append==APPEND_STATUS_CREATEAFTER, the zip + will be created at the end of the file. + (useful if the file contain a self extractor code) + if the file pathname exist and append==APPEND_STATUS_ADDINZIP, we will + add files in existing zip (be sure you don't add file that doesn't exist) + If the zipfile cannot be opened, the return value is NULL. + Else, the return value is a zipFile Handle, usable with other function + of this zip package. +*/ + +/* Note : there is no delete function into a zipfile. + If you want delete file into a zipfile, you must open a zipfile, and create another + Of couse, you can use RAW reading and writing to copy the file you did not want delte +*/ + +extern zipFile ZEXPORT zipOpen2 OF((const char *pathname, + int append, + zipcharpc* globalcomment, + zlib_filefunc_def* pzlib_filefunc_def)); + +extern int ZEXPORT zipOpenNewFileInZip OF((zipFile file, + const char* filename, + const zip_fileinfo* zipfi, + const void* extrafield_local, + uInt size_extrafield_local, + const void* extrafield_global, + uInt size_extrafield_global, + const char* comment, + int method, + int level)); +/* + Open a file in the ZIP for writing. + filename : the filename in zip (if NULL, '-' without quote will be used + *zipfi contain supplemental information + if extrafield_local!=NULL and size_extrafield_local>0, extrafield_local + contains the extrafield data the the local header + if extrafield_global!=NULL and size_extrafield_global>0, extrafield_global + contains the extrafield data the the local header + if comment != NULL, comment contain the comment string + method contain the compression method (0 for store, Z_DEFLATED for deflate) + level contain the level of compression (can be Z_DEFAULT_COMPRESSION) +*/ + + +extern int ZEXPORT zipOpenNewFileInZip2 OF((zipFile file, + const char* filename, + const zip_fileinfo* zipfi, + const void* extrafield_local, + uInt size_extrafield_local, + const void* extrafield_global, + uInt size_extrafield_global, + const char* comment, + int method, + int level, + int raw)); + +/* + Same than zipOpenNewFileInZip, except if raw=1, we write raw file + */ + +extern int ZEXPORT zipOpenNewFileInZip3 OF((zipFile file, + const char* filename, + const zip_fileinfo* zipfi, + const void* extrafield_local, + uInt size_extrafield_local, + const void* extrafield_global, + uInt size_extrafield_global, + const char* comment, + int method, + int level, + int raw, + int windowBits, + int memLevel, + int strategy, + const char* password, + uLong crcForCtypting)); + +/* + Same than zipOpenNewFileInZip2, except + windowBits,memLevel,,strategy : see parameter strategy in deflateInit2 + password : crypting password (NULL for no crypting) + crcForCtypting : crc of file to compress (needed for crypting) + */ + + +extern int ZEXPORT zipWriteInFileInZip OF((zipFile file, + const void* buf, + unsigned len)); +/* + Write data in the zipfile +*/ + +extern int ZEXPORT zipCloseFileInZip OF((zipFile file)); +/* + Close the current file in the zipfile +*/ + +extern int ZEXPORT zipCloseFileInZipRaw OF((zipFile file, + uLong uncompressed_size, + uLong crc32)); +/* + Close the current file in the zipfile, for fiel opened with + parameter raw=1 in zipOpenNewFileInZip2 + uncompressed_size and crc32 are value for the uncompressed size +*/ + +extern int ZEXPORT zipClose OF((zipFile file, + const char* global_comment)); +/* + Close the zipfile +*/ + +#ifdef __cplusplus +} +#endif + +#endif /* _zip_H */

7Z`g~%Aby=>aW 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 )%wYKFm; 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 z%0D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 +#endif + +NS_ASSUME_NONNULL_BEGIN + +/** + Error code specific to SAMKeychain that can be returned in NSError objects. + For codes returned by the operating system, refer to SecBase.h for your + platform. + */ +typedef NS_ENUM(OSStatus, SAMKeychainErrorCode) { + /** Some of the arguments were invalid. */ + SAMKeychainErrorBadArguments = -1001, +}; + +/** SAMKeychain error domain */ +extern NSString *const kSAMKeychainErrorDomain; + +/** Account name. */ +extern NSString *const kSAMKeychainAccountKey; + +/** + Time the item was created. + + The value will be a string. + */ +extern NSString *const kSAMKeychainCreatedAtKey; + +/** Item class. */ +extern NSString *const kSAMKeychainClassKey; + +/** Item description. */ +extern NSString *const kSAMKeychainDescriptionKey; + +/** Item label. */ +extern NSString *const kSAMKeychainLabelKey; + +/** Time the item was last modified. + + The value will be a string. + */ +extern NSString *const kSAMKeychainLastModifiedKey; + +/** Where the item was created. */ +extern NSString *const kSAMKeychainWhereKey; + +/** + Simple wrapper for accessing accounts, getting passwords, setting passwords, and deleting passwords using the system + Keychain on Mac OS X and iOS. + + This was originally inspired by EMKeychain and SDKeychain (both of which are now gone). Thanks to the authors. + SAMKeychain has since switched to a simpler implementation that was abstracted from [SSToolkit](http://sstoolk.it). + */ +@interface SAMKeychain : NSObject + +#pragma mark - Classic methods + +/** + Returns a string containing the password for a given account and service, or `nil` if the Keychain doesn't have a + password for the given parameters. + + @param serviceName The service for which to return the corresponding password. + + @param account The account for which to return the corresponding password. + + @return Returns a string containing the password for a given account and service, or `nil` if the Keychain doesn't + have a password for the given parameters. + */ ++ (nullable NSString *)passwordForService:(NSString *)serviceName account:(NSString *)account; ++ (nullable NSString *)passwordForService:(NSString *)serviceName account:(NSString *)account error:(NSError **)error __attribute__((swift_error(none))); + +/** + Returns a nsdata containing the password for a given account and service, or `nil` if the Keychain doesn't have a + password for the given parameters. + + @param serviceName The service for which to return the corresponding password. + + @param account The account for which to return the corresponding password. + + @return Returns a nsdata containing the password for a given account and service, or `nil` if the Keychain doesn't + have a password for the given parameters. + */ ++ (nullable NSData *)passwordDataForService:(NSString *)serviceName account:(NSString *)account; ++ (nullable NSData *)passwordDataForService:(NSString *)serviceName account:(NSString *)account error:(NSError **)error __attribute__((swift_error(none))); + + +/** + Deletes a password from the Keychain. + + @param serviceName The service for which to delete the corresponding password. + + @param account The account for which to delete the corresponding password. + + @return Returns `YES` on success, or `NO` on failure. + */ ++ (BOOL)deletePasswordForService:(NSString *)serviceName account:(NSString *)account; ++ (BOOL)deletePasswordForService:(NSString *)serviceName account:(NSString *)account error:(NSError **)error __attribute__((swift_error(none))); + + +/** + Sets a password in the Keychain. + + @param password The password to store in the Keychain. + + @param serviceName The service for which to set the corresponding password. + + @param account The account for which to set the corresponding password. + + @return Returns `YES` on success, or `NO` on failure. + */ ++ (BOOL)setPassword:(NSString *)password forService:(NSString *)serviceName account:(NSString *)account; ++ (BOOL)setPassword:(NSString *)password forService:(NSString *)serviceName account:(NSString *)account error:(NSError **)error __attribute__((swift_error(none))); + +/** + Sets a password in the Keychain. + + @param password The password to store in the Keychain. + + @param serviceName The service for which to set the corresponding password. + + @param account The account for which to set the corresponding password. + + @return Returns `YES` on success, or `NO` on failure. + */ ++ (BOOL)setPasswordData:(NSData *)password forService:(NSString *)serviceName account:(NSString *)account; ++ (BOOL)setPasswordData:(NSData *)password forService:(NSString *)serviceName account:(NSString *)account error:(NSError **)error __attribute__((swift_error(none))); + +/** + Returns an array containing the Keychain's accounts, or `nil` if the Keychain has no accounts. + + See the `NSString` constants declared in SAMKeychain.h for a list of keys that can be used when accessing the + dictionaries returned by this method. + + @return An array of dictionaries containing the Keychain's accounts, or `nil` if the Keychain doesn't have any + accounts. The order of the objects in the array isn't defined. + */ ++ (nullable NSArray *> *)allAccounts; ++ (nullable NSArray *> *)allAccounts:(NSError *__autoreleasing *)error __attribute__((swift_error(none))); + + +/** + Returns an array containing the Keychain's accounts for a given service, or `nil` if the Keychain doesn't have any + accounts for the given service. + + See the `NSString` constants declared in SAMKeychain.h for a list of keys that can be used when accessing the + dictionaries returned by this method. + + @param serviceName The service for which to return the corresponding accounts. + + @return An array of dictionaries containing the Keychain's accounts for a given `serviceName`, or `nil` if the Keychain + doesn't have any accounts for the given `serviceName`. The order of the objects in the array isn't defined. + */ ++ (nullable NSArray *> *)accountsForService:(nullable NSString *)serviceName; ++ (nullable NSArray *> *)accountsForService:(nullable NSString *)serviceName error:(NSError *__autoreleasing *)error __attribute__((swift_error(none))); + + +#pragma mark - Configuration + +#if __IPHONE_4_0 && TARGET_OS_IPHONE +/** + Returns the accessibility type for all future passwords saved to the Keychain. + + @return Returns the accessibility type. + + The return value will be `NULL` or one of the "Keychain Item Accessibility + Constants" used for determining when a keychain item should be readable. + + @see setAccessibilityType + */ ++ (CFTypeRef)accessibilityType; + +/** + Sets the accessibility type for all future passwords saved to the Keychain. + + @param accessibilityType One of the "Keychain Item Accessibility Constants" + used for determining when a keychain item should be readable. + + If the value is `NULL` (the default), the Keychain default will be used which + is highly insecure. You really should use at least `kSecAttrAccessibleAfterFirstUnlock` + for background applications or `kSecAttrAccessibleWhenUnlocked` for all + other applications. + + @see accessibilityType + */ ++ (void)setAccessibilityType:(CFTypeRef)accessibilityType; +#endif + +@end + +NS_ASSUME_NONNULL_END + +#import diff --git a/SAMKeychain/SAMKeychain.m b/SAMKeychain/SAMKeychain.m new file mode 100644 index 0000000..6d01d3d --- /dev/null +++ b/SAMKeychain/SAMKeychain.m @@ -0,0 +1,130 @@ +// +// SAMKeychain.m +// SAMKeychain +// +// Created by Sam Soffes on 5/19/10. +// Copyright (c) 2010-2014 Sam Soffes. All rights reserved. +// + +#import "SAMKeychain.h" +#import "SAMKeychainQuery.h" + +NSString *const kSAMKeychainErrorDomain = @"com.samsoffes.samkeychain"; +NSString *const kSAMKeychainAccountKey = @"acct"; +NSString *const kSAMKeychainCreatedAtKey = @"cdat"; +NSString *const kSAMKeychainClassKey = @"labl"; +NSString *const kSAMKeychainDescriptionKey = @"desc"; +NSString *const kSAMKeychainLabelKey = @"labl"; +NSString *const kSAMKeychainLastModifiedKey = @"mdat"; +NSString *const kSAMKeychainWhereKey = @"svce"; + +#if __IPHONE_4_0 && TARGET_OS_IPHONE + static CFTypeRef SAMKeychainAccessibilityType = NULL; +#endif + +@implementation SAMKeychain + ++ (nullable NSString *)passwordForService:(NSString *)serviceName account:(NSString *)account { + return [self passwordForService:serviceName account:account error:nil]; +} + + ++ (nullable NSString *)passwordForService:(NSString *)serviceName account:(NSString *)account error:(NSError *__autoreleasing *)error { + SAMKeychainQuery *query = [[SAMKeychainQuery alloc] init]; + query.service = serviceName; + query.account = account; + [query fetch:error]; + return query.password; +} + ++ (nullable NSData *)passwordDataForService:(NSString *)serviceName account:(NSString *)account { + return [self passwordDataForService:serviceName account:account error:nil]; +} + ++ (nullable NSData *)passwordDataForService:(NSString *)serviceName account:(NSString *)account error:(NSError **)error { + SAMKeychainQuery *query = [[SAMKeychainQuery alloc] init]; + query.service = serviceName; + query.account = account; + [query fetch:error]; + + return query.passwordData; +} + + ++ (BOOL)deletePasswordForService:(NSString *)serviceName account:(NSString *)account { + return [self deletePasswordForService:serviceName account:account error:nil]; +} + + ++ (BOOL)deletePasswordForService:(NSString *)serviceName account:(NSString *)account error:(NSError *__autoreleasing *)error { + SAMKeychainQuery *query = [[SAMKeychainQuery alloc] init]; + query.service = serviceName; + query.account = account; + return [query deleteItem:error]; +} + + ++ (BOOL)setPassword:(NSString *)password forService:(NSString *)serviceName account:(NSString *)account { + return [self setPassword:password forService:serviceName account:account error:nil]; +} + + ++ (BOOL)setPassword:(NSString *)password forService:(NSString *)serviceName account:(NSString *)account error:(NSError *__autoreleasing *)error { + SAMKeychainQuery *query = [[SAMKeychainQuery alloc] init]; + query.service = serviceName; + query.account = account; + query.password = password; + return [query save:error]; +} + ++ (BOOL)setPasswordData:(NSData *)password forService:(NSString *)serviceName account:(NSString *)account { + return [self setPasswordData:password forService:serviceName account:account error:nil]; +} + + ++ (BOOL)setPasswordData:(NSData *)password forService:(NSString *)serviceName account:(NSString *)account error:(NSError **)error { + SAMKeychainQuery *query = [[SAMKeychainQuery alloc] init]; + query.service = serviceName; + query.account = account; + query.passwordData = password; + return [query save:error]; +} + ++ (nullable NSArray *)allAccounts { + return [self allAccounts:nil]; +} + + ++ (nullable NSArray *)allAccounts:(NSError *__autoreleasing *)error { + return [self accountsForService:nil error:error]; +} + + ++ (nullable NSArray *)accountsForService:(nullable NSString *)serviceName { + return [self accountsForService:serviceName error:nil]; +} + + ++ (nullable NSArray *)accountsForService:(nullable NSString *)serviceName error:(NSError *__autoreleasing *)error { + SAMKeychainQuery *query = [[SAMKeychainQuery alloc] init]; + query.service = serviceName; + return [query fetchAll:error]; +} + + +#if __IPHONE_4_0 && TARGET_OS_IPHONE ++ (CFTypeRef)accessibilityType { + return SAMKeychainAccessibilityType; +} + + ++ (void)setAccessibilityType:(CFTypeRef)accessibilityType { + CFRetain(accessibilityType); + if (SAMKeychainAccessibilityType) { + CFRelease(SAMKeychainAccessibilityType); + } + SAMKeychainAccessibilityType = accessibilityType; +} +#endif + +@end diff --git a/SAMKeychain/SAMKeychainQuery.h b/SAMKeychain/SAMKeychainQuery.h new file mode 100644 index 0000000..f1b20f7 --- /dev/null +++ b/SAMKeychain/SAMKeychainQuery.h @@ -0,0 +1,147 @@ +// +// SAMKeychainQuery.h +// SAMKeychain +// +// Created by Caleb Davenport on 3/19/13. +// Copyright (c) 2013-2014 Sam Soffes. All rights reserved. +// + +#if __has_feature(modules) + @import Foundation; + @import Security; +#else + #import + #import +#endif + +NS_ASSUME_NONNULL_BEGIN + +#if __IPHONE_7_0 || __MAC_10_9 + // Keychain synchronization available at compile time + #define SAMKEYCHAIN_SYNCHRONIZATION_AVAILABLE 1 +#endif + +#if __IPHONE_3_0 || __MAC_10_9 + // Keychain access group available at compile time + #define SAMKEYCHAIN_ACCESS_GROUP_AVAILABLE 1 +#endif + +#ifdef SAMKEYCHAIN_SYNCHRONIZATION_AVAILABLE +typedef NS_ENUM(NSUInteger, SAMKeychainQuerySynchronizationMode) { + SAMKeychainQuerySynchronizationModeAny, + SAMKeychainQuerySynchronizationModeNo, + SAMKeychainQuerySynchronizationModeYes +}; +#endif + +/** + Simple interface for querying or modifying keychain items. + */ +@interface SAMKeychainQuery : NSObject + +/** kSecAttrAccount */ +@property (nonatomic, copy, nullable) NSString *account; + +/** kSecAttrService */ +@property (nonatomic, copy, nullable) NSString *service; + +/** kSecAttrLabel */ +@property (nonatomic, copy, nullable) NSString *label; + +#ifdef SAMKEYCHAIN_ACCESS_GROUP_AVAILABLE +/** kSecAttrAccessGroup (only used on iOS) */ +@property (nonatomic, copy, nullable) NSString *accessGroup; +#endif + +#ifdef SAMKEYCHAIN_SYNCHRONIZATION_AVAILABLE +/** kSecAttrSynchronizable */ +@property (nonatomic) SAMKeychainQuerySynchronizationMode synchronizationMode; +#endif + +/** Root storage for password information */ +@property (nonatomic, copy, nullable) NSData *passwordData; + +/** + This property automatically transitions between an object and the value of + `passwordData` using NSKeyedArchiver and NSKeyedUnarchiver. + */ +@property (nonatomic, copy, nullable) id passwordObject; + +/** + Convenience accessor for setting and getting a password string. Passes through + to `passwordData` using UTF-8 string encoding. + */ +@property (nonatomic, copy, nullable) NSString *password; + + +///------------------------ +/// @name Saving & Deleting +///------------------------ + +/** + Save the receiver's attributes as a keychain item. Existing items with the + given account, service, and access group will first be deleted. + + @param error Populated should an error occur. + + @return `YES` if saving was successful, `NO` otherwise. + */ +- (BOOL)save:(NSError **)error; + +/** + Delete keychain items that match the given account, service, and access group. + + @param error Populated should an error occur. + + @return `YES` if saving was successful, `NO` otherwise. + */ +- (BOOL)deleteItem:(NSError **)error; + + +///--------------- +/// @name Fetching +///--------------- + +/** + Fetch all keychain items that match the given account, service, and access + group. The values of `password` and `passwordData` are ignored when fetching. + + @param error Populated should an error occur. + + @return An array of dictionaries that represent all matching keychain items or + `nil` should an error occur. + The order of the items is not determined. + */ +- (nullable NSArray *> *)fetchAll:(NSError **)error; + +/** + Fetch the keychain item that matches the given account, service, and access + group. The `password` and `passwordData` properties will be populated unless + an error occurs. The values of `password` and `passwordData` are ignored when + fetching. + + @param error Populated should an error occur. + + @return `YES` if fetching was successful, `NO` otherwise. + */ +- (BOOL)fetch:(NSError **)error; + + +///----------------------------- +/// @name Synchronization Status +///----------------------------- + +#ifdef SAMKEYCHAIN_SYNCHRONIZATION_AVAILABLE +/** + Returns a boolean indicating if keychain synchronization is available on the device at runtime. The #define + SAMKEYCHAIN_SYNCHRONIZATION_AVAILABLE is only for compile time. If you are checking for the presence of synchronization, + you should use this method. + + @return A value indicating if keychain synchronization is available + */ ++ (BOOL)isSynchronizationAvailable; +#endif + +@end + +NS_ASSUME_NONNULL_END diff --git a/SAMKeychain/SAMKeychainQuery.m b/SAMKeychain/SAMKeychainQuery.m new file mode 100644 index 0000000..00ecb80 --- /dev/null +++ b/SAMKeychain/SAMKeychainQuery.m @@ -0,0 +1,316 @@ +// +// SAMKeychainQuery.m +// SAMKeychain +// +// Created by Caleb Davenport on 3/19/13. +// Copyright (c) 2013-2014 Sam Soffes. All rights reserved. +// + +#import "SAMKeychainQuery.h" +#import "SAMKeychain.h" + +@implementation SAMKeychainQuery + +@synthesize account = _account; +@synthesize service = _service; +@synthesize label = _label; +@synthesize passwordData = _passwordData; + +#ifdef SAMKEYCHAIN_ACCESS_GROUP_AVAILABLE +@synthesize accessGroup = _accessGroup; +#endif + +#ifdef SAMKEYCHAIN_SYNCHRONIZATION_AVAILABLE +@synthesize synchronizationMode = _synchronizationMode; +#endif + +#pragma mark - Public + +- (BOOL)save:(NSError *__autoreleasing *)error { + OSStatus status = SAMKeychainErrorBadArguments; + if (!self.service || !self.account || !self.passwordData) { + if (error) { + *error = [[self class] errorWithCode:status]; + } + return NO; + } + NSMutableDictionary *query = nil; + NSMutableDictionary * searchQuery = [self query]; + status = SecItemCopyMatching((__bridge CFDictionaryRef)searchQuery, nil); + if (status == errSecSuccess) {//item already exists, update it! + query = [[NSMutableDictionary alloc]init]; + [query setObject:self.passwordData forKey:(__bridge id)kSecValueData]; +#if __IPHONE_4_0 && TARGET_OS_IPHONE + CFTypeRef accessibilityType = [SAMKeychain accessibilityType]; + if (accessibilityType) { + [query setObject:(__bridge id)accessibilityType forKey:(__bridge id)kSecAttrAccessible]; + } +#endif + status = SecItemUpdate((__bridge CFDictionaryRef)(searchQuery), (__bridge CFDictionaryRef)(query)); + }else if(status == errSecItemNotFound){//item not found, create it! + query = [self query]; + if (self.label) { + [query setObject:self.label forKey:(__bridge id)kSecAttrLabel]; + } + [query setObject:self.passwordData forKey:(__bridge id)kSecValueData]; +#if __IPHONE_4_0 && TARGET_OS_IPHONE + CFTypeRef accessibilityType = [SAMKeychain accessibilityType]; + if (accessibilityType) { + [query setObject:(__bridge id)accessibilityType forKey:(__bridge id)kSecAttrAccessible]; + } +#endif + status = SecItemAdd((__bridge CFDictionaryRef)query, NULL); + } + if (status != errSecSuccess && error != NULL) { + *error = [[self class] errorWithCode:status]; + } + return (status == errSecSuccess);} + + +- (BOOL)deleteItem:(NSError *__autoreleasing *)error { + OSStatus status = SAMKeychainErrorBadArguments; + if (!self.service || !self.account) { + if (error) { + *error = [[self class] errorWithCode:status]; + } + return NO; + } + + NSMutableDictionary *query = [self query]; +#if TARGET_OS_IPHONE + status = SecItemDelete((__bridge CFDictionaryRef)query); +#else + // On Mac OS, SecItemDelete will not delete a key created in a different + // app, nor in a different version of the same app. + // + // To replicate the issue, save a password, change to the code and + // rebuild the app, and then attempt to delete that password. + // + // This was true in OS X 10.6 and probably later versions as well. + // + // Work around it by using SecItemCopyMatching and SecKeychainItemDelete. + CFTypeRef result = NULL; + [query setObject:@YES forKey:(__bridge id)kSecReturnRef]; + status = SecItemCopyMatching((__bridge CFDictionaryRef)query, &result); + if (status == errSecSuccess) { + status = SecKeychainItemDelete((SecKeychainItemRef)result); + CFRelease(result); + } +#endif + + if (status != errSecSuccess && error != NULL) { + *error = [[self class] errorWithCode:status]; + } + + return (status == errSecSuccess); +} + + +- (nullable NSArray *)fetchAll:(NSError *__autoreleasing *)error { + NSMutableDictionary *query = [self query]; + [query setObject:@YES forKey:(__bridge id)kSecReturnAttributes]; + [query setObject:(__bridge id)kSecMatchLimitAll forKey:(__bridge id)kSecMatchLimit]; +#if __IPHONE_4_0 && TARGET_OS_IPHONE + CFTypeRef accessibilityType = [SAMKeychain accessibilityType]; + if (accessibilityType) { + [query setObject:(__bridge id)accessibilityType forKey:(__bridge id)kSecAttrAccessible]; + } +#endif + + CFTypeRef result = NULL; + OSStatus status = SecItemCopyMatching((__bridge CFDictionaryRef)query, &result); + if (status != errSecSuccess && error != NULL) { + *error = [[self class] errorWithCode:status]; + return nil; + } + + return (__bridge_transfer NSArray *)result; +} + + +- (BOOL)fetch:(NSError *__autoreleasing *)error { + OSStatus status = SAMKeychainErrorBadArguments; + if (!self.service || !self.account) { + if (error) { + *error = [[self class] errorWithCode:status]; + } + return NO; + } + + CFTypeRef result = NULL; + NSMutableDictionary *query = [self query]; + [query setObject:@YES forKey:(__bridge id)kSecReturnData]; + [query setObject:(__bridge id)kSecMatchLimitOne forKey:(__bridge id)kSecMatchLimit]; + status = SecItemCopyMatching((__bridge CFDictionaryRef)query, &result); + + if (status != errSecSuccess) { + if (error) { + *error = [[self class] errorWithCode:status]; + } + return NO; + } + + self.passwordData = (__bridge_transfer NSData *)result; + return YES; +} + + +#pragma mark - Accessors + +- (void)setPasswordObject:(id)object { + self.passwordData = [NSKeyedArchiver archivedDataWithRootObject:object]; +} + + +- (id)passwordObject { + if ([self.passwordData length]) { + return [NSKeyedUnarchiver unarchiveObjectWithData:self.passwordData]; + } + return nil; +} + + +- (void)setPassword:(NSString *)password { + self.passwordData = [password dataUsingEncoding:NSUTF8StringEncoding]; +} + + +- (NSString *)password { + if ([self.passwordData length]) { + return [[NSString alloc] initWithData:self.passwordData encoding:NSUTF8StringEncoding]; + } + return nil; +} + + +#pragma mark - Synchronization Status + +#ifdef SAMKEYCHAIN_SYNCHRONIZATION_AVAILABLE ++ (BOOL)isSynchronizationAvailable { +#if TARGET_OS_IPHONE + // Apple suggested way to check for 7.0 at runtime + // https://developer.apple.com/library/ios/documentation/userexperience/conceptual/transitionguide/SupportingEarlieriOS.html + return floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_6_1; +#else + return floor(NSFoundationVersionNumber) > NSFoundationVersionNumber10_8_4; +#endif +} +#endif + + +#pragma mark - Private + +- (NSMutableDictionary *)query { + NSMutableDictionary *dictionary = [NSMutableDictionary dictionaryWithCapacity:3]; + [dictionary setObject:(__bridge id)kSecClassGenericPassword forKey:(__bridge id)kSecClass]; + + if (self.service) { + [dictionary setObject:self.service forKey:(__bridge id)kSecAttrService]; + } + + if (self.account) { + [dictionary setObject:self.account forKey:(__bridge id)kSecAttrAccount]; + } + +#ifdef SAMKEYCHAIN_ACCESS_GROUP_AVAILABLE +#if !TARGET_IPHONE_SIMULATOR + if (self.accessGroup) { + [dictionary setObject:self.accessGroup forKey:(__bridge id)kSecAttrAccessGroup]; + } +#endif +#endif + +#ifdef SAMKEYCHAIN_SYNCHRONIZATION_AVAILABLE + if ([[self class] isSynchronizationAvailable]) { + id value; + + switch (self.synchronizationMode) { + case SAMKeychainQuerySynchronizationModeNo: { + value = @NO; + break; + } + case SAMKeychainQuerySynchronizationModeYes: { + value = @YES; + break; + } + case SAMKeychainQuerySynchronizationModeAny: { + value = (__bridge id)(kSecAttrSynchronizableAny); + break; + } + } + + [dictionary setObject:value forKey:(__bridge id)(kSecAttrSynchronizable)]; + } +#endif + + return dictionary; +} + + ++ (NSError *)errorWithCode:(OSStatus) code { + static dispatch_once_t onceToken; + static NSBundle *resourcesBundle = nil; + dispatch_once(&onceToken, ^{ + NSURL *url = [[NSBundle bundleForClass:[SAMKeychainQuery class]] URLForResource:@"SAMKeychain" withExtension:@"bundle"]; + resourcesBundle = [NSBundle bundleWithURL:url]; + }); + + NSString *message = nil; + switch (code) { + case errSecSuccess: return nil; + case SAMKeychainErrorBadArguments: message = NSLocalizedStringFromTableInBundle(@"SAMKeychainErrorBadArguments", @"SAMKeychain", resourcesBundle, nil); break; + +#if TARGET_OS_IPHONE + case errSecUnimplemented: { + message = NSLocalizedStringFromTableInBundle(@"errSecUnimplemented", @"SAMKeychain", resourcesBundle, nil); + break; + } + case errSecParam: { + message = NSLocalizedStringFromTableInBundle(@"errSecParam", @"SAMKeychain", resourcesBundle, nil); + break; + } + case errSecAllocate: { + message = NSLocalizedStringFromTableInBundle(@"errSecAllocate", @"SAMKeychain", resourcesBundle, nil); + break; + } + case errSecNotAvailable: { + message = NSLocalizedStringFromTableInBundle(@"errSecNotAvailable", @"SAMKeychain", resourcesBundle, nil); + break; + } + case errSecDuplicateItem: { + message = NSLocalizedStringFromTableInBundle(@"errSecDuplicateItem", @"SAMKeychain", resourcesBundle, nil); + break; + } + case errSecItemNotFound: { + message = NSLocalizedStringFromTableInBundle(@"errSecItemNotFound", @"SAMKeychain", resourcesBundle, nil); + break; + } + case errSecInteractionNotAllowed: { + message = NSLocalizedStringFromTableInBundle(@"errSecInteractionNotAllowed", @"SAMKeychain", resourcesBundle, nil); + break; + } + case errSecDecode: { + message = NSLocalizedStringFromTableInBundle(@"errSecDecode", @"SAMKeychain", resourcesBundle, nil); + break; + } + case errSecAuthFailed: { + message = NSLocalizedStringFromTableInBundle(@"errSecAuthFailed", @"SAMKeychain", resourcesBundle, nil); + break; + } + default: { + message = NSLocalizedStringFromTableInBundle(@"errSecDefault", @"SAMKeychain", resourcesBundle, nil); + } +#else + default: + message = (__bridge_transfer NSString *)SecCopyErrorMessageString(code, NULL); +#endif + } + + NSDictionary *userInfo = nil; + if (message) { + userInfo = @{ NSLocalizedDescriptionKey : message }; + } + return [NSError errorWithDomain:kSAMKeychainErrorDomain code:code userInfo:userInfo]; +} + +@end diff --git a/corecrypto/cc.h b/corecrypto/cc.h new file mode 100644 index 0000000..df98a5f --- /dev/null +++ b/corecrypto/cc.h @@ -0,0 +1,164 @@ +/* + * Copyright (c) 2010,2011,2012,2014,2015,2016,2017,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CC_H_ +#define _CORECRYPTO_CC_H_ + +#include +#include +#include + +/* Provide a general purpose macro concat method. */ +#define cc_concat_(a, b) a##b +#define cc_concat(a, b) cc_concat_(a, b) + +/* Manage asserts here because a few functions in header public files do use asserts */ +#define cc_assert(x) assert(x) +#if CC_KERNEL +#include +#elif CC_USE_S3 +#define assert(args) // No assert in S3 +#else +#include +#endif + +/* Provide a static assert that can be used to create compile-type failures. */ +#define cc_static_assert(e,m) \ + ;enum { cc_concat(static_assert_, __COUNTER__) = 1/(int)(!!(e)) } + +/* Declare a struct element with a guarenteed alignment of _alignment_. + The resulting struct can be used to create arrays that are aligned by + a certain amount. */ +#define cc_aligned_struct(_alignment_) \ +typedef struct { \ +uint8_t b[_alignment_]; \ +} CC_ALIGNED(_alignment_) + +/* number of array elements used in a cc_ctx_decl */ +#define cc_ctx_n(_type_, _size_) ((_size_ + sizeof(_type_) - 1) / sizeof(_type_)) + +/* sizeof of a context declared with cc_ctx_decl */ +#define cc_ctx_sizeof(_type_, _size_) sizeof(_type_[cc_ctx_n(_type_, _size_)]) + +/* + 1. _alloca cannot be removed becasue this header file is compiled with both MSVC++ and with clang. + 2. The _MSC_VER version of cc_ctx_decl() is not compatible with the way *_decl macros as used in CommonCrypto, AppleKeyStore and SecurityFrameworks. To observe the incompatibilities and errors, use below definition. Corecrypto itself, accepts both deinitions + #define cc_ctx_decl(_type_, _size_, _name_) _type_ _name_ ## _array[cc_ctx_n(_type_, (_size_))]; _type_ *_name_ = _name_ ## _array + 3. Never use sizeof() operator for the variables declared with cc_ctx_decl(), because it is not be compatible with the _MSC_VER version of cc_ctx_decl(). + */ +#if defined(_MSC_VER) +#define cc_ctx_decl(_type_, _size_, _name_) _type_ * _name_ = (_type_ *) _alloca(sizeof(_type_) * cc_ctx_n(_type_, _size_) ) +#else +#define cc_ctx_decl(_type_, _size_, _name_) _type_ _name_ [cc_ctx_n(_type_, _size_)] +#endif + +/* bzero is deprecated. memset is the way to go */ +/* FWIW, L4, HEXAGON and ARMCC even with gnu compatibility mode don't have bzero */ +#define cc_zero(_size_,_data_) memset((_data_),0 ,(_size_)) + +/*! + @brief cc_clear(len, dst) zeroizes array dst and it will not be optimized out. + @discussion It is used to clear sensitive data, particularly when the are defined in the stack + @param len number of bytes to be cleared in dst + @param dst input array + */ +CC_NONNULL2 +void cc_clear(size_t len, void *dst); + +#define cc_copy(_size_, _dst_, _src_) memcpy(_dst_, _src_, _size_) + +CC_INLINE CC_NONNULL2 CC_NONNULL3 CC_NONNULL4 +void cc_xor(size_t size, void *r, const void *s, const void *t) { + uint8_t *_r=(uint8_t *)r; + const uint8_t *_s=(const uint8_t *)s; + const uint8_t *_t=(const uint8_t *)t; + while (size--) { + _r[size] = _s[size] ^ _t[size]; + } +} + +/*! + @brief cc_cmp_safe(num, pt1, pt2) compares two array ptr1 and ptr2 of num bytes. + @discussion The execution time/cycles is independent of the data and therefore guarantees no leak about the data. However, the execution time depends on num. + @param num number of bytes in each array + @param ptr1 input array + @param ptr2 input array + @return returns 0 if the num bytes starting at ptr1 are identical to the num bytes starting at ptr2 and 1 if they are different or if num is 0 (empty arrays). + */ +CC_NONNULL2 CC_NONNULL3 +int cc_cmp_safe (size_t num, const void * ptr1, const void * ptr2); + +/* Exchange S and T of any type. NOTE: Both and S and T are evaluated + mutliple times and MUST NOT be expressions. */ +#define CC_SWAP(S,T) do { \ + __typeof__(S) _cc_swap_tmp = S; S = T; T = _cc_swap_tmp; \ +} while(0) + +/* Return the maximum value between S and T. */ +#define CC_MAX(S, T) ({__typeof__(S) _cc_max_s = S; __typeof__(T) _cc_max_t = T; _cc_max_s > _cc_max_t ? _cc_max_s : _cc_max_t;}) + +/* Return the minimum value between S and T. */ +#define CC_MIN(S, T) ({__typeof__(S) _cc_min_s = S; __typeof__(T) _cc_min_t = T; _cc_min_s <= _cc_min_t ? _cc_min_s : _cc_min_t;}) + +#endif /* _CORECRYPTO_CC_H_ */ diff --git a/corecrypto/cc_config.h b/corecrypto/cc_config.h new file mode 100644 index 0000000..2c7733c --- /dev/null +++ b/corecrypto/cc_config.h @@ -0,0 +1,560 @@ +/* + * Copyright (c) 2010,2011,2012,2013,2014,2015,2016,2017,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CC_CONFIG_H_ +#define _CORECRYPTO_CC_CONFIG_H_ + +/* A word about configuration macros: + + Conditional configuration macros specific to corecrypto should be named CORECRYPTO_xxx + or CCxx_yyy and be defined to be either 0 or 1 in this file. You can add an + #ifndef #error construct at the end of this file to make sure it's always defined. + + They should always be tested using the #if directive, never the #ifdef directive. + + No other conditional macros shall ever be used (except in this file) + + Configuration Macros that are defined outside of corecrypto (eg: KERNEL, DEBUG, ...) + shall only be used in this file to define CCxxx macros. + + External macros should be assumed to be either undefined, defined with no value, + or defined as true or false. We shall strive to build with -Wundef whenever possible, + so the following construct should be used to test external macros in this file: + + #if defined(DEBUG) && (DEBUG) + #define CORECRYPTO_DEBUG 1 + #else + #define CORECRYPTO_DEBUG 0 + #endif + + + It is acceptable to define a conditional CC_xxxx macro in an implementation file, + to be used only in this file. + + The current code is not guaranteed to follow those rules, but should be fixed to. + + Corecrypto requires GNU and C99 compatibility. + Typically enabled by passing --gnu --c99 to the compiler (eg. armcc) + +*/ + +#define CORECRYPTO_PUBLIC_SDK 1 + +//Do not set this macros to 1, unless you are developing/testing for Linux under macOS +#define CORECRYPTO_SIMULATE_POSIX_ENVIRONMENT 0 + +//Do not set these macros to 1, unless you are developing/testing for Windows under macOS +#define CORECRYPTO_SIMULATE_WINDOWS_ENVIRONMENT 0 +#define CORECRYPTO_HACK_FOR_WINDOWS_DEVELOPMENT 0 + +//this macro is used to turn on/off usage of transparent union in corecrypto +//it should be commented out in corecrypto and be used only by the software that use corecrypto +//#define CORECRYPTO_DONOT_USE_TRANSPARENT_UNION +#if defined(__cplusplus) +#define CORECRYPTO_USE_TRANSPARENT_UNION 0 +#elif defined(CORECRYPTO_DONOT_USE_TRANSPARENT_UNION) + #define CORECRYPTO_USE_TRANSPARENT_UNION !CORECRYPTO_DONOT_USE_TRANSPARENT_UNION +#else + #define CORECRYPTO_USE_TRANSPARENT_UNION 1 +#endif + +#if (defined(DEBUG) && (DEBUG)) || defined(_DEBUG) //MSVC defines _DEBUG +/* CC_DEBUG is already used in CommonCrypto */ + #define CORECRYPTO_DEBUG 1 +#else + #define CORECRYPTO_DEBUG 0 +#endif + +// This macro can be used to enable prints when a condition in the macro "cc_require" +// is false. This is especially useful to confirm that negative testing fails +// at the intended location +#define CORECRYPTO_DEBUG_ENABLE_CC_REQUIRE_PRINTS 0 + +#if defined(KERNEL) && (KERNEL) + #define CC_KERNEL 1 // KEXT, XNU repo or kernel components such as AppleKeyStore +#else + #define CC_KERNEL 0 +#endif + +#if defined(__linux__) || CORECRYPTO_SIMULATE_POSIX_ENVIRONMENT + #define CC_LINUX 1 +#else + #define CC_LINUX 0 +#endif + +#if defined(USE_L4) && (USE_L4) + #define CC_USE_L4 1 +#else + #define CC_USE_L4 0 +#endif + +#if defined(USE_SEPROM) && (USE_SEPROM) + #define CC_USE_SEPROM 1 +#else + #define CC_USE_SEPROM 0 +#endif + +#if defined(USE_S3) && (USE_S3) + #define CC_USE_S3 1 +#else + #define CC_USE_S3 0 +#endif + +#if (defined(ICE_FEATURES_ENABLED)) || (defined(MAVERICK) && (MAVERICK)) + #define CC_BASEBAND 1 +#else + #define CC_BASEBAND 0 +#endif + +#if defined(EFI) && (EFI) + #define CC_EFI 1 +#else + #define CC_EFI 0 +#endif + +#if defined(IBOOT) && (IBOOT) + #define CC_IBOOT 1 +#else + #define CC_IBOOT 0 +#endif + +// Defined by the XNU build scripts +// Applies to code embedded in XNU but NOT to the kext +#if defined(XNU_KERNEL_PRIVATE) + #define CC_XNU_KERNEL_PRIVATE 1 +#else + #define CC_XNU_KERNEL_PRIVATE 0 +#endif + +// handle unaligned data, if the cpu cannot. Currently for gladman AES and the C version of the SHA256 +#define CC_HANDLE_UNALIGNED_DATA CC_BASEBAND + +// BaseBand configuration +#if CC_BASEBAND + +// -- ENDIANESS +#if !defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__) + #if defined(ENDIAN_LITTLE) || (defined(__arm__) && !defined(__BIG_ENDIAN)) + #define __LITTLE_ENDIAN__ + #elif !defined(ENDIAN_BIG) && !defined(__BIG_ENDIAN) + #error Baseband endianess not defined. + #endif + #define AESOPT_ENDIAN_NO_FILE +#endif + +// -- Architecture + #define CCN_UNIT_SIZE 4 // 32 bits + +// -- External function + #define assert ASSERT // sanity + +// -- Warnings +// Ignore irrelevant warnings after verification +// #1254-D: arithmetic on pointer to void or function type +// #186-D: pointless comparison of unsigned integer with zero +// #546-D: transfer of control bypasses initialization of + #ifdef __arm__ + #pragma diag_suppress 186, 1254,546 + #elif defined(__GNUC__) +// warning: pointer of type 'void *' used in arithmetic + #pragma GCC diagnostic ignored "-Wpointer-arith" + #endif // __arm__ +#endif // CC_BASEBAND + +//CC_XNU_KERNEL_AVAILABLE indicates the availibity of XNU kernel functions, +//like what we have on OSX, iOS, tvOS, Watch OS +#if defined(__APPLE__) && defined(__MACH__) + #define CC_XNU_KERNEL_AVAILABLE 1 +#else + #define CC_XNU_KERNEL_AVAILABLE 0 +#endif + +//arm arch64 definition for gcc +#if defined(__GNUC__) && defined(__aarch64__) && !defined(__arm64__) + #define __arm64__ +#endif + +#if !defined(CCN_UNIT_SIZE) + #if defined(__arm64__) || defined(__x86_64__) || defined(_WIN64) + #define CCN_UNIT_SIZE 8 + #elif defined(__arm__) || defined(__i386__) || defined(_WIN32) + #define CCN_UNIT_SIZE 4 + #else + #error undefined architecture + #endif +#endif /* !defined(CCN_UNIT_SIZE) */ + + +//this allows corecrypto Windows development using xcode +#if defined(CORECRYPTO_SIMULATE_WINDOWS_ENVIRONMENT) + #if CORECRYPTO_SIMULATE_WINDOWS_ENVIRONMENT && CC_XNU_KERNEL_AVAILABLE && CORECRYPTO_DEBUG + #define CC_USE_ASM 0 + #define CC_USE_HEAP_FOR_WORKSPACE 1 + #if (CCN_UNIT_SIZE==8) + #define CCN_UINT128_SUPPORT_FOR_64BIT_ARCH 0 + #else + #define CCN_UINT128_SUPPORT_FOR_64BIT_ARCH 1 + #endif + #endif +#endif + +#if !defined(CCN_UINT128_SUPPORT_FOR_64BIT_ARCH) + #if defined(_WIN64) && defined(_WIN32) && (CCN_UNIT_SIZE==8) + #define CCN_UINT128_SUPPORT_FOR_64BIT_ARCH 0 + #elif defined(_WIN32) + #define CCN_UINT128_SUPPORT_FOR_64BIT_ARCH 1//should not be a problem + #else + #define CCN_UINT128_SUPPORT_FOR_64BIT_ARCH 1 + #endif +#endif + +#if defined(_MSC_VER) + #if defined(__clang__) + #define CC_ALIGNED(x) __attribute__ ((aligned(x))) //clang compiler + #else + #define CC_ALIGNED(x) __declspec(align(x)) //MS complier + #endif +#else + #if __clang__ || CCN_UNIT_SIZE==8 + #define CC_ALIGNED(x) __attribute__ ((aligned(x))) + #else + #define CC_ALIGNED(x) __attribute__ ((aligned((x)>8?8:(x)))) + #endif +#endif + +#if defined(__arm__) +//this is copied from , because is not available on SEPROM environment + #if defined (__ARM_ARCH_7A__) || defined (__ARM_ARCH_7S__) || defined (__ARM_ARCH_7F__) || defined (__ARM_ARCH_7K__) + #define _ARM_ARCH_7 + #endif + + #if defined(__ARM_ARCH_6M__) || defined(__TARGET_ARCH_6S_M) || defined (__armv6m__) + #define _ARM_ARCH_6M + #endif +#endif + +#if defined(__arm64__) || defined(__arm__) + #define CCN_IOS 1 + #define CCN_OSX 0 +#elif defined(__x86_64__) || defined(__i386__) + #define CCN_IOS 0 + #define CCN_OSX 1 +#endif + +#if CC_USE_L4 || CC_USE_S3 +/* No dynamic linking allowed in L4, e.g. avoid nonlazy symbols */ +/* For corecrypto kext, CC_STATIC should be undefined */ + #define CC_STATIC 1 +#endif + +#if !defined(CC_USE_HEAP_FOR_WORKSPACE) + #if CC_USE_S3 || CC_USE_SEPROM + #define CC_USE_HEAP_FOR_WORKSPACE 0 + #else + #define CC_USE_HEAP_FOR_WORKSPACE 1 + #endif +#endif + +/* memset_s is only available in few target */ +#if CC_USE_SEPROM || defined(__CC_ARM) \ + || defined(__hexagon__) || CC_EFI + #define CC_HAS_MEMSET_S 0 +#else + #define CC_HAS_MEMSET_S 1 +#endif + +// Include target conditionals if available. +#if defined(__has_include) /* portability */ +#if __has_include() +#include +#endif /* __has_include() */ +#endif /* defined(__has_include) */ + +// Disable RSA Keygen on iBridge +#if defined(TARGET_OS_BRIDGE) && TARGET_OS_BRIDGE && CC_KERNEL +#define CC_DISABLE_RSAKEYGEN 1 /* for iBridge */ +#else +#define CC_DISABLE_RSAKEYGEN 0 /* default */ +#endif + +//- functions implemented in assembly ------------------------------------------ +//this the list of corecrypto clients that use assembly and the clang compiler +#if !(CC_XNU_KERNEL_AVAILABLE || CC_KERNEL || CC_USE_L4 || CC_IBOOT || CC_USE_SEPROM || CC_USE_S3) && !defined(_WIN32) && CORECRYPTO_DEBUG + #warning "You are using the default corecrypto configuration, assembly optimizations may not be available for your platform" +#endif + +// Use this macro to strictly disable assembly regardless of cpu/os/compiler/etc. +// Our assembly code is not gcc compatible. Clang defines the __GNUC__ macro as well. +#if !defined(CC_USE_ASM) + #if defined(_WIN32) || CC_EFI || CC_BASEBAND || CC_XNU_KERNEL_PRIVATE || (defined(__GNUC__) && !defined(__clang__)) + #define CC_USE_ASM 0 + #else + #define CC_USE_ASM 1 + #endif +#endif + +//-(1) ARM V7 +#if defined(_ARM_ARCH_7) && __clang__ && CC_USE_ASM + #define CCN_DEDICATED_SQR 1 + #define CCN_MUL_KARATSUBA 0 // no performance improvement + #define CCN_ADD_ASM 1 + #define CCN_SUB_ASM 1 + #define CCN_MUL_ASM 0 + #define CCN_ADDMUL1_ASM 1 + #define CCN_MUL1_ASM 1 + #define CCN_CMP_ASM 1 + #define CCN_ADD1_ASM 0 + #define CCN_SUB1_ASM 0 + #define CCN_N_ASM 1 + #define CCN_SET_ASM 1 + #define CCN_SHIFT_RIGHT_ASM 1 + #define CCAES_ARM_ASM 1 + #define CCAES_INTEL_ASM 0 + #if CC_KERNEL || CC_USE_L4 || CC_IBOOT || CC_USE_SEPROM || CC_USE_S3 + #define CCAES_MUX 0 + #else + #define CCAES_MUX 1 + #endif + #define CCN_USE_BUILTIN_CLZ 1 + #define CCSHA1_VNG_INTEL 0 + #define CCSHA2_VNG_INTEL 0 + + #if defined(__ARM_NEON__) || CC_KERNEL + #define CCSHA1_VNG_ARMV7NEON 1 + #define CCSHA2_VNG_ARMV7NEON 1 + #else /* !defined(__ARM_NEON__) */ + #define CCSHA1_VNG_ARMV7NEON 0 + #define CCSHA2_VNG_ARMV7NEON 0 + #endif /* !defined(__ARM_NEON__) */ + #define CCSHA256_ARMV6M_ASM 0 + +//-(2) ARM 64 +#elif defined(__arm64__) && __clang__ && CC_USE_ASM + #define CCN_DEDICATED_SQR 1 + #define CCN_MUL_KARATSUBA 1 // 4*n CCN_UNIT extra memory required. + #define CCN_ADD_ASM 1 + #define CCN_SUB_ASM 1 + #define CCN_MUL_ASM 1 + #define CCN_ADDMUL1_ASM 0 + #define CCN_MUL1_ASM 0 + #define CCN_CMP_ASM 1 + #define CCN_ADD1_ASM 0 + #define CCN_SUB1_ASM 0 + #define CCN_N_ASM 1 + #define CCN_SET_ASM 0 + #define CCN_SHIFT_RIGHT_ASM 1 + #define CCAES_ARM_ASM 1 + #define CCAES_INTEL_ASM 0 + #define CCAES_MUX 0 // On 64bit SoC, asm is much faster than HW + #define CCN_USE_BUILTIN_CLZ 1 + #define CCSHA1_VNG_INTEL 0 + #define CCSHA2_VNG_INTEL 0 + #define CCSHA1_VNG_ARMV7NEON 1 // reused this to avoid making change to xcode project, put arm64 assembly code with armv7 code + #define CCSHA2_VNG_ARMV7NEON 1 + #define CCSHA256_ARMV6M_ASM 0 + +//-(3) Intel 32/64 +#elif (defined(__x86_64__) || defined(__i386__)) && __clang__ && CC_USE_ASM + #define CCN_DEDICATED_SQR 1 + #define CCN_MUL_KARATSUBA 1 // 4*n CCN_UNIT extra memory required. + /* These assembly routines only work for a single CCN_UNIT_SIZE. */ + #if (defined(__x86_64__) && CCN_UNIT_SIZE == 8) || (defined(__i386__) && CCN_UNIT_SIZE == 4) + #define CCN_ADD_ASM 1 + #define CCN_SUB_ASM 1 + #define CCN_MUL_ASM 1 + #else + #define CCN_ADD_ASM 0 + #define CCN_SUB_ASM 0 + #define CCN_MUL_ASM 0 + #endif + + #if (defined(__x86_64__) && CCN_UNIT_SIZE == 8) + #define CCN_CMP_ASM 1 + #define CCN_N_ASM 1 + #define CCN_SHIFT_RIGHT_ASM 1 + #else + #define CCN_CMP_ASM 0 + #define CCN_N_ASM 0 + #define CCN_SHIFT_RIGHT_ASM 0 + #endif + + #define CCN_ADDMUL1_ASM 0 + #define CCN_MUL1_ASM 0 + #define CCN_ADD1_ASM 0 + #define CCN_SUB1_ASM 0 + #define CCN_SET_ASM 0 + #define CCAES_ARM_ASM 0 + #define CCAES_INTEL_ASM 1 + #define CCAES_MUX 0 + #define CCN_USE_BUILTIN_CLZ 0 + #define CCSHA1_VNG_INTEL 1 + #define CCSHA2_VNG_INTEL 1 + #define CCSHA1_VNG_ARMV7NEON 0 + #define CCSHA2_VNG_ARMV7NEON 0 + #define CCSHA256_ARMV6M_ASM 0 + +//-(4) disable assembly +#else + #if CCN_UINT128_SUPPORT_FOR_64BIT_ARCH + #define CCN_DEDICATED_SQR 1 + #else + #define CCN_DEDICATED_SQR 0 //when assembly is off and 128-bit integers are not supported, dedicated square is off. This is the case on Windows + #endif + #define CCN_MUL_KARATSUBA 1 // 4*n CCN_UNIT extra memory required. + #define CCN_ADD_ASM 0 + #define CCN_SUB_ASM 0 + #define CCN_MUL_ASM 0 + #define CCN_ADDMUL1_ASM 0 + #define CCN_MUL1_ASM 0 + #define CCN_CMP_ASM 0 + #define CCN_ADD1_ASM 0 + #define CCN_SUB1_ASM 0 + #define CCN_N_ASM 0 + #define CCN_SET_ASM 0 + #define CCN_SHIFT_RIGHT_ASM 0 + #define CCAES_ARM_ASM 0 + #define CCAES_INTEL_ASM 0 + #define CCAES_MUX 0 + #define CCN_USE_BUILTIN_CLZ 0 + #define CCSHA1_VNG_INTEL 0 + #define CCSHA2_VNG_INTEL 0 + #define CCSHA1_VNG_ARMV7NEON 0 + #define CCSHA2_VNG_ARMV7NEON 0 + #define CCSHA256_ARMV6M_ASM 0 + +#endif + +#define CC_INLINE static inline + +#if CORECRYPTO_USE_TRANSPARENT_UNION +// Non null for transparent unions is ambiguous and cause problems +// for most tools (GCC and others: 23919290). + #define CC_NONNULL_TU(N) +#else + #define CC_NONNULL_TU(N) CC_NONNULL(N) +#endif + +#ifdef __GNUC__ + #define CC_NORETURN __attribute__((__noreturn__)) + #define CC_NOTHROW __attribute__((__nothrow__)) + #define CC_NONNULL(N) __attribute__((__nonnull__ N)) + #define CC_NONNULL1 __attribute__((__nonnull__(1))) + #define CC_NONNULL2 __attribute__((__nonnull__(2))) + #define CC_NONNULL3 __attribute__((__nonnull__(3))) + #define CC_NONNULL4 __attribute__((__nonnull__(4))) + #define CC_NONNULL5 __attribute__((__nonnull__(5))) + #define CC_NONNULL6 __attribute__((__nonnull__(6))) + #define CC_NONNULL7 __attribute__((__nonnull__(7))) + #define CC_NONNULL_ALL __attribute__((__nonnull__)) + #define CC_SENTINEL __attribute__((__sentinel__)) + #define CC_CONST __attribute__((__const__)) + #define CC_PURE __attribute__((__pure__)) + #define CC_WARN_RESULT __attribute__((__warn_unused_result__)) + #define CC_MALLOC __attribute__((__malloc__)) + #define CC_UNUSED __attribute__((unused)) +#else /* !__GNUC__ */ +/*! @parseOnly */ + #define CC_UNUSED +/*! @parseOnly */ + #define CC_NONNULL(N) +/*! @parseOnly */ + #define CC_NORETURN +/*! @parseOnly */ + #define CC_NOTHROW +/*! @parseOnly */ + #define CC_NONNULL1 +/*! @parseOnly */ + #define CC_NONNULL2 +/*! @parseOnly */ + #define CC_NONNULL3 +/*! @parseOnly */ + #define CC_NONNULL4 +/*! @parseOnly */ + #define CC_NONNULL5 +/*! @parseOnly */ + #define CC_NONNULL6 +/*! @parseOnly */ + #define CC_NONNULL7 +/*! @parseOnly */ + #define CC_NONNULL_ALL +/*! @parseOnly */ + #define CC_SENTINEL +/*! @parseOnly */ + #define CC_CONST +/*! @parseOnly */ + #define CC_PURE +/*! @parseOnly */ + #define CC_WARN_RESULT +/*! @parseOnly */ + #define CC_MALLOC +#endif /* !__GNUC__ */ + +// Enable FIPSPOST function tracing only when supported. */ +#ifdef CORECRYPTO_POST_TRACE +#define CC_FIPSPOST_TRACE 1 +#else +#define CC_FIPSPOST_TRACE 0 +#endif + +#endif /* _CORECRYPTO_CC_CONFIG_H_ */ diff --git a/corecrypto/cc_debug.h b/corecrypto/cc_debug.h new file mode 100644 index 0000000..5a5f1b9 --- /dev/null +++ b/corecrypto/cc_debug.h @@ -0,0 +1,126 @@ +/* + * Copyright (c) 2012,2014,2015,2016,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +//debug configuration header file +#ifndef _CORECRYPTO_CCN_DEBUG_H_ +#define _CORECRYPTO_CCN_DEBUG_H_ + +#include + +// DO NOT INCLUDE this HEADER file in CoreCrypto files added for XNU project or headers +// included by external clients. + +// ======================== +// Printf for corecrypto +// ======================== +#if CC_KERNEL + #include + #define cc_printf(x...) kprintf(x) + #if !CONFIG_EMBEDDED + extern int printf(const char *format, ...) __printflike(1,2); + #endif +#elif CC_USE_S3 || CC_IBOOT + #include + #define cc_printf(x...) printf(x) +#else + #include + #define cc_printf(x...) fprintf(stderr, x) +#endif + +// ======================== +// Integer types +// ======================== + +#if CC_KERNEL +/* Those are not defined in libkern */ +#define PRIx64 "llx" +#define PRIx32 "x" +#define PRIx16 "hx" +#define PRIx8 "hhx" +#else +#include +#endif + +#if CCN_UNIT_SIZE == 8 +#define CCPRIx_UNIT ".016" PRIx64 +#elif CCN_UNIT_SIZE == 4 +#define CCPRIx_UNIT ".08" PRIx32 +#elif CCN_UNIT_SIZE == 2 +#define CCPRIx_UNIT ".04" PRIx16 +#elif CCN_UNIT_SIZE == 1 +#define CCPRIx_UNIT ".02" PRIx8 +#else +#error invalid CCN_UNIT_SIZE +#endif + +// ======================== +// Print utilities for corecrypto +// ======================== + +#include + +/* Print a byte array of arbitrary size */ +void cc_print(const char *label, size_t count, const uint8_t *s); + +#endif /* _CORECRYPTO_CCN_DEBUG_H_ */ diff --git a/corecrypto/cc_memory.h b/corecrypto/cc_memory.h new file mode 100644 index 0000000..4a0712b --- /dev/null +++ b/corecrypto/cc_memory.h @@ -0,0 +1,189 @@ +/* + * Copyright (c) 2014,2015,2016,2017,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef corecrypto_cc_memory_h +#define corecrypto_cc_memory_h + +#if CORECRYPTO_DEBUG +extern void *g_ws_start; +#endif + +#include +#include "cc_debug.h" +#include + + +CC_INLINE void cc_alloc_debug(CC_UNUSED void *p) { +#if CORECRYPTO_DEBUG + // Contract for some client is to have a single malloc at a time + cc_assert(g_ws_start==NULL); + g_ws_start=p; +#endif +} + +CC_INLINE void cc_free_debug(CC_UNUSED void *p) { +#if CORECRYPTO_DEBUG + // Contract for some client is to have a single malloc at a time + cc_assert(g_ws_start==p); // Free the address we allocated + g_ws_start=NULL; +#endif +} + +// Add specific error for memory allocation failure +// which does not overlap with others +#define CCERR_MEMORY_ALLOC_FAIL -200 + +// ============================================================================= +// Declare workspace with memory in STACK +// This is the least preferred option since most corecrypto client have +// small stack. It is still useful when needing small allocations and errors +// can't be easily propagated +// ============================================================================= + +// Declare a variable in stack and use its address +// Only uses this when we don't have a way to propagate error +#define CC_DECL_WORKSPACE_STACK(ws,n) \ + cc_unit tmp_##__FILE__##__LINE__[(n)]; \ + cc_ws _ws={&tmp_##__FILE__##__LINE__[0],&tmp_##__FILE__##__LINE__[(n)]}; \ + cc_ws_t ws=&_ws; \ + cc_alloc_debug(ws->start); + +// Reset pointers to avoid future reference +#define CC_FREE_WORKSPACE_STACK(_ws) \ + cc_free_debug(ws->start); \ + ws->start=NULL; \ + ws->end=NULL; + +#define CC_CLEAR_AND_FREE_WORKSPACE_STACK(ws) { \ + cc_assert(ws->startend); \ + ccn_clear(ws->end - ws->start,ws->start); \ + CC_FREE_WORKSPACE_STACK(ws);} + +// ============================================================================= +// Declare workspace in the region correspding to HEAP or STACK +// depending on the setting of CC_USE_HEAP_FOR_WORKSPACE +// This should be the preference for large memory allocations but it requires +// to propagate error in case of allocation failure +// ============================================================================= +#if CC_USE_HEAP_FOR_WORKSPACE + +// Malloc/free functions to be used +#if CC_KERNEL +#include +CC_INLINE void *cc_malloc(size_t s) +{ + return IOMalloc(s); +} +CC_INLINE void cc_free(void *p,size_t size) +{ + IOFree(p,size); +} +#else +#include +CC_INLINE void *cc_malloc(size_t s) +{ + return malloc(s); +} +CC_INLINE void cc_free(void *p,size_t size CC_UNUSED) +{ + free(p); +} + +#endif + +#define CC_DECL_WORKSPACE_OR_FAIL(ws,n) \ + cc_unit* tmp_##__FILE__##__LINE__=cc_malloc(ccn_sizeof_n((n))); \ + cc_ws _ws={&tmp_##__FILE__##__LINE__[0],&tmp_##__FILE__##__LINE__[(n)]}; \ + cc_ws_t ws=&_ws; \ + if (NULL == ws->start) return CCERR_MEMORY_ALLOC_FAIL; \ + cc_alloc_debug(ws->start); + +// Free and reset pointers to avoid future references +#define CC_FREE_WORKSPACE(ws) \ + cc_free_debug(ws->start); \ + cc_free(ws->start,(ws->end - ws->start)*sizeof(ws->start[0])); \ + ws->start=NULL; \ + ws->end=NULL; + +#else // not CC_USE_HEAP_FOR_WORKSPACE + +// Declare a variable in stack and use its address +// Could use alloca but alloca is not so portable, and not secure. +#define CC_DECL_WORKSPACE_OR_FAIL CC_DECL_WORKSPACE_STACK + +// Reset pointers to avoid future reference +#define CC_FREE_WORKSPACE CC_FREE_WORKSPACE_STACK + +#endif // CC_USE_HEAP_FOR_WORKSPACE + +// ============================================================================= +// Common +// ============================================================================= + +#define CC_CLEAR_AND_FREE_WORKSPACE(ws) { \ + cc_assert(ws->startend); \ + ccn_clear(ws->end - ws->start,ws->start); \ + CC_FREE_WORKSPACE(ws);} + +#endif // corecrypto_cc_memory_h diff --git a/corecrypto/cc_priv.h b/corecrypto/cc_priv.h new file mode 100644 index 0000000..2065c44 --- /dev/null +++ b/corecrypto/cc_priv.h @@ -0,0 +1,530 @@ +/* + * Copyright (c) 2010,2011,2012,2014,2015,2016,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CC_PRIV_H_ +#define _CORECRYPTO_CC_PRIV_H_ + +#include +#include + +/* defines the following macros : + + CC_MEMCPY : optimized memcpy. + CC_MEMMOVE : optimized memmove. + CC_MEMSET : optimized memset. + + CC_STORE32_BE : store 32 bit value in big endian in unaligned buffer. + CC_STORE32_LE : store 32 bit value in little endian in unaligned buffer. + CC_STORE64_BE : store 64 bit value in big endian in unaligned buffer. + CC_STORE64_LE : store 64 bit value in little endian in unaligned buffer. + + CC_LOAD32_BE : load 32 bit value in big endian from unaligned buffer. + CC_LOAD32_LE : load 32 bit value in little endian from unaligned buffer. + CC_LOAD64_BE : load 64 bit value in big endian from unaligned buffer. + CC_LOAD64_LE : load 64 bit value in little endian from unaligned buffer. + + CC_ROR : Rotate Right 32 bits. Rotate count can be a variable. + CC_ROL : Rotate Left 32 bits. Rotate count can be a variable. + CC_RORc : Rotate Right 32 bits. Rotate count must be a constant. + CC_ROLc : Rotate Left 32 bits. Rotate count must be a constant. + + CC_ROR64 : Rotate Right 64 bits. Rotate count can be a variable. + CC_ROL64 : Rotate Left 64 bits. Rotate count can be a variable. + CC_ROR64c : Rotate Right 64 bits. Rotate count must be a constant. + CC_ROL64c : Rotate Left 64 bits. Rotate count must be a constant. + + CC_BSWAP : byte swap a 32 bits variable. + + CC_H2BE32 : convert a 32 bits value between host and big endian order. + CC_H2LE32 : convert a 32 bits value between host and little endian order. + +The following are not defined yet... define them if needed. + + CC_BSWAPc : byte swap a 32 bits constant + + CC_BSWAP64 : byte swap a 64 bits variable + CC_BSWAP64c : byte swap a 64 bits constant + + CC_READ_LE32 : read a 32 bits little endian value + + CC_WRITE_LE32 : write a 32 bits little endian value + CC_WRITE_LE64 : write a 64 bits little endian value + + CC_H2BE64 : convert a 64 bits value between host and big endian order + CC_H2LE64 : convert a 64 bits value between host and little endian order + +*/ + +/* TODO: optimized versions */ +#define CC_MEMCPY(D,S,L) memcpy((D),(S),(L)) +#define CC_MEMMOVE(D,S,L) memmove((D),(S),(L)) +#define CC_MEMSET(D,V,L) memset((D),(V),(L)) + +// MARK: - Loads and Store + +// MARK: -- 32 bits - little endian + +// MARK: --- Default version + +#define CC_STORE32_LE(x, y) do { \ + ((unsigned char *)(y))[3] = (unsigned char)(((x)>>24)&255); \ + ((unsigned char *)(y))[2] = (unsigned char)(((x)>>16)&255); \ + ((unsigned char *)(y))[1] = (unsigned char)(((x)>>8)&255); \ + ((unsigned char *)(y))[0] = (unsigned char)((x)&255); \ +} while(0) + +#define CC_LOAD32_LE(x, y) do { \ +x = ((uint32_t)(((const unsigned char *)(y))[3] & 255)<<24) | \ + ((uint32_t)(((const unsigned char *)(y))[2] & 255)<<16) | \ + ((uint32_t)(((const unsigned char *)(y))[1] & 255)<<8) | \ + ((uint32_t)(((const unsigned char *)(y))[0] & 255)); \ +} while(0) + +// MARK: -- 64 bits - little endian + +#define CC_STORE64_LE(x, y) do { \ + ((unsigned char *)(y))[7] = (unsigned char)(((x)>>56)&255); \ + ((unsigned char *)(y))[6] = (unsigned char)(((x)>>48)&255); \ + ((unsigned char *)(y))[5] = (unsigned char)(((x)>>40)&255); \ + ((unsigned char *)(y))[4] = (unsigned char)(((x)>>32)&255); \ + ((unsigned char *)(y))[3] = (unsigned char)(((x)>>24)&255); \ + ((unsigned char *)(y))[2] = (unsigned char)(((x)>>16)&255); \ + ((unsigned char *)(y))[1] = (unsigned char)(((x)>>8)&255); \ + ((unsigned char *)(y))[0] = (unsigned char)((x)&255); \ +} while(0) + +#define CC_LOAD64_LE(x, y) do { \ +x = (((uint64_t)(((const unsigned char *)(y))[7] & 255))<<56) | \ + (((uint64_t)(((const unsigned char *)(y))[6] & 255))<<48) | \ + (((uint64_t)(((const unsigned char *)(y))[5] & 255))<<40) | \ + (((uint64_t)(((const unsigned char *)(y))[4] & 255))<<32) | \ + (((uint64_t)(((const unsigned char *)(y))[3] & 255))<<24) | \ + (((uint64_t)(((const unsigned char *)(y))[2] & 255))<<16) | \ + (((uint64_t)(((const unsigned char *)(y))[1] & 255))<<8) | \ + (((uint64_t)(((const unsigned char *)(y))[0] & 255))); \ +} while(0) + +// MARK: -- 32 bits - big endian +// MARK: --- intel version + +#if (defined(__i386__) || defined(__x86_64__)) && !defined(_MSC_VER) + +#define CC_STORE32_BE(x, y) \ + __asm__ __volatile__ ( \ + "bswapl %0 \n\t" \ + "movl %0,(%1)\n\t" \ + "bswapl %0 \n\t" \ + ::"r"(x), "r"(y)) + +#define CC_LOAD32_BE(x, y) \ + __asm__ __volatile__ ( \ + "movl (%1),%0\n\t" \ + "bswapl %0\n\t" \ + :"=r"(x): "r"(y)) + +#else +// MARK: --- default version +#define CC_STORE32_BE(x, y) do { \ + ((unsigned char *)(y))[0] = (unsigned char)(((x)>>24)&255); \ + ((unsigned char *)(y))[1] = (unsigned char)(((x)>>16)&255); \ + ((unsigned char *)(y))[2] = (unsigned char)(((x)>>8)&255); \ + ((unsigned char *)(y))[3] = (unsigned char)((x)&255); \ +} while(0) + +#define CC_LOAD32_BE(x, y) do { \ +x = ((uint32_t)(((const unsigned char *)(y))[0] & 255)<<24) | \ + ((uint32_t)(((const unsigned char *)(y))[1] & 255)<<16) | \ + ((uint32_t)(((const unsigned char *)(y))[2] & 255)<<8) | \ + ((uint32_t)(((const unsigned char *)(y))[3] & 255)); \ +} while(0) + +#endif + +// MARK: -- 64 bits - big endian + +// MARK: --- intel 64 bits version + +#if defined(__x86_64__) && !defined (_MSC_VER) + +#define CC_STORE64_BE(x, y) \ +__asm__ __volatile__ ( \ +"bswapq %0 \n\t" \ +"movq %0,(%1)\n\t" \ +"bswapq %0 \n\t" \ +::"r"(x), "r"(y)) + +#define CC_LOAD64_BE(x, y) \ +__asm__ __volatile__ ( \ +"movq (%1),%0\n\t" \ +"bswapq %0\n\t" \ +:"=r"(x): "r"(y)) + +#else + +// MARK: --- default version + +#define CC_STORE64_BE(x, y) do { \ + ((unsigned char *)(y))[0] = (unsigned char)(((x)>>56)&255); \ + ((unsigned char *)(y))[1] = (unsigned char)(((x)>>48)&255); \ + ((unsigned char *)(y))[2] = (unsigned char)(((x)>>40)&255); \ + ((unsigned char *)(y))[3] = (unsigned char)(((x)>>32)&255); \ + ((unsigned char *)(y))[4] = (unsigned char)(((x)>>24)&255); \ + ((unsigned char *)(y))[5] = (unsigned char)(((x)>>16)&255); \ + ((unsigned char *)(y))[6] = (unsigned char)(((x)>>8)&255); \ + ((unsigned char *)(y))[7] = (unsigned char)((x)&255); \ +} while(0) + +#define CC_LOAD64_BE(x, y) do { \ +x = (((uint64_t)(((const unsigned char *)(y))[0] & 255))<<56) | \ + (((uint64_t)(((const unsigned char *)(y))[1] & 255))<<48) | \ + (((uint64_t)(((const unsigned char *)(y))[2] & 255))<<40) | \ + (((uint64_t)(((const unsigned char *)(y))[3] & 255))<<32) | \ + (((uint64_t)(((const unsigned char *)(y))[4] & 255))<<24) | \ + (((uint64_t)(((const unsigned char *)(y))[5] & 255))<<16) | \ + (((uint64_t)(((const unsigned char *)(y))[6] & 255))<<8) | \ + (((uint64_t)(((const unsigned char *)(y))[7] & 255))); \ +} while(0) + +#endif + +// MARK: - 32-bit Rotates + +#if defined(_MSC_VER) +// MARK: -- MSVC version + +#include +#if !defined(__clang__) + #pragma intrinsic(_lrotr,_lrotl) +#endif +#define CC_ROR(x,n) _lrotr(x,n) +#define CC_ROL(x,n) _lrotl(x,n) +#define CC_RORc(x,n) _lrotr(x,n) +#define CC_ROLc(x,n) _lrotl(x,n) + +#elif (defined(__i386__) || defined(__x86_64__)) +// MARK: -- intel asm version + +CC_INLINE uint32_t CC_ROL(uint32_t word, int i) +{ + __asm__ ("roll %%cl,%0" + :"=r" (word) + :"0" (word),"c" (i)); + return word; +} + +CC_INLINE uint32_t CC_ROR(uint32_t word, int i) +{ + __asm__ ("rorl %%cl,%0" + :"=r" (word) + :"0" (word),"c" (i)); + return word; +} + +/* Need to be a macro here, because 'i' is an immediate (constant) */ +#define CC_ROLc(word, i) \ +({ uint32_t _word=(word); \ + __asm__ __volatile__ ("roll %2,%0" \ + :"=r" (_word) \ + :"0" (_word),"I" (i)); \ + _word; \ +}) + + +#define CC_RORc(word, i) \ +({ uint32_t _word=(word); \ + __asm__ __volatile__ ("rorl %2,%0" \ + :"=r" (_word) \ + :"0" (_word),"I" (i)); \ + _word; \ +}) + +#else + +// MARK: -- default version + +CC_INLINE uint32_t CC_ROL(uint32_t word, int i) +{ + return ( (word<<(i&31)) | (word>>(32-(i&31))) ); +} + +CC_INLINE uint32_t CC_ROR(uint32_t word, int i) +{ + return ( (word>>(i&31)) | (word<<(32-(i&31))) ); +} + +#define CC_ROLc(x, y) CC_ROL(x, y) +#define CC_RORc(x, y) CC_ROR(x, y) + +#endif + +// MARK: - 64 bits rotates + +#if defined(__x86_64__) && !defined(_MSC_VER) //clang _MSVC doesn't support GNU-style inline assembly +// MARK: -- intel 64 asm version + +CC_INLINE uint64_t CC_ROL64(uint64_t word, int i) +{ + __asm__("rolq %%cl,%0" + :"=r" (word) + :"0" (word),"c" (i)); + return word; +} + +CC_INLINE uint64_t CC_ROR64(uint64_t word, int i) +{ + __asm__("rorq %%cl,%0" + :"=r" (word) + :"0" (word),"c" (i)); + return word; +} + +/* Need to be a macro here, because 'i' is an immediate (constant) */ +#define CC_ROL64c(word, i) \ +({ \ + uint64_t _word=(word); \ + __asm__("rolq %2,%0" \ + :"=r" (_word) \ + :"0" (_word),"J" (i)); \ + _word; \ +}) + +#define CC_ROR64c(word, i) \ +({ \ + uint64_t _word=(word); \ + __asm__("rorq %2,%0" \ + :"=r" (_word) \ + :"0" (_word),"J" (i)); \ + _word; \ +}) + + +#else /* Not x86_64 */ + +// MARK: -- default C version + +CC_INLINE uint64_t CC_ROL64(uint64_t word, int i) +{ + return ( (word<<(i&63)) | (word>>(64-(i&63))) ); +} + +CC_INLINE uint64_t CC_ROR64(uint64_t word, int i) +{ + return ( (word>>(i&63)) | (word<<(64-(i&63))) ); +} + +#define CC_ROL64c(x, y) CC_ROL64(x, y) +#define CC_ROR64c(x, y) CC_ROR64(x, y) + +#endif + + +// MARK: - Byte Swaps + +CC_INLINE uint32_t CC_BSWAP(uint32_t x) +{ + return ( + ((x>>24)&0x000000FF) | + ((x<<24)&0xFF000000) | + ((x>>8) &0x0000FF00) | + ((x<<8) &0x00FF0000) + ); +} + +#define CC_BSWAP64(x) \ +((uint64_t)((((uint64_t)(x) & 0xff00000000000000ULL) >> 56) | \ +(((uint64_t)(x) & 0x00ff000000000000ULL) >> 40) | \ +(((uint64_t)(x) & 0x0000ff0000000000ULL) >> 24) | \ +(((uint64_t)(x) & 0x000000ff00000000ULL) >> 8) | \ +(((uint64_t)(x) & 0x00000000ff000000ULL) << 8) | \ +(((uint64_t)(x) & 0x0000000000ff0000ULL) << 24) | \ +(((uint64_t)(x) & 0x000000000000ff00ULL) << 40) | \ +(((uint64_t)(x) & 0x00000000000000ffULL) << 56))) + +#ifdef __LITTLE_ENDIAN__ +#define CC_H2BE32(x) CC_BSWAP(x) +#define CC_H2LE32(x) (x) +#else +#define CC_H2BE32(x) (x) +#define CC_H2LE32(x) CC_BSWAP(x) +#endif + +#define CC_READ_LE32(ptr) \ +( (uint32_t)( \ +((uint32_t)((const uint8_t *)(ptr))[0]) | \ +(((uint32_t)((const uint8_t *)(ptr))[1]) << 8) | \ +(((uint32_t)((const uint8_t *)(ptr))[2]) << 16) | \ +(((uint32_t)((const uint8_t *)(ptr))[3]) << 24))) + +#define CC_WRITE_LE32(ptr, x) \ +do { \ +((uint8_t *)(ptr))[0] = (uint8_t)( (x) & 0xFF); \ +((uint8_t *)(ptr))[1] = (uint8_t)(((x) >> 8) & 0xFF); \ +((uint8_t *)(ptr))[2] = (uint8_t)(((x) >> 16) & 0xFF); \ +((uint8_t *)(ptr))[3] = (uint8_t)(((x) >> 24) & 0xFF); \ +} while(0) + +#define CC_WRITE_LE64(ptr, x) \ +do { \ +((uint8_t *)(ptr))[0] = (uint8_t)( (x) & 0xFF); \ +((uint8_t *)(ptr))[1] = (uint8_t)(((x) >> 8) & 0xFF); \ +((uint8_t *)(ptr))[2] = (uint8_t)(((x) >> 16) & 0xFF); \ +((uint8_t *)(ptr))[3] = (uint8_t)(((x) >> 24) & 0xFF); \ +((uint8_t *)(ptr))[4] = (uint8_t)(((x) >> 32) & 0xFF); \ +((uint8_t *)(ptr))[5] = (uint8_t)(((x) >> 40) & 0xFF); \ +((uint8_t *)(ptr))[6] = (uint8_t)(((x) >> 48) & 0xFF); \ +((uint8_t *)(ptr))[7] = (uint8_t)(((x) >> 56) & 0xFF); \ +} while(0) + +/* extract a byte portably */ +#ifdef _MSC_VER +#define cc_byte(x, n) ((unsigned char)((x) >> (8 * (n)))) +#else +#define cc_byte(x, n) (((x) >> (8 * (n))) & 255) +#endif + +/* HEAVISIDE_STEP (shifted by one) + function f(x): x->0, when x=0 + x->1, when x>0 + Can also be seen as a bitwise operation: + f(x): x -> y + y[0]=(OR x[i]) for all i (all bits) + y[i]=0 for all i>0 + Run in constant time (log2()) + Useful to run constant time checks +*/ +#define HEAVISIDE_STEP_UINT64(r,s) {uint64_t _t=s; \ + _t=(((_t)>>32) | (_t)); \ + _t=(0xFFFFFFFF + (_t & 0xFFFFFFFF)); \ + r=_t >> 32;} + +#define HEAVISIDE_STEP_UINT32(r,s) {uint32_t _t=s; \ + _t=(((_t)>>16) | (_t)); \ + _t=(0xFFFF + (_t & 0xFFFF)); \ + r=_t >> 16;} + +#define HEAVISIDE_STEP_UINT16(r,s) {uint32_t _t=s; \ + _t=(0xFFFF + ((_t) & 0xFFFF)); \ + r=_t >> 16;} + +#define HEAVISIDE_STEP_UINT8(r,s) {uint16_t _t=s; \ + _t=(0xFF + ((_t) & 0xFF)); \ + r=_t >> 8;} + +#define CC_HEAVISIDE_STEP(r,s) { \ + if (sizeof(s) == 1) {HEAVISIDE_STEP_UINT8(r,s);} \ + else if (sizeof(s) == 2) {HEAVISIDE_STEP_UINT16(r,s);} \ + else if (sizeof(s) == 4) {HEAVISIDE_STEP_UINT32(r,s);} \ + else if (sizeof(s) == 8) {HEAVISIDE_STEP_UINT64(r,s);} \ + else {r=(((s)==0)?0:1);} \ + } + +/* Return 1 if x mod 4 =1,2,3, 0 otherwise */ +#define CC_CARRY_2BITS(x) (((x>>1) | x) & 0x1) +#define CC_CARRY_3BITS(x) (((x>>2) | (x>>1) | x) & 0x1) + +/* Set a variable to the biggest power of 2 which can be represented */ +#define MAX_POWER_OF_2(x) ((__typeof__(x))1<<(8*sizeof(x)-1)) +#define cc_ceiling(a,b) (((a)+((b)-1))/(b)) +#define CC_BITLEN_TO_BYTELEN(x) cc_ceiling((x), 8) + +//cc_try_abort() is implemented to comply with FIPS 140-2. +void cc_try_abort(const char * msg , ...); + +/*! + @brief cc_muxp(s, a, b) is equivalent to z = s ? a : b, but it executes in constant time + @param a input pointer + @param b input pointer + @param s The selection parameter s must be 0 or 1. if s is integer 1 a is returned. If s is integer 0, b is returned. Otherwise, the output is undefined. + @return Returns a, if s is 1 and b if s is 0 + */ +void *cc_muxp(int s, const void *a, const void *b); + +/*! + @brief cc_mux2p + @param a input pointer + @param b input pointer + @param r_true output pointer: if s is integer 1 r_true=a is returned, otherwise r_true=b + @param r_false output pointer: if s is integer 1 r_false=b is returned, otherwise r_false=a + @param s The selection parameter s must be 0 or 1. + @discussion Executes in constant time + */ +void cc_mux2p(int s, void **r_true, void **r_false, const void *a, const void *b); + +/*! + @brief CC_MUXU(s, a, b) is equivalent to z = s ? a : b, but it executes in constant time + @param a input unsigned type + @param b input unsigned type + @param s The selection parameter s must be 0 or 1. if s is integer 1 a is returned. If s is integer 0, b is returned. Otherwise, the output is undefined. + @param r output + @return r = a, if s is 1 and b if s is 0 + */ +#define CC_MUXU(r, s, a, b) \ +{ \ + __typeof__(r) _cond = ((__typeof__(r))(s)-(__typeof__(r))1); \ + r = (~_cond&(a))|(_cond&(b)); \ +} + +int cc_is_compiled_with_tu(void); + +#endif /* _CORECRYPTO_CC_PRIV_H_ */ diff --git a/corecrypto/cc_runtime_config.h b/corecrypto/cc_runtime_config.h new file mode 100644 index 0000000..c7b82a2 --- /dev/null +++ b/corecrypto/cc_runtime_config.h @@ -0,0 +1,102 @@ +/* + * Copyright (c) 2012,2015,2016,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef CORECRYPTO_CC_RUNTIME_CONFIG_H_ +#define CORECRYPTO_CC_RUNTIME_CONFIG_H_ + +#include + +/* Only intel systems have these runtime switches today. */ +#if (CCSHA1_VNG_INTEL || CCSHA2_VNG_INTEL || CCAES_INTEL_ASM) \ + && (defined(__x86_64__) || defined(__i386__)) + +#if CC_KERNEL + #include + #define CC_HAS_AESNI() ((cpuid_features() & CPUID_FEATURE_AES) != 0) + #define CC_HAS_SupplementalSSE3() ((cpuid_features() & CPUID_FEATURE_SSSE3) != 0) + #define CC_HAS_AVX1() ((cpuid_features() & CPUID_FEATURE_AVX1_0) != 0) + #define CC_HAS_AVX2() ((cpuid_info()->cpuid_leaf7_features & CPUID_LEAF7_FEATURE_AVX2) != 0) + +#elif CC_XNU_KERNEL_AVAILABLE && !CORECRYPTO_PUBLIC_SDK + #include + + #ifndef kHasAVX2_0 /* 10.8 doesn't have kHasAVX2_0 defined */ + #define kHasAVX2_0 0 + #endif + + extern int _cpu_capabilities; + #define CC_HAS_AESNI() (_cpu_capabilities & kHasAES) + #define CC_HAS_SupplementalSSE3() (_cpu_capabilities & kHasSupplementalSSE3) + #define CC_HAS_AVX1() (_cpu_capabilities & kHasAVX1_0) + #define CC_HAS_AVX2() (_cpu_capabilities & kHasAVX2_0) +#else + #define CC_HAS_AESNI() 0 + #define CC_HAS_SupplementalSSE3() 0 + #define CC_HAS_AVX1() 0 + #define CC_HAS_AVX2() 0 +#endif + +#endif /* !(defined(__x86_64__) || defined(__i386__)) */ + +#endif /* CORECRYPTO_CC_RUNTIME_CONFIG_H_ */ diff --git a/corecrypto/ccaes.h b/corecrypto/ccaes.h new file mode 100644 index 0000000..8070eb6 --- /dev/null +++ b/corecrypto/ccaes.h @@ -0,0 +1,175 @@ +/* + * Copyright (c) 2010,2011,2012,2013,2015,2016,2017,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ +#ifndef _CORECRYPTO_CCAES_H_ +#define _CORECRYPTO_CCAES_H_ + +#include +#include + +#define CCAES_BLOCK_SIZE 16 +#define CCAES_KEY_SIZE_128 16 +#define CCAES_KEY_SIZE_192 24 +#define CCAES_KEY_SIZE_256 32 + +#define CCAES_CTR_MAX_PARALLEL_NBLOCKS 8 + +extern const struct ccmode_ecb ccaes_ltc_ecb_decrypt_mode; +extern const struct ccmode_ecb ccaes_ltc_ecb_encrypt_mode; + +extern const struct ccmode_cbc ccaes_gladman_cbc_encrypt_mode; +extern const struct ccmode_cbc ccaes_gladman_cbc_decrypt_mode; + +#if CCAES_ARM_ASM +extern const struct ccmode_ecb ccaes_arm_ecb_encrypt_mode; +extern const struct ccmode_ecb ccaes_arm_ecb_decrypt_mode; + +extern const struct ccmode_cbc ccaes_arm_cbc_encrypt_mode; +extern const struct ccmode_cbc ccaes_arm_cbc_decrypt_mode; + +extern const struct ccmode_xts ccaes_arm_xts_encrypt_mode; +extern const struct ccmode_xts ccaes_arm_xts_decrypt_mode; + +extern const struct ccmode_cfb ccaes_arm_cfb_encrypt_mode; +extern const struct ccmode_cfb ccaes_arm_cfb_decrypt_mode; + +extern const struct ccmode_ofb ccaes_arm_ofb_crypt_mode; + +#endif + +#if CCAES_MUX +extern const struct ccmode_cbc ccaes_ios_hardware_cbc_encrypt_mode; +extern const struct ccmode_cbc ccaes_ios_hardware_cbc_decrypt_mode; + +extern const struct ccmode_ctr ccaes_ios_hardware_ctr_crypt_mode; + +extern const struct ccmode_cbc *ccaes_ios_mux_cbc_encrypt_mode(void); +extern const struct ccmode_cbc *ccaes_ios_mux_cbc_decrypt_mode(void); + +extern const struct ccmode_ctr *ccaes_ios_mux_ctr_crypt_mode(void); + +#endif + +#if CCAES_INTEL_ASM +//extern const struct ccmode_ecb ccaes_intel_ecb_encrypt_mode; +//extern const struct ccmode_ecb ccaes_intel_ecb_decrypt_mode; + +extern const struct ccmode_ecb ccaes_intel_ecb_encrypt_opt_mode; +extern const struct ccmode_ecb ccaes_intel_ecb_encrypt_aesni_mode; + +extern const struct ccmode_ecb ccaes_intel_ecb_decrypt_opt_mode; +extern const struct ccmode_ecb ccaes_intel_ecb_decrypt_aesni_mode; + +//extern const struct ccmode_cbc ccaes_intel_cbc_encrypt_mode; +//extern const struct ccmode_cbc ccaes_intel_cbc_decrypt_mode; + +extern const struct ccmode_cbc ccaes_intel_cbc_encrypt_opt_mode; +extern const struct ccmode_cbc ccaes_intel_cbc_encrypt_aesni_mode; + +extern const struct ccmode_cbc ccaes_intel_cbc_decrypt_opt_mode; +extern const struct ccmode_cbc ccaes_intel_cbc_decrypt_aesni_mode; + +//extern const struct ccmode_xts ccaes_intel_xts_encrypt_mode; +//extern const struct ccmode_xts ccaes_intel_xts_decrypt_mode; + +extern const struct ccmode_xts ccaes_intel_xts_encrypt_opt_mode; +extern const struct ccmode_xts ccaes_intel_xts_encrypt_aesni_mode; + +extern const struct ccmode_xts ccaes_intel_xts_decrypt_opt_mode; +extern const struct ccmode_xts ccaes_intel_xts_decrypt_aesni_mode; +#endif + +#if CC_USE_L4 +extern const struct ccmode_cbc ccaes_skg_cbc_encrypt_mode; +extern const struct ccmode_cbc ccaes_skg_cbc_decrypt_mode; + +extern const struct ccmode_ecb ccaes_skg_ecb_encrypt_mode; +extern const struct ccmode_ecb ccaes_skg_ecb_decrypt_mode; + +extern const struct ccmode_ecb ccaes_trng_ecb_encrypt_mode; +#endif + +/* Implementation Selectors: */ +const struct ccmode_ecb *ccaes_ecb_encrypt_mode(void); +const struct ccmode_cbc *ccaes_cbc_encrypt_mode(void); +const struct ccmode_cfb *ccaes_cfb_encrypt_mode(void); +const struct ccmode_cfb8 *ccaes_cfb8_encrypt_mode(void); +const struct ccmode_xts *ccaes_xts_encrypt_mode(void); +const struct ccmode_gcm *ccaes_gcm_encrypt_mode(void); +const struct ccmode_ccm *ccaes_ccm_encrypt_mode(void); + +const struct ccmode_ecb *ccaes_ecb_decrypt_mode(void); +const struct ccmode_cbc *ccaes_cbc_decrypt_mode(void); +const struct ccmode_cfb *ccaes_cfb_decrypt_mode(void); +const struct ccmode_cfb8 *ccaes_cfb8_decrypt_mode(void); +const struct ccmode_xts *ccaes_xts_decrypt_mode(void); +const struct ccmode_gcm *ccaes_gcm_decrypt_mode(void); +const struct ccmode_ccm *ccaes_ccm_decrypt_mode(void); + +const struct ccmode_ctr *ccaes_ctr_crypt_mode(void); +const struct ccmode_ofb *ccaes_ofb_crypt_mode(void); + +const struct ccmode_siv *ccaes_siv_encrypt_mode(void); +const struct ccmode_siv *ccaes_siv_decrypt_mode(void); + +#endif /* _CORECRYPTO_CCAES_H_ */ diff --git a/corecrypto/ccansikdf.h b/corecrypto/ccansikdf.h new file mode 100644 index 0000000..97f0ed5 --- /dev/null +++ b/corecrypto/ccansikdf.h @@ -0,0 +1,89 @@ +/* + * Copyright (c) 2014,2015,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ +#ifndef corecrypto_ccansikdf_h +#define corecrypto_ccansikdf_h + +#include +#include + +/* + ANSI x9.63 KDF as per x9.63-2011 specification. + with granularity in bytes. + + Input: The input to the key derivation function is: + 1. A byte string Z that is the shared secret value, of byte length lenZ. + 2. An integer keydatalen that is the length in byte of the keying data to be generated. keydatalen shall be less than (2^32–1) hashlen + 3. A byte string SharedInfo that consists of some data shared by the two entities intended to share the secret value Z. The total byte length of Z and SharedInfo must be at most maxhashlen – 4. + + Approved digest functions are for output >= 224bit that is SHA-224 and beyond. + SHA-1 is not forbidden but should only be used for interroperability requirements. + */ + +CC_NONNULL((1, 3, 7)) +int ccansikdf_x963(const struct ccdigest_info *di, + const size_t Z_len, const unsigned char *Z, + const size_t sharedinfo_byte_len, const void *sharedinfo, + const size_t key_len, uint8_t *key); + +#endif diff --git a/corecrypto/ccasn1.h b/corecrypto/ccasn1.h new file mode 100644 index 0000000..a8316a7 --- /dev/null +++ b/corecrypto/ccasn1.h @@ -0,0 +1,150 @@ +/* + * Copyright (c) 2010,2011,2012,2015,2016,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ +#ifndef _CORECRYPTO_CCASN1_H_ +#define _CORECRYPTO_CCASN1_H_ + +#include +#include +#include + +/* ASN.1 types for on the fly ASN.1 BER/DER encoding/decoding. Don't use + these with the ccder interface, use the CCDER_ types instead. */ +enum { + CCASN1_EOL = 0x00, + CCASN1_BOOLEAN = 0x01, + CCASN1_INTEGER = 0x02, + CCASN1_BIT_STRING = 0x03, + CCASN1_OCTET_STRING = 0x04, + CCASN1_NULL = 0x05, + CCASN1_OBJECT_IDENTIFIER = 0x06, + CCASN1_OBJECT_DESCRIPTOR = 0x07, + /* External or instance-of 0x08 */ + CCASN1_REAL = 0x09, + CCASN1_ENUMERATED = 0x0a, + CCASN1_EMBEDDED_PDV = 0x0b, + CCASN1_UTF8_STRING = 0x0c, + /* 0x0d */ + /* 0x0e */ + /* 0x0f */ + CCASN1_SEQUENCE = 0x10, + CCASN1_SET = 0x11, + CCASN1_NUMERIC_STRING = 0x12, + CCASN1_PRINTABLE_STRING = 0x13, + CCASN1_T61_STRING = 0x14, + CCASN1_VIDEOTEX_STRING = 0x15, + CCASN1_IA5_STRING = 0x16, + CCASN1_UTC_TIME = 0x17, + CCASN1_GENERALIZED_TIME = 0x18, + CCASN1_GRAPHIC_STRING = 0x19, + CCASN1_VISIBLE_STRING = 0x1a, + CCASN1_GENERAL_STRING = 0x1b, + CCASN1_UNIVERSAL_STRING = 0x1c, + /* 0x1d */ + CCASN1_BMP_STRING = 0x1e, + CCASN1_HIGH_TAG_NUMBER = 0x1f, + CCASN1_TELETEX_STRING = CCASN1_T61_STRING, + + CCASN1_TAG_MASK = 0xff, + CCASN1_TAGNUM_MASK = 0x1f, + + CCASN1_METHOD_MASK = 0x20, + CCASN1_PRIMITIVE = 0x00, + CCASN1_CONSTRUCTED = 0x20, + + CCASN1_CLASS_MASK = 0xc0, + CCASN1_UNIVERSAL = 0x00, + CCASN1_APPLICATION = 0x40, + CCASN1_CONTEXT_SPECIFIC = 0x80, + CCASN1_PRIVATE = 0xc0, + + CCASN1_CONSTRUCTED_SET = CCASN1_SET | CCASN1_CONSTRUCTED, + CCASN1_CONSTRUCTED_SEQUENCE = CCASN1_SEQUENCE | CCASN1_CONSTRUCTED, +}; + +#if CORECRYPTO_USE_TRANSPARENT_UNION +typedef union { + const unsigned char * oid; +} __attribute__((transparent_union)) ccoid_t; +#define CCOID(x) ((x).oid) +#else + typedef const unsigned char * ccoid_t; +#define CCOID(oid) (oid) +#endif + +/* Returns *der iff *der points to a DER encoded oid that fits within *der_len. */ +ccoid_t ccoid_for_der(size_t *der_len, const uint8_t **der); + +/* Returns the size of an oid including it's tag and length. */ +CC_INLINE CC_PURE CC_NONNULL_TU((1)) +size_t ccoid_size(ccoid_t oid) { + return 2 + CCOID(oid)[1]; +} + +CC_INLINE CC_PURE CC_NONNULL_TU((1)) CC_NONNULL_TU((2)) +bool ccoid_equal(ccoid_t oid1, ccoid_t oid2) { + return (ccoid_size(oid1) == ccoid_size(oid2) + && memcmp(CCOID(oid1), CCOID(oid2), ccoid_size(oid1))== 0); +} + +#endif /* _CORECRYPTO_CCASN1_H_ */ diff --git a/corecrypto/ccblowfish.h b/corecrypto/ccblowfish.h new file mode 100644 index 0000000..bcfafef --- /dev/null +++ b/corecrypto/ccblowfish.h @@ -0,0 +1,96 @@ +/* + * Copyright (c) 2010,2012,2015,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ +#ifndef _CORECRYPTO_CCBLOWFISH_H_ +#define _CORECRYPTO_CCBLOWFISH_H_ + +#include + +#define CCBLOWFISH_BLOCK_SIZE 8 + +#define CCBLOWFISH_KEY_SIZE_MIN 8 +#define CCBLOWFISH_KEY_SIZE_MAX 56 + +extern const struct ccmode_ecb ccblowfish_ltc_ecb_decrypt_mode; +extern const struct ccmode_ecb ccblowfish_ltc_ecb_encrypt_mode; + + + +const struct ccmode_ecb *ccblowfish_ecb_decrypt_mode(void); +const struct ccmode_ecb *ccblowfish_ecb_encrypt_mode(void); + +const struct ccmode_cbc *ccblowfish_cbc_decrypt_mode(void); +const struct ccmode_cbc *ccblowfish_cbc_encrypt_mode(void); + +const struct ccmode_cfb *ccblowfish_cfb_decrypt_mode(void); +const struct ccmode_cfb *ccblowfish_cfb_encrypt_mode(void); + +const struct ccmode_cfb8 *ccblowfish_cfb8_decrypt_mode(void); +const struct ccmode_cfb8 *ccblowfish_cfb8_encrypt_mode(void); + +const struct ccmode_ctr *ccblowfish_ctr_crypt_mode(void); + +const struct ccmode_ofb *ccblowfish_ofb_crypt_mode(void); + + +#endif /* _CORECRYPTO_CCBLOWFISH_H_ */ diff --git a/corecrypto/cccast.h b/corecrypto/cccast.h new file mode 100644 index 0000000..71b5fd6 --- /dev/null +++ b/corecrypto/cccast.h @@ -0,0 +1,96 @@ +/* + * Copyright (c) 2011,2012,2015,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCCAST_H_ +#define _CORECRYPTO_CCCAST_H_ + +#include + +#define CCCAST_BLOCK_SIZE 8 /* block size in bytes */ +#define CCCAST_KEY_LENGTH 16 /* MAX key size in bytes */ +#define CCCAST_MIN_KEY_LENGTH 5 /* MIN key size in bytes */ + +/* Selectors: */ +const struct ccmode_ecb *cccast_ecb_decrypt_mode(void); +const struct ccmode_ecb *cccast_ecb_encrypt_mode(void); + +const struct ccmode_cbc *cccast_cbc_decrypt_mode(void); +const struct ccmode_cbc *cccast_cbc_encrypt_mode(void); + +const struct ccmode_cfb *cccast_cfb_decrypt_mode(void); +const struct ccmode_cfb *cccast_cfb_encrypt_mode(void); + +const struct ccmode_cfb8 *cccast_cfb8_decrypt_mode(void); +const struct ccmode_cfb8 *cccast_cfb8_encrypt_mode(void); + +const struct ccmode_ctr *cccast_ctr_crypt_mode(void); + +const struct ccmode_ofb *cccast_ofb_crypt_mode(void); + +/* Implementations: */ +extern const struct ccmode_ecb cccast_eay_ecb_decrypt_mode; +extern const struct ccmode_ecb cccast_eay_ecb_encrypt_mode; + + +#endif /* _CORECRYPTO_CCCAST_H_ */ diff --git a/corecrypto/ccchacha20poly1305.h b/corecrypto/ccchacha20poly1305.h new file mode 100644 index 0000000..a496abe --- /dev/null +++ b/corecrypto/ccchacha20poly1305.h @@ -0,0 +1,352 @@ +/* + * Copyright (c) 2016,2017,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCCHACHA20POLY1305_H_ +#define _CORECRYPTO_CCCHACHA20POLY1305_H_ + +#include +#include +#include + +#define CCCHACHA20_KEY_NBYTES 32 +#define CCCHACHA20_BLOCK_NBYTES 64 +#define CCCHACHA20_BLOCK_NBITS (CCCHACHA20_BLOCK_NBYTES * 8) +#define CCCHACHA20_NONCE_NBYTES 12 + +typedef struct { + uint32_t state[16]; + uint8_t buffer[CCCHACHA20_BLOCK_NBYTES]; + size_t leftover; +} ccchacha20_ctx; + +#define CCPOLY1305_TAG_NBYTES 16 + +typedef struct { + uint32_t r0, r1, r2, r3, r4; + uint32_t s1, s2, s3, s4; + uint32_t h0, h1, h2, h3, h4; + uint8_t buf[16]; + size_t buf_used; + uint8_t key[16]; +} ccpoly1305_ctx; + + +/*! + @group ccchacha20poly1305 + @abstract Encrypts and authenticates or decrypts and verifies data. + @discussion See RFC 7539 for details. + + @warning The key-nonce pair must be unique per encryption. + + @warning A single message can be at most (2^38 - 64) bytes in length. + + The correct sequence of calls to encrypt is: + + @code ccchacha20poly1305_init(...) + ccchacha20poly1305_setnonce(...) + ccchacha20poly1305_aad(...) (may be called zero or more times) + ccchacha20poly1305_encrypt(...) (may be called zero or more times) + ccchacha20poly1305_finalize(...) + + To reuse the context for additional encryptions, follow this sequence: + + @code ccchacha20poly1305_reset(...) + ccchacha20poly1305_setnonce(...) + ccchacha20poly1305_aad(...) (may be called zero or more times) + ccchacha20poly1305_encrypt(...) (may be called zero or more times) + ccchacha20poly1305_finalize(...) + + To decrypt, follow this call sequence: + + @code ccchacha20poly1305_init(...) + ccchacha20poly1305_setnonce(...) + ccchacha20poly1305_aad(...) (may be called zero or more times) + ccchacha20poly1305_decrypt(...) (may be called zero or more times) + ccchacha20poly1305_verify(...) (returns zero on successful decryption) + + To reuse the context for additional encryptions, follow this sequence: + + @code ccchacha20poly1305_reset(...) + ccchacha20poly1305_setnonce(...) + ccchacha20poly1305_aad(...) (may be called zero or more times) + ccchacha20poly1305_decrypt(...) (may be called zero or more times) + ccchacha20poly1305_verify(...) (returns zero on successful decryption) +*/ + +#define CCCHACHA20POLY1305_KEY_NBYTES (CCCHACHA20_KEY_NBYTES) +#define CCCHACHA20POLY1305_NONCE_NBYTES (CCCHACHA20_NONCE_NBYTES) +#define CCCHACHA20POLY1305_TAG_NBYTES (CCPOLY1305_TAG_NBYTES) + +/* (2^32 - 1) blocks */ +/* (2^38 - 64) bytes */ +/* (2^41 - 512) bits */ +/* Exceeding this figure breaks confidentiality and authenticity. */ +#define CCCHACHA20POLY1305_TEXT_MAX_NBYTES ((1ULL << 38) - 64ULL) + +#define CCCHACHA20POLY1305_STATE_SETNONCE 1 +#define CCCHACHA20POLY1305_STATE_AAD 2 +#define CCCHACHA20POLY1305_STATE_ENCRYPT 3 +#define CCCHACHA20POLY1305_STATE_DECRYPT 4 +#define CCCHACHA20POLY1305_STATE_FINAL 5 + +typedef struct { + ccchacha20_ctx chacha20_ctx; + ccpoly1305_ctx poly1305_ctx; + uint64_t aad_nbytes; + uint64_t text_nbytes; + uint8_t state; +} ccchacha20poly1305_ctx; + +// This is just a stub right now. +// Eventually we will optimize by platform. +struct ccchacha20poly1305_info { + +}; + +extern const struct ccchacha20poly1305_info ccchacha20poly1305_info_default; + +const struct ccchacha20poly1305_info *ccchacha20poly1305_info(void); + +/*! + @function ccchacha20poly1305_init + @abstract Initialize a chacha20poly1305 context. + + @param info Implementation descriptor + @param ctx Context for this instance + @param key Secret chacha20 key + + @result 0 iff successful. + + @discussion The key is 32 bytes in length. + + @warning The key-nonce pair must be unique per encryption. + */ +int ccchacha20poly1305_init(const struct ccchacha20poly1305_info *info, ccchacha20poly1305_ctx *ctx, const uint8_t *key); + +/*! + @function ccchacha20poly1305_reset + @abstract Reset a chacha20poly1305 context for reuse. + + @param info Implementation descriptor + @param ctx Context for this instance + + @result 0 iff successful. + */ +int ccchacha20poly1305_reset(const struct ccchacha20poly1305_info *info, ccchacha20poly1305_ctx *ctx); + +/*! + @function ccchacha20poly1305_setnonce + @abstract Set the nonce for encryption or decryption. + + @param info Implementation descriptor + @param ctx Context for this instance + @param nonce Unique nonce per encryption + + @result 0 iff successful. + + @discussion The nonce is 12 bytes in length. + + @warning The key-nonce pair must be unique per encryption. + */ +int ccchacha20poly1305_setnonce(const struct ccchacha20poly1305_info *info, ccchacha20poly1305_ctx *ctx, const uint8_t *nonce); +int ccchacha20poly1305_incnonce(const struct ccchacha20poly1305_info *info, ccchacha20poly1305_ctx *ctx, uint8_t *nonce); + +/*! + @function ccchacha20poly1305_aad + @abstract Authenticate additional data. + + @param info Descriptor for the mode + @param ctx Context for this instance + @param nbytes Length of the additional data in bytes + @param aad Additional data to authenticate + + @result 0 iff successful. + + @discussion This is typically used to authenticate data that cannot be encrypted (e.g. packet headers). + + This function may be called zero or more times. + */ +int ccchacha20poly1305_aad(const struct ccchacha20poly1305_info *info, ccchacha20poly1305_ctx *ctx, size_t nbytes, const void *aad); + +/*! + @function ccchacha20poly1305_encrypt + @abstract Encrypt data. + + @param info Descriptor for the mode + @param ctx Context for this instance + @param nbytes Length of the plaintext in bytes + @param ptext Input plaintext + @param ctext Output ciphertext + + @result 0 iff successful. + + @discussion In-place processing is supported. + + This function may be called zero or more times. + */ +int ccchacha20poly1305_encrypt(const struct ccchacha20poly1305_info *info, ccchacha20poly1305_ctx *ctx, size_t nbytes, const void *ptext, void *ctext); + +/*! + @function ccchacha20poly1305_finalize + @abstract Finalize encryption. + + @param info Descriptor for the mode + @param ctx Context for this instance + @param tag Generated authentication tag + + @result 0 iff successful. + + @discussion The generated tag is 16 bytes in length. + */ +int ccchacha20poly1305_finalize(const struct ccchacha20poly1305_info *info, ccchacha20poly1305_ctx *ctx, uint8_t *tag); + +/*! + @function ccchacha20poly1305_decrypt + @abstract Decrypt data. + + @param info Descriptor for the mode + @param ctx Context for this instance + @param nbytes Length of the ciphertext in bytes + @param ctext Input ciphertext + @param ptext Output plaintext + + @result 0 iff successful. + + @discussion In-place processing is supported. + + This function may be called zero or more times. + */ +int ccchacha20poly1305_decrypt(const struct ccchacha20poly1305_info *info, ccchacha20poly1305_ctx *ctx, size_t nbytes, const void *ctext, void *ptext); + +/*! + @function ccchacha20poly1305_verify + @abstract Verify authenticity. + + @param info Descriptor for the mode + @param ctx Context for this instance + @param tag Expected authentication tag + + @result 0 iff authentic and otherwise successful. + + @discussion The expected tag is 16 bytes in length. + */ +int ccchacha20poly1305_verify(const struct ccchacha20poly1305_info *info, ccchacha20poly1305_ctx *ctx, const uint8_t *tag); + +/*! + @function ccchacha20poly1305_encrypt_oneshot + @abstract Encrypt with chacha20poly1305. + + @param info Descriptor for the mode + @param key Secret chacha20 key + @param nonce Unique nonce per encryption + @param aad_nbytes Length of the additional data in bytes + @param aad Additional data to authenticate + @param ptext_nbytes Length of the plaintext in bytes + @param ptext Input plaintext + @param ctext Output ciphertext + @param tag Generated authentication tag + + @discussion See RFC 7539 for details. + + The key is 32 bytes in length. + + The nonce is 12 bytes in length. + + The generated tag is 16 bytes in length. + + In-place processing is supported. + + @warning The key-nonce pair must be unique per encryption. + + @warning A single message can be at most (2^38 - 64) bytes in length. + */ +int ccchacha20poly1305_encrypt_oneshot(const struct ccchacha20poly1305_info *info, const uint8_t *key, const uint8_t *nonce, size_t aad_nbytes, const void *aad, size_t ptext_nbytes, const void *ptext, void *ctext, uint8_t *tag); + +/*! + @function ccchacha20poly1305_decrypt_oneshot + @abstract Decrypt with chacha20poly1305. + + @param info Descriptor for the mode + @param key Secret chacha20 key + @param nonce Unique nonce per encryption + @param aad_nbytes Length of the additional data in bytes + @param aad Additional data to authenticate + @param ctext_nbytes Length of the ciphertext in bytes + @param ctext Input ciphertext + @param ptext Output plaintext + @param tag Expected authentication tag + + @discussion See RFC 7539 for details. + + The key is 32 bytes in length. + + The nonce is 12 bytes in length. + + The generated tag is 16 bytes in length. + + In-place processing is supported. + */ +int ccchacha20poly1305_decrypt_oneshot(const struct ccchacha20poly1305_info *info, const uint8_t *key, const uint8_t *nonce, size_t aad_nbytes, const void *aad, size_t ctext_nbytes, const void *ctext, void *ptext, const uint8_t *tag); + +#endif diff --git a/corecrypto/ccchacha20poly1305_priv.h b/corecrypto/ccchacha20poly1305_priv.h new file mode 100644 index 0000000..d030db9 --- /dev/null +++ b/corecrypto/ccchacha20poly1305_priv.h @@ -0,0 +1,91 @@ +/* + * Copyright (c) 2017,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCCHACHA20POLY1305_PRIV_H_ +#define _CORECRYPTO_CCCHACHA20POLY1305_PRIV_H_ + +/*! @group ccchacha20 + @abstract Encrypts/decrypts N bytes of data with a 32-byte key and 8-byte nonce starting from an 8-byte counter. + @discussion See DJB's page on ChaCha20 . + */ + +int ccchacha20_init(ccchacha20_ctx *ctx, const uint8_t *key); +int ccchacha20_reset(ccchacha20_ctx *ctx); +int ccchacha20_setnonce(ccchacha20_ctx *ctx, const uint8_t *nonce); +int ccchacha20_setcounter(ccchacha20_ctx *ctx, uint32_t counter); +int ccchacha20_update(ccchacha20_ctx *ctx, size_t nbytes, const void *in, void *out); +int ccchacha20_final(ccchacha20_ctx *ctx); +int ccchacha20(const uint8_t *key, const uint8_t *nonce, uint32_t counter, size_t nbytes, const void *in, void *out); + +/*! @group poly1305 + @abstract Generates a 16-byte Poly1305 Message Authentication Code from N bytes of data and a 32-byte key. + @discussion See DJB's paper on Poly1305 for details. + */ + +int ccpoly1305_init(ccpoly1305_ctx *ctx, const uint8_t *key); +int ccpoly1305_update(ccpoly1305_ctx *ctx, size_t nbytes, const uint8_t *data); +int ccpoly1305_final(ccpoly1305_ctx *ctx, uint8_t *tag); +int ccpoly1305(const uint8_t *key, size_t nbytes, const uint8_t *data, uint8_t *tag); + +#endif /* _CORECRYPTO_CCCHACHA20POLY1305_PRIV_H_ */ diff --git a/corecrypto/cccmac.h b/corecrypto/cccmac.h new file mode 100644 index 0000000..7ff7a0c --- /dev/null +++ b/corecrypto/cccmac.h @@ -0,0 +1,266 @@ +/* + * Copyright (c) 2013,2014,2015,2016,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_cccmac_H_ +#define _CORECRYPTO_cccmac_H_ + +#include +#include +#include + +#define CMAC_BLOCKSIZE 16 + +#if CORECRYPTO_USE_TRANSPARENT_UNION +struct cccmac_ctx { + uint8_t b[8]; +} CC_ALIGNED(8); + +typedef struct cccmac_ctx_hdr { + uint8_t k1[CMAC_BLOCKSIZE]; + uint8_t k2[CMAC_BLOCKSIZE]; + uint8_t block[CMAC_BLOCKSIZE]; + size_t block_nbytes; // Number of byte occupied in block buf + size_t cumulated_nbytes; // Total size processed + const struct ccmode_cbc *cbc; + uint8_t ctx[8]; +} CC_ALIGNED(8) cccmac_ctx_hdr; + + +typedef union { + struct cccmac_ctx *b; + cccmac_ctx_hdr *hdr; +} cccmac_ctx_t __attribute__((transparent_union)); +#define cccmac_hdr_size sizeof(struct cccmac_ctx_hdr) + +#else + +struct cccmac_ctx { + uint8_t k1[CMAC_BLOCKSIZE]; + uint8_t k2[CMAC_BLOCKSIZE]; + uint8_t block[CMAC_BLOCKSIZE]; + size_t block_nbytes; // Number of byte occupied in block + size_t cumulated_nbytes; // Total size processed + const struct ccmode_cbc *cbc; + uint8_t ctx[8]; +} CC_ALIGNED(8);// cccmac_ctx_hdr; + +typedef struct cccmac_ctx* cccmac_ctx_t; + +#define cccmac_hdr_size sizeof(struct cccmac_ctx) + +#endif + + +#define cccmac_iv_size(_mode_) ((_mode_)->block_size) +#define cccmac_cbc_size(_mode_) ((_mode_)->size) + +#define cccmac_ctx_size(_mode_) (cccmac_hdr_size + cccmac_iv_size(_mode_) + cccmac_cbc_size(_mode_)) +#define cccmac_ctx_n(_mode_) ccn_nof_size(cccmac_ctx_size(_mode_)) + +#define cccmac_mode_decl(_mode_, _name_) cc_ctx_decl(struct cccmac_ctx, cccmac_ctx_size(_mode_), _name_) +#define cccmac_mode_clear(_mode_, _name_) cc_clear(cccmac_ctx_size(_mode_), _name_) + +#if CORECRYPTO_USE_TRANSPARENT_UNION +/* Return a cccbc_ctx * which can be accesed with the macros in ccmode.h */ +#define cccmac_mode_ctx_start(_mode_, HC) (((HC).hdr)->ctx) +#define CCCMAC_HDR(HC) (((cccmac_ctx_t)(HC)).hdr) +#else +/* Return a cccbc_ctx * which can be accesed with the macros in ccmode.h */ +#define cccmac_mode_ctx_start(_mode_, HC) (HC->ctx) +#define CCCMAC_HDR(HC) (HC) +#endif + +#define cccmac_mode_sym_ctx(_mode_, HC) (cccbc_ctx *)(cccmac_mode_ctx_start(_mode_, HC)) +#define cccmac_mode_iv(_mode_, HC) (cccbc_iv *)(cccmac_mode_ctx_start(_mode_, HC)+cccmac_cbc_size(_mode_)) +#define cccmac_k1(HC) (CCCMAC_HDR(HC)->k1) +#define cccmac_k2(HC) (CCCMAC_HDR(HC)->k2) +#define cccmac_block(HC) (CCCMAC_HDR(HC)->block) +#define cccmac_cbc(HC) (CCCMAC_HDR(HC)->cbc) +#define cccmac_block_nbytes(HC) (CCCMAC_HDR(HC)->block_nbytes) +#define cccmac_cumulated_nbytes(HC) (CCCMAC_HDR(HC)->cumulated_nbytes) + + +/* CMAC as defined in NIST SP800-38B - 2005 */ + +/* ============================================================================= + + ONE SHOT + + ==============================================================================*/ + +/*! + @function cccmac_one_shot_generate + @abstract CMAC generation in one call + + @param cbc CBC and block cipher specification + @param key_nbytes Length of the key in bytes + @param key Pointer to the key of length key_nbytes + @param data_nbytes Length of the data in bytes + @param data Pointer to the data in bytes + @param mac_nbytes Length in byte of the mac, > 0 + @param mac Output of length cbc->block_size + + @result 0 iff successful. + + @discussion Only supports CMAC_BLOCKSIZE block ciphers + */ +int cccmac_one_shot_generate(const struct ccmode_cbc *cbc, + size_t key_nbytes, const void *key, + size_t data_nbytes, const void *data, + size_t mac_nbytes, void *mac); + +/*! + @function cccmac_one_shot_verify + @abstract CMAC verification in one call + + @param cbc CBC and block cipher specification + @param key_nbytes Length of the key in bytes + @param key Pointer to the key of length key_nbytes + @param data_nbytes Length of the data in bytes + @param data Pointer to the data in bytes + @param expected_mac_nbytes Length in byte of the mac, > 0 + @param expected_mac Mac value expected + + @result 0 iff successful. + + @discussion Only supports CMAC_BLOCKSIZE block ciphers + */ +int cccmac_one_shot_verify(const struct ccmode_cbc *cbc, + size_t key_nbytes, const void *key, + size_t data_nbytes, const void *data, + size_t expected_mac_nbytes, const void *expected_mac); + +/* ============================================================================= + + STREAMING + + Init - Update - Final + +==============================================================================*/ + +/*! + @function cccmac_init + @abstract Init CMAC context with CBC mode and key + + @param cbc CBC and block cipher specification + @param ctx Context use to store internal state + @param key_nbytes Length of the key in bytes + @param key Full key + + @result 0 iff successful. + + @discussion Only supports CMAC_BLOCKSIZE block ciphers + */ + +int cccmac_init(const struct ccmode_cbc *cbc, + cccmac_ctx_t ctx, + size_t key_nbytes, const void *key); + +/*! + @function cccmac_update + @abstract Process data + + @param ctx Context use to store internal state + @param data_nbytes Length in byte of the data + @param data Data to process + + @result 0 iff successful. + + @discussion Only supports CMAC_BLOCKSIZE block ciphers + */ + +int cccmac_update(cccmac_ctx_t ctx, + size_t data_nbytes, const void *data); + +/*! + @function cccmac_final_generate + @abstract Final step for generation + + @param ctx Context use to store internal state + @param mac_nbytes Length in byte of the mac, > 0 + @param mac Output of length mac_nbytes + + @result 0 iff successful. + + @discussion Only supports CMAC_BLOCKSIZE block ciphers + */ +int cccmac_final_generate(cccmac_ctx_t ctx, + size_t mac_nbytes, void *mac); + +/*! + @function cccmac_final_verify + @abstract Final step and verification + + @param ctx Context use to store internal state + @param expected_mac_nbytes Length in byte of the mac, > 0 + @param expected_mac Mac value expected + + @result 0 iff successful. + + @discussion Only supports CMAC_BLOCKSIZE block ciphers + */ +int cccmac_final_verify(cccmac_ctx_t ctx, + size_t expected_mac_nbytes, const void *expected_mac); + +#endif /* _CORECRYPTO_cccmac_H_ */ diff --git a/corecrypto/ccder.h b/corecrypto/ccder.h new file mode 100644 index 0000000..1971a8d --- /dev/null +++ b/corecrypto/ccder.h @@ -0,0 +1,370 @@ +/* + * Copyright (c) 2012,2013,2015,2016,2017,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ +#ifndef _CORECRYPTO_CCDER_H_ +#define _CORECRYPTO_CCDER_H_ + +#include +#include + +#define CCDER_MULTIBYTE_TAGS 1 + +#ifdef CCDER_MULTIBYTE_TAGS +typedef unsigned long ccder_tag; +#else +typedef uint8_t ccder_tag; +#endif + +/* DER types to be used with ccder_decode and ccder_encode functions. */ +#define CCDER_EOL CCASN1_EOL +#define CCDER_BOOLEAN CCASN1_BOOLEAN +#define CCDER_INTEGER CCASN1_INTEGER +#define CCDER_BIT_STRING CCASN1_BIT_STRING +#define CCDER_OCTET_STRING CCASN1_OCTET_STRING +#define CCDER_NULL CCASN1_NULL +#define CCDER_OBJECT_IDENTIFIER CCASN1_OBJECT_IDENTIFIER +#define CCDER_OBJECT_DESCRIPTOR CCASN1_OBJECT_DESCRIPTOR + /* External or instance-of 0x08 */ +#define CCDER_REAL CCASN1_REAL +#define CCDER_ENUMERATED CCASN1_ENUMERATED +#define CCDER_EMBEDDED_PDV CCASN1_EMBEDDED_PDV +#define CCDER_UTF8_STRING CCASN1_UTF8_STRING + /* 0x0d */ + /* 0x0e */ + /* 0x0f */ +#define CCDER_SEQUENCE CCASN1_SEQUENCE +#define CCDER_SET CCASN1_SET +#define CCDER_NUMERIC_STRING CCASN1_NUMERIC_STRING +#define CCDER_PRINTABLE_STRING CCASN1_PRINTABLE_STRING +#define CCDER_T61_STRING CCASN1_T61_STRING +#define CCDER_VIDEOTEX_STRING CCASN1_VIDEOTEX_STRING +#define CCDER_IA5_STRING CCASN1_IA5_STRING +#define CCDER_UTC_TIME CCASN1_UTC_TIME +#define CCDER_GENERALIZED_TIME CCASN1_GENERALIZED_TIME +#define CCDER_GRAPHIC_STRING CCASN1_GRAPHIC_STRING +#define CCDER_VISIBLE_STRING CCASN1_VISIBLE_STRING +#define CCDER_GENERAL_STRING CCASN1_GENERAL_STRING +#define CCDER_UNIVERSAL_STRING CCASN1_UNIVERSAL_STRING + /* 0x1d */ +#define CCDER_BMP_STRING CCASN1_BMP_STRING +#define CCDER_HIGH_TAG_NUMBER CCASN1_HIGH_TAG_NUMBER +#define CCDER_TELETEX_STRING CCDER_T61_STRING + +#ifdef CCDER_MULTIBYTE_TAGS +#define CCDER_TAG_MASK ((ccder_tag)~0) +#define CCDER_TAGNUM_MASK ((ccder_tag)~((ccder_tag)7 << (sizeof(ccder_tag) * 8 - 3))) + +#define CCDER_METHOD_MASK ((ccder_tag)1 << (sizeof(ccder_tag) * 8 - 3)) +#define CCDER_PRIMITIVE ((ccder_tag)0 << (sizeof(ccder_tag) * 8 - 3)) +#define CCDER_CONSTRUCTED ((ccder_tag)1 << (sizeof(ccder_tag) * 8 - 3)) + +#define CCDER_CLASS_MASK ((ccder_tag)3 << (sizeof(ccder_tag) * 8 - 2)) +#define CCDER_UNIVERSAL ((ccder_tag)0 << (sizeof(ccder_tag) * 8 - 2)) +#define CCDER_APPLICATION ((ccder_tag)1 << (sizeof(ccder_tag) * 8 - 2)) +#define CCDER_CONTEXT_SPECIFIC ((ccder_tag)2 << (sizeof(ccder_tag) * 8 - 2)) +#define CCDER_PRIVATE ((ccder_tag)3 << (sizeof(ccder_tag) * 8 - 2)) +#else /* !CCDER_MULTIBYTE_TAGS */ +#define CCDER_TAG_MASK CCASN1_TAG_MASK +#define CCDER_TAGNUM_MASK CCASN1_TAGNUM_MASK + +#define CCDER_METHOD_MASK CCASN1_METHOD_MASK +#define CCDER_PRIMITIVE CCASN1_PRIMITIVE +#define CCDER_CONSTRUCTED CCASN1_CONSTRUCTED + +#define CCDER_CLASS_MASK CCASN1_CLASS_MASK +#define CCDER_UNIVERSAL CCASN1_UNIVERSAL +#define CCDER_APPLICATION CCASN1_APPLICATION +#define CCDER_CONTEXT_SPECIFIC CCASN1_CONTEXT_SPECIFIC +#define CCDER_PRIVATE CCASN1_PRIVATE +#endif /* !CCDER_MULTIBYTE_TAGS */ +#define CCDER_CONSTRUCTED_SET (CCDER_SET | CCDER_CONSTRUCTED) +#define CCDER_CONSTRUCTED_SEQUENCE (CCDER_SEQUENCE | CCDER_CONSTRUCTED) + + +// MARK: ccder_sizeof_ functions + +/* Returns the size of an asn1 encoded item of length l in bytes. */ +CC_CONST +size_t ccder_sizeof(ccder_tag tag, size_t len); + +CC_PURE +size_t ccder_sizeof_implicit_integer(ccder_tag implicit_tag, + cc_size n, const cc_unit *s); + +CC_PURE +size_t ccder_sizeof_implicit_octet_string(ccder_tag implicit_tag, + cc_size n, const cc_unit *s); + +CC_CONST +size_t ccder_sizeof_implicit_raw_octet_string(ccder_tag implicit_tag, + size_t s_size); +CC_CONST +size_t ccder_sizeof_implicit_uint64(ccder_tag implicit_tag, uint64_t value); + +CC_PURE +size_t ccder_sizeof_integer(cc_size n, const cc_unit *s); + +CC_CONST +size_t ccder_sizeof_len(size_t len); + +CC_PURE +size_t ccder_sizeof_octet_string(cc_size n, const cc_unit *s); + +CC_PURE +size_t ccder_sizeof_oid(ccoid_t oid); + +CC_CONST +size_t ccder_sizeof_raw_octet_string(size_t s_size); + +CC_CONST +size_t ccder_sizeof_tag(ccder_tag tag); + +CC_CONST +size_t ccder_sizeof_uint64(uint64_t value); + +// MARK: ccder_encode_ functions. + +/* Encode a tag backwards, der_end should point to one byte past the end of + destination for the tag, returns a pointer to the first byte of the tag. + Returns NULL if there is an encoding error. */ +CC_NONNULL2 +uint8_t *ccder_encode_tag(ccder_tag tag, const uint8_t *der, uint8_t *der_end); + +/* Returns a pointer to the start of the len field. returns NULL if there + is an encoding error. */ +CC_NONNULL2 +uint8_t * +ccder_encode_len(size_t len, const uint8_t *der, uint8_t *der_end); + +/* der_end should point to the first byte of the content of this der item. */ +CC_NONNULL3 +uint8_t * +ccder_encode_tl(ccder_tag tag, size_t len, const uint8_t *der, uint8_t *der_end); + +CC_PURE CC_NONNULL2 +uint8_t * +ccder_encode_body_nocopy(size_t size, const uint8_t *der, uint8_t *der_end); + +/* Encode the tag and length of a constructed object. der is the lower + bound, der_end is one byte paste where we want to write the length and + body_end is one byte past the end of the body of the der object we are + encoding the tag and length of. */ +CC_NONNULL((2, 3)) +uint8_t * +ccder_encode_constructed_tl(ccder_tag tag, const uint8_t *body_end, + const uint8_t *der, uint8_t *der_end); + +/* Encodes oid into der and returns + der + ccder_sizeof_oid(oid). */ +CC_NONNULL_TU((1)) CC_NONNULL2 +uint8_t *ccder_encode_oid(ccoid_t oid, const uint8_t *der, uint8_t *der_end); + +CC_NONNULL((3, 4)) +uint8_t *ccder_encode_implicit_integer(ccder_tag implicit_tag, + cc_size n, const cc_unit *s, + const uint8_t *der, uint8_t *der_end); + +CC_NONNULL((2, 3)) +uint8_t *ccder_encode_integer(cc_size n, const cc_unit *s, + const uint8_t *der, uint8_t *der_end); + +CC_NONNULL3 +uint8_t *ccder_encode_implicit_uint64(ccder_tag implicit_tag, + uint64_t value, + const uint8_t *der, uint8_t *der_end); + +CC_NONNULL2 +uint8_t *ccder_encode_uint64(uint64_t value, + const uint8_t *der, uint8_t *der_end); + +CC_NONNULL((3, 4)) +uint8_t *ccder_encode_implicit_octet_string(ccder_tag implicit_tag, + cc_size n, const cc_unit *s, + const uint8_t *der, + uint8_t *der_end); + +CC_NONNULL((2, 3)) +uint8_t *ccder_encode_octet_string(cc_size n, const cc_unit *s, + const uint8_t *der, uint8_t *der_end); + +CC_NONNULL((3, 4)) +uint8_t *ccder_encode_implicit_raw_octet_string(ccder_tag implicit_tag, + size_t s_size, const uint8_t *s, + const uint8_t *der, + uint8_t *der_end); + +CC_NONNULL((2, 3)) +uint8_t *ccder_encode_raw_octet_string(size_t s_size, const uint8_t *s, + const uint8_t *der, uint8_t *der_end); + +size_t ccder_encode_eckey_size(size_t priv_size, ccoid_t oid, size_t pub_size); + +CC_NONNULL2 CC_NONNULL5 CC_NONNULL6 CC_NONNULL7 +uint8_t *ccder_encode_eckey(size_t priv_size, const uint8_t *priv_key, + ccoid_t oid, + size_t pub_size, const uint8_t *pub_key, + uint8_t *der, uint8_t *der_end); + +/* ccder_encode_body COPIES the body into the der. + It's inefficient – especially when you already have to convert to get to + the form for the body. + see encode integer for the right way to unify conversion and insertion */ +CC_NONNULL3 +uint8_t * +ccder_encode_body(size_t size, const uint8_t* body, + const uint8_t *der, uint8_t *der_end); + +// MARK: ccder_decode_ functions. + +/* Returns a pointer to the start of the length field, and returns the decoded tag in tag. + returns NULL if there is a decoding error. */ +CC_NONNULL((1, 3)) +const uint8_t *ccder_decode_tag(ccder_tag *tagp, const uint8_t *der, const uint8_t *der_end); + +CC_NONNULL((1, 3)) +const uint8_t *ccder_decode_len(size_t *lenp, const uint8_t *der, const uint8_t *der_end); + +/* Returns a pointer to the start of the der object, and returns the length in len. + returns NULL if there is a decoding error. */ +CC_NONNULL((2, 4)) +const uint8_t *ccder_decode_tl(ccder_tag expected_tag, size_t *lenp, + const uint8_t *der, const uint8_t *der_end); + +CC_NONNULL((2, 4)) +const uint8_t * +ccder_decode_constructed_tl(ccder_tag expected_tag, const uint8_t **body_end, + const uint8_t *der, const uint8_t *der_end); + +CC_NONNULL((1, 3)) +const uint8_t * +ccder_decode_sequence_tl(const uint8_t **body_end, + const uint8_t *der, const uint8_t *der_end); + +/*! + @function ccder_decode_uint_n + @abstract length in cc_unit of a der unsigned integer after skipping the leading zeroes + + @param der Beginning of input DER buffer + @param der_end End of input DER buffer + @param n Output the number of cc_unit required to represent the number + + @result First byte after the parsed integer or + NULL if the integer is not valid (negative) or reach der_end when reading the integer + */ + +CC_NONNULL((3)) +const uint8_t *ccder_decode_uint_n(cc_size *n, + const uint8_t *der, const uint8_t *der_end); + +/*! + @function ccder_decode_uint + @abstract Represent in cc_unit a der unsigned integer after skipping the leading zeroes + + @param der Beginning of input DER buffer + @param der_end End of input DER buffer + @param n Number of cc_unit allocated for r + @param r Allocated array of cc_unit to copy the integer into. + + @result First byte after the parsed integer or + NULL if the integer is not valid (negative) + reach der_end when reading the integer + n cc_unit is not enough to represent the integer + */ +CC_NONNULL((4)) +const uint8_t *ccder_decode_uint(cc_size n, cc_unit *r, + const uint8_t *der, const uint8_t *der_end); + +CC_NONNULL((3)) +const uint8_t *ccder_decode_uint64(uint64_t* r, + const uint8_t *der, const uint8_t *der_end); + +/* Decode SEQUENCE { r, s -- (unsigned)integer } in der into r and s. + Returns NULL on decode errors, returns pointer just past the end of the + sequence of integers otherwise. */ +CC_NONNULL((2, 3, 5)) +const uint8_t *ccder_decode_seqii(cc_size n, cc_unit *r, cc_unit *s, + const uint8_t *der, const uint8_t *der_end); +CC_NONNULL_TU((1)) CC_NONNULL((3)) +const uint8_t *ccder_decode_oid(ccoid_t *oidp, + const uint8_t *der, const uint8_t *der_end); + +CC_NONNULL((1,2,4)) +const uint8_t *ccder_decode_bitstring(const uint8_t **bit_string, + size_t *bit_length, + const uint8_t *der, const uint8_t *der_end); + +CC_NONNULL_TU((4)) CC_NONNULL((1,2,3,5,6,8)) +const uint8_t *ccder_decode_eckey(uint64_t *version, + size_t *priv_size, const uint8_t **priv_key, + ccoid_t *oid, + size_t *pub_size, const uint8_t **pub_key, + const uint8_t *der, const uint8_t *der_end); + +#define CC_EC_OID_SECP192R1 {((unsigned char *)"\x06\x08\x2a\x86\x48\xce\x3d\x03\x01\x01")} +#define CC_EC_OID_SECP256R1 {((unsigned char *)"\x06\x08\x2a\x86\x48\xce\x3d\x03\x01\x07")} +#define CC_EC_OID_SECP224R1 {((unsigned char *)"\x06\x05\x2B\x81\x04\x00\x21")} +#define CC_EC_OID_SECP384R1 {((unsigned char *)"\x06\x05\x2B\x81\x04\x00\x22")} +#define CC_EC_OID_SECP521R1 {((unsigned char *)"\x06\x05\x2B\x81\x04\x00\x23")} + + +#endif /* _CORECRYPTO_CCDER_H_ */ diff --git a/corecrypto/ccder_decode_eckey.h b/corecrypto/ccder_decode_eckey.h new file mode 100644 index 0000000..891bb7e --- /dev/null +++ b/corecrypto/ccder_decode_eckey.h @@ -0,0 +1,73 @@ +/* + * Copyright (c) 2012,2015,2016,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCDER_DECODE_ECKEY_H_ +#define _CORECRYPTO_CCDER_DECODE_ECKEY_H_ + +// This header is used by a few external clients. +// Clients all need to move to + +#include + +#endif /* _CORECRYPTO_CCDER_DECODE_ECKEY_H_ */ diff --git a/corecrypto/ccder_encode_eckey.h b/corecrypto/ccder_encode_eckey.h new file mode 100644 index 0000000..88f8890 --- /dev/null +++ b/corecrypto/ccder_encode_eckey.h @@ -0,0 +1,72 @@ +/* + * Copyright (c) 2014,2015,2016,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ +#ifndef _CORECRYPTO_CCDER_ENCODE_ECKEY_H_ +#define _CORECRYPTO_CCDER_ENCODE_ECKEY_H_ + +// This header is used by a few external clients. +// Clients all need to move to + +#include + +#endif /* _CORECRYPTO_CCDER_ENCODE_ECKEY_H_ */ diff --git a/corecrypto/ccder_priv.h b/corecrypto/ccder_priv.h new file mode 100644 index 0000000..cf0331d --- /dev/null +++ b/corecrypto/ccder_priv.h @@ -0,0 +1,113 @@ +/* + * Copyright (c) 2015,2016,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ +#ifndef ccder_priv_h +#define ccder_priv_h + +/*! + @function ccder_decode_uint_skip_leading_zeroes + @abstract Return the pointer on the most significant byte + Caller must ensure there is no overread (der + *len < der_end) prior + to calling this. + Per ITU-T Rec. X.690 (07/2002), section 8.3 "If the contents octets of an integer value + encoding consist of more than one octet, then the bits of the first octet + and bit 8 of the second octet, Shall not all be ones and shall not be zero". + Here we only allow unsigned integers. + + @param der Beginning of input DER buffer + @param len Pointer to the length. Update to the number of remaining byte + it may contain 0 as input/output. + + @result Pointer on the most significant byte + NULL is too many leading zeroes + */ + +CC_NONNULL((1, 2)) +CC_INLINE const uint8_t *ccder_decode_uint_skip_leading_zeroes( + size_t *len, + const uint8_t *der) +{ + if (!(*len)) { + // ISO/IEC 8825-1:2003 (E) 8.3.1 The encoding of an integer value shall be primitive + // The contents octets shall consist of one or more octets. + return NULL; + } + // Sign + if (der[0] & 0x80) { + // Negative value, not authorized for unsigned integer + return NULL; + } + // Leading byte + if (der[0] == 0) { + (*len)--; + der++; + + // At this point, we expect the most significant bit set + if ((*len) + && !(der[0] & 0x80)) return NULL; + } + + return der; +} + +#endif /* ccder_priv_h */ diff --git a/corecrypto/ccder_rsa.h b/corecrypto/ccder_rsa.h new file mode 100644 index 0000000..1955601 --- /dev/null +++ b/corecrypto/ccder_rsa.h @@ -0,0 +1,77 @@ +/* + * Copyright (c) 2012,2015,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef corecrypto_ccder_rsa_h +#define corecrypto_ccder_rsa_h + +#include +#include + +CC_INLINE uint8_t * +ccder_encode_cczp_as_integer(cczp_t zp, const uint8_t *der, uint8_t *der_end) { + return ccder_encode_integer(cczp_n(zp), cczp_prime(zp), der, der_end); +} + + +#endif diff --git a/corecrypto/ccdes.h b/corecrypto/ccdes.h new file mode 100644 index 0000000..9550a6c --- /dev/null +++ b/corecrypto/ccdes.h @@ -0,0 +1,121 @@ +/* + * Copyright (c) 2010,2012,2015,2016,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCDES_H_ +#define _CORECRYPTO_CCDES_H_ + +#include + +#define CCDES_BLOCK_SIZE 8 +#define CCDES_KEY_SIZE 8 + +extern const struct ccmode_ecb ccdes_ltc_ecb_decrypt_mode; +extern const struct ccmode_ecb ccdes_ltc_ecb_encrypt_mode; + +extern const struct ccmode_ecb ccdes3_ltc_ecb_decrypt_mode; +extern const struct ccmode_ecb ccdes3_ltc_ecb_encrypt_mode; +extern const struct ccmode_ecb ccdes168_ltc_ecb_encrypt_mode; + +const struct ccmode_ecb *ccdes_ecb_decrypt_mode(void); +const struct ccmode_ecb *ccdes_ecb_encrypt_mode(void); + +const struct ccmode_cbc *ccdes_cbc_decrypt_mode(void); +const struct ccmode_cbc *ccdes_cbc_encrypt_mode(void); + +const struct ccmode_cfb *ccdes_cfb_decrypt_mode(void); +const struct ccmode_cfb *ccdes_cfb_encrypt_mode(void); + +const struct ccmode_cfb8 *ccdes_cfb8_decrypt_mode(void); +const struct ccmode_cfb8 *ccdes_cfb8_encrypt_mode(void); + +const struct ccmode_ctr *ccdes_ctr_crypt_mode(void); + +const struct ccmode_ofb *ccdes_ofb_crypt_mode(void); + + +const struct ccmode_ecb *ccdes3_ecb_decrypt_mode(void); +const struct ccmode_ecb *ccdes3_ecb_encrypt_mode(void); + +const struct ccmode_cbc *ccdes3_cbc_decrypt_mode(void); +const struct ccmode_cbc *ccdes3_cbc_encrypt_mode(void); + +const struct ccmode_cfb *ccdes3_cfb_decrypt_mode(void); +const struct ccmode_cfb *ccdes3_cfb_encrypt_mode(void); + +const struct ccmode_cfb8 *ccdes3_cfb8_decrypt_mode(void); +const struct ccmode_cfb8 *ccdes3_cfb8_encrypt_mode(void); + +const struct ccmode_ctr *ccdes3_ctr_crypt_mode(void); + +const struct ccmode_ofb *ccdes3_ofb_crypt_mode(void); + +int ccdes_key_is_weak( void *key, size_t length); +void ccdes_key_set_odd_parity(void *key, size_t length); + +uint32_t +ccdes_cbc_cksum(void *in, void *out, size_t length, + void *key, size_t keylen, void *ivec); + + +#endif /* _CORECRYPTO_CCDES_H_ */ diff --git a/corecrypto/ccdh.h b/corecrypto/ccdh.h new file mode 100644 index 0000000..fdb5360 --- /dev/null +++ b/corecrypto/ccdh.h @@ -0,0 +1,516 @@ +/* + * Copyright (c) 2011,2012,2013,2015,2016,2017,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCDH_H_ +#define _CORECRYPTO_CCDH_H_ + +#include +#include +#include + +/* Error codes */ +#define CCDH_ERROR_DEFAULT -1 +#define CCDH_GENERATE_KEY_TOO_MANY_TRIES -2 +#define CCDH_NOT_SUPPORTED_CONFIGURATION -3 +#define CCDH_SAFETY_CHECK -4 +#define CCDH_PUBLIC_KEY_MISSING -5 +#define CCDH_INVALID_DOMAIN_PARAMETER -6 +#define CCDH_INVALID_INPUT -7 +#define CCDH_DOMAIN_PARAMETER_MISMATCH -8 +#define CCDH_GENERATE_KEY_CONSISTENCY -9 + +#if CORECRYPTO_USE_TRANSPARENT_UNION + +cc_aligned_struct(16) ccdh_gp; + +/* A ccdh_gp_t is a pointer to a set of DH parameters. + The first entry is a (short) prime field. */ +typedef union { + cczp_t zp; + ccdh_gp *gp; +} __attribute__((transparent_union)) ccdh_gp_t; + +/* A ccdh_const_gp_t is a const pointer to a set of DH parameters. + The first entry is a const prime field. */ +typedef union { + cczp_const_t zp; + const ccdh_gp *gp; + ccdh_gp_t _ncgp; // Non const variant +} __attribute__((transparent_union)) ccdh_const_gp_t; + + +/* Every dh context (a public or private key) starts with this. */ +struct ccdh_ctx_header { + ccdh_const_gp_t gp; + uint8_t pad[16 - sizeof(ccdh_const_gp_t *)]; +} CC_ALIGNED(16); + +struct ccdh_ctx_body { + struct ccdh_ctx_header hdr; + cc_unit xy[]; +} CC_ALIGNED(16); + +struct ccdh_ctx_public { + struct ccdh_ctx_header hdr; + cc_unit pub[]; +} CC_ALIGNED(16); + +/* The ccdh_full_ctx_decl macro allocates an array of ccdh_full_ctx */ +typedef struct ccdh_full_ctx { + struct ccdh_ctx_header hdr; +} CC_ALIGNED(16) ccdh_full_ctx; + +/* The ccdh_pub_ctx_decl macro allocates an array of ccdh_pub_ctx */ +typedef struct ccdh_pub_ctx { + struct ccdh_ctx_header hdr; +} CC_ALIGNED(16) ccdh_pub_ctx; + +/* A ccdh_full_ctx_t is a pointer to a dh key pair. It should be + allocated to be sizeof(ccdh_full_ctx_decl()) bytes. Each of the + ccns within a dh key is always ccdh_ctx_n() cc_units long. */ +typedef union { + ccdh_full_ctx *_full; // Constructor + struct ccdh_ctx_header *hdr; + struct ccdh_ctx_body *body; + struct ccdh_ctx_public *pub; +} __attribute__((transparent_union)) ccdh_full_ctx_t; + +typedef union { + ccdh_pub_ctx *_pub; // Constructor + ccdh_full_ctx *_full; // Constructor + struct ccdh_ctx_header *hdr; + struct ccdh_ctx_body *body; + struct ccdh_ctx_public *pub; + ccdh_full_ctx_t fullt; // Conversion constructor fk->pk +} __attribute__((transparent_union)) ccdh_pub_ctx_t; + +#else //================================================= NO transparent union + +struct ccdh_gp { + __CCZP_ELEMENTS_DEFINITIONS() +} CC_ALIGNED(CCN_UNIT_SIZE); + +/* A ccdh_gp_t is a pointer to a set of DH parameters. + The first entry is a (short) prime field. */ +typedef struct ccdh_gp *ccdh_gp_t; + +/* A ccdh_const_gp_t is a const pointer to a set of DH parameters. + The first entry is a const prime field. */ +typedef const struct ccdh_gp *ccdh_const_gp_t; + +/* The ccdh_full_ctx_decl macro allocates an array of ccdh_full_ctx */ +struct ccdh_full_ctx { + ccdh_const_gp_t gp; + uint8_t pad[16 - sizeof(ccdh_const_gp_t *)]; + cc_unit xy[]; +} CC_ALIGNED(16) ; + +/* The ccdh_pub_ctx_decl macro allocates an array of ccdh_pub_ctx */ +struct ccdh_pub_ctx { + ccdh_const_gp_t gp; + uint8_t pad[16 - sizeof(ccdh_const_gp_t *)]; + cc_unit xy[]; +} CC_ALIGNED(16) ; + +/* A ccdh_full_ctx_t is a pointer to a dh key pair. It should be + allocated to be sizeof(ccdh_full_ctx_decl()) bytes. Each of the + ccns within a dh key is always ccdh_ctx_n() cc_units long. */ + +typedef struct ccdh_full_ctx *ccdh_full_ctx_t; +typedef struct ccdh_pub_ctx *ccdh_pub_ctx_t; + +#endif //================================================= NO transparent union + +#if CORECRYPTO_USE_TRANSPARENT_UNION + /* Return the size of an ccdh_full_ctx where each ccn is _size_ bytes. */ + /* Full has x and y */ + #define ccdh_full_ctx_size(_size_) (sizeof(struct ccdh_ctx_header) + 2 * (_size_)) + /* Pub has only y */ + #define ccdh_pub_ctx_size(_size_) (sizeof(struct ccdh_ctx_header) + 1 * (_size_)) + + /* Declare a fully scheduled dh key. Size is the size in bytes each ccn in + the key. For example to declare (on the stack or in a struct) a 1024 bit + dh public key named foo use ccdh_pub_ctx_decl(ccn_sizeof(1024), foo). */ + #define ccdh_full_ctx_decl(_size_, _name_) cc_ctx_decl(ccdh_full_ctx, ccdh_full_ctx_size(_size_), _name_) + #define ccdh_pub_ctx_decl(_size_, _name_) cc_ctx_decl(ccdh_pub_ctx, ccdh_pub_ctx_size(_size_), _name_) +#else + /* Return the size of an ccdh_full_ctx where each ccn is _size_ bytes. */ + /* Full has x and y */ + #define ccdh_full_ctx_size(_size_) (sizeof(struct ccdh_full_ctx) + 2 * (_size_)) + /* Pub has only y */ + #define ccdh_pub_ctx_size(_size_) (sizeof(struct ccdh_pub_ctx) + 1 * (_size_)) + + /* Declare a fully scheduled dh key. Size is the size in bytes each ccn in + the key. For example to declare (on the stack or in a struct) a 1024 bit + dh public key named foo use ccdh_pub_ctx_decl(ccn_sizeof(1024), foo). */ + #define ccdh_full_ctx_decl(_size_, _name_) cc_ctx_decl(struct ccdh_full_ctx, ccdh_full_ctx_size(_size_), _name_) + #define ccdh_pub_ctx_decl(_size_, _name_) cc_ctx_decl(struct ccdh_pub_ctx, ccdh_pub_ctx_size(_size_), _name_) +#endif + +#define ccdh_pub_ctx_clear(_size_, _name_) cc_clear(ccdh_pub_ctx_size(_size_), _name_) +#define ccdh_full_ctx_clear(_size_, _name_) cc_clear(ccdh_full_ctx_size(_size_), _name_) +/* Declare storage for a fully scheduled dh key for a given set of dh parameters. */ +#define ccdh_full_ctx_decl_gp(_gp_, _name_) ccdh_full_ctx_decl(ccdh_ccn_size(_gp_), _name_) +#define ccdh_pub_ctx_decl_gp(_gp_, _name_) ccdh_pub_ctx_decl(ccdh_ccn_size(_gp_), _name_) + +/* Return the length of the prime for gp in bits. */ +#define ccdh_gp_prime_bitlen(GP) (ccn_bitlen(ccdh_gp_n(GP), ccdh_gp_prime(GP))) + +/* Return the sizeof the prime for gp. */ +#define ccdh_gp_prime_size(GP) (ccdh_ccn_size(GP)) + +#if CORECRYPTO_USE_TRANSPARENT_UNION +/* Group parameters accessors */ +/* If you set the structure manually, you must set it to zero to be + future proof */ +#define CCDH_GP_N(_gp_) (CCZP_N((_gp_).zp)) +#define CCDH_GP_PRIME(_gp_) (CCZP_PRIME((_gp_).zp)) +#define CCDH_GP_ZP(_gp_) ((_gp_).zp) +static inline cczp_const_t ccdh_gp_zp(ccdh_const_gp_t gp) { return gp.zp;} +#define CCDH_GP_RECIP(_gp_) (CCZP_RECIP((_gp_).zp)) +/* l must be chosen wisely to avoid the private key to be recoverable with the Pohlig-Hellman algorithm for example. "Small" l is only possible for special groups for example when p is a safe prime. */ +#else +/* Group parameters accessors */ +/* If you set the structure manually, you must set it to zero to be + future proof */ +#define CCDH_GP_N(_gp_) (CCZP_N(_gp_)) +#define CCDH_GP_PRIME(_gp_) (CCZP_PRIME(_gp_)) +#define CCDH_GP_ZP(_gp_) ((cczp_t)(_gp_)) +static inline cczp_const_t ccdh_gp_zp(ccdh_const_gp_t gp) { return (cczp_const_t) gp;} +#define CCDH_GP_RECIP(_gp_) (CCZP_RECIP((_gp_))) +#endif + +#define CCDH_GP_G(_gp_) (CCDH_GP_RECIP(_gp_) + 1 + ccdh_gp_n(_gp_)) // recip size is n+1 +#define CCDH_GP_L(_gp_) (*((CCDH_GP_Q(_gp_) + ccdh_gp_n(_gp_)))) // Size of the private key in bit. +#define CCDH_GP_Q(_gp_) (CCDH_GP_G(_gp_) + ccdh_gp_n(_gp_)) // generator size is n +/* l must be chosen wisely to avoid the private key to be recoverable with the Pohlig-Hellman algorithm for example. "Small" l is only possible for special groups for example when p is a safe prime. */ + +/* Return the size of a ccdh_gp where the prime is of _size_ bytes. */ +#define ccdh_gp_size(_size_) (cczp_size(_size_) + 2 * (_size_) + ccn_sizeof_n(1)) + +#if CORECRYPTO_USE_TRANSPARENT_UNION + +/* Declare a gp */ +#define ccdh_gp_decl(_size_, _name_) cc_ctx_decl(ccdh_gp, ccdh_gp_size(_size_), _name_) + +/* lvalue accessors to ccdh_ctx fields. (only a ccdh_full_ctx_t has y). */ +/* gp: group parameter */ +#define ccdh_ctx_gp(KEY) (((ccdh_pub_ctx_t)(KEY)).hdr->gp) +//we do not call ccdh_ctx_public(), because ccdh_ctx_gp may be called with ccdh_pub_ctx_t KEY +/* n: size of group */ +#define ccdh_ctx_n(KEY) (ccdh_gp_n(ccdh_ctx_gp(KEY))) +/* prime: group prime */ +#define ccdh_ctx_prime(KEY) (ccdh_gp_prime(ccdh_ctx_gp(KEY))) +/* y: the public key */ +#define ccdh_ctx_y(KEY) (((ccdh_pub_ctx_t)(KEY)).body->xy) +/* x: the private key */ +#define ccdh_ctx_x(KEY) (((ccdh_full_ctx_t)(KEY)).body->xy + 1 * ccdh_ctx_n(KEY)) +#else + +/* Declare a gp */ +#define ccdh_gp_decl(_size_, _name_) cc_ctx_decl(struct ccdh_gp, ccdh_gp_size(_size_), _name_) + +/* lvalue accessors to ccdh_ctx fields. (only a ccdh_full_ctx_t has y). */ +/* gp: group parameter */ +#define ccdh_ctx_gp(KEY) (((ccdh_pub_ctx_t)(KEY))->gp) +/* n: size of group */ +#define ccdh_ctx_n(KEY) (ccdh_gp_n(ccdh_ctx_gp(KEY))) +/* prime: group prime */ +#define ccdh_ctx_prime(KEY) (ccdh_gp_prime(ccdh_ctx_gp(KEY))) +/* y: the public key */ +#define ccdh_ctx_y(KEY) ((KEY)->xy) +/* x: the private key */ +#define ccdh_ctx_x(KEY) (ccdh_ctx_y(KEY) + 1 * ccdh_ctx_n(KEY)) + +#endif + +CC_INLINE +ccdh_pub_ctx_t ccdh_ctx_public(ccdh_full_ctx_t key) { + return (ccdh_pub_ctx_t)key; +} + +#if CORECRYPTO_USE_TRANSPARENT_UNION + +/* Callers must call this function to initialze a ccdh_full_ctx or + ccdh_pub_ctx before using most of the macros in this file. */ +CC_INLINE CC_NONNULL_TU((1)) +void ccdh_ctx_init(ccdh_const_gp_t gp, ccdh_pub_ctx_t key) { + key.hdr->gp = gp; +} + +/* rvalue accessors to ccdh_ctx fields. */ + +/* Return count (n) of a ccn for gp. */ +CC_CONST CC_INLINE CC_NONNULL_TU((1)) +cc_size ccdh_gp_n(ccdh_const_gp_t gp) { + return cczp_n(gp.zp); +} + +CC_CONST CC_INLINE CC_NONNULL_TU((1)) +const cc_unit *ccdh_gp_prime(ccdh_const_gp_t gp) { + return cczp_prime(gp.zp); +} + +CC_CONST CC_INLINE CC_NONNULL_TU((1)) +const cc_unit *ccdh_gp_recip(ccdh_const_gp_t gp) { + return cczp_recip(gp.zp); +} + +CC_CONST CC_INLINE CC_NONNULL_TU((1)) +const cc_unit ccdh_gp_options(ccdh_const_gp_t gp) { + return cczp_options(gp.zp); +} + +CC_CONST CC_INLINE CC_NONNULL_TU((1)) +const cc_unit *ccdh_gp_g(ccdh_const_gp_t gp) { + return CCDH_GP_G(gp._ncgp); +} + +CC_CONST CC_INLINE CC_NONNULL_TU((1)) +const cc_unit *ccdh_gp_order(ccdh_const_gp_t gp) { + return CCDH_GP_Q(gp._ncgp); +} + +CC_CONST CC_INLINE CC_NONNULL_TU((1)) +cc_size ccdh_gp_l(ccdh_const_gp_t gp) { + return CCDH_GP_L(gp._ncgp); +} +/* Return sizeof a ccn for gp. */ +CC_CONST CC_INLINE CC_NONNULL_TU((1)) +size_t ccdh_ccn_size(ccdh_const_gp_t gp) { + return ccn_sizeof_n(cczp_n(gp.zp)); +} + +#else //================================================================================= +/* Callers must call this function to initialze a ccdh_full_ctx or + ccdh_pub_ctx before using most of the macros in this file. */ +CC_INLINE CC_NONNULL_TU((1)) +void ccdh_ctx_init(ccdh_const_gp_t gp, ccdh_pub_ctx_t key) { + key->gp = gp; +} + +/* rvalue accessors to ccdh_ctx fields. */ + +/* Return count (n) of a ccn for gp. */ +CC_CONST CC_INLINE CC_NONNULL_TU((1)) +cc_size ccdh_gp_n(ccdh_const_gp_t gp) { + return cczp_n((cczp_const_t)gp); +} + +CC_CONST CC_INLINE CC_NONNULL_TU((1)) +const cc_unit *ccdh_gp_prime(ccdh_const_gp_t gp) { + return cczp_prime((cczp_const_t)gp); +} + +CC_CONST CC_INLINE CC_NONNULL_TU((1)) +const cc_unit *ccdh_gp_recip(ccdh_const_gp_t gp) { + return cczp_recip((cczp_const_t)gp); +} + +CC_CONST CC_INLINE CC_NONNULL_TU((1)) +const cc_unit ccdh_gp_options(ccdh_const_gp_t gp) { + return cczp_options((cczp_const_t)gp); +} + +CC_CONST CC_INLINE CC_NONNULL_TU((1)) +const cc_unit *ccdh_gp_g(ccdh_const_gp_t gp) { + return CCDH_GP_G(gp); +} + +CC_CONST CC_INLINE CC_NONNULL_TU((1)) +const cc_unit *ccdh_gp_order(ccdh_const_gp_t gp) { + return CCDH_GP_Q(gp); +} + +CC_CONST CC_INLINE CC_NONNULL_TU((1)) +cc_size ccdh_gp_l(ccdh_const_gp_t gp) { + return CCDH_GP_L((ccdh_const_gp_t)gp); +} + +/* Return sizeof a ccn for gp. */ +CC_CONST CC_INLINE CC_NONNULL_TU((1)) +size_t ccdh_ccn_size(ccdh_const_gp_t gp) { + return ccn_sizeof_n(CCZP_N(gp)); +} + +#endif//================================================================================= + +CC_INLINE CC_NONNULL_TU((1)) +size_t ccdh_gp_order_bitlen(ccdh_const_gp_t gp) { + return ccn_bitlen(ccdh_gp_n(gp),ccdh_gp_order(gp)); +} + + + +/* DH group parameter initialization */ + +/* + * Group paramters must be well chosen to avoid serious security issues. + * a) ccdh_init_gp with l>0 is to be used for group parameter where p is a safe prime. + * l should be at least twice the security level desired (128bit security => l=256). + * If you are not sure, set l=0, it is slow but it is safe against attacks using the + * Pohlig-Hellman algorithm for example. + * b) ccdh_init_gp_with_order is to be used when the group prime is not a safe prime: + * the order is necessary to avoid small subgroup attacks and generate the private key + * efficiently + * c) ccdh_init_gp_with_order to set the group from byte. + * If the group prime is not a safe prime, the order MUST be provided to avoid small subgroup attacks + * If the group prime is a safe prime, l should be at least twice the security level desired (128bit security => l=256). + * If you are not sure, set l=0, it is slow but it is safe against attacks using the + * Pohlig-Hellman algorithm for example. + */ +CC_NONNULL_TU((1)) CC_NONNULL((3, 4)) +int ccdh_init_gp(ccdh_gp_t gp, cc_size n, + const cc_unit *p, + const cc_unit *g, + cc_size l); + +CC_NONNULL_TU((1)) CC_NONNULL((3, 4, 5)) +int ccdh_init_gp_with_order(ccdh_gp_t gp, cc_size n, + const cc_unit *p, + const cc_unit *g, + const cc_unit *q); + +CC_NONNULL_TU((1)) CC_NONNULL((4, 6)) +int ccdh_init_gp_from_bytes(ccdh_gp_t gp, cc_size n, + size_t p_len, const uint8_t *p, + size_t g_len, const uint8_t *g, + size_t q_len, const uint8_t *q, + cc_size l); + +/* + * Generate a DH private/public key pair from the group parameter + */ +CC_NONNULL_TU((1)) CC_NONNULL2 +int ccdh_generate_key(ccdh_const_gp_t gp, struct ccrng_state *rng, + ccdh_full_ctx_t key); + +/* + * Compute an DH shared secret between private_key and public_key after validation the public key. + * Returns the result in computed_key, which must be an array of ccdh_ctx_n(private_key) cc_units + * DEPRECATED - use ccdh_compute_key + */ + +CC_NONNULL_TU((1,2)) CC_NONNULL3 +int ccdh_compute_key(ccdh_full_ctx_t private_key, ccdh_pub_ctx_t public_key, + cc_unit *computed_key); + +/* Leading bytes of computed_shared_secret (a.k.a. Z) that contain all zero bits + are stripped before it is used as the shared secret. Match common specs such as TLS */ +CC_NONNULL_TU((1,2)) CC_NONNULL4 +int ccdh_compute_shared_secret(ccdh_full_ctx_t private_key, + ccdh_pub_ctx_t public_key, + size_t *computed_shared_secret_len, + uint8_t *computed_shared_secret, + struct ccrng_state *blinding_rng); + + +/* Import a public key. The imported key is an Octet String, as defined in PKCS#3 */ +CC_NONNULL_TU((1)) CC_NONNULL3 +int ccdh_import_pub(ccdh_const_gp_t gp, size_t in_len, const uint8_t *in, + ccdh_pub_ctx_t key); + +/* Import a private key. The imported key is an Octet String, as defined in PKCS#3 */ +CC_NONNULL_TU((1)) CC_NONNULL3 +int ccdh_import_priv(ccdh_const_gp_t gp, size_t in_len, const uint8_t *in, + ccdh_full_ctx_t key); + +/* Import a private key. The imported key is an Octet String, as defined in PKCS#3 */ +CC_NONNULL_TU((1)) CC_NONNULL3 +int ccdh_import_full(ccdh_const_gp_t gp, + size_t in_priv_len, const uint8_t *in_priv, + size_t in_pub_len, const uint8_t *in_pub, + ccdh_full_ctx_t key); + +/* Return the sizeof a buffer needed to exported public key to. */ +CC_INLINE CC_CONST CC_NONNULL_TU((1)) +size_t ccdh_export_pub_size(ccdh_pub_ctx_t key) { + return ccdh_gp_prime_size(ccdh_ctx_gp(key)); +} + +/* Export public key to out. Out must be ccdh_export_pub_size(key) bytes long. + The key is exported as an Octet String, as defined in PKCS#3 */ +CC_NONNULL_TU((1)) CC_NONNULL2 +void ccdh_export_pub(ccdh_pub_ctx_t key, void *out); + +/* + * ASN.1/DER glue from PKCS #3 : + * prime p, generator g, and optional privateValueLength l + */ + +CC_NONNULL_TU((1)) +size_t ccder_encode_dhparams_size(const ccdh_const_gp_t gp); + +CC_NONNULL_TU((1)) CC_NONNULL((2)) CC_NONNULL((3)) +uint8_t * ccder_encode_dhparams(const ccdh_const_gp_t gp, uint8_t *der, uint8_t *der_end); + +/* CCZP_N(gpfoo.zp) must be set before decoding */ +CC_NONNULL_TU((1)) CC_NONNULL((2)) +const uint8_t *ccder_decode_dhparams(ccdh_gp_t gp, const uint8_t *der, const uint8_t *der_end); + +/* returns the n needed for ccdh_gp_decl/heap allocation of a ccdh_gp_t, can be larger then the actual size used */ +CC_NONNULL((1)) +cc_size ccder_decode_dhparam_n(const uint8_t *der, const uint8_t *der_end); + +#endif /* _CORECRYPTO_CCDH_H_ */ diff --git a/corecrypto/ccdh_gp.h b/corecrypto/ccdh_gp.h new file mode 100644 index 0000000..e84885d --- /dev/null +++ b/corecrypto/ccdh_gp.h @@ -0,0 +1,88 @@ +/* + * Copyright (c) 2011,2015,2016,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +/* Autogenerated file - Use scheme ccdh_gen_gp to regenerate */ +#ifndef _CORECRYPTO_CCDH_GP_H_ +#define _CORECRYPTO_CCDH_GP_H_ + +#include + +ccdh_const_gp_t ccdh_gp_apple768(void); +ccdh_const_gp_t ccdh_gp_rfc5114_MODP_1024_160(void); +ccdh_const_gp_t ccdh_gp_rfc5114_MODP_2048_224(void); +ccdh_const_gp_t ccdh_gp_rfc5114_MODP_2048_256(void); +ccdh_const_gp_t ccdh_gp_rfc2409group02(void); +ccdh_const_gp_t ccdh_gp_rfc3526group05(void); +ccdh_const_gp_t ccdh_gp_rfc3526group14(void); +ccdh_const_gp_t ccdh_gp_rfc3526group15(void); +ccdh_const_gp_t ccdh_gp_rfc3526group16(void); +ccdh_const_gp_t ccdh_gp_rfc3526group17(void); +ccdh_const_gp_t ccdh_gp_rfc3526group18(void); +ccdh_const_gp_t ccsrp_gp_rfc5054_1024(void); +ccdh_const_gp_t ccsrp_gp_rfc5054_2048(void); +ccdh_const_gp_t ccsrp_gp_rfc5054_3072(void); +ccdh_const_gp_t ccsrp_gp_rfc5054_4096(void); +ccdh_const_gp_t ccsrp_gp_rfc5054_8192(void); + +#endif /* _CORECRYPTO_CCDH_GP_H_ */ diff --git a/corecrypto/ccdh_priv.h b/corecrypto/ccdh_priv.h new file mode 100644 index 0000000..f054738 --- /dev/null +++ b/corecrypto/ccdh_priv.h @@ -0,0 +1,105 @@ +/* + * Copyright (c) 2011,2015,2016,2017,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCDH_PRIV_H_ +#define _CORECRYPTO_CCDH_PRIV_H_ + +#include + +#define ccdh_gp_decl_n(_n_) \ +struct { \ + struct cczp_hd hp; \ + cc_unit p[(_n_)]; /* Prime */ \ + cc_unit recip[((_n_)+1)]; /* precomp for field ops */ \ + cc_unit g[(_n_)]; /* Generator */ \ + cc_unit q[(_n_)]; /* Order */ \ + cc_size l; /* Size of the private key */ \ +} + +#define ccdh_gp_decl_static(_bits_) ccdh_gp_decl_n(ccn_nof(_bits_)) + +int ccdh_generate_private_key(ccdh_const_gp_t gp, cc_unit *x, + struct ccrng_state *rng); + +int ccdh_check_pub(ccdh_const_gp_t gp, ccdh_pub_ctx_t public_key); + +int ccdh_power_blinded(struct ccrng_state *blinding_rng, + ccdh_const_gp_t gp, + cc_unit *r, const cc_unit *s, const cc_unit *e) ; + +/*! + @function ccdh_pairwise_consistency_check + @abstract Does a DH with a constant key to confirm the newly generated key is + correct. + @param gp Group parameters + @param rng For key generation and internal countermeasures + @param key DH key pair + @return true if no error, false otherwise. + */ +bool ccdh_pairwise_consistency_check(ccdh_const_gp_t gp, + struct ccrng_state *rng, + ccdh_full_ctx_t key); + + +#endif /* _CORECRYPTO_CCDH_GP_PRIV_H_ */ diff --git a/corecrypto/ccdigest.h b/corecrypto/ccdigest.h new file mode 100644 index 0000000..5177a96 --- /dev/null +++ b/corecrypto/ccdigest.h @@ -0,0 +1,245 @@ +/* + * Copyright (c) 2010,2011,2012,2014,2015,2016,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCDIGEST_H_ +#define _CORECRYPTO_CCDIGEST_H_ + +#include +#include + +/* To malloc a digest context for a given di, use malloc(ccdigest_di_size(di)) + and assign the result to a pointer to a struct ccdigest_ctx. */ +#if CORECRYPTO_USE_TRANSPARENT_UNION +struct ccdigest_ctx { + union { + uint8_t u8; + uint32_t u32; + uint64_t u64; + cc_unit ccn; + } state; +} CC_ALIGNED(8); + +typedef union { + struct ccdigest_ctx *hdr; +} ccdigest_ctx_t __attribute__((transparent_union)); + +struct ccdigest_state { + union { + uint8_t u8; + uint32_t u32; + uint64_t u64; + cc_unit ccn; + } state; +} CC_ALIGNED(8); + +typedef union { + struct ccdigest_state *hdr; + struct ccdigest_ctx *_ctx; + ccdigest_ctx_t _ctxt; +} ccdigest_state_t __attribute__((transparent_union)); +#else //======================================================= +struct ccdigest_ctx { + union { + uint8_t u8; + uint32_t u32; + uint64_t u64; + cc_unit ccn; + } state; +} CC_ALIGNED(8); + +typedef struct ccdigest_ctx *ccdigest_ctx_t ; + +struct ccdigest_state { + union { + uint8_t u8; + uint32_t u32; + uint64_t u64; + cc_unit ccn; + } state; +} CC_ALIGNED(8); + +typedef struct ccdigest_state *ccdigest_state_t; +#endif //======================================================= + + +struct ccdigest_info { + size_t output_size; + size_t state_size; + size_t block_size; + size_t oid_size; + const unsigned char *oid; + const void *initial_state; + void(*compress)(ccdigest_state_t state, size_t nblocks, + const void *data); + void(*final)(const struct ccdigest_info *di, ccdigest_ctx_t ctx, + unsigned char *digest); +}; + +/* Return sizeof a ccdigest_ctx for a given size_t _state_size_ and + size_t _block_size_. */ +#define ccdigest_ctx_size(_state_size_, _block_size_) ((_state_size_) + sizeof(uint64_t) + (_block_size_) + sizeof(unsigned int)) +/* Return sizeof a ccdigest_ctx for a given struct ccdigest_info *_di_. */ +#define ccdigest_di_size(_di_) (ccdigest_ctx_size((_di_)->state_size, (_di_)->block_size)) + +/* Declare a ccdigest_ctx for a given size_t _state_size_ and + size_t _block_size_, named _name_. Can be used in structs or on the + stack. */ +#define ccdigest_ctx_decl(_state_size_, _block_size_, _name_) cc_ctx_decl(struct ccdigest_ctx, ccdigest_ctx_size(_state_size_, _block_size_), _name_) +#define ccdigest_ctx_clear(_state_size_, _block_size_, _name_) cc_clear(ccdigest_ctx_size(_state_size_, _block_size_), _name_) +/* Declare a ccdigest_ctx for a given size_t _state_size_ and + size_t _block_size_, named _name_. Can be used on the stack. */ +#define ccdigest_di_decl(_di_, _name_) cc_ctx_decl(struct ccdigest_ctx, ccdigest_di_size(_di_), _name_) +#define ccdigest_di_clear(_di_, _name_) cc_clear(ccdigest_di_size(_di_), _name_) + +/* Digest context field accessors. Consider the implementation private. */ +#if CORECRYPTO_USE_TRANSPARENT_UNION +#define ccdigest_state(_di_, _ctx_) ((struct ccdigest_state *)(&((ccdigest_ctx_t)(_ctx_)).hdr->state.u8 + sizeof(uint64_t))) +#else +#define ccdigest_state(_di_, _ctx_) ((struct ccdigest_state *)(&((ccdigest_ctx_t)(_ctx_))->state.u8 + sizeof(uint64_t))) +#endif + +#define ccdigest_state_u8(_di_, _ctx_) ccdigest_u8(ccdigest_state((_di_), (_ctx_))) +#define ccdigest_state_u32(_di_, _ctx_) ccdigest_u32(ccdigest_state((_di_), (_ctx_))) +#define ccdigest_state_u64(_di_, _ctx_) ccdigest_u64(ccdigest_state((_di_), (_ctx_))) +#define ccdigest_state_ccn(_di_, _ctx_) ccdigest_ccn(ccdigest_state((_di_), (_ctx_))) + +#if CORECRYPTO_USE_TRANSPARENT_UNION +#define ccdigest_nbits(_di_, _ctx_) (((uint64_t *)(&((ccdigest_ctx_t)(_ctx_)).hdr->state.u8))[0]) +#define ccdigest_data(_di_, _ctx_) (&((ccdigest_ctx_t)(_ctx_)).hdr->state.u8 + (_di_)->state_size + sizeof(uint64_t)) +#define ccdigest_num(_di_, _ctx_) (((unsigned int *)(&((ccdigest_ctx_t)(_ctx_)).hdr->state.u8 + (_di_)->state_size + sizeof(uint64_t) + (_di_)->block_size))[0]) +#else +#define ccdigest_nbits(_di_, _ctx_) (((uint64_t *)(&((ccdigest_ctx_t)(_ctx_))->state.u8))[0]) +#define ccdigest_data(_di_, _ctx_) (&((ccdigest_ctx_t)(_ctx_))->state.u8 + (_di_)->state_size + sizeof(uint64_t)) +#define ccdigest_num(_di_, _ctx_) (((unsigned int *)(&((ccdigest_ctx_t)(_ctx_))->state.u8 + (_di_)->state_size + sizeof(uint64_t) + (_di_)->block_size))[0]) +#endif + +#if CORECRYPTO_USE_TRANSPARENT_UNION +/* Digest state field accessors. Consider the implementation private. */ +#define ccdigest_u8(_state_) (&((ccdigest_state_t)(_state_)).hdr->state.u8) +#define ccdigest_u32(_state_) (&((ccdigest_state_t)(_state_)).hdr->state.u32) +#define ccdigest_u64(_state_) (&((ccdigest_state_t)(_state_)).hdr->state.u64) +#define ccdigest_ccn(_state_) (&((ccdigest_state_t)(_state_)).hdr->state.ccn) +#else +/* Digest state field accessors. Consider the implementation private. */ +#define ccdigest_u8(_state_) (&((ccdigest_state_t)(_state_))->state.u8) +#define ccdigest_u32(_state_) (&((ccdigest_state_t)(_state_))->state.u32) +#define ccdigest_u64(_state_) (&((ccdigest_state_t)(_state_))->state.u64) +#define ccdigest_ccn(_state_) (&((ccdigest_state_t)(_state_))->state.ccn) +#endif + +/* We could just use memcpy instead of this special macro, but this allows us + to use the optimized ccn_set() assembly routine if we have one, which for + 32 bit arm is about 200% quicker than generic memcpy(). */ +#if CCN_SET_ASM && CCN_UNIT_SIZE <= 4 +#define ccdigest_copy_state(_di_, _dst_, _src_) ccn_set((_di_)->state_size / CCN_UNIT_SIZE, _dst_, _src_) +#else +#define ccdigest_copy_state(_di_, _dst_, _src_) CC_MEMCPY(_dst_, _src_, (_di_)->state_size) +#endif + +void ccdigest_init(const struct ccdigest_info *di, ccdigest_ctx_t ctx); +void ccdigest_update(const struct ccdigest_info *di, ccdigest_ctx_t ctx, + size_t len, const void *data); + +CC_INLINE +void ccdigest_final(const struct ccdigest_info *di, ccdigest_ctx_t ctx, unsigned char *digest) +{ + di->final(di,ctx,digest); +} + +void ccdigest(const struct ccdigest_info *di, size_t len, + const void *data, void *digest); + +/* test functions */ +int ccdigest_test(const struct ccdigest_info *di, size_t len, + const void *data, const void *digest); + +int ccdigest_test_chunk(const struct ccdigest_info *di, size_t len, + const void *data, const void *digest, size_t chunk); + +struct ccdigest_vector { + size_t len; + const void *message; + const void *digest; +}; + +int ccdigest_test_vector(const struct ccdigest_info *di, const struct ccdigest_vector *v); +int ccdigest_test_chunk_vector(const struct ccdigest_info *di, const struct ccdigest_vector *v, size_t chunk); + + +#define OID_DEF(_VALUE_) ((const unsigned char *)_VALUE_) + +#define CC_DIGEST_OID_MD2 OID_DEF("\x06\x08\x2A\x86\x48\x86\xF7\x0D\x02\x02") +#define CC_DIGEST_OID_MD4 OID_DEF("\x06\x08\x2A\x86\x48\x86\xF7\x0D\x02\x04") +#define CC_DIGEST_OID_MD5 OID_DEF("\x06\x08\x2A\x86\x48\x86\xF7\x0D\x02\x05") +#define CC_DIGEST_OID_SHA1 OID_DEF("\x06\x05\x2b\x0e\x03\x02\x1a") +#define CC_DIGEST_OID_SHA224 OID_DEF("\x06\x09\x60\x86\x48\x01\x65\x03\x04\x02\x04") +#define CC_DIGEST_OID_SHA256 OID_DEF("\x06\x09\x60\x86\x48\x01\x65\x03\x04\x02\x01") +#define CC_DIGEST_OID_SHA384 OID_DEF("\x06\x09\x60\x86\x48\x01\x65\x03\x04\x02\x02") +#define CC_DIGEST_OID_SHA512 OID_DEF("\x06\x09\x60\x86\x48\x01\x65\x03\x04\x02\x03") +#define CC_DIGEST_OID_RMD128 OID_DEF("\x06\x06\x28\xCF\x06\x03\x00\x32") +#define CC_DIGEST_OID_RMD160 OID_DEF("\x06\x05\x2B\x24\x03\x02\x01") +#define CC_DIGEST_OID_RMD256 OID_DEF("\x06\x05\x2B\x24\x03\x02\x03") +#define CC_DIGEST_OID_RMD320 OID_DEF(NULL) + +#endif /* _CORECRYPTO_CCDIGEST_H_ */ diff --git a/corecrypto/ccdigest_priv.h b/corecrypto/ccdigest_priv.h new file mode 100644 index 0000000..63632f4 --- /dev/null +++ b/corecrypto/ccdigest_priv.h @@ -0,0 +1,90 @@ +/* + * Copyright (c) 2010,2011,2012,2015,2016,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCDIGEST_PRIV_H_ +#define _CORECRYPTO_CCDIGEST_PRIV_H_ + +#include +#include + +void ccdigest_final_common(const struct ccdigest_info *di, + ccdigest_ctx_t ctx, void *digest); +void ccdigest_final_64be(const struct ccdigest_info *di, ccdigest_ctx_t, + unsigned char *digest); +void ccdigest_final_64le(const struct ccdigest_info *di, ccdigest_ctx_t, + unsigned char *digest); + +CC_INLINE CC_NONNULL_TU((1)) +bool ccdigest_oid_equal(const struct ccdigest_info *di, ccoid_t oid) { + if(di->oid == NULL && CCOID(oid) == NULL) return true; + if(di->oid == NULL || CCOID(oid) == NULL) return false; + return ccoid_equal(di->oid, oid); +} + +typedef const struct ccdigest_info *(ccdigest_lookup)(ccoid_t oid); + +#include +const struct ccdigest_info *ccdigest_oid_lookup(ccoid_t oid, ...); + +#endif /* _CORECRYPTO_CCDIGEST_PRIV_H_ */ diff --git a/corecrypto/ccdrbg.h b/corecrypto/ccdrbg.h new file mode 100644 index 0000000..9692e9c --- /dev/null +++ b/corecrypto/ccdrbg.h @@ -0,0 +1,191 @@ +/* + * Copyright (c) 2010,2011,2012,2014,2015,2016,2017,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +/*! + @header corecrypto/ccdrbg.h + @abstract The functions provided in ccdrbg.h implement high-level accessors + to cryptographically secure random numbers. + + */ + +#ifndef _CORECRYPTO_CCDRBG_H_ +#define _CORECRYPTO_CCDRBG_H_ + +#include +#include + +/* error codes */ +#define CCDRBG_STATUS_OK 0 +#define CCDRBG_STATUS_ERROR (-1) +#define CCDRBG_STATUS_NEED_RESEED (-2) +#define CCDRBG_STATUS_PARAM_ERROR (-3) +// If this value is returned, the caller must abort or panic the process for security reasons. +// for example in the case of catastrophic error in +// http://csrc.nist.gov/publications/drafts/800-90/sp800_90a_r1_draft.pdf +// ccdrbg calls abort() or panic(), if they are available in the system. +#define CCDRBG_STATUS_ABORT (-4) +/* + * The maximum length of the entropy_input, additional_input (max_additional_input_length) , personalization string + * (max_personalization_string_length) and max_number_of_bits_per_request are implementation dependent + * but shall fit in a 32 bit register and be be less than or equal to the specified maximum length for the + * selected DRBG mechanism (NIST 800-90A Section 10). + */ + +#define CCDRBG_MAX_ENTROPY_SIZE ((uint32_t)1<<16) +#define CCDRBG_MAX_ADDITIONALINPUT_SIZE ((uint32_t)1<<16) +#define CCDRBG_MAX_PSINPUT_SIZE ((uint32_t)1<<16) +#define CCDRBG_MAX_REQUEST_SIZE ((uint32_t)1<<16) //this is the absolute maximum in NIST 800-90A +#define CCDRBG_RESEED_INTERVAL ((uint64_t)1<<30) // must be able to fit the NIST maximum of 2^48 + + +/* + * The entropyLength is forced to be greater or equal than the security strength. + * Nonce is not forced. It either needs to have 0.5*security strength entropy. Or, a vale that is repeated + * less than a 0.5*security strength bit random string. + * see below or NIST 800-90A for the definition of security strength + */ + +CC_INLINE int ccdrbg_init(const struct ccdrbg_info *info, + struct ccdrbg_state *drbg, + size_t entropyLength, const void* entropy, + size_t nonceLength, const void* nonce, + size_t psLength, const void* ps) +{ + return info->init(info, drbg, entropyLength, entropy, nonceLength, nonce, psLength, ps); +} + +/* + * The entropyLength is forced to be greater or equal than the security strength. + */ +CC_INLINE int ccdrbg_reseed(const struct ccdrbg_info *info, + struct ccdrbg_state *drbg, + size_t entropyLength, const void *entropy, + size_t additionalLength, const void *additional) +{ + return info->reseed(drbg, entropyLength, entropy, additionalLength, additional); +} + + +CC_INLINE int ccdrbg_generate(const struct ccdrbg_info *info, + struct ccdrbg_state *drbg, + size_t dataOutLength, void *dataOut, + size_t additionalLength, const void *additional) +{ + return info->generate(drbg, dataOutLength, dataOut, additionalLength, additional); +} + +CC_INLINE void ccdrbg_done(const struct ccdrbg_info *info, + struct ccdrbg_state *drbg) +{ + info->done(drbg); +} + +CC_INLINE size_t ccdrbg_context_size(const struct ccdrbg_info *info) +{ + return info->size; +} + + +/* + * NIST SP 800-90 CTR_DRBG + * the maximum security strengh of drbg equals to the block size of the corresponding ECB. + */ +struct ccdrbg_nistctr_custom { + const struct ccmode_ctr *ctr_info; + size_t keylen; + int strictFIPS; + int use_df; +}; + +void ccdrbg_factory_nistctr(struct ccdrbg_info *info, const struct ccdrbg_nistctr_custom *custom); + +/* + * NIST SP 800-90 HMAC_DRBG + * the maximum security strengh of drbg is half of output size of the input hash function and it internally is limited to 256 bits + */ +extern struct ccdrbg_info ccdrbg_nistdigest_info; + +struct ccdrbg_nisthmac_custom { + const struct ccdigest_info *di; + int strictFIPS; +}; + +void ccdrbg_factory_nisthmac(struct ccdrbg_info *info, const struct ccdrbg_nisthmac_custom *custom); + +/* + * NIST SP 800-90 TRNG DRBG + * + * Call into the SEP DRBG and perform a SP 800-90 test operation. + */ +void ccdrbg_factory_trng(struct ccdrbg_info *info); + +/* Required length of the various TRNG entropy and personalization inputs. */ +#define CCDRBG_TRNG_VECTOR_LEN 48 + +/* + * Dummy DRBG + */ +extern struct ccdrbg_info ccdrbg_dummy_info; + +#endif /* _CORECRYPTO_CCDRBG_H_ */ diff --git a/corecrypto/ccdrbg_factory.h b/corecrypto/ccdrbg_factory.h new file mode 100644 index 0000000..226164d --- /dev/null +++ b/corecrypto/ccdrbg_factory.h @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2011,2015,2016,2017,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCDRBG_FACTORY_H_ +#define _CORECRYPTO_CCDRBG_FACTORY_H_ + +#endif /* _CORECRYPTO_CCDRBG_FACTORY_H_ */ diff --git a/corecrypto/ccdrbg_impl.h b/corecrypto/ccdrbg_impl.h new file mode 100644 index 0000000..64506b8 --- /dev/null +++ b/corecrypto/ccdrbg_impl.h @@ -0,0 +1,123 @@ +/* + * Copyright (c) 2012,2015,2016,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCDRBG_IMPL_H_ +#define _CORECRYPTO_CCDRBG_IMPL_H_ + +/* opaque drbg structure */ +struct ccdrbg_state; + +struct ccdrbg_info { + /*! Size of the DRBG state in bytes **/ + size_t size; + + /*! Instantiate the PRNG + @param prng The PRNG state + @param entropylen Length of entropy + @param entropy Entropy bytes + @param inlen Length of additional input + @param in Additional input bytes + @return 0 if successful + */ + int (*init)(const struct ccdrbg_info *info, struct ccdrbg_state *drbg, + size_t entropyLength, const void* entropy, + size_t nonceLength, const void* nonce, + size_t psLength, const void* ps); + + /*! Add entropy to the PRNG + @param prng The PRNG state + @param entropylen Length of entropy + @param entropy Entropy bytes + @param inlen Length of additional input + @param in Additional input bytes + @return 0 if successful + */ + int (*reseed)(struct ccdrbg_state *prng, + size_t entropylen, const void *entropy, + size_t inlen, const void *in); + + /*! Read from the PRNG in a FIPS Testing compliant manor + @param prng The PRNG state to read from + @param out [out] Where to store the data + @param outlen Length of data desired (octets) + @param inlen Length of additional input + @param in Additional input bytes + @return 0 if successfull + */ + int (*generate)(struct ccdrbg_state *prng, + size_t outlen, void *out, + size_t inlen, const void *in); + + /*! Terminate a PRNG state + @param prng The PRNG state to terminate + */ + void (*done)(struct ccdrbg_state *prng); + + /** private parameters */ + const void *custom; +}; + + + +#endif // _CORECRYPTO_CCDRBG_IMPL_H_ diff --git a/corecrypto/ccec.h b/corecrypto/ccec.h new file mode 100644 index 0000000..54d056a --- /dev/null +++ b/corecrypto/ccec.h @@ -0,0 +1,888 @@ +/* + * Copyright (c) 2010,2011,2012,2014,2015,2016,2017,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCEC_H_ +#define _CORECRYPTO_CCEC_H_ +#include +#include +#include +#include +#include +#include + + +/* An ec_point. A ccec_projective_point_t is a point with x,y and z. + A ccec_affine_point_t only has x and y. */ + +struct ccec_projective_point { + cc_unit xyz[1]; +} CC_ALIGNED(8); +typedef struct ccec_projective_point ccec_projective_point; + +struct ccec_cp { + __CCZP_ELEMENTS_DEFINITIONS() +} CC_ALIGNED(CCN_UNIT_SIZE); + +#if CORECRYPTO_USE_TRANSPARENT_UNION + struct ccec_point_hdr { + cc_unit x; + }; + + typedef union { + struct ccec_point_hdr *hdr; + ccec_projective_point *_p; + } __attribute__((transparent_union)) ccec_projective_point_t; + + typedef union { + const struct ccec_point_hdr *hdr; + ccec_projective_point_t point; + ccec_projective_point *_p; + const ccec_projective_point *_cp; + const cc_unit *x; + } __attribute__((transparent_union)) ccec_const_projective_point_t; + + #define ccec_affine_point_t ccec_projective_point_t + #define ccec_affine_point ccec_projective_point + #define ccec_const_affine_point_t ccec_const_projective_point_t + + typedef union { + const struct ccec_cp *just_a_filler; + const struct cczp *zp; //security framework wants it this way + } __attribute__((transparent_union)) ccec_const_cp_t; +#else + + struct ccec_affine_point { + cc_unit xyz[1]; + } CC_ALIGNED(8); + typedef struct ccec_affine_point ccec_affine_point; + typedef ccec_projective_point* ccec_projective_point_t; + typedef ccec_affine_point* ccec_affine_point_t; + + typedef const struct ccec_affine_point* ccec_const_affine_point_t; + typedef const struct ccec_projective_point* ccec_const_projective_point_t; + + typedef const struct ccec_cp* ccec_const_cp_t; + +#endif + +/* Use ccec_full_ctx_decl to declare full ecc context */ +struct ccec_full_ctx { + ccec_const_cp_t cp; + uint8_t pad[16 - sizeof(ccec_const_cp_t *)]; + struct ccec_projective_point point[]; +} CC_ALIGNED(16) ; + +struct ccec_pub_ctx { + ccec_const_cp_t cp; + uint8_t pad[16 - sizeof(ccec_const_cp_t *)]; + struct ccec_projective_point point[]; +} CC_ALIGNED(16) ; + +#if CORECRYPTO_USE_TRANSPARENT_UNION +#define ccec_ctx_public ccec_pub_ctx //this is just for compatibility + typedef union { + struct ccec_pub_ctx* pub; + struct ccec_pub_ctx* _pub; + struct ccec_pub_ctx* body; + struct ccec_full_ctx *_full; + struct ccec_full_ctx *full; + struct ccec_full_ctx *fullt; + struct ccec_full_ctx *hdr; + } ccec_full_ctx_t __attribute__((transparent_union)); + #define ccec_full(x) ((x).full) + typedef struct ccec_full_ctx ccec_full_ctx; + + typedef ccec_full_ctx_t ccec_pub_ctx_t; + typedef struct ccec_pub_ctx ccec_pub_ctx; +#else + typedef struct ccec_full_ctx* ccec_full_ctx_t; + typedef struct ccec_pub_ctx* ccec_pub_ctx_t; + CC_INLINE + ccec_pub_ctx_t ccec_ctx_public(ccec_full_ctx_t fk) { + return (ccec_pub_ctx_t) fk; + } +#endif + + +/* Return the size of an ccec_full_ctx where each ccn is _size_ bytes. */ +#define ccec_full_ctx_size(_size_) (sizeof(struct ccec_full_ctx) + 4 * (_size_)) +#define ccec_pub_ctx_size(_size_) (sizeof(struct ccec_pub_ctx) + 3 * (_size_)) + +/* declare full and public context, when curve paramters cp are not known and will be assigned later*/ +#define ccec_full_ctx_decl(_size_, _name_) cc_ctx_decl( struct ccec_full_ctx, ccec_full_ctx_size(_size_), _name_) +#define ccec_full_ctx_clear(_size_, _name_) cc_clear(ccec_full_ctx_size(_size_), _name_) +#define ccec_pub_ctx_decl(_size_, _name_) cc_ctx_decl( struct ccec_pub_ctx, ccec_pub_ctx_size(_size_), _name_) +#define ccec_pub_ctx_clear(_size_, _name_) cc_clear(ccec_pub_ctx_size(_size_), _name_) + +/* declare full and public context, when curve paramters cp are known */ +#define ccec_full_ctx_decl_cp(_cp_, _name_) ccec_full_ctx_decl(ccec_ccn_size(_cp_), _name_) +#define ccec_full_ctx_clear_cp(_cp_, _name_) ccec_full_ctx_clear(ccec_ccn_size(_cp_), _name_) +#define ccec_pub_ctx_decl_cp(_cp_, _name_) ccec_pub_ctx_decl(ccec_ccn_size(_cp_), _name_) +#define ccec_pub_ctx_clear_cp(_cp_, _name_) ccec_pub_ctx_clear(ccec_ccn_size(_cp_), _name_) + +/* Declare storage for a projected or affine point respectively. */ +#define ccec_point_size_n(_cp_) (3 * ccec_cp_n(cp)) +#define ccec_point_sizeof(_cp_) ccn_sizeof_n(ccec_point_size_n(cp)) +#define ccec_point_decl_cp(_cp_, _name_) cc_ctx_decl(struct ccec_projective_point, ccec_point_sizeof(_cp_), _name_) +#define ccec_point_clear_cp(_cp_, _name_) cc_clear(ccec_point_sizeof(_cp_), _name_) +#define ccec_affine_decl_cp(_cp_, _name_) cc_ctx_decl(struct ccec_affine_point, 2 * ccec_ccn_size(_cp_), _name_) +#define ccec_affine_clear_cp(_cp_, _name_) cc_clear(2 * ccec_ccn_size(_cp_), _name_) + +/* lvalue accessors to ccec_ctx fields. (only a ccec_full_ctx_t has K). */ +#if CORECRYPTO_USE_TRANSPARENT_UNION + #define ccec_ctx_cp(KEY) (((ccec_pub_ctx_t)(KEY)).hdr->cp) + CC_INLINE void ccec_ctx_init(ccec_const_cp_t cp, ccec_full_ctx_t key) {(key.full)->cp = cp;} + //CC_INLINE struct ccec_projective_point *ccec_ctx_point(ccec_full_ctx_t key){return key.full->point;} // The public key as a projected point on the curve + #define ccec_ctx_point(KEY) ((ccec_projective_point_t)(((ccec_full_ctx_t)KEY).full->point)) + #define ccec_ctx_n(KEY) (ccec_ctx_cp(KEY).zp->n) + #define ccec_ctx_prime(KEY) (ccec_ctx_cp(KEY).zp->ccn) + + CC_INLINE cc_size ccec_cp_n(ccec_const_cp_t cp) { return cp.zp->n; } + //CC_INLINE cczp_const_t ccec_cp_zp(ccec_const_cp_t cp){ return cp.zp; } + #define ccec_cp_zp(_cp_) ((_cp_).zp) + +#define ccec_ctx_x(KEY) (ccec_ctx_point(KEY)._p->xyz) // The x, y and z of the public key as a projected point on the curve. +#define ccec_ctx_y(KEY) (ccec_ctx_point(KEY)._p->xyz+ 1 * ccec_ctx_n(KEY)) +#define ccec_ctx_z(KEY) (ccec_ctx_point(KEY)._p->xyz+ 2 * ccec_ctx_n(KEY)) + +#else + /* Callers must use this macro to initialze a ccec_full_ctx or + ccec_pub_ctx before using most of the macros in this file. */ + #define ccec_ctx_cp(KEY) ((KEY)->cp) + #define ccec_ctx_init(_cp_, _key_) ((_key_)->cp = (_cp_)) + #define ccec_ctx_point(KEY) ((KEY)->point) // The public key as a projected point on the curve. + #define ccec_ctx_n(KEY) (ccec_ctx_cp(KEY)->n) // Return count (n) of a ccn for cp. + #define ccec_ctx_prime(KEY) (ccec_ctx_cp(KEY)->ccn) + + CC_CONST CC_INLINE cc_size ccec_cp_n(ccec_const_cp_t cp) { return cp->n; } + CC_CONST CC_INLINE cczp_const_t ccec_cp_zp(ccec_const_cp_t cp){ return (cczp_const_t)cp; } + + #define ccec_ctx_x(KEY) (ccec_ctx_point(KEY)->xyz) // The x, y and z of the public key as a projected point on the curve. + #define ccec_ctx_y(KEY) (ccec_ctx_point(KEY)->xyz+ 1 * ccec_ctx_n(KEY)) + #define ccec_ctx_z(KEY) (ccec_ctx_point(KEY)->xyz+ 2 * ccec_ctx_n(KEY)) +#endif + + +/***************************************************************************/ +/* EC Sizes */ +/***************************************************************************/ +/* Return the length of the prime for cp in bits. */ +#if CORECRYPTO_USE_TRANSPARENT_UNION + #define ccec_cp_prime_bitlen(CP) (ccn_bitlen((CP).zp->n, (CP).zp->ccn)) +#else + #define ccec_cp_prime_bitlen(CP) (ccn_bitlen((CP)->n, (CP)->ccn)) +#endif +/* Return the sizeof the prime for cp. */ +#define ccec_cp_prime_size(CP) ((ccec_cp_prime_bitlen(CP)+7)/8) +/* Return the ec keysize in bits. */ +#define ccec_ctx_bitlen(KEY) (ccec_cp_prime_bitlen(ccec_ctx_cp(KEY))) +/* Return the ec keysize in bytes. */ +#define ccec_ctx_size(KEY) (ccec_cp_prime_size(ccec_ctx_cp(KEY))) + + + + +/* The k of a full key which makes up the private key. + It is only accessible through full key + */ +CC_INLINE +cc_unit *ccec_ctx_k( ccec_full_ctx_t key) { + return (ccec_ctx_x(key)+ 3 * ccec_ctx_n(key)); +} + +CC_INLINE +ccec_pub_ctx_t ccec_ctx_pub( ccec_full_ctx_t key) { + return (ccec_pub_ctx_t) key; +} + + +/* Return sizeof a ccn for cp. */ +CC_CONST CC_INLINE +size_t ccec_ccn_size(ccec_const_cp_t cp) { + return ccn_sizeof_n(ccec_cp_n(cp)); +} + +/***************************************************************************/ +/* EC Curve Parameters */ +/***************************************************************************/ + +CC_CONST ccec_const_cp_t ccec_cp_192(void); +CC_CONST ccec_const_cp_t ccec_cp_224(void); +CC_CONST ccec_const_cp_t ccec_cp_256(void); +CC_CONST ccec_const_cp_t ccec_cp_384(void); +CC_CONST ccec_const_cp_t ccec_cp_521(void); + +/***************************************************************************/ +/* EC Wrap Params */ +/***************************************************************************/ + +struct ccec_rfc6637_curve; +struct ccec_rfc6637_wrap; +struct ccec_rfc6637_unwrap; + +extern struct ccec_rfc6637_wrap ccec_rfc6637_wrap_sha256_kek_aes128; +extern struct ccec_rfc6637_wrap ccec_rfc6637_wrap_sha512_kek_aes256; +extern struct ccec_rfc6637_unwrap ccec_rfc6637_unwrap_sha256_kek_aes128; +extern struct ccec_rfc6637_unwrap ccec_rfc6637_unwrap_sha512_kek_aes256; +extern struct ccec_rfc6637_curve ccec_rfc6637_dh_curve_p256; +extern struct ccec_rfc6637_curve ccec_rfc6637_dh_curve_p521; + +/***************************************************************************/ +/* EC Key Generation */ +/***************************************************************************/ + +/*! + @function ccec_generate_key + @abstract Default - Currently invokes the FIPS version + The behavior this function is not deterministic, + the number of random bytes it consumes may vary + @param cp Curve Parameters + @param rng Random for the key generation as well as consistency signature + @param key Full key containing the newly generated key pair + @returns 0 if no error, an error code otherwise. + */ + +CC_NONNULL_TU((1,3)) CC_NONNULL2 +int ccec_generate_key(ccec_const_cp_t cp, struct ccrng_state *rng, + ccec_full_ctx_t key); + +/*! + @function ccec_generate_key_legacy + @abstract NOT recommended: For legacy purposes in order to re-generate + deterministic keys previously generated. + 2 * ccn_sizeof(ccec_cp_order_bitlen(cp)) of random bytes needed + @param cp Curve Parameters + @param rng Random for the key generation as well as consistency signature + @param key Full key containing the newly generated key pair + @returns 0 if no error, an error code otherwise. + */ + +CC_NONNULL_TU((1,3)) CC_NONNULL2 +int ccec_generate_key_legacy(ccec_const_cp_t cp, struct ccrng_state *rng, + ccec_full_ctx_t key); + +/*! + @function ccec_generate_key_fips + @abstract Guarantees FIPS compliant key pair. RECOMMENDED + Use a non deterministic amount of random bytes + @param cp Curve Parameters + @param rng Random for the key generation as well as consistency signature + @param key Full key containing the newly generated key pair + @returns 0 if no error, an error code otherwise. + */ + +CC_NONNULL_TU((1,3)) CC_NONNULL2 +int ccec_generate_key_fips(ccec_const_cp_t cp, struct ccrng_state *rng, + ccec_full_ctx_t key); + +/*! + @function ccec_compact_generate_key + @abstract Generate a compact key pair according to + https://tools.ietf.org/html/draft-jivsov-ecc-compact-05 and follows FIPS guideline + @param cp Curve Parameters + @param rng Random for the key generation as well as consistency signature + @param key Full key containing the newly generated key pair + @returns 0 if no error, an error code otherwise. + */ + +/* Based on FIPS compliant version. Output a compact key */ +/* Use a non deterministic amount of random bytes */ +CC_NONNULL_TU((1,3)) CC_NONNULL2 +int ccec_compact_generate_key(ccec_const_cp_t cp, struct ccrng_state *rng, + ccec_full_ctx_t key); + +/*! + @function ccec_generate_key_deterministic + @abstract Generate a key pair from the provided entropy buffer. + requires cryptographic DRBG/KDF prior to calling + @param cp Curve Parameters + @param entropy_len Length in byte of the entropy buffer + @param entropy Pointer to the entropy buffer of size entropy_len + @param rng Real random for the signature and internal countermeasures + @param flag Bitmask: options as explained below + @param key Full key containing the newly generated key pair + @returns 0 if no error, an error code otherwise. + */ + +#define CCEC_GENKEY_DETERMINISTIC_FIPS (1<<0) +/* FIPS consumes all of the entropy and requires a minimum of ceiling(qbitlen+64 / 8) bytes of entropy. + It computes the secret key in [1,q-1] as (("entropy" mod (q-1)) + 1). "Entropy" is processed as a big endian number. + Provided the entropy is FIPS compliant and no other option is set this method is FIPS compliant. + If COMPACT option is used, the key is not strictly FIPS compliant */ + +#define CCEC_GENKEY_DETERMINISTIC_PKA (1<<1) +/* RAW consumes all of the entropy and requires a minimum of ceiling(qbitlen+64 / 8) bytes of entropy. + It computes the secret key in [2,q-1] as (("entropy" mod (q-2)) + 2). "Entropy" is processed as a big endian number. + Provided the entropy is FIPS compliant, this method is FIPS compliant. */ + +#define CCEC_GENKEY_DETERMINISTIC_LEGACY (1<<2) +/* LEGACY requires a minimum of ccn_sizeof_n(n) byte of entropy, but ignores bytes after ccn_sizeof_n(n) */ +/* Use them in the same sequence as the output of ccrng_generate that is used in ccec_generate_legacy */ + +#define CCEC_GENKEY_DETERMINISTIC_COMPACT ((1<<3) | CCEC_GENKEY_DETERMINISTIC_FIPS) +/* generate key that is compatible with compact export format. Compatible with all of the options above */ + +#define CCEC_GENKEY_DETERMINISTIC_SECBKP ((1<<4) | CCEC_GENKEY_DETERMINISTIC_COMPACT) +/* Compatibility flag for Secure Backup generated keys */ + +CC_NONNULL_TU((1,6)) CC_NONNULL((3,4)) +int ccec_generate_key_deterministic(ccec_const_cp_t cp, + size_t entropy_len, const uint8_t *entropy, + struct ccrng_state *rng, // For masking and signature + uint32_t flags, + ccec_full_ctx_t key); // Revisioning of the DRBG + + +/* Implementation per FIPS186-4 */ +#define CCEC_GENERATE_KEY_DEFAULT_ERR -1 +#define CCEC_GENERATE_KEY_TOO_MANY_TRIES -10 +#define CCEC_GENERATE_KEY_MULT_FAIL -11 +#define CCEC_GENERATE_KEY_AFF_FAIL -12 +#define CCEC_GENERATE_KEY_CONSISTENCY -13 +#define CCEC_GENERATE_NOT_ON_CURVE -14 +#define CCEC_GENERATE_NOT_ENOUGH_ENTROPY -15 +#define CCEC_GENERATE_NOT_SUPPORTED -16 +#define CCEC_GENERATE_INVALID_INPUT -17 + +/***************************************************************************/ +/* EC SIGN/VERIFY (ECDSA) */ +/***************************************************************************/ + +/* Return the maximum buffer size needed to hold a signature for key. */ +CC_INLINE CC_PURE CC_NONNULL_TU((1)) +size_t ccec_sign_max_size(ccec_const_cp_t cp) { + /* tag + 2 byte len + 2 * (tag + 1 byte len + optional leading zero + ccec_cp_prime_size) */ + return 3 + 2 * (3 + ccec_cp_prime_size(cp)); +} + +/* + Signature in DER format +*/ +CC_NONNULL_TU((1)) CC_NONNULL((3, 4, 5, 6)) +int ccec_sign(ccec_full_ctx_t key, size_t digest_len, const uint8_t *digest, + size_t *sig_len, uint8_t *sig, struct ccrng_state *rng); +CC_NONNULL_TU((1)) CC_NONNULL((3, 5, 6)) +int ccec_verify(ccec_pub_ctx_t key, size_t digest_len, const uint8_t *digest, + size_t sig_len, const uint8_t *sig, bool *valid); + + +/* + Raw signature, big endian, padded to the key size. + */ +CC_NONNULL_TU((1)) +size_t +ccec_signature_r_s_size(ccec_pub_ctx_t key); + +CC_NONNULL_TU((1)) CC_NONNULL((3, 4, 5, 6)) +int ccec_sign_composite(ccec_full_ctx_t key, size_t digest_len, const uint8_t *digest, + uint8_t *sig_r, uint8_t *sig_s, struct ccrng_state *rng); + +CC_NONNULL_TU((1)) CC_NONNULL((3, 4, 5, 6)) +int ccec_verify_composite(ccec_pub_ctx_t key, size_t digest_len, const uint8_t *digest, + uint8_t *sig_r, uint8_t *sig_s, bool *valid); + +/***************************************************************************/ +/* EC Diffie-Hellman */ +/***************************************************************************/ + +/* + Deprecated. Do not use. + Migrate existing calls to ccecdh_compute_shared_secret + */ + +/*! + @function ccec_compute_key + @abstract DEPRECATED. Use ccecdh_compute_shared_secret. + */ + +CC_NONNULL_TU((1,2)) CC_NONNULL((3, 4)) +int ccec_compute_key(ccec_full_ctx_t private_key, ccec_pub_ctx_t public_key, + size_t *computed_key_len, uint8_t *computed_key); + +/*! + @function ccecdh_compute_shared_secret + @abstract Elliptic Curve Diffie-Hellman + from ANSI X9.63 and NIST SP800-56A, section 5.7.1.2 + + @param private_key Input: EC private key + @param public_key Input: EC public key + @param computed_shared_secret_len Input: Size of allocation for computed_shared_secret. + Output: Effective size of data in computed_shared_secret + @param computed_shared_secret Output: DH shared secret + @param masking_rng Input: Handle on RNG to be used for the randomization of the computation + + @result 0 iff successful + + @discussion The shared secret MUST be transformed with a KDF function or at + least Hash (SHA-256 or above) before being used. + It shall not be used directly as a key. + */ + +CC_NONNULL_TU((1,2)) CC_NONNULL((3, 4)) +int ccecdh_compute_shared_secret(ccec_full_ctx_t private_key, + ccec_pub_ctx_t public_key, + size_t *computed_shared_secret_len, uint8_t *computed_shared_secret, + struct ccrng_state *masking_rng); + +/***************************************************************************/ +/* EC WRAP/UNWRAP */ +/***************************************************************************/ + +/* + * Use rfc6637 style PGP wrapping for using EC keys + */ + +CC_NONNULL_TU((1)) +size_t ccec_rfc6637_wrap_key_size(ccec_pub_ctx_t public_key, + unsigned long flags, + size_t key_len); + +/* + * When CCEC_RFC6637_COMPACT_KEYS flag is used, the wrapping is NOT + * compatible with RFC6637 so make sure the peer supports this mode + * before using it. It currently saves half of the public key size + * which for P256 is 32 bytes which end up being about 1/4 of the + * wrapping size. + * Macros are bit masks + */ +#define CCEC_RFC6637_COMPACT_KEYS 1 +#define CCEC_RFC6637_DEBUG_KEYS 2 +#define CCEC_EXPORT_COMPACT_DIVERSIFIED_KEYS 4 + +/*! + @function ccec_rfc6637_wrap_key + @abstract Key wraping based on rfc6637 + + @param public_key Input: EC public key + @param wrapped_key Output: Buffer for the wrapped key of length ccec_rfc6637_wrap_key_size + @param flags Input: Option flags + @param algid Input: Algorithm id + @param keylen Input: Length of the key to wrap (<=37 bytes) + @param key Input: Pointer to the key to wrap + @param curve Input: Definiton of the curve + @param curve Input: Definiton of the wrap + @param fingerprint Input: Point to a 20byte buffer used as fingerprint during wrapping. + @param rng Input: Handle on a RNG for ephemeral key generation and computation randomization + + @result 0 iff successful + + @discussion + This implementation hides the length of the key to wrap. + It only supports wrapping keys up to 37bytes. + */ +CC_NONNULL_TU((1)) CC_NONNULL((2, 6, 7, 8, 9, 10)) +int +ccec_rfc6637_wrap_key(ccec_pub_ctx_t public_key, + void *wrapped_key, + unsigned long flags, + uint8_t algid, + size_t key_len, + const void *key, + const struct ccec_rfc6637_curve *curve, + const struct ccec_rfc6637_wrap *wrap, + const uint8_t *fingerprint, + struct ccrng_state *rng); + +/*! + @function ccec_diversify_pub + @abstract diversified public key with scalar r. + r = entropy mod (q-1)) + 1, where entropy is interpreted as big endian. + + entropy_len must be greater or equal to ccec_diversify_min_entropy_len + the entropy must be a well uniformly distributed number, such as random byte, + output of a DRBG or output of a KDF. + + @param cp Input: Curve parameter + @param pub_key Input: Original public key P. + @param entropy_len Input: byte length of the entropy + @param entropy Input: point to the entropy + @param masking_rng Input: Random for randomizing the computation + @param diversified_generator Output: New generator (r.G). + @param diversified_pub_key Output: New public key (r.P). + + @result 0 iff unwrapping was successful + + @discussion + Diversified keys is the process of multiplying the generator and the public key + by a same random number. + This does not preserve properties of the key with respect to compact format + However, this method is valid with compact points when using ECDH and when only X coordinate is used + Therefore this is valid with ccec_rfc6637 wrap / unwrap. + + Compact here refers to https://datatracker.ietf.org/doc/draft-jivsov-ecc-compact/ + */ +int ccec_diversify_pub(ccec_const_cp_t cp, + ccec_pub_ctx_t pub_key, + size_t entropy_len, const uint8_t *entropy, + struct ccrng_state *masking_rng, + ccec_pub_ctx_t diversified_generator, + ccec_pub_ctx_t diversified_pub_key + ); + +/*! + @function ccec_diversify_min_entropy_len + @abstract Minimum length of entropy to be passed to ccec_diversify_pub + + @param cp Input: Curve parameter + + @result Minimal entropy length in bytes to be used in ccec_diversify_pub + + */ +size_t ccec_diversify_min_entropy_len(ccec_const_cp_t cp); + +/*! + @function ccec_rfc6637_wrap_key_diversified + @abstract Key wraping based on rfc6637 + + @param generator Input: Generator, represented as a public key + @param public_key Input: EC public key + @param wrapped_key Output: Buffer for the wrapped key of length ccec_rfc6637_wrap_key_size + @param flags Input: Option flags + @param algid Input: Algorithm id + @param keylen Input: Length of the key to wrap (<=38 bytes) + @param key Input: Pointer to the key to wrap + @param curve Input: Definiton of the curve + @param wrap Input: Definiton of the wrap + @param fingerprint Input: Point to a 20byte buffer used as fingerprint during wrapping. + @param rng Input: Handle on a RNG for ephemeral key generation and computation randomization + + @result 0 iff successful + + @discussion + Diversified keys is the process of multiplying the generator and the public key + by a same number. + This implementation hides the length of the key to wrap. + It only supports wrapping keys up to 37bytes. + */ + +CC_NONNULL_TU((1,2)) CC_NONNULL((3, 7, 8, 9, 10, 11)) +int +ccec_rfc6637_wrap_key_diversified(ccec_pub_ctx_t generator, + ccec_pub_ctx_t public_key, + void *wrapped_key, + unsigned long flags, + uint8_t symm_alg_id, + size_t key_len, + const void *key, + const struct ccec_rfc6637_curve *curve, + const struct ccec_rfc6637_wrap *wrap, + const uint8_t *fingerprint, /* 20 bytes */ + struct ccrng_state *rng); + +/*! + @function ccec_rfc6637_unwrap_key + @abstract Key unwraping based on rfc6637 + + @param private_key Input: Private key to unwrap the key + @param key_len Input/Output: Size of the allocated buffer / size of the key + @param key Output: Buffer for the unwrapped key + @param flags Input: Option flags + @param symm_key_alg Output: Algorithm id + @param curve Input: Definiton of the curve + @param wrap Input: Definiton of the unwrap + @param fingerprint Input: Point to a 20byte buffer used as fingerprint during wrapping. + @param wrapped_key_len Input: Size in byte of the wrapped key + @param wrapped_key Input: Pointer to the wrapped key + + @result 0 iff successful + + @discussion + Diversified keys is the process of multiplying the generator and the public key + by a same number. + */ +CC_NONNULL_TU((1)) CC_NONNULL((2, 3, 5, 6, 7, 8, 10)) +int +ccec_rfc6637_unwrap_key(ccec_full_ctx_t private_key, + size_t *key_len, + void *key, + unsigned long flags, + uint8_t *symm_key_alg, + const struct ccec_rfc6637_curve *curve, + const struct ccec_rfc6637_unwrap *unwrap, + const uint8_t *fingerprint, + size_t wrapped_key_len, + const void *wrapped_key); + +/***************************************************************************/ +/* EC Import/Export */ +/***************************************************************************/ + +CC_NONNULL_TU((1,4)) CC_NONNULL((3)) +int ccec_import_pub(ccec_const_cp_t cp, size_t in_len, const uint8_t *in, ccec_pub_ctx_t key); + +/* Return the sizeof a buffer needed to exported public key to. */ +CC_INLINE CC_CONST CC_NONNULL_TU((1)) +size_t ccec_export_pub_size(ccec_pub_ctx_t key) { + return 1 + 2 * ccec_cp_prime_size(ccec_ctx_cp(key)); +} + +/* Export key to out. Out must be ccec_export_pub_size(key) bytes long. */ +CC_NONNULL_TU((1)) CC_NONNULL2 +void ccec_export_pub(ccec_pub_ctx_t key, void *out); + +/* ---------------------------------*/ +/* x963 */ +/* ---------------------------------*/ + +/* Export 9.63 */ +CC_INLINE CC_CONST CC_NONNULL_TU((2)) +size_t ccec_x963_export_size(const int fullkey, ccec_pub_ctx_t key){ + return (((ccec_ctx_bitlen(key)+7)/8) * ((fullkey == 1) + 2)) + 1; +} + +CC_NONNULL_TU((3)) CC_NONNULL2 +void ccec_x963_export(const int fullkey, void *out, ccec_full_ctx_t key); + +/* Import 9.63 */ +size_t ccec_x963_import_pub_size(size_t in_len); + +CC_NONNULL_TU((1,4)) CC_NONNULL3 +/* Import an EC public key with x9.63 format */ +int ccec_x963_import_pub(ccec_const_cp_t cp, size_t in_len, const uint8_t *in, ccec_pub_ctx_t key); + +size_t ccec_x963_import_priv_size(size_t in_len); + +CC_NONNULL_TU((1,4)) CC_NONNULL3 +/* Import the full key (private and public part of the key) with x9.63 format */ +int ccec_x963_import_priv(ccec_const_cp_t cp, size_t in_len, const uint8_t *in, ccec_full_ctx_t key); +/* ---------------------------------*/ +/* Compact */ +/* ---------------------------------*/ + +/* Compact here refers to https://datatracker.ietf.org/doc/draft-jivsov-ecc-compact/ */ + +/* Export Compact + Output as the same bitlen than p */ +CC_NONNULL_TU((3)) CC_NONNULL2 +void ccec_compact_export(const int fullkey, void *out, ccec_full_ctx_t key); + +CC_INLINE CC_CONST CC_NONNULL_TU((2)) +size_t ccec_compact_export_size(const int fullkey, ccec_pub_ctx_t key){ + return (((ccec_ctx_bitlen(key)+7)/8) * ((fullkey == 1) + 1)); +} + +/* Import Compact + The public key is the x coordinate, in big endian, of length the byte length of p + No preambule byte */ + +size_t ccec_compact_import_pub_size(size_t in_len); + +CC_NONNULL_TU((1,4)) CC_NONNULL3 +int ccec_compact_import_pub(ccec_const_cp_t cp, size_t in_len, const uint8_t *in, ccec_pub_ctx_t key); + +size_t ccec_compact_import_priv_size(size_t in_len); + +CC_NONNULL_TU((1,4)) CC_NONNULL3 +int ccec_compact_import_priv(ccec_const_cp_t cp, size_t in_len, const uint8_t *in, ccec_full_ctx_t key); + +/* ---------------------------------*/ +/* DER (RFC 5915) */ +/* ---------------------------------*/ + +/* Export EC priv to DER (RFC 5915) */ +CC_NONNULL_TU((1)) +size_t +ccec_der_export_priv_size(ccec_full_ctx_t key, ccoid_t key_oid, int includePublic); + +CC_NONNULL_TU((1)) CC_NONNULL5 +int +ccec_der_export_priv(ccec_full_ctx_t key, ccoid_t key_oid, int includePublic, size_t out_len, void *out); + +/* import EC priv from DER (RFC 5915) */ + +CC_NONNULL((2,4)) +int ccec_der_import_priv_keytype(size_t len, const uint8_t * data, ccoid_t *oid, size_t *n); + +CC_NONNULL_TU((1,4)) CC_NONNULL((3)) +int ccec_der_import_priv(ccec_const_cp_t cp, size_t length, const uint8_t *data, ccec_full_ctx_t full_key); + +/* ---------------------------------*/ +/* DER (custom) for diversified keys*/ +/* ---------------------------------*/ + +/*! + @function ccec_der_export_diversified_pub_size + @abstract DER export of a diversified public key + + @param diversified_generator Input: Generator, represented as a public key + @param diversified_key Input: EC public key + @param flags Input: Option flags (compact keys) + + @result sizeof a buffer needed to exported public key if successful, 0 otherwise. + + @discussion + Diversified keys is the process of multiplying the generator and the public key + by a same number. + + Compact here refers to https://datatracker.ietf.org/doc/draft-jivsov-ecc-compact/ + + */ +size_t ccec_der_export_diversified_pub_size( + ccec_pub_ctx_t diversified_generator, + ccec_pub_ctx_t diversified_key, + unsigned long flags); +/*! + @function ccec_der_export_diversified_pub + @abstract DER export of a diversified public key + + @param diversified_generator Input: Generator, represented as a public key + @param diversified_key Input: EC public key + @param flags Input: Option flags (compact keys) + @param der_len Input: Size of the destination buffer + @param der Output: Pointer to the destination buffer, must be ccec_export_pub_size(key) bytes long. + + @result NULL is error, pointer in the der buffer otherwise. + + @discussion + Diversified keys is the process of multiplying the generator and the public key + by a same number. + + Compact here refers to https://datatracker.ietf.org/doc/draft-jivsov-ecc-compact/ + */ +uint8_t *ccec_der_export_diversified_pub( + ccec_pub_ctx_t diversified_generator, + ccec_pub_ctx_t diversified_key, + unsigned long flags, + size_t der_len, uint8_t *der); + +/*! + @function ccec_der_export_diversified_pub + @abstract DER export of a diversified public key + + @param diversified_generator Output: Diversified generator, represented as a public key + @param diversified_key Output: Diversified EC public key + @param outflags Output: Output flags telling how the data was parsed. + @param der_len Input: Size of the destination buffer + @param der Output: Pointer to the destination buffer, must be ccec_export_pub_size(key) bytes long. + + @result 0 iff unwrapping was successful + + @discussion + Diversified keys is the process of multiplying the generator and the public key + by a same number. Currently the only valid output flag is CCEC_EXPORT_COMPACT_DIVERSIFIED_KEYS. + The generator and the public point a required to be encoded in the same format, either standard + or compact format. Mixing form is not allowed and that output is never generated + by ccec_der_export_diversified_pub. + + Compact here refers to https://datatracker.ietf.org/doc/draft-jivsov-ecc-compact/ + */ +int ccec_der_import_diversified_pub( + ccec_const_cp_t cp, + size_t length, const uint8_t *data, + int *outflags, + ccec_pub_ctx_t diversified_generator, + ccec_pub_ctx_t diversified_key); + +#define CCEC_IMPORT_DIVERSIFIED_KEYS_SUPPORT_FLAGS 1 + +/***************************************************************************/ +/* EC Construction and Validation */ +/***************************************************************************/ + +CC_NONNULL_TU((1)) +int ccec_get_pubkey_components(ccec_pub_ctx_t key, size_t *nbits, + uint8_t *x, size_t *xsize, + uint8_t *y, size_t *ysize); + +CC_NONNULL_TU((1)) +int ccec_get_fullkey_components(ccec_full_ctx_t key, size_t *nbits, + uint8_t *x, size_t *xsize, + uint8_t *y, size_t *ysize, + uint8_t *d, size_t *dsize); + +CC_NONNULL_TU((6)) +int ccec_make_pub(size_t nbits, + size_t xlength, const uint8_t *x, + size_t ylength, const uint8_t *y, + ccec_pub_ctx_t key); + +CC_NONNULL_TU((8)) +int ccec_make_priv(size_t nbits, + size_t xlength, const uint8_t *x, + size_t ylength, const uint8_t *y, + size_t klength, const uint8_t *k, + ccec_full_ctx_t key); + +/*! + @function ccec_validate_pub + @abstract Perform validation of the public key + @param key elliptic curve public key + @result true if the key is valid + @discussion + Perform the public key validation from FIPS: x,y are within range and + the point is on the curve. Point at infinity is considered as invalid here. + */ +CC_NONNULL_TU((1)) +bool ccec_validate_pub(ccec_pub_ctx_t key); + +int ccec_keysize_is_supported(size_t keysize); + +ccec_const_cp_t ccec_get_cp(size_t keysize); + +CC_NONNULL_TU((1)) CC_NONNULL2 +bool ccec_pairwise_consistency_check(const ccec_full_ctx_t full_key, struct ccrng_state *rng); + +ccec_const_cp_t ccec_curve_for_length_lookup(size_t keylen, ...); + +#endif /* _CORECRYPTO_CCEC_H_ */ diff --git a/corecrypto/ccec25519.h b/corecrypto/ccec25519.h new file mode 100644 index 0000000..7b71c8f --- /dev/null +++ b/corecrypto/ccec25519.h @@ -0,0 +1,189 @@ +/* + * Copyright (c) 2014,2015,2017,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCEC25519_H_ +#define _CORECRYPTO_CCEC25519_H_ + +#include +#include +#include + +typedef uint8_t ccec25519key[32]; +typedef ccec25519key ccec25519secretkey; +typedef ccec25519key ccec25519pubkey; +typedef ccec25519key ccec25519base; + +typedef uint8_t ccec25519signature[64]; + +/*! + @function cccurve25519 + @abstract Perform Curve25519 Diffie-Hellman. + http://cr.yp.to/ecdh.html + + @param out Output shared secret or public key. + @param sk Input secret key. + @param base Input basepoint (for computing a shared secret) + or NULL (for computing a public key). + */ + +void cccurve25519(ccec25519key out, + const ccec25519secretkey sk, + const ccec25519base base); + +/*! + @function cccurve25519_make_priv + @abstract Generates a random, montgomery curve 25519 private key. + + @param rng An initialized random number generator + @param sk Receives 32-byte secret key. + */ + +CC_INLINE void cccurve25519_make_priv(struct ccrng_state *rng, + ccec25519secretkey sk) { + ccrng_generate(rng,32,sk); + sk[0] &= 248; + sk[31] &= 127; + sk[31] |= 64; +} + +/*! + @function cccurve25519_make_pub + @abstract Creates a montgomery curve 25519 public key from a private key. + + @param pk Receives 32-byte public key. + @param sk Receives 32-byte secret key. + */ + +CC_INLINE void cccurve25519_make_pub(ccec25519pubkey pk, + const ccec25519secretkey sk) { + cccurve25519(pk, sk, NULL); +} + +/*! + @function cccurve25519_make_key_pair + @abstract Generates a random, montgomery curve 25519 key pair. + + @param rng An initialized random number generator + @param pk Receives 32-byte public key. + @param sk Receives 32-byte secret key. + */ + +CC_INLINE void cccurve25519_make_key_pair(struct ccrng_state *rng, + ccec25519pubkey pk, + ccec25519secretkey sk) { + cccurve25519_make_priv(rng, sk); + cccurve25519_make_pub(pk, sk); +} + + +/*! + @function cced25519_make_key_pair + @abstract Generates a random, Ed25519 key pair. + + @param di A valid descriptor for a 512 bit hash function for the platform + @param rng An initialized random number generator + @param pk Receives 32-byte public key. + @param sk Receives 32-byte secret key. + */ +void cced25519_make_key_pair(const struct ccdigest_info *di, + struct ccrng_state *rng, + ccec25519pubkey pk, + ccec25519secretkey sk); + +/*! + @function cced25519_sign + @abstract Signs a message using a secret key. + + @param di A valid descriptor for a 512 bit hash function for the platform + @param sig Receives the 64-byte signature. + @param len Number of bytes to sign. + @param msg Data to sign. + @param pk 32-byte public key as generated by cced25519_make_key_pair(). + @param sk 32-byte secret key as generated by cced25519_make_key_pair(). +*/ +void cced25519_sign(const struct ccdigest_info *di, + ccec25519signature sig, + size_t len, const void *msg, + const ccec25519pubkey pk, + const ccec25519secretkey sk); + +/*! + @function cced25519_verify + @abstract Verifies a signed message using a public key. + + @param di A valid descriptor for a 512 bit hash function for the platform + @param len Number of bytes of data to verify. + @param msg Data to verify. + @param sig 64-byte signature to verify data against. + @param pk 32-byte public key. Should have been generated by the peer using + cced25519_make_key_pair(). + + @result 0=Signed message is valid. Non-zero=Bad message. +*/ +int cced25519_verify(const struct ccdigest_info *di, + size_t len, const void *msg, + const ccec25519signature sig, + const ccec25519pubkey pk); + +#endif /* _CORECRYPTO_CCEC25519_H_ */ diff --git a/corecrypto/ccec25519_priv.h b/corecrypto/ccec25519_priv.h new file mode 100644 index 0000000..72e3abd --- /dev/null +++ b/corecrypto/ccec25519_priv.h @@ -0,0 +1,86 @@ +/* + * Copyright (c) 2017,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCEC25519_PRIV_H_ +#define _CORECRYPTO_CCEC25519_PRIV_H_ + +/*! + @function cced25519_make_pub + @abstract Creates a montgomery curve 25519 public key from a private key. + + @param di A valid descriptor for a 512 bit hash function for the platform + @param pk Output 32-byte public key. + @param sk Input 32-byte secret key. + + @discussion Not safe for general use. For internal use only (eg. FIPS CAVS): + - Public key must be stored along side the private key, private key should not + be stored alone. + - It may be unsafe to use a same private key with different digests + */ + +int cced25519_make_pub(const struct ccdigest_info *di, + ccec25519pubkey pk, + const ccec25519secretkey sk); + +#endif /* _CORECRYPTO_CCEC25519_PRIV_H_ */ diff --git a/corecrypto/ccec_priv.h b/corecrypto/ccec_priv.h new file mode 100644 index 0000000..78ca717 --- /dev/null +++ b/corecrypto/ccec_priv.h @@ -0,0 +1,504 @@ +/* + * Copyright (c) 2010,2011,2013,2014,2015,2016,2017,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCEC_PRIV_H_ +#define _CORECRYPTO_CCEC_PRIV_H_ + +#include +#include +#include +#include + +/* Configuration */ +#define CCEC_MASKING 1 + +/* Define this to 1 to use ccec_twin_mult for ccec_verify. This gives you a + big speedup for about 1500-2000 bytes of extra code. */ +#define CCEC_USE_TWIN_MULT 1 + +/* Define the condition for Montgomery arithmetic support */ +#define CCEC_ZP_IS_MONTGOMERY(cp) (cczp_is_montgomery(ccec_cp_zp(cp))) + +#define CCEC_DEBUG 0 + +/* Low level ec functions and types. */ + +/* Macros for accessing X and Y in an ccec_affine_point and X Y and Z in + an ccec_projective_point. */ + +#if CORECRYPTO_USE_TRANSPARENT_UNION + #define ccec_const_point_x(EP, _cp_) (&((ccec_const_affine_point_t)(EP)).hdr->x) + #define ccec_const_point_y(EP, _cp_) ((&((ccec_const_affine_point_t)(EP)).hdr->x) + ccec_cp_n(_cp_)) + #define ccec_const_point_z(EP, _cp_) ((&((ccec_const_projective_point_t)(EP)).hdr->x) + ccec_cp_n(_cp_) * 2) + + #define ccec_point_x(EP, _cp_) (&((ccec_affine_point_t)(EP)).hdr->x) + #define ccec_point_y(EP, _cp_) ((&((ccec_affine_point_t)(EP)).hdr->x) + ccec_cp_n(_cp_)) + #define ccec_point_z(EP, _cp_) ((&((ccec_projective_point_t)(EP)).hdr->x) + ccec_cp_n(_cp_) * 2) +#else + #define ccec_const_point_x(EP, _cp_) ((const cc_unit *)((EP)->xyz + ccec_cp_n(_cp_) * 0)) + #define ccec_const_point_y(EP, _cp_) ((const cc_unit *)((EP)->xyz + ccec_cp_n(_cp_) * 1)) + #define ccec_const_point_z(EP, _cp_) ((const cc_unit *)((EP)->xyz + ccec_cp_n(_cp_) * 2)) + + #define ccec_point_x(EP, _cp_) ((EP)->xyz + ccec_cp_n(_cp_) * 0) + #define ccec_point_y(EP, _cp_) ((EP)->xyz + ccec_cp_n(_cp_) * 1) + #define ccec_point_z(EP, _cp_) ((EP)->xyz + ccec_cp_n(_cp_) * 2) +#endif + +/* Macro to define a struct for a ccec_cp of _n_ units. This is + only to be used for static initializers of curve parameters. + Note that _n_ is evaluated multiple times. */ +#define ccec_cp_decl_n(_n_) struct { \ + struct cczp_hd hp; \ + cc_unit p[(_n_)]; \ + cc_unit pr[(_n_) + 1]; \ + cc_unit b[(_n_)]; \ + cc_unit gx[(_n_)]; \ + cc_unit gy[(_n_)]; \ + struct cczp_hd hq; \ + cc_unit q[(_n_)];\ + cc_unit qr[(_n_) + 1];\ +} + +/* Macro to define a struct for a ccec_cp of _bits_ bits. This is + only to be used for static initializers of curve parameters. */ +#define ccec_cp_decl(_bits_) ccec_cp_decl_n(ccn_nof(_bits_)) + +#if CORECRYPTO_USE_TRANSPARENT_UNION + #define ccec_cp_p(_cp_) ((_cp_).zp->ccn) + #define ccec_cp_b(_cp_) ((_cp_).zp->ccn + 1 + 2 * ccec_cp_n(_cp_)) + #define ccec_cp_g(_cp_) ((ccec_const_affine_point_t)(const ccec_affine_point *)((_cp_).zp->ccn + 1 + ccec_cp_n(_cp_) * 3)) + #define ccec_cp_zq(_cp_) ((cczp_const_t)((_cp_).zp->ccn + 1 + ccec_cp_n(_cp_) * 5)) + #define ccec_cp_options(_cp_) (*(ccec_cp_zq(_cp_).zp->ccn + 1 + 2 * ccec_cp_n(_cp_))) +#else + #define ccec_cp_p(_cp_) ((_cp_)->ccn) + #define ccec_cp_b(_cp_) ((_cp_)->ccn + 1 + 2 * ccec_cp_n(_cp_)) + #define ccec_cp_g(_cp_) ((const ccec_affine_point *)((_cp_)->ccn + 1 + ccec_cp_n(_cp_) * 3)) + #define ccec_cp_zq(_cp_) ((cczp_const_t)((_cp_)->ccn + 1 + ccec_cp_n(_cp_) * 5)) + #define ccec_cp_options(_cp_) (*(ccec_cp_zq(_cp_)->ccn + 1 + 2 * ccec_cp_n(_cp_))) +#endif + +/* Return the length of the order for cp in bits. */ +#define ccec_cp_order_bitlen(CP) (ccn_bitlen(cczp_n(ccec_cp_zq(cp)), cczp_prime(ccec_cp_zq(cp)))) +/* Return the length of the order for cp in bytes. */ +#define ccec_cp_order_size(cp) ((ccec_cp_order_bitlen(cp)+7)/8) + +/* accept an affine point S and set R equal to its projective representation. */ +int ccec_projectify(ccec_const_cp_t cp, ccec_projective_point_t r, ccec_const_affine_point_t s, + struct ccrng_state *masking_rng); + +/* accept a projective point S and set R equal to its affine representation. */ +int ccec_affinify(ccec_const_cp_t cp, ccec_affine_point_t r, ccec_const_projective_point_t s); + +/* accept a projective point S and output the x coordinate only of its affine representation. */ +int ccec_affinify_x_only(ccec_const_cp_t cp, cc_unit* sx, ccec_const_projective_point_t s, int secure) ; + +/* Take a x coordinate a recompute the point. No particular convention for y */ +int ccec_affine_point_from_x(ccec_const_cp_t cp, ccec_affine_point_t r, cc_unit *x, cc_unit *work2n); + +/* Return true if the point is on the curve. Requires curve with a=-3 */ +/* Z must be initialized. Set to 1 for points in affine representation */ +bool ccec_is_point(ccec_const_cp_t cp, ccec_const_projective_point_t s); + +/* accept an affine point S = (Sx,Sy) and return true if it is on the curve, (i.e., if SY2 = SX3 − 3SX.SZ^4 + bSZ^6 (mod p)), otherwise return false. */ +bool ccec_is_point_projective(ccec_const_cp_t cp, ccec_const_projective_point_t s); + +/* Validate the public key with respect to the curve information */ +int ccec_validate_pub_and_projectify(ccec_const_cp_t cp, + ccec_projective_point_t r, + ccec_const_affine_point_t public_point, + struct ccrng_state *masking_rng); + +/* Validate the private scalar with respect to the curve information */ +int ccec_validate_scalar(ccec_const_cp_t cp, const cc_unit* k); + +/* accept a projective point S and set R equal to the projective point 2S. Routine 2.2.6 performs no checks on its inputs. */ +#define CCEC_DOUBLE_WORKSPACE_SIZE(n)(6*(n)) +void ccec_double_ws(cc_ws_t ws, ccec_const_cp_t cp, ccec_projective_point_t r, ccec_const_projective_point_t s); + +/* accept two projective points S, T and set R equal to the projective point S + T. S and T must not be point at infinity. + Require r!=t. Ok with r==s */ +#define T_NORMALIZED 1 // expect T to be normalized (Z=1) +#define T_NEGATIVE 2 // use -T (point substration) +#define CCEC_ADD_SUB_WORKSPACE_SIZE(n) (7*(n)) +void ccec_add_ws(cc_ws_t ws, ccec_const_cp_t cp, + ccec_projective_point_t r, + ccec_const_projective_point_t s, + ccec_const_projective_point_t t, + uint32_t t_flags); + +/* accept two projective points S, T and set R equal to the projective point S + T . Routine 2.2.8 checks whether one of S or T is the point at infinity or whether S == T, and if so, takes the appropriate action. + + Require r!=t. Ok with r==s */ +void ccec_full_add_ws(cc_ws_t ws, ccec_const_cp_t cp, + ccec_projective_point_t r, + ccec_const_projective_point_t s, + ccec_const_projective_point_t t); + +/* accept two projective points S, T and set R equal to the projective point S + T . Routine 2.2.8 checks whether one of S or T is the point at infinity or whether S == T, and if so, takes the appropriate action. + T is required to be the neutral element (1 or R if Montgomery) */ +void ccec_full_add_normalized_ws(cc_ws_t ws, ccec_const_cp_t cp, + ccec_projective_point_t r, + ccec_const_projective_point_t s, + ccec_const_projective_point_t t); + +/* accept two projective points S, T and set R equal to the projective point S − T . Routine 2.2.9 checks whether one of S or T is the point at infinity or whether S == T, and if so, takes the appropriate action. */ +void ccec_full_sub_ws(cc_ws_t ws, ccec_const_cp_t cp, + ccec_projective_point_t r, + ccec_const_projective_point_t s, + ccec_const_projective_point_t t); + +/* accept two projective points S, T and set R equal to the projective point S − T . Routine 2.2.9 checks whether one of S or T is the point at infinity or whether S == T, and if so, takes the appropriate action. + T is required to be the neutral element (1 or R if Montgomery)*/ +void ccec_full_sub_normalized_ws(cc_ws_t ws, ccec_const_cp_t cp, + ccec_projective_point_t r, + ccec_const_projective_point_t s, + ccec_const_projective_point_t t); + + +/* accept a projective point S, an integer 1 ≤ d < q and 2 set R equal to the projective point dS. + Requires the point s to have been generated by "ccec_projectify" */ +int ccec_mult(ccec_const_cp_t cp, ccec_projective_point_t r, const cc_unit *d, + ccec_const_projective_point_t s, + struct ccrng_state *masking_rng); + +/* accept two projective points S, T , two integers 0 ≤ d0, d1 < p, and set R equal to the projective point d0S + d1T. */ +int ccec_twin_mult(ccec_const_cp_t cp, ccec_projective_point_t r, const cc_unit *d0, + ccec_const_projective_point_t s, + const cc_unit *d1, + ccec_const_projective_point_t t); + +/* Debugging */ +void ccec_alprint(ccec_const_cp_t cp, const char *label, ccec_const_affine_point_t s); +void ccec_plprint(ccec_const_cp_t cp, const char *label, ccec_const_projective_point_t s); + +void ccec_print_full_key(const char *label, ccec_full_ctx_t key); +void ccec_print_public_key(const char *label, ccec_pub_ctx_t key); +void ccec_print_sig(const char *label, size_t count, const uint8_t *s); + +/* + * EC key generation + */ + +/*! + @function ccec_generate_scalar_fips + @abstract Generate a random scalar k (private key) per FIPS "TestingCandidates" methodology + Faster than the extra bit generation + + @param cp Curve parameters + @param rng For the scalar k + @param k scalar of size ccec_cp_n(cp) + @param tmp buffer of size ccec_cp_n(cp) for intermediate values + @returns 0 if no error, an error code otherwise. + */ +int +ccec_generate_scalar_fips_retry(ccec_const_cp_t cp, struct ccrng_state *rng, cc_unit *k, cc_unit *tmp); + +/*! + @function ccec_generate_scalar_legacy + @abstract Generate a random scalar k (private key) with legacy method + Used for legacy purpose to reconstruct existing keys. + Behavior can not be changed + + @param cp Curve parameters + @param entropy_len Byte length of entropy + @param entropy Entropy for the scalar k + @param k scalar of size ccec_cp_n(cp) + @returns 0 if no error, an error code otherwise. + */ +int +ccec_generate_scalar_legacy(ccec_const_cp_t cp, + size_t entropy_len, const uint8_t *entropy, + cc_unit *k); + +/*! + @function ccec_generate_scalar_fips_extrabits + @abstract Generate a random scalar k (private key) per FIPS methodology + Slower than the "TestingCandidates" method + Behavior can not be changed + + @param cp Curve parameters + @param entropy_len Byte length of entropy + @param entropy Entropy for the scalar k + @param k scalar of size ccec_cp_n(cp) + @param tmp buffer of size ccec_cp_n(cp) for intermediate values + @returns 0 if no error, an error code otherwise. + */ +int +ccec_generate_scalar_fips_extrabits(ccec_const_cp_t cp, + size_t entropy_len, const uint8_t *entropy, + cc_unit *k, cc_unit *tmp); + +/*! + @function ccec_scalar_fips_extrabits_min_entropy_len + @abstract Return the minimum size of the entropy to be passed to + ccec_generate_scalar_fips_extrabits + + @param cp Curve parameters + @returns minimal value for entropy_len + */ +size_t ccec_scalar_fips_extrabits_min_entropy_len(ccec_const_cp_t cp); + +/*! + @function ccec_generate_scalar_pka + @abstract Generate a random scalar k (private key) per FIPS methodology + Similar to PKA behavior + Behavior can not be changed + + @param cp Curve parameters + @param entropy_len Byte length of entropy + @param entropy Entropy for the scalar k + @param k scalar of size ccec_cp_n(cp) + @param tmp buffer of size ccec_cp_n(cp) for intermediate values + @returns 0 if no error, an error code otherwise. + */ +int +ccec_generate_scalar_pka(ccec_const_cp_t cp, + size_t entropy_len, const uint8_t *entropy, + cc_unit *k, cc_unit *tmp); + +/*! + @function ccec_make_pub_from_priv + @abstract The public key from the input scalar k (private key) + This internal function does not perform the consistent check + Which guarantees that the key is valid. + @param cp Curve parameters + @param masking_rng For internal countermeasures + @param k scalar of size ccec_cp_n(cp), in range [1..q-1] and with no statistical bias. + @param key Resulting public key + @param generator Generator point / NULL if default + @returns 0 if no error, an error code otherwise. + */ +int +ccec_make_pub_from_priv(ccec_const_cp_t cp, + struct ccrng_state *masking_rng, + cc_unit *k, + ccec_const_affine_point_t generator, + ccec_pub_ctx_t key); + +/*! + @function ccec_generate_key_internal_legacy + @abstract Generate key pair for compatiblity purposes or deterministic keys + NOT RECOMMENDED. This internal function does not perform the consistent check + Which guarantees that the key is valid. + @param cp Curve parameters + @param rng For internal countermeasures + @param key Resulting key pair + @returns 0 if no error, an error code otherwise. + */ +int +ccec_generate_key_internal_legacy(ccec_const_cp_t cp, struct ccrng_state *rng, + ccec_full_ctx_t key); + +/* FIPS compliant and more secure */ +/*! + @function ccec_generate_key_internal_fips + @abstract Follows FIPS guideline and more secure. + This internal function does not perform the consistent check + which guarantees that the key is valid (required by FIPS). + @param cp Curve parameters + @param rng key generation and internal countermeasures + @param key Resulting key pair + @returns 0 if no error, an error code otherwise. + */ +int +ccec_generate_key_internal_fips(ccec_const_cp_t cp, struct ccrng_state *rng, + ccec_full_ctx_t key); + +/*! + @function ccec_compact_transform_key + @abstract Follow instructions from https://datatracker.ietf.org/doc/draft-jivsov-ecc-compact/ + to make a key compatible with the compact export format. + @param cp Curve parameters + @param key Input/Output full key + @returns 0 if no error, an error code otherwise. + */ +int ccec_compact_transform_key(ccec_full_ctx_t key); + +/*! + @function ccecdh_generate_key + @abstract Key generation used for ephemeral key pairs used in ECDH + This function may not perform all steps such as the FIPS consistency check. + @param cp Curve parameters + @param rng For key generation and internal countermeasures + @param key Resulting key pair + @returns 0 if no error, an error code otherwise. + */ +int ccecdh_generate_key(ccec_const_cp_t cp, struct ccrng_state *rng, ccec_full_ctx_t key); + + +/*! + @function ccecdh_pairwise_consistency_check + @abstract Does a DH with a constant key to confirm the newly generated key is + correct. + @param key Resulting key pair + @param generator Generator point / NULL if default + @param rng For key generation and internal countermeasures + @returns true if no error, false otherwise. + */ +bool ccecdh_pairwise_consistency_check(ccec_full_ctx_t full_key, + ccec_const_affine_point_t generator, + struct ccrng_state *rng); + +/* + * EC Digital Signature - ECDSA + */ + +/*! + @function ccec_verify_internal + @abstract ECDSA signature verification. + @param key Public key + @param digest_len Byte length of the digest + @param digest Pointer to the digest + @param r Pointer to input buffer for r + @param s Pointer to input buffer for s + @param valid Pointer to output boolean. + *valid=true if the input {r,s} is valid. + @returns 0 if no error, an error code otherwise. + */ + +int ccec_verify_internal(ccec_pub_ctx_t key, size_t digest_len, const uint8_t *digest, + const cc_unit *r, const cc_unit *s, bool *valid); + +/*! + @function ccec_sign_internal + @abstract ECDSA signature creation. + @param key Public key + @param digest_len Byte length of the digest + @param digest Pointer to the digest + @param r Pointer to output buffer for r + @param s Pointer to output buffer for s + @returns 0 if no error, an error code otherwise. + */ +int ccec_sign_internal(ccec_full_ctx_t key, size_t digest_len, const uint8_t *digest, + cc_unit *r, cc_unit *s, struct ccrng_state *rng); + + +/* + * RFC6637 wrap/unwrap + */ + +#define ccec_rfc6637_ecdh_public_key_id 18 +#define ccec_rfc6637_ecdsa_public_key_id 19 + +#define ccpgp_digest_sha256 8 +#define ccpgp_digest_sha384 9 +#define ccpgp_digest_sha512 10 + +#define ccpgp_cipher_aes128 7 +#define ccpgp_cipher_aes192 8 +#define ccpgp_cipher_aes256 9 + +struct ccec_rfc6637 { + const char *name; + const uint8_t kdfhash_id; + const struct ccdigest_info * (*difun)(void); + const uint8_t kek_id; + const size_t keysize; +}; + +struct ccec_rfc6637_curve { + const uint8_t *curve_oid; + uint8_t public_key_alg; +}; + +extern struct ccec_rfc6637 ccec_rfc6637_sha256_kek_aes128; +extern struct ccec_rfc6637 ccec_rfc6637_sha512_kek_aes256; + +void +ccec_rfc6637_kdf(const struct ccdigest_info *di, + const struct ccec_rfc6637_curve *curve, + const struct ccec_rfc6637 *wrap, + size_t epkey_size, const void *epkey, + size_t fingerprint_size, const void *fingerprint, + void *hash); + +size_t +ccec_rfc6637_wrap_pub_size(ccec_pub_ctx_t public_key, + unsigned long flags); + +int +ccec_rfc6637_wrap_core(ccec_pub_ctx_t public_key, + ccec_full_ctx_t ephemeral_key, + void *wrapped_key, + unsigned long flags, + uint8_t symm_alg_id, + size_t key_len, + const void *key, + const struct ccec_rfc6637_curve *curve, + const struct ccec_rfc6637_wrap *wrap, + const uint8_t *fingerprint, /* 20 bytes */ + struct ccrng_state *rng); + +uint16_t +pgp_key_checksum(size_t key_len, const uint8_t *key); + + +//imports the x and y from the in array in big-endian, sets z to 1 +CC_NONNULL_TU((1,4)) CC_NONNULL((3)) +int ccec_raw_import_pub(ccec_const_cp_t cp, size_t in_len, const uint8_t *in, ccec_pub_ctx_t key); +//imports the ecc private key k, and sets x an y to all ones. +CC_NONNULL_TU((1,4)) CC_NONNULL((3)) +int ccec_raw_import_priv_only(ccec_const_cp_t cp, size_t in_len, const uint8_t *in, ccec_full_ctx_t key); + +#endif /* _CORECRYPTO_CCEC_PRIV_H_ */ diff --git a/corecrypto/ccecies.h b/corecrypto/ccecies.h new file mode 100644 index 0000000..47abff9 --- /dev/null +++ b/corecrypto/ccecies.h @@ -0,0 +1,217 @@ +/* + * Copyright (c) 2014,2015,2016,2017,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +/* Elliptic Curve Integrated Encryption Scheme implementation using AES-GCM for + encryption/authentication. + Terminology borrowed from http://www.secg.org/index.php?action=secg,docs_secg + sharedinfo_1 is diversifier for the KDF: + In original design of DHIES, it needs to be set to the ephemeral public + key to address malleability concerns, which are limited for ECIES. + Even on ECIES, the mission of the public key appears to loosen the + security bounds of certain security proofs (cf p28 http://shoup.net/papers/iso-2_1.pdf) + Use option ECIES_EPH_PUBKEY_IN_SHAREDINFO1 to achieve this. + Still considered optional per standards SEC1 and x9.63 + sharedinfo_2 is diversifier for the MAC + Potential security threat when attacker controled. + */ + +#ifndef corecrypto_ccecies_h +#define corecrypto_ccecies_h + +// bit mask +#define ECIES_EPH_PUBKEY_IN_SHAREDINFO1 1 +#define ECIES_EXPORT_PUB_STANDARD 2 +#define ECIES_EXPORT_PUB_COMPACT 4 +//#define ECIES_EXPORT_PUB_COMPRESSES 8 // not supported +#define ECIES_LEGACY_IV 16 + +#include +#include +#include +#include + +typedef struct ccecies_gcm { + const struct ccdigest_info *di; + struct ccrng_state *rng; + const struct ccmode_gcm *gcm; + uint32_t key_length; + uint32_t mac_length; + uint32_t options; // bit mask +} *ccecies_gcm_t; + +/* set the structure from the argument passed */ +CC_NONNULL((1, 2, 3, 4)) +void +ccecies_encrypt_gcm_setup(ccecies_gcm_t ecies, + const struct ccdigest_info *di, + struct ccrng_state *rng, + const struct ccmode_gcm *aes_gcm_enc, + uint32_t cipher_key_size, + uint32_t mac_tag_nbytes, + uint32_t options + ); + +/* Return the size of the ciphertext from ccecies_encrypt_aes_gcm + It requires ecies to have been initialized with the setup function */ +CC_NONNULL_TU((1)) CC_NONNULL((2)) +size_t +ccecies_encrypt_gcm_ciphertext_size(ccec_pub_ctx_t public_key, + ccecies_gcm_t ecies, + size_t plaintext_nbytes + ); + +/* Encrypt using the provided public key and elliptic curve info + It requires ecies to have been initialized with the setup function. + ciphertext_nbytes must be at least "ccecies_encrypt_gcm_cipher_size" bytes + If ECIES_EPH_PUBKEY_IN_SHAREDINFO1 is set, sharedinfo1_nbytes is ignored */ +CC_NONNULL_TU((1)) CC_NONNULL((2, 4, 9, 10)) +int +ccecies_encrypt_gcm( ccec_pub_ctx_t public_key, + const ccecies_gcm_t ecies, + size_t plaintext_nbytes, const uint8_t *plaintext, + size_t sharedinfo1_nbytes, const void *sharedinfo_1, + size_t sharedinfo2_nbytes, const void *sharedinfo_2, + size_t *encrypted_blob_nbytes, uint8_t *encrypted_blob + ); + +/* set the structure from the argument passed */ +CC_NONNULL((1, 2, 3)) +void +ccecies_decrypt_gcm_setup(ccecies_gcm_t ecies, + const struct ccdigest_info *di, + const struct ccmode_gcm *aes_gcm_dec, + uint32_t cipher_key_nbytes, + uint32_t mac_tag_nbytes, + uint32_t options + ); + +/* Return the size of the plaintext output of ccecies_decrypt_aes_gcm + It requires ecies to have been initialized with the setup function */ +CC_NONNULL_TU((1)) CC_NONNULL((2)) +size_t +ccecies_decrypt_gcm_plaintext_size(ccec_full_ctx_t full_key, + ccecies_gcm_t ecies, + size_t ciphertext_nbytes + ); + + +/* Decrypt using the provided private key and elliptic curve info + It requires ecies to have been initialized with the setup function. + ciphertext_nbytes must be at least "ccecies_encrypt_gcm_cipher_size" bytes + If ECIES_EPH_PUBKEY_IN_SHAREDINFO1 is set, sharedinfo1_nbytes is ignored */ +CC_NONNULL_TU((1)) CC_NONNULL((2, 4, 9, 10)) +int +ccecies_decrypt_gcm(ccec_full_ctx_t full_key, + const ccecies_gcm_t ecies, + size_t encrypted_blob_nbytes, const uint8_t *encrypted_blob, + size_t sharedinfo1_nbytes, const void *sharedinfo_1, + size_t sharedinfo2_nbytes, const void *sharedinfo_2, + size_t *plaintext_nbytes, uint8_t *plaintext + ); + + + + +/* Return the size of the returned/expected exported public key */ +CC_NONNULL_TU((1)) CC_NONNULL((2)) +size_t +ccecies_pub_key_size(ccec_pub_ctx_t public_key, + ccecies_gcm_t ecies); + +/* Encrypt using the provided public key and elliptic curve info + It requires ecies to have been initialized with the setup function. + ciphertext_nbytes must be at least "ccecies_encrypt_gcm_cipher_size" bytes + If ECIES_EPH_PUBKEY_IN_SHAREDINFO1 is set, sharedinfo1_nbytes is ignored + Composite because ciphertext, mac and publickey are separate output */ +CC_NONNULL_TU((1)) CC_NONNULL((2, 3, 4, 5, 7)) +int +ccecies_encrypt_gcm_composite(ccec_pub_ctx_t public_key, + const ccecies_gcm_t ecies, + uint8_t *exported_public_key, /* output - length from ccecies_pub_key_size */ + uint8_t *ciphertext, /* output - length same as plaintext_nbytes */ + uint8_t *mac_tag, /* output - length ecies->mac_length */ + size_t plaintext_nbytes, const uint8_t *plaintext, + size_t sharedinfo1_nbytes, const void *sharedinfo_1, + size_t sharedinfo2_nbytes, const void *sharedinfo_2 + ); + +/* Decrypt using the provided private key and elliptic curve info + It requires ecies to have been initialized with the setup function. + ciphertext_nbytes must be at least "ccecies_encrypt_gcm_cipher_size" bytes + If ECIES_EPH_PUBKEY_IN_SHAREDINFO1 is set, sharedinfo1_nbytes is ignored + Composite because ciphertext, mac and publickey are separate input */ +CC_NONNULL_TU((1)) CC_NONNULL((2, 3, 10, 11)) +int +ccecies_decrypt_gcm_composite(ccec_full_ctx_t full_key, + const ccecies_gcm_t ecies, + uint8_t *plaintext, /* output - length same as ciphertext_nbytes */ + size_t sharedinfo1_nbytes, const void *sharedinfo_1, + size_t sharedinfo2_nbytes, const void *sharedinfo_2, + size_t ciphertext_nbytes, const uint8_t *ciphertext, + const uint8_t *imported_public_key, /* expect length from ccecies_pub_key_size */ + const uint8_t *mac_tag /* expect length ecies->mac_nbytesgth */ + ); + + +#endif diff --git a/corecrypto/ccecies_priv.h b/corecrypto/ccecies_priv.h new file mode 100644 index 0000000..379d05f --- /dev/null +++ b/corecrypto/ccecies_priv.h @@ -0,0 +1,70 @@ +/* + * Copyright (c) 2014,2015,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef corecrypto_ccecies_priv_h +#define corecrypto_ccecies_priv_h + +#define ECIES_CIPHERIV_SIZE 16 + +#endif diff --git a/corecrypto/cchkdf.h b/corecrypto/cchkdf.h new file mode 100644 index 0000000..ef18b91 --- /dev/null +++ b/corecrypto/cchkdf.h @@ -0,0 +1,93 @@ +/* + * Copyright (c) 2014,2015,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCHKDF_H_ +#define _CORECRYPTO_CCHKDF_H_ + +#include + +/*! + @function cchkdf + @abstract Perform a NIST SP800-56C HKDF. + http://csrc.nist.gov/publications/nistpubs/800-56C/SP-800-56C.pdf + @discussion Derives output key data from input key data, optional salt, and info. + + @param di Hash function to use. + @param kdkLen Input key material length in bytes + @param kdk Input key material used to derive the new key + @param saltLen Salt length length + @param salt Salt data + @param infoLen Info string length + @param info Info string + @param dkLen Derived Key Length in bytes. + @param dk Derived key buffer to receive results of KDF + */ + +int cchkdf(const struct ccdigest_info *di, + size_t ikmLen, const void *ikm, + size_t saltLen, const void *salt, + size_t infoLen, const void *info, + size_t dkLen, void *dk); + +#endif /* _CORECRYPTO_CCHKDF_H_ */ diff --git a/corecrypto/cchmac.h b/corecrypto/cchmac.h new file mode 100644 index 0000000..0a48245 --- /dev/null +++ b/corecrypto/cchmac.h @@ -0,0 +1,161 @@ +/* + * Copyright (c) 2010,2011,2012,2014,2015,2016,2017,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCHMAC_H_ +#define _CORECRYPTO_CCHMAC_H_ + +#include +#include + +/* An hmac_ctx_t is normally allocated as an array of these. */ +struct cchmac_ctx { + uint8_t b[8]; +} CC_ALIGNED(8); + +#if CORECRYPTO_USE_TRANSPARENT_UNION +typedef union { + struct cchmac_ctx *hdr; + ccdigest_ctx_t digest; +} cchmac_ctx_t __attribute__((transparent_union)); +#else +typedef struct cchmac_ctx* cchmac_ctx_t; +#endif + +#define cchmac_ctx_size(STATE_SIZE, BLOCK_SIZE) (ccdigest_ctx_size(STATE_SIZE, BLOCK_SIZE) + (STATE_SIZE)) +#define cchmac_di_size(_di_) (cchmac_ctx_size((_di_)->state_size, (_di_)->block_size)) + +#define cchmac_ctx_n(STATE_SIZE, BLOCK_SIZE) ccn_nof_size(cchmac_ctx_size((STATE_SIZE), (BLOCK_SIZE))) + +#define cchmac_ctx_decl(STATE_SIZE, BLOCK_SIZE, _name_) cc_ctx_decl(struct cchmac_ctx, cchmac_ctx_size(STATE_SIZE, BLOCK_SIZE), _name_) +#define cchmac_ctx_clear(STATE_SIZE, BLOCK_SIZE, _name_) cc_clear(cchmac_ctx_size(STATE_SIZE, BLOCK_SIZE), _name_) +#define cchmac_di_decl(_di_, _name_) cchmac_ctx_decl((_di_)->state_size, (_di_)->block_size, _name_) +#define cchmac_di_clear(_di_, _name_) cchmac_ctx_clear((_di_)->state_size, (_di_)->block_size, _name_) + +/* Return a ccdigest_ctx_t which can be accesed with the macros in ccdigest.h */ +#if CORECRYPTO_USE_TRANSPARENT_UNION +#define cchmac_digest_ctx(_di_, HC) (((cchmac_ctx_t)(HC)).digest) +#else +#define cchmac_digest_ctx(_di_, HC) ((ccdigest_ctx_t)(HC)) +#endif + +/* Accesors for ostate fields, this is all cchmac_ctx_t adds to the ccdigest_ctx_t. */ +#if CORECRYPTO_USE_TRANSPARENT_UNION +#define cchmac_ostate(_di_, HC) ((struct ccdigest_state *)(((cchmac_ctx_t)(HC)).hdr->b + ccdigest_di_size(_di_))) +#else +#define cchmac_ostate(_di_, HC) ((struct ccdigest_state *)(((cchmac_ctx_t)(HC))->b + ccdigest_di_size(_di_))) +#endif +#define cchmac_ostate8(_di_, HC) (ccdigest_u8(cchmac_ostate(_di_, HC))) +#define cchmac_ostate32(_di_, HC) (ccdigest_u32(cchmac_ostate(_di_, HC))) +#define cchmac_ostate64(_di_, HC) (ccdigest_u64(cchmac_ostate(_di_, HC))) +#define cchmac_ostateccn(_di_, HC) (ccdigest_ccn(cchmac_ostate(_di_, HC))) + +/* Convenience accessors for ccdigest_ctx_t fields. */ +#if CORECRYPTO_USE_TRANSPARENT_UNION +#define cchmac_istate(_di_, HC) ccdigest_state(_di_, ((cchmac_ctx_t)(HC)).digest) +#else +#define cchmac_istate(_di_, HC) ccdigest_state(_di_, ((ccdigest_ctx_t)(HC))) +#endif +#define cchmac_istate8(_di_, HC) ccdigest_u8(cchmac_istate(_di_, HC)) +#define cchmac_istate32(_di_, HC) ccdigest_u32(cchmac_istate(_di_, HC)) +#define cchmac_istate64(_di_, HC) ccdigest_u64(cchmac_istate(_di_, HC)) +#define cchmac_istateccn(_di_, HC) ccdigest_ccn(cchmac_istate(_di_, HC)) + +#if CORECRYPTO_USE_TRANSPARENT_UNION +#define cchmac_data(_di_, HC) ccdigest_data(_di_, ((cchmac_ctx_t)(HC)).digest) +#define cchmac_num(_di_, HC) ccdigest_num(_di_, ((cchmac_ctx_t)(HC)).digest) +#define cchmac_nbits(_di_, HC) ccdigest_nbits(_di_, ((cchmac_ctx_t)(HC)).digest) +#else +#define cchmac_data(_di_, HC) ccdigest_data(_di_, ((ccdigest_ctx_t)(HC))) +#define cchmac_num(_di_, HC) ccdigest_num(_di_, ((ccdigest_ctx_t)(HC))) +#define cchmac_nbits(_di_, HC) ccdigest_nbits(_di_, ((ccdigest_ctx_t)(HC))) +#endif + +void cchmac_init(const struct ccdigest_info *di, cchmac_ctx_t ctx, + size_t key_len, const void *key); +void cchmac_update(const struct ccdigest_info *di, cchmac_ctx_t ctx, + size_t data_len, const void *data); +void cchmac_final(const struct ccdigest_info *di, cchmac_ctx_t ctx, + unsigned char *mac); + +void cchmac(const struct ccdigest_info *di, size_t key_len, + const void *key, size_t data_len, const void *data, + unsigned char *mac); + +/* Test functions */ + +struct cchmac_test_input { + const struct ccdigest_info *di; + size_t key_len; + const void *key; + size_t data_len; + const void *data; + size_t mac_len; + const void *expected_mac; +}; + +int cchmac_test(const struct cchmac_test_input *input); +int cchmac_test_chunks(const struct cchmac_test_input *input, size_t chunk_size); + + +#endif /* _CORECRYPTO_CCHMAC_H_ */ diff --git a/corecrypto/ccmd2.h b/corecrypto/ccmd2.h new file mode 100644 index 0000000..d21149b --- /dev/null +++ b/corecrypto/ccmd2.h @@ -0,0 +1,84 @@ +/* + * Copyright (c) 2010,2011,2015,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCMD2_H_ +#define _CORECRYPTO_CCMD2_H_ + +#include + +#define CCMD2_BLOCK_SIZE 16 +#define CCMD2_OUTPUT_SIZE 16 +#define CCMD2_STATE_SIZE 64 + +extern const uint32_t ccmd2_initial_state[16]; + +extern const struct ccdigest_info ccmd2_ltc_di; + +/* default is libtomcrypt */ +#define ccmd2_di ccmd2_ltc_di + +void ccmd2_final(const struct ccdigest_info *di, ccdigest_ctx_t, + unsigned char *digest); + +#endif /* _CORECRYPTO_CCMD2_H_ */ diff --git a/corecrypto/ccmd4.h b/corecrypto/ccmd4.h new file mode 100644 index 0000000..f8bb54a --- /dev/null +++ b/corecrypto/ccmd4.h @@ -0,0 +1,82 @@ +/* + * Copyright (c) 2010,2015,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCMD4_H_ +#define _CORECRYPTO_CCMD4_H_ + +#include + +#define CCMD4_BLOCK_SIZE 64 +#define CCMD4_OUTPUT_SIZE 16 +#define CCMD4_STATE_SIZE 16 + +/* Works for MD5 as well */ +extern const uint32_t ccmd4_initial_state[4]; + +extern const struct ccdigest_info ccmd4_ltc_di; + +/* default is libtomcrypt */ +#define ccmd4_di ccmd4_ltc_di + +#endif /* _CORECRYPTO_CCMD4_H_ */ diff --git a/corecrypto/ccmd5.h b/corecrypto/ccmd5.h new file mode 100644 index 0000000..ae4be4a --- /dev/null +++ b/corecrypto/ccmd5.h @@ -0,0 +1,82 @@ +/* + * Copyright (c) 2010,2012,2015,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCMD5_H_ +#define _CORECRYPTO_CCMD5_H_ + +#include + +#define CCMD5_BLOCK_SIZE 64 +#define CCMD5_OUTPUT_SIZE 16 +#define CCMD5_STATE_SIZE 16 + +extern const uint32_t ccmd5_initial_state[4]; + +/* Selector */ +const struct ccdigest_info *ccmd5_di(void); + +/* Implementations */ +extern const struct ccdigest_info ccmd5_ltc_di; + +#endif /* _CORECRYPTO_CCMD5_H_ */ diff --git a/corecrypto/ccmode.h b/corecrypto/ccmode.h new file mode 100644 index 0000000..7148577 --- /dev/null +++ b/corecrypto/ccmode.h @@ -0,0 +1,926 @@ +/* + * Copyright (c) 2010,2011,2012,2014,2015,2016,2017,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCMODE_H_ +#define _CORECRYPTO_CCMODE_H_ + +#include +#include +#include + +/* ECB mode. */ + +/* Declare a ecb key named _name_. Pass the size field of a struct ccmode_ecb + for _size_. */ +#define ccecb_ctx_decl(_size_, _name_) cc_ctx_decl(ccecb_ctx, _size_, _name_) +#define ccecb_ctx_clear(_size_, _name_) cc_clear(_size_, _name_) + +CC_INLINE size_t ccecb_context_size(const struct ccmode_ecb *mode) +{ + return mode->size; +} + +CC_INLINE size_t ccecb_block_size(const struct ccmode_ecb *mode) +{ + return mode->block_size; +} + +CC_INLINE int ccecb_init(const struct ccmode_ecb *mode, ccecb_ctx *ctx, + size_t key_len, const void *key) +{ + return mode->init(mode, ctx, key_len, key); +} + +CC_INLINE int ccecb_update(const struct ccmode_ecb *mode, const ccecb_ctx *ctx, + size_t nblocks, const void *in, void *out) +{ + return mode->ecb(ctx, nblocks, in, out); +} + +CC_INLINE int ccecb_one_shot(const struct ccmode_ecb *mode, + size_t key_len, const void *key, + size_t nblocks, const void *in, void *out) +{ + int rc; + ccecb_ctx_decl(mode->size, ctx); + rc = mode->init(mode, ctx, key_len, key); + mode->ecb(ctx, nblocks, in, out); + ccecb_ctx_clear(mode->size, ctx); + return rc; +} + +/* CBC mode. */ + +/* Declare a cbc key named _name_. Pass the size field of a struct ccmode_cbc + for _size_. */ +#define cccbc_ctx_decl(_size_, _name_) cc_ctx_decl(cccbc_ctx, _size_, _name_) +#define cccbc_ctx_clear(_size_, _name_) cc_clear(_size_, _name_) + +/* Declare a cbc iv tweak named _name_. Pass the blocksize field of a + struct ccmode_cbc for _size_. */ +#define cccbc_iv_decl(_size_, _name_) cc_ctx_decl(cccbc_iv, _size_, _name_) +#define cccbc_iv_clear(_size_, _name_) cc_clear(_size_, _name_) + +/* Actual symmetric algorithm implementation can provide you one of these. + + Alternatively you can create a ccmode_cbc instance from any ccmode_ecb + cipher. To do so, statically initialize a struct ccmode_cbc using the + CCMODE_FACTORY_CBC_DECRYPT or CCMODE_FACTORY_CBC_ENCRYPT macros. + Alternatively you can dynamically initialize a struct ccmode_cbc + ccmode_factory_cbc_decrypt() or ccmode_factory_cbc_encrypt(). */ + +CC_INLINE size_t cccbc_context_size(const struct ccmode_cbc *mode) +{ + return mode->size; +} + +CC_INLINE size_t cccbc_block_size(const struct ccmode_cbc *mode) +{ + return mode->block_size; +} + +CC_INLINE int cccbc_init(const struct ccmode_cbc *mode, cccbc_ctx *ctx, + size_t key_len, const void *key) +{ + return mode->init(mode, ctx, key_len, key); +} + +CC_INLINE int cccbc_set_iv(const struct ccmode_cbc *mode, cccbc_iv *iv_ctx, + const void *iv) +{ + if (iv) + cc_copy(mode->block_size, iv_ctx, iv); + else + cc_zero(mode->block_size, iv_ctx); + return 0; +} + +CC_INLINE int cccbc_update(const struct ccmode_cbc *mode, cccbc_ctx *ctx, + cccbc_iv *iv, size_t nblocks, + const void *in, void *out) +{ + return mode->cbc(ctx, iv, nblocks, in, out); +} + +int cccbc_one_shot(const struct ccmode_cbc *mode, + size_t key_len, const void *key, + const void *iv, size_t nblocks, + const void *in, void *out); + +/* CFB mode. */ + +/* Declare a cfb key named _name_. Pass the size field of a struct ccmode_cfb + for _size_. */ +#define cccfb_ctx_decl(_size_, _name_) cc_ctx_decl(cccfb_ctx, _size_, _name_) +#define cccfb_ctx_clear(_size_, _name_) cc_clear(_size_, _name_) + +CC_INLINE size_t cccfb_context_size(const struct ccmode_cfb *mode) +{ + return mode->size; +} + +CC_INLINE size_t cccfb_block_size(const struct ccmode_cfb *mode) +{ + return mode->block_size; +} + +CC_INLINE int cccfb_init(const struct ccmode_cfb *mode, cccfb_ctx *ctx, + size_t key_len, const void *key, + const void *iv) +{ + return mode->init(mode, ctx, key_len, key, iv); +} + +CC_INLINE int cccfb_update(const struct ccmode_cfb *mode, cccfb_ctx *ctx, + size_t nbytes, const void *in, void *out) +{ + return mode->cfb(ctx, nbytes, in, out); +} + +CC_INLINE int cccfb_one_shot(const struct ccmode_cfb *mode, + size_t key_len, const void *key, const void *iv, + size_t nbytes, const void *in, void *out) +{ + int rc; + cccfb_ctx_decl(mode->size, ctx); + rc = mode->init(mode, ctx, key_len, key, iv); + mode->cfb(ctx, nbytes, in, out); + cccfb_ctx_clear(mode->size, ctx); + return rc; +} + +/* CFB8 mode. */ + +/* Declare a cfb8 key named _name_. Pass the size field of a struct ccmode_cfb8 + for _size_. */ +#define cccfb8_ctx_decl(_size_, _name_) cc_ctx_decl(cccfb8_ctx, _size_, _name_) +#define cccfb8_ctx_clear(_size_, _name_) cc_clear(_size_, _name_) + +CC_INLINE size_t cccfb8_context_size(const struct ccmode_cfb8 *mode) +{ + return mode->size; +} + +CC_INLINE size_t cccfb8_block_size(const struct ccmode_cfb8 *mode) +{ + return mode->block_size; +} + +CC_INLINE int cccfb8_init(const struct ccmode_cfb8 *mode, cccfb8_ctx *ctx, + size_t key_len, const void *key, const void *iv) +{ + return mode->init(mode, ctx, key_len, key, iv); +} + +CC_INLINE int cccfb8_update(const struct ccmode_cfb8 *mode, cccfb8_ctx *ctx, + size_t nbytes, const void *in, void *out) +{ + return mode->cfb8(ctx, nbytes, in, out); +} + +CC_INLINE int cccfb8_one_shot(const struct ccmode_cfb8 *mode, + size_t key_len, const void *key, const void *iv, + size_t nbytes, const void *in, void *out) +{ + int rc; + cccfb8_ctx_decl(mode->size, ctx); + rc = mode->init(mode, ctx, key_len, key, iv); + mode->cfb8(ctx, nbytes, in, out); + cccfb8_ctx_clear(mode->size, ctx); + return rc; +} + +/* CTR mode. */ + +/* Declare a ctr key named _name_. Pass the size field of a struct ccmode_ctr + for _size_. */ +#define ccctr_ctx_decl(_size_, _name_) cc_ctx_decl(ccctr_ctx, _size_, _name_) +#define ccctr_ctx_clear(_size_, _name_) cc_clear(_size_, _name_) + +/* This is Integer Counter Mode: The IV is the initial value of the counter + that is incremented by 1 for each new block. Use the mode flags to select + if the IV/Counter is stored in big or little endian. */ + +CC_INLINE size_t ccctr_context_size(const struct ccmode_ctr *mode) +{ + return mode->size; +} + +CC_INLINE size_t ccctr_block_size(const struct ccmode_ctr *mode) +{ + return mode->block_size; +} + +CC_INLINE int ccctr_init(const struct ccmode_ctr *mode, ccctr_ctx *ctx, + size_t key_len, const void *key, const void *iv) +{ + return mode->init(mode, ctx, key_len, key, iv); +} + +CC_INLINE int ccctr_update(const struct ccmode_ctr *mode, ccctr_ctx *ctx, + size_t nbytes, const void *in, void *out) +{ + return mode->ctr(ctx, nbytes, in, out); +} + +CC_INLINE int ccctr_one_shot(const struct ccmode_ctr *mode, + size_t key_len, const void *key, const void *iv, + size_t nbytes, const void *in, void *out) +{ + int rc; + ccctr_ctx_decl(mode->size, ctx); + rc = mode->init(mode, ctx, key_len, key, iv); + if (rc) return rc; + rc = mode->ctr(ctx, nbytes, in, out); + ccctr_ctx_clear(mode->size, ctx); + return rc; +} + + +/* OFB mode. */ + +/* Declare a ofb key named _name_. Pass the size field of a struct ccmode_ofb + for _size_. */ +#define ccofb_ctx_decl(_size_, _name_) cc_ctx_decl(ccofb_ctx, _size_, _name_) +#define ccofb_ctx_clear(_size_, _name_) cc_clear(_size_, _name_) + +CC_INLINE size_t ccofb_context_size(const struct ccmode_ofb *mode) +{ + return mode->size; +} + +CC_INLINE size_t ccofb_block_size(const struct ccmode_ofb *mode) +{ + return mode->block_size; +} + +CC_INLINE int ccofb_init(const struct ccmode_ofb *mode, ccofb_ctx *ctx, + size_t key_len, const void *key, const void *iv) +{ + return mode->init(mode, ctx, key_len, key, iv); +} + +CC_INLINE int ccofb_update(const struct ccmode_ofb *mode, ccofb_ctx *ctx, + size_t nbytes, const void *in, void *out) +{ + return mode->ofb(ctx, nbytes, in, out); +} + +CC_INLINE int ccofb_one_shot(const struct ccmode_ofb *mode, + size_t key_len, const void *key, const void *iv, + size_t nbytes, const void *in, void *out) +{ + int rc; + ccofb_ctx_decl(mode->size, ctx); + rc = mode->init(mode, ctx, key_len, key, iv); + mode->ofb(ctx, nbytes, in, out); + ccofb_ctx_clear(mode->size, ctx); + return rc; +} + +/* XTS mode. */ + +/* Declare a xts key named _name_. Pass the size field of a struct ccmode_xts + for _size_. */ +#define ccxts_ctx_decl(_size_, _name_) cc_ctx_decl(ccxts_ctx, _size_, _name_) +#define ccxts_ctx_clear(_size_, _name_) cc_clear(_size_, _name_) + +/* Declare a xts tweak named _name_. Pass the tweak_size field of a + struct ccmode_xts for _size_. */ +#define ccxts_tweak_decl(_size_, _name_) cc_ctx_decl(ccxts_tweak, _size_, _name_) +#define ccxts_tweak_clear(_size_, _name_) cc_clear(_size_, _name_) + +/* Actual symmetric algorithm implementation can provide you one of these. + + Alternatively you can create a ccmode_xts instance from any ccmode_ecb + cipher. To do so, statically initialize a struct ccmode_xts using the + CCMODE_FACTORY_XTS_DECRYPT or CCMODE_FACTORY_XTS_ENCRYPT macros. Alternatively + you can dynamically initialize a struct ccmode_xts + ccmode_factory_xts_decrypt() or ccmode_factory_xts_encrypt(). */ + +/* NOTE that xts mode does not do cts padding. It's really an xex mode. + If you need cts padding use the ccpad_xts_encrypt and ccpad_xts_decrypt + functions. Also note that xts only works for ecb modes with a block_size + of 16. */ + +CC_INLINE size_t ccxts_context_size(const struct ccmode_xts *mode) +{ + return mode->size; +} + +CC_INLINE size_t ccxts_block_size(const struct ccmode_xts *mode) +{ + return mode->block_size; +} + +/*! + @function ccxts_init + @abstract Initialize an XTS context. + + @param mode Descriptor for the mode + @param ctx Context for this instance + @param key_nbytes Length of the key arguments in bytes + @param data_key Key for data encryption + @param tweak_key Key for tweak generation + + @result 0 iff successful. + + @discussion For security reasons, the two keys must be different. + */ +CC_INLINE int ccxts_init(const struct ccmode_xts *mode, ccxts_ctx *ctx, + size_t key_nbytes, const void *data_key, + const void *tweak_key) +{ + return mode->init(mode, ctx, key_nbytes, data_key, tweak_key); +} + +/*! + @function ccxts_set_tweak + @abstract Initialize the tweak for a sector. + + @param mode Descriptor for the mode + @param ctx Context for this instance + @param tweak Context for the tweak for this sector + @param iv Data used to generate the tweak + + @discussion The IV must be exactly one block in length. + */ +CC_INLINE int ccxts_set_tweak(const struct ccmode_xts *mode, ccxts_ctx *ctx, + ccxts_tweak *tweak, const void *iv) +{ + return mode->set_tweak(ctx, tweak, iv); +} + +/*! + @function ccxts_update + @abstract Encrypt or decrypt data. + + @param mode Descriptor for the mode + @param ctx Context for an instance + @param tweak Context for the tweak for this sector + @param nblocks Length of the data in blocks + @param in Input data + @param out Output buffer + + @result The updated internal buffer of the tweak context. May be ignored. + */ +CC_INLINE void *ccxts_update(const struct ccmode_xts *mode, ccxts_ctx *ctx, + ccxts_tweak *tweak, size_t nblocks, const void *in, void *out) +{ + return mode->xts(ctx, tweak, nblocks, in, out); +} + +/*! + @function ccxts_one_shot + @abstract Encrypt or decrypt data in XTS mode. + + @param mode Descriptor for the mode + @param key_nbytes Length of the key arguments in bytes + @param data_key Key for data encryption + @param tweak_key Key for tweak generation + @param iv Data used to generate the tweak + @param nblocks Length of the data in blocks + @param in Input data + @param out Output buffer + + @result 0 iff successful. + + @discussion For security reasons, the two keys must be different. + */ +int ccxts_one_shot(const struct ccmode_xts *mode, + size_t key_nbytes, const void *data_key, + const void *tweak_key, const void *iv, + size_t nblocks, const void *in, void *out); + +/* Authenticated cipher modes. */ + +/* GCM mode. */ + +/* Declare a gcm key named _name_. Pass the size field of a struct ccmode_gcm + for _size_. */ +#define ccgcm_ctx_decl(_size_, _name_) cc_ctx_decl(ccgcm_ctx, _size_, _name_) +#define ccgcm_ctx_clear(_size_, _name_) cc_clear(_size_, _name_) + +#define CCGCM_IV_NBYTES 12 +#define CCGCM_BLOCK_NBYTES 16 + +/* (2^32 - 2) blocks */ +/* (2^36 - 32) bytes */ +/* (2^39 - 256) bits */ +/* Exceeding this figure breaks confidentiality and authenticity. */ +#define CCGCM_TEXT_MAX_NBYTES ((1ULL << 36) - 32ULL) + +CC_INLINE size_t ccgcm_context_size(const struct ccmode_gcm *mode) +{ + return mode->size; +} + +CC_INLINE size_t ccgcm_block_size(const struct ccmode_gcm *mode) +{ + return mode->block_size; +} + +/*! + @function ccgcm_init + @abstract Initialize a GCM context. + + @param mode Descriptor for the mode + @param ctx Context for this instance + @param key_nbytes Length of the key in bytes + @param key Key for the underlying blockcipher (AES) + + @result 0 iff successful. + + @discussion The correct sequence of calls is: + + @code ccgcm_init(...) + ccgcm_set_iv(...) + ccgcm_aad(...) (may be called zero or more times) + ccgcm_update(...) (may be called zero or more times) + ccgcm_finalize(...) + + To reuse the context for additional encryptions, follow this sequence: + + @code ccgcm_reset(...) + ccgcm_set_iv(...) + ccgcm_aad(...) (may be called zero or more times) + ccgcm_update(...) (may be called zero or more times) + ccgcm_finalize(...) + + @warning The key-IV pair must be unique per encryption. The IV must be nonzero in length. + + @warning It is not permitted to call @p ccgcm_inc_iv after initializing the cipher via the @p ccgcm_init interface. Nonzero is returned in the event of an improper call sequence. + + @warning This function is not FIPS-compliant. Use @p ccgcm_init_with_iv instead. + */ +CC_INLINE int ccgcm_init(const struct ccmode_gcm *mode, ccgcm_ctx *ctx, + size_t key_nbytes, const void *key) +{ + return mode->init(mode, ctx, key_nbytes, key); +} + +/*! + @function ccgcm_init_with_iv + @abstract Initialize a GCM context to manage IVs internally. + + @param mode Descriptor for the mode + @param ctx Context for this instance + @param key_nbytes Length of the key in bytes + @param key Key for the underlying blockcipher (AES) + @param iv IV for the first encryption + + @result 0 iff successful. + + @discussion The correct sequence of calls is: + + @code ccgcm_init_with_iv(...) + ccgcm_aad(...) (may be called zero or more times) + ccgcm_update(...) (may be called zero or more times) + ccgcm_finalize(...) + + To reuse the context for additional encryptions, follow this sequence: + + @code ccgcm_reset(...) + ccgcm_inc_iv(...) + ccgcm_aad(...) (may be called zero or more times) + ccgcm_update(...) (may be called zero or more times) + ccgcm_finalize(...) + + The IV must be exactly 12 bytes in length. + + Internally, the IV is treated as a four-byte salt followed by an eight-byte counter. This is to match the behavior of certain protocols (e.g. TLS). In the call to @p ccgcm_inc_iv, the counter component will be interpreted as a big-endian, unsigned value and incremented in place. + + @warning It is not permitted to call @p ccgcm_set_iv after initializing the cipher via the @p ccgcm_init_with_iv interface. Nonzero is returned in the event of an improper call sequence. + + @warning The security of GCM depends on the uniqueness of key-IV pairs. To avoid key-IV repetition, callers should not initialize multiple contexts with the same key material via the @p ccgcm_init_with_iv interface. + */ +int ccgcm_init_with_iv(const struct ccmode_gcm *mode, ccgcm_ctx *ctx, + size_t key_nbytes, const void *key, + const void *iv); + +/*! + @function ccgcm_set_iv + @abstract Set the IV for encryption. + + @param mode Descriptor for the mode + @param ctx Context for this instance + @param iv_nbytes Length of the IV in bytes + @param iv Initialization vector + + @result 0 iff successful. + + @discussion Set the initialization vector for encryption. + + @warning The key-IV pair must be unique per encryption. The IV must be nonzero in length. + + In stateful protocols, if each packet exposes a guaranteed-unique value, it is recommended to format this as a 12-byte value for use as the IV. + + In stateless protocols, it is recommended to choose a 16-byte value using a cryptographically-secure pseudorandom number generator (e.g. @p ccrng). + + @warning This function may not be used after initializing the cipher via @p ccgcm_init_with_iv. Nonzero is returned in the event of an improper call sequence. + + @warning This function is not FIPS-compliant. Use @p ccgcm_init_with_iv instead. + */ +CC_INLINE int ccgcm_set_iv(const struct ccmode_gcm *mode, ccgcm_ctx *ctx, + size_t iv_nbytes, const void *iv) +{ + return mode->set_iv(ctx, iv_nbytes, iv); +} + +/*! + @function ccgcm_set_iv_legacy + @abstract Set the IV for encryption. + + @param mode Descriptor for the mode + @param ctx Context for this instance + @param iv_nbytes Length of the IV in bytes + @param iv Initialization vector + + @result 0 iff successful. + + @discussion Identical to @p ccgcm_set_iv except that it allows zero-length IVs. + + @warning Zero-length IVs nullify the authenticity guarantees of GCM. + + @warning Do not use this function in new applications. + */ +int ccgcm_set_iv_legacy(const struct ccmode_gcm *mode, ccgcm_ctx *ctx, + size_t iv_nbytes, const void *iv); + +/*! + @function ccgcm_inc_iv + @abstract Increment the IV for another encryption. + + @param mode Descriptor for the mode + @param ctx Context for this instance + @param iv Updated initialization vector + + @result 0 iff successful. + + @discussion Updates the IV internally for another encryption. + + Internally, the IV is treated as a four-byte salt followed by an eight-byte counter. This is to match the behavior of certain protocols (e.g. TLS). The counter component is interpreted as a big-endian, unsigned value and incremented in place. + + The updated IV is copied to @p iv. This is to support protocols that require part of the IV to be specified explicitly in each packet (e.g. TLS). + + @warning This function may be used only after initializing the cipher via @p ccgcm_init_with_iv. + */ +int ccgcm_inc_iv(const struct ccmode_gcm *mode, ccgcm_ctx *ctx, void *iv); + + +/*! + @function ccgcm_aad + @abstract Authenticate additional data. + + @param mode Descriptor for the mode + @param ctx Context for this instance + @param nbytes Length of the additional data in bytes + @param additional_data Additional data to authenticate + + @result 0 iff successful. + + @discussion This is typically used to authenticate data that cannot be encrypted (e.g. packet headers). + + This function may be called zero or more times. + */ +CC_INLINE int ccgcm_aad(const struct ccmode_gcm *mode, ccgcm_ctx *ctx, + size_t nbytes, const void *additional_data) +{ + return mode->gmac(ctx, nbytes, additional_data); +} + +/*! + @function ccgcm_gmac + + @discussion See @p ccgcm_aad. + */ +CC_INLINE int ccgcm_gmac(const struct ccmode_gcm *mode, ccgcm_ctx *ctx, + size_t nbytes, const void *in) +{ + return mode->gmac(ctx, nbytes, in); +} + +/*! + @function ccgcm_update + @abstract Encrypt or decrypt data. + + @param mode Descriptor for the mode + @param ctx Context for this instance + @param nbytes Length of the data in bytes + @param in Input plaintext or ciphertext + @param out Output ciphertext or plaintext + + @result 0 iff successful. + + @discussion In-place processing is supported. + + This function may be called zero or more times. + */ +CC_INLINE int ccgcm_update(const struct ccmode_gcm *mode, ccgcm_ctx *ctx, + size_t nbytes, const void *in, void *out) +{ + return mode->gcm(ctx, nbytes, in, out); +} + +/*! + @function ccgcm_finalize + @abstract Finish processing and authenticate. + + @param mode Descriptor for the mode + @param ctx Context for this instance + @param tag_nbytes Length of the tag in bytes + @param tag Authentication tag + + @result 0 iff successful. + + @discussion Finish processing a packet and generate the authentication tag. + + On encryption, @p tag is purely an output parameter. The generated tag is written to @p tag. + + On decryption, @p tag is both an input and an output parameter. Well-behaved callers should provide the authentication tag generated during encryption. The function will return nonzero if the input tag does not match the generated tag. The generated tag will be written into the @p tag buffer whether authentication succeeds or fails. + + @warning The generated tag is written to @p tag to support legacy applications that perform authentication manually. Do not follow this usage pattern in new applications. Rely on the function's error code to verify authenticity. + */ +CC_INLINE int ccgcm_finalize(const struct ccmode_gcm *mode, ccgcm_ctx *ctx, + size_t tag_nbytes, void *tag) +{ + return mode->finalize(ctx, tag_nbytes, tag); +} + +/*! + @function ccgcm_reset + @abstract Reset the context for another encryption. + + @param mode Descriptor for the mode + @param ctx Context for this instance + + @result 0 iff successful. + + @discussion Refer to @p ccgcm_init for correct usage. + */ +CC_INLINE int ccgcm_reset(const struct ccmode_gcm *mode, ccgcm_ctx *ctx) +{ + return mode->reset(ctx); +} + + +/*! + @function ccgcm_one_shot + @abstract Encrypt or decrypt with GCM. + + @param mode Descriptor for the mode + @param key_nbytes Length of the key in bytes + @param key Key for the underlying blockcipher (AES) + @param iv_nbytes Length of the IV in bytes + @param iv Initialization vector + @param adata_nbytes Length of the additional data in bytes + @param adata Additional data to authenticate + @param nbytes Length of the data in bytes + @param in Input plaintext or ciphertext + @param out Output ciphertext or plaintext + @param tag_nbytes Length of the tag in bytes + @param tag Authentication tag + + @result 0 iff successful. + + @discussion Perform GCM encryption or decryption. + + @warning The key-IV pair must be unique per encryption. The IV must be nonzero in length. + + In stateful protocols, if each packet exposes a guaranteed-unique value, it is recommended to format this as a 12-byte value for use as the IV. + + In stateless protocols, it is recommended to choose a 16-byte value using a cryptographically-secure pseudorandom number generator (e.g. @p ccrng). + + In-place processing is supported. + + On encryption, @p tag is purely an output parameter. The generated tag is written to @p tag. + + On decryption, @p tag is primarily an input parameter. The caller should provide the authentication tag generated during encryption. The function will return nonzero if the input tag does not match the generated tag. + + @warning To support legacy applications, @p tag is also an output parameter during decryption. The generated tag is written to @p tag. Legacy callers may choose to compare this to the tag generated during encryption. Do not follow this usage pattern in new applications. + */ +int ccgcm_one_shot(const struct ccmode_gcm *mode, + size_t key_nbytes, const void *key, + size_t iv_nbytes, const void *iv, + size_t adata_nbytes, const void *adata, + size_t nbytes, const void *in, void *out, + size_t tag_nbytes, void *tag); + + +/*! + @function ccgcm_one_shot_legacy + @abstract Encrypt or decrypt with GCM. + + @param mode Descriptor for the mode + @param key_nbytes Length of the key in bytes + @param key Key for the underlying blockcipher (AES) + @param iv_nbytes Length of the IV in bytes + @param iv Initialization vector + @param adata_nbytes Length of the additional data in bytes + @param adata Additional data to authenticate + @param nbytes Length of the data in bytes + @param in Input plaintext or ciphertext + @param out Output ciphertext or plaintext + @param tag_nbytes Length of the tag in bytes + @param tag Authentication tag + + @result 0 iff successful. + + @discussion Identical to @p ccgcm_one_shot except that it allows zero-length IVs. + + @warning Zero-length IVs nullify the authenticity guarantees of GCM. + + @warning Do not use this function in new applications. + */ +int ccgcm_one_shot_legacy(const struct ccmode_gcm *mode, + size_t key_nbytes, const void *key, + size_t iv_nbytes, const void *iv, + size_t adata_nbytes, const void *adata, + size_t nbytes, const void *in, void *out, + size_t tag_nbytes, void *tag); + + +/* CCM */ + +#define ccccm_ctx_decl(_size_, _name_) cc_ctx_decl(ccccm_ctx, _size_, _name_) +#define ccccm_ctx_clear(_size_, _name_) cc_clear(_size_, _name_) + +/* Declare a ccm nonce named _name_. Pass the mode->nonce_ctx_size for _size_. */ +#define ccccm_nonce_decl(_size_, _name_) cc_ctx_decl(ccccm_nonce, _size_, _name_) +#define ccccm_nonce_clear(_size_, _name_) cc_clear(_size_, _name_) + + +CC_INLINE size_t ccccm_context_size(const struct ccmode_ccm *mode) +{ + return mode->size; +} + +CC_INLINE size_t ccccm_block_size(const struct ccmode_ccm *mode) +{ + return mode->block_size; +} + +CC_INLINE int ccccm_init(const struct ccmode_ccm *mode, ccccm_ctx *ctx, + size_t key_len, const void *key) +{ + return mode->init(mode, ctx, key_len, key); +} + +CC_INLINE int ccccm_set_iv(const struct ccmode_ccm *mode, ccccm_ctx *ctx, ccccm_nonce *nonce_ctx, + size_t nonce_len, const void *nonce, + size_t mac_size, size_t auth_len, size_t data_len) +{ + return mode->set_iv(ctx, nonce_ctx, nonce_len, nonce, mac_size, auth_len, data_len); +} + +CC_INLINE int ccccm_cbcmac(const struct ccmode_ccm *mode, ccccm_ctx *ctx, ccccm_nonce *nonce_ctx, + size_t nbytes, const void *in) +{ + return mode->cbcmac(ctx, nonce_ctx, nbytes, in); +} + +CC_INLINE int ccccm_update(const struct ccmode_ccm *mode, ccccm_ctx *ctx, ccccm_nonce *nonce_ctx, + size_t nbytes, const void *in, void *out) +{ + return mode->ccm(ctx, nonce_ctx, nbytes, in, out); +} + +CC_INLINE int ccccm_finalize(const struct ccmode_ccm *mode, ccccm_ctx *ctx, ccccm_nonce *nonce_ctx, + void *mac) +{ + return mode->finalize(ctx, nonce_ctx, mac); +} + +CC_INLINE int ccccm_reset(const struct ccmode_ccm *mode, ccccm_ctx *ctx, ccccm_nonce *nonce_ctx) +{ + return mode->reset(ctx, nonce_ctx); +} + + +CC_INLINE int ccccm_one_shot(const struct ccmode_ccm *mode, + size_t key_len, const void *key, + size_t nonce_len, const void *nonce, + size_t nbytes, const void *in, void *out, + size_t adata_len, const void* adata, + size_t mac_size, void *mac) +{ + int rc=0; + ccccm_ctx_decl(mode->size, ctx); + ccccm_nonce_decl(mode->nonce_size, nonce_ctx); + rc = mode->init(mode, ctx, key_len, key); + if(rc==0) rc=mode->set_iv(ctx, nonce_ctx, nonce_len, nonce, mac_size, adata_len, nbytes); + if(rc==0) rc=mode->cbcmac(ctx, nonce_ctx, adata_len, adata); + if(rc==0) rc=mode->ccm(ctx, nonce_ctx, nbytes, in, out); + if(rc==0) rc=mode->finalize(ctx, nonce_ctx, mac); + ccccm_ctx_clear(mode->size, ctx); + ccccm_nonce_clear(mode->nonce_size, nonce_ctx); + + return rc; +} + + +/* OMAC mode. */ + + +/* Declare a omac key named _name_. Pass the size field of a struct ccmode_omac + for _size_. */ +#define ccomac_ctx_decl(_size_, _name_) cc_ctx_decl(ccomac_ctx, _size_, _name_) +#define ccomac_ctx_clear(_size_, _name_) cc_clear(_size_, _name_) + +CC_INLINE size_t ccomac_context_size(const struct ccmode_omac *mode) +{ + return mode->size; +} + +CC_INLINE size_t ccomac_block_size(const struct ccmode_omac *mode) +{ + return mode->block_size; +} + +CC_INLINE int ccomac_init(const struct ccmode_omac *mode, ccomac_ctx *ctx, + size_t tweak_len, size_t key_len, const void *key) +{ + return mode->init(mode, ctx, tweak_len, key_len, key); +} + +CC_INLINE int ccomac_update(const struct ccmode_omac *mode, ccomac_ctx *ctx, + size_t nblocks, const void *tweak, const void *in, void *out) +{ + return mode->omac(ctx, nblocks, tweak, in, out); +} + +CC_INLINE int ccomac_one_shot(const struct ccmode_omac *mode, + size_t tweak_len, size_t key_len, const void *key, + const void *tweak, size_t nblocks, const void *in, void *out) +{ + int rc; + ccomac_ctx_decl(mode->size, ctx); + rc = mode->init(mode, ctx, tweak_len, key_len, key); + if (rc == 0) rc = mode->omac(ctx, nblocks, tweak, in, out); + ccomac_ctx_clear(mode->size, ctx); + return rc; +} + + +#endif /* _CORECRYPTO_CCMODE_H_ */ diff --git a/corecrypto/ccmode_factory.h b/corecrypto/ccmode_factory.h new file mode 100644 index 0000000..a868cee --- /dev/null +++ b/corecrypto/ccmode_factory.h @@ -0,0 +1,646 @@ +/* + * Copyright (c) 2011,2012,2013,2015,2016,2017,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCMODE_FACTORY_H_ +#define _CORECRYPTO_CCMODE_FACTORY_H_ + +#include /* TODO: Remove dependency on this header. */ +#include + +/* Function and macros defined in this file are only to be used + within corecrypto files. + */ + +/* For CBC, direction of underlying ecb is the same as the cbc direction */ +#define CCMODE_CBC_FACTORY(_cipher_, _dir_) \ +static struct ccmode_cbc cbc_##_cipher_##_##_dir_; \ + \ +const struct ccmode_cbc *cc##_cipher_##_cbc_##_dir_##_mode(void) \ +{ \ + const struct ccmode_ecb *ecb=cc##_cipher_##_ecb_##_dir_##_mode(); \ + ccmode_factory_cbc_##_dir_(&cbc_##_cipher_##_##_dir_, ecb); \ + return &cbc_##_cipher_##_##_dir_; \ +} + +/* For CTR, only one direction, underlying ecb is always encrypt */ +#define CCMODE_CTR_FACTORY(_cipher_) \ +static struct ccmode_ctr ctr_##_cipher_; \ + \ +const struct ccmode_ctr *cc##_cipher_##_ctr_crypt_mode(void) \ +{ \ + const struct ccmode_ecb *ecb=cc##_cipher_##_ecb_encrypt_mode(); \ + ccmode_factory_ctr_crypt(&ctr_##_cipher_, ecb); \ + return &ctr_##_cipher_; \ +} + +/* OFB, same as CTR */ +#define CCMODE_OFB_FACTORY(_cipher_) \ +static struct ccmode_ofb ofb_##_cipher_; \ + \ +const struct ccmode_ofb *cc##_cipher_##_ofb_crypt_mode(void) \ +{ \ + const struct ccmode_ecb *ecb=cc##_cipher_##_ecb_encrypt_mode(); \ + ccmode_factory_ofb_crypt(&ofb_##_cipher_, ecb); \ + return &ofb_##_cipher_; \ +} + + +/* For CFB, the underlying ecb operation is encrypt for both directions */ +#define CCMODE_CFB_FACTORY(_cipher_, _mode_, _dir_) \ +static struct ccmode_##_mode_ _mode_##_##_cipher_##_##_dir_; \ + \ +const struct ccmode_##_mode_ *cc##_cipher_##_##_mode_##_##_dir_##_mode(void) \ +{ \ + const struct ccmode_ecb *ecb=cc##_cipher_##_ecb_encrypt_mode(); \ + ccmode_factory_##_mode_##_##_dir_(&_mode_##_##_cipher_##_##_dir_, ecb); \ + return &_mode_##_##_cipher_##_##_dir_; \ +} + +/* For GCM, same as CFB */ +#define CCMODE_GCM_FACTORY(_cipher_, _dir_) CCMODE_CFB_FACTORY(_cipher_, gcm, _dir_) + +/* For CCM, same as CFB */ +#define CCMODE_CCM_FACTORY(_cipher_, _dir_) CCMODE_CFB_FACTORY(_cipher_, ccm, _dir_) + + +/* Fot XTS, you always need an ecb encrypt */ +#define CCMODE_XTS_FACTORY(_cipher_ , _dir_) \ +static struct ccmode_xts xts##_cipher_##_##_dir_; \ + \ +const struct ccmode_xts *cc##_cipher_##_xts_##_dir_##_mode(void) \ +{ \ + const struct ccmode_ecb *ecb=cc##_cipher_##_ecb_##_dir_##_mode(); \ + const struct ccmode_ecb *ecb_enc=cc##_cipher_##_ecb_encrypt_mode(); \ + \ + ccmode_factory_xts_##_dir_(&xts##_cipher_##_##_dir_, ecb, ecb_enc); \ + return &xts##_cipher_##_##_dir_; \ +} + +#if 0 + +/* example of how to make the selection function thread safe */ + +struct ccmode_cbc cc3des_cbc_mode_encrypt; +dispatch_once_t cc3des_mode_encrypt_init_once; + +void cc3des_mode_encrypt_init(void *ctx) { + struct ccmode_ecb *ecb = cc3des_ecb_encrypt_mode(); + ccmode_factory_cbc_encrypt(&cc3des_mode_encrypt, ecb); +} + +const struct ccmode_cbc *cc3des_cbc_encrypt_mode(void) { + dispatch_once_f(&cc3des_mode_encrypt_init_once, NULL, cc3des_mode_encrypt_init); + return &cc3des_mode_encrypt; +} + +struct ccmode_cbc cc3des_cbc_mode_encrypt = { + .n = CC3DES_LTC_ECB_ENCRYPT_N, + .init = ccmode_cbc_init, + .cbc = ccmode_cbc_encrypt, + .custom = &cc3des_ltc_ecb_encrypt +}; + +const struct ccmode_cbc *cc3des_cbc_encrypt_mode(void) { + return &cc3des_mode_encrypt; +} + +#endif + + + +int ccmode_cbc_init(const struct ccmode_cbc *cbc, cccbc_ctx *ctx, + size_t rawkey_len, const void *rawkey); +int ccmode_cbc_decrypt(const cccbc_ctx *ctx, cccbc_iv *iv, size_t nblocks, + const void *in, void *out); +int ccmode_cbc_encrypt(const cccbc_ctx *ctx, cccbc_iv *iv, size_t nblocks, + const void *in, void *out); + +struct _ccmode_cbc_key { + const struct ccmode_ecb *ecb; + cc_unit u[]; +}; + +/* Use this to statically initialize a ccmode_cbc object for decryption. */ +#define CCMODE_FACTORY_CBC_DECRYPT(ECB) { \ +.size = ccn_sizeof_size(sizeof(struct _ccmode_cbc_key)) + ccn_sizeof_size((ECB)->block_size) + ccn_sizeof_size((ECB)->size), \ +.block_size = (ECB)->block_size, \ +.init = ccmode_cbc_init, \ +.cbc = ccmode_cbc_decrypt, \ +.custom = (ECB) \ +} + +/* Use this to statically initialize a ccmode_cbc object for encryption. */ +#define CCMODE_FACTORY_CBC_ENCRYPT(ECB) { \ +.size = ccn_sizeof_size(sizeof(struct _ccmode_cbc_key)) + ccn_sizeof_size((ECB)->block_size) + ccn_sizeof_size((ECB)->size), \ +.block_size = (ECB)->block_size, \ +.init = ccmode_cbc_init, \ +.cbc = ccmode_cbc_encrypt, \ +.custom = (ECB) \ +} + +/* Use these function to runtime initialize a ccmode_cbc decrypt object (for + example if it's part of a larger structure). Normally you would pass a + ecb decrypt mode implementation of some underlying algorithm as the ecb + parameter. */ +void ccmode_factory_cbc_decrypt(struct ccmode_cbc *cbc, + const struct ccmode_ecb *ecb); + +/* Use these function to runtime initialize a ccmode_cbc encrypt object (for + example if it's part of a larger structure). Normally you would pass a + ecb encrypt mode implementation of some underlying algorithm as the ecb + parameter. */ +void ccmode_factory_cbc_encrypt(struct ccmode_cbc *cbc, + const struct ccmode_ecb *ecb); + + +int ccmode_cfb_init(const struct ccmode_cfb *cfb, cccfb_ctx *ctx, + size_t rawkey_len, const void *rawkey, + const void *iv); +int ccmode_cfb_decrypt(cccfb_ctx *ctx, size_t nbytes, + const void *in, void *out); +int ccmode_cfb_encrypt(cccfb_ctx *ctx, size_t nbytes, + const void *in, void *out); +struct _ccmode_cfb_key { + const struct ccmode_ecb *ecb; + size_t pad_len; + cc_unit u[]; +}; + +/* Use this to statically initialize a ccmode_cfb object for decryption. */ +#define CCMODE_FACTORY_CFB_DECRYPT(ECB) { \ +.size = ccn_sizeof_size(sizeof(struct _ccmode_cfb_key)) + 2 * ccn_sizeof_size((ECB)->block_size) + ccn_sizeof_size((ECB)->size), \ +.block_size = 1, \ +.init = ccmode_cfb_init, \ +.cfb = ccmode_cfb_decrypt, \ +.custom = (ECB) \ +} + +/* Use this to statically initialize a ccmode_cfb object for encryption. */ +#define CCMODE_FACTORY_CFB_ENCRYPT(ECB) { \ +.size = ccn_sizeof_size(sizeof(struct _ccmode_cfb_key)) + 2 * ccn_sizeof_size((ECB)->block_size) + ccn_sizeof_size((ECB)->size), \ +.block_size = 1, \ +.init = ccmode_cfb_init, \ +.cfb = ccmode_cfb_encrypt, \ +.custom = (ECB) \ +} + +/* Use these function to runtime initialize a ccmode_cfb decrypt object (for + example if it's part of a larger structure). Normally you would pass a + ecb encrypt mode implementation of some underlying algorithm as the ecb + parameter. */ +void ccmode_factory_cfb_decrypt(struct ccmode_cfb *cfb, + const struct ccmode_ecb *ecb); + +/* Use these function to runtime initialize a ccmode_cfb encrypt object (for + example if it's part of a larger structure). Normally you would pass a + ecb encrypt mode implementation of some underlying algorithm as the ecb + parameter. */ +void ccmode_factory_cfb_encrypt(struct ccmode_cfb *cfb, + const struct ccmode_ecb *ecb); + +int ccmode_cfb8_init(const struct ccmode_cfb8 *cfb8, cccfb8_ctx *ctx, + size_t rawkey_len, const void *rawkey, const void *iv); +int ccmode_cfb8_decrypt(cccfb8_ctx *ctx, size_t nbytes, + const void *in, void *out); +int ccmode_cfb8_encrypt(cccfb8_ctx *ctx, size_t nbytes, + const void *in, void *out); + +struct _ccmode_cfb8_key { + const struct ccmode_ecb *ecb; + cc_unit u[]; +}; + +/* Use this to statically initialize a ccmode_cfb8 object for decryption. */ +#define CCMODE_FACTORY_CFB8_DECRYPT(ECB) { \ +.size = ccn_sizeof_size(sizeof(struct _ccmode_cfb8_key)) + 2 * ccn_sizeof_size((ECB)->block_size) + ccn_sizeof_size((ECB)->size), \ +.block_size = 1, \ +.init = ccmode_cfb8_init, \ +.cfb8 = ccmode_cfb8_decrypt, \ +.custom = (ECB) \ +} + +/* Use this to statically initialize a ccmode_cfb8 object for encryption. */ +#define CCMODE_FACTORY_CFB8_ENCRYPT(ECB) { \ +.size = ccn_sizeof_size(sizeof(struct _ccmode_cfb8_key)) + 2 * ccn_sizeof_size((ECB)->block_size) + ccn_sizeof_size((ECB)->size), \ +.block_size = 1, \ +.init = ccmode_cfb8_init, \ +.cfb8 = ccmode_cfb8_encrypt, \ +.custom = (ECB) \ +} + +/* Use these function to runtime initialize a ccmode_cfb8 decrypt object (for + example if it's part of a larger structure). Normally you would pass a + ecb decrypt mode implementation of some underlying algorithm as the ecb + parameter. */ +void ccmode_factory_cfb8_decrypt(struct ccmode_cfb8 *cfb8, + const struct ccmode_ecb *ecb); + +/* Use these function to runtime initialize a ccmode_cfb8 encrypt object (for + example if it's part of a larger structure). Normally you would pass a + ecb encrypt mode implementation of some underlying algorithm as the ecb + parameter. */ +void ccmode_factory_cfb8_encrypt(struct ccmode_cfb8 *cfb8, + const struct ccmode_ecb *ecb); + +int ccmode_ctr_init(const struct ccmode_ctr *ctr, ccctr_ctx *ctx, + size_t rawkey_len, const void *rawkey, const void *iv); +int ccmode_ctr_setctr(const struct ccmode_ctr *mode, ccctr_ctx *ctx, const void *ctr); +int ccmode_ctr_crypt(ccctr_ctx *ctx, size_t nbytes, + const void *in, void *out); + +struct _ccmode_ctr_key { + const struct ccmode_ecb *ecb; + size_t pad_offset; + cc_unit u[]; +}; + +/* Use this to statically initialize a ccmode_ctr object for decryption. */ +#define CCMODE_FACTORY_CTR_CRYPT(ECB_ENCRYPT) { \ +.size = ccn_sizeof_size(sizeof(struct _ccmode_ctr_key)) + 2 * ccn_sizeof_size((ECB_ENCRYPT)->block_size) + ccn_sizeof_size((ECB_ENCRYPT)->size), \ +.block_size = 1, \ +.ecb_block_size = (ECB_ENCRYPT)->block_size, \ +.init = ccmode_ctr_init, \ +.setctr = ccmode_ctr_setctr, \ +.ctr = ccmode_ctr_crypt, \ +.custom = (ECB_ENCRYPT) \ +} + +/* Use these function to runtime initialize a ccmode_ctr decrypt object (for + example if it's part of a larger structure). Normally you would pass a + ecb encrypt mode implementation of some underlying algorithm as the ecb + parameter. */ +void ccmode_factory_ctr_crypt(struct ccmode_ctr *ctr, + const struct ccmode_ecb *ecb); + + +/* Create a gcm key from a gcm mode object. + key must point to at least sizeof(CCMODE_GCM_KEY(ecb)) bytes of free + storage. */ +int ccmode_gcm_init(const struct ccmode_gcm *gcm, ccgcm_ctx *ctx, + size_t rawkey_len, const void *rawkey); +int ccmode_gcm_set_iv(ccgcm_ctx *ctx, size_t iv_nbytes, const void *iv); +int ccmode_gcm_aad(ccgcm_ctx *ctx, size_t nbytes, const void *in); +int ccmode_gcm_decrypt(ccgcm_ctx *ctx, size_t nbytes, const void *in, + void *out); +int ccmode_gcm_encrypt(ccgcm_ctx *ctx, size_t nbytes, const void *in, + void *out); + +/*! + @function ccmode_gcm_finalize() finalizes AES-GCM call sequence + @param key encryption or decryption key + @param tag_nbytes length of tag in bytes + @param tag authentication tag + @result 0=success or non zero= error + @discussion For decryption, the tag parameter must be the expected-tag. A secure compare is performed between the provided expected-tag and the computed-tag. If they are the same, 0 is returned. Otherwise, non zero is returned. For encryption, tag is output and provides the authentication tag. + + */ +int ccmode_gcm_finalize(ccgcm_ctx *key, size_t tag_nbytes, void *tag); +int ccmode_gcm_reset(ccgcm_ctx *key); + +#define CCGCM_FLAGS_INIT_WITH_IV 1 + +// Here is what the structure looks like in memory +// [ temp space | length | *ecb | *ecb_key | table | ecb_key ] +// size of table depends on the implementation (VNG vs factory) +// currently, VNG and factory share the same "header" described here +// VNG may add additional data after the header +struct _ccmode_gcm_key { + // 5 blocks of temp space. + unsigned char H[16]; /* multiplier */ + unsigned char X[16]; /* accumulator */ + unsigned char Y[16]; /* counter */ + unsigned char Y_0[16]; /* initial counter */ + unsigned char buf[16]; /* buffer for stuff */ + + // State and length + uint16_t state; /* state the GCM code is in */ + uint16_t flags; /* flags (persistent across reset) */ + uint32_t buf_nbytes; /* length of data in buf */ + + uint64_t aad_nbytes; /* 64-bit counter used for IV and AAD */ + uint64_t text_nbytes; /* 64-bit counter for the plaintext PT */ + + // ECB + const struct ccmode_ecb *ecb; // ecb mode + // Pointer to the ECB key in the buffer + void *ecb_key; // address of the ecb_key in u, set in init function + int encdec; //is it an encrypt or decrypt object + + // Buffer with ECB key and H table if applicable + CC_ALIGNED(16) unsigned char u[]; // ecb key + tables +}; + +#define GCM_ECB_KEY_SIZE(ECB_ENCRYPT) \ + ((5 * ccn_sizeof_size((ECB_ENCRYPT)->block_size)) \ + + ccn_sizeof_size((ECB_ENCRYPT)->size)) + +/* Use these function to runtime initialize a ccmode_gcm decrypt object (for + example if it's part of a larger structure). For GCM you always pass a + ecb encrypt mode implementation of some underlying algorithm as the ecb + parameter. */ +void ccmode_factory_gcm_decrypt(struct ccmode_gcm *gcm, + const struct ccmode_ecb *ecb_encrypt); + +/* Use these function to runtime initialize a ccmode_gcm encrypt object (for + example if it's part of a larger structure). For GCM you always pass a + ecb encrypt mode implementation of some underlying algorithm as the ecb + parameter. */ +void ccmode_factory_gcm_encrypt(struct ccmode_gcm *gcm, + const struct ccmode_ecb *ecb_encrypt); + + +/* CCM (only NIST approved with AES) */ +int ccmode_ccm_init(const struct ccmode_ccm *ccm, ccccm_ctx *ctx, + size_t rawkey_len, const void *rawkey); +int ccmode_ccm_set_iv(ccccm_ctx *ctx, ccccm_nonce *nonce_ctx, size_t nonce_len, const void *nonce, + size_t mac_size, size_t auth_len, size_t data_len); +/* internal function */ +void ccmode_ccm_macdata(ccccm_ctx *key, ccccm_nonce *nonce_ctx, unsigned new_block, size_t nbytes, const void *in); +/* api function - disallows only mac'd data after data to encrypt was sent */ +int ccmode_ccm_cbcmac(ccccm_ctx *ctx, ccccm_nonce *nonce_ctx, size_t nbytes, const void *in); +/* internal function */ +void ccmode_ccm_crypt(ccccm_ctx *key, ccccm_nonce *nonce_ctx, size_t nbytes, const void *in, void *out); +int ccmode_ccm_decrypt(ccccm_ctx *ctx, ccccm_nonce *nonce_ctx, size_t nbytes, const void *in, + void *out); +int ccmode_ccm_encrypt(ccccm_ctx *ctx, ccccm_nonce *nonce_ctx, size_t nbytes, const void *in, + void *out); +int ccmode_ccm_finalize(ccccm_ctx *key, ccccm_nonce *nonce_ctx, void *mac); +int ccmode_ccm_reset(ccccm_ctx *key, ccccm_nonce *nonce_ctx); + +struct _ccmode_ccm_key { + const struct ccmode_ecb *ecb; + cc_unit u[]; +}; + +struct _ccmode_ccm_nonce { + unsigned char A_i[16]; /* crypto block iv */ + unsigned char B_i[16]; /* mac block iv */ + unsigned char MAC[16]; /* crypted mac */ + unsigned char buf[16]; /* crypt buffer */ + + uint32_t mode; /* mode: IV -> AD -> DATA */ + uint32_t buflen; /* length of data in buf */ + uint32_t b_i_len; /* length of cbcmac data in B_i */ + + size_t nonce_size; + size_t mac_size; +}; + +/* Use this to statically initialize a ccmode_ccm object for decryption. */ +#define CCMODE_FACTORY_CCM_DECRYPT(ECB_ENCRYPT) { \ +.size = ccn_sizeof_size(sizeof(struct _ccmode_ccm_key)) + ccn_sizeof_size((ECB_ENCRYPT)->block_size) + ccn_sizeof_size((ECB_ENCRYPT)->size), \ +.nonce_size = ccn_sizeof_size(sizeof(struct _ccmode_ccm_nonce)), \ +.block_size = 1, \ +.init = ccmode_ccm_init, \ +.set_iv = ccmode_ccm_set_iv, \ +.cbcmac = ccmode_ccm_cbcmac, \ +.ccm = ccmode_ccm_decrypt, \ +.finalize = ccmode_ccm_finalize, \ +.reset = ccmode_ccm_reset, \ +.custom = (ECB_ENCRYPT) \ +} + +/* Use this to statically initialize a ccmode_ccm object for encryption. */ +#define CCMODE_FACTORY_CCM_ENCRYPT(ECB_ENCRYPT) { \ +.size = ccn_sizeof_size(sizeof(struct _ccmode_ccm_key)) + ccn_sizeof_size((ECB_ENCRYPT)->block_size) + ccn_sizeof_size((ECB_ENCRYPT)->size), \ +.nonce_size = ccn_sizeof_size(sizeof(struct _ccmode_ccm_nonce)), \ +.block_size = 1, \ +.init = ccmode_ccm_init, \ +.set_iv = ccmode_ccm_set_iv, \ +.cbcmac = ccmode_ccm_cbcmac, \ +.ccm = ccmode_ccm_encrypt, \ +.finalize = ccmode_ccm_finalize, \ +.reset = ccmode_ccm_reset, \ +.custom = (ECB_ENCRYPT) \ +} + +/* Use these function to runtime initialize a ccmode_ccm decrypt object (for + example if it's part of a larger structure). For CCM you always pass a + ecb encrypt mode implementation of some underlying algorithm as the ecb + parameter. */ + +void ccmode_factory_ccm_decrypt(struct ccmode_ccm *ccm, + const struct ccmode_ecb *ecb_encrypt); + +/* Use these function to runtime initialize a ccmode_ccm encrypt object (for + example if it's part of a larger structure). For CCM you always pass a + ecb encrypt mode implementation of some underlying algorithm as the ecb + parameter. */ +void ccmode_factory_ccm_encrypt(struct ccmode_ccm *ccm, + const struct ccmode_ecb *ecb_encrypt); + + +int ccmode_ofb_init(const struct ccmode_ofb *ofb, ccofb_ctx *ctx, + size_t rawkey_len, const void *rawkey, + const void *iv); +int ccmode_ofb_crypt(ccofb_ctx *ctx, size_t nbytes, + const void *in, void *out); + +struct _ccmode_ofb_key { + const struct ccmode_ecb *ecb; + size_t pad_len; + cc_unit u[]; +}; + +/* Use this to statically initialize a ccmode_ofb object. */ +#define CCMODE_FACTORY_OFB_CRYPT(ECB) { \ +.size = ccn_sizeof_size(sizeof(struct _ccmode_ofb_key)) + ccn_sizeof_size((ECB)->block_size) + ccn_sizeof_size((ECB)->size), \ +.block_size = 1, \ +.init = ccmode_ofb_init, \ +.ofb = ccmode_ofb_crypt, \ +.custom = (ECB) \ +} + +/* Use these function to runtime initialize a ccmode_ofb encrypt object (for + example if it's part of a larger structure). Normally you would pass a + ecb encrypt mode implementation of some underlying algorithm as the ecb + parameter. */ +void ccmode_factory_ofb_crypt(struct ccmode_ofb *ofb, + const struct ccmode_ecb *ecb); + +int ccmode_omac_decrypt(ccomac_ctx *ctx, size_t nblocks, + const void *tweak, const void *in, void *out); +int ccmode_omac_encrypt(ccomac_ctx *ctx, size_t nblocks, + const void *tweak, const void *in, void *out); + +/* Create a omac key from a omac mode object. The tweak_len here + determines how long the tweak is in bytes, for each subsequent call to + ccmode_omac->omac(). + key must point to at least sizeof(CCMODE_OMAC_KEY(ecb)) bytes of free + storage. */ +int ccmode_omac_init(const struct ccmode_omac *omac, ccomac_ctx *ctx, + size_t tweak_len, size_t rawkey_len, + const void *rawkey); + +struct _ccmode_omac_key { + const struct ccmode_ecb *ecb; + size_t tweak_len; + cc_unit u[]; +}; + +/* Use this to statically initialize a ccmode_omac object for decryption. */ +#define CCMODE_FACTORY_OMAC_DECRYPT(ECB) { \ +.size = ccn_sizeof_size(sizeof(struct _ccmode_omac_key)) + 2 * ccn_sizeof_size((ECB)->size), \ +.block_size = (ECB)->block_size, \ +.init = ccmode_omac_init, \ +.omac = ccmode_omac_decrypt, \ +.custom = (ECB) \ +} + +/* Use this to statically initialize a ccmode_omac object for encryption. */ +#define CCMODE_FACTORY_OMAC_ENCRYPT(ECB) { \ +.size = ccn_sizeof_size(sizeof(struct _ccmode_omac_key)) + 2 * ccn_sizeof_size((ECB)->size), \ +.block_size = (ECB)->block_size, \ +.init = ccmode_omac_init, \ +.omac = ccmode_omac_encrypt, \ +.custom = (ECB) \ +} + +/* Use these function to runtime initialize a ccmode_omac decrypt object (for + example if it's part of a larger structure). Normally you would pass a + ecb decrypt mode implementation of some underlying algorithm as the ecb + parameter. */ +void ccmode_factory_omac_decrypt(struct ccmode_omac *omac, + const struct ccmode_ecb *ecb); + +/* Use these function to runtime initialize a ccmode_omac encrypt object (for + example if it's part of a larger structure). Normally you would pass a + ecb encrypt mode implementation of some underlying algorithm as the ecb + parameter. */ +void ccmode_factory_omac_encrypt(struct ccmode_omac *omac, + const struct ccmode_ecb *ecb); + + +/* Function prototypes used by the macros below, do not call directly. */ +int ccmode_xts_init(const struct ccmode_xts *xts, ccxts_ctx *ctx, + size_t key_nbytes, const void *data_key, + const void *tweak_key); +void ccmode_xts_key_sched(const struct ccmode_xts *xts, ccxts_ctx *ctx, + size_t key_nbytes, const void *data_key, + const void *tweak_key); +void *ccmode_xts_crypt(const ccxts_ctx *ctx, ccxts_tweak *tweak, + size_t nblocks, const void *in, void *out); +int ccmode_xts_set_tweak(const ccxts_ctx *ctx, ccxts_tweak *tweak, + const void *iv); + + +struct _ccmode_xts_key { + const struct ccmode_ecb *ecb; + const struct ccmode_ecb *ecb_encrypt; + cc_unit u[]; +}; + +struct _ccmode_xts_tweak { + // FIPS requires that for XTS that no more that 2^20 AES blocks may be processed for any given + // Key, Tweak Key, and tweak combination + // the bytes_processed field in the context will accumuate the number of blocks processed and + // will fail the encrypt/decrypt if the size is violated. This counter will be reset to 0 + // when set_tweak is called. + size_t blocks_processed; + cc_unit u[]; +}; + +/* Use this to statically initialize a ccmode_xts object for decryption. */ +#define CCMODE_FACTORY_XTS_DECRYPT(ECB, ECB_ENCRYPT) { \ +.size = ccn_sizeof_size(sizeof(struct _ccmode_xts_key)) + 2 * ccn_sizeof_size((ECB)->size), \ +.tweak_size = ccn_sizeof_size(sizeof(struct _ccmode_xts_tweak)) + ccn_sizeof_size(ecb->block_size), \ +.block_size = ecb->block_size, \ +.init = ccmode_xts_init, \ +.key_sched = ccmode_xts_key_sched, \ +.set_tweak = ccmode_xts_set_tweak, \ +.xts = ccmode_xts_crypt, \ +.custom = (ECB), \ +.custom1 = (ECB_ENCRYPT) \ +} + +/* Use this to statically initialize a ccmode_xts object for encryption. */ +#define CCMODE_FACTORY_XTS_ENCRYPT(ECB, ECB_ENCRYPT) { \ +.size = ccn_sizeof_size(sizeof(struct _ccmode_xts_key)) + 2 * ccn_sizeof_size((ECB)->size), \ +.tweak_size = ccn_sizeof_size(sizeof(struct _ccmode_xts_tweak)) + ccn_sizeof_size(ecb->block_size), \ +.block_size = ecb->block_size, \ +.init = ccmode_xts_init, \ +.key_sched = ccmode_xts_key_sched, \ +.set_tweak = ccmode_xts_set_tweak, \ +.xts = ccmode_xts_crypt, \ +.custom = (ECB), \ +.custom1 = (ECB_ENCRYPT) \ +} + +/* Use these function to runtime initialize a ccmode_xts decrypt object (for + example if it's part of a larger structure). Normally you would pass a + ecb decrypt mode implementation of some underlying algorithm as the ecb + parameter. */ +void ccmode_factory_xts_decrypt(struct ccmode_xts *xts, + const struct ccmode_ecb *ecb, + const struct ccmode_ecb *ecb_encrypt); + +/* Use these function to runtime initialize a ccmode_xts encrypt object (for + example if it's part of a larger structure). Normally you would pass a + ecb encrypt mode implementation of some underlying algorithm as the ecb + parameter. */ +void ccmode_factory_xts_encrypt(struct ccmode_xts *xts, + const struct ccmode_ecb *ecb, + const struct ccmode_ecb *ecb_encrypt); + +#endif /* _CORECRYPTO_CCMODE_FACTORY_H_ */ diff --git a/corecrypto/ccmode_impl.h b/corecrypto/ccmode_impl.h new file mode 100644 index 0000000..b1aebf7 --- /dev/null +++ b/corecrypto/ccmode_impl.h @@ -0,0 +1,264 @@ +/* + * Copyright (c) 2012,2015,2016,2017,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCMODE_IMPL_H_ +#define _CORECRYPTO_CCMODE_IMPL_H_ + +#include + +/* ECB mode. */ +cc_aligned_struct(16) ccecb_ctx; + + +/* Actual symmetric algorithm implementation should provide you one of these. */ +struct ccmode_ecb { + size_t size; /* first argument to ccecb_ctx_decl(). */ + size_t block_size; + int (*init)(const struct ccmode_ecb *ecb, ccecb_ctx *ctx, + size_t key_nbytes, const void *key); + int (*ecb)(const ccecb_ctx *ctx, size_t nblocks, const void *in, + void *out); +}; + +/*! + * @brief corecrypto symmetrical encryption and decryption modes + * + * corecrypto supports 6 stateless en(de)cryption modes and 2 stateful authenticated en(de)cryption modes + * stateless modes CBC, CFB, CFB8, CTR, OFB, XTS: They provide 3 interface functions that do not return errors codes + * 1- ccmod_xxx_init() + * 2- ccmod_xxx_decrypt() + * 3- ccmod_xxx_encrypt() + * + * stateful modes CCM and GCM: They provide 7 interface functions that return error codes if a function is called out of state + * 1- ccmod_xxx_init() + * 2- ccmod_xxx_setiv() + * 3- ccmod_xxx_aad() + * 4- ccmod_xxx_decrypt() + * 5- ccmod_xxx_encrypt() + * 6- ccmod_xxx_finalize() + * 7- ccmod_xxx_reset() + * + * the correct call sequences are: + * + * calls to 1, 2 and 6 arerequired + * 2 and 3 can be called as mant times as needed + * calls to 3, 4, 5 can be skipped + * + * 1, 2*n, 3*n, 4|5, 6 + * 1, 2*n, , 4|5, 6 + * 1, 2*n, , , 6 + * 1, 2*n, 3*n, , 6 + */ + +// 1- CBC mode, stateless +cc_aligned_struct(16) cccbc_ctx; +cc_aligned_struct(16) cccbc_iv; + +struct ccmode_cbc { + size_t size; /* first argument to cccbc_ctx_decl(). */ + size_t block_size; + int (*init)(const struct ccmode_cbc *cbc, cccbc_ctx *ctx, + size_t key_len, const void *key); + /* cbc encrypt or decrypt nblocks from in to out, iv will be used and updated. */ + int (*cbc)(const cccbc_ctx *ctx, cccbc_iv *iv, + size_t nblocks, const void *in, void *out); + const void *custom; +}; + +// 2- CFB mode, stateless +cc_aligned_struct(16) cccfb_ctx; + +struct ccmode_cfb { + size_t size; /* first argument to cccfb_ctx_decl(). */ + size_t block_size; + int (*init)(const struct ccmode_cfb *cfb, cccfb_ctx *ctx, + size_t key_len, const void *key, const void *iv); + int (*cfb)(cccfb_ctx *ctx, size_t nbytes, const void *in, void *out); + const void *custom; +}; + +// 3- CFB8 mode, stateless +cc_aligned_struct(16) cccfb8_ctx; + +struct ccmode_cfb8 { + size_t size; /* first argument to cccfb8_ctx_decl(). */ + size_t block_size; + int (*init)(const struct ccmode_cfb8 *cfb8, cccfb8_ctx *ctx, + size_t key_len, const void *key, const void *iv); + int (*cfb8)(cccfb8_ctx *ctx, size_t nbytes, const void *in, void *out); + const void *custom; +}; + +// 4- CTR mode, stateless +cc_aligned_struct(16) ccctr_ctx; + +struct ccmode_ctr { + size_t size; /* first argument to ccctr_ctx_decl(). */ + size_t block_size; /* for historical reasons, this is set to 1 */ + size_t ecb_block_size; /* the actual block size of the underlying cipher */ + int (*init)(const struct ccmode_ctr *mode, ccctr_ctx *ctx, + size_t key_len, const void *key, const void *iv); + int (*setctr)(const struct ccmode_ctr *mode, ccctr_ctx *ctx, const void *ctr); + int (*ctr)(ccctr_ctx *ctx, size_t nbytes, const void *in, void *out); + const void *custom; +}; + +// 5- OFB mode, stateless +cc_aligned_struct(16) ccofb_ctx; + +struct ccmode_ofb { + size_t size; /* first argument to ccofb_ctx_decl(). */ + size_t block_size; + int (*init)(const struct ccmode_ofb *ofb, ccofb_ctx *ctx, + size_t key_len, const void *key, const void *iv); + int (*ofb)(ccofb_ctx *ctx, size_t nbytes, const void *in, void *out); + const void *custom; +}; + +// 6- XTS mode, stateless +cc_aligned_struct(16) ccxts_ctx; +cc_aligned_struct(16) ccxts_tweak; + +struct ccmode_xts { + size_t size; /* first argument to ccxts_ctx_decl(). Size of the ctx data structure */ + size_t tweak_size; /* first argument to ccxts_tweak_decl(). Size of the tweak structure, not the expected tweak size */ + size_t block_size; + + /* Create a xts key from a xts mode object. + key must point to at least 'size' bytes of free storage. + tweak_key must point to at least 'tweak_size' bytes of free storage. + key and tweak_key must differ. + Returns nonzero on failure. + */ + int (*init)(const struct ccmode_xts *xts, ccxts_ctx *ctx, + size_t key_nbytes, const void *data_key, const void *tweak_key); + + void (*key_sched)(const struct ccmode_xts *xts, ccxts_ctx *ctx, + size_t key_nbytes, const void *data_key, const void *tweak_key); + + /* Set the tweak (sector number), the block within the sector zero. */ + int (*set_tweak)(const ccxts_ctx *ctx, ccxts_tweak *tweak, const void *iv); + + /* Encrypt blocks for a sector, clients must call set_tweak before calling + this function. Return a pointer to the tweak buffer */ + void *(*xts)(const ccxts_ctx *ctx, ccxts_tweak *tweak, + size_t nblocks, const void *in, void *out); + + const void *custom; + const void *custom1; +}; + +//7- GCM mode, statful +cc_aligned_struct(16) ccgcm_ctx; +#define CCMODE_GCM_DECRYPTOR 78647 +#define CCMODE_GCM_ENCRYPTOR 4073947 + +struct ccmode_gcm { + size_t size; /* first argument to ccgcm_ctx_decl(). */ + int encdec; //is it encrypt or decrypt object + size_t block_size; + int (*init)(const struct ccmode_gcm *gcm, ccgcm_ctx *ctx, + size_t key_nbytes, const void *key); + int (*set_iv)(ccgcm_ctx *ctx, size_t iv_nbytes, const void *iv); + int (*gmac)(ccgcm_ctx *ctx, size_t nbytes, const void *in); // could just be gcm with NULL out + int (*gcm)(ccgcm_ctx *ctx, size_t nbytes, const void *in, void *out); + int (*finalize)(ccgcm_ctx *key, size_t tag_nbytes, void *tag); + int (*reset)(ccgcm_ctx *ctx); + const void *custom; +}; + +//8- GCM mode, statful +cc_aligned_struct(16) ccccm_ctx; +cc_aligned_struct(16) ccccm_nonce; + +struct ccmode_ccm { + size_t size; /* first argument to ccccm_ctx_decl(). */ + size_t nonce_size; /* first argument to ccccm_nonce_decl(). */ + size_t block_size; + int (*init)(const struct ccmode_ccm *ccm, ccccm_ctx *ctx, + size_t key_len, const void *key); + int (*set_iv)(ccccm_ctx *ctx, ccccm_nonce *nonce_ctx, size_t nonce_len, const void *nonce, + size_t mac_size, size_t auth_len, size_t data_len); + int (*cbcmac)(ccccm_ctx *ctx, ccccm_nonce *nonce_ctx, size_t nbytes, const void *in); // could just be ccm with NULL out + int (*ccm)(ccccm_ctx *ctx, ccccm_nonce *nonce_ctx, size_t nbytes, const void *in, void *out); + int (*finalize)(ccccm_ctx *key, ccccm_nonce *nonce_ctx, void *mac); + int (*reset)(ccccm_ctx *key, ccccm_nonce *nonce_ctx); + const void *custom; +}; + + +/* OMAC mode. */ +cc_aligned_struct(16) ccomac_ctx; + +struct ccmode_omac { + size_t size; /* first argument to ccomac_ctx_decl(). */ + size_t block_size; + int (*init)(const struct ccmode_omac *omac, ccomac_ctx *ctx, + size_t tweak_len, size_t key_len, const void *key); + int (*omac)(ccomac_ctx *ctx, size_t nblocks, + const void *tweak, const void *in, void *out); + const void *custom; +}; + +#endif /* _CORECRYPTO_CCMODE_IMPL_H_ */ diff --git a/corecrypto/ccmode_siv.h b/corecrypto/ccmode_siv.h new file mode 100644 index 0000000..1834c23 --- /dev/null +++ b/corecrypto/ccmode_siv.h @@ -0,0 +1,192 @@ +/* + * Copyright (c) 2015,2016,2017,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCMODE_SIV_H_ +#define _CORECRYPTO_CCMODE_SIV_H_ + +#include +#include +#include + +#include + +/* This provide an implementation of SIV + as specified in https://tools.ietf.org/html/rfc5297 + also in http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/proposedmodes/siv/siv.pdf + Counter Mode where IV is based on CMAC + */ + +cc_aligned_struct(16) ccsiv_ctx; + +struct ccmode_siv { + size_t size; /* first argument to ccsiv_ctx_decl(). */ + size_t block_size; + int (*init)(const struct ccmode_siv *siv, ccsiv_ctx *ctx, + size_t key_len, const uint8_t *key); + int (*set_nonce)(ccsiv_ctx *ctx, size_t nbytes, const uint8_t *in); // could just be ccm with NULL out + int (*auth)(ccsiv_ctx *ctx, size_t nbytes, const uint8_t *in); // could just be ccm with NULL out + int (*crypt)(ccsiv_ctx *ctx, size_t nbytes, const uint8_t *in, uint8_t *out); + int (*reset)(ccsiv_ctx *ctx); + const struct ccmode_cbc *cbc; + const struct ccmode_ctr *ctr; +}; + +#define ccsiv_ctx_decl(_size_, _name_) cc_ctx_decl(ccsiv_ctx, _size_, _name_) +#define ccsiv_ctx_clear(_size_, _name_) cc_clear(_size_, _name_) + +// Functions + +CC_INLINE size_t ccsiv_context_size(const struct ccmode_siv *mode) +{ + return mode->size; +} + +CC_INLINE size_t ccsiv_block_size(const struct ccmode_siv *mode) +{ + return mode->block_size; +} + +CC_INLINE size_t ccsiv_ciphertext_size(const struct ccmode_siv *mode, + size_t plaintext_size) +{ + return plaintext_size+mode->cbc->block_size; +} + +CC_INLINE size_t ccsiv_plaintext_size(const struct ccmode_siv *mode, + size_t ciphertext_size) +{ + if (ciphertext_sizecbc->block_size) { + return 0; // error + } + return ciphertext_size-mode->cbc->block_size; +} + +// Supported key sizes are 32, 48, 64 bytes +CC_INLINE int ccsiv_init(const struct ccmode_siv *mode, ccsiv_ctx *ctx, + size_t key_byte_len, const uint8_t *key) +{ + return mode->init(mode, ctx, key_byte_len, key); +} + +// Process nonce. it is actually just an authenticated data +CC_INLINE int ccsiv_set_nonce(const struct ccmode_siv *mode, ccsiv_ctx *ctx, + size_t nbytes, const uint8_t *in) +{ + return mode->set_nonce(ctx, nbytes, in); +} + +// Process authenticated data. Taken into account for authentication but not +// encrypted +CC_INLINE int ccsiv_aad(const struct ccmode_siv *mode, ccsiv_ctx *ctx, + size_t nbytes, const uint8_t *in) +{ + return mode->auth(ctx, nbytes, in); +} + +// Encryption data. Authenticated and encrypted. +// Encrypt/Decrypt can only be called once +CC_INLINE int ccsiv_crypt(const struct ccmode_siv *mode, ccsiv_ctx *ctx, + size_t nbytes, const uint8_t *in, uint8_t *out) +{ + return mode->crypt(ctx, nbytes, in, out); +} + +// Clear all context for reuse. +// Key is clear to avoid leaking it +CC_INLINE int ccsiv_reset(const struct ccmode_siv *mode, ccsiv_ctx *ctx) +{ + return mode->reset(ctx); +} + +// One shot with only one vector of adata +CC_INLINE int ccsiv_one_shot(const struct ccmode_siv *mode, + size_t key_len, const uint8_t *key, + unsigned nonce_nbytes, const uint8_t* nonce, + unsigned adata_nbytes, const uint8_t* adata, + size_t in_nbytes, const uint8_t *in, uint8_t *out) +{ + int rc; + ccsiv_ctx_decl(mode->size, ctx); + rc=mode->init(mode, ctx, key_len, key); + if (rc) {return rc;} + rc=mode->set_nonce(ctx, nonce_nbytes, nonce); + if (rc) {return rc;} + rc=mode->auth(ctx, adata_nbytes, adata); + if (rc) {return rc;} + rc=mode->crypt(ctx, in_nbytes, in, out); + if (rc) {return rc;} + ccsiv_ctx_clear(mode->size, ctx); + return rc; +} + +void ccmode_factory_siv_encrypt(struct ccmode_siv *siv, + const struct ccmode_cbc *cbc, + const struct ccmode_ctr *ctr); + +void ccmode_factory_siv_decrypt(struct ccmode_siv *siv, + const struct ccmode_cbc *cbc, + const struct ccmode_ctr *ctr); + + +#endif /* _CORECRYPTO_CCMODE_H_ */ diff --git a/corecrypto/ccmode_siv_priv.h b/corecrypto/ccmode_siv_priv.h new file mode 100644 index 0000000..7608e6a --- /dev/null +++ b/corecrypto/ccmode_siv_priv.h @@ -0,0 +1,129 @@ +/* + * Copyright (c) 2015,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCMODE_SIV_PRIV_H_ +#define _CORECRYPTO_CCMODE_SIV_PRIV_H_ + +#include +#include +#include + +#include + +// Maximum size for the key is 512 +#define CCSIV_MAX_BLOCK_BYTESIZE 128/8 + +// Maximum size for the key is 512 +#define CCSIV_MAX_KEY_BYTESIZE 512/8 + +struct _ccmode_siv_ctx { + const struct ccmode_siv *siv; + size_t key_bytesize; + cc_unit state; + cc_unit k1[ccn_nof_size(CCSIV_MAX_KEY_BYTESIZE/2)]; // cmac key + cc_unit k2[ccn_nof_size(CCSIV_MAX_KEY_BYTESIZE/2)]; // ctr key + cc_unit block[ccn_nof_size(CCSIV_MAX_BLOCK_BYTESIZE)]; +}; + +int ccmode_siv_init(const struct ccmode_siv *siv, ccsiv_ctx *ctx, + size_t rawkey_byte_len, const uint8_t *rawkey); + +// Authentication of the adata +int ccmode_siv_auth(ccsiv_ctx *ctx, + size_t nbytes, const uint8_t *in); + +// Authentication of the last vector (the encrypted part) +int ccmode_siv_auth_last(ccsiv_ctx *ctx, + size_t nbytes, const uint8_t *in, uint8_t* V); + +int ccmode_siv_encrypt(ccsiv_ctx *ctx, + size_t nbytes, const uint8_t *in, uint8_t *out); + +int ccmode_siv_decrypt(ccsiv_ctx *ctx, + size_t nbytes, const uint8_t *in, uint8_t *out); + +int ccmode_siv_reset(ccsiv_ctx *ctx); + +/* Macros for accessing a CCMODE_SIV. + { + const struct ccmode_siv *siv; + uint8_t key[512/8]; + uint8_t d[512/8]; + cc_unit cmac_ctx[cbc->n]; + cc_unit ctr_ctx[ctr->n]; + } */ +#define _CCMODE_SIV_CTX(K) ((struct _ccmode_siv_ctx *)(K)) +#define _CCMODE_SIV_CBC_MODE(K) (_CCMODE_SIV_CTX(K)->siv->cbc) +#define _CCMODE_SIV_CTR_MODE(K) (_CCMODE_SIV_CTX(K)->siv->ctr) +#define _CCMODE_SIV_STATE(K) (_CCMODE_SIV_CTX(K)->state) +#define _CCMODE_SIV_KEYSIZE(K) (_CCMODE_SIV_CTX(K)->key_bytesize) +#define _CCMODE_SIV_K1(K) ((uint8_t *)_CCMODE_SIV_CTX(K)->k1) +#define _CCMODE_SIV_K2(K) ((uint8_t *)_CCMODE_SIV_CTX(K)->k2) +#define _CCMODE_SIV_D(K) ((uint8_t *)_CCMODE_SIV_CTX(K)->block) + + + + + +#endif /* _CORECRYPTO_CCMODE_SIV_PRIV_H_ */ diff --git a/corecrypto/ccn.h b/corecrypto/ccn.h new file mode 100644 index 0000000..9cc442b --- /dev/null +++ b/corecrypto/ccn.h @@ -0,0 +1,704 @@ +/* + * Copyright (c) 2010,2011,2012,2013,2014,2015,2016,2017,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCN_H_ +#define _CORECRYPTO_CCN_H_ + +#include +#include +#include + +typedef uint8_t cc_byte; +typedef size_t cc_size; + +#if CCN_UNIT_SIZE == 8 +typedef uint64_t cc_unit; // 64 bit unit +typedef int64_t cc_int; +#define CCN_LOG2_BITS_PER_UNIT 6 // 2^6 = 64 bits +#define CC_UNIT_C(x) UINT64_C(x) + #if CCN_UINT128_SUPPORT_FOR_64BIT_ARCH + typedef unsigned cc_dunit __attribute__((mode(TI))); // 128 bit double width unit + typedef signed cc_dint __attribute__((mode(TI))); + #else + typedef struct cc_dunit { + uint64_t l; //do not change the order of the variables. cc_dunit must be little endian + uint64_t h; + } cc_dunit; + + typedef struct cc_dint { + uint64_t l; + uint64_t h; + } cc_dint; + #endif + +#elif CCN_UNIT_SIZE == 4 +typedef uint32_t cc_unit; // 32 bit unit +typedef uint64_t cc_dunit; // 64 bit double width unit +typedef int64_t cc_dint; +typedef int32_t cc_int; +#define CCN_LOG2_BITS_PER_UNIT 5 // 2^5 = 32 bits +#define CC_UNIT_C(x) UINT32_C(x) + +#elif CCN_UNIT_SIZE == 2 +typedef uint16_t cc_unit; // 16 bit unit +typedef uint32_t cc_dunit; // 32 bit double width unit +#define CCN_LOG2_BITS_PER_UNIT 4 // 2^4 = 16 bits +#define CC_UNIT_C(x) UINT16_C(x) + +#elif CCN_UNIT_SIZE == 1 +typedef uint8_t cc_unit; // 8 bit unit +typedef uint16_t cc_dunit; // 16 bit double width unit +#define CCN_LOG2_BITS_PER_UNIT 3 // 2^3 = 8 bits +#define CC_UNIT_C(x) UINT8_C(x) + +#else +#error invalid CCN_UNIT_SIZE +#endif + +// All mp types have units in little endian unit order. +typedef cc_unit *ccn_t; // n unit long mp +typedef cc_unit *ccnp1_t; // n + 1 unit long mp +typedef cc_unit *cc2n_t; // 2 * n unit long mp +typedef cc_unit *cc2np2_t; // 2 * n + 2 unit long mp +typedef const cc_unit *ccn_in_t; // n unit long mp +typedef const cc_unit *ccnp1_in_t; // n + 1 unit long mp +typedef const cc_unit *cc2n_in_t; // 2 * n unit long mp +typedef const cc_unit *cc2np2_in_t; // 2 * n + 2 unit long mp + +#define CCN_UNIT_BITS (sizeof(cc_unit) * 8) +#define CCN_UNIT_MASK ((cc_unit)~0) + +typedef struct { + cc_unit *start; // First cc_unit of the workspace + cc_unit *end; // address and beyond NOT TO BE TOUCHED +} cc_ws,*cc_ws_t; + +/* Conversions between n sizeof and bits */ + +/* Returns the sizeof a ccn vector of length _n_ units. */ +#define ccn_sizeof_n(_n_) (sizeof(cc_unit) * (_n_)) + +/* Returns the count (n) of a ccn vector that can represent _bits_. */ +#define ccn_nof(_bits_) (((_bits_) + CCN_UNIT_BITS - 1) >> CCN_LOG2_BITS_PER_UNIT) + +/* Returns the sizeof a ccn vector that can represent _bits_. */ +#define ccn_sizeof(_bits_) (ccn_sizeof_n(ccn_nof(_bits_))) + +/* Returns the count (n) of a ccn vector that can represent _size_ bytes. */ +#define ccn_nof_size(_size_) (((_size_) + CCN_UNIT_SIZE - 1) / CCN_UNIT_SIZE) + +/* Return the max number of bits a ccn vector of _n_ units can hold. */ +#define ccn_bitsof_n(_n_) ((_n_) * CCN_UNIT_BITS) + +/* Return the max number of bits a ccn vector of _size_ bytes can hold. */ +#define ccn_bitsof_size(_size_) ((_size_) * 8) + +/* Return the size of a ccn of size bytes in bytes. */ +#define ccn_sizeof_size(_size_) ccn_sizeof_n(ccn_nof_size(_size_)) + +/* Returns the value of bit _k_ of _ccn_, both are only evaluated once. */ +#define ccn_bit(_ccn_, _k_) ({__typeof__ (_k_) __k = (_k_); \ + 1 & ((_ccn_)[ __k >> CCN_LOG2_BITS_PER_UNIT] >> (__k & (CCN_UNIT_BITS - 1)));}) + +/* Set the value of bit _k_ of _ccn_ to the value _v_ */ +#define ccn_set_bit(_ccn_, _k_, _v_) ({__typeof__ (_k_) __k = (_k_); \ + if (_v_) \ + (_ccn_)[ __k >> CCN_LOG2_BITS_PER_UNIT] |= CC_UNIT_C(1) << (__k & (CCN_UNIT_BITS - 1)); \ + else \ + (_ccn_)[ __k >> CCN_LOG2_BITS_PER_UNIT] &= ~(CC_UNIT_C(1) << (__k & (CCN_UNIT_BITS - 1))); \ + }) + +/* Macros for making ccn constants. You must use list of CCN64_C() instances + separated by commas, with an optional smaller sized CCN32_C, CCN16_C, or + CCN8_C() instance at the end of the list, when making macros to declare + larger sized constants. */ +#define CCN8_C(a0) CC_UNIT_C(0x##a0) + +#if CCN_UNIT_SIZE >= 2 +#define CCN16_C(a1,a0) CC_UNIT_C(0x##a1##a0) +#define ccn16_v(a0) (a0) +#elif CCN_UNIT_SIZE == 1 +#define CCN16_C(a1,a0) CCN8_C(a0),CCN8_C(a1) +#define ccn16_v(a0) (a0 & UINT8_C(0xff)),(a0 >> 8) +#endif + +#if CCN_UNIT_SIZE >= 4 +#define CCN32_C(a3,a2,a1,a0) CC_UNIT_C(0x##a3##a2##a1##a0) +#define ccn32_v(a0) (a0) +#else +#define CCN32_C(a3,a2,a1,a0) CCN16_C(a1,a0),CCN16_C(a3,a2) +#define ccn32_v(a0) ccn16_v(a0 & UINT16_C(0xffff)),ccn16_v(a0 >> 16) +#endif + +#if CCN_UNIT_SIZE == 8 +#define CCN64_C(a7,a6,a5,a4,a3,a2,a1,a0) CC_UNIT_C(0x##a7##a6##a5##a4##a3##a2##a1##a0) +#define CCN40_C(a4,a3,a2,a1,a0) CC_UNIT_C(0x##a4##a3##a2##a1##a0) +#define ccn64_v(a0) (a0) +//#define ccn64_32(a1,a0) ((a1 << 32) | a0) +//#define ccn_uint64(a,i) (a[i]) +#else +#define CCN64_C(a7,a6,a5,a4,a3,a2,a1,a0) CCN32_C(a3,a2,a1,a0),CCN32_C(a7,a6,a5,a4) +#define CCN40_C(a4,a3,a2,a1,a0) CCN32_C(a3,a2,a1,a0),CCN8_C(a4) +#define ccn64_v(a0) ccn32_v((uint64_t)a0 & UINT32_C(0xffffffff)),ccn32_v((uint64_t)a0 >> 32) +//#define ccn64_32(a1,a0) ccn32_v(a0),ccn32_v(a1) +//#define ccn_uint64(a,i) ((uint64_t)ccn_uint32(a, i << 1 + 1) << 32 | (uint64_t)ccn_uint32(a, i << 1)) +#endif + +/* Macro's for reading uint32_t and uint64_t from ccns, the index is in 32 or + 64 bit units respectively. */ +#if CCN_UNIT_SIZE == 8 +/* #define ccn_uint16(a,i) ((i & 3) == 3 ? ((uint16_t)(a[i >> 2] >> 48)) : \ + (i & 3) == 2 ? ((uint16_t)(a[i >> 2] >> 32) & UINT16_C(0xffff)) : \ + (i & 3) == 1 ? ((uint16_t)(a[i >> 2] >> 16) & UINT16_C(0xffff)) : \ + ((uint16_t)(a[i >> 1] & UINT16_C(0xffff)))) +*/ +//#define ccn_uint32(a,i) (i & 1 ? ((uint32_t)(a[i >> 1] >> 32)) : ((uint32_t)(a[i >> 1] & UINT32_C(0xffffffff)))) +#elif CCN_UNIT_SIZE == 4 +//#define ccn16_v(a0) (a0) +//#define ccn32_v(a0) (a0) +//#define ccn_uint16(a,i) (i & 1 ? ((uint16_t)(a[i >> 1] >> 16)) : ((uint16_t)(a[i >> 1] & UINT16_C(0xffff)))) +//#define ccn_uint32(a,i) (a[i]) +#elif CCN_UNIT_SIZE == 2 +//#define ccn16_v(a0) (a0) +//#define ccn32_v(a0,a1) (a1,a0) +//#define ccn_uint16(a,i) (a[i]) +//#define ccn_uint32(a,i) (((uint32_t)a[i << 1 + 1]) << 16 | (uint32_t)a[i << 1])) +#elif CCN_UNIT_SIZE == 1 +//#define ccn16_v(a0) (a0 & UINT8_C(0xff)),(a0 >> 8) +//#define ccn_uint16(a,i) ((uint16_t)((a[i << 1 + 1] << 8) | a[i << 1])) +//#define ccn_uint32(a,i) ((uint32_t)ccn_uint16(a, i << 1 + 1) << 16 | (uint32_t)ccn_uint16(a, i << 1)) +#endif + +/* Macro's for reading uint32_t and uint64_t from ccns, the index is in 32 or + 64 bit units respectively. */ +#if CCN_UNIT_SIZE == 8 + +#define ccn64_32(a1,a0) (((const cc_unit)a1) << 32 | ((const cc_unit)a0)) +#define ccn32_32(a0) a0 +#if __LITTLE_ENDIAN__ +#define ccn32_32_parse(p,i) (((const uint32_t *)p)[i]) +#else +#define ccn32_32_parse(p,i) (((const uint32_t *)p)[i^1]) +#endif +#define ccn32_32_null 0 + +#define ccn64_64(a0) a0 +#define ccn64_64_parse(p,i) p[i] +#define ccn64_64_null 0 + +#elif CCN_UNIT_SIZE == 4 + +#define ccn32_32(a0) a0 +#define ccn32_32_parse(p,i) p[i] +#define ccn32_32_null 0 +#define ccn64_32(a1,a0) ccn32_32(a0),ccn32_32(a1) + +#define ccn64_64(a1,a0) a0,a1 +#define ccn64_64_parse(p,i) p[1+(i<<1)],p[i<<1] +#define ccn64_64_null 0,0 + +#elif CCN_UNIT_SIZE == 2 + +#define ccn32_32(a1,a0) a0,a1 +#define ccn32_32_parse(p,i) p[1+(i<<1)],p[i<<1] +#define ccn32_32_null 0,0 +#define ccn64_32(a3,a2,a1,a0) ccn32_32(a1,a0),ccn32_32(a3,a2) + +#define ccn64_64(a3,a2,a1,a0) a0,a1,a2,a3 +#define ccn64_64_parse(p,i) p[3+(i<<2)],p[2+(i<<2)],p[1+(i<<2)],p[i<<2] +#define ccn64_64_null 0,0,0,0 + +#elif CCN_UNIT_SIZE == 1 + +#define ccn32_32(a3,a2,a1,a0) a0,a1,a2,a3 +#define ccn32_32_parse(p,i) p[3+(i<<2)],p[2+(i<<2)],p[1+(i<<2)],p[i<<2] +#define ccn32_32_null 0,0,0,0 +#define ccn64_32(a7,a6,a5,a4,a3,a2,a1,a0) ccn32_32(a3,a2,a1,a0),ccn32_32(a7,a6,a5,a4) + +#define ccn64_64(a7,a6,a5,a4,a3,a2,a1,a0) a0,a1,a2,a3,a4,a5,a6,a7 +#define ccn64_64_parse(p,i) p[7+(i<<3)],p[6+(i<<3)],p[5+(i<<3)],p[4+(i<<3)],p[3+(i<<3)],p[2+(i<<3)],p[1+(i<<3)],p[i<<3] +#define ccn64_64_null 0,0,0,0,0,0,0,0 + +#endif + + +/* Macros to construct fixed size ccn arrays from 64 or 32 bit quantities. */ +#define ccn192_64(a2,a1,a0) ccn64_64(a0),ccn64_64(a1),ccn64_64(a2) +#define ccn224_32(a6,a5,a4,a3,a2,a1,a0) ccn64_32(a1,a0),ccn64_32(a3,a2),ccn64_32(a5,a4),ccn32_32(a6) +#define ccn256_32(a7,a6,a5,a4,a3,a2,a1,a0) ccn64_32(a1,a0),ccn64_32(a3,a2),ccn64_32(a5,a4),ccn64_32(a7,a6) +#define ccn384_32(a11,a10,a9,a8,a7,a6,a5,a4,a3,a2,a1,a0) ccn64_32(a1,a0),ccn64_32(a3,a2),ccn64_32(a5,a4),ccn64_32(a7,a6),ccn64_32(a9,a8),ccn64_32(a11,a10) + + +#define CCN192_C(c7,c6,c5,c4,c3,c2,c1,c0,b7,b6,b5,b4,b3,b2,b1,b0,a7,a6,a5,a4,a3,a2,a1,a0) \ + CCN64_C(a7,a6,a5,a4,a3,a2,a1,a0),\ + CCN64_C(b7,b6,b5,b4,b3,b2,b1,b0),\ + CCN64_C(c7,c6,c5,c4,c3,c2,c1,c0) + +#define CCN200_C(d0,c7,c6,c5,c4,c3,c2,c1,c0,b7,b6,b5,b4,b3,b2,b1,b0,a7,a6,a5,a4,a3,a2,a1,a0) \ + CCN192_C(c7,c6,c5,c4,c3,c2,c1,c0,b7,b6,b5,b4,b3,b2,b1,b0,a7,a6,a5,a4,a3,a2,a1,a0),\ + CCN8_C(d0) + +#define CCN224_C(d3,d2,d1,d0,c7,c6,c5,c4,c3,c2,c1,c0,b7,b6,b5,b4,b3,b2,b1,b0,a7,a6,a5,a4,a3,a2,a1,a0) \ + CCN192_C(c7,c6,c5,c4,c3,c2,c1,c0,b7,b6,b5,b4,b3,b2,b1,b0,a7,a6,a5,a4,a3,a2,a1,a0),\ + CCN32_C(d3,d2,d1,d0) + +#define CCN232_C(d4,d3,d2,d1,d0,c7,c6,c5,c4,c3,c2,c1,c0,b7,b6,b5,b4,b3,b2,b1,b0,a7,a6,a5,a4,a3,a2,a1,a0) \ + CCN192_C(c7,c6,c5,c4,c3,c2,c1,c0,b7,b6,b5,b4,b3,b2,b1,b0,a7,a6,a5,a4,a3,a2,a1,a0),\ + CCN40_C(d4,d3,d2,d1,d0) + +#define CCN256_C(d7,d6,d5,d4,d3,d2,d1,d0,c7,c6,c5,c4,c3,c2,c1,c0,b7,b6,b5,b4,b3,b2,b1,b0,a7,a6,a5,a4,a3,a2,a1,a0) \ + CCN192_C(c7,c6,c5,c4,c3,c2,c1,c0,b7,b6,b5,b4,b3,b2,b1,b0,a7,a6,a5,a4,a3,a2,a1,a0),\ + CCN64_C(d7,d6,d5,d4,d3,d2,d1,d0) + +#define CCN264_C(e0,d7,d6,d5,d4,d3,d2,d1,d0,c7,c6,c5,c4,c3,c2,c1,c0,b7,b6,b5,b4,b3,b2,b1,b0,a7,a6,a5,a4,a3,a2,a1,a0) \ + CCN256_C(d7,d6,d5,d4,d3,d2,d1,d0,c7,c6,c5,c4,c3,c2,c1,c0,b7,b6,b5,b4,b3,b2,b1,b0,a7,a6,a5,a4,a3,a2,a1,a0),\ + CCN8_C(e0) + +#define CCN384_C(f7,f6,f5,f4,f3,f2,f1,f0,e7,e6,e5,e4,e3,e2,e1,e0,d7,d6,d5,d4,d3,d2,d1,d0,c7,c6,c5,c4,c3,c2,c1,c0,b7,b6,b5,b4,b3,b2,b1,b0,a7,a6,a5,a4,a3,a2,a1,a0) \ + CCN256_C(d7,d6,d5,d4,d3,d2,d1,d0,c7,c6,c5,c4,c3,c2,c1,c0,b7,b6,b5,b4,b3,b2,b1,b0,a7,a6,a5,a4,a3,a2,a1,a0),\ + CCN64_C(e7,e6,e5,e4,e3,e2,e1,e0),\ + CCN64_C(f7,f6,f5,f4,f3,f2,f1,f0) + +#define CCN392_C(g0,f7,f6,f5,f4,f3,f2,f1,f0,e7,e6,e5,e4,e3,e2,e1,e0,d7,d6,d5,d4,d3,d2,d1,d0,c7,c6,c5,c4,c3,c2,c1,c0,b7,b6,b5,b4,b3,b2,b1,b0,a7,a6,a5,a4,a3,a2,a1,a0) \ + CCN384_C(f7,f6,f5,f4,f3,f2,f1,f0,e7,e6,e5,e4,e3,e2,e1,e0,d7,d6,d5,d4,d3,d2,d1,d0,c7,c6,c5,c4,c3,c2,c1,c0,b7,b6,b5,b4,b3,b2,b1,b0,a7,a6,a5,a4,a3,a2,a1,a0),\ + CCN8_C(g0) + +#define CCN528_C(i1,i0,h7,h6,h5,h4,h3,h2,h1,h0,g7,g6,g5,g4,g3,g2,g1,g0,f7,f6,f5,f4,f3,f2,f1,f0,e7,e6,e5,e4,e3,e2,e1,e0,d7,d6,d5,d4,d3,d2,d1,d0,c7,c6,c5,c4,c3,c2,c1,c0,b7,b6,b5,b4,b3,b2,b1,b0,a7,a6,a5,a4,a3,a2,a1,a0) \ + CCN256_C(d7,d6,d5,d4,d3,d2,d1,d0,c7,c6,c5,c4,c3,c2,c1,c0,b7,b6,b5,b4,b3,b2,b1,b0,a7,a6,a5,a4,a3,a2,a1,a0),\ + CCN256_C(h7,h6,h5,h4,h3,h2,h1,h0,g7,g6,g5,g4,g3,g2,g1,g0,f7,f6,f5,f4,f3,f2,f1,f0,e7,e6,e5,e4,e3,e2,e1,e0),\ + CCN16_C(i1,i0) + +#define CCN192_N ccn_nof(192) +#define CCN224_N ccn_nof(224) +#define CCN256_N ccn_nof(256) +#define CCN384_N ccn_nof(384) +#define CCN512_N ccn_nof(512) +#define CCN521_N ccn_nof(521) + +/* Return the number of used units after stripping leading 0 units. */ +CC_PURE CC_NONNULL2 +cc_size ccn_n(cc_size n, const cc_unit *s); + +/* s >> k -> r return bits shifted out of least significant word in bits [0, n> + { N bit, scalar -> N bit } N = n * sizeof(cc_unit) * 8 + the _multi version doesn't return the shifted bits, but does support multiple + word shifts. */ +CC_NONNULL((2, 3)) +cc_unit ccn_shift_right(cc_size n, cc_unit *r, const cc_unit *s, size_t k); +CC_NONNULL((2, 3)) +void ccn_shift_right_multi(cc_size n, cc_unit *r,const cc_unit *s, size_t k); + +/* s << k -> r return bits shifted out of most significant word in bits [0, n> + { N bit, scalar -> N bit } N = n * sizeof(cc_unit) * 8 + the _multi version doesn't return the shifted bits, but does support multiple + word shifts */ +CC_NONNULL((2, 3)) +cc_unit ccn_shift_left(cc_size n, cc_unit *r, const cc_unit *s, size_t k); +CC_NONNULL((2, 3)) +void ccn_shift_left_multi(cc_size n, cc_unit *r, const cc_unit *s, size_t k); + +/* s == 0 -> return 0 | s > 0 -> return index (starting at 1) of most + significant bit that is 1. + { N bit } N = n * sizeof(cc_unit) * 8 */ +CC_NONNULL2 +size_t ccn_bitlen(cc_size n, const cc_unit *s); + +/* Returns the number of bits which are zero before the first one bit + counting from least to most significant bit. */ +CC_NONNULL2 +size_t ccn_trailing_zeros(cc_size n, const cc_unit *s); + +/* s == 0 -> return true | s != 0 -> return false + { N bit } N = n * sizeof(cc_unit) * 8 */ +#define ccn_is_zero(_n_, _s_) (!ccn_n(_n_, _s_)) + +/* s == 1 -> return true | s != 1 -> return false + { N bit } N = n * sizeof(cc_unit) * 8 */ +#define ccn_is_one(_n_, _s_) (ccn_n(_n_, _s_) == 1 && _s_[0] == 1) + +#define ccn_is_zero_or_one(_n_, _s_) (((_n_)==0) || ((ccn_n(_n_, _s_) <= 1) && (_s_[0] <= 1))) + +/* s < t -> return - 1 | s == t -> return 0 | s > t -> return 1 + { N bit, N bit -> int } N = n * sizeof(cc_unit) * 8 */ +CC_PURE CC_NONNULL((2, 3)) +int ccn_cmp(cc_size n, const cc_unit *s, const cc_unit *t); + +/* s < t -> return - 1 | s == t -> return 0 | s > t -> return 1 + { N bit, M bit -> int } N = ns * sizeof(cc_unit) * 8 M = nt * sizeof(cc_unit) * 8 */ +CC_INLINE CC_NONNULL((2, 4)) +int ccn_cmpn(cc_size ns, const cc_unit *s, + cc_size nt, const cc_unit *t) { + if (ns > nt) { + return 1; + } else if (ns < nt) { + return -1; + } + return ccn_cmp(ns, s, t); +} + +/* s - t -> r return 1 iff t > s + { N bit, N bit -> N bit } N = n * sizeof(cc_unit) * 8 */ +CC_NONNULL((2, 3, 4)) +cc_unit ccn_sub(cc_size n, cc_unit *r, const cc_unit *s, const cc_unit *t); + +/* |s - t| -> r return 1 iff t > s, 0 otherwise */ +cc_unit ccn_abs(cc_size n, cc_unit *r, const cc_unit *s, const cc_unit *t); + +/* s - v -> r return 1 iff v > s return 0 otherwise. + { N bit, sizeof(cc_unit) * 8 bit -> N bit } N = n * sizeof(cc_unit) * 8 */ +CC_NONNULL((2, 3)) +cc_unit ccn_sub1(cc_size n, cc_unit *r, const cc_unit *s, cc_unit v); + +/* s - t -> r return 1 iff t > s + { N bit, NT bit -> N bit NT <= N} N = n * sizeof(cc_unit) * 8 */ +CC_INLINE +CC_NONNULL((2, 3, 5)) +cc_unit ccn_subn(cc_size n, cc_unit *r, const cc_unit *s, + cc_size nt, const cc_unit *t) { + assert(n >= nt); + return ccn_sub1(n - nt, r + nt, s + nt, ccn_sub(nt, r, s, t)); +} + + +/* s + t -> r return carry if result doesn't fit in n bits. + { N bit, N bit -> N bit } N = n * sizeof(cc_unit) * 8 */ +CC_NONNULL((2, 3, 4)) +cc_unit ccn_add(cc_size n, cc_unit *r, const cc_unit *s, const cc_unit *t); + +/* s + v -> r return carry if result doesn't fit in n bits. + { N bit, sizeof(cc_unit) * 8 bit -> N bit } N = n * sizeof(cc_unit) * 8 */ +CC_NONNULL((2, 3)) +cc_unit ccn_add1(cc_size n, cc_unit *r, const cc_unit *s, cc_unit v); + +/* s + t -> r return carry if result doesn't fit in n bits + { N bit, NT bit -> N bit NT <= N} N = n * sizeof(cc_unit) * 8 */ +CC_INLINE +CC_NONNULL((2, 3, 5)) +cc_unit ccn_addn(cc_size n, cc_unit *r, const cc_unit *s, + cc_size nt, const cc_unit *t) { + assert(n >= nt); + return ccn_add1(n - nt, r + nt, s + nt, ccn_add(nt, r, s, t)); +} + + +CC_NONNULL((2, 3, 4)) +void ccn_lcm(cc_size n, cc_unit *r2n, const cc_unit *s, const cc_unit *t); + + +/* s * t -> r_2n r_2n must not overlap with s nor t + { n bit, n bit -> 2 * n bit } n = count * sizeof(cc_unit) * 8 + { N bit, N bit -> 2N bit } N = ccn_bitsof(n) */ +CC_NONNULL((2, 3, 4)) +void ccn_mul(cc_size n, cc_unit *r_2n, const cc_unit *s, const cc_unit *t); + +/* s * t -> r_2n r_2n must not overlap with s nor t + { n bit, n bit -> 2 * n bit } n = count * sizeof(cc_unit) * 8 + { N bit, N bit -> 2N bit } N = ccn_bitsof(n) + Provide a workspace for potential speedup */ +CC_NONNULL((1, 3, 4, 5)) +void ccn_mul_ws(cc_ws_t ws, cc_size count, cc_unit *r, const cc_unit *s, const cc_unit *t); + +/* s[0..n) * v -> r[0..n)+return value + { N bit, sizeof(cc_unit) * 8 bit -> N + sizeof(cc_unit) * 8 bit } N = n * sizeof(cc_unit) * 8 */ +CC_NONNULL((2, 3)) +cc_unit ccn_mul1(cc_size n, cc_unit *r, const cc_unit *s, const cc_unit v); + +/* s[0..n) * v + r[0..n) -> r[0..n)+return value + { N bit, sizeof(cc_unit) * 8 bit -> N + sizeof(cc_unit) * 8 bit } N = n * sizeof(cc_unit) * 8 */ +CC_NONNULL((2, 3)) +cc_unit ccn_addmul1(cc_size n, cc_unit *r, const cc_unit *s, const cc_unit v); + +#if 0 +/* a % d -> n + {2 * n bit, n bit -> n bit } n = count * sizeof(cc_unit) * 8 */ +CC_NONNULL((2, 3, 4)) +void ccn_mod(cc_size n, cc_unit *r, const cc_unit *a_2n, const cc_unit *d); +#endif + +/* r = gcd(s, t). + N bit, N bit -> N bit */ +CC_NONNULL((2, 3, 4)) +void ccn_gcd(cc_size n, cc_unit *r, const cc_unit *s, const cc_unit *t); + +/* r = gcd(s, t). + N bit, N bit -> O bit */ +CC_NONNULL((2, 4, 6)) +void ccn_gcdn(cc_size rn, cc_unit *r, cc_size sn, const cc_unit *s, cc_size tn, const cc_unit *t); + +/* r = (data, len) treated as a big endian byte array, return -1 if data + doesn't fit in r, return 0 otherwise. */ +CC_NONNULL((2, 4)) +int ccn_read_uint(cc_size n, cc_unit *r, size_t data_size, const uint8_t *data); + +/* r = (data, len) treated as a big endian byte array, return -1 if data + doesn't fit in r, return 0 otherwise. + ccn_read_uint strips leading zeroes and doesn't care about sign. */ +#define ccn_read_int(n, r, data_size, data) ccn_read_uint(n, r, data_size, data) + +/* Return actual size in bytes needed to serialize s. */ +CC_PURE CC_NONNULL2 +size_t ccn_write_uint_size(cc_size n, const cc_unit *s); + +/* Serialize s, to out. + First byte of byte stream is the m.s. byte of s, + regardless of the size of cc_unit. + + No assumption is made about the alignment of out. + + The out_size argument should be the value returned from ccn_write_uint_size, + and is also the exact number of bytes this function will write to out. + If out_size if less than the value returned by ccn_write_uint_size, only the + first out_size non-zero most significant octets of s will be written. */ +CC_NONNULL((2, 4)) +void ccn_write_uint(cc_size n, const cc_unit *s, size_t out_size, void *out); + + +CC_INLINE CC_NONNULL((2, 4)) +cc_size ccn_write_uint_padded(cc_size n, const cc_unit* s, size_t out_size, uint8_t* to) +{ + size_t bytesInKey = ccn_write_uint_size(n, s); + cc_size offset = (out_size > bytesInKey) ? out_size - bytesInKey : 0; + + cc_zero(offset, to); + ccn_write_uint(n, s, out_size - offset, to + offset); + + return offset; +} + + +/* Return actual size in bytes needed to serialize s as int + (adding leading zero if high bit is set). */ +CC_PURE CC_NONNULL2 +size_t ccn_write_int_size(cc_size n, const cc_unit *s); + +/* Serialize s, to out. + First byte of byte stream is the m.s. byte of s, + regardless of the size of cc_unit. + + No assumption is made about the alignment of out. + + The out_size argument should be the value returned from ccn_write_int_size, + and is also the exact number of bytes this function will write to out. + If out_size if less than the value returned by ccn_write_int_size, only the + first out_size non-zero most significant octets of s will be written. */ +CC_NONNULL((2, 4)) +void ccn_write_int(cc_size n, const cc_unit *s, size_t out_size, void *out); + +#if CCN_DEDICATED_SQR + +/* s^2 -> r + { n bit -> 2 * n bit } */ +CC_NONNULL((2, 3)) +void ccn_sqr(cc_size n, cc_unit *r, const cc_unit *s); + +/* s^2 -> r + { n bit -> 2 * n bit } */ +CC_NONNULL((1, 3, 4)) +void ccn_sqr_ws(cc_ws_t ws, cc_size n, cc_unit *r, const cc_unit *s); + +#else + +/* s^2 -> r + { n bit -> 2 * n bit } */ +CC_INLINE CC_NONNULL((2, 3)) +void ccn_sqr(cc_size n, cc_unit *r, const cc_unit *s) { + ccn_mul(n, r, s, s); +} + +/* s^2 -> r + { n bit -> 2 * n bit } */ +CC_INLINE CC_NONNULL((2, 3, 4)) +void ccn_sqr_ws(cc_ws_t ws, cc_size n, cc_unit *r, const cc_unit *s) { + ccn_mul_ws(ws, n, r, s, s); +} + +#endif + +/* s -> r + { n bit -> n bit } */ +CC_NONNULL((2, 3)) +void ccn_set(cc_size n, cc_unit *r, const cc_unit *s); + +CC_INLINE CC_NONNULL2 +void ccn_zero(cc_size n, cc_unit *r) { + cc_zero(ccn_sizeof_n(n),r); +} + +CC_INLINE CC_NONNULL2 +void ccn_clear(cc_size n, cc_unit *r) { + cc_clear(ccn_sizeof_n(n),r); +} + +CC_NONNULL2 +void ccn_zero_multi(cc_size n, cc_unit *r, ...); + +CC_INLINE CC_NONNULL2 +void ccn_seti(cc_size n, cc_unit *r, cc_unit v) { + /* assert(n > 0); */ + r[0] = v; + ccn_zero(n - 1, r + 1); +} + +CC_INLINE CC_NONNULL((2, 4)) +void ccn_setn(cc_size n, cc_unit *r, const cc_size s_size, const cc_unit *s) { + /* FIXME: assert not available in kernel. + assert(n > 0); + assert(s_size > 0); + assert(s_size <= n); + */ + ccn_set(s_size, r, s); + ccn_zero(n - s_size, r + s_size); +} + +#define CC_SWAP_HOST_BIG_64(x) \ + ((uint64_t)((((uint64_t)(x) & 0xff00000000000000ULL) >> 56) | \ + (((uint64_t)(x) & 0x00ff000000000000ULL) >> 40) | \ + (((uint64_t)(x) & 0x0000ff0000000000ULL) >> 24) | \ + (((uint64_t)(x) & 0x000000ff00000000ULL) >> 8) | \ + (((uint64_t)(x) & 0x00000000ff000000ULL) << 8) | \ + (((uint64_t)(x) & 0x0000000000ff0000ULL) << 24) | \ + (((uint64_t)(x) & 0x000000000000ff00ULL) << 40) | \ + (((uint64_t)(x) & 0x00000000000000ffULL) << 56))) +#define CC_SWAP_HOST_BIG_32(x) \ + ((((x) & 0xff000000) >> 24) | \ + (((x) & 0x00ff0000) >> 8) | \ + (((x) & 0x0000ff00) << 8) | \ + (((x) & 0x000000ff) << 24)) +#define CC_SWAP_HOST_BIG_16(x) \ + ((((x) & 0xff00) >> 8) | \ + (((x) & 0x00ff) << 8)) + +/* This should probably move if we move ccn_swap out of line. */ +#if CCN_UNIT_SIZE == 8 +#define CC_UNIT_TO_BIG(x) CC_SWAP_HOST_BIG_64(x) +#elif CCN_UNIT_SIZE == 4 +#define CC_UNIT_TO_BIG(x) CC_SWAP_HOST_BIG_32(x) +#elif CCN_UNIT_SIZE == 2 +#define CC_UNIT_TO_BIG(x) CC_SWAP_HOST_BIG_16(x) +#elif CCN_UNIT_SIZE == 1 +#define CC_UNIT_TO_BIG(x) (x) +#else +#error unsupported CCN_UNIT_SIZE +#endif + +/* Swap units in r in place from cc_unit vector byte order to big endian byte order (or back). */ +CC_INLINE CC_NONNULL2 +void ccn_swap(cc_size n, cc_unit *r) { + cc_unit *e; + for (e = r + n - 1; r < e; ++r, --e) { + cc_unit t = CC_UNIT_TO_BIG(*r); + *r = CC_UNIT_TO_BIG(*e); + *e = t; + } + if (n & 1) + *r = CC_UNIT_TO_BIG(*r); +} + +CC_INLINE CC_NONNULL((2, 3, 4)) +void ccn_xor(cc_size n, cc_unit *r, const cc_unit *s, const cc_unit *t) { + while (n--) { + r[n] = s[n] ^ t[n]; + } +} + +/* Debugging */ +CC_NONNULL2 +void ccn_print(cc_size n, const cc_unit *s); +CC_NONNULL3 +void ccn_lprint(cc_size n, const char *label, const cc_unit *s); + +/* Forward declaration so we don't depend on ccrng.h. */ +struct ccrng_state; + +#if 0 +CC_INLINE CC_NONNULL((2, 3)) +int ccn_random(cc_size n, cc_unit *r, struct ccrng_state *rng) { + return (RNG)->generate((RNG), ccn_sizeof_n(n), (unsigned char *)r); +} +#else +#define ccn_random(_n_,_r_,_ccrng_ctx_) \ + ccrng_generate(_ccrng_ctx_, ccn_sizeof_n(_n_), (unsigned char *)_r_) +#endif + +/* Make a ccn of size ccn_nof(nbits) units with up to nbits sized random value. */ +CC_NONNULL((2, 3)) +int ccn_random_bits(cc_size nbits, cc_unit *r, struct ccrng_state *rng); + +/*! + @brief ccn_make_recip(cc_size nd, cc_unit *recip, const cc_unit *d) computes the reciprocal of d: recip = 2^2b/d where b=bitlen(d) + + @param nd length of array d + @param recip returned reciprocal of size nd+1 + @param d input number d +*/ +CC_NONNULL((2, 3)) +int ccn_make_recip(cc_size nd, cc_unit *recip, const cc_unit *d); + +CC_NONNULL((6, 8)) +int ccn_div_euclid(cc_size nq, cc_unit *q, cc_size nr, cc_unit *r, cc_size na, const cc_unit *a, cc_size nd, const cc_unit *d); + +#define ccn_div(nq, q, na, a, nd, d) ccn_div_euclid(nq, q, 0, NULL, na, a, nd, d) +#define ccn_mod(nr, r, na, a, nd, d) ccn_div_euclid(0 , NULL, nr, r, na, a, nd, d) + +#endif /* _CORECRYPTO_CCN_H_ */ diff --git a/corecrypto/ccn_priv.h b/corecrypto/ccn_priv.h new file mode 100644 index 0000000..6f1b0bc --- /dev/null +++ b/corecrypto/ccn_priv.h @@ -0,0 +1,212 @@ +/* + * Copyright (c) 2014,2015,2016,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef corecrypto_ccn_priv_h +#define corecrypto_ccn_priv_h + +#include +#include +#include + +#define CCN_MUL_WS_WORKSPACE_N(n) (4*((n)+1)) + +#if CCN_DEDICATED_SQR +#define CCN_SQR_WS_WORKSPACE_N(n) (2*(n)) +#else +#define CCN_SQR_WS_WORKSPACE_N(n) CCN_MUL_WS_WORKSPACE_N((n)) +#endif + +// Same ccn_make_recip, takes a ws +//#define CCN_MAKE_RECIP_WORKSPACE_SIZE(n) (3*(n)) /* shift sub */ +#define CCN_MAKE_RECIP_WORKSPACE_SIZE(n) (7*n+CCN_MUL_WS_WORKSPACE_N(n+1)) /* newtonraphson */ +void ccn_make_recip_ws(cc_ws_t ws, cc_size nd, cc_unit *recip, const cc_unit *d); + +// Same ccn_div_euclid, takes a ws +//#define CCN_DIV_EUCLID_WORKSPACE_SIZE(na,nd) (nd+1 + CC_MAX(CCN_MAKE_RECIP_WORKSPACE_SIZE(nd),CCN_DIV_USE_RECIP_WORKSPACE_SIZE(na,nd))) +#define CCN_DIV_EUCLID_WORKSPACE_SIZE(na,nd) (nd+1 + 4+CCN_DIV_USE_RECIP_WORKSPACE_SIZE(na,nd)) +int ccn_div_euclid_ws(cc_ws_t ws, cc_size nq, cc_unit *q, cc_size nr, cc_unit *r, cc_size na, const cc_unit *a, cc_size nd, const cc_unit *d); + +/*! + @brief ccn_div_use_recip(nq, q, nr, r, na, a, nd, d) computes q=a/d and r=a%d + @discussion q and rcan be NULL. Reads na from a and nd from d. Writes nq in q and nr in r. nq and nr must be large enough to accomodate results, otherwise error is retuned. Execution time depends on the size of a. Computation is perfomed on of fixedsize and the leadig zeros of a of q are are also used in the computation. + @param nq length of array q that hold the quotients. The maximum length of quotient is the actual length of dividend a + @param q returned quotient. If nq is larger than needed, it is filled with leading zeros. If it is smaller, error is returned. q can be set to NULL, if not needed. + @param nr length of array r that hold the remainder. The maximum length of remainder is the actual length of divisor d + @param r returned remainder. If nr is larger than needed, it is filled with leading zeros. Ifi is smaller error is returned. r can be set to NULL if not required. + @param na length of dividend. Dividend may have leading zeros. + @param a input Dividend + @param nd length of input divisor. Divisor may have leading zeros. + @param d input Divisor + @param recip_d The reciprocal of d, of length nd+1. + + @return returns 0 if successful, negative of error. + */ +CC_NONNULL((7, 9, 10)) +#define CCN_DIV_USE_RECIP_WORKSPACE_SIZE(na,nd) (6*(CC_MAX(2*nd,na)) + 4 + na) +int ccn_div_use_recip_ws(cc_ws_t ws, cc_size nq, cc_unit *q, cc_size nr, cc_unit *r, cc_size na, const cc_unit *a, cc_size nd, const cc_unit *d, const cc_unit *recip_d); + + +/*! + @brief ccn_make_recip_newtonraphson(cc_size nd, cc_unit *recip, const cc_unit *d) computes the reciprocal of d: recip = 2^2b/d where b=bitlen(d) + @discussion This use the NewtonRaphson method. + @param nd length of array d + @param recip returned reciprocal of size nd+1 + @param d input integer + */ + +CC_NONNULL((3, 4)) +void ccn_make_recip_newtonraphson(cc_ws_t ws, cc_size nd, cc_unit *recip, const cc_unit *d); + + +/*! + @brief ccn_make_recip_shift_sub(cc_size nd, cc_unit *recip, const cc_unit *d) computes the reciprocal of d: recip = 2^2b/d where b=bitlen(d) + @discussion This use the Shift/Sub (binary division) method. + @param nd length of array d + @param recip returned reciprocal of size nd+1 + @param d input integer + */ +CC_NONNULL((3, 4)) +void ccn_make_recip_shift_sub(cc_ws_t ws, cc_size nd, cc_unit *recip, const cc_unit *d); + + +#if defined(_WIN32) + #include + #include + #if (CCN_UNIT_SIZE==8) + CC_INLINE cc_size clz64_win( uint64_t value ) + { + DWORD leading_zero; + _BitScanReverse64( &leading_zero, value ); + return 63 - leading_zero; + } + #define clz_win(x) clz64_win(x) + #elif (CCN_UNIT_SIZE<=4) + CC_INLINE cc_size clz32_win( uint32_t value ) + { + DWORD leading_zero; + _BitScanReverse( &leading_zero, value ); + return 31 - leading_zero; + } + #define clz_win(x) clz32_win(x) + #endif +#else //for clang * GNU + #if (CCN_UNIT_SIZE==8) + #define CC_BUILTIN_CLZ __builtin_clzll + #elif (CCN_UNIT_SIZE<=4) + #define CC_BUILTIN_CLZ __builtin_clzl + #endif +#endif + +/* Counts leading zeros in data, under the assumption that data is non-zero. */ +CC_INLINE CC_CONST cc_size cc_clz_nonzero(cc_unit data) { + cc_assert(data != 0); +#if defined(_WIN32) + return clz_win(data); +#elif defined __x86_64__ || defined __i386__ + /* On i386 and x86_64, we know clang and GCC will generate BSR for + * __builtin_clzl. This instruction IS NOT constant time on all micro- + * architectures, but it *is* constant time on all micro-architectures that + * have been used by Apple, and we expect that to continue to be the case. + * + * When building for x86_64h with clang, this produces LZCNT, which is exactly + * what we want. */ + return CC_BUILTIN_CLZ(data); +#elif defined __arm64__ || defined __arm__ + /* On arm and arm64, we know that clang and GCC generate the constant-time CLZ + * instruction from __builtin_clzl( ). */ + return CC_BUILTIN_CLZ(data); +#elif defined __GNUC__ +# warning Using __builtin_clzl( ) on an unknown architecture; it may not be constant-time. + /* If you find yourself seeing this warning, file a radar for someone to + * check whether or not __builtin_clzl( ) generates a constant-time + * implementation on the architecture you are targeting. If it does, append + * the name of that architecture to the list of "safe" architectures above. */ + return CC_BUILTIN_CLZ(data); +#else + #warning Using a non-constant time implementation of cc_clz_nonzero( ). + /* If you find yourself seeing this warning, the function ccn_bitlen will not + * be constant time in the resulting build of corecrypto. Please file a radar + * for someone to implement a constant-time cc_clz_nonzero for your targeted + * architecture and compiler pair. */ + cc_unit mask = CC_UNIT_C(1) << (CCN_UNIT_BITS - 1); + size_t b = 0; + while ((data & mask >> b) == 0) b++; + return b; +#endif +} + +// perform division the division a/d, whne size n of a are d are the same. Returns remainder r and +// a cc_unit quotient. To be used only in xgcd. Exported here for test purpose only. +CC_NONNULL((2, 3, 4)) +cc_unit ccn_div_equal_size(cc_size n, cc_unit *r, const cc_unit *a, const cc_unit *d); + +// Conditionally swap the content of r0 and r1 buffers in constant time +// r0:r1 <- r1*k1 + s0*(k1-1) +void ccn_cond_swap(cc_size n, + int ki, + cc_unit *r0, + cc_unit *r1); + + +#endif diff --git a/corecrypto/ccnistkdf.h b/corecrypto/ccnistkdf.h new file mode 100644 index 0000000..ba8f55a --- /dev/null +++ b/corecrypto/ccnistkdf.h @@ -0,0 +1,175 @@ +/* + * Copyright (c) 2013,2015,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCNISTKDF_H_ +#define _CORECRYPTO_CCNISTKDF_H_ + +#include + +/*! @function ccnistkdf_ctr_hmac + + @abstract Perform a NIST SP800-108 KDF in Counter Mode with an HMAC PRF. + http://csrc.nist.gov/publications/nistpubs/800-108/sp800-108.pdf + @discussion This performs the transformation of password and salt through + an HMAC PRF of the callers slection (any Digest, typically SHA-256) + returning dkLen bytes containing the entropy. + + + @param prf Pseudo-random function to be used + @param kdkLen Key Derivation Key Length + @param kdk Key derivation key, a key that is used as an input to a key derivation function + (along with other input data) to derive keying material. + @param labelLen label length + @param label A string that identifies the purpose for the derived keying material, + which is encoded as a binary string. The encoding method for the Label + is defined in a larger context, for example, in the protocol that uses a KDF. + @param contextLen context length + @param context A binary string containing the information related to the derived keying material. + It may include identities of parties who are deriving and/or using the derived + keying material and, optionally, a nonce known by the parties who derive the keys. + @param dkLen Derived Key Length + @param dk buffer for the results of the KDF transformation, must be dkLen big + + */ + +int ccnistkdf_ctr_hmac(const struct ccdigest_info *di, + size_t kdkLen, const void *kdk, + size_t labelLen, const void *label, + size_t contextLen, const void *context, + size_t dkLen, void *dk); + +int ccnistkdf_ctr_hmac_fixed(const struct ccdigest_info *di, + size_t kdkLen, const void *kdk, + size_t fixedDataLen, const void *fixedData, + size_t dkLen, void *dk); + +/*! @function ccnistkdf_fb_hmac + + @abstract Perform a NIST SP800-108 KDF in Feedback Mode with an HMAC PRF. + http://csrc.nist.gov/publications/nistpubs/800-108/sp800-108.pdf + + @param di digest info defining the digest type to use in the PRF. + @param use_counter determines whether a counter will be used for each round through the PRF (0 = off). + @param kdkLen Key Derivation Key Length + @param kdk Key derivation key, a key that is used as an input to a key derivation function + (along with other input data) to derive keying material. + @param labelLen label length + @param label A string that identifies the purpose for the derived keying material, + which is encoded as a binary string. The encoding method for the Label + is defined in a larger context, for example, in the protocol that uses a KDF. + @param contextLen context length + @param context A binary string containing the information related to the derived keying material. + It may include identities of parties who are deriving and/or using the derived + keying material and, optionally, a nonce known by the parties who derive the keys. + @param ivLen iv length + @param iv A binary string that is used as an initial value in computing the first iteration in + the feedback mode. It can be either public or secret. It may be an empty string. + @param dkLen Derived Key Length + @param dk buffer for the results of the KDF transformation, must be dkLen big + + */ + +int ccnistkdf_fb_hmac(const struct ccdigest_info *di, int use_counter, + size_t kdkLen, const void *kdk, + size_t labelLen, const void *label, + size_t contextLen, const void *context, + size_t ivLen, const void *iv, + size_t dkLen, void *dk); + +int ccnistkdf_fb_hmac_fixed(CC_UNUSED const struct ccdigest_info *di, int use_counter, + CC_UNUSED size_t kdkLen, CC_UNUSED const void *kdk, + CC_UNUSED size_t fixedDataLen, CC_UNUSED const void *fixedData, + CC_UNUSED size_t ivLen, CC_UNUSED const void *iv, + CC_UNUSED size_t dkLen, CC_UNUSED void *dk); + +/*! @function ccnistkdf_dpi_hmac + + @abstract Perform a NIST SP800-108 KDF in Double Pipeline Iteration Mode with an HMAC PRF. + http://csrc.nist.gov/publications/nistpubs/800-108/sp800-108.pdf + + @param di digest info defining the digest type to use in the PRF. + @param kdkLen Key Derivation Key Length + @param kdk Key derivation key, a key that is used as an input to a key derivation function + (along with other input data) to derive keying material. + @param labelLen label length + @param label A string that identifies the purpose for the derived keying material, + which is encoded as a binary string. The encoding method for the Label + is defined in a larger context, for example, in the protocol that uses a KDF. + @param contextLen context length + @param context A binary string containing the information related to the derived keying material. + It may include identities of parties who are deriving and/or using the derived + keying material and, optionally, a nonce known by the parties who derive the keys. + @param dkLen Derived Key Length + @param dk buffer for the results of the KDF transformation, must be dkLen big + + */ + +int ccnistkdf_dpi_hmac(const struct ccdigest_info *di, + size_t kdkLen, const void *kdk, + size_t labelLen, const void *label, + size_t contextLen, const void *context, + size_t dkLen, void *dk); + + +#endif /* _CORECRYPTO_CCNISTKDF_H_ */ diff --git a/corecrypto/ccpad.h b/corecrypto/ccpad.h new file mode 100644 index 0000000..07fa19e --- /dev/null +++ b/corecrypto/ccpad.h @@ -0,0 +1,127 @@ +/* + * Copyright (c) 2010,2011,2012,2014,2015,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCPAD_H_ +#define _CORECRYPTO_CCPAD_H_ + +#include + +// CTS1,2,3 are defined in Addendum to 800-38A, +// "Cipher Modes of Operation: Three Variants of Ciphertext Stealing for CBC Mode" +// CTS3 is also known as "CTS" in RFC3962 + +/* Contract is nbytes is at least 1 block + 1 byte. Also in is nbytes long out is nbytes long. */ +size_t ccpad_cts1_decrypt(const struct ccmode_cbc *cbc, cccbc_ctx *ctx, cccbc_iv *iv, + size_t nbytes, const void *in, void *out); + +/* Contract is nbytes is at least 1 block + 1 byte. Also in is nbytes long out is nbytes long. */ +size_t ccpad_cts1_encrypt(const struct ccmode_cbc *cbc, cccbc_ctx *ctx, cccbc_iv *iv, + size_t nbytes, const void *in, void *out); +/* Contract is nbytes is at least 1 block + 1 byte. Also in is nbytes long out is nbytes long. */ +size_t ccpad_cts2_decrypt(const struct ccmode_cbc *cbc, cccbc_ctx *ctx, cccbc_iv *iv, + size_t nbytes, const void *in, void *out); + +/* Contract is nbytes is at least 1 block + 1 byte. Also in is nbytes long out is nbytes long. */ +size_t ccpad_cts2_encrypt(const struct ccmode_cbc *cbc, cccbc_ctx *ctx, cccbc_iv *iv, + size_t nbytes, const void *in, void *out); +/* Contract is nbytes is at least 1 block + 1 byte. Also in is nbytes long out is nbytes long. */ +size_t ccpad_cts3_decrypt(const struct ccmode_cbc *cbc, cccbc_ctx *ctx, cccbc_iv *iv, + size_t nbytes, const void *in, void *out); + +/* Contract is nbytes is at least 1 block + 1 byte. Also in is nbytes long out is nbytes long. */ +size_t ccpad_cts3_encrypt(const struct ccmode_cbc *cbc, cccbc_ctx *ctx, cccbc_iv *iv, + size_t nbytes, const void *in, void *out); + +/* Contract is nbytes is non zero and a multiple of block_size. Furthermore in is nbytes long and out is nbytes long. Returns number of bytes written to out (technically we always write nbytes to out but the returned value is the number of bytes decrypted after removal of padding. + + To be safe we remove the entire offending block if the pkcs7 padding checks failed. However we purposely don't report the failure to decode the padding since any use of this error leads to potential security exploits. So currently there is no way to distinguish between a full block of padding and bad padding. + */ +size_t ccpad_pkcs7_decrypt(const struct ccmode_cbc *cbc, cccbc_ctx *ctx, cccbc_iv *iv, + size_t nbytes, const void *in, void *out); + +/* Contract is in is nbytes long. Writes (nbytes / block_size) + 1 times block_size to out. In other words, out must be nbytes rounded down to the closest multiple of block_size plus block_size bytes. */ +size_t ccpad_pkcs7_encrypt(const struct ccmode_cbc *cbc, cccbc_ctx *ctx, cccbc_iv *iv, + size_t nbytes, const void *in, void *out); + +/* Contract is 'don't break CommonCrypto functionality that allows PKCS7 padding with ECB mode'. This is basically the same routines above, without an IV, because calling + crypt with an IV makes ecb cry (and crash) */ + +size_t ccpad_pkcs7_ecb_decrypt(const struct ccmode_ecb *ecb, ccecb_ctx *ecb_key, + size_t nbytes, const void *in, void *out); + +size_t ccpad_pkcs7_ecb_encrypt(const struct ccmode_ecb *ecb, ccecb_ctx *ctx, + size_t nbytes, const void *in, void *out); + +/* Function common to ccpad_pkcs7_ecb_decrypt and ccpad_pkcs7_decrypt */ +size_t ccpad_pkcs7_decode(const size_t block_size, const uint8_t* last_block); + +/* Contract is nbytes is at least 1 block + 1 byte. Also in is nbytes long out is nbytes long. */ +size_t ccpad_xts_decrypt(const struct ccmode_xts *xts, ccxts_ctx *ctx, ccxts_tweak *tweak, + size_t nbytes, const void *in, void *out); + +/* Contract is nbytes is at least 1 block + 1 byte. Also in is nbytes long out is nbytes long. */ +void ccpad_xts_encrypt(const struct ccmode_xts *xts, ccxts_ctx *ctx, ccxts_tweak *tweak, + size_t nbytes, const void *in, void *out); + +#endif /* _CORECRYPTO_CCPAD_H_ */ diff --git a/corecrypto/ccpbkdf2.h b/corecrypto/ccpbkdf2.h new file mode 100644 index 0000000..f8f09fa --- /dev/null +++ b/corecrypto/ccpbkdf2.h @@ -0,0 +1,96 @@ +/* + * Copyright (c) 2010,2011,2012,2016,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCPBKDF2_H_ +#define _CORECRYPTO_CCPBKDF2_H_ + +#include + +/*! @function ccpbkdf2_hmac + @abstract perform a pbkdf2 using HMAC(di) for the PRF (see PKCS#5 for specification) + @discussion This performs a standard PBKDF2 transformation of password and salt through +an HMAC PRF of the callers slection (any Digest, typically SHA-1) returning dkLen bytes +containing the entropy. + +Considerations: +The salt used should be at least 8 bytes long. Each session should use it's own salt. +We use the password as the key for the HMAC and the running data as the text for the HMAC to make a PRF. +SHA-1 is a good hash to use for the core of the HMAC PRF. + @param di digest info defining the digest type to use in the PRF. + @param passwordLen amount of data to be fed in + @param password data to be fed into the PBKDF + @param saltLen length of the salt + @param salt salt to be used in pbkdf + @param iterations itrations to go + @param dkLen length of the results + @param dk buffer for the results of the PBKDF tranformation, must be dkLen big + + */ +int ccpbkdf2_hmac(const struct ccdigest_info *di, + size_t passwordLen, const void *password, + size_t saltLen, const void *salt, + size_t iterations, + size_t dkLen, void *dk); + +#endif /* _CORECRYPTO_CCPBKDF2_H_ */ diff --git a/corecrypto/ccperf.h b/corecrypto/ccperf.h new file mode 100644 index 0000000..78038f2 --- /dev/null +++ b/corecrypto/ccperf.h @@ -0,0 +1,226 @@ +/* + * Copyright (c) 2010,2011,2013,2014,2015,2016,2017,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCPERF_H_ +#define _CORECRYPTO_CCPERF_H_ + +#include +#include +#include "cctime.h" +#include "ccstats.h" +#include + +/** RNG instance used for perf tests */ +extern struct ccrng_state *rng; + + +struct ccperf_test { + const char *name; +}; + +/** perf family **/ + +enum ccperf_size_kind { + ccperf_size_bytes = 0, + ccperf_size_bits, + ccperf_size_iterations, + ccperf_size_units, +}; + +struct ccperf_family { + const char *name; + double(*func)(size_t loops, size_t size, const void *test); + struct ccperf_test **tests; + size_t ntests; + size_t *sizes; + size_t nsizes; + size_t loops; + enum ccperf_size_kind size_kind; + size_t nruns; + double run_time; +}; + +// Stop iterating after reaching timeout +#define RUN_TIMEOUT 10.0 + +#define numof(_x_) (sizeof(_x_)/sizeof(_x_[0])) + +/* Some macros used by family factories */ + +#define F_ARGS(_f) _f##_perf_tests +#define F_FUNC(_f) perf_##_f +#define F_SZ(_f) sizeof(F_ARGS(_f)[0]) +#define F_N(_f) numof(F_ARGS(_f)) + +#define F_GET_ALL(_family, _f) \ +do { \ + _family.name = #_f; \ + _family.func=F_FUNC(_f); \ + ccperf_family_select(&_family, F_N(_f), F_ARGS(_f), F_SZ(_f), argc, argv); \ + _family.loops=1; \ +} while(0) + +#define F_GET_ALL2(_family, _f, _func) \ +do { \ + _family.name = #_func; \ + _family.func=F_FUNC(_func); \ + ccperf_family_select(&_family, F_N(_f), F_ARGS(_f), F_SZ(_f), argc, argv); \ + _family.loops=1; \ +} while(0) + +#define F_SIZES(_family, _n, _first) ccperf_family_set_pot_sizes(&_family, (_n), (_first)) + +#define F_SIZES_FROM_ARRAY(_family, _const_array) {\ + _family.nsizes=sizeof(_const_array)/sizeof(_const_array[0]); \ + _family.sizes=malloc(sizeof(_const_array)); \ + memcpy(_family.sizes,_const_array,sizeof(_const_array));\ + } + +#define F_DEFINE(_fam, _oper, _kind, _n, _first) \ +static struct ccperf_family _fam##_##_oper##_family; \ +struct ccperf_family *ccperf_family_##_fam##_##_oper(int argc, char *argv[]) \ +{ \ + ccperf_family_##_fam##_once(argc, argv); \ + F_GET_ALL2(_fam##_##_oper##_family, _fam, _fam##_##_oper); \ + F_SIZES(_fam##_##_oper##_family, _n, _first); \ + _fam##_##_oper##_family.size_kind=_kind; \ + return &_fam##_##_oper##_family; \ +} + + +/* family factories */ +struct ccperf_family *ccperf_family_ccecb_init(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccecb_update(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccecb_one_shot(int argc, char *argv[]); +struct ccperf_family *ccperf_family_cccbc_init(int argc, char *argv[]); +struct ccperf_family *ccperf_family_cccbc_update(int argc, char *argv[]); +struct ccperf_family *ccperf_family_cccbc_one_shot(int argc, char *argv[]); +struct ccperf_family *ccperf_family_cccfb8_init(int argc, char *argv[]); +struct ccperf_family *ccperf_family_cccfb8_update(int argc, char *argv[]); +struct ccperf_family *ccperf_family_cccfb8_one_shot(int argc, char *argv[]); +struct ccperf_family *ccperf_family_cccfb_init(int argc, char *argv[]); +struct ccperf_family *ccperf_family_cccfb_update(int argc, char *argv[]); +struct ccperf_family *ccperf_family_cccfb_one_shot(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccctr_init(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccctr_update(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccctr_one_shot(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccgcm_init(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccgcm_gmac(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccgcm_set_iv(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccgcm_update(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccgcm_finalize(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccgcm_one_shot(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccccm_init(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccccm_cbcmac(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccccm_set_iv(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccccm_update(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccccm_finalize(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccccm_one_shot(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccofb_init(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccofb_update(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccofb_one_shot(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccomac_init(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccomac_update(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccomac_one_shot(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccxts_init(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccxts_set_tweak(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccxts_update(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccxts_one_shot(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccchacha_init(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccchacha_update(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccchacha_one_shot(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccpoly_init(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccpoly_update(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccpoly_one_shot(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccchachapoly_encrypt_and_sign(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccchachapoly_decrypt_and_verify(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccsiv_init(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccsiv_aad_or_nonce(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccsiv_one_shot(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccdigest(int argc, char *argv[]); +struct ccperf_family *ccperf_family_cchmac(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccn(int argc, char *argv[]); +struct ccperf_family *ccperf_family_cczp(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccec(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccec25519(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccrsa(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccpbkdf2(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccsrp(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccansikdf(int argc, char *argv[]); +struct ccperf_family *ccperf_family_cccmac(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccrng(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccdrbg(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccdh_generate_key(int argc, char *argv[]); +struct ccperf_family *ccperf_family_ccdh_compute_shared_secret(int argc, char *argv[]); +struct ccperf_family *ccperf_family_cczp_inv(int argc, char *argv[]); + +/* utility functions */ + +double histogram_sieve(struct ccperf_family *f, size_t size, const void *arg); + +void ccperf_family_select(struct ccperf_family *f, size_t ntests, void *tests, size_t testsz, int argc, char **argv); +void ccperf_family_set_pot_sizes(struct ccperf_family *f, size_t nsizes, size_t first); +int ccperf_main(int argc, char **argv); + +#endif /* _CORECRYPTO_CCPERF_H_ */ diff --git a/corecrypto/ccprime.h b/corecrypto/ccprime.h new file mode 100644 index 0000000..b4c862a --- /dev/null +++ b/corecrypto/ccprime.h @@ -0,0 +1,81 @@ +/* + * Copyright (c) 2015,2016,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ +#ifndef _CORECRYPTO_CCPRIME_H_ +#define _CORECRYPTO_CCPRIME_H_ + +#include + +/* Perform rabin miller primality testing on zp, return 1 if p is prime + return 0 otherwise. */ +CC_NONNULL_TU((1)) +int ccprime_rabin_miller(cczp_t zp, size_t mr_depth); + +/* Generate a random nbits sized prime in zp. zp will be guaranteed + relatively prime to e. */ +CC_NONNULL_TU((2)) CC_NONNULL((3, 4)) +int ccprime_generate(cc_size nbits, cczp_t zp, const cc_unit *e, + struct ccrng_state *rng); + + +#endif //_CORECRYPTO_CCPRIME_H_ diff --git a/corecrypto/ccrc2.h b/corecrypto/ccrc2.h new file mode 100644 index 0000000..8a45016 --- /dev/null +++ b/corecrypto/ccrc2.h @@ -0,0 +1,92 @@ +/* + * Copyright (c) 2010,2012,2015,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCRC2_H_ +#define _CORECRYPTO_CCRC2_H_ + +#include + +#define CCRC2_BLOCK_SIZE 8 + +extern const struct ccmode_ecb ccrc2_ltc_ecb_decrypt_mode; +extern const struct ccmode_ecb ccrc2_ltc_ecb_encrypt_mode; + +const struct ccmode_ecb *ccrc2_ecb_decrypt_mode(void); +const struct ccmode_ecb *ccrc2_ecb_encrypt_mode(void); + +const struct ccmode_cbc *ccrc2_cbc_decrypt_mode(void); +const struct ccmode_cbc *ccrc2_cbc_encrypt_mode(void); + +const struct ccmode_cfb *ccrc2_cfb_decrypt_mode(void); +const struct ccmode_cfb *ccrc2_cfb_encrypt_mode(void); + +const struct ccmode_cfb8 *ccrc2_cfb8_decrypt_mode(void); +const struct ccmode_cfb8 *ccrc2_cfb8_encrypt_mode(void); + +const struct ccmode_ctr *ccrc2_ctr_crypt_mode(void); + +const struct ccmode_ofb *ccrc2_ofb_crypt_mode(void); + + +#endif /* _CORECRYPTO_CCRC2_H_ */ diff --git a/corecrypto/ccrc4.h b/corecrypto/ccrc4.h new file mode 100644 index 0000000..1970ab8 --- /dev/null +++ b/corecrypto/ccrc4.h @@ -0,0 +1,98 @@ +/* + * Copyright (c) 2010,2011,2012,2013,2014,2015,2016,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCRC4_H_ +#define _CORECRYPTO_CCRC4_H_ + +#include + +cc_aligned_struct(16) ccrc4_ctx; + +/* Declare a rc4 key named _name_. Pass the size field of a struct ccmode_ecb + for _size_. */ +#define ccrc4_ctx_decl(_size_, _name_) cc_ctx_decl(ccrc4_ctx, _size_, _name_) +#define ccrc4_ctx_clear(_size_, _name_) cc_clear(_size_, _name_) + +struct ccrc4_info { + size_t size; /* first argument to ccrc4_ctx_decl(). */ + void (*init)(ccrc4_ctx *ctx, size_t key_len, const void *key); + void (*crypt)(ccrc4_ctx *ctx, size_t nbytes, const void *in, void *out); +}; + + +const struct ccrc4_info *ccrc4(void); + +extern const struct ccrc4_info ccrc4_eay; + +struct ccrc4_vector { + size_t keylen; + const void *key; + size_t datalen; + const void *pt; + const void *ct; +}; + +int ccrc4_test(const struct ccrc4_info *rc4, const struct ccrc4_vector *v); + +#endif /* _CORECRYPTO_CCRC4_H_ */ diff --git a/corecrypto/ccripemd.h b/corecrypto/ccripemd.h new file mode 100644 index 0000000..109d3d8 --- /dev/null +++ b/corecrypto/ccripemd.h @@ -0,0 +1,95 @@ +/* + * Copyright (c) 2010,2015,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCRIPEMD_H_ +#define _CORECRYPTO_CCRIPEMD_H_ + +#include + +#define CCRMD_BLOCK_SIZE 64 + +#define CCRMD128_OUTPUT_SIZE 16 +#define CCRMD160_OUTPUT_SIZE 20 +#define CCRMD256_OUTPUT_SIZE 32 +#define CCRMD320_OUTPUT_SIZE 40 + +#define CCRMD128_STATE_SIZE 16 +#define CCRMD160_STATE_SIZE 20 +#define CCRMD256_STATE_SIZE 32 +#define CCRMD320_STATE_SIZE 40 + +extern const uint32_t ccrmd_initial_state[4]; + +extern const struct ccdigest_info ccrmd128_ltc_di; +extern const struct ccdigest_info ccrmd160_ltc_di; +extern const struct ccdigest_info ccrmd256_ltc_di; +extern const struct ccdigest_info ccrmd320_ltc_di; + +/* default is libtomcrypt */ +#define ccrmd128_di ccrmd128_ltc_di +#define ccrmd160_di ccrmd160_ltc_di +#define ccrmd256_di ccrmd256_ltc_di +#define ccrmd320_di ccrmd320_ltc_di + +#endif /* _CORECRYPTO_CCRIPEMD_H_ */ diff --git a/corecrypto/ccrng.h b/corecrypto/ccrng.h new file mode 100644 index 0000000..f4d0232 --- /dev/null +++ b/corecrypto/ccrng.h @@ -0,0 +1,114 @@ +/* + * Copyright (c) 2010,2013,2015,2016,2017,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCRNG_H_ +#define _CORECRYPTO_CCRNG_H_ + +#include + +#define CCERR_DEVICE -100 +#define CCERR_INTERUPTS -101 +#define CCERR_CRYPTO_CONFIG -102 +#define CCERR_PERMS -103 +#define CCERR_PARAMETER -104 +#define CCERR_MEMORY -105 +#define CCERR_FILEDESC -106 +#define CCERR_OUT_OF_ENTROPY -107 +#define CCERR_INTERNAL -108 +#define CCERR_ATFORK -109 +#define CCERR_OVERFLOW -110 + +#define CCRNG_STATE_COMMON \ + int (*generate)(struct ccrng_state *rng, size_t outlen, void *out); + +/* default state structure. Do not instantiate, ccrng() returns a reference to this structure */ +struct ccrng_state { + CCRNG_STATE_COMMON +}; + +/*! + @function ccrng + @abstract initializes a AES-CTR mode cryptographic random number generator and returns the statically alocated rng object. + Getting a pointer to a ccrng has never been simpler! + Call this function, get an rng object and then pass the object to ccrng_generate() to generate randoms. + ccrng() may be called more than once. It returns pointer to the same object on all calls. + + @result a cryptographically secure random number generator or NULL if fails + + @discussion + - It is significantly faster than using the system /dev/random + - FIPS Compliant: NIST SP800-80A + FIPS 140-2 + - Seeded from the system entropy. + - Provides at least 128bit security if the system provide 2bit of entropy / byte. + - Entropy accumulation + - Backtracing resistance + - Prediction break with frequent (asynchronous) reseed + */ + +struct ccrng_state *ccrng(int *error); + +//call this macro with the rng argument set to output of the call to the ccrng() function +#define ccrng_generate(rng, outlen, out) ((rng)->generate((struct ccrng_state *)(rng), (outlen), (out))) + +#endif /* _CORECRYPTO_CCRNG_H_ */ diff --git a/corecrypto/ccrng_drbg.h b/corecrypto/ccrng_drbg.h new file mode 100644 index 0000000..2123480 --- /dev/null +++ b/corecrypto/ccrng_drbg.h @@ -0,0 +1,92 @@ +/* + * Copyright (c) 2014,2015,2016,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef corecrypto_ccrng_drbg_h +#define corecrypto_ccrng_drbg_h + +#include +#include + +struct ccrng_drbg_state { + CCRNG_STATE_COMMON + const struct ccdrbg_info *drbg_info; + struct ccdrbg_state *drbg_state; +}; + +// Setup a RNG based on a DRBG. +// Init calls the init from the DRBG +int ccrng_drbg_init(struct ccrng_drbg_state *rng, + const struct ccdrbg_info *drbg_info, + struct ccdrbg_state *drbg_state, + size_t length, const void *seed); + +// Reseed underlying DRBG +int ccrng_drbg_reseed(struct ccrng_drbg_state *rng, + size_t entropylen, const void *entropy, + size_t inlen, const void *in); + +// Clear the DRBG +void ccrng_drbg_done(struct ccrng_drbg_state *rng); + +#endif diff --git a/corecrypto/ccrng_ecfips_test.h b/corecrypto/ccrng_ecfips_test.h new file mode 100644 index 0000000..66dd465 --- /dev/null +++ b/corecrypto/ccrng_ecfips_test.h @@ -0,0 +1,83 @@ +/* + * Copyright (c) 2014,2015,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +// To be used to set the scalar to a known fix value +// May fail if value is not as expect. + +#ifndef _CORECRYPTO_CCRNG_ECFIPS_TEST_H_ +#define _CORECRYPTO_CCRNG_ECFIPS_TEST_H_ + +#include +#include + +struct ccrng_ecfips_test_state { + CCRNG_STATE_COMMON + uint8_t *state; + size_t len; +}; + +int ccrng_ecfips_test_init(struct ccrng_ecfips_test_state *rng, + size_t len, uint8_t *sequence); + +#endif /* _CORECRYPTO_CCRNG_ECFIPS_TEST_H_ */ diff --git a/corecrypto/ccrng_pbkdf2_prng.h b/corecrypto/ccrng_pbkdf2_prng.h new file mode 100644 index 0000000..742f1d6 --- /dev/null +++ b/corecrypto/ccrng_pbkdf2_prng.h @@ -0,0 +1,91 @@ +/* + * Copyright (c) 2013,2014,2015,2016,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef corecrypto_ccrng_pbkdf2_prng_h +#define corecrypto_ccrng_pbkdf2_prng_h + +#include +#include +#include + + +#define CCRNG_PBKDF2_BUFFER 4096 + +// This RNG is limited to provide min("CCRNG_PBKDF2_BUFFER",maxbytes) of cumulated pseudo random bytes. +// Pseudo random bytes can be obtained with one or several "generate" +// When out of random, the generate function will persistently fail until a new initialization of the context is performed. + +struct ccrng_pbkdf2_prng_state { + CCRNG_STATE_COMMON + size_t random_buffer_size; + uint8_t random_buffer[CCRNG_PBKDF2_BUFFER]; +}; + + +int ccrng_pbkdf2_prng_init(struct ccrng_pbkdf2_prng_state *rng, size_t maxbytes, + size_t passwordLen, const void *password, + size_t saltLen, const void *salt, + size_t iterations); + +#endif diff --git a/corecrypto/ccrng_priv.h b/corecrypto/ccrng_priv.h new file mode 100644 index 0000000..201347d --- /dev/null +++ b/corecrypto/ccrng_priv.h @@ -0,0 +1,78 @@ +/* + * Copyright (c) 2016,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCRNG_PRIV_H_ +#define _CORECRYPTO_CCRNG_PRIV_H_ + +#include +#if CC_KERNEL + #include +#else + #include +#endif + +int cc_get_entropy(size_t entropy_size, void *entropy); + + +#endif /* _CORECRYPTO_CCRNG_PRIV_H_ */ diff --git a/corecrypto/ccrng_rsafips_test.h b/corecrypto/ccrng_rsafips_test.h new file mode 100644 index 0000000..ac7a4c8 --- /dev/null +++ b/corecrypto/ccrng_rsafips_test.h @@ -0,0 +1,89 @@ +/* + * Copyright (c) 2014,2015,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCRNG_RSAFIPS_TEST_H_ +#define _CORECRYPTO_CCRNG_RSAFIPS_TEST_H_ + +#include +#include + +struct ccrng_rsafips_test_state { + CCRNG_STATE_COMMON + uint8_t *state; + cc_size index; + cc_size r1Len; + const cc_unit *r1; + cc_size r2Len; + const cc_unit *r2; + cc_size XLen; + const cc_unit *X; +}; + +int +ccrng_rsafips_test_init(struct ccrng_rsafips_test_state *rng, + const cc_size r1Len, const cc_unit *r1, + const cc_size r2Len, const cc_unit *r2, + const cc_size XLen, const cc_unit *X); + +#endif /* _CORECRYPTO_CCRNG_RSAFIPS_TEST_H_ */ diff --git a/corecrypto/ccrng_sequence.h b/corecrypto/ccrng_sequence.h new file mode 100644 index 0000000..acf2023 --- /dev/null +++ b/corecrypto/ccrng_sequence.h @@ -0,0 +1,81 @@ +/* + * Copyright (c) 2013,2015,2016,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCRNG_SEQUENCE_H_ +#define _CORECRYPTO_CCRNG_SEQUENCE_H_ + +#include +#include + +struct ccrng_sequence_state { + CCRNG_STATE_COMMON + const uint8_t *state; + size_t len; +}; + +int ccrng_sequence_init(struct ccrng_sequence_state *rng, size_t len, const uint8_t *sequence); + +int ccrng_sequence_non_repeat_init(struct ccrng_sequence_state *rng, size_t len, const uint8_t *sequence); + +#endif /* _CORECRYPTO_CCRNG_SEQUENCE_H_ */ diff --git a/corecrypto/ccrng_system.h b/corecrypto/ccrng_system.h new file mode 100644 index 0000000..1b88222 --- /dev/null +++ b/corecrypto/ccrng_system.h @@ -0,0 +1,96 @@ +/* + * Copyright (c) 2010,2013,2014,2015,2016,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCRNG_SYSTEM_H_ +#define _CORECRYPTO_CCRNG_SYSTEM_H_ + +#include + +struct ccrng_system_state { + CCRNG_STATE_COMMON + int fd; +}; + +/*! + @function ccrng_system_init - DEPRECATED + @abstract Default ccrng. + Please transition to ccrng() which is easier to use and with provide the fastest, most secure option + + @param rng Structure containing the state of the RNG, must remain allocated as + long as the rng is used. + @result 0 iff successful + + @discussion + This RNG require call to "init" AND "done", otherwise it may leak a file descriptor. + */ + +// Initialize ccrng +// Deprecated, if you need a rng, just call the function ccrng() +int ccrng_system_init(struct ccrng_system_state *rng); + +// Close the system RNG +// Mandatory step to avoid leaking file descriptor +void ccrng_system_done(struct ccrng_system_state *rng); + +#endif /* _CORECRYPTO_CCRNG_SYSTEM_H_ */ diff --git a/corecrypto/ccrng_test.h b/corecrypto/ccrng_test.h new file mode 100644 index 0000000..8f04c18 --- /dev/null +++ b/corecrypto/ccrng_test.h @@ -0,0 +1,83 @@ +/* + * Copyright (c) 2011,2014,2015,2017,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCRNG_TEST_H_ +#define _CORECRYPTO_CCRNG_TEST_H_ + +#include +#include + +struct ccrng_test_state { + CCRNG_STATE_COMMON + + struct ccdrbg_info drbg_info; + struct ccdrbg_state *drbg_state; +}; + +int ccrng_test_init(struct ccrng_test_state *rng, size_t length, const void *seed, + const char *personalization_string); + +void ccrng_test_done(struct ccrng_test_state *rng); + +#endif /* _CORECRYPTO_CCRNG_TEST_H_ */ diff --git a/corecrypto/ccrsa.h b/corecrypto/ccrsa.h new file mode 100644 index 0000000..7d84b52 --- /dev/null +++ b/corecrypto/ccrsa.h @@ -0,0 +1,663 @@ +/* + * Copyright (c) 2010,2011,2012,2014,2015,2016,2017,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCRSA_H_ +#define _CORECRYPTO_CCRSA_H_ + +#include +#include +#include +#include +#include + +// Apple does not generate keys of greater than 4096 bits +// This limit is relaxed to accommodate potential third-party consumers +#define CCRSA_KEYGEN_MAX_NBITS 8192 + +// Program error: buffer too small or encrypted message is too small +#define CCRSA_INVALID_INPUT -1 +// Invalid crypto configuration: Hash length versus RSA key size +#define CCRSA_INVALID_CONFIG -2 +// The data is invalid (we won't say more for security +#define CCRSA_DECRYPTION_ERROR -3 + +#define CCRSA_ENCODING_ERROR -4 +#define CCRSA_DECODING_ERROR -5 +#define CCRSA_SIGNATURE_GEN_ERROR -6 + +struct ccrsa_full_ctx { + __CCZP_ELEMENTS_DEFINITIONS(pb_) +} CC_ALIGNED(CCN_UNIT_SIZE); + +struct ccrsa_pub_ctx { + __CCZP_ELEMENTS_DEFINITIONS(pb_) +} CC_ALIGNED(CCN_UNIT_SIZE); + +struct ccrsa_priv_ctx { + __CCZP_ELEMENTS_DEFINITIONS(pv_) +} CC_ALIGNED(CCN_UNIT_SIZE); + + +#if CORECRYPTO_USE_TRANSPARENT_UNION + typedef union { + cczp_t zp; + struct ccrsa_pub_ctx* pub; + struct ccrsa_full_ctx *full; + } ccrsa_full_ctx_t __attribute__((transparent_union)); + typedef struct ccrsa_full_ctx ccrsa_full_ctx; + typedef struct ccrsa_priv_ctx ccrsa_priv_ctx; + + typedef union { + cczp_t zp; + ccrsa_priv_ctx *priv; + } ccrsa_priv_ctx_t __attribute__((transparent_union)); + + +typedef ccrsa_full_ctx_t ccrsa_pub_ctx_t; +typedef struct ccrsa_pub_ctx ccrsa_pub_ctx; + +#else + typedef struct ccrsa_full_ctx* ccrsa_full_ctx_t; + typedef struct ccrsa_pub_ctx* ccrsa_pub_ctx_t; + typedef struct ccrsa_priv_ctx* ccrsa_priv_ctx_t; +#endif + + + +/* + public key cczp d=e^-1 mod phi(m) priv key cczp priv key cczq dp, dq, qinv + | | | | | + | | | | | + +-------+------+-------+------++------++-------+------+---------++-------+------+---------++-------+-------+---------+ + | zm_hd | m[n] |mr[n+1]| e[n] || d[n] || zp_hd |p[n/2]|pr[n/2+1]|| zq_hd |q[n/2]|qr[n/2+1]||dp[n/2]|dq[n/2]|qinv[n/2]| + +-------+------+-------+------++------++-------+------+---------++-------+------+---------++-------+-------+---------+ + */ + + /* Return the size of an ccec_full_ctx where each ccn is _size_ bytes. Get _size_ through ccn_sizeof(nbits) */ + +/* Return the size of an ccec_full_ctx where each ccn is _size_ bytes. */ + +#define ccrsa_pub_ctx_size(_size_) (sizeof(struct cczp) + CCN_UNIT_SIZE + 3 * (_size_)) +#define ccrsa_priv_ctx_size(_size_) ((sizeof(struct cczp) + CCN_UNIT_SIZE) * 2 + 7 * ccn_sizeof(ccn_bitsof_size(_size_)/2 + 1)) +#define ccrsa_full_ctx_size(_size_) (ccrsa_pub_ctx_size(_size_) + _size_ + ccrsa_priv_ctx_size(_size_)) + +/* Declare a fully scheduled rsa key. Size is the size in bytes each ccn in + the key. For example to declare (on the stack or in a struct) a 1021 bit + rsa public key named foo use ccrsa_pub_ctx_decl(ccn_sizeof(1021), foo). + */ +#define ccrsa_full_ctx_decl(_size_, _name_) cc_ctx_decl(struct ccrsa_full_ctx, ccrsa_full_ctx_size(_size_), _name_) +#define ccrsa_full_ctx_clear(_size_, _name_) cc_clear(ccrsa_full_ctx_size(_size_), _name_) +#define ccrsa_pub_ctx_decl(_size_, _name_) cc_ctx_decl(struct ccrsa_pub_ctx, ccrsa_pub_ctx_size(_size_), _name_) +#define ccrsa_pub_ctx_clear(_size_, _name_) cc_clear(ccrsa_pub_ctx_size(_size_), _name_) + +// accessors to ccrsa full and public key fields. */ +// The offsets are computed using pb_ccn. If any object other than ccrsa_full_ctx_t +// or ccrsa_pub_ctx_t is passed to the macros, compiler error is generated. + + + +#if CORECRYPTO_USE_TRANSPARENT_UNION +//#define ccrsa_ctx_zm(_ctx_) (((ccrsa_pub_ctx_t)(_ctx_)).zp) + + CC_CONST CC_INLINE cczp_t ccrsa_ctx_zm(ccrsa_full_ctx_t _ctx_) { return ((cczp_t)(struct cczp *)((_ctx_).full)); } + CC_CONST CC_INLINE cc_unit *ccrsa_ctx_m(ccrsa_full_ctx_t _ctx_){ return ((_ctx_).full->pb_ccn);} + #define ccrsa_ctx_n(_ctx_) (ccrsa_ctx_zm(_ctx_).zp->n) +#else + #define ccrsa_ctx_zm(_ctx_) ((cczp_t)(_ctx_)) + #define ccrsa_ctx_n(_ctx_) (ccrsa_ctx_zm(_ctx_)->n) + #define ccrsa_ctx_m(_ctx_) ((_ctx_)->pb_ccn) +#endif + +#define ccrsa_ctx_e(_ctx_) (ccrsa_ctx_m(_ctx_) + 2 * ccrsa_ctx_n(_ctx_) + 1) +#define ccrsa_ctx_d(_ctx_) (ccrsa_ctx_m(_ctx_) + 3 * ccrsa_ctx_n(_ctx_) + 1) + +// accessors to ccrsa private key fields +// The offsets are computed using pv_ccn. If any object other than ccrsa_priv_ctx_t +// is passed to the macros, compiler error is generated. +#if CORECRYPTO_USE_TRANSPARENT_UNION + +/* rvalue accessors to ccec_key fields. */ +CC_CONST CC_INLINE +ccrsa_priv_ctx_t ccrsa_get_private_ctx_ptr(ccrsa_full_ctx_t fk) { + cc_unit *p = (cc_unit *)fk.full; + cc_size p_size = ccrsa_ctx_n(fk); + p += ccn_nof_size(ccrsa_pub_ctx_size(ccn_sizeof_n(p_size))) + p_size; + ccrsa_priv_ctx *priv = (ccrsa_priv_ctx *)p; + return (ccrsa_priv_ctx_t)priv; +} + +CC_CONST CC_INLINE +ccrsa_pub_ctx_t ccrsa_ctx_public(ccrsa_full_ctx_t fk) { + return (ccrsa_pub_ctx_t) fk.full; +} + +#define ccrsa_ctx_private_zp(FK) ((ccrsa_get_private_ctx_ptr(FK)).zp) +#define ccrsa_ctx_private_zq(FK) ((cczp_t)((ccrsa_get_private_ctx_ptr(FK)).zp.zp->ccn + 2 * ccrsa_ctx_private_zp(FK).zp->n + 1)) +#define ccrsa_ctx_private_dp(FK) ((ccrsa_get_private_ctx_ptr(FK)).zp.zp->ccn + 4 * ccrsa_ctx_private_zp(FK).zp->n + 2 + ccn_nof_size(sizeof(struct cczp))) +#define ccrsa_ctx_private_dq(FK) ((ccrsa_get_private_ctx_ptr(FK)).zp.zp->ccn + 5 * ccrsa_ctx_private_zp(FK).zp->n + 2 + ccn_nof_size(sizeof(struct cczp))) +#define ccrsa_ctx_private_qinv(FK) ((ccrsa_get_private_ctx_ptr(FK)).zp.zp->ccn + 6 * ccrsa_ctx_private_zp(FK).zp->n + 2 + ccn_nof_size(sizeof(struct cczp))) + +#else +#define ccrsa_ctx_private_zp(FK) ((cczp_t)ccrsa_get_private_ctx_ptr(FK)) +#define ccrsa_ctx_private_zq(FK) ((cczp_t)((ccrsa_get_private_ctx_ptr(FK))->pv_ccn + 2 * ccrsa_ctx_private_zp(FK)->n + 1)) +#define ccrsa_ctx_private_dp(FK) ((ccrsa_get_private_ctx_ptr(FK))->pv_ccn + 4 * ccrsa_ctx_private_zp(FK)->n + 2 + ccn_nof_size(sizeof(struct cczp))) +#define ccrsa_ctx_private_dq(FK) ((ccrsa_get_private_ctx_ptr(FK))->pv_ccn + 5 * ccrsa_ctx_private_zp(FK)->n + 2 + ccn_nof_size(sizeof(struct cczp))) +#define ccrsa_ctx_private_qinv(FK) ((ccrsa_get_private_ctx_ptr(FK))->pv_ccn + 6 * ccrsa_ctx_private_zp(FK)->n + 2 + ccn_nof_size(sizeof(struct cczp))) + +CC_CONST CC_INLINE +ccrsa_priv_ctx_t ccrsa_get_private_ctx_ptr(ccrsa_full_ctx_t fk) { + ccrsa_priv_ctx_t priv = (ccrsa_priv_ctx_t)(ccrsa_ctx_d(fk)+ccrsa_ctx_n(fk)); + return priv; +} + +/*! + @function ccrsa_ctx_public + @abstract gets the public key from full key + @param fk RSA full key + @result Returns RSA public ker + */ +CC_CONST CC_INLINE +ccrsa_pub_ctx_t ccrsa_ctx_public(ccrsa_full_ctx_t fk) { + return (ccrsa_pub_ctx_t) fk; +} + +#endif + +/* Return exact key bit size */ +static inline size_t +ccrsa_pubkeylength(ccrsa_pub_ctx_t pubk) { + return cczp_bitlen(ccrsa_ctx_zm(pubk)); +} + +/* PKCS1 pad_markers */ +#define CCRSA_PKCS1_PAD_SIGN 1 +#define CCRSA_PKCS1_PAD_ENCRYPT 2 + +/* Initialize key based on modulus and e as cc_unit. key->zp.n must already be set. */ +CC_NONNULL_TU((1)) CC_NONNULL((2, 3)) +int ccrsa_init_pub(ccrsa_pub_ctx_t key, const cc_unit *modulus, + const cc_unit *e); + +/* Initialize key based on modulus and e as big endian byte array + key->zp.n must already be set. */ +CC_NONNULL_TU((1)) CC_NONNULL((3 ,5)) +int ccrsa_make_pub(ccrsa_pub_ctx_t pubk, + size_t exp_nbytes, const uint8_t *exp, + size_t mod_nbytes, const uint8_t *mod); + +/* Do a public key crypto operation (typically verify or encrypt) on in and put + the result in out. Both in and out should be cc_unit aligned and + ccrsa_key_n(key) units long. Clients should use ccn_read_uint() to + convert bytes to a cc_unit to use for this API.*/ +CC_NONNULL_TU((1)) CC_NONNULL((2, 3)) +int ccrsa_pub_crypt(ccrsa_pub_ctx_t key, cc_unit *out, const cc_unit *in); + +/* Generate an nbit rsa key pair in key, which should be allocated using + ccrsa_full_ctx_decl(ccn_sizeof(1024), rsa_ctx). The unsigned big endian + byte array exponent e of length e_size is used as the exponent. It's an + error to call this function with an exponent larger than nbits. rng + must be a pointer to an initialized struct ccrng_state. */ +CC_NONNULL_TU((2)) CC_NONNULL((4, 5)) +int ccrsa_generate_key(size_t nbits, ccrsa_full_ctx_t rsa_ctx, + size_t e_size, const void *e, struct ccrng_state *rng) CC_WARN_RESULT; + +/* Generate RSA key in conformance with FIPS186-4 standard */ +CC_NONNULL_TU((2)) CC_NONNULL((4, 5, 6)) +int +ccrsa_generate_fips186_key(size_t nbits, ccrsa_full_ctx_t fk, + size_t e_size, const void *eBytes, + struct ccrng_state *rng1, struct ccrng_state *rng2) CC_WARN_RESULT; + +/* Construct RSA key from fix input in conformance with FIPS186-4 standard */ +CC_NONNULL_TU((16)) CC_NONNULL((3, 5, 7, 9, 11, 13, 15)) +int +ccrsa_make_fips186_key(size_t nbits, + const cc_size e_n, const cc_unit *e, + const cc_size xp1Len, const cc_unit *xp1, const cc_size xp2Len, const cc_unit *xp2, + const cc_size xpLen, const cc_unit *xp, + const cc_size xq1Len, const cc_unit *xq1, const cc_size xq2Len, const cc_unit *xq2, + const cc_size xqLen, const cc_unit *xq, + ccrsa_full_ctx_t fk, + cc_size *np, cc_unit *r_p, + cc_size *nq, cc_unit *r_q, + cc_size *nm, cc_unit *r_m, + cc_size *nd, cc_unit *r_d); + +/*! + * @brief ccrsa_sign_pss() generates RSASSA-PSS signature in PKCS1-V2 format + * + * note that in RSASSA-PSS, salt length is part of the signature as specified in ASN1 + * RSASSA-PSS-params ::= SEQUENCE { + * hashAlgorithm [0] HashAlgorithm DEFAULT sha1, + * maskGenAlgorithm [1] MaskGenAlgorithm DEFAULT mgf1SHA1, + * saltLength [2] INTEGER DEFAULT 20, + * trailerField [3] TrailerField DEFAULT trailerFieldBC + * + * + * FIPS 186-4 for RSASSA-PSS: + * .... Both signature schemes are approved for use, but additional constraints are imposed beyond those specified in PKCS #1 v2.1..... + * + * • If nlen = 1024 bits (i.e., 128 bytes), and the output length of the approved hash function output block is 512 bits (i.e., 64 bytes), then the length (in bytes) of the salt (sLen) shall satisfy 0 ≤ sLen ≤ hLen – 2, + * • Otherwise, the length (in bytes) of the salt (sLen) shall satisfy 0 ≤ sLen ≤ hLen, where hLen is the length of the hash function output block (in bytes). + * + * + * • CAVS test vectors are not very useful in the case of RSA-PSS, because they only validate the exponentiation part of the signature. See: http://csrc.nist.gov/groups/STM/cavp/documents/components/RSA2SP1VS.pdf + * + * @param key The RSA key + * @param hashAlgorithm The hash algorithm used to generate mHash from the original message. It is also used inside the PSS encoding function. This is also the hash function to be used in the mask generation function (MGF) + * @param MgfHashAlgorithm The hash algorithm for thr mask generation function + * @param rng Random number geberator to generate salt in PSS encoding + * @param saltSize Intended length of the salt + * @param hSize Length of message hash . Must be equal to hashAlgorithm->output_size + * @param mHash The input that needs to be signed. This is the hash of message M with length of hLen + * + * @param sig The signature output + * @param sigSize The length of generated signature in bytes, which equals the size of the RSA modulus. + * @return 0:ok, non-zero:error + */ +CC_NONNULL((2,3,5,7,8,9)) +int ccrsa_sign_pss(ccrsa_full_ctx_t key, + const struct ccdigest_info* hashAlgorithm, const struct ccdigest_info* MgfHashAlgorithm, + size_t saltSize, struct ccrng_state *rng, + size_t hSize, const uint8_t *mHash, + size_t *sigSize, uint8_t *sig); + +CC_NONNULL((2,3,5,7,9)) +int ccrsa_verify_pss(ccrsa_pub_ctx_t key, + const struct ccdigest_info* di, const struct ccdigest_info* MgfDi, + size_t digestSize, const uint8_t *digest, + size_t sigSize, const uint8_t *sig, + size_t saltSize, bool *valid); + +/*! + @function ccrsa_sign_pkcs1v15 + @abstract RSA signature with PKCS#1 v1.5 format per PKCS#1 v2.2 + + @param key Full key + @param oid OID describing the type of digest passed in + @param digest_len Byte length of the digest + @param digest Byte array of digest_len bytes containing the digest + @param sig_len Pointer to the number of byte allocate for sig. + Output the exact size of the signature. + @param sig Pointer to the allocated buffer of size *sig_len + for the output signature + + @result 0 iff successful. + + @discussion Null OID is a special case, required to support RFC 4346 where the padding + is based on SHA1+MD5. In general it is not recommended to use a NULL OID, + except when strictly required for interoperability + + */ +CC_NONNULL_TU((1)) CC_NONNULL((4, 5, 6)) +int ccrsa_sign_pkcs1v15(ccrsa_full_ctx_t key, const uint8_t *oid, + size_t digest_len, const uint8_t *digest, + size_t *sig_len, uint8_t *sig); + + +/*! + @function ccrsa_sign_pkcs1v15 + @abstract RSA signature with PKCS#1 v1.5 format per PKCS#1 v2.2 + + @param key Public key + @param oid OID describing the type of digest passed in + @param digest_len Byte length of the digest + @param digest Byte array of digest_len bytes containing the digest + @param sig_len Number of byte of the signature sig. + @param sig Pointer to the signature buffer of sig_len + @param valid Output boolean, true if the signature is valid. + + @result 0 iff successful. + + @discussion Null OID is a special case, required to support RFC 4346 where the padding + is based on SHA1+MD5. In general it is not recommended to use a NULL OID, + except when strictly required for interoperability + */ +CC_NONNULL_TU((1)) CC_NONNULL((4, 6, 7)) +int ccrsa_verify_pkcs1v15(ccrsa_pub_ctx_t key, const uint8_t *oid, + size_t digest_len, const uint8_t *digest, + size_t sig_len, const uint8_t *sig, + bool *valid); + +/*! + @function ccder_encode_rsa_pub_size + @abstract Calculate size of public key export format data package. + + @param key Public key + + @result Returns size required for encoding. + */ + +CC_NONNULL_TU((1)) +size_t ccder_encode_rsa_pub_size(const ccrsa_pub_ctx_t key); + +/*! + @function ccrsa_export_priv_pkcs1 + @abstract Export a public key. + + @param key Public key + @param der Beginning of output DER buffer + @param der_end End of output DER buffer + */ + +CC_NONNULL_TU((1)) CC_NONNULL((2)) CC_NONNULL((3)) +uint8_t *ccder_encode_rsa_pub(const ccrsa_pub_ctx_t key, uint8_t *der, uint8_t *der_end); + + +/*! + @function ccder_encode_rsa_priv_size + @abstract Calculate size of full key exported in PKCS#1 format. + + @param key Full key + + @result Returns size required for encoding. + */ + +CC_NONNULL_TU((1)) +size_t ccder_encode_rsa_priv_size(const ccrsa_full_ctx_t key); + +/*! + @function ccder_encode_rsa_priv + @abstract Export a full key in PKCS#1 format. + + @param key Full key + @param der Beginning of output DER buffer + @param der_end End of output DER buffer + */ + +CC_NONNULL_TU((1)) CC_NONNULL((2)) CC_NONNULL((3)) +uint8_t *ccder_encode_rsa_priv(const ccrsa_full_ctx_t key, const uint8_t *der, uint8_t *der_end); + +/*! + @function ccder_decode_rsa_pub_n + @abstract Calculate "n" for a public key imported from a data package. + PKCS #1 format + + @param der Beginning of input DER buffer + @param der_end End of input DER buffer + + @result the "n" of the RSA key that would result from the import. This can be used + to declare the key itself. + */ + +CC_NONNULL((1)) CC_NONNULL((2)) +cc_size ccder_decode_rsa_pub_n(const uint8_t *der, const uint8_t *der_end); + +/*! + @function ccder_decode_rsa_pub + @abstract Import a public RSA key from a package in public key format. + PKCS #1 format + + @param key Public key (n must be set) + @param der Beginning of input DER buffer + @param der_end End of input DER buffer + + @result Key is initialized using the data in the public key message. + */ + +CC_NONNULL_TU((1)) CC_NONNULL((2)) CC_NONNULL((3)) +const uint8_t *ccder_decode_rsa_pub(const ccrsa_pub_ctx_t key, const uint8_t *der, const uint8_t *der_end); + +/*! + @function ccder_decode_rsa_pub_x509_n + @abstract Calculate "n" for a public key imported from a data package in x509 format + + @param der Beginning of input DER buffer + @param der_end End of input DER buffer + + @result the "n" of the RSA key that would result from the import. This can be used + to declare the key itself. + */ + +CC_NONNULL((1)) CC_NONNULL((2)) +cc_size ccder_decode_rsa_pub_x509_n(const uint8_t *der, const uint8_t *der_end); + +/*! + @function ccder_decode_rsa_pub_x509 + @abstract Import a public RSA key from a package in x509 format. + + @param key Public key (n must be set) + @param der Beginning of input DER buffer + @param der_end End of input DER buffer + + @result Key is initialized using the data in the public key message. + */ + +CC_NONNULL_TU((1)) CC_NONNULL((2)) CC_NONNULL((3)) +const uint8_t *ccder_decode_rsa_pub_x509(const ccrsa_pub_ctx_t key, const uint8_t *der, const uint8_t *der_end); + + +/*! + @function ccder_decode_rsa_priv_n + @abstract Calculate "n" for a private key imported from a data package. + + @param der Beginning of input DER buffer + @param der_end End of input DER buffer + + @result the "n" of the RSA key that would result from the import. This can be used + to declare the key itself. + */ + +CC_NONNULL((1)) CC_NONNULL((2)) +cc_size ccder_decode_rsa_priv_n(const uint8_t *der, const uint8_t *der_end); + +/*! + @function ccder_decode_rsa_priv + @abstract Import a private RSA key from a package in PKCS#1 format. + + @param key Full key (n must be set) + @param der Beginning of input DER buffer + @param der_end End of input DER buffer + + @result Key is initialized using the data in the public key message. + */ + +CC_NONNULL_TU((1)) CC_NONNULL((2)) CC_NONNULL((3)) +const uint8_t *ccder_decode_rsa_priv(const ccrsa_full_ctx_t key, const uint8_t *der, const uint8_t *der_end); + +/*! + @function ccrsa_export_pub_size + @abstract Calculate size of public key exported data package. + + @param key Public key + + @result Returns size required for encoding. + */ + +CC_CONST CC_INLINE CC_NONNULL_TU((1)) +size_t ccrsa_export_pub_size(const ccrsa_pub_ctx_t key) { + return ccder_encode_rsa_pub_size(key); +} + +/*! + @function ccrsa_export_pub + @abstract Export a public key in public key format. + + @param key Public key + @param out_len Allocated size + @param out Output buffer + */ + +CC_NONNULL_TU((1)) CC_NONNULL((3)) +int ccrsa_export_pub(const ccrsa_pub_ctx_t key, size_t out_len, uint8_t *out); +/*! + @function ccrsa_import_pub_n + @abstract Calculate "n" for a public key imported from a data package. + + @param inlen Length of public key package data + @param der pointer to public key package data + + @result the "n" of the RSA key that would result from the import. This can be used + to declare the key itself. + */ + +CC_CONST CC_INLINE CC_NONNULL((2)) +cc_size ccrsa_import_pub_n(size_t inlen, const uint8_t *der) { + cc_size size = ccder_decode_rsa_pub_x509_n(der, der + inlen); + if(size == 0) { + size = ccder_decode_rsa_pub_n(der, der + inlen); + } + return size; +} + +/*! + @function ccrsa_import_pub + @abstract Import a public RSA key from a package in public key format. + + @param key Public key (n must be set) + @param inlen Length of public key package data + @param der pointer to public key package data + + @result Key is initialized using the data in the public key message. + */ + +CC_NONNULL_TU((1)) CC_NONNULL((3)) +int ccrsa_import_pub(ccrsa_pub_ctx_t key, size_t inlen, const uint8_t *der); + +/*! + @function ccrsa_export_priv_size + @abstract Calculate size of full key exported in PKCS#1 format. + + @param key Full key + + @result Returns size required for encoding. + */ + +CC_CONST CC_INLINE CC_NONNULL_TU((1)) +size_t ccrsa_export_priv_size(const ccrsa_full_ctx_t key) { + return ccder_encode_rsa_priv_size(key); +} + +/*! + @function ccrsa_export_priv + @abstract Export a full key in PKCS#1 format. + + @param key Full key + @param out_len Allocated size + @param out Output buffer + */ + +CC_CONST CC_INLINE CC_NONNULL_TU((1)) CC_NONNULL((3)) +int ccrsa_export_priv(const ccrsa_full_ctx_t key, size_t out_len, uint8_t *out) { + return (ccder_encode_rsa_priv(key, out, out+out_len) != out); +} + +/*! + @function ccrsa_import_priv_n + @abstract Calculate size of full key exported in PKCS#1 format. + + @param inlen Length of PKCS#1 package data + @param der pointer to PKCS#1 package data + + @result the "n" of the RSA key that would result from the import. This can be used + to declare the key itself. + */ + +CC_CONST CC_INLINE CC_NONNULL((2)) +cc_size ccrsa_import_priv_n(size_t inlen, const uint8_t *der) { + return ccder_decode_rsa_priv_n(der, der + inlen); +} + +/*! + @function ccrsa_import_priv + @abstract Import a full RSA key from a package in PKCS#1 format. + + @param key Full key (n must be set) + @param inlen Length of PKCS#1 package data + @param der pointer to PKCS#1 package data + + @result Key is initialized using the data in the PKCS#1 message. + */ + +CC_CONST CC_INLINE CC_NONNULL_TU((1)) CC_NONNULL((3)) +int ccrsa_import_priv(ccrsa_full_ctx_t key, size_t inlen, const uint8_t *der) { + return (ccder_decode_rsa_priv(key, der, der+inlen) == NULL); +} + + +CC_NONNULL_TU((1)) CC_NONNULL2 +int ccrsa_get_pubkey_components(const ccrsa_pub_ctx_t pubkey, uint8_t *modulus, size_t *modulusLength, uint8_t *exponent, size_t *exponentLength); + +CC_NONNULL_TU((1)) CC_NONNULL2 +int ccrsa_get_fullkey_components(const ccrsa_full_ctx_t key, uint8_t *modulus, size_t *modulusLength, uint8_t *exponent, size_t *exponentLength, + uint8_t *p, size_t *pLength, uint8_t *q, size_t *qLength); + + +/*! + @function ccrsa_dump_public_key + @abstract Print a rsa public key in the console (printf) + + @param key Public key + */ +void ccrsa_dump_public_key(ccrsa_pub_ctx_t key); + +/*! + @function ccrsa_dump_full_key + @abstract Print a rsa private key in the console (printf) + + @param key Public key + */ +void ccrsa_dump_full_key(ccrsa_full_ctx_t key); + +#endif /* _CORECRYPTO_CCRSA_H_ */ diff --git a/corecrypto/ccrsa_priv.h b/corecrypto/ccrsa_priv.h new file mode 100644 index 0000000..f4a9cb2 --- /dev/null +++ b/corecrypto/ccrsa_priv.h @@ -0,0 +1,571 @@ +/* + * Copyright (c) 2011,2012,2013,2014,2015,2016,2017,2018 Apple Inc. All rights reserved. + * + * corecrypto Internal Use License Agreement + * + * IMPORTANT: This Apple corecrypto software is supplied to you by Apple Inc. ("Apple") + * in consideration of your agreement to the following terms, and your download or use + * of this Apple software constitutes acceptance of these terms. If you do not agree + * with these terms, please do not download or use this Apple software. + * + * 1. As used in this Agreement, the term "Apple Software" collectively means and + * includes all of the Apple corecrypto materials provided by Apple here, including + * but not limited to the Apple corecrypto software, frameworks, libraries, documentation + * and other Apple-created materials. In consideration of your agreement to abide by the + * following terms, conditioned upon your compliance with these terms and subject to + * these terms, Apple grants you, for a period of ninety (90) days from the date you + * download the Apple Software, a limited, non-exclusive, non-sublicensable license + * under Apple’s copyrights in the Apple Software to make a reasonable number of copies + * of, compile, and run the Apple Software internally within your organization only on + * devices and computers you own or control, for the sole purpose of verifying the + * security characteristics and correct functioning of the Apple Software; provided + * that you must retain this notice and the following text and disclaimers in all + * copies of the Apple Software that you make. You may not, directly or indirectly, + * redistribute the Apple Software or any portions thereof. The Apple Software is only + * licensed and intended for use as expressly stated above and may not be used for other + * purposes or in other contexts without Apple's prior written permission. Except as + * expressly stated in this notice, no other rights or licenses, express or implied, are + * granted by Apple herein. + * + * 2. The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO + * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES + * OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING + * THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS, + * SYSTEMS, OR SERVICES. APPLE DOES NOT WARRANT THAT THE APPLE SOFTWARE WILL MEET YOUR + * REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR + * ERROR-FREE, THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED, OR THAT THE APPLE + * SOFTWARE WILL BE COMPATIBLE WITH FUTURE APPLE PRODUCTS, SOFTWARE OR SERVICES. NO ORAL + * OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE + * WILL CREATE A WARRANTY. + * + * 3. IN NO EVENT SHALL APPLE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING + * IN ANY WAY OUT OF THE USE, REPRODUCTION, COMPILATION OR OPERATION OF THE APPLE + * SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * 4. This Agreement is effective until terminated. Your rights under this Agreement will + * terminate automatically without notice from Apple if you fail to comply with any term(s) + * of this Agreement. Upon termination, you agree to cease all use of the Apple Software + * and destroy all copies, full or partial, of the Apple Software. This Agreement will be + * governed and construed in accordance with the laws of the State of California, without + * regard to its choice of law rules. + * + * You may report security issues about Apple products to product-security@apple.com, + * as described here:  https://www.apple.com/support/security/. Non-security bugs and + * enhancement requests can be made via https://bugreport.apple.com as described + * here: https://developer.apple.com/bug-reporting/ + * + * EA1350 + * 10/5/15 + */ + +#ifndef _CORECRYPTO_CCRSA_PRIV_H_ +#define _CORECRYPTO_CCRSA_PRIV_H_ + +#include +#include + +// For reference, subject to change for unification accross corecrypto. + +// Program error: buffer too small or encrypted message is too small +#define CCRSA_INVALID_INPUT -1 +// Invalid crypto configuration: Hash length versus RSA key size +#define CCRSA_INVALID_CONFIG -2 +// The data is invalid (we won't say more for security +#define CCRSA_PRIVATE_OP_ERROR -3 +#define CCRSA_ENCODING_ERROR -4 +#define CCRSA_DECODING_ERROR -5 +#define CCRSA_SIGNATURE_GEN_ERROR -6 +#define CCRSA_KEY_ERROR -7 + +// Key generation specific +#define CCRSA_KEYGEN_PRIME_NOT_FOUND -9 +#define CCRSA_KEYGEN_PRIME_NEED_NEW_SEED -10 +#define CCRSA_KEYGEN_PRIME_TOO_MANY_ITERATIONS -11 +#define CCRSA_KEYGEN_PRIME_SEED_GENERATION_ERROR -12 +#define CCRSA_KEYGEN_MODULUS_CRT_INV_ERROR -13 +#define CCRSA_KEYGEN_NEXT_PRIME_ERROR -14 +#define CCRSA_KEYGEN_SEED_X_ERROR -15 +#define CCRSA_KEYGEN_SEED_r_ERROR -16 +#define CCRSA_KEYGEN_KEYGEN_CONSISTENCY_FAIL -17 +#define CCRSA_KEYGEN_R1R2_SIZE_ERROR -18 +#define CCRSA_KEYGEN_PQ_DELTA_ERROR -19 + +#define CCRSA_FIPS_KEYGEN_DISABLED -20 +// Number of entries to trace during FIPS186 key generation +// Currently, '3072' is specified by the largest 'mod' +// value in the RSA2/KeyGen_186-3 vector test file, but +// 4K keys are expected. +#define CCRSA_FIPS186_TRACE_MAX_KEY_UNITS (ccn_nof(4096)) + +// Number of ccrsa_fips186_trace objects to supply +#define CCRSA_FIPS186_TRACE_NUM 2 + +/* + Supply an array of CCRSA_FIPS186_TRACE_NUM of these objects + to the supporting functions to receive FIPS186 key generation + intermediary values. + */ +struct ccrsa_fips186_trace { + size_t bitlen1; + size_t bitlen2; + size_t curr; + cc_unit xp1[CCRSA_FIPS186_TRACE_MAX_KEY_UNITS]; + cc_unit xp2[CCRSA_FIPS186_TRACE_MAX_KEY_UNITS]; + cc_unit p1[CCRSA_FIPS186_TRACE_MAX_KEY_UNITS]; + cc_unit p2[CCRSA_FIPS186_TRACE_MAX_KEY_UNITS]; + cc_unit xp[CCRSA_FIPS186_TRACE_MAX_KEY_UNITS]; + cc_unit p[CCRSA_FIPS186_TRACE_MAX_KEY_UNITS]; +}; + + +/*! + @brief emsa_pss_encode () encodes message M acording to EMSA-PSS in PKCS 1 V2 + + + @return 0:ok non-zero:error + + + + @param di hash function (hLen denotes the length in octets of the hash function output) + @param sLen intended length in octets of the salt + @param salt salt for encoding + @param hLen length of hash function. must be equal to di->output_size + @param mHash the input that needs to be encoded. This is the hash of message M with length of hLen + @param emBits maximal bit length of the integer OS2IP (EM) (see Section 4.2), at least 8hLen + 8sLen + 9. It is one bit smalller than modulus. + @param EM encoded message output, an octet string of length emLen = ⎡emBits/8⎤ + +

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%0A{B`Mj;kow5--N%eN(;_q z9s2vK^I-~CSGVxLIiFt;c<_O}x`k^rscS4Dxx%$RQdihQxAK1;uD|}uL z<_w?c!cW>qxYpI{(tAa&Zv3xt;g^}fyl&xdxbVja&!ykr@o=x}I1An4d*2&AdLQAP zF8%}i2>&%RFS_oq(2f6WrkZr^D}Re!_`cF#okI-P$o-qAUGn3GP^3{xGQvx_o|H1iAu8 z=j>NbI_+KR>F6Ht((RGRDsbufSJ2(+=$t(bg?h~IMyEaKr?~y=pQV?7LN~zC?Mpt@ zn?m(*j!t&gT%P^{^-OZ={DVs!z3i^JJbK@G2G>A$gQGhkNax(*cRO^Aj_$Ma^B8pV zKS#QMhwi(dBi&8@K0>C?DDj@CQfd>~+riph@c=eGYy) z|KLeSC;M$KFI}f+mEUX7^?1X!;|52TwkH$1+X*&=FWYOn1U*Q?(UvcLvs9(sU56DwUU@yif(>kqwTtCsR zT&D6IU&1o3(ICxc;L#30rGJt8M_@7GH#>K;!$yZ!fWs6Y6x}J#|3rs}IsYEc{RswF ze0PAupkEIv-nX6q4Gvd2|Ao#y+u^xj8T1E(<=}fPPx%V?GI$PnFL(j?J@7(s1<01L zqRT<0dkJ_J?n%ylEU5hVbncH?#Ub|&Q1t7-aky^)#jnQsUj&M7taBHGlW;$MkUb}& z861VX0TiF}z|pwRaPHkS__4VE1fB;rgXeD74-n8f-f)*oD4n+jtB2? z?q4|fYEX2SIREpV|JlxcvUB$YC1(fYTFLnrFpB$5a02*iQ2HwbrRSy8U7_2TRP-2i zUve!0>0^uLg5qY1BzC!uW2N~lOeUr#V{J#d2Tsltpbnsm8G*BPXrH?2Y1jay}OsVvr0Y`wV zK*=!&gk+%3gcKHn%770Y z45X>&Ykq(xnjZm=0tbOdf(76}a1VMs4BQ3Mbn^8)O4G>S2vXJab^0n*Hecm42wVq} zmHf3JBImCG5i!3Wgk}B;kpKC${6R1Idg;fNUv1reW;iSXCGRLu@(u$f?@&Q1Z5dl6M^_dDnuHcMW(bSPx3x6`TtcodWY2xOB_ZVh8*r7F%#e6dWZE6s~wg&j5rKA+(Bd$-{E?P^$x2Y zmN<+!3_09Ee!1<_>TtcodWY2xOB_ZV0w&%-^q>V<-t{%^<@TOSHI|gydp@jl;oiK} z14LA~H&69l=k}gkdpZ8zJeBOP=)HNVA3OSO`0IKDy(rw9chU*ta(nYkA44OzH?MSr z3-{)cmOK95yphgF5WP1~quGd-Eu39lbYi(%;d0^CV9=`Mi0NA3C=;4|0)<@6CIh;@sXm$6EO5i?!7l1zqEv zyA>m<>krPo0^_J_u@{c9)pfgbuf@pf`kEI$$hseP?hP1YUDtWxbSkm3?7Deb;V^W;Vp+Oye$Dd4g(f3$v+;Mv z$YGwgqN5`MoSBzt3E8@_C#WpJeOAJge~K3$JFACL2H(&Sg=L zsjlotUw8$cb}dpBMZ&_Js(H(nE;i*1S*8SX25QaHzM}0jNQGwice-lfHs1R;hq{m) zUXD16fpwUInKW)%*|aKGJl0?7nMPT&WX{sLW}_+|RKF~@cC*f{$tLjJDu2p;IMp;= zm#?0+XwlL+X{QrwvGes;5>x5W`K(aY+~Est{qc(#s#-XFZZ7Y1m7HtZvo%b1A($~& zG=!>!OXe+Ab$8x@C~7Lc2*$nz{8TNnBd{LIQY?83OIuI;FKyM`StpD<~PY40IFg>;@pVLU!#pYF&=WaKdI z$Q?e6Kat{L!_FKr0z7N;}SSvS`{-9f$%M#G?Wwkyr~SI_0T z-1A(>bMvgF=dE;KRaKR!S&y{f9FmCcyuxiaX*7eBhvP(6R>^7XJ*FYvD6+-L}A zL=E%A=PuF8U*l5w4&!0373A44z0Z_eb16I%(|LYQsGQ0+-b$9{PmeXvEo5UvpYqgE z<*C{I%2SuI*8j3W<*8+nSn`@e{%ncweziP#OrgF%o!rBM?D+22%9C>o`>}2ok4epA z_yh}{ua_qm6&A#k58yemdCax(X^@{2k;T?V z7B?arX$&Xgd7S!LPNbaS6!CK+BAi~&a3XSs6Y(skFBe)yB%EQ?&oFx3W{!Ab6wi}5 z#LF-tj+nqeky9wWLltA*Y2o7=O?hVSJfB?UcP$0C#1>k4^N3Jv_YRd9SvN(7@>|Q3 zd&-kz3QcL@wt`SfQn5;hkJ#{5ErIVqQU5gH%mX=~Qn;?@r~hY$R~EsBoNJuhCEpwC$znYVOV#G2SIN9-tILbPIP zWcF2&F|%rGmn|(>$^z=;%NL!tblLoKLm%@zfz2vfPkj}}DI4uh@~)pd_j>4beTkpK zTOCcUb8B8i*Vp)&_?}&MZZG^h0r&r5?_1!bDz5(*g&3Y2A5?rq7exhSmGGuY-GxLq zy1`UH=>tPZ0!bT^G}#rfMT1F{b&aLfw)CC8ENy?SwDyr-v=T%OwzZ|!T3TAg`XWYK ztS#cB&HwwIIdgaJ-CY*c_V@dJ{>*20&z?DF&OGkid(WJiIm2Nz`3-%&2WK`m-B%&% z-HMu-(<@?)qDkA4Ep#5^M9e6va7Q57syK8~o5LLej+*+qm37POq3bwoh*j<^?1+~5 zayJJA6-_OgIdi5JjS{4yv--Kn^8TDPLtdZsbJ4J}0_u^xIngi(nckn>Y_tHW$~Nu1 z8+DBPca5OCml zRf!cc%2!hhr5Ix^9pin!&lbjzK-!s2-57=UGflWoNPEA_JD!=cY_xYX{U$)#b~C-- zSx$bL=5Pb|V(ew2t-fn9lek}RIZjEDc9y0{#fzCK>-iv?^<#I?TqkEQ&!xM#tor3*?b>KiMoG1{)HkJU9`z_7Befg|55 z%1aht6Guf=Q@jqkZ%vE?UK3e|5qE{&agp6GOqTm)+MKD-I<>yZ`=zR3Mb7($a}~aT zss`tBoW84L+`s#v&oQi#i@H~EbHA|N7!LJ*q2FExBX1cDu6zb(xL;aguxG3!4Z+*L zjhxSFvagi|vVyk{R#Yr+X|d>Dzc8j=`4*3Tzpy{pA=mx9S?bv;i2@Kzd7E+L$g9Ft z#9a5Y@dwi@^14Kxpoe`w??5?dd#uHz4xe52{mk<5%Q~|fVyeZzLl0_iRp(rq+p#f= z>EMlpAmwJjJ|un#+`6dSpGQsVZQ>f`PR@6s;gl}lr{a`b3T}MciFmaIb}3Fie6m=M zw2da4Feq4402d-#c=KZ?*nODEmFSBM@s4qfY{mPZ+{9G!^(ovY1uALta<>u zCQCbuCk!d|7ei4j*#yrAiIOh$i^JSsigungo0Uu~#p!`gAs|bY!_FHSMLX9FDf1V@ z&&bjZ(PRsb9ptW1RV$X_J`@vCXt2McYEJZbo#;Q?(VGz+!O4D*8y}BaZBhx^)^+(} z!&Rkzg$tn&TKxC)KdqSKn+Arf7cyH3r~2*ae}dedbEg>zsz{u_)D4aj1wg_MZ4uPbi{{zs zZ>Q^8c7@IvoXkb{83Ew%_}jT$Pt#w)rQ&9LDfd7PuQB$|Z{$hdon>1j9+!%nB>nAE znKFr!N!jR2&_^QhgTS)-JN8S}BuRWi|1ibO%9;xWIVJ2bOwj%u5`+gIL_t)N@SF$z zx4!aEh{QRhaP$GD?&9RC2Vy5j+SY9uj2{m#Ga}pHehx&NO_l>A#Xk;Hcm)*0Vvn?;ia0+`-~>f5Wi$e;faFUsaA`IQ^%&dF6XPrMR))#y0>r z5u>kmQ$M4q*Wp)Z+c|osn_-1w=yVv8I0P2^B&S4@*x(wK6M5#kkJo{NRl;^!s8~v z5ua8>->^4v<;kF(B`8lasuYQB^nJt)po$$=F@Az>0Umg(9_*~<@#aoRINqN|m~Mb3 zr&p$>+l>ZbHdHEw-~#ieuJUPm1?+?^jVoeGd+=4SZKzxYyJ}M<%))~B7G6eUo_i-LB)B5FW`JzA&eKRfn_k_-IQl|3@bLns0ukjf^IB3e@ z)!!yVZZW=h2_MU;f?40^S${VH#2CJhZN{Z>G{AA>gw-U>*$s{pYM zBe)O{&z!MS0bxT6@>F}gx`Txh&-r!I{Q~zPQ>J?yknz6~oKJY-oEIf*llVHpIsb_D z9>EeoT$|ubK;{<|SO|!8L7q`Y`jdc^LqEq@7ZTj2@!)49{x(3Y=?Gp6m=DOeDn4UB zAowD|%LLAn_@Lk?0z$P59w+!;(8DO_w}8-HgF6918hfAMKNh@8@Xrg*2Os5pK;o~G z_+r7i-kfr{|DJNG`(xY_d;=F9Q`^B80ZH!xWWDbM#Cnq4}bAAwjeOh_GfzrXPi)mRH#frAgOO2HEua}dwtN^~qA{RkJf}++%)es6C2DS2p8qb^hWIKs zUbEUvTgoVv^5QL+lC9>#!-^{p}v!s~6#o$*D>ncqIPO zTePcLSIN|?${AVHe=D4OuAs+Nw5E$wPu!V8DR;4{MnHv^!;v=UCiNJ7`C7hkbqS;Z z%GAY%W-h9kE7T0!;o7gJP3J6-H6BN`?E$&heno9!93B9^0KN!#_V_l~9Z$uke)93~ zW0=h}2nOeKgkL=VRXEh~_$I1h2$V;WAw2AP??O;3fe9Gz%7xQ0-toARbFw7ZDdjZj zrML#gc)qG}Ra0eEtRmj9n*OpYqQwpof4ZeytrEEp^6)tGZNy7d>gW=gYy8ahvJ5*l z@HOG(N_i$gY_0iEI2B(!*Yz`iwlJ}WO+p;kC~iRlR*{7uUpH{Pk9`|PVLS~8G;RKi z<>nVzA9kQ-YY&*=s|4O+_!KNlJQz;=9Zm@&iN)~hSGFUXoI&xW$@lCfEKc4-MaG~d z9fQ|j8%Ygq3wJJ>@Q=3F^Zji<1{?k2eQbZ*Cj5olqyqrqwl_y=2Q`so zaw8(3+k$Cb^4N|?W2>p?uFd!Pi+3h=4%9(Q=fXR!rQZhL9=->|-RtqIyq-MbrrxNi z3H+*}7WEF$8y0ORmWVZq=}U&Gn`#@hYuoJ)$~YokvSG)-^TmlhZ99%?JK%>aBg7sH zkAwN!T3;K2)9ZJ{7nETXP>LKbadP-Ch?PQKfxiP^V579Nyinzf6VJf|+fKM7-BFg< z>&`Pg_*5kMdA0|#869t-i?YdW7y4r7z{_Jku1@T_K9qN*5dhj2GFi2mbP$Ij7Tau`%&>X!Hp8GZo|L&(zK&L&Kb#05Dg(z!5z z%Ym`foYz`l5NO^@e~04+dy^v~ZTAP@oc8&mhX?YDdf}H+F)1IU{^A`S53jj6-1flV zQIWjWOCwbeM>>c75n?Z^I-x5v}wV@_&VvUp@b4VRhmke}1HF(oWr07xO8@8kO`uT`WJOoP%oQfLfjCzdf z|8noZbd-eJwJymISd#hp33vCUN;2Rt>3Au2k}8)r&M2S3jwd9DnC2Ft`{M5*LXWD& zGar1r;Tqt{!%i4Z{DNLY>937X7*iL2`!-;3ZkVYu{@cE;Qeq&DIytuoZ5ME5#uVOG z_iwlt#LYwf9ghOSVWhvE%I9W0o=(7vax=VVO#(y}ngDbwuyj4TXT2Md>e0g!(k!ZO zqnE%aSIhrnj@eT_EK53`i49k@Ekg$W4Dmc_#S)-fXb=JhehTU<_+wFT0vhff%FMqE zD%Ew1s*6T_d|*9YV9o;zubjoQK?xWKmi`Z*PlDkSZibr`1K08QznctvT>Xnyuz`{0 ze>CxOsvDuN^p680T!QX`u>|I<9=z6c?MsuRCPe4F92?d;#}^xqyv}mx)uHkVF|S|p zCRKUCAM3y;GT1e!@l+v!E0p72$z(sMM?Ax28XyOE__5F*LUg9|W}Wz{=)Rfue`Bns zf_MM)WW=6|@8$z&5(Jh{1v9?SU^j?@;TbqhWsvgXBD=P?s(sHKTjbHWgursEVE8=y z`&bU%5nm8~)2`V>(m*)1`w>l z4+26Z3eJ=G2?GC)HxA|f4iF)Dzu=XCOn(U=)6?e7^ruPuC_twB2ilSFdw`_h0myXM zOFYj@gl-g^3W)9(JX`3a1^x`oL>^$9!HyVM%`qka(Zq z-x62?h$04O0-~zH^8xd*)o>XgMC6481_T1Ac=n4^k@DNXdB2+eI!AEwF+6}T>88Ja zQgG8h7XSy@3Dq8aoCil8UHsR3@JSw=vTgZA9{dsyt_O=;$9yP*O%5ud{$us3GltTu zUJ)52euyD^Fufg1E57*Mx8=&uKm&*a>rpIgC+m$WwTv~=* z!eemsQT9{bODY`dc#Zoz87Pk;1295SEkqY>B`|^GtAm|`Q7&>!rn@nkE?f#;FBrsUfI zoX@CQAQwR}L>(|4FP)0~a(;Rfos3(NO18FXrY``!G5)pwmUrs7JP85B~Iq;$?W zQ$_1ZE=+!`L6k}?^InLmNsqcRJ?diWc)Y4AZzMZEo#zzr=%N{@CR6$)L#Sz(TG5!E zWnpdTGSh~s(enBi53ml2pTnbcSe^5rN5~!f*M6uh@sF|uRucXZ(^3?_mHk-zK{u*X z+X3jiJa3na6M6q*=1(6S(l(c`c;DK*M4^s$QFSI*zE_s`ds*TyW}*)+j?v<=$)#=U z@XAp0hfuhl#)Z_{-wz>5JV4VJ-A~IWn&^HqEFq1$wr(9>9x9*^sUqO}xLjRL?z-b7 zDh6`g;JqT^Z@{=|*r(RTB6keQ}*O}l{OJZHT zrO9>DkveCbiX7kwx92`nMzn8f;)(t#NEu$=Hyh0rZX3+=-%Py~C7OhL@3N{<-H{>N zFrMak_9}FCEQKuE-8!3Nyj}g5GNN|Sk zYG>^F!pn+)XyOIM9OhDDSGy@k*E8_c!PR{R?NBtBYPM)Hz5~;|JNr3Lg@W)HQLB5b zRt0H5LHe7~q%`F`Y$hb~v8+RjdcvjB9{ zYz2o89jxQKkQMEm!9zfiGMd=mQ)3cawGV?ELz{3nH}Ca-1Zk8Q^nNS{L0QmKs}Wh6 zjKfN{KRyk28Y~s<<%sJ+?hxH~AE7K5Kv7^Fi%-;LCi%~)9|A?e4N^C?sTceIWSha2cB1Eb}V>$GU z)y#E<$raZw7C|gEd|s|uhA=Q)rQn$;B}_5T5SZdL#9kmNIESVxFfgL1m#sIDry$Nc z;nfKHKh@X&8;oz*7|t>c5aO%Z%y75;SzH-Z_(|O9y27+X_O#G7?kfQW z&2R%`BH3mqnYu~CDp@6x^r3Ls2$r#n%tO7tBh z8dy$NbZ-5=!nJ{A5-S(BQdt??8JRmcc$Ck7^Rc|!J4^Cc`2X7bivI?7d3RGIk9qDq zXp9JVKV(|8|CQGV2UT*sRZ8+R2^iuQuu2Jd)(D7n{>W-={o3jO5`?PO?Vo}EyKxWZ z_)o(4`&@jB@omKSbNHUj%M2?@1z-O-n?fBCrj6gQ#g4-Rr32aUY0`;I^)n|U{{s*G5uwv)z>qJ{$p58|_Ptx;FBXVf z{E&iKrc$iet_1YDmH=17Vi9McCEnE3*c|hvn~ON$s`6c1QN?pZ;Xx8nyXA>X=%Yb9F8DbJjGol$cEnRH{}$;iRZic+9QVG&fY%qs%R_z{DwY8yY7U z&0Sm5GI{FURX8QHGS=9IY8Z z(P9S`%T+|->gpDh(4<+bg{`iwtE!dqwgjqB@8va83%%+n%6#KZ>MEEkAeX6{TQ3?_ z17JEB&AqY(JqS-2YN}3Pf6KHU$n?W}&1t%~lkRc(myP~}(0>cfEt9>_%uCjQFOxsX z8N;=JcWIE8{|O@BYfqejcx6xg8*4f^XzJnE2Q5E-#o%4Qi3S9z2Og$wJ0j)P<9mJ% zzRBR>n_-ObvEC{edF5@#+?vfiy(}~^OZr`Bdwg5 zqP_4a3tj|>_wd*$f}aXF5%DJiLJuq)CGl^d!sP!8Ao)4&ISx37DQ5z90S57*KMj;M z*bGR%DnRmGF7ZVYe}=@rjCx~8AAAIm{2VTjpZ=1FUk`{n1Q!9G2N(s!BQ7`#5OeOq zsesHk50G+RL!nvD7Xg|6=K^`2Jmr25kmb8W;@1Hl5B$A=qXCO0el{TGoG(G!zQAfg@?R}D_t%^S{8B*X zdodvModgI|NpL(M^F0L+T`qXM(EouuS>+?}*MMh(-U~Pe@cRsfMe&^buND_Hse!X+rAosDv~psC|KLuI=j{-Rj0wV&a2%IReKw!SWE2b3H}RkN<77nObs}z_|6fBKeft*D;in%!o1eaUZTyoS`tLkAd2RlbUm5Xa!4+{e zYjA@5YOKPmu7R5uQL!1zrD<5ghR9;93kQ!gEu;R+qH-#SPAcUZ#)!~s53QWw)TUxZ zyg@A%r=u3VPL9j@xMUAY`Wg^xQd?0L2ICmCRvjkjxFgiQema6|t7@88x>rqN(Wp39 zv2xT)DW#qoVd@MkEbXg><&=V|m6S}u?&r(_8t*5js;URWdy$f>u9&Wi8UXU*I`Y{5 z(&e2vxjEDdP3Q**S=VXK%{o%fq6{6-%4?I{_DIqw$|IW#UZbfbLyyAkp(S26CNT=RYf zQjr@38ozl)id5gAIoEw|ly(Y8ihPs{uL|E@DCP3JbcxJ0Pq#(ng+w0bB`MDY=xDX( zKOx&0dY{hAnx|u?jNgZHu&N;_Hcfy?@65}QhhLVHdAJG+{7?c-SX+I|MxDKv+%%HH zVmp`rb%ga_E#z9doir;TDKT?he4&vFKTWQWuUzBj8GM<>Lk4fsc$vXB=Bf0{4c?{k zRSrHv(XTW3o_vMhZt#GX_ho}`(foHgxR%H9jtUz!KYe7Y(53O`3_eBI?|{KW8Xuk~ z{8Nrm`JZI)0!`;clMWi^e1-}k&A-IpO&YH?c&o-^2H&Xhc7rb)em3QN#^6mFzsukO zo!>(S@6zf2Z18eTf63rmH2oMpBp7z;`YVNzJ zZ-yrxj!B+}S|I`ea2|Jr`nc%g8uM@mo@Py#7l_>tt2);t_?+RWg_zuB8CHS8O zZx#Gi!Pg6Z92I_q4+%b5@Or`DE%++I-z#{7;7bMnxZocVJR$gvg5M(e?Sg+s@H++n zwBY|OcwF!ug5#N`>c30yHG)4a_(s8B6&!Qail2jUh8qPxR`8hMrwRT^!GnU|F8Dmb zYXrYqaLgkp`Ktxjxukxz@34w^6W;YTW;3LAxo1=fDg#EHa5$9mVK}HlI2@LmB7gOE z5J9Nix|bOl0(C~~KQ&`7PNkPV3xrMdIl)-Ys=6jvh7DbnT)AqqV^-8Px5Vs-`bsz6 zK+j&5P~|x-<;c%VQH}%c$mW`BO>#95FvA7dp_R)Q8*i>z)d-J&l3a}_=o*g>0qLRA z6|cPkdZXcb2fLT*YOp=33R&+81FW*Xxu&vutud%qHm{7YLh}UbS^^D?u|Q=&Z&>o7gQ*B> z$s0D!aBd(FtNbvm`*jUXam=Z>;u;#A=!O;W&PW5inTT?3{1$7QD{W*bEb?^v^Tag#Q zu(+pObV2JHl!wcJxe7?2BUI~iH06p=TgjX#C0q~D43|6sRMR4B?(J(q>4>v->aUuI zYHq9#IHOo~)i}z>AF{b9=#Mqc@I6^WYD*k5GrHk@@doSa1?1V{j?~Xj52tp`$u6{%OFx%>rfLbRO;3j9(+LR^SqW5rMM>P82v!V7|Zu z5JEY71@02KLtwW+E;hg?ZvFn z9}*jtVvIHI-+q)UqGJE{p{|Gp{+_2tw%BPd+P^*D#d024hPzl!Ld*zP%rV`p@4!(- zy*1k0!V$vFJU>S`vo56l7Y zQZ%hzw)InTV-$wfQCFEXSTjUF7e%|bvM)pvuZ!Osc>GlR@U970qzV&Wv{0>^!=mF# z54!@y+9vtq!ppV0 z&NWE+0Ya{-soyG8olP%RS6wZ&-aba(#Cn%?ejNUay!mXW;qOU1efq*FKC!EOc-YPL zg`-j5l?%hr-|>z3O6L3Mdfzv{v^-LB%2z+)USI#G=W$#s3GBX^ z*2OTMp%dRs=e%;IECbhAX4;3x`ACNM6vR}or)=^qi0&{S&AWh zG}a0-upTOybuw~(CU17wY<$ha$NH#X_&n$TO#tx=_&$UMiVUou3WncW_wxV<2ZS%A zxl-$Cgpd2p@M;T20MTT@3jpy72vT3^2)atJ4G?`ut)t+&nPtGaF6Iir;{e|SI2Ldc;E90vuhwI<0wSxt zWdcJ20|EgQo%P}R0dpVlxkr7`^lL6vCvNV88AxaAla~wK^k4QXL^%Ovbm64gbUx2* zd;=QG#<}+2#*gyg^v7h=Kj)EOgqZ=QzZs_j~x~d+67D4UwE)XoYo~ z?@WU^Wuo<=9>>Qx&E`-z1)rkQ`UY7QRq#ih!E29^Yu5)aMicD_wc>16_4Z6-cE#H4 zc;BWmTX8lk-_mKkcBIYB*LfN&#zQAp~D>S896LJLzoq_f@I^wJhx8MYKy~uJK;CaCeKmJt9xg!yfN(-V*P5AN?J1ONl++Gcs9DexWBEcHnqVX~;@B zZQI&K39%FQ4Yqv&e+Ju#i^>~GUcQW;f}VzcJNRoTw10qqpQqJ;QH{CaFJ$oJF9#w4xL(hlE+kFXsm0Dg>w7(cfE~G|Kk>vbZZg2Ss_JW)d z)y_LhlNTEuesEzeHsP5Fx(R)9a3^B04=>(6@O`Ub@YC`^dNUFKpL#!^5(DYWWE)=+ zJJw(`k= z6zv`ub`P&xVwW0Arw>rnBc=)*c3@R9>Hmyp_$fFnYd>A0{A@|29{d|!zbgG zVR$}pJiw7W{*K)PNImy)jRzkF#4R7(1_*tBZYv=9sc(`$BJg5BraJ|Y{Ko^5KMxSk zfw?p#;F%EI510@9uYh=V%zY4${67R_`u_rCx|;!+&niIXvm9^)@MVC^A|x;%5J1IK zFQeXTuGb{N&Gn^0f%GsS19Wwlo_s%WkezU~2WNR~`b-c0ng?gTHh+l+C(Wj_-ZqZI ztdvV%<<~+_@0l29f{{0Z^CB0-ttyEOwQe#Vt9yqWYKT;)9AH5Np^iR zl<%N^BDq#g*<>5!t`P!9Z`+Adxy zQZ6%~$m#WjFtd_ZrGp+(tsNEM-}^xsk1}rU1-a)8!$V~Qjy$$2CGcjY`q9KvR(Y7xuOgkdr&SYGd>#FaRa}O0snn`*Ec0(l)lw9v zWOM;Im&NkMkCklkriC!%2s^P91;~j;Ax%6~^r#lxuNYld6yiE((9QPNd=PtD@uQ{c z3XB^#6D`l}61wI4$fR3-yaxft@6qQ$nrn_)6I{9m2#O7{v_bh;Z;>3(UaQ~4)W zFR^+7q%3ozwQjV@LK8n>_qQSFS?rN38VXa~-eek5)bhK2ZMqH|vrLoL3U=nn~fmf}j!|DQrXD@*z_ zj@AkBI%7yHKTlO*$VM*~dba#OD)iY}Oq%?=g%0(GA&q{24*IWi(D&q^|5fPO>Ze|y zC>ZVI2x;XzjxSh*;TojTPZ2uCE(~e(vvSbs1BD@5`Z+o1^K;P4gf9A0TKV25boH*! zQ2rG;=()zlU9a-ZG&pGP(`@77?+YLAV-?Ie)*3(8gD^|{ZOZ+Ohidx1caDoM6F%P8 zDi}UX-n}4vQ~2cm&M5C0@ZBMNyw6q0Aa4{}_a5Qn{hp0)I{2OwKHm4)_&x}}v*lb8 zx&Pq6Hod-_`9jOpFAg^ z#HRCc4)ILkljlXo^2NY6;t=?_r}brN=Yz?60DQX+f$v4|Z56(QwciPN<`}=Q@?6PS z5BlZ%q{x%!OGdtG@U;k^JSQ^p-3q?Nhrstk@R|GQVDkP5zLO3?-cURv-jMtEVDct| z?@z+#jNifcW17;#2srjxXeXXr{jlkokQP z5DHK5Q$oK95Vucot>Ddo=L7$c##g-;kmcpRZKgjP@EqVL3eL=e`0Rragu-V4DUbVv ziSGoYyd4@}^?kt8fPV&%<+=rsa@zp$%m`Kj76HBw5M$Ed?;wQvb3U1TwBIq^HwCA) zej@N@z;gksBz_6t$;f{J;F*Xo1w0A(JiyZdQ6@#_n3e6wIhixS$Ll;9uodl%BIGR- z$m>EpAkZgp59-hOUV&W#TLmr?7!nu|=o7dHiB)=mT>@JLE)y6M7!c?axCiCM-@IOd zT>@JLE)y6M7!U}c(s7-{m|++V$c^wMgmM1g=!;`fPvS6c z#LfG>6aR@D{eXHdaifn6NP46Hah(O}M&J0A$TRvwgYX-Di2a28Mt}JV%17MjL#qWh z`UCoamJi7A34F=V&c#4~1jP3s9|rEvCvNn|?UKLIXIXF3jef{}O5Ess6~b@ySK6;h zH~QvADWB0_r=c9An{Wbg$T0RWzE?>%`u@d&8~y#mf*XCE{zJ%b#uqn`jyPkl%M-d8 zpS%g&%3l4q@k>z_8xMN$K@a{r56*Xko&NJ4{4Ni^&VxUN^4sb6d2rtMHvMHFHco#T zHon4x({Hy;|A7bRd0wC&osWD}kTqx(vXfq!n6o)DFdK1rHjga55Zks*QQM^KGm+{V zTDalJSg{Q+)($vvj%C}i&vODETR)7?1F@B>y<2IqVw+7f`~Fzt6DBn zT;3R@q&kILRBH0Zst%93vZ}34zPj>#<%_PUFisgn$SPcdMmSy&lvl}dydZIG9w*Mq z!-*3tUAQ8RiS<#~0s+yX*&^ zj&^>HzXvlXwMP`|W5B^LQ~?zZb-w9NCPFasmO$a+I}7jMRss`p&F2_7G#E0NeY+Y{ zIQ>2uMQuZ=k#_$Uw$eyb4apHJ`IY5^WH9J4e2~ z`J4kN$0^8tGX{nSAQR%8`5cy$Usi$fcAEe_q(I{^U6^KEdNRjedNSF&m?KG@9J2w46SJU0nfxQ@LE13A9c(>e{Dix2#_wKyu{QyeEvZcr|CSQa2ZAoa1ISTI@VP7{ z&`X3cAuwC5Tbav3niVwB>y#ozv0Gy_j{*9>)JsK-yZn=2{Q;-x3u)cK0~IDVz0^|Sw(38h#y zGW@QS!pgA3$osgPx>Cub{;uR9d4t2CiqoJNo-_{4tMz{IZSKG#Fka=@|z5wC4nuji2DqYp2PKGGW)4w zZY_U1mnE@-XL`(Os`aSzx6cB5=6*kLawIv;Y{p_kehjQukAKQsEldzr;LTyP4kv5p zTn^23SL*1EcFv{cCW^!5Ksle3d9Z$~OT-S&`OVH5RfvZZdHcwEe>+F8pj}2<=UCc8 z+4km4dVl*DHC;LUr*rAoE!uib8?V!z=}D_j)+mt3)G_z|4ld#vfbaIv_4uQ&$A=(E zuIS06o(k#$H#H2FaQA75G&khW5yKaNOf`3oKGmIq&#-Ve#mFr;<7WJKwzK_BwzKuO zflu#h8X6xi@1TJ?)3*M0o)qXWINE=#&tEVfv-Y6^Kup_*0)SHhrvPI5J`@660=NVa z)A*rUKuqa}*2oc*xCb^OuViu)eiIw`i!0+?YS+Fx&is$wH+VB&65S}a&&=@BB(EFo zKKzqLTVg6{juROerpxclP{;qebbF@RPUw$S#{G!Tj61aIyU=$*yrua9DA$$s7tF7z zudi&rps}f@0d65eMdue?fbaQ5)fZsKlqbX2HPo~O5kcS6j`!!O>MuPuI|slQX;;j3 z)#}}dDlpuLZ>IH+jAzJ3AIg?N;LVAHGc&##5cYI+-X8JAz*)aJ z5oiJRbPVfF}Yz0!TUA0a@=m1ttKQ&-H>= z3w{+KZ1uq?ATCoO?aG7~0WyEi?GWz9YoG8jK$hnhfGp290h!;&0hx~bJ22-O{4gN$ zE95*3(=7mGd8X_5v9xm%KVI;EfSKhRzz^iC`V%1O+a>-R0^0?0K85*R4#;+#4#<3H zPh|Pd0%ZA~0u$x*0U~NF7hADk{1}ks{v06rKM6?wT0rvirAGb|K=RK8B>#9o@}C4q z{{6_5{C@-_|8D@vw-pd9h24PU-vUVfuL1JRd`UO&pVI|5 z?;Gx?B;C9}E)?9n54g@9A16@lw{Z?>Y@A0}**NDxY@GjX+`Dh^;~qNqyW0HhcQ#(_ z;lIa&uk+xntDPQwz=hxK!5!0{vYo5t*)5eTYARrWt7*8_q0%1LM899QB{18zM$2BO zZR#GgB+c+Hf^9{2TfHSEt!u^{tWTcgiIPIJR=wNoF}Q?sY>{uv->%dr+rg6J@yoP~ z_#89nA(>gV2RV~OdBC-+QVVxqXn8aZn@;(i(#IdZ^)>cc_y5hx?C*9~(Tte^6|}!w zQ9m7%=i9Y+j>SWc!PqBv$nyfP^S5O0Y{UDR!N?2YM!10yhiUILa$1=df#*-y0nc7n z$Yt-`DfKF`Qt4Nxj{MDq=2s=Vqy2KvD&8 zT`124pta^d;Z%I_e$mgE4E|%fP>#z%FUO0AzH)e(%kgEv`(J%obiS9AjRo*<0!?ly zzZm}ZcR`pQWY?ev*ym9G1!6J2zDh;wkt)agT&vSq_ie4?sfD1N3ik1qVcYO9LJYuN+ub80iN-=*UpZE7LkShpD&_u6Sbe4A$ z(%sZwMY*?z@N-`nKXxl$hjQJA0f)JUu{uVORdJy&EMY{g6>%vdQhkTJen7N)&)Mlw z$EQW*>?~5szSL$8Ji(NgtXB+4Hv^vl{Valh$Kd`KI$sFZ<`Yqcd_#8%@JIpZzW zoLM(<5xgf+w{w;-TseRGq(BU7GV}@y_|cp=38$ph!-eSxUphPeE=`JxYtwS=Jy$v3 zJga4dubCxGg(7sPO#28J&rpVMCOXGm414g+WM4DuoW7ieZq}()W})*uCx)-#n<@Vx zq6B55e_iOeA$=zM-c;V^2=B%>6TM#O_k*4(f1a!^a^v&zSH@}*)oJQyF>$v+@`yzVY}mVNPq z;NzK|47~o?_}amDk?^q}xcIE{ah?3*!YBP9)qawU{ebJ_dxej<3Z}kR`@IRidxekv z!^J20(hiC1tL%`|0ha;41aJW$@rwXU0H+Ba02~Ut(TRX~P6kH;&IUXh5PhwX=Nmwq z3(}t?>_&yp0-|k#e*#3E3TdC51N;F%Ok@P_283-k_*KA*0BM(m4JjB0WIjs(!@w^A zJQt92yz>AH1Rn-?9`M(|Ogin1mjONv$avaw7|(M%6sK#wN|F^ z1whJu0+4ba0i@gq0V$U{6XpH@kaB6Sq})#fQf@mS<*o!oRh69*W0v52;1>hZP6@kQ z@GL;qi|fZDz_}NI_y|DOlk3M}CoJT7b)#Xw{G;HH0**m^pWwZM|3u*T0N(?7TxUx= zAI}RT|4o3D(<1R#0%D9+$Z5oU#LpFc8X$&-h4hC*I;RSWj}yqXsnZ~re!WHjzK%Xi zzE=Rr_kzHu0m=6`AcmgGK1zPxGvxakAoHaikn{#XUWb){Z2#qge*lo}xJcr!5S$ac zxO9bFugiY@Zo$t6JQesjz)65Sp`JL`37-P^8g8m{0AB_~Qx`r5coy&{08ypF-vFKo z{O5p3QrHVP9{7&{LxBGUcpBhW05P5oZUPJdb^@LZ*b0byHy8(`eZCg(48Wy;^8w2N zCjjD_GpO_PCIUyFQr926YJUM_DI9IXecQoS6b7HXWdcJ20|H6JCvOk<33~;032YU( zOkhZ0Kp=ohhijwkuIBwhyC?0i=Di;l+`Q*mPSVYL{cc)<#)L3!pq{&%Dy{REM>TKEeD z=SE@D^99E}uhJVmg0u9LXY__=gl_bJ-y$vPA#`4b$A#a#=Rc1)+FDJBpnMkU<2rd8 zukhfvdGJ$kGuZsQJ@hL*xYv%%`5-$z=aFpueI7jG!D~JEl}K!-Z$DgCo`n{g~cn+#fpXs4r z?~!-4M;<-*+UYrbw((zj($Dmy-{ir6>cRi+!TCJ0<)7y%{{{~}-@|{cr+(h``s*(v7(okl+ihQb;a_!#tIokUCx9hSCv<2Pq#SXE>rOTs|5mCnBu~O^tBfm{tN6o2j~H^MciW%uu4!q+6BEkc(AkJ^jIj z?ag`uB>lpv+Bcdba->5{_u%LtTB_+W(<`P=aiS`)`o9|UE0|oeTI-;@C+uEm?O$Nq z*cTid94av#r5Zq8afwhD@e)n6+H?M*CG55pIFNB=tTuC9>#lXkD{vb$#8zlNJ6mv5{2lD=YfGY-2+ z&qa=3vZ`-lRQ(t0)0s@+Vr!dH4m?=|y`f@WsXD4u9aEX!B6^<9uAYuzDxv9HSR=&| zPH{T^MCBNh3b@kD7!R+R8RO0MtiV}L73#Y3k98q&zXDGkhiai}n$Ke8HD{Tm*Q>)R zO_Pwu?L#=X72@Vsz#>#}1y+D9To}c34$it$n3b8wJ!zT)(vpG+%f){z5svWib9d4Nkq9U%b9lIMn?S9JetT zc>xS!FrK5JRss`p?T;{WFh)?JOv-7}pyL; z@NToFo8=WpGKrtG0&&M|@Wdo9UE}zmA-98&Q6n^hhZkeXymszXn)qF5;_o!iC(3q4 zlR@xdQ@}cHuP#pB-DTtO`5AkEG&z4w87$e2FkEB7JeK4}l4U!?gF7)35?_a@q-tCm zy+ZWUNZiwkA1s5#?*I-a7|kJ+MV+sxu)X*O-VG`{qDAGnGu%CoR4&OK;ij%r)Chj} z;)`iCWuC_B@}+K@f2z74Iqd2#jV9Y#A^e~v?9zu;HZ7+`FGTyq<#BX87=fZJb<3!1hXripwvoO3Q zd1n{In#I5+9nZwBC{5nPe#05AO3bdP`GFUBv7<@INS3j^$8j~kZtuZ8DDX-o(3QO( z|73aab@;0)Tk59j%C0Asl|9c*)s?*&k*UgB*=POKicRY+h0Y)%YlM0b$*tak75 z!Va4uLt1*+f>aPQKpK6n(D{r&NTXk-RiK2iu&FcKPSU-p=+`!Q^{c+cCH1bq>32C|7VQTb}PC@ZTwN+5RdV zgufpAwX(jK*TcnM=9bTMD)24|?#K1RXY4M4Jp$JO;++y~07M%Fxu1L#?5o`Sz;wd_ z@fmCU-adl7iQgsgMnIbF0GXclF{VEeko>eO67ClGQ-QYwGJP8$)APn=diHR9 z^7a5H>=oE0uvOqPfgynbfdDF9DPX%0qXQU}wB!jsP{0CmNC z4*^w+;c$4RGZsu~*iHrb<+{j-aER-&XP>tPyB%>g@a)b@@>BcG~+H zj6AM$FJMHP-mb<@q^RKadwW3QX(wjj`gDAJw4)MwL#}baL}`OlBw?3Fh*aMZn`<1v zc@c(I_3QKXO8K~^4pnAwiOe+)*dg+|by{BtLhK^q8CWYM1^E2HyokQXGpzI5f^x9k zw_rR$RSoH#aRAH5FSF$JCGBv7tijMLXZDAV3HjSQAVcXxRLef97ybPcab_JDV(YOy zggpcby5dCC`?%~R-y}r@_P@;lYV*uUkHShcSwCf<@^IR(QfgDa&K zOeufW6UMP^B(V)@`kdeU@6gKn((OgPYG;`wqTsg>^!@59#d*B-fh&tS23>-x??W>`gfwy~moLFGe0;5k99c8NEaD zp8!~oZ@ciZyegE49%ad+zI9U$d5?ex^R2<}0-}qn`9bJhYJQM7J0tpba4jHuSMVc% zXuQG|fGA^-?^}ezh4`V~Fb@#=Lh#*yxbMbZ07yOJ9Km_7;dvMYFW<>?C+hey0YKd7 zW7vZUmjNQ5ypX_vKmZkg79i)bOnZKZI1-xY9m_+yxvsp=iJR+)Ix0N?K!s=V3$ha) z_TZ%1bneTr@vw*fxCj4)2j}z2PT%UmYdrYN9^BD8(k%D-PJ!he=6UBoZS{QNHLg;A zVB)D`i}=14D>jXE!nAxXEPyHBGF;;MbO**c}F(7bPH22u*zBAsG0TbDl> zmo1Z2uSL;p9c5XnDw`_GU9yx75N&k0>;I?Eoa(aYsWZ`2YC%SO-r?v47qLSlnD_W> z!QZN0z)kc<}SV1e;vKgIA zFW4dlYn6gbggm~-Tk&wghruN>mtHUh4>Ja3iv{F_H*;44Q(6*aIjDpV!7d z$gKEf6Yx31XWrokzE`zUppAM7H9+zh_+bB;U7RR;tc0ta%XUN(zbQ@pqcriR$MRF! zcF_c1e4@B^5FKDIO9TzW-_9i{rHP>vqKUt%NZ0`V?HniZ6rn^(FHc>CIcQ#TXm_Hd zt2B8LmNv(`6f2ik!zS3WH9%o-V~!^6sm6aTsOTk?!6_<(hx$TPps*TW%L*sd;nv9d zl6=MX5QwFHmnbclxtLYKt{kIt_W3)$OU~r=IH~9fT@34gNzqHJ)HlIW)EiD*GOlgi zW4_o#qvk*{dJmEo&}?>$tjaA-TvHJ4yF`_)bg-{@&bnTI$8apV3;&b_9=Jx}Qpi^J zzQ5ptYZDkB<2|eJ6Yjndzp69?+|KZGu)w0$^I-}Y$HFQaDBl-Kv*Gt#t>VO9s9UpB zRyU09~?#T-^>{B-$9AP*sky-wW zM3v+^@*AYJk{@+lC`fC;6~VRa;d|fGN}V>MrfNt5XvERzgG$Qab};?CY|ixsvD-}? zVs7^K+Oov;1^o@^r6@=L3P83W>W;>$r(-Z!ow@#fi`MmNvM zzk`y=o;eD44MPOqOzWU|jx@uS_-0zie5aK@6P>p-!#sR5>HkyYWpOmhm&uO<{cJLv zr$Ji%t`YiaS?Kin%Rs#tAuWA}(DAy@NY6F?*dptf&2@0bA6g#Q_$hnu9Xa?WgRdUn zHNwa1rGgo!c`ea@|6%4<%-uVF#J}7oqUPl!SpSAAzMG$ThzBG9j-w7z2 zvE%Z(s&I*WoW%Oj-fPx7^ZKe_^1Zw*?^ee;tky#MXz#sU?7ecmGuo%`0NH{23sMRCo^{<=zcQx%4A_2JrQOrvlOr4xKVcXGAR5djMHK zp2N&6&H-fl(*c=&KiY_Ve*q-^JRr;W2SAqZH-Icxui!rcJP!C51+N7>1Nb7qGXZA+ za((P1K-j#3>{D!yV*oLa9()dsh-(|{1;l$X_+vok^Ho6dtp*$qxEv7AIJK@8MJ>Dv zI7Ae(|FZlcK$aI}VJM{jNVp74_~eBI1_Uya@q55T*ekG0V5`7o0z(1=0s&OITLH(Q zKxRDfPYB~U**uRpGez7yf4&D^;^ukF^~}Wof_Mh5hbC^Gck2;Hd%FpBf{&7jzY1=i z&pcj+{N{POOX%kPut;$8Jl-m}c|UAKS}Qx>ogTai<+SNv_TV>o__sj5&HoV(eX$4U zdUKnf^Eo!o=Y@^)zm3yxhmF%;mW_Yb!+)EHPG4R&|GR+L_+uXY-5!2C16=&ididYt zq4#>|DVsqwqL&=XszT$tl{@{#SFst94H2=Lil$gI#AI~Lpi{;h%!$a3QwB}Q5-oLfn49YAYv42)tM07K z={~k0USIEUX_3{9*e9pl^%{o|IK&x#5LB#5j+V0csuhhDpuJ>OWi#CUs_Ha0Rm2)4 z;vJZ5u}j|+Z-EgS5!8ybj9M(#OAu1Yq2oSu;Kz;TUj4> z$LLGuV$v2P%VBPcigwaeOD4*QC2PWNT>8RFR*|~OJT@C)1j1q4k*3d@Y37$=%PZjT zcvYe(d)>4H3#Z}Ui{Cs3A4WG*|>4r%Dwk}8CX z+x3OmTDyQ#f$-g>vd=KTRDc)Z8K6&r5-=NrklwK)Q7*rX1DSf$VFxvq!@3}So}tSQ zpvH>HOUw1y%p96d=PI$z#e1=V{^7x$IHB%LtOeTZwi{ssemDV}(8GIK7910;&zdf9 z>;Y+6rQBG=PEi~5pHxYWMTSurW7Fu7{{b;@!DT21vaZ6-@)i#MTr(Fg{NHTtY~{<) z7$!5e!3l|%VG}q|^e7u3mIrIq0p%um8!ouE`D}ymo*GuZ`+X)KwK7cx)-1NJ2Nw91 z%d{6GDgGK>5Vb;287c~3twW3Na$0;U_PZDDj&{a(BIjMnQJbQP=V6X1dNe$^XhJyz z438w&?bHo8xV?1Flkwl7;n4cF$5pcc5cPuLD~{D%tIOdO*x%lY@|Gt4+4lNi9PV$8 zoW%Vw7wmu!g3iTTU<71Y!h?_F@?RCHqE!(~$*T5gE8v!S$x+?lK@)YeOpD<}VQF_X zSyg~?s#47<*%3bhNF>QBEbdj2DEA0h*2?C*`mrARI@pCWPt0WDVu`VgjptWRD(Pj} z6N`6c^oEKfIJJFLoi|>VW)oBPQpftS6te!HTP=AsufxcFgRLBwqLq6~6M1G;9F3Fe zaz6^1zT6MuUr!i6;qLADRYKI|Mg?eEOPQXy<`NYcmss};uEUG8tk^NDbQXM zOv@GwZg(1g`^UaAFcOu(BEX5!L{mQ6Is1aT)O)H571KeUG3s$;;t0*N=l%Gf$$rux z%+wzd($e3cMxG&3>|0=ol+9q{-hP zF|{COvj50=MLv%IGTE=p_~xgeXR=>a@j;L99egvTH|?KoJ>NK4-)8u-*>{EtAFrbd z#?EnR+tAxk28=mj}L!$DfTb+7ZtL|<^FKmOL*qlc)(u3 z0N`f<-vyWu`jvpR=THY>l(FlK212_B?K#M{@OAtk6mlOU?H%-23H!+0Cjg=6%>4}@ zbd}&Q0bw7R%YEOlgUr1VkooffUgl4G4dL&GXnPRX)iHmrzhnM|fQ7)hUJ;@24gAm^ z^a3DBPcs(qOZb7!B=~7S*v^7C0iw?aKMF{@Q5+DV@B{c^`Z7SKzl5=XoXep7M*2r# zD~R~~+xIPh67?U0uhE|e@R!dx^Bm=VdgA7}Fdw*Dw}?0f+A)Zm=i)5ae|xY^3T9Se)IgeTyXPTZWP=+Cpo`HeiJrJdCYT?=f+uN-yjehAM2sx z8oKD@wfVhvmj^xRcYEY>zqg&f5S_}#|K*|cIbhSbc;s=ttxf-|2cPLl-|C@X;K`46 zNL$`R9^A2S(2kMKA*Bq%EjN?7EG5-7D=N9IO&!*gI+VxBjfRA5G?pYA%^E{zV=*?9 zbQz8{!C`@6Bb`kQK8M7VURJDop|wXFhf-yvRX|Ap4nq(!ZK$ejsZmBCAlUbqvQog% z(GbT8P_Bz6_MLaaY$KITZwpru#MY9PS&HZLTo7$sa|)koQ7-doFEn16%+&)J#%e@>m5S{Dp`SnpAM2kkcHL-AlhFm@LDQ($Ir4RJ)Gr>9POzU%jLc=XG37FL8&2-n0gpdd$Yr1yD_0N#Ij(|<*)^^LuWMYz@!AV$ z6R^6*Rd}YUaTQ)MYFve~sBsnN*X?l?(`Oo2aeOG{FQjmM^7iO_@_Ge!32YU(OkhZ0 zKp=oh&+!b$P3HZ@@rgZdnhZL}CB`1a`B~y-oMh&oDTiSvzNDLR&?do6e_SlM8TZT) zocS`W!O?5Pc&wjKQ*HQt^K&yhI`|f zk2lWJ{=FneTXzVVwS9-2Ny|?W-=29|^?qrU26o}${Nn5=)f^vv1j<`T$tP;5Hx z_mVQZ#OKm8XAAc-BTw{JQ>4SyGxwn!v{CKDh2%OlThC-U`QKR2*mXxrxnMTe=En2A5Eh=iInDC40t!X$_j>4jy zXAwl&K8h?)#!}-b9U1%~ns~~|MyEDg)bxzuuUwN}y1?fiyuf;9Fk6}FyUdrGBE^(l zz|jW-QboC}EUyakp72IHb~L^(5Yp&;UowcEl19HqlYJ}6Gm^WF+<~)F3>RsTMjs+E zu<$o77(HEL-;}2 z)cH!(3m2(qU*SAJrke)HbZk$iQ+FmHpFz|crCx=5G(E3ZV3)vFfy)Gj1O@~GP;MUe zE$VUR{V)QN)X~g+ksuupH}kyzHE`-#rr&-?aMRD(KBSxeHUa;MoBQZ~p__iqzCyaW zkM;--ph7M^j(Q}LJK;(XKEZ>tf7|?TU2k()3sahxN0l*pmnYiMaH?yK0k1l~YSmi$ z-*bvYBd}2kEmvFA{4zw7+rwp{sRG(ergSPUvqEUeaJXp}M*Kn7XJym7+;%?gpYMpB z&)p}{M~~R~^b-z`Cbe$sf8Nd)`rmBlvkLd`xATP#&Cb_@OV@KdezM#7LXKV+61^_X z&L>ZZD#)>eykA_8a?;IvhxVyV>sJ~?NH%@X*dJ(*`oFk7#?=3aoe%al^o~-|?-s~) z&!qpV^(lv-FCMY;VUIQ1(YEtZzoPzT^f|Ac?_)x5lsoll!OeYU^heWgqeA~aAVV#_ zlyB^Q8wDqgA(wv07pr8g_`P<%i5~haaM}FK+r}N`>|l02%WS0|Umor6Af`Xf?>7B; z=5w3BV;`z>(lKE}@XUBQQl zGQ{~$(oMfK^S#E-M|&RWMlbx7;Kt7Ptl$7D3&dIW`VouRa%l_5$VQvd~ z2j^S!hp}g;_Eq=<=UOO!1%;g{RZK^4^|~o#Fr2dEE`tBD{$+twYSEmu?h)g@!NFJZLdwe@yt;&MFvt zn&ls$9)#}+U$%9C)C=#x_cOxB=Zy+Rp2si2SA;Lu{*K3mFW3H#ZNisp-uHRolV@(m zb%LDteOUOitrO%rJ^CfsB7D3~DrE6X@H_BwT_N{{aJ`?s-yUu1+82T~e;N0Mj6(dU zkqOott9>DOMyq`xTpwuf3t@V$=R;Pm{q}gTI_n4nAmWq9AHqGFKd)C{m%vtm%LIl5 z1_T1A^tV8W+E*{{;a`gf6g?~z%=`F=eN?vz z-}^`Gqi@|lIu6e^d!9Op_O$1ze-E5`oSCP-OYk9xW1!wfy6Kl(>q*?qQ||x|@$vXF zP@g9Lpu&8<7X%kH=X%5c>+{r9K#bmV@Es|x)81_xsf$3p(-lEZSA?Z&y5b!@QO9Q1 zFEgj0W~nF#*%zEuA9KxDHy>FqXnMYeN7f5w*Teq9>jew`^LiMvd>eWgQoqA`nDH2s zSY2>L4|Cn9=6!cW57W(ZL=RK;r@U4)2h^LqWdcJ20|EgQ-8)ZBdzGz+-2y&a4?D76 z&}`}uMMY0ur<5DdgtXCaJkicPH589SRKq;$0L^;AE3J5?gju-K!7Myg$_hJ~DWi_e zqJUXq9Db#Lfq;ouRtmv8FaOv{nsBPf`@*Si3En2pHSfLeG@ZUn zR&-7ZVAb``U0Zx)x;Gb~QEyzs!;j zQws4t+`xJ7h2^bt>1%BWod0XjD{8J*-0Q3Vbk48D+mR;9I-tRvFi`IH4x?o70Pv27 z{p~z@DTz5I93BO16EIhgxGo$J&woCn4v=(#N8m>N@M$eI9l&mPNy{22mVyx^2(U;>64AA7-Y}&gy~# zrHSZ-1EtBK6H3<)4xaAwtzN|f)b{uS@K-bG^u~n`(!pOv27i9TGo_uyg=iO5mdN1thp=;Wuy5c*Nj`9# zk)t_SAeLifq;uF9TqhpeS~~bpS!aEruXO#tT2Xv|$7EdMhxDnEc01_yDtj!EZ?~dS zU)9kYI6-1*>Og~qoSK{!gR?`Mqa=wzG zLG-N|;TmPw@(flE8Pwjj4_npQ0LlSMIUD#HP-}uSkN&IZv>!)vf z;ndDW1w-2Yyl>L46G_q{oBD>fvGK#(o*Nh5_Ux$e`e%Ln27M*N{}EpQ%phijONPG~ zsZ!FSiR$g4XyV@Ot>_;~bi`ZRIISSm{q1cb#1Dy0jwJ8h-pe9(&NvzOMbD2AtqZT^ zMEcqlo!R#3RQ#Kv6Qeh%gvH4zMZ351h2(T-fBTP^Mn8nax0T{8+RY}~1fo7(gcy}h zVbuj`J1`i#Rv%mw8=^^UY{9~%EgY2VF^U~u{A+6vjY3`LI?JzP@6bA&SVU7i9H#evpkiN4YV z&Qe+2?e4-j`z5g*$5hAOU()eXY%z{S>5gdvGX0Y2ujhy~QX768YOdgaY-kP`>^O05ncN7YRfYHNDZqx}C{;SdHZE?CqpY z11(bZt6PR9CmiMP_!5$JHV;Yc+jijeZF^7cEIw*T+n#-s9*S1|Yu+tG?*U8usYpm-&b#+VOUf`wRCD4WLUysE5+mn(d?yH~oA_iIBkEI?x$C)f6RY}$n_m!f91$lg3 zC6k*|vLsj5EY&^Uxn{7Vw;Q*;&%fY6!fLuXulqY5{MR5}wtH}++GqdZ5=Q+cuPsPc zzY)SU<;9GRMWnyv)x_Pb?`3_(Z-iJVUgK$zwspO}*yPKS?QgK>^5H%j7kpl_{T|kS z0IJQfH}Tj&98T#;mh~o}KCIj6i%nsYUL~eCwhEM;U|}awy`UPcMj33Y#E|~QK-D?u zQN}x$?JVoET@N*-XAZJdm(9Lj^ZK+Lmbrf<1fWQ@ERxBy1bO1IvJdUiM6DjC4HeZ=Z+8FHQWeG_fDYVwK=+zU`%P`dO(x{y{lhx)I9K3Fu(= zg(xHOWHixV)GJJ1WQ#@<-_1vxM-xBVtFWK)jxYx#@wt(BKD_O(cu_si*Avy0K&11F zv*+h;SBe{j-jMXy=a#w18WU0OiKe6fK&VJ^|(aD2UOd zl{Jx+6 ze6o4YJM+#v*E5%Q=FE(bY->3*x_lG!+jZTRN`;yc@VY8>ubLXCx%)vGy5!kImt&T{ z0V$}=@)?mIAn z?4x(*lB2H2uHKy;INMW|Sa#r#pfdavLU0M$`s0~!4z$($Kn=Flt!H}htN)uBM@qEy zbU`!7rFXd9O$8oK2E1dkM41`==;J{ZAF|^NGZIUTG$)2ydUS=G+YrBK>Uis5E#C^L zd5E<=W%v*+~kM?IGS+N1dN z0z0sCP~Ii+wd`Ke*Q{k9l#yUx^F}Ai0|jv?7Jt@{#oii~H1svffn_z-(oB=AdvBpX zdv=nV>gDfl1M`Z`#EJgA_PJ;-{CORX3TCzX^X9Da=T)us=hfZi&uhWWdrP)OJKFQ% zTw+Br5Gx8qttgs_>Bu)+DW~7DXz~DDa<>PU*X@W}ld_{75x7puimuB-K>7GZt$`}G zu6BNWWKYWhXpR_{Igct=Q+-3`@;pqWLe_tf=5HN_nDv-Fk&pLa9v>)>lMRLyZ-RdZ{nh4v6y4F8Iah*VMy6bseV&%fgLun9fP!5$i% z2F4-&crr72dxpQ=f~7t39BxLQoLhX)&Zpj^&Vo)$k5*+wYGo$P*whODxhQI__%qw6 zEh~~7>LJ5=l0RTFl4_jTF{P*d*^qzg)0U3qU;OPCgQfeRwjEzWl1iV`im3)HHCKv~ zcT-w8X)#wqg&!nN4XLqgH2!7sum?VQB%|ff_D?#_?Li>htiOi}pJ{mu(qI45I_v>g z?v+g!{R1o2kq&QXu;Nv zU4xhZLv>LF8>8#Xix(gK)|l&_XC2=CdUWGIGou}u&*C>RYCRFnLnECz1HUWb(MTFp z@OZ(q(eVTQKYFAid}xn9ym8K>c!?gmn=hr?ASZpk(MQ@=h$Ry5&?qRMugsw{Nyi;} zf6|Q(tyI}79U2wF=lg|2qt@a*acI1DKHqZ=jW!OtY=@=_)c3waA51#yDE?OlgCN}F z;LxmyzVQy7O?s9?pG>;Wp+}Iu!lBjD<<$-yp!<&;`dHGpI`na*|KQNaliuXeYTo&r zL!UtRcOClMq%$17_KBp2I`m1TPjKkrq(?clQZSz7(5KS9)S*>*pYPBk>At|BN0ClA z^k~v;4$V&sd}|zf4C$XcG)dd2$^+`R;;t$W=syarDi7!lLaWLHdb7}~@_>FyXjOSY z|4nFBc|gA+w5mLy-x69?9?<{Y7+_E#n@bdk^rp+iDnCiFz1 zwIbE$D;E0q;!gDj%@&~}n)Ll$=t)8!DC;6op$`*UNCzatjyLWB?UZL|RokH1F?5l3 zKg-b5H9g7Db2UA~(2bh@j-gvMeW9V(YP!nMcWJuL(4CrYHuN@4FEjKGO(zY#OVd9z zv@b(h+-&GjMzmRME89*SxqnQB`M?^J?bf`no_^^QHx)vHNV)CQ{RFRiL=XsmKv>ZsUlI+P#>tSsdagYH`LX^61ku=-0_9P)ifq*;(>Te)1@vSkzyQY>CpXBU^9=8&_Qh;v6d7IepDBTj~6&tyYg0EI9Q*)qSXz6$YgX!3>2 zrUjZ?8XFs$5)N~srmiZ`oT#X4bnNufxr1b?C>PVt!(DB84(v*>PnYW&wLZ7GT(jJ9iR~TNHTKnbcGXVO;R{*;uM9f z5Oinm6IBlKAyhWCK-ol!6)@XruXEh6BCq+VzZX)E$O78v$SOBgvV1~~PgGR~bbaEB z<*Tb{Zf2#@Rt?R*>I&3!UmbQOG{ghd6*aXjO;x@)Ncs!#9aXh$aYIX>c|k)-qkuAbSf-ET~8X7FIL|Dr=f6=Bbb% zvZ1aKRXWHz01-6_6&oL3KU3imIbSvCdLQ0|dc1Hx?A2(lYPxjZ;(7$_Yi_^+N(o<0 zLp)I{&+~9|rmwaJxlr$`h{vlM6BJlqS<~dJMypdv2^E!H!5>u7e<-M4*;3}_m`lg|H*;y$?#_cz476z=KHgU*)$62}GUEidE4A5?Xd%Ev_+hxEe!`WWpuNC(Jh)25oy+sCa zG92mUzq23rSH!)q^nWbwGJWVJUp{N%9nmzs-18394t=FBEbe{9zoH-arQ&`aLQa=I zhvFk!n(yG3u71??c>ySeM%qx-xT-0-mm`l2~U5C>Ybh*kq>puknF4WD?WIje812673Vlj!pC-88N)ZF zZP2QL9s94&yhgQz!{C^}Z`dnZF57iw48QAKfE(dZD|~Fs`H2aLJGg6hjJeR-_KsteC!{TF>=$~v-B?b_urxUZS{xY7w?pN82ZdTBA5M! zGKR0TcX?7v_vhEOTxo}U$h46h&ov<;5+s$U4GIJ_L9eV zz6-tq!pHtlnXicF(a6Lp!Y}<}TDf8HbqXKbx)ix-+KUAE|NXX(uk@R} z+(!UWM}kKQy%FP<80dR|lye<$Cg>$V2>H230wb{J77|pM-1jg} zECc-}koM04p^FVZ0i^rGKx9$weL%{)3y7rV{u+oR^u<8R zi34HkN`Or77$D*^G+XFh7%!849Ec(dJ_uxd?gi5SZ9v9rth?b`;)|e0Pq;tzlMfM$pupGdf*ALzaGeNF9TvM8k{3oBzS`0 zL4qG(K1se81RoM?1yb$>K$hzaq2J5W_BlY>4-xt{yt|}-3Z%a*!JWt~(wl+9;LbLP z;f(~6|4?!N6q!i(cYqP#t3cL|=Ygy@j{;dA{{V~te*>iZTHtKZtAS?&mjM|b`-BMS z1wis$0AxLm0a@SJ$IyNZkoEcmU>NoRAm4){fP4=Q1Tx%DA(Z|*fsFV4K>Q6IfPce4 z??B}Y178HfOYUERaLRoMI0^QD1hPKg1}p*nGa&wQ*We%D^CXb&tw3Z+ZWEC5>VTA2 z4WztDKxBFFbl{1=Zwb8%o=Lw3WO&a3Den>dn+ke85Uja(0vX=zK>X!ii+>ESUDF*) zfg!jr)^zRyApKPUr@{ULAexxmSwOtvxiKLAawp>7M7VR~AoGi3UdGc8#H*M)0Lc9N z5}D5UeF}tC?gv0r>AGiuNZ-&$faK>M7raWj_Xw^Pd!8?aF%Ohz6)geq3)^t90x3g`zWDL0WyBa14FRqatUel3BEHyqmHWj zim++wZii6F8+e1@O2I{ftoL-EEf^IXCpcU%M=(op4?NM|PQmShTLsq%-Y$59AkW*x z-@rwJ3j}8iMg@lp<_Km9?m;EPGFoiv$-4&K8UcjuRX% zm?M}axCfc7!WY~w$nVi;zfO?vjS63Ir6A8&r9IylVpMRP;Bdhl!7RZ&sHf!LDY#v5 zt04DZ(EWD78wB|t(0-BN0>RmWQNeM7!v%8$vjq2`GO6$dw+n6+Tqk(D;0=PT?<#!3 z1%k5$qk`iEhYRKiwxYfv3Ipc~76}FfeS$j>2>Ch%*9x`@&J`>Y3<&xJcc6Tgf5Eka zt%7p}iv$CLKEWL*C*@yotzfI*T)`s2fS^xs2RtkPf@=j^1?LJD2?hjxf;*63cpTU% zxK^-LaIRpHU_cO{{1qS_JU7sM7db}gJtN5B^Ia>nj|~vaJ3?m(-3dE>m&{I^hUaAQ zyJfSEu%0yJXAA!txRF0w_`{^}GwTY+i2Ga&)@Z)OkNicf7%1&-Vt}R&cXhP?q*$s`ApiZW3c}xZPqPL7Jjo%u|W9E zy2M42Uq(-Si}<(KjU@hN9idZbqnF-}CVA zM&#V_yWhkAPfz&l&)xig^Q6DgBR}rp$Jv=UrV|UpV;x>?Oers(ao+Tq z)5>Q?XGB8baxAxB47P>7@@dl}Q?cKoyd`y=h;XPc-j!5e`Mj2z+RE~> z^U5fxT<_CqK2c1~ta2u|+aLb2L^}U0hyU(VSw*QdGh;56_-xa$6`*!hrAa z)lLUyCm&6jm+M_GC@1VWU{N71inF{)r_(;sf}V6b)DZ^d@w!H*VyFVv+j@NDs>Nmo zl{76&{K3uy&$!oM7gS&6XGf#4p`jM1heButYGZuC#pT=q;`3Bh6+Y@K_KA30Sew#1 zFa~KIB*n&2s-vmC;)SKEGhCHQT}9KyQkD?wP>l_Z<%tHdNPW9lsp9bD%2#cX%C@ix z*~GYjHPuDEP1-@dWbwq}#wz3x?&z}fxuL0iK?OE_xIl?9?B>~F3n`l#-s_;TrU0Ri5Sy@$!tvXs3%Zgi5 zglxhVw@a&x4KuK%zIj1aZK_?WjZUia=QKnVNbfohalrN;1m?;oZNZe3%?!b#qB zWSxEH4aB8A|9Krd@Bm%)c_f@O_hmZ8ZM&eMF|APN1Ec#_W^d2End6an0|Zd_gZXQ# z5+winI|pX2$O#BP^&O1MN@x6ok%wdYI|rs!8wc;6 z^Oe^i9?)C+S~1>x5;1{)>h)6${qm>MpW@O#!SAhhl8qlAQ~6;NxI)Axn$5#S=Apto%r+0x z%)=z}Fu^>GHV-4r!*S-}2=kDw9ts{uHeSEc!pAoSo&3zkHd0@aKdDBh`@X);$D50< ze`!p8_pbX+fkdvagn-a>2Kf%6ngqWML~RP52t?Hh<^r+CtMt4GGk6ea=%a)C0kOv* z_$i`wFmM+TQ}EzBKVrmd91ResUIskP%$U4t;LF#Yu3IxH!b%h{+ zatGp<8eRKL;u(lp9LQJA0GY_Jnq!jgT*#ydiYyC z{O5RR-OH(oh#sEH5Rd(*%!ia?@l4~O`+a3OQ_ZQc7hC2jnzJ;WEe9piGrI&}gLxWT zZjVo6T|BKct+k$$_7;xq`Dvu6L8h7?x+6VtY8qB-b5CQ7P4H=KXT{Q3hNEdLv6()N zZSl0J>8!DrKMnIV&b8HM`81B^zK~vNtg)%S-|-pON_+wR%ArlS@0igx zssE|(q8Tn|XteEWe19f4WP-eOnb=zfM8NlK?FepF1y-Lo&9MSZ^!Kl4J*cg_GCQ*C*}d z-VcXruzyYr!VxHxvVmPaKE21c^c!GbVtr6*?I`Fh3(e4i+cssJ5A(@oZH^|dXUs!A z&tv>`%{+{kTq!Vzo-nQH4n6T6{=h7X@?4z{>0)hhPHVs+c=|}KD3TU%4&^`$bi~q~ z%7G8?%-405c)*~{ZK%Uex1ZbS!exBOVoxzVf`dkugL=6aiVeqA>Go@j++O2Oj=#7U zaQlDMu(QX+!yb3e?!6DR1pI%LajKDP^TUm17=8)-ZV^6-ciR1NH-hh4;bZ)jG5hUg zf82be5AQ(mJRn}d;5j=bEnO?kyYFrD^1B*Zt1A+iWj|Or*%aj`))%exq zFK0pK8INktN7|Gl<3m5jd;#tkhSsuF1L;u1%Jmqu2{`R z55RtI5hk6UCR1^sdVJ-$As;U_4fi|Itb;tak>uM}{f!%LXQxaf^74_7jNewo5A6X> zipc)P4Yx~tq2)cVDT`)Ugz~odS6zvRr6r{uRl}q4T_qWB3(jWHn7|MWm$+yDtc}_3Y|c6dl0qL=AXd#hNu>X;~=mW&f&sm=^=)WQMFc znae-d8OqHtp~5-7C7oT5;?WemD(i5PIWXrg|1~2pWa-9vU`y6XPQ2WW1CNCw8v+me z!*6sCKn)1@I`^`mGt~A)#u1&N12%R4BNoRIKdKCrtcbNFE0Xa=_v1Jatp%?#&UpF| zt>XF`WS?Sy{TyxoBJJ;W*)n!M-Cf-WN+3u%nnC~S8_^y_J2tRoi*`&xTNk+@+Hut&l2)Wum`kjdH8|?5vu$Y( z+Qk}pK`^(6ttAifpzQdiS?k#b=6x8=_|nYmLe>_%l!L>`cvjfjgOd}x^Wo$^HQnEy z!>|$Uu(dQNoUG0&=!D4U@Sf=&CX}%$Y*lBqEj`TVU-1+&23elkxcaaB9g0?GJeh6> z)0W6OW@1PsiLzF+IS>6wB`FzcWrM^yvh`@|qMid=X0`M&ZG6~ZP9)SFQcQH#U zWNnY+p*e3sZp=bA^{KA6h-`c3vL(sLIvg~5DPxvsOet6hU;tA)&KMiTNrJJS$3h() zpMHudbKyU(NQRa_#^SVi(h0gmWVQ?sE&mTov?STGhPB4uUc*Vb%2-4QRbx_C*SWBY6~1Qktcbv( zB=2*ak^c>Ad%@$L@U088x{jxmWMu1>qAUjA?U#4M$mmtTO*lS$&emx1@_;G|>qWc+ zoe^t?E)DBNYx9<3B`R6^Q1_*!@h@U+?|gw&-M~}$Q0YvsV{JxN|GLh+%{_mK>bKYNu0NA z&BA$zyJOaWq)^ao{!2YZ3O-RSC%d7TwMn&{>`Fo%lY83s3|=@+U*3Q#BA$Y6G@iLU znz6NK$Clz8RmWVltr!ZUcQ(+ri#sh*mQ^id*qqpdPP$jY9YuuxymYHKE>UZH*E?_r zU)cJxizCyv%h{Mctt~e&|GN0{B?pWs&h)Q3035p2L4$wIFX_rjzPJv6EA3aqib11u z@^x`ht)!zF>!qgC|v_tO3z2Y|SZad~s$APNe)-YOB`t z1n)&iOkuTGUZAd;Abx0va~Dme?0yiwc~Z3SE&fdjhR3)8gQxd8r%W=6=>L7)M=8k% zyCkF+NYI8bZ{fkJw&fty-mumatX#a+>Uvmc9u3Pc@@mKs_ zfZM0|EkUF3AW-TcDUsc{vT^%?hFdXZ8dCfJKRW(!(H%@u>5oeb+e%okA;$I~T8l%7&6Z#PL z6>*@yGbg0PDNQgnl#SDl`bo<^hM%ZwESGqX>QDBF0OHU`@=^*<)GMe^sYdL5|3rh5 zP7l3XH8jvGq0vw0p3Q~}=0yC`og2haJxw0!S33XKsZkU3!r)2g|1^mpUx9SzmfR%n zr}p7rjZ)y&*Zzue|3c#dWAeePw>|}a!}#S2AM;5WqmTA{S5AIvxt{+>%VoYP(+B@B zINpk1=N`?^d{oBpyUy8o5)K=LkNKIx=ZOd9eu3Y+pJ}O z;d6c8UIM;f3Lo=3g-_zS5gB;^^x?k&LIoGR3W#-=;1xjVsnqw#D3f3nXbfJ5UIP(W@$YEhv*_)R+~6i4_pjUmr2X|ksQ!Wrf!r7K9_lw9gRcYW|0y8; zg8Z(6>F4Z~>Ed*k@{R?fjDv%Lj31}9jNj+TG~&O3wCA*z^c#Y|12UW@Aj&NGZQu#O zceC_9osB@K{DNzNjNhI?dcV#&f}?>m*N9>L#;{mnxEMDPb<&rv7kUn$7%H<&LR zb<+MK!MNC;C-e-#v&B9n^yz}5#6C~x;{=Zq`$L32P;h|Qe~LgE?uUZiK*r}ELi77& z{0-&z%d~%7=tl$}6#Kh{zC-X9vH!8q-xuU}&6KlT=*tB8oz5`Wp8{lk;CIZ#C(s^1 zg&gE)iuID;5fi&IH2*SS05re*W%+N#%S--NAof}XX9HQ@qkt^$;Xsx*strvp-SIqx zI%HItAyFW!MiCHMG$bF0s0^V$1U)1GJPwGu#Cksj@2c;3U=|R319xcqft`YD1zQE@ z3Kj_l1Ob#ca4uf9(FmE}k?=b*vwjd~VE7^K%KS}e(~qr!E!|DO#eGhsO+PhK+)cl< zQQS>G^s%^`e&;}h?OwNg9q#aAn_qfpy1Cu6K)C5IJoHQt|DQeX?|W$PzOWy9{Ll9A zQ&WgP+q~wX|LF1W-M4jx$Gz3#|K}bWZD~q)fAP>k5C72~y4J&A?{WXWhh{y6m2Jj* zXs$!M-KTl{Z}zzB1;ltm<6`~c5x4v=_LbwX+IS<78^t11i>HMn<;62+>yM1EgeMRB z8wl*4zZ9Q~sLvks^F*~Ux(NH&_{0x2_#KEyWOa)K4ejTvHyFX`cMU{u81rGil%N#M{ZH3@ccGJ@G3&mDX8X<`+Hz&~cHQ@5Hsmm7-IwRwOrXU+uKVs0Idkb3rWNr- z|KOX84g*7+UZ%fw-`U~`V>M-VNV<(6G}kGnzjfb5CK9HRK)=KIas5`Jo+7fpb>Btk zWN8)|dFZGp&lp5^fq5pfKaxHa9SuCo_W^mZXP>%L;=xFeZx?8c57c@xzo}*Nr{hOs z%9^}P7RJr{Y^Y=DbKN&5Vr^Cz^!+tzwQO_UXyae;V}zvEf#+=1H|gmGPOa4oTOTEk zD~Ue}oe0z&8!*05x+IPnp}T%O)bkv)BTFx!8?$XEeq064fogOc?zVuot|S@h3|TKI z7f8VptpEDWiIZ{dU*ZG^4n07By<|f$7NNNw_lee@xK&mKgqNdM{= z5M}al9h%%PFZ(-^%KKW@F$4T7p2z>>tmkl3+Uh6CyJZqH4B>tfZQGo0p%6+tmw%pt z8i56A{Kxw88?ofl94yU43uKhwT#mXC-mnb&P&n@mYtA;TL?S@MlFI?Zaor0S%)Rkj zIwdu3FGk~$hgAGBHpcY26)wbSe+gPk|20jRTtYXkm8#G}cOPR@*7oj0Z30dsaEDL$ zQK%5zcLI{ZQPm=$NDY>AJG-CvmeM%hPJ@!T5|tcRoyM$>odVk;C827GTCqPLTv(;L z3)M^VbPD|?{aYg27()BwOV5hMCuinu#Oezc)SirWBnIVMrO%bbKR|gQ7qzU6k0V$- z8L%)jV&PYKT1$3p3*RFAe`Kpw$^~Kn>R+I$#5%q=9e}7n zUB4&V)|rn-tOqa4f`WND8IqF&rOAcEOA2=-4i4pQ#$ANVf?X>R0^Wh!W7fg|ez;d> z$zAJN(kfOVYct-Ocr3m-mN6L%GGB0@<6nI>JcX?{M$Fm9IK`6F0-?fJBi1e~{X_Bo zK31z9Qr=lFPGO`_t{GTO&v*L}HM&o~u4VZ>drvoGzG*Ik@b$obOI4iU_%V&F#<=caKDNLdiZk(B18= zS(8=G>JIC*eSc&Z8iugd@|;>la=*mp*zj`fwsCAD9q!TS_8 z_hLb7ESEQitc`Z*eghJyy9fBX*dZaHD*uX;^wTB&6;t`N{LAHV_qR_5fy=VcdJIA? zI}LI7H`*@G@-01>lGw9!ol0MS!arZv-S}4$9}$fgXU6g#<0YQg+(av|vLEc?DoD(F zHHPL&uVv)7T|O9Ly#dE9#e*rsS+>Y=En8T{*;q#Xb2pZCQdTb>D2eav#)63HUG%=( zm^CSf`t{?Y$!28C7E`4T1$RoP!ma=pK<`AkL6vS_fSrpow6EVIaDN@Y zG2m&(&r~yB0m!A0Um+hKo(`?q`Y=SQ#4|UhU@1fsRzb7pf0XI+t}iEHZJYkHwoGs z$#~m1_9`XLw)avXzGv#y5#5YpYdBlz4NMk_@PW9IiI~X}iSwjZa^wa+=Sp*RH~8Kz zkZ_()W5$=7`rrMJ*EBA`eGcXd7g^unEPyFGbp$X6Xpj^x?im+)ssjx^)2Pgq7(_kH6q!RD2kd z4}IzJONEd5q>RyXd-Uh0z%hZ}XTr~XQ|2r9Zv{i+ZXFNiV}Jb5f#E&u=AdD|rtqgZ zkDK3v48z(!4f8pL-=(K#uYJGpF~9rbn+d+%!pD41;S+uSKT$52D+HedQcrw0kov=4 z0jY=o8IXGSBoOnMp(}vYlQ#n~B@D)Z)Zd>W?xTR1rv#4>IvYrN1Avsb4fQA&_$ZLy zpWX|k+>3#jdIiS<(PRck2z@vZT}kjoOd2R>Gmz^EcLOQs*FeVO1|X6fYy(0E6&wO2 zKhG?t{_{>C*AXg#Oy_w(`r~rz-C|oI37s(#{j8ceH)Rd z{jY!+S_CHmsfRxVcs%eilsm)Yc{vQP6-c=pnKHam!LtN2fOr>ze?ej>w*pAI2uOe2 zmq2+u$C2`WjzVSn+JQ_j+g`jQ!EXcUj_jjR`dwz#bP!0Q((fV(LyABnswsNiV?lGS z$sjmfIu3~9Bj3Os+J0cC;99{}!MTD(f&oDQ{*XRd0JQ;%DKgkF~ zJtb+=Zc$H2+O$*WgNL+fm;NB`rXBi3+)cZ)6SP~8yIpA0o^Uq@{%phPf}7^En?4bQ zo6h&pxk#JaeT~OI_4aOeo(Jltf8yc4-9xu|{IB)U+#cbU_mPKw+#`?QpS$_JdQ*1) zZg-CV+;rR{Z<2@Rx`Ug4wa5PokNZLoJ;Fna8q=$%rS`BmHa!}dq4cxV(wzUp|XQ`{HLtwq}|CYcxqaV+s*3d_i~!2&V1o!4Sc4J7>M$g!d-e?osULqD~eW8 zQmYeU=v8ZGJvp03i%VXuv1KS}b+<+%3szkl`cUMW?{v(EHvyW0F=GqIo;LQhzVx-D zP8*e?udS=p>e{D2d+$p$VHs!(ReeSq>YI&s*B8JK25tXWexJj0pJ}*Rp2pB@r};zM ztjyl(X}Nw$W8}?6XU=zJU-h&+Zk3wL#KnkUZy`i?E;a9zDk)Ll5QhN zl5a?SkHkyMD&h$ok%Z5|D$C1D!nPwG7KuF5i155k#xDzo|e*7^g6c5J@`)oMpORtwz zQz>Y~eh8T%>u=N+Ch-U*pqX4j#eliePKH?keO=Wys!fl?6cG-Ip_rsXhZnZ~sTizB zyKyhJ%@4K9H!(Fkl>2IVk+t5T2%DoR<3vsqS;ESz38UMeV$HpAsWV@D8mKM-*E{7t zNhA>Yl#hxw85IYEI+rtA+?$RMjqSKX0cKdBFVhhXTOaBKsVG4|b~sp^I2!)$fuRi? zW^1*uTNj`v*VyRV_HMTI*O(>W19RUVcApoXm$mFjXwcq;szPVi#&r|}J>r05Sp&OvYpx8feFy(w|B63qyDESC2Y5GTpm68AIVp6)w&o=Zw|Dt_t0$J|SqKJ^l^|IXw? zpLz-5>lAr5pGOa1^b)TKKl4o)qnGgT4};^a_{C)39`jKd!#`QyOGdd*;#Vzv%ui(u zUmCezfZ;jOA25HFG5jul1osyjJp=Pu8FO!v>%JTAFFaVz9bkSdW8{fGVh_p#ePr-; zAm_Q|lyv2OvA?|dNV-^IYez=Op8L%cWCH@pL+zh{8d zYdj1b0^}Ez^uJc@dA>Ho<2n=FF9f1b50(Kbm-BUu0)lEY6p;In7~dzDM&J*CoVQ;l z^w~iAF9y=zNFenlM*%6H^LpwJ_8?Oz=RF|h+z%xGuYmN=`95h2NdL`1`mY31A5jdX z|8YS2=a>?v-~Cfi0ib6|(E~t#@;}o9jAy!$hi2UQ8N%m$9&uKN=RJ^qO6c2x zq)mJAj?kukI7evH9vmzF&HMj|xSRK#s~v8Az;keim2K|!&~$UV@AA-1aCEzS=kHf~ z_|Nz7S9<7G9)9Wu-SQ`R+)wtQ88>ITHEK^4#DYk-WeP6+Po>FZ&!6=ZtkO?_b&AXc7;MgD zR}!Qx%*3@0JCiuOtuE&i_`MTeI`%QC#r~sxn$M0MGj1HFy)gRRiH3{Q&u8~XIWNF_ z=?mZo)8BkH3ylqp*>_}UwmbY$9?jm)XSbt~qcQuA)}RrdO^bcpcVy(urC*r2Xe80T z`KF^$M*q^w^f#X!hen@fh6Z0JRU@=Cf<0 z;iMjwCI_7fz1YWkkvVkQ>F)*Q}jw;_a>^=~t;#em(JGvI5^_LuxCsF*PyVSkKx8V1gt z-coek8ccz2z?YNQe{sdI(coy=nkX@R*q5=bB)I@4ZfchmzoszrTCUDZ`KY~BhtrMaK14CK zN9oDd6Zlu~1{%HDXtt+C{3>o@V` z_)ua3K}@9-mw$B+8kFb_v5Z039W)vnzx?eyfWu@0)M(M$XNdjtCFS!kG-k9VJ1WI`DDfM*lS&6qi_cE>L1#ize@*K)a$u zlO6QvUlC%oST{RS%`eF^0cUJ3wcaj`zh9EPjbSO(jjs35+9V<|>xIbGnZrU?Uok8r zbalzF0immB4pY^g72VonJ+CVJBi0M7>|K$S;9YqE*jCcR%J8uLN~}MZB=2J!N;B%S zRLw@>QPJl@S!*(F#VtCEq8%-3?5O)!bilS0Cp_SUKqhKR#~H_y!@QZL8Sj?jqzAN- zhhTSLfTdiLR2k8I7A*J@q1eA!lJ~k;x9neH?dTqg^DYntb2wpX^2AtjQdTT)6ZAIX?dEj+rN53)j|YNBEG;XyE|=mDfOi)KbM{N~NRu3?sX}GujbZ<6p5{ z#RBSEs5dv;d6cMA`=efqwrv?Vts`+lW=Y0woQufpmb^_IP|*260G@eDjZ`-5{7DYL z=ALY{AZo5vVvSN-s0Uc}t;~ZYznBAf9Roi9H5XvYPYH8ck#$bTl|tZE=HWNJS#%~j zZ3+)(92&-stL2;6;JDf&#hKD5xpvGsjgEb^6kaE_QEsxmQI5R=b|zg5Uuqy+k-VDci7M`GU{&Y))$?2U zeZP-i0z4;)8=p;uFnim$PvT)}V%D!Ti9x567)xcX>}FdO2wRKv8SdQ0MrU-pu3cib z{+9dL4xm6TMs3)Nf9pf|7g}c-*=ir#+ejgDV*Rzow%0y3s(ojusPae*a|#-cDP5#1 z33jjD3?UmBaYW^TTa6@$O|KMI%LeF80nv zp5}TCj?%gB=HwXWB}h)^&XX-@eu-Z?z4q_K{d~Bm(_3?0l;%|Y(z%Zn_g}#Mkb|gQ zN;R17DbttUd-{iXX<CAvOZj}O z9+v%e%tvL6{51OP=fJR5^xw=^WemSdpH02@w?yyF{8h&2vqeum43@(X=JbB{*D;>d zd!H+O%x`5(xRcukuG)Wf<~5Q(kE2|u-@O$`J@zUf_pMz33;<^Wx$i9kMBWES05OdS z4h2&0yBnUV$L4qIXncZi0IBDG28bYrJ^?%$H1}uI|Br#t4F*?wwf_ ze+$TTd;`e%eT4VqI3V{89*^x`j{_-ZBar@oBY2bGnZOfae>9N!MV@3(03nSZwe znSa*56|2h!gwK&Edo@FdXOf5!BDj{3=cfbRh*_f;U}J`JSY zJAs%w1m^=OpWma?{}T|#bp9I1blwCc{}sUFk-iv^={jAI_ZTuhUm|lEpML{kHFPf?WTh|3iUz*Mo1NQquhnAk(!L7yw=e zWV%)W8P5xVjQ@BbEKF)HNTXp!OM_0L;?v19xcqft`YD z1zQE@3Kj_l1Ob#c@Hx~k?lT-i;YhI22U6w0bp*s&nO6KKZQ4WT7irUecZ<7euOmX6 z_L<#0`AvKLZ{v>4r&$U&_d3Hs(D<_r*X!LhpWXBkAl&qkNQ;~Pv4`KQxA*S*8|?9) z^!WdkhpzC1zuH5yKDp!b9}mqo*X>^5p;6aT+-p7l@9@xU=iTy#d(uto%-{eAgftd%s#eV5!vw~uQjdM{r?ORta7x!B+= zn~?g-ZHwv_k9mv1gYAMm?A!VHoQdJ3i-@IOG2uh%4n>MjXQh@}+y{5-)4t7$Ndqr0 z)M?hc5$(^*5yajs$}rq&th30V(cEC?-lYgheXQH0d}i*Bq?|79Dh)2^K#+GqXCJ;k zPZ6fSNSE`*_i5dyV5Ir*eC~m9-ufn=ou}K!n1y%A7r+k&ea=_jC$b%#01e+i8bh-m z;1AuMGJCu3bFZ|QMji(pKg7F}X5Hs2&jmMfxUNt0vT5iw$-Xbe^tVpK@7`$w>OaPh z=+x1F`R+oe$mqeOi0p5j<_3{hq`dlkogz<2_Sp-}GqJCA8V1U~a~8O+nEtl};?#qI88ZJr0B`1h=(YPgfg_0D>mcs*ih~nRfldkb z>jaVF2SR7)@TPfX!>QP7m*V%oCJ@3~St>tY2c#qnPJd5hw>gd7dL?2gL5bL@-u8|O z_iB5BW3L@$5o0e2#N{$2EB8_(%k{q2q_LarwcGhMS|9{_1mvK$9qtter-RejacjRf z7dZn>vHLnv`G4gH=_)~dp?~DTaD9{-m?kQwTtZ6P;B>mz?*CQX_c9zr@g_{xk;Gd7 zeJAlc#gt3%CUKS5ZZCuWKVd_9-+D>wFJH0O`rd)zIz0Y{<{!bF}bpl1=kJ9Nn z+M5PA4fWc6ogn^eKZwY681AB(q0-Wu_p7~j|8;m@M*!k@u#O{F>%DOtAPOLuMAk5U$qaAcIRwQYit;)%wU{)1JORl%zG zJYzS?%`nPvj8ZIM9~E5KRMF_GsSGyP)zno5D{AKli%ZK!AyDNI3r9je{!;F}(-w83eKU$j@~7yg_(&gq!Ge+F6yi)aI*rxbbQztmY)0oR z{)v-(6DO&sdDT8>Ko(ZlG%xTKhstKEe`AzWyaFFQ&@LFC7x$4;4;59-2*ys5n+!$D z7y|%fqJ(H?AE9t$iYG(TQ{hPM33eq6?Ij$P@ymg<4B3-IS4|sR2W^3 zZs~TgMj{1uOx5gwTfoq3c!WEYp7`=(B;GUXtDogdQZwIVI!q z7Lf7atv{rn5&8+iM}hSBAn+{U{X+9x<_PFt3w<+i66hO+z7ALn`Wm6X2b>6+>tK|3 z8L$Z0B6J-v1bTtcbAe}q{;tqvz%b~kK*lo!WV}xoIwAGQJ`i{Y z=>3KMPnJ5rF}Mdv{$0S+f!#vC0W1Xls?eM}o(B3Ep&tj11HDP;hk#>1|551Q1FaPXnF=dWz7T;hhM2g3x1t!$9W?Jsdb3^zlL;1w0<~H-#PoJQnl; zLT3Pv1N{Z2P>kQdflxsP|0VQ0z!N~f4rIFi24sHxMd*z}uNV9SkaB(lu2^b8=@Xo96eM}S;6EfRVh zkn826gdPFpdg_Tne+!7dCwPR=hXA3f4h|MN6UcS(9!yP`jt_y1f49)Qtc&#Xg4=*h z*H)k(_$ZM69uW6?1b+i0-z~r)z?+2rArODTYlXIeP$>sj2z>>R>+uVPZUCYS30@@h zJRq8g;2fc60iiNi=fg9+C}_MI!D4YA4@44!V}(8yh$<1x6Z%*n(ih}(js6bUjfz?8Dva}2|=T3A#2iOWM0WuzE0U7^sLUZdh>0yGoK>8aB zOailo&H{FT9w0RD-Mkv~CqVMQ5431}(F_7WZ0`WJrN@$+(LHZm)o+HX|CIS}$CkQ4b1yCNn?U>pxp$%tc!1Cuz-G{2__UmV0m;8p z=$C|kPVgxpCoIueSEBhKjW2~uYy!*a-(8WSyOyq-%AjW3O{ZwEAbe_=10&75{?^EvR zTYU3Dqc2c2+Ey+I1_7kGeI#W+$sTP_XJwv4qRC^-#sgAmj&I!V>p{5b&$3c!jt|`K z)6w|5=^_N=rt8tZyJ>#1;HC$9+yiJ2-R|D|63+Cb2V<`k{%dtRVv?&0-7T-(lm3T1 z>3PYMo`*g15AeAE$dewPALkD5DNlON^6+2eNzcKa_`mFl?@^xec*P@ctcU+1Px`3p zcE=BGQ40MlPy7=e`GunV$50+Y=tY!E^if-ghzBlb$m?>6zzA&p96X z%RKR&=ZRl|C;q?i))aZ`Jo(e^kLC%-aDT7@AmkY`KpPokIPi< z@LD|ak9*=T<6PT+u_wOwdcwcMlV5Ln!sFo89scW{@J{i>XO}0ud{1~XkGJFZ1CM;3 zTj>t(Mo)N8c=D4M3A_0xdBWp-+wH!?mV%lRln}>duc}dD8PekGzjO;lJpiTRr|ad+48d z>{An_l6epZ3WA!Xv-aBVY6;cK%Wi=9WLsBX6B2J%@Yh>kLnL znV#^tuiq{Iw;uoZczKEwhaN8U$ph!-&AP06M3J0{@%8zYh6ws-*Mv~1|L64Me+t?mcY@6$Fp^hCI zBUm`nWubz1+t^Z4`H*CD@}o%@)1g*TQj+S}VEv^W%Qd4sOqA;|nJk+h$9+IbvdIv~ zMl#W{FiCf8Bwdb$Nta_o7Uq1ffE*hM$gwa1IW`iIV_^caZ6w*g@@W&NluyOt1?!7b z9Zas3H}X0llb0+qW=g89$tuSd!WWfuQAqh@P&P3SXLGt8koArQ*RdRm3tbLnioo`* zs+P(tBhRT6%t2#o*Gb#L&M#wQdsKDOv29L_apb5fYTU47R?a)13~kpU+lCxAp(4-v zYxs5K-8Oa{RE;)#lrlQs@yBo)s^{s9MPAy^5&_3T<)!Vc^3tYEUOE=4ejwLu8z(w$ zTa%YIoBe*P>TOOcEU?M-bmWhZB<2YvtIOR60zy z-&9V!W;mQCMJ^kYB*)4Yr`{zyVBNe_&qGprrOUB%rOdW;1nRWe4yFhZwqxf?pKWPN zkQCYus#$USMt(`OZ62q!a535vdvQ|&<2f&0zM!rmUf#SwEm5a5<7pk6;-j^Xy2>#+ zhvEw=@HaBQys@Enalxp3u?C}dmwJNz1WGzv_iEnwW;gt*eRr&Mo9@uuHGnqOv2Yi; zk)xW@-YiZa%zaI%>LFz$HtzD&R!+{Paym8DNOPB@$FC_zZS9V>@$4!{cU0Ku+wpax zl45Nq!&QVXu`2A|PAop`<4}2T3XTKAulx?8AP^Xn&!d}1=Hp+WAU}WX=+U4?jZ<_0 z=U=JsAim-}=PZngeF28l|9246$qQq?TQD?+!C&h;h?`|FZRGLXW31Ee^LG$NPLzIO zxPIU^5^dY6zwaP+NxTB$BM0%K$fz?POA*=McM#daT_p0xi98|q`8x>eC9&@3+kuR~ z0CB|{SD)WOU_Ef3O@H4(U^^F8=Gdiq1z6;Oo9w`kMjLr8o)m0KahVRkW*?+W6&N(&jp?Ck$&y-y38v$~? z`D&rB1af_OiO?;;Y|xEDF92d~AQ%_=yTBo!&lP$q@L*4{It)4%U(s zR*U@wLUWyl;Y*er}ri?xwx# zB`3ns?e1M4c*o=aS`U4;hpzF^yFE15)7;@r@X#_+fg+_+pJ?4npQPr z8yaxGac^Y;8kLKy?1AjOT2LdoYg31#T-}uWc@*ajHs6?nkq&K-PwOgWtO-e@#<`x$ z-PFjDZWlMDq}r}^qjYd}mDn$<2ec}}^T6hgi2XdO-0dPGG(?U=ZlQF$sai@Ihv|V< zKpXpBjXuU=~2 zyTn&E66ua2+VBNhto}a|z;Tp{hU@%LdZ&FS;(>llHU9aqg#TXSF~*a>l!$`f8)HsB zDw`g%{vNV+Tc6{cxl0k7hiAk4dWzMf8Jq@npp}CYqB6r)W0t-WK%GovB;f2M9N`pB zo)%6n%M2&yXF(8esZS%QFl^;(Npo>f-Pt(uKRVr?U0mcpq^QWBJ;0xRcD6seEa1=n zZodDJ+4xNl_z#I@`wvm)p4p)y0Ct1xhvVOzF8uQ`F4n@q>MW%>>RN!PwJ_U7S_|`C z6dZF>$v`SOJe3@mN*1M(`cy9oHaR)RehS!6!|kVW_EVAl6rJ;^>s~|Wt&THkVkQF9 zonu6M8tkb^dk)b$<*LRge3Du(mVm#=;}DI#++P-V?x%q1<=(CBIfkO?<^HL*=a`G8 zmpjKrG<~@r-j6%`%dhf3rXTlkKkjAXjxiUFP@3TXIsLfL@5lX;e%vqb$DQlXG=0TS zwIOitYoGrfInT+|BYT`J=Q*7MzhV3imGhTa&y?xo{H0-VHaEt9P{tk3%*M5 zZP^RHRp9&GUhv%uzU%jb?`7~^u@`)q=pf?4C-o$4{+$B8$X@VqkIG4V!FL7t4%iF6 zTfx^Y_jP<#{GJ5gQ~mHgfjWTBE68y**oSgH!}-^RLbE=R#+*^P2f&1E97uw=1OJGf zf@=j^1?LJD2?hjxf;%7=j{`de*9x`@&J`>Y3;UuhT@HX@{>8+O(T&-zm?uV5`kB9$F8@b~+N%2bi3PnQp`7a)v7sTc zs9c|B{J02l2?=c(iTNI3KPR#JR&vi<*74ceWg$&Yym*XFARzAE3_WZCe!f zB}PZvF3<5Lf@Ei1Gwer`D|vZNG~O773Y?$+JaDXWC$kUSh8eOi4=4f;S?XZ}I|%S; zTi!fBN6mKhq^e^~7y=(A&-zjL=ghub_qX99doV%9`a;T5GVEEJx>WuXbLKCYa42`d zvpl`mVfhZ2aF+G+xIGYzPHr%gJUKX5a$;y{JML{9iJBBj4jG@-a$pyG30NjhQ_;uC z)roV>LB7b!^KpDJzw6P*7q>DISK(i19jClq>{&~aqu{;eaxi{3l`*Lpo5{#41w+X* zRS-PXAB9&ON{%%Fk=`F?k9QY93Qt(*67D=EP1k?h`SCp@KfLQd%*Jm-_A$@F1CC@MX+tpmx)YV0$Hpt_EVvp#@xrT z^ek6(Msd$vMD5@a2*;Ju5CnzRwV8138x_pOf2{t|_Gc5g)M4`QIXydEQ)-mHsUNNz zDsj`KI^)@>9Z=ztgW48lg_hvx=I7y|XZmomCkL?D2PUJqAjBU{M#n|lA5RQLgnORB zKX+xa-xHNo`zA|$FJZ@odNd=*zcRr3J54%N=!oBP4nvnMtU|baf0NPdwtwu$kPsPE z+SfL)4JvrNXF42@6VA!6Obkh@QzNzl3bI|yEX5B`PLZ8fpdx$9)lxjGj5 zTy4Y#A@_R2sJ21PDu`OR9b%xWZ8!qkykglZPk1}UFAxagA1fS~C_okMo`Bf!@-`it zdd7xh$k4j&CN>4m>D8slr8zji+i9W9QT;A$4-SAIh~HG61b;3LMc?f-QTp8UNjbW$ ztB)a`@kOeJ&nxYy&S62HRBD|utQ$?;!FS-bbVce!6)6r!yQ)!EC`k(p>p9L;Y2!UC zO!Y;0g&{ZzxyfcUo6nns1MpC~eTnp;j=sLVzUoq15ZceH7WGSx=DaF+;v$n;ok6A<=V>r2S z8etVL#^Vy4U5=&F4G2RT2p0X9CD!YTB~tJvm`*Kie=m`(D+O+c=qVcx%OgPJ?v!mf zD1WQN8}eUoU$cr(V-O2I)v7C|ZrtbjX4u++rXa_4F+oXkP(f!Yq#jwCEQ<2s5cS&h zY_m2Nbhbb4|9NMM!b^rxabHDqb5&EKrU8eKSJc#2Rh}Ne&@OnUb`PG33%)qa3!E__ zz=2+AXg1I8EQ_5VLBx!C01xTb8);8-lm=!|ig`|`;lOnMzYzE1f$7czKSm^W0n_Q} z_}w0j=&yT)e~h>v2cC5DL*mZ$x^(g%7WbR`@IM#LGtIH;w_mUDmy7$2a7lNbc`mwi zn$7s7J8%6BaX&$EAqzdGKRwjWPuL0d^q6w;O%Xki>;B6yWG>#V`J^1t@buOf)q<~9 z_*kCG7(SOg&P@&9@xo@ybDdNE5ZvaAJeIFAMxN-&hQabp{D#YU>Smq7mZyCweb!*e zI9&Kx-pUwxu5d@QEQF8cp2Ft}_X6{~RFsP6LwfRN&E|zXhb62NC&P;N3vF z-ywKCkbL~kn0#Y^ly@=^f5DH)4158o{Ndjbpf3k9-Is`c6o|P=kl+2`Zz#XV;{F1D zA4~uLLRs;V-@j5%#_z|d5Bs&)w+eFK1k<+wNdM!2%$K8p$eJM6;Tb=U8d*+n0hL^q zFX(MR#;a58e+^{%ZUj=^4}f@wgI57Dhz%|VGTt0ZP|kT`f3hIsg};Gw1&ag&f^@{+ zz#ZTxb_%W)Y!#dIGwP_KO?!Nb@SFDaDWRXEFqm2R(Z6XoZx)(vG{1ry{%pf?chjGF z=xz_q{V;C+DoAqEtseIk9(UFcH~$U~O?|D~{SO}6dw%;MPk7W9y8SnJ=%09K&e`4k zTCXH$fX5pe7vmyP9KTIegN(0t7pu#wRzFUi9GedA60Soy^)LI zA{!JHtEsDif{G^GB!ZfiM0Yi-R6(hV2}U$1w}u4pLJe#pIj)O%tF*P6w%X$BjoOM4 z6oMcLYBgF^)V4-MWQ`ZJib0Wl|NqQ0o3kgo*`*EN`@Y}j{IdC(y18qiZRT-#kft7V`H{qL6ba;=aokNWA_|q;PL0>|5P14 z8y&)n`ruof=`j(vd1zbJIkb?_DY+U+!3JR}3pL-I>UzQW{PQoms6Y=N&Y2nw!6C(~ zRCW|%yl>h}aE$0x(?H0$oqeP67?V@kay)kI�V%kD_MDrzy6yOuFD~RF!=mAH*_Q z86Yg`Ih9{h$=VF(x(u|T`*cohMj@@y=eiONZN>+wk1o~y!mEa9`D(Oh_;W3r;&QQV z!0=Fo=IH+%&zosG$iA>J&pW}}CQ&VVGSGpYfmz#k6J zB;`B-xe%bOc9(3tafRrs!9$vEH1y$l>S`%RpGEnoCEzKO|^mAi5eJOHnx)Zh!N`r~uwtuw0r7EL~e0Wk!)IVKBi zr+eCtwfqR9e)`PINWj|ZwbrTF)DXKPy4VGTj$Clv&VRsD;LMD0EtfT+DeTjv#v%%hl)3f5mV8g2jx|c9zo3 z<4h@4K|o3=+%s`0#bg@}SnnS#o9NUQ>S95tmN9Xdn)7rjk8tjG^q6iO0Lmk2aiD5} z6)6bi<5=u<-qyF8eF2UqYkAuYNFWrZ{VLR69y#1sg8HpGrMnsP9ZHw+FePpuosBUa zvuwDfWTH*mx2zziY2NWBdL9KYmf)sv0jPMM1WbH%e|BJiIwdl&_mZqk-l#W zigy^5ft(NL9fv{dz>rTch2g`g<~X-F>%8!YQ}O*x>s?H3Anmh2&i1(@kaq#=3zZj`)HBj1`h+f%+O^*1$TutzDulq64_b$O&(V_bd= zJah!%zy>QVN?G}^M>w29_^iPCw!r!VRkYC;p1dLQiK>PzIQ(?1yRt?RwNUt$&J5eW*ODAR0l2KkWry z+InBD9uaPJ`*SwVt0=(P?>4Vv>T%?IBX7Y;(P+bg1}n|K?xQYIpNq>`3 zIMh`q&eV;;iEe`bX?26G6{dJMqpe4M)pw-~`7RKcR z7y66u9#{uLw|Pp;TVFYlgL=^6QkFi$lr+!v2A>_sD_2=A^2MiPX$!wgXT{jIAPk^J z2g^^g7o zrhyqQ_uX~jvWi0xVpTdq>P%8GVA^;Ir+f=SGa3V7RVDo4%Lk737vICE^lYh;=LGXd zD%yxPE^;fv1y`&5aaVHlQPebdWrdR2i+pld4rC2e78HbnEHQT_2T3u{=&tMq5_6I? z+EaRb0XJL4_Jcq6g@Pr*(O&M#KhO|e^1g-ZS*itT+XHFa(R`p0-d!-{eN}zFRAxqa z3bUlT(gRuWOi2efj9$eTc{Jckwm!H4!t|*Rnn7Tk_8xfwqXYqKw?DWJOFYmA2>W(u zje$^=PQ|wfgH!~puiTX!CeE(&1$TSgi@v0B+HRZ}-{7u#5)t@ARZNo4q{j+NUJSPLzE6SJ8pQ<|MafI7;CJarxcQN;@?<1c9ZMt4Dkz={h2&osa z>7PnJJ2uJ>*`YjGW$#o9*tLq<5ZQ@E?8=M==4E&_t7qPczn_g%dxP8DK8yW@FAJ>q z@h)H#RdE&idEv3gBbMV-S7OLkUno?;oC=3>84DiYI*zp9Xwd$&4RQzJbs@3~aUw5} zmTWA@%HCu$r2v_t?@cDV6$at{^@l7f_Agwg6ti3SZNO@h6tEAv8+{mG+9JkN5L(0v zu8ZkaTQS*lT}R=rx)l)w()OCHvuBIf`bYE3)N-Tz(*GbQ`s35%eCuo0hWdr(7Or2& zdd&7S&)VTw@PNu^%Qjv4?AgY?ORF=>uq@-t*ev@3%|mRKMUH_fra#RkaeH+Rqw98_ zUh5&P&>B8o6t5t(nokt7?nJNK^5@iZ37O(xA;;2Dc*!{$Ba12oS8?o$UHxRD)UVxq zxA9tUcr9D6cB6MK^THd>8`u(T$#5@bx#4{`A1$`8xa&e+T0?6S`?V?x^eFtHTUcYb zOyv-+bj#W4uHsy1zRYz^tdaz zH?u#qlC;107fRf!kL-da-r$}=?#e^J$J@WV>OuHNWap_YxjRgICJFH=UoK^EksV$oGfVD5Idrm-8Op%fcg1 zqSa%fRu_K{zy9e8CpCd+|M>gE!)NTgg3_y}>m! z4v*^v0AFxDo~my!qfH|dDWsGw{6x?yeARij5PH3j$_7MCm678ZF!((lw_N0a=s|RK z-*zayLn^28hU^Hoq`PlB0A7;jKrx1s+467lsZ$PoDAU&#>a@Mt~SgX$Y47a5F{EaM~^Edjts0!gL zZuAX#v#kb(RA&2&m#7jC=cTu1Z@RT#`rhZO`{AR;-MihDTUaw%H&wn~_EF?zTe>b0X-swJT+-RvE90+o+Ja62(_tV`g$K~~CU=A&6f^XQ@!t5yT z6WpEQUi1olf^|Erb=B96t3EH!yOv#qNG<-Uh)f>*5gu)M@Jj|_*;jGoNbU)L7ggI> z?nB;U=BwQ3FsooI8!{xs)qIu|CX-~PH4m49GTy!IQ<*op(I2{>#;C%mgdc6anXg5zviX3?g&}TM_R`jU4?sI^mtjwdQ@}JgrOxv`sF>jxb^9TaPfYjb|JsXq#2C z>?2GcD<5PQ9s&JP0lcAm_%Wn6^c0^h^4^RgG9|{zD9j$|;=^|X>H<&I@eEO4#d?Y> z^&l8(BJ&rAsc@B>Rt$L&E43`S4BHaa9Ek^4fpGvvi^wYu-j z_|SdqHCrzPYcpt)yPAuJO(#x`4^?OZUvULfivB^mZ%lrzdvOW;3-FfIjoAU^D@-Uf zHGRxA;`Lhx8pq!znLL=_jD z+DvH1sIwRt72#b25t@iU#F$@et&h+wRw7e+ObHSeRcROwPLm5)$a zNLNF|6uvwyUG?JZ=|FLwDLQ=N@;Y;)@=-dVEqN*qUwA>Cse3FFu7jm2{mg8O+plkB za7}7?+3bmpwk(^yLm5ueHp>_$?&2}|jpc>b7Bm9(nTQxW^=J|8#F*&hT7P)N(NX?_ zI%N&g_Uq=wxp)vw zLVfoY_q)TF_G0T+)o(C!OYdNW%7-#rt;!9bhEyH_+3a_HIj^~^c(e~5^5jRp$3Jgy zFJ9`m;fjyFs?TxZdnO&Zg!RS{tY#yLXS=&^1uH~-1@C?~XpuTxJj2#AZwO{C|BAH$ zd$ZpS?(Xhh%s0+FYdJ$kxKdQjk?BNczsusf6`lo{LJzJ{Rm)v@z4G`*+IqZ$nZZm| zc`l<4{jP=RP?EQ(n;e&sF<>F)J&d`xdvP|%JS!4>Kh0e=h@se+>6lSr`9_k?3d?2I zBnH$kG}YUP@%@jF0zK@EKzY`~tkn@d?X%xiFYi?^;@Sl8hI$XQ(j!kAHePL6+0n!s z2|pzKp$P-=j+^eY#&^R_#Z2TYt`W&|ubkb>yKXxgQEe?eihAew_zFWV>7`c$tk1l` z4K0R=%5}bhT zGcQzvo|?`9EPJr^)IRJ{I#}H$Xb7S`g1ZN@ig_{JquL#L{vVf`9L9N-AUlkFUeR$% z$lh5v#Ter+zD>myx3}P!!Rn~HfZJNX=|v}x^-Esa0(OK>Fs+=Il}F#rZQ1Z8MqF>yHz9(@qK&HNR z384>ycN%@oDG$D)@&@!ii&}u02Xvyjep9#}RgxL|WvcU2d#n~(4Z z_hKaH8<>Fc(qI$6+jdtmW$gV~|ID-WbP)m%L9;jH7}Nj$FNm!A9sYT1cVkVb$_v;L zc}xY>cJZ^kllb!G3q8$bGv4x%P<3H}e)Yx2dU(QOJ&y|Bd<|IH`QfV%#Ed`-h4bC{ z+i~xuH(v_Qi1>kqAwWxWPJHH}alO?PQA=9>5!<{yaN9N^^W#p?PQ(YL6>6nTKN^cIln@rG^F_q&gw2#QEL-S)G<;g&~k=xl^w)cVFo~4<#$txDIzP; zuv<(!#(sWuRgZaX#l5D6wu7rx9PUaUD->KUS@p4sthFqUsr$LFcy$vz3ewms&XaLn zRH<@Q>5K8{lpftv)Z+`}t5cMKt7FAMDK8Iu{H3q93}V z16Y@r=D|ED->)&d(R>}QC(;0{Zex!aqbMp$b?blH-q2?_I7{OwrN_5rCinwmExG(S zCNK17CZ;~f|8$u9r0E!{`1zo=bTd&ZN`^ZO;p&5wqBEI(c{&g!csR@HM!GBzqNaj4REtEYE;P?b3%LZcPg3zSIoRHPa2ZSHMPCu}L>G_`-o z27g+;KYVruvI;%#x_X!nlim3{Ynew3gE|u2>h=fsplz&xA0^c)!if!5{xU_PxLqiFh0sAeONw!mjSANxFuz#n~GPGGIYm72iX#Eb0KfVGCV ztZn{^Z5pyj8I9*9n+mNn`osv2;Dwqqnd2+KF563 z6R7rX9F%&4tr_z^gkdzM`OT#b=%@VzIs0ycAHV6p1HYKI51p1bvEt3FX~I%7FDIFh z%{$a!e<=t)XRnO*;)?8xS5Z;f3;!15ZQFX3&epX;GFKi`{_q33-0-}AN9THYttwD? zNK4mlCdT5Wb^Wt4fD;6i!yr8K!(V(m6Kb9Xkq064AH;`;v})Gg$Wbgjc`;f!lE}dlW z{?f}8NcQ~2kY|T3)%v@?^oIA7z57dVH8RwmziObogB(sZfA^POerL@p+aEt-XSHYh zOYa|S_A*;Lt3BIadY8jq)(4ZnozPt3BIadO0%AcFcocXSQeiOE2fOjJ>S3ozjLKs=N^@X|B2lelt(IVf9YLhdtP*=z57cq_pLJRS!de2zx3W=vzK+^XZ>h>V%I;# z`mn$B-YNFx!o<$BcYo>S+92krx!>j`x!)#roc+;)*>~4 zroH=1Z$H?ZF7<&pECaj1b>vd44~L3gmRo1)Jxug^I$7^RTRwD!?#{}GN?Sg3rryQ2 zeCSNQ+#s24gJ~b;9F+|!vD=wq`@6sNa=$;?YTAd+vUh*!trL4au$k>cXW6^I^x6)< z(%YsL!)Tiups(At3gYid#8;cRA#5W4G>Ib-|F$IjCz9}APs0B?3BSLjIFWr^Rz{bI ze?=1h!X$i-_jjaU&j%-t|KlX#50d*jk^Nao_!lMN&rQPrWfK0gN%-$2;UCbY=&a=k)*sE{tD1{ab{8djk8f!AE~|iNb#+{6y({f)6*i z6QDodzU6OA#d{n19M8Td57FW00OIYdJ_ws2({VrEc;P=`hXC%Z1o5BD4SnGjBuM`w zvXS|Fkcp@N)}vH#*DnC^?DJqVX}abF`gHkFdlM&Qsc=7i=Me`*ap(WN075)tg^fzW{ z`KJ=_rFtYhUvcT9Sfm0c?F-i7#O`y>?9Ib3l!DxJ$la2H+})5{n1bB1kh>`bxowb} zmx3JEHkYO#Hv)1qQjohGawRFqv2GNnAjh%sD^if#47s1CAh!o{6H<^Hhj(fVNAyIPEUagqW0q+&0Kvltk_% zMA935wev-;Ricfy_vZ!=ysdk<+mf!gqgJ8b<2M%arXF6Ig8X#In|6f#LFG)k;^@B* z@)tj*%boqF70izZxU&Nbf)}Z-V^Rr?ou$ugaPHv7O)iAmoOsmDR1S=3I%6%5^j3H>giz zT3gw#jnNy&?yl(Lzp2(ix3;n$7b731UXFnLfVJB0_e4BuPn>jK1^L%Sp8a6u;-vF7 z$mP~)z3dOi$i=baS;&94PRqY9;!!)|$bSO)N1xa7>@UaYci7GQ>8PGA*XE5{p8e+- z`8fIuAU}PRmS=xDnfy(VKkr2?&;E5X`9~rDH<52wPI2u2JLEktYyIqFCDY#Y$if!HZ<=$9wzbld`D zxXXad&nzIz;aK47$fqNLn}Pj+TY$ZQl-qKG%k>uMb-=el{}IUiegOCmFf8q9 zxz>UH0?2s(2xK`v0AxDv5dJOVe?4#s{I3Jv4!ju1besode8Yj%^Ud)({NI7p_cZX= zz$bvLr%QmWmy3b4|7sxhT>zxMaljYhKM+WLzdX+6!h7J*C4$!i8DBu?v4TekeltkN zyBWxIYy>j=13-qG2>cCjkkHk*(HT#nU@q`w(3!x;fi58B|26<;yTh(};3m+uz7+Np*An-oWw*a39UJqObEEGHrNPar-dEj@) zxH#4_v<~UH0&fJeyypOUKTH6!o}UF=4?GS?y`SStJ%)b{xD|3Mf!jbo z0Hj>CU@7o@@UH`Y0RO9itT&T^tT$%^DSwLK5kTHI2LoAOy8(G0G-vAj;5{JY+X7^K z4M6H!2c*7-fYkR(AnV~Gpek4K9|NTQe?Cg%uLP$7pMn2);96ilkm<`5eDO#ve>af! z+yLx?`*JFfa>IbkuM>gHuYN$<@%@i9eh6ec^H1Qrz_);GPhJrIY9Pb^1^9R1W59R7 z|22?$LO`ZtrqF&M)6pIH9`NZST&_oeOM(9dtOhclZU8c$t`)u)$ov`(WPTk5WIm+< zsjsHLPTws+rtb!!i-aBoWPD#9uH$pm?q@*S=@sk)WVo)vZ$3nq$KQdx&+CAczXSLN@G9U# zz@9=k9jxg;10RL|65w*+6~H%vLxFz;@-REnulLpTeL(8BfGn5!K!(2xNd38j{ecXB zfZ#_NF4rGG{}uQe^1TlD4}96QLeqh2;KSfg22yT}_CNh(AmxtKbYPF$<$4hO_kh&% zI*@#Rmk&BH8AyAwflQBE`=5RQkaC~*(Q>x}spnGQ8sGpR^Q+|`jVpjG-%=pUb)?{- zK*rk#$okd=xEb`9y>-290(B--txCM9*@M$3RJ_@9Kwct(S zKNZM$P64h09tz}r_Gx$BPHYE;P_FL*ZwLQX;BBCJekT3b0hhr4Pr$99{|ndzKIJs|Dh3}kvX0agA0 zY4h4P^YU0U7^BAoX)>D<8us zzX9d}?*!6bzUPhueFN|;;4JaK0_X*O2{0E}ApU0p&jdXTcm{9~@N{5*;8yFkYKBJfnu>w%+ywc`Ir;7HIlz!5;6_epuK+Zhge0dN?wRQ#s^ zvq4`9%mQ8@{$~JB0evd)WZ+5Se)Kp=OYrJm`)0idS>j|E;T{(j&wpw9w&fTxQ8 zaloTN9}WC5u%GyM0cPTlW9oRMXMO>s{wCm&px*}m2>6QlKL^AkF>@slkGxENS3r60 z;)6$C=3PKM(lV>Xe;yEztjyWKe!!{XKLLnGO=bXyM@S~eJE(`-gY*T>aT_%0nMaF% zA0V3O%maaafO}k8z8Q!nHgg*gO=BkNuF}&0>;-xquqSY(_&)?hlah(HjqBDj?-Kt- zzym?w2<#4=E&hc-+!C3SfT)U@0r5xOUKUmhcA)-vea$7GyfZZvj$&Bar$VfDB(F z{0iaE7yfJ@!~29kSoj{{_Xje30}2s&(Wef01#q^|?3a-4FLZ{`btr7g*8<5e5xPj| z458D7ZbD_aobtfSfGdELfz{$)B>t0tm%=|w{L{ssm5K6Oknz;B0!Tf}ft0Th|4HIM z9!UAY;?GJ*`4&_@$~OX0=6#j}F9Fs7e+p!OhW_Kl-v_)Hv`73~P-!W@6G-_6AmwYs ze;JVSvw;(U z{Lw&$&k+7j+)UKJ14#W%K!&dcQvWjHFBN_@kl}eo;&@;d&`4#D^9q!I@fr{?Af*wJaU=#A4{5ruJ!3x15!CXO)pi8i+yMz~Hc~M`5 zV3A<1phwUp*o5*?@e8sXRd~T7L6#%^J%TR5CX|;7FIXd3Ay_1sE9en)39@`uc)=RM z3c(`5TtSbZOOWNR!VA_2vfSxkB$zAc5p)SQK}dxctP!jbEE3EW^a#2Hn^4}k>|Q5W zBUm9=B$zAc5d^4k%TZzSkQt4~vA@~XwLFXcvaYUQqg~)eh)u&NiFZYz&AGd7v`geK z9j^ID2|Zfq??gU#gyyHCU84LB;a?*3PT_N`o&04&zj2VJYewqu9|-Le`gaoF_)(g_ zLg*IZUyAxcee4v|T_f~zk$+e0TOs@%LQfL<0?}7AT8F<}=yaiZ!~*qaN6=vv|5 zE_9vn?-RO2=p*{*@Uu_T;g1)(ztGzyKF=7<|4Qfv;r~j~(hOz&_6dCt+8>4=@74U@3Ed+6H-zR(7~NK(my7&ULaz}1 z^FmJ&I*j&#`isWt@V^o|UFgSz&dAgJRYKPa|7+1#C;S7@-cnzQ&?AMOov*{6C3JtG z4;9*Tw&ouzbc67Z75(#te~HkILgx!T_#7R651!kMze4EKr9NyC`gozUd|LhqQ~p9f zYsz2f&rSK`Aw;*wl)uog3Y~kd=5xG;@$V4+v1qjTPGi=o9@kydW?kx22&Ue7;7@m$ z@Xfl@`9hm@rX@mOiF~3PEwouj%6 zH|yjdLH(nAKJHVxZ^WLnHR<}X$eVTLEj_fnSqE+*9K)M+@o!1^uO)mo(oeow*M2D4 zJJRMmhm#~d=DUckV(){Hq5FlTr(Wpugm1pXcunjx>-w7|J!YNwsY09YGA^1AwpBDOKiLbBNZ`R%aOYAk@G4vPOeD_c%_L=V(=8FC1yM+^lZ@#nmlh|XvJ9tU# zHS5?97utMx;T3taPJe*d%lHZFTu5`$!JLD%LzwP1E9N}{v{3(v`cO$Sp{49t4We$D6 zcjV964*uU9{2LtcuXE_Xz>&T$9Qyv^2>-D||Gf_Wcc`EC^aLE~z1fl8%N_PqJM7^a zGP}NV2meC{{~Cw>QI7a0JJQ$J5r4Tu-t4ENDl7gia>$?J(8v4AZtqImZ+7|~M|h4~ z+WEIS(!==!JO6k``0H^0+W9XzWIVFWt=FWE&j=S)u z<0o9eaM{B~7Z%T&eSKkZS(`tk>5tr>Ha98^GunHK29eCaczoeF|9D^ig@xlLOe&l< zw{YgH;#o82l(`BWtSif}ZsX}fWu8h|o8pg>T7rpictuHF*u_^CJ0)VgSjaIRS~2q~ zs!4lIwR zq_f*BZz~tMDNMOU$+mKFcsWRBaMX*r86_k)B^#XHQs>%v>uhj(OTwJqqMNsjvogo{ zNpS7Q`ij&QGP_Ztrsau}hCgiNC_CRl!v0YsOokR-Iek{~bx~EtWu?Q1CE}@Yl8|UP z$30Xwbxv8~)zhb31C=(G_+02cKdmj7MCNYTCo)|^i6Jz5uF){q?oMGBSmwS}V zzwpAs+2v@eOG{^I?W)x*o;JH=s?g9=Xs1;RY4_mGZKv7l#n8C5Z8Ta>-pDqeLfi#0 zH15zCnw8Kl&s*F^L!;ftmZNOTY=VVQj7HO*INWG49x5@@r%st!K3iqBYN3mbhokj% zc=HK31HnX!HLiRnvn#e7wU13GR)l32>%-D&^RYG4e8|o$pAl1unB=IRsX9oNz3M2^ zUUh7IMjyjx>^6RsG~t;{6uDi$A`M^F#WsGFG<;PT+xT`;*Tu5Z>AEOj1uL;os+vV9 zRYep^RXA-<;p{1;Wz(iipMHJethrN5r%#zZTXA9|D4POd@j@mr z|LtDV7%DGEY^oV6oHOl)sjk8c#^;}Z(M1J?s&3DLhiJUIbSemYeqB>OrSz&OzpYlo zT6i-GQ_WaOwXZ0naGR$QH8tF!Kx%o60u(uQOkqs1Nw#}QlI>nIkc+d5W6eXe6H`k` z+HJD&RV}siRkgH*XL}mMhm~l??D`dH*Kgxfe+-}cZG1bao@8jb?79tEs0?l6*~vm> za~m&88k?B2$U3`TMH;>`vW*`l4PP1A#*dOwKJ=quw(D1<;ZvcFA0-W+3T^x-Nxtn4 zzXq+KZqo~|no>5Ut!hu3GJIGuYUKE~VrG*05U|^%X%i`}uuHVjMuK+OCEDnygpLJ~ zwZ$xYV*Dhe@{6tA(k`%J9W}yP^-b@>!HnsqvY{M4EE-boqo~?=%&1z;bSB1;W!deM zW+Y5f+aydvjYO1o4ah!a*l16i%N{u@XVj^qPR$g^NpTd@!SFXXvj4e+@2pU59_8fe6oa7%`4~{{9`ub2+l> z^bsmVqXWZ1bnQx1{J9(=F2A4lPrT29{@kn8=!t&EC*cMHSwORs$ax?G<1k96k%n^q zz__D?j>Z#xGN~pD9p-2qZ@aD3jTXb&_xmYll-zvr?k7YbchnE}lP;Ke%h`azQ6E*-j~t+i{$Jjx0Y{tryjvw*Pp}%_%G8+l_Y4=jQUE+TXO#Sy{Hg zxRm5aJ(E2*>qK9ZYJoA&3w?af6$PS8h+g!J3at zP3{@q!ButF55Tc;t4_ohG_3V&p25FWEAY=->&JhkF?*BMpwEfB!dvJ#nNFX1`m#Fn z^cz2|Xz;DuaRyE=MrfaG{Lp%)ueA;bq1F{xQyYA>;Lz3i(>B0#Npn7qdehhHP+;TD z6Zmkj9uC+GGzP34UTd9}H%fASY3p%HU|UT7oDK8tD+n296rKV}2ZF+SBq080`_ zR$y&)#8u0TigWa6e$}S3gX9R$$q}X~hKM;Gj@jhn8Pj(_%y0cw9TtcD+9UbpTg~ur zxjuK^+vXHnbtvpdCWDZB(Q6zjtFMtJefk0+>j9}$KkSC z-aq6Y{mN9hu6${t6h_Y<z7 z+Dkcl#6YrLZ0&}M-@=Y@GVJv?A5 zdfzeYknLp?a10$z=GEcDfkrFM9JXsafx4X?>V(J$%qxk>J`_*2Xf4CX#Cru$GKR-Mf|3^I;2dggHN_K0km;4s`XW#42&KUo*?3}@+7r67@=NaDS zQv|K&ZHAI$&ne3|R7 z-_qXlTVF*-9q_7UrJ11vycV@xZZww#p+kA^-~~v(rJ?DH1gxEYYn}H(UpRkr+Z!jT zP?ia2+NJ)Nc`x@)_O>5Iz~Sj{`K*88eOR@Mh~3M@#b}1N6!d6uS9S-1R<3NOd5x7L z(Gfv`^|1Xsp_qgj`HJ6qLp{56UOvN)U9eWA z!(EvUH9l*7u$KENyWG{k#D9~gft=6XRa=?F;NJc!n0wI{kdQYb*_&{<``zopW!53^ zT9vLsM^q|RfU3HmXZx-9{5q>lC|~hij1JYtXKhr%JR<(j2&@9t2UX61tPfI-21g1J zad5R_xGOINfq{y$QOvZ;*K9WX7OqzX&U)|}UWYMkK;5rEL`4+YWD_Q*9<<;3r+?u_ zhBFqf;_xb7u8n>5!EG>vo^8fuZ;HIgz`+;N{o%8B=s_ei2!k5}(SOVsRQCa+RgzGh zkyVEyQ3YLQG)hdAR|0v~7m@GwwzfJF@}*)*o|aE+?qkuBXq{WDa{yTY^>{+#-<{{GM!q1{zLu->Sv_RYI zw>J1gx75%YB&A<|c56Y-PIuLT5Dr)m4kRNWmdSuDtaVp5VrbuAyoRldFFdm3Fj&kD zLzTsTt8$=93M+^b46P*XFaCv+x9TGqko5+?ALOo_07dy#pSr8KPmjO;7Io{=;LsSQ z%xm4E1L@IUzjX^$snJecv)sM)w?uEGbEz%6HNR?`dr2Oyy}>Z;NZAtl9TfG`u_LG4m3~HLDa8?fE94F54Qxf+!4|iB zaRWR|=~B3s0>L$^3cIWS%f|H=Z)RDTdojXkrx;b-|Hr1PYKDzwV5>e__h1fVh~!a6 za1UCKZn%O?AiBD58&2<#%FetYO~ICQ_iY|{NyQ5ke?mp(31f@0@=c^a&_!jPH?)#j znKxv+>C_{6w{!2;2siUrajj9!x4UvZJdkKv=KR%=758u*KssLBz}OK;8IbZfu#z0X(oOZNqL?{-&y#!A$>sq*!* zk0M)ft+U}EchyNS#H0>`uZ_M?PhaT5ZaypBXN~VBwFw_%MTPR*D~o!0*KGq|S3-Eq z?w#LbyEnKu-M#4VR35&%#c)~Pe8A>g+am`Mng1qF_%&x+p8VDp3xZXt@p64v`Map* zfF(TSt!N2%n1L{zj}ZL1n)9Tf*=Sj5%_F6d%`IqJD+FO-sUUsZa#wC(?^-hQtQN;Z z7>&u?gH0!ZlQXNl_~)&?5#p*Sk>utERJx4P=e@y=czQ^_SzlC_^oml|vwM5j^0Cu= zA2be(r;#7vDvgo3XwjCQ`(116pgpav8p+n9JmPqC5}gw$*zx{WFc=#`!8udm|1 zSai1T7yD`#nHc=VVd~)ag)ZNa7jb{b>AN)#M2>xlywmeotX0wx>yF}-GT4=*`-FLp z(dyOz4U9{y;Pi|(*cU?8&)1I!?;2!VTaPNjMj9=SHM!OsT${zDxU0J{t!9QMXT}P5 zRRhG(k@6K+sGBWVmtGKBP+O4G;$HliVr}ttV}2nT4D0Kh#nZ=au3>@S%5PI@%~MIT!o&F)n8XeeI9I|IxL1+f_evU@9z}l@dA9vRT(H8$gzP{^7`-@mCBI{g_U#@9 zVdAK&D?cc>njJHjyOOKb(2-P`qEvW;s|S)*HrL48Y`PB&^@9Tk-TVxu!2?{yZ zlxV`L&PA9ugPI4$WKEmc042u!#~<=9zt(GQjI`PNdHYgkazBA^fwiDEkhTY1eRZE( zpQAG9+*7xU>K|-?Tu9ed6iZ&XEG<2g zUQlQH3M|C6N+a@BDyFr|Zbw^xUgrmdUCk#WUGZ}p@nOD?Q>=C+ZH>a1{KoPU-KdPV zz1+r_F83o;9mC>0FFfLmC|{-ok=$SATYH-yqCoQ!Rtr2yTbTrRl@HY?G7SHe38wdK z8ta$6)*D`H7v^OZdo|?H&%L-M_-&tg=b}lx1U1)J-0u!w+Ka7QZLe~u-M&z$1O>fX z6*ecQkAQ6UyS|*)+*RDC!)H~HANd~tU=F&b+i;a%waZ=gIWBz9q$Bh24K4($+19u( zsdM+O=#Q)V3N|G)B~pirXV`M*4T*TIzk0)gz1i;ucXxL$=C+A>)^di7aO*_dEL8Tp zEXiBpSzzr%=Rlf->y-yPOl%eW#c!BOrmELv^wSS~M8{6BYA$dY83Pt#-ou!CyBBkV z#XKt#d_T=yHHe|uD(d{h-N>~9>8#g1!6GrBexbQ1j2Plpk0D*h5h%}km=!<5m(%Qb z(UI@!uHx&W3E&O&9%!XUo-}Oqx*ox`ZTi^{34dt9z_xBz6*H0DE~A9KEOfiJqfyq@ zvLA+S*H`FRq?cY1us-t!H?$ZgD%GK0_tP&k3q!Zix}1iabG$<~EFW(0}+0=oqqnp2H`}2XWQQ)*d^p*b4^-G$`8z`NdZ4p2^LM1=gVEbr`D^y8FnT*H ze}~)h0a?*$`OAG??Dtz2W^xBE)%uVldZYEXlk}b@dOfg_Dm%;GG5aYW#_p$lIDJ3m z!%#;)sCUUus1MwCoAu1phtAS_sv{pdOK-6)AK3kxdsJ2jxq$ukk~RDi`YKyKbf(^^ zwtVPJy+w|En3p6U<|k|TB_GT_N~{mGx3lzK>Bxu9(i?kzJwGETmXv5<7ZR>r>cwAm zG2`(utEF6`@W&_N%kuYx`n^fQpPz((SrUFp5`K9S{-PxO+mrA)CP9}d{~p%tgnZ5< z(IpDMUb7SO8bk@y>_lxe0UwG>A4$@ITL6pyP-}yzt)(e^dhf!{vcN@C-l(#MDb7RsriZG=YD~7iQ*5i@rFwj|NFw< z2AO#I`+`)QMEr-bzaw2Dewf1^aEa_MkbY+(ey_eAhksG{oXw19|76S`(D@V8k3Sru z`F}z^jTinB%wf{~1iyIod%5tx!*eZO_#OQC2=06Q;_*K`O0iul5`@3!7|rMTmGQ#& z)9i%b<>tPGfd)7!MhpSPKmUAC3UbpCSI-pWSl2$6b1plI_gTnoPC<@!>zNefdZUc* zPeE=3sc!H4@4j4Hjz)o{t1vTdR6OB#r{gj ze=hQ=*#8&Ee=X+;r(*v$$p2K%6W%7p6|FaM>O(*D$qss5+no z{yYfzuA5Vr-wgS?_CdZY`k2SQq4l#Lq+AF0%LvFhpJL?V*zpPEC;e0FWq&G}{88vz4|-3_vwsyM zAE(|FK>nc*v^@J;G4c+3K1KtE{?O3(1XlxRfxchpu;8_VKH$&59|T+oJY4*D9;?Is z0f=|`p>u_P`xxw%0(ynu9l)DFUk#iF^aCk>Bya)FOX~x~Ufx4nJ?h-1p__oD9|uzY z*Ff641jumnfD?gUp*_G$K!0$w#%F<-g1#R}yYB#A47^q_Tlj|vzYA~z_zl=lViNE- zK<38`!PCUQhtPX6wfx6G+Vu{Q@jU}%eD?}g3;!k{^_>M|z8oyr9k>ALe;NJg>)`(+ zunUfwyC1j^bS04bCIf#8oCy3mire^>(o;Lq@Ec-+E*y(6aLA< zKM+X$U;IeNw+47M=-&!`6OeZ23my-ozQY8+z(y9N9|qFi1we)$0lX1-2$11>34bjH z#fF2HHJGS|uPFwMQNvsD>1wIR8{dyS4`gJd`6j%03h@4o4#5;0-OW-H$aA40-Ox21|nQw29S170sag)5y*JX1v1<}GjzCD zfeg0^$Z(GX8SZyLhWiC@HZTNaxTArLF9XPMJ%J4Oxm$<(0LXA}0cQhW1~S|vAjA2A zmjlNE8SZ%CEYL>+8II@eGTd&AACvejJeDPX#jki9m+u`4SAz zb9ESgDPDvaej$+IZv--YA&}uO0y6wLK!(o-GW;<>hF{xT$q(f@N|b*HNVyrn8NiW1 z>gTx**8+P3q5t%5KK_Wc2=wtncLB1zn-9=>xFDK(HUp{WULg5D7ycaKUnBgk!0W*0xhPO|=sUohLB9-S z_-BEoz$bxh=N=UQyT$)T;9U660Wu$d3dAEXvjB)kS>~BQJc2TZ0r6#$b?NhAzW}0XROh?)1-=D31Nb7)4SWuWCLnVK@F3vtfw(0ze*wg;m1zNc z0&fDMYG)#EU8tIwR{~L$GA9CAReV4cb>Du$(!W~#i^PAD_-6r!gP#E$222NL18HOykmpsCUkfCk z=SY&zb0o>H5Pp&Hd9Eb+JXex@Ch`;@&y_@%r4P@QBwZsk&y^(2^P$M+xsph`I#-f( z4d|gjo-0Y3=SrRg%oTbkGV4UpJXezZWxx}FONGt_4gt;e4CM2imw7;D^7X(S$mGGm zCLsAMfaEU+lD`yqJdpPR`ICe{UidtR@;LZs37>_=@GU4bhG+dB1muSv48I&mevRaP+0GT~PMkAeSuAo)HZ!{-7S zo+|)7Ko5}oov2*o?*NkD2t*gVPXmzrWx`)7eDv9Pp0hd!ll)xaj~2cMcoh6`&#CZr zC}%{~o#jug5G)eR74!(Y1e;Lal&=$Hy-?u=iv)88J%TR5CX}}dFIXd3Ay_1sE9en) z39^2u@Pajh6@o>Axq==+mmuqb3NOg=SN01Q3FZoV1YLqn5LV#@YXmCKVWI1U{x1pN|2QqrbM2{bw$Ob3l5PKWyi3EdO*mh?`cTZHdJ<41Rt@N0x-y{CMO&?gH$9*rm6W%%*)6*F)8HRA_u=1IR3 zzL^*8#rVKC^Pqg*lQ#37bA&eYoJR|7<~6x)it=V2^9tdcdCT7jU59+8>nXIEmmDDB z%{-)E_-5Xb?J@P6dB%%G-pniBEVP+NoF=rHH{2xQ%{<}PLYsNP_k=d{fX_>QnR!1v zTUGpKo{!($(H=9ecaOwp=JC#Fd4O-`?R*m6%+qa?@Md0avdEixxP_?C+%MC({@{}y zEq*-jlJtEdaFfvJlPEV%==DPLJ3h*PEcBqxX z9y70hB+8ZH9~S-}Bz~{Z(}d>ph3>av&o`QM^%XwrEnRofZ`LKeEAgMN*{-{UE)n_! zkvHoI*sq~ID}{fD=r0%gVxj*b^zC9#SA?N!75%qs()E?(k68z?N%)I|&rcmCsPf_R zc{^PQc{}}?gU^1Koqwf+zuLiPKfx}KK64D6?ud_{_}k@=bkKiv(44!p%b(=XSKy%E za>$?OpgH$o*LRe|{%alff9;Sjb;S2al!sm4Qb&A$cIbc4q5nzT@AmN19r3;6pa(ee ze}hBcT@LwI9QLhr(0LB~oaZS%>d^nVL;u|l{*jLS`I$riLPz)J33m6TjtBb z1U#B$%AA?mI7&WfxRjS(ivLtjZi_xsg zBaXjlQ4yO1p%|xFVmlSeW{Jbs=!msXm0*ISp&WUT`~W9o5|lbBS*#CDariJp+J%bs zQ3;@oYCx3X`a~s0%SKV3p5(Avd)ki(+Lt4hk{+Doh)tTQeK-i|-#yw0>1XNNj}el_ z&+Zj-vXChrw1$r2iSoPdP%x`Y=?~r=xRnn9-`>rOunv zYHStW?xoUz`_2}*xmltI-PnSHXP1Og`u21-#Zta09d+Zh*c?J*k2X%E=sWD|{{6#q zPL=KcxqttaSD!o!O5mLP_oJKTN=M(v<-rf`2>hyJIx5OL`j77kbR2J^Gc>w;9LnTy zkaDT+-@g_8N;;!2t0&S*kA2*~pW~EtMPhpf`fK#^_0r!vDW>gTviT7^L_U+Q-mvzx@)}LsujEmLea;WaSUF=G9Em7)w^){3!7_=hS5MR^x@PI=sOC z1wsfPJ*S5D@yD{@`z^-b_u27N?tf=XeeRvgeLA8$#;g4&-rGR~@HH<#X4d;h)iPy? zHcI;cc;|Ne=CgV~ObZ#+ncK2kT?guI1Jq~sZ9B88GD@-?`!Z8(9c?V$zx{UX_p-2~ zo8JHX+p+)0d$8Y$%`n>U!R|-ZOuh%Ziaf=Q*As3h$nEM=*mym_P09Yb1PQ7fOI&!J%y#h+?deIDa=u*{- zH3`vtph9Wm6Y5S?uTdc5j5IyQneoR&d^4Vyh=06jOT;(hkEcT}-ggo|lkgnJi}xKv zxmf%(@bSkdt*$UO_W-Xh2RRW8nY%57jABXVZEG@6b$>mB`=M&2znS2>!rekj|I+jaE@^vUbH>Q}M03HH-5Qs7xIvt34 zf3?m5bC*L;0F8Tns2g}Fu&c=JLj5=#^hzM*9syGBP9WtL1F7#OAmv(N8|A(NqTe!< zvz_V-91lDU zm@odAV`u*?;ras36Qi%J=818Ss(E6xb84QrD{v>mlfMHuBuy z*zdQ~OqZQ@;a$!)`g_*dYUo%E4%@~Z{?pN0sKxt#+XyRYj)X-=TtVZ#zU_c{S0O{h z`oK==FoRhj5yVbXqv6_Y=SZgUrVgdmcsS&ejz8Ik4>~v@+df3Y7_{m7MO@n*y-s;x z!kCWolk@lVL9lWHU$XP}va_T!uC8pwN zfAinWv(9H2I76e2Qt$C-Ym`g%J^oF3zcuR2?@e&VKvT=dIqOXQV!PP(?FL$7`lBs<5ZCs!M4z&^QucU<7#8B6$I6GpwW zPq@fyVSn@JruDXg57~y4dnU@MSXFiNPc%ELn!TyjaeCOnu6$J3*BacNHt%FP^{e?L z?3H&H-gNZ#p%0+IR{aM5ytV(pfA%n3*>%k)h_v6jy+3YzoXS_;L$(NQJ|Mf!Z!Pw~ zTfGT#H^BBA-E+`|8&vzP%`xLQFJS*`2Ian|L)(nbZ!p&?UAwqBFE&r*Id3=#&)fP| zvoFA1%k|g~HfuDOfl!zRs!)58-ZE@utAgS*GnJTTx5Gmjjj^JHFVz@u!m(i!VLBqz zClwYHM>nz!~(l5MnGEcqA`KA&jLBy=YC*f!uH+K zt;b__HH^umXk@k{2@1mH*!HlyNvvNdmIuh`1h*wEAe(D?L!*qei9TUMC3<8%6Kkt$ z(IXKM{|0;f-2PP;0XGb`pN-H01H7$IG5OZn6={a$pFeAJ*uoNBir@(C(-0k$(Rg#!&%nt$C#U7|i6C%6H}_<37bIxNB# zpE?<)ZX_9b!|2xkkh;Of1kDciJm-0W`mV%@M5a1&dr94}wE0Bah=TA$9t+6~JqFup zH{hm+RA>dRv@&lVo11`TN~|(z_m=Fnd0j{%|6* zQ?-}-oiR(8HJ^PnUFKz6sde$oWYwYc;dd6`f=C9G)S@mqUQ!g{41D9&K?b%Oy z>!qHVeCVut_66)^{qo?~nf2@|n_gyXXVo*l^sqj7@T0w*RnNYWax;26tDb%9)C-$C za;es{@As45mmK-qS@kStf4}H3MR7DMWZaHL8{^D)ULw93&r8HN<9~_xW;`+x-z(N6 z;-8;{Z`NHW3SW{WJjWsF5`|x+*$Me(opqw{_azDca1#E?B>eSB_>D>Ud~>BsWdFyS zosj=c5`I^yaf$Ssb^FgjPv2ffT9g7_k?^Z=9dF*s!hK42Eq?L%d>+$roq0TdDegzQ zFn;m)t-`+@cEsZ^ksCNsc&=}zOJqNWnUqU3@7AB2ro&18CETCv`%jb0ao%lf3UYTt zu091h&bvLDg4{O9-I0P^Z{+dZ6y!!g?y?l*E{9xh3UZt~7?gtCqmb*Fg4|}vef~-E z^4J5p%_+zYL>+!61v&0dc7FzNVJXP?eQmzC212HDONaWehB$MaH4k ze=YLK@@Ea&zjH93`vmY*;1b|yU@_b4zA$nOUk?oQx1;H5yyUjWPjo&=;^CXjLm z1IGbZ9H5ckW1b0`-^F0AU}zC=IPgp$!;Ju*1jY~A zD+G%Ka|Jzu02S^d*uixeX8!ZHNEhiW)F-+jLRSlYjnGX(uRwWIessE)?;{f4p(hD_z0ln6hpt}qr%Q+QM?x0~9hCTLg$AkCrI>#HtK{Qn`t^*PwCTrh z6Ta!U?-tth)5nXv>6f1-wCRVh5_!|_{s4S8{EXuso21e9E0-tq@j_EC`Cg%Uk{W6A z9?JHdv?R|pNNC(^%5mKl`Iia(j_5bO_u!iJ!$R}>Z_*_~|3v6= zp*hY*{z{?Oi@uMAo-DL^&pS-$Z-jrd#An{T{w(^}3xABz<~@@8(BLoXp2C%#{??WjpPPu0gS_J{l*>QsS;b+Ltdvql#iy9YuYk>yG}- zFGHb~U-~%JU_DYiZ}|$(DJ|aiZ#_-&lYP(WShdvgcbXI~Hk#E3O6F_KsBg?Sno(c% zeN&w8G@}Ce?k&2qs?F23Ml0%RU#S)KL|>k8*gyJ4zc;uSSZ<-GagE$XXszMZei`S!l{FXUo0AbXv$nJ?v{aw>kxMSbK; zP@9i@(dN`;|HdvRbae4r)R!8fzP4=PXWn|vUEx(z%BIAL0kuKCkBcf31D)PtWjk+} zsqZO=c2R>2a4MSX`{BDg=4kTub^n{byW_i$eSICf%KV`#q55gER1j3^?%!Qs_rrI0 z%wu(A={GxgiRB(R85d_h>*YQ>uqI9U$6Nm4T;cV@cXv87qbJX*%-pUQ;e3H*dRRNP zS>>ksT(DJVcr63L?9ls1gd2QCrIR7i- z_{H;@2~YOhjb3@(jwh=8Qq?=lp;unZ|6{!~puyw=mC10!f2`Liunh+oFNNkkIuYNz zS100|_x415^PZ2f%pbnHLmvF_-5vH5#*O*IcXvO0cZX`w-F!!9zPsB5PmW1){GKi( zwE6DtS3)QH?vCSO9M3f0-5o%A{LFWE^};vb-MuZe`RP zXwyzkLqJ<_*KZy4jSf2Op!vMAhi`V!{La(Pf5<^|oYc-g%fUa{K|8<08|4W9V+YN* z?m1=lu`lmM6XK40{iomFjich&aWMLDprvg{iar=cuz!K4!^Qg1=8-X<;c1`P@g2&f zG>)T`{WpA%7fptFS*IbkK@>@V<|ZG-h$aJNjD2;6>F@0HTYL2Vez?aoGK+8i`m??4 ztgKNZ@Mb@1bjZxy-k6 z%ER%mM7|3f%rJ0m6&+8{QGWDUEaV^CFwU-LIx+)09@%y)#bIJ?}{dwLA zN>F?C7d?|iA{RF*r;?a;SO^znN{X$qrZdC}g!3Hg&Iw23r| zKGPVqKwmsPCPcFD2OH%j{ul|+BIRPjJJX!(`@t47D3GQ#c<>QD^REHvWj`1$MrE>n zg<9M?5a-kBJow06s*Ix1|1VJ&^3Qztr^Idh3Jn3DZE!j!V`&GC;2dlQXw2`r>Ok<- zIo@~&W$DlG`|6U6cZANF@52{j2WM{zjqPKNP4@-Yb@c^zdrEius$MTU1l}WhT4m`T z@y{szygqj}ZBVcIlh-@n?ECwz7yZ_oKI>lvp;`0uL;14<_&}*70A*)*gDq#y8+}2z zpj(zdT-uu5>bCTtw41dms((c}8d6{Rmh(gOHg+!x*1}Blcj$>&{E3Lhx zcY0b|PFp#Vs!RYOv|i%nD6Q2-w3QeucsYpI{GMm;wP)UWXC@ge=ljp^>`x}^U3;&+ z_Wic@+It7=oh0&9c&8r>mB7=hJaiVe4?yOj&*63LrF$4hXDUnf1npJ6U`wBlM`hkW z!+EcSA|G6QQ#2f{?F_cOS|19iH7omOOL zk;RhUs&c`K@c>aD&c9X2vAgKBvG%k^D>|*%vZt-=J-HHj@EIg3IxOEtdLnUDw1YlW zsA;MY9WlNjxVzyPlSp6UFr^A7wZg4_V=mf^z7EO30O!Cg`{CA4`ubQ4E29rHQGv+A zENPFo`C+D|1s=VvVLeZ8DB#Cr;>&Jv*4|f6CTtu6atyXLjK9Gw~ zsOW@o#BXPd@<;cbab{h}Zef6+36<@vKQ0uTUW5~Mfh}~i$~wI*+>GVHzGw^M7-=j* zq<8@_PO9<%q5W5|RqQ2jSek3SdQMby-`@a_D(Y0^2}Sz)yv=9uD=n<)2+Oi#Ye^pq z`p{;4h?^(0`ja?-cMTO*La{lwTai6+Nt_k?{zj0awp;eMn(&2c>5LBYcD-_cN!ccv zp|_}I9e7%?mTowEM|eUzRYr2isI(v0NYHY?+x!%QL<&=qUxh&g2hyylN||N9WW~O< zA6!gE_gn*lP}!5-b#c3ep_j%jyM?*XGg+lul@k5gf3oa9>*(fve*?ml0s@sMVE?^m zGBS`kfvRW+(ItFXiFPR|-&_tNRAb37lkUpc1FQr3R-yG}Q7 zmF$4s!U|_aK16d<$?`V0e2gT;9$+?YX10K(imDY=%p4i!h;`2u%9lx@sR~w9SMih@ zQ<~_cEmDQ?dZhJ?MRnX?EB1K-NaNEtE_{iuZDFJgJm}qp$wYIEcO8FX2=`F z4S4$8ZP5Oi&gX|&9XzNZ(HLt;VMic3y{O*b5|`XRm*W{9f!iuA>J`6lmj-Yhz zOHAw?y)#o16BHaAO5<>={~Q?Sk4@G*e63}0_RgML&=LHR<*DL^ z&I1*QwMzwsiPp2gNo$q7V?}oCmwIO9=~C~x0NxcTN6}d`ISIfxSU*zPS+R|5g{D=R z@wf1c$ypvRo_qpFjjibIjj>A)Mh<#!x+P#gkJ}R#aa5`qx!TJ6lk(WN$7;clbb=bJ z^wDI)KXxp2ClSnpBjBoowmU-hrHwksmR;VK*HDYW)eAy>C&MPD`F{Khw0{P^dZ-2) z`Q$Wj^KbEiD;*XfxCXzZqg|yVHmM8a%;t|lAc5edJ|-kBac}cCV5ufQYyJS9-Vtjy z0PI||9senKw|1`S1YnWCjh%JRO!!duEB0KDuR!by6jtQ@qr7XV*i&I|q1T?X98O;E znlV5lw{mbl9$(h#oy{N$)jY2zdb-8;9E6qO1}|>{Rbyl~KA6+7E#e8Cl}bj1{l_@m zdbZ#n+IggJm{-j|0?`6{`dE86eIRV-!skK z$X$clSDJg3aI@i(>HOGU@xgkV>HJ$4Dmu-j5H@A_C5peXfED;Xo&()t(EU#6B)`yXk1o1%(6r%D$5&0VF-&VWj_G z0y6x&0U7=kfDmO(<-0V*{|+L?hwnBq9z35xcpo7CM$ZtO=Yxp9flNV$`=19S-A@G0 z0c7|AK!(qEl}LXuU(;;|L|gT9{YbhHAnC>flI}4uCBMyp#qgB5fFd=1^CBu`~Y=;bejOl|4Rbd&hVLd7t;qEtkwAncs<$z&MYkkMAjTlcP0fq zDK|a38xZ~r;sVA^Rdu@a+ljmP)26%VlkXE@g9Cq# zoiA|8mi??r zWm9DPi~6byYFEe(*1xN-+A0mnyz5|a^f7Ax3Qbj+T=%ca=@G{8+layJ0$Lp6{*~cV zguaMoAvzv(Lms}{&OKkZ8E8L;_fyiurExW4a3Q}&boS_nX(S|#478t91phQ@qUEk`ax@FQPF z{+_v+E*#xRR#?8)pQ;o^UsF857K)Iqrj#a3SjZaBlOZBTWD15F%yj|q{f9gLgrG`&;=hda$Grd`< z>Q8RJ>3ixufMnQXIw2^ipIT`{=!EQ$J(&>S*U-tzlESwfA)58A^CmPcc~O#t$R`C2 zr$H`g*-t)Fh{UPfYKhnHJLE|4n(`o#U~RP zfLu&mTIjei4yoK|f=24hr+LnT>Z$F>(~U@>Q$N+vCD@na#z2>T>du?)fY0=IA+CXE z#!gohb$g*<=ZJyhrcY;NI#Hk0J%bI~`?>0IibF1&x_P9o<9tT;!*oUTHs6~e1LHaa zA5WwZ8Tcr62~@0+f#y@y4sDB6K*on0Llyl$gLy8HTcmO#V5KrpYGP?0Ogd8H_2%guGCD zQ*-qSd_Rx_-D1#vHwU_Ppu0T>I_`rk$bs%v(1miKrEs}o^%4!@e zDXSoY2tDi9K=fhIKP_@y*0=uXi?KeYyz?l)lK{EM#u(s#mqJ89 z$~o!&9YDJCJ|w!|A?|V1d%FJ+knZaM>D~%R|1YE690%A1NcTqpX&(cGexQFgpbzkJ zK&(5Je3Sl96T0I8G1mE?N12n3a!=Ax)rfQ(0LhQ{T##-OAnEw75ZaXgC_t4iK+^M` zV$$>86w?13ko5NflAiY+kbVUq>2Cle{k4FkKbWWGvMj?>fpctz{M6qDNPoN!gZ}OU zq(3UE(A_WYr-(cC$m#xwN7MfTkoYZtlxr^&{91t)AhVRR3uevPfJoBlF@TIB`wy~2 z@zIQ?CC1vL8DG#Gy&v!tz}f9 z16U47x?(`c2Gl)0q&tYfNw*)6bbA3w*98dCzPi7MbZx*%w;qsmYXM2u2nf-Ly4Qzv zme7?0l5Pqh>3o1ltCBY>euxMD3K(y~YJuefeFEu-zk+V~CyWbh6WAoMT41?ApFjZZ z51!Sz3(4?f2Wfo0;E#*@e!>4LxP?U1j1~Ge!G{QbP;j&pWtSkVxQ)ebNdiK;u9G-40RlcoAHSABjN$= z?0F8~#Lp0%=TwMO9#8WCen1nZ313e9>n?n$3;(eTcc1GZFDJjDK%6++rxSn0h0k*N zU+i+f%7wFCI{Be*NWnW@xTmTjI7^)aS+-ySguBZZ)!*!)9MvHdcU)@m?;Z|eU`taD zhtP&Mb0p4&&?4oq2rXP^MZ}Zy_{f!k85LD^%kjGPbvNUJ5}gKyWMuM8lk?mN@f=Q# zkc@Xlr0{_S!gg}zO%MqSM~3khnSO5pQT&xq-{ng(M7_Js^pXqTfNEG;v#_@2E42{A z(}(hJ?(QIxI9Eah3C!(OiDHwu5<{@b6CGh7fv7uK-*L_&pHF=U3VhGi0{Tqy`MGGj z9v^-%7<)V%BeI!J3}!S&&TMdYbNpe9QYKgV{O6k zh#J>28u;9(_bnh?tnEsOz_c)Jp9)8biS?(Jo{3PmmRF1o}Zjs7^XZS^FQ;YhZUMpHtM&A%s-#id@N(iK=0SE4S*Oy46`S|$tmI2ws)QtntR;lEs=RBi$y7opp8A^+ zFK5v_#G=tG`NWozxN8*K3A%JNigbiy8+283M4E5F$+jjQ7wf@OWDf=ABx9W6ZLtB$ z0m|I60j3MHraV8aUXz0Gy=?zYx2sLjl3-`B^k0@ek6l{)vRFP|)(dX9JeEHW5W6^L z#|v#qf3m-cyn(8w(Qs^|?t6qVx(ZE$8!&&hqT~q~el7bQbAwQL@RF|Z1xq?_T$i;r zsV!_BR&7kaw02o+*gx29w8U}x!C-TUl6eW7HE1EdrL28+FQ~k4&pXbHxgZUvTm&2 zsk1OayulE&oo3s9dJB)HwWHhF5V#uesl|1MMYj87GwS7M4x%6!$6@C=cBEcbJ5rrP zw+32Ao@e!Kv&#PBZ7D__H^ni)Zqt)$Pg-s4dz&-1Y`!svgI7GDnQYy>)hJPy*uR>} zq}p>5-4R;7Bc(oJqtCc9GvpaQvn90=qbh1w4~I1Avp|i8)P+ICmk1ui>(-P_Ym0p^ zTXxDzbQofH^3k-fvMEqMA4!mUh;2IQV5I&h(MLn8A7zx2HYwdKV~m1`t0?2-7UuyR zgadN|vy)}U;W5i7Y?LxAD|tc*`)7fN5dA)jDw{NMtEHnMfB`UM|F_uJFDd1D_YTYYqHg!O!L&<6oft9@A>Lftn0Mor0>te7wT$M%0}3!VEz?ZP5W9$TV;B z=^zcoZpVCZ)p|Tfh#o+N9FEnp?yK`Zdz4Kmnm;yVSDak<2-g)x<-+j9F-fPwg!i6p zh+e`mif!Q`R_t<&UN{~zdp%MpnYazJiatD0X@WJQ|-|LD~W!b)lk)ha4g;s3V zK~rNZW6KWWuySEIR-$-69+kTXxd5D*Pi=eTM?@%>iLHL*xzI0Ls57Pfy-q;>&#+@*O4caOLk*#?is| zaOLmCF208=f5%ArnGZCFD}T+s(I$TnS3Z0bUF-iw{vJTuO?_ZK98)9$8X_4?uI(-5 z9FG#a)ueC}F%^@PV#MCa)6?9I%q5$DBWKU%Zshja+yfGuZ0=?sBAfdc2k^ge0QZIg z-0v8`{c8ibe{TTyUyA#805j3z%vD{uijHG`HZF>DZq9*j81nE-InYsmVOkD!*MhD% z2fAj^4bOq@*Pwg*b^_v{k=zu}vKJ|As- zg`5LqJ5?qNJ>xwQ^h5XSa$vhv#?U+R<66+2D|BqXDRdd)aX0A8<-8!<^FZ_ufj;)O zjtAR!fAl9{0GI;(goDG>UawTi_kn!7({tkP({>K3Q`1=`P8P3Vw2Y43n)qu#hV{ZgJA9z6AM*w0h_P;R{|M2%R zAmjBU;Mst2fqxKK4M_U)0ZD&0An8vM_u&Hb1kOW0O?p2d>Bj()-U~?noYWA$i~gSQ zUchq!YXM6DXA2Ap90y3cK8!D@lm3?g$@fV>+Q$VxAn<0uaj>5TI00}XU@_oGK*nPb zApO0AjX=Uz1wIFeeN6w?0qO4!K>Di!q`xpA>CYEFnIE*@2uS)?K&(O4dtkJmEA~8FKNWWCBh&SEwGxKiJ5;yZ~ zp0g)z=GB}_5jXQ_OK>x9K12AMdGZg%-OP)5E|>nzJore#&Aj)=2%q{(cS!uchx8Et zn&7XCJH`-Y{zKds3f?MsK=A7XH|rk0qep&;b(G*Ug#Jmm(cP?L{vzRtv!_AmP4S*A zIMYq@k^ZBYYtubXG8f321--#sNw0wSDLf1=dQ!Xhsc4_Kn$g&(&&P>Wu_0C{RWi*%W znW0T8pvg&WbE+KiIk$?jPO5V$KS?XcrNaYhtDVb(+c;tFJS=|w{6(;F^)-S@T@tdob-B`PP@%*|vrS*pBFM)-p>XO-)RxPiE(~3-|){Pb% zl9U=NIl?}G@|?<3rvjbMPM3{KtxoD=N`5Al?GiQRkks#VxG6e#DsC+Alz>nI>2~Q9 zrJkx;R-kl%cc8N9?M*B#o9t7D=jsXBthlbgtEyq@pYJbYk))Qv>C0{tcvO zw;q#Q8lUisBZ1^+VN!>AF^%MaMh4QeYe#%&+Js*>@{#h~o#t9p9Mq5sAv9I1v_RwYvRL$EKjy+rinSm_5bb2aS4`*%-#P%o)yr-UUByt(!PDwh!qHC?ccvop4gM5@$biJ#U}! z_~&^@r6e)q@lPGt|2;aDq1?2#)c^m^sH19AiwQ@%p^vdjYr%zU8mY(BRay4lP3MM7 zR&_ybVMc7+sZ@@f5u50P!i5mp`_v_{`VQ;LypO^c)OOwYtWk7vUfh7TLURg!h4``0 zAx!Bcfx8XcWiIAa5V0>be4Tw~CjYteJ=?|Cj9-~}(k@rNV?k^3f&Qf1=VwNfD_`ST z)@NyK&AKg{yIHqob2sa}Z0?D5DI$_-e~RlFnta48)BX zHkwBKGPy&>q)fK`qvH3qeA?tww)3yUbD&#{klvQ_k^S*o2fF8TpyU40Lqhi-Di!!= zI>=K1teV$An6tZl8)=+;{huGF;((U0VMr6K+=x^B>kU|1{{6xb3cc4zW^lNeSoB+ zCKKI*;(orkpDpfezbC={&wyxS{x~50wF90A_)USWVo!Muii^RUP^9>{zl0yk+tgFB;EJIKi#_kF@;s~OS-QIPWQFq-Ux^( zs*+>UyA|Xd`1D-x~ z(K_WaX}1HC)Se6Z@@tE3HIAG)#^X^2)|D7BVQO5 zP5sGtt7;ckUB7((l3Hz3Rh9Z~)qWu~d^x@fALRo1!a~D~Z~}g#@Kf2FK|aw9&+MXk z&ulp${3qlS@a1!%I@i!K*0>A$jI*CVee(9j& znA9$G5+7W|oqAvOS)f7L`Pr^uM*Hv&6;90$5P3C!04$(AA%KERryB2R0Yf9@og?YO?Sv0l^izq=h9mj&`+ z_!XluLbRH(-&#^Pzos7N(r;R{bU{^BnAIdakOLk2$B%I2f~G%y>p=HX4s;KJE}jG3tDyUF4s_HTZO(y?x(?UpK*v3F zD+jt}(49E|T{Y4$4CBTeK(tkV7!Y~rzXVXN&jGnE=K7cG_pyLnpL2ax1c;wnS93tY znBn&!O#Bt_A7MA_3F89W1U3n*7FaIOClEmSD+A`8`C!Fip_XW3p<|ovh^Z4+Cfh;XC_fQtDe|ynrX&UJV#^7dt zf?-&hT<0fMYDSpkR}Ep=`Q&hj_q9|DpCXCZ?m|7E7>`cFv?(1k{ePhQTI%4RW|9V; zy{6#`F2M+<-vjP%{+Cqs>llbaJx%@lxr?rR& z`p8Bc@oH3)?ep0pEl49>NxItQ-;PXJ;1YZ4Yf5czwog;0qGl zzyk%C+g322IJOcQqVBIRLjL07`e13F6|4N)Bdl$uPw!>vE6NMV$LYrxCP-g#Yb=0<9%E?NQ?v0MOjOy z*m0^F8I1cD!uFDO#M|5a0D{1K%DCV}v5g!Y;f=fty8y0ek2SRO;a$`SxksV#3mgFrkf*%i78t?P>9QD z2G@^{d@`v1Om&e8UI(0PG$ZV79j^@TEwGV)}dzua}&%I>= zF-jH1>I#S$;t;YQ*B3^hM#-Hf)*oR{Q;rMC|6=Ndy0%1D4@*~V=vxS`t})Qx=9YV0 z5rR81)UDc`&MWtgpHRt*p}dzud4CU;y%_Rd@?vGnzZw#kW;ip?9d*3kAoqSGu3%Y@ zxTf_4IVu%|V|CbX*GIIKipIZn^ZnP64Wt zT#@2KH;JoJv@#3(@5DFmImmqXeTRvbv*36p!c&MJ*9C-^;n$zZmvOj18oHfCr?qy$`M$-z3#a;4EV`w3+4aSXZY=SnoUG;qxdy=}jL0F=YKhnzIc1vr z3Bnf%GsKYo!x$>@PCeBi{_Lp{3++7xfj1o{y9IT$tM44lzX^MIcAfO&&z?1 zBlIOX(5(aA89C5V{xd8GI?8|E8sOgZapZ+Od`{>R{g%-WnI0*)JMqe+zW@9}&>Oz= ztBj$~pii=PsSznYf`vV!?o%|l?&yjo0S$~wt!k_Y<$3Qbf?kQ(|QpV6b&f!w; zH7aywI*};X4DlX|I((ey*RYAl9q?Qb5w34oJG;fTYUo z>QunvfK&elf5#5TKOgW9kVn|7@xKaq3LwuZqAmKD0GY9lN${l@{~ictSB zaepFD`;P&Rg?$4c)A40Mri1zrjQ419=eR}p_fZ&h?*XLy8o*+}n*?VYW%{ZGw*Zla zIiFYLs{BYSe-9$Op@91VF;1y_&xZi=JRyo$ohKw+o6xNnx+Xx z$P*uh#L)m%`-)~<987oozN1_{9`=jG&A3-9xEbeuEA(buqYRw%W*j?Ba5HXA65Nba z4CO1`wBTn5!J~qst}F8e;2=+!^IiBJxH#RZx8}sD z=j6mscKQFi3qQhz-|phi^T$qpd|%axb061<|Jmif)P`sE*&U+ zx=pdn?VOvrm_5r`w|ax-mPbJUmncNr^Z4+C!C2q#c{H;hVf3>M&S8N+On;Qgbzg$xD2?IQ1_o+~ zImCSl!)K#rm(b7J4Spt0;-tVp`d;PIIW>u=g?b+5;XB{LkGYmG1MMTkgw-IX8iB~!7mRnoVWy^$dm%Hc61)|xd_-TR5>Le2Rqya4)=l9Rok(Ib+n z@}fwRP$)1PD9ka@^Mx<@(;P0onp+mZ9aG^Y)B65uVO5sJeW3NZ zPxLO#{3o%F6TV{sEATra2RhFEUl%OC@fj)r%%AWHd&SyU0s=jiXoUCRr6UQUY7?&oDSLdGf zztTyQ%O;;U`MlCB4jm4(KPO9tnd!k=m9xsFeZ z=?TX0+klRi=|-p8L|{x+)#63<9yh{vm$xFZ!7s_*g zGcm+ju|IOKQ5}W1D8g@VQFN37-z-+(KAyJ08zQ{y$~z)jufR8(6}WF5LD5evh5h8G z3j5Vn3j5VY1tM_;qFoAnvs;1t_ABrcrr0~;SHl3Toe>`Z)#S2`yJoKtcgjDGyTUif zbKS|^PHgt7lwhA&Z_ieo)y}y_MRdFsZ6$jv7QnsLOV)?W_SO&MTj1~ad0Y6*A2#RK z2Htxv5c%iHVBK!5-pY96v(0D-@bc~BQA#+|jkgZwt+gT__F+469`3}Rw-z@~mj}x} zsq|jDFI>{=z4J#X!jS#Xbb+OS{0!Erk@PSWBg_XBzx zexpjs<*|tqu`#ysve?M+SKyHV_yEak*wjlth|Cu~y5pgtcqjZ(yudsC z-L7!SfyzAG175i?oc9*r8&La`AM~t7wv@($W$$_Kjawbv1v6rc$Ctx>J+@N4ktLF8 z$e57*w@}9$1-wb$+dLokDcM4?m(Bw|ld%C**!6o$muM8Z#jN>2(BOv4ViSumkBvMV z*>Vwm={(VwaWeou9Dsa@jeHa__XMK%s5}|`ZIus0`#J))vO%WdnUH|3?3sOee-79` zAZ^bMCK->|L|1JLmjTqStv}}S*oEhX^H@gV5d9PRI{R11Rc=uf~M-{jb1-~{F`52eW|44=W zdbs2R6eFtIYo-<8digjjpj==c@D|<4v;y8!ui>|wHT=OkK<|jb-Vu0oXapV|8u7*P zBxh2+Bc_$}n@PpDPN}L)iIkcUD)aV9K0qx*yW(>F&p?OZ)Nsj%D0nnbecigMknUb2 zs^&0Obf|SfWmkjOb+NumxtZ3R?qx3eg4TfjJk>-#PE{pQ^mtK1>sdrTJg$Cr}9o>cAO@r_=nQvl1Axkrs7kYg3memv^3lGJpI-NQtSKh_m^E9wb z>#n~`AXUhnO#7l2Nj%QRY$=obK3 ze+8ud9{_3pD?pU7KPv9~k$?E~Q?Ac--$Q`(cRwKgeHjp}{a*rPxV(3i@fa=mAVAXh zBE9(Z?*=5F#{p@7qu@6PUJi&UrN2Pno2YlBe+7{AYXs*#jMS6oJ{-!>|1U(I?k@q- z|HFVNv#D2${rjlAq~m+4bmx;Gr2jb}={RyTo!tLrdRW<+o=cGFOea?nSOfY?01E-J zr>N*aOQY@sMO4%}mr)o6ORzY)TEl{Jfj)r%bT2p$@Mw56>j$J&tz%7nyIgQn&zA{q z>h&xzajtW#;SQ^W>2%>fI6B?$ce!(7=XCeG@K;>;J{Ml@;$Q2+eJ=VRy6`((I3weX z55Ju__r09BCvhImxt7hgP_L|*RK+a|tmcyo-^2<%g@akPyRN27rO6_2XE2v?`vc2J ziCi~Q7lp?qWMih8;z3!f!4TNPY{!k9{f(t5m`aBrlnX!GNYs_%$L@5@lr%whPsV{L5Ak7%1z< zMtC3`kB+?+Jb@te--S z=cv_g=BU$+4LGw{c`FLbQJiqOEbI& zA11y>y7=ZFCccG^d|*2A4ijIKC+u%wq?gwS|BJnWY3^p+?R;7M^PYK{Z{wHIzj8&~Zn@Hv*I1NSG;B!WTJRbR z`;+ino5THZ6`*U#fsX6qYjU9D+T`LK=pF*ySfOM7Dr45!mqb*`xgLKNzcE6WI1gax zGOWjWkKF$VJ@Z|ee&{L2T6u`~$Ssz89|hjI{gQLq~rT=q`L)>bjtuqw*ZiIuOTg@`y1d$z%76b z_xFIL{{f3RB?gu0t^^Hl#^Vg*N3lc~7I3V300Hpgb0qGtBJRa~O!OsRn zQbvyfM3mC*gQFfPrf7-#-?~7DDWK99#k@-Cgg<3-k#DQ2xflGxx2{{Pq^XDVn6YNbn}X!-7*TLIYH-|4sj}MsU*~JSDhk z|LX-e?Vb6@eQ?vh$Kl&4AGlF))4y4QoBry2!A<|R8T??CFe89C@i{J>auKKd$1eOI zE}VJ?PWt68{BjpQ&xNDTr15d`ho>>?RfD5%P;vojb~)cG^jq;@_>G5sNPb1=ToFYY^h!xH(E8WtANa&q z5h6u?#$b)Q(0mgz54gTn!8_z2^iKOa#KT932Ft#RYuuUm(J+4ep+Dx>!T$e{&8J=e zrmT$rZ!wHjnDdTyvp#X3gbm`r?eMVPh}5@3r6B1G&z4=@=C7kr59fLr>nq+YpLztk zZxXA{Oue|qiTY^6vu1sr=`{4(Y$NiJYN{kmE9a_wPb|NSNOnv6^6 zt8!XGyW^4LYPvsZ19I)pO78?WuVdF)mk3TsL${<8r=Pp5vfVd*-m#j-XS=?9Js7_% zc9PHR3agd0-XPYyozM-ycKHy+u=fZB!h>tOa5a19jhjt*_7}5JTEOwVR<_X*i&Z{r z=b;P~2H`^TbBFm1M={~%9xQk5A?twPrl->0AF?|FS6Z>)v&l+F4Ej03%|yxBh&(*E z#<`369j^8LSHYKku;F{S*7wU?d=J<9eu*O=n7fB-eZRsLUyd#PnWp|6Gq`12*PD5D zHg_|x&gO3B;o02Hx*(f-K;n8DU?#c3_2QmQu0RD1no~6pOe6fybBZ)u@XI7O2+Mq7 zGUzh7^SmX^ck#>QeiF)!=9~Csa>v?JnQU^2gE{WkznBBvVuZ9c2fB5j`$Z0PluO*5 z1Kq2j`>N2f9F;M028aBDd(}&YZXo%^STMN|^p}YKfs`-wUQ+Kh9S6DvpqnamEN5j5 zT?V0r{>e&*^@EdN~^K9YE0gUk1dy)&CqI>3$4Ic?8b|lYccJw`Ue3?|2sg^^BqRge-DuKJcmen-seU6$dQ1cuiS?` zV0>Nyq`&6@>F+T>`r|$1l)FR#k&dY=0V%KHdY|E435Ye1pX+<_IR}t@P6Z^NeKrioV0GRXO9>^XA>IW(LjgMh zi8lfk0@exc1H{rs$!X|b4Sx75C>Q7xNK4vxgPt%huuWi-z-ocz0(}Ajl)nymru@dN z&kFHPybyuYJR$DYg1;a*&;8K+R`4QOj{#Nkn1FKC-;~doet4F+n|^mT{o`l)+0O}X z`qi@qH~r`*;@|X}55wIl@5x8piOYE5c?l&_4z7|Q2DS{=@A;C$_6q%8+zOE*dwOj0Ds9l05MmQmwGBlc_JUsxx z7HATP5&|)X^~-hQ@sUu0F;O>yC*mnWEa17wu*m;^MTDgyhzKuP#@7=QX}L}`T_nCq zm)xaUi6|RAmxShu4<>Q0W>V&RvP;XH?+-Sz_{~+>sBxY&eHZkl9`-dJAAT_CWBWb# zS&Z?8#>k-zjz0WT$+dP%BQX4CqCcZ7=1}EYhR9IFCWPd$DuPujtkhx@hdd?x(xYZ6inmCVZ=ra@&r6892dQFWb{|567 z&4Ezl&88%}J+yi|V+R}fk1NkuXG66a>uelNsq73#gBvRCw`K;e(wrgMNd#Mt(+*bN zwq#79P~cs29W)v!&PrNaV>)mgpdBYRcwyWk?#m-BCZ6ww0eg`)Y#k5HNJ!mvs zhj9IMjnFYZ${0G=I^-d^ql@wLJ#sWfKj%-J&)zC<86fi8Un4m6MoE7FOiAAjNcyJ) zJ_<9}d)0<-))2!kJDdJ0|B2NQ@DjcQu6 zC~+x>V-l3O--FkBIP4R*d${a*Nr-bk#Yd0TsF|3{EYP@_i6nwI7LGv3%(>6i{|m}0 z6)BOVf45>R(%-MXYnFMyq*8}o=h7O?QV!3#+D54u<{YfSSr7R`-Bu=7y-uDFpfUXR zV`9v{36;Ewz!;3za&d>YalgOe6Fx7ChxKR-XeSBd?&moEr|OBOzROd@PLf6{V=Ee! zlb?1>{vT*QQH1!=bQ^vcusKF=EJAxyE{8Us*pK+ov`WGjqFl(&m_waU6pzsNOs~h{ zeLdpnoKK*iVqc}!a*z%5n-3;@H`McqNynm?wp7D$^J@G{KJbB?b3Z^3o9|4q^%h+^ z(>r4NOu%wLoaig?7R@N~7R~W_i@r48JE97|t8pCe3LJ|YqJ}#?zlaXe(7x$f{h`O~ z@!)RRL#&}?_Ye?m2Q zT)ERK*zim_~wsLZzRr8EFRu{qnYzmd_Tv5mN$Fc$Vbbr+m>5>TT9~=-c6VFRoZ_Fb?hmMyg%r+YVW4=J6ABI2+80a*RS+V+p{MI?2?6|aVD%kHRaMUv1 z0{vXni#ebl_nqL%6f1Uhp~{Q{(@@Ss?T)^9U`M|9NbKwYcy_7=-8-l>j+>ux+|qe@ ziv5&jziru{l=dYX5e{Laa@*7ArdRCZkp1V7{j62v4VFF~c$lS$x#(?YG_CXwnX2)I z69N?Cc#z2}LG>><6-*6y*F75Odz1~Lc?evs*mO+tgK-v`Y+;9ElgKXYt=O;H&6`B* zTE1<}Tg>tHaoC=R)5i_%)9%VYHL#gAwK?u>jf2j+sVm^!bkcFFKkOsc%-O_+QyY#z zkiEz80`L*`Un76|%<2!`p>s+y_>?M0Os;M)Qfsh zx(jDvJA?NAa1;^8+22s#_F&m|@7)(5>Nx4$dlC}Xa|b-(AahsmN?^1-GVloVk9Nq~ z^A2T{dmLhXoOjc(C5$;V-SRF4H4DD<^ z>7v#J7v%*CAFBWy6fE1fs_v4zPCDO;>>M15?931Rt}pQWzUCJihakSeyH4^TQWfWa z+#GMr58gFWW1j^6&==T*YDT+>+D@>s=)k)w3U^l&?yo59_S$tQQx*B13VfBud!_;) zDEnZ~x%gr?m8q@iYa#S-5%ublN5dYA#jLYoqlk~v%{X8W!OixMfF<5W*zah~$QKyr z?Z|q%R^v&(Q@N(T(SMP?`i!?L7vt8l61ieoIbrgt?h7gLj4z#V?!-xx&zn*fxMW&I z@Y3m4=(5Yhl{2oG`S~knT{U~o)pNga&HU?X7SvvU!@@;h{>tJdOPAGsb@__=h8u5c zy!n>1&(X0;{{J*wl5sdIjUV$tneP34eQy~g3A>Y@eSL3Vbg?II(BS+d3WgL8g#)j) zIP$1r!;khBjX35rBac1q_)(ud;lz_hf9_=8m{U&GKF6MR`WeL~XP!0AfA%@ah@5}H zg)Co(894ll`rhulSm&j9XZXnoxnrW4C*$LeiE=kN%XJ(KJB}11_S`$7NpmmN_MS2g z)7-x-?uA+0my5ehOVj+{D(>0h_ib_KIycjLeT2+Qd$WZ9k+@SHk?DMOSSGVv|G}ii zuUgz??wsbnOx*JjPNw+Psp$p=v@G#A_n~GB|1mX9!+pt!T&DPozpQ%f`{kZ!Q_k7s z6|V@L)C2USsr#m55kBP=PYIpWhm3UVK(|Neq+VpCdkAz}g-+^6M!Hu)_YxGW>FomzA{~gp*RCRx+!1X}#v48qCKs1rj++U>oU9cp45tel4{xjXL#XlJT z2?ECL75|Ww(Zd0`zdTsmANvt3X~q3L)LH)uonHS~fyapb>tITEKOokW{!;+y z4}0B8&!5YA;&IU9ub@p}lfY_$NL{4E528*9p!kq&iP84U7FFaU(~VP8@zrzr#Q%M>GA*OK>M{`W3cm;?+9e zJ(mi7qF)ntGY;^)JLye3#NNBY0hFOUk?v+(*eAH@XCD{b^vl-@ek&l&MB&eL(X7Oe z{LDDQ^9J}!m^ChZt_w%mr_gITSa8O)D=LEO=H8lRd|cK%GD{(w!*OZtO`fXS8|x@- zgJ|oz#mj2G!Yf?0CAJt-EtPLYsSn)~uTVr9PjbR;WTVpBmj}mJEa!Rm`M4OkX3?Sv z*DYEK`J)SWN3CIrq(ucN$M2INIxK>U;u1z)d(m+c3llT~ouGo3pdENJUFKMRG8|)L z&ef}XY+Z4^et9i6FJ-ef1-WJZVnhpNl=WV}EON)v^Uj^XeM+AX=gCn(HA}CT8)tRZ z_;=5hSEJ3*nEgV7vl;S-zDt>0<&Vpx(i(oPV4(WkLzF)nKIcpLJRjvW677W5K=Q(k z60dUcu^arzlK0yPuN0O8?LY1pes#ic6w>L8BIJDw#YqA7f0V;2ZyEIJryw5iMd(RHQaBM1%he2>btucr?u>DsdmyU(-j$O17aytF085Dk}={Lgu6CO9Sm&eOt ze+3A%b7)u0L(!|o7FI?p#ulknF5x- zW-Bs)ox{5uurg2)?L8HNG=PUA=%1-DPcmVa?t=7DiG;2V%nN)eP=zPhW5WZfel{pS zWAVTDPjEdo)%6$3wV1BIp1=48bbB>?z$axXDlNFibN!;a6KW&|asJ{4 ze7MXB8fSK=7_s+I&nVM;+{|;b=~wQT{W!zNJ%3|iRN%Kq=opSNW?pt#>OAWzxT9_! z%Njs<5+JIwpF5MpIqyV&;(rbh_1E7Ch$iEI1d#5`TGD@C@CYD8^8R|jLcr_Ap8H{> zzZ{VKsE359n4j^5y`SSC+M)kwKp1t8E$Mwg5EYPWh;KE2FzKf#jN`8{HTZC#o*%jJ z-?{K(TzH8KztDwq9^m93cHv`OxTlI$3feIZi)+=XIE-+q_uOMUr)Ei=rwT*9;bJ);kY+{!2(B| z#J6~cn~ooeYL_oxw%lC1dZ^=H*<^D)yB_~ALFsq=Lml#rLVKfoPo>2DTdZIXBhgLR z3^@K_KZ?eO#zC_eiv)h|#>AF+1e3yYpz*IuIv8^vwh#*qVXc^9{933!SHU)B{t~@BxJJ>Z1yr9u+*Co zynS&*gzN#D6qr_rt0k-Po5|}Y@x#8`G#`H0cN>iBX4^nT1Ieb+@u4{U9X*6k`XQFm zTi9K0X8t6{a2|Tom&Rkjyahyv_~!8-QNvo2E;-gik{`04n+Y(P2@x zkMPEV%l{0|5MCX*Jb`qfOvCmHWcXR3npLPwef5~7OzME2%}t=ub;zEEDu?M8mxIWt z-lMFY(;DH5;PxVy3hm1mT9KN%yaVM$<@KKhOXNxE0lw)f3HLUy)Lx_I`H_P~-ZdRS z9~_jI=kfle!yEZMumjWT@)|BOnQ3NtrwzeAx;1qWMyZA|NDME)c4XdvAP#}{AK`xw zc(JZYg!TMz1FjNohNIhFbB!E4!n@{4I>&}nk;kgZUv1@e_I2-^HW#)DUwi{MRt$nl zhhtw!b2azg4z6r@wV?ocT*|1G` z{s%fSM;6|xJb%r2?%gh_M`FFr(=m5tveFXVQw$eu0^bj2s4rg!*vv_j&i>fcBM?K_ z-%R@ljQ#a%Kg4?j{N0b=&*k@1a8jL$?()t?muIm)PwVT79PDeTLV718qD%qB<`(?J zo4#lRz30PqWU8xfCJX6$5?l{p{-%?w{HhFX=X+`@s-vA}{*6r`R4AJNbQ z0;&WyX}ccr_$15Q|e%!kioa;-lUwK+#S3O($MVWZ9$Li@s#R=8mf^#&XPjJt4pl_xR zJ95*oovxco&u>5>Di_{$)HT@Ob04gXkGCTOB^jkjV0o#=gXkp8GH=!_w*t% zzh^d5gA@u8M#&>QcvTlj5FvIHJUXoIt0H4nA=qD@4mL>jpydUTTSt28&)lg7UUH2F zACuihknzaD|1a zny-Lbxv*KK*X)!5bEa}X55upnXW{61&`&w0r~xk^W4AwgeSRqN5$efqgdB)`l-E$h zOxVdZczQ2JIemMGDf8Q5CC%a+CI(oB_nxfR;>aTP%6H!!me!F0Tu`P}6Dm|uKn)_X z=8eu8$-3GwHBk2KjmP8B`I6_X*vijLdGG0pygk^!R*AD>v!<95eL0}G*01F=aots+$`ARzXT6??Oxi?Y~4Md*HM+dv0hh4Su%vLfg)w5368Svb*5DAm&+*=jd(ga@~ zimreZlUWvTg|N8m{i!*0-zdndSe2{>N=7 zgpSgu?`l4tPObUJp%Bm^G`tDxfPM5Ikz*cvx0)m(QV}eF9Qm{Wj)8VQsn_!iTVZVY zb(sh*Cc*C%!PLn}7K(${|8AZDdzHc2Yjbj1nfwZ9#WB^aRY9sbU(!8@u0P=zEZvnv ztdjRob$%G)qBt5$gxU$FErFcHMfrp#U@_F zOX+Jmtg;;@8aogTD3jdtUm(R2z}x&Ad=zf=HvgO!vEhAKt>`j%0T!EojDLZ4Zd3J6 z4@5r5Yq*?e@=IRN)DOQ|e>VEzGtm#94n~_YF*?sQkseN*LN$+}b5ySnyxunpt=rog zhBdo0JFjP?`ZRq8`eWo=&)KkS>1!AsZ21L8WN-8TFoKZ}#&~1A+X)jbe}(-_$%jy} zyLd`P*(BheK+t6m4)pyg zIA%|<Rs58W)(<=E&UxD&K_iF!HxUOmBrG3UnK|-Oy(@ANs>T)|)YrsHmg|$@iVufZ zj!9<0vw4F?%>DIP)HQnQr(#lV)ikPgO)2t8Bsd?zq zRM%xd1MPR3s6g4Q!ak^1w?^zsVV#5D>B`65Xe$eJfY`lnPR2_bCIoOb+F z`E)+lIbNbyal|RfoanCS-Psu_)#LVQ>Q{;{^3`G3@k6E$$GZW%Pf;0PZ)5 z`|vFOn+I^`I-2Gj4btKt7x!;u$^R>l)*i3T;{P||UXsQAd2y$l6ecbFp?`oQPw1o_p{vZSA9at=u{|kc=p6T2aG`GK*shc@bguoQ zad6y@->-!)+nF+k-lYe`_`Zu@`97U4X?Gdp%e|;?37yp6jC5?{5uuZIhzGV))6aM= z2HibE$M&d9Kk@t?==X_EX14HE`a$=i(6ODS@O9;vNMj>?f2l@f7{FOHdF0f_mO zze4P%3VaI%%J8liI6>gU!!)0t0Fuu&0$)Rad@AT;fUxp60picULhu^FX8|H={t)0u zz>5Vh6TAeF@i`fg{6`6V4-J6$a{>bb^96Qdykz=*14z2>0+P>K!EJ#H1x^7hf%}UX zhv{z{ApLz6kn#HpAmjH%K=S##xL+nP09XwB=OHeE@&6Yf@w){-5s>_zEYR?LK<3XN zK!!)X61wjIB>ro`f28LX{(Awj#pwS!AZE7yRe+?c0i?g6z%vBCj=IKpb_3G=F9M$y z`%b|-1pXTE6wu!TNWOfLjs89__<4fAhPuvl{RNQpy9EEE;6D<$0&pzczXCW0@QZ@a z61)_U{6~xZv0}dmmiY7k82>QF`8i?7-?7yFB%FmDs|0=N$0iFh&o2g{k z4JL$ffo%et1Xc?y7w8k{5!emS%D=!iflUId1(pl+3G@i;MttyD5Es}cut{LGz;b~; zfdI-MpJ*F}&F>Y65A`+8JPMym-@?pm*29AO7iJ#)I_QZ%K}Ike@gr{LFDM&@n|aew z;-9oMdjvQ0GLCKZZ{}f7iMyHCeh+@=ZsyVN2!4RfV5;z=yIBXc2|qKh=W3PiW}dr7 z=*_%(kKksWdb!|cUK%s$Mf;+;U-+4M^>WyeznRBBCAgV4pC`DPCszwUv#vN(a5K;C z0}gfxbE2+q37lhSio1(`DIA^d+g$G3!O7`f<)UBh!t-4I$GF@tbm6>r3swp9q6?ql zqUXHFNk7=-t`$ZdtK)QiS%>5D`AZj6;iYHo3wo!^Z?3DS?rT+Tqqc+UX`0lszR8%SMN3kgh?7zd#&LhKPqJQKo5{Am zc13-aX!SY-3u1F+U`9n%-ExQ+uDcnO;F+qdBr#1M&QA+f%RSPq)ze%`?^dTx<%lMe zJa^bQGA)f0Z#L-XvF?O)1Riy^UcYGRq7@50Rf|?s)y-dCzX&S5H&-pYv3B|5`E_-R zmfnytggR(ICETPqj4CnpdBsYiZd{nY3|2ZhhRA4j)hw=^zjOs}P15m9W-8RVZ&$(y7wUUJ@ImcO=IpC zXh-~*w)Nn5zj8_aH;`V~c+5{}YB4{i*&tA3YR+Lk6&y$}Z2c%r?h{`{h!?tkHK~&9 zmK@at1L=je3%_zruJqp&Kfw|Gh4QHY^O;^$SQ+%93&-eup9@HjO#V##Xc#g6=$B!n zL=<=~hC=c!o|#7$>?Jkj%A+9Q=eM?Se2a*kZVm&l#7wz(_777y*BQ!`Yy3)s&n#5# zRR&+H{Vz7S?fDHjO`J@Gk9tpTTDqDE@_}-BfFSCmFn3<7XS(qsuE`@QpgZ zXBm9I4sWr+>$LwSgLmujzF}~mcK?~dtF`-o8hpIw_lUtgn*IrcmuvS|3_erm_W^_N z*Zhvax>}hcO+V7$aZP`!!P_)G+2D2Bf6(A-b^5<#@M>NDdVG{1I(*J=Mx7<{e9Uom)_#@{jcMvWI@(X7l`&3}x+H){S94Bn*aErZwT{FrC( zCXFvO_;~HV$>4Q5f4*h#CXH_}_*(6Mi^1bM{ZARZP1nEI48Bq0iF>zwI(|OLVU!uK z@$m-tY5JhS$7_79!P|8DzijX#?S7NN_v`q^4DQkH|6%ZQ9o`Ou&(!#CgLi5F`wZT# z@qD9nyHVpO7`$8aKgZy4ouAVU-lg%`2JhDRLWA$uc%#8RIzBOj7is)w2H&XDzt!Mz zjdvNmOVf87yh+FJjsK6mw*il;y7q@h4IwI!_<>DZsiT61%G4x$2qHQ|5|~H=xqyla zPC^n$G+#|75G+V&pv`fJ#a?M?t8HwpMQd;AeQTShia}7YwUukFe{OAS^jZszT54O1 z;x+%@Z|}9woH;X-8Pw;#?|q-{XU?p%_F8-GkF(D{d#}Cs+6J%C&+o4Wuhe+vnesgR z`gxvf<2t|74L+#lFEsc;9shD0m-=OJZ?va>FBSZ=g3lKGF2NTH-XVCU;6D_+S@4Gh?-cwSf`3WyZGwMK@YRApF8IF-{%gUz z1pl+(Ul;tp1&;`xEfWu46?}r=+Xc@P{0D;168uYoR|x)P!Pg1?O~Jn?_``zl68!%W z{87R06#R9;zbJSnr}N=%7W_QHdj&5P{9eHWfyixEv!GA3HCc#yq zIR2_?+nVa5$8u@3Bit6_6e zx`L_s({&E38ygy8vH^pJq1u|-sUc^&YnnrC^{b&PQ1U#ruq(q@l;XtJz)%6?P^DD0 zH5G)y%~Up2H9842YpB#y4rb-Y5_kEzv>Xnq5=;4vM+I~0PfS{3wGa$mT)!HsAEjhj zwrHLXsJu!=|CLm&!O)`bP{B*8_u}jjDp;wzvGKS9M)&^(_t* zo9y-Tstwn+wnYgskB5=y{NaIxux~Gxuco~v)}v7}#$YvCuNY+z4_&WR{vB+g=7yNC zP{>JnXeQ!uA(bcVO-pU9BWb9!)M!Ry77tf=;~Nt*R8sk&;$Sqa_E-{d`IHoekT92L zU1L?X%geliF7L&00^9I%RY7TI7YvnStyOE4Zn7#|tCYC$#P*d9_0_R7s0vrtHbn(# z+?Dyp+Hjq#hA1!duB#{SMnXm9fuh*Rz>++bHZege)k__dPUGWBseb!i)we}Ubortx z6c|mST~w?eRcIg4gxl{J>l9i!MYa-B|wj37XN6VC5T6> zeVM>(RTLVB5esF5f`#6U?XLiQtEa1G0?)914NFUVttm|EyP$YpAs>;8UAG@mLJL@w zxeHY&t<{C0#;Vn*NoZwR4?L~a^3`Y!O)U%+;5S2MLOuPqsk8DsLj1znU#oUn%c$j7 z)C#5AKs?su(z$frKPzwjD+x0WEjw(DQbOVOG9mAZIhzYv$>_V zwTj!}X{2jR;gw=w|Sy|c8c3PD#_l4 z<|^vnQFMAUzV<~yhUv>)_+EA7Ky610Ip9~-dOOvJi?ew{d9Icoatr&Ssb*OJ>s9jyv;MG+!`sms`?7?8NqW)H0{`yhYH?_2f z^|LT!Jj(heZ1Ao}4N@O;8?}>R`>=2fv!jX`FZ*eGK*S5C64~BbOEk6?!yrv_E2?OH zV}00L+fj|>HvL6V0hk}W0-pA!Tbi2JHc2_! zs8kt4ZEjJvFAUnUvepX&2FG#~t zqxz0cPZ&a2iG~erO>1*|Q%ze;qFP#4x$tPgCC)}$6)KT>uwE ztlAqafR1h4Fq-kA$EO})t!l5^9K$VrCT;B0wIYl9AgMjPyg%x7cZEinSqCQg#ekTH zQg*^He=-5nJ_?s%@r2WWV@}0)2seP42L$#B+$nH}K-%*rUx&atfy)F21@e%oUg=@YraHU*I8u2L$#B+$nH}z;1yZ0_y}W6BraY zQ(&IJT!C2vk3pND%3t6ifd>TAz8dK}1?~{oEwDr2GJ!#XGX>@e%oUg=P|ktLYgC zTVRL4I)Tds1_jO(m?tn-V3xpRh(yINQ0!A>9uT}w;7)-%1a=GT5LhR0nZTgHnF8|! z<_gRbcnp)LxXnB)@Q}a*0y%F@`c8p61a=GT5LhR0nZTgHnF8|!<_gRbcnpn@ieDh- z`iXO$9U&)QRr~^X2<#TvA+S#1GJ!#XGX>@e%oUg=@R)Az)HE>TIVAW2fqepZ3fv*E zTVRL4I)Tds1_jO(m?tn-V3t4t&SPhCodfM4`so2T85i+gcu(jq$HjGE##P|PfvS5a zj#VL8dBa{X6%FVowaGyZ`iw1{xTQXsT%m)J6Id|ls%pcM21h`lFtGMz5Hahcg^pm? zZbssBwWdxp%SZHj5PaP~)b${yyjU;kDy96;%)PJmAk}zJ>5RNXcyN3+_-J+#7#9ky zY;%6VL!sF9ASNArZpMjdg~mKP_@r77V$uaYu5vF(J_U_i6On2?$U#X=uLzLuhR2KV zGnz^|DN&82S`T9Ea~{>~p2PY(BbZvxQD-B#VSk11hAM{y>p|F$pz6C1>lLP0FSV?vnOjy8V zfwJUtq&TvLk-(ad3LSWi35H341znFas3&|;nKcELYkCd>qm4a=a|HtXx#lGH07UmZ zO6J{+QwcRR7-v`F9od;(avRY^?6Ojt8=PmZQQ3tbNLu3_nlG%n;XgTPwO17wsCd zAYVo0DYG7}U^J0ya&GeKq6_c|EB+RlCd z%2b6)VZpOXHsyW^a=SKc_JltYxn?UldfKO8r1xi;|t3nK~BGzxqsH7mB6y}L~9kd6#qF@m3iHw-Km z&u;8&eK6AAjf7oEi;PkX!N{X5D2NQsIvAeG*XZ=ymyX)j{gL4CejK?m92_2)wWs~X zpr!a=&uRkf6d|-KJrOd5@>b-@PYMBL!eYhV{Pxj969dCf4-d>P*-Cp+&xXfZdu}fq zyRG{)m_$Gf&nhDszr`^b!zG)GtwF23`_!Y^TdHZ-Afg_sDx`q*2gAKLQ3GU~uXWmwI*H0U-S$t;9|BYn%c~uQlNjsdAsv08c&Ei9h%F z(8bY%+Mjz<=;G+hwZG>)P!jDcHTKC5<9$m+Pc@Ehk@KQWIz98^_dOLO4Qqr?@{w>K z73NYsb;4)jb?Ac3-BGpk58m;5D-IJ zUmqa-d&R#?V7TxetNyt_5T|xUYlPvdk_LC@2$@jMMDuwM+_ zgby<5CUoKtQDs&N^b7O~1Wo*Ji?bZ8IJbJM{ zlA~{&*;?IR)mp=6lGNU6l5tr^f>tepZmZb1|6*@ca3#hMf&GSxV08yZ!*0XAT82hgZeo^kjV)R}w2WaB9IR4D48 zSA7>$ndJgM1e|Tb;Yn!cQKpb*kE?L29MjE9jd!$H+W+j_!^DiTkb~agQ{m#_|FHI= zzxjpdAfxN}d)b@6jT;zq`7C1Bc2#}>kN#Wn7wBX2d>EJFyyI@%9N{0$?PT}AG^Q1c z_Q#gS2OPS2(@V;Z<)*h`^ux1pe6T0*4vyYBxpj6>dxZ;!LbyEz)bPc)QT8s&m07J# zGv7iK?Ux0uf9z&8mmd8PZ8QB2-$+LyUjf;X$e*$&fc_%wiLcnJ(tRWwUTU})nV+MF zhbRpDCSs1YyLJi9%1(j}D`U+SeXa_ey#`#ORMVR}jIe$Aow75&fo z0R7FNs3=X5X9ptzKL$7`@`Jj_cY{S0`4@15+;B;%&J90jQsk;O0M$kQIourKAB3UE z2X&D@k8*JZ99k-tLsfyp4rCAo{`SeO7YET*Kp~%}i=z$2p-Nes7=_8hIeZ4~FCjUd zu~KhAtbsl|IkAOn4;q&)fu$xC-6CboR@((-(FHN|!%2~}4GKGWa!#bRM;%dCJnNH(uIxeB#C{ zyN-_vS9cx%MEJ@hn;@>IYYl7^b{#u)?X@T7jzw88SWTb z+;x0X_|sj-=d=d{yV3A?hH5q)zaKEX9NdVnJwLFUaHuSxs`yaxrsEF)59e$;&YoX; zPGC3T(3HS#`VUPM`>Ul?Dri%$7(=0Q6=#?H)eNPy4ODZw;;LnBWSG^EHZzL zc=ycDweRv0+|AT}5pxoxwRV~D$uc)}=Eg5K@^Y(;a5$V1nV)48MqfwUuiu+*;%W3_ z5iV+Y5eityha8nl|^Sw6J)CxxpoG-NkA%en(r#uSH0Z$mULy8O-SkrAf zpD5bT(^|*EteRI^5L&Np^NMvhHZqfjF`k6-hswktj9c3e)jE2isS!aarA{@-Kb|Lg zzCmNMVG?hxHFqjxi%z2nDJUbrty=5Xd@0s)@(QsVm`LxS>~?W(y?Iq$weQNr_QGy< z+6&W6s2SQ(50%Is7yap^yCazPRLlLQj@H8b7B? zmcDNbJz4&t%T_Mg`B)WV-_P_z?0EvQZ#WU5i*fmI+%lb%1N!mt^Ak$PEPV1lB;>mb z@{UTplJ10jkAUx2!pHuLawcAf-M?2rI4*pD5H>q~4m*w18TU#0*q>3($eZ7lxz#>R zRoktjEuPcFPNDQ~U^q2C-!)BS47@O<@j6hJt2J3 z|4Aq>1AVjy(vUX=e76gq^oJ74TME9`G~}%Z-xA>)sovZNzUgW3Jq^B(q`~($@Vzb1 zS-x8d^KmZvrZ1*ZUyH#vAbca`qXB&1OoQ((@NG_m?-B5=N`vne@CAi$r1~-jeU-^+ z@J$2XX=(5+2j7sqcO%8S8GKKt!NYOE&Vlm3~RA!zc(Yr`&;n6oCaS8zL8I* z!8ZkbyVBrW3cfE3-$?a-J@`7(;JXie*QdevH25wTzLDzb-@tcn8hq#CC4296UCtxP zD+b?S8hj1ldpr%kyTEr}8hnp{?{jJJy#l^E;gf!5!g@Le4{LE6@}_}rn(zhP@2}%M zUk<*d!Z%VsW;6IM6Fz%R$+R0HeF?I zjV7Jz->(LJoZyG?jVuPv^Xbb0e-5}1@Hm(k&>wISAo~~$|Aau=Uqs*2cROGS;HLpm z-F))^DW82N{KlV-Kd#$&9(^+6KL#ZI9>JRdDZf_mn*>s`JsE099zKZtT991z$muv1{AK)*n*K#xF<<5YNo zy#hN0RtoeB^a}I{9K>@_;RW^z+?&y#hS~2k{V8c!9kFI|Wt>^b7O~^avb8U=?0qufR@$l>+?&y#hS~ z2l1S7n>iq`S74{WN`ZcXUV#8A+`Gs}9tvYT%9A=}qc?p6bmB&j$MprodC~n^?#(## zO~@h5=tX~w=S$q^L2nh@=ry-N2I)r6__%~OdgEUS-RK#&3Ek-RE*5!4&;6>TZvfAg zE{u!vjh>VG6yiqjdV}Cbk9r4aq?>W~FGZfwLzW2LjH|iMjQmDVo-gG$MdCkI=w|%< zQ%R4}o9_W1!y7#`ZJZM~dfV>`ZuFe9CA~&3{tv;KSGsTEVtAw1e?Zb>^z4fyJw~tn z7x0qb=sCC_iTEHO-E)E)JqOxEMK^jG&eoFO=uy~@CT{dHoZ%yG^c#@qomj9B@vy9-{>*<9GM=Y zm%K)BqX*^sMAD7k^)$hap0!BgGkRaXN8~qp-qn&`qj#k}bkdEU`v$>{Ub|m#qbGkG zIM{8+eO^wS-!UgX)?gjOKp679B`EJc;T+b;EZ3(HI&li{E^iagfWPMyQsQNXkuj16E7Rcd1w z7oUsW9k;)PiRCny%d&IqGn9?ox`36Xqu8QjPLu&-7`=(FT(oTLCeS>N;WTBT?PP>j zVR5HgL$9;p@^xgKv0?+b=63kI{Z!SlO)weR_QO#ou3~)ED?u|%%GV(|o>e_VR&P7a z(Wj-o7tOso)Kp(n*u3)QIC)8ysV4E3>OS(iR@d7nhJ3K=&l8HN)}iL=aBbMEdySHq z_ZX5q3cI-UI#^}egG&bD^F1O1%L}#+LbMl>ICwl&9ssS8C@V1W;V2ab&S3&Vo0p1v znsG$OLyex<7V~`E-gv7LcqLAYSbT{~hRa_yqRQNWv!X>k5T!;EtsPbmM6Vgt&ehQcH#+cIeXBE~f7SU#`z?YU3zKJNG`^Udbo> z;dFIKAH6!DNVeyA6h;4~TJKFe3v^yd2%ihncMS5NZla6Ha;o*-9g@*rk>`gZ$eCZD zby}?cr{10GxD|VXeY1WjoF;+3?F^5n6Dgry3Hlr5&=sUQfhq~*&pj$9>db<}z%_xT zOM;tT>xO`0t7kp5Y~|Lzpw+`|eAcf@t-q@SMHwBI600q)hk1`)FEXm5-4qr_W-I(44MR-;B9W!SFa;qV&eWmc!^y`4Ba zyJzgrP=0#RC96e$Fa833t@uCkGyH+!fmnuhih&yfltiq?%ijEe;@r@=n`MWCd==%$ zP9Oy@L>^_jnS`k^Nhrmkt*|T4L!;-%#&9pf1^U+Gf9Pr)gdEwz;=<|N*h7o`pvBfZ z!H6oiQtQyL+Wo3lOheWZ$fAbMk(~}D>$CV*kr%u$^eL>&90C(|Hg@(iy*gDr(_esR z!3)^k+4&gmu#8+2676^F2Hm~i(SFo;&|R;23tnKsYyo4r^<=5_3=TB6HXN|ppAJUU zrY^31#WL{r0}_k!lqbq^!E$;v302mkD@D(S1O3><;rR)xvkrp?pI5%+mGJ0DFe_k< znOF{ynUUa_fR(LEgu7&M^sYar)XG%L?!ES^Z9B27mlZgh_+Y?#CSW}mu>Ovt0lBl*Uu%qsO* z`puUT`?xQIH0n{Xz`XxqTUO850>;3XZ+9>L`UCh2^ig4=!m9&_ooBSGMYoac$VtJ- zIhUN=o*4;bTryWyNZb3TD@v_j2CZKOtlW^)AGdLl(aFOurFG|55tbA(@qT z&Rwex1;!HjjK!$N3=_%NV~tj&!~~uZ>=^^fctt7uS%x)E%Z!Y^Bon!vpK-}N2LaLdx9i~6E% z1;VQ1cY5OfPFz*E{J5O%i$JE}@;g0o|F5_%!R5#0bX*@Y376mLiTmxiR^syGa=Lqg z=v2n0b0_?nFLybxaihPx93F%p%g2w)I8<4sbEAB}@dTv*7zn1nQx5&dioYNC#?hZ= zv?b#Ig!q5!WW%lHpC|skE`P81-|O-}U;KIIn{kYnIxxmN8PGWTQx{2p&WRXD|KExK z|8e<0fQ*uVo+HELe^C6nx7Ro(AyNII|1U&7Wf^`0hafP~{%QKteGgZnb;vs;&(tR; z3eWTN=-9x)i8PJypL!#@8eECO^SnN~i5kR(KV9;kY#rwLLccOec`T;(>xcxt@&A=%9;7d1+nX(D4!qhUg2l?Drfi; zoY(pg7>Z)(J8mXj}&TEcllI;y2++{4pPefao9lE&*itiGZBnJV)?9g6VwV zPXJzk{q5AF;~VFD2oNmezYX|t;9nMeDbLKLUs{^-%|nI_^7$$Swr@Js|n_ z0aD(#1oGQ}uDx$7Ao=alj z&@a#{5I}`10^~C`<6UR-pw$RE$0H0?+u{D_-&?>)gyJB6}QdVc`r&O~@V z1Je$&|3=)jtINSf+_Zyy{=`jtGehX6o#QS#{A_n2R%l%Q(*CJMsHmIO~~{{)!8~-G%3X z*~!1xg>#Ljlm1y(cu&Y^%%I?GP<9M#4{bhLsk~hFXs{VEY*IrnM?2LpO6|5XEfh+EzE_*1j&jF)!_IWPr;=PT zH`cJV((#43;Y+0~4BfQTs(?0@;3$ulb{>f6@PPT?c2VpyN|b`Km5@L&Ni85%d)jX7 z%5_aRa6y+)RN-fQ9TBuNwq0m&vM{Vw=vu9+YDgg;d}!{HlEC7k zAWXnlgyth8$cu6yhLJ!w=gvqI0D73U>*;0c=;X%d?XXFL5)OU@7Iu$|w zQt20s9DI|M)@ug~KW%}& ziG~Fx-MY(QE)CijrM=TB@0orWxlnpAsPjY>Hbh-rKmA$zcdHa_Q_}KnX`(bi**NuP zhug;ll?JLs?buauNYSEL?ZPTTVU?GyW(zIT+bE zGpf>g-&oiFnJSe9PqA8T-(wvR&C!QLaI1&dELJB_4YB`}X#W)b>3)tY5uH2f>ChLa z6K;+0e_9Iq+!XYR6!e=?&>Mu#_8l%ReOpq{xqgW*S@<8PpkoZ8T(bRD+r(a)DQA0p zJHIRA4m6Z}ZHsa3rCt$^&p|me4tA_JZUA8w%wo{V^N1UVQr=y-%F^I_1bl^Q@Vx@Q z+%)*Ozv?~7$4Kd$2EJE>Ps%-EK9+;;*JWp@ta(m5VfH{D(0P*a6Qvj(KKpr?Qp5sS6_+@$p5+ObaI^lr8UV)tgD+T%m zdIbWgaCagw$C1X}hD;DQ@5^f-5I666wb0Fb``;4YyypSoH}5U;&+s=P9Nj&*h?{nY z&x^Qe$7mOjxM{cAgx|D-8$iP^>RdRVlatPSCw{(*-r~ZGTsWRhOnBBur@Y^|=vTYw zuejvpx%hXv@U1SK_1GETzq{m7FW{uJ?40-t7k;k`m%$<}fvTl(>L{{M#bQ|Yq+jX6 zd5bh*+4THbRahBQQ&SMC3d4T)%5|YIdg6LWO5S*qgyBF-1*ygf7|sxGf{WiF+i-e9 z!c$Y*fCGb+SO;5-uRFyKK0B%Ki(OV0KMb{(u5bZJbbzT=v*?v9iOMXQsXR3Tj}G|| zxqC>bz|%{IWiGR3TsGsff*FbJy%!pD?--{xh8k-MWsvF~pW?Oh z@ZIxx`KS9IJM`^{{|8-EGd?x%T)N{^BgQQc{+)(Km~6a;@q6NOxh!$H6ihShx?H9u zDVGey$?=V|Tt*tVAC-)oakjxtxlkTmy5+J`v)kkLTnM171mpG**WJ{KoC<;4kSC6d zIbL>-kA;l%;n1;`s_Jm4y=g5pH=$5jv7r%CKSK2yrg z$gM=8oasWJ!el|oOjZvVDf&a6ZX^OjcMtUm{3am0J#J_Ecri-O8%ug|m%dXI@_OZj z9zUr;6;{7QhiJ<5)blWlXGpLjh_NmQbVnEwMbJ)|p~FV^liGBlBI~rAghX<#A}9T% z#c=w8)x`K{1bsI;DRqtTU;LBK`*Gw?HxXB&@mZ0g>Urx#_N7vdPj;=aI4>aT<~Y_(6#BSI4Kw`$y#fJ9&%6w990JtQ1C9@h z^CzZUE)?9Pm;GYWP5CbY&c2UvOs@lt>b!)3>2=aCap6#=s^$0P#nVDGBkZ9Dmusl$ zp^ON7LT0Tjy{^$GDB_DV4VV5*x|e|RYYVzr-)S0Te%7MjwKUuB>HloMglMvO6JV|+YW|-GdRCMUSb~0dLp=`ttZFEjK`P|O&d2qN9IvA4{wecjoUNx654PhYt*0Ll zd8S`4=k0lpA$?A{Mt-XALJm4BbiL{y{b&>vy>iirNtsEEnjuxcewWBQEb{U`;C!4P z>0n>jkIwx8Kxe<6>Ep#}!3m_(aGj`&`z|c0P)X-3n;2fkl+l^63yz7m7aiSoSuU&x z1KPTDsr7uRtohZ!VF=r-U55}F7pD;Is~7#!;*!*7iK@gzHiri6SB87py+TE7S8g)>hbK& zRF+|7x%Dfv;J@p5e)g96%J<3se3UH+NWP>a`wnV@v-3t#S&WtEz1frJd2!`rPtFu> zy#ku^ktZph4VV_x%eCqEx{~-;RW1nLp9kDbhLQdY;yvo5BIn6TKhg;?sn~o!@I`A+?;XDCrq%2*p6m!|NXV9&!XD87CUY@%rmPg3U^QGyCCsoqU4 z!U`NvKS^-gg^2G2S=v)CF$J*ac9{0FCTGhA-D%e8`$*F+QG1fd`N`x1naaR(C} zDx*$0v!#lg|l#4`NQV4weN9_~$hAvHIbs)<>cZ z^=${jaP5Hjboi{$4It&Pyy(yJ z9RtXIPZl7bAN>)QZbA@$8OUlLAU+*&HfK#S%vvK3ZnI9*9g9~qS;qzQL$Meqct6ca6 zE}Z4<}KfNhBUbSxz>Fq9|3KTcIk9H3g-Hi3kaxt~ct}XF`u*MqQ z(@WKBRNArW>mDy49laPSl_Lr(XAew_cZRi?jcScH@7IUN?laR^nn0;r%$Y zov@!2@6hJb#WV%<5dVMbb2)WOj;F`(BOUe0PQC7Rz@6WrBH+%4 z&2h04cYlX`E_(DkQB>$w48SL@>4%?b?i*{W3sW@X)rE-8=m$Iv$D2xJ=I6NI$C)m)!*x+<$>(VqDd#}ENCd|| zEr9F`kJOHXe8Mhn9Iqa<9-YVEp0N0Y0oW$HU8?q&`G#}8vdV*HM3;hXNg_Rg$7Fzube-*0=j66Hf@kwyW&NIv*z1 z^v2+9pPcl|T)1hM7nfF)louDw$dB#3M!j7<*eJntV|ANL2_vmju(^;9Y3CF7XECca zJ)cdw)RQR>tb{U5^7bR*4kb&4FX1UiOQvWJSfVr z9zM>c>K`AJg7J!6?uX;;A;{wx3Ql6uNUHwvQR)0;Nha&iz>8=l0BB6Jm+E`biw2Ln z(xc;H-vlXfelM6lUVO%0Twpn27x%pgIv2BjVB|0p^kIH|>^UrD{0IjctLLXJSsilB zV7-la&GgmlxL4CxDm7~Eip$esKuFCFA$iWZtH+q)J~O?7xt?7?3)5G5qy7cOZ)UOb zz!aSl%HFKEi#cbp!na20;U+Wf6^-b&8-jgi&c+eRyJ+kZM-rZ_CZqVFa!5W~%`eeY zWiG*V(xLVoJ)Klx8)Z_gEJ=0qVLzV#%|ibN(vC;vaHgIaXsU#Pe((lxnf^(ZBWyai zelXQJ7-`Gr8@M>HLHB;-b?Bh#zZbIZ#^n{i4=Rr~eAeN5zv=5lItC>z1hoBgD=x42 zooMA-}}&LFI`UGtNb866;L=HCaFVW5S+{esK!= zv=nsKWx8bY7iw}+`i(+QHV$YM`b5A);&QC^Ha{uvpCk-b6@O7g^$lMhR<;>;zQue5k9_;F?=q2V2tm# z;Q6H38yhK|8K|RY3*SiToC3Za;Y*fIhNn%N(P_lXa|i#DM)~j^eLY3_Fy5!Z_loe1 zl;6LB@0V%BdoJFcpQRBm&mG*8M!XH+`)(S1Ja=$=8tHoke0QdiKAt<+og&^Q@IY7L zs|EA|E(g2>aDm`+0DbsfBKSuEF+btsx=8Ym2E@0{_a4fY_}>9B2jqK2aGu+QK7wzb z;5@HsD)0vcXTK>A_!k7<1o%nd&4RB0oD7_Gi}Du$P6E7KaMn$Hi+vvxJPYt5;9TcJ z{C_AUi4YUwE#lZGOi8~WASl8K&-z~>y)s*X`B~$ z79i5ZarroA2BI?ukzT?9fxQAd1y&053-k)~2pmLU6<%Pkz)pdc0{sHL0zCo;ksjP; z4hZZO*eS45pkJU@Ab<+THk<3HdU4UQo)AAO_~nB8@et{57JQrFTt7zsLBW>_&U1_C z)(PGzIM-BDk7)XPPY7=Mcee^|`g1D7Vg@AJR>K>|Vx?%k;l~ zD7fiwJt(;8UtJ;L*;dmv2yXgMD+M?GCBA=@Z~8}v1vmYnFY-+P zrVF@JkIH-yM;%q}G29b3{rOCx2ZX*>@P&ex3U2!MY&RGlZJcsFxW~_S=eY2nfa0XP z^}4hN;iS{vffJwO!iQY=CKrC83;%@+|AGrgTO1SLZ(aCzUHH{5{2dq0_urZRi-99b8luoMV3*ei!cXDX%3X)9B6@!q_cDo<-}s4mfjRu6lEC+g>gEW zVo{+KB-QrUV|OFsky&1K*RD1*s$0$j>xAeT2ziuxgJU#VnutV+7D-#DJ4|jHw^a zx*VgBGV{s?=l7qNd_K~i$M_Q3H98|N4-ux(trPi-Yt+&b| z8*|Ge-#I{!$mb6M&~{s8ne|`6$$LwC9vM9dud-P~YtF`wk}~U0hk<&^Px?MNht`$$ ze0~r&L2P#cIcWVxkxNhded*-im082VNIU#rF0)?J{`*w~2mqD)Q2DGsv_j~xmTP#p zqX$;}&nxYDjFQVwdZTnQw)aP6Ti;;R?4Nq{-X3Gnf3H24q0UAKMnbv4uAd$RpC`Op z<@Be_WiZl30cAbk8dTt+Qxvq`3r>F0?8mvis~hqI-6fv6om*$W2)<6Wq3G2z>zy*| zZIzi|6ypNXH{93w}cV8KAwd#ALY6^zW!4OagwXmvAo6`vTIiFu51TieEP+1CwZpV7GsI6$uk+cfA@z~7R6hQAV51uj3Xd|X~!IoW4; z3Z4yG+Xlb~z!F3fba`e6t4p&aLH_PtEILUSm{6H{e*F8@KQnn8QyEtZSu1dP#UslQ z(uCdMbIRlSnK$9ef1mQ|T=Et`7Hu>8->1BwOI{gd(dB3m+lYzZNMI+3&is~(Jg)?b zX%t5iBs6#VnIO_nc04IfG5u$Z{pjN8rd}KdG0{Gx3<>e&B=oNdJz4xaQ_vqyL4Q02 z{TZPr%ir&X?nV0H1k(ur-%BC?ba_A#9V9Ni`Bo;=zaAEQ{^mI(TW9kN;gfvC=_98g z{svq>6h1yL<%~YkWyhcVcjIahyZd~8$|d2S2;$SYekJ@PrT1^(>q~?0T$I*5Y48<; z@3U#}aTljKmmpa=F&}qn0={`^#QO^PE)hPd2XW756zU236cc^} zUflYg0?Y!=IMC0V@O?n)hrS7juFZrlK4Kie_XHsQ?-gi? z|IGq(0T~bbkZ=T&o{AiWNd^h!X|mjRNVEB@3U(LW0i zKczn+{{SMPe;*+II{@k5BK~#apC|ra@n<^8&-n1m^b7O~q$m9cHDBg{z+Qo!0xJdj z1$qSnsPOv$xsJ>9Yq@rW`UX>vsW%{Q-seSvoAz(I;HJIfcaQQ8I7x9@W1iIhj zBHk_da={M?jxts8nf7V2;HEuVBm8+NM7lXh8}$>$oiDg)UoRDWr|>Kg+_ayg1UK#F zS%RDP?HB}0P!&bMg?n8%d7bg18im^S?~;sHr%jC+uhy?#Q``DsuCG3Z#*5C3GY$TJ$E~d#4msp`(O6P9 zjz*-Dz&MOERK=4>Q7~Rq!x5&%03k`uZ35p-tuG1m)f2wioL8ODa<6bE3bCD8+x5uqa z7%vtri-B$4i8_wia8zJ)m}3uAVY)rH#QH@UEQ?#u1+Df0WygJ^7Zwz7_8@FTSii&~ zw8M;0tvGudXVrlSa|U-Pukr)I$Y`9h*M36!c3Ix0Q4&lZVzIgw9FFX80XTa;A z^7=TuvT!E@N#r$eC`ZX28l?cz^%W+(;Dz0sZ|`S=%gHIM+8ZdB@i%y`4Mxfbn1<1e zI%u7wK*aNwKO>`k8WzHpS+Byf`~i^}zDNoq80n6gVx@mQOZl%h|hJ{ zS5RYd6@TJKy9^H%Mm%5?BWB6rL5$i__NS=iG?YbJI&d~(_U1;96h`1b_fDmmli z>@7@RnN{1V(y10E;=%7m>WoE@HzWtyn-{}Z9d^k%xM1Wne70COh+K9Ct^XXZ=s3d8 z56@s+E5g46;ijUf8nsdc!=8lL6@gCU2!aM+T2N|~BOkCik-den6aP7Tg3NAR;%l;9h>oX0_~bw-SE0c+opXOaZ{ zPn~?^QR!ZeKuxkN`e=p+QSo)P#LLqCc`%n%4>%H5@RStY##KYjEMu;d#Oaz_jdlca z4^1-J9x5|r;{&p}MatW!l;EVxixH={I8w4T*i#PEB&zTwmfN!QBFmvuSTfP|rw+p% zj@0i}p^TSOpW>Csbmn&~)s0|M?(MK}rrvRmE8XNYd!C$gXbC-YPodH;dy-O3s`K?>dHE|jk1R3l8Sebhg+f&qe2XY5&+um_D|0u4jXGnEM@c zJN!M|_5T2Wfj$nBRVfq<#2mDV4FkI4QVj;}q`!`rFV>lUJm(z~=_xq=p<}ZR7Z?7p z_$$1Bt5yUXAL!wWRa*G?+QZDrf1H#AhQ*H#gPlMt2avlTAQ#r#g z_GBpcZ@7G7Cx+#!oZ(B5-ihFuDCZ-voMZSMc52GN_i5pi@{Y^b&3GPJh`s_4SsFhb z5I^5X@rOQ^kNYS-4!8>tW5hY^Uwj1kCP36h-x@%4?R+(YUnlsPfMekQchnbj*?d0( zWca%Q(GT=>0#beT^RB+lGBmN~o@~s1e4#dY3pc#IQ zz+WIU#GeGD{(x(Hu@1y{BOuci0A#wTuOJ_F8*sj_075_Ds|Q3~Q1)@q$M#(bJQr{( zAbt~G1~bd;03bw+?*_!44PPf9#@IgADb!_O0Fe3(q?yh)h(CnS91z$muv1{AK)*n* zKmZkv`YY#n{tFOB+`Lz2ylmd%M$kB(Ht+p^AUtv7P&NuT@9nk1Z{G8t3f;6Te*o?X z?pff%XS(n&gW1VH(M5mOMgO#m{#h5DXF5CO@!fIaTp!`YLoPbkPdVv4*TRXj%jLv* z@5DE`@CQJ2(lcFnu?wf2CMUlhAuHqh7`fK3TBkjV>sQydg|Bt^h;iNO=9YD#+72gI zDQ1mbUTR9;_EXY}mM+r=8*qp(!qf=}#2xXA8l$FJzDa`HT=-HoIsBXnWkQ?@TLM<` zTf8{rKCh2QC@@hq?XGkBVxn@()3}|ZWR{L7!`+8mxJkhXg2W1OlOE#Mll zbj+|kX`n_u8gqo6omgf?AA&$HDd421BG|!{#M)I=?F~k9h==1Pw~LfS4^l9VyAbI( zZ@;$1=s*(fKU8zcUQ}c_v{@sbQ+HGZLoWpxwXttG0cmLr^;WzUBxxZW&NGknD zHwv2H5Zb$659ri?@EP#pqXOA}Cb&)8aU>HnIeeHwKg=y;Iw=$JeWvrP{}caXxLpZ? zrRp#9I|moj^wPtu|DK5ZMEgpL$OK2ef9@}T|8_f;q5L>cP{+cA#Un^to`hO-}ke7jE{KUl%N0TvoAYQJJi>W5c|*uD-RQrMVf_?^kIf z_)#wTW|+@Jlwdv+c3@l6F5iO28hwVTt>-?W{pC{&X4vgJk92L520l^y-p7o4alx^D zpXn?Jgz;i~O@B!*?$UQ`k8yYiltin&aIRY}PkHxild%+f7o+2(9gmHCl{gNNrKrB#p+Mib|)nl@4hx()`G0GLV|N zvu1~{v|~J}liJTW6>jb6WA>oZ{RCLuEQxFu^Kg{okMYY@U~B}3&w}Pf=do*F){O~r zp#x>b2U6)x5=fmxs*=R z`jAs410|nhpXb@NF#~$Id0FAJ$|Cc#f|2WRR_nL|tTKCY#qc0dcx|Lt(0ab$S$HX3 z;s=fuW~8AIH0jQY7E^+B+ePsqr~5=>Wg!~J`RGL7S^Cr6i7U}}dXPjoK9NM>$1}5V z$>>zQ)3F~0CzwX~zg~Ri;yzLQ>P-S|8krM>e=|k+X?(BYlF45q^kniMOc5Ts2<4Kk z&oSqQnsT<+=Q!*m7em62MW4mzpq$ZDIrafIfZ!E31+ zdGdUs@+cdQ{kKBBQ8^Q@1_b+ry?}VezIs6FwL;=wF8&t-l79jq+yt)wApZ{#nEc-Xr2lq6 z`gZ`12W$nT{)&1ee8+rsfYi&~Byg!fuG^r#>>@yh&l3DE5K8>lfYiI~0Xzfn-vs9b zCHm&R+XcT>=*@yJ7y4YmrwILg!68e9_ai?1KJ@cKzYY29r<(Ws$AX*p@d@D6r2l)N zfZ)Urx$uQ9{>xnSuek6Y7f#)@Q+|hwet`?u`W&7Ksr4$JQ0r3h7g=bvUSB z3fr2Z_YJs*HmnLZ0JZqgs;Cb-^~5-8C@QT8mMj)lM-p^c&4ZzU6HTm6qOXq0D4Cd9 z=-uiOS!*qnRB_RTuq-EBi&Z*yu}F%IKSS7&$8)3n@mxlH3-^GguU$1tgWbf!dBjL1~uojNI)7Lm72>E}f z9USj)9S_?Sj%g}zIUN(o3+??0JNAB~XRGLwOg6p7*2yv1iz#g`8JX8LE2kZ+RMusA z!k3p@PXyEw4)oK@te!k{>VpyPI>flgsf4sP1Vq(v7q?1iwWK#LQ0DcFX7pho0DYfC;- zR~pI0`Wx(1=*ePQtC7wvIk@A3fU^Q!?+&-;U^9wJ0M-Dh)d(gV;G7B0?9G3}69`)O zrv+OKu)kpQ3in5*!2!9X5tAsLIS1P%Y zSSQg8D4F(4;j12liW}*7M9-z2f#H3{v%k&g*58i^SP~GTQqy%Tkln-OpvEIueGtdA zRFDPP`H9~=W<&2fc1Cv3Yw#_OwC5PlpP*CYnY<@hy{D|FX4E$04OwM9kNP1?F{s@` zuc~NOY4xaBB9HO`VJ$_$v*p&Y66-HgO5x?oxK}g*I#s)!9u&QsajP(aN0ATD&_vX- zYTP(#SpaCDkNOjIaIM>$a(=l|MeyS{2R4D6d9iW8;!sIB3_Db z@1>?$ul7{6wbizU>zkXrtE%c7YHKd{I=)1=)UFFP)HbaS*X8N2*JSS%bG&)@giq$w zO7p5bd@RF_Et5wUQ@@n$DlpJ3XiWaFR?8Q&N=_P9l2 zVgIuj*R{gOc$72ajEdNEUABVGe)neq(LRj-jKHw?-z<2wK-#Nde|s??``bl;Xv%$) zh5j)>_Sa7pcnm^`zY2&?nePce_NTuKh)McJ)pmMi9#R0I|W%0rwM4lG%S4eSe-mdr;d zS$EoFCxy}7Li6EKN1{&;A#4aOO8uJE^ou{rCM4_dL)CS+#B_+G%}|WD-K=O|Bva4# zvH{ciFbaG#FtAU#F&;Jb()E@+>b|(0NsX#(F1@~@1m|kwc~j>Pp*Bar&T{&xpndOFizHaOZEwl{p2 zl}mU2_jmH58hO2FJc5*Pg8gqJ=PDh&XA~MAr$d_(<5Km%z03?;r}{^lAP?=4XAq5< zNR+JRHrTd0h`CV+iiJi?N0>_Rb(cqw&N3^yf}4xK;Dyes?%!=^Bz6+1 zlIdsplclG<+a|ng`)zY{UtfiCruG1O^~^<=@b_A2%4&EHgzl{zyhJD^ikUWlRK7t-F2`p|Nvi_?m+O>xm;>Wa}AA^Fw-+z>by-Y`=ut zq02#i9f@~P*TX;1M@{U|Tu`5hrQV{b58&VAf9QO0(cqaw2KBaqz8@GaQziIZM=t+5 zY@WdYKFEjZ+Jj+AEqn`_6jmiufjG45VynV!4|=d~hPHTQ;gzMd{H)iTgQJx5Y#3aR zRq{%!e;J&0pnY{I><|>gxCHpu+Yju?p>|~Lmw1tN*6u@o`dOrbzWpX^Xs1*G?2P5o zx`St<d?69b5Il#@g@8}T zQf~tq=sSvkB>)9cj0O$r0-bJAgg8Dsj_nw6=cr;Zn+Hi4FzlKM4?Pl6-%F zFv@!le_4S0073FS0*Eo}oCm~zJ0QA*J`0ffSpvv);pK&I;oK;~zX;Iz@lbY%j59PvL7VQ{{FKy)d6JpY{K z-3rL`)d6B0?yD5INT6RJ?b4CXemo)7iPT%{1LU~>e!v{S2%s16W?-LTC6zE`F|+a?<-COrEwPI;bCusl$t7NT=$eRO-j(rm`+JQSy`0kOl0u46&*yuzru18M;W zmQwlQ(4%r8xmKV?=O8&B8LJ;zQ|MBWXjOvpW=b5&6Nl`owx)tmxH;5Pg`L~68VPE2 zr7#@p;$>2kX>u!8Y!!+sh@{#R#-8>(r_9MJO^aQ=M$Zy0VB=$o`2DC}m@X=ru)nG9M6y#5h>TNyYS5#kPaH=DC;j^M#y80US>*?6e(|PrGgn~Mihy10oS77Ae8=xG|M{qh9 zin>`n;`-2S64)!S4+4-hPY{3de#eMRrLWl~a)JU6i9A91&8ai@goU{5wmZ>$sgzSM z;BxRHeB68~)5*&`6Wpfl>|rs^%dvhQu>KELDsl`fmI%6zWwu`&9fV=zgniyG2dzDU zKE}vF_DzA1Uharac^>?9ul~!p>%SR)fj(BX!?-+s>{yy0d!2o0RdK7yV;rAzqVp9} z^yLSLW7HcVv74FT+;K<(`rYcX#W3bJHmbv-3M()j2zRBd?V&9S9L%~B>(?x zM`DU24*77~5x#A@9od09cRNxrkhl?Ht&M3!5SGvRgR~>2o_tvC$V8;a*^Xcg6VooZ z`=yt==t?2mLxy8IZ-)9r*jezLY*Xs;=c z5t*t#GQbK3my@O8;g4u}8awg%BQIXfAOiP7owapTY=4C5p*x6w2_s(IR$$gXz#*sz^=!loIV~C&9z+Pf|1fX-i%r?{F0L`M$j_1ph)(n zw|C&33Xg_4+PA~)r$y%HZ+WZZ6l-mMbQKw`vY=Bm92p%s2ML)p>tJ{eIy>v3_tA~i zYUHxN7Jq@hf5HEe*YQ{I0;Xc1`Ftv%x;=;C<)PyK5Fl(6sl3gAb(c=yOw}i`OltTb zZm1MLKUOs52l}qX|B)}^4=QIB{7OggLd2$mPp0sK7bvm?^llMfqm~xE1toeGc9x*a zHar-Jj1J63_s)p>1lZXfX3#S=`|v?!4XNwcN#P5TtlOa>a^(0cU=H-Hz`x2}!3)Z2 zlE_!j$$B$d0?|D&=Fw(5((in_k!)3Dv&Xehh+f(A8j)Sn`3&W zuZLdjF}@4^cbFoekQH1%w;w)YHTd&IS^JB)+(MU9&?@qSt^NA4p6QoU0$=pq>?!x7 z>xS95zXbZe8f9ie`@d#zHDQnuA1csyr(waPw+`8xhtz!K(d<2ovI+*aJeBM1hy$VG=LiZ_a_mt8eDe3LG*ZjK1~!ub>@Of$X70&OovJz0rS ziq6+#VCw%N{sMh(;$La*i({!@QdGV&690=*n~)D(?uiXz)1Dfpm0@-37xu!sqye_vi^ zwV|HDh?}(_HxLP>p6UJ20E4f;5}y{vtdV(6FnwLl?caE?oUjnmk zd(?B-@)TD4_Ke+^W#axBd6CCMeiWA0BX-oNeG>#c2 zj=8Z^9S1Fv90oH?bVVCBwSXDh8_N%B(_9#uD;~V13hJsCu3}|du3p4f`)|WH*!|M_ zl_fm9q<=ykJXmfGs?aE%Ow`M~p{XdA@1ZNDAITmjS--SpCQ+t3nZ>-x3O`^S3|fET zj9;|9SFO#`B>}bfW!7ckl7O-?X8l7Y0yBcLTQo3hU;C(HYqnaS`UyKZzhrXsThV5c zgEt(u=h9X zbCXURDsXPJ3g~zJQ!or?y@@YdNkM$C0$W4z6hT2X2xM>H&&A%u@t-Zo&0Dc|(^Z_~ zX~)NOeqOK|ts=Tk{w&?C>KXeT^yzd~e$1@=o65?4(L^#l=a!O%Uu}o)WBB`2cy10; z#m1_=>8guH2!F91{vn3{z6w9!3~yQ|T`rgFowce|`uQn!*L*A^Y0Km5fijW`r>4gf zlu_4JneC%kET%BNiiGOISjWU{REgmXm7N(~@fZ*X8HDn9(!(X@k*mi2x{*cjV=WE# z2>A+s(0qks^Yu6?fX-J3^R-Fk>u92Ug_GrL`2n8SrmH9*Hfw*xr%Y$9 zi&!X|lY_l_(jz1*FPxIaMdBBQ&Gof{rKX9wTbm}+^7ojPhK`a4w~ zIWTtRQK8bGvwJ_W6)rMb8X7i%s@KeR?xXm$?Sxd`k41GJJ{a6zln0M!F9{7WUaV+0 z35ZuUVA!gz1}CSZRhdZvC+jWgXePO`PNhk;oX!?b^)YC7(t2KHM{xy=wSu1M^AHm0 zKpzvTXQv5E)n9Q&iH?yo%D0eaXOxB&ZC>XN$ze2s&$+nyN}@eb`C*w*xi4k%m)&?Q zI6?&DC^ZIMu@}kO#KjF8*A|*EpLB%zgc4@`C0PCJZgg)vj$X-%+fG90y(ZK|N2pv0 zwHtjz#KsZcirY>J?jV1R0-c(cYEOmI19=zJuJcrA)v~_lG+k}DwzbVOsm)u}u)4Xm zK3v!6yW|iw)U15weOFSh`T^TlzXfbf1WK#7e_DE{@PYY0{SgNKVQSR@LPp` zB`AsPMsnVq?i>x`!Vij%Hwm4}eY#I+5EuSaLZ>b$QT%Kf=pMwCX#f5KRtq?&S?J>A zuM|2v3W?V5Ou+YojvI~=(J#RFk!~ffMD__b3q6_qtN4wCtI;4Xecwt!AB}Dq-NU#N zrSB1;pRKs!^M6q2t3Xermz|NN1M>MK%3qDpF$SiKOMi>dIo40~e7NX^PO5rb_|t^G z5Il*V|FRU}R|?(FND`#)ne`t=*i?iEA(XPpCS)-hK?pKeJh2|=aZ;@>=Jr1`KLjJMR$b;aq{O0eG=%2 zaC8~dWgnmhq_+Jxx5cEXPciK1|Fj@GJ&_9(#evi<7N$CAT4ImJ!A==Jhy~= zv=1^)_|#klWhO`;?Sot|d=I+gb=X(oUc48CPrg@Cc@l04;B(;nneg$uqMV60!8*?j zd?T-UO_vY9V=?@$b(<4GoCf|+zOMQCT~p4;cbxaW9DFsxmnt2UyA}L@7XBI$YnPYc z_CD!MFZ3;WzJvJATTY2EIeW$M2$YMy_k! z0_E0#f83vSdgJPg!!FKN@SQDuV??YwewBal9h3O^-BixR@2D@o1z)Aelg~t4eWARJ z4A>tMzJ(&rj@R)XO#xqB8uFHc?`q-m8+ps(+l}?$TbTymec-z_4Zf$r_eJ63_e42U zE{=Ts4Sf5APri#D&w}{$or}KNGs4I3V~jky z?<3$_EPNy7_Z9GM7C!k-0c>KLozx!YAMJg!TD3@Vy{>artn(AMb+iq`&CrA>U^-gz@Q{h(2(J@bNpZ zT!MO42EK`D$P0t-V&Svfg9Pu#-Qe>HpM3ul=64_X3WYCV(pMFqkJrGrK=`CTfDP@j ze4ibs*HdlKaQsri7YUvZh`Q@LNAPUGV&J0zF^BAX3H>27yT0FQIR1x#R|3CJ;0nOm zz{>$o2fPvxY4%M7M7Z&fOCM~ApU;w&ldl8AQaB`I3UCE z+*^kG1|aI7Z=?9vivMNee*qxF{Rs^v!yN=tVsaCHQv0tKk1RKtEsuAfBP`I-wT< z&INuUAmyD3NO`owNxnA(J`Kot?*p6$$U26k`0fH^xLW}kt{xC=g|7mT{FeY?F3NWy zAeMIchVkx@{||uV-!JfM;=f7oYJnF6GM@8vozq<^Ns|5Rk~1Jd7%@&YN7n??u+b-ptP1ojGKxshHe&@a#{&?9hA=R0#i zV6VVVft3RN0=)t~0tb;##xo$WS74{WN`ZcXUV$EggUFN$FR)i&r@%^qet}+r9)W`h ztilWI71$}TQlMX;SD;7WAj%cDnF9iQ1$GLo6zCV|6$qfhaX$_BOc?#oMYtz!#*KI1@P6kr{o(c_>HXMn6)4d*?c{PYA!!Z>=+Q_|t_1->Om1gGdj<8-3HQc+SL) z{^R!&pBYat61ve3u#ZK4GoC+3=te)WO62n;p{o&oqd!?G{6=5WBq;07Y$& zvRAt+O!0G1Q7o;kHjLd#4Q*Tx+gwvy)6%T$KiXlDg+%nZrHf$2v8I-`B1;y|FI`w7 z=aZ;txL?ar4BRTD?9td#+iI)ZF|D#Lw6Z?j=HPUp>fjZ%Z%R+dL>KT^H@4^vRc=CK z{r_d}ZNQ_duKnQ&gpepQL7}D=>Zqth9nJ7ns9G~HfipS*DxkEA0YV_Oe552%tRkTS zn$t0s+iEZEwcgxYYw3I2EB#PYYBd3cfK~x}EsD2|{%r+ATl~VP)x5vo-fN#ZbLI>a z?En6s_kG@XKgq1K_FjAKwZHdX`>Vcw*~+EziqUgCb8hFZrK0W7O0%2QK3 z*q}}=)Z={ILRzb}C|r@bG*HFdP%&5n>Zw(v#YLX0Yls@p#v*1pZah`tSi8O*KdI|_ zRQQreda*2^B{nJK3Mq@#!sW{r)~nQX(K2yes49)P&urOBx2=k|u{AdX)qlCFZdILJ z&goMH^!YR=DjIbvfuOqPXk^}mvdLA^IdiU!PnkOhXVjcqKPAU-icgEJRw#=KStFw?4T)$&^-W%k)?>ZEsF9?M25A#XzZ1V(Z1@d(-hxs8bJSmipu(s+}}lD z*l!iw(1Z`O=ZfbDZ^PTGUB&{tjH`RGiTX68)Aox&c^Lm{bH(krjRZH8Sjol?Y_-LH zXyt<7!2GUe#q)3WE@g?W9*q!!yA2ce%ZX%#-g&EN)jqiEqk6B`66`+t0lYqr*>2#m zCHRpuMHk>x_`e!Cq&6PjmQEK18g0MSMF;j)^;=f!2=4XA?K!`qE>bbkTkd=|>)Ia} zdC$Z)7RsyA%(ds%d0``MSBI*{)nMyci5>+ZCtVL9?!w>0&{yDoPL=tt5c_sYW< zK90WLXT2r?@(VS2AH!3|=r2XD%e#FGp@&!qh;||z1w`2lbFB+-1n>7ol?b0A_}{^V z_$z>P?*gR%p8+D%!uJAFpYk<8)T1yru90pzAnHQ+20)bi@DxD$3j?C6ghPM`g88oC zd_c}COgt|VobEK=!#|uIv(JOi@ZiwJq|s9zxBn3yoNjLSpL+0}9z5y6b$1cd=S7`6 z1lWCx-88;5aEeKnBKV=5T~@V>*< z-l0bJ^Q+=(g&sL%J^wzo%>UlP$i#_op<%yQU$by|_I^)oI}0H}Vc73+j-1U1v zHcZ$PHNh^0H+;f;qkVUJr#rsPE9%q>;oP)+AZ{O&@EYb+R;z0YlNBvjCr2JOzOP9R zISLL8Odj*be*LB?cK(lXv|~iP@5#!^@7%r@7q{V#wjN&o*7M2eZ`c%bJ2Qe>yZNzl z2&O`DC4^jd#XHpIant;Kbp%WwAz+GPFZD@uQ3${>*CLPo`Xk!YeBA!1MEWDcCs%*; z*&O}REs%%(5cg29KbZlD@)y1oa0vAOd@q^(%U>XKA>biERE2OSApQLakp0W|0a3xi zJa0v~9+3SO#{#6g0+9XA`GDjb0t9QP|Jewf{f~*)RKWq1;f8lOJLYZ=PB*tZ!*$~v zsJQX7JUHX$cHiT{mwIsSGjY?u=)p5OiPa0CLU8mx75YSST1O>z=^fQixAMN`xstWF!NuFS~Lv(^cC8jmvYMoxX|5~5shVt_7FktOVh z)<6JW=P5SmzY|Gi8QeG;PCXZ6Dwu$LdMfy3d~J{7C)$24eif4*=d1(|k0Jk%QpteD zK6IEmt&?$IWZImKTF{JZC;}}1e*L7W5838rrXMu*CtE*AeaKMsJ6{4sdAf2TAc|m^ z^Bnwz`K}i7-CwU_aUg zIoLn)U992YjW#J`KFJ{YkM{4Rjkh127q_1_x1f2hk=|W#C)ua>qih#VFJ$^GPA7N4 z9zCPznk7)R@xuMa8-10;}wvg=d-vbI)jy7#P&P?-rqGKn!eYOwVyPbTAMGFct_h9l&kX)?`^Pn?ByN6n zs63yd#Yy&$hEIv&76`PVlDSPgyT_k+%Z9E@Tw;8sBRclt+D7YQk(1dXr$8*l%(CUPj=+&dun zwXtaZ@UTlIZWY?V3mpLDS6*QplzMGhQto{P@ zB4_&rSNjvPQL$L+m%zQyW%IX_`{SkFOy`QBBxT)@7Kmt?(w zvX;Ss^Nb_BHTdR`c3WAh=;IJ`?s_T)a}*p0IfX(%Nm7 z-MAIYs}I3H-a3Ki`q}Nr;7z5i8i(*Ab_@`-MG_v8ja%h<7=5=ZChoHn$rbHU8BwTr z9kAXT+`v73@w|7gX^s65EH?7-nyXufv?c8KtT%0S(@-Xj9RT_wBX@&fk}qytb?HB@E(_6fJlGh!Ilm>JFJM%5mA$ zWbB6>kptGd?;>8mL&h;)ns%^3#n+6tjnzK!%q}oxYvc z{Al$c6+0{%KHlZ{(=T|%<5-O0|r#!z457)6T_BgSEPsH3qICHtGG zrK*%+eg8348~GD$=U_pRbD94TR=k&h(8A?CNxXYG*f{oFq}4XO%c{a~(rluN4f}XW zNTokn<6449Z(r6QEd*D~)(>8$#*SRbX&rL9WvkakE!;8G**!Q|94qJu7AFe!1&ikt zbO(!XEI1Y{o!=BJy@$CRELCq21xq*1VxHTr>QPTNSGB0=$V2;{LO4V^l0yn2cMeiS z$UdvNx4iLaaE$U59HV)R(HzH+dBtV~(h)4JYzvmo-IlD}oSb_%c$I-yEIGF$maKUK z!{@f-+WYYY$~KJBe;G^8Z%@wO8cVL|O3p<|zlV=Jrq#B8lO&9Jer()FPtX9 zB02Xb__FY|d*dbe?Zy9;*73tScMXn3K5894G>*b+Kh%qi@7z%oi=c$x(+#9`{MgQ2 zr^O=A!|@>SSnH5aL_0fAk4E++l1jiStwYZ2>;#uiq{lIO89rIDz?IJT940>Gl+I4D z*dJ@n9~SNGfZyI|>-bNpp#M6hb@-=2K2AlT^@_2$Hm-9ws1efeGozh5POpf(7;PO{ z(7AK)IQ2*?q#oC~t7zOqj7+R`^rxepPn;HwJP~cp9}niS$T3`C1>}>R9fKoXkgl+^ zvnaA3wV%n^nxEI%aa!b{JXZ^mnQ)2-UJ<8OCc)I!k%b5_^1+nW{DGYvMUi8%)+QIA8`sJ-tU#cMH-tPk9gL%$ zI}xepaP1o^)AZKimm-#fW8>~&@=k9ZJr?nS&mS`Brng=)Jlgpre7-Ziwc-3gv~w3y z@A+nxg#&^cKMNYP#4&8A!L+L_W>;>r*WQmew-{A>?%lY{?w2teg~y)XZlko=E4m;o zV~pl8W;Z@^xEEiHm|gLcJoQLy-aT`GwxdxGpefm$cc(7(YzBLa8;?F# z4hQEs90XbjYSyFuhwc5%FXvgo2V0A2mDh>xwjgWqN3bOz3l6)nuq-%iPGKlGEKyh- z9F|{b_3f}Ozb8ZF}$~tpN06%sKdQ;|$l0Px0U_9=yzhFY(}b|3Ve5Dcns zKRVw#2BidzneQ1KW$I(CE50N1GQ+O~1!XD&ILY~*;bZinqoBlb8DHmS{k&e2Gs$fofzPAN(;4jdHhU`wr=$`Lsj#^I2 zsw$?h=S47)*ayXbgzA=qHfwo0w$HCCYE+}%?{Xtpq4DKDq>RTxC`Myhp}!GZjH zIIrUgD?Mdth1K@&;3wKX2ET{#A81D}*r)eB?rdio_q>@l1XMv^gSY%t=s{i|dZm?& zS`2S|^KGHR#_CEu#b@K%*LRLb^9MBE4k1+c{0gRumG&{k+u7pM*A0nAITGE807W7y zt~?SszIMXXVYJ3N8p_i@gFM=f6QJUWeMHY5T&`NIm_WMotu4GFc3OOL{^c>GnTRoTG+wq~pjc@Q&kUMwLEC7Ba#3Ze+Q2gk5yj9Ga(ds2H3;tS&aAskPqmq*Cj|;#)_Tg} zXHzZ3Wma=LRmOpa^Vue#g5xqf2Ae&f)}fiwsgeYpO-*sK2e|ta5k>q>uCmFUMpNGjOOMA~to7F%dxPf~_)W%vi{=p4@Qz-OD z?MjZu5>w|JhvJLULnpZxzYwg0fS$JFBbuBUTK^s!g@)mP$mND1fQUkH<8R@PO|Xx_ z61o{EZaJ_B-gPdBm3E0b=M79-d95J0ftucA052E>H$JUAzpJ7HmDX^+)N9s68F;ty zw@%;hUTNP_5>M)_MkYkQ9*E%I=-b?Z4+i{i%0jbL!`vq= zU%j^$9o-Mpz38&l125|F#XCw#(98Yn1DU_|?Iwa{0~p?&&443fMb) zn&F3UKDtEwuJXeJ7Cn2-7)uZBqN%|Zo}gIIY-HWLh>az3qw!i?HXXO$RpYCbYJA1( z{q@L7za4?lcEgtrjR8r5gb$L#_=o>~e-ji;Iz?<1ptx|I!P?o}xM$PnjE0|)_%C~l<*KjG zHP_e9|B9DIuR0!M`LhA#j|ye^T&bz|%qh2bBLH;BNt;8VLUe5HmP+ zzY_WV4)urp7XuQ%TJW&~&jO^Jr-=J8)JM|)7a-|>E%=p!pC|Y)P_OC!T|m;W7q|?N z{JtRWSBd>-!A}wV&V22EH6Z=-z9aJM!B~Sh^^%0Y1|+}#0Hizb-Jt!=g5M}O*FovN z7m)5;(#TEjlgk$4F5cFFB1E|qA<|^?*Qqa^Hkzf z1aATz{t6ZdEEgCONJsn?bc3F-LtvZ0CV>kCmJ19C1W^81o`Yau+RHho+`s5?k9+Ve`-9YmAvu)cB9UWJS?%gYzMXJiQpEqf=J>Mlse204Sj(Jz(Iw^|)l(OuU8OO4WrL%6 z{8)PGFxopB!>x=M(e`GnWFn4BDVHlS@x+iCk?`nd-m~O=)1k5Y>*6 zR~pM)dg{aI7idD_i~SS%8G~rons35f`;xjK#|Y4spi|>G0RA)fC4q!(?#JGjqE#SP0-O0R`h(!$d(dm83JL5-E( zX86aEQ~e+v?@d@5$2&qBk2iiwvBpe9O^G*x%)&_(>UQBDy7c`~dpFeSlj6zGX-eLL zi0RvfnEdeIl@|AISc$l$_*9hot-JImf8c3gx+gv5x-{j9V=ZX0TTgotdF|pJ1xd7h zvLWnwAf-Fe4K#dJ1cz)CXrwBM|}-v z;%UF*Ylct0#k!r3I+a`1&m{9(dIlz^TkbbjqV}_x)?2$Px*3$_ipp_y+Gg}S_?q8i zEEe0DrN3hNtFU`3)Epbj(*} zeE6|Co+|Ti$zRmc^!uSH->dlli|{)U9nV}mD|9AZ{P^*XnO_SX^IaJeuIs*T-UVRj zB>#Qo_=fn{Roi!S^@DlVzuD&1h)Xsfcv?C$kXssh%@Pb1_-MWYW@p+rr_n` zeu3cJr$qWU5E$uS1|+{n0Lkx0K)O#6_a@Ne?|*z=zZrq>jH+pWZo@a{&89u8qg=pE z`?EycO?&vJxSRInF2PNE%JNG8tME@lK-{!fPYQ0@7cN}V-PG&L1qV=u^KiPG_G&o3 ziJSIy0KW0(nA!Mp;|o3b&pkNbQ*qOO-h*G}!O!&gcTGQW2DS=U2c|BWP;>S4ld-t+ zVQEdqG+bS~nX;cUqiTA^jHy#_ZIJ&}NQyB}?(kMbhvkx0E@8B-%ff`=vPzv8a;Dgd zs;auSruxe+!a991s@Ga@M_fv?a5e78thpIChC%{HpsIRNRRb>Hs9(OY!F|zW>P)T^ z8y_pC=`#1Fj+9w*b;)OvqIyw4hlN0qPaj7Q5E&0mfI6Ur^GQk%z!&URftxmddVsB{ z;DL~K|0IB!lWUvw-|n+D-bFt!2Lo1g z2>GUJE@>=t=_$&nRDjtk1BG5R6z=ppSv|$E3j=|b;J5G6K;TB`JluMUL9pk4IsPl~ z&)N3L8a3%#f3z6+YPD|c#WFDt!SvdAiJPmIm;>}RgsfJzm;W#=Hg>GR!_vyl)|VXi zgk^S^Xr(Ym6-aLC));}z1R-+4@#*<_jRUw3ZNf0bRUL{-O}n>q z=$k^#!`1fh_50Ax@AowhQHR{PoKTVc9N!f_oo~ON7Ej(3;ztoaaG2{*11Hjl5jJwP zaRMf+KR|)iDf@j`${W$Q;Pc1<{KVvXGET<1V}W*H5VJp0Ja8o@j~^|B)Le*qd=^=- z$}3l9|MEDl%(UkfChXAe@(^6GouRIn^1(`PV~8gcqYJ4wS&nTFefyzks*dkwTgZ(U zic!x@BQykl6Scu5@V%gmw%>{0v`4LpatKVu|QP4js7&Y0c_k zzaMd@IbNbwy9|RH{ukI_=V>vvlN{tHAE;f281yxqrnobq?xRENgbIqGQl$tvE zK=sYSfvI(~<60|clC|e5B-WFKCb5`KQg1jmRhv0}lF4OvU^b(IunG-ob>B70b2?&-9K~D|2BS5=S-R|@N;c2X)3y&_RkE4fmb1ukm}}IwsxU-HIzGwJN7h zNq1%4jkfbRh)O*rc+XaqPt8Y*6Rnj{2IiUjevuf(I#;BrWC6xKO{VBxo=CQJfuTA( zsW%lNM;}C*n`Cn0-;V0>a`>}{>2fEd#()q&c~RlW*?Wa zRb`*Do84@C8YV~W=cBC7(5*hJ3kU=_4{|8ACok5p-_Z9~rL>uf4^on^o@jx#GPEuD ziMBs!1j^8VN~rd8(B*Oiol)jq3BlLhT&&VI70AwbGMGrN?*LPzP7Lbb9hUt<$~~$d z(l#lL+)!-)4uvd^$cdhqiOEhRIrpHfKj=rP*L@uht7Q2w-h?A z#s@a&Id&n-zTWV(Zz%)jXw7da2WB~xXfdy!=U@wf)jC)mur&sIqzNf(+5g-E;MlP< zg&lL$v1`+I%xcGOo3?9r+jVHWF1KB`8)2$C9FDmW7FuyhPRG4tGKf-IZx>RMazT%d zBi7SHu(8m*@EdDK7}2OIDy~Q;#}!K+9@lc0tCiu3baedA%Wz%ba;?p9MLIiv*QB|g zVkN)cgvbg3QKo+ejm`(fgfz^L44SrdKFpsC8l6uLALdsEO-DK(=3fR)x28!YFQsCB zA|mOQ%-0M{=5NZ<)zQKJ|B)tRsX#w0zj)bF+$!dhnEO6p&}5_=u@8I^)_(f--w8SA z?=Ttu|Dx^HJ=}io+%-#co(38I|1YtTX={eNx|R@rsc-XpfBfu$nlYx)G#UQG;?A9v ze(}4MlW!Qt-)}vI_cYV|GyeVD&sO6ReRrfHA+gI`Chnrn$dGSF4)+z}o-O@0i~C%J z=_lWx#Qha5Q%3lDY^>h2BSnV$s~Bz2P#@`+{>^Ga5(wN3cfa+P_r#s@`MJ+1gagcN z`1j+#N8F1PRi=Cg#GU&RU^3+YqqvLuA;bMh4)?cmxPO?#eXt0gE&O3Q+&`7W{rnv6 z^3G(|^}5O8KU@8op2K}^4)^LD?qA8_zAlG*tGEx(lK=mf!~LNg?t5~$|91}eH^e<# z`TQt{`>9fJviUE`;eLJ&_pv$Lugc+`5O>i(X4J1Q<#2Dw;r>7l_a}0=zmmgUDG*V1 zMrSEMqp4to$>wh5a9^IoeRB@?UyAz(Ek;KA?#bc)haB#2@TJ~mUGLuZ zI%m>-eP*2DxBeRg?*Z~&J^Nv0eAa)L!(qJ8$#?|wxy<$HyFqup(0xyH^QGf@_dg4r z^sl~juY&GdLg%R0J>gyg8m@QWDs&vLC}Ze+-i5ycG!Gut=_Bp0Z}^KrcaP9<9FxY^ zwLVV8!^*#Ceoi`0lk{=D-~CI_wFw=^HEH}@bT5G}DDTWm{`<<8j}?J;g`bRbeChb+ z;a~efHwSco5;`YeDl_x>cF=VT9mf~h;&DIdPLp`N;-wRu_4{ei?H0OGS?HM0Z-eep zq2stnnG@vmXpBKGmiOT~PD-P9?MFy}?pC48h>y@Q{07iHAaoozDPzLFrn%tGL3icz zN;MkB>wbK{A@tJS_~y^kpgSOR(%<;fy$!lYgie}QU%HX`fxvhBK^FtvZT+BI4!ZgM zpt~D%SM`JLQP7>!54u-DH?SXcLon91`xDXK3p&$|oQUoT z(CzOBzoVf0O+V;{W6twqp*vAMx&m}}^@EOQiR$}7$1^7L`awrs|CRlqdkJ*s_Jb}T zbD+Wfpt}TgN2MP#>(zew%R84|=?C5IpgY(Py8A)*Oh4$J2Hg|=pnDs1+xtN`5{>OP zp&PAQWBizQT5#IOK=+e=&@Bhu)_&044Z8dLLC3RjZT+Bo6?FFsos2_$<1qw{ncWY% z@u0i8A9Oc@uDTy|8$dTp=(3Gdwjs|du&?X~fN0J~d>Qcbz>5Jft_&YWSx*2y14wr+ zw4!+n|1023z;%G&9ljorbXNkBZY1EBfwRsNe-Uj2{XGgux_<|x{RV+c#GY*(?JpI` zcSpVe`lkS4M*Rj5V}LN%UWorYAckY3?ht!kJ3;&TfY*YK*G&-TIg{&vPXRm&_(ZWk z9gy<$B2Xo#K)%a95B9qO>7RY#^}rt#{D**ZfVTnSZxs7h(lrBCz`jn~k5~q10bc-E z33$Cg-iO9;dEO9zBVNPUf$$H2C|2REfHMHUC6MO~rvYCINV<7|*8ndC#9w$AelYeA zzmG8(`E~=6?gc=Gzg=+d%On0{K!)>mK!&pba5~`U0qJiFU>x|xfL8++i9OFNGTes% z8SVpsj4xNS=x+}af#E+0NSumq^0ftD2sjHk!VG}rD7dNo`y3$i`7?kpqb|V@_U45@ zrO?2r7QioID`FGiBEU6(;5D=ka2a4NU=82`z-mC`T>#%h5mulI5OEHy04xUt?a)bp z*i$*Q3~(vn7(mPohK2wa1C{{Z1Xv6>AFvSc20(zo62Nj;Aj$(LbLBe#DKw`W*NtZuI*+PfOhB z^KXTm#EpLTZo!Q{_xD0?^she@+~|Yv5dKF0{G7;V^wn1jz0rRs5EjET>lrtQyIG%@ zCj5-P`cZK=`r*3-H~Q+=B|M`)wfy7U~7*jlQWs+>QPZZLV@R`ocpJU$Z{3Rpd4LtPXKE`mvQFkI{#%5_+S5`i9UO zecL&b|3-g#ROB)G#A`)fqu)AL_!)iVKZ(21kNsTy8+{}7D2%Vs52Ec8~yb6#J|z^|5@ZW`uPgM zjlN%iE61$!;B_9H_b0gN4?tcw{ymTTWTc1NeTxS_ z?x7ER@JBrOn;v;S>2Y80;eWn|p6B7*@_Y{I@5X=Y;rE{I_nh>($>YDpLw}Qpey9ik znJ2y0dfcVob;7&Tq-h;37;D$sWTkrdfoajYuq_Ap~6c) z=0Ul=p6XYv=4lRdyMYsh%-bQH2xM`h_?b6IIKEEcRK2QkC4}JljD>Y|Rq9DmT(f|9 z`bp-w7QzWY>}O1m&!~{QBgjpi_#n}$#dzVZz5x%eE?m7>WrwnHqR!N*#;b0i!SxTW zbX{Dtyr!Y1s*cv#UWijtq)J$o+;-uWKULDQQILlufS>0~CyKqev5rw&jVm$&Rr-90 z`b>)(IG1HPmSfVe4C$73UPnrL)vCIh)e9Szty<}oiQ;-L$S};r9%A7&SwDXnhk+cQ z{w@s5=e&^PE9K_Oyp@eB{KD2dbgHTw>l;>O5HOccNT4!FJpkyWupdOrvK+5Uc~3ijwYYXos;Zf5!`(I& zx?(bIohliqT3x@es;<7?ZB@Ulu6AL4t=npG8rHD9K2lY;dWoB&_REXY@S5s0R~~?K zg<9>wl@us+s#OS7Ev8T@w5EE^*a;INlhf=LXIfRS89#nfI+4esZq@QzBjd^@xQXgl zjCG@~qFdKkUyEX+(`^ZwH=@QJ1&D=ZQR5O<$;!B!MrGFOniaTt$3^C3amHOWPUadH z6CApin-?x`Bp082tg2bLblFM?B2{}9-MVt&3fQ`s)UB#>y?d$7*r_l*hwMBkE0MO6 zYvDEG;)~>QpU2ZY)9uJ)g`0>L<|Lo+{p!NyxamGn<+**{spa&-nx#&erFuzEhU9(0-#&!D8|GxZ_Ie(Z?8n4uO!S>Vi&=4;Ns*O=HdJMqk!4E_0tR~m_L*BO@uWKJT|RL5|UI@Aw4PM8FgNoqLk7459YfVXCLja`FJn$(q#R2fWX% zkNYI_nVPGUS6pr`$-R1a{^jJ1Q!j^nw#k77ivIU~CHq zBh}{;E4Z@L^}T0FaCz5T!F5(~^f9KZThN$!0f6_^%4whGzT(xNhW}ZR^KovtdF(6r z+0JShZKvYAX8}%w=){o&M@l?MbFqG{24Cm6P6ti2s(A+ueB$icNd3Nf&v~% zh^i2-z^~%RXH*ZW^Bh_-{i{w?xh>QIkGat~v#sW%C6)FwmG+bBe)H$>kXe^v#B^GV zLv&U%u3x$%VK?G+tO=_b_85e<{bwdX&;>Vq7Z{Gg;jOYR+&mSxZz`-B@VXX ztvP!dZbQCev^-Qx4@r7}l?uw<+4mF?`wuvuqil}c5BFblSJ06MOhA0CfI{JguH7k4 z8yA5Hsd5mFolcd-@E|9}eu7VR{%E_O>n{xFp7B=esDI8R!5Nll`)>@DKA*S!F@r1d z+{HqrdkGJ-%-8o3n|cwIgszSAkmo~nlsNT55#Aj$2_D?=Q*e(XFZ7v7E2+z{y%U!r z&29dmXk9^~wXvxuWL1A)b-p$bInoUs!uD5;Ow0o$(M9(6Z$}_e`z5@jm|Po>b9P9< zKUjS`<|~AY7#R_IFHBt~BGTPQz4s*SgYMC8J7oobTlMu&a1fY$Q%FDVNyfV|U>4 zDzpU0c@Xjl_y%03jonoO=Sm)0laWnY#OBZ9tSGPEKyIcoj(3Bq8lZD5iabnSCBYt! z1!o+t*!Y(_hD4h`ELwMJqP3=}rxY(2_govV{!lXVO!Sc3M}Uj+#EQpy@*ZSN*uSZT zES1$CGB-b$%FLILc8SR!-2QqZsVKC3t`-$x1~>c(EO0hXUuIs>+K96EeHAwz{naUh zlUeG>)(#bR-lJP<-`5T6%kKQrE51@G5f)~DYB~Xqy?`Z3gReXAGZ&MNJxz=4UQ4rrj*QE>M zO2{Jx@obY~d_WN;hAnjfj~4E09IMKQ`yD_&FUa!sM8oe;z8(NOoK@TY8N;FHF%^BM z*3OxY(}d_=;`ZNlQED8f2+;nRwrHNtEVNzdX4aj>hRkW28b+~A>)RP)4x#rkZJTO~ z)#=vJPK1`EB6J7DQEgU%pX)6~SQgwH{hJvS-g|TgpRlQ!2v#g+(#D{L8H!Td+*`En zEY--2cPBrZi6d`7$W(b<3h&!_!-`G<-SCX9u>ZzF%C=nWrOEkYFe8~?Iy_>u3Z z>`ILQ5K7EGj55XY9y!F5Ye7iluRM2=|r>r(Vvy+ zuk_#fK>g0G(4GdvKpI3R-P8-p&e_lZN8?w=!m*my6%saQL*`2hV(0#?ZO;U2|XhW}%a0@(uS@(5)0YDF?oE+?W3O9Q-Z; zukoO}Oz2oHlri#EHV?kDpw-z~OnUB1ua$e~Sx!zw&vd^VG(VMl=vi)*G5lp8JNZ5e zy6r;8@{>mABgawDe@E`iV|hxW_w2hTf8H~1?#*NQN~8Dir`!q9e@pIlV|i1?$SwKC zby56{;`%DcN0kGf!F@h}X8~RScrIWO;Ca}7`9Yz2FFkw|@J!hM5fD{w1ot6eq7vQ+ zI0CQJ#R*;dcNT&L08k??piR z>jXqQ8UCqu5C0n=<>WoZSo;rOr|m~f5_l0{2=>K*X9NBn1(p7L08zifdjT2Woq&wr z!+;F;8-V1y9*}&Oiv0pW%5wuC<*5LKP9gj*#vx1(?u#SNeR0I^0VF;5GmxI^)r{v% zK*qBIkl}G(1LX<|{2*W1hyNRpay$Y^f4qO4bT%O6{*t&?15*C$0LhR0*%*E=5X#Se zY_w;;MR|4rQXcNPC*Mtgl;?Ip{Ee88ABHnU89$o#nikl}HE8{OZ_)AGCyNPhb@47UI>oRwl<1ITiA zBOuJEN8K7sX2nB* zNXk(^20RCJ-vy+c>jB|Eyb6%r_DKRl?jyN51C*ei}I2X9PWp>H?Ti zZ9wo>&?Inyz;b~hfdPTt@PyBT4uNd~n*=TpSS~Om5J34`0AaWvssn|CrWee(ziGZk z0~3hDy|HQ3L0)K9n@g;Ue*Dq+lQrEEYJ>%8&|BjRWGIs%^d66ifF8g59MlmJ=Qggxm8$M zAP=qs=#}jhvJC6ouC)v-89;HL{(ylFPp$JBO0IWT=|IxFs})Z}q_+iBt!!M5MM?KF zyZUk7blDqMQhF!W5~EvIFT?7$c40zb0bMW?1MTJtQmwBUf2=8$e;{5 zikPxoyvls5JqlH;>g$(dFF*s*X51dm`IW7Xl&t!=MieOd_7eY!>^2LSu0BJ!+i>eTOprU8gA(dc&_4?HK-i z)@iC&t*BdA-B8uI@)p$1s;Wdxyeh!cPP z=e8|q#IzFqhz}p8|HqlXZH8)r#^j$ff0Oa}`QVFqgt;bzIE5KBU;*RDe$N<;(N&xc z&UA4(V?j;TkNSm6YPi6Pa-3@Fmer$HHZH|ItQf;ZE*o2xsveIL-}crmr|D7i&s8giYt+S$g;w=AVdQQET#IVz z8ocI@1~#6$JFg8%+fL~W*JO{iEp@SU+GgQfs`n4@_2$c^U32#Qjqm zX1KSAdo7@!e)E{Pug~J1OFy}W%lCf$o9n)Z7{>m7Bp7$q7e-!^)gr4c4OcwfCNa-QyucrZGE+3u*h`5C> z7JHr}qB|E&3jq%RqK^+#CbW0qMPfe(5dBk_^Gxb%I37TosPqKHnO=m2;D;u8XfJSd z9YePPqPh*;3W(N7ov#ClIzI<1bzTnk1#E)}+W_HS&?Inyz;b~hfdGn*`T)+;jd@IP zQ(j*b+?3C62yV(F+jRPG0i=PhN8zTt{U`7sB4GMO&gWgh1&(;|%RKlr56+t5_D{XF z8)v`f#`k#K>E?D1V29(1YVMb>l@ZyPsc`+? zo|!4C30ytqddiKPHuaP+GgOzo1cSJic{k?K?gZmWOu{CVaVDmRn~}1ziF~1N{8%$R zQ{zds1^a*Jcycob6fkD|XK-5cA9YBX{*EUfmOjn!D?}x}kQ_3{lP4ViwF@6p$av0# zR^_PRXdg06uKjWCXas1^)gVwN@fMVIKF#DBPj(BxkW_+s;79qIARp^8Od88v<4H3J zHT8Q9B59I<%)qvm(3o8F!Y+6?55&D_3_14&>dXr%AO9&jvPaE108Yv{<4N9W|05)Z z-tq)hw57Z#EW^}LVW zhM(UubyX68TdN6R^jyFJp_rY>YN__>5~p z51MrVyfWOXt}ny}K;HF({XM^$W#WerumfcK=M9cfI5;+Y{Eon0uXVdNH1LY{bz`s| z-n_0j&~O0;_g3?6xq=*Fj{uLyILI`6N7SAX`=GkwTrv>J#hYsr$-0mQ>OS1%tkS}& zK4#(x$sS`_(e`@NqDc>xdntY#a3c$FC9=L`I+0vD#<||v-mN%r>&%*q)YzG?%6}@J zynQrw7|wkO(Kp#}YO>-bjIBjpq(b`r$GkwDFWQZ1{wS|ua`Q)n8z%pnmryrB3X{T4&}IlzI=?8 z#NMZM*pF9Nm@GE33{6QIZy$5jcfgs)71=MdILVKDG`1jlAa5^%bW+ndp_K7r!dlc?| z{5!>+?Sr5DFzH=t;qDjyt>RAk{Pb`iiu)$G`^ncVozJ)|;pdv?bj!NENhe2-=h_bt z1Mg|_o*U&<#>^i)>-(eO*nt1<2|d$Q8AI>dk8v*?x`mGEtBj#@&9k0>!+S!85(C{sLdSeay)$b_-sD4zG`y6tO#T(5lz5M@KX8^`?-_X6iUj`|I*m(K^}{EX|)obQzb zGW-Z2<~-pLAlIk+5J?0TehZND>;uHyHM|{=?hguV1B3}T_j_4B^zhENGS0y)5~FlQf-~AFBIQAfmcY1x`azx%gMm4TP{m zV4J`ufeQqd3k(SaQ2tf}y62DJrEpV!J`~)vD}0}w^i3p$slq>T({4N`?xr4x#ND(T zEK{U6?Sz@1ns(t~xCM~`W*lA&9Dk1a8ou24QI9*<#NF-}dGNn_{C~>heyPWOn+GrV zg!f&K`!0|BED!(NJ?`Fn1itNYzs!T9j-|z~&*RQ<9IPC(%Y*Yi5x4tPkNY1z?%Y@4 zrpG}pPD$0=RG&$wjenCs3E2D`L)}Y0sjyi)4At!j(LvoH;E| zJG<;0v|Cu8I#n!UGVI1WEVtHFEx~!>6mz67UMY0j_?)cGdEi#XaoVz#3$akHl2rvj zZLpInTJyl;_gW6gjk!uFXRVkTiPfToa1t(UomwNVq~@_iSwS`@5S^6h&yho}e;EZt zh{jp}f~vw#Uol}^>O3DKYjhQU>t4O6lYtQaVbE7OItXRq`3Z3X3&Z}3<{&4oFr3Dl zf8zbsQ`Do8r!oAFp+kt#B12EH9GetYFI*m(NLTPrf0wXH_=J=z^r4toqu+4MQ0Gg3 z&U%-HcO9);(y81<G9?LAT-9` zQy%%WYw9t3Ko>mmZ}F za-0j=HVkrxgC~pOEb+^9;gJtHb2f5Azc=%bW}yX7~$1$+CR zD=dqU$8R&U{wp`bYw(+#{3cuJZ*o_#mFFR##K8F^oQS%I zYz{L72JkI$vZ^H%Gno%=;DHSKvRdm$Ct7a{VaDrty8&*|Wbg{T7QF6j(D6)DboH^;2CW%OT1 zz%#(otX{X%fy??Slpe^`0F)l57}bcgiG)6^=Bok?c+Y2Dp*e7tS|_G5X`U+h7>i43k(_%k360%Zw9}`qlvPU10T3_A z83KxJk#%`xcjKv0(aeJig@;)cv65R(uPGgi)oB*Yq4L><+W2@o{BQp{ev}950U_BZ zObVb_q*B9mAk{)zPxYiD%ChF+_tM}O5f+$k{{h9NzECHkoVisE$-1oG^|74YQ$z3! z-#c}I13MQdM;N7MY#b`lnTmHDI~vAY&9{{VQkLq0#IvpBHGJW+afr}%LiJmSMBTV2 zcu$9V9aRacWQ<;iGh}!R&Dmk}1=j3%@@6eG!mwb0!?8Czx%nC994xe|6BHM)TE$y$ z9-VrOGn$+hg1$MP#4`Rstz=H6H%cvDd1S<#y$C$yo3JaoEW2`F)c&uy{We~TtK7Ip zPH9&LE8cMD<03Rx$Y>^8JXrBI4i6F_;bQjdx?(75$TrDpz8q(*D6*Br3E|{ieRvp7 zqkt5{k7-t5<;d7`DjXCKRQZHDOsPWnJEGJhv!cFaVN zxzS_N^<@~(RXbkQhmF$bw@yxbnhN~;>8G9%clN)2`YF?CLuWw4_9M-haa$W~{q$F6 z-U{6XO@{y9%Ag>o9P={Vhshu*p2hu(Iox^ffaV7L`^E1galZrZe)_%JRp+nQ}et!PHB<>ha(PYFgoBodaF6u~X<(!VmM@N4*EAzZi0`#4t?_+)|WAtb~dc4~~ z@VwAdeq{{3OFwo$9E=`O%0b4yh0&mS8vpx*UmL!aG5q4q>TDC~-p0Qr`aUTazWk`a zn;>*C%`HXel8^ek&kG&Pi84O#a!}W@+Dm8TbMfOjs&5M&%Z)NVbdQ2=m(a2Nq|v$b ztFMA?r05sbNRWhvpU-(Hj&HXLeMY{x^rk#}@^hh+@|EJNr3vspZ0aAc6L_`2vjOoJ z9wD#@5M%1_ag=xJ4G#gL=M6s&h$=ejr+|gP?*~M%>O2sF2+sw64&YUQNQG0gGWj1rTzKxEzpr$FTxS1%?1APaYuS z^$v)UCgDE;QV;t)ApLjX2lXoaOF-&X{{=9F^Fdz+JRLaK0~!AXfQ-*fu^$6Sx?*vE zOShZqer(3?px}D}nQs3H$nZA;G8~>8qW>EJ8DHid`CkY~eJ%A?=Kvl8WcYgkski+( zAm*T9-rq_utHphRxW~o)EOGBeA}}5=0g_KAApPG1NPcSpslSB`fe_?rgFpQJA3Mi0 z41rPKY1-`%AqR2OPG3TI(n-U%i8x8Y|@|b?`xA?}NV?OfW z^Woxlzrus_?gqE}7?1l;J?>xexPQ-svpsV2yVm3X&mMQ4TXWNMUBQj>A$T`F-h;pB z!BMx<=w13xtv@x}nW$*HR39(l>Y!VXNkXMMrAjTPUgk{KraD-PKQy?aF2&`B?o%-O*pCWRbe$5`B6V;{YdFP9BZ@X8SVtd2v@O=&(lQo83jACpD@Iez@avXC+hPFYq}y~rp)z4}iyErBi;*bx3eefYunK?%V&{UC65*(K}&94ns`q1AY^P5(2BfgwKCQNEgMP^PWE+@SjjUidmrPO zuwT}xK}=HPD@ctwOpP1hM-oh>2EQdWZbfR`IC}7rKbvf3QZtM3zZIFVg#w!*=9|wI z!G{|M#*1*pOJfI#O);x<6*H5|T_CPexg0NgB4O7+LCFI3yt(2DvCz5vzBLZI@5 zM{@4gMBe*Q3jGdJS=ITQth{4=-3hz9Wl^8iw-+CbU&|CC@y??qF>T*+H7#1c#9t}w zn#SrpQbI>mogOH$UbO6|q`;t#w6)}Eq_`!T*YcGCEuTmEQc2wsMN+DyZix z3wWEJ-3^qP`qrmUK)GkRbV-ptM`nL0s{ASV7>EDS`2QsSPr?5O*n9Ff{I5dt^D4O; z@qZouufhN4@IL|nrrn#JNS>KUPKV}cA0k_6cg8!96emB89f(%&!RNSL?#x*5k@v06 z*Nfw&zfWKrAIRdRyL*O2A4f3`L`(k|E!`bU-khJDRv6DioqJ?o@}?n-Yw$s(L8X5c zy?E))gpMe_;Gats@c&%2^iXBqn=!j97U>N>(viFlDz=^Q{UVS3(DzQOvj<@wOxPVd z^bYt|D#B=KN3?Wb%sv>4?2F}f1Rv>2-ZY$V^VM^TO1RR4 zvC@OguE?&+$liElKSX~%c~hBX?>F8V`#0!6Uiu8Hjs8l-{twa8=M#~RSn{Uv$r+R4 zd3(U(#pH}DSn`7p?l(nehb}t%5?X|KX%|>X<{gZdb|vx-#_T<@$Q!{&_9SmAx9q*} z?G(HN+V_D3AOlt2cO-9`=c#t7wDT?aNVu*@7s|cL`|EB@kG-ljR_Q_VRI%S@ z@_wJn`wo@&o$&~IPR4%0N$34O#C~ydMr}NgEM7>?SnkRD6Xl*R`G`WN$@@A_-lx)T zkIwr&$a^XIdr9Nn1_j^>{qvW&2+LgR%jVI~f)CKSPEP1~xfuNJq zZclD%LQ|mIy%&?;*#Jb>-yNm_IZ@Mh2(4ctuTwRBsQvqr_q8YnX>F&;dcW3hUlbMD zK4=QTzT~Dm!60Ejhgxuu%_nNXbGjCwJ5mi18^BX^1GpnrdO)>+&!Yv@tZjcf(_H(-!>drf_HSzIzp~PViDK5}Op0mwq*(6SWoYm=G&Q7l)hV; z_d!ME{mRG-@yK&196OTV+3HB)^hqa5k^@MR$_P5ehp9D6ZrX<5cpl~jkL*w0_e;g= zq;j}2?_J%+v46X-T`}li7q^!!BoebXZy%DQD|r{yI0=kPBy&+bQq6?7i|C4><3Pg} z*%6QIOGMs}M|M^OAK9C{uR}3$OQ1R_s}#$I=F7CSFT_gsBsV<)AIbZ=@C%0VyhGsA zk$jlz014IA#s}V z!IjU^{sq{-xFlHrRxuq8{`Zn#&kMNk_-t7SMsSYlz@*Y|ordo+((r9jzjZ3;N|o{6 zXLku~N8*3m8yH-{kiRk~(BCIOutx4}V|Z!w6?z?n??7UT6y5@esnC@#;|HUU@NrlY zULf!cAjCspLOMd=P;qNWc_sz&X{Ypzw5Q>|CF&hbyw3qn8e_)c!;J^3;<1V-6(zXp zUoAF@jf1(>H(JT$w$TcmlRsA%88?2COHZ?8(Zum)tC|wktFK}5t5HTsIp@~bARTEA zN@Uvv|G4@Z?!$KTTLXdAp#CKFHIsx-NV5wR>v9li0~Aq(LKEcD*US@YOZb%uKSBGg zuOS=iXZYS6{sM>bL!N&68Oq6jl*^MgW}ag1o1O&aNjv6(TQQBz(9k68%C?GRq=< z1quUhVW1u6j+h9F>mbafTc!+-SMU19kO9%LiBW-;A)ju+XWy=9^PdN+3#R`V+&B&` z&5>6TmeQph!Uy&jDfLBitvi;3bu4G5VmUn(%bBTIVpgw`V`eIr(^IjWX<`Yjh$oh7 z(_$Gk@tB#{vUEVp^t4#cbYeMkP|MN+C=8~4BX&M+;eF;C!-HizTJnQaT83XB5smjf zQ91dwpxOb4q-u-VWuD0~@1&jNnjEX7XYy;qdg#~A=W54WFps7&^*Gx)>{#%}Uw8z5 z*zSHG1r2}UM-V*Wxq!5%G{6g>ZcS@{VMlw%oaezOcyMoPt6O6>hpG11-QH$vflqdy za3nI>dG}*kRZaCGX?^|LUEaAA2;m=wdh!-`1eI;-XN$P;UL_iXn|7CN3r&Cb33n@M z+{q&RI*|BT+FiVwvux#3q4(|+Hhg3|ZlDl++(y_tRypx5)^7(c=*jb*NO zyiC%qR`|^meuAEKJKhWbOeYHoJ_pdR9jAc&r`#uN)NZEMLH`ARvXKjiVVjSJ)Ol7% z+htcA4nCZ_vBF*6`{MS{;KTiBuj2L$=mD`oS8H+A{xaR%V#AhhZLi5|sUFZWbzmGS zEYlWWlsnv5gmx#Swxy{SXW8PKg=26afa@4;Bg-urH9+hG&w@`q0>ml$FAwWdJ8Ba1o95w&BOw~sSRSb<>7IMd*!y)$*IzwI5*CAs+> z0|VqEf0_u4$<;n>6FwpF&;mY`h2u?e63I0|uJ&o4c(R1wR^cb;Nw-fWkc07>had9v zYo8b-|0(y$8t*vMsSy zzOfA>+s0W~=)u6VakFZeXp8j+Sa94-omxrDTnsstcCBUZo|YARTPm?oq1(jDr%j_+ z`P-J7XId(rjrKjkQD|&X*VM7GD+5zn@;~Q{&35CZj>bDHHonRY+-X4|)GaO8JFP>x zF0WE%|Cw=}YJO7fVSn1ZlOETNpMaLow0HH`GNT7} ze&f1!L^Kd$jC1dQsFg}++Bt)N+;;A9PrIq5!0$=6a~;B`To`OYdqPpmF$NJQ0h%CJ zJ7*f3TH$w4_z8N_?c6MpqYkhPO#Iq83YaFO39KKG?Hqk6+Wg9QC65| z&peG*_?SLaS&f8MkX9qxuYmMDV>(|eirJl=M+O(Y2VJq9DEND{v%4q?iwf?xfYp!! zoGJ>%lCgp(V#!27S8`6l(^x_3e7VT}edpf>7d;z%j@FUn#PmrRDE~kNn=A zQ*ao>zw=Ta1?5365PkO;R#y{Id%s!;#ll7&AAF1RddDv7yYY8>xnu^t zHJ9DFblO47_bTm=D($W~*26X)Xgtu`OmFNA;yZf=sR|mk2Sz#~doG??2>GJ+HTnF` z*WZP)b3Po3ZR~J&tzUvA8ZsNCBg}Z=lkux+=-|9!~166Q88U5{O_~y8}8|&sY zhL6)PND!op;lD)s4~CZ@b}3ZyY~6M(b6%^-o5;`YJXx>ZPr` znyqZ%DQi1F&i|ZmBr;YSdW>taP0=V%{o47hY+OQGGS1)4Tw2?t|GtcUSu|bJAhif? z+If`#aPRkcwotKi_|3vZ=y6(QwDan^ZB2|{?>X9ShL2FJK|?BClHvT#WJQZQpZ^-_3iSO(K+euhYV2ZkB5=%Uu0hp-k+W z^0nuEvQJQBs$Z%#--JAWKz*=E2cP#k$6z!0O1KxEi#mo4@9ut$IxhY*%Q&El;QwTe z)qJI@w+)x6k^FVD?(XaU5g`ZvS7W2fsE8r4Bd3 z{SCEV-w4+LzuTwbC)&;zUsc#gE&>(LN@uDqGq0i4M>eu$98zp~M&tO-0a>Z1q*0Go z)Wr>Bvhe09p5ud9c=LiA1}ozHti;?Q>JW2}{PCTkti)X9cZj*+|M0$M!IVrmWRvQl8nk|K9z&Vvdhr0@S*+W+1Bl+pcG1$eSnpv##eA< zp}gMb$`r9Ot$~i=i7+#}Z(ZAM*@GpkS@2a@AM+>c1IswqE_WZcu05uhqoEzEJ}mt( zAzR+_wMDYxm{@9lNLk$)_MC$Y1V^zw)r79#4BNDK4VfP)7J5D)1xYbbXV35Mv{m;i z&bWRNDw|&A4v|c$evDnO4%ObRVN$5nK%eKbB_gX)6yuh&7 z(|F&z{C^uR=grlWqFP5y{eBj|e(M^vr-|d=@0@kBat#F51N!+_;}p1kF^l_6$RHYy zgZ<92|3SvHTtD-h9}blX%U8j}Prep$XVFn48alsQ#2sfjX+#>0@b?jM=iVQf4EKSY zIKgD&e}=eotPPXl|6*~M;d_QV-wmWWU4snwt8@6jK8OEh;yxk^|2xDzoBZDq_w%#( z|8&n|Lz>_-^=0NChoE>oxxw^ z4tV#cjfT9O2OfM=w>zdD2Cf-eylKGH(+XVY#bcm*UFcX(mGL_#4~J9V()`v7nWHap z@w*#ti-nH$RvDu&5xPrY`6&LsBXnjS>+tirm*6Pq|1A6GSf7=-LE_`Ok8?QO{wnt) zuwE-;!grnLzXEjSy*fTp|IoY(Kk>$NTnxG~LMQdym+nr`oh@`y-+k$R3A(BM2=^t> zT`Y7`e|-7zO~6kHomrptiwEBp3<#an2VZ`3K=-<&---C$4!UQB?nM0V2i>oPPTC3I zaGwU<144JA_`VIg?+Bf=8@~K_mh9X8kS_+hwf&%54!WiNpt~D%pBFk)KmGFKQP5o} zbZlRgG3C!yPG1GxeL^SgjBk8-ll$%cpc@amFZP4(M$k&zJxK0}~W%^pZMg)L@x5!$T7V&A<$tfeBIpMJonKfJOo>?(Ll{{ zoJw2UYpuP-R;#_OExlE5NG&8hgS9sJ#78Z@!B|DDfLh7#``vr($(fT00dIeQ-Mc@T zth3f$d+oI!XP^C8d++aPdSW#o{_~o@0PPUZNbZ1o(77$V>1(U%0#r0B3^E zdm6x(HwrKW+z)s$;1>YLf&M8vzzp{hpauE?z^ef}0V@ID1grpj1#k}FOMr6$p98!O z@JT?l`GG$JUJlp}SPi%pa0%chKv3J~9xyjDQIcmD-A3H}cPo(%dg0O|idK)!#xk9QLMzXdoH_)5SbfE9rB zzYK5^{J#q513nFq{s@+e*!oV`1^oafUg7M zRnPkqAYP?B&c%`MVL()=yx#z#sPcXaI0N*x8XvwC5Lr;o^Dz)bfO9+-03JqVoDBFr zYbC2-S{&xVfUf&J~mvxL#m`!1)481o{Pf1nz~Bc zw+lbNXXH2I%eMqK=S3D0wq7=Dk0A20El@n?UD?;+v81H9zlC;TmdjL(cm zeUnl-%yjm^! z*&*R8A&dM)!vCu1YsRlTM4zXHzftOkCH!9(`DQ%Je4u`Ngg;mGnJfJF3%?oPHVOYr z!e1c#i-muu@SE}OuZ4fF@Nbd&Yt}uZl0WOj|F7b|UhuyNey`xa5c~nbf64HuPiFke zyy5z{8Bd>#v=KM+GyL8YH{)TRdqUidp9hJ*8EYJ1Q0vA5p75)U2my_S`^8e6q@-J}t zv+wTo&vM~B0oCdMiA(?2UH)Hm;rm_kIJR`kJH>_fcga5s%ufCW7vAo||Kf_T%T*q~ zb@6j-kH4h*cNhM#OF#DKocwpX<q-8{yTVQ0k;Bbq_P=d&}w;*HkX3D66eo zP=jNymf`MHUSYnVqC#D9U!e}zs?}HAyFJURmM^ZX5zoq+8r&lfNqRCF0=Y56;mJdy zT-58Amzf*eVRet#7hao6sNwDO6*UX5NhRxBq>;$VR66b%tXk@#DG@2L@b2-lZ!D== zm^QFVgGs5@O7djsG9J^usOp;3+;GzPTvolTqJBwbt-3Qnvx;6ybWMfQNJ)0mD{ff2 zpt`DD2ar58YU6+~$2IfFD04Q~qGdJLl`UUTQ_0+`sl2AD7RTn7;ZB8>Jj2Xz8GJ$Q z4NJ>WMOf~hGL6Y|YH@o|PRo{;Ek^DyK>>GH3sqxOq}_g|sz`0{s7&HrlyxkBPr6DW z_kcU=Uw6gD*=v_xTDH6%HdHk=%W6Dj;aQiIRn#t9cmrYrYEo6cyuJ$c7MF(OA_~^N zfC@ zhcJl}R`uqm^)XeM(YOLFTu_TxOmXTrq^6QDNivnSmF4wlJF4};dlk!;c6&)FGU;;Z zhvbYtJwrpuRlc#Hke$8EalrOGYg1bS|HL`c#o)^@upT6r-1IN;-sdj zCQffh6>*X!R7&-5`gd0i_V|w1UU>Z2vB`ZQi?6F#)SJC9h8gO zV>-p_F}a5!if2702{9Dw;rg=gHS-XhU!z+u>DJiix9{C60&*}JN&R?UCi4wWa#SOI z+4n9+`sgevs{(;edb@WYid z+LYH=@mle+0^VzZi(7JGB6lAG$LtR_mKc8c`QcYUVkk*Wd=tkL{GMlOD4}9bHyQp( zdt))u75Q35Vthp8bJ|u1HE}~e&l1o?m;6mkG$K)+Dy7|az_iw#qc8VOy^p1XQPbE@ zof+{X$j0p-eqQyl=0AbpBu-rK5zlBme1dPys~|KUhF$7FlobqN*Zxwm*XG1$<;LQZ zA?8<1Y-v0{-%3Pov+PV<7*x8>T-!qfyKmr@lEV0$+hTS;{3_`ev){Dr=S%H( z4ZM7hu&8l4%vGUz`hplMJ_{*nWJ;)PG|rPwkrKNLN3JSOMNQ-Yu0#1x7<0pn7B~7x zE+FaHB&q@=Q-qW^#3SoE2PO03&L~(mc=s=cfq_!bm~NtwZrbtLd%O-gbH!*}7-c`D z?qN>!n}uAr%Ck3E-nOn+crfgm3qdKh>+-YqpN^-{X6{1Sf0}y4KMyyBW|M`y8F;|X zP|%vVdcb>|aRp3Q-6_#{U4AakR_#DzyO9$QN*$~GMbI7vO>LKddEdXw;Bl5MRuzfgb zM+;${@2z_Tx%M=E7BcTY@OvFUQy9Dry!&?OR#pjlznK1A&>9WS3oh~}n!LkBJ^=*) zZeC&F6e8UBxyT=BAzUzYa-XDy-0ULv)8yqYGL81}UL3@yLBBQEKxzyBg_=19rE*DK zY27&ys`1tXQ$bM#SN9}c3DVyjTsUvB6=zG%QLUwZeNbICu~b?z@FBomI^ACT5hH8U zrcC&B&cp3fxWC(=i}fjxojIiRBg2GHGd~~1Q6gO}6uNN$d?LYJX@sgUN?v~zvHMzX z%1Q5I3fnZ0D{&+mu34LpNG&_T7Zj}^_Ix+sN+FzWi;n;*E;1J9vEphssn9s<=RojD z>(Kk$yV3ZGH`@3zc47ZrZOop5Vu;>!gp-oKTS7o$_I=B>^pyZw0xJ}&NYviOaM)}f zuW!ITXJkydlE}A)0n|JF64kKhHR!61VBx0Kw}%?LPN*4&#xr;@_+)SwvROqy`S*jL zXA&jq*FkbJZhGA&Uh#*SVE8im60oj@>y;Anc0-&el7def%5)JLO@xOdd*#d}ut z!-o0JjM%77Y&mb3mY9In0I?_E(7%Sdc9s?&@im5+&Ukf0=U}9x^NakK5w-scQ|NW- zYoH=YeiFKi;KE2p{Yf!N8RzTQE?82>`_&cXH41XqdezcJ%lNEdN;Y%dIGsHt z>2&k)OJ~o!k)Ckn_@(n7!FmXHKVZ6j{#&KjyAuBC?0siSefT^4)7kq@l+OJNy~vk! z?q2OFSAK+A3}@1rw1;xoYlWfzFNJSD6GLb0x*T?r{93*ue9RB!TzsQJyaT@xV)w{= zQO@wW&MzSUHvEj;8}msy!=J{k@*iM0Aa;Sww-kP{tE60(&BJo95%VvF&!xx7S^8d? z57A?Ty~xCO0Aa5Yp#2uc3xS6KVOtRR79i|A0$fjpJxE}#zzYPP4v6tW;7ybp;U++o zQD7Ay>@@<*0V%&25cV7a-d}{FNPu=s7#aq+E{U&2pbilBEP*9}_`D70dKvL61fL=J z6v2xCv*G_m!F}RCK=8w;XAFM;kn&y;{CUA26MT!{zZd*hg5NFp9fGeFe6`?91z#li zNr23+?T8FRxxmAKjQ3aghpZ0VBRJ1ppue0CHGGEnhsB@gDx3y?+Rrfmehi2qTYx*> z5Jg}VAoJ4?$n^IIM9|?}k0pE_kma`vko@-mGCb{Z8IEhdrvmo^lJ9*~66(hf8R1_5 zDd%CpfxzzpB;R+%f0e*xfaHq-Qjal$BMy!&1E4AYc0d&QkXAqx&5&kIAF=@us;hh9 zp-S>Tc=7@7zg}R2!1)481o{O6DE@cMGEZ|I|anzHzX%A>WL)^4;U&b?W)2^)- z+_XbK6MoaKF}>tB?HKPx;yv%V$UHi(cjGVV8eI6z@NxR{=yE4M-{n8j<^NwU|LrdP zK^H&E)hYkaF8{B)aJ=Iw{Os2{!=p~5;3Y2qQWyRs7ypMYJmKPJT>KfwdgsJFWzLI* z%A#DN>3RFQzJeSdT{Zu1E+8jfQCU-k1q{x;JITD4oGY3=R;;=uC6}ShynJPK$_?qs z+kG5CAQcjEyV1<)kt_7&@;ym?UVz^7oEdfhj=2(@$?EM&^ln{r!d(}mo23<%Hm?!lH4C5$A$21F$@0 zrbJcMNq3F{*XTWd<*m*^+>=tVG~N8?xm|QC83xYa_}qQ2c~Q2HbVlA{G>T{sk9%IU zgkj*;i|!nuq3QFigFLj;JzQV&qI*S-Id^F;g*lugKS}B9+=F$JZ+;1p1-(e3eYQlE zBC@Y}(G4Q6MC8$KN=S-=Z_Q%yQh@o)d{A+vIro757v}o|fDGuI2c=^CF)ZUqQ55*G zI1XhudzSYfw~ySIN2$lm&O|i*x|pe8>V-6Uyay9w$uqtIG45G+d#lZAks_^RtVo!BdZ7obd z{8+HAS-=w?{pHK*VW?v09Fm&n>dM;M1=m!%gJRWw0j|xftVuF1Ur<|{MAXREh`^#g zR;;`IDzQ3Vzx2AL%T_G)C*}C-ZdhLFftvM|er;Z&pG8P_k*OzXf6ZHz^c^Noz3tB{ zl=Fv7`<)yoO1N_X(PXM~g&{nT{a@m;hLVTAKHHK&6FdR?bG%2mSm0cNmcSx`1p;#g zW(hp3<@IN4LOFW`HVb?};GF`S1g;c__f3VHE6@^HB(OkWuD~pT0BjfgW9*>pXiG?d z8-*WjM|0pwcL9F1`!sGQ9vrB8cH+9jrB-XrGO}J6EMq?cq_RczOUvtEd}MIgxYep7 zM`X&2&*9VWUix$R_$}c#*yG0!j`@>pdle=1-#TU} z+#YG)435u{>Q~_Nrrfcvw{pBoM|l*v7$3AC2|dR*n? z@e64m6moV2Fjh}-><1ie{kBl#nZnOPx=~*}T-P*SPJw;(Q@AgRE~J5nYm81O*_kBu z)lZ@QJKbLOAN>=^qkg#f^-2f6yk=GRA|s}cRb6g2;{q=0rH(d!A=dS9Ui1eW=Ok(R zOq9!jr!3;C)2riCu@G3qRkaIa@wqvrShkuOi_grm;uaQ2OZ>68Rp84h!K&~H78bg4 zEv((;_=a+=5LXN7MXSybR%}Kj(}5m~rv=>(tk}Ga|7xA{2-2=oseC!f5Ndu6|CQD% zm41EF#7#R6tChrlD^ACKKk>_X<_+giaEIc5TizpGZ(4~O9Bc7h=Sg}MXn~dZMh@<0 zgl5m;xK_JOpNeJ02U6b6znqa2_E9}e` z3=8j*ikewFctpv(tqIJJ{sh0@Nw_W7Dn*5@R%)Er`9WL^-n*2K#d6y>N?IJ&_$b-KMvM#K} zAjsm|(|A;crL&!9iHu6+TLg|!b8@X;s&4lZTNYl^PON(z+N7S;!q-61Vs^TPuikwI zQO*d;IWZ|Qn@_0rhc*pPE76pcS}>cb&nHr4_ERct|C#4^?eaBo@&t=NIO8j7|I>@Z}4TI#N>_%16Pcip2$4ON@O?SK+fo)S8#N4My&YB`jbM9TRU)ZTePbcm&L}4 zpRdK)ZG*p-RHBMXF#1sQgGLFgeB#iyQXJ_yR94TR6VB{`zj4TTxGX{W_Gp(=LTK(G z*R=nA{~haE(mg8os17}5vlL8OvYO$k@htaLFIb7myRwBh)K%8HbBs-By7em3=`O)9 z-Fnm}<%{zMH0&-Wq0bh|oxS**aWv;Y(yd4R28{yU6ZoZD@8Z5;y0`{C;_qvG(Io3S zCY{Ogg=@X)FT%%sP|mCuxz?)=3ZLW$Dt*uMGVXwYijUFY!%4oRn!HI zVAqSddEe^o0`1_C`Gfw#cIJ}e2z3wp*o=*RHE`FK? zIsJ=W{`7PDf7^xs#D(*F<>Z&S^huF2-Q3FJg>za+F9HZ9Inm_ag5#WE>T5|Oh4*tT zT!=184Ca0orz-83x=K;qtW=~~ix5)EwvAr4OSp9}lLrw9^>1DlP{J8FWNX$%` zbHU+%y52AojTYTXyj*k!H)A`zgUTK2yg)EZ^BZ~XcM<{H^l^NV$T5|10~%Yr zHl9K>nnoublm6e=INt2PK3@VEdvha0l5bF++l-A#3(D)T`DjHIwh)%Z!bwj&EJtHU z*Q)-bi-~-sesiH;e@#mf+1EIp<90f~ynGL!F{C`>AbzoVCS?1`@wsA8v)<4IJy>kD}N?ciCNYC%x{Sb5Pq7 z!oN`SDEwCedKsZ(09~5{yX);)dW1gC@LP#*;(*5A=OR`ep&p%|2mh4OdB|b^4CCHq z1=09CXb1aPuArC3>tX&38`(2}MB{5I4yyasu-WDj#df5j)SS?}S}y%&u&X*{{az{W0A0S89K( z0^zO}#>Hn0bzVhLKzIvxrt2iplk=~*23<#zQQwODRUkK8p%}Ruca^TuzAXnBkZ-x*T#Pp3DO(3_hP_P;4s&NaUc>zOKToE+e;>e zd_UOMxfK!o5%pF_zz?)kB7QSf1fA=Vw!6RrVNCzVK}nx)Cx@=HXTh{OWIspS>YI+7 zfcK>CjGK;l3BUdaSOa(6bc8)K-`b}TL#aJ3fB$wo{DJwSjvr?4RMnZ^<01GWX-yB{ zk(SAr$*yfV^c=b#Fi6P8EP&{PXb&WDw~J9 zG!AWI!FLuWpGqK{YtarRs7a`~3jaIrAs?$u`pK5`J|>s7mGMpQaOhKNKVE8Yw{Qcq zJ*P>{lN?E7T#QWr&fih-?6p^+URw4~XsI5vADpSceYDrrmBHR7aJzy*Fx|HjzNI)O zd(Cc0Kp>hEm#+Ogc6R_*jodwWh*FE4o3c#S;T_$4IX*l=yo#Tov1w8Q75j}~hj+|= zkDedE7TbvGNC1HfalH%7u(1*It$DZ9rkReW>&^hAw{3_ia9?t69*%XoKm*4@$a~ue-sD|AaWB=uUz}Rrj^%sFy77 zPgrm<`%`W#aU?|D9MgFrnuOp%7(uJMygF-{<2q+MhoW5NaUjU0_PZ=So!_0)C=gcE z@L)roCig;Yxjc2JD$n>IwGy8w)pYaE;8uLK6uE47KtdD?ie14}vusDDr8)L+w(mD> zV-0sS@hTkShWpIfsnMkWRsS9HSIO=?Y_nl%t=FD0jU`XDTzyt3VA5TIr*!jGq|;5u zFWr3Ay~-D3aP$S!%_sd1bUMzFq_dxEhuYl^Ft8kO z1n6ae0|74;{}S;(5fJ0Ez-OpDw1;00h^i5|4Ul@T0;F7ahbcD(Nc}iIB+juN#(pVw z(I|=`t)L^TdYxBW4}V16zd_)9fh7X{0s#~s-$%}K8Mi@j(=OcrKlRrg z&9psCYG^)(39pO0Vw`j=%9ww9;`snkO$w-cA#*j=Z6?lJs>N)lB)qoj8!)X-O|O~c>=r&}Ic`t`Uk{sXk)q7qlt>;Kqz&^H z@}#NsX4?#>kXtCp#sn%X*S1GQ#V!Tdb?cxPNRI|@DuR3p))wi{Gsht?pWtlccC$- zGx84L1y^&KJ?B-8>6zkp+glkq=ZIeK<741-LQazUng=}~;aep{E0o z5!u%~=mrUtD|x#|_&FV;IFJmx!#}PK?!h%m?Kd{r2) zs5ylKCox#KPcD9W5$9i!zX&h8dvW#vXkT;DFc~+#JcWkC4KTMcp8cHez#v*6a#1pc z$Sae+;U>-n@n$!1K8UxviHkvG2P;M9auDxw6IX)BE}4__`wh&(#Q6K&^d?RJwVS?9 z(`lWPB8S6J$a%y~U$5zZF!UZ1#{WMHQ{SG~_^n(|-82*{3}j-7iKS2__@X*+BA&Tt zBlJ@<=!1j1y4tLG38(PtKSJ6txo5v11#fk24aI3nR=l-ldzvY||9|ySCqXM8za$q& zhSZIt?!hN}=I! zJ}1Vr!G!Rzy(MJt3GvthlUM3pGsxDZ_0?stRIRS{JKaS8Sxf2%dFaX0oO*bQpFRc7 z$$^04N4u1z70!?jq1qD%a4897a(H5etgZ%2P~BnEcy@<%c(NN%Rt}lTpbk%Ucx7*% zRZD9tYwCK*0-S-jWI=hQ!`C5JAF}80b0!5RX1V+wAz^c0Q&oArLv9++GTPTG=?+hw zPAt^*NGA%*f7W^R{=h~4v&Nz%P>gJvkmoHxEKO-BNtN(#^wgA0%CG;dx#zT?KyW=3&-}e{bR6 z6aN=_3E$T|OrhA_m~^=9Zt@{FjNdiF$8;)Z=1W|5K@ZCOM{n{*Bk&#gy)JxAw{k{a zn)#P)V8|7_pQFir2Yi`GUz+${{6jx3 z@B|=80q)a9A0oi>t+N2{0pvWx^?(e=@fQAu=iwj2od}4m3y{cgZvtVsmjM}$`=}X? zOEwJmpx{3jobw0tj|;w9@LItu1?M=M;Y$UdEO?RNUlyGA3{c*wf^)1+oU4%x|1mO; z_4Es z^9LYN&%nX$mJj?aG00R)_p*NVy1FOtw>e0KExFlPLd z!?19)t;p1m>ObaUQ(RwmFRh{%<_?uJb}&W=-nA6h*LZJ_$lEKG*z8}~0L3uBOqU|E zukl_p8a+Dmz7?We(4Hn8(8Wmv4}FdI3ZMk$n?1CDX@HK-@g5c94@IMNWmzAubC37X z!{k)@<_!>(a_pdQO&lb4Mib+2Ax8r_I1RWDKX_!IQ(qV6wYmdh`ZnE|&BOQ(S_xJ8 zqQ1xu>~YDlR2H#50L$GunKxs3un*=82=xt}T+mqn`gEx9!WZf(P`z55(eIvj%#Y z%)?1{7%Fq<5Wg6MhY}0}Vu`c3bTBQRiDlu|x-+f#Tx?H)?aZ4kb4?1U|JoPpUk}A+ zz!>79XxC2I;}`F&dCW@WhVSK4&NGWT2YDLHB!6f1taexTL3 z1KD_}^JI|mFu;muK5yB49QVA14H+1lJz*v0;0&|3P+7E=aSYjZ)eXibo|qkEd@DOK zQr(GqycuuiX3n;>R2!{XSlEJ6XyKxG>H?F2cFVS~r(ytuF6Y0Z&a6<^ntbN3GV{u1 zfykMQ$tuA!Drc%qBmcySYcL5q6zZCtpL2i$<}-RbgV}*>ugk|s(>inzqsZF9q+t`w zVLc+mAk->Hbr{hei+>5m4s{bs!JY*nYx374`qJXnIrYPp%*E08YG_;E5$bvtX@E^Y zXEYwk!oiPOTvf+_8}<$IzVy(Rnttl2F^M^QCGXT8uw_>K5@c~!j9XsD+h}uI)**Jy z($(02XDdFr$m&8?O)iR0&&3X_p*53X>sH80XKGwc(28foXZho``H59yu=YRUFpB&z zLVMOeS$9U)WA-dRI67xoU5!m3!fpU((K%jmD}G_yn;EbT;%Pk_c_5@#0qLD;bxoeT z`??W`JU%Ob_uKZYd@aw;=-OpNqpry_t@0ICkC?qOtMdmj zdqPL&?OlxzAm+|nSdKk&<$#V4=j9C0>%-)xPq=QhP_#e%$^rR=!Uel*K(W;uH3D;)u(OOXJ_l z!e$=qYC0I|db%^CYfd{G-8Z6Lf5!Hs8#<6*?h1(wL6-eKm+CNOm#PWUh^Q;ke5q#h zs%Y1a&}P+azUbSeukNJNK~dbd)8tf>HNp)1=!~MT$=?)I0txdxbp3RZ}LLiul2! zV`AXM{y=r5zM?x+<=RL8e+(eqxR!LfYc&vQ8sYzOLirA!(~VoV7=OTY_5m~HqyHO( zPv?I`{7*ypbo%A0Z>G9i4N3J%Y}8DNzdihyia*C6>EeGy{IP~j*CYI4@xKY4 z>GZn+A85LhHRuukHu2~91Fnbv5Bu<6FaFuRgzszIUm*4mrkr~l_dh0lQV-AtNZsc% z8u2f|FI(&*SRa&|CVZ~(Jo#yVajoGuDK~P{*lRov{&tyvV0}@}@Tb}L^G`5Lk@*GI zpA>$_{lNL~E0XzwNy3&)pJQJX_d#DOd?sI$d=if7q8-~s!pC~0oYB*ju6%gj3;vsg zU+P(p{3YMx;9D+yH)*Nee2(<|1AM!LPwHJapM;}4-evfZ@Jank%NGXU508Ow3HVkD zU$$F6!Fe7Z@-FZXyf;u&-P1`Z`(gsE=s97GukO>tt3P}qaCGehV*!cN?gK864FrAT zz-Ne)^p^oizYGv*4io`W&X>jikBEeF?h|+?Aj7Q`obx5bY1B%-UkLnnK+)qoX;@r>rH~2_Hwh}rv1A>aMRwkS2;BY}KW98Z zkIAKsOfV+ExfN`BqV}^<`yc4rCo)}Fih-( zM|o59jW)g4VZKEoeDqI5Kl2;x`ghrEBY=RF`P3fr#)cZWxQ9NZnB zQea0OVseluq$q5E91gw`9{E20$ES=&>3g?$A7hGakUk!{8~?)bDTNU)k{xMg79vIV zbK&5j@W{9DKR#s~BC*@-$h{$N7qc&nGvuEOkL(IQ7oSpOM;=v?9bse<`?E;!jmXH4 z@IO9ff*pC>yCv*>8?i;aFNN%9;1jZ+iVXZPGV;^Nz|N_Od(ZsQ4L4uO7$f#;k&z#Q z81X(AvEK-dd`2-mdZA|6*)L*$8XAePV0a>8KgOs=zM*&?8moDB42;;2{2GX1@0N)D zQDo$2b8)$qs<6vyhPp-5!p zUlqrr7Z^pt_9x+yFMt^GzO1!S3=fSlT7>Nn!XsZ*41dyED2BUF>!C$FayQDh4?W_g z>m%O399@-oDT*A~!aV6soA_#!)Tc*R2-(t?IvJ~5kFHBNqrRgTO_1}++@1IMl!VR_ zM2a_d>tN_-itKgnViMu^I z&L`ToLOz5)8GK<<;tnOgZOe%v?K@28yJJT6L+7gXizp|POJTVaQ7nL(k;O)O6im6l@WOydV@156D{W% ztzQ1$asoDpHt}g|24;dwq{+=%HBtLrh}+Eo}CyC!7Sr=`cdm;E8H!AM-6 z8=nGGu$A5&;r_V|_+Ay&oDuUL+H^5LN27MQzD;^gIoK6VWL~tXNU{<&o4QN{ERe?iImz;pmp{A)B@yVG0nN17(8K3^zXFz;%7JRar77jE% zgS5|y@yXfn$!=OW*!T?5K0e2%PVFRQcK}~n-_WTs{7UdE#Ltgk4wh;#ki=5W02N54 z<-BJ`uCagh=l71h)N<$bv&Ucvt6c%Uq3PzINT>T9zMSd&pO^U`Mg=F_8sYza;(rc& z(#=o#vNZ2#4SIw(^BnH;D#{IZgbr_Yj;0gmvlH*O+b<1|Q^%fzf^pMAb-gJp z#}||>tASCuW0*?D*|?#&78j>hdtl8!u1t*A`PiGeIpRI)`53*7=ZcGEIEVANsTVF{ zbq?n|>FfluI5P3$2SKFb*%F}COqY()MHos(Bpj(-B|x~@yo}24C5XL z$nUfBeF3T*{f&M?I%Y6uR%kYEmb~1uKeO6i?QbO}oDz?C;`1`&rCISg*%mJLTJt01 zO~{7%!t)_@;zl@r3dV+^;GfU|&RKcywa_cY~U+e19@sCa$|EA}zvUU80 zY2!a*=(_84{NvKb|NXDu3H_P>MQP*z&g2_@q2r&BHvW-W4@GtSDBqO)M-{N24jpEM=RjWH%aiPRt4cRZXZ5fCf zL9VA+DZYB;)n_ZEPf<*W_LY#mt*vbcss))IXU+J}osaC-nh#T4sC=(MqqeQXP&txn z&CB`9vs$eJ#g$&IS;N97XtgFNuJmf%^yWQ#bYA8hMX&ZxpL$E{m46hy-u&|`Beh;d zN73uq0q1YkdSxF)uUiH`^AD|;|0sI>eb|)|t=G7t=+$rkYroWbWgSJY!#{uTpIWaG zN73u~6P8`0^(s7yUbn{1P4rrhwrXT16@Svj+8w_PFCoeX8$e!cYt8gxBH)gbZaVn& zTUfQ@m*EXURY41LB3lrQ#BUpV#)6+zGl;7Gs3B;=o@#5$@nZ0P_sQ8sZ+yles_jC> zK-=;Kwp}XD@Y|d2)p4TXamV?~zq~wM$B9kY)#4GQPbNQp2H|aR>zPjVw zapR9w5HzqoqWt8Xd*0SjqM>w0xwi1Vr*)KQ<=j#B%WG2aZu~MdQSK;1_HAqJ4^$WKzjvKGIW$n3FR1r|uxuHGsC5zFf94&(3JqlCz!v~YJ})e7KA^gw zi`ReupP_-QB1j}ueNkAp4hO1>d+QZntJJz6d(-Rky~nd}*SesP((AJNAMbT(T~v;z z(`EO(HEXplsLSbfx#Y$NmT6s(?df&d`{w8)S{D>}dR>N1_WoS!f|`~-U+x*2HACxy zI-Xvan{S+TNb7>PE4?n`Ke*tJS{GD=^t$}v$>+}1x}XZC*X6rUeY;cXf*R9Pm9V!p z>_znNhrKu+8&hEDnB05~CLipG$DW7vgDiVaHZ1F~8UjPXSiAx^9K)~^mZ>oDg!xs$ zhg(%2$vLLx2zb1VfEUzOmpMkk$GsjIEFQ~6N;uU&{nxKYqLWW&#+!QuH~mx7$2`{l z>8#+Ufe^OuzZ5NRH!Qa{Q|8X#a0L z@+j+(|2Ms@ro{hc)7yN9UDMm1&pW@}+x+$UGEnVp{`zWpyJbGN$FR1q`IJ^U7u?K~ zCg)RJ^Vj)EE9Y37k6}K#4tzg7hWY5b!S^41%tx<6`tUdW6{HMpM1cF((4+)z2ju(? z&(|SdCHPpu)6GYd?>mT-(9B2A2hJcR0{sF36g>jSZ=fj$GY@U@{XFqE`8QK=0OdF% zhTusTaN(S%cKY+#i96?^$0z5Zd-)1?n@p94$EVIkkMEv~9)GmC=;O63N}Y!u|9|t) zQqn192wGp?aef=={OUjE-cafJ-Tl9L=>MCCcJ{$fLY;8dEj~N(W0{9G?FbqPJr8|M zjRWSPVdQ(f?L#m)&M^;NKE~ZZq??C6o^>kT$3SQL`6e?yZ$JOLT3k{d-#<0g-J_p> z^mQtu2m1)dv5#wwY@qQ7|D(wUBHy2r;bi2O#`OU&=3EV64jD+Lu=P#Fh zIsmu?LY)14>Sumb65rqBcFBIeTBjQnacKGsIK`A)Jx74vmd{hd%28?z zOyxe$y84*H?tS;w73E`&#ZFq;xA+;OURO73Vw#frKSvsYJ(4K~H|-V5PPt>9muP2M z!Wnt{P$^WK)1$pQ`n?WDPJ@!>@vMiQ)aCQeBUqAc?7m8MaZc2 zI(*WunOVsnYfE|>wa3F zI~5kVO%rw&DQ${+Y4j*RIb|ZO^N!>4;>U-FZ3iOQb8BV-X|*GF0uBRQf9oaLw@w|#CtE6dqcK%PZ{Y{gH#p3mMcBkP`EOB2h+PS3Fc49R)U%#oQBvht= zeZ7<2Sa&B@x2Eu6>+*(p1o6X`a$mf38*D#=ACH~WK6drvO|!C_urnH)P-#*(1V>-B zy`9@M%hxnLr|G((Vrh30OamWK)^;aD$)@t*%EYZ{`YD94!TW;!antnNrt3~sHh8DC zy_Z|k^v!<@+ilUtomtW1=X^JRj3KKd2YLSYNjUtQ8SAhoREaW~&mF?BB0LiBAD=OT zd#wB6YRUR>{Fk*OoRQg(D1qUgl~{FRW-Rf|Om!^1F)7Sqfze7`&e(%-Uev~J*vZ49 z*wC&D+p%31%*w%JfQ~ge#R=VWAE@cRS88KD{CKWTI(s|rFQco$FP%Ld+kZN@y<9$M zT#vs~<{OM2$?qKl!Hvc*jNiS&M?IA@c4}$%QPzRsRGDv}-YNX9^QNiCz4$GXc?YIL zIU`@}NrbBz7e$*4&wm$dxDA?LCkz)x@{V1N8Fu<}^x1UF(;2DE=Oy4ql@WCg6uc$}& zVtkLNdewNqD`zSo_#pF*!|5rI(2e$I_-^zB2_k(8^nQG}ONRFwTgB~l8S}dKQkheX zY6EukqmEu}X3y)9)kpF&o{Y1P8u92L2*E8{_~yycEWEqtYTR3+<0#c}^!q#HM2lPN zGD13zFGEk?TFRhEqdu6=z-c5(bn$_@Q*daH{a9B=Cyw^ONjZ4lPcId<(Z&(fotD(y z0s21R2oK@-3sdRWo8Xv1LG)UzQO{mK!ScR<`=*ur&g<}m4>|U0=ufuUE~Zq_hLkYm z$NnYFenFC5=M0i^j=s1CXKUcfC{0y6*c`!dqD!~!CC=A1kt9z5(r0;0hH;v@_2^R; zFOF^bn-tpN@8xaPrn_g#U%E$1-XB zrwJ>+OK?5Huhw)A&#i;&;r|Cs_nZru?!3x3#J@tr9^s=xIja}{rQ-hx{L}TL@})K6 zc>eSBqjIEwWb(<~kIIMKFn(tUpBfVaPshjknnA)R`I(mQ4)6^ZKFQa#e2;?fOTx$e zRnGLU9Oq=d4v&EFNj~F1jMQ^Am=3PxR0*HtcaM14Z{%M5MZ(8?SI)$nW<9F{{O<@q z%OQnd`hmBjoUk?*;5QtffV>zWz5{s?K)f7*0f3o+2O(=H;9kHizz#stdH(?MdjQFQ zEgSZ%GjI~(RLQMQ3!1Hx7RT;Li& z1kGdLnDJBsGW=yi4*|mEu|G)vGXd$(^EVg{vgxW>Z=lZ*;`lx(^8`E(Art=k?**N( zRp5Go4Fcy2ED`7z2%y5<49NK?)4%vCaVTW^2UiQe9z1kY@T30&g5L|A{aW)ry(+kQ z|NdKW^S&~j>RPr4UE8{gZS`-0p9=Z@JaTlc~C)FRrT^Ekf#rE z)`*-iAYQI0Dk>M&k#A9pMRhZLGaVT-UyjevGAH?pB-78cE613Ecxl%_q^U>&6e!j8{G8U zQDv1o)_yzRH@Y5Ug&zI(qtELZIesP03W;DXlADs&g7^2JF3E> z9i(8k2T5n%Mpim?T5KQl(!JE*;FzEo%<1}z%hLL+zp9P&YfU)rEJ!Koq=xFDos%+h-f7}6Pe1*hZeDCSF#`g?SHIlss;{g-_w>#>p&j(_TdWDvl< z#<3<{iydK{_19T+WWl)esP~E#ihfu3(*h4eKc{nNd0*q$b*Jdi4H9rJ3Xb~m#$c(V zDI)uNUvpUSa5E*5d$94zncm}lU+1DjcQ)iTqr-IvG;xk&Sr+^a!jI#6ciDi{r|X_E z#iX;08GUPMZKEbo_fdewOV>Dz#j&D1n@ep#?pFemZ)m?l4g4Cg+JK1v`tI5@!5&Ra z>58pA;9JYHv2Y{ucP;`Ae5uV1wIjeB0X5awUp{=;V(=Krp_cEDA7eOPK<>7;GH^-6&Ye8@ z4Fl6T(6Qw%gfVIJlZk12mV)9FRTORS;XKRnqsaSH2XB$#O{YykEgc|ZjJyx7<^I@LOAj?-cMzFBAkKj zK4jtimytWI40ffkDq*(BXlfwsoG~wH0aFjH2{}ebG;4!l847GeZ5m zvmZ;2a&cNo_wW^G7f<{-YAMArT22nAqTAlBFT5yL1Q$W{uqj?lck;y*7Z|Dj_uV{ zIj>ccnJAeRavWD&gw-k29<2EZBXJ}T?`5-6qF60>`)>Xr3LnZ8fEapIsT5Z&1MZiN zHf}o{?b>b?@39h@o|*%(#1tI(+ZG#zvxIl~zH>Q3@`l+%FQXdz5gwKStbul<)k`^3r$bVF6@eSJ%M?jZ@soZmvO7vkfQF%7d0cI-fFH8P+%ha zBc-xkx&aGo&4>UCY^&R6Bqrbu99{xH2noxi7@C8%Z!w^GrIJ2iQaNq3jj!Gi^B$gd z;fMpiH35|ik>+WMx5}>U=gP(M$Fq~WvoW?_i{=kh@kkY16jVc zd;<`(dR=)#`&0WYFWyU|zWqcpp09t7c$n$a5}8F3*_0lU;YQ-)XeH;D+RV*A!! z0ydl~iyM90SvWZS;{l#H9ItQot^J`|yJJyi9w?2k$~+t!^{(V8ZzZ-rH2SV7*7~v> zc!aG^Kb}lJu;pQNHy>t6WvDD5-be<0_|yQNay7_=>FlTKj^))KFGuagG0u1c9F>Lb z&x_d*n;3sSKBg_aq(R4|;Gn;v>CcgV zv4eiMrf(+wD-Qb0ntng&AqRbij`w!br#a|dntui9yaYt)FH^m!F{})J6fy=L2a4DwAH5>PGtDqX{HanMabN0ea-53dWw-SKFtJg3qB;3eswTMm z%d#Jp1K&z>?HO)J!z6e2d~otAG|8yoi$>84Fg>0Uz0Sf|@d4it+av>t{Clgv-S@~I zC#y`Jo1T@Pvqp36Tf@amZud_XhwqjHtoFJ*V#SAj-{yGH)L_oc>oVznBiK)QI^C;+ zozZ_)iOtXri8N%f#OS}W;}cHQc1044(DHVL%~C&Qc_|C=*gFkbz0)5v+jO(y2*LL2 zkoMuH%He}Y{lcUT^I~@x6o82+S)#=#&OK4z)Sc?Xzg1 zLEihRjrYCoHGB0X33WX&qj*9=X`=eDZ%r3lqQt}*y5`Qr_^O3>>uRl2&yoY%M!eRj z;G@V^kz`9u+@tA3N$1sJI(TAYtEPX9wx*@ZL4QEgd8%nkorC@)#(9vxi}WiT^lZ(~ z(`s7S30LxyH3xN8?idtW`X`09-egS!kc7 zPyE!o)|YhKmADK&`z`e~_AXBGdaS43(uebV595IL3;S81)lRhREjalwBjkHzTu%M~ z#RxNxr`}q7sQ#-ZS%*SR6LRLUvA+b0Bm1XiBAa6nr!`AVY}WKKr1P_8=$C0a4+C!D z4M&FlsHUGlI%k*_U9!ecEz#m$VZ{d*@Hvs$&L%esT(`#Wub6{+uD<2o$E@NHuAgGT zoC&rjD9_WZ;;mx7ZCL5y@0MwQ$QD)0vgZz^V;^S0?NuC zpsbN_TK%gdKd?JgdU%H-3Wm2cw~RM>AU&rehe7`l=|v9uA2t6?q@QQ#qIa!Z?}bOx zyFQKHQKNTB?-i?VcFDo#O8nh*>qF=QRo{g+EhR=JB;hKpDhHV@ydBHbp-(hFZvkit zIp}=3Amb2Kki>Z30(D&Vq#o?OVWYuf0 z8EjhGH5Kqfn*fmt^Fr-=z5XLdxyhg7hHlfIunTjP7cTko@W?_($!gyD9Qb~S=Ssw;J>CqQP)xhB;>(zyk-ytfeZ z{(c(HR#sf#=k3S-i~NP=$^%Y3a<;JC)04MAF`w<%FyIf48s(oj5n+3>R^w1-Be|z< zf$@ec^LSKoxX_Ag0ZXcC>--}p`e)3E#nMCyu7y=~bqf|QsqB+WuVWmAO~rK)Qs+PW zY`;P#_#JALscWOtB&}e1U5!6L)&(_{OBamtBaHJj%j9HV9EGbt@29@I%GFXIspacix<@R&pmfkH(TJM<+#jEOQddTk}wii zch*(b)**!j3^>|fOHKe)33TzMi;m1Jc1Kx$O$D8oCYGK|Oe965VOIM0ENUfOy(mz5 zQPt9lvg#Yk7S>l(+~8C^ovMx`mM^YfdfjMMZA=nX5vL25lJ_cLI#*Of4Qd7Ve^K87t zWMQLj+?VmSOlPM-I^BgDptVkQ?D5d)bzzQfQr$nr9|Kjo9{vN-(V%+~Erf-%A-qnl$2+XI_HEYl#f1Vb94jJKk`2QBuvUGJC z^zc8Eof5cJ8ual0srY}R7yrK2B|F~4U>eTU!{oZ8Ir4{gK(`AY>v;;F#5)?q+rZZ%e5~&&d@lPU z@;?gxrw?d7nP6wQ`atU^?@L;~hrpNpq2`nKCN1Af;M**G^8UaG>57z!$@FHT?wt4! zEl=K~wDLxSuT1#leS*BQ6nVq3Uh9Xw)QNzZFlWmY_ypcVsFU~K0yhZ!rNEyFTqUqf z;1q!q1fC8^`NIJze~3V?#!>$J0$&mMjKE(3GTc3Y40o5n?+e`){APjQ6#CZ%zgA$m z(612uQh_4@8UJT!&j>#h_?AE}Q!)M>fQ)~$z-FQUM)3Out{3_b1;1Tj6(HqD1YRic zD*|%?8P5B18djj_XlK!&b&k5`h`VPT23%nVS@n0`+k-#ejUIIvY z5kSUsk-+nX9uWL&fu{?7xZpzs4iNfh*;>v)f$e~d|6YN23H*-0YQWPFKkp0ig70cT zd?Evv0sb4{SA~8tASU(l#sQ81{fmGwp$H5DWcbezh~WYZxnomz~w?;BzT#?xkBeWCgn^OSR(ZE1pkV_ z0-=9V@Gl7T3jGi!94Y63Ku&NnKX+?9utV_8fOy>l4+(xBAi6?l0Lk}7!G{3iFK`IVgf9U?&%o1w)NeZ=!~a3>Ujs7y z&jh~{5JeZbMR2Z*Fx(}8EYE3xEFa!eO!}7u<^!_)P8a`^0O6`L09h~gB2tFm4ao41 z0kS@90c3sPMnu+!2LX}Af%^a{Z#^LSe*nn(uoCc#fHi=$H?0C>JY|4>;Bx?3E;9s9 z75YTM&lAX7da3`ZfJ{FPM~P6<68H_FFBiN@;6kC#75u9LrwP48@M3{ugkB){NP#>Do$=-fK2YERWIoHK z6VQwF@|<**$Fumya@YvSeBdR@gg*mBkp}JpWW8P|^qT-7GH|`%7XY&UohkT0fhPd6 zK7NR~Bg%URkaG44z8jEob_&i7ALP47;9Yq*rb+dj30GV%`XoaiJ&@k_PD8=w^3w%xB zO9I)?r2n4)^C72A@P`Hd29WQ~J%ZmQctY@R3w{G2q8wf$^eX|OPhu8eF2c{yc-|C1 z>Q@4Yqz1+UqA04*1@r^=15(bZ0#6cpmf&82oOLDt0YLKa7x=2s_XxgQ;A28>6?~(> z{}MWF|0w4kfp-a==g*PO%XtZx12SD)Bx1VQ7X+R+50L4Z0|-}rA>c^h=KC1|g(>2uPfLTf`Tj5d-nP0-py&76kqxc)P%d1U?9O2K?6v{%wJ@ z?>-B3-djj{vjN$DO#@`QE*AP%1oC_)`hQXUPZoNHz<(l<^#1^m;a>)%+{XlN5O|ls zbpmNmPrge8S^`4?FA#VRAfn3i17ge)K$}ZfJs*KV?_VO&FOWh>--~~Qtpe8zY!EnK zV2MD#K##z^hy;)QTLrEc*dTDez!HIefdDGplL$Nn1vDQo4c*)L5nn9$r-H8(ypcG< zm~r{}f}3$TR}ScJ=0(mzIw^0tgkK^2W?cRq!Ob{)s^Dha4N*#-8E12E9p#&OkuQnA z8D~Er{$}1H7q|~UGtZC>eTbWRk9zSp^BBJq+{~LS6Mi#K!__#3|1#1-mrv9_7OCzB$ZcZ$}4s*x2VG^9!)1ao0`MdxdiR+f( zyiH6e6R)YPUUq#YHgztm7GiS$LV0~nWpbm#(kjg_lg%nDc2QvFPd%!A2MVcPUbC#O zvK-{<`lZzia3y86`Y&Qdzxt)r5Plk@dal4e=Sr0X$gV6mI%w9~#US2LTfS`RA{Fz3 z^1Av3OY};BF&jr9>Yn1&W4{FwUx5oik~t@VWM_x=GJz_pdhqF;7AadZoO!Q35Jw7! z#F0W1POUQ6ovM)6RSTA2-3S}5do7J#IMlwB1$7K+5(JU;wLN8}qq#PhxKJZd#gSA^ zXIS#wm?D3-3ywdp_`LJaJAcgh^!rQ3C2!-LKWIT^?b52iHRaVkZe2*f&xCD|ah%V( z(;#Ue`dG?w(V5QR=xedRm3+63)lT1pH}WV`IhURO7!c7v(DHrgfr>+OqUa^ihtKl? z3joo_?Xi!8{``F&7i|4-D}S61W&4P4v~tV_;z?Jga=#3@UnaZzv15q^qDU2$YQz6g z_WSozzBtBgoURS?2bC`@4~{9)+b`1X_iv^?eytJ9vq#=)FZI7jz7u;S4F)&mDc;zJ zaBTbiS4jpNdC90;<=NLhga(mQA_C?j!>J4R>5ErNQTDYDp;fq7io82To}jERi_J4( zkNPHcj$&93{h~(+U?K2-b$z3efjZkq9h=kmPHqfWZdx`>TzOi~3y3jhZ;jf|MD2fC zji2PyOoz!>sr??#B@6Dd;={6{V~63GmSIDz#capzU1v?Vl zb?b<%(3lZ8vgd=d2FSU271CVfc&}UZhp}NbW zjsMK?-TYIPOM7Fm!-64i%to{(P8hDov$sZr**la8_2Coh--DeljHz1>#O(dBkjsfS z?#Qw1KVe^iZ$)dU@pWIPl3H_ZEK$D!XCk@8MdPvUo@jj7PHXJ!?Hi)@Y+!cwP9q%| zu@xD(J;!SN6gf?KF?(Mp^73OqUyc_y!wx95Kf>O5Y_Km~`#Q>@3J4?X%tlE`;H?Oe zl8n%;v3{P=t-}V4ncZ(g)3A(CQ}zHIsc%KUSn=MPmzftU{;1ONg{XIX=+;t?FwqJf z`%LQJL53GNG91~KbSENv)2*wKPDiuqbpC87>D>F-MuWz#wqMT6F>;dYMy_=k^2hM| zRQMU6a%R23#qWnFSTF?EknbwnXA=*Dr?%J9Ezpf>cblC`{@m^MxG}*o$#%QE`d`*= zZ@^?0ooQzc{(0N&FUu#@$ZNuUxXQ%iY_|)|r&-D=3wpBM<~+W9>yNA5E@Z_~f8 zht)ON&+o-eN4k!9JS)Bcm9s*HnfcAk$Bit%{XfD#ko}>9!}8H`<$LR9AKcAPQq#1d zF&MqJ?Jp{vc9MQ7ESz?-ekv%OHmq>caL7j3+`>tx=%<{*Nng-US%s5wn^~$GF%{_P zJg?#XBcUcpmk^=CaQ+DrhR?XHl#-xaI6t$QwR|JK;;`?Y(-AJL8>A4jE#+8@Du7**qZZZwFqy5Q>+pNb5Rw1=DO zp9>w_QBt34C2FApt|y<{6;48kh*R%W+v3ws5RjtNd zUMpj|-?FFsn|Xwp)xwm)`K{vJzFTecACYEGSKXSOaipy&8#)}$!udg6 z?Q3?`bt)NSBkN;v$g}YUhN!WT2cmXK7C*Pq##a1x;_HbHP8^Xpt50uy^_}>})?Gs_ znprc0yF$0l9_%TcePWK?hEgwne8sy~;+xPM>Qpu>t?gH-I8}pQs^WtHflyD2z!skk zO3awqgV#3=8)77NhOx)N`?pOwh$uWtpE86GyOzNoNjpl;mopjH!(Wd6&*Yq2BhNKu zaBtl<%kf!ucL{Y>dCpl?4#rqjbTw&Z6+r@3b-@XN$*R(dI*IIRPgaumqmA!(SCUq;caM*v$UYt5?O6*NhO+a zGeN9b-Gyh%E~0?YDkd?6i(C?6S5UbG1Dc0*TiR+5r^j=eUQWwtJuN-8G)Bb@0TNI# zphXm`!7C7zh*l9V`+L9VvUzs1Nucfb_dS1n=e7HMo|*Z~XFfCYnR({=8S4{S>@nFk zoPDvsZ*1_g*dtTVsA;$WxNMLbPh>zUp$<6^4OaRiQy??YN%bBSNcpWJKI@R*nu!v9 z4!H}Kk;`bSYuY+|xx0<^b&xAx+79$$h4d60z@}#Ioktn$H`CtNZNmjnN$%%=*+--G2TqxvE1Vb_j`pmRI#*phRHTJ3b7|r^#`tVBUr< zh)c!}rUT83$jY!6&EG$-^glpx#7i{Lg633|CdMakiPCIDX}V(vkW~q#xIvWSE??Tt zf1ngudD(!X^+e0?0#X<+R+NS;mLXa8@{Lzu>$J#^0IsL+p{Pi>+h#ertfo&xCk|5A zr{)Mp+tLz;$BID!*5tbhKS^{q9gc^)34fA3GMI_@r`kW+-8eA^ z_#7v0Rr{%QKE%g~@S`D~2me1SJe5!AyeIDC8U>ui_z(M=+{eZI5~iDRB=OmWDOLBY zGyjC?0iWZEn|QbohWXhW{%1hQI4$v+zrEp)0?oHRmH5o>p75D3Hv{KZHEw493#0j0 z`}BsR+l(R-`$kZdc}_eCzd(!-th!%N5o{g};{L?<>2OOTV%M2t#orJuNQ_m0inWDeUl$8@}7^SVyT? zQeFi`uzCVO4BDwVcHte#j`0cJL|i>tkVJxu5tv6Ux%IA!WtGXKf@RQbl}M(ntaH(# zTymizEP-|W*kpVat@1>=l>T`=0U@R#dRs>rJ$78@e8s$5dz`Pxq|CbThv7VPZ9+y0 z=lEl!YDY#YIoEbQUjZ=_=1k|AA5{S~y=f3u5k;5zik|iRL=_$O&1sH;h~|ZMj>zq% zw|VPU6}VajIt6;1uc!up%1hUDfzjK%^)!x5VGc>)Scwe#N9I53bUvY?tOrf|ytS?i zq)%QG7*+B229kR&!!S+FX=|aK{xf#^yx{^2NR0;@Ig|Y$j*Hi$97}5Vgv)2?8dPEc3sJ_5oBY= znEV!ZZGQx+%^G71XRQA@5Ovsn#~y%<-Rqjqoy%sh@64VAX1&Ga_%Js|4%uJ^bHwSs zF_;Ii04+?c)Nm6{e*4&QlQGMO#8a z5jmH!aY%apUgmJ^kpAF`9N{c8b=>FoGFvfHtVTQt=EZ8n)6g(sS~HVex4iO8=L8LM<(@eJT;>6Xtq1z z>4(>J?}m4S7ek)cTxD*?a>$T#-J^$OVL%|pkDOmAYFu@!-9?PA5(889!h19@F~Zas zNI>H!BN~ropYdBmE0v8O}NAqu;4V&oYO_lMa3!V!;Gkg=)y$8@LJ zj(;luhg2iVGs3C-b-(A9Zo+rhKW6`QIR2Yd|55W1?;j_vix8iErEe)!VdPgB-5*SW z&%WBz3SXRYW`G{>ABOi$>Rtn;M;MKtbUx+ZrE@_izWs^-dD~F=yjz!Pe|f(#`-#hgW!QOCzF<*_yhxzu{@nP~ z`$7uF6~KoE`v!u`dhE}M5wuI@KyUj7>QpD>kjf-&*Zn!&M>*5}+}o<2XnMLFARN{4 zcf9o0|2nGZ6stf{$Q5}}`-thPFeE~6{jZTKAuA=i5K5gkI-TwMQ!Rv=3~T``l;OLq zKhZydN!ZWSBs7vH_6-EAXJr?x1qxEQJ|6ZuJ>h&dpJTZ&aJeXTe1FgrFx;a9P+heP z>%;7UsZJM^ZkUl9V$ex|DYS!Pw?W9)yqn`teC%8C=gcm2&EV6Esit9KsYguhK*>RR z+Fq=8^!JUy!ZkWo8SxIxF@(pQ_YTb5Vq=0>D?e?lsAH$B z<~4Sz$TQN%C~eV+o`Q(ZY;Gh|oD@tuSX?_cz41K}?Mdi*2$6cL?C|t=k4D_0!^1V6 zy`iHbQ+n_1$c)4~jL1Uf9#sAx2<8g18EK=jDA8Qo&y4N%NA8MuSur8RF6-&gi|yz{ zVyZJx?+KS@xs9i>D1luH+_5M-N*U}hI(Lx?ze{nLEDm4en;C&z zY<~c)G$ zyQk^&^xflk^?5bV!uW*I-@T;ostcY#5kpl%qVqeY%`jz;#~Ys%5RJF~N_2jX5}c{w zcMP{K@t(}oGC_V{GaxnD8~E}jc(Vq{qOxw{DJ{(^oC`La{=r`R0|LF z=n1m*{x9`Lj6=<_6%W9>b0GI~ zYH(!3gFR^+(jR4vfwXu0=}TG*q8w7@V_+JKLWA3~_v0f@E<^Ytp$@Tw>9h!AII(;) z*b65t^7OdrYZ$*fh)f)c^%n!xSqLa8lFS=4)}6k#aa%&3t$*yOz#%AXsEGVgQdFzfwV8CL_AlK zYCRfVjEbX1ZvRI`DPR+u^^(ZG>mtFcFiFA1s<@jN{SjYmb^~dspOmCyGq>8<71zee z6!tvQLMNhYGF4Hm(rNr#Jee|SGF{-yyEUG!El3wKA?QKk0%@P~TLL!So#~3%k^z;W zmv)G>K(igbFPO;Cq+&C-uz2jl^|MKgY0Cs%X8jAI$2iUwlJzlqNmi>8{Ku8xxA`KT z94zF_+|0c&xtI?KYzbZ}M49Wn;1GKb4xut2!vl4qbm&G)Ank7y!3Z}!oWMLnz}n}I z?KdOds4)^V48+kR6zLlb#;@i0y-7DzM6ebF3ksWA>M&HkyBq2yJ3)1?5v2KvgZ<-jzAhWU~UdX zMrCy7RBUFQEt_mv^cJ#Zv&`hqYy!4yd~CVo-Z-PL10B#>f8VV-yI#i50B7(5Q5lh` zb;vg4sMt2?E7~1;2R)ok?0&XmOOm{@_c)4H6=}S>E0H^j7NXa@oSj1CL|(Qc%S098 zK3EiUs!ZQ6v~+#JjmjD_m3H5W|*G+_s<7uaZ6r+sO- z%JUV!6@ui2>Zltpv_(`jFDse@|Kbkh?^ac_upMXhX6y?B3BUCmNU-ZI#E_XS)^SgY zgg3arDc!L10#%*cR>R&+2o`$|?avm`*37K!A&+L;HnIq`WO?hFM?&5{I!3V)d4w-g zOibFoX#~H8U9)CQ3*_vBmn5htR^aDtDJd{Q7mtA*8$0)ZsN% zKbGz^KgK_mKa~K|yp4Y<|7_LEd8Qlx6V2rP6*hfj_&-1!8Io%#S2Es0d&-@go z2mF_TaO)?Mf97v*_*uaDj+*a_j}LmFPyI6?wO-8p?~VRq;OKjJj_XqR$m9h8(e=%H5amku)qupCqwF^V67Nz#;@uAUARh0XBwmrSj|R+yeJA9L zcpCs|zXXu@0|AN8``&5)cR=Em021#D$SvL90wmsUW#{}L@d}jv0_Fb+(o6im0Fu8( zK;rQ{FWp~5W?+brcMl-_rz(3JAW-^66|7URTES8UixqS!2q3~O0p$2k*ORZ{opxRC za+JTW$CMfSc<}~h*Y)TVW!Lo*JPUkX&mU9vIzXEB_#?WwxiZQA-${1PR@m{cfW>a- zyWQSpJ$)&TOUeOeim@!mon4*9ai=cMHbPw%+{FO4q>Hm86nC~yvC4_q61DozS=aaw z+ZK^tf4?>1tYuNCwba=Q`5hH*Zl7lSnwCqznK5UnY13q^=Gr5 zUo{j34WrlJwH?)8oC8Gl6y{9le_w|lBpOX`^ZD|=(iG$R9`D1^bk39H9Ovo}h_a)) zCz#&m38;*Orc?>_NYLZBK7W{KSLl^MvbTAHQXZg&ajH>{Z821IkZ~v z!MXZjSkQPHJR*FTc>=oekEw*SHp$(zVI1GFclGIZP8=U4LBI9bO1%56UsMxBmQR!C zyTnG{7yRKV(|pDrfB2@^ev7Y9`K_CDZ!cV&v89i(VLQU12Zk-OrG6{iCTRW}X?v^} zYmTIuAHQfm2^-B3^CGP1wfGv_t`1l)`Su?V3~2S^d;~Pv7GO7fxDGget7Z!Tj#Q-i zK7Pq}(P?aUznY7<``YY~A83om@2Nf94I9J#pa5=>QL5PNqi=Bta*E&m8p z?n7CEKuN&-atcQshnW`cMV6Gs2{$uO99X}+%t;b?>q;gm$p>8#Mj;cGM9 zmM16E3}fOwBgftB$-$@Gk@gtt-mzcc!I`7Ts+?j>LV0qEImNW>>Of?14x}*DQV`{4 zlze|iu^u^Mt{WZu_hMLqsA<9yh1z6(5MwQDCgogNyEt0{edXD5GeG`~EQH1`fR+#j zb3qc0A-J#ct#qHUFHjK7F>TK7@Xa}X<0`&}1HN^0PF7F3HccMYs99U+fTHQdb#DwW#W)_rlk4)akJ|X*4pT1MVJ)86*y zzFrWO>mi72sMt(lxbtTWl3Dyz=!Es6qI~Q;&`oZ;OrP}(X5>ta8N=5V`qPeyw6+1$ zfGp^=8u#sje5^lUYn1DpBaU=aUMr4)Sj_c8>h$qND8WqI)fo1?xVJjBCrP&X>Q|LkG1-F^D6e2 zje9r)ilYHeOjy(d7IWePuoSQk`Pbrpf_OX;ggZ`fHx5R}TQO1(d!LU*E${ON*1INU zajDRcbGT!0R@Zi#_IMyN-zlr$u8z=SzIDw`Z2x_f1Th=28RY69H{cEpUW?h+0Z;R) z7(Rh3Hc;Vy&5@2^CHHZWk7c+MJ5V2pEOq+0(dT2aoYgBUJ7ts5Cv==MCXy9(%IGmh z%848vy}@c4CokL2;amF!eCnLU*U`+yrXtBCiUutK4`U-YW^TnHU}OePwTS$XnSoP8 z1<}Zm{?=|t#CYfEtTB*>v04nooL@BbsynUOYi*|}^?HD)P}GMPdaV!C-NgFv!{qwF zN}%ck$}g!t;4_n4A0GaD>cc!;AAGD2g&SEB5^Dge!)X6`PPtn!MRj=EULBt5y*jk? zTpg_Ls{=mxoz(%$pcV1zz;TwU26d_$Y@yIWN}}$^DY;sF>ma^cFnh%lMp_(k5@G9^ z)eIbVQ{uR@BlILhF`6L%o8t1X#Sk%(2gD|jxw~6Vi14}V{_^qo?jkMl&vdVZ16$``Yhua>QRbz&=D zT>O|5NbUXI;mu^)9bTDb9YU^vH*^}Yk^tHMC|D@k`b?*LG`GFFYsFp+2m;#u`<=3> zpV!&ce}Sg{tq^5?_;+Bm1NwQ?@dYI@~%v+_yS{li02{9>>i0Ob}srjd9{iC!Yl&uS46M z?%j%}S!|HNx=bMVLv&k?o2Zj^D-^T+H6fJ7`Ro8<7E zoz|=NMj3mTufP(_IH*{VqAMhJXXvkKP3`?j4k6suf1H`*3aRaEp1YIUyOq=~7gGC4 zvec^nNvG7JZvv^^fy{^0x+%5mq|~m{r7!y?@OnautvCE%Qf%);Tg*iY$SmY`W{Z+r z)h46FuyyGE!9vW~CJ&Cc$tmUb7Oy4f9{Y2r+@eF_-MZ{++*W&`5Z*f>ythMme?Y1p z>lkM2A-!0LqWE6pi%5UJ^;ClRRsfllAi_~0!YRpo3^K;ET7K`e$#1=q-z`EYL4m8R zoei^)XuS)G=kF-dkaeCZ`$x=*qOqp5~`a_um_{|U0KW9Kq3=-{?QOGOLm_NRRS0T;rIHo%F5U^_E980>Vk z#x_x$8HjtKjD23K3gvquq5T!@4vI3rv;E!4PR1^;wdIVY7(32C^@rEy`@@xmK3qME z?MCVT@ShhT=CByH;j19`bcI@i6Freq11GexM)i2QEbzB-<-s|3&1d>#%VdSi9#pvQiXq-6N)fzb`$>}FiB6-(2f5hF+bsO zaQ;6P{Q~9)4E4jL@}H>YC9eTas{1L{DF1JFB1uEH0b;2vuMQBspu8U__e#KF zu+IR*{90ZvAVfWH1LPUA8F^(4jCHH;0%8jLs_B53QqS`PLgudW0wTy&yn7sT<#`ta zVru%TuL6R^RW~6Km@mG{1xR|u;2pnyE(K|!y$$|^Q3dN1tX8m8!D0nn3Id35Jfq6> zEZt57;ZD1*_rFvAx*pF_{<_`xf%4bwzyM{}^*XHZ0fZTcC+X{Y%d6dJ*Y(s?{<^-6 zQ2x3dpn?q>e8Vu(z2`vtml-;q?A+#4R#0l0;+x!J()PhP+wbms+9#UCqqEq7WS%sH; zR6;q&*XI&RFmlO;iln9Gbq;qQNrz}EeUrm%0>rhb&G>g~)WTe$ z4x{XP-B3H9>AE2sFB;NAJLxDyBPY598IEeYYtv;NO?jZX6Z#x$5sr0f7%I#IfM|oe ztfOVZjepG}UeDM}haN{LFuc({%Ut&kGt6&nn{4Th2Kx(GYS;|*zG@0px-lcSE`*{fEKCxj212c zLVu6nGR(*$IVRF?hHp7#M!x<*(>!B@2lsm==MT3PLO(~%d(~#-;harKG#2c_ld8?| zq}tjY934?73V=U6byM^;Oat7qnW?WGlH-T2wU^Asc3|uk%v)Y$=A=4eSzc1uA~0t_ zL)d`l5{X#>Wck#s0(DL;h}J9AJ}Ia=K{YC=ZUR*-N+SLl&@a}N>M&4kl~gf5eaj(* znvsI43sl=A)jCi;s!;o;pgIy%J0#UD%ut2eF9lT$!1_s|n6;fG3LdQXPeHU0M4gf- zhP<~7Q$#aU5G@9)E=e^Csv{NZfD}|sP|cTAF~M_7p+Y?;1=VSwS}dtz_I#45P|r<4 zbvCF@lT;6Z>THFYm4a$1sFq5qZJ@e9p$<$zbpfbWNvcOdb)`Zbl!B^6!%j_E^aiM5 zas;czbD;TUcQrKgK%NYa#3R{l5aRZJQr-h&2KmA_W(q~B1yIt1<$_t6n74AFEoj`4 zS=(xCdkJ+HLJV8HC7|7M)wl^T_nP>(6S`B6j{bT%pbujE0 zwjyJ)`qj3gI$me|Ij3Bb28~f!pzmvZBR^2E3v>bnM^K?i>RmUm-qRPe5xyb$KjlZxkG<>BiG$vHN#ALORtCyhd;C$i%PIiJVKhndgGoP}cCDhdeKI?CLRnFFQc?|BB3j zGbF3O?jKXT$56$5f0ckWE~wZjbU=aYF{iP<64OBNxWgIln}I|^t82b-53h&11Us@a zuEN7%tRD|M(DTiDM_bfYU0PiC0SMob&*z$A1plsh{jQ|^(mXHdqb63iLo{Ef{G#4W z@Vtavncz7tYSr5gAi>`&5WK|j$jV0W-e6&So2pF@e$D1tk}5cdl+Q2XX^4tPEGJM6HP{) zuVSV1vxALUO-#E>Mo-3@op?u*jakp&1w1gPUjp|ok1=bfNECB{nIf2B7T^VyUGOV7 z6=87zISzo_T&_DH8>~DNH|KPw+9pgM3Ax_lw99^{FiX1Z|FJ z#PEJd(4zB+7MX{jisnPKILsAhhspZP44j+RqpBQc!sQ;!%UJwvsZE@G7aqP zAx~|JJz(y{D+NY;>fi-2;m1kHD{>bYNC3Zhf*>NLT=T;xlg2Nf!jW>UWzVR3Q^*ME zy-Ac#`9sSf7y(7$*q2u5EV{uJ7g2~eotP{4Ij{r)h6FEXl77jlPH!9I?k(AFndS|2IA*;v1p9C7m-!oo{0PBfSqafs$ya*`b#C#MuElYx|BQL>a_2T*Bf)2}^S%tge!< zZn1<>PUpk4&5+P>L_*i+5*EKGVd*XjtA8M2T|~m@e@WQ(Cx>H4+WPcKeKPy+?RS61 z)V|I^2aE>>-k3FPz)P7AopZ~%uHmm`|8m5<3rBwS_*Whtw)BGhFP;4IBZKd777jf< z+xw~%htxIw$-&(q5(QUVlTJYY&t+y^KA6xcOX??|Ab0^OGVt&-@ zU)^|g`ZsS_JneVa zcYJsBO~LPMn|*4|gqv60vc1G{WJlZj*CxH5`PSaI?|*aZ8_p94-h1Gk8{Zvv^rd4D zwcm2w_4#X`{ql=>v5}{bfBNtzOHbv0aPs6M9e2E6_~GflJ^t~UkBVQs=g`iV`W-f3 z+4$bv&Hk9dw<*VyK{c; z|L^ZT-1_S;{c6T9fBc_^>b~-`n}6{iKX3cf#gEM0_NzZ1{hx3Caq%C1x3%N3(G9`+ zZI7OMe8Ll}p4`5Dvgw{~y5?0bbFC~KUow8|D3@FbnCuQrcinoYYhqayZfh&9tg2YL zeEH(bDwoawmc2S{I)X(wd`0pa0nt&*`xzi)T--wq5zpqm%$Qrw<~@M4^B!cv>jy}f zfj%AWoL?tIe@?7hxnQBW5Pz;?wSg|pQv7Kz20fZQ{At&Que3)Men8o)Iq?nS#Gn3k z%AfkYXm^1hnzi_oM%;)6qBC7D>RgRUy^7Q6Z(E%at4}t2!fH*|g%hj;z?`ifl=0*8 zG6z^LhY~U*o-^XbrSfqlgn&ld+0O9~nGoho*FBD5v6n{E+dRbK z_$D2a);&sa6=ASqS=r)(@$|)t*bMJ%-5SE)q3D#-6J`Mlp2G)ixDa7CI4{-X`KxIv zfLfMuv`~<2MkPP)(%bo~1&Us^%G);39z|YN)xz7E8@-1}Tz)l; z`$e%TA{8F`uq!Px?owpXlUqTs!NTJxDRVQ>80>g7xuN|dv8(Y2E(XC4vsU51AsRXl zA>T*QW6My(_jI^|!?;8&>3B$T{DD?nF@TMUraCr4H6F&`$@%!ZjKTNSffm3f391E{ zTm{ck{HNhxjK33iUDZ?I=b6URD7u8FI0b@>D#~ zmjNq;e?_L)7;1T40c*9>XU!Sri>xjbmqMJzZZP*oZ(;OQf2haAQ0uqIdBA~x1T>p> zaQh1SVefw6HY#TfEaVJ8E4(p4y8Ss!5FA!>LlcZQjd{jr2Qb_8yubne+8F~)3=cYh z-cAMYkLTRy&iBs3l_Rs=8&{jf(OCb20|n4U>mNGHdMeu9-?67S^Zi=C6Iwp^Lb+_s z>5kBA#no@$SDe4nV5p6m(N7TPi336#1A6f{J3+kAflgv2#@V+&Plk@bf|;)g#&I%q z7!3VY;2_6_V?+SZ5JG0ElKAq(gg>g!Hh*DG9&-&*v7bD(Jwlw$Y1Ac_Ksw8R?p_6{cC1q;HRjK zPqGo%eit4MZam!e+*KijO`Msqs|AhA|BUHc>Y+t1*1#I4D%;^;hR-Syw+3ONbj2_? zPcvd4_NtuOj$pYjyecQ(YhpJ~?A}8VMY)Ty z=JX)rKHidTMy`)RHlgnA1Z+r~sL?&t^Vx1s`FASU9d#JYVE!vF|oS!k2+h;KgiiRw6fKH24q=Le*=S>?$mH z8Kb%5Z}Sba&{Zej}bCMT7@1SBB~fCq61MK|R5EK8w${ z#q$&u>P|3r5>5(hg>|)iigYzbDnwW;)@D0?Zh8Ucmd(GJ9>05VE>vKolnfFoNMU^n^ znt=|52BP&Zjmwe{!FUBw7g3JHX+do1if||xcbnYz5NKmx zbv*!f^X*Iv4dvl7+)#7G+(}!Y@W69}tGc6bvtfWGxQ4gs0>5>1ymG{v!5e!&y@ea>guZ zSQ;!|C4a`f^N}4?V91*;gY(hITw938lqyOX8dUKDtyC3JRJ{J6jX$_zpIlSztU42b%3rkiWcrsfm~HCfX1zX zY_sY)-?E+xQp}pWU6{lkF50PQ#JP_B$F>)P_j*2pnWpgs=9D_FW@g!?>t2NLhp%1W zgHF0gSX7hn6bMXB9fFBdBDk^U__Wya*|F&^FzYR^AVHRmN^caI9JryM>RmIa}abF27~34{%R1-lnp*Newsi9g1!_rsc=2=AeFz?U&M2V zsp!ATNfMZk@lSOQ<6x%ncAN|Pslp%OARMMU|98}6f&$dxhh0*v^y5heKgh$oATP)uM{G@XuIq>8;khj%25SF(v zn!Y-BK|aO;Z=2HR#&S)-OQK8sxxoK{(zn(dKKXb6_>0wfkt|6aU+~298l?L;@TMs| z%7-u-FNqJ*V3nMWZtcSJcm+(?kB_Fs9=4DNvg&yH^;`G=GIzn0|RmgFBzvd>7uXI%WpP4azi@|#yuURiY~w54~R zT~Y2!D^|phTqvi+vn$Fm`Rs~vPCmP$oVj%2DDmEKLrGOASW>ZUS>>|iSa?okX$VJF zx}0F?yaz-osRPZD#g&zdLRBR=$C9YBj($l;RTK-UUBv+wy>=p4==tc%yk!+Q+R{}y zo#t9amg;DWO4qWAvc=Gz$MWfMeddbP_n8zHsq5*W&#tnU`{_h4&Lt&*>obK3f+5}Y zljo6X4k@VZ>~`?4svFWCtXLT&rZmaxDcb!L^`hx%cPy?{$KUbN+xmwVW|sZS8i1;^jv~isr@8B5C+c@$>iOai8vXsUod7%l;w__aaD{2lz)~cIK z4)OX8Dl%9$6DPyb`^ONFdZnSJ-YIT?`wHe&#f58Qc>5c)Z$p)Krnvs?n7mSam(a9= z30QHv_;%=0j^cV<-c-V+7G9h&GJz^xL6iFNM?UZKBD@=FihokB~CM}Qg{!3E7ghWtAUGAfZw@0$F#kFu^T{ZQ&vTo|_n9&-&^qdvT z%BtduC?)%jROiZOQ?gwWf%UgbU6Nk%sm2E@Rc+wCi!{3aqT37G#zxegxRV1RMsv42Nstvx4D*-cyMs6(?O>TeV3Fbxt{gbzRXtX ztW(rl!5`a~YV-q@m&#Fz&|CX*N@uiUqza6Zo;GLOzH9*>=$|>bAL10Cy?sGf5yc_@ z%nw!Mcsp~G+`bf29S_ty;>Me;2`eX11T(Dzvsdd*V`R0~xUU6qKxvNk5|$p&02v$p z3m_cg}f~T=XCPD&@st3XTBG@DET%l-@DU{K<8N)tY9)Q zw%b?qDw@2^Wj`15a52ojo$40~!xF{1Dq1wGrC`n1z6#LG?R#8Sf)Y?1&Vw=~kuZ7r zMH{A2l#+a`X)!Bk`i99mxsI918M1&}+KxDxwk9Ay^R});R;fR{#8;|zE zCG%hSBV&uraGDu`GA!#F%vv|%#3C-af@Vyql@g(p;OY1 zsd-V4;*KH!wsCyN*yep4%58@k+X7FRjYpj3fJQiNhf}6G0Jo#gdD0xvm zFjc>W?lkw{pK3nux5|G)H{rEDkuP`Se@cCHI6h1je{cP!qiUW=^Vwa$DF^)f@js&U z@-scc==mRCjhH0Fd}ufDHd3kV%j8 zHMH*o#P>MwPk{J@=lvRx^Dp-*`|Zm935XK^2q44nRQ7KI5`QluqyMh~=^s}1djJ{# zazOG|1_+aV9Uy*rSL4BOmjE(crn1iyXpZcg0ZD%ZAn~dJfzq#3!D0nn3IYiKO8^If zH{Gv87%`ut<&|R~`s3OeVG3wRT6Mo|4(yyy(Q>s%*|oe@DLa5LZFmx2%llN=8K*Y? zi5I(lU6Orcl6_l}{h=hgqeQL{lu#3YXeqnuCCkb%Co;EUUYSq^vha>h3*Xha-iBXQ zHuo~#albt7snv0G!Hr`uI3wfa!mSLPILjbsK0szkOFa>1yu5ezM9NMA=jqW&5F0b0A^uaWviHNMdMj4#`(rH?eF0nn7uXV;J}eNa=)j%=BVc&m ztXaLq5iq=OLQN_<8b3!Gu}uR?1hHtz&576zbpmHv#om@L>y=+8Py(QfjRWw;{ug+2 z>kqnUAhO;Da)49bxG}O=m(T zcO2UZu07!;kGmT`AK_m2CKG}FA_il)S3Z*E@D)5m1^sE*Y*gn9_wyGVMOLFH-XFVV zGEJyDftnFB{AJ`hbTA;#od{fqL08m22G?fgnq%B34|gULFiLbY3-&;N@W!#{sU)0V zTpJu1jhOGtM7)meLg;OKTl`~|h-CP!OU*H2O9P@ouRQFGCx_`p;hYdDK~EYpI(E&p zNJyt)z5ILnB`ekUUDxaG`X!7B($M{Uj%>8-^Es*S3+=A`8`F8ONM*^~h089h6p2eU zk0a#7CA`I56@{w7kS>YOR^_MLKW+be+dr-+&}e#FWWVFA+rN>DPO+ed2k5Z4`q1X0L(bJ7wv7)ERpKbfc_89#vM--6jxd`879+nL9kN(nG8!`C45qn^{;o>NR zQ{n#EU0ndgJHeb3>PZ@Xt2NxUx^)|m^FF~{L z&ukW|oC=~C^3Q2{lKCphSc2^2?R3%mVlj0fJ;UdkR+<=c6=MHI=w9K<>#f6AN`z(> zlB9%Ngxl+ctI#CuX#bH)6nAdqiai^c$%zIp)G2UdkD{W(+2vuF6^;eZRTQuYi49_c zSs~x;A2Oo2`3v4Ia&Y*VXy{JEeq1X5?#3lKz#oqPN;RLW>BQ^*wKW;vLt2UF!T%Dp z*EEbr7(H%Kc;|vMpyz!GPjprDIIKkm=dnLZ_a_znqw?RP>^}rVUCd*@60(#R0%Sjb z3LyLAmjPx14gw?{7a*bniiD#8*`L+?>vK%>r^&|Oo@tb6yB%xH3HGli*{@5o&q}f{ zNV1c*oxY<4$6J<`SKZ0}r&_2hUtGDo0!^H)Zz|WpbT`!Fy8#X9+|GU}9k9>^7p>Th z2g5)j$2avlk9Yi7hw!#LfRDdtJ*-HpYvXztmj0@i%Z4~rJDkbN@4_F3^Xat-2^Y@s z2j^O8MluYHw(E8nvLeix_Cv2!_?n&z!XZd^olo!ae37Q(RP@Rff6A)cVr@l{l~?xE zubrkaixuR2KUj0*YyRTRyF}=%UEieWP|j%T6+LMa?Xva~PQCSOi@^u^sltPGr>Azk zhvL-HcY$mI3!-zH*aY$&=MC6|$P*Gv@YYa)hr6E5-BJ9}=FMpm4PKMlN~WZ)oSvN~ zQ@(a#Nx3`5bmQM!`!`KCYcWkH-u|hm$-D>ue1)gt!9+^pzMVYaplI^go&XMY0fO0h zJH>ecwo}^hm3AF3<boc=m-J_SFHB%qy6b0^dO4(Uv|ZPC${@{|)_1nsG@71?OctcO z*7qLkC-a%cC7zH$5FszqG`+K|pZSVTv4U(9b=v53w*9Wz2#=pQhe=*j)la5d|M7ZO zhILZz5KRoG@|R>2OmFpPtEv~ee3I)AD*%YHdJuLQKj0fL(n5b>O4O0(l6ibN>v@#% zqwR9deKOsDzs^RU7by0${Av5&E6<`~08LF#kw5Ekgl<1via;AOnetcscgpifMWnAymGewH%A-7s#?Mmt;9+45{R|vyVnuJNtRRF-5lX z;p{8+Fz#g@I$Y#L_P4soj`R}GElMy}G7OBiYk5`E$!FaD-ljTenw|>{(?ulQwf*g} zzg4B^h_DEL6dA6ZNKLeT;zd2!-|A^U!~-hu%L+dW2~bFra20F zl>d>K)Mr}^lR&<={#&aOC|y=28oYm`K2?K{pBI@xBFK&)A4Q z8}>h4fIF+MF}7v&$0Ms>ZcFGKo^>kP5jxHe8?oH8+&AKA0y=u5-CQ*P0LRUaG9ELs z60>Qqc+~12hrpQAQm4lSMtdLI(eQ+0rjnqaC)aT10fS^rRen%?r6Y)2y7u8P7@R^K z{@f4D$lZwJptV=Vh$yg!pjjSJ*IOmryE8^O+S74BEb+vcNFvUVk-BM}s>UUTl6q87 zH*-(f69`U`#95rESoa0jv{y{QnO3paz#cs)$rR#bpFFlAP6ubBtYzPKIdZ1KjfcDb z8axHxsd8cZG`QBB?z7BQPZ8Xhb>aFw!LQb4jbQ3yd(EO9E85MpSIo3mu}dVB**-v8 zcK63*hML4klZWnQDwv}Og69_;uAVr;5gaP1gia!S!GZPxIADIbJslRAj|m}*tD9Sk zt7GF=I89@FGdl8M#}Uq0hyFT0`kk31bqRjmxq>IT||8v+- zRJg0FeFFB$;rRdC#|Y`4WVYV{0uA%=FmX{;{jc#Nq7vIM zUTN5(?d_Ly0yi&^`+2|`l_QQx-U}S)LtNL*fdDXchYvd`%J*DlXNq-!&h`L^!#pj%+X$iup2=3NwDf@Xu;zc z{;0MCIpr#OtmOlJS%bin%u)9Fv%+_E_S+LN0F=zk1;Z>4MJ3T z*kR&>K7RVjG0rL&J!b5<@mCZUxv#m_8Rase8~^?+G?+^y=n{UE^1l{7sn#zlS>P~_;-8AY zk?Q+@O*j6%jbEH2ujF`ex<<{jq z(I^DwT`Qj{JeFSqy`*zwjQ@V%7;3)?%TpMA{>YY|M}SwS@K~UZAT%KlqGkj;J&5OqHEr08|uabvX?g;5GMN*M2d_dA^Mj+b%07!co;FkcWDm%|_kxnu2@%yLWqjLr0K_2M-bvpS1qt(b~8h)2J zf2G@xhm~E|qsNq8w@-_dUDxM}b$FRSjtfDH^mKdhlJW--=DT>(U$-~N8)4V&(@AB2 zU0};QLx`{22j0trU))ShvU7ir-QNPH-Olfe-OhKreQlEcc#>VL1Bhh+?p@(>fS&Bf zhi`F$!-9&H-o!{MfOyjqlXU zRuWveq~f15Pc)4k6Bs?-({}b#_(zoz=1k{3&sFtJ(;EpQ!l~=HyXSdNMWa@`beXRw`OMu?iB^H1WW?em?DZ|Itn{{0yeMW1q zcd(w3VSkke=|6~fP+ex&%!h86e8cH5oTk%oPIDQ9r{g~b3dPdxV^lTNxsiL-p&krs z(gJP%i1!^q3j<|p6Z<8&!Y=AIC_;(My*$HVHoSZ5sg}q4Eh;iUK8~TPxvud=ERvd5 zE4DUYZ8m;kK=q2baQ7c3^g-8qTDsYI8m`B`Wkx(sSWfjZa~sWtjdl2lnSI5xA+lqs zb z*66mTI=$A^EVJDEj=8X9*B^iW1MDwyr8Qc68;_4@{N&s;AWqGMmsML^o8Z+qZNFK* z$6UBy`W$zq?X?azzBi)rbl%g ztlaDO)wOt`4I?q(1Cem3HHWFb9_42I9@%-+<<4zfI62daPjcEpPg;v-(X5P#?zA1A z^z+^8P7`s}xj2WlZb$X+zKFFC@@_bA=YZHg+TkT+&=W3kdcxNYaYwHG09(r!Mt}R8 z-+WUP+i~RLsf*HD-H{<_3lFd~BR?5F=Rrr~rz0BMFN{3!6=6BuCo+5kxrz+G$(?)H zz3^})ByU~Q4=^`jmLK*nJWPUq>o6`Xy4u(H=|%3e!|urXv`t?@X)wMK8``huWCgqt z-z8~>BEyTVL)hQdc=W0Or5OIH!p~HV z;Wp4nrJn+QH(`>`+2z2M`!e+Tf6YgHTw?3bdw@4z^^?h`FuI>SxpV&p$09@3J}>es zOrI*Xfa$IwtL)D|fPbFa4?@0$(e#q^F#M}bU*1{;ZDZ*tvk=eu<@JODfcc3DBZRwT`-lvg4w!oW~!jWJ$Ut zKK)|W4fjbZoRP|o&!p&2;Ik{tnf51&GbO&J*MaZLkLlE1a95 z#0OuAd}korTW{wOb-F13+SutOlr<1AkB@%k!lm;Sa`HLJ87iGzr=}SW{_G|>%X?iH zQ1m!hqbXGBtwRQ297mHtvbX+I6)Or%y{3n9wWs%N`%f+`3a}1UW3%$(AjITOV+1gq z=i;A9I3NEJ_@Axex66!hcNKao;|PxOfi}ILJZUHUNKY~i!Y2i?X|ac=yyg3oOuoR! z>|&AdHXdw@zeQa*a}<@RN%PINV}n>J=*k&X2C`fBZx9^GAZ-!Y%&WKzC!t6zR6 z>(VQkK@|?Txb}o}tU0Ziz{a7mP}CF7W6InSZ<;NQSBmtkUSl=+!y?N%qj(a<#Ekp| z^|#?Rod=i~@5~T>&+byE$b43RXaddb46m4hB0<3{X3jeUdNGqdH`a6|x4t=6;cTWz zuScD}LLapi3h;v1JBdlOCm}Wjfoxi|OE-!Q7LXAhMktHn{O{ z*Dt|S#MwR;)7?c~QN--_of=C`wBM!eC>DDGNDYSe({y@bS@kJIcK?(y^MG9Hg8qm_ z`yg;S3;I6T660yRB(@g48JzMnty?m!es*8ZS6}-WXMK6rKC&7Yg=~0Z<@m6ff&92U z)>QN9fEA;lLK4eZ=%mQ})LDtExx?SHHe4Jlx^&MICFtVow{?MrOhpHxD|o z{T^)Pf-S6#HT+F8+_Gs9!3 z-cF|eQk9|+XdXlm(G3+NNn7$ocN8KYU-(2*=E7OsqgJ75RpB%Na#F>u7kPHbl7Se> zRxsTE%6_49aqA?i@Ey)Mv9_*_<4Ca{^P$^{p^ZvlIx=w=GK4~OH(K8Yu5(H96mI6; zdib)QM&`75tVI|y&fMy;Ca7cQILHhZznjFOB!KKN%a&h`{7%2+cTeSh}x z!xIk)9lg(UDY6_#e2bb^y(N~+BIAyOmxd*AhPvuD6$$^6NO<|wjL7wA){SVmCbr1* zn>Yj=UWq(G?XJqSDgL{0I+~7nc^d22A%&J`9|hx`(q16X4r^T7mrgltIJ`0o>~r{d zjJc>1E~`pcbm5IpoBS#y0x<*?-&IsGr~E>M`)~MYWxt}`!HhXgtb%K8sX&44MT`w= zkUyPie9e7j%8$JGedwd1NfwCi1D_@jv7b)|)>-*p5ysm5pDMpdRM>?Zs@Xy|AT;-6|= zO6$SkycZ0pB$|z)Zy@_)sr-MY{9l7-D*kI!$Nxe}whR5ADS!4eV7mA}s{HwBO*Ouq z%>f3?Hzep1ey#F9uN(gdm45*Ksm8~zDgRsGpDKPmuIO%jT&48?X*r0Gk0n3xa|??U zUYT-F#^bn`@+FMMSLeTT;7A?8QH7`Etjjtb@%+HstMJ(W7e>=lR`MAH-lGbSawm+& zOUeh*<&@_lbxvK$VaoWQ240!MQ}UP+??d2Suka|B!sz&I=TW$()}ru~e5R!50baAh zQ*xRTZ!z%xr0^)O3Gv$ITOI)3OA3#2n}DbIo0thbl9>Ov0I&dX2p~i~yFcJ%uzwB< z?fdXRndLnJNIcGa)BU%25btNo{sTI~elH-JoS}CEA}x94fLZXm4iHs2oAdbiWxMe} z(~(^Wh_cQb14#c-fS1Gm4M0p@X1f6K%f0}Qufu%^AY>pf1CZfAMS{Lcd<{~R!24}IR{fEc4@y8t0ed0z#@ zd~x;=K*rM-5JTkbS7Cu{<^2Va;dcXm6ZS?x{IaX@VEC1Q41c?FpA7g_xL*SZQrV*c z$;Tytq%#`7LfGE0@D8*fcOpl5+3AlAfVt6-y^{v zpx_U1B>Z0iWO(XHAb$q{8Q)I`Q^C}@=JY}ky?#An@PddC7@ z1b99m`Q#ci?Q9EZ-v!8gpuT&in|lLLm9nY70rMDnKLJF?BJYRFpZXl=PQ8(+Uso+v z_A)>h+-Cuj?iA(j21I?miX(c`<@!7G`BG)SNWs2 z0YH|=Gk{F*c0eZizX6#)TL3{a`)7bK*=z8ie-$9{=K(UG=KwOk>B`*?h&D8Dvhptm z%!U0*K%^@hY2iFlHh2=@kjH{9_DG0$QTIi>;GHJB4NTzIFREajg4GI^Dp;(bOF@T% zZ6Jczeo+PM6s%UTRKa2eT?zt-aHW7Ob3LEJWvF8`~rTo=PP@gvKJ~lhiZ&}8VaB0B>tqQ`)8jkyY6qjs_eRd^`MH+ zRP<(&9{#%jRHyjW{iQtc!g+1ozx*xe(XRVrtME>{?mw~~(ysf1lndH*|8MnuNaw{M+#_Pr~PZ5WD}z zB!2EmqIX+Tc(xz*@ErNu?e8S{bN#^X?@7YXOR@)(>^CLRyE2JhaT0&bdwYC;ND6;4 z$-gSeKRwBQRT4kDlI%|;*|EfN&9_UYx&z)4sG==_CXR|u9knye8@z50l)siQqHpJN zh~Jd<+m}}^vu!AW^TMUeD}@x+FtcBaHR zjq9$(6o2^==x`w{TV5gFD{s9`th1B|+uX_$YzZkLpA~ZxoaSK*N}?}abgavf;?NR@ zT(Kz$-dR;4?P{M1_Od{m@3O^-0g!=9LyO@k)_F=6FDT*W6vP4+Ix&%I?V>YD@)6(C zqVheolsWGxVT$CNie34yScaTS>BF(5bxumFPE;oaosyEWW!$5qQ?slhQELv+mQ`ReroygD2N`@v+2W8*xelpSEUpN` zNn{%{U1p`?Kk*PW2vk*83Do3_69SvCFDNl6VoLB;`ME5#w4`!rIa$(4Ne~d5d)Zvu z>1&X~5lj^7ilxZ(vP2&UyxphAeM%*2iUYN1VX&kU7ke_}N>D;dqB`ACje9=V+0A-n z!5CaPiTzD3u1BJLv5ME@xlZ&k9MrYzaN!SwK3#mRQ8*+$HvdSrW-A#6W|OkBKf%BH zjGpniq6Y?(3eG!%9-2Bw=D(ylHq)WYdSuUfOf?@mev(iu@-?9iroDtYQ^q%GlGisi zU+7Z_lZ6i@`RmT~wjQ}zrStG2Nx{hvugxUW=6Yn}xu-@9ivB6BDCnD7sgsu|L_Z>21AqB{%!hs6y!YewujA$A)k<2au5D z-quT3B0SA7#Z(76{Pyxa_YC)&p|32~YdgS)6Ypd~@RQj`>^11XMGiAS81&-nr_4_N zzl1;f;tm)7XKQS;s5f)Yx7Ueg%=R*lqkQPVU7e(Nb6;xpBc`4QpPboT%;Y($P1nFq z$5^pbTGXuZ+RWH>&QM=TB{J>=f^bFV#|S8Ag^!U2`IW0FY0VZpASxPh0t|~6SZcsU zV{A#lDF}Gmc;#QNx0RO=nKf5&=F1VnWr-qeLc-L%I9DBfC}6FJg=e|wHUMtGp9Q|2 zWO5oF#Y1w-y9bHF4v@QM?GQ)so4%Sg!yG}xGw$p00FT=O;CvSXJOCG8&DDG$ZtsyL!Isq&qy>*?t|*-!Ps`M6rD#9u00h-1X1vC`C+u5!0%_ zMoI4l?Zu@O(t8ujts+7!IoS2MwqdbIET$xCzeU*lJ{c9M5nOy5YwJ8QeXRBf1vlY5{Dq3I9dMbR3NFZ(h+ zYh*omcLcGvCz}Rf<$&X8b3eM9tRgnqz`|5$MTjC0P4! zb~m0F;ZAFI?~nN?q)K##uM-C`<-+xb=*n|~=euLgUh8ul`?Nmu7QMOZNhlyLL;C}* zP?5OIA@$BmLDw1&0e_*bQKve3b2%C`vRR-+KdI;D^4}?gl1B zd)4k?vdRykS@{({A8bhP))^^Uo_pc%vvxuwUkjCGLkS=6T0Jd>{@6t<==j2`ajhc{ zk#odr~R{eE?FnklN)-?+y4_MINYFd-jS|iH- z93hJ}QD^&nf4E|6!D06kKSv>76Un%=oASk3Q)tjeLm}kn+u^YtNUmUSL-fwREal9g zf%5iPpL&YgSN*9V+73O(5;@}OaN=8(s4*|OxK#@3yQYBMf*w+^04b>dJ5mtrfO_g4 zlJLk`Ct(3D&Q_Zt>|bDfn_|HMxQcE~hI@BEtmeM~^=iiYiD;a0)!{IQv7QsXya)3U zB-LZBe#jHPdkFB2?@@y;G)@m|fGnUAAn3+4H|~_kTpu-R--W03;7W*-->Rs^)~9MH zHFHPb!(Dz@N)Bv7-9><$wZ^s%ZbKT3N}viXlzEK0M|}hS#tRSS77d_;iln~uqF_Ea z3=J08ly82jSCbX0=$4A3-MknJTh2n~9IJp2BM88oM{POuP!SpHO$H0k+_bTeJ91qt z&fpHHc--W!iKXG{KV!peqyaBTloi11u`iRk#y9(e{q`L-PcVtN-!W7jtb$VRY0I)1 zThaDulna%nKlA}BqmI1p1ecN2;G$-r`H!=Z(zGfXew3Xv;!~s^McK zQI>x=u&I5puY8v;Z8zh=2DMGzw08;)P(Z)G1Y4QgZ_*h=IhhC-x3x>PaA;zYYoQ?? z>x7^t?Z*1^fJJ@>`O2Xu9hvf$@a|04&h`-~eKvhkXxp8g@9xJT5HbBJL(6id7mCZV z#|ll%0^22yf~06?Zk(?B_>gAB8Z`ha;<&gaz5yiR)9SapQ7iB~t`cb3aA3_O>p5%= z!`3c$Bx3{*$Tz-&@8C}N{?8D%@q6#{{_+mwFLoi~I?9h?GjSFLU%@ZCV>`Xp+wJKd z>veb0tE+Y(*X2Gm`!_ndIUI?op+ufLyX>{eY0W!J9wgkgL>;l@Nh0#{BL+7{BUG(&-9b3~p*nH^zs4*?{ zC5pkqf~b&&0_>j@?tOwc;sE~*{_=KwDdZax-5Q82#-%#oBQ~=h(I57eLwZ7xG;yy**Udzo*}m?bVXXd1 z!x)@Xc%l_TgROoI94LyiWgj3Df+|}&zxAgUV3?bCukZUTUL3}D5oCKpgLIhH%K8+F z7Gh1t_A9sJv!{uL-r1Nw@v`7s>!ZP|cc&vb^jgH4wrAQf+Bc@d_adM5in0Avg3n<0 z#!1MW-N>{z+Q&kZ!vuHrw=fW5lkYaRuc2Q;faCOcKLO%Y75pB0Nd@ov!y*aQf^SD~ zwA`_&Z>T^%x*$xVz9i*G=%h$=Hd#hHrA zE*q6g^rdgtc>9!{0xYr17z10INs|jOU+>G2m?jV(I*mm>b%ZmnX@(}F%i>d*O za0*WzCY`WLt>#qvirZ8(A;j*wOf%+I2jQxR3vty08zg+anv4++ocxI$!2bpO zU&EighR?TJu{o^IoTi%7=_|%@cbXZ-Ag>jyvs~h=o8_~Hgl`{WwdQt&u)BCI?gzPj znB2044i1Kh|M;WeP>G0P#ied%`;Y1od93~ZdKPZ`hE4wo z+fMxV<9`f)@@0k%?D#9ceu#g8U`Hn(Z~qqcFnJG} znldeSTz1LgkYnals-OsA(FE7sRm^oPTV6JI`9jAH)7>r)rVm}yE6PKdq`z~N%eS=r zGDp>-^5xxmx~5IJcDf_r8SPjycQoKQz;TWnt{v-GR*wJjGVfBs%fiZ~B$1~uXDtja zfVGRK2;S9m+BIH=%=7$zq@4$R6jk^BR}l-SpkP5kSFxbDNE#%HO4tO55E8SYSYfl- zBx@?W2~AY&y%(_e*WSh6%WLcGb`SKXCHQ-1D6~ckayG zd*{xb*~&j z143WCV_v)sPd)r$9)umO%;Cg4$njKnRt)Z7_+lsuG`38MFD!4y6QA}tUd@&qtqe~H zG{#e*c&x!KhbMZ=u_i7f$HgCOh#D8KVlGn4VUpFY=Ow+@<6I3>P|Y&_dc)O z&Q?^q4Kcm`ohtG>iqan0jL@(B+-%iFNlR zcaK|bj#}lvr)Z_gw@AQi&B`7NE2JrrT8(ukYj@L$0 zsrjAB#;lliYxvBuz?4&;_M4m|2DsBBW&16|avX$XQ?jY;A@pDN!Wmkepcf5;2P%3BuK;XJ_q%DHRh7T{I46T#UZJ#pGpWb`DAAdO6gQnt(^Z z)A39;oqZAzl#q^8U3?x&9XT*rL?)PAIGPE{BE#juj3*r_o{FO!@^7;)?!wa1)poWe zVhghnMCFANilo{iC`RK+cS@&IABjvw1tQ@==fLjc1e2mAjc9qNzkIEDyPoQG7ZhrHR2wl8E7A%{XGowrM@>4Vk?U*G&yFB$mlhcMKCK z37AY@G2tCw@kM*OTRNo)fSmAU99JntcUc%Cx2o;Z(7KMmhd&Q&OhNSSvtkgr3rUjaj!(N>mnTFE> zd5%I$WOpT&}YelN1exuqR5triUue`_Ux zCIz;`{O(S4x5cHBh$RzU5_2G29;q*JiN=tR?h=<~FHG{t3zKXjhrA(&?D4`Rzq~M4 z&1f@7S~+2fQrbaMo=HLEE8_~JRptevX%@;VC_{y=;M9D^+Sw&xpsuR6vbv&R3^G5_ zg%6|1oa}y%aE+uc?CoYU=Ix{`dlh#HD{lC)E6$Id6Tj@5EX$7VGqq|$U{PD5A&9nE zm(-tvXM&lM2{%XCL^Y3UKHkmaCUYqG~U9{AC3EY-!MDP*G-QgC}AZU=EyV-!xJ z5d{?58u36?dQom*;(^F4B%!Jz5a~{Kb~H%A)K!DxN_R!(tOby6}S1q-gx0(;8N)2Pp#Kf_N7>g zMUxn&*h5?63nxUIU0by@(vs}#!6k&WN|;m?PLpjS7@mf~JZ>)96i0m{4Og^TngdN3 z8r9L*=G_mun*(h?GDAd zQUNwN_QF-*D)wNwHbQq#M<*`dcyDAnuKM6K&nek9rZ`miNOe^;8vW&nE3&i9 z2gA{>XhQ;bcT)LDKFZyux3XrVcf%=RdK{%(wTzU;e#RZ^-iKOG2V7MPy6fU|{TG%t zt#QJmvciuh$2|n3*XB+;Tm{$Ik2VNMYuxbzEyr zoym6BvJBE$6OPoPg7F$6DO5T^ofVIkb26VUII1EwfkX<0LtNS&p@z=Jg#m;GtKD*N z0+&P6BQAJ)B+E0aEL1W!Fsp2o`x|TbW`p7C;2!SGEO38Iyu-yKB|DdDN8uU5ZwO=- zV%?efXw)~~)|^?0`Bq4E&Gk9D6PX3X8;W6Ir+-5s$-Jz9PP8Vn0@_o}p?O8wVYt-_ zx!S_rzJ*Fl|I%GHHn-cm2J)^=w}0(ecL*IFakM-#F(ORP2)Q-O3he4>XiKD86S=+XDdEw=U-7yS;Xy~R8_un97z=)+GOpCZn>T7l`~wmBc7bfd)8br z!!5lLyQzVl`J`bv<>{SGHKPZ}o1M3|qv1hLwu8!nhAC6v8#2Q0wjZxpBLlNvwsTAsZ zT-KSWvmC7D)5$~Y+O5@WX6A;T8+n)tXqK)z@5CCgCR*yl|I2QLoa9wY$TMMzHuA zU9laFIhl(Nc?8D1YER-T2*nq4q01)G&5FVcOtj|+Op|3rnw)}An)Cu)EtqU~g^pJv zy2QwAD|&IU*G*{lb6Yml7ln7N3NV*#IO()WYASO$GAl>5*V3&aNflfQFLy0TBDy3%{sPH@pEMHSY<~eZ=&!EN%2?^%X(Mk{PjH@9jNs@Cl{PU+Pe&P zvr@YTbpLTa#GQ8}USIFRPXveZ;n=$6oBmhKzzRrQjzERWYnU{tMM zifg0EXggNQ8S2geM1yi$dda(5lITq(spmKjU{fO5&QR3AvNSWA=$2xbp=c&IqbH#n zEkEfgM7Aa4&0%?W#+%h$W~g}6wW)?lg9~}Vo7zkiQUcUUyUXi+uu;KV?o|sluJ6d@ znZ}78W;u?y&+^B|D?w^}928#?Lp|M1rE-`x64{u$o|u6sY(nU#!tEmBlZB2>)WUq= zz@Ww!IblL_kLL9sWy0|;i>!#UDuj!&yCY&I|2En+7Ggu8gw?UD$Za z;YvGMS#H@=_@!lZrg-fTw+&YuPjj!kFgmn!6J64KlNE|LUDEeUZr5dPoZixz5pS%m zsZDPf_qR5zEg1!Y+tCiT`(C{9=YaN=i=;X-`G-=|gE9sJ(xUTM~^rK^y&JNrNCeeWsZPNxeE>wBC z7_VuXkVv9K43q?QwMAn#tl8zV5_}3;(-g+-@gm%Uwj|s!m$lQrx_C;CtG9L3QtoDh z=e`_477)(k?nS+l5QQt!A))eZXw>A*HoO@Hr`w!BD0SWLq5gBV=w9K-!jA6fg3!DI zi3jyzDCV8%GKJoRH@Y!o!3%BLzuwYhvsX#|(xFwE?g;55* zB{mwvsA%xDN9SXK5o8#u1bM#g8sg|rbBJ`tAuOnYsDI=*H%h(NlM1-YMS4;_*b79{ z1~+I|fcs+=276pd%C$zN7gX~PXfnK}OX;&)ObN5it=dY=oB+tkL z6*U!sM%>m{l}{@V;H#I>%$k7;eRdyc$5$-_)$lfZPpr|LLD#!f+-QeY`WN^#C%^|c z(wF7#9|Ndgy_r-;d)K_eKxA5VEu>i)A3_I z9Y5yN@e8l<3(xoqOU9(rFY_9|%xnBIukp*g#xL_4zvCId;}L%gnk`jw0$~&c&Ruz+ z5txiHw7t`TUeCTEQHa2cbypi3z1r7Jr*FirENRG4{wXMvFUK2JY3UUkOL~+m0owIcLx(_=t;Cm8`s6r7%6v;EYSE%A*?Mv6|dO0 zrGt7J@S7d+YCO1a?`gN8(FOic-L*{1qp_;KPJV=3Dr&if?@S+2S4pJM$tVw~Mq?0O z_DBHlnL5+I$aOb8xy$km0)2fyqQ>cW+UN3S9DOX$6#1h@CJ zbtlA^cA#AyPrB|Pw_EP)#I1i%V`s-g*V31tM0S^3JXk5M20XpQAdmXYoe=sQ;%MVa z0|LXtT&HNzYfVTvdbH7s(-CDs*T9pL+*?c9A8vK8s`p~TorA0rgL15xU9ACIZxmQs z)aBD$i#omJ-SVavYdYF+OdX1QeJMKWs!Gpfh04NoRQ@v1k;LShimHyTo^CG6Wr>C| zo;NnjZMYYm7dQ{MTY16_kEeSsp%_b)P6vjCAl|Ihgz6_m)SvD1HaIuqXR>ky%Nb@PRa9E$@t73`#_g9$OZpiq`_1M#5RysIhHl44)Dj~ z0wjOUN({!fy%!EokU#s*o%7mp)T7}XlZSMfhUqN`%DwH`xbA+VV%Q|Uo8oUFm ztNTyUoM98VQ+nPilwQ`Yx&Y*P7LdI$hcGB>H93cTYwAgwjw&6HUdx5_TE}e8chXj7 zubI6;|7nM-OgHNf_H8PCg89(&>7?ss0@53H*M%=0^g&3Mvl|qQdLeUG8AsNcJRw}= z9|gyiP`RK>tiz2C3b=|5HI=(J?QBN(tQ%yip{oc@bu5P^0{IdU ziY0$g40+?)?#j3%Y7yeravkQl7JJZ~aMhCw?RNd}Xb+@gM+}vyLp36(RPRmcfZ9nj z_m24om?-J4G+#?K9q#rwD=pqdDb>D0-n|aa@65mzxa7VhBxizfZh>1zC(c5-O$aul z?KnTWFlbZc;H=HK5Nrn9z$gzHv)XGVm(95Gu5ZD}Q`sa&o-}$r2I&O2I75}yGfc>Y z(Y11ipAPl56bjF%wn6po*!z+bLiv}5Ch;t6Mvp#QSaEYEdiz$0n-6sFu)jCx&Z=N0 z>iR<0@zO2LA?bmU^S3wD*;*A2qs0<{1Ur+#Zh3?rlqQUOQkzZ{&gY8wJTIN-Y>EdP zZgb51BvdQ zP-b(TvrFPpPhV&dtIU&7x=pe;XP!{zjz~8y& ztrCiM;Lg6IxkuXJD4c_BxQqd}(iq2w-Q>v;qRGrlS11P4ArEE9GNgBhD3PMlVnHBzk&*&j_AOCJUZk+l#RBP# zWTiviG|FsJmNK!+QYIqYFJiBd!{`k5UmM=t7e>~E(6JwwkJ1(vnvcdm@+3#kr#y>D z1v)$A2}CN;-Q{T)HCEWw(NHj^2pyQ|*}}|h5ogCr4`-~f8*EvDe^ywA3ft)c#hKX> z%wiLTqf6&A2CqNWt>*Qore_(0gfa%1)fmPWx)=~y(dc50tf)jfXWb@>#-ukkX{_0%p5tKUJS#LWmrieQ_x*d zP~?TVITv4dfu_&RF>Fkc7fUw|hpvG+ddt#bnDfF4i*yalaSdb`V<{|6drQ?@JX*b& z;~FJn3%Ca65XQ3!k7L`>sf%-Jes^0cPjFFgx;S@mN$%h=xr4{%4ld0dT$VeyV051F zJUfId9R(MgBrJQR^kRtDTC9$C$*BBv;p91k>0lIXi3SvHHX@XB5+3wLSQBk+i!Ve+ zdf~KCQNRt*C<^!ki@m^N46v=PoI16t+&wIi4)z#|#5Vlen+uR$_6#9i_F05fGJZnp zmMlU7vIu=Vk+l`?jT21=BK2NI(R3gni;zgO2nom{WGnJ;A!{r0gduxhvIyB1KjHSp zPq=;Y6Wj`liL5M>n$&K`&v+a1G2D`m;ih~Hw^iC}Tcy3W&0`BEsa3w>soMlz2k(bevMR2&tioMkRV&T%h7mmZ@ba$Zfw3kL3GEjNBeUQc%+sG7ak4$?zf^sQRdr}0Ltgj*)>HQQi=gajoB zrDw%t4~XLBXZ+e?A|9HI%N7qHvN1Q5sjEwxO!ZL|EirWeqaBuTWyia z@e6$EiH}dD1%R8XR4kFG$Nh-3MR2b^QPP3ufO5X*KuuZ1x!_xr1Me1n4>IK`g1n81 zXE0gMH@i?VNW&y6&}+Q-)|TcB8erKW()h^^kp_^y&>?Th={#FQ{zb&*Ta>7LixLkW z!OotKy`IgLvzD>;{FX$rt*aBG0KLu!G;BGC9hGdFgtl*8QE@>*sI1s~n5!Y9Ll_oV z5SUaGsSnl#i;71%CMa7A`T~jlO;lyY{~#hj?TxdWk)qzXq*YE#O`W9IovB`0G>crFi9~`+%e>?jmKGF`4PnU(48_pQmRY>5hIc3>CzNofdsnh4B<>_Lu-87; z*12SDII@)C?fKbStzrQ|9rR#Hk(*#h5amFhtN*@tXILVS=ffw}4sBw1Jg z%St3`!+#T}%h!JtYyPx)MREEx&PpW9X)mYHtDX#^T=ea-)I+W!4#+r&HWa*4Ze}{= zT&R2H8a<785fr5|3RpBuv@tl5LGoU&98YgND%wcs0P%HrV^?En+O>3%9lDkkLwNWHX}G> zd4ayGk9qX<)*~$mbX)q8*A$Im2uzOQ5(^3n3$$-7tIsnLshGxSF<={m)i4U8QAzan z;SB=!{6F)mb9!*Srn)+gcQi3b1UZPza2TMyn^cb|-5 z2cir)M_)Uh`NS~7)OSSDK65W^_&XRIWmF$}7V#b;Kak^nsKI-U6hm;3bl+jgWP^@A z#Sl|@i`=BCvEBRH4$eOr*j_uct|~O8a!Md9XLn2*JmT?M(UZc}>3-d2yo#Ffgngb^ zmPgvw82sU0l4I*T9SvIIzG$$Njt29-XxL)+MI)_tjYj4((a4fUBlDSPWGS7R^cceW zy7Vq#C`qQLTEitJ40lm8+(nIWWP#p?`tLK+VNAN8({xCeOC^UFqww&)ts8hz84%Eiyh3tO0G4;3@cmj%}QuCDZz&s9TqrGJJRC}N$gNE+KD&W_ysYK!tmQK46ZQGa3bXv^!Cd*$`n7w^0XZu|*X=eMlkIVAoMlLIUEW=+LsjUoGO{}V{2y{i#H=vCz z5tIdO?i*Klr=+oBvb#ZVZEOmqVl5c*jr__*NI&l1GU(U+I|gb0TL$UR$HY2OYv3OL zZ<3vj{YBahn12Vd!N1sxY|!qCWO)cXhg?QqgtsqlIoIWb6FhxU`cHHT&vglc|-Cu-Pg6&Tb%Fk4J!RS)XA=!u9BO$zWZbcv9Js14KWTIDDu) zrA0lOBTml&G;7Pg$}{LTdmzTHrtmov8Kp2akhLT&D*cS0-w~4{k)(b4`A^m3lhEAj#P&K|pp&5Rjb`1Z1Z~h^&+dk(Cl5vQr{RR!St3vQi=e zSt*f#tdvMVR!SV5yDl&GW)&1lGb7)g`MSBd z=@HDJ9n!g-y-5@IU*uYjxVcN2xOpPDL+BbhayUY+vre+kC0$xWK^K|Vhv@Q@sZ1v_ z*UFN%oGUXK>6J0;LdI2VW=7K=6YUk^_FmE_cc)C>-$IfOg)rzDH-IvZKtm*ZQB&Dq z%?NG?ar`r=OI|L<-L7=Y5W>@Qz^)huagc+a*sfdrp_6&^}&*w3{YaA1)kY zvZ!j>v_Q?Ix@mapu4*aFmO*1MZoUe_1L4|FS$!@-L$alD%yFu7YTZhA}<`J*b^+3k!-y zW2{3<6#o%|XU$#+0LP?V0X&dz!iOR-PRxC%ZenI0{kG_0mk0KE+Yhfx%claWrc`<} zL2pnM`fhNSg_|pE2VaLp9ovOx{$2i|z{yxsJXv~F4O$NPi%ytYKBcm-LCW!lwrFeIoAp9dQoDMgZWhPS_bk-C;S%n|SC3swT8go> zSK`n9>NUK0Sh}Dc-J5?zz!=Rs4bt3;x!r42_XlLA>tr$83cDUgM93Yu3txI+_BGzre|;hXFf;(^2!s8^-B;lJK<8#pniqiqA!v_AyQj z%k;&G5u3g^)#t@YALFEtar(aMhR;={yz0w$LpY-_P+8#>B$X9XlK98|`MNb@7%b<# zcqs!li(-L}>;Sy0*pYHKczA)W3_WS`HjDRlR1|?t=q2|?#QSlqE+kSxyaXQ1 z@DVpiF@$ah4uf>F8j1@t2V0nL)^u zN@To*w8mw|g~;kIL}qXS`yT&$TXQW_7mFmf7lE~WM2QL+yNu;BeIqs$rX#sML*>2pxv0uQG!}&DmIvbQOhc%DfP4)Hh}$oxLtB zJ>DXnzFsKO(+l;|Xi-U%MVU^EN=hxteDwN*QM1R;4w_dmyTlvGkxn=2JsBOGPVisy zNN9%lQvFxFq&Cen>3_vblGD5_WD0qCl#tW`e&`*^6gX**lsD>;0>*Xt%Q~`<_DBKd z9ujD5(({mxE#pCKX^%vZ_Q-;Gnwrq~C>)Ja$;}mw9$V*YZT#i&1VX4SFg5JCgy21g?ycVH{7YBFe>@xJPQJiZyW3iST%-$%jNp~YJ4X*5a z*T3k;Q&xFmQ)9%peuaS6U-;=D311Ir47=;g&%;Dfl|!MAK&B;sr6#Wf_F z73zuNZfjnAv=^0|4~|Brx;eZiBAMxh7HFva`b0XkP(zFSp+y>6><=y0&=P-WiH45x zhmO(EvHsAp8j9CdGHEE)&@z8$Ss)RQEgEmrXK3<@ztgOVnB6bJG23`!r$Co;j zc)27vvonc1xaOeyR0b|(G$Pu4JwUFr$=&iKasK048eLF=;cLz9Zh(oqg4mfM7m{V9 zX&a4owYo>V{}>M8gFddy^)J?F?OD{ZFpkf8wo3cqAA$cgF`1~-YhYx%ui<{C|2L}qn!RlI0K*L&*w;FB=IaN77<@lxyH-nt&#^e?ou9=+b zCghGX+(G12Hzjwn;g*q89YSuY;jSj9x*55P4R;?o)y?6Te7V|ikC0Ox3cuvb&4zoC z+?!OnZsi)j+i)My|2cIFat|2pTl#;YZb|M@!>uj{6jMKH5c9I#Ct?0+L;5$TZsm9S z=C`3gMBN%bxi+8kF)}-b{ynI}jb9fh)4vyW8+91nhyDhtlxK20-Z0#O^e3s?8NV(r zqW^H}_UbTtJpHFrM;N~@o=g9Q)E(fEe12a6>ZSBwL*0?wCx&}~{->!Ujb9gEqyHo7 zPH;%RtW<#d4gEh;LkO4jeP_7USn>3u+WJ88LG-Kc42Nv@Ck3cO$f=G-xLhBuFef9j z9XZtkgbBBf6#BktEIHLe_=MZgaA9()MdUU&++O5Vi^*+cxc$kgmXHe>u7jMaG)E+T zV+^;1oT}8P!tG(WGs&rzlACO}Tgcr*EdwWY`d)^6gZ>YxyMU47Hp_6UOTmq4J?gHQ z7jBN>g7oi19VaX0m`drdr0$l3k)S&I51{UzhdYq|`P4n~a7WUA9CbW6IqzG{ewjJhYeTMTzA{SQ*7 zkh{lluh9P?bt<_>4fhNE{iFebsTwBv_pITD(;uQvBloJ|cGq~QHRRqkTr2(E)LL-4 zri1BM-3ySkV?Q+;4`vivD}4dz1UqaIe$1()Q^lwAmPgcq?jikSjx_=Hvg39P0Pqp_6y4ocAr&4FbA?^G1 zP5Snte;?``avK`1iT-wK6kM*UoBl(o4Y?qM9Z&yB)EL6#eA(D+cPahnQX9z)G2Er} ztH#LRrPoW-^hx@0&5ymr%dN5Y(4@;W;NYKBCdI%V~jt(~5ne?k33P$p8iQ zr@91;9N(i2cM-X3sE2`(d_Ku=PtgAo^>A`$8SWeUf2STn?gGR0la2sPn^BL%ylnRh z!|gJ$QKbU$9xd#k)5&c(Fk0tk{;r>nkGt}eAy=1u0 z>HnH~Jh`_GH&8l0Fl|gd0rOIB{MT?r^pB&S2u9AAuMIbo{wVb%a^D$l0sY5NPbRm@ za7*dGhV_xFh&~OFx z??F9-+)%^Kp?@y*Omf>9?j-szpq@o;wBhcgU-fKoa-HvDxCh9oE+toKxR=POE+bcK zxE177&mp(3;XWXzdM>#p!+k+c^*nNO4fh*4)$_s0dAite>jV*qN%aDmhaF|O!9fIK zQoRuKa(quV+%`c3Vp6>b^TI7NTyYSAm{c#uyl|HqZd?$7m{c#pyrl0s!%YYx5R>Yq zm=|uj;i`fN#H4x|=GTVZZ@3vj1Y(*KbP~86BHX_X*F*mi)GNq6XSj>$zn1zhaJi=2 zgI?%E)GM(l`|+xY?-lw#qFzPrUBmrM|Jqvtz;rcC;``Ka!|30UdJVa63^$(sD(bc1 zn+~C0^?LXus`U(a1Uc0k$PF~yDdbdd1Sj?CAj6$SPW2{o zn;GsrayL?M1}EpiR)%|qe$`vZ?O?bU$gQB>O0K|gpV0p;^)_;4hWnHLK3fC8wA_YZTv!YU0{MgKJFU0|d=w5Q?rreF1L zFp|%;hMP@J^&WDw3>PQYO1&4HocD7Km!x0yJ}`1VCk%HeIo12gr3`lhIn@Wq9c;Lz zKo+FHryxVRNo|biQ(4R77k3RD=;tle4XKjkW+n&+#QA+ zLr(Q=at|9WLQeG^a?cvBot)~se$|i3ZDzP#$fOaFUU0;Zs7KCU{d`O^ODa=!xfNI{fgYd zhN~l|`ag2V8m^6;>euAXFx+9}RKFp2q2bOWr}{0qs||M>Io0pT-DbF_$fl{zPu2;flzq{!DI_;ii&P{e|3W zYhlJWCCI7%3ZJBJUBewqPW3l(n;7mYa;m?R+uCqXl2iSIT*z>rl2iSYT&dyK*#Qnr zs?r#j{RkUwM{=X6tASe^+%&@#(yzKYI6-C@Zg+C3eaP)^xC(NrYmjR++@9oA`;u!l zTpc;pHOVCnw>LS}wa6_r+#GVMYm-}IxF&L{GHyeVV+_|$PPHGolMUBRPPIR|vkZ3- zIn{N^oo~3q$*HafPLA(ohFeNbb$xQz8tyuBssqT~YPg5UsSYG}kKtY=r@8^TM-2A? zIaL|=BKz^Q;l3oNI*8m$hU>Eq_{nA{4(4I!tx5xEZyw+%VfjmfPv+-~GlHzD_( z;bxFi-IUy~hHE3II)q#w$sFHwG&$AH$n`he>Eu*p+>juH40j-C^q)iB zf!q;>yO4g>9m$L_y88gAX4yyL67 zGr3z0H;kO>Xma-$u85p!0l7yES4~c}klfRTYaypvMD8WS9YRjEnA{4(ok>o$gxrUQ zyNaCZ7;-BOcRxARvE;rp+{@%tOUeCexX;L`mXYhTj(42&@Au?XcOlo`aDS3h-4&c5 zgA6w)H*(t=ZclQmyOSGbxMp&ydypGzxW(jD$CDdxxTWM&%gI$4 z?mBX+6UfyW?g4VDVQ_ND_BGryOa2)Px8TWx3W zJW#DC_o3l7CZ{@`+)Bf3OHOqLx$g{DMox7mxnB)eO-@zDDNDZe>F1?e|2B|Q-J4v0 z!!01Ex(~TQhC7R#>b~SQH{4a^RQDq{+;I1hQ{A83NW^#8*UE$E!4T>9yc6* z`OHm6Qj_GKH{3G%ucW5Py3^EqP3{B3y+^-l54n|w`-Gh8JaXR~ZY8-NsPoDF zZn!|9x4)_jz^#FxHTyH1(vO_#LU7V0-_LNHklT*B2;A!61{iK4{d-am0*C*B4GcGp z{yOSn#b!*$cYka{S&%?)=X{ijivklWI5 z7t;SP>S5%D8}0`B@1Pz|ZhON$NdM#1Bgl<3+;jA+9!YLz!@WfAUFuQb6*nOwW!mea3#3b`J`Jw{IT zRB*Dt2OI7wa&J*jBe%qGtLR_57?EH)o!k+I8%qE7)HBE(Z8$w%s%L`BHBDqZdr{8< zC+FXBCcgdXS3Mh?bk&_~xE6A%OUa#OxWmY)E+coo;Z7x|dJZ@_zLy#9JaVe%lDpP$ z|01V)9=Tf$cQZNF^U2*~xO>T|UO?^{u8NJlH1g9%jmzHdKI~?40jX#_foGWx1-^np#Np+HROs6 z_a6OUP_HF7&Tv1`zs49Z2d*PmX}E#(52apDZkpjn&_9lP12`$KW*V-J{wC^;;N-m8 z$8d}3Kbv|Jxv1f8rTK)`xFx*gbs&|q*({Lejs&|pQz;I>cRPP2S z_5QyMS4B?s9&$GsE=ErEUUGLEu9KYVedHcB+(G12?Oa$H|Q_T;EbJ393(!D>U5tFoG`U*CO&~Xk z`V6^!3^$#A)n~~y8g3tQs?U+@FkFJ1>VL>BFkCk|)#u3_Zn#C{R9_%>qT!Atr}`qf zvki9~In|fQU2M41$f>?e?i#~gPEPd|a<>`o7ILbulDpq<50g`UjocH4dx4zl>*QWE z+y~@T-yrvv;Z~7TeUscLh6|MO(xa{*_qE~HqhIwca=#dE3v#M&lUrl`^d;_QLgZB6 zA-BHaO310cOKwxc?MY7cJ#t$cE<#TAeR4Y)Za;FWACMbkxF&L{ACenyxFk8%kI3z5 zxFg7^eoU_3aHo?~{e;{BhP#}c>VL_#815Ews-Kce8tw^ls-KZtY`C|{seVrGXv2L& zPIV=@Qw_J~F5da0`USaj4L69K>X+m$H{1wvs$Y@2!EhzyRR2frPQ#5Sr}{OyhYc4Y zr}_=KXAGAhr}{0qR}FV4Io0pTy=S=7$fXX< z1Sjp&wFhLE2TzfEiTV>bx$o|8xVPw6{TZAL{TpbwugIzXLT+Qj{XtIkS8&q4A8NRb zcJ=WxzdIUk0y)(`$b}5&ZT0W}PGx)%s&sZrf9GfuUy}aC)YSk< z`U(wqJpE@;<+~BWl^E_S`c?aoD>dBBDy2z;xB-diNW67y*K(5Vj7n4(!?|4Z1 zx(s&2xYNn0hRD5TxXa0@jw1J-;qE1;x-+?t z4EHiQ)zRcWHQeXqROP!lvL9aI8D54L5Gs&q|kSjG@Gda~ta^noQ zfSl??a^nqmEIHLl{S4Qy94li|oknhs;kG2FT0^eUa7E-)Yss}3ZclQmdy#81T$G$@ z9l0*U^^jAIkn1+w(d1O?$t^J4GIFZZ$t^bA)#OxXkXvH7hsmkVBzL6Y-XW(ti`=n> z`;pvQ6TIWMH@OoHw;BB-sQZvR)o|nKSKXJ~nTFeooa%n$mKkm~Io18ioo~2ya`UMN zkh|D$r_iq|-yxIp{&K@zL{4=MxvLC!3pv#&x$6w~2szaTayJ?76>_REa<>_7B{|hb za(5c;cXFz6a`zf;-LQB3Rh!5?Xt-hIRGY~?YPd1vR9nbBVYq4JR1@T$FVf2* zH(ZLGYAd;y4RRfVP8g3{#)g-xZ4L6FMYKq*ChN~c_+D+~^!_6e8+Cy%&4ZL*g-vl|; zdF0kK++uR4Qs;w{{<{8#yPW=8s0+w#V7N!=e~r43+$M(mjQ(G#i^vT#+=i9j9&JNC zh}>|)jiX<6F}O9b>JEmhA*XsUxsc)JkW)Q`T!G;hkyAaCT#4b1C8xTCT$$mPl2bj5 z+-`=uj-2Y@;QC^J%MEugxyPtSfRph86Akwq{i;WTlko!64EG_q&!|U%%QgLv{y(Wl z=ivrS^wu6pJqFxr2%2fOJBj{T)MLTPc!61ln@j(E>T%>640kU5S5lA9lfK*Ne~5ZQ z9_~5%S5QyP!+lEs57d+LaH~)9@?`+^8*A7nwBIc`_duX+}_PQ%?oPW5bXYaza*;qD^$ICUvF zxjq&e?qm9YqAnwMnBn?P_Kw>o)N{xkXSm_?7g5gzC;NMv;ik}k0QEe^cc$SEq`!xH zJ~+94&o|sj^e>}cK<)~|-9-OA)CJ8+AhP#cN>W$<^814absyC4vZMdh% zsoqSk)NrqmQ@w@Uc*DI%PW4uDlMT0$oa$}lY7MuFoa%CNvkbS|p5Ad$y`9_~!>vnB z^$v0^hTDXk>Ye1e47W8o)w{?oFkFb7>fPj)7_O9@>OJK2_q+5g43ks6m)xl)zG>uC z?<2R&aC?(ey`S90hHE6J`T)7B4A)6c^+9lbk@%Yow~(CbL*$kl?g(y=1og06Ens$h~g3 zC&{Ii+}nnGiJa%{g<5TGvxGl*>r!uA*cE*xo=E-zmijZj@&B4 z^_}9ytok2vzZz};Io0RM1qNx#JRL$#^#yW$4L6*e>Wk$187@Rl^(Arx3^$gX>dWK? z8?Kz3>MP`i7;XwV)mO=FVYun!R9_>fzi+3xGn<_1>*Pk5_!8t)-yjzp zrT-`D7vzpJ+=kWO@d#4C1ea^tp8gW*S9!Q`^jA~=2d+ONJkf0T0Qx(rUz1yExFz(T zM*W7|rG~qd{#&Wvf|K_6^@e+t{#U5qky~!KPw4-V`aQY(47c_)FSmwJe<1gm;dZ2d zSL!Nq&l+wj{rgjYB=?HpI_O_Q{Rv#I>2&%pr~aIWyPf_gsK4al-lYEv>aTgYKj_b4R)))<@}LkIoysq2ti*KkYdKaSdu++f3;v*f2UMa zc{}|NQr9E5lZo#s`ro0h4{jYqQf#L;CfZT3|+jK841*!wN-HC=9Nv@Q-0l8_0 zn@GQ^{O*U8yE6L%dU z!gh}_+r zZ@A6KsSYEz+;H2GQ{95xeTFL`r@AG%#|&3NPBlpGS;IxhscuE?6~i@uz5NZLr62pz6e>}C2 z+^&X;(63qqPRf^Z!!01ET1;-T;g*q8Eg@H9xaH(j$B>(0xYx+3jwPqRFRXd~Jvr4< za*ZawA=8KB9k}y}cCIlN)Kc zQu=38r;{r(+^O{6K%GHuSHrzV|6A0V;Brmx)Bh!P7C32dgiU;X_wm-=fVww0iE^sp zwxxd$>OO!ZpKA*Xa;h!l4l&$5F?Bgdx_sqCa2m; z?idr_Y2;Mf$Q^IErQ}rG$(>}l%gL#BkUQ0I*O620BzK14?jon!Mec0FJxNY=F1d3I z_Zm6XB)Rhq_djx~DRLJXZk_$S99Qiocd6mFAg9_x?h3;dl2e^W?kdAgB&Rx`+_i?A zMNV}Axf=`@C#SlQ+|7pTA*Z^C+--(Cj-2X2{uacQ5fjaJS*EAg6jTAnCWb z&v47h-Az42BFiy7K>xGUL%~VC@Pvu)4f_8}T|({!!+l4;>S5&GG~Al|dx;rLJ)GQ! zh6~a^ih2aOFATQ}{i;Wj`@wM4ju+z{&ZyyWy(opG7^D+$6&_(BDBl4V<(~Y7MuD{-dd$({=PeOg%FX_d5MwQP0Z5tufo%%4XEF^Khf--<7%)oaEmevmcf8*Hf2) zllz{8;r6Fr^&H06Ww>^7s^^khXt;yPsh&sfaKoKMPW60pCm8Mma%m-Zrs1w9r+Oi| z3k-K3In|5E{mXFAl2g5y+>M5No1E$; zk5O;W!yQEb3Di5l^+OWM%>G_V|83Me$%PH~EdB3N?;=-ixS#0n8}s(}ZgMjXH-!G} zsrP`B`ZsF0@$}bF?Hrrt+xzTwWI{}Sr`;BrmZ(|;HBfjrz}^uIuTFc0@O z{a;ZZ0w?wF;U;~5(m$}#OVz{VjyK#^^cPYeA$Pjr!t_t4K1%Lf!!^^tfchA@OAU7% z{pV8uP3{`QT}%JH)W^x)Vz_7Nf0z0Mxw{Sb4gIUfy?l9++{1<&ME^F_r^r2JxDxs& zQlBRGqTy!JpP)WN?oGoTME_CLXTeGN_krO~q+j(paDBn8G~AiwRR04m*K{d4)#vkY zH;_|(0i4tyUz_bdL{9ZZaMB)HWw__at)RXHPR{4w4Yzuem+Ar3m&x@V;)UzqG4!jx z!tJhSxJq&n>Z^=zu;J#@e-!mKazhPwHT|lubGzFZ?m=>&QQu&EBMmpS+1sN^>YL<> z47Y%O)fL?Cu7*33+~w4_7~cfLJw*Te)VIm)X}CY=SAB=utux$uE#7{pzDsUz!)-}U z^*wHPj^QfEslHFH#c&C7svm$`6G`bZ+(G12KV?<1}E3= zQHI+f;pNL1>L=t*Hr)R7A5Q%*xuu4?nts(!!L5Z&Tx__9$*F!u?n=Y0AgB5{xU~`A z4Tk%P+@J%!{aMNM-EO#I`c=PRd=D6|l$`39;QAu!#|^g|In}SoJ!7~qxd`=t6Lu^>Rz~=RDko>5ozSlH1&H9rPbcU6b5!!<|mQ>RRBW93N@8 z^T}OLT^pQ~e+7nnkp8Er>yRro+`IIv_5&xU!XAeEgq&)BauW=Uw#&)!V(b`%%}=!wsT;2z5XnE=d1Q)PZ@pGWx^R4f1f)=$}R1Fb@}_KS3RohwGw$ z9(8aY?qK?lq;8alJCXh~sT=3vE};KP>Lz)(Tj;-=x@jKn5&EB|4#~s4O#i#o&GK+7 z>0d?NJP)^e2hSJk&^+8A^;3uC;c}h3|36{daeD>SAhz2d5muV(XdL~Ms9TY%HC!G2 zs#}xW*Kl3rRELvmGTh1JRJS2F*Ko_oT|(U!T(0RF`fs6bmxsHX{s*bs=iwfw|3B0b zdAQf<|CqW1xOI@g#b!UgrT;ohSE zGinjJR}Hs{{ytq^eixH_*Kh;rA4V-9_o?A_q<<`R47qO%S3&EQakK8fTN^o-j7Bt))^gm3U2u{kOZ4LJ<{jXCeksD>W59$AcI+@&9!~H=2AJi&x z;|;e~(mRd=se6*EGTadQx28@ZS7*49^cPd7lH1pCyU{<9T1~Fea5ePDsME-`8*VQB zM^S6Y%`@B?^j}G>C3mRdmecEy06Tr2%cs58hdH{9v;UrC)w?ta7FMgQ~ES>zr!+(-2PO5K~>^M)JH z?d8XI)P2akVYprB-;260xep8%r~g>$e&kjf?kxK6r0!4dd&50O|EJUg$o+1(AL!q- z$J?LT;r6D#iP}JJE5oJeUqX$M+tF|*(SI(r zkzA4CuB87qYMk6S!#za5Y7@9z)6?WsoAYq5kW+2R!@WyRHIaw=jGXF$dARS${Y-5I zC;b+cW`76G^Y(5CwT)c0;fm=WM{OrJ-EbB3Po;K{+uv~Y^zTRQBo{YaBmM2vE^_UL zn@9g4)Vbt(40kmBr%;pR4mR8}`Y)!Y$Q@<4tLVRx+6_+H5hoe$Vfs~jz)Agks^Oj> zr#cUu^sAg@xEIO2N}bR2ooBc=>HmPbfZSz<`;q=N=X>YFLU2;=Uu(Fn=`WxzB6pkN zs_9ofh}*r-a7l7Ysf!ukV}`q*{tu}KlY7o^{T6uXS3Lxr9FNxww*fiTL%~VE)SHIe zl-$93?722R?YD-9Q;e=hZKa;pq?3jG&Sk07_&FhuH`?xp`Z>XA&} zx`z9N{;#P=k=xjCeHMC=uTMRi+YK6SB>iKk$ADW8tBy2WE&Y2_k0n=XxF-5LsmGD4 zG~8nPkD?w=uFi0$(|;cI1ah+tcNP6NQ%@wtgkQ+xm1Dups_Zlun ze>3$=a8l1aWVlxPRnH>#q~T5>r+PLxDTiJ#+`Z&fmy&zaa9@#AUB>NxXt+%d!bUKu zp2PT78m@|*>bc~;H{23(s^@`|^5u8KokULce5P-WEnITae{LkFdI7h)uHjxMr+Ojd z+sJT#l2g5i@eMOvXt9@sI_kybwlmy9`Y)tjLT+cnJx2fM)Jw^g8g7Gwz3r-A1}@jM zIXTtK^KjdeQ@tV&w=+4_f92uI$f;hLhYOQay($k^O-}V{aB>}$n|zr=PW2jcRfhBD z)p9Jz@2SggbIW&M<(sbZySKL^{2-`&Gg0a)`G)IaEK8ZNE|wQzelMsL5b_v(8K=8p>?uYsQFzG*$z7hGZqWmVi)CG;O1Z;iS0N6m7d>?cJ=!P(PG}#K<7Zvn= zu>E23UC;xdvte^!QCI^k25W@HVNI}RSPLuxI}p|iYlF4JI$)i!F4$aH5|)B>!>-5n zVz4;uccfE(H|++@_rNy~HXpVCwh*=mb`WeaOnyg9etTW|b)?TG43oZ=)!?hc`Vm+? zY&vWPY$j|L>?D}{2J*?!6Je`^?*o(XhBjk)Z6_~ko1r(^jH*lL(x z9o7f72COe^O_+Rh@(}nBg)M;{20I*f1nfxI0@w+#L5On>Oor6T_kvDF{A)qihOGnZ z2kQ@87q%X3eb@llK-dPb4Pk>|gJB!NHim5i+Y~kgwi#@5*ihIo*cPxYVL{kdu&rUk zVcWpAg>47h9yS8D18hgwNZ3xW5Ns4|XV_?10jv;K1S^J>z{bGF!b)Lfuw7ug!p6aN zgY6F612!I34x0cA!zy5vu!*oqu*tA0*q*Q{u&J-b zu!CWTzz&7Uy~DORhTFkpe3^{JkZ~3=hC;?i+==6S7LNN-F!{Z|7Ay~gZ3zp(q^MYk z@Gx`&Y)4oSwgYTDY$8m$LFCp^`Uy{gO8x%=w*4aPb=b48=U@-Q9)djvdldE*>?PP6 zus31|NMdh5u#2)_|*ALtV38qmJ5HDPPP)`qPE>j&!( zTNidVHh2?Q`Rz#gUC1)be~Yj`U_ZbfLi`WI9)Udy`wn4$!dAf^!}7mjkHemTeUGpJ z^hfBE(5GNe!=8aHN8Hk%A$=9n4>k))*v>En2UbIxfdz(P;WFqJ&@Ev>*j6xUKS@Y zSP-@qY-`wX*fy|}U?;@euzup?kc!nQ-$_OKDKqp*A%YzNH$ zf%X1`Nk*>*TOHO1wg#*(Y)zQ-t4W{Pj^IbacKSc^-aO8&x^BZxW-^^jHv+UJ1%?J% zAhZCWKg5m{=y3i-W|$;t;VytQ4!o8Zj=i zVwJc^*ylz2ENGwK?6aADPO{H7_PtV7*yj@a%<(gg>*wMZ!oEv-PPSj|u|Hm%t?3=pSS}6{2a7|*3b9he#e2k~;t6q|c)NI)#_*VUw|GEf z&uEOd$meU`S2caOrjHOuilfBQA|Z|u$BN6u2C-4(#cRYSu~}>pmy0XJmEx`1-o4^& z;y&?qald$nsEP-~gW{dyA@Q(yMAXE4#e>?$JH|)#cASnafUckq{J)4 zUfRY&ah9gf7UzhxI9I$USHxGv)8ZM?7GD!z7vB)y6yFlx7XKqA#CODZ#rMSb#Sg@-;)mi#q9cARej9 zrud8~iO-5B#plH5#Z%%7q9wj4irQBCT$M$w@A-gw zJ4cO*4{F-pbG-Lqdp+&7wb$5Q-y3Zs+LpbK+hg17XvdnpuJ-!cYiq~ce>x_6UwEA! z*N*9%v}x~qkDHZ?!p@I&PF||z>{{?ZVec(=ZD`ksOT;p<{rl0j??v|Bg?cYB||RoM3zJuP#SxK7yniv4`q&z1M{X74lhvt~bM&d;5^RmNP0bvW@pnRJcQl2IP zVo;2Tu9p9;c!L&wy_T_S%o{X)y|`J}d*gI1H$%)+exvfQw9Qv(`juj>$cQ_|pw>N4 zzC*lDoTvP2Eqkt}2Q+=Qe6RAGw2iyObDBO!U0V1x|17y8H{_2AJMZr)7Kl4VMA$ib zy?C|OwfEb*wfu*Kz0W?Ze4F|^MM>G-lkGkDQ{o{_+jZQd@|)!k3w!Ui_u|{N{OiS5 z>I>w%J#l(@6%0T@7;EtSdi^{Fe{dbxHw$c zb)j7=t`>HkXxE3Ugk2*ZDvl6#ooLsNYlK}l+V$c^!mb$)6GsZWZnSI3abeey&+74h zChUDIsytupB6bzKiBS<2^Th6Alg4)GeqP)5Gn#!Sv(IC%(KhY9-rn0jt7-eZ+!KEjpHqHP*k|d_ z$p4h>{qHGF+h^w&#NUN|ZvKL>&()uo?X$JLM}A4u_Br~m;veEG%3l`t8QVTv`-EK& ztk>iQahcdC>^(tFs=hyUd`4Dle_VICIwx;cU zW{Z~DN9--^TEwm`>^kLfaf`S{{Q@m#pLh3=%ko`fRMQc$L>wWG5_^jM#gXETTINmS zXiYB_mx{I8R!aV${J7X%({}CpKJk807atIIP5UnKn0U8%kC>rluhw|3)bwk``;?E@ z^RVk9yMFtouxmKGj{1!7uI*l{>08C;#1^e{oH$mzMw}@2(zfinbo=X3?>coqt+$Kj zSLONgu3|T_y9kTzuUliW3Lt$i8bO4Vq9D->Uth?w9NHluCUK9^Te%U zn&w|CA19wEP7ue7+tuA6?i4eX*NIC+PP{_fv+r_-HGPJ7l{iJD#F^r3ah6Dmlf^4U zM%Z@&uN0??v^ZCsBTf@1iBrYSdb~y2zZFgYUHnZ1!~tTlSSbz^`->IgU~!O$i>2Za zu|zBr%SA}ri^)ZeIV|ra=8E0Lj$${lvzQ}x74yU{V!jB9^TmkBidEtQF(xh)@7Fem zHP#_b4~SV}2QgcO#68+aGvu{mP#h|b5J!un#E~K)4i|@sW5qGz)7tL;i0_IY2)lOv zj`*SYzVNQKf1~N=g!6XKh~uKj;2ekAO=yd(cu zG=*K8|5^M+*!8)0&HhJCe@67gr^MIAH$+=JBfcsYYFj&LpYJ7qP5Ei@74f9_m+ykQn*O@@shALN(>nJH`|jpG@piG79&@2sBn}V{>2-ah z`mgG_j4O|8y?=`5)&E9(SlveXX7Ot+bBp{*&HsdWLfoVIL-M}b#tvdfFA^;=StayPaz^eT+7=qw;f_-bub(`FomPuk{`kztr?> z`3m_mtuvx!Y9cSDi+72;MOnN_yivSa+$A0p$BRE`-Cu~d7}K^sEPqsdMEpp!#K*)F zq9MK@J}Ew~b$1h=5Oc&_F<nwc2+k{*mr%>jd5z``ifQ6?;#%=qah5Qm9*Vh3@!I6~|q!XhM&5u;*9 zv4=QT948itBgK4?5eJBrI8eMoyi%Miju$70h}cu?B~BD4iKJL47Ky#Z$zoTrlQ>Eo zEp`(zu|gaq&KBp0gT)~tElv@qihabsA}UT3r;9Vheqym$BF+>m#cZ)mOc%pqLDGFkPc#X)5O=7dSOl%Y( zt$Vk&_j|4TJ8`v+!Ary%^;!8Mu}XYd^Y#{(sQ-uZV_N4rt^Xl)cDq;<)UTA6iM*!2 zrg>iy8#R5o{D{_hRQyQ%LQINZijMfP_=)(bcvk#O{9G*3x@*K=wEq3tZdF_>yxV&9 z?-X}ynGcDFHGP}byHk{uA5{L7{E&Q?{HXk9`NQH}n!a7jyxJT0; z5%1OX9a`oM;x^^Sl$-K<^k?LM%3bl4rvEIzApR~|%3lzF(Ddi!f62cSU()nn9C3zWKGrXV)-WblltbaUa$6 z%^KG&;=j3Wv1^r#wx$1^>kw_qxdyRo54+B|Nsql%+$|1Ow?VdRi^s)>#PeFlt~u;F z<9R*yZ-jR};ay93*ARB?aJR5)iQ|P`U)VLp1L6enptw%hHHy9OU!>_r#DDWXZST+a zUToJ@c1>m1QCX1__P%ZBs$+zm`|O-&=Q}&M*?G*)Yj#ev^OX1gz5RQlckZ-vrkyWe z?p*1eC+!^Rofo}x;Qw|0dqQJ+RICxd(LS*A;TwdVN9{ak=P$cWSGMmCz3&fZs%wak z2|FMCP|NKp7Kl4VMC8S%#HFGj-Yj0PZT?EnVUwnx6+aVy5+BeuUL`hZ{ww9n)QyU_ zD&H&KChik&7x#;Ih^lx%JSg5N9ug0WN5pTm?gjD(^;jPg9}^!J?-B16?-TDA9~Pew zPl!*6y7+*2Tzo`)R5ZjV#ixaR@ADdM_ov$a2Q|(eHT^GP7t)_lSJC9dT5eF?d79oV zuaMuOdAExjG<~U-T`z9b^m1{Cc&k_|GGdF?*+=XxJ}w&KqvB)YkJ`qQ;s+IGm)bVu4~oad?#l0#-zVNL>f!^UCf+3;6Ym!95f$+|ZR<+;wc>qR_doewsHAm1 zC-%}h3q?`S>jrVXJwI`?xK-RDcG3K*mYpx}Ds~gQi?E34@oo~AYx-s_Qxxw}j*Hic zEy}Ak?`ipBZELN_3GX|g^EB`Cn)fSlpO*iJe4x6vSR&3A-w@vvOU3WR0pc0)2l0Ec zzc@?$MfAj<#2>{A;?LqHJ>IDNPHle=d4Y(CJ%#uEPhF4uKJk9>0r7M39r1N>m6rRs zyn`GUhl<0*;o=~1q&PwxB@PxV#VbTooGeZer;5|Wx#A?TOeDlH;#hHUEalE))-5ugiF;jV+xJ2Z{EA%)u{VWY@`V8?Zaf(QZ zGsW5BERhr^i&uz@I8VG%oG#MhTyc&#O`If76+7$k7U}goN2JBM!v6f+`@XWGWw!rL z^6%>YCbs`hFre-Lu~@7W2a5g03URPFNW{fbafnzVmWkyeq;bULqMmD5-bu_AyNeyg zZenLKN9-!*iCx5e5frb|`sd3dA}dyj3&fbXP`qE;9oF+2()56sC3Xmj|4_T85KIqg^V zTK`&kT>JV~v(|aNruR|*PfhPDN5#47y2=CM*UF!iKOvqF_h{bP;s@%#FW#={j{JzW z|EPFKZ2SGyS2XW=@eT29t^Yq_KXIw}h}JzwT&H4W+5%D9@5+4&!h=%xr_@oGGyCXsm@n3(Jb(hwEPAk4z zk9VPXv!>rIa++QzV&Wbx^Hy=Mc$>ISyj|Qc-XX3R=jgGo(6VpQy8l%Epx8rvQG8Zh zta)YmGPx-~Bc^Gco3#8@n$~|W`@PgV)SqwbXt~db&x$9-=fvm5Q{oGvCB7)WB)%-Z zBL3h0PReilSlpn&ZqS%+lZTY2iGUas>onf$#b(WWjm9u2ris^yYsG8Db>ez)gD8q2 z;THoUAjU*qtQS{`jbe+qLR>B`6W54>xJq0tHj7PSgSb?z6*+NH`EvOY zZTC^}Bk>C{DSjzB;>Y4A;-}(S@iXyru}JH#5r5J8_iLL~ae~I+-4@@HyyY*m+`*!|GaYb_nLl4UeC%`^xlPz}c{&~#w8ciL45ml-)Ge6)9)PuGyUE%Fmw9U%G0OTo<6nu^r`iyPi)?0xqV}}w{yH4<{vq!e9`c4gG@YF@;AboT zk=g0Me(Asg?nc;FjO0bn-fJ_mSYyzCPsg1*?{WHLbw}tQ3H2v@{V8vukx+lYA#bOT zguG3SguIY>MyHhV_$Un7R|I~H|rpD`?U$s*PrnWmUHQs@#?G8+hcVKF}1KVu3e+CN;I6sMh znPuDcPA8i5PBEJF4jfJPU-Xc7Vzkw!UZsH@`!CbLPE(URPfhlZ+R#A%xD5@=n_6I( zsmbuvk;!_kC^v*#Jtxd=Di*<@AZgzhhxk;9%J4C8S}HpV*VL+$ztd_b;%Oj(fZG@ zG1)krF~~N{_P=wG2K=`lc0;Crg*4xr3d~CThxFe{&R*Uyy~oqTIeU7#u8@=I(M9Re zmFZFE?ej>j@$`|-TaaXDo~Ms=-Z-8E6U(zZx9!y1>-({keguxzqZ~4fm&P6wYOB zV0M3MhyK)#{i&V$Q#<#k=JcoL_NV4~Q~v&w@DKF6{`ma;@%j7X^Y_Q+?~l(P?62D& zslUGu{4@Gv9#YE(4RW6KNagwE$dG$?@t}npE|fdbx40| zMSp5#e=431EVZ9)`=QsTN9W#t_%%&6kPhsh4ji*~@!G|{wTu007Z0voJhXQ4@Y=;e zHL85-d;>x=d;y`kzG*^>_-vUGF?8ISQL&$}kuMSZi>2ZKaiEBaWn#HFNE|E<5i7(>5f_Jw z!^Gj@2yvu1N*pZ`Li@#ctT;{_FHR6AijzcAoGeZer;5|W>EaA=rbvlbh_kd?wGaK; ze}3&hzxJPB`_8X@H>CYLY-s+l_VKWm8P+nxT4q@Lcv#B~Yq??V<6-UNVeR8VEkCH` z2etg5me-dccIPzCozvTlL2YSpP@5Xm=Ts-V_s#-C&h(I`gPICzrw8{E3x!q-YOUb= zuF<(p*QtZv1-O6OS{*y~(Q}S-8Q@Ooqw`2Qz}qnIx_+)g=5nn#S07OK(7Jjfp6gwC z`n`*JzjrC`_b%l9vpM4qcqjD%@1#E9oz!(Ty5#!6+9hk3*j25)uek3Va=&ojYSi$i z;(WT&n~3w#%Ix*L**Kr5tmn2|l5-7U1c zfZYw*-8{S7#qRueH(+-=*j?D}=G)z_cDI||4ccAE?sl}hMRvEh-R)y{`)UUV{B}2J zciQ9rz>wYPVDJZq?Jj6{BX&34?q=BCOnn98OONiE9$m5c#^4?Io~rkMz4iAe2d5?j zgAXnn8uX9&@m#zg_U4Dl`{O~p3to~Q9Z8Swo*o@teB-Wn+4L)bH0)lm z=?gsPxD2`^=P0xZj@ST~nz5;mME0t=AP~%d%BA(bk|$x&RgitTjhxvO4(UKB z9oQ)y*f|}TlMc*H2j-;%yQBl*bYOluuxmQ7TRO0NIxw0J?2!&ENCzV6z@F*AUg^NX zbYM|Buy;DJPdcz~IuK0<4onAP>ATIX&P^O?CEp$?fdqVMoUi1J3z_NxQUS(mOd#&d-5r`!O)F5uL-FY(Jo? z?I+sATz#8lnR~Y!=*I#3>C{~P&zoRLr&Bm8`hALPPgkk9{veEuKgN@S4F|ATz~AN1Cn?`~&sSF`&q&cLAafp}nWXvz47 zCF2{NU3}+ZGY9uZUkdtncivw%=x4#3&`+A)kJPwtMVfHm zi!?Fh&2rzB)C_w~(3=?XCZ>B6GrWnJ-oz|#VzxKoeMhcuArD+Ko?kNlnsi`QI&e`s zusR)Bvt&_luzw}xy>ShAXPE)-EHmJpWd^)6(ZF<0CH=Rd0q2ipbS4^b{#eE)`j>Az zcngP^=s&3YXBS#{(0lYj@6iXnM<4Vaeb9UKLGRHA`)`8YqYrwIKIlFAp!ev5A#bPb z?M>|CP3-GU?Bz`?^d=T@gzScQUwr-U&!qi1KOVq?cnAmZG(0RjlWunJZ`=_VINSTZ z7t9~hVQxPz{5aTw#LtheAQtIA&C(^VqZdu-tn8Jxq%EeKu3DJv&$q8H+|K#_r9U~f zS@rs{om%KcYuMKw{dMfJdn)KcdMflE*|w%j>Zv(;+n5Ua)_*FDEZOM1$GCgvhNaF^ z_j78H-F=}6_uQc$U6$bFqJqXQH*}8j&W)O+@aFeVNBuJuCqwNx`#_-gVDC>E24;DG zu#D~ZFLcwNKEL=z@BH1amz!_DLuxm+_mcJP_jv4Pe@^b#`>hkUxqE`?Ij&zazs>y5 zXwE9X{r238Z+Gd>&h7S5S1*}wzvF4QkGp!weEYo=yD^TJ%>NYg?f2onma*UVd-3g_ zAvfFaAimuEC+(MYbo;D$x%oE_JF|UH{x9>BL3jScdLA#g{_`{3`TI+II=_kNX77If zOn2%U>E+hHoB4nLU*?y2VeNOVUT*zqJGk5LNH6#L{G9nayNkVK|Gn^U=FbedD?T8- z-1BQP-+mWOx0h@`v!grX2v;we&vEDTUwxL(UkLd_Glzrr`&Nsz{O%%`|L4E#=KUP_ zPM;mRW#G73ysXZ0$7{KFvD{quar8?+FI{fE=H0_`{hz;=S?+EvcMZ$g&y92QmOIvd zBiJ3E9kVyFocBCl?s1>ha(R}spCjkyZSUk8hh86e!=OFinVL7U$$h^3JiYAmu;0C{ zupB>EFT30YT5j=XcY8Kg=jJ^w(T>}jwA`my&VJ6Eo44HQHxA!1?M`Qm*4y&V@8E24 zw`)Il&h7tL{#h-v`f_)9`#Jn~%iHfP{fXu6=knhzZ@-^ay29PQ{ha<^%iDh5qUHZ_ zmAkw>ALr(c|F|0iuh%xLzfa5guXdNSpI_(ZE%!3}UBSH>Nv9Bcb|8yyBt6FQ_HcQZSS>O&i@}Q_mGzR zHIMs%_qZqX^TqzM?R`bd71$orO)%eL~jnG%u~nx{Y2c>%Y-cbZ5&SMUKfD!suUh zqPOLL=$`OL-!0qgd6#VCzFFQy`3l)yw@YMu-LkSh|FdOV?qpfN@4PfFA1W`B_muyp z>j(X;Fa3>d%Y9#tD1Sz_<+jQ;zA;%(d1*@4QyQHw+qnLzmF#&uF59^5|Bu18W535} z>)GE?v*qmXuGw-2$og+?M0Ym-&-z)g_3U@ot$#+g{zI~@_eR;)+roVNePo+|gly~W zMQ?vU#rl8foMP*JPqy_wDcg46FWdY(Wjns?9B8kX{m!lZ{Mhe)+WxZNXSL<+_f~ED z_B*YX?RQLVzWomRGWk!kZU2X|&9~oUxBY0p*KPR`@>|H)k~fe~BOgh&zhiQM)}Jri zcJ1$r=vYs ziz%P&MBnIX@`1`H$=ZdZ33|QuPJghhr#`BEVYktJbZ5)&DQifhyIL#ntUE2cRNJuI zXiaa-`q7?Uku|<)Wn84slXEzU6F7pyxc4!4J6+tyEnLG@T*L*OlWja1atbHtW8^3f z(+A1+7b5L>bhU$RJ002b1a8qc$aP$$FOy5SK%XOLaf&`cj^ikOm>j}B`tC>F@l4_g z*~Zx-H*uZ5O0M7%eSw_ES^5+?iR1K9as-FyedM105{K=lN!i9TL2lzFeVtsx75Wmn zi1YMWat0^qB!FUk6ZK& zavfLc%j6O+(C5fmoT5*V<2XtmCWo+(zWX@G8J>`xtQ{*I$ z(?`h>9HRG;dmmt2vUB{C+qg+zC)aR=zCh5?ZW#{mzDO?M9DRnI!U_5qIf}#d zL9!2b-{+2}BRj`6ZqYZ$bzG${lS{ZjpCe~+iatS(<0yTY9Kt^O?t3|Y@PzCf*W@Oy z(^ttAT%s?K^EgYNA}4X2K1z<@5WSDwdk^E1Z9Eg?Hg3|_$u(S|FOiElPoE`caFRYw zj^PM>h#bVdce~@6l%3-mx9OYY2CmUp$Yorl&y#aFL!TrkaEv}e4&xww?=g2gUEGmp z+IgMa!VUTwxr)p5MREb>=riOLPSD55Q5>cZl6|=QE_XZ~**X4ki@rgw<1#Mc9M0kd zj^i*6;ckuN2e)t&*Jay3RdNNF=nLdL&eEsINgSt-k|Q`o?<4mfWjwMy?gY7woAh;Z z4Oi$(qzhI6@yH2XXHacRZ7_b3EfVeUse4HTnvl9s_uBYxFg$m+T<2)(AUUST&6FQ z3phugA*XPHK1Pn>Fny5h!`*kd|hh_ul4?r;9tXb9|Cp zxItedS8t?qax@q}#qtwnC)I(?N~!6o_vIghjSDRL6W>7(Qb4$=F_y$a)! zZ9Eg?Hg3|_$u(TUMV!SMoRn>QadHet=tJZn?!Cobeo}Uhcig6Lk{h^2Um=%qkv>n( z;S7C}oWL>q2sw;{^u2rB@pN%Vc8+&)3peO%c_AAR?3jvqWB+vB##O>|~$U)qDqx-m%vUB|6 zHhq)az%}{`xr~eSd2$YC=#%6Gj?qWRVH~9I-Q|v_i#xJ&{E}O^L0=Eq-Wj?jn5LEO939nYlf9N)N2-y}D11($Ii=Wr4ya7?!68zF~rkiK_^`?y`)k!|@l zxrH0_HF6b~>5Jq7&e3PcDV(5>k)t?FA0+#5_jY$Y9oadKaRb+JRi3GFm&qkupwE%B zI7Ocz$8nTCOb%fmefKtwBRnD7*N})(3i+XoTtx{GdM{fC&zGvK12@UUdbKLr0g8uxJ}Ee!T`>joG;Rbz;T*YPjBDsKb^civrC+K73C=SyH z$v)h@#T`#ac8+`8qHmDvxJq9pmvDhTN6z9DeS#dvQTi}Bgnjhgn>o(#gzOyuFeYguF#jrMVzP4k~26-A1B9f zgg!(L;@*w!cqZk5ea^&f`X;%7YxEUz85imEC&>vMqmPioI7r{S!5vQ*cVy?d zC%15ezDBO%GJTO;z&ZL1IfWDSF>(}#>4Rh+?q2VXrz6{bo4_sl2Dy%_^ks4h7wB{3 zEKboU$Z;H{50gXKN8c@SoZ$)CIqu0#T&J&+E4V~oAm?$GK1ELAIDM2H!6AAdxpy7o zl5IQ_1$YC6$?_KMTr;9tXjlWH9;Rbz;T*YPjBDsKb^civrC+K73C=SyH z$v)hDtvjBMZ2N5jx9A(>Im(|A_sBrDtA1SvUB|7Hhq)az%}{`xr~eSd2$YC=#%6G?iAd|ZOit!EnKEAk_$LT zpCPAkf<8u$;xK)XZ2yRiJx=#Z_i;P2bKK$C&>vMqmPioI7r{y?2f04JF@Mk zHo1ix^fhu7m+6b-0?yHA$SItlkCCG|OdllsaCehCo{sDszqm!;AlGq~zDzFR0)390 z#VPs(IgX?BVR8uj=)14sxWW^%?Y9=WiR<)Las`*@3**N})(3i+XoTtx{GdM{fC&zGvK12@U-bQykld^OC<2HSh+`u*Z3b~An z^m%d)XXumU1dh>1$YC6$?`?3$)5RUxIsVBl+@P?av2xt^W+@P&?m_W9HWnr!#GIaTj!3ai#xLI zw>G(j8}v1D6_@FYppTKGI7}ZT`*1hsj;A9#$3Je-H^_Bdr7x39xImvH zXK{)?L5|}neV81=KKkxjjx#(V+kR`2o48J2C0B5XzCh07EPaZc#Bus4If8w-cQN}1 zw{acUa0wT27H4oA$8ZP-@#MJsI33)?4P3!xT$F9U`?y`) z#x2~C?Qv@4DlXF($pxIF&yZ6%K_4SWahN_x_Tlboj!!vYp9^t|zCo_zDt(z;!Ug&q zIg3;D3341q>BHm@_R)7Qa>p}?CuHaNBsX!LzDlm(5`BT3$65LmIf>)+QE~)_=zZkg zD#j(-cqYhg+@!CQYq&yRA{TLG5!x8!rIf#2%cRZ7_y^bB+rf-rPxJF+g zmvNCkPtM^CeUhBOG5QEOjDz&OF?T#&+>vd+waG2qps$guxJ+Lp7jTX~Lr&oYeT*E% zVfrB1hr6$K$J3FW;~%%^8{|5!(wE64T%ga9vp7YcAjff(K1>c_AAR>ijx#(VJI6n{ ziR<)Las`*@3*5Jq7&e3PcDV(5>k)t?F zA0+#5_Z)XT9oaelaf`k|uH!0wnOwpJ`W!inQ}hXP97pNHm(|A_sBr74CQ@W#{?av2xt^W+@P&?m_W9HWnr!#GIaOS$9e;*RVb z|Kt{K(AUUST&6FQ3phugA*XPHK1Pn>Fny5h!>u#j@ib)HZ*^RyFOy5SK%XOLaf&`c zj^ikOm>j}B`tBJVPk2Ihj&pJo*XgU|3NFzX$a$QlPmz;2P9G&laERVV?w!uKWal_1 zw{ercPOjk!eTiJedHO6lgOl`eatuf4L*yXto#u{bQg)7W+@^1m8@NVaA(wHHK2Of! z41JQEz%lv=IgEq!y;I%sba6+XY1jGW7H-hj$W>gXFOmy5N1q|5aDqNYj^Z$VknF?V zQ{3@%Wam7OTl5Wb9arhg=g3){qEC?HI7%NThp>;ndosrvo{(+7wa86er>~ML zxI|wd=W&)kMNZ;4eUu!*A$lLVmt9gbvPSVH8F&v=} zk%PE*k~^MB**X4ko4!eI;2M2}T*gKEJUNFm^ht68$LJ&EFb>l9PISl9#U0r>{>d%e zps$guxJ+Lp7jTX~Lr&oYeT*E%VfrB1hr1`ZC5C2F3{)5S)8Iz zkmEQ?A0~&ekG^|6#~GfGo#UU}#C7^Axq?gd1#%u|=~Lt+j?+iU5gelTk$cB6F4;N$ z$!*-Euaj%ILSG^mah^U)&fp|{oE*au`VcvYd&j!tnUn+eJr8cvH^~iLqpy(5xJaKT z=WvETNlxGxeS{pwLHgb??s&SmBRj`GxrH0_HF6b~>5Jq7&e3PcDV(5>k)t?FA0+#5 zH{p(_BinwPz%BX)xsI#!WpW7@=yT*OPSGdGaU7)&lS9}?-#wb+3{S|;@lS5zI(?N~ z!6o_vIghjSDYE`Qjh*Km#St8m?eTo%-cgK4c8+^;8#n3e?avA4w4rgS0o=I{7$LJ&EFb>l9j&R4(#U0tU z(FeYguF#jrMVzP4k~26-A1B9fgg!(L;$GYx&!p@e_qa{pBsXx4zCteJ zB7L5m!x{P{Ie}yJ5poy@>3b{P@pN%Vc8-5?3peO%>TIh7H-hj z$W>gXFOmy5N1q|5aDqNYj^Z$VknF?VW$t)7vU8l{7JY+U$5r|=xr7V!IdT@K=o92P zj?#z8A?%~?#yHOKgzOyuEq-Wj?jn5LEJmQ9nYlf9RIjY-y}D1jlM!I<05^YoWmLV zBsqa&^bv9x2kCoD-SKpBM|O^Xatk-;Yvd{}(-+AFoTJZ>Q#e5%BS&$VK1lZA?*8t0 zIcr;9tX?YB0$g&XuW zaut{9i{t{%(PzjhoS=`9qc}_-B>Ql8Uw1qm**X4ki@rgw<0^fbT*3wV965_q^a*kt zN9n`l5cbh`_u)9h6S8yslbg6sUnN&?iM~M2<1BrOoWybZC^>>d^geQLZ^k7%$3MA^ zoAh;Z4Oi$(qzhI6@yH2XSwaJDy3|IsS2*zDaK28hwRa#zp!(Ifpa! zNpb?m=p*DX4$}7)y5s5Mj_e%&C5C2F3{)5S)8IzkmEQ?A0~&ekG{Jn#~GfGo#UU}#C7^Axq?gd z1#%u|=~Lt+j?+iU5gelTk$VxwB|FDIxs99jb#e_?=u6}x&eLbf8Jwh#lVdnSA0h{F zZ-G0WN!eb<4sO#o$qihiuaL{QNS`O?aE3lfPT&}QgdD~}`raPyc)GYFJI6n{g&XuW zaut{9i{t{%(PzjhoS=`9qc}_-B>Ql8)E!Spc8-7CqHmDvxJq9pmvDhTN6z9DeS#dv zQTi}Bgnjhg-8s(igzOyu-pMW8ps$guxJ+Lp7jTX~Lr&oYeT*E%VfrB1hr3~S zJRR9N-f@e*L9XK}eVJUs1^OI0i&OLoavVqL!{iY5(RX*@_`(yibG(zAxK3XsS8$2G zK+fYVeTtmKar!7Zf6sH|T5R zDlXF($pxIF&yZ6%K_4SWahN_x_Tlc%?sz(~bNu5LeS=)bRr)fygcCT9!#ISyJ8|6L z3E4TG$xU3RuaYY`OP?YqahyI%j^GfzkKEgl=ZD+4Dcd;e- z7!Khe?uFd#Ps+}5iQDw{?_XKpz%}{`xr~eSd2$YC=#%6Gj?qWRVH~9I?chFc7k6am zxFol5gPwm6XIhoMOkX4yu>E^D_Iy$}hNCzv+v5buKHQz{_8r;QpTG@V$7Ni?Ih@5Q z*|wh`$8nTCOb%iFNu{%Vcb5COlXyb5?X<{ET&J&+E4V~oAm?$GK1ELAIDM2H!6AAd zxu-$c{+N_)JQL(LZqnDuHC)0)oR{_A>?}Ehlk{yJ-@sBq-@Wp zgWL2?as$`sD`fk(Gi|*heV&}d8TuqSfn)R$au^5cdp>u&UEGoFd9}$c+@PctdFa>h_g6>BiM&K8iyvQ zHE|UeaTX_V1WV3(^^pBLf&pJr*PG@qYFx8L`AyoYZuWZ37VDhk^V#cW`E}$t`F8T_ zZG9c%cWZlgdy4rp^*DC>gRu3R8~ScZT0WeqPr#cDsY^dH+uFDe7!}@3xDU-zNH=RoFIP ztOd8tw{Dlez1{K`ZnwP`w#zHF%ja*mJ$>AI(c`7ITmF*m@_yUpUu~DayxsP`yItOA zyYbtC7=#x`Db z$?`3QEian6Zo}sBO{z3+Z1wu_RU0nPkFDFFLK|AYIk)a&O&)Xh8Oz4Hrtj8U9)){l+=8f*M+R*aN8>Xh$Yua|oxOMC#?Ta-V zSFK;~^PcHJ+vVlk zhRstO92-0Sm~)PqS|Y)u_x{|_`0Tk=bjMrR)WVw5_H@v%+pv~)`|*W%o+akn_4~Fr zo_@cw@m-c*r5}vTH(a@H!AAcGwVg092*M_Uaq=1;pMEG&-QZO&9C-y(ao25x#{N1y}ZrPY*N=Z&iJlpzFsyb+jY~+ z-Rx9hr!@C$>ht2}b!&Cjvcw70Chg6~e8w@SpWvL?bbO5$oXXy7^!{RVZBkq7PwOqn zYVUnuzdTYFV!=)Q^I*Zsj(Yx_;_>$4;>v`wqzxphnzYy|=W)26-T56G6 z{Sl-u>i+ZW|MGs0ecS!}=lg0I9a>BGlC|2X{&>*I`r{J2joMMDV`^!`^|Tr;;R4R# z3{K)Wj^Z#5V#ywNnw{6|^GL!9-S!ifI~H_1Ol*5SYsdb!JHw{8&F)o#y&>3pyUrt< zIYBumc~xTr|#c%nHRNnbn~*E`whL;&h0-v|3|mmo_+t~e1v-G`QP1D z{q4W_{lwdjjo)teeaf~shTE_H-T6AnxDu>k-`ChC3mPBWdeJ8T-TB(vr*<6MthX+w--zO&g%0kFo#t&Cb`yoO^ci=6~&Q)AL$8x%F>< zJ}Khg;ijJ`Oxosj4&ULX+ck0W)~9YiE^=dQ)-hX8j3ifYo|C-!&#&7vdHXdw!_WP` z7Wmjcx^vb!dFzQ`t+(a!+c(cSX6qGmZa*%hl|ouJs7KneYx2%R-mPUnzW+8WXijs> z@yXi{wtEcF-#P09727OzjI-1sx_1^>_PylRiSv(n^@UH`Zb+_v<(%8k_zY86Fmv{vE97pfM~V)J{Rz1Kc-&Y1}_-cRrS{QkK6lgV?|UTd%Y zdiFVI?{(H06WcLqdt}IETSD>c#)aZ5$6dAu;+~q8)yE_=>GXEMq*8E%4KI~SEu{`K4#_#L_9V8z#%IMr1hZK!6V)(M2EOqFEk$dgqggdQNpc_Q`ENW*znLXYTrIS16Km zw>mHngN#s*f$9+zl=Z~pIp}@-%+&YsXP#Z)xQ}1eQoGDPk*B(k-_MiXhabY%@H6++ zD#G=T`!@{ZFh&@r3T@_bB15M0_*2Xq!RX_Do}Up(^Z1h1R>n(k-^ZJB6j8-E z`VcY6&jrrw0@qO(3I%s#@M3%p8j|%npEGiio?(#`MD~|F8!^$Grdf{v(09=57WZcu zxE{pNCjFo(>sn(-Ro{a>XRH%_J}F-}^s)W8&n>E@CA7+P*DdaMF_`ODFK*cE{c-45 ze9qv0JnzwVpo2S5Mx?i%GgvSef_r1l!(wGQwgTl@1?ucwb+j-{ zp}I=ZRk432uJo&!8=K&fE16{g z{{owMsO0*`pg8usCpepi(aF@ey%PC_ehMEJJ(afnlNeQK!ur z7R`78Z$8&&;=Ss;1_!Z(;gkKeYmH07j9e&gUlPJ0; zS2C1mD;46$cUMqgfFI zrZv|I9)At-l;QC)IHpb>AB$t^1_W&B>m?=}2h!S5yf&SwW95DVp)xEQ|>ek}84z_1)& z4*a?tR{}4TW2FTDcvdo0Xi#%74>`dxX->h=lA0-qsvKs9K$BISq2> zLhccfllD(3w-j>SY0AfW2=`ik?)T!VKeiKyrWn5#h-WDOYN1l2Z#a%I=RAYI z(IG*Wi!|pW;#9$WL7(6_L5^GejpjT^wNpPbe z>q&mM;2nbN1=k6-39b@s7OWGj5?mx$CKwVd6r3SARWM)BCpbK9_p7xIn_uw}g1IRod zenaHVJa`lNh%@u{8llZR{ejSC-kk_pu8)}O0LPnseR_(}W`6ukXfv;KT?KzuIMYSD z?Ins_e9lGo^shsco#wHf-sYmeqyta4w9^@ti}g)nAkd4C7bw&LN010$Chhz zl)K}JB31HY?V~LoLmWDqo0?sl+lbVg+pVaW?0ciYx(=Fl?2g+Cz)I=rao0$t zNZN^JkWqE2oKqeQEGP<97L}G&UNBGB8ufF>d;VMNRM?L`OYcu(zoDkJxw5*o zG2J@VBAhoKAASg2r{XnXuuwNabIe+np}8!DGaGv0%7EF2JjBabZ+9CNQN>aTEX2tpnYGiyOmBY#Ri=zhMs&ZAGzs2U`bfmh^3G zB!u0#NV4km{~-4u4wdQFf%bADMpz~DT^%;^q$ySWp&0T~`{J4n6B!a^_NI^q6G!xsq`{VVHS;u=3vO z((jft`P`XCj`!6JzepojsHCvA?2;R-UUC_fRM;1hqo2w3%wi03u+^21yPbKz&+wc} zZm{w=E^0_;+UI^(dHzjlP5x)>uMNk@nfy$7K6I7G-3}(-11>pJKT}RKj`%*LJ(&Dl z(dM?p67|W^W>@{Jid&NU;24)eQ$Hi-lY@yaxxva~>S5BGarTV6JVwBUXS?!ovDKP4 zSdo{!Il$r!m5O@2S{$K2p`>N&H?JCcD$H*#0I;D<`Wc%`S+ z!& zMQd9l!Bvsk#@2e;(ypv+;Q{5yX;MlJRRUvYb8Jf!S<)(sJWb6Jq^@o#H#LBGYcmwr zR^V+Ki?9yLBdBMqMb23rsYMyM@Hb`2YSzahP#cJ?Y^ted4i)uaCCCNJ5?ExHH#IGl zLrPp(YbdeORxKD_szCCO)YZ2xY{ok#wVp=2WFd#TjcgUwby-^5g4E3|O-rLSwMzqR z5naVZJ#1-I<7j>{-(jg~X;|3OKtPWWR8@43dGPv6HQL+^b%k=8nA5}JnbT)5{sfU6 zjL-cQhQav7nms6gVH*CjH2ka6@Yki`|3@1B&(rW9O2dC94gZZa{14Oc2h#A(zUpB8 zbE1rh!T8hC@VP(1Fj)GEH2m5${FQ0=H>Kg8w5Iv{sq26Fd8Ze#{>FG22;zozfE1CVu08`f&UFhikQ;+@W>yAr=Rz(o1G%M;8v2sdURcP8YTGLTygxkVYs zbwDnVf!w{2J2eBjmmqg!266`=ci`>x{gww?h`(kaR|2``GLVZv?)MqU-3htw4CEe% zTr2~*_aWDkf!r7@UR|1j+_{h|&OmM{w>ty5VX#g4 zV+L}QA=i_ETm|IrP9wJ;bMsO(%g4YoVdwcCa2e>ggr;qOE$AIWKLM-(y;*2p1DKxg z4Zs#^{M|sN|AElo1~NUbDdb-dtO0$E(9J-mzXFK0#_^RvroTk!c|fM8A1Lx?18YE^ zEi~VcVEU7R`QY=N3#K0{^hhAn(_a<&^utsG`V%1O-9V;)8+Z=rSAb0aN1?X@nZ8%( z-vXKbKB4acGCkiJfqn4!?*N&;OXwSbOnc3oC5wfAk)*H zne^{~Outd+p8%QuM?&8YWcpiy6CvLYWO~{;lWqYreS^@nb7p$FEhE1S$n;+aP5^yA zkm+X%Jq5`0v@0fmJdo*+7Ml0UOizDdCxHJC++#ES-+`q63&`~E2>mLM>0cCjJCNxg z10DzY-vgQc*Fygk$n@PpbKiyOZxgx$$n^9B2NSjNtw5$z&g;qLU#l6LDMfP`SgcMTm(E6@rA&8;0%c$2SnS9&J}tuD$erm z1}gnPjO)?8LU#jMe)>06`UUC76jdKx2vqtdejJec=*N`ud$UD9Q0WKaydK>vbT<(F zru>#F{Svwp+5quV6D3dr)& zA1URh3erv+MIKGRHyC51>4%5>9YFT?cA>ik+khy-=sMs;V3oud0-4_op>qZILK(6c zy%R|Nod2nRBmPx`=KE%(+XSnCNIIJHG{))ZLW%bQaUPE5`*Qfp-aACfsd4lsAp3)M z=H%0U9OvQabwbwxmxJa!Nq!-a{mc1~bgtlDoc}l+&H0S_b^yueyv6?7Aat8x6%c>w zeFo|)lz1O-3FvV`@5gyYdM}Xrb^z-@Zx?!l;5s0}=w|%m`2ZOu9|H1xC=}WU1aCCY zXX>j$CnBqCj!U9X&?DG~PGfwpV7FkKV3lB@pij^v*oRJ3=>@w5+XSlw3k7|G9>G3z zs!A`|E!ZYlC0Hov6Z8o7p^_@SV7FkKV3lB@pij^v*oRJ4=>@w5+XSlw3k7|G9>G2& zR_O)11=|Fx1PcXyf*!#>^b-!Vdj-1%+XSlw3k7|G0F~}7B<6b-Y!8P0LT?oMn?kQg zdo%n%X!aumuYW2%#sdTQ5lF8Wn(OMMeL0%Xb!5^Tg{I#{(uJ6u7)piDd7q(C_-&XR z8O|1d8zy6h8x0?mJ;PzbuTo~TIJbqSA9#l0s0ZKks6qcR30#=M>RTzw`|I@S{Gn ze)@*!H~Up@ivB(+&xIoYb0$VOM)VJ8(sPv5w^#bF6YMSW(y{5p|m8!{X(^1PTa z{1rdSoBb88F_1RV>H~S|)7J0K?{0%8j zm5eXm=P`e?-puPF=`)~*VTeK*J-xr389}6dY7cng-(V^!mkkeZ=#QD zh79zl%lyrL*;t|P5cxflp7S8XHsPD~{aHe5F5a0Jd9(lXYoX142iFLgpV@yNBYd+T z^?Tu){fQ;QH~Yn}2>pg+_<_{d?5EBazS-X#hH=FF%zn?mi+;2JmoK#0j~tNnW`FK= z;hX)6`9dEq`P07$^_%@HuANHLDGBzQot};HVyF2$Y^Q(dqMt*%+xg2}eBRgC`RiQ# zHdlVPx#(xme)jY{w$mTE^lf(KSMK7=by`{n^N}k*@iSB(sa+x7Z)pGo%N`o@*kTfP zIkrez-Y7F4Tbwo!vPC2;cx;iD;f^g%%!wQ^mUWOLw!DniM7Ai)V96Gzt(I&N+V02} zq0EJBbi!uH7RgjJIC4bk)@iN1sxrd2|8$d?ws1sCb2#E`E#inzG>RkIw2Lb;(KIfG zw2mV-(Lj!9X(MMGji}(;)>b!L!#LutwsFMTh6)_ZIvNOyol&|W>(PjIw^XDp%QI~a zR%yj01|6doO`kfmGEg#i{sJYTw1nqX1m^~Igi<4&V5zWmfEAZ$d@IT{ye%Tp=!^^$ z6$Q)7D~p5WMGL}Z72)~wR3TKE;7u0(rcIP8*Sv)#C5ckb30G8>S1f>iTOw|LQAIF0 zHXN946SPK~ItQ$>C3;wujDD!+24SohC<%WvSX>c?YfdsGPW$R)get7^+-a$jQDMCzH-o%qUDIHH&DxX7 zA7BpeVSW161bYXT4>uj-{J%qnt4$Khx~r!T4~}9(<4~FIz34i54y(g`Ap^fF zCWnd!S*H%<-!vfCuGBqe3P0R!xY5RXr)ND1^Dq?gv8oI|dtf>F8*h)y@L2iBgBLiM zh{rw)$NssS=|XV0HVsbNLh%`jE{V;eTe}m(@wK@j%O_j(@X$6@HF#80V#-Y_yvyal z-JS8M7SJB%!m&?{@?gOL_0OdK*tSsnww#jKyDB|mkKHyDH_RSnq#c8YW0&UyHnVa1 zb4)hHvHcFGZOlRyKNPR@!P#AOjL8aFz{4!!dLy#}k5Ee~eEyxGT+wz8L=V@MMImBE z$_?#NCDH&$FtQ{zp!oemg9ZDFV|!CoY$2TI(W75UtaL|dY-=d?bU5}W)sP25;#{^Q z_Fl;HZ0GIRj6x{2;aG7VOXlskSC#97$eGBoB=(_cimSu%2qfb3(B#MEiATAD7fNG& zrLjFms5S5hR%>5yM^43I?_q!I@jGeYO8=c+z_S zeX#iy=zXLS|9bc@u!$>8y5#X|^L+Yf8|r{)Pq5&F;@EEGSP<^?E=zQOD1Lt8-Ff=V ztAzXBU6F}!->Wptrr)0EnabgBd^%OBX4Yv?l2fgcG=bOCfPaBa-^c%ccqklon3G$l zxIe^yrCWJAw0!Qx=N5{0y{@@a{=evnp&?z|uy%HUtJI*=^>7)4k zoc7PNB1aYUc0L(BDHNZJej5_nrskLa(VETvDA) z$Ffn8*wFCI?C7}uW36~Z74(K<*`b+3Bg2(G%gLmibAd-#4|=&gA49ThPFBIL&KJDl zoh9+*zW!q|3S>Nl;#197$GFescz91`t;WO9K`)wM@5s{54g&_cG00SXRdGsV&y~iuslvP%j(yofWhx&y z(>$Rh9?WGCjtR%t_+nd2V^1hnDF$wATR&R4|M&u&fbW*Xz9@6kZV$z>6P&e07|h(M)hAsm z21gG!Km(g95vkM^?CL)WLdQ6Tu2Di<^X@Nv2>&s^eXwe_%4X8;q-<7G!%j%qvbj!a zpf@AQ2F>m5;A)eZ6;SXQT4SQ%pDE$a-qitUywRy~jneonmWk(Ros;`5#pPEMBtK-6 znEzD?&vK@?R;9Qhks`J;`st$aWZ)kc4Nua4soX`#GI$Csr)B$Kb4^xzf}EK zz}pH0+8LzkpI+hfj7r6yg>^!P7)q9k|G3;o4%WVMFXpTpyj=VFnQ@sUy=eRQ6efgEjPd?F|P zky0ORZL&n}7EL!9BmnGmtwIaz7P0IWJP?yBKo6 z6*-o0L0qA&g50irl#xj%tE^Is$J)e>JMNV^h0{*DKZ z1s)1y`oH0PXZm-6Z}r5s>A06Ug`%C7$;|cuw{I0yqKs z`5902xt~|^JYXFVRqyl6RZ*}6!ZxKRJt%4llx-kx`0DPo9oCD;ZvTW7C*|H`-~r>9;D6n;4U1KHuo94 z%OY*A+u5SeTnFhFlzektqpxbx<~lw@_~yENmhjDW_+`;=uIscrWqNZTu|&#e?n}6? zL%z8WIZ5Qrb$gZ2=01o1Rw-}pi%yX8nCtYT;3LWkw6nC+9A|cVy^DUpMbm!MEqT?fNYEb*b@)lpn}d$Mm4uYM{Ljy+6;#sSfT-h(?(mWr3 ziQ1{b2OpF7UhrW@yJGd7NAp^JWwo702Lk*`Cw&FzoK;b@Us8Lteq~>OGBR0S<)Hm1 zxIam%HXQ;E-ps&AJz(p7`$8Ra>G-x@8bw8f{|)Dov1 z;M9C*eEhY+AfS$6-WLm?DN^IKbX0jNj12OogIyIkb^ci=vaVHMLL7=w9WFC%!g3csxzhkqfD*Ke(l*an| zSN-lNlB#@6C7U(vHFTS%Pd0S(2qn+^D;3sj{?`p%rs>6o?$-1QLvPgd4TkR3^uHN; zs@8wEp?7Hh?+xwK{HG1wr}@U-&r_)R?;HMJ%~yk#1+LQkuW=Bk2({`l0b^VE%Y-fx z`ddQJ6B^Hjsy%2o&#+qP8-!ji^zA}p-9X9zO6WSFpBB1a=sydMF{9)^6MBWv{4OHH z4ML9-8qXU_{$!!sgf11jN$4t}n}zNax<%;!5V}=pJ})vvg??ISti!1M-Vhr1@rwRJ zXe|3G`VcvgS>KSZA0yH+}UzL?Ug-8o6(CAG_%T55d>b)Lqih)=b@&(sG| zKDNIUyOkxYsjIGUB*O^#)J0xJDECr6byEbIS=YAsc>gW;;ym^(ZK`ecF)!8pcKvW2 zrEZoKSEXKRd6V+t^V|{S%%sTLc)rq^w=_XrO|?oFX^FOSSisL0S~*cl-PZ0{)l1S3 z%u(Io`S{&?_#0Dh#-PL21S*SVxaUU(>P{QqJZ`RUVSbuq#a7owd}^eb$VgL@uL+%K zK8(Dgww2xC(>-rR^LxqBM)YnozClpC6lE8$W4v$lMd&ij3UYsubVq}=85IUw7cP_U zwV3-8YrRg=ak9Wv=br$C@#Tuxjh7!sTzm@ha^Fh_7d zGG)5mg1l!VyPR!7LP9{C#*yG9p!&H)xOQH6Vz@NwBSh^-hB7b*mh&Yab1oh z>wi53GbdXPpav^QzD+EC-M^k{-)7edYOsQcF^qK7zn*H}X4eTSbwM0GXjyu|+#+8a ztaZNd5KQ$v-ubTu3*IRhi2b>TQ-snL3-+R$*Zl|RPz{V1rr!cq58rrFYd%F6zu&TjTRS1twXip^ ziRUaV8Xn zHNr5RLHc5`L4)<2u?xZ{-Hr7fYG>@(q-M82-k%+Km^Igxf%%`KGO%#McXwfv7mBYP z=Pq3Ds>w9R6AQU;`__D&L84Nj*rPCj>U`4s-QND;s)5~xPOzWCSb+VJ?ylJ5Ji9xt zM}cU#GeKg9<*~CHX>*7{!q!s^#C?-ifyawjaURT*dLtKv<7Y$Eh@4F;q=ZN=MNR_0 zB(~3pjM?18PTyA&ds{`J`S7(}*xhMkD)j|<+oxt#tC$jRrM_>lv@o?%AGV(wYTu&g z2yl*;f>7#ETL(}UVlcvrzO=bna{t(#dq^AAA&tZ)K4Y&8&&1vnrkJ`yZ#pVOXA=ec zLb2CWVhjRh3z--RunN0etk`JgsZ6k7>6z$>ZBXm&coRJlj-M|jcvF;(P`oYR!Q9K+ zaSw&s&&~5hju3&l>{{|>2gIw6rR!j-GIQTRO zg;nK#^qgY^gu?M)&NdI9nM1KfIXEX^lxkUGR;Y57b}h}ziQZJOYjdl#^cRxd*8brr zQNb=)K_=SfBgHf)P>Hc0wayF}biI&duf&_F8WbWCa2aPnj?N(Q^ijc(#K#`03WM>@ zTI67S-v2TT#=k(b2jy3!;V((U$2yA&ykA5}s$WdU51Rk?((r$hhJSw={-bI5&!^$P zk%r%&hX1+n2WubhyE6>df4($)z9)aM^yjAG)BnuD((^g*VEkoi_}srdSbEwEG7Q!} z|CuJec^`JL_WOOB^iQPW)2@PHF#T_(;eV8d|799J{TeY0);@W{AFO=SgwI(nl|9@s z^6)WO`h4MU9wa^eW-;(tEtS1rfOlvJ59620-tSA{Uk`q&^lRn0t8@^)S+6|@?U<^5 z>DFz0pYRT2U_k1h(r&95d1q%J$9<6ZKTfajcF4VufgIaxQwDPHK<bkj z`d9r)26A^oE}nthbeI-xj%pwX^cCnt?w0SFO)L?jFd^&p?j;Ri|elNB^qF zW*|rZs#zJx(f7%FAEoa%`d58613CIvyIwwf>&M zK9#;a=A@}N^_~m4e39ezPlZA3Wb?pmfc)=8Uaeg+fswb__udYir#% zdN%-JyXyZA@JwJQko9N)vK|)!3xOvC(Wd?*fb)TT{jm(#i#h0QAnk#_4*a>`kARe0 zFSray`ELm30TGmc&RM`OFn8l`?7R3E0{tZL0^mbHJfr!420RCN9q?Qr{m|fVY!&{^ z1U&^vePe(u=LjJ6e2)GN1N(vVfNua50aDN3Q8?;(4@f<)0;%U|AoctKNImxfspl>r z^?V0NJ*$D#!+R|1xg1D6kWqT(0I3IksPvo+q#i8OD?Kn*QF_`iE>NWGD#1cQpP)yu z5B*EIUcqj`Ho+>vLP4LPN3ak5tI`X03$_VX2^I?a1U-U%=s%TSuv@TAko``6p`cID zBiIL~N-x+g*d|ydSSaWd^a%E$y>OV_E7&dACRim{DCiResC3aJSk61 z=s!t$mI%ESvXpNY`a+>E5c+-5hq*xouH8}ItOt#k@{AV#tx}%jgr*;1%A55i_7iCn zMvA<7KK+~IZ=Of571})io+$0}k?0sHeDnN#k(9?guk(Fd=4YPIza`}{&*Sw{9`pQv z2nt4d^SqcRw0S=KwX~mko{b7^o?n*=ZJt+uF6qtl=}p2n&(pY;sQk?H`XqRsNu>ybE3QVpsa8i+{kS zkN*4Y`Au-~dA+prXSwL_V!Ye=*)E#?`t1Cly7ZH0=X)ww)UK#$HYWGgH8r)(5oHTZ zd*N1_7q04-n!5UxwUsr|NYk=qHU>trE0$+>@Xao>y!_un4CY^X$z)C># z`juzUh|DHu@}j{T-eyS3E-BuYV-hcsshuVH+M`t4n5<#@ot&>T(w3={k;u`Cm+UOs zk(X57@m__qVI3@6zNu0sa(8i^O>I;wgz3lATY1Ea*6s< zqsGgO{)w#Cs4*!qpVX0x23KStz+# z95SxPaq#BP`FbVn)TW{OQY14<(82{ACUjesR9ZL3Sxh(AQ9c`!1-nR}AUcyoOX`w%D4c=GB$j>Q;{p{o0c~#@MRjRKv?B%0O2e z>)IpKxU!k-8U^U+$f}6#O%l`5Dlt1+IVrOb%M=`2N2lN>I@-yUj)o6Dor%y&NaZTs zv7)*GmkD_TC*iS=C%f&{6H{;zBnQWqz|PgxwrPA(3kMR&L#}%6{>t`xM$a^*4eS4h$$@|r*NUXQp7Xt)3XD&S?dg+p z;n`n>I_Sf#-=HC#{of2O93XT{+tPjyw{D&pN2>2gkmV?1I{Uw!hcXG)FeFtK`i1&T z0K3i{6WK0Y!%*4V{EkgR9GcwIjdJ7wsg80RK%c^6*iW)=m|You43yz-6nvy{a#Uuaw5R1aSM)m&pI6D#tS z#I6|^?A#ah&VRQ!R+Ag9flHq0)1k2k%R@%INZI;~2(@41^F&7);|=A<%yM`{7f0u- z;?a%?K8~*Q>CEESf&13ceJzKOD-CUp88+Pv7#6pL> zLD*FpcT~#EtD+n(gp|3|0oas;Vz1cjZ|HXmm7v1dV`7{J=Ux-Eqp%pV)fOp;8y(m- zEN?iPNV`2t>A*?3E`y6DdMq*~JMH_kqHt4mjjyDucIP7;Km{+9#NN^suGt~}kv^B! zeiSa5HgN>OJS&<5XK=_+dELsjTF>fNag_$Ey)U7AM@iRgF2M%kL65hm@35A$U}ZNh z9FOJ%;tRFoD_HQ{dL2$Nn(Rbjk^`SjkEwiT?(}v(3I@{_?3z6cnR;)14W$_V4=mQV z?;qy9>3*=oHN$R#v!#JPCPlMVU`pa!*}CuB_Yd)Qwo(gxPO+gVB^4IKJ(vXMlbh}2 zCYocfF7v|t(4?0`L!;W?6N`Nx8ZLB4cv3Lm+j$K3H>hQV(ZcpBc){d>T0g>b$%|6y5XcKL-Z7LIdre4{15Beg9Bz2R~)>5I7!IwSzCN@8MIQtpcWqu-L*W;JxiU zDBANW{snFx(E-D#zafqHk^PTg=<3$MS#@OK=DAtnfo-9IEgiklxAyP@BM>i*9bk%) zpj;`UV*)o9=OM}CI!WK2p-j?tZl1^6u^%~L{07&ZnFkXndZOy#gr~<%ymWib;_r!;ROb$b6X9mBh9v zX1J?l*gzOof3ec--bZF8Y88&{M8)z-v)&DC#d>l{EV>=}oaYb-4?G9WZ(hHqcRR}G z?YtRfV$%aW9H#}l_IwwIu-)7du6g;9L?viob{9Bo_M~x3uXcf1!CY_0Y96((@nn_8 z*W^Uckq%I+-d&Xgt|s+%UW(3kbi^BbilG7hQW9IU1F6p)8Tt6!QIQWjV7EGGkK^Q; zj0$*f3u5pEXGU|qw|(cpz`&mOQC?OK{e;TR&Vft{9XvH|seybbzHmpV>+4x)*d1-> zO!ao&i*(-K9n$gSs_anvqeJ=^x9`vP-ZBHC?QdPz6;S71`%MrEbeZo8SIOuh z;aI6U{cw)jODQJ~S~uT&%OC!MT0Lk4a&VwV1p21)$6&FpoRjw4%`$Y2;!Bv?_ZeQp z^YpahUtrTK_}{-A?JzDeFdpKjB*sN!f4P(K+0L)+>R$v^{b;)+Ree-Nr)STm;_^zM zif4)i6TneC&Os5C_crC(%x((|RW~?QwLl35eqhru3=5^L?V2o4WFp3Tc%T>495--~ zjJ5)s*>t!l$fctHCa^DJJbt$LJq@UA7Mkk>{I15Y4fL)r1_rE)-d-B-cD?|$Twcdj z>nUCZRy$-}k{Wtpstq4wnGa8gPSqBJ9pJ*QfgHyRh? zMgt{4wU6XE=nXy(=Y^))p{}v?@|L&^pQ!Vop)kC5s;e|^C`w}59v6ejd4J(5LI|D> z<73e;m=R&hyw%xA#4q(6nc;Y)G8>7{zOTfOUr7`f)TrRW2gk$_YXwj?eVk3 z=tfyyhm7L(kEWHkK8E=*JT(S)z-+l!7tgX*O|n$QV?+%$R?qQyMve58%`dO;6g4fa zo$Z;tpticTsZo`Mj@}YE+K;{PN^GYNU}Xscl>y zsXNCvap|a$$iXwQ)rY@OMMc@^1yiOn#u>g3GL;<|;~6j!cv9JcaesqB6rx9+LEXL~ z3b(xsN&EpF&u>(v%%5YCp%K4S?yH-tY%NhOz$-#cMg zhhHkcg{yNE+tWS>|A6q1(PByUKk5+8hyhZSU&@u__ii%exo4E~DM#|afaxd8t|5iJ zLJ8zsM4tVr!UdyqZyZuID%)nS5CP*hk+TMhu~(2}dB8jIyGrDwe=$dhK9OTNAIGm! zISw51DeO$RN4^yEGXuwk zL*CX7+)L{eInxjB`mr7Ef!tLh$8n;9DX;hmq}(%*`=iKlyr_^uj(3`qaUEfhag(xL zkHf{}c#-4yap-f|i?m^!;p**=2-43sbo(y?Vu<>SffHb=!6!UChx(6@_-u(6KNtSj zA&e~={~v)TLjEBj`rglP&!RYEe+fkK$Nx}he!CVb{1*X_1(rzsY~azLCrkVUi61TT zAK<)WKJNjU&tpL5^E)8*{|w0dt_Gff_&T90h35CG$PWvi1@uAgYeLg+IqBzsl-nqH zH<0aevtX^nhlQRDJOX^~OA?C&2Zm|CY+HdCEBffEsbjL_WoJel&q zJRtX5iL^(d{^5fBJ}l`cfNaNK34NPjgT&LX82-kdBJ^k=))V~qq0z9mpuUqzJ@ki# zrttGU;lqJv0@=Q&0TIU2pBS$A{?|ZYp7C!L^{g7dj-1%+XSlw3k7|G0F|x{l^lbW zrk{f5H^$65RIkuJnc!{#&3$Y$-w)uJ^!E|Zz(+vR=6d%D;z*n8%N$gSw7H&rP2|n> ziE{+`=6Z&v1;tgq%!78`MR zADu^7fS02PoM}`pYp6DFs&lhWJAY7H({(LU6fDE5jMb(>U2XN!S~mwf4O3Xyx}|Oo z-Fi$>zCDt8%F`E;xw4_OyAhVuH@T!56H%tA5;3O4sOwbLrBbofUX}T1jE=%?S3@oQ zt+8QRDe2(`SfnY6ZA8Y^fbXenYHe-6A#R}YQ78CRNl_HNmzT&Pv9-rdwH4K?teyQz zWQZGVtsm|_8Y9c}@zvPCG|tdW1@tbKV@r+2($PGE2Ld=NOXQo_X)-G8yFlNPT_D${ z5FH<&b9LwI{UBU}zT$qz88fG!%rS8qe%wb;;X3F?{ESjDOoPnD?+E#(I_9Jkp0?WxC z?l-=2u-2`)Apf#jkmsiqqWYa&yeZ9>b;p?<1GW07Uu@-TzoX3iwuo0>-q_9ju@H*K zax9jFVy~L@ado+~@{%?3Md8?U;n+*~fP#A2TeVy$&ZSbl#EdMkJb|TOC^a9_FfW=i zegopIosgkQ^mm9-g}|py^lP>EAZD9~y7A`v`cPNtEo#|7zYt6<_bJvjx$%X!VEuNz zN{vO4rZBc4a>6xd=9zS*vHd|=l>>i%sOy@1R~q&8m_jrbzV=d>c*8jA?>`ZXD_3A# z>7}$iZ`mUO0mfHwmFoIcPd+^lr6;n{$DF~ zvZkfCJn(grQ2Z>Z89ryzbxm%#Yh|vf>TtDqg*UA8`ChtO%-Lsc={OW6r6@!SRv49a zrZDeG>#xS(^EA(3*$c}pvFHwb5`te0iDk($UC;HV4fy&!yX40>8@Q5_XdK4U*8moP zwz4OupNVt9j6U?nL`3n{B@yNAr(V;^yF~+6T>hZAGyp(sp@yC47RYM{7A`eRGI~{w+7bf zdn1P^3AE`plJMYk?}ECb=q1IZl{{V`Ydq?9 zXU0^8t)4T_JcDmd*g^x2Q>|Yyo`Lt1sn&nY^8=r!QmtQ|h;hfj`92ljeCL?=!>RPs zUX?-CH&6;^koZB@pT^00hN*|OK9XWxrv$1ijJ(Ootbe3fr@0pL>t%g|^;f~j+tz6~ z75`e~*bXYVw1ZVYN&Y9a-(h&JeIAJC=h?pm za{c7r1=|Fh1S^5adh8+~pU2M=+9&7*GW`&tKf-)G8uZ&hrh8FneovV6Mj+Qe;)1op zzf|}Yf_!I?dQKDi1R&GVUYB~_7JL!tL;TZ1_X@p9=pO@_E(WANzW0K^vGegS8#Mjn zqv-zez#Jg$)QRr{@yzRg3CMK<&YVp5??9{z%%~Ao|Mx0Fdh%_X2UN{Gp z=6pUxXmkEA7TTQ8r-H_x6=gYIK8BoH(srEyvovE8RC7>RIjs3e$0^7_4%Tc3*%7iD=%1U~Rhtt%Wx+^Q` z+Y*`D&3M^nrNx!X!K76?mosxyX;Vz?%3Ku6#E4P%&!S z=JturOo(9gn?jj_32kis$lfw;yh#6jf(-UJDxi*(PG|D3V2?}0HjT{ z4waQo`@}X}q!`Y?b&-M3>GmMix1!QL|8L?0HA1iYkLQ0}EUDUuixaMs3=Wm)p8r?j zCWFBz_1!D_bnI7u{x3s0a2@veaMQxIQ~UEj+mS!^Et=Kb8{#PQz{fk>=Cf4`VE8cn zG-ME(xq5%Z3riIkzvPD6zsPR+pnqs6o+U$ioL}3&K)0}H^Jdu1z z-3BQ>5aBi^p^fiHhT^Sohox-qx#1e)6fQ9aw_=PI_TVg#DXx}yjymt|a2ijtOf6}nR@v{)6N(zacsU)ys z0g-|ijL=i5g}8u`5aPaPQeM`Yg;6z3OBM7UbiE26zDx|t92E11m?4x3j>n;n@u<(J zeXyQ+6*FmQWg!9ruHT^m0g}UCNXFdVTbB(VCQ!Es_Y`claN~1nwtrHAfoaC40 zgldK+=0|qpQHhBWQyn^ZKgz-R@os#C$-nhmo+V(xBzQB#Lr0JInDNs^XjmS3#rB{X_6gi$G`KhE*o#z#u`oaybT!8!rv#!&m#sSquMjH&Id zA+RtmLMlR^dOWWS5UmE0`64(=l$bbE#HwOxHJmv2d<4T$4Cp=Y0a0od%zX^og(04! z(cEnCQpO;+Ii8;jjXqZ4exY%Gs<2sTAwACsZS>O)gu&>4)g}LyOP=$$UH%_JoAU7c zCk$w36^<3!l<#DrP5EXCZL+;k=+-FS#BFU|hAlw6GzHiHD{8qB8^va+2b*=ZEsfO; zdY3fPvbq7^C}^SgdrBzp_R+@bXr!*G1+UC4^(=2{qGNvL?cX@Br{ntO+8TT*00MZ3 zDr#DRk5}PK1ht-;fQ_hLwyeIPURmlD)m1kxhcq1C*W#lKOL52|D&G8M^AV{I5ovva zAVe?vEww9}R@Pns?RZ&NeWt;;Kt3E$Tpg)CXQao6a1nIE91s?N4N+hI)KwE3R!#DZ zBu9jsT72{1SN|NJJGP|0H3B6@XE|EoYyt7*0mH z`bYrE)M|>P3u~p+=8PU+zWG#u^_2xaolP34%bKcgc176A_Jx<4nw7OQEsfUTdjf%o zi8A@MN@EqFiG7K}nHI6WvQUBVTqV+4(b_iCULBpX0^g|cEmWVcFsbI%u8P>A(1y}h zshU?rL@KPdlZ;nTlFs`coAOeDJ? zmukKIIGHHu>nl}yJl3c%*!Ljn#9yGPhkHFY52=gsYs^57Yk840a+4u*JAU61IpbHu z%GYJ5NBPI`%lf-scV;`NVAiQqtgC+tfqO-s?c$Jkt!rP3yGA_j_{)G?Zw&&`W`6of z;X3N+Lem!&<%R;eKFWQ1JSzHM0ip}W()ShlzXpy5{!HS(3#8mlLaz{hjnLl!VgUPR z0uKXDllZX`|0O1R#_t0%ANmj@{hHA9`@wkmp6qzqdt%D>e;Y`>{GKf3`JFGyT_W@X zp=qzj_)~xwg5$?(+CK!ycK9!}ACc?&tlxGZ^*sb+I{Lq0KHU;e|5S{>1<3Vd`j+GR zeMI6f1#%twLLk?lPZ9nJ!XE>q{$WCY4rO>$_U{260el(A_3o#D#{&6XD(dGeQurIo z?^rSY^+GQZq+c6^@e6=#pE*FLn=O34p2T$g?kWDp4&c1wx;OU&7~cnE{Hs9Li~9kL zr{62aKOph+kHPqVmw4JEvYZ_fACdTap(};v8Wio6EFi}t*I7yb z6-c?)fgFzy06EU?22#&=gikvx#$P4zH5&b8K^p>BC%8(mPH>T6NN|Q=zTh~)9KmiNijv(XSS45}=o17exjAefRM4!y zEfac&RP08fx#`1Dj350?nR%W20^H{?*MTdAHuL%iLQerQn0*m*UE$L()0^-d4s4{S z%|$=#qJIiuyZm2V{KsAVJ6(MDKE(4b`M9KlX;o%y@Cu;g;CKS}FmexAsdyr6eK^X*>hF~CE@i2SQcK}5 zUQ-5*l33!(%al!{M5-lqx3>u4NwnVau$RD|*6b8uM?*GQg7X%Z1{VY>g2gnG6casV zIjKsZ*538!t7s-DI}+x`lUoP)(5#IEmpL@h!&^BLned>Yzv9Y|1*J$nrG=_0BTKmd zKp9uYQ?MfK{1tkk)gxq0{X{tvqHLkhjCJ#8Ir0H?MQtl z;96K`j)~Lo<26QQpTh2NKgw}7_;t9s38B%EKFRKo<>c>F{Jv^X`wsEzaue_W;Z;iq zH9~JUlw!^DEWS6H9j0kuHkZRjgu4o{77P=o7t}G9e236bf$!%>4h^^WVqGVTZ}({x ze9P}Tp9ddS(X@UY6Q*&2*uZWUTpJojF2r_1xJG|LgvL>P#W5fP+JnNR&3xloN5#u? zXvWt5SdRPSBkA6Ow01dY99J592Csi_k3AiT{Yii6M-?_|z7BGMPuYY$i(w4oSnCnL=z@tT}q zY;qnxmlL@z(EjC+$ZGu0ie6k2U$MQk^8;_kO-QYhhGX*im|0j&wylRzPk#HFmj)uG zBBwrX5*ZV!iDKz|n~Fs9oX#)Cm{n=zh5{Cj_ElnME`P%3dVFS~4auMHN4-al#jw=I zXUkEpo)!2P*tE(NvAkB^L|V;}RdQi98ePYMmO2Usxz6dIc}wJ?_%j-;}=CqpG>#TH|N^cbn~`a(?+r z?Eu2856^rY)M%w(pGtx@;CHBWXTLK{b{9Ih7`tAN!Qg#s5=;=#?}X;;2#9xAVY{% zD}kjc&wDk3;0OhVj?$w%9WL9%N}Q+6s$rD83Dqcx{a3-0FhN%30P}0i750(%3=<4G zx5HaRuVV2vXFVMxy=CucTm2;|XWPa{V3``aufi6OxAWVmh1xaM-yTxh!Dqu`>OhSX z4SxkUDwII`{xQ+T7WIj@$+OJc7|O-Jg*%pcBY(s%*t^WT>#=3tS9+msHkZU<9?hK= zSel=hn3Sw>t;!Ve-Y#EdO6sM(?p{hV{p3AL4Lc)6TejYKN5Z?_^HYlQRlKgAyet+$;vR;y5RQD^m?1=Cu@C9C*wPr>RI+z z8OU)h;C7Ld?FdYR&iA6J?{@s6A}9TtQjVA8^&%(zn^Nu_$gL8&HXN&9@|E|HCnNGO z^zjanV}Cp3TmJKAw~XtHvdTEI8GdLDe5%_W42iAfz>3#1V*pqzX33xIE9+;KhWB_P+AwgJxo-VZz;cr%dcDuG;ITL?r_|2e>~0gnQ5z3jzd z+Rr}M8>#mM20dZgNzYNIyi-7nWdlvqY?*nojZUitN_!$a|bJG7d za1`(bAl69y-1t2OcoXnMAlLmS0BOBLKG*w*Gk}wT+)ie`@1Tn(0$%|h1$-XpL;L&z zNW12r15X0p31q%8;K@LgRn>naknPe2efawye}DM}wg)mY^BcyDqRo6d1MN?~nLk-y z(q_J<0RU+;zn?Ao%zWA+`po>zcflx+Hd3Ka^qcF`--R~Un|Y#N#628;OmF7VVIsdu z1jxgm6}G$Rm%*{~Z$o-J{Z|*Cuk_gYqmaLy{w3;Tr|E~>PSbwfPG9cQ|93F${CXE% z=hDYV8M{2^OFPYDJDuk$Z?~&FYancwALime3`;uKj4z@bY_h((PLfogRb&oE_CRpUj%!8+;6bcd9L(-b@5lY=x1H}Ub_hkuhK@fh9iYxgxFnpY$%;9jDd?wL{uOq%C#AIX82kb4f+8-1gGA%}J_V@S^z_28+Y#o#*{fD=YeDSg;%8`xOxwB;e(4`k=O3 zvMXunLGwboZFyKbiB`3dfxDtQQiGS)Rehq(ShY^Mo~%+>E7~&t7=nbi%nk73zTo*vp}Ugd?Bav9j$2Dr`1vu!l%Se2>6;@>9CN~ygBTU)`L*7YycSc!qQRd*!m# z|H}369fx5eMKJ5th8}@9{%{#mA=CBm2YDleVDxca_bNtw#r1Ea$J}qcCFP_l229tE zkZ%3EPs-IRsd8}Bh$-IFhMQ*GcQZItrd$8+K2#@~Di@jUqEE-F^=or0q@r+-ebDvq zjVK51qdjf7Ijus$sJ=|4)a7JZ`D0mefBTh#S&LB~@30^=BNTf&%oSku;q$IF-7r#2 z_|$`=QREPaJ+2;q)I#FXsHj>NT7xyDH^c4E=LXsj3@Pyj|KaWV%ONG+qJISTZ5tLn zPpy5f=}sg(feEo<6zaMPOLE^ZOLF0uUOz%6Sd_f=WTpO1=*abU{+XHY+lB?NH9NeW zBb0*R_E3CL2utMNj>(MZ+~w`y&AYXl28X9+ITbDrrzrmb#@rTfFDF*ayd4YC)qK-g zFQ>s~@+JBqh0$s69^U_Bt@p-5%!*_^B6?P`K$|Avzp9t|By|C7EZ^C~=NHJ+U6x+K zRPq5OKgG!FkIGA`J(nVhI))AX_C2Lq!C0q)89~?O7B1gIp{2y$&Tm3`V9Tt_9=>)bwh4Ms@(p{I zQA5|L7cgJh`haIpU{kqi71IZMUQ!iaqg_4(_%8dXJDe$NRm#gu%5aVB+H_67k%H(j z6xg`t+|xm6E=73yuZ6A>r>+3Gn?m@ns$fc?ItXKqb?7fevawdO2FUhs6a_Xti~nkY z{4<>Px@uRF+oZT(;J;0&QK_O5jxrU=ou$LW@wsXTf)?Q_wm8;@rOX*NV|h4bg{k_P zd5Vn@*QpxV+c5#vQ_YPrrFSo|G>%hBFJ!~9E&T&r+k%Kk*bur1Ttj{rgKncDF%Z_h z2p%OPp>XVgirp|Qa+Db=x)C?{yqyJDb3>bCS+%|b344~~Utm)h8JObrV*@3T0|zUb z6cYzjbkhd9^Bp#dw{s5+wM}8Wnyo`r5Hs2%4?wTHPCz%^hw5_d*~mm)qplrpnqHmR z&8iTq@n02U&&_l!9D97vT1rcY?pclUTN5rFojjv=7D~F-VorO-yeq>s_Yn_rIQ35m z?0bAjbQ~74LryN6vwv7YZ^4uB2_D;S-WSo1&#_^kwgO~fyx>VR@{b;kZBJ}F8V9G( zhGH*8c~}pBGP1CJ=CEj)eiz}AoWQ;(;LZE{C;}X` z!YRw2Rh`x4pp%iY#{v&z?OD&mu2JQh2%{vSn~I$O>4#iGfSeorA16+Fo;3~ZmM3PE!R7m^T{m~%;B63|sP^@ZeZ z9;7!kH(*EY!H}`#r>CpiOn#x7f9P)Nn*Is|(J1a2>pnfQ`O3acjlPPkhMGM$YJuyW z0(wH_i}-tLAz%&gga`Tqj_sWt?dN$S*M;I2OJm1^-4vx$Wty}@A zc~n}$O5eeSNetg{p_*Nxt~KjJvDZ|lfz62L`-+`vfPn*Dm?aa9i9}N|oJ<0g0PpsB zZ{OD6s9rbIo635x5`A=uy?^vOOPDKPNB@I4)6w9s^iRg%EJ5~qRIR{K&(-)B*yJ;V zQt#TBo#7+lbNw`x{slQ&{&heq{uJEbF~p%c6@QFoC+$N`M*MO36^b8QQx9uD z!nJ=vd3M3|vfsk`s$ljnTz2AlU|x&gMv<5Lqtl%GQq+47em@gAvyN=Zx%P1=&pWNx zWFLj?qJq(zqTIvKHaFtB&A@g#nEY??Ja;M{nZ64=4eRvnKy-n>9*8a)yBLTz^#_1Q z15XorED&Y$X9G_GzJq=ty#kk5%@2S93 zL5~!giB1IFkHRqj2Z7Az{{b<9`tJg=JU0u!9!NcB0$J`O1xEmJHSqr({}}%va1!Wu zfnfQck@zh@?i1Y)%m@Agh(7fH5XgO>7!c#f&+o4?-C`j1O$Orj%6}pd`zo`K0G7%|+QGBjO9f{GxgR(Um=8P^$bO`4HT&^BG!FGX3q;gd?st*y z7Mj;@(v?EeU?Rd$?#C)v4_Z#dqpH1!b95kYxUgM%Ka;5);D?Q&gu&1Byl7G!ro_-hoJy&|}SK9Tx z?kdkN7k`_Je}s#k@1pN=<^O?;-|N!PJ%0RI;R#pzQWstA(pT-`U*n>`bkRdx?KjKC z|G7&)zaU{R-*;Smj$b?feiwa`OTOQwZ7_4o3M`3r&xU%*N#5yvg2NJ|v2tLoKyy~AXWac#h;^lFd7Y{{q?T?l1+o|JEW zV$%ht`f9f*^_Gj$w5+~yDR;eEqw*pg)%{17X_MAcN1mX;=%-m5nUlw!5y zZa2o)yDL_7V*5mS6XI8Q2lXao+y$Avl2-TzPA)?M`~y|jgJs(>QCl_1yE5)#R<_c6 zaH2?hqeW$5Yj5$yEB4=NV-aqLl0L&JM*OY*j(X;16xh^?2^?7-C0qJ ztZu<;#@vsrjJ8%U=QfS4(AMWaZIOB>#Z?wtq&~E_khnEcO{BJ$#AQ-F_f_mK9;EP3 ztSY8)?Jji~@^fS(~{2t-Mlg!<|U6S-&M%*5FxL57*;fH{Gf`j@!T8EoKhE+_1 zU})SMsQnV$#;B0#e#zl10D{rSo6PBqNZv0wsNW-F_pwvTwH_C5OkJK0xLL*ZJSn8} zd$bqn87|h~;ddeIL9(%;((S*5*gyzXG8y+mAImobH=npKW^kxXxBs#MH#H1>qR$5< z)Mo<7I&(}+xBs#p<-q-%$A`w^y&B78_Fs6+AFIH&#QoA&4rWE6yetrVUVA%q#SkVy$Y@z{ee+k)A?pC#GRfl?jlcl9-0f08@1wV zlNGPMMmrxeTGw6)@rB76*TOFPnp{uhQm~7)wkavJ`L!nxqb)KX;v*oZ*7IG3ybh-L z%2XJuc*@dQ3H869Xd(G@qV~)Z>KgtqPAXa{zY=@O?qFmsR&TH{rq`njcA;s$yTze6 zg~l$Zg2pQ{)%c@ijfpo%5=Y8fUwvXyFS7Dw2z*-ccqS47J z8q1ZrrCI0Zae@BaaP0X0vkP|dczAf`@e!;Qi=}wisGXQ6^s>q_Xp_~|=WwXhs8<>s zYs2^e7KMI3#r_V}9H|RaGc=r)-9IEg)bYLnKh>o?Ds@e-MRsVXIe=6xf3$A- z9!_3T05tzW8*39!RQJMkAoiSIn8tWHOl3Lhd7Q;Gw~xJ29Q)XIBJ?0R8xK6?0|;#+ zi}uL*);kp!4zyKi%<7f*)(*r6v*01<1La=3Say=Q{*4zIx~AWa+>j5>zKd~WWw*8j zPL53LW1(xdmgYxTR0fDT6&`}D4g!5lVBiUrhc3a)C$8-hga4r@vR>S>uUn&F3{5hB zY3hIOf6M<;KDYkQRl%Y8SN}`(Y5ZTxhwr8TZ-mzWrF`IY1nh#|1P^!lejE zeJrk2KzQs+yyl**hGN=n36ju*7~pQduGLuo3>xCsdv))G|Tre zesyW&u-5B&2fwe29Q#QHQ@#}IugJ6C9P&1Q<6J9wK;+DQbE@{?`w)LgQ%=_B z7RWsza?+nk^=5sz2DL%t*sm&>`ncBRx$Zdu>vpdJxlT;~AzW8{0*Jq{^doXI=ncSQ zfp%SrL9<6tBtMprS($US8R-;K@e!`1ud;w zeHE$|Vyx0?0Y&BeJbSNw=A4t6OtgJ}zwaO4^GW78Ywxw!Ui)(P*=Ow=5T8tanJ)#v zLLlt5efL6de3$gy21JLuZz~X;+rI2>D_nq)3whA^0)(XxREEWt10#rEKU;9FUxj3(#v}s>B z`HQq^w~>d6HtjU+;Pf}`a(9tu+Tmk_HtjC=jUm5jXD=4ow5zNa^f&D&?U|%ayEzK9 zAOBO3$-FkekMtg7HZR%-N!JQJRrt;K`E2nIps;v-UHqFx-gQDZivOeFK@j_z@1cM0 zp@Sa!E)V@CggNDn_xSJi(9=9L`zg-wUi+(eACrL|{%?8YJ@294@X(y==Zvq(L*ton z`QMHFbMk-3LqF`H$?N3zsl(B@3%jy)dGr)w*INEj=Pl^ zFKThVKf+GxyqHAimCL?a3%f0^0AHB6*212M_pWd6Y3Q;k7ruVeS1$Wz6FN=2ilxK5 z4V@jzGZ*@U73Q8e0{`e2>9#D>{wgqTE`)z0Ivli}vOg*BcqNyz&%-};9fJQad(qYw zvoJ{!6NwLX;@buh7{P-1CIS!SMvE*?xz4`?a=%Uk_NV(X8s`GcuYTId)Ah!kN# zzn&n5Ia~p4Tk1mC&ye=78g|FO5q3?su$l8@CD?Q2+bkDP7t%f~n+{zFyBAe4W4>k9 z|My_erT@=eJYCQskxhp#gdLkLY-arnUAkrFc^}=6bQ-&$!xIRQF%P>Cc15Jd(j+Ejok{E5OTp{XjS^s}2QAm>bF4Cso>j^`S% zr}H2)&m3^4trwjU*XVakzVTWc5o3l#%M=M~i zYLddIQ^snNE8z5O0W+7+*T9~ue7Ie0nx_kS{44@wtRr0rYh??YvwSiqaJozR%sj(g zJY7)o5PE!HHG!M5h0U43|7ZowoD*E(kS^-XJRI#$^K>D%cA{VQRdeh9Y+-Xf2VC3# zl^&qtYymUp#%t&ir*k7S&w3Y67jldn41d)ei)IU(vwn3!G0y1xs*2HS^;N^tGWb=) z(gK|^Z05o$0DGd=L-*Jlc=R)Sv`n~05I1F{pX@8ZbiflTf+ z0tI-y!j#Dqr=8<-u=u7<3k9Z3ja^1D*cL+5GcJh7CMt4D`Znz0RCH)+s3bByGIg3S zGBJR@kdtyq4M&}xGsm7eazw!G#$HwW8mwEIs~cG?4Rb?~p(?!IjP ztvUQZ%i%vpV$7yL?f1O0`PYhnHvOK=;eQ~9eD0szS^Tui^U4WHFS_)oWuVH@y}NN z_vG;3DE`^<=kpx?T(`h0Tl}+f_^%ZIZ1Hc%;s1&FXUku9MtNl`p9SKdE&rQx_`fFp z+0y@c4u7sQ;gv1@vvT36sIXDgpQ z;-5|b-uU?EmCb*+_-E69Q4asL;-9U4?8@Q)HCRhJ)9<_-{&U4YoBsFa@c)bWXUqSC zIl`X{Ilt|G>1RNiq(~EpUdL+^n4A8zr#EO zx`**Uz6*Sdz&A$tMBj|^IIkn#1->W2H@gdb?|`qm3w*uvUO#ESV&$?e3%QkvQM|8{cyKS_}DJ1%kVkoDY5U=yl{x+HE42EJey_;{vNs0;D(?4t=? z;JY7uW4jRVbKooK0^i5rnsETU{x9oz(-Lw7Ej~IxDwD;9J!NzB|EppYRR# z)<2=?&iU{6bb*g&V*OC~IxFAa=&L>41-_Bs+bDdUAl0 zZwL6cbb;?P@cl*jI!ni3^b!9ke4W(;Zt-(K_&O`MYVdvB1->7HZ?EumR&JZYm;b(Q zhdSeXAAAFZud{mE4}H#|UEmuJzH^1Iv-Hjb-{>yz-3Go9!q-_k9tGcpUEq5Id{+uz zXXTrZKJ2tE$QuT}1zq5q4!)bZz;`qF?&t#F{ownV@O75Y&w=kJUEuo|e0O&t-V@L_ z{#6dX`_R9P;k9rV5Us@Cxt;f#e?~?#GM!exwm{gYN<- z1GfVi{#otb|0&>XgufGb5!@|t|CYFa6Ug+;6!%Mkmx73mk)?*+!-{(W)34fsvSp9>`a<>Ed?+*wDd56``&oRff<&oP1L zVXWu9C#JNPXjVOt{bF# zNZbbkC&B$#aW4d34E|5h#xuT;faHH4NcR_kl+SZ1>AnH@4Y=P0r2M3~^W8-E5?~1K z40qMR0Ncq1Ncb-Q%1MWWrQa<<1ApdRR zz7$CL^Td4?a31(a1F8QR;yzg1y8&^j{WDl@&vjF_reF(@`NVT4F9fazlCK`fd|Coz zJY_(}e-&^J;^BVrjOR3Q4~Y9`U}8G<0m=U%elTZx0@t-N9WRSJ&z+?EBS6aknYi;? zVlLd50V#ihxX%{%@j%KSE$(LlF~@bn03hWbCGI>QkM19!&?*0IAe{QY0bBrg&U2;w z{}T5malaWz`PYd%*LPhG{+U3^pDON?#r;em<#Q`b%0B^E0sem?6DfZ;knTHybbky; z{s+bVesRAMNdBeb4qn9{22vl+?V_A>fHNT{0Hi*cgRb0<7I#iAhYHt_!$KQ7GrW|)v1@)C z4u0~Z{CN#TIg&PZVV);J+Sp<5M>K5TQcElYb&y3q}9R$;7#!2{m zkT&BMd@f0wakkqfeUd!i*F}G02YpZUH+Id%BEJdYcyV<%kx*tu_N~t{fu3Aqv&VGshCgXzZr6PasMaM#?HAHZlwAA^7<6_q|G=E=faTQ0OWP5 z$bS-Uy#8DCuh*pSn?ipkbYDr2u^Yc6=`nU-+6F1#jH_&x_{=y*RKg#IbnqG{;fE7Eg&DR$qLqA%MMUKdJ!u)W|_A^gTJ{9Cv&ycuWvHSS4ol>E6+^fTj7 zJhz+vwfN_CozPKD`YsTh%6q@Dh!dHi>H{C+c=XHnq>t^sQ~ooa^q%a|XQ(H> zM?LasQ*p}si${N-J}g6RUsI;`O5zE#IDr6L58;5>Df)zs$=pQA_V7BYqi_{_WTMy4 zmekQp2kYprg1DWzOvLTtJ_i?bMzThn!B5AW!9zvuacA5fCwJtSc9J#n41PND3?3?S zk2@pxIJqOIW{J6r7M8h-h-K&Y;>sJhOIlDzcRM4}vQ0juUD5&=9m;3&lsU`hEH1Au zUsmO)E}1;3O{M^LoyaW88${|w2WBmX5r?BSl~hU;lFUy#stit(?j(hynZg=39n?^s zkkdj=50#xtowPf%07dI$v#W;F(NqiLrlNI+Q>(A+H0!KaZYExblVZaTR})Kl=8j&y z#qF-t5j>hibr28eCwEMqEz;3wEUTL1pyrXXrJ+$Nl8Cedwu+^g#l^W@={AL#V;q?? z=02URP8XFf6t_i1)r>s%ftH>i^dpev$Hro%gU=%~Uv+!(2YOowB<%s>-?9oXx^ zn7xcTgS@UPZl@z7chc_IS!fw!cX~+eb1~}Jom{r^PDiPL8GVpZQmkp+=baLHpDxcC$)H6+`1KBZh{-L`DDt6_}{7F;kz;3s6j4F^Fqb)gI z<1da(pEfZx1sf1Xrs5Q+$fYwP7f+0M;?KrJZL;~Lb?b~nX_}3JdS~-o2jPb^Ldc^v_=T{;FXZT!uz>i=Tuvm#C|&>n}$LzmZn~JHC>U@2eFrkyqB~es#sd z+=PB3FMjv(b`|7Bm5ci)*M4<7Mb0k-XEJe)OOkK9=6ddNALIV4W!gBD}qxlZx@5dQxYXqM*BS zai!POzP&wq?jd&+hoBFLrql{9?clg?W<0Ytd88sJT}-)P2L(l&eG+_yn&ue2x&oU1 z%+SL%-N#hWS}pHHL$A{GXhRok{t`n^(KOevsB5;SdETnJ0zH*JOANhJ%S#w~yQXUm zU8%$0Zs=M~|H#mLHBGy}zO;Of-K%Sr_UHN@bv0@Fc|%X>uJn1$(6cqY%g~jYHv1m? zYBkL>Qq;9d(}jjE*7PZcZqhWz^wqUa)BMg?SF5J4H1u{&m)W$|x6;ssI(^(?P>0w4 z99L1-I-P%y7<#An-(u)i?fCgQ%kv%wBlm#$-c3pQ++D-%k1x2%CKF_ zYg|D}r=&mPU3}>>N%MD<=;7j7qZck*GG~zrlTNccxtj6>Rb6ehNw%FVx09W~v~ybQ z+&S|CI3Khe+ZN9&FIzgV+(#GOF1w+!THTi~nHN~JaEbOy^2vLv*N|Q&n~S(q;1kN)x(Z+v%!>OPAP83zr5|+yNddnpjruD_dAuQNAp&unH`T z7WveHDgpG}5U_gTk_CZEZCMMjQkK_LVnY~@Yk(Em>7@)W&$t2#I7Yt18!LyZDS3!&g--#o@7w7gkkKhk51K1W=KeEUnhJ zJa3gm`4W|PIH!|T<+7z^f$AG7%RvQjuIsXDotbc-yQq9|RRDEVCrR?oS9#qv0X|1c zWgR7*(h4whRemT>lZM0+ojv6&J*8P)5I*pDp^wr2134^#zGScw zOu+6nf*gk+JyS3$I7V=YAosr_UxDBO5Ty4A@*ED*+XR~h*9xu?Y!s{!tPq?j7!@2N zI7D!OV1eKPbc%7?eUIR)g4+c7JwpFAf{lVTf)#=@1*3vv1cwL?5G)Ync%F(^kl${k zxk{7B&NOkY;2Ob3!5YB|!I^?l!7+kE1P2Hf2p-Vo*nN-StAg7En+4Yjt`Te$tP!jb zoGBO;93wbHaDZTeAb|C&JHK0brb#g!a1F&j>Am>pbuRunK4mV+sJ>)c)YNpYNd*bG{rt)T>8xuW_7fc{SXNUXELB!ts_q1`dZDDuYZThqw-ujMOVJx2+pXLnu#|})LK1T!SY7O zId3>O4??WS8vL)t|2piJ9<|n2kh5W5;z-eJGg9HN=Sa44P}IH1IBr;zO02=5cx$7n zl6CP^WEGCwY*b7P@h$SCCgGsUh8l>(EjH+GsKjmDTHb`CVi7Ml{T_!0!w&Q}r8J#~ zJDp#!olkcUuf&3;Y1ZYZhaE7CKakIxmdCUN8p-*tUJ)lf5(2r8mrqnAoSE4#-AL>(Cz(V zb>~C!X^iEHAiX|COHn3dnG;lry&i-A8 zQml<&hLw{7tSHcyCv!Ya%uZgEd zeGg_1Y~|nbl1V6cokw{o-S)No(Ky3#EgYfTzLq~Z9M{3I(OWr;vJH7SuCR@}?lKRU zW`6@urB3HV+kS9>MD`aztqrU*jx6%mzd{K|DhaB9b|UVa1@tiadC;M&fL2_o3x|dc ziKDF=;-%=n-4)5xGD^OMTh>RD>sk3t+Uwa7U_mjnQFX>7BdbEzq~X!6k#&g4*LIVN znzaQc3|pbMKj%Y(lb64+1-%V#MKDQt+#0@%qx#x=k_)2ScVM%qwx;O6#`zXd%{HlXyPtWAL*@$66P)$`T%}Juz+JBJi3`{x6({=Ra&iJ?o z*osx#XN~eKT2$?5YT$2K|E)J$_L^8&sp-JyT}8zTO^1J`9hB8Cn)F4-MYbpU$8k{e z%FT`N_MVREZGzd|F0r1Eux(GZ;_O9ryuyAQw;W9$x2cXVec4}M3xTHPFlU$I{Sh`V zleo2E8$?8`{Uz21CEVW+=a{~wRL*OSu8F0>`GZTW_e-pQMR0h0QZYv-`SVQbNL6&O@hvN1o#rOx8mld zxi&$eMZ>vqif{VV8Pldm!Y((>gh5P<%DJ{o!H}Gb=1wS%y-%Q^ecg$>O#9W-omU;6 zm`wi1iv9STcnUN5_tU|%p1ay8-_0f-`@7k*ulg{^iR1r$;io?8GV4jF)b+Tnd+PAp z^Y1_tq|O{w=dPYF=bchNb!Fkdwm^Ln1bHqZSo;?V_5q%Z`P|)sXmW#l(4#<)Ew~+s zZ}{LZfoKDR-vwf>cd!P?@Ye$SgXTO#^i_jXf%sMn4gz9mDR?{(UH{%}dj{>HE z=%NH0fGDFN$7SfgSls6Tsn;YR!w(hwnz(atjP4v?qMW}0j|M&sL{1O+dPHlP$U@fJ5MZCGa#L&w<3ZTab1K zrn{RU*CvyG3rPLe;b$=DMj&i0!MQ-jI~DkK$l-d0Q-FhjjISGz@x7j>&mZMJ_;BjK zS?H&QX5Rzf)WNkv-zD^Sh2}Yv^uJN)3Zct{zEtSA&|H_m^st#`e!UAk61V|)GW1&k zWO9{L%N{);^Na&H0r+1GI%ntc_gKg-og|J)<*SPzZy85jS2 z4_)JlkKZj$`O`f7sEaOt@;dp8J#>pl9@}3he}jj9$rC;VW+%U%`{NiHP+N$9iMgO0 zI>P(WD*>-ar;{2%P*dQRlwa>F<=*M)COxvCNY6g)iYza`rgYJqDxAuxkJzMR*`o3} z%ZvlfU+Li++RW5RnsiQ!PY+xuLz;(7^U+4G#ywoKYqa$Z=5f`R(C0udSvYS558_08 z7;kf(M5#8FXBx}k=k_VTzEq7@lsb=`pg*UbMUOGBnb$BT|FHzTaqJ5L*Xmgd8PLIr-ZYZ2bf|n|<@fv*nPL`W2kjq~Bs>rJq zMW#R=-oL(zBGsRwRF{f5?WLkm6NTW~js{n0fbh1x6#WSHCDilcOI-vOQ z)qFM>{|rX`%{33=TQCO#-(2JHtC+&py9lLjpMb64Q2P;vgd*nPO1E+KvT4>wP+WzH zJx`X|ykF7g+V&ZtjcmrZ=KMpsD#MfSkn``OPLvGYpV|3`2XsZ7;a7TPa ztvvFvjqL6$idiop)#~_4ZBmZqJ^KW^a6>mm%RYjDaZ134_(V=0lXww4*MJfEa?6O4 zvfZ%5fO(?-vEJt?^I`vf2$W_&Uf5%Yww8?Dee;gGgNNPRV}59B1jXH{ZMp9K0dcEj zTO5{)nDv}8egDhki?LR~CRKf&$MpS)$~hz(MT^gH^?4uJ9#58R(^=Zl1b#F+rn(5( zBM}q$wYXIQlnH!*<3pQyc=ch}ELV9W4TYW~F0n~zP25UpBXonZbXz5`L$9WhE@~xe zqn6i1&P;@9J8q2uz#c__g_Z!j=NMR)aGWKKm2D+>g5${qIQMJg_M1uzn!>qlE{%by zQS0#p+0HlMafEX`HDNoPjdc&<8HPt0A;89TfW)y{#xrRre?3p=VvMO#j~nNZwHc;f zVSd!OQfAO*{zcl^a6XcD^4IgjMvJX7&LL}STI_1$O0oRvi8Q=p1l{2DYf*lOjNi3R zKdzF}k<3mz8_r2-Cx3mlTS~;~H`A8V&*9wg8`Kh=U&lI~?}l^RsdkW2_=>X2gDY&c zJ|msZ{K(SI1Jlm8%;0YPFjDENrVMp;&COu-RiE3oSp_lH+FOQ3Q_Gv(+{Z+dGb>?g zY?kn^`y1|Hpyc8v*sj*X_KDiHKRIiF^`;!GibvRSzuS54bLG`RGuU8b|`xNX_UHYAljILG{M4- z58ZWeBr~oI=tvLZqMa1RH1#+oBl@WW%TQRj8>7|$H6oEL!9$f7O{zg4whFM)4TrpB zVnF+aH0ACO<2G#Vvy+MASq-6#v&k9j;G)!T4|K?sLw2TU1D)F*ccf~`YaDHalA{`m zZk;z2U2EfT*n?|$Pq%SsXJC8o*v=hF1P&zzAgiV*HF(%UDBbFXW#DfhOb@!%t3Vk@ zt9LporwWv@)l)|v&j?MQhJn8|cuk;@o1!eCoAD+=`!*8W_jLyfSBx-KBx>C=TSd0Xc+)x^O@+G+jwZF2 zHcA)at#~$!UOJ@(aV@jH)T3k+DVlLWlm;&{}hq)o?Q+v$oc4 z?T1?Y4s25`mzm(KY>T3)^--lxLxqCw2#v59lLT4P@J{s#XvM5jHtiNDfa+M-_8xAa z-}fQVp&#Gtq2?(j0@07>8MjTReyKil-2p->09z=Pmk6Mfle~v&x1EGQTN-Fk#^~1} z?HEt4SDGf*GaKV&trIh%1YCYo)VGc6NL^(xMPaaM;M@Q)bm&O^-XDQIM69gu@*!P&VdG~u?QATrKo&7)j)Q1Q84yyA6G3I?yp|}LwgwQ6j@TM z`7oePqt!N9-q5N`sQQ{{S%dc87tKR&ZZ(6L`j4!htc7$_OuC@jhG{eZ1xL9m)KVlX z)Ld>dS=SGDJxFb!>Q5DeQ}Rfa(NpY>>wJ{9xkCn{ZBF%n=}11x`yap4#Nl}UIbbm` zZ0*5_1=|cqBMC*?66g}C2wXi=v}|M0@xzc=2?j9#q^1lURBS4%_o1r!>pwtbCO=GB zae_l?6qM#$xrHAXDwJy7>JA*?Z+H=b*c-Cm#S!4jFFbayzu^~jP6vdQQU|O%(B0p_ z9q};;jrY@sDg+wihSzTi$F0P+67=tr{gG5@~b1I>Ymb2ak#X zZvTn9cCLJXCTeoj+J>)^Xi_yB(PU3l*6q<`FDrE$9woN%wb8LJ-HcvYpWk4#L^tqP z!?~pvKcVKIBfq7z-)UP2B5ECsVz|6|AkS-(2a+FSoX@k7jjJDxYhg(3X3;jrgjW4< zf8*1T8Bd;}1V&TS3gW35=%?uhNk$}9n~M67p((}p1uMwg5TYfJ`V**_^=veGHV3v- zC9BY+L6@Xz-V_^jx&{ps(;H6W^B5nBj&`j267h?c9Tu~C;9FL6n4rU>Wh$#;d443K z{Q_i^g}iiRRE5eYZoAa>vToTb+zcFf2sLvb6eZMtKpnZKJkT><Vp#dPLF!L^~U!~U@`^N@S%6*`Kpas|B~9>LIVdL z0VNuF_jRQB2N*!pDZU1tE&K^J?==ZR)oy<{n!2eMBy0w!3JJ&Bo4fTInfQJ*byc?` zYR3&rSkXh9z`_mtjC?edu{?eZLZYvQkD+-AB<6wcm{~JJ&7Yf?+s;PAj7cj!A)y4E zCNS&aGjKc4;TEbL-=kMzTr71}k346DMim6X1K#H$G{=slvM&~D?u|#VJq6#}-M*E| zmmi32i}=-?x`~>!f=LSWs%~_60uCk`PE|jJ@TFLCxo`-pWyI|_#%ztPe9X+ zCwn_mgTTvdX$`MepBT%-DQc!{ZW$h`J%5{OOw$t?U zGsI@#qtmiLF-#!CZIIxu?%MM5V$9lsDxAska<1pAM9(oq`tUA{TYts8wRkeJT_qyJ z_s2b`lR7)uAy;iJdc9CZ1yJ7~ID*b?8@oJonVt-pQ@7$S=@xn%@#zRNXvlR-TEj(Y z4VyaGPzlUnYokplV!c>m@ly$18hj?f3bab4mCsZ;sx98Jd+_Qnv4#zn>5Oq}2tP;g z0K}~`N~|-()`7a6-5=*Ga_qLml_>GcZ5_Xx*3p8MR!K%vfo~h@GxoGNN{j$scLxX| zRH(T&9pLY6e8FHM4Zrq7`?lsGIC?sbi5^O#^zL=;Di_C`QnWcZP|#n07$o3$L4W-x zkj`$>)3gc07ODcMt_{!l=EG<$UlX>LAIJtO7sP1nEVLl3!lrRAy8 z2`PEsHJPnGJKIkO-*;_36|d&oWyj0UQ!RIStIk3dwQbAL-!-O*)}0xrHR6IT;j=&W zh3dBM4O@6qm+vroqbN}Cn*H_PQ|ZAOl3R|5mAzujtKMXGEXG;VacrpWi_nTIpossmRx9$5mfhaNP93Uoa#j;( z_Ssb#>4)lf^ir>}K0ik{LsyAA5MPUa&kZwGLgzT_VQu&67X5mg-BB|Rn3~a6rMWJ( zxs=cl6WTo32yL6CxwyZlBkK8zi<_^t*P(Vb#p<^7gk{kF%)$E>G=0WrBA*DIA#m7lX4@SUH8o}qEn&gdWLL3Ev zVOEvT8a!Yq$wP2*v|RJR5Nf{9l%#HqW;M56t-Ai@JK6_DX<}6^i!@7Gk1=R!Y=?B~ zNY&bk5SU$#XxX9SeOvMpN1Bw6fOz6ykomCfX&U%>=qV?;XZs4T%y*W zqt-Kz|Bvm?Fv@m0eVQ8Vk}TotN1Gp0(LB5=$G*0FXteD0c-}#n5;1J0%mh;I34iTP zhXRS7(L;X-4?P&N-b6>Ay_0W-O4Fl1)267QyM50bmN=t8(#O{UJo_mWe3@% zdusfNb%%OYUte5%s898^=?@Y-J%^*adSU>5y7<_GH~*=9dc*5A1E34K)+Yv5^o^z_ z(sYOy=8C^tn+|Pi9|N7QwnK1DCnL3v^KQF`8)tIo6ivK*47J0d=^@|55*+wvQsT&^bpH5)ye^1Lid`Jg_q{YkE)EA! zfAqBxkZC?E-FeN$|H(dfzTDR-;&Kn1Glg#z|NqM3zW}crUa&Ip>LC9n@$ZlKOD6fN z(7WN4E&ToB|2TLug*W?+&dwr#1HR*U-3vW3h5rW3FTA)&CX@fvLha9er!)D7U>)Z5 zWBh0G{~z)HX%_z#l5mNpL;l?%{@kxLll(_9KFzC0Lx=Ex6aSG}{Es_9d&~wLc|?AP z@SIS<>uLOFI_FQ+%RXQFO}x`_ZB$b5W9Bn^=1UKTR~-Mxy`|U>&Gqt6tjoV0ub5$Q zug3p0;bXm3R~EVCzaRgt!q0lFF2i5qo`+36cHsYax8R-Ja;Jmu*>wRZ(nZA1PFBiFd4qW^h=9xbV{)hKy`Ft*1{GR-v{CB{A zyqrhE=fuUIL4H5T{HvTF!RN-s?=fJl>`1ri3%jn_B7s~w%{8#PQddTzFK`!~&*)A8pky>g8KE@vh z-?hRw+sikpuKR8FY5{#-)y?3)Px$$Ks>|pr=T&jC`xMNpUXSOPcp30g;Ar49;2DDb zfkQyUF2;#q{Xa*$@paJu1d`qb918l+Lca(+4fJNA@75Unj^KP?5Pxy;9{@ZF^gl2a zg17}(0Q|M!Pk{IfeiJ`u1J4D*JQ+Mu+z$gH?}Gb|Q~CrS(%ApUK*sYep|1x{2YodV zkHWyKgq{p!dILbFryr2vKE<>H(jNdx?-2TFp&tB#(gn`}GM*8@!x7J6 zKp3rpuOF-3{|u!21|a6V2X6&3{MA6FdlnG!21|gK0M8WnZa`+;L5#o?KLV2PUEo;Y z4j}bx(eC{p68d{WU#Bs6mAGFZ?&km*|A|2AeH@Va^I3mQ?+2nf4g4FB>DUG&|IdKb zcR3JMDY#5<0dNrL*}#*5=L4zNsX*puU!gzlr|Cz5=fXb;MAX5nf#jbe{$U`~J68Np z1fs};`9Q||8Q!A-;5Hz`JpyDrKLs+}4}d6w;J1JbR{>wLyPT+L- z-wH$%Gq4&+{zc+HTj-fWM}bW5nL?ieWcXu%xCZtFGJKx+zl{ct^qWBH^8%3J9~Jr+ zK!*P@5M8T*7X#y<&j6NS-NsCt^xDOWhfk4*#qk!c9ypQJp0}yR% z@F^hc@xwy@Q1CV&pTAn6uK|t&|45++04IQcwzqD_9s^R3p8zTMdqURxRUrvRxh z&naU3yU_@o3496|2L2j&5%6a~%CUef$BTh{?z#b~R~s4&%6plO2L76b=6bc$Kraw_ zg!m5-`jZ}7?rtFU_>0gl2tEb85bnPPjsV^cWd89yAjWehknwW88ry@TfhdX~_m5+H z@G>hq@b|y~@JGNr;B7#b$6_Gm%>hDAaE2h)uaV|HdBoEMccXIQkqdI4e>4TbUjfem z-Up-}T&Fe+bPbU0-4)tB$n$(Cr&y3@4W16V7cc}ofJ((z(;Gn2Jll};Rv_iB2VM%A z=lPJnS7@H=L;71nFBke6q2~+DGa4EG5~0TkeYVi23LOx-uh2b({wFFo!~Y$~`2H;P zOG38_{e;lJ5Sr`a$bXm6G<1_*A@q$xFBE#7&{Ksj5&C?gx&J-Gb3Y&I6A+r`G?4Bo zGSU^FXuyo+R!^3Ln3`$^Qu+I^td+u7SJpL;3|E!~H_=N5ILT?*LNI1dx1J10$eO zXBB+`a3W~5y{aD(08-9uFeA$D#exAr2BP~;{196On*?hGXA2e!1_XVAI}s0VySEB9 z3DyeE7AzJF2m(~Nt5DxrR%V^U@etM*|HfW$A?h1x^Zhzi_@9t<3{j!C3O!2b7lhsd z*_8itq5ViV>0b-|ipV$L&wI#^_{{h2Hu!TrVJrT5v2RY=*dv;8PukcYo)g;GLzoWw z8~esTgx1oK2SOYBORa=A_6W8M3~%fYzm@nmih!p?KVx6mDdCMh0d+uyH}->&gg5pI zPHLijV;?~qqiACfxDWcl+rGFi)=9HoJL$*3>7+S^=cFI?gzw{_@AAaA*hBL> zq1k>p{keYENq^#@kMq!Pd+6gl@(WNNPI+7(>!fLIcG7qqy67n$`L}!gxgOXV{(cYt z3!ePg?+JgWC;SZ_fAk4l@|Sw}%RTY^)Wh#RAB63eQ(x}2t&$os$(zjr-ulgIx-kNod?@~_6jPu=)$uD3kl z@9^-`CgS8T_s~D^@N-?bliydmxO{P0C5}Jgs=o_vs4lOXzH~B=L*dR1WfkRR*OXQz z=FeYPqd6jalf>APg;)?OZehLYr0vG#k7gaG%_ITUUYWL|gmgQ~8qA5)XX-VoR1Bu? zOTyS&-niKdSn0_njg{AP#pPmbeOYRjV^);caLdaP3zxuA3BeAM^UA5FrV+bMQ($F+ z`@HcE5^={In9CeVr)K`5Io#xJYUtvy_R^Bn%GxgJS(Jb4Y5v(@7`7>7r9%TuhzL zw!}DFv2i$!qiI+sJqPuE;f>{`YD-w92g_OSFFN-IwePP^q^wkyg~=!^Z1*ZFzFkX} z^&)WX#79NnF@cUJIPK_ogk54Z!R*y{&Qi{@(wWSxW;*lJcj==Kg})L_Z<n2Kt!Hi)?ttJ< z2!Lw7iu8NlB{J7~=2t~du^@#}p1ELdsWA6M7C!7A`kk9$J#!@jGq2YH!$5?$*E8c* zT`Vg8JLAzlxqr>Hg=v^PI3#Yh#w<+6+#a?5fytO^ue|M;*Ss@oofNlv55@wzSBqYb zSsV9IFs1=a!vu_-a7BRb(d3L*F%u+o2oobVVM>XbrV7)TOz~KNyOuuq2{oULUnK!^ zR}gv>)88`4c2o=9hG01{r#*Nk2(X%$fz!U4aQ9`#69bw0k+ugm!EFU z>^4mAg5lgA;;ZblFnZ)@X?Aowf_>uuqwUB{7CA2S+#C9^oD#=|Le_>%32 zk;8K0wUi%Pj?4AX!#!6!QY(7ZO2D;{r=CX`^)U3n%Ox^bJEAr!Kp^fv&FkMi*QE)1 zu(DR7;d~S_o$Uw}<3CuGuKb4ovKQNtxV0@}JrlEjXT8K_qeU-AidwNUbxL|YT_8P= zNzJjw8c!MyOVp(0koAJK`Z-Pw!y=XR@(J!LXjavs$vFedMKD3~P$G&okBNzO8yLdp zufGo(tJzd~hNjvw5_8NRgq>B-F}no}EmimlHOKI)8lbk7cqTE67!#mdA*Omla#ms7 zS~R#|Yd#-nOeeB0i!1&k$dLzoVAAq~lRf{1kthqof>@=g9q~h%MAi zlafmlyl2wI&82+()ZT-v8IH;MDu}C^@kNDt)&hCH$5nftsj}I%(y*h*yTYz3v07Fa zQoV$nRhfIxt8FB(m=HVRs_qT<+C&X5dc8=mUBipfU;i*Pz&v&-6*aMr^GA1;H2fWt z^bY+=Ccv|-Yp#$@Ch=-bFaJ~1X3eC_j~pdhJms&xN=k zb6+~oswW^lSZ&VoR!{jp%+n7e$E*X`bz{3;jo#@}^q-=I(@9;n>o_`ZV1_T@Mj@1}vY!%skvaIL(8y3ZNqiDOuZ*K?vYzJ-Ca2enWI2 z?7L7uW7y2PJrDM@Zkc(0;o|9n4t#1d>d=L-7|rb%*3;c(Z>%gmuQTfmRfv*ns7Bz_%HEpXcDiSiJ9j{O2Fg>0y0Vmx(unp4{Vf zkML*HlXAo0`%w5;&(&q*dgd>x^n-uqCt8nea>@5&@RbT*w)`jGX7J6NVT`(qBi33%=}Z(sxv(f2U-=rJ05bf2K+0VW zWcY6baRp}r89oSPxP0JX;4b9tsnF|H;3=TD11aY*Am#iLcpT_8zyOdv;bVcdK+f0T zzRRZouLhnBoB})v$T_&D0s8?d|2+t!9#06~CRhff9w8w4I6s8(a6FNE90SB(|33IR z1vFQoGru{0NcY`9=J$(0jClqh0Wv&ybfA8B0tW%-0jbxOK>Bk_AIdo&NI7GGtQYLi zlm9nB#=izg|J#6^H#7%005}y$eIb+A|Ml}fkUTZt!nA9AC-jA*=`V185bbj2{hKee zc^@tk+PuGiiA*8Cd7rXAke-bC&I@ItXwzSa3BT!I{7q={zPwz*oA*1-VU%b3TVEG` z%I0;e(B^&24}bET{!^XMra$tr(58QOx6r0Pbuz*-yy>4kE&iszv=e^#v#r?|w>1}nn?#pp9sAFhR9TV>MB5!HA z9*qa5BIn8JkKVE8bd)?4RPFZbiA%Yg^T-_$DR&OHVSDJTJQxnnDwpS@;*3&#(798v z@}LnsJz%OW-kF#ggF8Ta{MzO(<(j_I$&oA6d7+x$K3LTwTa(VAMm?ZRh1`R~ZWYtB z3+$0t4tT2ZfA2u1E)%y>nn&%(jMaVFM?4v8){4RL_f9HD+S?vW(BqU!p%K*88JY*D zW>8hLm~76>kczOM#|0oGwMy=}KiX(ix+jo=holGOEZOOhTLTL`LBe zW5e-P#$85Xa5tbXGwxD;gLB~J-#x#tfCheCX57Wl=r(?(@!JO(5SNiR951q&boi3v zE=JDx7#7zbdulYlXl`9su5p**0?i(fM!KSx9(UR6mxG#BHzzGJ*SO1U(TC?-@M=Up zqKURIkQFw8n-Ta&ze&F%GK}Aj!9XASZ@xW8q3-}eEEY9h1vD3<c^hc?$F2fORB9AIPGFT4-s%JfG|q52`Rnh87&sTWoo_ExQrA;X(V_Gf zwEp`2K@U$ny9bZAGi7qR>5G~#U9q`m!;|6B^;qEu+eJ`G9j){ zR@CDtYNOXL+;v#Rkc?ta^8WwC$6h?Oy!I(RQ7A*%R1?w)#Bhz>G?4{S>$MVV4{9@p za1N<+2TJB(rh#|C@jO13BbP_rV_$OfM@HB&-AT&yKCcB*G-7UxO4ig^-I>jcb` z=)-jqm>99mj2W^XJ_9W=VFFy-CqqqrI3H|E3+zR7CAJ*W8X^BmXxUFDAbe|Bc1MQm zS<&P~WN~pNvv^Q)2DV@1+>5skZ3lf+h9Mq#D4`H1kmy3?C!bWQJ8`R`WR+UJ6ZOdg z8|%|*;{$h0>)6+Fm+j!1pJCb`=1PsLpms)+7Z+k&1)Jkv7OlIX#)rN7)YcWzWQ>J( z31i}(d7i>kDXgjSj2YMk=`^>ew?!ORvNLf6N)0;_sc9oBQAW4_)w4}!;*F*A^=9TP z+BZBb9N^RW+6twzZZU>D8^AHI2=>wA_Vb=Gud`Jhz@V3vkAa@I)W(PJVVDr718~qw zMUY`ju`Os*wMNObMo+mk8sMnhDwkBP9v-t^a#U>8Q@kW*?LoyxH8igW8X#EfRP3zP z4Unv+0a=kftSo5dSAj?QV@?pBi^Lx6C4&muL%B&y$+XENq5ihQDJslQyQ zZ^^NIU~y%W-%opY7}ua32=-22t(?ne^2r{5$S@8N2mcPS?@NAmuv=4ZHU4)AAM;gR z#=f3m|A70!Fjwrz%x4$B%x4=6$LH`rSx(uIZ9D@9V z5$6zeM|hcjy`2vk^qmg=?+8E3MO{Yzr1btAH-qmSIma-U9(SP}(Zvql3`CXfUkSvg zK(JiX!RbKsv4iIV(Fa%dbTl-<9-#55pzP?xHnD5J38cKuLazrR4}*^YPXW??PP^%9 z@xKvByX>_>2Z0RF^9rd?4eL31Ax z;%+>@w2K@2`DV~VK|c*-`1^rOH|^-8=L4x1?OKDN*Lgtdbv$qg=t3a%`y9;V-;E#g z@nDexxIX~octkCba;^ggfJ=bXb2<=z{m;VBAcW)hXd&EbM?VrsPyF@Yo2U8z3?$9Z z7ksA$9|ck#*R9cRo&@4K4)Pql(|{KNjs2YIKMVBHK&~r175D`z>(_xV0{a1f3uJ!$ z3dnexfUFm5gytKKbc4`yfX9QLD)cG9K}ZKbAo16ICum};V3T02;B3KS!GIt@g`0rD zwD+2Jjo$^NO*_hY+@wvr$k!@q(@sM-MFZ3o#xMO%JNsv$O}h;*6di)>r(7*T4r+LD!@Wj{b@!#t4f7#>zp-28MkN;U7|DGP2<0WviuaTbk273IL zdi?M8(6@W!I}L8iGPi8ubyx_aR+!PqnKm#wJd|D0L8q;u&NB_|;7&(nJj@u>whKDh zGcR(>a8RPQRN4miv_?wooMm$smtzAwEDf`@@_H~);b=`IdA)q$sBzX@hO&jF8H{-n zOQovS`GT_A%vhm2UxkKcD{57l)1=QxyheDsWtyGtc5^M)%C<&}q8z4dyKG9Um(7`n zB}q${%)#M{I{sbZDA;Htv{DCOPNrAo4hNn79T9Mq(9hP_$sA-{Z*X27GUxn$_2~)$vqcE|G5GV%hJHj`E|IzH%u&fV_7iwj ziabrJG*_5=;t2es|DxOC40h%k$tR9W^Bu)Jn}UDmMLqeCe%6=1_(5Ita(V)#<+!)) z&r_5YU7@cc;`0)>O7ETX=JrP?O!>pmQ7$Ki>(5qt=UiroLFKvbn*qtMp@3qa2U^84f> zU_P)INdD14ey1>f{JsHir{{1N!=L>`lV1!++FUDzHu>;f&<<~(w_h>H<4;~Ezqem< ziN}Aohc5EavNCt!g7T_r*FyGbXi#OzxMx8(-njIXg~oh=IY_<&^rGGium<%SGXRUh z=_)M3b;f3v_!Jk#`Zt?o+v;i;bph$LVwlw zM5~gPmNy)gQPq_%IUZ@`n0mHH^b+yzMjej1#v`{&z*@lrkjFNc-{JV<<%%KKdxGB= zyqY!mY9NgA%!PKo!rT*cy(iW|2|T~PDR{W=2WEOtP*48DWbvghz9%wIuKy`yrQaW! zd2Vs>z&swvv4Efi0h}WOUuFRT%mp38I(A})clsKvZ=FqwauIjcF2kXNe^f+_&l0{q zhkvg3#VTpvjUL(F7q@kRZxM896h6_ngME_m+=>4m=iqw`Jg7gx2Z5;Y{qG0j{V?H1 zAm0yckLk|JOZPA^AMWRg`#C_oLnZ`(d=J6Kr1)WrQSP&W$n5ULf&oE*a&H9keKMF1 zxHt&ve81EPT~AM3lkiV}Q(j|0I|~!GAQwHvLzCCZzr;iTz(eaVnoOTn_M{xoj3)0M z66tLX(qB*fR`7gcYA5p{p*?i~53?rueXQ=FZ>RHGvc5;gxYiTb%t_SzC*LE5(t4Wr zh@t;e?-7oM|2yvy^Su7M?~zxL|Ga9|FMg!mUjzN{$4hcT6S>|aGo^Bx_ekx(`5tM8 z5`2%$#KZX{@c+F>%t${5e6ffv)9(Gcr1bA#4bCP*xrn=Iw>tQn_UV7?ePY^wqer&) zNqraJC$%}=6O4!NlRI=Y!rU+Zz*q6QkO}6*U*+nDuiw55- z*IhGzakYNS{JZle*9M>vF7tjd^jChra6rW&Z~GwZMM;M*`<)_k?Dq=>$()z#WdM&{ z-zl$(Jo_zjqW-QpFjS4FQM5~BuJ_BUqR(~{D)8@pr_`LT_D}T{oP{-q`R?~i0hBZU zg}5J!|1W!a?OAG8m-SIRRq}qw!cGW1^sE=aj5lyD>0X>e|M4D10s~c`ZqwdmVsA3? zadO7{sf&ATZ0iPN))1U|8%)Jx!`jb-=so6gI}dWQENNS2w%Rl!<3r3%|pJS z=f0?I3({X(Mf=kCwzUqQS7SOHqi!XdaT;$c4;N$Bs`zj!dIE=2;y5bI0!q!eANjEs z`SB1kt2upoGv)%_-hd!Dcxo+99)BoV(i}>a_So3oErQvWLof|2n7Zm4!`jCoednP& zuXBeXT6FsUh}-rM_>QRCl;7Sjb=C33?R`V3N&by{@>BV>sjFt@<1k_v%a+9;;vhzq z9U^KGIMnii#vO_RVG*BK_e_?T4#7WL=>>xyn<)(v@oE`!q#Itv{-nWS_gH1Y$1O z`c;_t(Sn#v)f(V$SPg2WIvo7Of2?2UZ}=H#|6>hJ;PgM1x(^WDxT_%Ab0Zvos;HfX z(VpAF{>L`_3}kHM?g6o$I34|+(8@!cWZ=J*wJMpqAD$~e@u9|Ce?3ln^EdD#EZOj5 zICJ8f1quc8n`2GEG{T|f2KL?j%C`o-Dhqj} zae5aJY;59h;BvIMItrM%|>~B01eK<4 zD{@$!q^)L?VrKL|B95cmV+PkWTari)M=p+)jcMJr%fA?=qcu~Pc!`Lh1{$DlRDvl)$Bs#+rs9%tIj#uF7n z39!1EQ#0!hRQvC2{h~G0x;q~WD5ylp+7{Zlr_lQS#`gvk?Q5J^FyE@`S=?B4gwl3m zZyba@08V}2qJf?Blv1ps9vA_O1$N*%Hvm*d4sGtA# zo>Vre)08S6f>uGNvIibrb7G@oMTL5)sC}uPgHUM8OvK`fw%?IV_33exDMq&4GWd70 z$-}lMkYf^sL%!C<)a55oA#gnH2Iec@35}cphAPGOA)b7InTPcnX39NZj+o92OEF)? zi%d+Bv0wNbrmEQbRKZhMEoMXuztcj^OAKe&I@mT;#h}t+YV7SVss!nk8mZKF73&wO z#}%^D&&Tg6tnTx?ME|V~Pl5-e57lnHxs{x)YaK52N7oeHNFv3aMxlDSc?+alpJa+9 z5>Kky8LDf=SncXHa8aSnp{3Pf<61T%+HJiqL%VHgXu>np&O^x;pv$Q9LX}Si)o-3? z^1>7Wa`ZefBGZ}MEv3f)2^Njx8B6a3#%Iy-u2iX1&+BE=FydSHMWO#&2beX<9^V;I zd$33KsM>?w{SAMEljc;vKQ=#8hztN8`ik9n@ezWo0_9%Xe_JJ`kF%*pVx*2N} z<9z(8s1avdBb}_G+M2w>65mW#7FZ*amA$Q^&{nvklhJGCCzqn3T(M~7CulH>s*hgz z30lk|f5T51Zmarqr&|7oZ@~dE4s*w-RpW4odfoJO`z9!)c`1ICKI)iIOnO&wji~mk zxJD$-O~;d$I1zDd!^BHnJSzD*RZK{GbF{7%%M5zRK>H(LzT3^LyEeC*C__)Nu-Y5k zt!CZ((UA4$kQ)AvCr?w#q1{qg^t&ilIy?>mXue9;Vqw7=takF(7vbp$`I>Lr_I zK$L6sQnDycZI0D#?$=SoEQmnhy5-v-DS~5)cl+x(HPjOmXYIki39OjruTBnL%u~77 zpw-2yowYch86Qi3!3new@rg=575o)~DGqgdGklTiPiUHz_Y?=IBqI2(8$YAsG)Zbi|y;w2rkUcoW7x;CtUL}^UV zMuZaE@-^mWt-g`ofLSYNUNFcb^d^S-!J;8T9mOfnn0hQjPt#TPJ@V{oz}#kS!_r0nW8M6ZP0q8w#U>sW z-Kajq{Et<2i*9^(K(yx;Q#lyyM+jD8{VkHJ9*hU}gKklL)+67;=~q9w_^B4N-Uwr9 zSl%0a?)>$7S2&(V-^iy0U#u1ce;T*iRCzPhQL1CH91nzfSgHq@3W>!?cn$-ARc+fK zUGu3c>OTzY@+ve zdUq?YMKN!WS^v}aGQNw7_FG!HVK? zW((8y9^&8wj2eWe98254PY)F2+P3GZKqeogaa-H3R8Tuqd#@O5Q4oQo840L@`_PC& zE8~ZNXu#IBEkj^$OHhM1ty)j{nb{pT^fceebqBip>)%G^u;bsrY5TBZtx~UBvl!Ic zguQI7f5lUY#u)bPPR(eF;-q>Q^>9u*R%C9ASv}&Z@^vwL*`cn9T!DyhMs0Jz;^~N` zx7xKf?c3BNF`mt?Vw})~*b~E;DT*HZ>WY(KE%VoNtPrlc&Ogrn5W56pU%iE0t~0uu z&Ix-&E$sS)nh(Qcu4L#ov*`85eS?soWcjK#ZrtKb6&fhbgzr!^8z^)XziikWO^#Di z>J9|_cbtKM<_Y8;srvIOZ2beB{bqL7P-(Y^tmk2fEI<<5PSg?6EQ+TDa*NQ?zNX|E zxv6N6jh~#fv29=~T+n0Vfo|ckd;NF(7AZjGY=+oS-4;BiU*uyc)_l4$t&jAIh!Hg6%*|o&g6S4KXp(`l=>MM{I~xJ-En5a2xbG)kD}q+CEZh~ zOBc=QcF~|v?uT9cbzT4b_2VHSoVo^W{@=U7{DuNc^rp4+s7a|si-)xbc;5#tSAKhc zxCCM3O-&RV?}e#F75VTgR3CwR5rtLK40{<~5YglSbRl^@ePmT)Sgh=Gd`9qapBDC! zbZM|zcnM+n#z5mAwFW#6KZw}O>UU>rZ|+gQ-TL#!4+^bUHhzc~#xD634q3koZEPD5 zPn8umcH25J4?=t>y2i4@=Wm^eirF}=pizAy_bP6@>4?V3y&JFTgYV$J;l|1S2}~h+ zu(0m&dkxtyO*kJj`xz_2GnN;%elL$%6ptDD+j!dWnDxM0(Y(lTi&}yjqWgt-%;MHZ z?$QdUstb_0UvxwDQ{SrpRQ|EDH%n6EVU>(DMU!LjsJ7T&d9hUW2^cYmpkF#hwj#JV zHE&$My5-w_{`yN;!Bt-r-@RH^8@Da8Qxd~huq;hSTe2o(;a##{#fcXTv~5H(P_Iky zcwoD1qxkt~9oKLfnv_neiYhchg$Un7x*1U#G;9M?I9c8ts@sg`&oG1X-hvO0nemFqj$nC1oGS^RWGO1UgGB+@ij{NLvT5l#-Q(vW7GP1dyZ6CCKH(dfxuq@y;-+x`}M0k) z7^AvnyNYMGWc!5s!01oihlQMN&*BFhwTi?0*gvkH_LA*rw)ns&XEpopI2`LP+fKoc z>%B82f{_vH4|w&&tbawV<=d4&G`;9GR$ro=A_x$?zcWFM>6Lpz+^N~80gOs-j|KAsRlHcgGbliXT zPVn8BBi>=)c@qEM6h77;bs2dX)=|F?hL7LYdUh5+_o#hc_@rKC)N?%eo)$jVFLjyt zWnDJY%{?bS%MmZr!!Fv}!pHiiE+fygK3=6C{5R~;>0$lrjGubE5B^WuH9za4i+^Hz z9eF=IGnfBe^RZsK_&oVaJ;LC>b+6`UJSTg{}-~pp7q$p?^&1e zAnN;BnE$#4cn0v>z##sr1?K{xb8rT5EHDZj4&09s_Tzwm68t^zRM6{yh`#?dKs+nK z8G^-vLj(&2Im}MJw*~(MJRkHEz+zyXxGxsG3K)X>1;7cwvw;@^hXBt8eho-@pAFF1 zCisHjBS5eOe+CQy?*yI<{3Z}{+k-D2tJh~g3uHPj1TtO2gyv#(hJOp=h{TP8KNGwg zNc~p=seeq|LqO`?8%TW*15*EgU>uHe+JN+b9>{b&2xPq91yT4Y9|6O_>w!=qc!l6Og2xFS#83$RUlDv5h&3z0`+?^H z?*<~O;P(VA!CJu@!Aijj!P$Z{flS{BAk+5>hB+wr55RMPzXe8swLt3e4Irx|&y`0} z1)oPdKMMFP@B&~rAVdW}L_>ul3epshqy*Ok$-fSWDi{0_kn&1_b6?hW-PXJQ?&tS%;{*M6ZelKt|FbO;bxEP4GBsdDlc>4;zkM|g9o)1r4 z3}kxBfrEhKfRukSkn%t7t#KQW?vDt)N^p$0pD6Ud@E&D2o|`)f{C5MRsB(7z2ZFvu z{I3Uo9rRKl<<1cIFmMRy(}1S~y8+Jye$Y#wxBd!n4Cs4+J%HB(#{tWLloJCo{;@#D zH%#b3Konu{V_3Tw@85vkfiD6XZat9U8pQo_;CS+(-@tnOFz_^B5_lqTC6N46fs}I& zFp6~c0W#emKsow93mgLaKH%xV<-no9`9P*)i1;5N{;&NX_TC0Q%HrA|Uj#9}ki?f* z>RT5@1$8w6kx<2EB`X_EF!G|i6leF0`v9#5e-m7i2Z`A6&)@mEm zszE7WwHB>csd#I8wF);@(fWcfHUIB-=FGG6Om^9g{e3>a&*%U7&1auI&zW=P%*!*+ zJTqrz&OjLHv~NxN{ebwshk5`h?|XpE7tdu^=>=r@(9ZQqfR_O>KVJYOeS*O8;!nHQ z^nVHvQHJgWWPUb?{~AD+XEPvNr~>drz%u|DE??jPz8@#Ue;XiPfzW+`lye6l`K|(F zdDH?j{Q2TPNg%&JNbZ2yy>C^LaQR`Su6o^W!faKc>2vH#} zt(Xl+I}8kW2Oxe$-^Cw-hLV6x$JOFLPv8X_hNb{A9iIhcK6oBBennh2#B}WhWcW>h z^uIyi963AFv;X}QEl=pp&7u5>HyQt*l0m6j_ zwEVIC0(%6u39J=ZCNL;4AaDRea67hNV2{8yfwcn51O^2HsBm3KEbUI?^;V8!7~-bC ze74}GfBY;mNxJC|pD5wqlkg>ioBsZj!f*P=2&%%H{_srjbN#XD-&cT6+_>j)PyBzy z<1#?vI|UySx*4DFd6RC&1A{_0;}a_2NjKw-Um|@#J;!AVHh#K8e*>I0{f7?yG6%oZ zk@o}w+u;v#aM~oY>ECkjYaIFSJMt?X`a=%B+`-Wn_~QG%BkyP@ete63{OcY5yB&V_ z9Pt;N@V|EOZ#X#H0lPeY=+Kus_$G({D-PYYd;Ot9=Yl0Wz9aFH+xQ-b{v8K@(vdgX z3IE>?KkXOU@~1fXt4@AsSIFk?0b=8vmbURlPJFH%?@Jv1kdywy9QslRFL!XX;lB9q zcGBzGx#9N#B2o_4GGI!hp$3cNYnJi6ZfJRE6Qo#UQ~{EaWUTF zvDuzT2W_&XJ0je_a~$T_7cF18sAegSFmAvR;0U;4B~Bi0g>82K)6iQ48>cL?o{;wQ zJtd3HJUH#en2=eRqEU9|DM;O`(3f0jg)<1!vbvrJ3hrB z6-aydw%UVL`!dz~j(O8}Ao3YsyK)sQu-nCBom8#T(g-@37d1^$#o5fms+oDctJA-o zpGN}V(ddW2s-@007SIqYVWqUZRI&QKkfahm0GG@2T2+6hrnM}sD>3_V(w|42VL#5) z8PigBW=f{;sBC-NXW(Dmm%~mto!OUTaC-AXbFW;k=TYAv0gSv!2dZ)Hi1+0fIpZb% zpPkAZ=#%rv0%)km*hR2jyk~zF!L6$t2}J#LS^xidDx%frE(!s`3Te+GF6tCHC_@s zE66Ngj;Ulg{%MMwr^C04@%DbjlT1E9l|gMfl(SApQ^?Rx??W zIaA76=r$0sysr@Ex=|u!dC_ERo_?a@QJH9lr$;OlqItZSr{0#VdKRafhSe0dkS~O= zio9qdOcU#I?t;3|pS~**Z@Bkb{HtZ7AwN~;u?bWyPu?O^M~4}Orm^#CHP?qlSRX}` z-m^X`KE+CWUS+ZjIhC}3$dwc-(W(xp3C!JyG9Zsx&uH=;fWW-e4yI^gPc(Tc4tVvd zxtVk3w0}QV(I>X)Dk3#+HsWke)xM*&Y4q0gHSh!^KtIQua3?kJ2e?%w;nhGhtGKMb zrDVz(&GH?q2cK~-<0jp_6aDEP#g%Sej3=6E(P2V`m<_4d}BiqK#U1zmH<+JRse`DLFfSSe+$o-`n=}=sjvPGAfDOG9{`en zB_Nv0(3OCP09FA~{uu&41BmZ+h?~9`j&_UkfbRsPo{xK*IIr;yK>Ui@@kcq0g4Y7# z^BJPv2wj8Fd4N#Cht2||UUmZD(SUEF3>fae0O3{i6d?1*r3{Ssmw-&~cLAB+Zvc`% z4oLpxf^+u;@iPTdugLNU0#XjwzoJVQVok@h3%!BDX8cb89tQXrAm#oHkaCg&Zxa8d zf?p2E@KHc~pp|_Z#xq&``T5~I#sDCq8rv_hM_`-4T7hK(g8~6mID}RDH1i(U!h`xX zkj?%4t|J(^Snd+Joi0EUXMdZ9ry8fI{3K`KHCY;FTEY#Lk|8Q4oVbap?CsbXZit@lp7|h{@QR7Nw*S&-22w=V=v%vIca~tof1oHS^}rt(Y@gdkf#Z z@c9w&ru?R-ZXvrd*04eyu9oQ>IKP;A2;ikFykLHm;!~c}YMK`{aCobE6gnk^BffZ3 zb6x$in!0#wX-nOb23oPznRLA)bLZAH$DtWowQ40492cE;0S_gc(gK}=%CJhfmS+1< zOp1HuqN}_JQ~*{hgWKF6>!T#e7B(_A~J4U=}#*czq$-kU$U@9KHpC9rg>Md{ckTXk6)983xYa z9INw^VJVa(v4++dIkc;(nIBm=-(V?NC~+BiyU-{HNgi%TV`WoIN?=V*d3b(!xSSo5 zfG)Iu_=E;_;bT>nV)O1WUWZNO#wPZx>D=_~lJWkVnjEObN5^)Oea|b~_H4?lj|nt`j%|^o95s zE`%V2_s0Kx z7^JQQW;uNF8hN46$5XB<1D}y&0@!tjeyl5W<~`8Z@c)Y)`7Vb^$E6ORn_iQi%QNs9 zx{;qLy*w{_U#`xPZ$AEd)S$QGGW?Ju$E4Ryhwr6DI74^CXG&A9>EZea+qwBS@qXXo z%am?6ym{Ux9=4t7+)<8v!{e5p@pqvKpGp2H|Dya%;oWq&`FH7Dmq52(1MlC|XRcqd zU5_A{_~Q;gbrf`&_}d-+Onl#R__Wl_|4y~`7{4QTnd14e6VG?E@Zaa~|GV(t;>D38}6O|$3BpGmG;{<_B(kd9wfc$V&`2+m%op-CU#K|Qk9 zPY+zvu&M>8B?MC4?-h0RfyIqYOI8M2>Xyd>=p?TSs6OvCb<5)or?|)Q_s}zb28%bDY}!e0S%-_X_xK z&4G`)j~jB}qi*ZU9QZB=Uv&*t<^N|EK0b>{(BF*(#319?kMImn0sbx^@&5&ct}n!AOZ?A(CjNav`C;SUgeJI2AsBk9`!(bpNf5fJ&v?-9IJ zaISMDJt}ya;Nt;NF8PIm?;4}lALkDMlAm^hPXnEH=ZUugV$7J|40sSA_1la;Ds--U zJpp)7@Vy9h5^$~;WB6@?_Y2PP`+=a-E`A;$$E5g;EyW-5m>&c@6>z-x@7+(+cL1V~ zliv@>^!JKC$H@%e3Wy}+*8+wB7m9x=Ad8?_@It^7f#(T6fO^F6{ebYw->C8Y9`SDj zB!8>m3k8+};+G%9-$cOi;=dQqN#!4qa<>DX4*E91Hwx?mgv)QnAL>c|Qb6)Y0h#|Y z!GnNGzTg8oUX@o4twNt5;op$(Ul)GUU)n4DU4V2K;9~lYR~Y82 zAcwedT>nd4>RX^l=;gxjccHV~>9`)5{HT-4(dZg+)89Eo=nI5CN^sL3VZN;B1GfON z@dXaf_S~j({ke^wj`(ey>!xk|yADp8O@9N3jW2QVtq%TE2e;MPY7L^*8-d9G|C`GM}$TQj%ev+e?l~qUT}cB7Imf%9X)7 z-DC`?sV1L?#UUYmOrD>`XAa)TKMqo2%oZ1;jT2o8ni;#wHPYvDtUMwIhnJt zss_6lF;+Mg%CfbT$lJ&`3VBd0uE?;%$js)%xL*#8cc8#BN3GUP^>O&D6Q6h~u|@8- z!dgyh#U9J(VP->9v9PYFz4W*^)?4Y7Y{_Ch&r;H_GapUPMlrBJQf{)om0B^(pJNod zVRRNVU8eA>H8~^w$64r4Wud<>boBX=xZ&%dxUYx~V;Z_)>8}=_gEG*w=|O5`eURio zqaLI#hxJCwk%sylx;q#k6s@JYF+ zEf?xRnuSlwe;8jBJZL*YrvrjVtrt23kmHYhK>bmMQ%!0MRyu z_#Gh5ntCG{%yfcy}ny;Q~z4Qi=XHCoNS!oZ2UTh9(L%*ICQtaKCGvqwlh%g zjMXIUl-0$!Q>lhNnRz{mVMQ3MEs?$n_9kEjM`J_N;^k_w2R@bPTj}K;UXM=2s~3n! zFv_xnX?dmG>cBl!@s_$PQ|m_PiGv;MmV?5*9+{%9YpM4UXU(gggY_p^j{$!tzc_KZ zW==)9iMJV|8F`5+438**h7&R+As$;&id8k$kva3`RkAFmC?C8Za2d~$%&@LxN^vnL zbh=+vzp7bIX38DX|i1spYFZyeIhtu`b7$q;XuOoKsgSa~a*1o<0a-u#f?68(t#TECo$Xms|0x=)THcq$gx z_dupzG~NmUeGT{v_nwM>#kl)Ykh#qpqQy8E*8Df;mDBjzYg$(O>v@&k3)ZXMDfiSO zs`BJLF#=e9Ogyj3J@mN*24rLC9yS_U-SJ01UOF9JVU7WFDc<&)95v(kb`YCU6G z0WYEz)3uxV^eqFZD&X)H`>MsM2dmGan$q!c`JDI%jz?*wTX&zWzqU~N8%B<|j$C3n z4X_;7S;EJ7lr#Mt#|{$bK=8hVMggK zc5uBda+X>e>TO)EJ}*)oo*S-GiXEjnF}f%85fEaoZ*{ADcM*u)gvM)BSH#{Mx}>fV z8X#^{m3^uFurF_Dx-z!Z=iPXX=WD*!+~?ZV!fuC2lBLd>e_3_JtjUGSE{^4<;Iw0w zU8z6nD*w`1_cbAeE7p5BHD!|M;wRw~cMP6_{)n+%>RZb2y_|a8 zg)6X|Ms~F6(nRNSd`6@C8xJ|r#I5`e$0#m#Dvi7*o>O7?Nnej(3W1SRe1)qz6kWO_ z;K$)&Yr0@%RP)fdt?D{NVMn(JtSOZag%v?qazO_UnS;62IE>)F_d!H>$TRaEp0Q>1)3CJ*yYv0XTelQ8 zPo_$Cv!lb4ngFU2d%RS{Ac8>#4-lek9rU*Q^~1z(S7q`c78nY?pko`#Hn{+&$E<;2 z=TEfY@}w%^s>EA5oy_`Cl#Jp@Y^C+vJAiqSavBLmLH~uQou2<|^xs!;Zc%ZkEzX~- zusZLPROy-Qt0$stfqN0HHOzXSq{(b_YorSlq~UgDUpDbli4;5vw2G%*8Gij3arz7S z7^FPe%_kXd|6nLKKe~0yM0%>8=6l29k59!Zd_0c99MPats%5J*!a6KW^G>4-g{SF+ z@i2$k=YlLPK%E>gwT>Q#B^L}>)g3-l!19X2 z0x@1a1WN&SK%4gg8(|MJmE7!Pg`wClhily712z<6gdkhW--Qu>=w{o$5Qrb9GK{_C zde$unvPAM%I77V#{JXnztzp1O8Fnk6OV;?8WqgGuYm&F+XEh3f*tWR zs*PgtUR>njqV|u5Vv{Np=S*b9f5T3?-Up3mV#;~&U~{J))Xvyps1S%mw>c=|{6Sdb z^^z;Q+J~k1l6lG`Jx&gLKk=N3P~{fq4xWUt(vVcNZz)s{P}-HmChWiMe7xY+ejGH2 zmll0|9A=~Hl-ecV`JUPuUvN=szx+|=HPEz)!~fdHP%%jQC;~qlT)@%wHh3 zKaOb|JW`(CXx7Km@n(j9%TyRs(-3|PPXp+D1ud!=l8GmhTCG_($(5FiO zqXqOs4<5q;^0`doB#wWm^DEoSH)m+b<^jHd`h>M(p(g;D z4%#hbI(`6nG~lg(c&?!<0GX}{fQ+XIknxNK{0!hfP_HKfz6^LI;C8?XfWHMi9PoR9 zCjrtP+sPPTE(fIk{YpT{n|Zn5mjWU^Gb;d@f6iNCOd1+3^pDW(A^mkgWI@?Iq#UkS zp&V*MkR)Z_km=%jBBtjeK)BF!fky*EWaw37g5m!H$nZR6fZ@Ld$aw;>YZz()jfPyo4j|=oyiNK0143lz9Yk^h;9mhb{$|}e9+ngJ*2*pxM@G`#yxS<-rOy8(>^4G4sYe& z#y`9~w+)%Fan7IEIQzObzQe(v0nw%(>foasoSk)>ztq96b@0m^{46JZ^$z||hyN}o zz2`dkaSq<)$h+0SS3CR-4!*#_X?GDx^4!Z#`ZhTD|2X^%Ylolg;Qw&=2ORoIj{H*{ zewjz9U)q3;z|F8gR~Kv07U!(#2PhVVZ?Q7}=4l+v@{)R(!9qB-|G=I)@p(AR%`n%z;kE=rB= zW3Gz%_ep79*(}?ft(2t}4!Mh~QWPtVDbML5OG;c5>_YHsqL}G4vu8A|#yu^jN~q^K ze804K>)q1Bo~SobW<7m-T2HIHlsb-<+NO{V^JA2wtfT3P!n);+buG$fqSR!n_7-c8 zPc?5gy|g%}oSrx1UiNJ3k@E2F1%kNXvd){~<3(rmT6+b@w@2w@1VzovZ9n#(@sXr6 z@`4bA@A!!IWJZpeHyefijP003+hx;}?Ui)ZN}wR*(W@Gr8X@^aX48{#JriAz`VR!! zM4q7hmM=B;gi~;#f1=yibo-}~4)hlSt>~mxqAj)cWbjsw>Ey-vwUIhA6!!*>m5Hit z>eQC1esd=KE(+C$wiI;m178m1Sw(V9pdwj?(d>JP7hrfwF;S~R1~WJ;A2krI#}Tp9 zc))F62o%MJfm1=poxnIO>t3KwcfqmpRXApBz!UTXGLVWxWD|d>97R2oNBkv;RN!F@ zc0l>)__O7SV&L19=qHuv@w+!G3FF?v6VzI`YvIus#$UL10{(a3rWv;T8Q9kj_wq|O zcmtGp_xY(h_!*?uR(4Oj1yqbxQ4D=&!cQg8ij370=Vpg{*>M;=0|Dw&0nSMiAZ7x5 z!4OlY+GyKw!$#4xyCvq&s87MFt4I8Z;K#GL+U1 zs7^3w9~-S-@Jb1kd-~*2JQQ{07Dn_tqV@4tbTFtjd1No`!RYL9Mo#89SDB=$Al=j2 zz|_Z5R6z$%K)4nDaB&dBy{ZNH%M|d3v zHDAcowTUaXl_wgW#Bp@np)!C1CUw5lArqlAh_xght4i#yXx{{LYLI~g`CvK?XDDAa zD!jl~J}cVSJQ;``qSPAo`a~^t-#zV4MB4Wq6Z7u1xI+fl0qBBRPI?%B;oh&}U(IGV z`Ke13HHm*+Lerw%$6n}Xxe_Q&cMJEfH(V|CAG;E!=&fG2g+nRvYMy)zD<2;NFu zpOJAe)1#aj2UlqOTa?RJXN&MLUCJ3gM{YkFB>Y0X_`|0t^ix2NgTD@ltQD;loa0L3 z97ht)1SJ1d!D%g#f96-4v!Hb{g zCgaY=f9l{|cW2XSr_07?I{1xF_+L5rI}VPqx=$Wu+wwU+w((^S{<4G11gx6>^&6zN zYzV6@7-}9kqopRbh967ohYe6@Q%SwsIwsB%r)Han4KAe5s&@ovQ^++~5^wJeP^dMT zOuNP~Cyn8lHnFToDnA*GC_ABbZ{24Ed3a_ule3M$Z^w9_{o-lq?G%+vDeo#h{9Zz1Xh<@oWVrFD!(y)$!r>Pm1Ew+tOaN%BxK8t^m94CGbvq z3DB!*)4La?qaF!Q72P0B@A5lm31Ejd+&j^*_$FM`q{i@WfO;e95yIzKf70psGkwPy zCBNf4aQZPF!z*XLx1#T+o}J&Z`v6gJA?oM(9r}jg>m&M(jL&09MUlHzAS`jk2ApLZG;Ju3EjG7_M=|4^i1cGlx8UX;us(<@ z(91t~Z&Q1>JD(}&`YWnNMg7OncT7i$5ldU*PkmQ`OP3Z{6IZN{)_-JH8Fe2^v%FAl z^ewZP`orDj6Gu^R0s_Bn68f=O-Lcb#5_`TEe*fdi&qeSwP7ZfhP8=#9^+95r@_c&m zGdiIqk1M#XWan;fFvr4$1P_#cfD1sn$CM-@w`jG@dQ=l6vnw@Nho&IfzGhpXpyLPx z#BD!r59Dp<&VmlseNMf1aG5CRgP^)W|wjVXu@ZJO~^{PpN4a7TKusAxP6Wq(iQa0o1gU1Lh3LtAFN zAAcQZ-s4>FH!)rhdPfCUCgW`d9gRo{LXXFT*jTPis7JO(hj3VSq(=wXh9%P~VSLU! zR!e(BKcJ74rZ;C=;f!9s2n7z&7`e*>(qM|w&g ze;5*w&bJGGbxz@^_X~a%JA7!=CuLn{7H)bYFFN%58(*s&^;YGmJ(V;5x*94ue_(Npg-M*c(c>#bsk28LzgLhrv4uLo$T)oe1Q4~ zXX5enHW&KWBapumSL{R0&-5r~`iG7_hWx8>oh$vxZ1Pv&JI(&!JU}!`MHc`ficp#0 zCj+A9go({~ikXF%pL)hTZ^#SJAD4uNJsc{JCj_e6&YR zKF)7bf5Ux;hXDRB%Isjk{{&=uIbTe^b%01p=qAA%0TINrLtduwu|a_Vq>p_I(C$~W zUru~88Q|Co5jXXyAAUeR_lkp4|76qoYS=jIl#QdzeE5Gj_@5k{;{-cA^-(r{hl4M3 zaMn4SpZ7Li=HP*v6%8xun=v0vrAL~B%(RzZ^<$qdhT!Q21EQ$GtFD*ObBCdsNX6d1 zDQe51@!$e`?ZZSsx~s2&S4w%KQ)HAkqGE9mypklQQQbHxQyUHadKxpm>Ls2V1mQl_ zIA(@_UUOMvON%{_arXn_-3W|Fg%1RA!BPLQul<0{GL9)_7&wFDUH(-1n+;3=9OY5u zM!e)@^cdkd#>l}ME#ElY;9p7E{cqsn zJl|^=HJMIg{20s%y^HUTj??om=-40JDx4a-+>UaICaypaYfUeQBi?R5_H2IvVnt$e zWr7oZTP4W_H&gwuR_?!+TDgxwn0G$TQLzFZ(ex!V0vbFNcj$2Tr*ckh7-QfHHX-6< zBlHlrsaUEKZ(<9eB1}VMI=zw3zgH#xS3nxEgf-tThfy~zEY;0`7AXEQnOVq!v8m{Xi6hLL?$|E@#PA;)u=qFz_M zaY4PVli{y+Gb`nbJ@afNmFygRS;ai~;*#}C!Tu9mWAN}c$#n-{n$Zrw`1MG&&&|OL zlx{pje>%>erlV&Y&+L-%jFIDwXVQ#MDiP0EnO|mn%4HbOw4%KaqQAXTAnjn{n-)3| z@NmEazKDB!IEI{`T^;yF)D*9<_8D@p*7?wPc+$Mhd9a4cXR zaIW`6(nEg+WO{!u_`QO2oI^Rc1EOy~^G5M+68|NDl+SbGIexiN{($uPfaDJX zLZoU{3ERLt9yyA_KOY{ZzHyy`J>L2fguu&laUeGS4k$K$r-Q%h;4EL8e~BZH<4~La zv=e@lga5+8x$eLY?~eCM9Qthz-sQ-1*9WX{=%+jQfFp04g9G)YkI#pG#!Yj|=NJcP zJ+%3M>&Rz)v+2zaKWFc3I_s^CuXXsnwW{WDB7M%2GB#76agnrH8xC~%8y4@ zd5_ojr{PUSOLzDatn@c7xz4wY**o9KJrBww*h`s_8LUZ;TqbKi#AYRmdcpkju})bf zU$0Ka11a&XPF5bDZX7?Y#D8AYig;}KzQ*xr>jQas7Xm?CaM{N3d(e2(nfXJ5f7)^U zcV)b7?nPlO*fZs$jkX*~hg zNF7HS9DdxG7r=(k)D~TC9meSW`Do%pE_mfoAylc>XY67W>_Z=n6JD{(vn&riat;z_ z3SL-|7(0lK_0Pl(h;j!$63_8|)QtCsIQCa%YwH0p0C0$ zT9xMz{|S?Bh3Mv1BtDM%>=0F9k1sZ~E9(Ol$?}P?MBoj+i{h2^LfWIaT0y!PQ>eF& zhn(briSE+?F&7JiKmpuUCho}tNZdXN|FLsa?qOgk2uukX#M;tvRd@t?G`S4PljCeJ z$E{+=`qACzpdj>q=0rEcVxbGSba&sr2c33|7)1LJO&$!ty~+<;&pqF>l^}D9vVk16 z+=W zcMbk`7a=iVnBZriJ}2DUh<}xy-G?hKHMa@lM;X#lnN$w|)&{Dts@3_xvTJ7L76^)V zKh%tr7fhO6Rxs(J>VnDLWke^d%spIdqWVqH+_84w$W7aPA`hq{z?tSRU|o5nq+b_i ze{8W-qq1NWR;8l#*fXt1?+6^lJ)gLG5UwgjJJuzs@;|aCdOh-)u~90?ttqHp!`5-qeQS?JrTj+9j`eCsfmv&ljy{= zq^f!7V5@?bC-l@VCVp=-s*LcAt?@+|=dM?Qk_&FbaJk1Ar6}2n zhj7bdgJI;CTS9eyZ$MOPrajzyJ8spA?W6ou_Cv$Hcj8}(#qd9s^0OlY@o{PxyinG! z`!Z^_RxFGp{-BO0e=4zHo!(ZCd2zhmRuOEkf-*`U{aum3Nc|;c`Ri@0o-jqwlq#C_ zC>q%Lc!@?X7OXQ2SlG{IuaxGwV5T+kf+AoidU8P**8A&XNf{cbK}pcaxh{#Xuq0Nh zyl%z+;O9Xt^i!J@wU1OND962x_rVIQ%jr>2RkUcjV23g?{4k}#cFVg}^>099aw5Dj^WFD~7X{_$Gt|{L zW_)>~1ahc`xk&9U_+KS*a4t%Mce*65$DPdc{tdUgsXGJ%OLQ2+3uO2X{)~bQ$-6np z0N!K7Vun=vdo-%{b`_~fqG}DkHPQvo5QdebK!6GA#rlmZR<;4(053;veXMce?!s zY&YptvydkI9hw}V{vw?o=ox+(;CACmC!cy2x>Jy{bm9M|UeZ9|z6|subns#O9VWsb z`iVg4`)D@dOg=q5lY}E*Ij*4ab%?*mXPq;?9JJNKC*^_4FXyLAI6hF8S)K5)T$D3> zY3wL$2E!tmuV*M?M~5` z1P=>d40r)iPSiryHxt|2M8SrH2lYRrp^l`sD<+lrL5Xkii)Ekupo(OmJ53G2lZhm08+m= z3XuB8_rb()n*oD>>j0VFRe<;vT`Z9LrOD(6r2lh(d|poi;#~-FmgF$NdjXFEq&|=O zGb;6u2TTGoU$uage?B1PP_J|V@HdcI@(%zqzkdK^e)%1T3r)oz!}kLs$k-l%Z31fr zmI(|B1W^1OlTu%I2R-08*Gzq#X^%KwByQg8FN4R{=e-IVanruMC%9=({v^0*pZ*=; z;pMp#9ekC8cQ`opsCIbjH*I{ggKu-fKj`4D{_b)oe4~T6I`QA=&{2nc>7iv9{5*$u z(TAVw&^a|@^FQzK|JtEn=-@Xy_;e>ccW2u2s~!9vhyU9So%_A)@IP|!m!0r$JNS>B z^ih^AuhPL&>rtXS^r8aWU1}Oy12qccR-V*eBV%*YUaD>m%Ft{pTUwSY{U7(GH#A-2 zX{)e_9>y6OS{j;Q9AWsv_TjsG)DjmTqq1~4H#`T6Rj!NisCP$=XqJ>*yKDl+`u2=7U3rC`M)RjtrYRQS@n)?X6!Q>t^HG^F?DA?kf)M@e4U>@|s^7E&tTI8k2x4g%-ZxB}J+#@~3qCwOi6f7R{0E<7J zK5^<@%_@oD_(eR2apU7HY;~H1myC2t_V`9A`lX{FNO$NkV1u;tuHL31x#b%FY(ym?DoA! z6?9UcrwPWKpN=^3SVi)DXo>XcEYK)16WG|%Mq8qag-PSdc`Er>_kShsO_rFr-N*n( z-ih0(xl(EhZEVld^v(P(nDi=#isTJ>Rf*UAsbCz3LoT-NlTOuyr%t4C@%XxE_pP-m zW!;wpcnPD4t>l_@uxCl{WG8u`=t!!E_#hA{s`|qVye%f!lLw`vUb>)mG29LTj8aLg zNPHP-`x^{uGArRBJPW$w&w6V6-W{Wby%4AXP_7 z9#7d>fKgH^`gA2I=-^sjD&i7byu6gd3lYkC8|7V@{4py_Qa$e>q+G8hnekY`x_7bo z012%I8QOtDSdR~?Akow=!-9@yboEP_BP{56gkIfM)EBK&v89shrGy<%Pvvks>#X#p$+o-8u1tI#keD|`(FHk;Q~Ly)ruiRhHu~x zbqcFSrdZ{sAIsq9sERLQrcv)rrcnZk=3vQAmak*>G>Ner^Yajk(kysUWv^Fssl{25 zj`v{NzkA%Tz-lF$UF>i#8!A;e!&F#@!K&#-Q1_|DlIe+x#5-6H6~$tnsMhuC=Y^u1 zidyNd$qFa1@GSWiT_eMZ1ER^%$v_x}IixPCGT=&r)$BLj-E-MLA?U?8NH$>FmgQogQHg-9R)Bp>F}^0j>qar!TY`5aYm^mjX@z&W%>b1LrsxpPtYWfCyJK8j#~-+V>&c z4T$lj8V?hH0XW8NGr2wnzfc?g7_LU(Jn^3m$nm%;Lnb$1wRg`NUr`8^6q{yPB4|5ZSIYD3EaInF;9 zkopv)MU`g|5F%A?gYb*MISw|@I}Y3)=hka}{A-zn5I!*wm~%NqL$jD@x8t4}mb^Q2rxY#NrN2y|pXuqLvIs`#k>CuoVMu zpD8~t|7sM9b`LJ&`BZ16wX)6 zNvf=<{{yEUZHH;G9q3z|-NP`@Ud25GrvHhJ?r(+FLW*6C1pT$tzH~cQKBsj1H_}k_~EX&3I zeoxZ=BrAu$i|>0Dc5tl~vRm#ntL7|Is>3Z1`QOfwzLzD_&pOlpUN&TXFGr#eilWfy zjQ+;p=DlRyqs#TZY-54L8F@UP4gJUw>w}COz8iEKoyslA)yht0V^WJmr3#(RU27ias z9I!ki8875X4$~4J!Dxhj<0hHXz+ph2ZW;?L@>ADo0BplO2kDpDZv zlE<%by@@I|0oyIG=mBv)3!8tMg8BQ98ULv{`lpdMJxpDLyFQjmxHpJ@#XoFpsB*>w z5wJ{dJB}|-d?<|+;;~yOj73joGP}w5glZ_ z5`WsZrAmY{Q8d}l!j>c4I}`tsW365(>Ca%FsJXPk+WzqZ!lfIZ(x2`pxJF{P$h4z* zG9EQ@ymr(Xk4}Vq=J`J1XMD<;@vGQ5;yQiQ!4UTwpsK2K)PNUJ-$A@s(~CIn!21w7 zMDTw?7}^xI?*R38=I?-$|L1@Ve<$D}z;6XakkD5EIeuFPh*vAL7%&g;VnB}PIBvn9 zEffREK@pByf z+YYY3KhtVp4sVKDN#2;6tx9h@Z`h!tdTzxfHCPy3Q!(fKi`3C<>~SlRl<3AVY{rU% z1-*^BVb!XYI9*nK(e%8>zB}f+XV1wJreAL*ry;*3IDkD+BeOx*>)9aW`_uGW&nziH zkCsmNTU)Tm-2Oni`>0WuMl@ey)+L+onZZBp_pv}e5=I`^IiG+ujdZ@m$T9OJ)A2Id z4)2uDW&1u(l60AmA?bY9kZv&)a$vy zktq!45YmS6i>C5AEn75sfR4k*zdw7??R)pT7N-{JwUVjB?0ea}*7;Cp3i$%g+`x!J z5=wo~)Mn23QQ8Zq#L7S*B~U)hX_7JXd&8ym&?{GI5?LRWO%F0@sbVxF%6pLUq)4z9 zjWf68W6V9=vBMwXvk{-sm5G)-)#2dxLVxRRYOUvRIV;fUm;8zz#U z9W9b_MC95OrzO%`Q;*ZEXq3D>5ka>MOX_iEZ#eO>h~BCo=c3y8j(QM+0-t^S{inkR zK3UF<`Z##*?Zls}61y-{^XyQ(a45b_hZ7^%$Fbuh>nOE>^Z3E0&jp#4IjnnB4Qo9k zR!-hA`%`B7n|E*+9lBlRp!>ylaMUpR456Q#fnF z%XGu!Z`S?+rZZjo+0UVygDV}K>vZTc(Z45j=*a1Y#eaVm`X7Zp4}sJ57mt_rI1`;_ z9O(WHSGxWv`#W^*xP2o0_-xI5iPr|3{v!jyk*^%r_hnvXUwq5K*CBkYFUlEt=e4UZ z7Ul7oUMGBf?#iX%<4f5pd{Te#ru)~EQr;`LuE;?i`?iipjmo|M|6K(m7v6It@LL{sbU&6KehnWj2%RI*IoHqOQ(d2Z+8% zXe}V=oG0SE*g}Dv&mw&)Ao;m|k#x@A5dIyRBz#)n9RjZx*eLLPfztpv4|XEpQGiH` z!ZC(YZ~$`g8{03C=_KAJuvTE1z@Wf@zyZj??bv>SJp$VV)(R{W7!(Mg!u26Azq6)& zYC)kAH|-Jfs&Lc(O%Z<6-d!kk(?0R@#_*>7_<``7_hzBUH{XN1h2OOQ)ZZ}tZ{SZ? zf{VCmziB0dxM{D?5P6#wH_BA-TEU-}@PY=m3U0o4oX^D1bNe~?+Ya99;D_4Cu{ z6Q)k{+hudMbElmLYVe+c@dkO|bAS7Q{s_^6mxenUs< zeEN2*orB$8nv~@kJnv$eW&0;XsSy}f23FPovue~(r2E?aD(XLhiuz;JgFe=!U5uEP zmoR+206Y0^I11|bEn~(6zJ74Ht8&b!XnX&DQLLVuv3K>ZlKxp;W6r6l|6{cM@loNf zF*wu*adyIhZe&|*GUD@hhN$Q|=qM|d{aJe}oR=dU8;p_Z zds{{obatx5eGG%Xn|6J!eAJ$&_wq!ggDdKv3b(C3WC%UCq5evBFxIJv4KoFO(@g|S z%Or5$a5T6}a1i{K@YgRtVpP|0(e_7?qb<=HzhC|L^R|?i4h58T+5g4U*2!I+N^Yr< zMlHLXHSDF+Siq}D{1H~Yk!EgAm&24)`I{w&Sj>rpz_eU1Ow0A(Fu$^U#dftqFIxXt zMfW*luw!vDM%a1_B$jh_?M1YzY}dl7QemLrYy8?G4@A*z`0k^T?$wv>H|nwQjKAFY zn{fNq{RYQ|A7OPb$EwKgXk*N%nMf)9!=TZVK!`8+2;oIhZ>xYkPHcS=&=DmUXr4 z7wv8t(=~7O;DKFJzfRM}E&Fv{I4V2}w(I^8neoPr-(Et)0H`bdd^D&orMRcn@Ywmt zD^iAyrrQS3MWLZQkcM7mHVf$vsM!!6@S~s4T6jryx(2tZ2AA{?j$t)~!pSzF<$G4u zuviY$XyNy^qGoa87TOzF|Gr^L$xe8ylhMi(A5MOuWJrnRgZLrjmptCScTB-8o4PN* zaKG@V&E+#bTKy*)4L`i1ek*F>*iQoSJVMmQ(cz)Z+HU!65a0KElR9QHhL;Sb&In7e z>$!d>3jP@GN*;xitUoNDte?J#EYiKa3J*9kOY&Q1mdQM3)=8TvBdNn3U1Bw0aZm)sQSTSatY{QsK3KxZmoQf?wrVB(_y- z8ptaz_|=?IRR?Zr|La~JsSr zIEz4716}oQRGao`An(a z{$=ms3qJWFu1B)PJp-6dKS6)GjkwaSJGdUjO~lfM$zK{D=U zc`9ed-Ojn(0#YwQyWJT3dUm_HFBUCu=uf)-hJFSJ9arcFfbcK+viNf&2E*~JNc!)>ACeuq z6p;D|uGeKa+6Tk0=)XXu|3<*W0IA1d_=^Ea=a-NC+^E=CWdWoBM zpV9f}8hzj^O6Kz5+PdJqO*74|m7iA&361gQG6^!c(>_|IZHol!O1! z!M#xvhsVw`(A3}(XQkCF!S2MA507Z04=FNWBuZ}!P4Sa&QR7Nigz~avDBKdFa12zi zi7{o-Y#(;PY1<2?(_+{vsBSSl#I0Fo8gFWxlFp9zq7}*p8_kRRnU&9{8#hilt2C$_ z=AoCBOueXvccD?0;`WKmIt~?iWg^emDHD`!^-^(~LxzW*$kB8YQ-fIu*zL)V_ z@fc~ALr`Moxdi$(&J%T%+oSOwgBRv0{$Ch;{aA%RYVdnCzTM#4HU5&pdo(_1@P3VR zpNn$UI=-U~KA`Dm8hnq&XB)gs^MBFc0iC`kg9kNzjlqjGzTV)q8vlvGn>GGRgSTmX zv%v!z-(m1VjnlrlPQQ--F!RFpX!=`wbm#(3AZ?4_4T8TY_!7Z)3x1{G?+M;2_!!aG;AK$qP7=IP@N)#e zO7Mk(FB7~$@a2NH2);t_8w76>{M&-B6#R#RUoCjA;Hw0GLhu&BpBEf0ol5V!f@7Gj z@O*jiF``xYiGp7%__>0cay8I=ip)36;O5h0U)ii2dl1Y_VfFc#S*~mgXb62@j~i{dGTW^Y-V4Ip!Q}3zn9qq;rYUr zs}Yhq09L46IfgVfUPJA<_!+gZr~55!Y+90$s1(C#Lt>5qDrN5wTH#5V9Y}d7qXL4; z-i*3-TS-uJ&w*r)B1VKK{r`xe`yWlB=(4iUnC@L3}9V^|AP>hCuzwCfKQn z1*v!sHm!^Wm0;{9TDiC(s8{8oD18VYu_1BUUJwz)p#KfZ<8N53geZ}L#wKjgXSB#6 z4L3bi$x3L2E8R4`El*uyLE64xAt*byLYCBEixhIECm{F^_^H|-iw*0R`w6I8LG=!Z zcf4s?)5>d`g4*OoP)Ti!EnN|aH?_o@n^&%ip|m8*6)0u%asx^qN4gRzLZ)%}M6eu# zYw2FDzZx3y`bcJ+EFw+@#3v(kJRpQ0%W(v8%stZ`i|!Ts1R<{5!*A?(fq4S=qO(AM zj_(L}2;3%+{WSV-6u3cPm%vtmO9d_z7!_D5aFW3B0`mm!MWR*w0%@1pW0}B0gf@Aj*GR_~^8N-k zKo0AyJ-(1AR63bfUqTHr3*`7Bnk*uhR{uKuQqEEoDPp$vaieY?hs<;G^pqk3Iwht% z#AlCms}T)w_1@X<74vIH&U+iz@6U9#Y~Z|#i)bIJW=?tJ{6LMt_`Xcf{60)izn`*X z>WryVJbl3Qn!1*z68nX4*QK-j%x4t{;)3J*VCtswaQ^ljt3A5pp&8t~57Hgac^>%| zsbrK#k*z_jSz{Dw-iLkZ1A0Ub=XvQSp&yO!R-pO>=!TV#{}1!Xx+M~C_kGv}Wg^{2 z^3a;S3ZeZa`x?Q2wt4AYP-fEgO93@w5|~M@Jvk6KT~Yk6LALjGqkNE~EO@wLJUA%= zh3ERdP6juVwjD1iza`8U+m;=`7Xj`?;%X6x{r>W;<24;uB`!${?s9kP{q5%4WUZXW z>BO#wdcmv-p6+QbhZ_XbLRz_Chx$Je(f^a-e^&pmJnZtoJSb*W{go3t0ou2|*FH4* z+DdE_#C&(Od;g2T60JX^H#%z5&|hISx*~avHcQjlf8$Amr&e^|024e@cTo@yY=$*r zaGa&kip2TKM)Co@Y?HXhL+uY(vi?bYv-)toC=e0G57i$?YzJvARiUp?p&oN+L7T=n zGda`W*oes>pOf}cKATvEpq*(y4W26$^@nPc>@aS7J4uMy;`zu)uPY}{38iDu>UFHxq82qZ?d4 z$6l~9x%()`^1sFv=twV#_4>># z`Ts?hbeQM$u)~+IBg4HRf7<626nT*>>2;r%Tfd4$j$6N6K9jFp+i^EvrhSm;y!`*) zYRBDnq*M}i=?KfyJLRS$ zQ~uPb3e4X$4@d$A1>WPxH)Fs|{P#QjW_?s9{@*zKCjFWCw>tdPW6)*d|BJ)V1;})n z_+NAQzp2^1|DfFc!{O6f9Q9uV3(a#Pl_2$lMy5@SYc$TM@1l z|Hzz6B9)k)6LfB5RzCoy1W7pmvVhuhvG{a7?{j)fHFZskF^iS*)>9ga zSIu}R-j%VXn8LyIN(*LX0xJ+|IgU@1NhaJhtcnG=-9*V;Rf8$Dl>wYq8*f;pSNdPdLg&26 zzQT`^4p64_9hQZDLKga&S?G~0^h>hPX<2+<`D@KWPh_EUU-Q1?|2zx*w^`_a5PGKe z>90a(JC)Avz~!P8=iE1(JZ+8ezcmXz+k8>!Zr$UP`jK|MH{0L|Iq+f4QQ)8)_-+B; zKXzr0murk)%z^I}@cmBsOn%*YuZiF}1f};2Zi|_UHBr_;%&McL)Z{Pv^jQCiwbt;JX}rKg@xz1AOap;JX`qapBunJN_*A z>V(hq@4fckvXk;L`0f`z`F;ih=MT4AGZD(Fjam2-c-Lz2cvk=}1Uv)qi-18u%=d@# z0WSmmZ?r*|0zMCTCf1uh4v3*t=rKU(0FLbiyaf1tg8vk7KJYsP{|?~Az}E}j3CQp_ z0%9%Ov20rzzDe+UK!(3U@VS5t&$gQUVL*mI8?YF7F(AXABKYS38J_m(N#|NChR+lH zpZJC_{QH2gBX{iUfDHet;5z{sp8K6h|2-hXZx;MPK!&IN{*yu92*~hv3jSR{hX1DE zUj=0NHo@b748Ia^0>Uo_WcV)&J`a%LX?J7-=(KCk@aG6#0?6>E0!{=y2*~h93C=Yy z49^2!N&f`>1cu)WNc``B4F4Kn2>6SD4F8(j z@ZS>rYk&;DR`6>88NONY2Ee(%YXHwgc+dhE^M)=IybO@?KQH(hfRsO3a6A(wA9YWK z9|uVJsPYOgJ6NrO$S(y%6&^bt5cMX%Q1D$?Fp04F1AwIW0-~Pe-z#_*-~`}pf^+}M zDZr}*p9FXj@Sxz__i+U90l>on`vEDp2k#UZx*~7unKro@Swl|AXH)byHHRl!~6k2%IgOtKlc$4 z-ypCR5L0CNTx)`QlF$7!q?ZDI892`+CC>A->VW47z6))Xk`Jil12TPFcdz6Fo(z1w z;LU)Hf2rV6fm|;%4*rFJEblz=--T}j6{Cx%sVtc=Y)T0nr5H zmjbdpivd;o0Vyv}aGn>2_auJ+P{{{W11VU6}+XU7MEE5bym_6TefSSzqhU{GK{-~a-v@B(`Twh62iSSBziFd%RM<%Zj_ z{Q`Rgwh62iSSBzi5I}{iL_P{p7(YgNazC!o2Ygp>Gyea+;AXr}J6il!_aHpoI?{pD z&MV#NxQOo&`hLP+jdG{so@>(E5RMM0!Z)Cj(*38<`SQ>W3cgW1Yebvu}e-HfV z`h~w&@_z&T$Zzy}r{FmdH~P%qOZxMqJo(;}ZuFsVi+rPhoh$sb7fkmkF7g}wE%(0@ zr;dT{7$aZOb2t1*H~LQ6H6nhS;>PnA{xYdAhk!=N!BP&)ep2a_~#=9Bq1mgEu&MBg(_(XFtZqFF?9&+&w=l z?#PQc_*G8&Cp&bpn<=Fe2+)3n9bd%3|J%XmI_dq`p_}#gY7SOUyVlgjagei~wo6T_ z+P)S;Gi;c}YU*PMkuo;m*&3W)qbF4LG0$40Ot?B;W~SEmw$o&Zw9;hx4x1%*C3zFS zHo;5=+kSdF+V)Y=VE16dlDhcvSWQfJ`FOc&X}H?*G#MP`>*di;v9sx?SUL3*hG*7K zr^r-({WLGjes9UO-_ws-^WWH?f!(XAg7BuwQ-oA?P<6!AD9)Jkv~Z~};W?M7y&kDq z;u<}}Zuv?bG6p24BWG&P-eQ4|SGt~ToOKoUv7D^5^g5XtsMIwaVlZnK2f_>%HT@kr^}OrDpI%ao_Xnet9?TcvDs z`@B=!sj|13ZQm5{um@rX*(Xu&4@*h%Jv>{ALr8@%57lN)`K9<&Hp^`;Es2y=7=4)xrA|) z#XKAc{l0hX2J9++UL8HLCEC6PXND9}F3f=LB23@}j`tt_Den3T@rMJ!w1vbkhimkf zG3?`MLsB2%^L>~K<-Rcf!oAFgl3>mPV+eJK2@I_kDv63rvyLaXmlnp4*Jr>-dHDL? zXd*vakG(x=04=s8<)D^AErt0At8>!AiDwi4uyRw-@k7K7d#%x=-pwQDR#zk=)5Dg)dS>-DKLck(Zj4xUg{5! z9Zoo#JU;FbK0`%<*;Je%qFDP_Z7LIQaU;}j+y*F(C(7VBwvVC+b|?-!e@_ccY~pi) zJ=~WbhC(pV#}%mh92yl8ndMkqXZCAk&<}kvZj}JvIWy`}(ID;f>I8D{XcjPa?u?y- zNGcPr!hWX;iD-kYavW>-vEeai(4~s|Aag2;Wl+|#MLGQpuZ^rnc+1^{`?^u1`P6)l z{&eSSFpR!U`v*P%OlOaBlZ1e76YZQC^-3TB>I&#sJn7CGp`CrYrMS}B!!+-@YcFyl z_>aLg>0>=_Yx3dEPoCed&N3%oIj)<8Px3iz{mp6MS&pkm_?TbijNOYg_8zITX%u^k z%)fGm->6G&@82{_Io)A8khjK=qW6$zQlpFN?p$7p`Mxh=+v>2f- zK(w8qC4kUrsQF3U7E!-KKI->A3wW^LZ{qo3J}AVsE_ic7)LSte&)H_U1R&l3bxs6c zq7d~gq}K@j0zk|!g{T+I13VHC-_B4TAXJ2*50MGV{|6wN_7L?=_zr~n05R_q`X%6z z*dMZ4+24uuNc3Ab{fI{3rD* zre1y#{=`i^TqSfm`)q-aPVI^{I5Cq2@e0~ z9sD~EexZYN{?(3u$iew}v+3g;I-jdezr?{m@8B^<-eV4(vUnNyF>Y+!cY2@FGpKQb z8Jnhje1pc6_dG1Co-i zQd14nDMcfy1wFE}lnd5S&pblQ%l8Z|e>L9b2yo=%g_6>e;?f|U9xp6j*%;f`c!AyO z@o4A*L0oWX8~1rWLeC_{7AR#HID@0j`&8qF>yKArlst;uaY`U?EnkQcju(s^GhVoF zqLyp^CAkL8YKLNjq^nH=ZihT}`PZN2^}l^0vyB(VpQxkmq7b-hG~{xtaD20tsvG&s zG+vktI=%ye;^`VP5zKQLaDF?g&&9f-JpcHCoj+cjvck87^UNc5X8fS~-O;tLZ-j(s zlC=kbrt!Cov~zcCnyU5y@VMRLvfU1SY!jWF?n_WnT_g}?SI zFy!7nt^{d|)*rDpI_mc&L$vGvUdiJn{X_qQo_DY^$)gNgC#ldSJ4=RkZ$WSbdUb;7 zgEqpW?;H3F_dbpP!DB$(=BHk-sQmOQIlDP|1Fk#$T+NDWe^kERT=B^0qsb^nBG-*a zmI^w$;TcUfBRv&)G%~{82clSc@ zb9}HCC06o`B;qv%6P?Rdnl%4w*hCBm z--{oqgrF!Z66N$ke!1#QVlgpvZG~TD@*zGbQ^ritn`BMg&dgQT|CohPvJ-T8F%wee zJliqZ8q^Unf)iL@5?jsKi(XtoVjTxb*_`xZc|*`pAG-?=f+v83zN-=+m~`E|R5O*l z7wx{a8jR8Is`XWg0gpZn^s2rN3x;nxH!{-ZXn0x$C4beEoK!`CLs0ysHsi6X#5<I$`5RiyyMiQ9OiK2+&1p|a2D3F-UNL0{hlFB$nY1NkA z`QF~Jwy(6ltuZPFQ3BRWyi;wJYOTcau0_1^{eEk&ede5#!DzqldH(iA!gOL8mIIjQ;GjNV6$9?(`cLpCeID6iRCzRMk1ruPGbq7 z)p+$cRU@UmIcKwQ#nLBBH*$kyglX~MCJRZp1Sok4s&fHUB2A{Q23K1M|01oY;eX~t zxPEYO4%d_D%0BN|uj_L0dn*1*=(ee{>q=6A%Tp&y@R^LadvAPe348Oh4ft*BD0>V- za5Oc#zzuxBiV=JEU{fn7T;3B)Js-oRNj85wrkgH)&+uT=CU7+FIVjk~X))?`u=xzW zOw4)Psk6DUUWJ1iwx|o<+K=8T*i2npR@dg^`Oq@(RSZ^5Zn5ib`!W7ST5o|{R}o$v zFl_cRm_Y)U>LkN{;dM2Ggw=4B3@du6Yc{0d#-Roi-)JGOh-x(*dkK2{x%u(*e2fnE zRR@C2|Ah!47E`_9uvSD`f68c52||VA@}6?s*i!<5Jqm7`41bIm#~>vL;jb70x-!BH zWd55WjKM$VUDM-ub8K3ehN5;1O|~;ot{NT$~q?ehPRN148=rM7OtChDk2y;*N-TUpU=_Fp6Ez}^ry6Pb4*^{}Apl?gUcB?U{jvGhr! z#IgHp6>RD)Me?ri)#C7Gpfsjtc{YQU>r7-X?u0U}MWlG^s_VLbW{Tr?Sk7@}mMM-q z5JL$RS&CbRBo(-0YBxq&(e&z#(aPjw(UwCmhu3K8#d~9jg-J){M>6_)@m^l9Bvv*| zyVeWu=2|F@UWFr?+JW`dC9aOdWE%RT#?|ZaUj0-?0Q1_F+qCx5PX7u?Ksy~zS2du- zP#m2YtRd?0^m5#d^{#lpIPpSe_Pg#eM+quxp&g2O28_v&wT`9F#0d3r)I<{^2P4}M zAUbXpUA$%0Z%|1t#R8No2kXESX{F+xgpcgYj00Dxmn$S(TpqGq?o5uSSGRY4k3)c# zf#1sIk@`^9qb#4lj@2?(BusPnh~;w2j-_7dIsu}QV~MfotT*B-!(;K(r_reHk>)vQwqUq#19RZi=NB{-A6v1vlcP}FeOi7%Ou4NX&O)Mg4 zS}S*;+rAgGKD-`n18pT`zjum!CV?1d?r_ZsxMOV{iee*P@WiC_yvH&Tc?aI^Iv;X* z`&Q9zDXG`7N^HokQ<<}=cR)!d$5YEUmZqv6D^I;!ntBbkPHc*|B!VQI=|`e3m|HW) zL@ROL+t8tiBi@~RLpF|962w556e#L=)p|)91wlBbiciN=pP&d`nG=UVj6WX6vMdDR z=Jk7zu`)%Xv zScBWr)^b2sAnlH6*1C>BzR1YyK>x_=uNgCkwJ#S-U|6mpSLQCJtDWyQavOD*p?9rB z$o@WhcsUwN_PzLS^;tCaq8`)R+X0AXZ|F%W$N1Kgo*}I9@#(B`am=Bxj z#QTyLY_r+v$I>%~V+x!fuS7pK2Nl$QBqGC`U_egdqPj`vV}-lz*Pu;Kvf;Q>yq^p2 zr@=e!wiE9%x3E)H9@_C6=XPYo7XiWu6J0OHmuTa z_b%ckMSZ|kfRj;+&xDYBIWE$O9f=f1Qhg)$qhSeT+WbXWAI;7+P~e<4%#C5vC@Uw+ zuySHEG_e{}Le9FxBGNI_jIm@HC3pj;T1emTFmH)g_Q68RHoVAd_U=Sq-B6ysB-Hi4 z*rT)z=-$)2Rw)npHM)=G@{`v1eMs>HpFH3%uv zO0`U3>{^VRh^1#@05}&vUD-jsFm@bR)jMN%#y{9R4?ZG|*A79?cs3rh-4%tvLq|yn zVW9s0vulF5CmU2)0Y_*Y{xq+*;Y&A~Kz3wV2##paS4?s2}()Ao3 z42Q1bxJ0;Pog68#O&sEjX@M)I8bS28Q%n(?wHZ|7)I-Jsuf@qaKSh7F7L)N+cwNN} zPDe6E8X3&Q=|nDd4mNWe2+M@(pjI9R7EEIbOGDN#l8Llq_!Mlq3O>-3SqV2^Dp~of zC6J7ENS84n5nt*+pjSd(Ju zRijMVql>E*N3S;)Uid= z+|KwXFYX$l;hVUp%GRRsY?;)6Pl|1y!^uV=*ksmu@GizjO+oXwMixruI62=$#db!0 zOnMGuB_1&p#k8O6KsL!3kp^%21G-MEhcSy83+MIb0ziljGy={p07N(hGV`BmJfSF9 zvzsdMjAb3;8rfYss-VEkvSO*fA$|>;^6*;P=qJwN$`Tfa&@pV{z(ZH>q^o#k6Z-|?!cohWox4xLE@s!PvfcAgsbZfMyO@r1^5u@YE~|TZKO41YaSvB4_)^e-ebMI z5#en^xLto|=h`xGU@ivkf{-8~EK>unH?UrAf?NX$(lI`J)$Xt9}yNypTf?g zTnO9imlnU5xY&s}N<1q_)^n2>fe!p>f18unGAEbeU!-*|^NNcK*Lqz`#g%)2B_PaL zWG;itPaPE>)%bv>PYBVMmFlW(7>_97Cod_Z!_bVd_?VDF5LN+Mf-t^Z-Yj>z2n5d=Xt2hXeeAzS7+b)lnd2i$Z#^l`Q|x_Ptl!tqdyUe0&Cq{?dtJ>S=yWHpCe3TW)V9o8+Az)7C*<7ZjIb(lNn60MHu}dp_=vJS*z_0^ zoBB(%@k*{B{S8z(`hHe*Xr+DOUI|JZ;G%{Ho8JO2dah1cFllT@-;U;}YFjML#rkw% zG(8LYTBZagw>hwr&JJVUccQ6>@J{c76;6vb>r!lBIqnrpJG^7rKLblkqYiYkZ%NNV z{rd;rbk~jBU6h7AxDekyO@3bn3msKm%{;gQuG74(W>nQc*ST;#-0ONN1VmbS*1wF% z^1QCK;>r^Oq$FQMOXUg|Z4UhY2(FSMOd&k6MYBKf54n7-w?1r|GY|WVu3lF8o-<3K zt`-nORtbweKeP1(M8Q>P!~8|aHz%HYfE^yzjyQS6mocYN;B0CozZkVFZ$L@9S}Qbr zXvem&)2fFEHhWzXFgrL|n4FJS*w|>3Qd+zx*p!m^tZwkTB0D*|vvfmRH9Lvq~!S7zApK$BG3N^65vZ7G@W!6{uZ zRR)U5p`4t$hl@?$7x@Ffi}%5mfGXHVT0dk0A|?xJybPv0cpMB8tn~CIfv!p--%yT& z|D0VV_uILGG~LfTR$}HZ+{kW{q~&VDK=Y|17gUY3)3hhoxH9kNpE6OLsk3R%=KJ|F z+`_=EWfG@FZQRjkg3vEB=?l@aN+lKR$OG_zkJ`x6!^CS{e)>QNwCnn2$6%Z&M~$~Vzdt_kN$MOGJ zlV}jl_l?oahmd7i)ZiKfI^Ml5R z^DoRY!)sxd%IfPHB~S{ErY9k-CgW}C;NX6A5*XrGi^zkhHay;cTG318=@r9auOn(Z z#F1rAH0~x&@LRwoHdEMGt$Z}o8w7C$r1M>srGtFX8q`g_S5%rRS$kaO7Iba7^mBj7 z;XKUg_~p{SeOKMzgL^Lh;8)NE)BF;cOMYX}xKqzBm-`GX2+_!yNOP%N;x$X~Nr8r| z47tKTYPdKDxOAIKKX}5y#{Is1g#R|aDAL@BHYHd5RvvEL4>iy&ez&Rng>cUmzjxK0 zxu>(9L~Hh^~PEd#GITeEv96Z}TMYUHv0im`m<-tfu)7=Az2a}`;i#e4<-=U_NC zW8|}be-%IDJsvVc?;C#BcQIDJE8gdT?@!9ddhg*oy|M32POh1I`*`l*_dYao`5t)q zbEK2sGY|c@;pcntRs4+iKf%9pkKxz%1l@G^^SuTjuFI5GzZWZ{UCaYw|On1|Tm_f=&j_ zzS2dx6Tvr9`S{+6*+)Dmm**b7)q~tCM#?!f;q!p=p%;HD@Lb?H;Kjg0)V?=x4(PX! zF!s*@&j$S{a5k_FcqZ_Vzy-kH0M7${A4vBVKn(N4WlB#5GMur%3g8hy^6#(iyF=z2 ztapItz`hHJ_)WVDNO|jl^nWXm{?kDEzg*qt1J43I7fAoJf%D;iBCrqWqk#*7!+^_x z1AxncpP=2P`wk%GZ38mAJAh2zb?RORTmkw#U@z{I0HTb-$0$7vcpB*4hlzq}_!Zz- z(9Z$M{}Av*(02mS6@`BeJRkA94R`|RCSV-63U~&v7D)MXf%HECSPlMTfG5E|r0#vy z{dK%>1TjP!hI|76yPS{G~n-m zCBR=Q{XHPM%y2yrQ3zK6nO`R<9;^6m;K{Hb2xR=7?R$ zip7eDC=LN02>%}vJ)X{*M60fZQC! z{NIfM2jlf7Fbet^AiCc07T|@z-vTECZvtKbTn*&=aw(8<=K`k!OMtzB#{wB{0q{Iv z7b+k5?gt_X;oks}Md39-%3TJezYBr%HwB2Og-0n}0E7uYe1P$PGm!2pfaJdbNcU18 z^Kl%I={ZE{Jf&a5xS95kD5ik)Uk_xxxd2#=@+$(40X-T>{yxA{L4RIg8C>B< zfsF41K+4$&4CC+Tz(U{+K+3%wDDec&27M}!;Y%%7l3||IFzL$aI zyAwDb_+3K}ZC3g+rQ=FZQ2J=42PmBfWccrX%j|D^1$ZgwXMmN!ZNR0#KLZ($Ujxa% z8p!-j0!IL60z<%)6(=c%6^{ZkpAS&n56JxaXMYp_M}eg81ycSUK$g=Ffy}3CfN|gz zz%zi=z%zjt02z<7f#_<&rvVwy2|&tuqo0xcQ^h9W>9FV51jAEWL^s{06a ze>>mA^BExH`6tEO6t4!d{a65`yg5L=Uq>tbFvk7p!o&9i#{>ThNI6Z4ixqhe6w`e& zkm()`WV*RP&G-%nQa;aA41%004nLx&8 zg1Qe@?5nsJgDmoY0Azfg12Wvlfky%F1C9jVqV_icj|ROO$o#kj$aq}@WV%jJJQ6qy z^gDe_`|&!E_2=)3PXZaQKLHtUp2tSKS?v=_p9y3+^L#j_GpzQbfQ19YWCchPMOxUatop z3*`P+(({4yfTh54;56Vw-~?b1a1@a5Ilp@|e?QGL`TGHo@6{7P{DuF7e+>7(l>Pyb z@wrCrx&M{*?OFVTsG-|{%)kFudaYsu5GH&o{;^yR0#>8_W;`LHZ;4_^k-})d6aR?q zit7~{6z40JD25aRiaQYw9{aW{u2*bOoUd4-7*Yg?Kc0s=1U=|Eh%k}$iCThoU1>0$ zN!xX#T9gmz#vmmG0$<`s+OG3ZM~Ads7x_eKyAE+H{0HG~*L^;OJ88QP@q*HJUE>bC zhjh2=RM(=uk+$njPvDufHK>z9+jXN=$Y;9Sb)a9X{Ba@UW24Hm>p*<($ZywuxX+sO z6UzT1rKc#(py_Vcq0U13XlKnT#NSOn0S7nDy@_tR6z!Uue%;6akxw4KUby*p`Q$y} z+x-z=_zC2X+x;V-yZ`*P`+V`^_Yk-L(|z&%wl6+aKDxIre|SE) zTi!Mw{fRHUlYH@g(dWL^7vE!i=^f&u$NA#J^9$YaS>+4w79YLTM_=fRPaA}}$r@n7td$M(P--cDbBM11mo;geV8i|@@on%dlM`73>NvoC-7Mb6EC znvZ_l7vC3r^y5B$ZeVoFd&8HWa-Vz)^}jQg4n^_5Jhpyi zPjC@ozA9abV?lZFO12E=)S#4LBaGR1gxOk?tgWf8b46TU99qyj8tNKmqueMel~0P- zkgih5TEK@Pe33#@3%};6E|klhF^$W@D_1PwSufVsGy~RFLLsx(D8nm9(wq8}s%!LkP|9?AC&Nc8?VgN<$})tsM0k(v(KFM}DLbb^&*m{4zGNHA?3+?rRaw0V z-rcX@CCLS~IC0dpa=5J3<~(aYNxm6)D<+_g(QutZYAQ5#%kf@US9WV!`5vATD>V}J zg^{*}jSL$bm6ttT20!J8%smxe{}B65Uj7#P#*pQB}4U0t#5eljg`ao6dJBSyA5T#O;6`!+ItHc z)Z-G!W1h{zViP_Q(0D}lbneYYjn7;Pf!T%id3_Wb%dt!3LH}V*itA=(4C*>36Kia8 z?#+9MM**H03G(qH6TasK-os+#{TRDKUbk~I8E^iM!S9mXJ3u74j7WvP`z;;Hwdn|FqSO%KDOyb=fC=w2n)=B8ltZ{g^23GD)% zwdg1bk?v~3Kkf**P*|yk*Z>>ueB!>G#`;ho61;6|CIQXE$^llJka^mMby#Q<7UREY z6PI~i$r5Qjimuf3ADzn;D~(2Bj2l0ZCTjT^1;NNB&Jvi`%)hdE1UaI)XI@Qq?gor(Nww%A9irtM{GL4_@xAJ(zw-Mpv)Sw^Y)F2!c1kFLo zJt$@3IV7s{)HiRYE=iXhDbO;o6qUm$TQXoau58DhTmBF8ZEev86nVtu2*PlBjm{04qM2{ZWw5~2R5$LI@4!_aI#QA7wb@W z?>8Fn*=SH@ubb~NnG5}16SK3SI#ExSWKQbFI4;Ww;Ul^U&yS|^Bx89RD^C*L5iQhrc`8XH9@8U--Q7t@kTxs@|+4Jqh2v+9f&9Mi%{f|UERWl|7&15+mqQDfU zu`V!y9*IJ~zMn0@<;V{$!Ad*|zsAZ5`g!QY+8qI@>ChgnGZjPPZY!-hNEX`wM0YF#&&L_kEZjY(0s@1=%}t^r?u5)ggWME?h*gkYO3m%7ph>MLFH7l zMFAR^FG-}i3me(JL|!t*dZ{C-!6E zPLHN9L}qO%h&E0QBnOJLXsS1pIm4!(yJmHJYqnONZe25{AbPi>Z#A#$BE(4(@i`O0 z_G+cq)kMBGURI5Kwvg?ix%-aj@c*-jzJ)a#6Va+{L`NVh6458Tt|p>K=8C9utZ^*$ zSTywv4pkAg3nV>Og?M1$nic; zO|O1dE3v9o!`FUzaWlU_%=jhI#H^9&`GLf2iA@i;$eB&GuFY~DO=q0R-My7emYM+5 zr?XSA1(i70w2#=-fsGwbn;@)KzTeTF4L^fi)bM0~jc!QK@5UAZa|}2%!}rI2z$wvG-)QsG@>~#2 z^(ypm7-T**1nKo}jl-vm=asZ&?(XpF_nSgB@2l{V=j3 zmcD2d-ZW?HgZoYUrMSx`H0M>bjHbG9udq{u^^O?C@-#VM5UGwt(?2w?&`XI)vfsKx zcmHDB+1_XP?wpRgc0Go@rmkJj(&SJf(z*+!BrVONT(1AHWmuYe&)K<$Nopmc9ARo$eSvA~&^OQG2-WO8>A|m&~#09HyQ<*!(80rKFsYt2Ccs| z--8>X1?Z~V^J6%uLU!CZ8)jrz@7iXJ=hFE75Wjoz>$W3<=QVmdz$m` z%jJHxx>MgE*Lmtwbn??tmO_e;>* z)9g$BFEDJOxevcw;a{9D&H;`)bA>+;BVd|R{BrGQIZNI7ok&;=I{&X$cc|IXXl@&V z|69}@Iv+X9XQ#UJtgl@AQHElUMZ?KeuJ|{r`^o!o-=gl{+lTucOjBv7Uy`f-=o&@9 zzaL{1_@UPlD0~kU7{=B^M~~m7pU=DPzX*J1>i&tI!YBW2;J|%vZ$sVetP;`S~7r_+9aR3w+BzHgZ{J9zNIp zh#_cxQ_83B1v0Sv{*9BsmsUP~KXUT1pG_(s-xE)`u6-;wfp5L?+4~!vaDDd~u$=A( z|F3kv1>YYrHlD6@{}X&~D<9vZeen%ITi09nP4Io%7a#XyELT3hR~|l1&yxd;KHFW2 zmjXvZkLxrb^}Gv#h}O^p6hFs%dcVJGH-A@m%0k*p~p&285>orvVFrSXvDq44eYwlHy6gPtlGI13m^E z2W$tTX%7DZh-wx78Soh3Bp~BITCo?9;qO8_&3L~EB;Bs`?|>oDzXGDY310=ol4ZCC zNI5fr#{y3R(%(oRQHqBE zC&Qll5-hhb&@Y|eQquoE~EcsG##e+Z=is}*a3C&Io0cogs)Aj`KDNdKdO^dAIb z6*9cLkCF2?Amuyv9mq#WJ{&UD-iWcc;KBGA;=B%TH&KMRTcAApJZ_X=B#JYHxM~h1OfsEgI zzye?th_)@v_Gki-D<<^c6)^t)qWF77uCpBkceZmQfp`|2kHFyd|F?RZA(X>#=xg>F z$aMD!P%nmhh<5yQA)ZOw@l1o#cKlSTv>nf#4SD3Z-{+LJ-huSE)J#>eU9^wnX*5`h<&;2Ez zyZ;{F3w`eF*WK~;>kYo`bKl`h&*?t*-}>TnjE^4a^M5%4cZc8V%fBk0fAYHdAM(k2 z!zb@}pL>dPSQNXARS%aEo6qU-nP;Bu_T<*DammVFX8BDt%1k^c zGJ8$0OQ^kjvRnA2ZX1^eYE>B31*@(>8@<@ZT2X_ewhFooOOYQw#Urp=Hg`f@)~ltuDY=;3entCY!7{3L`IN0p>KPqTHi3SXv4J3?uTfE*5Vb4Ex+g^}j}n#Zx>`?? zp&UomDI=8n8zyv*H8t{#YMIB;Dhg5E%B9sIYE>FZ&&9ZIbt%T7l6q8bkB-KaWaC%p zFWHbqMad<>tuf>(8k^}x{X+Cik~JuGC=E$SyrkG;VF{OLj}DQ<9+|Rq@zP4s=P}8( zg(o_oHcwH0s%}G#7S;X8p{8TiYP`xe62ES0HDVi)m(l38c#7Js>f)|@ZhKem7;7gZ zTmn6si*DZ{wTG*H9hDx&-rf>!5=SLHpEivvMXd0+*A8Z%_r&6Ir%8nqLZQ$E(RV2- zESx-XVklHJ>3CYg82uOC!sS+g@$0{!x&21>#B!0DW(?YG8cSoE@gM2Gu>YsA@(K_k zOwG7iwSiy_^i{s{o>(gf(-1Ko8b9mbNA`H{(+2g}px6lk=vo5v5kKY`j7MZo`Y&TN z-`d41bW|Am2KTpwuAdXt)~vmr^_cpLJ-`oNPjn@l-+}w%MEOuWeO5kCVS4(y4;iU= z8naq{y~L5tI4b>v)L$d1b{yUvnH@QM7hRwLQs8{2U~KesFB7UXHe|DAuz7F~6~spE zCC^~d%^hEkK%%R2XYn`zbIuSHB9?rUt`Wpo-#qWP9AInyZUGGs6 zb3VD3^SjE&_=>T7Io6SW0*0+Ug#Tmk;N1=L^A76CwAH|T(3MIvZYZuW=G1cD1=c2n zkMTrZ9Exd`tV{6yr~mmtWOCmU#gHOE?6FoL^9h?DElS&bzDj9ZF09w?`Ob3C?m|4< zN7K#i{s$lJpKl!DbGKaAA#cyx8r>*ogZp&F^k(|)5> zUliNUTlzokH}2F5WaaI|V#s!sB`RwJ!J3}>4J(K3EzL8WaJ!7Bk%xUxdXqafULmc7 z`A9e0`7vnj`Wd+%kv;VrJOqSBzB>ZPV3F?sq~EAPJZ3;nCo29Pyx8u3gAwD8Wx}{l z!|$6Kj}itB{~cb+^E%77i7p28SoDiHwO1a6Y#b1mn)fVpQ8uCc%(qcGeFy?yUN<4J zS<9C};DUhkyk`?5;3)mZo9Ho8J4}Z`k3R&@?k&BN#V)mtFx9Z^(R`u~uvI*e|3>h8 zP6~Vu;&*Q;NetnJLWu)W6Ya5zHAVAJ!cw@w86tK|!B%YVZ!Imfy! zcdBI=mR`YI)#W$cg5;_i1^uF%%lFiU{i#=4y}GccYiqDY!USCGb}4bYaCMO3uvhd- z8|U^j#_gv-T;9#SNg3itM??aZ_{oLbUw||01p1@INyTuFp8G zDY{-Ou1UI50q;*<*Hz+rHU3MG8S3bM&&v`K7KS7&sAayy%i*p(Pu+bQWcF47smC)g zsNyZ0=>n_K20fbp3AR-|JE#_CJR4;==tBHC^K(y|gfmj{;;<#ks`o%(q6%7J@CJ>Z z($uRGFY2zbd33JcL#A2%Fry~}@uQHuyYa2dP>e+r0F)YcBT>W>QcMKpgDlP zs?=mhdq#SmtQMtJPDI-tr3TmqWhp4yJr+y7V02jGxEsu+VL2>$9%OoNFu;8U$(4+C zEwbYZWUUi?`nOfBk=>7k zg3av+-xfHe+`JJquMbPj+XicUSu1$+lgC5(Qk1=MvjC14r{0=9!U+`s*z;EL5)J)mH+QCqOg2);itgC99D%+;&W}ft5!6<^v9t#{k4tEv`U_k=76Jzbj-IPWCde!7(>}cJ2K_FQwWm z7u&VV|BYQdL8WLrLdS4qV>I=IDZ|ue6gkefMJ&TCZd~JqqRC5)Q)frfGuZSV+)XRI z>3W3bGz%!7Kjb5}{I1qk1}5W`BHsm{6g+N^LO7^8TieJc9B8GFL6&UbC0hec+hPwe z7WS9jtk?dP(P9pA@Pn2wxlV-yoBEo*RA{5P1>Qcv<|wm0z1peJH=h6tbR6mB>(SCV zrv&rvvTcr*I8qlF4oIjO^xNMF{UfBnR31 zkY3#8L`NdEk#!i?QplyKCSKq2hGF8x4^|=<0!?a+cd4wS5i@=%@0OZrE??4rm34Og zgRyBD$S>zEel$@?$v`i^J0OiG!?RZtF3ct3fUg$ORnHEwW#G|Xzt>6dv#noL9Zl@s z%y@9`+0PT%rNX_yawBCDJ2nw0VpJT|V0|N6CfyIes1t3MT6VM;(6=qF+L-KzD%EaE z%X!eU?ppF`jw{TfspK~FCb*P`F-UR8hPx99Hva?mwz_bughqq4^Pg}sVeysw2$Wp+ zU`GJKoA*NmOH;{bWmt{t=ynUY+~C=`dRrhdG?qRgmOc;4sjIb$p<^%HUG^+)&|!Rx z`eZ$nBoVScnhrL>PZt1UOjnz<{D&qGn!CSKR8sFk^yF-3^b4iYfD+jz1QMrO;C&mKqNd2S;(Gtg{RHgfe!9p1A^DDG4jw?Vz{HBB(KOUL{i2%NvQ*qPQdQBNy(f6mi@gf zSAs9nx&K>(fb4hB<{g6_|EBef44$RhEdk1kT zZu7lh;0fyoqJq08V|=l=y+Z=RObnMCIvp%?mfbKW(CirSn&O6PX^c7BYOHob#XAzub&Z8Ra_uRA$(LG$sdbiJfaKcUURP6R zyI?6nBlhOP77=4!96l@J_hr8n~w#`el3jHnw4* zbA`UPnNCmRWHWg%Yud+~7`trO-P~RpEPV~FV&)=5=}ow~l4&M7?;=WF6HMdE40bU@ zKt@`FHj|N3bWXp5B?PvOwAMBnUH>*Cm!@1oK6es+q2)JM`IyN6rd!k*SaW+Mc>BYd z8xeKrf_0Bso{fTSIj!ifOAwWA>f2_`uQDJgA3+1=9EOk_hH)Z-aLfgWZ!W!M+S8nf z_bit?^|EL-;g`#u=VH;6~;X8wxV2mdHI{tmzYQhw&Q7|ZX{Z+;dI9m?md30gkYM`ie*Zp4=DZ?NO?SWmh!Fx76UH@ z!fSXoa1iixASQp|QXu7w15(Z)r9VP_B>lYNRv_wN_%7f9z*~V>S`9a;dnGW8Kb}i_ zD)1N}mMFt-Ah06fD?p}W2aw@y0#g2Z#UH5sYNcy{c%{R$fgxZia4fJGcqDMF+8+v> z2)aLT67b(h^zp!FfrkMf12Vin0vX=-m0qRv#fl}0BNch>0mID$js(7q$WI4uR{S-P z@wf>{zIq^5>%u&rmh^le*8an10+|no0vVs7K>USyPA#%Jya(fWmTLyc`27=j5@=pA z$avqS_P+q)FZ^S*zfSEdlrB?xgwnl~ehY<6IZp#A|IbSQMCp}446DLbN?!~t1I=@1 z>5qEO^j8F&3i@au-qmm)wSNVbjp=;4McWPJMrSx=sTkQ0D^1|AIjZy?(DFh7~oz8d&#AkUwr z{YgN|9|@$~Zv$Ds2C4l=c!_BL8t_=y?*KACI)GDve*iKcZv>74t^^(hoDVDnMu0~E zi-G8y)km9tnEB(!2nX`Be&JcqaiF z9#`i_gFYAtBl^$8e<3j9V~T%NT&H-ABKJ~|kDn*m^E0e;eUyfqomr0w{JR{)ED@f`^8vkhrGF2Or4v>i`941PE} z=2;MKn&G(VcYXZ4%gpW0e00-1_t;H;3c^jteeT`oI5`j`RJed(!bCrpK~?0|A&13-|>YP^6?k?<=l)%v`(Piv&?o;ipZmXk?&xDY@jJwqzKuTjbA9esZv+acIL#1e zYg)w@a{{HMsO;)F&Qp{WE0TEeQKDX|s%3UNk8bH#oP#OKv_=nD zkC4Q!;48I&d|3{Q>{H32&%1U`Ejr8%_?Cjl=0szWHr zg=6Q8_NkmC$y`#k)Vk%B3*bZ>BegI!D5<_{4xKdep(Q93E}KgkP7>-OsHIXWkaNxeUCLa>}K~&>!1!n!mre z53?1pq_5D0mY!wk8J3=JXzt$?Q)uKZw{(qhzs}N~M*jCKz25Nu#?lRj{~=2U3_tIE zF~;z}Z0WUz{~b$jG&J`kiwPP3gS7qyW*Pq@EL~#gLQ5AK{^^#UZ`{wa^n1pAo~7Fj zU2W-*;lJL}?Iu1yuym)PH&}Y7@!#gq#{DmrE-~(0zYtSk=+_EVpRV+Gm0qYc<}(uB}(leD_t~A#lX;vtGrP9?(r%h>=);6yl#@oiiciz8AgWg@Rv@XGz>V8baFGE)I z=o;ZzZEVN`nU1&vh$lO^FTDk~ZXTgqopzbTG6Cutamo8X_v)C5} zbUYry-4-F1bf~7bs*d|@Sp!tG7NDhMC?4XW__$9apar$GdPPXQe@ur zqR`^%+E8N2(z*~1O%F-d%1Ahbw+GcQJ5 z>Dqv`G%uw|he$?F*iFTF)H!uX3m7)b7bGf|P`a^_=pcg06^jCJb)sVUs_H_n+$V$c z+SP@Sd>P8CZB=bupt`22c0qy}{l2)!%3!hPvUAKnOn+-#mmK zX50^Dw}i2Icnz3UU7-yT*av36vZ)$!xi%t_h6EN$G*E1cPMUC;vQtKgsaH8FzIcIoSaCwit7}qkVN}>#U+Y!6{Ct%6vrqISIk%3W6H7bF2x;+ z+Z0 z-gPU4&2j2MT zq5nAE|BHa``9DZ8bm#9sF;S`z?;lOg%*PL>c77R1OpCWbLjggy-~%<*1X`i?68s#$ z=)L?ePe=BR9?A2bXAY01uqQipKss2{#PuuIiA`POFb>mTjjYk`tfVAJlOAw4SpKW(Nrduw>37nGZwt- z@3FkU##38jjZX(aW#V~%iFULj4SQpQ-;5uD{T9!~How^`+W30!cwQ%bMH`>Np7H0P zdbcyS_sL-M)nJXMPKc%u%T#qiJblurcsha8d(+ECfm$>QJ0zBk!d8ikMvaNKEE-kl z&Va>hSYkVpo5kknZU|BnU+oQdEMGrg;Vf2lr&dC38 z%Pg(zGW;?XetgKRa?XsD&kilTGIY{{nwr|`67--e>gtvqTU~p}$${wD=c8j^h@~El zZtm)n7`gVtV0E8ii-Yg>`Y?EHpMw?$uk96WIlCabcYE^nSmUd~#Q12(<^tyP*r$rx zZ|pN{La#M_4q8K|yx87HlTc+h1bzHFn(B0?E_ir}FT8O!yz2f4a~r}O;0f~|utn+- z?nHOEcOdxEH3!@9cXbb6^lJD%9(oWf2oT@#1N<&OpA-z!BQ)zH z41u&YGw{GRvP9d=LZv$`4?b&{mIl){Zs2yvs^uPXA?~NS46R*#b#2jvDHS@hu2_M) zuCR=(wmKMB+i$vVTy#RwWN9c}?Vr2h%e9|c-oubdE!#cYrWqUW|3b7cG&?lymbUGl zI%A#q>#ZCAL*-a``DmEfhhb3EK(MB#b=h4ir$IfmBO;7T6!Op%(rD=!qNjCPjyGtw z83>d>h)o-<(5@~~CxLG5GS_BdY`eS!@t_UQD`dZtt6gS1`Lj!Dc>LOi>$0tTz-~?{ z$0_Nl&(bprQa7~2EV}8qVR-5WCMi8*MCyje@DOeJ!7c!Q0W9X?JZtG0qNzq& zWvTZ_bu{h-(8$)l?1AX^5)15bG-~EQ-$|zQ4I%_8=0``UfEb94{d=tC{=+-*SYG`4 z6}XLsTYe<)c;0K7tFWo3Gc!5Xatk@IUkc4F7~Zry-`Xg{>_Y0imj#YJPMv$7DbIVS zeC%7Lsn;4`3&zI&E!OyXK`pMpq2@ZI3*+87o#lD|qO$vtSj&Ty4o7TJmY{Ju{7bQv ziL!U^r=wMWj&nx-4Lj*M{os25EPp3Xji-M>DO;O*Q*0hC>d1>WeiB?cG}?0iw`jGA zsxr~BTP3V$%iXk-lt4Qg+sOAm8*RC@oh+h-AKClDCYB>8dkjezNWWqIfzeuT2>w_5 zz-8i?*UcU4qhfaAe=a@ZbJa&0?zzq->1qB`k4Qmc(w&~0n?vuGI#Xvr!JLNi7i0N-=al>%>Fk4f)-Qpm@nN=kc<;jh zfG6Suisu9Kp=WkF5N+JF5+If~!}EdkLYf#-1PDC~$Uej7=WwNMzF=Kf+--TxR~jIu z3IE~UF*AKM-Q4bzee`G_&E;4(e}I?wRZ{)J>8w=qz;>^@215A3 zu)ni?k68HrQD2ItUi$+}qb|reUs_8%f8GA>L@fj>ZyPGx00z*#zcceIy21FryIMI% z80Wwr-JKKcG`i|)&JX#j@2>MTUc(i4X#dIYHmLvIOi%r>O<%kEd=L4^C@z6K?cY36 z?5RKIIs=W3-$rD-JIQ#jmKYB6zo-6q9pX^{)^$i+DbmdMlJ6`HH~T1a z9F?mZmII$$J@PrTvF$M0_-QCv#$!6tGso~_Z80txaRL}`H#L3P7D5EX9^np*r7$Q>&Th-BGvnuT)*d($^Az0Z8?qK5qc{Ry80tmxXN`RyrfdDR_W!TqSR_2x zJ|)`IXg|~~wfodPcOO6Cdz_ek`L9>^Dqybh!{60?-ag!W8eeSSR2;^p!x;~_ z&ZjSh>^qcCN%@#wF?PJ*I=}xmIQ+B+c^t3Yk6(lGG5un!Jm2_( z{BPm+C*@~;h}j4K5hy8)Bf|#*2LQRwh_rU&HY0 z>2hzjD|qgm@X%-YXdVgR=KrnFeWK6(A3k^bb^FgT{^FNNe(f=et5dcDLrY$?WJ&E-=Qm_sf=6R*33lcMoFigeo44UZb$;?YQ>xX@^g4>t@633e0;6 zv>n`KBg4y-japv!Sh(ypNcs3HpWft7U^zmTcBt=Pbxvti(jc%w^rrYO2~BxT1`O%fcB%C=}E6{ zt@gca$7u33-G<6N{#;(OpfXXBT(Oe3qgTY)OgpAs<%RSmnF4u?Up?Z-cO3@JOxE-? zUfih}y;kMTMIvn$PzuB@$x7>4udW>)j(~?wG?qMjAEYy0Wc>JJP+a5Dbw)gWeZwJ@ zEZSfvcLVa`K_1uD#+Axl6vCB;qdH3ZFqg~#(pX~!0lV|%Sw>MA-f31s|6Fv~1nnPt z96<<=!iNQX89-(ab~|Ub9HC@JXc#pjtPAY0PX?~eFwU_B3vRf>!4uBm3ZWQIc)+Eb z!`s+}xZLbO(vAjm4J3KHvAIW-37u&NzLkaXmT9#pws`8(dylgT*u<V)Zx*S{b-~?-e(@2`|nlz5B&!a{KCBjCmWUhLTe- z&gTdir{Qg4H86$KGKsOUd*5S?9a#FWbFT4|^2){-Lw)$~=*13|BkDnnauj|<);!_P z78$;cFwdUEp<+Cm%N&J)yPy+E9L&)8+5U+kkq5XE()d~53E@Z^7O+haGR+=55_y1izcl4P zJIziMcxmI)2}D>A>p~^x@fbGSAsjc`P5Qmd3YW4n{>|HyJacgqr(-DZY<5WjYgINy zyl*zA@NvA$ho)$p(`4%LLF#3k11#2($#UeF%q{q`{l9ALAq~2ua-7rQo4&F#fKEKH zq^h3aHeA=rHE*CjO(TA}<^{XO759_?bDh6X!3qX56Te*ZnqR9szj@~J-%ERsQ551E ziqYa|b>E2RT5T;Rya1a|&b-F89$E_jrz;=x zQOrK(3ruGMzn>{T^Hq%Hcb&7qb<C!dbrQ{ zFwA?{yWs0}_)_3t;9MZq1j9u@%#p$afFWQXApVAaf_gyueIV&J;Gv-J0&*Vp6ClP0 zVUE`h0WJli?87BMhQq5kM*!bJ9O>_6;DNyBff%wJ`XulG&_4zq4CH=L&g+su%IDcU zlrsy6Iav54Am?|Z6%Ph7UVVV%`xg?AAj8iCF`5Xs0Xcu<{Dty<4kX`gip@Zn@M8Q! zR}_u|DUW(07}tb#T`i2X$$S*D#C;nuA5m!sV(2!A^Rm9c8ekvb6d>f-c_WXJU`II! zerN`fz+c~;Ac*aX>lGUm=PQ;dh7&#Aj@Fa8NP9@JyU-<-eW&oLYDC zeg4n)(GU9Qg%IwR&rz0}KEo%U`QmoxF?Md6NBy~J4h-D%Sw5PlLb~1k`@4VWi%%aP z|7f54IG=pIRz~NNX2YqO4BL+d#?F2Xajwpoe$LzqnR=4jGr7G4+D-N5K9lm&3i9b> z8J12rNnJ{Q`A~%bPI(=-oF7`cPlaU$&-iF4Tpw7xYyt1D@udJtoYclL>QyyKX9K5? zZCTZV6-jKe>>iZdPy-3F2H?p81X{=iiA$B$I2FezW;Fte!y1(wAD(pgAD1R-btyuvu3E4R zN*X3nvedu`FqIPk{~FL4&}^e07)zrqmvsxYy2W5lgkh|_C>s1iT69~tSccmRY8Nak znoQSj-?>66hy4Z3E_68PPaK23&tv#q%KM$myI;}nGYP4$JwACJVIV5(22OSG?^m3q z@jF7@ha(@+&jq$&FyW4;IzwJ%^;fNf)T_J_Z4^sX-Y&>fCoLf(v8Q#ARxVV)Y*Tp+ z$S}sw8aOYp&qVFtO`Du!f8i7iPPo3Y0Uay*PWL(p#{&E@C{`zpFP^@>am^T^z%p|P zmLsO!hzKVRpOzvVHEj(b*vx)3@*r!)E(*^Kk31N1h;Kz6#Mnq@;i<+}JV#q(K?r&+ z%-MMAzIIwR-pBqokQ^#P;7Afn5W%Lq@o;KOpD*Z~nqG*>JM{7HTMKIU^bvW<+GzT| zjUe!CE;&R!V?Nzz?AjA6qv^X%u<~9Z6-7^%6}3l18AbRp=RG@`ZfvKJ)bx^Q$Mh(M z%hyJq+68h}aLj%O^g}uaPoEokkoFlIk$rUue$n80?XaGO$NBgzfk%w3@&aa=1&b@$ zIkI=TfR`d*VIkOb9fB<9xsbU30BZ-h1*aUV0p;7GEw^lglgPhe2cHIut`LARj;0^n z0Engk%!KjK+wLhEA5WJdpT>{EWL)OeuSU~Q;z^gA^G)GNjt=bLg*OtV7`xW=#2uwxdL>be8#>2n}Vld*%oncwF8d4VG@B6j>FB2TR|Jv1f1#?uWY$BP$bh15~ zp0mx9My&8i_CLbxf7`6qjB%Y&&YU-EkS5X+JzLRRe!RiPc+)z@Ouq|D?ns?;eSGHf z6zbbtRIOGV%+73F7fsFCh~suQKrt=eB2`IqEpD>1sJ&a}A#4T;ohjx;yhRkPm?e<2 z2FHTCa#7M2Y~tr%W=*iU7*BY=+u^Yw0j=e)5YD=8GCGIE_u*(HzJVuHk1zYOd}Di` zVEMjZp87JDKE?R{SI#K0NiYI_&2UVVh9`%`(tSpu#dwdF>BgOaSgOw`Xl;^Z3?y*7!QHY9n!a@{Sn#@K4&ghOM*gPfY?P8SG!Dg| zW8OZSo2F&LnXc*bHQqMKsUW6q%yrcb=&0>MKpkbBthgGwG!>17$m!tV#*hKV3KW^8 z5lFUU)lcGsivAm{O~L_6a(9#6Fs#SIo@Mw>$vq*b)W#cbC>P(&Fu4CCZIQde{aTilaz&O z7E1P*MRdw57C+|wag{h4JZ~=)Yzn$LO^4KSQ*WtVEpw2O$#&O!M$s=rC$DjJCtk8= z@f1s+jOtIm^=vhLynl3fH{i(@ZLnz)Dd+WO@fsoJ>wN+)w*s1a;i+pO{z(skuHphN zD$jvx%kXG%XDrno56*mut^H7FrVr>_7~ek>-P;~7Zm)e`dFsYQ$3AqgWLoi~(ctu_ zC}2o5Z>#lC0uPW?`@XL&n`L@e={|pnjAuvF{B*Es9iGj%6NE6IWm9SuT_1sh>q@Ay zo;eE@t~1uMYJWUnrP*BQV4CPoTkU7XI%dv?tN`>_<9Qj;V8v>^bL|HNhi&fw$KcA> zc;@+`F$9{GZ1iZ$^Ddds_I_Nwya!Y-%s-qX>zosu3ow*=lwo1 z+IaQwg2XVq(rXY2uVdd_V;JU&%Wy12(qbU5SMNUi_1!e+- zpgba;^Sb$eK;3yxdoKT@@=aJ(2D!Z4r3*!5lCIliOd$o1{Vm0$B6myC5^XZ{KJo>e~P zznHI(`xqEL+HK;&@(^SBUF-25!C|1DBg}H~@a2f_D1=?A>(^RN-Sm=}4{`8ar+h3g zF*f`h>*Ab;jnegQmY;{;rN{J3@SUc7EJqKYmczeM4^UOYI}{&MyakA6BRmbrb#cy4 zxX%49n2E0eY2Ob>zHL}IApS)0GGGvN1W5kLK(0Fv1VU7piwu}A9{N5O8c6fJ5#mFN zBY}(;FODF-pm-&aa?b-oM0lnm&o5>8-%*^X_8F9PI`mIKOu57LiWdT54lTz&Or^sm zKuo2>#{>EOVK@*;mGyBXMb^g=b%+r8gE(x$Utj(s?u0$DU2(l)gW`O}62*`rK>V!+ z4nhES9RqnD7=(n`b&`8XBLMr}KCZNFkB)#F-EI4Kle*jX?&nI|_N_|!ZF{vs-EI5x zSEX%xwSxSJUyUv%%u#pS9?byl-oH8k{P=Us1U$KEb_i~|%SZdyv(NF#;{?O)Uxu?z zXn{bLPab*Q{8_y(yNV}E#K$gLY}CHE5ITKn4Q?B!{(VK2E;Q@i)m(KHeJ_va02c!* zPMtoz!fr5gwDLU;feOc)StE5wtnTtC1L){GR!N)>P?uPM(%G}HSUQ`M zeX0A4K9?(HM)%8!0ne$x0T#lwpsKDyw#-#7%vwyCG`XV6ZBbM_!B{X}bI&~6L~7CE zV=Jc=q8$DceX*kBC-Qo0nECxBX3Lf?>}lO~9p0Zn2tOFEyACJ44|5SdLejJ<&lIK6 zmdUy+-$$CSyY6}u8WS2T@4X|8Ug|epcU`M;LLv<#H7xq!HFS(LNDjsL={oKdW9i?o zuuq=rgsnW zZ=@0AiDFOd%b@hnSRNatB%XjKA z?rPlAyKbUgH^XL(s|+ji8CrWcB1sRj`fXxHwOxjPk=9%AKXZCn^X}vUSZQFWG_vNF znc6X33UP7AbmWA~8N#M{h1J7Tq_qM6C8{31Ddt4W4K{v9Hh$Twb~+?{hS7z&9nG#0vqpNF>%Pb*$JBIaxYgl^0jbGYp^LJt9f}i(ax6X+*e?n#1K~Z8 z8JA_5>+vw3lzx3Myy>Ax)`CN*f_Q()t$uiw7rfUcv=+<~xCB zaX<^_LBu$aEgvfH?M+m0il4qgDn2qBrw({)e|oA3qUF~0@Ga`6Snm+K#;XegiKC+} zLw|$Te-jH6p6}%s9J7?bF_=DX0T-_%akz$hx$J8z8;<3RM(Q)OAWsd)Xz_XT>kdOU zoD2~r8Z#3Lhvz-@)F*k5;-HFn@9A^X={0a^-kun+cXKP5f@Pbr`?)>U$Z%FaG(OB z&)8yx`w@I3+1rUn=$2;sfyN_Ncw)s*)GjJ7erIJxG<`b4-kw+$Pp27nIi71!EmIF| ze)I6Who1TrQJo8k_zv(&WbaeFM{nx%S+#xRQ!kr)#c9aUn=zbll~*+)6KTB|lDckV zyjlh>_cCzS5NYM!TFLRQo3Ml_d2SkJW<6GWgrzGD} z(`)o@HGFfcPfI4G8kt31)3_*#OX~1)yCTNg6lvug#)NwixL76itBLb=9D-ocH>B%^ z1n-$W0)(rgyNax3;O&n5Dshxt_HEQ-)EueDs2n?(XIRF4n5&onj8CmBVFjs-UU43x zu-qF3Q~sN56!1Fju&r~)uG_>6~J+qd)DwTcD-dXv`(cgWoYLaQT4U%ZE zM;osV1rofH{Q-$iY_1RMP}@2`gJ>6 zysfSXto^;Lt3>eUIilQkK9&DQy2kqZx{7)9~*oK2+>F==J2A?dWe=1)#QC67)pd&sA*8Ie- zpNey2YNS!VT0-U)+x1->sc^kn`pI&5dFru9>d6?d0%d#kS>uB&s=P!6zW#QWr~Xxz z`n){V!N$hyz0e@Doym1zN1Dr1d&*L8l&3zz1+twH_K5LU5l8o z;<_nyWV_zWmIQC4^*pjo6Sm4Fb*F;uLNA*s*$c@w3~XRH(aT_7_Or-v2<4!=l%hjQ zil+}x^uw^nXz{0~Cs6+f6i=^_SD-XF9a{bOH6R*+Yew4U@|fxMXkj~7^@~oGG0ds~ z#&f0*t#NTFb}hFj4oTm-2HxIszH{#^w&dU1JH19jJuBPvAmt_bo{X-6q)2NcQf`CDFrN?hatU50ZhI`EW*W+bhskZC(6Jv^@!<>axlFT+ zwRtv@jB?Dmv*X@PNKsz4il$PNVx~$x@Hm^GB)XL|(P^Jq5>20nA>Y#+Zaz2{)r7;% zt()IDJa6k$Uq&l;NAuo`<~n<1~J32~amZkk~(( zmKuPM_rbDU?CRvD)UH3Q_y@WWNVWxz5vLS1xax$7Me2@z(HohS(M~6dYri{7(4i7!Vt zMK4jIrs)eja)9!0pe?{)(;J}5aLe|Zm+`O|YAuU{$Ch;lZ+H@93@7+y=iIT%(ou!6 zbbM4vEPc)>c?AxQHQqn!>%0StqrnxByl_8$uvi?tXupF5SGC6~UqGPSp?R?KfW^Tv zb2{q#}Ab8PJw1hfC+b5?W z+MA=nQ_)T0LS^$F;3z{+0%Y`)9R#!Zk@Gn!c{DBW0w#Lw!DgU#ooX{IF(sOw$~+lq z3M)MoTsmou1aI3)C!Li65K%ZCU!BU3ESI4jjkOPz2pQNpojRdX z&&|I;!64(pZ=5u3_y3{LJpE_?b^lu}j?F&KS@*BZ%Cd)(oDrLSPH6V5(3HZ$aB*QI zRC@NQGqYUy=79L*`d&_Z8jjy#lrjYWC)5V(cr@MIZ%~^Xfw{it4`%+r;9Dk5H~*v6 zeXTg=b#uQ*-EYN!D3^SD&+ejq`2XMRy$g7h)wMr7LqaYPm|%m(mgq!d3raKtQA0(| zzzj@uB2+-pLIZ?wsX!tmh*dNgsPj6GrL9)lT1!uDOHXa}v=))$B}0%zP>Eu>>CvE8 z!FWNaf_TaI`|Z8<%sZC|_Wys*_dMV8y-z0VU3;&+_Fil6z4qnZm%pH~G-+I-JY$o%wm$Ijccc0ymDAE8k|9 zsi()-k>vF>r1Rl-#(qsFb_QME#PuK48Jt%QZ|F& zj|X)8Vuw=rGX8h*yI1IFkJMxM+Sc1}zi5xp(Jm#>rCD#|1N|(y_k6aH$K<#1<$lro zg^u;G2|Q>i1uu|ApLR zPP?WaqlYAVrlSNr&pV{~i=9iW-yrBJg|1N8#`GXK`EiX)nb3*dOUsXYT+b3Zv43gl zcz5eKp%XipmhN59U3da?1!$9o3LWjDdW?Q-`;?NkyQtQzppu_CGdT2L$OW!M?dqn8Oex^+yPy5&^bYe%-(hUdQUZJBsO^8>@IrDci z=!PHG>7!jzkI|ov?q<;4By_Z|33N6+KLEPu3GjOsbosLWPwZ`4IsOH@kA)xYZn}6` zPloixdLyBu{Y{`tQ(uFiFO>CvDRSH7X$0L|p%c5DlFlE(K%R^BTeW}}V7*oV@It@~ z0THI?EI@Q^icSM8hx@63dB9Hs!~|>6NB9)UaQ_562e1_o#bNN@1g-)^br`%{U^yW9 zX91G`dnnN4{}v$m?*k3i0FG{Zl zB)=e_5BRqM%K*;@B;DD7jQ2D^B@dvI2axf73g!i%{}Ax&fNuh3!+ks8FyK7s7V?z- z84y`j#7}^DiY!2;hadaU)hoIIkm*?r$n?wwWO}9mmH|!#B%L3S=@|vc^ppcKJ*9w5 z&#B@+2oPncG!Kw+^c9@SAfFG=|6n}(0U7WA0D1s-0@8n*;F|y${!u_L{O<>3xE}!` z9Sc_hG9Ar;OvjCYOh*|Y^-=;zIZpvB19SnBUyk^5u^{~qBN6oP24wuN0GoMF?YDp^mqqshqFNO3LlvrL(T@N@U$hUx`a$<3U^U>60S5!l0t^5S0VMxEfaL!% zltTO!K;l0IL_enV+kjU9_5~aZ_&S8Ae^lTv1TGO61U!dyP(l!J4g~ z_gw;i14#PY1z!qy8gQ?;e@oo^11kPdvf>X2r@?m#yc$ZU`^A8CFA?}EGKcuz0MRy- z{!(zRXB`ck_nOmx9w7P#rIP_i00sdm=b360&ED!ep zGW|T)0{%tU10sn%K+KeU^(#vB8s9BfaBoKzDgA!*UydxpKL(J_a2M_ z{H_@nu>ogwF4&t!o&>>0K#Ob^DBs>j*9vSFI748iK(|1Lz%Iyz z*Q{27YXvq7oFTAMpj#k-3Rea_aGkDMm&b3I15rTCy1HvY$92MH-h$Igy}Qm zQr^c&ep7}1A*y5#)Zr9&S^k1k8vN;Lfp*D zyo>Y_H}fECgx-v+H;TU*=Pp3}q&MSc-d{@G%mbV%{LQ@1tw<03%{-G^=*_&%eDOE) zNFN9epq??39y8C$yv7kppP8rO=NuQ(bWqC6 zUigDN_C%BLyOQu0gtgO;K}b8kH_4x8H`x7i5x*TjFA1NK6n+o%Z>RrD5}uuek4p;A zeH8ZaElK$FB-{eAot__C?09FAyoZwF`%RMn0OYqlJo>T;cr+>e`$_3xSbO*fljzwV z+WnU#`HxHrUzz0ZsNvMGUM`OlKX8{zRa! zl;eaLxaGJTH32{C#>Tn?rsBZs)@^6r#1o?qVp%wI2``Y;8HJ?t{2O!a041x@6aDsl z}4*E#%DO!|ojsMpE zr4g~)6KC{O@z>3r{bl=?(CturoE>hw;NiUO8uj+&|Jc6UA9T$*4v)35C%S*h@JQwd z_h#cqh_P(i{Ug2JA2TZbdEg^Ql~uUaWAwB5xaVq3rIOtE;h}zZ+dC4VfnvOUh~nf;j;lU@wEZ`F#b+? zjCX zKl6b7Jo8T2Tlr$7?29%a9Tc?{Z~-8~$Mz?YhCdby#*vUv;3x8Mfy7geiCHE4NzD~S zg}tp>+Q4|sDvB6y1m(NQ7sqOie^>I!F)>^DFEIF8?SF&8D>cq>i+UO~{aprsSo{CM z;LX~9qro56c&EWzHT|0g@6`A)gLi41_y4J9hQ?1dc(caOG5BiDf0V&zXndl<4{Cbe zyQiMD+W!WFH)#JK8$4h8|JvYgjsMNytr~yY;AI-$Y4A>szi04DjellvhsOIQ)eA|T zV~+l`>-f6(&lS8}aE!-GNLwZNje^$*zC!Q@!BLnMy(Ref1;1bLn+5;7;Fu3k^jihL zPVfVQql_zmCk+>#g@S)w@I``;7Q9~YDT3c3_yWP}1iwx2n*{%*;0=QRMeyqde?suZ zf!H)@kyWsuBZiNK@rr;|Dzf|yLf?p-LmMZ>V^|WlGW9H(yO$#A}yB?(VbKFS6+&ahDnTrlz#V6R?(NJ4 zxU_G!LwS&veO5XyfukrTIRVBwA*#B?i|ZG=jTd$6zG3DPH;#_2UrbiYJH{L%IX9z> zxf@ZEJkW1mJil%!U6U0eL2VQgd8&slhjV5k>t{oc?pi3Yu@2hAz;+yOF-Irgt%P6L zu%M1=M2h_?#mo`LuC!;)PjD+~9BN#S(LoH=FK$kl)H$wzGH1FM*UfEOFmtgEuk~w0 zMI4Ljl@{FdO}sNzQkGzJTFW#v%v_AbsDv^R46kcu%nPUG)-9UbI8POi8|r3W=io4! zW0v_#gqga0JzjhokR9{2$f#QLnVQ-<#d=9oLqq*y#yj!KE5>W5c*(6_=vKK}zqD@g zoCQ*TjbqcI*~Yc*`XV6+^cBv8``OMJkdaQ|ZUXbaZC$F#h z7Pw{NyVDtfU|#eM!B5t)6ydWb`--JU@ehAl`vvY6*ddVTI^ZvBoxn8$LjsoxoF{Oq zz<|ICfkOor3d|9B6rEMPX6+ZaTOiNzr8~z7gq)uyTq7_faGAh)0;dWL2&@n|RA8aN z9Dzrn92LJnj;)CEyC5MuyDDCRA%V*T&J#FQU_fAnz@Y*Q1?C7ms`a0>U*K+m9RfE9 zTqkgiK(xy$J<9~n6F601KwyQyp#lp9<_H8}xya&pav*e3Ne4V<<461;Jo(_;uKG@) z5d52jpLi)JzT0t}mV)_F)xg0bz*a1g1CsRw4cuzx(9oHgRXV^3!cf2^7F4y85?(tq zP>r&7W@ZlS7QW;@uJW?<<8P1WLK%R|`1=ITS7BLpxRtnS{M`Zl^!5y;Lh;OF7(Dx_ zcs%R|@<;viInnX=GK}~57=9D+;rL-Xq>R76{9Nm1;p1jlJUrhS_96C&cMLz?`6_EA zfRQKXBvmeB;qAQXc)aoaI^lPUaL5Ng`;)BlLWB3Ytb63Q%Gj(h%#q%U9i z4Na2Q7L9s6-h4x+@S7ou;yKq$UuQAyB-YFlL_XepLz#Rh+#ut>H8AvcdB5s>!~QeW zIvd9ZG$aSX(>~w8cm9x6$8doFU+Gc%K(6*)72DnD=O$PlixRMwV?*b7wW0Ie@RG8N z8p>|rcDlvTnBMia3^8qN!9RUo$$mzBU?2Vk!?kW6RM{_3yS2&+mQ-}R!%Omc3Dnl0 z6;*VY*>J7=J7}@-TejP|R{kf$V*4$&v2c&K-bRH}1Jtczddrjw$4Nq*Nq{3*ax^o% z@NO$FSM`7c?~cdL(kg4W@>a)BSG#;4;I=DXtQ-DO2xM01P7}ptk%IT|j*!?s^S%mG z73O}Qi+m*&i|29MPfpcE!IDDk>Fro@VK=VW?dhJ4jYHVU8W}JXpPFq7!H5wGi5lMB z-vn315=n17m8bt!hi@*)@nGM5UJ12RR%K;zBPY&9#ZeY5%iNBp91|vJ9Zj>7(`zye zM{quevmtPfjTeW8M$X@vhon>@>WzPe{&cKXo2Lf{$?#AK?B}Vf47CTMZ}$zfY|r1o zm1k9>p009@c{(`i?JC!}&jO>`1FrE$gH~-Jjz(|?tebF-%K5i~Em$<3w{eqU+g%FD z=Q6qyME4|y&E|ZS^)Zr38@Uo%QlWNF4ydZdY3XAtcsNe?1=xRhRw@VVb@Og$j|apK z{f{@kVDR{cId8%dCfLh_1b&CRa>Ht;VntvSwnUBV2n>s2OTFu%Jvc`-I}q(g2|$?+ zPjJH{FlyUUo_X_Y)FLehrVkt&xmL)#;eOP6b?V28MBn+!_h;}`l6hY49)?Z2g_RV)l@%Pp7D&yUObC9Z02h}Mi`LPHw`(cv9 zj#~GHftHILjf2f@J`^Y%Ka&y27@MOm0NjP%q?SVk^r@5%KtP>Ro+^SHq;cci1ZV&k zLl5g8`l1Pi(1vW~q}pXOXgJ%0W7=H-YeE?kgIaVRQ=rb$Xt_1t(R5DBO$FFgeNiBc zgL@-`ok&;XfXDh8jd%BNdyLD3bis<8zYkL%(8$JqaMKbVKr$UlDs?bJpXqJn+xQI} z$Mc9H##sW`=fCN({{fxei3qQsCwOt8kZqG9Yn(oW1J)52Yx4+f>^?-T<^I$}!`3(- zTQsqQQ3^og1RQa^J7~>18VIXZDKeoOH*u`{*gDQNvy?=R7C`Rel&Op$j2rdUKVV%R zHx;t?Q`?86ZGATD@O(mPe?b+m|H?6?WG>>{_<|p#erR{a{;aNGCr}KTuWE&*b*8t?$&l=}x9B&z| zy}}ZZaT848`#7URxdxrJIYH-=vTj}Ga3n;e?;GgNNp7Bm;%Un=Zlz^IW*80*g!{9p zLCLhf7O*BknFDzUj=e_W8U?m|7Y4#N;LskOgE-&|vY4`Eb_bsTWwYAe>}R;l9;UX2U-V3h1WutPc)0Vzm;GeXG8M35qjMWz^H2QU6 zL|&t!UCfA56JXnLo*J>X2Jt&ZCrwNn9i%)Zwt;j&!jU)$`>jPj)o+58N3dJ$PIR~` z+2LH}0H1+ce5cy$-R(~h$R>nc&f_|#>il)&j6_gPPIn^YN2==Js+ySg}hf#=~1tS}b1F0p--aH1v*`~P|k7j~Z zNb6r6(Q>#-^>^Mv>-1D5xNm&bbPyP=J7`q|tf@KemHDd0vZf9Niq>~3j(BS*Q*Gs+ z7_Q9P!u+03A~qV!92OEhevuiPyI&5^VGC9`so3kdMdUJWpK_j#;awknQ; z^i>+A1lqlnok%?p=&DKjNJtfoC-vzvjC1@v9^MH=Ud**Kja$Z-=7esQq}6g z&^`iT$G)F;^JXi}2#eyO7zrs_PN&C*n-@|ZP5#kheji(T?Wj_wpKB?b^>R`ST2 z#tf*z(`x@}eIon+TQ9Zm%U54hIA2tYwDz*!|G!X^)9nwZJ0G4xn9iSj7y0}ZzjXU| zmqICg@LdzO-YMLallu2B@t>fbQvAollJhx3gB1Td@kgJRPl|uN_+y$Pt^W$~zeWX4 zO&`}A^QqDxh5wnV{dG7VgnzpI&D+JFnVL?2kIHxB(|h5+Q~XE3Kb?Nfee!3+Kb?L@ zaPkgMZ~oK7AK#VJhTkRr4ZZk}&mniU2PJLzmE!*ZXws!`C9gb^N@4owL^TKvBWpLF>@3j=mOGHsR;p6iJC z{2ae@^5?1%klM?YR{nDFAA|7e^s`j_=k&t=74g5am+P(VnTt-1A|R<8IKMB=L$}OW{X-KMuN)LieDsi^ZF?f0*>|g8m_) zSB)6Mm~^JepCM>F=E^>Pv43%TiI4j9f$n=kH$vQFd~Nx-0Ce+&?(AebyZoU0{t3`M z4!Q+GNBgLr%OoFd{N4oJQ$j~OsU9P@jV=#uUAF8$R|7~ArlBhb-4LN;*;G#&x@n+W zBXqQ%33Rr5zE^_oa@hy|lVm!Z{vHI~--S->X*_)rj`{Ht=zb=2Usi5E1Kl#AV_j5_ zk;9h0l1zu=S)mgAO8=TC5d{$EdEKm7xsTO)L|!wGzC>E!BhHY-UYpsz@2MAzbSOI&+18|A0Oyu3*D8;bhdc8x9u*W zqrFy-;b)_}8+7*yo!IRZeb0tnN7GO`TA&;7BH&qo5O451@TC7X{6kqT<$keBz&`@! z0doJd7w~pK{FPoV@DzcEL3AG6-v>l;irxl9St{xRM4M5%8xRu&r8~sG9gzEL9|f!c z{1YJeZ?6GFSuMH~@Lb@x1ER}O)C`EOOVQd<01MgBmaTCm^b9G~cZ^>Pg${)(=|KkDT|K;{ScsgvJ1fYh%W5UPuu z3dsB@(0I`RK7EB< zxL*QNKXU=c15O7d-?8G)vzO49DRlz+0lSd6O8}#QV*wuoJPq)Ez%u|F0jWQfVZ{eJ zQSnqFGO);U3#23QF33gLDsZj9W`Q#VRtj_rbO`K%Tq?Z4wE~+3&Jb8B&@Ip*unU1z zc!6sLHVd2~uu`B~phI96@8t z(I2>3N6`em5myUf0DdL(M}>a6;5pI|o+)^~;BS*3>PYKAyx{pQcrku6uI0=d`4q0a8T| zpq_)09y4#k<6p_o%#*CaJ8?5_G)w%=Jkbv15B<%!eTmSUd4N9%y_uIX`_s)h{GSru z%nQLbD1K(1ph41S=A9zK&&&gu^90PiQM2$f^H4VmKQo?vO8m_{%vSJ6l4DN@Z+84N z#An9`AiNzPn}k1~ME{2*{%<7VktDo3DZCT;XOHjUr1)M<^5;GeJN=;~d3Yb5-JjAetscXWRWZrfeZG-nQXy~kZd2)h&3&CAXO8{KtvbqxxwUx>{U zOXt_(;yvyX5Q&cC-B7;(Th3LiT-aS>c7rEof^k)J-1%+a39iDO(4KKDZ=b&?VHdg1 zI~_PKI`;Bo9lRtATO5~VwKO_5}-Gu$62Pj%&tqOQCWwz zv05}t0%gfjppXG0+oYH%x-jUZc*vcTCnGxITf zHs(yd*-K8gDiY%wPbW(<_uFWH)<*0NkOj`zr;tuLvhzlVQ2DI$E7cv$V``e&Sif+7 zE%$#5d%LIXfj67hMMQ%p>IdPz@(%JudDC-HlE6#rS$3zJ-Q`q_K2afY*LmDsq%s@M zYot<8^|F&nX%$PrwXLHEvkYrwJ?D)mbH^Xg`4^13;KB}}om$Wfy%(A2W-8{4v$ z**2zcKla`i7y>%cEUI=D&AHT0rDHhJW9B-X=vk_Dj#rXwh z@iOqs(M%G=Ki)d+X7qFT%rN}GM2d`Z2itk-MgDOd%dvtYPjhc2=hZO3;0SSCgp>e{ z?F(mA{IMv~{UrRp>cjOf__(hx5^T@R;kTGTOKV}E<>-v257bgDy|{u`X5j1oent@J zX$!P`n%VS$S|woo1CdN#5v2$sL!yQlALp~>GQai=&0eh*RV#0}ir|Y?JxyOr!`!DA z_{0|onDvK&74NP?ELh)=uq3K+DORI+pJax5d!D~#9+ohK;#d4uWL}u2nxl zM#3Q>VXl>&1;LUfPixRx-VqGf;UXx1XE0J;DHl0j5gC3ENl@`{ZP#xggFn2`;cfZ6 z$F-8*@Vp!#aUr?61kq=G5a0@|y(*AiBz4PaSaJRl=tyWTYzPiJ?0t$wusiR@enyfe zEUtLDG0z(rk2TyqUaS4q2e2MySwFKtrYScNUf!vwgJC2&K_aW|Kr{GB+VurZqdTxP ztW^c@T7Fzug&Q8RjwbT=3S_yC6;2n0R}q&|GRE?Ki2I#ZRl?~qyyv(cT{Rl-bLf#D zUNsT#d@VR|5clGF!^?HXdE5OC_~>QrkYYff2P=?|X1Z?sJ;-di!R79<1ZKtNbx5&o zO{kPUthI4-ZFgk)?m)Y$rz)*hh5}epo)f$CWo-UNR#dDCLKetUT9kixtbB6e4pz5+ zs+aI~;TETZpx0@({9VG)zhAweR%BYO-PwkHq^T=ljnh$}=EV6IVqvvO?230+gCU{_ zU&?DRdU_hKfQDy47m6p9esOqg=0&UM)HFivf4FGXJR)a7x3lpwXXMy?*Q2c$_n=JO zkdNzV!RVq@%izO{Hn6@buwpYKQBnbd%z;+f44}?KAO5^1_8jULIuv4mpLfGzbWD}= z65}rRb+o{Mz)1qZUOi`Nz~~Ylad)`knr>Z$U#PhjFr7d4@vEm4|I>Z<|AYARBC~Ys zPE;QOH2jX8F8p{g?%#udy7+%5{>yp^UjTPLy`9TH;~26AkI_TyJE#t(zK{9vK3(YC z;vS>3eOFxozbQgTeW}NM_p;I54UbtuN4=@X(8>2P_EjFoZ?4c$f9f%G6I-(H%!>_PvjD!w(4^^_oEEZ&4a0ztN!kr_fQq>M{H-)87v}K#g{> z^cR3912Xgw&L;!90Ivf?+gVx*I2iETfTSw{B;Bdv&-u!)0p~jOuLJ%=;6s3efJ@)8 zXby13HvtfNTY3o~ih9v`faqhEo(70ymkt61%OcKO<^$(CQ<#_1Ho$KH{vGfXz`FoJ zT6!BGo+8eplh1fSri16yG9172lFv5;egR@M#ibtu<^g^Ph;$5o2M|-VrLO~$|7Jk) z<2*ala~B|3lyd%{{Lx+IQ-rw5Hw$qqm?IEC;az~>m(?n8t-xl1 zGXz!&bPEJf;kQ6+7OXL_a*q{|8C)XZH_KMMz|EvT=*j)yhIjrHPCyP%$vDLl^69!Z+XliGQ8I9V@23`dO$p6r;I zRy8Amwz$D|PM%DnaNLZuJb8wLIz^8&Y&@=$?y;lw;@rM;YJz8e#Lu)`JiBp8tz95$ z?JLX`%;B76N!1k-eEti{Q5L@HxIX2)xupx2*oO6v&NZ(l$BjjUhZ~}Ecc9Xt4GfZ@pzRl(+`^oo*m(Equ zm_|_ZLelJ<@VwCd62S1|B*Z0ToH8#|tItoMAD)_;$^NO6^*jF?KBL8Hi_BLU3Q4X( z5x%y5VZ+SYM$ECJ2+gjk3HoB5cIEan_A)W-5$D1dq6uqs{VIA{? zpP=lM%`@+WBk*HiLuEypc@my$&UupE3Ea;y$pTl*ltc&XgLUi*56yqm3Z^AALxVEUe9TD5j0 z28D1Ag?%DS5uA;@da4BPPuAn##-;e@-SB(-*P$ZkyGg)O7YN@&t#zLdm2}^NpdY~1 z7W76Hbe1hBKX1#7$|0Gy=)M#I*Cz(NUIk=d*u=?oGD!iAhP;n+U}Gy37x_Dz2K#Vl zGG-qjtZnu|aWh3~66UkkAosZS%wD3pFt(rgsf_JcwJtja1!6LARUlMRaIN|?k_Lr# z!TCv+0L9q*Boo35&sSxrGKJ|VBzt2s5D}JB1t()e*V}M1+flK%7&Bkk%zQoLG=CdV=H6vRgN1||8cibwYxg!+{|)RhwIvRJ5=)+`1aWeWzS zbEH6*_D#$^ql;@&UDcTmdV@B0IjiI^p5;j1$fO#&TE{rFcZ+5&th?B8!z^`{-MFft z-w~Kl?Z+~|a~I1XdQUeGLU%qthH}&Gzj%{|70*We()nX7te)g~4vx<_rdo^o z%g4kMo4-gij}QcXn~eLJ9`%@Uf3QW(Ih4S$5x?P>66C{lsmIXCdga?u1~@)m1_%)c zUoSY<(-7zRrW}ut2jqOf2tc$$rKRG}?;G?VB>r5>P5&c+4BrKarl~Xvh&JhBu8YB6 zDL28<{{cV*E#>{Q#BTz`U+DtD>j3G0x!_{}VM|K6{)6)uG?JXR;Fy=={g1$eye1h2Fw9n4ItyW8j$jF&j-3JrJp0yIA4J_ zkn2iI-v;Eo#4CWDkGT)r(Bx|=o0EO=X0N%)2&`rDH5>ymKfZ9@7UPQs@q@uw{OnJ0u7JMQ2y zVro5)Iu?D&%sF)&4c9GNYCh!mww6XMUBF3XSYV+~U({p$CYT#)n zjJD_Kg)MVtYpDMt8S3(f8s3+IaewVRoT`t76y(Ds&cw)l9wrnpwJ@s*OF8DKqd5U( zLLvQf4MtrOBT{Z2ob0r8L@?1-Zh#!)$?j>o=q{4`bg%pfy7l_>B`%QEnj zG?9JmIo|kbgYa7`A=U~%!vMB?o_QziZTvJ0erO*YtC0?>j)~wnYYlMfem~%3K=A8z zJe81e(4EL*I=|+8ut1fCBfW5v*P$xwb6a-}11qmdnO6{+6c3RFlhPL(ho;9?E`VNI&#BN|Egz#)|3sdl?RZy`26V# zy^W*?Bg?&wAq|@X9t^*#5!n=eU=3P3_fvDh@RSYw$Q+*D>J1Gk3H`u{<0}Hu{rTRI zucVKDFXTH;oT~2dhJq!Tq3`z%SRIBYOTR0c>_E$=oT`>BM_tx==mp_h?!(@ex3kd| z#SqiA@>yhEz}kj1ds?d^6Y%B#lPuTmc_@(8&d+gh1A7&L+VVRB&YhlTdfuWiJyku= zQKxvX*6+*|W`ss_@ok$~WC#oKK1CD0jvP};5ES7w3K;Mlg$D5*7V5~ri9|U_qR~ho zjPLXNyrF`U(DhJ8rx6s&;JZ=AcXPaNQL=%URl-_Pf?MWmHAqDy+)gf-tQlW?8GYl{J&k9U!h#`CJu!69F~{Eqw4tse(Kx z;yRP9eLA0y1x7;TaMPN=$R=dw>Gtd%k8;+Hl-FRj0X{k(##?6S2axWd*1-5IoEx`J zXlyzCEn7~jY^JnT*0cQ3ZB1GCrGiqXSdmsWp?U+()cR6+;W-`k>J5}>98Xn~WAd#E zs|)a9KI?{AID0KHvbr@m5{d{F3!+_^Gq$*IG`NM$oU{6;N!(^24(3qY;4-WI| z3eDn+PXj5?+EYrpMnc~wS?Ds1oTqH)MrI#FaYnsZ8yXZZDGpN!A?0o!QZ^UQ(ipUaSJB3``sjll0r{0i~Q#qV>BM{b1Pm*6)C zziaTj62B_^M&l=+@PlC-0X06y?|O7gRrGy)iPwdhyNMiLwP&ZwI@CSV?|IqV@<|_j zl5ex3E&DF@Wn|vvlecobeF(RVg1fveZGEj5_?~%})plfuulTSPEq=l0j5_ytGy1t6 z-DB;E9&q_0nb#onkr&`)wH3GdGZtrhov(VGFl>)LZ*7Zq5A;RK!(a=NsLwj=D{k{< zT$$tC>)h&kbgQ*B`p$qz!B*>qBQN-hqZXs_W{koG-3NJG{}i^1Zpw2dxXi55|K=Vmt@0@q=4%*iA5edN4dU2LZNK zMY~~P9(}1Q`fh$O^0UvBdX$nju(j;2_IsZ3wj8B~qTZHhU#qjF>r&r2B|n5_Kl53; zft^$EL!ax>Lsp0K8S+DK%bS;uIVbP;&E7s@`TpFug4PY{q%$=O0L8?f4H$f- z8^?2>8J|;O3Dd1-$d!3w-h-X)oCb`s)YIEIe&|so6A$B8j~Q<#ol{T(PmbgF%Q&9t zQIDawtuttZ#~#!%J}LKeC+%l`1o5JTl&%KE-^E=(z`FEPv~+}=SI1xJ$v_C*;7z(p zKsaR)Cj?NCa#Vl=wxVJ4{Q3E-!S2OZ+)rfBdMBRtoGC zeul$|_Qx41``?u!*J{At`rlM3f6SAw`mjBc1#5?G&7b8z=vtrcT7Lt&yKkX?w#Buc zy%6@b;c)|c25+I2$K-BP7ko0|gbt7)lzuJ=(H$^^`_c93!byra5HMTyeY*Q9fKzF^ zLK&f2^ys32=z;vu<%np1VQ4J+wf_B~v6-P-baliFtm&25QXgzWr)M)4$SH;iDquND zw;roE`&9yZ%Hn79@bq%d`iKgAUFDoj&Fas7GXch!88W`VR9CM`Op ziT{shhw?=}w*;#IGq7~51C%I)LK7U%4wVUYrSO|7`~>AVex7+J>}_6vY-oobMtHt= z0a(HiijEbZI1#n0x?|PH zx13yE+u`@TIOdMblg5NHPpRtJR6T0z%?De)xb@c2Rkf{mOwLAEsTFU5o{nHdH46dj z3!iKKK-c;gedx@tN7#Zsp@M8K8SdE6VIVT$)>Wu%RbqB>i_)xy`cv_zwxrQ zyMMLimJ3_XSvu*iS;5&MU-;AiIOP}De02NYCVXwCe_T45s~Ru=b?5go3mpRHn))8I z-@@V%4U47;BtRrQu0^dgH1(Si+wHdQo^kyb44s4jY8usEIM97*zpFRO22E3R7lhBGPtpyv@v{6)PA0w#IFIB^55xq8T;f`v7=1@AEt%&STZ}o zlpN3AO%&>Y@Ea=p1pUhPZY{#&Ppx+$PrJP{Jef}Zj1Gu2DAbJ3BZ%MgaxhYdxuYo?cntrlU%=0`zK?7DWoD|< zwSJ8B-8$eJo7KUTBYeZ?gvMlsX2m*gm+6k%nCzj@E|+`knRA)Q~I?`2i#*%aS}c<377FN&0a4(*%KS| z_PU<5H@oYph~Lj!JEH#ow%t{IT*zwduEGCZyUTNQ_!xd&$OPIa{A(sK&++=1YlV+n z0xSa`{3&MQg`AH+$FsYw63E!yHHM$C_^SO(wgZ$afPeoRb~jLsd19-2b->yI)4Ddr z^up|78ovU+fD`{FVy1C@Lk9jW_B(=l9;(_503h@=_h_%v@^;u zM~rJi14D~o6E**%+Q>eJ-kBO!*N)nh?H9+(-=DY%zCP!V|o8~?3`Q1 z?WVr;X6I?(0Y&!W7olammYxMj9Dw-$CHtn#%m1o`Ah3DdSWjq|xFy zbutzOG49!bOyZaI+u;3`pQ@Hm9Ilo5U_EIHE?V}E>(%#np1g4{n0xnd{+6z)78V?4`)8)hz26%58;boR<-l9pf$TBKWI%WDfEXk z{Nc+p{ozSD{_uD6y0cxUH#2cQE3?FhOPn%&*5r~Lzx9d_)OmAUAGC%Ge&qMOWM%%y zU;L~;Biqp#{$8ecMeDK$zQ4=wdBwH9)jHYl>~ie!Mq9J})=P6-i!yKbJ3A2c85Q(d zYY2jF_Gi>&I(CG|<#<=LUG-@De(-dyf7!Y!)9-x45%osf^8D7b2%Pt8zq3sR+^ph! z#h-C?4kOL;uGsW)gS*7`qdxHf0r?({qNs*ta!C|~ktOvq!D z`Q8=L_n&_v>i29`QRexb`xs^PWXOq-dA~-;7ZT+hpU*f8Am~G`n?DjkugXu96mj-} zs7YcLFwR1VdG?mu#~U#V62(NE2$?KrA>$kZIlnfp40c${S(qYcMyi}c7^fR@I`0|x zxsh{7ikt|UET@}smO#$kYnta9Io&C8BAb%sEMc5OA?HI!d|@MJNs62ZnJni}#yK2v z{?~W8tX#`EG)2z7sd5fyoMn*n$z9VdBj@lGIT12h&N9YX4mr;lwE8+DXIYAzS*dcC zGtLUg`P1vyK)1TsmZ!*xkjZjZFwW7C^RBTs{@%!0ks@a{fbU%Uy>BW35Np6F zV4$vkwu<|bu@x@HI1!TnXZ!jCDz^}0&`4gO?2NtM#sw{4l#?Oo^!)R78bK!}3Tm&n zaVdu~&Z&@cQh~3Jk#cgPl=gZX7jrb@oCYyhy!D&iM$D-xV#exiOw0-SjB^I$?D%xY z+eXf5DRRc@ZCuV0#yJ~uzV+O`Vk75_6gg4*biIwsS;08xLC&4o7q%HWXQ#-Ckh(m_ z<;-K83n1t11OD+ZBj>ynIb-!UE~lGuHbBnz3a<4VITxhJ8LPK(Im;PmBjoIR;Eg{T zIU7>sjMdw?oH>kh8RR_r+Ydf7ayF*O8LPK(IfpRLn<3|(KJ{~roXb+=H1&3Rer5C1 zZfQTHv71na*fSr3#CHVGju?q=wn?m89@br~_(CII8N#G)`9r26??xrw6RXIo{q>;z z9k0rFCiF38)Uh5kgwTX_vTA)Zdu@F^Y<*Q0Zh!T1BU*t?G<&sG-3ld}%H|=EZN}yQ{jrg) zFj2NxomG7bC7ZGnZphZ~_)||B*@h&_7OSxFj8g@<1hQ?p<(ET^Z0MsD|~QKY#fxBU^c*Y_ZxImrYsQ z(U9%v&Hr(_k*y+8Hd8h0bhV62sEk4-B&@sYLG}ifgrl{DdP7x8liGz^xGz={m6gaf zJz*cq>KViS#blt99B)yx46~%(uri6ctdFY87C_G4+jI6ig>KQbauHWoQ1vc0y(WmcWWX^?q2 z?)oq?Pc=r_E_1BT#${GRj~S5ph3P9-8JVXUYiyS}R&(Prt1j|v$UNbeb@fK(8R=w> z)!(?xst-30GIzZ-{0k%V>~u0Cux@bUGOGc>0?1r2*7;i_^SpF2$0~DNX4P+PfXu%c zlyilVc|kgvV^umXvl{+1Lgw3UnRLX++>lP@SjCRZta|CoAoKZ$zWs!exiOv0vFaU{ zSq=7XhRpx{;;yre%*)crY%2M}vRL~Ym!6{&)&Bl?#}B)W^f#xIUN^z-V<=r2`Y3H% zydSmy0MLY3Jq>%s$smu;ARX>d38?)scmj!HaG# z$#>oMD_p-449_kp92)gwr0wTO+pkC3;8WTBp3|y7YEAeoh%1$c2E&adWx?=*k_rZ? z4B#yg2u~}S7>LX+nR=K zi~YgJ%;OmR-<`)X;mMDS=PJy8gs(V{GZEo9540Mv95CHH4(939+%@(7Ri8la$4z|> zw@u<4PL+l09$&&$*VVYXRnOY^?zoz>HZ5wqH5SP8m`0y`tihVxFE#~-?Wi91&oSZ5 zd#jGLp%8)Q8KlSS+SqlP>$WS9q(I9X*;SFn&c^bpVJ|zP=!RnWHO4Bq*U^da;ey*4 z*gK-2WNfHlcr{9pGtjfGX(xkpJ6D?k;USM!MLTj-xJ|x0GVgWlA*Uff3i}?-)IO8% z&2;QlUJ^-o+M_wfE60%>D$jW3rG&~iUim4Z3XE4lN~l8PRj5N%Hg7>kG?vQGjQ0>7 z(%X!k2oR~Nr8}p3WM;_(D^rP|14VMtsB0BZb*pOm)ZtpS6w`VKehl5OhG&=3GA|;4 zYF&-ze-0*8p~1La58xAt z5&8uaKv^3lLOz6s&ojs#cA;`$-c(m!bzL}#AQ9#vSJl!s1Y zfeL{hw+hiG9->f%K%ZKLP#!wO5ETNwW)&hM9>T3cpkJ&)C=VT?M1?@lSB1!ohd{3w za-egoLMRU%Vz>%{?yCyXHy)x)g+K>Yg-{+kM7auqE~pBT6%SFNLZFkWLMRU%Vzdf@ zZlns4jnb3PIhleI6IKNr&3sisv%^^Z&%8$Y$`9=^wR6=u_%LAdQccF#vWkC|! zuJst*47m_JdR%;s55=c6VaH1wD$$6{Q@p4ljy=K1Rf-f}o?cYkLqlA_Q7?oFE+px0 zR47CG{~p&or1hB-ORJEcNLs%#*Xqc3kNPdYgO(KYMx0IdWg+a(1`hb-E8( z9CfXKhPj}>(Vybj#2kd0scN{NqSQ_EtW2{vGzFX&I#H;cO>MBx-sX3lKI>}THyB>R z4gv1GpH`C3m8gf?R&(k<5GfcDIPz-1`q0x_?Rf^ROSR`^X+_vj6fCZa>ECw`V$+ ze4@x&U8g(7p?LfHWRCDVIXPWo9Ra z#{vX<_&bJVv&cL@4vXH#p%f_wd)sg4#}e4p9#5+^{-`znv%_s*3H{(u&ugHiF!q$A zQfz#^U~wM)pSGkQ)~cO)7{|W0=7IEF6a5LlnE>b+4Xs!<9B1DTbI5z`yqSwN;<-S4 zt{hwL#<^8){pD)7Tc3SB-djD%J?lpI=$Q=-i|Z?8+wHmai|1bAIMIX*Lk9=#b+R{*{~ZXO0|EJF}r?qVoUu`h^#kkGvqZZfxP~n%Q%gG#+o=m|BD2)+s&Sy4y+;;Gs?A zV{p?iM4POh6aBt-4>#W9G5qFXqkA45lKO=;H4AXc`r?@jJj{{Q^NiLCANl;~=s-G6 zT1e0QvOmXL5Am?@TPuNfgCEL)qXX$vYjb3Iu;F>U^$-*J5faZq4IIn9uK5Z2mDiyi zL^^U1xB-iJLV)S|!AvKAO!rrP64s$j46J(5weoZDz*o#F>tEOr8Oh`tEJt`kA*MK& z^zDgSmlp=DLs(l- zJ>rPt+9BR2DuGoG`@HH1*IIQ3t#{OC|Bb9tYM19*3db6T&dVacipl`?{NkHw`&hL` z6K4&1U4wijW$M3M{m0g@L7A|maf(+=jN(mTX@U&w|v%; zX@QouA({wbRD`@a9vi4M;&U#Uwn3$+1*cPcr+KHxZyD$P@MfQ~J77J*Em=xq8?ovM z=NA(XSNOt}nc=B9;Xs}*JTV_jIa&kOJv{9=oMrhR@rAF*3|bMM#cS=gUiEo4dA3?l z@I+qcG3Tb}rv6^*HS1T?fcu;;dZX?Ag4R6&V%AZgr`6LLuy&1&3>oBXi?$7frdoaB z0QOl{ul8B3K5LWT0*ijuQRg;Kr)Rf6Ql9H|ZUGZ-bc@UH{KDGp0hfaq>0muaYq$#6 zbXTt#7a20j>ulqf-e_AtoQUJut#*exclhw8=paR;fr*G@4)Qu%!3`W+`+A*6vBwPz zkupX2odPFzZck};wny7@z!2P8!NmC*HuWk-g;w>m&TWjWwO_O?+vhy2#gcf2U@Kyk z^$gOCC~}c*CfM(UmJaIhZmarXuX7uc3+9NRKc;3>iepJFv8o^UIy+P-S%%^Xupj+VEEZyjze?{t3Z+(F$$bA8TFtW8H=%su4U>dRRE$e768 z-&VofTvVRl!q>Mb^yl^Lsp8s2GAOf_zvOj(;ded{u~C$Q)(+=h>&TH^x!XOvGNwQ7 zi`;oSc|a>!-ssav1BCuS>Gue?nft=E<(LfeS#=w{&QGIJXgE5+>x^34!D5%svpvJV zI&xpOX3>_-(h24Jm_=>A40U*Pw9SRAfc8-gk-42mI(@kv8BHjRk(FgSU~8`5xnE}t zGWKJg^wHMxbzbM^(N+ZC;&pz6nEN?9eAe?vcILhs2tUEn=lsO8#TU7Ipl0)Qj^FvY z)@0P@+2bq5M9}gOmL2p3HYRfCsGr|>+qEnu&KIp$!DWlj`MS@u(-(Q*WHN|GQTjfl zDt*>FsD;H_p*e4Kb2i?g>k%q6^z3}r+Hz#4FL$ReqxxB&=dE#($5jHNo3eb)z0{)h zywCG~G5n`*fJPAh{V|b8PGfi^2GPIfvvwWX<;#6LWBNLu2X*KXl?l-;IX=|QXg_P0 zXL~X9|0~)AFSeP&$FqH0WM#JIu^BvYAottk(UakS*ylOoi{(P=04S4H{-CGRSBxC2 ze!%a1jy1#6IWF?xP|czpa_m5Elf@CQbFa_y+PKKwr-&l^d!5gzdeY{>j^A#`iG&aI z9FE-CUkBfU;ICslFg6zFVqzX@*fB10=b2iKxy~1~7Wbom6?bG{UwJe-5bu$@^L6kx z1pfrJkY%A0*}cZ=M7isLCMy(+P1(*vN|7Bt&;H_0W2_5EoI>$s-ChG7ts=v6$mocRiZ`2~0L|gNm9Y%-6Z5gmZ(Mi#*phGBryRUec-}x3^pur1O*e(6-MNz6Uw3tVl2c#T| z7LTwD7jI{A$J?05eW#NJYmV2snI-WEllOLpzcbpFgI5$)odOsO=MLRm6vJYm(jA0$ z^L6Mp*qLogfp1g4uVqv}9Bs{INnh#G!C}aq9afYz{X<`PA&U6{RnK!ZgVsE+vlFR6 zb$*S-ygg&enrO7Y&+|4+#wow)-m{2C7dDmpc`X=@(0Kcuz{ZFMkz=R{D2d8AA9>N2 zi>*TMs~Wx67kPYy;sJBvJc85cwia*lWi+kxY(-rkp;OR~s`$393NJGBG1Qdk7TOc& z`3w~rHtkjGkmp$O){N;7dyYl!`??Og1=H=X(pvbeV+?vI82%kC9*i+sWuNCoRJX4y z4(hru)yceyf z=N+_3I`C%L^v`IseO9}&bts(=M>nDPZl`(~m^Iva$U+_U74Hv*@1eEx;W&{F=(dbp zqU{5qTdlw@w96K)Tgl>J#&THW%}``VRWGV&Gw!S{6q%6;eXqKHS4ekAK zWD9y0K1)@Vtr`AjJ;zYj`zRq))2yl?YC|r%KTR(|q%6-~Hq1tgP_<7h0j=J`$NkQC z(SbujaVr*^`m!dY1F6c}(Tu;V#ua^L>apyV$G`C-DjB^T(erK}1`$5z+t4!_XwhYV z=c{a=(X^t~aCR$$*aX)QRPy)0LR1J#N?s*OEMY!$()K(<9ujjSMoh}`o%`!BoIv23V z{?)2MTA8hNh$aOp)aK3?UjB&Bc??P%sM-@9o^@fjkDWW1OZNNNn%sA~*55$gny_!u z4m0St-bKM4fW{;8;DtIk+k?YW-(SPvLf7>R861_y<#qm#D#q`7b{0RMG5safWY5mX zeW&Tbw4*45?3jHK4F6plyF=*vL47By6tv}{lMn5okI3GY^B{^LYSR12o-EBn=})S1 zxCvd>4^>4owQ)-h4>nQVTnuSobZ8Brz}+x7Ipl!ip%mDOK~ZrB%9F0=2bM1U0g4Vr zPPiEvoOO`V}mKg_^}?m=kD?7PSjz!dH9{1_uTO zRm^h~?Z!~e#S}vpJ;bBBx~%SxSCCC~OJ7!Klw@?YyL`n*(Tl|33h$AXv4W^{xyR>; z7NfF>QHi4aH%M`4g-w9=U=}eP@fGj$W&E907OLs5s-!2b&gZOS7?t>n-_bpky)aw- z6ptu6tDmq+Z$(%65UdVr^p=6DtNiVlF40Tv_I!#{VNe)5J)gp8W~jjID!?=N> z^hYEKW%7MBT5Lr(lI;NQX$sdhtIpu2T-ey5WFxHyhL~HOd!p@VAUn|lXcp{Z9AQrF zE=DgDmKLQA)(agunBOuTS{d$6Gy>2Gx|pyx59Tv83kn+dqbzOg3!tQ-P9vB4qWyK~ zuxNI2QBprg2B3$znZ0Caxk3eJX?{hG@Qb?;H42;>k+k-QnpKI^?fN@d%7o*hLVi|< z_FOgGS=mo<;9v>;?AKWWU@V^Q=h>Ul^f)XpI&mX(0^ZSG1B{3>robq-<*6cYl9rw$ z6=VV|!CS}#rBJ*f=g@vg9w3W27ISXRsD@};`f@;a=Rh5tO)I+TD94|mkH_rrd=g&% zfb&ymazNzHQ<(x4d?)&T7%W;CqM|}RkE(R8=0NrDgGGfQWiMK_OsZkvaOYbL&$i6( zJO=$C^(fBU*`4?7!iWUDU78zOQw+B-Vm^XV0hFr>2lNSLAtVQLC^LE}2WeTGVFr1M z5(^y%)a>J{Mtlppq|axli4*9euPP6;w&<4SBGPsl@;NaymJ-O`8wMC)as;)Fa{w=3 zw1zm~PN6*8y|m(+(7sZHW(+$h1X>VeNN&4_onDxyQ?xc%ThV(%_YtNHr3L*{RJ?Yi z_qFg8OrwDJ4ppgM#1w<)7%;>Hn}zDz1TzKws|g6qQ@oD0T@?{6By7ZsFcV((&oGlf zE6bE)SP7p);pNXdKSAR|lkozI3Gz8QkhLGP8MM*47=~}flmOatrjs2s=O#63qnIE2 zJg<75SN-r!NHC;@7#Ly0eP82CdC8L%iUg<6wJWOdbldj@!vdgayjhz~*y~c{F z^I)!3XTE$lK2fZB%Ea)Km0*g4@ia#qk$21+%Eqo_71$e^&TALtr7k&7Jn~%(w*NuOTL$IA1|Ji z@ZA5)C;424*goX9QK<2lbjJ4QU6y!H80mxfh4yQD%A+20E?CmOa0^ zewQ@)hhQJTu@e1 zr7v%q-%z)3Ht|`!LA!>h3D?vwp3Qs2ajWeQ>K5bZ^7oO~*B@AnE}H{|(c+!CqJIWzadc*;h^_krU(YW<>wYhlu^ulp+BQU4_x zG~YdU3;yqZM_rV}k01T`?JxB^>Z~P8gq9%r{@gC{Gu4VH%3thB$XmD`?>lOPgmeq! zIV1cYITZhdmwZXq1jqZ1x?1=I1a1(1f_~-isAWh8Z2-?vn*nJ5j%vy>ArooW1JDzC zOf!k&E3qAPhFl!6>cv2$h~Wb+|6c6aZdQ#Hu85cn$U z?moN|cQ;z;8T=lZbiyOc!@qMr<3w#%drWzX*~!aWvhIxC*646t1^&=UX%!$;S4ulV zJ2w=N_6nb;`6wZwzbtIK)%Wx%XNTiTK-v}ac=2LG9j7JX^t1b)mxSAmfVM9&qj2uO zXENee1yOx<`%&Q;sW)2V{Iex9Yj6~M<2>6!jO6vXtgG`_$lUnhq21kW7g)K*|Ls0o zzlRtGkHL-oP<0>fC%O(pbvQszeq=eL)ZyS6{;Brk%kPykdfZ_9zEkP_X8cki_HJqj_iP zKnzj63|)yHO^yj<&i1cyK?^TMmBV34MHTRtmjEE1=&`E(0Z)nW;V?y3VFr7V>0 zdjmZiYd)%7{v(0NO;~{tbN(8r0xj+CxKk4*d-dH>%8*HeD1gWSj*t=3Rv0y%`&d8 z=K48a#5~7i(f1m`Lhp{JyKyq+Nw6}3T_3E6o6=I+vR z#@BEw_eSQlc5C-{kxh4|=DEB}IU9~197BAm!*x%avh#&W(x^2j6CrGXXSM$cY^tp7 zYQ_3TJhMD}siXyG)boO|J3tT!-{cn8%o3(|8C;O5J&k88XRnpLs`bXRaE;P_SfHm^ zvYxyb|2F;%|GXPsM6v9?*xR1X?g2s;njGqBJWqwksL$D0g5ZBl3?5d&dD)C2vu99j zfT^Saof=x2)Jril#SKYrIuqv&=RdKFe~ zE=Cgnfaxl2l=LV<5b&5NZHyD3s_MGd-={ry+iNy2VqMG|w|Ae0N8!j@WVD zo@bJ#5Lhd979sjx^XPi!kr3E2X*exaVkV7_Wm3S}Ym>VBT;z)j^6GqHnU;Kc)X3l6 z-==4+iIi%WluI253p;>flAKGfmG{$2=TwKN>XzE1oT`3F1yuRSJ2!+@Ify*lM_mUJI+X{vnn-e2Gfk#q4M|jWtR}-nIK*LTu>P_P~%~^^^6X79GVocD3M} zjd|6p-fJ2JS|%;*f2n&E92$qHdoeIMe@Gj9V@nQ@Bg*#Apo3VoWI6mb%3&g@Y8w(I zj7flU89+6BnB2UNs}cY6Enj52ZZCwT;ckLR-_J032-N019B@W^_HohQs)vw5*q4Wq zde6s_j|aHu9|!yAuc)B>u9drplX``s=CMw?DLl}iDXHQa$|A1S6tr8g1J$icJGAEq z73K0yVH7qo4-!|2 znL`pLW;LDK{jC7@)U^B69G5!OuNqfw#C6A5*MXQxE7ytM&|B)7L5HKRT8?JAR{lVz zuBjd=Tldue!``>YM^#;I4~P&HNYqkei#lAaL7kc)ND!?VNMxoY5Cs&g7(xgn8j_ey zBr0HRNXv1I(pFnqYfbB=w6$+}+iD};f=~&qTBKI7T1#7NiK!JY6|B~L&$IU0XU?2V znArFIegAyl{w4FAwb$BfU(P=J?CUxl<4F#onr~os*ECzbb0D!L{D_oK+e@*}9acD) z$Y1OeJ8?7dMjXELhz`VNRA5yPHOyeLY;5w*|1-FJiM5y5Xhq7L z8D=G#hkMMOwKf5AW6y%;dEa0~Z97hGE&25sk@$H~r^SeOPzbdM)igt@X)6jq3wUSL zxgeX-w>7{M_saOUkG>6~K-2Wz1wC88i=S{Ozs&AQ6uJgI{McPIKIX<5(pXGJroZ5Z zWQ)3$l_=c#wv7_CqNfdyr?~-=g=;{HvS%lz2$7_ncrZMf`JN={I|$R$2qjWcOR)d= z;A5^4D$*H^Uy=3r_mK%BZyq%Edy1X+jhEYJ?m_~r*4Q+8LRsHbir+ly*H7+( zB7MZ9hwo~@9#;w1^F@3sA{t+3`Xr``OBQA#ZMdmXeFcf%sqia_*Jj}@f{{Q+3|)q` zCi?T3gUq&_h%Fi~%D_i%Guzk^i*QGEygDPYGn~PsMB)V*@qknGNbgZad2j42dW4=P zR=jc^lg4uhZqh?60q5&qrM-)h(>#l8u?aN2@$#-i%H72RD-p!%X{}@BXsJtJRnZ+upr*zOq08G8{ms)9NnBp0 z+fLahjyEyTi^BpsH0eU}v-*v+?coJ()oq(5)Q}mpb3qQ&-nNjpy45Rlq ztZ(}$-g3lw(0OGm+v6f3GOB6RW)HW zxClc$oDZ?B)J%!P*(P0*8{e0=P&8ihYU}%bF?@F^tLX$AE$n8ZrCf?Bg|=OIx%6^u z`d^sQF)s#o&bP7w4R_AMuV{rRze$mpm%svQe09Hf>jd0(eYeI;gBEdS2T>t>vnEm< z&1jb^vF@n143q;=6k2*W^TYvQa|QwmRz}_K8yw3BBseaclRvI4+Uxk;(oAIXSwzfc6y!l4D82Lm82HFa=cg-V; zBjMRTb|xXS5I1?+3S9C%>b&WB|9%Q#Ti135VkOXkaY1uVAT}%9K4&PtV*U{8W9EEx zxu<>BgvDEm?K z=iCf7K^))Z>yE}R2^sg$TTp|@zPw# zZ5v4L5MP}}E+2B=9Y}6>LaqREHx4AXIUyH;-133sS`u=lkef4*++xU?!nwiJ6uvr- zh9_pu;x{aI%tyCTmo^u+Uv)&JJ(9(vO?cyX;-qQ@-~1RZa|W&b#3K<08>oIYjJ96G zt$jmdlkqzwb{;B6QyK3BgpoFWX_GsrP0NN!m(Jd^Ef>2Ky_`+G<1D9rn&S`G!L+l3 zRSet0uKKkQ!%|Sv{fjLR_w8hoGQaeBzLGG&=|i8DbwrC{2D`9bnKvKATN?Mz^K>*# z(EGU*t*Xqg#!F0P3ri0MuN+tfLY9#!|3C(*>g|y?x;^oRG5&ARe1vJ=^h4*FvQR z*))v^X>31B&pwf@8F{cs^`7mk$?MR2PEnQbM5}H~0^$!NIhYGv$5!r24=Y86=HO1E zW&J6n(6aswom#A2GQIqc3g5$j^R$XhQY&TDh*89QF?77N^e5ncUqWvCw6hSfr_Nkg zcp_&x@xy=+c^=W&p#9U7xqh?}o8k-oo~iXHw0ev~-;1IDqtRzV=_h^C-IPZDJ#k6* zqUR@I*xIh&!unu8OH5`@u;ZzO-G;}IhQ6(b;QbK#to?fWXkT=i<*`)bJ4b?0giZfr zm@^J+9U;Aai3!!@%J`yJTmRJ;D{P;21ZG=Sf8M>v=pg8vU+ead@X5d>c)giXRqMVH z40UKo(~*6@au&VXw&&X8I4_79S`Fbm;UGp(7|NL$Bv1b8<1Z?Ko3(^3?~U>P9d zf%jCKbvIHdUb4efhM}ko-q9m>0#X2T#+{}{nZcn%;g0*(jO^=??@6?eJ{j6QCG#DS z;m)7f4EJO~pL|BJ?o6yx^IzAhD*_iS2nXil+vN)u6bEq~4F7b7HP{q zr7;*NZK%Em`*1>YE3Z8#m~+bV;Iiu289`uuL-nf4#>qzo@O|;7nx@8c0`*PHYN{)W zn(MK{rZ#p?pj7CjkPt7i;t4^hVjM{xt19!Lk#S5pCs3(6;bkx3TTxfJVnuaDwL~VO zrz}qh@Y*9mGBB?$$n4dZH*gWZvLV<|i4U_^SBUk7qXGl-&I#m1=Up5wjuwi7((py$ zlA?u07cD@BjtWG|8>@ohnw518)v>Bo=L7?dRpoiXoaL1(%A0Cn{i3A2@v0<#a5V&j z0aY1TwQ@zC@$v=44OmcK6AKns)~<|IofFJ$4wO{aR7oTc?-=KtgM z#TF4~vr_HLqCedN{HNMq`Q-tZFeQ++p>-vgt=1RGty_}3`^Ct#+E|8#WP=vWS^;y;EDBb@H@$uCF~exCAwj?k&fe<+4=bOXhorTh>uRrsYE@CxWiRlbiYe<1x& zDWe|YQ)-KqTP z1MojmKFcRn_{;UiK972wD*aQiQcU*`JO`=xL2Njo3nFK!(q903K6JkXKUH{cn4ueJ z|9kWA*+cE?v+aPp@6z}E>PgU1jQ^KZp6!LW6#LX;U<`lB=zT`TT)oj&+0A(d{J)L= z`&EwZhd8UxxBs5;KZXAVFB`q{jC3II`TqOq-v#elmAl`{S-qb4$Dz#rt#WK%#92At zzEjCR2Y07;Yaxs--`ycR>DWm1jFB&X!k-e7y_#YxP`sRiokNJKCa#QuZ z4cpHoeZG8C{_l|gJr0o3u{}+aPf@SN;oZLJA4Z<-Ym&U@`74Cn#y5=|+u0;JUphYg zbRdAdhyDyi62|@txCrzQ6mM2s37iT4%N6GX&joz~uoQSSkb2%i`%XQ729oYp`WL`_ z(6i-?}zg6ik zD}BAmikXu%vGEKq~2qJk}mZ>c)X$C1TtN}1ull%4qzql$3VP-L*D{2 z+*g5=YgPVo^}k&GF9b548S0;>{u7k`l+q)V?t^mbdr$EVAmiNwWPHC;|A&FpyGi{w zsz1+dQSNG`7Xm3a0*JOa^xLt4z#QODfTsh$3uJujfh@1V0Djp~1$ z;#ENA;}WIkDb7*MSNiwfX96z;{uK@L z0^klH_5BRE6!U}*^_VR~b0$vWf8(0W@Oz9sf z{Y_vF{MQ3fMMJBAi+~paX8?16O#c`l)BmqA_yPSFAmixw)udU#fxR4&MtCU^=Wcud;S)Zl?PXnF_ zWV%NIng6#(1_EaRp9f9>J_V%Sp8~1(J|OQ?97y>V;8b80a2oIoAoKqzAk*2GVdyu2 zq+udm^7S1ccFb{Yd@DkuSAhHnpH{QvUf$suY4!;Ld z|1;|UOZESe`hN>p47qhc=C=m80=N(el_4(9FukLI)c5ueb73XKI;0J*OZeW%c~5N5bv02%H__z8o)8(0MVHt+)AM&K+UcScfvF%W-a=i+Aq z=o6GaT4|0Ua2a|jBW=snZkN%iuARgf{^*}s&V|X?W zRe#J*G^z%4+g zb2E_X>;N*IRY0b5DUj(z*-JW0flOxv$aEF}na+G*1~3=Mbmjn=&LEKKL|l?i=oZ`u zPn7TQF2xST7R9BC1&Tq%fZ{&nSHdfHD7GjrRV+{pDh3qyA+Us3>`-h`T&h^07*q@> z?n6FsIlN1;L$O71sbYa*P!S;E3Q(v)JW)~PXABg5jSRTmco<2)X2`&;O51r%&c~5& z=PfyZN7~Laz0X1iZRaijrnH?WYSH-YyydNsrM#V|{EpIg-iU?*$hY&9&#OK=FIlYe zb{=vk8VSk=5sr@S0BJkV$a+nh`Jijj@OB>YB#qC`i(RFBJ5M!7;~$DjM)wJg&(0%u z!%y_1veT8SK0A-**!1Bcpc|?DrMMq-dsM%jS48xp&(0(MRLjrK8xGg}*m=UJ>bLWP zJe-h;F!ns>HQTdF?$dWE^5fP!D5pT4tweDo!f^nKSC-;aIi{hcp-o=^WiU->`f3t#OEf4eWf z4qy0fKK=*3@Etz-M4vqSRo?P?-KU?sX}tWu_{#SqU->NZ$#X-UH~i~9`Mo~6+ZUeg znm2r_ue{#!@mqZ1PxR&Qpf5c^ zP4A_D?4vPPlEh!;qXT8!`G8LhtSY;vvY~nfzR^&0acNoU+@ed%W-nY^wz4voTUIaM zZdg90x(s_DO3nTQY;g#bRZm&&_p(y5ogqmm;lmh83PnFvmsP}?17)*I7L;97Sy5fj zEeg@v6?KWY69NmWSJqZGq~bCg^^J{Xu{tA-l$KRgRl>juW2i&~^ueZuGTD!?pscoX zweg!DE<%R6NkKgqPs^QA7A~GM{~{w4UNA4OEIMyt(VQZ$&-~d7ix!qGSa?x%-W($+ zX+ZImVShz!EKnu^m(^O*CQ)`&cs(1dS9(co4Y8yYkE*4{S<(4r)wRn}LgqddR2Md(E0xR@<~n`3zzt-KuFwGRhlk^I&TyRs}`# zXMMhG1&W7Rsa{@IUb7OOtXKYOli(!RxT~70Oc*845Alrh> zNNx47rSDsBwevKyyz|vcGxI zjlZPHJeUnN=Kk2{6b~1@+#A6*!gwVD@u}17OFHYzN!vWtExR(2NcZj;FEj)!Kt9LZ zYE-*2fR>22;G&}0(bD8Qpp}YG+6uHpwK1*4*TD>uo4m$qOQO9ogw!_i_LST;fF7(is4`RVIPiT_ zZXPT67R_Gh@zCbkC@_y9Q(>wCH;S2>lrQfxc?kT`=O#(;aY&L7kB@H;=jIqY21HzYBjdxq$hkeh&6)^ocjDva*Fmi!lLZT{rqQbbAa03NY#A zb(($GE1f-@4i*j^=LP7pF^Pe$SKt690r5wdq%xg7oGwjImxjv6eW5<G-6d$9kQBr(nJ@qb50+E|>ABJKXfrtssbuXj3G>aBf8#-{Rk%LzEwQna7h!l^cF z+m;h;5$9-F&4`;5aS?Ogy^}Ym7iYm{w%#yoNYgPAhCy22ACh@n*ASj??xxHNK{hoc+olheo6?q@PW`1RIhdgds{ zK9~Lg@~lJVc%Oa^<^tf+B^sD2<#=SGxS?s=kS7^yRDEDQV;iRPNL?auJm~ zBaNJW*7JOFwmnxhoD&y!wolIT)8Rn(8!b|j+oBZLPg1%6?faN24*Ct0-lWDFayGqx z)%1R40EM%B*sCLW#h8~_Ib0keGcAE zlmBad=@=;gUmQTrpZ{BYayC8baG-qIawvH zdyFBl3a1w4RMsXu8gUfCoJ0u3%z*=gXsWHSA>_J#L0wZrMWtNZoEp@=h%FwM zss6UF(vLquB?k(BRvLa`8vdd*{1s{VtJCl|q~U)v4gZH}_z$PyKc#%EjnVZh-+kgO zYiB9>?<&6vm~vmPYQ!2HT|fQJY51D1e*0=CK^b)h-!uEgY&}V}|C0B3w}P+3b`8wA;&e2szJ!DhunpOkh>pp=L|yb zImk^MgxrUa8>Mo#9;CXzlh8OHde_{y!^ssx?p2jzeHE8t-((DOlQdqfw^-cozps~T z{@H2d9OU6N3~^Q|76H!yJsF61SLhfZ*ZB`1G2?-+12G0T@nxl-2V#Bt#BSh3@Sjln z7r-Fs|5o}wAo(3YhQA#c1bwU0>wyzMuLI&)Ik6FlXDGBv>19BMzg+1HfkDu7l`a4> z{5e1jo=!Xy$nZ$J&?f;Ip6`9~IgSZ}=Ie`e5FNTBu#TJs?C5)q**8oEpkum# zr-SYUQf`yd8bG5dhj*QGQKrjXu*AL`>- zCermvS1C<QVlOp#$Agi+90ZEg6 z4Gfd2@H3z@l-`d_klqIr{YrCmCHj@#sC2#3RZ4Sz2*VdB9RxCc*-9Tm zB1p5|QQvOhsi0ZUNN-l$U~o)5kov0BKcaMj(m|zp{~4aM3W#d>KKu~76gw1K6qhO% zCmcCh1syqziC!>8`*(Y1Ui1BURr4rCE-`N2Q<}XZcF6hadS>!-X9f zifgWu?=xgzF0M1-$9hgjJIv(U_xKX!^EslsQu($Ya-;G$s(!ws7=DFF2LcZ$KO5ob z7HN3fkE*r$HNC7S3_n4nrObt9y`e*$6594t-cfyp!VLs|t+bNdqa*UR-!nsL+mGS% z$M_a$fIn(@`~JTNJp8%tZ1BDGsXn^MNApOzSDxwc(%m4u^lyFiAAR&!eEOdC>1*-v zZ})}o@zH@YyYTowU!F`FM3j{`nYBZAB;opaR}-z2cT8afW&T^%LEII`L9Ie^fMP== z#x$HgFNiV*Z@|p^)l;Vth1;mqYo2O>&h#U6(xvTlRbBm z3mvl3p5$lcJc&sNdOh)MP0TyfeCQ)+T;8;^XPiC#?CDddr2Y=b)Z7{1&>1`a6;)Sx zmn~ARTkstn2;v{^1pIHnGdhrK$uOK8hJmv*`V{O}1hknRv>pEk7zobl+l)@sCG_aO zZgJRk2CD~sGjV^=d3_}Vnp{h!{SL@(O;>@2I0SusMJ`20P<17#Ot;RErRB!=C0#!9 zsjpn2kN%kJ4E0C{_I(F-V-evKxL*kGt}}>2{4jz1cgGNxF$m-|xZf0=HM^G|X}uvg z5R1X|9#_r}3P3OryBq++WQ$-^CGVwh>pD!i-vBe0*51{+lbr2g2j-x5 z4t0%RstuL!jGgNiVs&FG3g4Ij=|EDqejh*KPW0}K^~X;pbH65Bj%)VgAGSx-Ab7sV z42rX4hcKg#L6~=OjmQWCHe(cvjPVm1fGNfY!qN-;VtOabp?UU z_4}y2bzKCPzcZJmxO`Hg9Pmz@A?%BDV9#G}!z-wJi8R5iFmj007Fa7#s33geZi2Tb zO=~1g_j%J4zrx<#wXiCcboYmP;)Ka#SmJ|`Bx8n&h4dGwL6i|%PtqDAaegv6&b1Qf z&y(W37>~y_`3Ts_k1CkjMU@+k%2IuBR4a4LJCwQpUht8tpCe(OTyc&i-1(R%hTa=Y zyCfmiR+%js#M)tEL`AX}rcs3rD)H#~0xazs4ZU5qg{wqbVUnE#dgIk|6zubQ;z0^~ zK0rWAeK4qJYvSLxT*P{&9%{u#@oY}NP?#In1 zViK_Dj*o0H(6i@em+bkqd&wKxyU%AAi+#TeDEGQihCm@FJM|Cz058{%V-I2y)bQQA z`=FVxw0ivWnrA?!5dS|{ImRQ-&R6=*L)U}PtrV3&)c3J-foKUs=K#^y332_G{A}fa zgtsX9+}DivOlTJ{3-~Y)W9iTqAo@X}OM%cAx)6xJP(<;3#j_Q8?g4+HFy! zBjup|#^a?g@X`P9(R`24VJk+Odrn{%tNHI!ENEY01oGDpMx z%G^&5TwZ;RU}FEWZ={ zAD;cd$C)?SAWuYMoNsBgMgP&f!CE}bbavig3m!n$Wi(1H1nbi6PqcbCmZrNGjj7iS z^%A&Fw?C2VFmwg_5OzTyy}Hl{p&g@3QkibvU@r?AZi{`WQD7Q{_~RW^B^Ua`_JeB{ zBA#M@VipqdY4E!cumeJXe)9%QC;#z2_}I>DpSvO3vpF$-gXxpCM@DRW|Kx2wC$<-6 zjM#SQ2xHDY5)Ws<7J9~#zI`UFklD#(FqzD0mO#H+2uWnA{#|qeAzYZa-EnAC>AXXAz5yaF) z=K2j#T@16eCZP;df-quh8KcQ~V>ay5%GW5208BX-$LBT|#|v`#tsV@8-*!JEK(o2_ zBPTCqu3rE>wlCaMO`?7D9RSlOX1rU&_z8D%c+hhKIPw`aCgA{lkiuL^;a@;t2%IlQ zwYmI@sTGXc%?BPVn&}qf$H^IwKQ?wk+E|2H1M>+5%nR8VndY`1qGR2Q*@GU|8|3?LK)-x%glBKD4F@Uq z5j;{igA8}J;a3s}W90bK-l>pVlq|=`Io!#PhR9*A1ZlQvOJ=+o%W#RAD}toVn8JKa z*K6(9-~VSDUID!xhrSOT?pCr>f7zFuiXT#O^m*v|g+JH$vrk0Vk3ZM=56J&Q8h*9% zwVm##pVKaM)A65b-_C==4Fqa{sq7I>P>q+Nb^cGrKN%RS(%EwKkAEg1-a`EU0|Qt( ztmPYL$3IF^j%oa>%4vC`hVr{^SMV!rt$Nm@BuGgs?^PVK9_SDXRC;R$Os2uN8lALe+xDrp*vFMLq3dB7L6$3d= zpNOJJ@9y76A>l7K(A$7a?}I?RdqcFFfwh>>wLp$HIIf|-i-8P33&?TX zdnkkq;BFw^rJH>E$n)}XkCN#5zVMTL^xu8*sAEatZ}ib$_l4)Pg+JHvMdhV` z>Z4_tkZRaNzs6X3gIS2>Fo{;mdAh9O+Is6L3)VhA6~y_meuAzah9=aHGguOTVra!h za&s0GBD51;wxXt-r#{KhOW*KIg4E!YD2^9mWF!h_6-Vb4@))l<@n_FRLZ^(n7z78@ zn(E77vt0t32rN}rw*p5HMM@49G8{&3-Z9x=24Ze1+@TpWU0G|!WGcwYF`PPF%_G5O#e8kLj_n*>P=4`!bu^+(OBH@J zsqjg-bmOZ7DjHGjR()0j(pY7$iBs^8_TI#mVtmDYcWiUBhG88Y$UK(f-|Lu8{$oh^ zv7L-m?AL7g9b$YR2>sqg-B@jP)|wCFp!dI@iW94y+xaolW$4<*mT=v2F{Z6cGVlI( zVbGe!dFBcu1cs7sjWbK*NgT!7Lq(LwrHJ36q#hTcyn zd`uVBa?tlJmap^RGaT+0&yw=a`tfo4UF;8x!~X&F)ae*rob6xu`UBb?hJFYk)Zx(g zfVf2=Z8zn;NqRl}Gk}di+{)0!KulePa)F#@%>m-Rg@Qm-6?q-uUiO>kyBvJ2kGK*W zUrDt8eX_tO&v?Ay=lJNWd^GwdN%H=AIn&Iotb`Q?Ht#qj-rvX0j@cQpIYskk&vN%N zxf5k<$Iy051MIeVM%IwhhRbDuAFs;@xxm8w1^*^XA(Yht=~n3G&A_fjAOGP|}NX2ST-bTZ9J z2?aeE$9DMfKv%}F{glQO1-?&j&aoN~&vhr`S+d=y6+!7^?@J&!Qs}obR4&WVA6Yur z(4*~3qx2||A8+XcMjyZEXPl8g&(ix0f4-$l4S$KHcN_jHOLrOmdP`>+{%w}tGD712 zzNG^uJr7v=fC>MkrS}<{b|}Ra82Yc4&NAWuY3ZP$hiZKdsy+LX8dnNoGO8-o0+LNZMR+?Xpr`xQwwU77%rQcWn50%c=MWdUQK2_Lj=?zMsr}USVzF6r-r5lt+PfpUmL22~wg?>co`;`8z(%(?}&q`mT^m|HwPwAtz zUv#(9rz-tTr3;k)meQ9gjpYQ1{~D#gru0{oUaj<9N}Ezi{F)W@`ts#6-2#I?#@rCh z@KiM7P_rr`%!z*B+YKoJyi-F)G0q+gL7N_50`s7&!tbz=e3P z%^}junyPWcpq2w140hzScw%z^2PQ7X(GEjYtP(RxGKpnrjhCd?#2&-bWEo6=)r)E& zI9zf$80h4ciD@ZOt_L2(Je!pRik7m2mWmgR*VzlT;^ncRC@g(m zC}l1WD<`($^5jU2R1FhpY+2KafIQCpzGQG!b>ph?SVdJ}S^4r{Wzg)J;q{8@=E~*4 zDomf^TadQ;lYwd;Ty|}&GFVa91UrlLa*g%{metf%TovRE3syGVnMDU7^^C;4Ps6>ScAqyII+6AU`=_$%1R#@Tv68$M5}{1VY)6^RCv(BFNh{s z$X`v3kMwB~Q+2`Rb(JQ`ra+7VJIMnS)UB>u9#Ai)ZCUk7QG%PxW0Qxu&yFj84F^5yu7A*d7!$crgCL@O%NGxs%>nl zudi!};nrw#!(yw%n?huRCWStdrHW5}y1wS7x@1lHvdS8l!gp93%U4$V!>|Sg@qV%q zNsAkl-CmM^>(A3#iEpAdy7HP@Kb@RMhD2PMW;9i9iNHRI z6gU)cCs?pzf$InfJd3xPM1Uz*lm=v#< zp}m}IZJN+cxaO>2LtRbHGFW2_md9c=&l#(#4AK~95VjU8EAVX6#%%S9YP5~o&Rtbo zx4KrE1j#oZm8M$bmuPIIB&@eSs+OdM99vnfpDi>E=jJS^-4vF4Kb}0!!A7x|gES-p zNepgc`m^Na#V;8rvD~)Z#3U~WzBO3K1FIX*+9jHQ`#>i8w^Pg|r{7n-!}R7b`{-^A&RxvlTNG4`FeH`Pi?xSFu~MQ*pE6 zCPnW5l>94JDK1uwDCR5XC}t~WC?3Kjuf(soSCRI`>EEfiS#gu%2E}H@D#gW$5ygDP z9K~$K48=pZ*%H4Z_iK{wR;1km(wh}GDQ-|~R;*H7tQb+uSIkk&R?JY`59QRqSFu~M zQ*pB*_od=*_y)yh#VWkSvaf4#B zVwK`z#fW0QVvb_AVus=&JX{jLBG-6G)1Cp5lkO6~;wD9&ZKi*-VwK`z#fW0QVvb_A zVus=&^BfP~ueevSTd`Advm)kOB;E~*&5Biuixne^`HDG;*@_v80Jbl~xxOX#I_Lp6 z8UI3~e$btRfA2n>QqTzJI$nEe7~X|>?3%iA7~>X8&akE|3sq*DM697~1&pA%*1tic zr`!k$Pe2(gn83!DL5#U=YaV*wbL|7H15V3Lw#SRXecE+E)|EieWR>N#At|HA-~P6+ zVTNOUqq8)cx<?`p-v-8du+D%p)(LSO0au!=7umdbq!c?qxgQZpeOXSLxR6c5Au{ zH2fjx!}Aa*z`UepUBL*XTestWa=Lm0f&Z!f+)|`t5_IwVc)SqHiC< zN>a|p-i+3N4b5!3Pjn~i`I$%0>o}pBLQnX{kNQy0Z{We@?GQH`l5d2vt!#6`o%8V9 zI|Wg!Ii?W1Je)-x`{5IqS=6z%3}J3f4s)-BS%_be%6kdPv%5T8jJpLfvk18z4HbpX zp?-;TkJxWUA!V-TC*g|aWOJYBw!54oPFn#wSqZXeljpic!u|qb3!MXbd$3ETXAMK&J8q~qYaUGyLdT6MDhe9nGeZkBbo1!6fc#06Wtgn zD)2;BAS#|WjEIL35yqp2QR-oo3gaFyaC16&Gf^QoM&d;st%r_SbLGz2!`Se(*MF2} z3L55;MSwSd!+Yz}%fm-&rfAH*s4L>PXo2}vu$9l~Cvwxy8i&F;i6s#4L0oox$o#fW<*qA4mu zN+w3)QgY$ez9F#_!|kg-Vtjf7+Zadh2#B!EaiAT?iXY?aPWZ6aupwHpGhW=bWmfyJ zJV%sA_{6tIAU>dd5N;>^d$ap?^>sPIwH!w{?Nf&! z(!4!+yNdFr{W+xKQGTPp9%j9Up4ZjvV zs+;1sv*caY0o-r0#Dj-c+6xXwS`UrL{NheTjZJ4#`6BV#S!LW%TP2iKqdr@oTGw_Q zx#py3>qlsWzN8LUag0QsYqtqN$~Ay{I}{pr7ttk7da10rAK78 zEkYy`qsCs?-hg{<5+weG&ReKcOc+Y0?FlI98ILfmRYe;p2_lfUr?&|8Vd$C@Q9kC` zXhxwmYO}#I{X3p7JTdTX+GHZ6FZZ8YCD?_x!Oc83q@&f`fLalkx*c}#^sVj4ym|YF zthuIbis!rcBUghqGebx^?t6)`1HgQJgc^iaai?O znjwim{)=H^#y#nixxNdbVK)Nz*u(&?SNV6r4)^`CaOSFxHTRi(FwUD83YCkk)&oqL z_drx*5QUE>p4Nz#`{FZE_uo^&j)np6}%%)8Rwm`H;(_Gpj}CQ2bki#_5Q{(=XwJ67FoZ#VqaQlFdE0!&Cq?_3rW=Yhu^G0zr}- zRl-3>vQz(ngMRPF*{H&VWoI{(q}-j7OZ^hg#Y?;^yJ)N8U2* zR%SDB7x);9gxY{8>9Om8M}xiwcrvhB=|wY`0ec{lTfEXHtt^zV%e%Fub9u34&cIZRAY_J6}^d^w$*#~6&dw>{%g?sX~}6PPr=XNaVP_#H;#U5eiTq9{V^fXHI#5?~PVmI4vAd^Z=W zLNh_LUX2HW9y=B|9`qZibEN+p$Z*w)90ia*6$sG~u8D}sU=GkbZ@^(5Y5N=;2c;lg z_XiMO`hIY{H1-=L(O>h?JU{A{f8WO^&&!Yd=+}MW&-3x$@$ql-(X?BPKi9ST!hhFC zSNUjmyS?F0_La{)KK)Pn2?#k>nCd~;>-1F|Aq=iBj2E_boZyH zI^|@IJ9thzAz(veRrLz9k==VtiJR5+3=)LAr;~g~l7y_RysC_=aQ1t02qNEt^Q5+- z+0(tmw(I3c=`%o*MhO0GOj+E88aqfRe1wGzb0|i)yrqK#KU7sqQ0rI zD%t)7ww5$hHdZ!V12YmHL9=?!vciJjK9u8~#~fF5zBqufgiN z2Apj2=4)kBIlT})L)n8-Vyxoho_orldREeTfST%M|Eu$W8_{^v*?B-q;~n%L%>(x0 zWkYB6b>gK|N{^2@4`}t^T_)~0ytKUzk86@kHxFnJ9|iHUq050jyiWr8crFhxW_B69AEwUVdVCDzJYZg*XQGeRA3ln-PkRP8?C~wov~?atW!N6@mGIsg#!t9&I(|h} z&%Y_#K5bTiDU8p0*Uwv{7O(erI_~;tQ)xIGB{Ohtc7@tbja*2C(B|-Qa>hOug@|% zcFsnRN(wszCMl2vDZ^d>!+4zm|I_QDRJug|wW1@5KW=teroOa;W(IqJ0X_*2v1TLx^Xv1v@ENtc)RIc1b!SyVD4AmEIUhu< zaTm-&v|bNOuczQPESBV=6pwMXw{9PbS!VH=v3=bLwSfY!$1o1>OG<=0*IpWR{!PUk z2s#HMBM-$ci8{|k<3+*9$lbBIQRf+a3l7FoVk1Rw)LD|vqm84Z@wKL)OPtD}8GG_6 z{1p66xtBOi80mW^zc@=x3owa8i7X9C$U?LSA0idGiB!Pn`DnawQa+P$fu`YjO~d7r zFx38IVqPr~|F~#;%_MW1OPtuGe18fU`xW6bt>E@-rxrp1j!tSJTo-j-Kp{jJdo2n9 z*QJq>-LYkwl26*wC`d{Ot<|y!OtmU;)y!mpO{-OaMWCWAwwpl}4G6ey;*zWje+js9Qka>EY zG&#ktdGw+kEyAQCw3z96#wgLD>`Vpr+JIpN=CgtM@i{mgJRCPdu7eS0C>vw?W9Djz zT3=F0)LmB+%N9eeZKfN{vz)gJwd`cF@@D4G9y!D9~ZA zpje7${H5VFX?~3zBu|aEiAAk-lYlpmpG`i^of$kOyhXT03BN5Uh0dz{@VYCFr*7R#KVdzIr}<+@k-?p1+% z6>+ah&DFu@$FGi=OXtAEIeIzL`o-rAb3&H+{w)a|H^@ILwLAvE-7R`Uma=CzZXNA7}{93&8aY z|1B^yKj6@#>~K%|O5W9l-$!9OkO%`tipr zU-zB$<4;%qd<0IF{x2zip!l~ae;vZ7O8;jwm@H!p0njgg&Og!(RDam@JsiI{4gcaa z{H1C5SEk{|((ueKcnr5tVY zyf6qk+PivG<=Fm+^X20Vc&>-s-&Bt6kT@&%`Q&v4%Ksel1)3kWOX95joYvttyQ>iL z&9=a+kiS{w@Au26(EkZcGGyp?2ia~V>G#>&koyn$tJU7Kwj(LajkdEIRZiQplybL0 zu3F`^UF#>ua(D!Cm#7@uH*o`$1JlVB*lW_HlX^dacSf_yvE37A_4>+7@(=kZRsL}G zx(0Ha2O)PG-+#`^y8HC)ckefFMIog!Y9faIe$Q?TfxyvEbq4S$;Mu@(rAw4PO|c981I!nNegVYv&w2L&KLxKyz~F{l_&+=u+& za(I_whhmH3QpEzrpdvuRaW;hOoVNeA1o1{`}g~mw*Adaq?3F*J~&nRwm<$?<=g%}za>j~+aDjHwCz8? ztl@2cd7`G*j-P&{>9ym%8r5&d7hDIXe%l|dP(DChqlO=)H19j*ZU6I^@F#7@V_f$n zZO2dCJVV-!w{R)69iKHQ-;Sp~()jH7@W;xx{pmZDZ^x&%D&O|UzohB2)3G{5iQrN8QBTNt^hC|rm$7FhKaQ)@gg;a+eB)w@Vu z*^JYpID^3>&1FUN=0xWe8IuZFy>^$wE0R8_h;>$360eS3t422EL`EfyPbRz|lx&U@ z5$7hwyaHAj>l)N1Cl;i0u|Dnb5&8Z;-n3UV=*e@h62GVD@q0>iUR81iP}RgLvD%(k zp!Y1-n|!)Vk`*SN7}Id&XqCf5=azw|DY}j)<||y1u~asf z@wC3{M~$u@lal12dXUs)p(GDa_7hTiM=5AC0`2ZIO@E;oB?zP%C-mJ+k*r4t@Z;{6 zm^S^aDM4}Od!Q^E?}my0>32Q$>5JX&Z?H6mDgV)ai7U~b(^-8P=M5SUq;0 z;HyVcNy6bZkmSk-qUpQcFvE+?$Rv`a4Gf%RV z_wb{;BF0$(*%M$EW@NdPiy+e^UAh!~K9;w=}3$IM>Ji&9*a@}dA21-KZF|9M&Xxj2ZQD{?cBxeWgc zf|YUUGk3jE4?9W(>D--qI@Y1LYt*GZ4 zChfB_8U9EFg=O;7l;+?a)Aeph)Rkb*ovD9TOO=eWNjH+Ztz00UqhHtq} z8te*`zj0p!ln>#kDB01Uj`K^Y*0Y`wZXnP-0H5~d>2zMKpMH*8=<4vFNDtsnnP<)gW!>&O3Gn(&b{;V(%OzC2BM&I8d6l>Y0|gm=<}|5}>x z-%Atz{xsp`*vDbg|I0MtpGy<}D`~>NktY1XG~qe#M>kOUXDNT6`g3xc@RQSo=lOuc z#m{*Hx`E=qFirT&(u7a9URQ9)tee?(!d+jxpjB3d_ zQ#rOL;_NzzNA5N-u6W#DkIkqq2Qs{dXj4usBAJ^+vs+_hrDdXjO zU5UzRy-6v@^|~`vPVZkzIj+}zauE9Nhuk48zr*Q!4sw4~xx=OJL&$9#gg(v%ZXSfb zV#wVz2z@cgT|EeW--g_RLFn57xpM}gkLz{g2BDAZbw>eMM%2kF7Hgv+sef#X3xqcqnACW8Kn z(i?!3uT^>_a6ITQD9uBoln*QYI@+!YpkD$~|1KcqA5h$^{#?JI-b$sfQ2vEV&jL~} z*5X7Dbjmu|aZ3OHbsXs&4!7$Dw%_|t+y|~B*!SNDxCx|fzw=MZxBXz=C-QB-h@ErN zwx80deB19WR@(N1idEkB3+`9G?Wghl74_Noeut*V_5&|a+V(5C?m&6lPi<7%_IoF( zKHCrCya(lNzXofhLIcG8MZ?>EHRtguZ~OUAK#H{O_uZ|0+Yc*K{_)U5Hv|8axBa~7 zDsTHeUst~Ehn6ef_G_4LhPVA(ri--gH~&Iu+Yje=*2uU0dY<1SZToq+6x#ONhC!Zw z)&+g^yI^?v$N2bP_VLZcoY?>6{Gb{@l_^N^!eq77;GIcN6ryK(-4>ggZ%#^lt}*GH@H3Ovo_St( z`q($aOdGFtm~eLQ9n*p%jbf$OZaS2GM(`i0d@u*chKP9bbe z0w>GnmX+7n>qNPm7bM!_Z@)X8rxVUWy1Z#;&p3Pf+0&;EVApHPSyPg}JH4vj%ufGL z=cT*RXQH$7$d>+3=cP|Yd*Ib~;7B*J(7aSGsxW0u9iiA=Hjw zVDE5uo;OKlx_Rk+D!pIzshvYNJs)>onu`FO9_FF@VQ64e%}b*wWloyBkLx&-s~>#U z&rD-_lP_gXsj^cf6UK={Oe$;6g5a!@ISZ0FJLVqRYM<7PV8~fPj zUGwQqKJg$>+t!T9>%vtKU4Ubt@8r@H|EsrU`T#rS&w z{#ncu+>`iEwNL(i<$qSBlDZ(`W7~;=_F)HLcZklW)1BAxd|$T^nue(y^C8a8uXyBY zz?h(N%#S#q9OL1<&ciCle2KGiDfR*HfWU>Yv_z-*>^FbHeMo2rLXQG5S0wf?Fs2LL z1R7(&(51lPKz`jEb2_1kz|p{wK-7YAwRrK>tPY_lnOdb^)pXr;7I| zenasl;3)8~2U1@xkoqrEdLa-^TWGH0EJgN%>7N6nJeR&09%&Z;79f&3e5qoAVo(tv z{Lcf~pSAUe^^CNwFApot`#}em@P)t+Y@i5j>nHO~8SAj;F^Rt4NB8>ZulndSee^3n z`duH*$ITo67k#vU-%ipF4A=4iy0iTm(yO+6UQ(EW7;vAAZ#PJi9J;rj-4U{r15uzG zn&h9btKi*M;ZfwK+_ip?qUQ+3Nxs^JwEd|mxzdv|KW={ty{2io>}eTxUT*H$Q{k64 z#fqEtet!Pqe{;Qmliozzud?)i+OK*F^?=Um>q0Az=k{awtE?Wo-v2HhIOdVFRUBpVDY6s`OG|3VyTkFTqmSN8tBm z*>743ECnKbzx945kpGfy;Ky-%z0P=R9j%Byig2c9aTTt%vLy_69*f`Jlh&RB{+-GE z>x9qqG*X6nUA@QB`r`A}jvHrE0%p}y4_Z41CU>vRfu;qnraD}0U4@@;=Op}!ric0d z=sh*;{08T+op*RVyW)UwA{8GL5BXcP;)TfM7tq5HKbjBFQ>MNZRe2;Tpw;Wj4WV}_ z!BKyHPc7v+xpeR6PJQoLJ?{HiqhR}8i2t`#j`4`I?^EBo9o`Jw^3V@}xUZpGfw;$^ zCWB)yR(_HCpRWE#D+YncBwnQk?Ys?Xy7Bnud&Z`h>oy===hjK}AcfV9L@P4NO+P`UN2u(|A+CP39;(xRKTRh5S z+_qPi{!iP#d(jD@v-(=lQQ*57H@Ssi9onnI+KIM$Z2R}LrqhN`YOLUyuKnxMbakkL z{m{pDq#oUCwmWc1D$})pOIZQo4jBk+K_{$8~?rustX;l|6A-7wS;M%;&!nj z>pWV87Aq28l3g6HgjrN6H)}2$hAo_?4TbIN`e3`FNlg+sJMek#XlCKd5$Ddu2y1O7 zI#09@J2ve6GJNoNv)f0VSvcdZwH)((h^N!E%RxKft1u(8ci| zGd3}ZYwR!N?ZVg4Hy}Z`{2mD_ao#OFy|SgG;zLXcJe$FNVSQT{fnnliy4j01mO){{ zq1budwT0To(ib_1ZD4Nk{qi;pb;WAxy5pQD^LB-A8a5_(*in(bZLm7s^j4%D7Lnr* zNK&2mi{oAu%{Rzf55_AtV8q;l0d}p^mAC7rg`+oya~F- zW<(zDs6Pmn4K4CB&Jy#|o@>wBp@J``E`26vOO? zs;oDXhUDSF#LYC8%bSjc5pPy-kA)OT1s{*ZL(uy7<`NiJHP&!Z`=t^%O{h9@=aOr_ zgh!#v>m2g}nd{$21lHOGi@S#jXkFV9$h_rcUT#v0+cZA@2J8Yww(ZZ}P;|4o%GyxW zzG3Yx84D*@~a5=5b5fmme7@o>|#) z0}SH+BXWe^(Sr%a$D*p2IDe%~=FK!6-J5UvCTBt4MyPc~#XB|*=4z!{40)6GaEm9u zPC1DeTltdi3<8V4r^sMZz3CX425C-p7tlxr<3*;ODx8#oxfY|Kb%$<|OWdX#|9(hH zS`1+qJ8c0ZJ?uOU+d43(<2TZc}H!iS%r}7C+%m z)-p-CDD0UICAjU`2!3!kE)F1Z?ZaTuq%DhzD-PkA{x>>8NOuN2wz3myGVZkHQ$l9q zDn5YN^F}O(Vt2b@ta!J8iX72K4s-AXN$2;`il?JPo3am8Qq zUfL;U#-SWG(ceJ(#uWFwXM&%aD)@aic&mNd?n zo`}qNmW|yaGOj}`$> zFIB_L@IySuFUdo5FUfxUA#U>#FK6#WDbIty9f?=ai=MhGpCfpd^|2cb8Ee1i5yDf` z`Y3CYP35{1;_amK_JnV`d~6_`JMMVR@0%ED@KL?J6l~->LMglu57-wXYt!-MwLd@+ zq#YKUP2#p4e73K9eD}6PCr^~`8iXH(0F<<|a?O+o*IqimeHaEdyNctt%dMFFXPE>= zpMgGe!cC3llz|8_R-0O&Wi`19si>9o7wH3$Q%E!gU^P?KOG+V zyTXw#jeKSNfoR{8CHU~cc61lU@5N1LY2($!yv=GKb(+&1e}Io?-T~*} zxijzJw!V`OzTiCiAs#j)kk8zZXPxf61L)L*C%+fYdoMil$#C8?VM)P(@!jEr&xgm; zv-SOL0556#d=g1cdHk>;KX^GC*)$}x)h}p=fr-?8v;0Rlv@kB9|&L3O#>;Qq4=-eFI-Y$W;7$(Mr*cH_%W2 zlgj@i+WJ)C(~X;3)b52%=Ro7;29;wz#MyDP&+azI*)jaj(S1tHmpCh*V&3{52;6xH zcLGlHi8ocUT@vbj3jbeMIp$ZKmGhv0A7Zm;t;3h<0jh5eW3lLZ<`K zyAQFGhB@T(Xm=Z`L$@og15$o9@EG{d1j2>hlaYNObQ_R*uLDwUkf337!rr(1F84ZK*q!UJERW)k(3bkv(W2B z{4l;JfK2~p^}k)|>y?fGSzbpf{sHxY<*^$Gud)9P#L!aKA(-xR&=^OCxXi};axVf? z?j|79c{PybvIxj@;hOwV3lKquFI6m13@QSIZ_g>)=WaFvaURAxyI;sY52q;KK8IyW zyU(4`Yl8sL}JM>u5xA|Zn* zuJF9VGJc9!zlv7hRCIyS?aaz%1-I)sy zwTOAG~Q$lg&1{o?R?FiqXk!9Z zY%7BJhdTlPdy^`Vc)LIQPd1ku7zWPLY^M27eRO4IF`V!=*M?qLw0L2HwpZtW+FVf| zRn|{{9>(8qo=^_6+F;OM7+x55$v}bXX;H846U{u_=F{A>6A58lrJHx`Qhk#(ROF1FEk>%eEQ%(BuaWA$>A4VY2V4OgHbi5&5Iz_a*7Fga6sQBlE{Led*~2 zsV*D;^`Jjb9vZj}xT$z|x$}^`=09F_d`HOHEWpQdG7ssT$1r+Q%#6&HXqS3qh`cV( zs)}ot)p?Q@Se@U(US^mhs%x|NQ`vb#3b0RtlZdNO;-)WJ1^=zp_z8EG;J0TY?g4Gr zW=G?(NkIvQan3CVz!Ps(gxB_(TzVLh)@J2qKwrRcqsdVh@{35yLOG6A#;9ua3r zCkzU!{~r};_!MST9ZTaxCekC!_Q(hfZnyQE*j|`1V%wo3A~YH+^8$C^CAoEZB9bLr zFsq7b&R88Vc4fHlnQ-ezM`V7vmC?2z`EO+N^A)4EM22kZ`xBzVcZ;w)<@G}6eTk=M ztB8#*f>uvCnfzR2W09Gj9=?@fl@*h7Ju-9EJ~}fwR2cH%&J{LP&!a|n51JE?Zob^Y zoz3{|#qiCapx!f5_+e(mBZse&*^y~+d{r0b8!rJLlRMpoGS6vB7gHotcx&+;pEt#) zt*e>Vzb{Kp&3Z`Pq?9wLsfg#j&lXR(o3w$sY}+ zbYgDbzPRit>tV9zBC@jrWujV21u!yCpqmRXI+ zu+T~+*%u(#uZ3S%uOx>o7RS^3nBY{`&pnTQ5nk4tkDRg=PpL|Ilrq#eJbwf61XhJE zW@u{+AtPc%kdKPl5f_`*&(2T@>G#sp}nmup(;Sn5C7 z=3HW@Nf;$f6orhxB(2P3=ccK$bNG&A>h~_Gp~#RF#3_RX`02ftQ8^OmHMllV z{g2QYmJdthW05LWM#cYs@DI=5+MzO6NCzXc*%_Wec$T!SW-3SzfJAuv1=X7RQt!ww zEP}Q1zAVt#d^32#@Ey6HP$r;TiXnt{iuqh*R_c>d!=kxCTJZ*n4(Iyj5f z7e^f!st)AHa`Rs-gl`!}AA?{B!cq(2EfDC#95_!aA^~tzq@+l}=BWg5ch=)vowZX& zD9P|kh|w3;(vBH$vSEt$lTT-0A8r&mq}sYV0(MWC##ns0f0M z^p*34L6hQnmrihv)lc4UhiR7jaCU>ui*X>>X0MdU2CGC=NCOX}?ru9|?0UNwD~E~W zZ6{>FUL?H|L12lzntH3xoO>%|Dy1(xrWdwoUV{DZp4;x zXEPqKd5d9y#VOvJos>nh91*ADx-xBdRGgtWSI(p~KV%_%%GlR|VD&qD1tBB|Z52^0 zFIcuyd}OYs${?1tDLEU`R9<3{+VdbO{H}`f12iZT?yw z)Qxs6NepCVK<+9u@3IgsNJOxt)e9gXUKBCdBF3Y`^H(Ta^P>doND1|$0%fD;8vYZ- z*rHEs$qGXqdG|)%+2B2#4p#0UO3z_#SESkH69tK z4(T8Xt4honEArkn!t=6|lQspGNj#Njh`<}CNYFd9G$NM5hueAY-pS&X!Q3mfGTB>` z0x#3G_dRyRTcRh=O5!dj4EyWV4WJiCmS)!y0TZ^B(#9e)i2k28Iy%j;2y&MMsWl(($N-Qb#AoG4bqWKR{-ftZj_R zE|Pc@rDNi$xACO)oA1z=SE_Q8801lQ$w_NSXHG;(vk)Iud|cvX8l`}eqS<}sDht1k zTSj_hE+Ot59W+yobXsgo^%~E9Wn&7>Rh``6Ws0}F)rGjymxl`X6A4G40VfCE4liY&LHTN?MQ=fzza#Tk zQa8|(Nt{*i!eOESmda4cQrrrHirf*gNCzu3(hTM3cxx_10k^KIqPCNe8)tnaSZkJK zB$z-~E?`Mv(X^L%@9kF;*W$-e(yEZDNGnYg;tEki?kBdoTt#ww9JnyT^ zzSL71Db3`t$2i6A@5GNAN_~=fNy(Gand>Lld5Zorl@IUY%OnITQTeuuUN>NOD;0&} zHVPvlrblD4b8!Gq1(#@UP=XUVp;}#n2pfu5Yh?}+M4KfO@{1U=S(4@*XUW7G{8IX? z$oLgDKgH7{1sH$a&s!}@F(jQLlwe4=Q2Mj#`b5|!$fIRATg~*wZ|sqa8DK6=4(CY_ zixs5m<&xiwCGK`?j%N@TdV7_`7#X`FUOWY=c&<$^F%OnR^!Xc^KG~v0BIpSYRYG6* zWh)y5BVFWCc9l#g7ko@=9CgA=OQ*PMlDWXl-k%E09CV>g?2yNw%M(%8NGCdJ+y##fi{Brjn1? zU-UX`ymwIji1ZLDdO15gwkotVfs;Zt4o>SpuM?Z7mUJynrFAMnr^9=zf1=7u9i`N6 zA>P(wshBiaeUi2IEaiQ{vACRQ(<3nBd9vkc?xf4V`AY_4ilX90IrgN5a!%V4(Oz>_ z;;*u|#;!w|5#>bTMSQ`(feXbr%dtqfO?O)4akEv?q z=`etOb4K!R-fj8RhYUMQ2!qZBgKWt{%qL%bAO?QD0w6R_JBEh%@SYl}ZjDsE>*;v@ zP2T~M_Y6g`=n;9ZE{_#HdsYEaHRgHWzA!8z>tmI1#}yy2goy=7mYzgEXfu(w8hf9z z)#YFOqPsj9GjewM%+aGuGG)iQZ(b&<6FlxyTe9<9=BCM{NsJVBg3<2wUg$CYY&R)$ zyzu8~{}c-z6aFIYFM8+OI=3a~a>Udg$NvaJK{4l0PHlzHk_}PJ{~X7EFAE7`-brmc z{6=8Tv73+NI2+j{rxZS6n#IQ}dJD|5X2*rVP@s9@}Ra-SEI zM&svy(D%Tb4&LeC18*sKE$>Uw38cI-K|wcx$0@uYs0vGH8z-}>YEDgU2;XwjAW zR^~hKds7=Fdo6sa{}bVhjwIt#3t#x*MEEjD*uBrf7yd}Vcb&77auz*%chReg(fo2u zxd@)<*_)y9gm09w^QrY2N_iXs?+K0fh(?Q-v+JIo;P+?DaVA3@F~U#E*mPa^m$6$; z8hsf+*3^C7wEbK7kyUNq%fJhOPXjp(;JXXRN~>>{wvPi6r|*1VF7Rw1O~LmgActgp z9klxq9L0T~h97FU4)|l-p9W?EYk?fO@ZAhN7kD+W2UpSI5jN;+o%C7ss+C4WUg!Rrl_^dxc7H&- zF91sT8-cKpZ>07g43zYoq1}aPh2Gy`R>9i>6#MUiLjPyLBH&FxskeOKQ0%7y1Hi-G zm5vSH-+;rh{}0d){3Vb!>Z{Q1V}SQ=&C4JdSf0+jq;4jcgN3zYiw0tW# zh#js`^t)9N34a|YYFMOUriS9lU&lQbe#d$ZS7=zJ;Y1CKG|bcxpu$ff(sWX^+iSt! zNMiUeqLUP}MB9Vf{s3;>h?qK2=0$C{=Oc5q-JX9mN_g|M3}ZEdG+mHDH#Ypc|iltbKPx$HU6 zcls|Ney9CXm;Im6cluYm>_=Vng-@LLH@oa}T;acV*?YLsC-*3v^iFsA%f_(Nzr+>a z{Vw|dbkP&NN6zr?xWb?73ZLl;?|0#McG0`mm0sC@bjEk8%Ra(Ie~QaK!IhrjF8U%b zob=OO;g7oPvj5=3mn|EoUGBm~{@sA}j&h-4;Wk1(tU+c2(aM^$FvOnmum%HqSD?NB8q^I?M2-=$BuUK)(0wu53 zB@w6lv;^m&W5!wUyMbaWtC}+HHcOM$Po%6HV2|kq&DQn9EwVx6M9iMFniF=STtrr$3FU`fHMMEl9{3RDC{8Znq zFUR3=`?SzhTSYC}Vnvhb?X%`gIri>LoMv1FE$C&l=FBNCe(n;S>f>!Cs5n~kNSr?RW5iX2dj(crM5+@37?T6N+bQ~|j zwdp>yayq=E5p_)EGkH4BnGPW;nH4-tl|jm^0h*bE6jJfOInrdN$Z0ePr^`b1(Wg zF}7XC=kiZCsm%Ai=XEpvs2H2xVFu`GjCssGukY3eWz%6!q|5`77>Cixjk}!aURIS( zSCtMS_mSx`J@Rgy&SL_}6Wz3)_V^e%o(bN!drww}4?E)x0V?@4WUKhqrjlH|$L~y^H7ED7$vF z@w_Z08{xxU=G|d#G0+%ve$}O(kSOVsd%spvW1uvPYD!vPcyPfLU>$)C966bx zu;e$k2;X-SeQ#90Sn97Ug>CN2XnmI!#qY;b3xFYztUJM zY`_8Td!MJxk;0mny!SrMXP|JC_r6=iEqu7M_g;A`q1gNzry{uYP+GQ+s|>%!iGB7p zPuV$CJKony5c92oxsT(3t4fmg6_;%!`EjY+F`yL{s`qa zUl@JHdW?RDhSZKpZz*os>^C?1lU}Vv1ILb*&BMH_=cOkZ;Y00=mhDE?YX-_O*wH6V z?dKJ79PF;;cwc_n-A6nV|STj zHyD4Fxd6&p0{xne@Kn4BE{C=1axl zhA)Ci8@Y)$BAVTCM0BtRJuYMVbjkV}SaNBXtk+Xt8CuInaZ7z^VMFEXfuw%~3g4ED z%zNO<=-_leC$If|%eQh)x@HG=gI014XxD-v0q^P!hWU!oveD?bjZ%%KUF=V7<|d>+ ztAQfTrAWv0=mJ*nOUx}qgx-wkM@(Ya>A=i$80xacGy3x*;Yl_DYakfsHy@*izR@`X~AtSdF@8 z_|?K>4=i8cxG&<`9+wWg3~X%{0NdKP6?ZY0Q(0~8`zqby_^;)^t$pd+g()!yfo=Kg zbvKWD-&bq}muJI)w%Gmg>{oOHiT?}1(mjXfUC2u4N>;z1~{RpyJ{NDxg=iA1Q z`0wHe6yGMG*ni3oU9azAApNRO?&k?SK)xjWZlK`FnJ~et)%Ke;^lO-#dRKpsAGg z3!|X0hMgv>+hf=j8nQ_x=~;=!45o9)H1Eqrmo6cfMc$?MC@|_Go`t26g*m~NGloZqsQ#dWAPBK1_a4V9we$n8O9 zFwfp#J4)JwShr%{hQ<=K&RMGYLgGXw7@5Ewr8h&voG-BOyvU%-RYYH|xh+mp62O_= z+v5&u(7a|Y_V|0=iKiXaFh3{?!oMwv+@4b$UXbDmU8<6;M!Wk6T5N7A4$m)OkTbq1 zRNU&f6+g~Da_rMSe;xB#88(Ndpw>YVkij$K`y?&e4^Qyc+(#)G;f1}EDrc8O z1NG_-1h>c!$W^&gvso9H_g?AW8PL|pdIjJ-zwqp~677$oV-$(b9aLP#<%;&!_&dhk z;I3yg3bO{9_Y!=KimUD}KCMFjt4xdh=3cUypjv_mxRxCn!9AxsOZ#H@aL3SXT-vUD zMb1&DtKh+9#nBN-!NLabT~9-j=vHy2#SxvboKg3m{5H!=M)7=;&kgDh$g%lckScfg zn=d3?WJ*m@sS#R|T@KZyc+rr!%QP~xG%`FV5E+@vHIF(bX&jhtjN_dHUhB1-+Y2PZ zu}vIzHPpK|&Fj^n6`$hkVU2FF)R?(nwATqzcc^*|rVg3h0LyM~(!dEl# zQ9e~DD~8y$37HHHmkd%rpdnU$vGt)}Zj{WlqEQRUD@6>n)1vVpqe z?n>)Hd?jroV`1>&ba6qdU**DLFrCB?siJ#@WJ%dRi4UPxAgc(umKf8#>MuO(t&yf# z+_Fuutnw<{=&g~-k#r|_aMhU=5>{2L+w`$%k{~w7Zh9&Dv{8IeV&+;p zOf6BH;h5A??~}cDy+=u|(oba6?ch_*lKqLkmS}qoUzO0j^p1 z1XyNCuAFY=+n-I5&&^RJc-PCpQrKxit z0CC{R*Yzq3)&n2Xtd;PfX%t6>DdzGE?|qcmJSwH_ltiv7if2&NWT#~#4$O^agJD_? zCHA94B6e>YEThM33^p9TLg|gDYzp@MQSeYxFsm_`3cq(WMYFHDE^G6lrtqGm)TUU6 zI%yWJJ}4oZqf`dJk=A96kfL|Bd?qa^?e=`bd<|Y%$A~momb@sK)Y!7e2+!}`(OV-g zo-R7tDV=#~O&Ws&+G1|=(=@!6ZQ-M7-n-wB!9=vfXcg4fW)*3_s6a*#-kJvG-Sw?B zn+t`-)-2@**JjqBAE3}spcugi=DwW)+_ueaWD&j?bhtrJ z;o(FCkz__)Oc1W+hqPrjkFzi<5;0|TY}BQYujc+BXioSXSMseTRQzI(a6)&BO#ehO z%M_WO@#4w*QVl7o@Nd0~rRNSr$_Eu|Ur@597Fds|Av~qqX35iX>x27#$IsYFsAd(&%Rvdn@h_^%x zZ})&FRzN}J#0CWI)>#>Z#E?W1OC-^Ca)m)Lg7Lh}0+~v=#_*J0ib8;7O6*;-nOvFn z<vEoHIgfHV zudNwU>%w+*2RAf$6M262R@y^Br+pBTFUEc1AE4n+*!fTwhbau#jlp!k?gPRzqI- z#AFw2Bd%665Vl+MAU{T(NNk0Y_oh?f}nD z)uj3urayb2EO`{0CD|mhl&Nq@c8)mb#uvrNS*Cqi)!OKl9eyd5V0dAHr?Qk~ykKO3 zUY$^yP0x}7x)}@=4@+!lpsTOUCPm5d6iFehF;t3fu`wwld)HnSU_2rgbtaex6}9j; z9niD(P5a7gA@>)!%F3V=-x{m8n@ZYZIlAb=hg(#{kwi>cm@(>Rf~kl)BEDSqo)?@N zt(^$dg}+Lk^HGO71V7`GId8?ziw5h%Uk$oFJ-CLTRdVMi=zVPSoORLQx4bPeXU*kF zxQCu5X{RSf_^^sl)cMCGmBMBq{9kLN3H{%kfA{XO+8!$NsMC_1B9nu*98fIxsH2k} z&eh7fIQ0PGtnx{-J@SNxXRe$-n_W?1g{r8SP%&wGXnOff&lIH=-ZNv;T+gJ+&@APD zOZm@kDxb-*(2#|%?XxQyx3!-x=iSBpl>fH&)8}aa0l>EQ%OBTFC~803^4}+2 z0H*FZ;a5sS#;iP!zYNyI$e6z^`ZNo2glF< z#~M%SSsD90fb0IT&<*iF;UkN#)Vne^zT;ei%;g@?cvAlfcx{|Z*b2hZk1e{w4+;3L za|x2}BmA#ww(x~Nl(Ey%2EI%v3t|?&@XLwtuLoz9zIQJ5cOv}7;E(%(TGm9Fy*=!W|dKPlKpCvmRO2 zS*h`b50$aYQP-!$KOMYgjVJu5j0^8S*kq<_>D3;{SqEP;3@Y}wf#+g>LEHZXWQ*H( z4^Z%CYxjvjwsd{hYI_N=FZRQ6?&%^#K@GRh;fP;XK0xt)S0cHYyzye?z zFbnt^TND=pe-0G)i9n+8m1=h%kUw8CKjQxdtMCH<4!i>RHc;Zw#z+e@z?jDeKK7U`{&3(3I8cj z>^rnwRFaDQIc{=1xk4qYWoqE0BPUyT06grOq&&9qRDEB2a22&cMmWh z_%TEz+ykRA%l;!3O;8x(NKv4`<2>cVUJMaPE`M_yF;j6J4%Ic)pF9Axrqz@B5 z--qz!=#1}8p!jbCivMFkM4fLD5aRF|uJZYr%l;1+z2Cd+n_YGp zLptO8tBc;9F8dCb{l8px*;sVat8m3vC1 zIn(!h7rn5{-@|3e@}H?|t!1-j|E%?RZQPlQywh&PV;Z;hWMXaG<#4R?o7sN(9Jy7? zbxa@b-7k|dj%F!M2THkH6tvKXH zY1!lnp*g(bH(kB#XJ<%dh8v_@9F+(Egf4{S(xu8jmrG~O6>ryObZt_%&Wuq*N@bPNZPOK|;#a%L!8_RZN{Q4HrmD+;a6*$9;!>9?-6L z$7_L7e-n(+Bl0GU96Ba2X2R$(*A$N!ZjrV4NZ)21HG1@Sz602{zm)-f|J4YL`c4uf zTM?u%)l-7UJ%2tZGjmYxfXvLy0lEBS=H=#IECwL;8L!wKdZD~j)cM3c4(^e=R!}+_dS2UM`5?#C*4iL zn1{4={u~Zwc~s+1n2`7m;U4YI+(#Md&z(jmH|}(z^Wrjo5mTgoDIVwv$y_q1X(f<6 z(Rpzh&x)CA0nbEDPg^C=GGvV#=2qW%pR|Z{NIA)PZaGlCNAd48l0f-qTzt~Tv5#el zZdOr!x>u;!TT`;Hn{OROe*R|MFyzdxwIR+HkJ`RRt)4yo>8eXH>$K4t86 zFBkq+JSj+D1CaXm{SnB#$S0>@Q-HStnFsl<2f`D*gjZlepN#V`KIYQm?qe=0^CWd| zsRJ+*JFH7k3(7n~?j70b7d~~~TPm{f__fS@fM$K=z%ojLeX`5m*JYpSvI{LIy(?Yz zyIpoik712{ibp1lc0`wmYaAgx3Zo{5SvShyfB>#O+4AI9l$Tf-6{zT#t~){1J?YMj zz}8o5uUj6=T#lJ}Xme6OfDp?n`FLLifWjL7%h&H_}ftv{JsSjc=u zjBS@jD*y0=GT&Fe|3v~}YaxdXn{{PWD+!?!;7iSLdrY_c(>T^Zl9wAvvh_1Y**W0FjYK-7tQe zzodMF(W{b3L(P{#Z(s{os5Y7F`hCrFB@$z_qFv#E`9eb!C^~4&P&7seji;btzS{4d z@W!KL`P<44hWSP8T%+&{bx1C^t#D%`+#M2k*@3Egc`a+bHL@YbHJPfQ`BzasK#t}8 z2*3Hqc>r_wp{AsDLGvMb03cZQHAjqgQ#IUFYQ0)TwRo#VJsB^4ajLxP%4pA=VA-3L zjl5J~J|ub$xSQRoSl?S)B5_);WRUyF{Hg_~nEUcxx~Het$nBXHY-tFhDq=r(ovNgC zA`eNzLg`PY_;dExwUC9KdyUNG>_cxvhqVNk<-G|hVFu%#wBEr&j(hzyX?}9`OQFxI zzDnY1O0Bo%eZu%7Do2#mQE&Aj9C!yqavJrgw_KoV+23z(;cjpBo8lMkDg!A;xm(O5 zy-)Kh3t@XA!dsL|=i{GD^fi?41b!X7CyAp(?*f(5S`)T?ZLSWszM-TZH|RyN z$&H9b8>H3vb8n;|KbAJ5)NP>h6&GiLzEr6G`F6j$Qn2 zzz;hGEG?5m^i}a-LvgTP5-Hpr>K*L2Tb>_FdM8-Moe#TFdaKU_ix@e}v?MXsWT6+G zzXZ~XL0UxctdZp(RN;P1M{GJahamo;Qjs!ZA<)BvH_U;NyjpqZJ0wF`z>59xjZsWmU!v8eVf7s!ysTrJqdv%R}` z15Pu-!rm&YUy=lQPPtjuqXmOgc%UmJMc@GBtcQM?3plv%ZQPH?eUiS?vLlKCE9>nG z4#Jne!v~>UuhY&eG-a8#O^uN)IPA5`+rJ>L|{d6bYMq?ZdR_0 zrzLcj710XVd?g10OU=D;Qg=d%9L8o-C$I7Cs1pOLQP;??!nP_Nr6A2MFb)i$3kG+) z)`MjS<)vRjFh6-#M3D+aB%hj_+#P*4!NON7_jB2(+mk6dugAq_$6(neW23)g z%UbISkmT+c?nw}1$ug4Hmg!+RQrn3}yL%=giP}1+G6#1t=@vL9{GHlA9|6!-_~Xr| zvZ2TRlBZUm3$W7>pHErwDZLYZzUOE>NvAUQJgN=7{4y(jl%s!Qbh@eYW8W)~dG|dU zPtvc9jpsTCav@_AdT3u3khawa4k^i-lyS2pu{&!+p~a_ozkbwr_!e^{_jyv z67DG=b2i@s%kG;AlzqPIfP#00<=$%`kg>T>?y5_=MSrrS`*jVU*YHWJoX&g{DCw5- zfI{aspu{&ENS$9^1eEfTeG7`pcY*dl9VqxRxEB2P`4K4lDFW^N&yV0V$-k__i~AxC zi#3#+7UJGaAxi$Gl}rAA1r++#K=GH(RPtW}l=3YCO8WSg@v?6s5K^Uy`oi4lRQE}1>xcu*P*=M`#Z@KJKU3P1J?^g#Oi`hY#P(Ih`G;G?; zNz>zQEKkd_vAqe>swLE^yF@f;at_kHDqwF49IHQ5FMM0e>9Tmxy0C7gYwYYPYN0?c zKg%}69LKVNPL;Jzkg!_rjO(V#NwOl|#uB!BnOg5J=+mU4n$TK*W`+9STGzIylnx)3 zM;)B(y2XIpLRqZFSb9+^Ce2D%xcGP1rN`06#MtZ7wjJ5=FRe@8P2(41)2l)_oFNV; zxo%<8(c9dfKO;1pMn@BOI?+1A3LT(GhiHVJWL@;_Yp(>7Ct7FNqp{~|dMV^n7o~DR zMoW{6n*n@f@UPl*8+s09`ik85n|m zlcj*oQ-kL1q7Ng_8n-e~wr@!U-zFbX#=kZH#ta&L|8WPNmv2p^-a55If)_b8Pa zC}n8kO}yx!RB&0zUUQD^E$b7P%WH57)3?4wxIb zF)tT)MbqAPD`epwZ_OW}gK|1l1&*&re;RpI_oU4EO>2hPQE+ohjpu)-aGBzBzyE7> z#ov)5@4f$xH|2nqfgdv?l!A{h)LYNEGZ%;iwi<;UD^D$s+?HbU#QpqwT_E1-->BeS ze+#e*L)dZ6RDO)QpYW>?W2KZ=I1%M`g)+oOk@C6{tnrChR;dOZSPaxfu}OT09_@8L zzSjQ1vl3dxXq9h*t`0dn>xr#*jhvM5s)6Z~wp}(^HI1 zCq6E9jW_#4L&hwhX?%%Knd6L42wN?sB_D?1IE!uS3uk z``bXV%Q+nx*Zlz~Ne0Kwd&K=r+Dp2r8X#3?rp(|}f@H2r#0SOB}26T?EYP8)h&l@Z}el2qqfbel6 za>8jBwsG3!+i4fM@3b2(`wK4nt1f$?%dR{3?>MFrKUv}0*02XKts|5+#v{k=chduTM$c29PkVbc+Q6LSZRz-ee(3FbuO4C%+kRHCBvPKi zx?lRHz!T6BhFT>szS)EtGZYK`PP`bXu?$+rNKMXI+FV_R1=V|*rjdEj z@XqQaKO@r*dKVVUPZIk-b-_(?!N6nP3~p`*WeU+t@~lFo4L zh;nY%foKS&x`>UK_okrA8Kdym6HryQwenKZ*`soxQFTRf<%LGo!ld*{^h*UuEzROE zh?2tL?MNJ%P>D;2ShH+w1jF;|J>KdMu*W&6m4kk2vlH8ZW_@wlR`#U4cl{P*QdyLk zN?Eip>V!9&*mhIaDCHU7WugZ-a8<3DbbvEK&3(IR@7Ok>*#*-gV=p+^rcr0 z!M*9Acb4LUk?n5uh8l15zSeMgOADjE>gyN_le-EcbtK&?M;T`}t4*(H*J~0Hti06; z!r8DjRBFD`vPW9G->iQYRMAUdTr{A2Vf;fk~NQ zDsvO%+17kP+{NtSzb*gaFrJv5?c4U3doW@OETE}b7WqBVeBp37?_eMfsHY zzXSB*{yQK;EZ=_tWga9=nk4y#0|hS^DB`ApedPY&o@VsTG*~vze1-w4Ud7u421phccNP zHz>Do!sud7QgcZFg$5iZ=Pjs{pU(}*AHb<*F?!vY$LMEKrndQa=W{Zm6=TomY&&iC zUz*QNrICrT=}m+X?NJ(El>pl?|N74JZZ;kE)Rb95qjVbDW`a4ANeA-LGnJoZK*Go8b2br4p!~av z!uI}7m@p7mkF10@e8Dp*>X8+B{LmT^%!G)3WJM&^UZEMg?bt_Fm~uH@R~dVP*Hs2N zURMd$wbzDu%*LT9DAQS=`Y%4VVku*lhgK>mdvlAtvoeh@CQ*KL)ZKRq-;9@eY9*B~ zo?2nDXjV3I#)28dH8{!iK_sfmry4?w60j1pd==A-6#TWHig$G=B`N%6yOwS0H587C9D3EP+-e>Ozkds( z)VvnsIVoTxe6;<%Nvz!(f0gQG_Q>E#j+J>=5AGhF(83EQ0du`^XeY0(1k5)AW^*9x z6|8}*4+5!MjMUvc?{Y{Ue(@(A4IgUXvYj_o{HdF=4i)pFjro>gwv-nBv+_?y^rv4E z+>n=4c0yA!BL_` zwa=frE$bbB)}ipn6+GY~F|)|O%1GJ~;GGsUDFyPjaq`IDZ>OIu`tx@BQxE#{wh*6T z#m!+Pf9k7QRK!|8N>BY+>%$++Fvs%%%*{Li^H0A7|IFWSyFYKcJP`Alirk;|Pe}+CDFkJL#VdyU9#Q*jw$To&svvyfOm8XyYR|Q zap955-GQVp1BJ4)v1;DE!RX)=&Z=ZlipjZNPWYo?P)&yt2t{aJgAL$4XBo74uuSP)x-uaO?b zsJqe*t(19-#B!h*3T2dyVl_Q$LBlz1ac>OJU6m0gZZ`1M);M0=#XL^?Ys>#cZo|KES-q^$=KWk+ATf5&)=Rq!_Nhh03N zz&V~0T~f{g)xSHQI!xt>vBy8QojU)Q##0~bO0en4{EYd`Nsp&&I`;aw@UPS8WXGLO zG@cSB6*E!&l3(b-=N@^#ULYocp6E(JseZ3WoDdQPEPLyAIPdl@r>b;{?U)@}J;ow^;uQS5+-+J$T7_!0eI(f{_eD$6y zTdKZ#uJY$RFc`fyi4L;g`h|OAgGo|SJV{lOB$FSb?s9%r2A-2e2(5M$m7_diND&ZR z-uEk8Up2Vn*2+|^#XYtgYEKi;%3u{=Ya;v@b=UD5TUGVdn#%KK8Oi9!HvIb73!qoy z<3PVhp-bnZ9vQr`E#DxH>IDZWfJH4UV5o&X!!1Q2pJk~$t8SnWIDb*gBlv~RT-5R? zu(DI#AaOp$D&(}fe6e+?yBKiHqLq>sW%$I6+%IeE9-O#~ky30+zuPZ$yOzF4&@9mU zd!qiXO7Cmi@x=Q(*S)xGNJ<=^XnaYJGIoEb^^pml^hxqgg&3VKYAJDjX+Gg8wO$i6 zlywxbp9iGL`eYr2HsyOCDDI1Z;yz8gkJRp$0co1PA|OFKW@-qC+oiv=%Spy2&i+r@ zzu4{kv$mB`h8*&El^&q#dWtln11OdN5|AwzogoICK<)ZY^^{teH=59!WOez25V^rTI^A5pi&IM1ct^0)+YrRG*#wZzAxGG8fwiL6L@-H>bLMs`2gzcJUv{WI||joetE{m0kQ zt;$Ut2ggNs7hs+DxT=4P zw-vD@^&xB=e+0G7gP>s>5JQ^ED2KbAyF)6wUgLTynYCFUojKckcvtAsDi^`nfRI38cgtfAI+ zdu!gN&uN}TXTnW6JAa}O*<1Y|(!)ebc@Za&X_IAkOA)S+ZTK;6a^9NX2(7*Zb2peA z^;pMFgIinX{5l=YMitAM@Cs`=FoAVJ%Z5~%{i*Q2P!+j>la90!n^$U+K=dw=7bjK5-s0ml>aSMo)%NsaJQP2Ni^?2zxq(Z;oj z>5H>va1sI{#YVr`yZOzZcUCgbNd0YM`8qXZo`(QSm__*UZ z=lZ_V;~9xh8GD@K!e2~(K+=4&Pla^y-E8#_zVm>HblVE;J~ zRNrh3Wxt9p#WxBlC-yD5p=wewBtpfs+4=fD(Tu5K=f<@C=}HoQ9vW+x7a1 zg~zXD-UbMcZK8ZQ?UD|sU8YA)yQITu|AosQblK&=tP}swF8h}*`wK4n|G4Z@UQT*P zUH0uRyER-?1IxIgD$!je*EZrq&MBz6x~*Kfq0C1iYbQ3v&}Jpbwnv;wf>**dkMi3U z`jlz6DJXswp-FSl`~VTLvB}j2!Ev*1wZdr~QRvfBcJyO|LAs zbRB7WaZN@-ynLpmljx>03szK4rc4+g=jjU(YB?rv(8YxpUvlv!1CKL4&dW!`kHVbT zxuU#$iaj)LYh0W{oAG4wkCAb4t+RrZYwORrTxES77=KGF|{bwiAt74); zJ8yGbocNw>qJD-^nvOlFoSUWEp+&rn-xICZjFN_enW%ozfxup*q-&X-K5Gc8ePtd{ zK9#etvg4_YTi?(sO>d>8TAY!Ov<(@4w1u_gF1v*WX{{m`iYa?glUqh_Gg#; z%Deh#WO?dgpQRUhSGVNj3h9PVGV+%%QIsB*o9Y4YWoUHi zxzV)y*Pjf9DNrz?4^$kSIhYijOi0lRAtmW=U*04!pMF}OyH6(kbQOLN;n{zQKJd{; zZ_ho+6o?K8qv4+^M#Bdgfz*Q}qVK=~{%$9eh>#-jNeTl;nCs&VXk5DW<>&UFTuR0h zRu#lnNyAN3YI~nd8s^#s5t&gJNZl(*_{A@8|KQ}3@UUpd7#aXjX<)|heBF)y}aF0GY@0xxWkm~Wc-PE^PIJ%cYE8XbIz(eMe0 z|CqeLHZ;2Yyu7|cKlHACEkYEko$ky}TVlS^@CkX}k&mOKfM!Vy(kx4ts;qyIF(kV5 z?Co!@J>%pOuuQTZNEHq^Z}PCa8c&dQo!drf&2|wqO3c4P2Ao{X%ZEhM&X#&3=l)dY za^E1U&fBm!?S9ETHLEi}xHa=Q>deCelKJ^78k!Z`kc94okp?GM?~iN#-$m~G)}D4+ zpA)d0&V7^Q-e$cfiFz(#;N+s-H7uIeU6{V%J#zm#SiHMzpQU{W?h)3@B`|J& z9sAnW@PnP1g7r@#b#|DM}-=%RIJ(2y0m?UBX0xBezS ztmLc!vbqxqEH;M? zj0BdN!wMpSW#+KKJe13NRV1+79LAe`OnZw3J0xQj7<0644 z%wgAaXx>Njtg?l*6n?Kc;M%n@_V1@n$~8-T@4e`I)y;cfIsCZrkO zEs-AnymdyTG&%1Tf8Ogfv6pz+-Wm+OZA6wY7oHuO-+M7Hy6%Mm>y7;7)vBhNGx%IA zg2o>?HL@_-@NV{QPkO_2 zfyiQwpH^+|w(%ER_%ZMoFBkkk(zZa}t47{eJQtec&)Y}3)BJfa#k=}j(z{k- zHS&8eH8)#*0*PGeN^jC`?`lN(E+evbsf9jxvDsh^^^E+rixv7_vbVNcB2D_nPUBLY z#-5HeE^STYQk6!3(rf;_O@X{ONMm~5VUpO>pZAJRV!TMdXA%REYL&!5esVmCf&6Ma ziF~Rg`jaR`s~o8kRqnkVY1B0)7Gp)+b{vlU(j;iebKj_NNwJLky54y4otjZqzL$2&1 zRoVU@bY%yv$}agqSN15Yvd8?8D|?)(?CXEfl|4~a_V_7&wz}vEcG9UDx>Ggs)0Wy( zBqM*Z)g8v@->gnGiN3JOyZWs_WUcD$1NnoOn(M6IGmuXgX^U~IJM<@gTB~)v1{+qv^J$GkcKY+a@#h`jDln;> zD`_1&kHK3WYhzz~S8sGAa&3HliKMMnbUu+(szH~ek}CY0Bigm*c0G0`G7DdZcO*f^ zKQPB(@9M1%c3Nw0isLV~@MXM2u?qfXf8Gum^kvj`RAax|VM(>OwX40hJ#Ad-Aft9z zvZ{;PVI68`cB~!INrrs5rl_G`?Xc9^1)Xbe=;AjU{ARuKNmC!`wZppB&g@n@!u$P) zx7Ww%; z^$)nR|5proimb|J@c6^6>;hHU48ecEmHoeBGLvIfHq*i%Ze?ex%Fg~lSGKiGF~0W? zdVHI1jc*2P)}zL^$^ZZO*16%n@)5IN^`e>%yLN2+QPa-#r;Hip z@7cS1*E643vABPBR)=%0zq<6yqM<|EXQZcO^zPB^tWj4R-H+_sI=FG&=FSt#hW5?L zOv&*V`I9pw0|p{jvz8<)zd5XQuW4@Pkd~&7L!4Kvg*0e%XVOGn!s$=w5y2T^$=6UP_%f zu_$xYsG{^0kA?g0{b0)lX-QqXKJ(OF7cYO{-m^-Ej`TkB^xc}&(aqjG3 z!Q+qKb#8i(c0HbW?7oY3z4BtOiIa@1`t|GEKeMWOV3A=Yjk;z?k9oJ2UcPuyv}=kd zC8hT%-m{n8Z_4o%Pe%9D(~>>O$)iROJ>~O*n=aY&UPIQA{V!i0nltR;{(Zd{W%uoL z-l|nqxwYX)m$Y`>x~+UHa>0s6@9Z;u@`wwUJQzNu#3=1Lby9J^d9zCfrzEAOrnKwa zdF|8pUGeD$+b`O8aDD!Uh8H_jhwtvxGd;QIkptU)JY}Lk`>h?@&g$Q%+l9fQS9Qtg z(fRb`b{#urW+i1!ExYQ1DU*kt>uJ}n-RJvX9JJ(tJA2gLc~9pwPg>flr^EU4=8X7p zQ&WBV+&NcX>K{71)6xg-`q78)y?9P`pN{8NRaJSOcqHn3Yv=Z}S3I&PD>v7ZJ21b~ zB~Lth?}Y;gbiBA{_YS=>`?Tv*kegEQ`MwPUAAjub^ZZ7jLrGCdTGgUONqgUWsb6(f zb@I{&?>=>4UWY-A>$h~-x^7#y!MSOJXWwe%rFT#2zG3~QPPL27)X=SgL5B}+xor22 z&8HvU*I2N0Np;V0R~MgFb?2S!Hq>uOK5}sT6+xpowIDCGa7x+m^XlvCJzLjr_wL%c z>D0PawFPPIz23!l-rKEc$dGoKecSh4a{r?4(3c8x{6mIyeCElTK{2f&N{sR zrNR&2-+1n-r|uk(o0pWg_x;W1PoGrkyMFY@vp?LkA$#Ax`rNGzFL$l2s!i$HqvMYX z26Vo3+^As2uBHt=Cr%#HCnqblUvm3SopSTr=kMLqn3Hizmot)+I&_$OYjNR{B~|HD zCtrDfPM^-_FMHsg)2X5YQ1+7D{;>Ar6x~)><}FxY6~$Kvn?FGlnMhX0P$e5^>VAr7 zI_xu*W;hPkuP4fhM3qa{o+0WSvbzEiu!m}Y9FfvQkuRZ2(_y`2nrd%~axH8!5S9$W zx}TDbTB>9^&3`2#qbJq6fo%1Jbv~y`>R}x}O=S-vY8PTcs%J1&x|rs^4DpjgRg@qu zKBt-nBW@n2_zu&I(_qiHsEXYbcMhyR1y-I*6U(Nl^{2}BArfZ87DW`>E}Cu;tW%E| znGG9FLHs>IGpwbVeh#ZY0n1m>lzSug8WAb|VS|;h&OpRi6QU^vQT8cpy%%wLJuJEu zahUojp$vDm|2E6nh49Tg?&DxnT$h}zJN?; z0uh}d#A*iO?g-7b2+^D_T@c;FT39}rCU%%^!b6kU2g~QsysoFqTS?O#L$_8$*H?|W z?1`wUrE6G*_+5pV`w(#uq`AyRL@lMeJ3`mj8YPx}`bO}oky94RoKBODWMw~s4C~c&B z8AaESLRU~t7q}a-TSC`YMK`<{F}oF!Re*R3(zQK9Q9MEsETU=cpsDU8E2GFpci4Xg zS;>N(ucnxW!p`XwK@V8zYKmhY&0rmDP)761L?jf!qM5>i6#X8W{`;^+Jx%!(n&Trx z8>TAT!$uWk>uH+6DKwiMG@19Q_SqC?70o)I=D&jM4S;1|p*bI*x@W_Rdnlg!X=3eZ zN~2-JQHY(nBmg?P#J;BSJr*Ssg^Y zG*IPX*g2i%aDb*W5mCN_=GX^OJCx?#0}UoQz0mhsfDa(|iE2b0^K$ zgXn)6Hl2fbXhLMpK{O0S3_L)ycn=orgD9**BtC+8-HAAO1QyPP4f7Fmk0RCw(4@P! z>yz1st|b={zK?F;F+{il8x|pM79l3zgN3VTS`X6H^I+Nau;n_~KNpd9D_uo*x|;Pg z$wi2STM-WjX)-$yr~44COAu>U(-iNdo2W;89z>iNG><&Qb{QhPo-S-X;&Lb5*D6F? zd%B7{5%WV3S$*k>?x(Anh{)VYb6J51&!sEaPjfG#t63*q8{JDD-C-8uqzF;^6y3@I zx~x@*=my08qlmVr=yHb8C0B5%o_ZDj!5VT|@V^AMyP@BIPN%ggivu`-s3vh?~)f zhCPU~eRLrWbemOllRXf-0}wHz=*F7piYLM4y!MfYYMlDrR zLi4XhWOSlhH~c^By$yU+)tx^)LjnYd%-CWZE9j)1YOGLmC2CM?XCy=J;0%cc1y^mt zJ66b~5PVr*5{%T`j#0Yp)4EUXF5S9Yw|2X>Yj^F|vKb%*0)Ye}fI$*OEf6FDR9;Q~ z-|so+&RZr!fZ=%__w(H3&bjB_bI$K~e&_r9opaAUFUZyqKxZ9_WDTI>fvSXHqSnJq z*jPL$(ifoaH84LJD2k~t7wg$jgSlA&@oj_}Uj}$?MNw>kxJLl$lL6%^sQrgR)odv8 z5KIDLaVNyK4yx-0bn0M6CILo;Fn`ZO4TDhA20*;Q z6txwqSPwP)A&O`UAh8^#Dg@JN0h}A4s#L2%>FJhqz)gp$xKYeQ0p(3Fy|pki2F#Hg zkbMF0Sr0Yw!jv|_WV=!9ReZ)N{f>7@|sN-^|hz%-U2=g!;a9j(MyBX%I z7N+GzsQnLMw(o-3^}!T919e{xvp)%{lm>I;hne31Q~3g5|2$wg9Ofev=4K>Rw#EZ-%KD4E5fGYQP0m_dtb;U=jwyjANX5S{h7P z0if?6f)_AU2L&*>^)R*1LM0ku0*AqLPKH?>26MLs>gs}N9)v2W4%I^~AU_x?)`)7t z3YDp2qZjHm6;+-A)troKZ4#=!6)>0SFf|6Mh9Jyu70g^c%z+Md@xnwshw5%Ks=kph zInTg!T2Wm+50x4Lbu5B<7oy56fT})&YV$HwnS)Vn6v5nEpzf2Q_DxVt9o52}s9rX~ ztWJd~Yedzv5vIQhrqhDzZ3WDM2j(vmRnHHg;_LXL3^VUTH82v@lMCi;7))g6B{LZiLzOq3WwfHT)vX>=u}; z5in0vP_;crK6$LbS3dOlZ82UMoMbktR_vDH$&Wb9`C15%KVObO@qnP4`BSAH3Fln%V{%krhZza!ke4dBECU?4iX7*fAET?FF6BB@dS(ik z-?GrWrhBgWF*S(KnIXI2mcm8+@cbBDii3Re6#1982K>wUF`gA0D=zZ|F})B=UmWCb zjE6VEhmyMzP58E@KfQG#$Y`7|Nww-V%Pp+8Dha9u5*^2mFUbFnFTh2X$Kh)}^K}Ot zp+_VfJ}o^EnxN>?WX*=Kw*`O4P@R1 zt@B+E;?|p?pyDv~aQ^I6>R}al;$iAxmGH?mil~c_y*LJ{hqPln%=BiW(C~lWdgx#r z91ihov7AI9l9z=@OqHidRy{uFJT;dJXu4U5ZRU-S&Q}l1Rs2R}9{BsPG9 zdRP#=2fJj7d0@rv?;Kz(Ox(s2%2Dx^yrUs5o}NqpRw?~6%PU_0lwORZeF6VreY+O^ zXnkWn6-}Ji(f;_F$yAK_v-@h#oYy0IHnB$5E6>klWcjPkHyhXy#utyRVm?mC#Fqz@%2dH|J(Hl*F584>c#(Gk6gH3 zV4)DR9?`LtNy3Um$(yi^IZWL5rypiLVwP9DelR`~y;SuGP~5j3iMtuDN7TYvqBRv> zXW-Vv>qFk8Mb_JXc;1{jvmVxN$;}=2SpF>~x8y}Nz!I%HkQF6GwqIY0k!Y;PKScWT zRUFfA)+c6C18skq@tIx*lCD8Qq6HCGpY(apP;AlmvMzbujE6+x?KSNx!P-L8)>#6Coa_3?qXd|C^9xSX-ar)|QW_YuH}TcdC*9T7gpy-aLcq_>20 zE#%YQ(Oc?ttr<^7>n&?^_{RtG^p>@{)~UDD`?Qa|+D5Oo%^M1h^=h47ZJjr?<_52} z3)|LsLu;?_4{PyjA#Z5iNdI`7zqT^NZ+z&_-s3Z-zUb+eB6_H9v{&2Y6$I`8 zxp7|Y9dI%V`#buFb%2vJzqZR~Oy1)+w)nFTB9T}8+CJ|IY+*9>egCjMptBupfQRk= z?6<+gM8Ad|55K$FKdcqR)BV~JP|O3xbzbd|S6hoDuk>myAeG_O_JGt7ueJfX`-0!t z;m>}@+fwH}@wQ)UL_R)NIStPE*smcQ^UwN+HG#x*zgCY-9rkC3{Mu14k}0xRv`%Kv z31aDB^ewN}=+)i^!QozQHwfCi+F=lMdbK(b#I`^?AT~(gsxZaTq&RGkq~`QzH%UsP z{KFKbJb!k#6bMi<11JgX(L-y#1q2l6q54~af=oRW8icYQr9aoBhw84=Lu;?+nrhjH z^b_I7_J3SxDI8yG;&&R>adY3}zSliNudSS`FF(8iVf7O;UcvcWoO^Jd z#p%R3(TA}pd|X@MoGYz!KLL@}%lh(lOv_#3{;vB$_X7{!e|&93ZRYn&pXqvyqk;x# zCgsDJTA@#9Tyno2I+*6GEqvJVwv0*xh~VT-~^L zk>J}GgeQ3KB0V^@qVugNw!(UC@~0ck{c(W|GO@%NG~-L@l0mO=(rbJy7Ioj!nPEQn zR)3bUcDV0^D&7?H8US7(cl8>3=Z&x6Nbkz$PzYMA>( zIXeG)wrgC--^Cqfz3@zxOy`Hvt+MdXVyOyBKkHs`wOrjFChu4M5P^8qNXLTvRlGzu zr*IKpy1a>dMwN8alsibd(y>$xR~IUNl}WEkg){lckm*+4CF<01tW+JdW-kpaneCWW zHrKKA`^)Cd``dYr`GF-4S=Wwr$XCWfw||;r_T!F;v&zet1YCjgd1Xtv2gZ^G-?HGS zPM7VBZSo~$+)Hp#KaJr&={UyOmH(^oa9EE?#OE$mv0VW_+wr9`9j@sm z{4UTF$3uaNS=c3en(iK7qPSN+nJv6&$-GWxUi)vi_tOs1#*bHTw0NIgI7=J1cy>%9 zrk45kb+?jBr`#D(@Jjol2 z!Q>H_13vWNWsIuZ{(IjYwr3bkH#(->14HdVa{BW3EimW0@vPHMZ>@N*(`#RLl9=%m zXBHf7n=d#dI5lHJi>;_-#YSU<&o&ix{8W2zYLNfJYwvf>x6NM5$ND;4ZJ+P4m3eu!hF5pu zD&JDi$4{)o@9Yh@8{ng!6QDPHEA9o(@aH&wmUIusZ~JHXY5N#Ivo|ty<9u7Cs|ule zx^b_pcmsZyv|Kgc)^!3`i0!d;hVWD7#qMNFPF&59pEAtbgGi^F95nIyog46|vz>`N z!9->^<8EL*19gR&In6YWF}h^tEH2x~-0T*H-U4Ryl_YTx_sV8&X2=LLrx8XmvpLMn z5r)|&m^naZb|6sMotw$bPA2jM6Pdk>$=Bnj=dWRAdhj41@*+sXl9%hEc z68MDCB{P&%8=0HEkD-y@%9*c|nKs-jb8TnHh-5xP7{$!?Ff)4@W`|&A7n%70fy(aO zPG-88$P-Ltb{&&ni=UpIVP;q?0b)ckLrJxfx!Ht5U=x@rts^r`p-kV!kP&9iB8*}N zbQNY=8D_g+2I3-W$;>V?^H(PF1QWSn08_#Wz$1)QI;P=DKBnI&NWJUs*iCidvv&f6Y z?}1oeqVNkPR)R^4-vi`D;+KhBFn;Z1M&kEyEHhE~Jsf5xF@6t|8Hryea>4j@kQr%! z`5UE7QTT@I6W+Z-3 z#!4m%zbC`YB*yPaG9&TJL@pG+GmFWL1TalxR53*X_-vS&!~i}^X1dTQ(5sL}*%M6Z zoG5nNvh;5wV0$7{TuQbGEB8K8UjttTF3_Gpjlc?$H3CDx%X%Bl30r_zL6ZXE(VAGYfK0&yF&xE%La)g~EN(mBB@ZV+bsv(|MN0~8y{^(+^1v!8!1jXVVIRG$oZC+$ zFwGF!4d8)IBvBTy?v*G`@IdHB@t{C!@(>Hx&JV}~aM}eB1d2PDM%>_gNk|Ymx-~r_c9^!F|U}!9uJj9yW&U*5|7F*yc3up^qb~9l? z@Dtq9i^&e*NolxkT>=B5Ra-}LFq#6b%r>5qN8nhHBXAXQ$O&OT6~IMG;kIooAc+9r zQDhaMEG1=vQc)HqFPgB;Ozj{jo0%1SAs$MICY*4Mp?n0Cw=tz~LpBbEc9LdGA6f@2 zmXkEGs7Q+f7Y)`9l70_i2u+n~wrK%cMY=PV^oJlVa1m~{#-UH-ny(j7HbAh7qzOSq zT9mVBo_3Qo01wcHNmIXpRYm%6Ea|-y)Cbl%yjlt0U=zD9cSb%F0PPg0g0kPKYvB%28HD(h-z(kaQxHp=44Gvy~(r zfmt_6CxlsP%3-#Oq{A??lX60om6LKxQT941M^Gk6Cq!8lNvG775z$d7b1>HlQMQt# zQ)?9qrW#uHD5M>=Col=xJNIHVDDw0l!vTl-24a(R$bD;7St+QM* zAS@bc{VsIo@jjR^@rI|3sCe7hc0{XHzC5s<0(KY%Ei_xDg}!b?6D>nD&Jclb8{w84 z-Y*a$>C1zQj0ohR5zvK>JhsNbh>1Qt-NJPFQiGvk z5v?n;VFw@~#D|Cw>4A)E%25dFWe_LgEzcce$GJvxc0QSjAJmW44KIQBW1{6p9mu=>l{r zOI@VHQjL;{XyKdfJ~Z+WBJoRw0xVS|3a}mEM0Je&pTqI!Y$cZql0fNf3zVD0220@!kJashztNC99S0Md#cF;nhw~E)K7v`z#8uuY;2d0IY+YT%?69jRkBSIJp48=8}^OwXkf-x_75$9O@P=ElqIrlS6#a}YlI#}I!o5!y)z2vU*d$KTFzph3uie)Z}v)(PASTW=qQxs zGS}wYQ4Gpfk#tH?)%1kFj zSu-i86lH>R1ZCwUoe*UmB%M-}5z$d7t0L)yDC;Kal%gz`q$4O>Nz#2$2C69q7{MF` zuvMgLzF=LrpAJy2T1g<$*-!a3KaM;8#&_pFFRuRNmKN} z;Bib}i}-kJ3#9!CBQY(vk3gWVI-kv7fBRkO=+fDM%ck4!%0O*5pVvEXzbg~po1rWf~H{yKMfuBmWWoKjD!0aQ)c>oRSMf{$=7^4}=w{pZs`PNEY)?Eb= z;kVNsH8$0DO#xB`1{}u$i7R=v(9X+Qc3zh|IEHUOZ#+b?=3Cl$`>|XxnibwoKKeeq z7}Ltf`_X#xIg3%e9GQtr>TnO+R0U3O8DN!%OJPr%ZMSU>S#0?mc6h{<2bZu~`Q#@{ zue9ZF~24 zG3vkw5}qPLE0no>uZ6!K-h+TWxSG#Fy7MujDUOaTy)Tu& zt=n)PZ4+CMFgQIlMyL*Ga^TP&*;>cbzz;nWw);`W5d_7UN)8(N94_Nvo$okG1-|m$Z8onWN`Y3;lna)BQML0_wyc~F$|w!evRh9&f^sijhnqFFy~=M z#gbWNOEFDovE#hw3VrkqF=u29=e45sFlHoN9OF2r1d~F>aLz900M#KJ53cV)zeCNH zVT&XBIfF&d^+)x_bR!2R?vx1TO9b;JxH0cB?6odkIDsV zf`fq|>_2%$1|0W^I!;2X_=5Yy8h9PH6--L3s3h8NauOrvAYz8T&dHh8@7H;aZMp$F z;tuAzgO8xZ=rBe(jia`v0&Q0)G&uX@6gKpav?Igo?Pp*CC>oV+SMqiJx>)gS+GmVo4 zMuihm_SqV>ZUimJK2TWu^3^izChX1-sz=zh;J|Kl8`GWG4rw=8I3U7y)V_5agIc#@ z$Dq) zSo_;=O8Sv}f&OUbYq}Fr4%(U`+4`ys8p#$oa2O}S03z(81XQ*r*SO&R_W2Nb z$7OB=u*53TvTgxy*7e|Flw{2g8B7PpL>ye@5w@&JMNXQeI<~9<16hJEXvINzu$?H; zfUA7yHCDB!XleU42vk;$hWDQE#wOL6`F*&yW!1|5*y_t zkR?|KtXrju3Z_sV)Fy{Aj~%I zj;8IE!6UgQOL;ISUh#sO|(99khTj(vbwO@Jq;MSmCvwgtu!ml$`NR$*d)Acs;AtC00NsZY!FlS858gCf*GKE7mX;=XrrXE zPfFNl5bTVqoe?qDwXDfLZtD9U2y3hWSdMW9*Lm6968o8iyohyN#9E7j%h%z z6-XOv92Zi9VN^G!~?F}9b8(cY|A(B%m8cH=R z8S(?oA}XO-o%Gs;Xn2(aO_4FBXoOHBvJvefflZ{apR$zFfia`X$e5;d)N-+C>N;2`biDQ?b&|rC6-7U?hZM<(i6x>gt?|g?bCT=19fLizrs+xfBZu zB@_!47!@nuR4n_s6iYShggRm4J5|YyqGIvgI;KS-S_t9B9cmd=9KzgE&d|kIzRoC7 zZ3+}Wn1Kok-k^i5WzuEk3fo9k5;0yswl~WNadnK@#1nN4wl5R8h9RZG$OutYE33V5`;K)CYB5#EjHRN897HNsS?@u! zsLjwUQO9J3>lofM~ONHtvl7~ z%!f+I;NfgbrbY{`&5{)hiq33Ep>6luaWY0E-;yVX)K+K@8&aspM9xQ{f$++;A{S8^ zCreNnlr`H>W6d@cYOt5TBEm-HSTd9&axB_Ux#9Lx2Cy!f3FlVw0&MRRwFTO9s_m3X zc+0?%ypoSxWR*2Uei+hd%Jm27JZ4ffnxFy9An^18I^R}SWJhn| zm{sUSz>RA~Cn7G&aJPKpRk(Tt9fSOMVhcQ-%d1ZQ97i`~0DX%1j?p>Pc1;yxTlC&W zU+rWUKbm-L9)2GW)QPVG(Vq{@E`Ri`a{_PVvj-mFn?>Vc#6Y)aYVpZS%2xD)hszzM9SOZN3<7=_5@na>2161E z=w=oJ*aI7FE4s0One302D5?a~o-VRSBXOnI*l#Xrreh_oI@wi)mA8(f!^#_aZ;0Ot zK;7&DwA?}b&rEj*^$d5gIMdkcM&FgORoj^@#{NIzLXUZ1Y8^l7S^47?pZ)H3@cKT1 zTFlGNw?J_DmR4_d$VFZ;jW^%IVgHz(fu9z9-Ai}k>NFnUlb@ZJ$XO+tExc^$92xoI z$n~~Dn+73^9Y-|w{Np<`I_5VS4QXSY_;R^V+Z3uBY~?(IrMuFz+qF$7feveZXv0v1 z>sq62HIAgAZp8Dh4%ndj!MF{gxz^L!>zUkkZI|^>sEMHi>ojt?^mHav>wRNqn$O9P z&`X-H(dt8M23wCZ^NrbE8o%~0*><(HCDb?+mz^D2gRv#;0cR%fA033>uJ<%f?h0)Zx!I)cG}fn~qGW0ZMa~hwa+K5hS@vEgSFdd{vmR*DIFDuNNoM9FqYFaF zf`3WNH9`tjF)O(_yFn8Zf}5|FLO^B?YVAfVvOb!jkBQ72K#q}_$sLr!scg<_={ls< z%lzBQj~&s3C^N9Kt!tgO1qc}B#QjBEr54z_Le^v14UD@60zqDP zTDe$4R|v|WAdrsRfej+#xPpG>vh_Sb5zMFtbG{rgj7>Y^BX; z1(Ob8VHSmqc5sS&Z(F;yon+=q)LMvWBlre0&0yRKV67+55YZazXCfOkW?09NmwY@(Yc<4xB@`4*p0<-R1~czjcY)zdGPCxG5;Em01PjUsAzZsC z`$g-FF2cdqb%dg&Xj-J*@7XM|d;qW*rNm2a>aC|lJ}NVvLegNCsQF}&cEs39$)KEQ zva~K`*$)Wt3e;>q0tSt};8UPj7$=ZE24)@E@JYNbYBCyt1uT;$L@bI6tf91aKv5x} zqe9kBnkva_V2c5nBLvFJE=&?wv@Q8`5KR(!YPlM@$jM$WEOqBmFmCJwQcw&K(T*c1 z2pA)Q?y)pW;M~}P46xqOTB&~E<_yH1n+=}?@*>C{7=fh{vL}~Q9nd?lxgK>6*gP#t zA&)jlW-NfJM}$C0I+(Z5PzD&{HHcP*Y;L<61(Tn>S7fvEG%{y&0Yaj}Enm+PLR}+Z zKasT#v(XCeWR0T1rU=-tOB?N^fsp`T)PR=95pWq2g(Auq`UobsqAmfGb)s}c)gtp1 zsAB<9mZ;%XIf2RUL99v0Wb@T1t_&6ze4Ta38jDM+arxFGFg_?3Q9_xjgjhJLR78Q$ zY(dRg91{79Hn2FrWh3(<+6Zf)r{J<#G!(ivin1A{$_5Vt8(Bc)a+FgQ6PSeQVp+)o zFF>aeN{dWxB3!Q5Lz<{;x6Z{~pu+E7e-iKKLUq{SDymM5fxJD zX%X_uqr7CZU*e0kABnUG9`Y%LhyVoPiK?2jo)m@SPP4ev%G2Fxcw0#;&U72_@)f>3 z-8k+x^bBLG+bGV|cDnHvpWSotjpMz&e4j8y9GAEdY(%E#FV2W0BSMUb@BAef5n4oE z5lLN$kSHL^i87<0AU6nz;_(NU?(zp8?(hfa9PkDo?)C=nKk2RgTJ(El}F1OvL7nh89)9g-k)$h(#4HLik5(7=oiJBwqq9Cr8^cc($M;G*TKax z?sEKKY|0p{uPj`SRidB!E^sVTDdO?C5hwi}+%O9VE@PhGtNgBPKDAiBk25;_x8aW- z%k*9NnMU{!W0~YArn$2!W|ah%%$>I+$$+M%OXp!>7mN35mHF;E;G z#ABfADVNFM7Bf9Ae9W;*@#CLLN@g!zs>0GKDJj6{qR5R7b!qPBL9fXRuj8|Hu6^># z83~6&{K|cOh{+uMsI-&>WPo$+lgBYxJap+;-b8GsXC4@@wa~n#+h@F&jhZ3%q~QJ) zxrofMTr1%gz>Oa7MgGi_Oh(HA-T@ulZ^%6Z>-$fihQV8Hs|}>MF+iYUfpn73O<<#xZeMH`;y1hvIT|DMI0?@N^E++H_+VcKRy4-~9kq zqc4fx@QZl3d_=kuF+A!p%Qb$V7TOW+w^yw8F*5NK-lyfR>LJgEcgeI^XdfVxabCC( z-8e3;4!n)afeSf}y9zE2kx4Kyg!}PvAIlEj#li5=_Ja#&M>9)4qy4;&_B-PIVl8#8 z#9Q_dMn`fG=rEcrS z)Twk-bz(UHMoeB9K#i3RM>v8FyvDLg=AGW2}wFv@B!NsDj`V5BOK~Ry=W6ZThXgVck<| zpS*pvUVYMKd*)Y&>NDmw`)cQmcK^i%pa1&LyeHcA;Id|HQ6lWge^b4pjEx@jG*785 z$j3|}PqY8}BMp-tKmdzvMxEPsIo|NauS5LW@tf}S1wlZtG^8RcDj}cItyg!{d9CZb z*RS`l__X4>0%Pd|diC1TGLUKLI&H9Xrl-KV^no`8N7d^xXx|=`7LIZfoXV}+OtC>^ z#&K9yU+p8KgOeZ7Yag?&FBmeq3fa$J@>QSp#A-HJ^y}BhW%X0x*LuCR>EBwNFM{;w zMuWH;oHQzUSC-KjI+Rs2Z8}|h&9r-J9=^Bct{FxsbTF&tu9;XPkD|*hF-9O_8-`_8@mnVOnrfx_F9P;=+!L!8Nmo;MvgN zqzvQ$9P8IS3yjyAx_b8f_e+mVzsWQU zmK>B}qWzqCp9lAa#G!oB!{1xgog%oitZ99o|3Fy-(YQ+x|6KLl%CoYfGx-SDb5mmX zgLZ-!AI=(l`{JSa#n-Em_8$zIbQ#QoI2f)1XF!D`-{LUCO|BNTC&Rsr^QS#BJ;i^Y z^j<;!@PEYzNC)<0Tnk*7o^db2Wj*`2@;{{fc050oivmAygzbW@Tv2zY~!P9Dw+Ma^Ogiu(COxc59J?7{V(4S67Ktkn>Xijuh5%BJ&*T-Te#)5 zcJs}*$QJ}LKjNmFZ;9V=MP~hC=Se(#n@orE8hDs~v;H?_HqiRtjL-Bkklrh|TP!SF zfUJs+dGu*Fs|Qp&+JVD}N9_A1VlQ&I(e+_E{5;7U-$6_saXH}QeD__cLdxd8D|+q! z(3@l?Ybv&1$+-@LE6{gYSfxkpzf!b{_h!`bx1@u=*YO8)Sn>O)i@%kn_~L#urQdmF zsW!&wK$)QeCoh z2(K^%VaYLk|E*kD1urJ2qj!GQ+91 z2T$-FfW(iHCw@fiI*XqkQajCy&-l}e)XEm}gL;`;{7wi z0jxvz7i3@IzH;)4+cjl0bmqN z0s%mmO0#K?70a$WgApp`> z0$7CvdOm_T4gqx{Yo-9!nE88$5d{L6xi&5mAq0SKS}6c@rA7oG5WvrCVtsFk0Di6+ z2m*-8hyV^V%bXxB1n?1k{GwU5kb@n{+~RkN_??Dt^RWUD4B~SprCqz5a~}QtiO#ysB-(Q6QIBuoPEq8Fe*|2Fg6hZ2n4)O`d9%#A%Iq-uK@ZYfRc*2;swwXMga9wA^<9@1V9tT)kxw6;EE9dKQ0OcP=loa2%R==h#^z}Mnwjo zory&Nm+%jW>P6H7v?6^4&=&y^X_NrOC?%LG5P>AP8AlJlmX|H$7@;z^_?;qtr;Uym zfLN&&su_&{sH_q|HxdxFQJe~timaIkklKfgP=loa8W6D!iYf&FqappxQ&42RN0PW}Jxi!E7EOU$BDdKlpPP_n;w+4us&vR>l zm}u@<>c*Aav~&ut9)={vi}Qe64CrZCSoJ4<_~^VWx`)Anq5kD7@pirt?-6`&6I+(;Ov8nEw?n@{ zz=ej9=qW(EM~WqY*8=1z+*-jHx8VrL2He}1t4BvK3wI2NO{_4Y4v#T@m|X?J11Up1 zXZe$$dGfjLt$?&wA^TjKjPHVC4>loG@xCa8T2Aqege1a3?NE|aF9AxZc+*<4Jw~XQ zLDPj!8txYrB~;v@gt59IK~~q`v|o|lng{I3+!T$YBtamQeiCRTN;WQ zNc|YzIHZ!cP#J+#AYLMs?^yCJ?OZ)IVWcMOsS$8YjMM}@HS%Q{ApMX?1>^(e%|vQ( z|43ccN2n=8>PhM#IQU=H`vat+?0d>f`$y{QeS}K1^sT5a$flYNNhQ>9j}nR+NW~5{ z@kn*VAhp3nDlOu`dX&OQeV^soPmfYJlS_rgE|d7Ucy}kwDMF^8S%p z$5bwrO%*fz*wXml)JtUx;6=QrysCeoHusTf3V~|2Z<;=&zYz^k2jUD-cgA<0XJ*Zx|o?0@;ZcBa9wI*8X* z{o_@XU5pKYlv8C``)#b+Db&wzV>OpReZ60xS}r9{`)#X!p8Na&R2P9-*FRA0eT14q zp!VBV%_UGjziriG0=2ncpt>A=g!=zPTlMqYHwmPc5~%=RfA9afeT14qr1slZEhbVw zziriWBDK4Jq`LYDHHAp+x2^hl?n4Dqs~}XMu|J>|_mOD|f!c3dwVXgjNq>IZs=Zh# z^PZU<+MXhZ;u8LOi zY74Gr)bXknSLkiS6_<|ase_j@^znfjzKx9FpqER2^lW1+7rmk{jR^-z>FwcDCL;Hx z5Y&2(VRTxhAlLI5FU2UfN->J9lB3uv#VEE)F^a9SvK0M_wBpX*2_wEj_S{}Vy z#j;)J-mN0Me$o7M>{}rQ_Qh{qp@f`dykGx2S7c)t9=1u26eKVP%Qf|KOqqqx zB%u~b0g3YqN+m;`5p2B84<_6}!z9HVwb}AFe-K3oiLXN9Sjj&s-BnC?n@ATwn@I~V zl!12MQEc08v+Yes#Qg{w;P8~&Z11Ea>=A}hnLygFBgj_XI>Cf6!bLLvIvDI>w_?xR zw)`gU!T}jcBIwAz&DNgITio@c2|ec&6F;hg(k?-%jg**T6s0-@!9D?s5`iN`R7Xm( zK#W;E^V9-L-034s zX)h_g8=-{pEs~OWQF}*F+D%GvCDQ>)vSg5&Cd@J`TQhEyS&UyMFDK4xzm%w|JkqE+|ErZR-T1>hlbt^*xb^$V&aG$a{+R6i=e9o{Om^PC=H3a( z&ZCzfy)W7M$}`{oyJY8%?~Z;g+4<6MhVDvsTJNv^Lb7x93eB19T>Dh!J;~0B2Ujmi zcJ};!Z&kAM*F*OFJlR=s^yi^uXXv4yzn|>dOa`M`5&31 zCnP(k{ASnGWM@(1%l9Wcj|aZFFxh$JnHMXPoq;+3{8+Mc)MFc-O?GAsYIr``dAfJ? z%4BEfqT*MQohN>EYIU;n*kj*cpX`iZS18`kwgKyZ*72;zSy!_@W}VA=m31fUN7jL? z=UA7qzG9ukdWUrj>krlutOsc8Y0qi1X_skxXJ}( z%(+d?PH%5uF(eF;9P|4e>E5W^*D%8qvo6LoUMt;w=*go$SGj793$Y&@=DChRaIr>` z1@U>5;N+S~mbm@k%;#6B=Z*=uz`^wgIOp0tIPW~lYq4PdGcuiMhq$|VACLRpEiNuz zWC@hWK5?sk8M`@~w%QG3I2qc}{(mK()I?Gfjm zp@-f}=So9*?Wmt}@on9B(upNJDxA8GZ3eJRMuBr?aA>e3Jy?_xoRL`&EVLH{i?Dde zjI4rS$>`1@=z=W3?e8cS(t|o9oQ< zXj`%=8qirMMaSpN&{jzX`=>F-Lp(-vbdF9ISUWt{4v-n;v37$Dme{NJgbT@Sw7X>? zxuxjr9uz{hC?&UbJ8sGx)r%a7QbGU^Z#NAoFd8E{(oUmDeVxj6S6}9x0Idnc2s`Opmb11k`O^R+G8}iqd>RQBe77R zi5!h~YkLbM7O=S-Zc0K;%#r{do=dqI8=^CG62*f;VhI(95^^L{qq$B;3iZgDT#uY7 z)1#c^dX$qwJsO)#kH)4S)1$nU=}~@iJ<3m+9!*THM-wkzk2*8V z?}G)wMc8I5_@ooLI}DpO0xIS)dfcI{gFM;??$F^h+#KrBPPjuyhU4z#9_=uE1!;4! zy-k|a2~`w^Vm*Rgq8g1XW`IM8MR153&TaI>GFTuPl>EU%{&M)kiVy~dbs-qMBo!g~ zL;XJyvQYdT8=wTol0#90lEYSVc!_FI@@R()u}O~N@#uhLm`e^>@d_DYC(5Rgm!RS$ zcW601iROaI-atW^M+QZeO%VzdUZN@+JZ6DKY%iqr` zgfJpxZ(?#&n1aS()l+Hc5ZV6;zt^JA0}VpG_7PXw(6o~Dw4#hO^mU}6uOkh89ck$6 zNGlnw-(KM?HijA{=|)k8f#(LE8+dNuxluCO_ROb8dX>3@Jt_1^!fpK2wg=x(YuVe~+JSS7FdZ05cqKvo&HQ#iHiO`xzo# zjdQ*oKV=RM_iM-1BN!PJa93e)3I@#OTmH)E7#+5WL(S?&uB3M(yc~h&UWHJY+@5d2 z4w5PW^%+CV_LxEH5CqfK@+~LAK@byT|8BE=mc9}X+c{dz4Bden>oF8wfwA?Ypl(IjwFtXEIxLn|y3KY*gauEVkDCcQ5O^H|W1CCGD7e7%|J!V5MPP6j z;n{`2^$7e)bm0D2EWKgiK3Wx=O0YHJ1GE`uBsSL4xWjF|SKBcD-!Fsmw2jjZ0l{;W=Blu65 zYOok^z0I~W7lV8)B|ZX`lR{`2cg^4)*v%iH6{uO1-+*LF_l+>btqBx1KjJ zLpd-Hk_;>s&oS8-BfV{bWiCF%(96J6rMPtvCnkjSKmjV*#>T+kO1x`hpEQo=oe&n1iOddbWl_h3;5uGPYZ}1 zg9St`upYwq9T4Sria~BGms@NdYCVlEQ_APG+bX&wSh(mNLotN0z>f{u9+m*3;PViR z>jO_VzD!YqpNv3BjAB6mIt(X~fNv7`_`r}#79t+xU0^+k&p%*7mJdIrsC%EdozBnOBv9YMN@`33-j@3}2|J@r!s%3-gt5dzzb3&IjfQBG zph`lS1Sp;|38*s^8al!@;WW{}&yX=TVSkiOI7OR)O6L4*0>8lZu?eRy(kA3xfK8wp zrOGDcC$kCd(Kg{sN^Qc#BsQTm8U@idL6v~A39vq4n~+=emufWp@Fu9x?LvP z60Xw8XrwxqH9797T0E)(?^Ab&l{8Xi%j#Oy)E-euOID*QXm_M;jwqq5lEb{JidgbW zjg#6Yd1bvTQ;pIuS=+|ev$Bq5qJmXbwK7putD;6#m8q;pnP#L8MKvg^PFZWJ8dKJm zicfy16qTe*vN2pYlFvxJD62%=Lpu>4?zcy3!akK?80_J?Pt<#=%9FL7WHYL!i&S#q z3Qp8*VJ=mTCb=YXC2A#?Y|+Xjqgt~jL}Ti!)M1phPs%aM8YT4@9eXJ-8fEuWhEZ7Y zlw*{ZImH;Aczzg_9hydW+ECG@dEp(Je>^&n4o#Tv@z~@8uf$_UDYqIMw9vl-&**Z9 zBgRac`@Dt6Kss=rV;-xxp$iV~14DluH>Sja%b4f0mA~%Gd@6@ZMvsA^` z7q>4=NlEg3;fhr{RU$QuWdjCDs$1et-+ked??+js^5s(L(TPqkUPR~IXHG?SsE9h! z2aYYfuq~w62S;uV8K!owedfBApleim3o~STW&#)&y3o9)+h<>$xcw*{h`>Fj?AVlV z1Kj9wr7UWmryQr3rTU`X-XZ4qw>oD^FY%+8YWNjYh(6GJ6lMO&*(j z6Ux|Mio|xr#&+M!eK5;)>M8sJ`Gp9#nmKx!z95PHj&efH3vj0#tGfnD=t@alRi9B_pt-ry7K$o-<4Sq z8*-j&qdjL@p+j!8=ZxBD&uL6@V57Z-@f+>s^x0@H=fXGITgc2n9I4o7Zy`3?%Spb` z-a=8jkWlTuf7jj!YuW*XZdS5#b>mh(USm+2AIpywp zGfL&|dNXF#1ZLM1%`wF8dPQ^T+G~pD)hw7_Q@B9vuE#z8RNC%_LLsP_?e*NjqD9rG zMuS4dH>*!Mmd()Wf|<`rGNY;`nd#Nmnnl%vYJAmcdT$*HE@N3+=XC=KICNQ?kX5Hk zt3&FKP7uE8Q|U`?)HVi3y=b(Cj%2xN@`AjuyJ{+eR-A)srUyYO6r8aL`!x>IC$ubi zTS_~;>D~pa#U3I>sKtBYN~nbcmlvQGLRX?RJ+j4O)Q*ctI{Mi44}(KPcRYE^m)|YV zop9gC6WWNn-pj9;x$xI7o|^kg(dpF-J{Cf@c*(LYyyXXM?_FC6^y z*LGK5b7fP<{TCbG*G3HD!Hhw$G& zBk5Dl;xN;V+E?)~9{h*e*RenP%+DyKVORS!D!C`j_e6v{snS#OPZ(}4!o8!y^|wFd z9qDNIqP@%-7EO+EW8fmqaT#z?mybIG+31}2 zIL6G!5AQ#q+#Kaztz0sR{~;al)2&nPD&2cO>#`w*O`*|0*!a zV>M2`Cz$&CxbmC&@+IYmBaWZqm*Gu)`%mRJ_48rnH}#oqEQUAr!lV4AzCEY>rhWKl z_z^sOOpNpMS@iR-#rb3QyX0i8@J`k@-IN#E{*q7nzR5&yfXNWCTVV2?LvDtRq|7UX zifoKY5>Y-pGdIfSFata^y+y^Isne$UN}~78M)G2(O@u?9@O~sW%2Y2%;rF8niTBaG zW&DI&WKc1G>}KtzaVecYHc!1*<}2Zwe!_^SStbL0Pcq{(JccO5r~1e2H#w zs2(iI(1S&G9aF=6Xs-E!MLE9Uj9g!^B)`)ZJz}IlHaFyiFb=H#uWhq8 z)bwS)vDL5DdqZ0W`?Z}u%oy`(>;2gcc$Dt9?!i4g8iEjh>shbS;KMvF1n_F@2r$xX zwE41o5n#06df2O-@mb&Vi^)3~e(P}`CUSX=9e!i4qU19gyxI;@@_`LboeL(iUBn80#a+dVN!nWw9mTFFXlaE`K`x5%I-Cq{Me9NX3A^q^lD8c z<<}ZW%I?=%z1bi@Qk!v8l4?S({Kig6s?{%Zr&P=LCzAv#wl zQBWu@nJbo+E16nhDV-GRm7ZL$^c3na&^$@QueXY(_3E*d=#@F&*@w~B89s~~Mg|W<6^Ht)-F~CT8`}B}zxIJQba<$@ zrOB_I@P>{I!ObuFwZriFFtAzoVLBP~QkahQh<^A~;0-=S3e{42M3+ zA#RdG_{d=~e^^h#$}vmvh$?f2eFHPG6Eb0^^1af}1F@rp^(bBJROjVEQvc>LHO(aQSV}qSVIBu)9v$S7?W-i_F*WTg^0<(4EDrNH zK=YVG9!0~ffAg54h8cJ)ryOT09tUh5bIIdEw&?mdk11-=fyc)v$I>v512m8M2|JL7Vp3L3k_fAT4q1F_Mxp@&n(`*ZOYMq;GDPpUoXn% zI%o0zKkj%w$hFVrz5Lrpx&B$af7zfL?&F-e>i7SpjO(Js`?sHQ|AlL%{c+mm)m$$v z-v3(r{3Dz*XTRx0&-v90FGcR#%wf9GMt>*e_@%}Y0zIq4e)P4Qe!+*?m*W&$w zXVN;j7F&7Q$l+X%E#80j#%+^1=kD5#*FGTDX^ZoJ^o@0Y!?oMm|KtDq1=nwj_wSwa z??KMVd-V^GPUO07@%|5g_fa9&db|DRXGU?ow|M{Dw4*-G*|X-}`4-oKi}(NNXD6Gv zHeBxN=|i|aT)aQ)J6)}u(`WzJdG~PLxOo3J9N(Y8wdCGx`SVR&PcGiSp?TYzobxyB zHTT_IXD;6V_nj}abM3iT^`GzK`g8IAIe)XUo^t{>{m{Li>(a&hm+qhQDA%g{)ti54 z<$87T{4@2w~P1ZTs`M&oKtx4FVF1d zx_9yZD;{6}2d;&8!?Y#)xgK7;|K(ZN9@_G)>l%lysmpG7^9L>Q{;NAXnp&TF=g?y< zWk)KDp86!-|KEWxFZs=a?jis3(uRMke`?O~c>nJ%JGDCfrEgz;RpIC_-aO*_SH=6E zeJcHHpFG-@^J8a&>xtJIZ;JQ7wR+qMBiohm)9*AGb!HxpLc$1)9UT@zHdA| z@9fLhSKb%zKYY6Nw$}oiO1?a^aLV&n7A%VQ4;?Z%opUa2BQMJwF??7?ydNJn@U6jd zaq}l(;2*(>W6W3ZBi8!+g7Ay}dwxF(9~__tihaM{+=aX1yGi14W&M0N$-DWMyx8w1 ziN}=<1_KNE5y2rjIoG%{eoW+1qdq*;@WTWS^Lq)?<1x_hC7bw>1P9Y&l6HK2=?ksvcx4vb?uOsx%!(-l>-uV$xGLqWAL{fV#CN)>G)S`!76$gJnaYRO5 z6<1-vQu&gv`m85bSMtgA>sfvlF+`{D$g6S@qz4@=A`}96gGDZHuu!jgaVwtH{QDM$ zFd8v3$zJobrm!cg=4YG39!Jg3HibPoH9u<%dva@jwvnFD!Tg#RH{hz~xd#6Jdc6n| z!UKEFi}hhoR?Um+!X8J>i)+K4oSGNcggv=6FNWv|9mubFt`1i!dumi!oxY;Y_UtBr z!ySBaJ04eu-VcSYu0A!)_S_$F*N1-5+A9bieNN^Nb!$uSK5ZjDuIRzcEi$k9HKW$b ztK6FDYpwD!2bY87r305~@-hpT>GIN!%fU5^)()xht;JAm-KtlgN?Z0XdT?r%43Lii zXvR~TOm~>PWV*v42?wH$ILK;2s{V{*^M9di@I9rr&`+^v?EWW`{`wQ1sn9E&PkJ~e^XM&ON;odF<(Uuvjbk&fS@f+NI6m{?zqrqEjOOFn zPk+%Ir}_UTeNhPbnJO<($gzjI-|zF6Rq+1eA3DeLd_{2x8exgXc`j6qQ8fE_^xfyxUl0_lqq+Pa=)Y8LbynN%vazt{$+3(e-K>8 zZv);KzgfBU%6&t*{|Xn!m>^upWZW{ijCVI&lI zFf$VFQ*h~Dto)b5B_BhSdj>@5=eSn7Y+usl`vu*9Q|_;nyG*&?Q!dx+XSjQmd!2Im zYQp<`XQB(l%9mEW{SHz>bp|Nd3^O?%U!{HA^Qx$>L#E?@Z%!R4_4C+V5? zh;pUhv~TPOq2E0C8cV-vHyYrNdTjY_oS)C4pL^o`k#VxBKZWC6A1ZsO!eVx?aJ;I# zfj*w``R3qR+2IozNt>`QrX+eKEknePq(y3K{4AcSD^iGzon@SekI&4Zvx>gyO*E1g z!No{gBy!&4Xm7eXYM$XkQw zpbE$IQxA9oqT(26ztCI2HxH%4o>Ilosz>cdj3SkW_szwDxn;AK1m^mJ zBYnYpGep$YGHSQ+=-3q--(-2%JfRia{zSRkJdH+Cu2Gn$)ft63dIPg=(cfG)Z)y3w z#eta}KgwS2yn2ARhU_W}|wHc)`MaU0WM0 z%3ZPX>2GPD>cM+9_^lWuw*E4|hQVVE4va36mZ9m=vadm}H!vNBc5#n;c_Mtbl z&e6Mm!j>l+JJT6g4$j4mvSiSLk* zr2$zQkfi}xR123A@8x3vIf|hW#Zcr3 zmgMwqsy;L1(fhE&Nf#vRoiqC9K5JX=e%pVRd`l1Q&-D&_2bXu?GDluc#HB-C-j2&G zd3hTy?ecO0E;Hn1J{+Icf}KoqJuBLto}jhq)@D7l<}zJdqlfBH92@jd2*nZ7#nlzM z7V?S^m;1CeUWDjfTQH&R$&Emp8(QN2(-9!y&%OBZ+6s32w6)kUB@a@2`gRX`lw#7> zt(%y(uI-Mbty|v)^~-hb9hAMp-5c^u2tB!h1I>*(ueM7!nssdhuwOHzWl~Xf$u)NBxnT&CW2l5MQCJ%KB9jLAxn_+vF^IY`h z$KHj5ZC$`AafvCD&F9N&Z$rU^txs<31P|b`Q3tbHbIs(8n)&F|3JE@k8yf_hBiOSh z*vynyVDmD01vW>DzQL(BWa|D0*FJzg9ro=^#(6u=T%2FW`4ybtIee(*O&=4e?z1h) zqtEjziIuPw@>_&>iLs+lIT6HLe(Z?;aV-$KJm}>9#yK^>t;Usdykr= z!l`^Fd{5we)YnzGaHVLzC#ZZl;qpDot-`5%_eqcMJ$#RPQ-x#x#bKuBuO9mRklMj7 zq`xStL#BHeXS$mAMtO+C4DYTM;U?og>aub3ksjSb<*q_tUREi$RJktYI+P1Xgj2aNiOy20*{##nH zWV&bOba~BRGo5SHtv^IJ)^N{+rFx9`a{^^c+47P{{CB}p#aEVccOg9{ znS)HSy%2x=AM)M>KFZ>1{LccCtO6SZ1S@EQsGy|s5KzEdmh8et6F~vRDh3SUqTEUn z#S0b%Y#!IOw#7;>wzQ(siY;xCMg+|!n1qXv0CExKrUhcG+*AT6{Jv*qp3UwOO2z)) z_w)I`1KIP;%$fU{GiT1+&a^J*l&{nTJV3=ud?Hs;WHB*WJd=Fd$CS^>-y$mBIH|~> z>v8JC{G3icl|)4zol8DMew$0-M2{i;VlaPVB!BWJRRNlFKL%g_xiO08EOTZ*V3(up zR`P{X6IY1-w^pK4f~(|2%W^{oYb4~8&IAesrzHhY#U};w(j%ee!U7#wEgk59B@84d zqvXM%L;T2PGmj+~`Lpb=5lKV=Q}~R_>(RGRwY)tNlf{oKVN2 zj#gcBo0*6{5v99Yau_;WX-%Wd1{Y?zWzCyxeQnaiOk`E!iZANm{m zb=?22!fq72F@31Gi!tNCDYey0dnfb-Ha5;rH2$XxKh5~(16!Zh?3DOLKoc{9zsCIA zDqqrmO$R zPs*!|GmiJy;qS#W#OKHnGYp=TUl}L9fis&w6OkhHUJ#KZ-Z1!5AIh8tKb1NV z{b3s*<3(B$kg}z{N1!C&Vjwb8n&`XSK#>Q;eJD`$ht~mH0xtu?)6y<5cBvn6m-t|* ztwerk23!P$zqVQcglD!I4g{rD4Hb@7fc+NHwH_DNL8Y=xIqW;7FO(1N3O zws%-xS?krelAh`=4TM?>k-bAc6W*TA&r&Zx-jWo46`rU)MQ~J?nHlK~A&rZrlsD2M zY2ELLdrDx9h;I>BP(19-aBdsJ+QXBa*};>1OIJ_wkUpN|y8~R_bx#-h9onT2zuAbA zp4L9D{x$-oBMLSqP!8d&kKPX=1s~`Lz zHws0VCg67J4ZTX}2GmpCpujI=!`x&Y|GoOikOin=_xM9q{fJ5+@5&ve77`yJF+R`j^Zb`mnz*xu~ZK5IZ5cnDR(5 zb#=(KcNLM^;bvf;y-$}ZMlmZCPRE+PzA%r60iY zJFKQwvsV_eZRyC{!e1c6hFVlLYdV*n9yt^qHRlUW>k!C092e;H(M4vDo5;8+cBO_A zlf9jr`IOa6ow(nRY>5$q6=v~&)#OcmcuL{qtIZJaz+64l=Ov6DKQ_OhP>CrbW{u0A zCLqel-s#5XJ>o7#=X!#{@N;E>gF`_vOZ?th*M9Id6}6QR}~ z%y+urS;*fWgD>@}jDsI_|C!8rt}yyrsb6Iryr_BM3OoiFJgH}89K5LbKEvaAgXfI( zk@6TkDUaNzw%p)Jy({Cy*T{YuANcv^J~wHH82qU8CxCat;7NPL;F!pKuPxnprkt<$h-mIS<$d*c6D^ z(&=l;d_MN=K#6ZXP~xiuN<6Ot*<+FRGoZ|KX9Fc4j~M@vzz*26fimB{*1#))WVM~N zmBjNEl}VCmGCynq{1Z^(`5jRF=NLE}h)Em6PckqYDDm6~L>HfCTdzNoYkFF|EYH|K>Zf2rM;lo`EwA9BE*N zfhh(8RJccgG9Pw~e2U%apR&9sc871NeMQ(EJ~i6-JA6sjIRxL~6H*Uiclgqie2d-T zLsAc7clgd0zCFa@%tu5s#Q%u-HDA$o+CIiUm$1?PfjGO|{}=7QBQE@)IQ!q?>_Z3~ z9scq-f4Ofk+W+}D{7d8P_s8KcjPn;gCI2I)F3v97d87S9arx;J7ypHE_9k(5=}*z| zT@+_e$W^m`XKI``S(bj(EZxk;wM%3oo;h^5nvAPp4LX5>@na{k7NlqFIlf#$GwK8! zo!AYQ*{&3mu-U;Bv*vWFvOuXfBrhfj(VdK$FluZ;d@)dBu4DBot~Zu}&tG!3Dg z4PKeI-!*vXAazsXRHN)MPLGV5Fky0DR6PlCNX5kIcnoP7=V%&i&B_~Gh6#K60gu@xk#5npI$1ds-`D2Vz=0DZ{ zJRnjm>OK#^^UKCLggOovmlF*xu5zs}c}J+0u+k}1*udN@yZPxA94dnxZmI%5+YSX#*5pWA zhlcYNu%90ZV8vJIRAzU;q9WyjKBq3I=7s|KWo=d`Yx_&H?d5|B;V3iI!PMD3l*_~_ z4rzI2Euufz(CAL~<~DrO4vzEeDJp*v>$qsEMEHcnY`-`ScT$~kOX&KW z0-;XZk=_IL@(ks=ed%jX?Mp@FO@9VLTe{G3Qzie#$>0}!WZM%L5m`wfI9nPZ5ajL> zO&EdTh`Cg0AXucg7D^7}B5dj;JDC3*%itWHvsOaC*}Sdf7wC-o?35QF&&`bdJ;ngLtHNK$`(tLnI?X2?Up` znhQ=`#BNWYeaz&=Qyj)O$NoIWbs`X)J_FrdwC8*k`}DbJ%zh06%nmLWx`SetRyozB zno%~Vh^jR>d$6kFW?f|0t0Fgj$}bQMN##=!>@IZb!5%?%t&#L+lWRrGg~?Xw(=D3x zXdw?6Wc95qIwZBFs`w3w+R65;dsT{3^NZMDIyd4zz;S;=x(0f@h);LzBYM;50PUOr zMI}bxE{%AS&P{1F8O=_SLIr0_^91bKU7dVLiEY(mR3d!$5ey06QDT*&ylwcNVo^wWO|xh(Kt$NfC zPc+zRqU}phHrUN}nBa8XBO1EybigUo#=kgm>&mIU zjy!_?2a9b)8yiX&a228Is)+N|SYOl}6zQXwIIE+IRC|+-bV_5vYMfxT zkLe=c9E+us-YZFq4AMQ;R~P3q@f8`QRb#$~ofKj#s&*5(Qu=ll44m%JagF?&z}E> z+4DaoDLb#5&YAES8J!gi(qm`T&^{wzk6^^w(SZB9!u1z3=8u$&hHhBRgoWrAP%POW zCh7`>uCn2u7YJQXc`@tYSiB1&8sM!!~`S9Ap`P zb&kDLB`S50DUk;onoJFaIfyxHt@Z3W&#`w!P&=sPWu&ZT0GPorSsWeHQN{76Q+3;6 zar1aG(uB;iKlBufRy5n@((l8xYB4ws{+{Awl?gLgG~-sc>4*wN)a-5;v@rIVVb3#b zCrQnmzJQDufv6g!ustKTwesn8hOO*8GcVuR`7>kcQFig|7WuT;GdD@v79v;#l_=O%OQ?0(O#D&9G|g zcm)T9e`6judWqAaBpHt<&w%H6KjnO!Cc+NJ-HyYf0LsKUpR&fAV(=XO%#fU(xtZ*9 z%AZ=8KdmsqSr(nx^XdleS6)J5)?>;yAweX`#@0DSFE8fz{59r(4ZTLpU_^w*{GURK6!Qh+Ut|8V zE+OW0>!3Zjuu_auPmy&)9V~KRz=i(--UPxl`48~sfLHggf1hr5aF+46(cnq_D&wqI zo@RgQ4@~+}-!b@c>zfjPN9z7vgD>^3j1zw&__9`a&3>J4X^$BE!LjFVBz`%Y1OvG+6ftBk$1 zu^&Z@llXQ3CH`{Y)!5$x(udRjuH8E=1ft|idkJ_s@K-=ojA^!k4;wfRDDm72q=%+; z1xoy_jQfce+WrYp@ZJYrg8vd=ci=qW_kp&7Qw_Wun8yDMU=QGVK>B9dw)6D*@mmJY z173mq6Tq&(`+;46cL33Mrd_B3@GtmYoN>m#op5RABItjeG^dd zml^wS4SdqLk2CfRW53+kn;Ls9^eORd21-0jjr~QSwBH;9p8-m{&IC%kKMIs~eZauG z4V3AP#Fq)A3e&DNur*NPKf)L%{#y-{do0BLr^a4j;H^M-P1<$Z-l;nfQcP=Y;2!!3 zq>{GTz&``KW1kBYx_H9Cu?7wT3SG1X3O#(-Ot)(lQ1bHzQ1%zhHSiJO71-|tb_Mn} z_7=uoOCVYAm&Z$mer2X1bn;6BX9M})ZVW#{A9orUFz^NgEd#p&g>FRL6}mY9><0X& zfonB?PZQ}@=;mj@%YaV-Q-O~HF9l8k3f*4>Yy*__Qh^8HF#>lOSPGPQ-T-3KUI$8e zc}I>Vl(dHoly!5l4+YA8hXAlMPxfL+vj#|!+Wp<)!-?E<|C0W}=dJ+H5+N$pR5xZml#)sHj8;1-NpCd2S8-Hi~ zm-Z2SM_w3a@O>tHUn(~$`h;{W(e@vM7j3^S&fg-wX#YKN_T0Gm2gJoE`)Z=Yca4i* z_T@zTkBjpk78jqWZKCmSi%Y*poc%{}_=R!tFON(A(zx));_xTM`N!{9ko`o_`P&;8 zUi_l{>5DP;wsG)#vyvPL7oZ^<6 zo-$z+`#+de8aEYg@_qN`b61T%|C67WJ7#?Tgwe)o2u1rv7a}*WXzGI;25QKPvx$UC zRY#$wj^gGUe#Xkd@|YQI^f@AxX?=dkw1&2rgk?X8ad4VMTTMkpLh6rGsUU)I-=v=R zjh{4S)M!HuDq+YrQs>SVm;AiZ<8p8D4agndH}@JfWS#C@`|0+p^z7NQ;k=U2_tdFT zyH!rT*9dXzTb*kkE&(vk{u0M7a)SIJ{wedH?pKlVSBw*%+;yzt_?G)sGE^+Q&uo}& z34BkoT2Fk)k*An5?N{kRcrmh%RLlZXZf%P@T!iD9_N&OgS}`f=mwT?smpJXD(o7O2 zMU8N#{VE+yelkpaa=(;GLb;sxEzc|MBOg-leVDh13`h9Lc_qo1{7F6~jhKvL|4)pp zl)RJBBeC~B!De-$s6!xhgM4d;sBg9C7&(|AC}IezfRlK2b7jBLvG3IOY{#CW@$Yr) z2ef~YV^7fjqH0zqL;L^Ku@BbvR~&n?#xHg3Benngj(v)@?{e%jwEbU>{W)!qG}1h6 zcRP)?NZV!ISea67@8Z~vvjax!?L`S!8~=P`?`P}}7`x1e#7r{wyNn%qUDe+M#y;8D zA2fF65z2q2v5ztKpBnpEW1na2(2T;Dofl%p8~eM)KGE1W82kOk{!e4qp&EYmPDdD+ z+CSQ0lhdU!HnmMN;-b%KFhCR(PM+9+sCI`&kkl?qrOxE4v?9cti3MZTog)d+jztCe zQ^$|a)iK8SJQD5b$PCfKL?gqUI7QOsgTZ)`id4QIB&9JAE35gGGqNdq&*^=mMyE)~ zQH4cQ^AqkX8Z#z;YD(ec$teXB*%-;ml!C&P@uQW?gi%u&@vuyqT$mzKMy&g!2S-i7 zMUS52jm?xV)|yiI@Dw64D9A{Ykv_&o9MmYCFllnilu=XV(v*t8r1N4 z!|Ec=GDlSAbb8S$bDqH&C*t*@R}dOjnARCcetQz^(>%FfhqLfYd{CbS-KgoFNVvndi&Acrcz~L=O->&mD~2c!{_AjxM>_1%F8u71xDbE}xdtw?Yl$SHPGO5?STC?L7CWb~ zFXK}MU>Wp`r?5SlNx zq`5T9Nh8bl@nSAmJp;i4_L&Uf#HiT>63pZwR}NzbGgG|4lt3^uNgR^Q>FjQ-q#lK| zbpZ+*3UG@PxwEX^`0;IZBALCg*U7^J!RvG#1s_djN68SW2<#{Gmt19N46vp=hE^8z^( ze^sP3Q;2)%1N?YP?&nwKq3*IkC}*SW5@X*QJ2Gnyp8qk7Q!TQWNH!E-LWbDhoMmsxu@A;>QLZIZ)aJ2l`=APBtz=8b^Wl)s zeKHm?wh9OT?`A=+i(1R8@=&!pQ~ksV7v1;q=}(+E59s;HLJIZ7i6-(r>mTY{xzCov zO6(PSb~|o?yloKtFk}UGFfFaXMc0~aX_3KP?WUAN=FY1WS-hf{Oc1$0VCfnMKgY(k z_Agjxo^TcB%{}+hx;(ce8R+indOYM_5K5?Q2c`dx=i4!e> zMGs{K=~{K21(7c6nf0_pv|WX%8RKZ@#+9qWTh5=OVl=K9ek`>i*>vpKV07H&Bd76-bwcB?V-Ez1;Rr z6$GgTc8jX6olDoA0z1(AOVyTp&4Xt?nvzhMuFneG40DDJ+yW1u&St~UbL<1EuBofR zS$P`+p(0%MHl{i+S(NQDI*U^!i&OaVmdLV+YQKzF-!aO!4UVS$0>PFzkxh5tx}54F z51b+pwOvVJ&7qh4Up8?YWt@8hP-&_;lAQL_^Df6lG|vh7)248_658TPOru5{jF@Va z^}ELI6%cnZ!k8M{?{XQwQr;XeT~Pe}Va@N(d5#(kc#%RUIfdl1N)VcPvbS*O1j*anyZlyH53f|q9O zml=C=prrR1d{g|_8o0>7CxFa7(jGGQ@j%%R;sY{eNlOMY9Hkv6Fl*Ck8-ao^=YJ%= zxA_r#Icn1a_=0i29C#`Ai-4)XgY?r2fiD3s0nP<>22L{W{eYKYKTO+n0d50IzQaJG zXtw|;`$lBPq@;hRfj1lfn}Cu}S$8L@w3a{#f0)LV@T-85&qYAV=PSlN2xKao_5cv0 z?op6%GOv?xqUT{$irk-2kDV!Et14g;uoTGTM%_b5)2jUnRJpp3kg97Hz@K?Ni7jJsEHvBcEb-_{1Dzclh=)V|Vzp%vlBB;mbD}yTgZXGj@mXer4ZFT&9)$Tdv-kC@Bxi?+*CXVLcfb$n^ZX#YQBiMGpq9MN{!tQ~Ft zEY3bVF1{IY{vXBJg&z4IF(1c;?;V$axmP3_|72YF_;q>Vf6@5Rc#QqVIR9>O{&&RL zeR1|7apA*p{_w1r^cKh2oofLc4SM8S?uZuLXqwe3xV#x6itvbL+uSrj=*R+jB%q`5 zZopCM^#-e4HlWn%&74!Un|u-+ZN0Pl#%q+V!K>SDc3=Ki&gBnMQYy=Z`A6wPi-M^ z7N;X=v6CV9zK6B6mn)KAR6R7Z!W>#aU9nIwQ8X>zRu9{!XP;i8g?03>(sI!Y&yDF}ljw5^Dg0p=gA$6N z`O_J>e?UxE34?L$@OY(%g{Ld?pRPL(VQ>-S#FxV0@>g*GBRmQv+b0)p1ynn2Wsf)S9$2gU+fC^$<6B85Vne?VpgfU^9x}A&gAn`edF?*cz zEl|c+8EaJXjp$AHk&j;ZcZC6^5E0=cdQ*v4{upOfUPT7{wkCd>JTA*dYbW>c@$O79 z=jvu;J32{Q9gV8+Z#K#fd&NFUO`WOB=cM^3S|6$o*8KtxM_Zz<6?g7bm-Fh8Zzj!= zZw`t_zUM`KbNGuh^vLjNMp_*8KmNF|Qj6kaPmi74fHau$g)`F;%fNKd|hh{Mv! z{CG>U_^rKz+5+M3SOl*^xLOc;YXsRe9uj_wLlS~kdl+ir9)R$^ zb5IIwE^fY58rB?sHaYgp5+M(y(w$ACk&G%!6lB+eAn&VQfVKwRtMizvcn!xZ5Hu&_ z@#Nh3uu@LJJ=dU<@XTrllB0Er+_2yaJ(iT{4WDe9mB#_5-op^*XycNl`Q%V#4OO&f z)&&GrhX>_^ZiUaDUK)Lpd^p9C`j@wcg2PH8CCbq5q8lMQj&pIh)1b?%c#a|pC?^6r z%uOlgMVF#ZRo!$bBPP;~+WC|`hzLjCAf6cXmrsKp((W^K(Va{zAQOukGQmZwoH&k& zaoU}yRzP7UZi`~kdNhL8QQS~r7n`$rN@-24&#sWngj$B_-cf`nLW;NKaeh@Mt!=fx z)p);*#nbe68-8^U63e5F`HBEkHyqy)vA)8uyd@*WR}Spn6zi*FzFU0dz;0@+uUCZ~ z%dg3w+_1sjoh;^{8eb|hr1FS#VM?zYl%9TEluk>rA-V6BM~XQC>D)Y8E~_KS1b6y7 z%tjQ2D2;cRn0f7hTQ%d^SRYOW(;i&*VCO7wo>=}`1yTHJull6si>t^a7Xakdlkxs! zoGwwi^w$kJFM_jiQdrPb|9D3})SU<@ulL9U$y^E1upHr;bqEAGT~Dq-aMGEzM4Uwh zsm`sIM%<-EwL6DMhv~zM(hr}CxK~FGauyasKh<*QtO~C3Qvx1J@7gB>a)y&hnWmu8 zIG8h>FYu{CaQc5+-Myd<2aQlsn7S=rbTFx4Yn!?x;A+sj#m1_s;xz}CIGbx^$sYB1 zEQzE=LRN`VI-OnB>V2YGotW2w8kGx8@qZ;~-Te4A4Fv2WuIV`C5?^&|PNhjg-UQQ) zOYxMOQt5JzS`IO9gzu<}L00nti7EsK5}@JJKhODA^rA6Uh0Dwe0)VnclxExJIs#TR zOa{ui1;aDz6G4&`W&RE(oqj~AaJuL#Ms}-A?8S{!-uix#9J^M^cfIG6NmBVrB2H#h;ufZ;wN#gTJoRLHZi%2AY0xdpILs3sDgvf;*MGLr~ zI1*-#$rQ(q?GLh}a{H)67CAC~EIv#3GlN*I>t;7h%JcBQn_S7XGrSg z8ij6NLvb$Gt-Aw4dJ3Y{gmgdDv((Fvw`8>tk}$4ujrqQhuZmi3#n|R3@X3vG6c^L% zkwe9bf}?fuL@g@8Qxe|gL|wN4luwb+qEIxE?{)IFrZM0BP6W~pwQ|^>c>d5Brf6d7 zSb}IdE7n&eLvKklDy(*@4xSf_psVOy5L9`y?ZdV8EC4y(Zph$lyGkwKa=BG~7^SC41x!*jtH<$82o;^bP znjSdl%ufGS{rDJ#RK4<`e885SHgjNfrxpTArnpLov`5e~#2k``6C>kGAb61`HYE?J zPeK)I(Zb|Gk!wZ7Z=R&At^k-G=~~YQwIkg=;`sO@8cSYLByHgZIoxc}&})~fB52~1 ztX7FV)KX4jY2tYR2PLg}ONLSmF6|Drl-JIpe07_CA79v($|8lU^Mfb{x1td9iOX9e zT0_-8WZPntuZ~7Kn~H-*a1Piz_1YLOm$MR4kzgZy^zu?wI}F@dk8)N5d>u{P#bof;*!|v>#$Qrv zY#r{`BAa0zB2$g|pO1(uCYQg))+v8z{NJQ6G#36!wKScOP)hj5))7B7{&H(XW8qQz zC=QR}~;7dMaLb}SV(@DK5X z+){%csgGMueWyxftnZn3s-*svaqmT)o6|7my;Q4FK{#tpz`VFX!qdyqv2Sdkv7Hq=kX!1787N4ty4P1#mKu zHcQI}3VttO687%E%Ydmsi7(Ok*Pf^GJ_3q+sj>gTz@GzK<31B8>5T?T`hyJYXW-R9 z^n7U-8+#jLKMx4qr|qTRxq%-VxDkj~+7e(_;A=qsr^z|}6krJ08JG){`WytLJZXJ_ zn6&0V$?s=GD&<^l;Ohpy2<(RcOk>YC@E+sd-`Hj5C-ss7lzO@VDCxB_&;{&cT1q;<7hK|f5GR#@8kX!P}=7;p!63x|1b0~6)5?Y zb#1CPZ4^-QJrpSM1b~t+x%N`*vfeH55Qz$u^=^Sn3|s&d{AZ2*5uoIMEKu@41W1=p z%P{ut#(p92a@<8$>;gPQq=NqeQ1Hu*UC!Z(eGX9Y9|xl3RqNz}e~0nE2`Kg}j9u0^ zq<-YwGN0|X17$yg2pOrsKLQ2+Spz2;D6+2Ln|1ScUr=dc-(cWdKxv0pfNtQg41CtW zCk=ei!21o9@j&oz1PXm!1N=UaGAX*+2_)&}r3TJ3aE5^+4a_hw#Xx`xCn97k{v5gB zC&uo`0nmc-cgA&5H$|UAmYB}o{^tmh-zJ|fP( zIL`h?T=?G*I68d%`Sj6o{&L@0H2#D*|3Ak0iyR$||Kqs)Y>%^diwiGw8XaEt2SnTB z-xF9J=RYIPE|<RNA=AyXMOIz;TZ&NcMdr#8<@sbmb8atnHM8v`TW$)0w!8>tiIt` zc9uFkZ+!pFN%zwpWRE$y&K}DAsXR__>Z=Tqm31QOk$d_R?#|J6a-@#91IHKSK9WC` zR~V#ZqbKV#dQPSD;(|H1r;h8%^#PpY?s*^Xd`_G^I#(ZwcWSQj1M<;z7CC9?Ea894 z)9sw#E6UHEJc%s>PPyr2f@_9sL}e{fl+7OO$pz1KZ0}4+}S_i*b(E-YCpn#hC?~= z$@y-HtC9T(|MuO^aVDO@1`7XyWvlmd1jd^)?MEmv0cIGu)5JH9{PAB5E)C{P`w{vW zX6M8^l1xSC3)$Bxf{L^!zsTR3M>et_p_oh{&m?p}{tN&KAK8x}`IA3M5^pEJeEsJ} zw9kQ%gfq!SkD!BzEUw;t3mH6q+4AY9u8NIs+|{P7PT4m$fm>dtj+$V} z4C~Z=W6zm*Qj{+TvdCvM^DTh6W{f!#pI&6*n`c68AwJ=&)#OicuW!kx2a8~iIiNwp zG$x4>pJSjahh&x0nfP=)`Jf*qOzWZhE8!!2+KE&0DSy%FIDTh>&MKjPdWGj(J+r%!&aEJ8_^nwzJ1bwt^+Ub(Y0%e5k_ zTZKGkbA`_?7{|l5dTEC}ANo%5I$l_gSbVO6aV65x|J|`pj-id@Huhxru&S{kT_xMI z#eUf5nVjScj!X6hN4E6^r*sHrbR6UN>@U?XQv~cc zx3&!LN_K~FY8Bp@zD?rUzL^-h$#Rf-I!Nh)R7ySfvO}^kAKul$hpo34Os{(-pVx$UCHdrQz_sowFVE|! zos(Gm@VJP)OJJ9UcT3y#mB?#6OYZ0w-ks!L1;%ymYW7^>a=ksQ1SDb}aDz9zlbEY< zy%9X0y9~#h1hIOI&+~YdJ-Z`uLM{C+SncxJJJi>zCRU}-+RRP;N#f}f&!(>9q+Hgb ze`wZ~7y8#c94<|?%3L1=FZQes7A>~6yEggkmwSQkw?6Y*U-+87+yjf(wZiNA&}Z)q zm%4q{PH%WcYp=B;T|JfH_bfb$ZEJA0&|7$CBHQ?CK6RJ*?5c37Cwse(V4wttGz9EF^wGaEP4PMs_wl|Flw&)Vu**FW@3pZvDg-f%e4s&ZBO?7DC{ z+1hDs@mcj0IYqMLTI+RHcwKABuFA~;@=k6leCauhU~pc~!qV1$t17%Fk%tdzYTXBY zcB#~KPN~ldd&8yetuP;UPO*NI!D}BNW@#G&d0o}saG9G1Y$IiD;j_0=EbFM(Rpqmf z`m9|(>!8oIn*6#}li41tyWY1}XLhx{m9lwVrPkJPd24Gm4a*Bgq-#|NRi_W{qUD!S zF{|uwIP6JRPa#=l)DAf+vxhD71z(ri^xL(;VT-+1jo(!x?XGg)LJ}t{VXtdt=$Q^L z+_vI3Dp{|K5>-meQ9;%guWO?s#Wkmp;;;olxSZrh>SfqQ@^MJ#W7rI_GO;n} zU!+OKI^c6{30G1TLKrK11^^gP&K#JBOb}NPVChC_S$jAwMbGVX>%q1IT?X45mCjEGak6kE+NUXzt zUN(~!7SbT!Eo^wlI%}QRb=+su5BK`4Bd)`)CEGCuxKG!;-bo&EIb}f_+A373R{Jn?a zP~nP1>yT@+rUDw}nDv3*^_e1sFMRfHRSCN_L)z#|pI99nHlO5u)~ELKQp3ELq1t1i zYLB9YbcJa+bMb?Z7kqry=dKD>=nAJld;p;w^V-K;o9rVF9r#`QH65fJhPenGR5#E8 z1#swq^yliwrJzKgwa>1w6;p(HLz8oAK80_m(?pQzA)&@OitkC4t*|yphp+ZoTkPqJ zt$K1*u5%_Uo= z;ab1_rQiC-hV#Lo*6C;D{ItgIL@G)~Hg8R>*Igs@>G4`Cy>w8khTg=7PY-=Qdp&Jn ztKJT6SMywo*E-~9NXc1jS6S7xGSyt_b(INa>CR4%>aiBqVrsH1sGi$`Bm1la&{(-^ zgRoGywMA%3sL})PTfs(0_&h}8waR@>)%JIq4)MinRr#%IpZ7FQgH@`r zVO=n14aGa4$8}+`6E}LTFQG_XOzAOR7ZkcST;Y*H7IpzTWogfc?O%}{RHBXF3I~-e z)HG)?HKn@2CW~D;F!Sv$c=1Xftc4MX8utq`q^{R`8G0%V@76pMD!H)$mLXKa@Np38 zG5ms&1b%VKU=s8%qp@fn84!dCGiFfUmBQAJxHd?q7oJE96oX>jP<~4aAVT(k}D4SNT%Q+^hVqkA(lW@Vefo9e(`C(=VEKcu#j_hQ*_)q{z^- zCOCZs{E4!)p`&E%RGPd{$8@9B_@_LXdzm;jpQzs5RGN ziG}P`Bzmo{yw(Y?wKiM{$-{Ju7U`jsX2joP<;?LbX9l;TYM*^j2En2dcn$rlgvO>~ z_xtSHRC>$j?h0S(TK8ICx_>d$G9PA98x;UuU(&7;a(eD zK2Eq5FBSQChtjpqb%fZcRlkd&0C}irE)8_?r`;YjmAhVdM;BdL$k}JDr&bXj0K#Au zH-a6c*4oE>?oU-idFeNFIFSaRqU7s04*ARsz2!dr{Gw1adq3@Z>7l9csGY8IIEia@ zLofB)Tcn-ntf5&Q9$xS&-8WH$I}y%cYXSQxo9gFURjFI(2u<_#C{9zy3Y0HbATP#yFa2Xhu$VezhM!WjVhtlKiiGa0zQhVcDbRjnE0DLBxcpBguwRd{Sr zo(SWcn|SS$_Vk5x2$<_SIyvKnc?l4?4w|7+JW$qr#fXktTwtW03G{~Fbt7NufoxMy z38|?F?ltZjnihdDT~)k&BE4v1(>Fx)g8?w4z&nokQa9TNeeRmn8uwAZjnuc!ZyoTv z_8|d^yxD?{zH|MqgMQams3GO>;6Z;i)UZ-<1d#w?6I3Qt1waNdyx%TOJpdaab)pV4 z6fA~9y{=Ub%YPsOJGTK7KiltKl zs>4`iOki5C&AfqLlW2$S*)rDCI1vhMI${muNEC(2I8w>mT*Y3Suku9unAbXP)idp- zENw&>@LJ#a?M;68XX74EW4T3oCwKgce z11}y?D%AL{P@2EE$r#V$>um&^GNEH8SLGg|wa%-X*i|CBC8`J$@!KH*J^+6|geO!v zc^9q|mnrmGasPo^iHgOZH;U#RgmmZPwzQ!!x( zY@f_3-Jhnea+hhrm>$8<$e^Po0EW7h>lk5#lU6eUgW)kNt4@XM@ib!oTs84Hg=I-s zWb{wnVjuFkKk%h8FGLG9!xx+_(i4J@i`l;t=A?7kC#>zh)IHXAKjM(m}MVUQb7?)i?w4sQx4yX1TZEGv?DHNCsN6Yej8aT+`?KrFtqH# zzryBn?2oeT5p(H}bf4)Z76Qx(zkOILe@r$50a5}(3ls0{@GQT*-)rsgryj|%zvKfc zVi_&rwU{_7orr5S#}$gn=PvkNx*ixN(f#^$u57|?;u&81xb#{I?zcV$tx8W`1)++8 zWR1NV4h4HUYUeObDw-ogi0c^LwC+>gm-oL%xoU5v7W;MHkHUxX)+5>6jMPZX?bRF# zafF^(!w^OVueQpA(-$*YqhaU!?Q+p1NKY$sm!&e_`C6zqJ*UJzl0JP!QzdmEPN{hr zIwmhKcc+F$W++P)2@ku}p5L`+U}%1~`(W%41icaNxeNUT(g^|*{a|jmw2j}j+ix?| z54-*FN2prYY74)$in?#}E=*i1-D`h{l!tVK?shJ-i_{v1yWogoM0HeFTM2Fy4^p$b zcX?GCBBUL(4p4O$tb`{mv<~Wd34H9R;%oKrttp@QsJGp?)xgpY!Q=`y3xhj`>({vM z<*$;zO)5mSjM-noKMU4h2+}5yWX#?iiLT%aVUtHd*d(!h0TXD0MGfq)yZ;!-Ma6riEa}Xkj;?Ej}ihk$p{$4X^(WQEgnsuXL{BRa#3^ug^-IH8Glqd_OSMp&rN-pkOV z#;;vIx3ryzi1`a}guRI_?f?QAgGE^jR}~F+Za2n7X*jfT@LM%DmN7Sz37R8TGR3D( z6ie}nin-Elhf|Nj(2n_1j|oLgED26uCQ_a2BM7UFnvT+wd@x6(Wvjw<+;x~Cxb+Z* zNg>gL%>1^i;p%7(zVzWqF7WyR7J~kP|kSG~pmdT6>@f4|qL3N!F zpvYS?w`LAvGh_DI+nLm+qVA+YH*!>-ks4V^3ss0@$RSC;Wr$F62p&r0FEt`Rqne2O zE+zv}qQ2KEOP>xyQUh1LFb9uM1c^k^rB;YC7Zr*9hA=lJ-9cDen7_jdlyoP0qOYhJ zMoquSLx_ZwQVB#iFx;4ouq04QQ!r&HRg>CM$RSQ9vX3F&D>j5)S!E+QeWR-GHCCl$ zW3yFht7QvK;|OSQb0ntSN;=C9zAiioVS%@S71Oui`&>FJf)nfzMK@}Z9~=HeD+_5b zy=Imyece@$yrdNKsQ01tQXvDcRf_Zv8(bhmhUal6w=0+_*9&obs3Dv_VA)722(1NK zL}NGynx(Cf`;h96`ecT-%N<5aC0jxkNQAB}Y5{;To#t|(X7NZZ)xfA7vC4-IL)72s zYgT$)H5}kgN7<*Qqe{v^gQ$2o9WmTmX}y>QDUqESPZdhlL-ZAy!OxeTBEmgg6;al3 z?-9tc+o@f&DXu-PO^QguXrxkCT3Z#7s8t2Yof~b(#VU8g2$Vo08c1fi5oL#c5Mf0` zR?P?UR|Kceg(}q)VWVONNJcG`&J&#V3_P^`2I6jw^5c44@(oJ6g>uSKZ&BV7GytZs zsJ-cR3lvMB{x{P?QoeO)Z+-TzRMr7@yAP$J2ZIf9fJ{9Ntys}FD8zJ2?^1an^;M~; z_E)L)u0~ge_T*txzG^)(!idb^$grsSjA*`W^vS#R;5U6uFb9@|4ouduP8sQFF=U8+ zW>92Kf7lQmGk775m2@M5HcadlwJ>9XT51iol%Sh-9dK2tra7we?r>zZy|jh24Kw_` zPTLq&6djCaGD;{WOHnP)S`o8iIdpf#=h`dzmL9nhl_ugJzvzNjE3Pd~!(4x@X&PyD zt$bYPw9ZixPa`dkI9^okl{Jkz;Z}4kQR&g*QMJv4OKLkxGa0FEw8Kgik=hou*;Y}? zec(Q(+fzoZJqYQjrd%hOLE1-Deba{PnfXd-RS(h28H_JYl-g2@KnE4Qq7$aNVgGBT zvmoY)AOjIFt8;G`X-W^N%(fW+%3O!w^rD~?p$3A8411Cc0{vhK5C(yU;J=of#aXI3O%fbi(*W zvp`lo!j2)45BrQ4Z&@~=up?`m7&b43H|C@iDc@2OPS zn<1ikF$s~2h0;fa#jNrf9+SRY%I;O`^}^ASf&ECridF1_hsxk+?_uKRx7R3!%LI<0 zh6$OkX-+Y9gMc798oz6^-?c-vxZK8rIyg#a$KWr#BA?{xOb{>w0!_xWUJ74js})FT z{FRXrhH8?DM;oOCv8%JB|1sLu^Xp>nNqdNt-bd;25caBEY(iM0mKw}zGq(>FEix0o zEPET|WFc_C$UL%w#XMOS`k>r*+h?M!S>RX2t&0ZPJe-jOfXgt$RLZD zmgrURV!4(NR_lUBSK`)66P9>sLz>pTF16B)688|7;5YRzq_ePq?Pr)P_lN{36`ZK_ zS}dI8EaccdnygL8MGcEW=_BBLOi^j73L2AH-Ir>G{{3vGaKu9|SmC!m^rwEoudEfU z6=f)Dc61aQs1((s+%oe-?==h+Sq;~j2z{;>F0jhIDt-DwEefaS%x|jJUtKk>qap^- z1nXJ$c5hBS;%33J)aR;l)hn^o@7gO%%}PC{1yS_7RIFP{$NcT2raXYCpwa47rmjQw zmk32a_8F2Vy+FFP2n{znnlRSFzR-+LroWmLSplI}Eg;4ig$41fX)IoNX*vASKD>|tg?Cn1Hrc|^Q?=cSg($&mX zaZIIIUny-P6&03HD4!sZIhH7&jKqPq10ltJ_R2Xc^Nh#LY!soa6s^H3Q5vil z*$iz9+k8aE@W|w*6cqy-koL<;A~I16mV^6h1(opYuxp)gMTR6+`e2=@N3EJHdjoF8 zEOXEZHD0?q{rLnKsqjanby$p57O-p3ddsFgp(_D>5p4Qf9PwC*Zhj(PI<+s14+5#t6 zd1k-2nO%Z2SB#9h+Ca8ys?Cy7Tj=lf-l1Mg$qqf(H8@~gAT-Uz{rDBW=3Qs71GCT6 z&e^UbZ_8fnK(`9DyHZ7tt4_*^O`aQ7BvsQ>k1*@CFB_u=g4MsPwPa!E>m9vlU4ZW zH~S`EFr(njzqQTU+`mivgyv6wu&l@AKmMtYbwSSOp^tBEb$k)wlf`gRi?$Uy@3Vy6w40|j#40VwApzSi}c_8Cy@ON?F4fy%jvlOPM+ ztb%c_*}%t*`wSqc%|{xTVPJ}Z0Oilw`~*4I;MA|z*qwHD8@tnvvj1H09lDS@k3JVM z96R0-BiW9&%XhS0z2BQRg=ddr&qLfdVKVm#%V7uSoMGghTtO`4(bjBpdt^ zE^TNQ6+vU?B_X&hfOD5zT!*i6^ zoM(_$h?p~-lj~vHVV()Gz{KZ7!1)O^COP&qoxfN>KIpFrN$_sz8-$OXzmWVne}Z#1 zMh11y5;T63Pzm-+8Q83u0!gf2U~AE0jA!Zrc9;)z$pWLe4LXNUfSZMXK+C3MJbkQ{ zpdCyG4aZ5<;&Eqlg?8t;3hmBTpvk_KJ{Eh<2VyZ;i5lxXu%;eRY2N8kF|G%ni0W!s zGidh$Tz!n^N5c+ehg9=h>$COIzUQ($0m6_ti(=k;q|ab;ZwiGd>TDPeR`8%dk@Q@73^d6EZGtW@9SX7r}D$dzpH~c z{5hvhmTbqRW7F`*$?nzR{YeyI9S%~WB=^>V;?+NN{e|Iu&3&O>C7y-HFR<%9^Q+Eh zkH{9UXa4FAh?ah9i|o}&zpWX%4?p|q$%0+u_bmA!3rQ=WE0~lzp3kn_y&b~)XjTp> zG)v~}fV)0iOEqyIp+##+GEA_xZAh|pxQ-+{zU5h1e}R3Rl+O2Z6=FGQuIk{oHv6p| zveIpz@G~zAdXr=lA}faFto(VFR7-&a_GU@Ml(kOEx`D_!&yeh16|N)I)uhTfha`86 z4bZLcSr z;g3z}q?T3jw&>zXmFn{G)%N@xdsC=m>+t^Oq3eI=S-6FiK9Ukj*(jp*J{nn^P$Pl!r1Cr@{OTbZ}9r12(X?d>%GCYKMR+22v;UUj^1F$Uxmw){OQe}W?qMu zz)M4=d)qRrw8PYlXUW&p4Kgm3?hUqhIvgelF;yn(Xb5@zlT@`RZP6GpmuJB@=Ve-RF+H0#!(ZD z%=^>3lk0bN4a62dMT&pav*e>w(=ONLHfc+_x2SU0Q|>NjTW-+>d4pM9Ss|x;o;K~; z*m9G0q}<-_w4P_l8mVP8I5E`~rrh;Tx%WxAsj>GOD|e66r~U8B-RnD+yU%wh_x1mc za%Y@fxqaWU+=1^dM4zEE2=UfDZjU}ONcDrL-KpkPR5(D2*G{S071?=&?YZ~4weQzP+FJrZwb zeB97MhNZ|zeAi>TCbR8`C}uIl?2a0RRhf`SKA_;o<0`R?qFsM&sAIoyZSzozUq(ja z4WzW0k(i|u34NqykuE}nF5@vZ0i7|&TXl29$w2VO0UC$%cR)f1-}`*s3f|Hu9}B))0?YZ71K z|ER<_<$pusn;GZK5cAoOLcC8WjBxP7v>UwZcu zcMJ+VJoSOmo1UvZv1Zo||F~dD+p@05yPtE_*k3((<=f55|Kw|PdDc_SfBBpKgTMIc z{<)8&4?QpQU+Wg$_sQQo{&8i}zUOD`m~*V?CpWz^F!9x|4;QpwI`gjUFWfVG(1LLf zJn^?5j{YE6U+1}H${jEEzPL-Pd-I0Z{Nb|Bk6q_Vo%Z962?Or@-G(b}&%UO~-gzsk ze*5V=Pp{9Y?DNJ;M-Ht$I;!38cm8?A{9pI_-muqy-m}M-&;0e{PG9Z*{*z-?jV$eU z>1!>A+&cOFZP)s@fAj3sO;6rGb>f7(Zwp=Ym!G}$(Xt=4-g=MslH?z3IX7$-zx>{# z%hL+0&oBAs;zjoO7jACxi-#W1fAgUG-ANU*Ivkk(S-%f+QXc+1_r}eu`v&g5`~7G8 z_y1Y-tFL~VbNu)>&C}D@ef{Gf@6P|?iyKyM-~Pq}!-rpR>jxh!o-}xHTi6{`&Td7Iptk+qUPlUbyh8AHVqGnB(`~Kljkqtq=Wq!GbHFJa%l^faK(6Z9SgS zb$|NPf+nq7`-f&{x5=G5_wu(dyDTvAd*7S&+YTL?Up!{aufLf(^|zn7-I+Igy|*QA z*l?uFfB`>$|DAU}8*<-$zpAgTee`E*)})`j?Y3dfx_3YCik2<=5BkSHKELaxo7Nou z+u#1&(YEtG{rS)L7Oq|U*B?!p(s9Boue{dsiYr$ADq{@y1@5@xg>aK5PtN$! zk3M|q_S=84qOR`f`R~79`1>1g4E_DhflUx zx9-4A@4YwmoqO(Sf6J$zmfYT|)e}F-&mVrnfdkjC89n;K>A(KFRxtJo1}8uf0~=|HO&qnO9y}{D)g^sri-5<;}R{k`>!_?(DN= z)24rndiL4hU%g|;7gw!beX!qk*S+`E-o3{<&7M8-pF@YX^FH;|OP9@@`SHl5OBY^H zRCG_bpZ)BWUXv#M@{}<<;JLBnJ{&MVztFBtP`-vw;?QGh# zymbEjZlPzMx%4l8{_`Ibd-ZDBHz()zOZxU5^x*R4lQ!IW=cXqnPu}v64?n!Nu3bCd zZI3?s(JM!eoN)K+_so)I%dY-;ixy2iCr^Ie^pAghpls#Jf~9Y~F=6Xp|2px*i4%Wt zt=~Vm-8I+zv1312 z{=*-R=zh*Q8UDu}yCg3oBYE)n@pt#k%iC7cwd=W^6BEncU9rOYvUBIB7yRNEuUgk$ zyY}e6{`JTUUw!pX*5bu!zpSY#nxC1u;kiKI{2%Pzy>$2sFYNi@`t?gjmzDi(%H@{_ zUw`@Kaqr!G@AIp>b-U%h9z9xI|AQaQS^LpP559Kv=#QRy{`t`d_w0FVL}lfn-d(!5 z)7rPMsCo0v$(t^^=-ut-pa0aHks~`yD=$CXXq?A2ynR<=oqf3;jth>_(`SJoc+Ck(Z3cC-R7~Scdc;G(2~x#u^e6^81;$MAqkf_Gq|v zHYIZJ>}l>Zyr!?Y&M<}b`KeP_-M%lfMo(4~zUw-Dl3DO}*3}*R*{;+7$+=rvHrNlCd@V3er-wW6v zVo0R{nXfag)607mVnzzVV3MJ8=^%sYkfzJVWbsVv^z|lCvI#YXc9HlTgLj0Nh}#+0 z>B)!O7@5SSw_gyaL_b&pVk8OqlOjm9>a96^daD4!^WBXexH|T2(Hwv+d6QKsoY2)vbZN zavTD#3esqBzE=73yi#ZwuRqDdmexvMf%97{O~AtTfzb3tZ&RBI&Lc{8d0i6;(fbcc zY8&5DsXv7tRp9IV)kWtA)KgW_&oL>qm<4%itb?^JM;?>fL_C4nD?PK`<0H%dGVuSX zd-wRLs;hl`kXw|?#0wP_bkv}rjwA>OijsjuCX!&}qIkh1gaFZy#AHT5ZlOt(aU8`~ z-%_2v|Xzgc{iq|e#Pw~BE~RPsX4$Yth2FS+jUt)xA!C5&9?$e3tle2fjDxcth+7(L!zKh-@P zH<$9F%yoOZ2f}~y&Oy7$(PYHP-sY%TYk0*f(^!lKh3X?|&&M-rlcbjy0u;rbll`!)Gle@yyNMxXs zC0F7M@NUVwcai69xI+uxTwbnX)e{w*aK~1Bmm6}ZEjp(=gv-y6T-?sc&?v5ZD(LR{ zupvd?-J?=D#O`R33nBKlI`Aa3*xUt{ye+LqqFfx?kA1W5I_Rx_Q(V;+?G#m;<-iLi zaDAba!#(o+dnt$8<=I?0D|xzBEKtqflkl8tnG*$BXtn*#4YVuK6D04=MZP^Ceoum5 z@g-FT*ClHkW9bZpn@t=_fsNO7U+14tc4&eVDHn|3G|8pUr-e3mT#C;R+&=#su57-% z?ybiao>N=W;u2Yh#GzmwaP>{gdrvQvuey4%$b}55ogGLrj*)TcF*sOHGX<|Is91Qw zeSxn@uXIJpe%96PxG$uYJWeV1QYq%hRi>#$pn3cy6mMiUx@}=b@kFNCyB0~DYI_3S z4V+S|qes||fH`OG#Fc1C@0WFuMn44&L3+Mlpa{dUXQgqQiuVVpY^-=v8^4AJ+aunD z=Mr|4>-fM9u4F3|F_|ldrCL=8_b!tVD2jz8wC+COZ=nWkYioLq&rvSc#`F>FfRNYd z?94rmyf%BEu&{2OU|dmm;OcY={+9m6z5^}V_>`UjmpP{R9t`mGtW6Wivh@%Dp9R&}lpy()D zb9n_L6cw-^!fCL)cNle6GGVj@X?q%5cWqJgw(56^WBbszxGS0?NYcj_!cW}dY1@4d z10E~^A`c|7i`u$dY5ULAItnY4e&iZc@_b{NOOjb1i)`h@6~)5W5jo8?JgJ|5)8s~u zv@r)$D^w=mxht78(}b}6nnAg7hQUoKFX%>mF4jgf1J_FyCxYBcDlfpI_&S`0G0K)( zJEGa3QQGD;g&6z8Jx>%hKRGho{Mq1!-*pctiAO&aoy@y3wGkX+Ku|%v=86*+AO!ST zMe*qY5z6rS#r}*+Foio{&mpfr119i+!474(tr+TsHy=4ZZlkLi6=fxMw==!1owUZ}&0m*ZU}KKKC}? z@Qm`Y9K_i92G2Q$v)~xP|8pOi`3aVbn1k@&2ZpVB&n3&LFaDRn(EYKI&vNUFpKi|3pVq<8F(E;I-kW$7@O{O16ki8Y&JG~?egVW* z{NNox%4q@OlR9`U@Oa=QK;9F0HV~i4!NEY7;D=~`^!FPe{XM35zv7)h#^(ee!#fhl z@CE|uuM6#){$2-??`OcVz}tc2e7*~KnfVydYk}B8AFKtUN{lE6;*3tP73$`U za%KZ5XDToN91kS_2q44l2RsepQF;z|C>Pi`yG(-A5;5#)II^E zoGCz-!$=_GeWPWr2c|Yfm6z>EEK;I0czePYCi3k=c za?XYM1-}vwss&AOD}PW0w*b!sZU(~tpiRKDK{u)WDz&c%j)(nnwJ%rug}_|cmjcfM zhSfeFmZU6LlJab;w&dc$Ra?Zor_v5)r=L2aNLAu-b9{L3j z|Lq?4S3K^Ic-$ZMxR3U@zw4pLd1%&eSUHAQvb*UYdfYoa^jAInFMH^FJp8jgH0!ZD zyqO;V*L&!d9{w(ruiJl~hkuKQzQn`Ne#z}W;h`V&(7eah&0p@Jz4vR@dECF{p}qHO zvOjXm|IkC@oFG;QW>(ZxmaXDC#oSUuRMu2i)!M}iYuQ-UfD8D{ibm=!i)B@-a8({I zWGbj$R@E4}h_^P0og)zLdOKjo+aKX3_6~p4El>Q`Mpxka!$_lZ^N_0DKgB;0VHelbPmj#LAkgiUz&Y5MB>*EuvmiXs$a1t9ft-vn*Pn zHy+m3B0f&M?45@e)9*f9QBi{fqmBo;|4p{xTxy85sHGLrnh4Tu>@KTns9w6d zY=)#g)h^_=lUg&wRcS&#WHYa-#Klv%C$lVXsuF6G zl+ZZqUrG;#9seS32!elSJ&j{L{&OtFxME!OZyQebER@-=%jRL4 zD;(dDwVy)5@ip1{aDH)O(w|TrFbCBBOE_8gv9$P=W5JulK5l0nac+)$LIqDXRI{R!sD9Cw~f2R|a| zq&%5L$eL#`OlQi^vVvrd=HvDtXirW+ONd#m-1vSL2Be(Mi*4JF8H3c75Q)5P|ltUm{#Z)c@2Il%mF0wv2$trAr8s%&56hCDL| zi8a#hnl>Y=^#Fv+yeuYI&7z8(g@w*NhAcAeG^Q)gnEm&+h9CuMRVXC9aTn9)nt^Xa zX85}A$zvM!f&sS;Ukb|7{w|oj4 z#NHIfs;r{;N)xf7SV0bJmA{1}$y5&0K*+&rie*ya*v5o$LH9*16MxISF0agfe+xeg zi=gL3v!hE^7ULTN(6vMF$->JbW9-QtxtgpUK+S+%?#wD_eaGMO0GRFleD0h1LjLSR zoVh--AZH{JhX2dac1;O0-Vuq+N+h~0+j`F`PHgjGZpzMLV= zDBHLsm#h4n{*3q*$Nq@h{<7SD!qU$DEzdGpHruBpbL~-fpSYiZ^#DzJXxAf@V`32M zdCI9bp{Y-W6QgIL_w(QSzhAH+ZDaLf3!YzW@)B)RGE67yXZy4BvouKmk@+L@I=U|? ziciZyOJ*m^mb?$i5HH9i(r;P1`*5kij1;7G=eC(xN^R}h4NWFR@wGWxD>_kc5NDs8 zM`P6WEwDm>ji5sRUNc zs>N8_PfYp)rbJMj?H5>2MX^Ef7b#E=Sc^BczbJN*bm7n_$EGUmWe=O(hVa2llDSuhkTDCs?3SQ!{?Xmjb4C0hB?DNMwS~y(&!7|kqx}W zdMt{sHw_ux79B2uL-&Icjw_q_g2HR%BI%LMN+L4!Tv?IT3}y00q6^{c=WMAk$t95! znXjhokgv}oC>yOV#u>|1mbPz1*{dR9o)k_DycutG+zEqq==MK=UkgxjG%wuxT4W6J zs8V>|Y~O1c!m*vm-Lc3StV!P0(S5k-V-L&gke3)!muW4DO{36MoN#=)1ce?Jshz@w zo@qHw{dqE_{zSflMI<P?ksrg?q9-P9=P8#<64s4niEc`zgX@>{rwUJA<=Nw zef=$)kTx#&CMHGk`j9@a-Rbb8UhWoOyJR?!A3*!f_8;ldVdJNIc38k>+&) zJch`gnDjgjfz7aWnrdVgD3O8!N31q` zHYGU`b(%bSzM|OGd?~&bIRd#F9m!Q&yv2O-bJ&2-Hw+W95RH=9M~I2fL})Ca`$CC%UPsptAjp;}!i*Fa z$Lq7h@htGuXBanxLI}MglJXX#f4m1JdGTCCB9|8E-AtqBN_#UNR*QW)+MI+0+pU~GvF85@{zc^l(pWwkI# zc#o4OoOpzT5bLz*zNC}bIh%e85|J$Enf$VUVZV=yD*3f>4hF&P8<2~_C~+8pIAGOY zWv2>A%*U>wfA!Y@OJZNx%w${RYsh9*^AtWZ^UQuZ=%r`XD2|QeCaP~Sv%5!`e8b)~ zVeB4C8ihwiGanbl-b9Txb3T)lzan{E8WMgIG``(xvQ|Cd9;&@;4hP}u+d-3{1ZWwI``gR7R|3-GhSe>3;i zV9ZRtrJuYWYJR6bR4WdEa-GA%i2?cH3wEL3_22w5m`pyhgr5e*7i#n8{iFWQLQ!^C z6nnnwei4P9;CbOiVzwhK#v_K@kEN^<5!OKUEt$*8ZNKXdwhIJ>t7-@s2|9+;@H~~I`@pBkSNH$^3d!kA{^@{PFolT zoAx6nO@D_wgD*B8q#^}XwW=gGo-1{1Vcj(nem9hL%9oD2Lt8)5ZRxz&p3Lizmx*{p zJpHZnQRBK#%j=-LlW<`S+Ictb>S>j@#ivNPaN|JoL%#R3i>6MG46%ve$Vmq)=#-cZ zCbN_I&wX{rU_aZ&T`V$JqZY>0V#S7D-2rVr2@s05qUV-&7QVw4HRX=&zf&~a-ClrQFNAn5v+l}@U8uw)3xW5*nkWOc%4<|}q zglBx>;p43^c0dHMuv#IF^}Bl@-~4|J_j?2E&w&+N&u~*@;cn%Olocnco-3-v(8p;F zU>2FC^o^Ts4h(s8NoCK)iHYYIkNcPH0m7AqFBOkF@YI0*OpC}i^qEgDaFv9h7)C(+>cQo^LugUK$PYzbe);@;oK>m zzR$M|d`Ax9Dsrm%jB`IQQT%6eujgbiOf~*9#qSk$$M~BjP5vL%y#bDy;3$O+N><3k5UWl>sXQlEpeL0Z1Q2AL; z#8`e;`uIWgP36;K#pqD;OT96DoL^d_e5^NOET3op5Bcu{|2E}kJxbxvuy5%l@c*yw z>tel1;a`}Ze*+-%)=x}+u%4yxXNb>4@Nd_BSFCp_{29t;3HYmY9~J9i3cn}*?_wJI zG;Gm$S#cNeLeSpm(o&mg6F&lUR=r2&u#{pjko(_Bzcs}qOz-eIF32DekU0pB$JP~-L+Hb=w z5aaPnAk+0@#cu;gfxZJs|2G3M6&&24I2uTKpA9wpcK!&Y+*g3)Z&&*t07t++4#Zz@ zA%2)o(}B#V5kT+<_h35aT;TVB^nW{$d@Btdyjtmy(!0<=81F}c=Yj9LK&E@6+OGs6 ziorVInZP+f$~#|itlEzPo(lUTfMbB4V_3j^?Z!7&kwp&vgM^nS&cfvDEO9{|bs4Iurs0MTUytAR{k9xxB|DZuH# zV}Mwf3i{OkO}szI|4Sgl{}GUK?ozr{>2e_Rw-`uy7Xm4743P3hsQo8+-!UKm1Y~)? z4rD!g9!R+l0vWIGtNnke{q0J(Dt$e0Jp5e+WWLV?GJccQeVoDIa3Is)gUUqt9|0M^ zw}Fh`OF+hNm)idb$nZA<8PEAZ#&aBy@jOm(D3J2FzYbkS@JS%)$AFaobs*!{2xR;g z8u#FIrE`@29G+NCj{v2dfRwigNdFfCVS=L+KLaz<`38{u4+9zhZv(+Hq8Z5WF90$f zlYwW0J{yQ8E&Jo90FMXF`pf-GEVoyIQ-R!Xgr*zhiVM1s;J1KB0`CIm0%JhRtpqYZ zI6q6A0c7~+0wp})1lV)G5W*Qf2uQw9kr?vrS9}Xd{=JHwK&G!<-M0W4Zd~z3Ak%%F zx?cgL+(N~Pil?hP+@#+@8Av&9MLh5~s7bM0F<&vD=u_MWe|Q|!p}1ACNwHipUooHv zF#h0~``PR`a6J-F+K&4;5kuOJ^WIW-JFY5KcRP;TtL}E(GzT>IquFsP7ph3xaox#E z+i~JI5HGshaVy6cq_1IwVXjhsJMQaH`F0$~eVOF9hI@Zqq;Ck^-SiSLx@p!^H$4#Y z-89S3O}_xbP5;D0Z}Z5Dd)x~>^6NeBD?H(`{<*{Zu}A(Ck38;cb@Q+F$e-r%|0|FD zTRrZqr*3(CcGJr}{6~4h&-d`3>EZvO$Nff+`{^Ee^F93Ud)(jh_;2y>f9%PR*FE%e z9{-nl=pK)}4?Of(5B;Dge%E;D%^vz5PkfH^gnylf|0Pd&T&Q-J&(}Tj_)+V2ckdo6 zs;!RvM;qx1=ghpMpiuUhW!_v@bcxwrhuvk)F1yQSgyt0*(%uQscwJd_EjIZ@bRU>- zR3laCuCDZ4W!SXW+de~62C~1>T?lHi zqH4v8x*Mf~hL$yK)qGnZN zYo+=?wE>}l*j<#C+q+@XQ^~Mx)K?ZMi_|Tij9rQmgkHBo9+?QU1<}{*eH#-3fl0ae z37GAPdAYfhCr%6m@Pl6(>_6oGQ{8=-NskB5I`{(khru_YZ&ON#Bi7E(0Sp3Z#?lXr zr3d4g{}`5vIn;fJSK~W@#>xxeBNpRP3Th%)gQj)ReS%gFzU9QU;Csn!G`fyeU;6}C zX}t2$f75J*JU+G^E#J$uN)g%DKEXD87t-Ww2JOS3Rz-_FoR`ak{$T9O@uunf{Ro`@ zFbtIToA9E~0q({}@j_Tqd@25E$Yc5NZSS0gpxdDuPBn+QVQK1zk-?p_FqG$n`^u4v z?2ZPr$B&T+g8@1CDb8_nB0eC83<)qaALze>RlsOROPcnKDL2Y~K~Tuojq zpoJ@Uho?Tf_IKTl$iilbHCea;5;O}hwZU|k6m=F#7KSH>)+;0YtJ2QL49uVxvSv9h-_2cy?qWG|DP_#8j_F+RpYF%(0 zT4rUCi`*c)DzofC;n>2FjF5P9$0|PfQA{ds7`Jok-_{Mrn*5uHIhsYk4^gNgDb)fL zE4SD(gN_fyuQ`UpIUn>NObks$BtMI;>-sS)a1o-miMLP}+8>6M7QER_byi_){W0C^ z;b;B&ji1fOD$R!JvAsL@pVV*f3kPuj;?&R9?r(i9n%lJ!@j*G?11YAQH$s$_^CMPj z*QMZkj4=;a{v*8eU9`m!)$sA?Qm@EQcactsVc!%956ZbSD?D}g+7G(VfLr&N;`qd0 zCob)o`s)a;iCLM|^Ypl#?ij@T_w0`K$I_m&4GVVzQYiA~BIL~sgcJ8q{oDG<;W)au zO57(uaZh4(&(u#MfpB8lo^YaIPu3@Yz`ctmS=bdODT|-e^V`@tx|1d;yq!I}XQLPP z4K}}z%|Fq-q3y_AZin=@#8`k_Tki>1p38k6Yl`BRjAW56K-PzvH)Q*wCp3R~*xKRP zC7acr1$GIS8OQSAZk{mr#fIX?mherGShx34auuqw2)5YMi_V;tg|))|-N&Qpp;Ndd zi#a)JC)zS{a_Wa`|K8mnnwW4A4XRFdN>RA#jJ$1-Us>^EP14$!3{!#fUUa1v{WjRn zmMqQdKw3`aZm;6_xjj!uj>a27#r+PmFmqbv7PiF^pUuSG1)D@&8){O z=+DU3lvj}1MIf)BWRvRxmrvfm3~@kwFdCXGpE_uJENa}*Q_o#LOcGZ4+i-lq?qsS^ zHsCo8Jg0zXl;w#Xv)jJnB|F?+Oh)7)Bc#Th9*)nJN_1kl@|>_#A7)Il`gG1TwTJz_ zDL@7}5cfhl-GW_n<*;P-D3k)k_icx#tW3bJ%p80#_#vEftcOFHcxd@nP zJ@IljFPNZ#wD4Qhoe|EYx8OZ>=NPu1uV0$~<8{!N1(!_zPeDgabE<(f|Ap#)JKQs^ z_r9d=OW>XEXYq z?(&V3!T&(^urM?5pQ--LQg{8%Ny{INSFh{cV^zO}ZAaeqTgJNp|HmsI%UO(Fzjdt# z*TCT?%E$I5rkC~Zoyx~{C&tS2tiLk+UHE?)n`3CS9j2`_lka`}zpi{v2V&*A?i1zQ z_OYsWL-Rc;Z$`7UNXp|G?^BeI?Ndw!c|4BgQQ-?1uB`+t z%E$g7MV_l(%m?2nw)xlnj-awkd6Xjf|C_LMVdx|{wt8- zz6?AO^fsk80=aItQt88#{s)-J|2zC3DZx%4<^BLje(L?e--s1TU!(MeK=L08WV(+~ z`@bU64EOgySdHM^80D;2`aIwXpwCo#D3JaSAW&jAkp4P>l>Z=*^1i0_9HpNOdIgYj zD%Bo)F@!!{=>XCP(StZ?MBE3V#16%+icN~;iusBGMW5n6cozSPTNRrW%N6q#1ByPy zeTWwx2X!cJRcul$SIk!oC<4UamGI1UOFJIwRN9U&K*~Cy9j|SK1=kJj_~kxzx8t2> zlt!M5`GfM?@eJys__yPeAE~j7yyJ{+L5 z9WT79{_XhWPIb5A4X$(3za1aVRoadR?^OSG{J?cN@>}y&b+_ZAiYH%c$*R`%jdfhQa#^QY*ySx3PqemidG%6{zjT|bRE{N8 zHC0$ws*hkvsc`Pxvic~N?iw2EK)Phha*~V2st6Z$7T;LaP?y4(W+CfEE}uxCt`fN{ z>!Xd!Q^b&~p-R+rq}V%l2U#F;$u)^fk#LapoRpQA>e@(E1C@Vp9WF&engz6TuzaeL z>nt~_whGU(i;`H9G0H4lF{OfaX!|Hz8m)zvi%Vu)T(-CodN(SUqk@#7igBGKvz~`u z)>-n-ojlpaE8kY4I zBF&+$xBL<>85%1ue;oQ?HpH~`mV@hg=ukN_#|H0v@lrFdZc0brZov8NYyHOF+dfY_ zh5eA{Hr_1iOAq^4yrgNCtGxVxS#Qb4iUHTSyoT#RsrRp^>UHP6=rmId_#Qafq<1gm z*)mWkfxgz4cB?$T*J<`a9v`#uqS5%JB)PBkrTy?vW7n6sIZ#E5{lB}uv={Mcg3rC@ zV~mUeo_l?X?^6C#{wess2LJ!AaZkLnF6}6Vg!ZQ(az90JZgD6k-m^R9Ezx}{X0^Xb zHhx!aZ^DnxYCmIrq|DEY4EH3otoJleKP-yF8f!4^I;j}K+V>-ig|+(x%*|q2t0Qt$ zaiS4ZoofO;r6bMR_(9-45!_f-X#Wr%oFySmg3+2PVtADG0>sS-Rkg%A2^JRz*Hore z4pG{+8;!`M8s{5vBq#Me&QpbL2s`=^qVX$?ZrU+$#$4fh;z7=~gm(0U71o7Xn}H>X zNX|g;-a%egA$uOevPFx@G8in^ljR5(3nz3#O&5-joQCW^1Fj~!SAnIy4nLtbb{k#X zlS3KVPzK8rXgl`}Xe!2>e^F0oaV#?MA)Lc}0Nd4Z&ZDh3@yJL#hCUvU)2}36lXD<4 zB-FIdH{Rd62tu$_gjr8X2~_h>l81Qq4#s*r)-`d;YS?{f457C3Z7EAqq1HIBLzub7 zH1)H_p+%Tm#;huj65YvjIxQUL3I~!|0THHpg{>Hrw7=zO!~kbz{J&})g(!~keTZ#| zzI+UmTB$A^9>>BX&gn2M?feE5fjEO52z3r(97W1)l8#TXXpoI~Sr&5=D2_`AF3K-z zUOxpwxpPcb{Y3b%XYobs%3jI~wUyaWuvU~WvSK3z;!|)K?;%En?Ln+4i=$(8ketzM z>H5@U-m=s%Y9x$FHVmv$c(SwWIpc49s=tunwQ(2Qo9k#*sPm$cBH;xQD&0o&m;IuZ;mQe^ z;U2qkcsTaAaQ}<56E|eVCUg%C$1lb*)b&_uZNSX_;qk+pKkXMey!Gkm5lzdozI>wT zlB|Aal0Gr)UDRSz$Qu#GcD^V=ZFks=v}>HPm0@>ZC5s5Ua-&C^nh*4g7KCJ(Oitdl zP!PMbE1mODdakUfxpOSm^BzLL+tFv3jor`C(^OOPi#mNpA5>tZKvw=iz2ByKz$ zCb`g^1D4ZMSyl?mFDwgWnPnX;@QO+Xy98o&-Y`)(P`#XoLt~HB1GpHKED{_x?3^Wo z1__c0DvoVy1E0T@`!-7w%f=QZW?^BgbrUSn!^c{8;{pB4W(td!O~E1+)CeG7o6bMm z-*PJ>*fcH2=WlrxkA?A-;ZXCJ16QtWDXK@kJJ( zd%^-*0DTDKFCL0wvyy$otbFhuiKR}Yqa&Jyl{cw~a?w4*R4soKAW zv`EYl1%J!mFm1!5v@IWFRca&L!-;`w0LA`7oZG&iWm6Q72mrPg-H!KO^{NOSQ$tbXdpZ;akb_h_@s}>1 zR?K@k97}A46JU#h2Mjy}K=tW|<+SYR8KIA7W%Y~Jqhl22#9hLiNRYWW(Mo2CQ+FiX z*~)-fC&0}|aX?ONx&i^B;AkhyWU*EW3#)fAk$~fm?VPkSse9N+=rz31qY!7SjQ_UJ z(cRvoukQi$% z6}LwusuXqCL*hJ)DMZrg)uymzrI9LejWwTVLF2_{6d zrZ|zH$DT))%Wpk@=Vfu>8smhx2*nF&by4N>;rLw=r`V`xaG-e)7=2hvPRLWwype_% z!lkTYQoBR_Iz!Dphpj!w=8=6**`ep**8d(?wM4?C&;Cn^zu*H5bFy$`eTu);kC;JP zzv!7bd@M1E`JtBT5KaLn%Nw@0h!0g*m6K+WM)D`(G);; zz`V59BH!9W_`&@Up|(HU0zsS*clsac_}5N`Be01!fz1c74dG4b8!#0-{;f91?)nMj zg?eTUD2{z*>QvV~v|-lZ)!MohJnRkEip@zTB7F0-UuPo{LP3kj?#r16{?^x^Jluo< zk276fIO`>GFS1@xa3+KoBggY)$MHmr!;ZwT%>aE-B0Ct@o|yw!vEtk4CEl3T{BA$1 z>LR{vO9nf(7sH2e9s(h;Ds1hE=GbnywF3$vqC>F%Vt~(o+c?A=c@{mX>$|AglA7DU z!B=1FUy9@ARoHSfUE*c(s=GrHWZKx&C;TlNT{H@h1&vC~`j~7{$kZlSusvezbpdYS zfL^A&r=f`>rJ|QgMQ1B(<-{zq!1%(}mQT#bkpDC9qA8MmcbBUDmqH+yh zcvAm3WGz#UF(t=3t}&%}bG~soQX7a5%}{{a0zk8>iLbh zd@LWgxQ1pAb!|Y?N~}wG5wkU5kZ0+DHX*>~17G@EzsDR&44aFo3{w|wfJOTX{Dj&r z#&7pJxK2!U4T)(z@31F;rnI&MiEkzQOY12WAH8PXX0boJs%V59L&m*Y&}n4=Nvu? z&ZM>$GzjF9)iLu0hX|sMf`VQ3n>WHG9-&ld!HGR1ahD=0gJ@Aiffo4yoBp=#YFHUqlJ%RG^(l5V)`{$!3_Bww?6AA-2aGm) zZ`kFT*$vxN*ly+^d!%nN-@g=cQ__P8(|A^a8-8ILbF7ug>Rv^qBjVImg1!e-heiqm z1!Rmk6~`wbVvL0oTiY`rY&+=!=VX?|wwf$c#|xpbZ5;+l!?;hI9XdGLIcY4OnKc(mS(skM6mjg= z;)qOY{Rf1=^VjhSWSZ}dNMQT*_zAWB1;5g|qN%P8;z|)B261)b-E|S(@9vE4Iu#bK z-0X7R-)tPmuuBvn{F;UazB|zyi+B0fH+^z^df4QgFosh$3DUp2rB0ESiY_v}v9e4g zo-7b#GYdg;n^8FdUBqcfrv$>BsYUhCSr9bg#3SM#ZNz+^NwcJWM0^V>m-w`u>RZSi zSK+*kFThNNqt`}apLODX#;Z8-6UGYz0t^Ik6_&^>iRU;2ouc>x)W3_f3gU+qC+>Pq zyd+pF(3_$0#(sURFErO=6ld?)4(>u!@Jb~UriHLqww2zXYm$>hcIbgA)&+>8Q-{%f z@z$?H)mVkj%T$eZ5Y!&RPpFN%_@!IEGLtLSK}f}!mg?FleyiasF|=XZ=H=}vqa#c& z$wGDYlH%7Xc(Y5lgs(*?m|C!xWf|fI)5Ik1ju2)vg2|w{3U1qLh}(iNbI9GolkRmn zAl0?qLyU9x5%><$(uG35y_}fU;+Oo19A_PMpk5Svo!K_N`&8_*j+_ABnY=}x=I&WX zJuoVzcM~u6I&<$aQpJ1qVhi>&Rk+J^(x7CLqEl_)iRga5FI4N5i5cEUGJ$8)%V;I{ z>uZS6((L3Tl>+iM(~{V87-JwzqhRu@$R(4T-2Se)>2G2AhdMF+4CnO~&~hg(Qr-Rm zE4(q#Iio%nXnwICQq8IJdZfi!un5P)^`b5CBoc`zG=2TGAolm37uW>9gs3hiL!{@u z2D{sChn;?!#(6Dm;ciU5MUNB?&dX5n*TJJD@^L;UElT3KwyvSXr`u=nMkZ(kBI96- z@ONwAk>mJQhuS0aQlN^?FG4*7au9TnQL>E>g?G7^Ja`u`Dw4ZvqT8Ps`~S9p=ifC?aD%QKZ7SbuigNoLB0!gMGG7 z``8LcVh3QPb+%Rv_G!_5t{M&Zqnt{k<%zna>n)k)BBi!yyJKyMRGFH>T@8|Cmc`GI z3#hmUSiD*$EJoH6zBo{C(P;^{6rFtSn5xT*PS6WySh^(%!3RE`+PN(Xa@wD>Q zS2Q*T>X$cEG*@MS%+&c=sE@GR2x>;bFTnShR(gBbbet$ zpmc80Wuf_nf!T#u7^Z+;s_ydZVp%vTcj`=>ZN@p^N?y`2f9`^L6f?7M?);*Qie^HT zk314F&&n*}q9i)NaL;jA-4n~h80#dKrk z@&D3H!=}1}8B~5TSN6eYWqj`t`Tlr_d>YyxF!Zp)=ZQ9dd z!i~meuc7dJtv+1=%(S2V33bOdjg0c&SN9_grpf<8-Kl3H(|L!x@vfxdOc_j?|17-5 zX@(m}bN`CEZ-;xP{qoe0Lz9igs7&F%qk;>-lPUkkVp5JqAuW9Bo1)?8PA2~~>W*z1 zG->|7t?uXa;{JlV-vFPP;y+6>zN(k}eGrQ$G$$EI3;$VlKMn4g;{P{w|FoCz|BNL% z8m@O`I*+jnYo#1|~4J zojCiEUHg_0@@PCx@u|0{ge6D@*cfw(&^08fsv3#y@ABRJM z@@X-rg?kow-obxR`Pk0HSa}|Obc`qWj^6#2NsqQWY!bE`%8hsO@jSvl<Bub)F9>v!16K*RQ)B3IMT@F%h_Q9ic&6h2S* z^m2gJfqa2gQPw80>d z{3if0wHq7+L|qHMi++mkuK;QPC~zY1dq51ef_DQE{Sk5C8qhZ>JsZey&jr>1N2>eL z>i#zRM~3%%;B4SiNh`urSO(5m12c7|XDG+mm!2%%T zKV9920~xP3@nQbpnnO>2mJt$@xLC(cwP>q+^LFZ05606XdvS;49M_5Kicr^ z0nP*cAdvF60xKc^n+Agk;JL8hsO~oa5q_{%ak0S*u2MQ5I1lb)fQ;X9z?r~-z!|{5 zA7#qx&p`Ci!IyyK>j2XIes#Y?=^KHp&%8}*IGOd6`+R#uK|9D7tYndP9V#p9mw*y8_4+F4rKV7fM%06Ye`6nMBIBS$%0 z8Ks=ZfLWj~0kR%U2hIZibEvW34;%vedBw*R?*=lQuLCLPR>cUA^5+8cfFY$nfRJ3! z`+$`HJ0RQTv%oWf)K5cyai!M-DR(fC@#;Ck-~u52MxTzKvti#KcqZ_*!{z?;An)jj zf~KC)OMrDi{EaTf59N&kmco7*kmdC;5Y9cVw0 z`S&@#XO@F?2ax%7Kak;YVwUt*mA)Q07Ic}?)B{=$n)hy(0M7u<0a8gV{ZS7n<@^_L z8E7ixU^rz!*3-*@IlvHb18^FU{M<>y`Z^GJI`D6>JPp_dr2DJ*83X!7;Hkjh0IPt% z0y12VSMfK3n-W={HmE(vJ+$XGDB4qxXan#};8I|Y;t4>?=?BE$h_?s54u9> z8R|YsX-?WQKe=Oe3HUxmrmh110|=|pZvrm_{VEVajeY^R67+NGz5~em`BNa{b&JwX zN|ym)f+$;w|2aVNod9Hd(F}zSBQU%whvx&~F85#K)i!*j(g(nYSJdzi4ga7$K)zyj zEBycvUH|Z{N;d(I0*$nYJfxBOR)?1Zvw`SC`RzQs6v*(xz+s^Cfryjbv|$hAlx4co_XWRyL3aw**C{=RYc@%$?3FO>e5(suskZsoW0Ek9%-z|PLE zyrHz6Px%E41@3nKFE$`c&`0w$=_f-%7Y!ClH4}Z2Ny#Mi} zuggP+5E*xT{GR;gW=OaDW1jFX^YHWBxSM~Q$Nh&M_ftIa8R?PFbH#3Xhk5hELqF`{ zpXs4*@W`Lwp=W#2+vV}k@q{}*=XuIwl_x#jp7i5go8tcnkNhl;|BW91c^>|lM;^Bf zxZ_vnapzVJxBC_k|3x19dQbS*c-%kmrS)r~lR zU8W1RIE8yfTDmNmV+JJ(Z2s&Q;V9Z6YP?8l5FoMwhfJ z&TePpXvIJmwVult9_VYXs)SU>8ETZVj4RoNOscGEgsN!aWae=3*i9lWF017gwM%NM z8o=QyV_nQev>Wi}%5fes=K?leT-H($JkzfBsX73t62NFiR;2)*OwbS(8rEB4BQD(n71C6QZc0E?bP+O?}y} z!m6%aTF1JVTUJ;yqp+Z$u)yJRm7{48OX|v&qfLl}`l?z}OB*DeWss^z`jMq68n;2$ z;yAx(*RHL^-T)ySg$a`9Y^S!lr8YjQR`6=e^)}ebiiPvM!_k zbmP0R7W&g`BTF^nRdslBB}vtNyK1(l#vspRzXfX+HeZ-VQ(05TXQ!L7l^&w!%_}aO zH~*5kg=Ix^F1kee9;PtGWnN)u?#!^u?clYBsj975(VL81b!1*qqXo+_S!Jp!qv-7V zR6Fh@#V7)IC8PL~P(k6`-c*T8Gb-cWk}`JTlIAoKF54N}s~a9ERBRGajpHa&m;Jn= zS#Hv}Xki$l3T{|pje?@N(6$dZSD8yHlAC6X zH+I9xxZn)bV-B2wYhS5eq+Y+QLP8N{;VOUu?P z?BkhWXnEI~y)r4WRx3J7PKFjNOsQv%SnkWo>>|5y=IQI4TZdB1()1X7N3ep-EGiA7 zDo|`@Y25Eq=0ry*S1wD-O5s2eXBNbUp5B=u z%UuelaFWTxzNs>F0otb1>HwXcmLOd>`%s_BUDik1xmfJ*g4031BVhhr{VC^6&CLyn zp`LmUOHgMV?I}KACjBW3F&6U$7^2aYvDZCtGuF;8=c8$?julH|ILrAi&T)x3RQ)NK zn-pW^g)xaHGSc*?99*ABzRKB$aVAY0(u5(huO9NIiB0NHU;0x5^b9jw6U6Tqw_%pK zO<(#+>NVd2>S_NFnfLRRVkS?sJ4Iw)`bjpcynL0Hg>-7t#RlS+tCIlpnRAH}RtEj| z3lR?{^#LH}^HcPbFk<|tUxtwqQP78CxKVY7FFWh3{p9A(NF1NKfX~Ll^~_I4-=Zhz z<}&a~%9e|7tD(=(a`KfA7Wavkt~c}yOLrK$*wXt9U18}aLpNCZLqo5%bijnic|T(e z{eY!&4gIX8^9Mi9x=IwzQ@v~ zhQ8O*`9}U@mM%5)A1vKu=ua)Z+0ZAl)1k>X@}^jNv!SoB^j1S(XX!nLUT0||#reI? zT>a_$hPq=7OUl#gce`Hc4s~Cx^lM6E9$WZ1k3>_i^pQ$Ols;Z*tnmr|SxPTadYaNz zO3zVxsnQFTUZ(V7rI#zcLg@yj*D773^nWRh`63DbL8VtH{i4#&=b z=~IXNrK zv5+qh*I+pHAKLba|0CyzArN#VSK5xaXD0*eSCM#xfZl zWc1Rj3kN8b4b}CL>bly@{&i56QG$#Jy)GOWWsIjdAeyd3%V%lINGg-Gj7gxcUg9QB z9K3pkVKkm=zT4c%PKgh$@v5t>ta5wRj}Az6+e-CtrzO)2jVl8BorSB4Dr%}L8r`Cj zPSuT#QOp5B3t)9cO=gzss#fEZpmteRgM3S7W|A*7SGqFKFS&-pI)&o0(b1~M#Wzo85V*taeNL6h_&If&57b{**_byWz^@ZmLIRD| zH&z9f)KxVGYU?6!jZ`iVEU8|G0kp5W7N5q|O9GAfG{>hWjw6tz0tXm4O%bTZePt`^ zsnk(y7zRe+qMlIr0+p__18Retyv!5wQ=cT$XepTiX_#hW_hF7Y1S+Aza528{0+JrM zM3x6uL>nW4#Z`fd#f^0}QG{q{po{tECtFi)>uciivC6Yx37fm?yT{<#TGTrTfirG*h?b&Us5tGkku>PhBa_8{cfD=>$fVqU-rMwjG~4 z`$~;B?v3F1I(P~Y-bQm>o;23pX+~ok3&)DV-T1-Zpf<$^6t^gDQe36DTydddSaFKt zSjCZwS&9cRD8=I-s-Pq8Rotz}?*ZC#9h104ag*XI#f6Gt#VLwo6-O#&DIP%LC0s>* zJCWv5Ya$1;#0M0&D02OZ_Nx?^D=t(FD^5`yt2k0IOYwlo=Rx}w_bTpIY*Tzdaf{+6 z#Z`*S6&EUo6{jeURUE09r3hg84>}Gw9C?yY3mAUDl70yPG?eFF@5OjVz9;BL0~sl_ zne$-ZpmTAJs!-BBA%@R#(L5T#RI;m=rZqaPMkt_kiAiNZ|DujmU8)l+I_vkJe0S$f zo&=4iH1@lj)9J|%?@Zs_4=`^6_=jQsv5xg-9%Kf=>{gx!l;&`g|8`h>sNdZ;Qy7eu zSC7WaHj75wM6jkWy`YpOmn za$@g{m~v0#+_K5g*LQrI5#uXYY|`|0Ai^p-MPy&!@odjDn+^E(sXQh59lqQ?6Z`s( z->c=wv)k{0AO4+t>=-}(GlKl=F_#Lkw?l{{?-~0K4!;$_t_CaCdg$aW4K57_U zhDUSe6`w!$06BXQ@nhBX%`2q_2G#5UK|_rz&-~u?L`?RVxD>A#6)V2>$A8W)#xW`9 zCC$W_G{8!S!#rGKz*~*Dw^Gd6_|0@~Xq~!C8}W2ibn5GUO0_mLHXQH!GzT&Y@c&ok zV?4yz{r;}=9Qbzg{ZsigK56GPn!%HW_b3oL(ayuwN)-^)JE&m?41uz4C~D* zX|jfyH%tcg<76~z%1|}#8peyge4f}HG4KhzNT{C$&d_)4C@*sXe(h^TFWuczSpx>~Qnm(X3sV90w$<+5t5=(OWH9SsT zu?rDu*HF9|ry#!V^K2>@^8&ec6B;X4LH}5*$)1@|7p6KQp;0?-v}VR;2JpBQfrVo; z$4ZR4CmRUjy?YDAbGmIiyZ`nOenM@mWWpjp$PdIb+^gahWM(GCD^Q8G2Xb0EBB%Ms zwU*Bp?LNRUO{%{+sZ7v;Sh5N$L4;qIT+)M~%hPe1Mv0z`%3!=|0 zDdGH*1JT2wGmbG^WK?v>Fok~e;kP4#hYeYadiHV1(Y#@zFEY-IV}_NZ{+pcoDm=Gi z78W^mD}E)D$R1mnE0I9lA!rZ<_3V>Dj%ZL3X=9M*UvVTgCneqOmSn_?b;k$(-oP8& z#6bLE9u+b84t~3zVjM*gQs=CRQn{I+4O!inh2#BsNnkkMh>V;!vZpkcLZLlxHX`{n zFJWxN4X&L%FTgrFxcel!j*ZXG<^7KF?B;(R)-Y=73(#L@mA4piJ*88?_kGbZ;@mZ8 zf?U*7K83M~4_*ZAK)5iH1Xb1GD$c<@9nA*@t-Jwgxf#(8R}R=1?zg)KMYkr)RLQHL zyHua4n~(J$Ly`6lqzP(~;Z&TM^fGLCW8)LB6kp_|1vgF`F;wiQ5)XGCA?#jwg*J|M zZrOH}$=`-bw;%sM!v9zG|0Up?_?NPG5|*D#isbg+?mfh?Gvs0+{kFkdjBOXi5dk^BJJq=&mUDVbV@_Ji~}xyYimaTZl( z>E(pn;H%q_JjaoIT~hMojFMSK=n!UQu|F~jm1s4^bX1cDKvH|L^~t6fLJ@v|m#&HV zvZVY{aEaQiJ*lo_LCOp^QeBKdAday2C{70I{vB6&b2$pde4X#4xH6 zFlpHYZ|$q`6KXrgM#F|^->HcaV?@|M&RFwwBQgf>l#+)^VqGe;vp<{=)k-LhS`#Ra zHI9`$dk!L9;h0k4{dtnyv=JK`+g?H6 zN&HIW@auLD^pDF%f_FyplXoX3OUz56D zDUSWp++Xd(eIiC2G`;!fy{HFs->>eRzl2E(pXcvrmKsQNuNZ6`dh;Jq_ed}P_xIud zGj*Q@|C#c4h8BEp;V)44-u&O&hyS1T;ot7-=`H-j@s&f*glEz#HdN+Y1<>UK6jOBB!<4|weJ<6y3cE2=WTRcZ~Asdnlv48t|1Lf;{Rio2`88*TrNgH|j0B_7LQ~ z1HJ`^Aa5wf8j(Yg$GzNTham52@U1@tc`e|pJ_LCWf^U=Z>H7>yX432FOW?aj`3_c3 zKL_9A%2%%0?DRw0j@S?8V2t#U^7W<1EeHJ6fpfg-ljD0&j4eM``&`m)GZ3#9xqr3V8Uug@|5qWgP5#^*OmcL0k({{TpT-%$IT zfHOcZ1>IXul72hH|Lai}su_C*BKW zd3{akn-zIZg8b8!K3Q=Dko-fGehqb;d^>@Z_ah+FeYesZ)t&RpbiYL1^OZhb-G?dt zPxKM=|1OaHzX4MIFO(tj%utRvQ{eH4i8S3&CIVtP+g_dg;s7lHl* z@Lb?F;Kjg)fb`F??kvy=rR#uU(2Ic=01MO}VM;uHYt`X<|_sieTw^#Z+INkp}1ACNwHipUooHv5PzGH52KJ7i-6oG^)}K)vl;nI z+J5JAzJ#>>Zf{oF&Vvj=dgyNFHQrJGcAkReM|V5#5LMdF6CAJd?05firR_WlcU#cE zofqj;|8|~ZjM8@A;@e0E`RzQ{RqAf%efp_Y*=(quYJI$Nduz{RHCg=6}~iXL;o9^|(`Squc*W9y;U+kNck8{6F`|r<>b-qsM=R z$3M@Ny7?PC?zNuyvfjA)8$IED!$V*0q3ht;?SGtyp6LmX%O`GrY``xqoI_m|*hF7b zS-(1EM}AU2MQ)iM2Xb%NPoACf9*lBtob(>9bG!9+Rxgbwqvo8XiVa82P14F8_rgGh4sA_QU22BbwM~;|3mCFxVu}iw57Dqvgqo2jKxis~-V#>bL)RZF;GcGQx ztzI&r5vo~SXCsp56h$|R`;1*0Tjry9X>3w(2bJbg5R=Ta8;o8USNx2HTT#c-it3t_ zBqXa->QOv*#N4H-C-tQ0j9!zPibkmXsA#y(?Cuo>AP!YuSI;x1#@Q7!J=WETlYbQ` z;!IJJoX}GyqKYP|OvWWhRLVG7Bd{O2p$a-?9MvW%7M37;NkJLU-=zesie+5VZ2^l? zr4-&|o~WA&?M>YbjzJnNGOh}kK}XRcYMXHqY*evm#W#dE`o{L4s$X1QG+oA%WTSa> zS0dH+;_@YDd)-xryT%dHeNbycR#9wlnc7`y9_pbq$Ft=3R7;Q*vKe za@!1c!s#|4yDQcqN4Bw89Wszgj!h+VQ^_f*WPU0cc9YmqgdA>P$FREa6<)$%M^FXV4eq8egzDF6`evB=(Gi z9RA(DaPz;WuROB&F8tKGg_X;^}e_q8{wI3=H7M9=KHO*qWD*^ zN2nV-d9UqYJ=L9OT~Feo?13c#9@mBLV1&9q_ zekG6dUQ4;868zMc@5+ym@IOpxzjeormq5?(-{y9rjB!^=XwY;YhIsaWd zW0)3qYFK=FviNaNd^kQiNy~0yk$`jz$G#}Dt5vFtcS9w%I%2=qm*LpDt=vnu=pp>? zmz`RLdsKwKYj6N!TM$d!@Mn-tf$ud-$wfN7pPlNU}Sk|CH{-v6ml*DocO`7}d z#=h5mXw*Ya<2R7zpVghFH}}VlbFc2t_Tm0&AMVmn4-)=?KKu{X6zSL?Eq&B;PxB%$ z(>|TQvWCJ0It0Fa{BM@>&Q_smL*k1=k6&k$+2s4`B zPLy{Pkl`N=WcUMs^#28Z82$%9y1xe`Kkt7c%^^MVKKKZbUVjQ?_&);TZ#37xz&DzE zt{DF9K!&g1fumQ0WrrV_)rfI{zlx5pHpDpr1T2l>7dJjJ@7eWALa3uL;u ze#G#3?+E@zABP{N>lh%@H4MmnWjkfQap(!F5$(WJKyOvL28gf1;8lt|X-E1v;7LI0 zlAu3+MA9GEEl6W;hhPpc0DFA?3cVGM@G_`Lv0O1KsI;8CURIPP)vf4jPWss8Oa;U;yr><=`RhFLd7qry-I*{~B_}m? zP_K^J+>~iymvTmD8L>F5Y`Uxny1EuCHMnxZwcOB`Mwg@lzW?-24w;8H3S*3381tot z%SntT7}xB!CWEU*8P*Y@y9LSzH5#gWEb~I4TaLMy!mh0%6Lb|(V`M-3QnE8G(J8Lh zi^fFmWzahxs4iRui%sUVnZ>%yZf12(*KV}PqqQt_A6Bt=I|?$+kf}^7p~jGblTpey z<24RQKO~s@8jOY$C$NZE^s z^tClDIjJ*Mwacn&Qy1gh&Z-U4qXS5qN7|Z~`ZM;a3uDQ+8dq1_I0QvQnX@Ks<;zte zncq&EKG-4{s=HI*CMLXt#8G3E!RETDF2gwMFlKqRQFR$*T8CMPKFk-uKMdb* ze24XB_NW67(9&4i&aGo?B<4`pVKAlKH7VmdUvN^-cAV)|M)saNiR;(iD~)O@RK zdS$q#j(|SbO_ViXF$;1i&zd3s=DJA}JTpyOff#qEtedbr?7uhNHoU%&6UjZ#H}?#< zfv10mhbucVbxKd+_<)^IZg2CuLM~lt z(rWbo$KJQcM^#;IkBTuWkf=nXB|0kBco|3{SFagKV4~q7H_@s|NCJt3BqlRl6eSu^ z#vvA~R(!QKz0+D>t+h7g^TjACXl#yr3&H&t0MK5?|JrK`^-LPW->$D?~m{I zd-pGy=d8WfUVH7!*=L`9_9gAOiGF?TH}%u|e#`zfT!9}y$g(WFqbST3%oYSFe{&QA|Gjw`T#94+%GLE93U6=9cDq zv(=fmePDS%NaOtc(e1-JeL3K-X%~!;X&+2dGi@JCc&|SAcNiWq)ptRj7h+P(bQg~q zJ7Mg&vE#<1*az;631dfl^QTp3l*u9$tv8?8*6d3=Iu|dKbf(=iw8D0=hU4G=h3B*du?`H&Kp(%?_%e{=_nLP<*ZCs#Dq;Mc`N!`ye-JsTKS|~Iy{0z< zIexEsK;)!6lj`I5np-oF z6Sm=7lUi4WybEwv1D;RkECr&DopTisHlM?BY1GpI*W==^U>bhl3Pu6Z2M(MBgw26m zAjjeV2__ypf%kyuQw075!55Uds~74!@G1pA-|ms!1n-GUv0)qY}5bY`U{RboA%@H;IrRv+B>c*A#K{PSwfrk?m3a?y+wBy{wZ(T<9BgQ z+O+TNzmYcXCgGcQ<#5r@dz$W-_@}&SpG!sFJWm!0ZJs~hlklcJZ4=tGf8P*&rae6n ze5i2T!ybCPhc1SsE&mb-n`Yg&>HR(Yn?2$AzHQ4t;gSDu56yLmwmh$GdXk5h`vJb% zu^esr!##AjhvxSwTOLQP>JCL!+Y&VhCL_DfSX1Kou?&6TToxSeTGNKZYZ8>`AzBVt za_~tFLn-n23B-!zZrmJi!6}beNni}Azbb0&GhT4Y4CJav^$6FiY z!<15WSPnS5mKCLnTvILRuR}dEEk2^ySLdCdGdlk=Bb@GNSmN$O}!EY`z$&Y_HK2HW37ta5>5_85g z4E?W;XI#X9aArJXZK2QiGkPSBXAC$lZ1#=s$Yx-q0UZRUtuLVWc2l0#PrC7uKEAxe znQ@Z2=yceQS!TO*;~AVcPv>XH1#UMwUFbIWb{DCAAn4^%nQlB|of`DP;1~xU;BwKK zqCVr`-C(YXCHQCGNj-a#oP#?444-cq_*>4z+$H28)lSDh9mDZIg#T*%vySYm)9>M` zS08_`#?GVEV|%FgaNC0&KwE;_VS0t4ABLizxhK?GD)em9|4bk~mTf8j-xTQO05Zz| zzd4gwJO8)NaGWpMef$3^XZ}~OTB4(7>0{U0{2gpVJNF(L8I9rEjeO1&zfk;)^5q(o z5N_VHG4S!&C~!7%lxV|^_zCtLfTx98wsfqUyHauc@vC$=>pQUJxjz(}TZmH%be!ir z51Ghm^zR%$C{l`ZDR6p22*+7Oc88+)I*3CN)H9*DUuoL)2EEOZ zm*r^C7wD!amoE{d3TO907=Zl-x{K3kLn=i)B=l3z3i2HW_ zi{bW{eqpNo^xA3SJ3dXgRQWPFO}JF?RY^EkAtfOWFa{>!(F@gExglxfM9g z;Z_r&V5#5_Jo-$1Fm{GS&RZYEI{_Z?=ri*LjG(Cx|KpJ}@fkV8e!^TBMjCwCBk$E~ z;(ya4mqu*@oA2t$+~;ZZn)uVzAESGyryWa`o+CVRsq8E9$fYWuvpjO%c#VB?JaWe0 zph<7KbeL@Oro-s@Pp8Lx9B&_GMxAPXvu0LJnK`+tV#@Rx6;o&VI9C-@ffux>tNOaC zMePeHGo$<>9}ZY=Z)|Dy!KTZ zwY1?Fc1*&;Qtuk-n>i~uYxYbD5UvSF+I?Zf=;L-f5sryA&u`IY&z$bVQSA`We&Lpd z_07KWnFu>`=IrtrRWr+HR0Jz=;(L3fzD+T>dr4JAnaTk1$F4cbD2AI^F?njm)X93g z5|!LWq{rj~#RD28@DVK_0CVYHbq)Ui@ zuJ-4*J-P(`V(p)Do`7jzQ-!}TP538-pUVC}rr~c-!~Y}=UriK*Osf1jMsg%o`o;?% z-*V{^@^4z2@ciCKmnuBJq0^ooi=!cUbyucitAUK;*aY4|zPAx@Qk zzwlGpH(L0q%5R47Q{{hSn($_y!c^h!mGG(Te;^INHx2&}Y4}`cMVBgn_M{1aki5vG zvY+b%=~D4eNy9%=_^IrhD*ROC*ChN@`QMo){P)s??-72g^gWY?Z}uHc6`p&f43vM| z&yp@x{^UwWB9;E*)9_2u@F%9>&k}wr`x?@OUzUb{a~l5LY53ezf1v#9O%whPY50Fj z!~ZA^e~@%oQ{`X2@KcrVDQWoJ@Q5x|_zTnUFB5($`&xznDdI>r&yo9a)4hZLWcxOV z-jwt7LVwru(Zv3w^RvpJyEp?m&eJ<41G(EFcR&VmoYV8}c5R`@P6XdzMs=^Ys2F1AUyQ_sb0Qv5)b6ksBzVIZrQ^fgI=Qg)@-jJiW^^kmEeP zNg_8;K69>8iO3C<&zz@MC~^bkGxt?EDg%AoS7As7`rd`y7jLGo&)iqx?-|H(UxnXi zAjf?bew~5b8pw5v+(7yKFyz)`pzl@4MKX}%UI$lXAjiEDCTAeWXHt>K4U~@MkQ**? z1J#!wLhf*p8>qfK2f6(+(DyOqKK+}n2LtIFj<)qJksIi~EQ8$h8OSw3t|tSz+adS8 z4CEe#+|434P(E`H_{ACM8;oZ~RR(h0yFHYF++~m}&OmM@?n|Ah!l`U&}y_-v|eZ+(7Ag6>_`#(zo}6@TK$58OWUu zxhFD^n+3W1GLTyix!Xl!3 zkju?L-|dk5=j-Xq?NP}6Ed#mjko#>0a)UAH>tT@_C>^6A*DZ3NqHn33*`LW;A95Mw zS|q*ic;#eYvh#6IUWNJmg+M&6^YVcwgU$gq0}s*u1w7w_{67Qf&o&Np!9(KDa~5jh z&lB7!cbeb{K=iuMHcS1H6%mp(3 z8A4A6wt@}{&HbHPKo<$k^FSE?aY7FRQr}P@s$qc-NPVB-nN0cvAocAO`ZXZ+Z4;X3 z`B2|xp&tcO-y=ZW?gczQf%?8L^qoNJ4xuAJ>T40Y4oH1h0Fm_tJdc9< zE)e=WAoWcUdL)qgxZacU1wiUMO6b8r>dOM62nx8b5B2>6NSgaeQQsRvzXYVdtwKKq zq`t?5X5ViiXznw03Bq$9okq}i0w;l93&fao0nf3x68_v@igFFW2GH|>l=}vdau)z; zUl|ZZQNaDDXkU@gJj|T-9VayV#oU4e4J3sqcQFxla!D-6Qm^K1X8XINc*5m$<+fXHw#GnrUKy#O7TPcFb$WkU=)66 z-zkdp6|kR1`{cWM!4S~25BDBj!P0E>b+H7g6^Qc6nhrb|bVz7F5cl2Ce4+Ou;C#@# zft240TmpKF&^$kl`nrYg0OD`xQlaMpsc*W_ML_D4_B<;abRB30qW(SzBQJ(-1Cm}3 zJQVb5UmQZa&7tcAaz&a4F~qg@k~14#W_fDGR&bT<%g=sKa70_#C@-#yB+9jyZ$ z6520xzR+wJ$=?m6Jlj9gTZCQ@WO}-V?f}x>r9#gIQhvJ7Y`++Pq0ret+DGO1%j!eo zD9?6@bPsSoXzrIsdM%LkV71WIf~7#bGY%~jIvaQ-=-s%P7;Y;Nle&lY2)z!7zQoWD zp{s#MfaZEJ%Jcix;h+nFcxM>O`;`8>VQenwZ9vjJz#P!sLU#a%;;%vI5D@pm&?2D` z);E|UsQgfw)ra~{>=o=5>=3LLEEV(%`ULw>e^q$FZov-0YQa)Lzo1W$^=x`0 ztQIU4^b7g~`%n*6c)@PL4#8@{QbE6 z9fH+@rGkDzfC|@-z(ZjR%bD(cT$5fW^k0O}_LENSM+km4>JJ^i<58aVi*Ab0Y_I8f z-;w{I&?Av=q<0AYj_CKJKGRhTf3DCWq1OuiDe4Vp#hUT&d}E*RM;U#GXnlPCF}_?h z#&lDKzgFmZMxGBGxO0W>78;}qzgy^KMjkgQ9oNxNf2+`(JWRS*=uN`U#Z6B46QS1% zZO#QW-z%O*`nZnOeBXE(VMv?rA!nf8k~ZImcuptjiSVbpAOEDy_ov|^Z@zckAoAw> z*tbRAd`~MAdGmdOV>8rezGtwXK-zr&V84~L^F2u9&G(~`B5%Go-G_Qa`BvP&bU%>r z=6m@565f12FMtf?&G+_aMZQdh#@?bLk3O$*^r!p@Lcb>RWp zdGq~ripZPqt#u-w4>`K*L0X^r9=u58&G+LQAj9~2Q77m=75!`n=)NKH=6gKe-ITof zem?>C3B%_i9=a}}dxbt!=pM1>B+1_f;eSK;eD2d7Abd0bf$P+$-#DJXN}BmX7nAgL zY0|e$^_lqu7f5=|_u20WZN4|2Ahh|ue3s}p-%G>7H{bt;3E#{IsTUg0bmeA>J?Kj+ z$M;j(bDz+wME;LLUnBDDAJDPCMR_w{W7I^gWykuMcWsm-IJ@U&v={>&1AVqq|Bn7#94lJ`iysC z5^au2rS0dLnCL`GO-3GRH9_p;HYQ6dJw3^!m#PCe-LZV)EK~(KI51c_dD;v`DmLb! zmQTjiOi{rsaW0V^a_wY=&~`S^Yx=axiiww~efmhMqxH(?&cZpM71O51Bb#*ov}u*) zLG6>6Z49c6I=^BTW}RY=?BsaZX%lCaC;HBwHEFz8a&r09@)^O(ic8DOW>rinS1QC$ z9UZ4U?5tKPxNzdkaSq2@K$NgUpl}>xO%7rmzdj_=+RHb77uH2uRT-JdxmC)8I$d!Y zF}ubZKbB4W8iivBr*w>mT|CM!F|QqOQ{Nm9mpw?R!!VM@PbIFdq_Ju~lBQEyQl|)d zdg>!(8o^HDEz(S$C1ps5iv+vaLJQx?153u`=U6+hvBff1QAzAo{z(kBatH;J1P&K2R zIczA$D96XHWZE;amc{)|<%#=v>sg#*WKq$yCr_wtnRjIgPN}t1jpFfDVRn66eS2$F z?L1$Ve{LW76WtSanL6l8yp>rY&IF| z=!tts^^1FmMl0tX#V$XSO82yTb^j%lk&c(%lI>ch%fsmN6j@v{fnh?#i!v^3`JoS$ za=(*Q`*{?VjNvXHe(dv%vd0RC`Dyp_;Fz4xkAJwM@xR*ch$-LrPb&uN=s2E7XJ~Yf zIdsM0ALTOLpY$kspEvr}VX*Me)G)}`p%lqay8Snd9&Qhx;u_FWL)5XDchXDohI@ZwhxP+f(h+v2C*;aJGv?BFc5cj>)QU`JJ> z#S!Vn71+C!3apqbqEBK+Qzf#h_qxj}qi;uF(*a^dJcsj$is)07QN2*SVskm{@cH^T zK}-ov*tGn2yH1AHr#V*hTZ~wJ5iXTjdGYr0;(poa(}Xn%sf_Mb`fF1VcHE4gU{8&)gNfHkLGI~D zod~&Z|0AS0QiT{>p$7Y;EHV*u-&d4R8B!W_Vpzu*R;w8B(Mel~u%mU@Q;{POKNS>? z!(=TrXB|ievDWTaAHMT^I$Pfs|-b-P)XHiRhB~WZ%|ovN|W1> z_fuuZkY7Pg45*C0B{s0`TxMnV92l@CwCaV(QHcL$gm4bXj6T5}pBak29FHG4F&P$& zb1b-%IdPN9iPm^dK2j_iaxDGaG$K| z4d&djc~=OR>TuiVF?u{;Nk0btNYE#cLl{-pP<~=CcO!mXsV*}&np5YEvA?IW!(iz~ zsIV<9G?w!Ag|Wkwv7Z`ak?q;L1{c4wE4%oW;A6~xvzc$2D5u~?j{erlq6<9{k3_^F z(-LKrOFzv{lS_9Y3gproklV*x!qyhi-&!{aqw?G!L6cF;r6ZB!CX3X*&p6U`%dRUB z`5?zg&n=@i{CEq`{s9a6B?O0-Q>cY4idD+-LyTFdrbTh?X-4cZ`7*T1uv#{=PFfYW ztE%`U_TK0kQsEfqF?|ONfmL}N42Il)L2g$GF7llKDH)pL^c-J-@>Os^!2jn zSITB|AuD4I*{A}hg@O6!g2Xel7eSQ}yh^p#uj5`htJWZ*irDfIylKM4N-|o$b=S#` zUxD&tq`MAxJhMgc#b7_4BRUbm37d1)%8d4rI^prO z8#hIvbyFbos_{xPU?y|62jpIc92D!eA{Oa2jm6!j*WdYWF8Xw;g_^P>w3*EY!sR`V za3)JGfT24=onIZ)#^QYoA_KJ7y&kpq>F(vv`bPAdT^hx#mhU%`dVz%*>p=%7krJE`W z-;3aNF1$?d9$pnN^@wyyIsjpus`?dr^d=h*MQw>iUeqNmopsk6f=&cKasP(NjBkRc z8J%R{KCl?rqskOW-eRzoZX^l2$1MRF$|>J#ywnStX_Vs6@KPkH6gmeir6TI;8Zr#v zDWzilly396Hf~VE3$1_PQ~khyVJhs$K^2kB48@0NdaP9a{#?QfHh>mY7 z$@u)PO7{T%li7C_x(sxE_)nHTvp;MlQl2b-zmv_-nA?|v&!HB&w^Q)<;PsB~Ui>Gs z?{>U6(s3LOE+PN#7yi$|OlIFDc=x7D6}~MEKPG%Wos!wdF(JBC=YnUykLM7asi)5R zP?>*!I>MImU*uSil{54CFX%jIO;*=|w+!ORz52|XFz{`WXT4U=$Xn-8-vdU`2ReS% zZ{>`ftP^1TPvU=t$g!R)XXGY#X035z*YST0ffrNBTj!k*M`;!B*739cD`)gtc9ucz zd6DCNkV>uzaJyy`D;Jc^1P4I$#ebcW1nbw-d8U9DT(!kZPa2p_nY^b zOWr!q`#H$HD{^wbB&CiJT{%N-yOqA$LIra$(4w zC30)L@k_Z4#whD>%**}~_b<%N+ave^5OcKxe-e5V5M#rEUji`%9Qc{|b6(x?pzjv? zCLmm3xzNo**9u(*JPrJDK*oEb_zwp%zWs&%bg<8NHs}w4v}?Q2uL`{d$apzq$N26Q z|EqyTpyvar|6=iW@OdD^acq$O_W(}4v_k|4>|SyLGW21^*tyw*S1ma zTSCVKR{|+_rO=gvX9H>PNZ{$fV}PtT*+8c2eLN4ze@*aNAnpAPkoI!zAnmycNPAZR zY41`X?Wh<26@nK7X~#K2p9ZA<i(9;FEu8ev{34NGg|A9W=82EnxWI4PJq(07fqCH%HfKN<; z9|NhE>&xihC3qu{db!Sw{(P;+CzinZz(K%KKf{qUs!Ui?r$ z*He-HJ$`WO1vUa{-y`CG2aw@c3e9y=_{&?2ABMk7=&8UnK%WI<__5-D7?9!lGKjyt zFZR>;iQxM{>UmM4!A&+zY{F=qI`0!M)UE%58W9^lEqpNao>frX%N0-gxG8pwDeK!%?SWIR)W z)QhrK{)p3eD(D;_<&n3_zXO3_LRPh4si0rbC)fue$}t~^-GUv0)qLypKIA`po+a>oxi2ePD|4P5+Vx?mgl-xoBlS^XVXOe%K=WPA~XuoZm^RR9DAy0g_d&2+RL%)u|cK8C1zG{!W_naz@8{6SIuiBj} zoL)W!6Q)36%30O)w#LOcp6NnSp{9Hp^%#!QqfZ|79)Bkc4nnf!9e@DgtH15j@ zqjS#S;a%!fq9@LVdHdpWze3uT1LJi}&0w-mt+}5(? zQzutUEm!3t<9qJHGQ)Za>1FVCx2(s@iA9UK>`gHS=rVl(8Alfjb$(OL0*@umsAN_7 zj2TtdgjXEUUAqWVJz2}tEMPS!*wnXpa(L7h22znPwP9{^>oUwP5IrvG93R%cu&Oz- z2=i=pw(4n-=HxFj>z6>F38%HW?g+i3Y!&AbhL?s*FqhC*h4Z^Ghtdk$8fkCvRZUg* z5$%)1#$B46y>U73P)V8`a;aKe(-hIOD4n~~jPB}zVWeQrbRJK}(OC@s&ReENWL*r>dzYO%;@y%gKtxK=o~H zEp1hGHQ^dvt4v+e)hjrg{Wm!ezF5x-^edO{T(B{t&GG1J9wDO9(+L0F^T4)XoP%yD z+HX2Ty+Qo%x6~jQ@OoGY*%bpfhp&GWnRVFKg5eO5@8{ zBwtQW(jNM_E_JOw9bUf4qZL8vW6H(1Thq-_PN;o~f3=~D4p#Ix4V|m`90yRYSMwh= zv|sbN&x~?gHUE7>PuKLJtmt&5n&w_v$`$GG6AWFdY3`Gt+;mMZFm$Q5e}$o^Yntl< zm8;hD_YB>tX^yKX*P-bxhR)UY{MFE{n%-^bwVL*2OZaY0A8zOeHGPtyJ2XAk(0)yG z9ieh-b^IJZQm$I3kK;Z#tbWOix=xR;xG<2(` z2lK_6u3G2c2t#*h{scpJ>-?N#=(U<(W$12AbG%Zy2Q|&Tqm=8_^v?{vRnt!zx=+)u z7<#v+cN@A_$3KWSKHXMLA82TwwttvIYccb?QVmOCj6(RUgdQVwROoYszFFuwLZi)5 z<mUguYhj zw}ie<=+A_{O6VixId+rKCkwq==rKaK34M{!Iv3)B6 zV;}Tfg=C&pi%XQSS-`>0wmMkZ?yxUb>o(*5uB9Qa5O#b}t$MghT_eurMfY0u3~>%d zJSXCv^gV#OGz5)F>gW++rSwY#z!5tVbL-_ z!{OWMu*6&^VQ`_!BD^Qzvl#PZgMkXRl%V|YG^ z^2G8nefqOnpoPw9J@ZtRs`!W7G55qeJ*3LKDI_~u#9`t!!ss{hQY5xFR~6f|YZ$`I z&~MgWU*051G^-aCYg&&tn5W=Xf|=_cRaCQ}zIhh!!X=I2hWLyf$8Hsqb)brgiT+OB znLK4RbVAB)Lq8NXj@m|0vyM!cajl&8;$?UW+ZD(uahI>F*j*es$;BImI&LPx6Vs|# zKg4o1dIFg_I5K9^C93RMqVsC%{H+UX+sFCC%UUtz3Z%NIt!Zv<3Hy0p_!*Q(Z1dc4 z+aHJMaInkIVK7U^uVeJ97foMnOQfmJPhH4lzr3uwJ(c-&_2C*c7>Et0#q-2@w1IxK zqJC)&log^gDQj_w#kB*8>B5!f!OuYre`^bxMx2~uJQ=LM%}%htHPY6KX<)uZh_q%w zyQPae>v_14lPFv=wSH9TMXi3_2Kz^P4y^Fp63L=_DE}MOB)pU7a`MdAXFRL zgGDX|DycdTYH>}QpS50(FiG{E-`K1w;{3)1VBqv5X!k8?YiV9!N>bk?@!o)b-vwDG<1ynB&O8$dcQO#;3V{=VP+ovxKyw~aIRoTaJ*olV7_3s;9eN3;uqW|$o*C5-y^tQaGl_4 z!KH!?f^!8!g5w1X1@i^71@|Hn6~Ev%!7YN^p9gjhT}E){GLoGTa-94}ZXm@k+u z$nVFv%-SKiO>m1K$A`#YFSt%{wct|02En<4A;Iy2g@XBl*@AmfIaK_D+XT6v6a6{J zq2d=@C&;zC^j|92AUIbrBsgBMP%vLGTX3(ghgmxWw+U_$>=9fqxK0rLZXLg1gWz1j zkl=X1Lcx5&Y(W6;k1Wo=;=W&{^njy0={_Wqj(Yf=(zq$Out;@n(|QjI)j`w)*z9^X z%NG^+RLzex*UFa#k{C~I2j2>Yr>=z5o(v$vu-gA$8gD(L_zW4IRpYHqjq_5Ex3Z4- z{5r+VpVh7eYJc2alN+D)4;HBJB%Tk z^hq>AVV`~VhEP)*u8K4-L3>_RRaxdRal!kTu3P`}L0z7Q%DF6mq<(~XaA5q-OL zSl@2ZC*(e_*KUO!m?z>ZLIck^A{<7TZj=eqPX1#)#XdW=a>Fd2`+_Scu~d2o)o|fM z1s9*nx+l_exE#4_3^%L7s)r5C86}H#)F+vRsbEw_zmmnf#jmXD&H3)8T?hXkPUGBl zEF$O{bD;{}zX9`@bZ}?+M#381(Dm=Gr7h8agrc8^xLFy980hjHm0iE8hE6Va?SQX2 zXS{0+w@}0qnab!toONMNxUC@qLD=ZQ z$~Uw22FbeRDTEJ3H)C;?UMUj0c57MmeWlD=V-5q&stN>JeJ29NSBzjy%6yvJbs#q& z4&{_>rFhpEPTP@K;lWkRFQ}CrlG~BfwAdIGHZNdHzpZ4fShXl8W~lYTiXH5Ks(iwi zIcq{Jm4o#X>-~#gF-ycQxCQDr2N6|pO_P1dS9_qwElE5V~r#M7?JPA%(GYkG^8x>uI4 z0j%|%)P9Js+&R7T%tL%<(#Kzm4j^7&FvfM#=ypu&3gM(sf6#Oc&-7Dh_S6ffPP=%j zZ;JHv*~f$e_^R&48v)dgaK6$`o^Y_hsn)47W+4_ttq!pS6ezNrs zsrr|vL!RwN{ujIf`}>WZPXE#~uX_Y!EAihU@=T9%@p;{YZb2JIy%_uSJu7ldmvV8r zg!%kGgunw|YCD)t<&3z$N4YWpg9i@c^r5SNd26T zN51Sop7$W=!{L9g@b46URPY8t?pJyQpb)&9{G9?&9HX(Yd!o{56wH=mcPqGBM)7CeP6><9Lv`Z z|6>o0?*cA9`)juRDIWSrPxu=>^h+L^j|2S0UDf$htL8PAG}L34L$fgyCUxjt=N6x# z1~_>(dr_sH_d%E_Wb4C?*r^A37hErriDcM9$yf`(YF0!ZoAyuW*;i$P5dJ{f3Lru^yo5{IZOs3^S5?f)FG-2KhdgM(Q z8Lz6sRSkx(Ya15oQQ%}IJC7B;U7MsC;TME4^M#34vCP-kOYjiFERKmYE}1^d%oIW1 z>!~1idwGi> zGS8!=NKf&|Xr4#$n9(Ax-aBwywoase`|$aa&G*=s_m8boInDcmq5swQ56*L@Gy3-8 zp`gZ2_VNA0=($3x^Km}8?a+q0T)OuUwkvdg^^1MJp^qxp4|48Lm&$bSA8SQlsp#tw zeM0W@`^ST@1J7AsDINw70+YReFiQU8Il0fy^t#c>#MVo5xiGT@({}OyLTOp<@-Btrz|@3t|0LEh0CKNwm6@r9Adho zyAFfQ9WEJo@OdTszeHcR`qiD+`PrMlmGWJAHxkgPM}Qia2E>AmW^^aly-Cd+JtB$D zXx$;c>1rs`KdqwdOh3mhTe0|feq%j2Q+ZUq+Y|kPiSaRd3_M>IX>6;n)7@I{Qe)QR zed$Mzfcfl4PX9{x-^_jB^dqHT)(;u>mp%d_ioi}F`xUPVzAX4#jcQ#1`78v=|3vur z0#S7XUE<#<{>z1Czm(yat?Z}p`Op4eh4A^jC4W2+RXA|E`1{45&r|jr0gN{*1ho4v z9oiqi+N}XV&T$NA)9BN==u15`U;AwNCJ#-X&EMw--~i7#esHv&b9jz=o_z4344)=u zKs?oB%My)$pn~lw_ZuAJ_m3&!5S4zs6c-hZ9X%R;#bfbH=R7|m;l`%+|J3ti3mYvs z)7~5UUwwXX>kC^S*BNqc!@iDR89l6jbp5EDwv%WauXN83?%%B(9~y8n4)5EB4k+Fi z=!}FS(mg*oUPZUf=)=t{m&zZ>ZcrEUQvzf>s_rJ)Z*biZwXV{)G}q_rhN5K84~FNz ze9OR9=8n&gQ0%<;Rv0cqk39tWlI9CdSdtx{WItW-lsKFNTCr>N?kbhhYqEEZz&;k& zAv#(evHaR=Kz1_^|CeCr;GEbD)Aq7#M zrBqc$&r%T%aUxud2qePsX(BvG#}|sN$hMQ8+>Rx=snVV+mRysoOyP^FPW!UBDHo?P zWpZw^v@gj|6=%MQGhfBYmk}N3(s-O~AqULwd>!YiJw1HrQn1gax;y2mzf2Hs-wm_E<{ub@; zTL4TJ{uAL#^P3R%z$9`-X{{NJL99y6bBFFlsoM#-8`uJk;g~&;{ z;(;+V_s0Dv4ndz(Im&U&>ot+%{iB?bv-Szu4o1OeIvsK!CDq4!a;a37M*BFFnuxk*yK*0}XOkb6$#1}cvyA@@)Qa_>TJT?TSIEA+Yy zkh>rQxiye05;@bKO;+!DCe`t2^!*WOJrVC?+@0-YAjkLdEDqcYJO#KGcslR~;AudX z$*I8kK$Jp0WpSs4#(|}1#QOZ*)f2Pfu8_TcLEEAe-RKt^0+q--fshE0FMK5 zJ_FaS_o1+<=V>72HULio{WBo$=|GF{XA3_BJOTdWfX4&br^Pc@Ef3&$dmofQbylxn zw_t~0wP2~BU(hGmhrlYlV7Fk0V6|YWpkL4@*av%Xnbj-UE!ZJgEm$h(7X+wq-3ZM0 zWb>S#4ZBF2=k`s)zl8zd&Jn(O?oWmv<;`>8c%jX6W0A<4=OD|2^5(gUOGTUK&{e2g zH-nj!I^e7f1Zi98MM@4n3?s?AeNZx8rZV@nDbaN8~=Vo1Figb z@jT&h6o>QGi~1GqF-}TM<&f8Cl$euqv_pUYvDZyIi;z89wWP{BWEW4N(mq!1S|X-+ zEt&ZDBkd_EqqTY}x?Qu}K9q@%``L2IeI`8X@UD1jj^0~J3bs|ks;bI@vx0`g*qwy$6|a1B{AucLbab7* zZd^R=yu0dbEnF>Owm~17YF{-v>_j-1iRs2Idqv+m9o9D<`6hal56A{#DM&YNxfFJ= z@3sx&mMnjScjn#EF#c0N%a_lfeRb-)mp+36-@CfTd=r`JeBv5wJ`I7f5)6=MMFlXaq4uP8e&easGt}$crQtIf_)4D>PdkND8EE-%O&L{&Uu#L;)19!tfHz&XKR?N`}#(&xyc;GU=Ui{wBIL3V=P!DuRC*JaBd z@@lhrY_R=w@e7ItNz8dum;IY4r!KKs{3FVYpFu@DPU!rx%VSEcId{sc_pqOMR{@I8 z2O~HwzIYEtZn4F((uJ|#Q_ENFx$ZD+)Zd{%k`V02p4l_^Y7@jSc1EakQ|_ug%X$$e z!ViKIT`|IAn9D5@ZyexnWO6<*>IzM?R+ z>Xq=}A!HnCD~|pVI|`tfQ}lP;~oN25(tlZE=8eOd$y|XjsoWWW^W)a2C%fm z+Vwr+3iK^+pds!+U1MfwiFhUiJFhF^$6W3?hmW~GC+Ls4w|SM_>GD8kjZZW?*Cm5= zynzCNjqwQK$Nit;Nr9qLDk?7SmpemmjUQI`61GBr!AyINjo~e2+6{G=bZhnTyuAt@ zYO1FzQp6E5Ic4U5s?QoT)eNb3GO7ni`vHn<91fb=aVCa$617Pt}by z7k;k0^Dk!H-eHJF9jyntSdTd`l1p4pYeR}rja*Y6%uESnJVZ{X?LMq+LwBdH9Te7_aRsx!;$H8(k1&ph)`9L% zf*%TgE@;k&=l53I9WOL)HRWaqZN!$zh3PYWPiQkvxkYF`x9GkU+VnAs@gSo!<83@Y zo{po%`pW%V4>H+&Wct(Hg1$|%`N$thpO@n_$-eWX8;AGHzR4yYXI#+QZ@LWeUoLXA zLpd`Zo@9Sz_D=tg?1yZ|j~u-+e*P_#59i_D2t=PP5C$R%d5eG;OApiv&4(U3JAoNM zq~)9oftbS)7!Aw=o&cmg*Of8+VL<8|B=nbPr^){aNWMC!9`v8ZpZf;VpX)&=XZA1U z{*3hJ!-Uukq+UKzNOMe;@;3;5jnEwDBEJEMx)Qip{HKWjB%wLROSv0;GLCKvXp~E=xYg>+qL%xA1vxHtCi4A^&QjIW9-N zmx%u~@ect}#{*{rQMUs{!vDJP*;%2UBZM9d#4AYP71R^@{{aZEyk~{(75ZmFe_QaI z;=de-TPe^YbOR871#|I3eN)As`=pXSN9ZEpV9+N4@rn{S2AB;z1c-Y$z?+W#p8;vl zJA$tQ8Salj>f0>-y+S`C^!-BrKxlb?DTsk)dOL;Bc~8{O@i6L}B6JxLRWfjf_@5&F zCje2zfuqEq?FqxL*Ot6cPoB*WgRto3Zh4hnAXq-H6DITUHha&%25xMPtxIG7!7jn=8{6YZ(q7EiV8f+|C zTxB1zjykcg^X!Vpm5eR&)9HD382{pmc{BX=Z_m@-%Z3Kd%(F8zZ)5(WZBj1Nb)vP> zu`&AmC;5D(sM}D~p*87Wj91C3Swqjlux4Ds=y{l7;bLFYXnxW5xm>z=cKH&%8f_L` zDLxMJ(mzVAqoJ2eWxDaIrTC~w*C83y?f>`2tMsc|Zf zXE7Pg_}^D2bEfcuiUN9UJ%VrGBWVZqgfN&=f)`UwL?`Cromu%uCsxNVTb;|!4sdtz z3K#eUgST702W1VWP!yaa*vqJnu*iuFjWs{)V_!bd>AxwNq~{FkxrI2n z%sQ=B&sOWoi$I}U8=t#64ZSjJ4O86oA%-%<$mxf%^OQ`bj1rg$kC^%BHwW0^+C3L8 zc1@8^N9>yM=AzVGgv`ZseSwqE(9=NjHmrj|%*vfW-zH^)S^$be;jjRd`G}lH55^}0 z8l8Lhi+rs@46KMAXNE9zX6!m1`TQm-t}f6{gxe6oPq62^_*HQy&c#&qM6Dyh)JP>$ z8EwbN*{AAS4b3@)9f~f=RX$b~lb|~JCRix?cqlrtNXdp)J);h;zQ8f;1{$WT??z*o z9DNqg0-P(S3S))eo^;6b1t{%58lRfO4$xbp1yBlvSV-twu8~%2cs_s zagsEv`U+i1)sXVSQlv}Q)yn9?5C~mgK};`SwLNT(TAYYcw%+h16}3>YSs4oQf^w9G zBN3v+xQbd7p(9bKSAbwlINV^e7wcGh!#NeTs6<9Cav>r%R$*ZK8r!OCY^$!BjvV;- z2$KUH@f={^S4H8h7ICf7K6uGxGKDm{q&gJ6xWS=XK`k}Zucm4{D!h}6Xz0`} zs$xNnKn5ZyIV%~YB6e=5_9MkX>YAq@>nat+#8#>E(%)7zhSxE0FN^=do5aC;SMgUw zC&8mPe0rrUmB+QeBK8>D4O1i3ASL2QuJ9X#u7hTP z-wb8CvdOGPe<>)p;!TW}8w$jvje|A1J+S6?qe;TSpV&_z?x$KeX<&m`vlJ6W`6y`& zKD(o{NPkgu+$zzQl43)6l%tHvwANOveU5zDyB*H^|0D`MB` z_=5QS^9m0<)kQI3Q%={(N(X%8I}xYO%Wc)aiH+sf;Do0mzl91`vaoLB@F^>2RX^>F zm9G!QO0#1)cvydbfX-EXGoON3iV!|$<#Q^Al`378u~vLH+LN=Aoln#!Y-8c1<{)@! z>k5@0t^0*oR~WYrp-d~P4g4Jn`I((BLlPx@44&4y4zsTyCCyVimC9XB=$qs~1UVUh z$dh1iY8TEH&0CX<3(I`FP6M|S++FB=<^7fyzrn>lN#xD;9$iCXIWBXSK~J#f9%D{L z=cB6lec@tgx*M`CyO6GVXQ4niIj5W;h zB*C!VwkHXz&Yo4iHD^@_{o6_`!npoP263Ne`!IS~I+s_0w_!ehf<2r&y7LY!UPCe5 z<`&>{CfIW@vQgQA#D3SCSf(6)zMYRlL%j0r!X^b``_t+^=ztQ{B{i)PZ=Hqk^wg%g z@IvjxZ2)L>x+aw7gt>}Xctiu@4EE0&QLPl8OyB5JR`pudTNz!nK4&Ed$SA)w)HQo` zsB6kv3D-(xdys0xv$`_2Xl*cd*$AAlT;9?7c~;I%&mcAE(RPHoe#JdNbjlgzK`?&P zgjcr%Lc_{prMbcW-m+L|a9M16c3CXHEVgtII>y<^Bz9z>;lYg@Vk+(p&P3xnL+j~$ z(jQt^*|q$@2k{YbT<50!A-*2sxDD~)urj(+zDb$evSPo@!J8-dSM)!Bc2W3~vqy#x zsOaB3Ke+jzOQlHAetwNdaCb!>H1|L1A08q4V=l_{F$}ipLcbB_Y-q<%u;*yJTq%q2 z2*C&8oRx3ETNQ=grG@Ez30@VQ%SV*@BEyIwUt}Mt5OP zIM+07RC6oUfP-$rp77u}CwvWk(J65I*7NfyKH{OZcumEC6kZhEQ#RtV{loZb`>Co# zhA}=~Rn%wQ!4NRK;VKYX*88*60o}W%s`IMXBgMt9VAZP;MHX=jW1U6Uz}OA^3HEUQ zrcNT74dkKg9!KBL6p=}hljX5%*Q;<-q7SRvRW+PH`MkfsBIdNFh4IJogiY6ChoDa- zwTMN1><{+eKB5D5^lw6OzPPhN1wVTPvn*Run6vT|2xt?T(FdYR>s^U9@_p8k;=yJW zu}OYB$vM^@XUqgcGO%;0-xm&5#72)W*}}&SI@$f<5>a&BDY}*SJC<4vx{_9cn2PXc z>Zyp$8j)QQs~mxk@w!aZ?RpCgKvj9{d1DB&ZzHFi@K`u-9(T-U6Qzo9P$+u&x|~(t z292`Yc^l=rhU~zbk}k8=@Yt}F(mktCX6gud9`a{#gNl2zDN&R@tH7R}b8s85{N2)v zmGr%k-g%l9xW+B8L<#V~oSlb2U`niMgueof2B>3obc50U!ZQw!!U@prFJhqzc0;3E_2Q5~Qn=W`&QAmzmoDXcWKGxj}IPG$NCh12` zW%OKAya_ouT3LSWdi22ToaEtC$jLwACPGp-Tx7H()7Nd}+h}4=UW6b>q{JWv#gARu z2bms<2GIf_(_e+Jb;oL!Ua6?~kAjZ}>3Z}w{Toq0D9tC77To&rmzkWEoSF_V)6b%6 z-eq`xRiHc6tpb`?!<>~r)zY?thbb*xtBTm|Du{VCVlRs-=u8oq3Td)alDl*99&~qP zlL6lUXb5#{(T2d%`{ewLF3F?UHFgbQi>l?n6PM@rNF^Yx3tr9gcy@*Bxsl2+ z(?;%Gfm3~TG|ZjZSQ~;0vRMrlSH$bP&ZLUyWWF%wtSp9@%4(-qzUm5i?K~PkxLK~l zmtmyx5tNL!x;1X~RAcq7lOb|jGLeuG(a%rb$C43a_|2I0ZLSf4j%kjL)r^Lprh`5F zC~Y!lXP@qDe%%pdlP#FRapT(9ie zc@d0Zmq2peByQ)q@Rwu`S?*R5R4SfuROIUPaDtK*5now@Jx{Y14Tl-ylX0JQbUcp^ zGvAsq>XzTLAA))YA<(rf#5fLj-m~}m+ltDzkux0R$)PQl#@QKfV_Vj>=s{Eww0M=# zcbutFXW{1BfMF$_7pzJ*gTVMt&dP^z5$e1q+ZrEZWeYdzC~$?*4XK%?_L?53RLpRx zdYO%lkH0R41KMk;?!TYC?&gH9Mq12k=k-5q)42;LK z2k%3X!}UOUq4gr91kKo^ngEK-or`fYHSh3COF^`J>*n$`rHF@P0jHGn|3UnB9p5-f0`UhLpiPT~_ztO3I3J29-d0@pdb(Rbf>|`!JF;*IQWb zHQ(k#U9InY>`N_Ey!?7{nwrt3XJ)AlwnzHPd7Kv}ZE^M!gk=YB?1Nw5rsjxwB=ipQ zGNHawq-nn8UeY362w4M2CBVDG+qKlF7ofFj&Z1Ih^6Q;L~^v#T5mfrlPNK2&M zZ?;y~C%5@=Xd!k4$F}S`7B`pk1kIc~z3?E3a#x<<^KS+BMz_;?QqkzTlZr|b{(U1) zDjM5V=g!pl4(PTD6u5RBfMokN(w}Yt{*%qadRuXQK0X|h?JIdTTS>Sg{3p}T-WVO{ zPbAaN{SE2Zj3k@KwO;tAgP$z?i^AvV2b{#F3I4t*{EKm&Ec}_c59s)SOcwut3!k4A zl7&AV&qlg=_)o^aMfjW#l58H^-RQ*7;njvN!Tui#AEOgV`46Sx_X?kn7q|rdFAD#C zFq7H$1YZc@X5c?r{tQDmnywlD$Gabo{(Ol{4~I{7-^$rO5F2*9|^{I`6_>a$nic_&cti! zTLZZgk>maBlC$jNoQvy3j`y`o&eHcPE(Uyl1nmAly8r_ zL|*Rur0M1w;O9h6?*F86oYVMF269}pzE0#!y>;rNn9cOCO`JE&^gHY$r z|GQ2<+XEU z_I^v~D3JEH0BLUna02LRAngqSX=f>rc8&+q&Xa+(GY7Z?co2|weu(y*c5+Sz?R*+Y zJ0Ahk&hG-tfVTk81V(}Q*cE68(!L;YEa;PgwC7;KFHv#m|0aspmQI z-z4-;g}w!d;grB)AoHmixB@s6$b6~*(*7XuT;K%Y*}!68G4K>1iZU=9$aseU8Q(`o zX!>2?IMCaH47W-A9|cn113>CuFLXDMa_fN9zY;hfSO=T~ya;#`a18Kb;EBLXf%(9Z zz|RiX`)|Alya4nIzySVwftLUu1kMKD1v~?|21vWF1)c`_3gD^0OMt6@X8}h8i-D9I zA^v&5Y4G14$a?nvVR|0(8^9T$p9hlv81N$CeL&o{fjfXxf!6`g1I`E1o@qeZb3Tyq zoB^ag!+^9W2Y4g!LyWc3p0|ON`wNi%{A9}b9tK_n{0)sY0uTdpD+Ar!XE=X z2mB*}toPf|P*LwD!3TgW&pU)(A~+pLyUzkLpHBkL0v-yS2JA=sI1~6Wkn#TwNdG^I z|3knLpxKUo1K0s%`LqL<0WSbD+}S{e%LDSh9tb9j5?~cDA6O0iY%m6SfPVm91>69n-fke{xeG{p zx`4+4mjRCjUIJVVya-qV3<4=%DD>e%_Z^C{Iq65-15)2xK-$AOlcetxya9LviWUo-RJyMK)A)^v5O@QS^36cXR{<{so&%f*JQYYgc|LC^@PmWY`t!i=fj1yOB0$>l4ItCU zbB2e5E&+ZGmv5%54D>-{cdY6EZ;kopz^sjnKydd{zYM6S~%js-H@3BVJ9Lxuiqkfz@SlD|#p zXMqg&KZ5rQb^;k+Barc345Zx?fwcR0;7LG!dZt|e0a|Vcka8~qD}Wr{r93~2QEmm0 z`dWZXL35aOI*{KumLuOs0V$UUq}-SIp`K5GjE^I*6M-D^Js@t4Pabvi)L z143Vb-+lR9E&;OLJRXR@ykqdgbRQ;|EyzPvrof*w3K-veK-#xM)93tEXs*jSAO2f_ zwEJ<5f$sp37hDrn)shD{$s>{B#`#=U59c916P9nvrmVA4oLr}fRwvW z=x*Q$&@teNK(q;pKL<$pNg4~#cj3!!0qPW80n()UQ@EFXV-OCvlaen*enT#c-w=s> zC=mOgjMyvKE!ZJgEm$h(7xW4CA+QQB*e%#0SS?s8=oj<}_Q5_}X7vho3w8)r3ziD{ z1pzADS!l0@LO};T;A(|_Ta&(_LYwiY-LRYT=6(GyLYw#d<50MqqiDt}4jrUvGyd{z zWGMM&JO}rJqRsfvCbS#moAIm>&`;WoZ#*yh%y`D55?;(@8?EHcc+fp4Cx$oUPh59L z+KhLgj1_IhulO!Vz8TNhE%uu69Y6Aed^29uCGuu`&Fph!#>*h8x`7;6e zZ^zH)qfNho^0Vm|JoH(f{5`?L&qe*Q!@us)&vlMAf1HQT_UQZ6!~c_~JbvdXzonk^ z4fn`@-$P&Ok?%!)we7pxLqF$9&odtTVxIhI_t1Tw^7xr2y{CBWyVXPA;0fR6p_hB) z-}CTSdD8n!5B;f!zSBeh+N1AaPksEtlRxiz@@KQBehl{5%XY!ee?I?g`V~)nA9-l5 zZ?@%6@YplQWB(`*pVP4H@L3*tp4escFY|;y(G&gx5C3ovztfYxpLz0UoTq*q=PeHp zpX=;x`zCnuv(;0d&+*8A<&l5WV_&ByzU7|$nC!6+??5hlp7roMJn8+=lV9^a_FUkJ zZ<>d{(4+rHp7c%i*nhi6-*-IruJYv9PdxMwJ>jqP#3y^9;c#;vKF)2%^l`#fJXTsC zx}y)0$C6AQH?95E-eFc4>u7PkH<|Fb?VkQlm>3UE4vw_d)FKvWb5@Dcf;a~&VYv%P z%lx_;Ef<_ParTVh#7nApdbTSn*NLDjU87Z}TW+8JAOK87Iv?fyh@;qy!Y{%?{=R_J&OGZfe0% zSvb_YwvpS}Fl!q{&beP`{h~&-&kDnP{J9g0TQBe2`Aszow6{xK_Hfas=~{bKs*+^& z(6bz-s$F9wO(vD@%_dcdslh4bdhbcD{H|SuW$W0}Q77^uea={8NgZkDuAJA{61SEq z!$IXJ#rc*mTQk~{oWn4(PTn0XC4>4@p6Gpa;;}hKG3bCBV4AbdtVQT*^}0=?nl?w8 zn)Hcf+$9p5Y=W|nC*#t6Usb%ePHM!yM2UBYE(Cpy8BbTk`EIU-^R1C~9FnFgxwkpd znZPM6iE3M9s~>G)d$U@pj}z8ZQPwupG&Wa7TG2qjt9;IMm|1>_{mCGr`1oGWp?Utq9E&z(!3N8y76%BPlUww68Kk-2@SJpk7roX48mm^lof#kJPt` zuTj|!i=ACZEl<5osFRP*uA$ED==i9O7g$Fni1#_Dz4e1=U-vFmd3cd%HW{iFx(?H` z?@-4u`@v}&VLuHme`zf(AM1H&`Fg9YX1N}L+RJ_hY9CcX`chY7nqpvf_(f2H^5V7tR-6;2vd7U?q-scI3t>_EH;=*Q*}cX5e2kkA{y zwGFHk%GGE&T56pG4;Kk(Yi4ZDtg@=wd1!g-=X-p-^15Adge}r5$s59va|o~D;r1F| z6&rYO-%a0s?F}_0W5y`*Mwi9z5uXOu#tP{KV z9e}PE`ta)O+j6A(o^+o0e7>!s*FRM2)4pn-jRtc~EWtm=kkz|olJl_q zV1~f&9**yQ&`I?eM|Zi?K=GgNg!}5ujNg4df$Ch?q9?K5geYYaD+^@@El9e-Kqw|B zP&uoroed7myyt7OxgJ`nz!nU-@%7VcV~F^fS-6rDq+G{$xd8KdBa*Kt=0kX9H`ZrJU&@vSW=oQ&QenWOI4iwBB|s2W<1XPba9sIIML9B zlAJ<^JwW(DN}G*S=t3k^YiWY52)Rz7`%h4vn?ovPNlu}2sXs4NyT^{)Id{-hGTnM7 zEMM>*S;sV`JU4EE;-;Rb&F{E$1=~9J1M)<4;$@1@d;bT~uE}?vG7XA`2lZD?8k1D!U@$-8%U8?XmqzS)9`0V?^ zCD_ODZ@L@}3H)CQKUMx0NPjk!{U-}QRrp)egg4*mQ|agT0lEPGldVH}LHOt%(f@SiPmY>$;Q^VcnXw}X){ za+0p3`q=h^w;gh?ik!65N%ajz?mwP^+-S)CSmdr$iNH^ibX*2GlYax*w-R#C zW}xrqkQ8*s^tPJ#pAvZPyeSCH-%|PFikh@gm z2CAp;Lhde+8>pTR!!zM(kz>2AT$1uV8*m8pwT?fxd?!_o~Rrb0c2= z#9ZEQuR`uQk(1{~Qn^8ce7;|b+(6~aIar@$U?0~>yqtkPe%n48EBfgMxJ0R4hukEQGvj4WdnMU40yr4Yig6j}8x6Svk(1|E()_y&atDgsK=<29$h{@))j;*& z=aAcyM(z^GaNckQkn{XU0fWF3fae2;0Ve{pfRliGkvHYQcYtNUSAmm(j{(O5Hvmg9 zA9XnpV|0OeKr|zHvw@>Qv+Ow!He2}bqi&J^1`u^HuoZYZkmm?6{7m6b5`K~J-^IO3 z{tG~ce+tO(4*(gS^U}!YVKd}&-+uDP3ZMJ&lh3nZ$me{*37|It@vIHp1SFsHdGVK5 zjUS8^2Dq<2#-7!F`Q-l-&jj*0uZa3NpN#Q;7fAjp;V%VZ+%~WP$n`p>3I8zR4+0j! zpY#9liW+zUI1>02kmYj+kn2!Z1IGbp0I8q-0>+Ox)%pkwcdB(MrO02X%<>ER1pAPG z^zRky7VHqL7AzI?3;G26kbf$?V7Fk0V6|YWpkL4@*au@(c)@PL4#8@{QbE6Ucqj`4#8@{QbE5UK!xi;V9pmc?(-o9@h;}{uv#dbwttTJ^d4*&A3Cggg5V@M~Hs& zUVDr1%{a%kqTh@=Ocr@Fj_{<&oA**~3`2X&ILp_;r%lGqNBywrm!Z$5gCJ~rl!t!G zBY%fSAMLWkGaqa^=&@&whtE^fZ24Ip`JhMsUXT0?5C1_Af2oJh!{F@r-to}fGsxy2 z=CS8tWUS3!iwmk0(o93=%HvPIMeBwNW`0P3RQ!D2lxH$HQc`%Er!uS&G z*2XZ(lOL$#$FsVH?8A3O&i1lx;D>BmpF`V15^36#d0q2vTvNfk+FVRE1;Wfm!uM~_ z{3OJ#l4s`*zmn_8LJ2IDaTd=pN>Y(z_EfS-Sd>oYuVw?NW3p7t&a@9L?@Zcq{FSBp zgssE?sitiqyBr0{jsRAEu52?>b|$$eb}4b0%b_@~nHeU$nzTZj6DMggg^9lLl8Dd0 zQc5W9ozG=k2YykNIrGGs@#T~j_1aUn90v8;3@5U1%ffmbL}FJpo%wBz-pN?XHg%Ai zTb};78}{iSWS3zKoa!`WN03&<=WN;bGXCTohDn^`MEOKt8lh*zSo4CUqsGuw)h7y`&A%Tr-0BNFv0g?cbkYKVapp;;Ua$SO5v17-MJw|~bB|$6^QNadw zFc$nPMN#s;Z|<4R-J1=G@4fjY``t5h=FFM7bLY;Ta;ElN=8!ThnF!wGwk*rB3Sx|U zf>hyiO^lsiEtIi)N(I8wAafZ}Z7a=srM&Bja-74S|8LgO#K$G}Hy6@`*3sa>$)2%5 zPQ3Zx?_bo?eZ0=p`wXv92dyzXT=<9Mcl9poi%$90{!Bf^yyp9wPSY)M&40Xxm22#I zH%5DtU(4HtfuIU{HFFf2A?9yG>u9u`i$wRRldZAUw^*15*U=pByyvPDP4=}C%iBTi zzjwr7lXhqVvbvcD6nanQH?+E1a9uz{Jj44QontTnd%ULb?D;IekPyK&ems1Hn z_)Sn6i#0>IiLG%x##F@-4dg%drGGO1|Etrh56q*OOA}-CWN-J)lPvb(V2jU7lXv$+ zeyZ_as+jA8&Hg2(CDNiJr#Ool8ZtmfQ+ZFp!!*FRkBTW%`*$j)=T`rwEI-12oi<2n zY|_R$YmbkmkX;l~()M$xX3lSO46%$qp3-aZt3+cZQ2giBS>Ss)oNtEWn}y%%0SLV_ zJTza0<}j3IBIkvN=Bm)E@mre)tW{b~BbxK$wU!i3YkZcHQ)b~m#4SoT_Q5PX3)o^{ z&ucue)+`9*9kx`hCWyOZ*wS8jFGCl^DMy^Jl2iK85;+UZybU<;;+WU?%xCh!;Wgh%^N?*XQl3ksulZEldlD1#t!8Y%_V$M{| zrJC8Banw|(q|XjA@^OU)+>j}E)2J}gHkI%ORq5>?07c;Am3-0OvCfzOtmEaWx(O|x zK2V9g!gjmYC@#g7|GG3B7vT%ON^jH#snf8^Xt8o!d_7dth8l~GG;yx@U3r)Wx|PRX zc&Gz8AR}by+ahEB&>GwlGXiaW?`N6eR!GYJuHK;1$49f05w-C1DY&_Vt~lx5+^ zQ+f=)st9!9qimQr<+p!5%FCkr!v0zf=)JJVadlo9u5%>usQpr8Sa9SsYZ6k!6H(^C z6QfipE?@Gq^83LXypxsD8!TaMmB7V`o^@<=Q37mRP$+V%rEHwbM*PD#>lnvtm@9Vn zC(y5??cz4NKvd(xdgdv;Sr>?^C#u?rto{GMBD_jBto_7sCf%Sy9W$}MU{7!G%4lD3 zaZKn`kq9NOcDge$lX;N?@ zZj?IR;BTd{u`#~9c$@Rijou($bu6wEy#puU=n5KCUtYOC8-RGt=e0$#kii!mw6VIS zuVnD`c*pQW6De=!%GSuM&v>pBDWwIoa9V_EdK8Zu?4plOGyYW#<&QX9Mn$o-Wp6-5 zM{@VS`d2z{{sB_771NZGg)O6S(7hIgQ&bkNOUpQ%X8Z>G+Pg7$kIa;v0u@b(Y}DRS zC5|H~)|EpM9TSH+K($KvK$lBlM>?no1j}P(+Ui$gJVpghJ&5*fO>y)}t>Ix7${XpT zsw$hk|1&+J4zebjxx~}=5@VozR0&kW(!SDwtwS*rMp?lqY>j_bn(?z)HQ$V8d6o=T z#fnM}rs`I-F^d(bn_`9r{R5Avgs||=ol^Wu;N&v)1$qBU`m{&pRp7JEbn0U zUMh7Rt;1C>GRkSy0 z*EW<%c2LUL1M!shL?-t?YetOrpMi)jZ?K?Sa9o_v_*!L~Dc%AGpYb@GW}oruDgbQx zde+023C1{!KQgae&SH-0rY!q~qFz-=o-bZAUamQmh{O&wJuA8S}GA0iSJ3Y9pLY8#LYj0VR~QeLBQ&D;X9mhT&kSz5<~uLZK=;A2m-YN0;}reu06O zi!3)hPcdwP>ecxOO$&u8;T{z_N|zJsg53S!fh6%d zQZ)%ti(f(iV80vbDh+h2Gj5EsR*r6j`Kmy@z*EiMGSa~bd*=BII5Ngf` zj>Zv>p7h$4zMkVI+|$s0_K{==CUHN%;k8iSt+RWqFa zlydxhIK%n*+cTV>RxZUc2C(gjLqX@mGJK8yOyp1{hdjrGy$@GcH}x2MEIApNvMUf{ z9t`N>gRC+hR*)eB@Yte}YCi%_alXmC;7+W(9ht{_ykyQTwb|fH93=)#POIlJuWqiS z;KryI`A;}p932Fynd zrEm!v9d*M`5XG7YE@JnOn%8<=piJZ|j^zGF0%uxC<8QNeszBVL3-N%Tf@j%$!1)zd z#;*@gX_0<(@%~T`Na$=t^Y!ynxc2JN`==shCu>I0kY)iFPyazN$g@~m41D%iAPM%6 zO44@n$(X=eWF7{{{wUPSOvMlcj%hT@7w18B!nJ-(cyhoGDg){$sNL0W&B!QP9EB?; ze7tzpAq7^+z|+;O%x<3#$A5~M{^}N{7Y75vvs!1Fx(p9yI3}ubLYK0rKfn>lot>LE zFV~fkmzjl?6S||vzMVP3uR;d696ek@bK*+TGQh7G3g9y{e_E~|@dPi;Mprd2v%ry` zbyZe|A3Nn8^QL9{xy?C0>zcd_Ww8I!Y5BR~KBMwvi!mcipO)##nMn{s_`FPp&4A%~ z`E#cE9ULG>1kW|tq&;nVP8RgXtXtMxs4*rlCmYr-YCTfs`?GSnVc&s?uvBaZ4U1Ty z&KVePZZ~I_XCi3t~x|0RZ5( zqsyY)twM`Bj>m=8>!aQfTG$;)NGOsWbNbWG#|ToS@X}~A{2IIyBZc==-*C#7V#M|5 z3nZMKnn-s3=ShYSAUu-%nNk3S^~C>C!r48I6#sE4usyJ`jH12jw(>1Uu5b!GAN}+H{4&9@1k( zxV?DF&jkM-;pcr)PRqC1{U-k%;GgriDWCUExqA3#;{iAu>#i;aCIR~heGafI=+lAc z1KR+*0S}`-kZ(7zFYtZfFrWd%6o)$xh-b7zCNK^3L?EiDdjt?w&CT&u{JGB&JPC+< zahYyJu-k^U@|ZjOU2^E|7;+>V%%+kO#dJfzX@_hx! z@?9hJN}-nkF;(Ku7kW0Z59rB2${7n}{6q;qUGOgq8d2Wof@Olw0KwwE0eA*52Z$!o zJr;O6a3B!-jNRu0(FV9(K+0(aJPY)}6U=g^y zAj&|+>n7+D>?nxWfeMcn1Spy}9e*wMf+m&=t`;m5oGO?k=n@2|czz(uM)#|3LVYH! z`%#0CDbl*%hI{2`hdQF?wRa(x?lJ@0xZD}+CR3^RkrYf$d5IAH{@CAZ*2U_ZQ<=~@t;P1tnoYA!nsZ} zEF6TD-f4@UYopiL(!blLAI}`I%9Hj3T&BajA}ri)-*%fV{wp?p7u)D!n|=@5^0UfD z|74@1Z1Vcq!5i9+MEqtu){%~Emm46lpE6r;w?ZCRi{M?MWFh6Oo z3JaMFGlwn2degY^qsOKw6Pn5vqZkgO$tOko3-t0tbCs=Hqo$1>D#9EMQPvS1SoxSf zBRe-!C>36tfN92%DI}|d{!D9yrgHULFXW1|y4DNfTgT`i5;rY=X3tT^-LQt$6b|M% zu?`Bql(A!BW(`Xic>-dcQebk{5Ypjh0adO{qgQG@=$x!M%Jv_U7aM8Xv=l7@hAjtF zd?90jVM|L@kP@xT3Mw+By*6!XE&ydAhZ*yuL|V!#ur2JQ?zlZ_qz0DwP&%^<{IkWnnyyxj$_=hvI2ys%vV>Au1~fI#@aN|=Y!I-vLWn^? znj*``pceHNE!ADot439k${O9AtlXJ?m;+RKu~bF#9#W7p2B?DnlL0?<-?L}tW`!B> ztJQVFTvSR7ENZltU#(p~TR`Y(H4TMP9rLl9zQAUfub>h3 z`a+L}vPt;gtoYfgiMdwQ(oTp+WW#;dIzCR;+bV(P17yZ+z!;z6uP2p|S-S}K>-boN z%+3u>9StLj(_oEGQqyMT*c_>JZ1}N))mp<)@^Ru#>z;Luy_t30pJ!e78nW)D zOu+Gh)vaRsH8A}aNs!$pT-W$s7sk12U3{Ou{rmRo+pkYO_TUowBnrD)$Eu$N|NP^u zV~xf;$Kk?19LGPGhrK|QcjzYx-;H#7Kar;KxvJK&;&rB6W7n}h!?fYFJbrg~rN@6< z$ExK_WL&t9v?3V=cUZDtBIKamq`>d6yJ%C^|z44gC9>RzY+K0A5*2f#267LrB3CNs`ew2@E?bN z7ye_M?OU2A-AV>?Co0n88jCWFFo^`j>n6Gwp>>2OkQE1+$1)90)0k$4FkOTR*+O`R zVqpENxgH9WWmt;9uLTi|MIWY)Sj3?(x*`4Naf8Y(v#^=V7eX`qxG>EhsoV@hZiXQ@ z!;qU{$W2qpFBLEjv~FpL(Iex4(N9b=83%BRxtNmjDk9n%qV3tKkZ#7Mah9oQH94p< zc>oH^6gMU)+v>SBpYca^dntNOo;jC255|h7xnvJ6QPYX0Sv{{YtRpAEqO0duG`$MJ zX~CJ%slh?95_^~nq5jEf!A#EFnMLf6br7luyID9{&ki^J<)IzDI@g%xtsTU`Be1IVWA%bx-wvZ^__PB#L{)kC?JK zT7j^cIZK0=;h0u{J{Tv;T2eOulUUBlO$OgX!YB6u8-itC2Vr!S zmxKQogpc<_xd`?l?m)n+!pHlfoIZEglI~jwI2G$p=;Z#?&L>GUru!ZKkBU6GPZ9ZO zf96Z!llv8skMl=wH-eArn4W9|-!ky65I(t&b<*vDJkb7(U-)=Gm8)l7=}9!vr()dj z0U-W5@Vl3I4St%zpW`5S|G7Edg?E(O3*>yl0AM@dxj>F5p9#cY2cCQ51kG_%&WC&f za-hUw2GhOnw&?#>srxC&;x%hT!JJ> z??pJVTyV8uq2N@(Bte%TK*i(wOO6}r=WQhXN$cl#kiy4?DLx_F`opr_M~NJ($5FnsRE7P_P8>J4pg;qbOF%lhQMCvZmz* zF#2Kn)Kg<6VWT0+haYL`f*)x7$TQCkuzrE*Z~X8ysAPdZFCX9Fdh{VP+d_nyrVo#5 zeoLw(kbKIp@%4R}hN&CjTh;PuY=&AtcdbIh;?{59+)~uc-f=%hk)^RIm!zBDowX4i z_->3B!{F-Uv7ztA-hC7BMM;P6Mh>w|H$NC7?R)$$--|pCiB5mtX}Tr+_>Xsia*h37 zle0_)k3>rTJ&<(nUU`mQLz4M|9^>>T{4cq+I%g4N3H zDQl9AZt9~e$^3*#HIieo+7W^il+16rNh3953l`{B`bq|Eq3#g;4yqXz1(x*)i8Y$4 zSlmy6@TVobrw*rFej7QLeGU%n^H|&k%K_uJ#qZ!Qff%pR<`Z6YPFo7I6VQpY^ zVSh*9Vg>}$$|3VTB(soTpuZ|T;A7WfE|6tpk1Y^ zMhs7_NO7qw4d9jXi{lllI_@YIDQm4)p(=GtHKxQ>M{7=fTk5PfuG7YNSpthnO+{pL z?LSC?E2EVsYRk$$>9GnAUzIPTD|eY5!t;nCo>J)x&MEg9fi-0J8iBPUrvfY~#osMH zgJm{o5AT&JEj0?&c~fftF9JUfD{1Ce5A1I$l4>okM?z`AKs4j_k1tORwyE$IZws7U z-O01H#pKkQtv9ttMfWT}MO_yD-OB&tvK@h+5!ebosPn%5djs1%TZh-2fOX!{sof9Z z0WVE9%*}1yRjK{AV$3a=vc?y6KrO5fto0(^z(AEZIHl6LA|6k1b(_?Rt^6LPJ$7W& zRL_UOq`DQ;TCEOYaevVehjZmq$OQA9%sp>|b~*gc)9)R@yv z7E}Yh-GF6K{22=yWt4$kXxM@GI;!5~VdAhvJ(9Td>WHi30r~#(EV7@*h7BmHS_gB( zgNL1H2deKJ^@x+e4#(op7ffsY;d-WKoEeJ^e2Y)^ z1{dx*V%9v>_|$A)@-teklM%Zt7C)h&j_^H(ER~&W_2qJZ=dw-k4>3lw);|j$V^huc z&=X(5dxC8Q703(P2Y)}_8q|@I!9j<8{cG}@`}+TOO$VfLFVo<0+Df1&*esT{Gov!K z|N9GfRG)`vUFE?j>61&|c+G3MIeXNN2~OEryHFpZu~5lTmZ;ekOY!HHy; z??yCBWrM(_n!r%0?nj7YlOF6-UDRIEQ_WzI=}tkb6KR}@{&Yj}A88zKl7w@-AX5BH z>8SGiHd6Qtcw^Axv%(!$MhCtiSW?(}VJN;{R?LFJieUcO3a# z%d$nr(^yW*>2WukJ{i&G_>LEdC$fVFh%$8d6903={|q3`V;k(^d~^d-3nwnT>r@U zwD+gt137Nh4@f@RVPt-}K85(X;QK)Qb$A;;EWc79_2l>+`R)bcuLIXP(*GvGLLkEn zfcWb$9Y4(fXSi=1PorH(`mX^pe+z&p5_c+)`L4jtC0`kkd`}9^)`xT+kmGn`#NQ+S z@j!eUxsg{@KC6KgT_`wJFiFrQ2vB?|8#NB4pZ82e=D3u8K5?mN{hVbBt)K7fg&*F^ zwGdjj5A)$m8QLAig_TYLVWlsyh2LbO``c)?p4Rv`+i1Qwtl_kOX{9IH?pElSok;UiRXW+YXZm!Hk`BvJ@MS>l_v3Bwc#8&xt1t-48B zqMIHfJvtnsj$f?=@+jRiNBllct?t<))hQWq$-Z zgl70PI()532Q@v{Oads=SY zfVug3bLRRTxp`sn^X6vdh9pl&H4XLU2Qpx)(d4I}d5-X$EdQ*$Ob0!NM!F14x-iys3yek#G`jV6^Yvpw+S(dV`L zA}bj<0-fBP8>x+3OTj9sBO`Cl94!0Do9&vGo9W7!mYb24ivmOnGgLKkpFAd1#yigry8%$Sjt?~rt{jMUudjV;&I+9JZ@VamV`=vb^k!Rk?o zLXS-Ngn3+@oi|UyYqyT)`t$RkFERo3LtD!I{skx@GDAJH&%h#fae~N&8;Jec)6{Ag zY&s9jotu}>&EqyF?>TE1OmU#^ubln+GZw!5{;ZVmKK-5yefOEsxF?D4IrrH>2=9cs zb49bi4c7^Mezw_e&f5T6bQFvhJc3B{=e#m;mtdtJ8)N$OdxE%1aJk@o!C8V{!9>As zf*l2;1&^3|wb&=POR!R~RB(;pD#7J~^95%KP7?GACJJ^F>?jy52w-`&z&Dbk9m*n! z9&qF*y&8dZl*8{7?b2{zA=R~&HW#?(iB1OFEw%e}4LmKyC(myF#K} zC_uO+ni+r!FP@AL-b9F<)yVUV{UV=N9N#BF4lJH}0{VkF+5eyB8RO11ONRA}PSfa) z{9ny8UMdfSmNyAE>f>;f+5at{U&ye~YiFJyy~)aU9M0mGl{ag4qxUL1lcD z_E927j4y>15tA^6sbz}USaulbpuEg^$$$**8?b7Z0E3*~qPIJ4pxT(;QEccVUWEj9 zWB7%OPJ1G#dMwtyR>EULH&E+m;it@lA5SUsq+(U~hAFql>#`_QZf9#Q2*en3SyxS~ z#gDK+WS;domAS<#T;u4W5w0fww%%Y<*c-zPskAW7C zM0)TJtLP}Z2M~*8$I%AnP9@IFB^#9~#@nd|=0mGsW+|G(L5?@rkX_{%;~8tlFWMY- z^lvI{1syg%G2TfwHl`Vsib-4TDfjzu$5V@zL_5+-mP7~Is?b!UB`ZUB%$~S{X&r+T zVvKR!jFCOC3N|h^I7HuR7=(fm%hsNn_o1wcn5ez%*3vpA74^oV+sm8k=<6{&c zEd_bKCCy*Nup9Kl3|HC5$cLE)H3J^F0JY{e1e>)6U0GdgKGlrooL6Mu?<2sMG2$mMAo7LJgYk;u#U7+RFP{H|3*#`xLP z6M5N+U^6f17VEtHp&3g#Ud_r@-QAWQDr9B{YBiLf_-)i(=h$-CwO(p~x%zF+WnV(3 z&)AfP$q!{mH`RC_=9`j@w4InDEcY4{DsPHfR_-5`R+1a#D>?nDr$%7ZE8 z-lF-@u)#PrI?zsWrP4qnQacxcm7M%cGXhvTJtdKguk}1PEnb!{8SAOR^sYIDSDk|L zo`{iOi;}~Til=lnewA_L#7Lo!Ak?CrIak%uR&7Evfv9vHQ;hf0j0#k1ukjJ;G)k}1 zkHnkr#xS?kg&0&y$&9KCv_D7#8m4aegwl24M9qkars`Du&}OAEr^-JRjlyyza8DV# zWFn3Bkpq;L6G__Xni2M*DD9WD;_sZxZbfoz{}F=|M=s68MI(?lAJWc>B#kThRI-@4 z$CUry7>&l{Cg=1Mbcix9`c)a%+bT|(^AAmq#iJqms;sXL))l^Ebsl7LhMn1bSP8Bv zV-HlaS+28LjIcU|cD`oZpM?h~1x-S55$YUfbAMu$RE+^1iJCx_5{D>Iepzh8g{|MabUoo;Tx0>VCW-{hue?E%y0|c8|Jgezl|pq-+aq6B4XhOkwPUb8hgTk3Fsth9EBsg06KYlG6p~%_lS8VrKP2z$DVi~| z>UGtKta{i}lxloJ>v6%Buz|_#4*pYMtIlWq4|mJ*^wsRGNZF1rI7dZFWeRM4&A|E~ z5>>7ldHEnd8Q?%QaxU8fWwl{5yxzET!l{=@cuOWXZC%|Ai=SF}H-76%T?by(2TYCn zGIis>E>yv@(4FB*8BW5OB?5)eZ`$lF2~@(kCTf=QM*UV=niNy%1db}@ZQ)=|G{uwz zKCuL5=uQZ&DB?9591#;7?K-rviNC!!*cuHqUN|+E zBnC&i;>&$TK}^xt|6+MesKTHF=nXo(K~Ee@xxcq)L81eu?2Mx|RrDB+PF`@BYfTeB zw*OdqPw-R1Dw`O?AhN)m8JlJ3Q2*LLb%{Q&lIVlzFl_ z>oe3VJ~Y3F@rN=xEt`@0?^=xJesQ#PFoV%G+lu~*nwNsQ(y`hDO=!i&)CA*M+6*7J z)+ghtN~{y4EDVJfudjWlbdv7S3w{eLB*f#Yjkt<% zJZdKvOYrI85H`KDIO_z$VA;zE1;Y!pN3p4T;Y0>kO-_`f&EGk7XxzTi_*ZqsOU(IKckir z=_IRk+8~`&ESK;F=ewBJS@oplA4&;btcf9^Em%pyx8w!T_#S-RRiEi8%#3v%1GxmG zX9E_!)l|0y$*F3yuffz%Lh8GwmFTxP+EY|h6G*FWhvye<`3>OqIg<~dR?)VQd2_Dj ztz*^ll+qxB$}rlAtH{9485%0F5p5=fZUegvA;YL>rN@{C($~T$`d<83;lJElk#YdB z(SWUGqsg^d-e41Gh&3;`hiFUIdW}zc9~U>nGuK?*eYA*Ur0qwc^(;Ep#6P0wSXAI* zv;s!u#(mL6d!vl^m;O+L0$93@10CMt9nR$UjnS@ZA9Cesp>u_?T1T1LDLNmysE$RQ zLgeam!F5JB7yGN8QW|?vc~^?)7f?mV+V2x@Q5Y4J?R;wAo^0p~eSwxD&*o0a%d}iE zVF@+++>1~&*<~~kWR|yDhKd$eeR6s?ppSwQ3w?5qf{{@?vRvqxj;Li^JgefN28@CS z8b*F)rE72V#dYz2F}I#Evg zvys_PKl8PXTZhk;dFXb?ZLPhf^pB~>zhgcAY?96D5iX}&1phXWALlhLO^gu6w3F=q zMHODl9fsy?AERsAN3QszS4>?mODn3mTy?p+)%8lM>lIhmE79T=rlqcUP)Z5}8k<)| zLz)JtttHW-Ax)H*B?Wt9+s%w@_wHeOvn#`KhmT~Bsqv{<^~8MgXU0Z;*P#l)QnIQ9 zszzCse|Pg*?Il+g&U78~7$2k>A46d9l#+{UivDU+kc~Fp6C8zIx1A27MtMsXZCZ~G zF>2Xoy7dW;>H+W9Y~CsT7k6{6ybY|LLSL*a3eWdI2rwUk`S6w#GYnMP{kMaTFE9GL zsk3+>8V@X6Ha{5o&Am0s;khZzu?*jjoe`E6oDqj_Jm>n|XiVi%M9bwY=ErYZa52U; zLY8Ogy%*k$&+o!*fy({6K|{A5i^hiZdK6+UdSx<3=`GO9e5^2jqjKK1H2{|STPbS7 zCSOU)YdnG&nk&ZY*?2cY?;5`+Edw^JfAtyWaS=>zA5-rd0);wl5E* zXjnxULxl(8Ytm!9k3kZT@h6%bPf1D*&b^p70q@8Fc9^#8c=1!aMVPN2i~~%Hj^BpWxj08!k%Q8UBy=jhUL@E5L5`aJiPZWKZy#lM6P8ywfIMGEhNt`S{*`i+tB72t_f z{$Df@zjd?{@2D^S-4Z^y9{qN9eBf=x4U(rDPuO$32NRDI&`FhnfIUHQy23IHjT@qegPxusezu*Mw#Gl4!z z@m4yS^QoiXc@kcq{zD{Oim6WgGzmY+Or}ow)CR%}8VJ9kf$)182!FPL@C^-w?`R;L zBlUFkmCqj%F3m`t@;NHu_0`{I?M?ahwGZtiyuR}9(m;4`39qmH7}-GhbP4YRH6y)$ z?v`+Nup+hZt3~nG5kFFRL+c}EeaqR73TsfVt zZJj>laxcg9@6G)55_Ws~J>bu^*xADOu$?c0+&jSknefYdADzQ+yC0NG8xh-ukMDow zG@ot%1o?jk&;B1wec2y49zXL(8x_XB6(1_*R%wYxT9>fAIa;2zhsa?`Q+^ zRQ|!2zTec3{Ridh$v^e{8T>gvnf&ZeD5v=?dY+8>x=8rguc(iYYY%@CK50K{^DWVs zZYKEN6+ZSel#7t=3h;H2a|NWmh$!zB@Wlup`yKVk`vQD<4aj3THfx6cJ;KL+NSHjE z-G1h$H~4q_Y?h<+OCsty8GMdkOg`zKMC4lrzA3^d?R-SOXTdkD5qz}G+g=^PhM{k z)BOT`(T(71hHscZ*+zJ=g>r4f9Of$yP4@VyJZn;OCQC-?%w zcf4{w6P>Cngircc5z9Flfdhr_c+Xo7_|6o*JN5{J#Z-H-rBlx}p-_8cw z!B{-3ZJ_+7M)36p-%G;BewlK*J+SmACWCK-@Uedu#uwrJyaN2Iq`tDh7RGPuCtQe* z+fb}K?FxkG4y}Qypnpe!k^V^Ve&9IxF9D8+{imrw@(l-)ubW^S-~{;pffY?7fO~)p z-zE5=;5$IZUn}%7Al?D)If5O5(;o|@{6q;qQ7{MJ+bo|cK+2y8B;O#R;{}@v{)rb0`Mww20UQZ_o_8_| zc%S(5yc7Co33?@*^Ztx~w)l4hdchY1#Otfm8yG)e`VRrgw^T3_Ncj_hBY~VMCtoul z`FL&#u?k4OjX?6<0VE&KFJbs(!8co({ycJ({yc$oH24g`>jY;CUIrY4@S(t=z&=36 zYX{{0K89zKcoPs^4)9%*o8j&NknzR= z`8?7-J>&g_%rpO=;)mt&B#?Y1K!z^{GW}ekhXBdfQjq(1$iERt{+IAW{zrtK4WwS2 z8l+wq0;$)@X1Mz|2&23T{IGmq10txy3qn6ASRz;`;d6zaA@s#U_Y*n}I2iJ{Z!-ya z3eX2^4}|OVIewVlb|CeC9>{bb7dj~PwSsxTVc=okz10xtoweZL6U4LBUg?=i|j zbyVj#O*QLTizGppphIvk>H}12!8OCg)q;hBQw5U*U4jn5y{HE&zTj%XLcytmNrEmx zhu~h+0~KFzwP2y(RKX-cm!Ly%uUQXTlnbsFEEJq7m?Y>DbO`Q6VX5>5R|^&jP8CcN zbO|~H_ad^2FSuH;P;jbXlAue_A-EU!370L(1y>6e3QiSF5_AayRJ?qYLpuo2^9Yv- zt>*=%fsf&OoMkQaCauTixk8Av9>;Bt_)gGz+`OmIdK{kn(iyJD{q;F2dY_JGLK$tdY)v$GJ}ud3s!*`{S6t9;bUuXg#jiUHJ7l|9cXy$0a{RT*lYq zsH_X5^|+@`XgyBaRrJ;4o?P%jem#y$<6floxbV-qd}N&SQsLL*x{nLL9w&ZNXg#j& z7Fv&E@00S-3NZpq&)OI#?``qeLIt%?Kk=LIO*v^>v7Q~xE}}(xkEO(2STjjPRO^?w0mKt2iRyX z2(pI5>{%FHW25Jwe60Kr+rkTM@;O;<<)010N`GsU_l}MJ+LqtpsIS)eZ`#7|v6V+F z8_o06tnrW7(u=amKgY(;xYqbLg0RvHZSou;`=ENaKei?1D1)J4TP3+UQlEV=-a9tM zlbnv-rm$v^1rrM3)TlO#SvQYjbEa*3s_ZINJIHFcVv@9O>kOIYRQlkESu*HdoWcw% z58P5JHboI`?)OwXJk3;UH?#7vmRb((7;Tt?8zj>+v!DTX!-fmc1~$0?R_&h*52k!G zwk6nR^i-WPWA2Po#v?Ljg{jCClpTjKUka}4OJ21@xDIb!U-EJ-0yd}G3Z$+tdDXgv zy37&0$<4(Jb(yuV9G-y!RYqHRYqM}(4DJi}5u0~YZxE(0Eymh>>r|%@f2abBjSa*% zkC3qjU{i2z02_5F-Mp|K{Xui@Du~5wZp_s?iW$M;3)QhEBNS*!!Zh6hZe}Tb=d#XH zU0+C!OV11VS)EPMwoEfPsxUbmx`%Fimbe~hnUzntvk7O2JC(+ zA#9Pxx|Wd4IyXworTLH$7j2gmXxD8gu_ zl+IN#VHQv3=FJtex>6CXEtzT6BT0X3u@CLJG$XlRynbXU%>0E1_ znKfe?c6?j8_@Kzvbj@WU!}r?jMzR}sGX)VS@XpXFqE^jjv;UT zL_(vGA6TiOm6oWu&$ZqXHOvoD!)Qx!)<%qUW)32o`OsDn{vk8zBZt&uSi)6QW65g2(7emc;Lc6RlRMR{3TP0WX83#_&_*~^D zD?b~RYpi`4409=`<$3k{znP;@f)sH7Z*GA<>2L~k+k)t+!(>-&<~;i9Mi`-x$dU@n@7^gu3-56etX_a$py;#?tIg8M{2+S`)i4inkX z{^VOkPLd$cbX@UsA-{x7L<(eRdtjnA46mx_;W{&so>u zI`IcZhF-TSBbq%^_6c;oIRP}kFG4OI3n|0j&TYR zFECS`2W4*gQ@p`wZ%GG^SaIJ~;H&klAlO?YYvr+|oU;z*lJa~6m9f%$O0n2qGFH-u z$DrGGI#nA=HjA5EA7EMfu&LPIV?{@r1-gc|ikqj1VcVn%_F4*}lv!6hBf_^)sLg*` z+>t1MHrBs8mvIQkG+A791e+6*5xKrJ#2SGdU=}H99TWSV%w5dJ+wt3~2Ws#C7W0iz zK5BP(_{@BU1eWyS(Y4qR;YCX2b&5jsK_4@ZS}P@6v11n)%GtEDKvNuYsTj8khd*9# zIw%>;A;$HXzH}&?2z64#{yFScFe*akm_xhOlm!jBPr7OiO!POmiiqGZ)-xjARMYgp z(x1CQC8OkB*tqo=*kAB!DXzT6x^hBo9fs-g_;T~%Gk<+0uU3I2wPJWQvV(_CRrge* z1$M%)AxW*M_!=2mejA>4x&h`qRR}v^R1_Xq~5!#y&)7)iJ3SyL62!o%a@SIce zd$@40YF=oF+}Z%3RYXZthyvW-xX9FkjkdRB9kaW&B_3?WxV{EWrI`hqYj}e^7IEBK z^SJU;-40zb=)JO5+JihF}{N7emRNy1Wy=kO<lLaMU` z1Nm7j^;%b7e_Z#o>kH?&JY9X^=b6Fk9IZ(E1Png*a9;dJ+ULW07CMe6M_MPX?IL5X zL&W&pLPp1Vsz~dkf5VHFPUa~jHPes3{N|#o?|bBk*g4nbWd9zCMcickf7u8=zV_d4 z1m7Ltds6tOYmN0fr4hC3vfl#V*N0KrS>JK3oaVEf3-}!ZqK=q+EaxyjS@*@yvAE4`jJ~3uL}`0$GlC0rBjq^(^NAIe*+0{tJP~dZz%8{T$$Q~cWl6X4$hh^~nHC|>+$0Dl9bd+y!|#M|6W zySJ2A0i?WgU=PqQ11axWAlg9pV-n8uBN=}&knwqbB;#{uI^$mj>g@b4-BzU4R%PaGxgr?Zy8DAmx0IX9*_p+#7+E!@UHI_bQNbo)h{B zAo=eClD`<(1-KY^3NR1I{LKQQBjp|?^avon8Qm8O-5uxx9RoZY_d)Db&iNP5HU0k( z+%LFC@MFQPz~1270A#%@1+t#L4CMWM7D)Xc0d{4*5c+1|1>n00NIi=L7XlfN-%+d= zGlWhDlK*lb`Ns*4G;vM}5PdzhE{OT)0vcKB#P*-q5(w96jEU_~wmcW0oeLNZWUm7} z?QqQxe^hamP76lHUyHq^e;BLxlKOL>#(MWHZ_dqIzwytXSVQD zZTj463xCH(=h^5?8|_HXE=Zr2&aO3o%yk94z~rc!bTcQJmF4I38JI4GmDw4X6#{UQ zS>_cnX^i>po^#xTCR`VoBj7ZS8eIku>CeP zZ=uV{+7?=MviehWL-Q6LML)LZbbCd=O1yCS&V{pzhrHv@Tg*r2jBcOEOF{?8nqSDA zWpbFmEa&6Rce?Pt?*^XL>_I^gb&@`px+YEe4A$>{TsGQqAcrRSmi`=rlJFQXC-`C5 z(C5CT$D$BY#vAGMeS)FSy=nl?9I7-nsc|lh`R-$qmY5v)Z-;^ZrJE^OnY2?ZDnW~- zA)LyYRt1A#E0-dEim{nCiw@(QOj91l_52uH_Q8m0&325NdxL?h_#HlDKg?=+jNOU} zW5yh@i%lu6ncvxG^nevs7;YpV4k4|yGuF(9$rw{xV^ipA*Ty5AyX>m&Xbu8ax8-1T zv<^Lv(be(eU=)W2jZ6A)Ww2V^T6P<9qBJuNR6CbF!lEe|oCgk_E$6ZldK#M$6BoEL zrz48X=Pw9(nPcnlno-wlTwSjuv8N{?Dk&6T_e18ClHa9gK45vwJd_fmTc;Q^qSK6v zs$DcPW~K-MFQEP+|7G_LU!ef@&fFX1}A7gA(5n(XV zS)@Ma9o&@?%;b@>Qsqk2;I8pivhfX!9(rm%My7h; zyu+=_+HxEp=Slj{z(6ps5eN1$jg2ZphpRU3>r8uHdWJ&GBAtjT%RE>HW)(jxt|iNs zOH5et7W&L-09b({rR>4Q>(OCz-azK|%rb+C@ZbP13@mk{WM!=jvts=abv-|x-bllb zO4tiSbF|hqMI~v@C!&Uz^x?B#HXc8w4X?1VPxZpeaEwVwbIrw(74!1)d5lI*&UEx? zT=Vj$&7F(YfsFswi*ZElIO?UZiC5!4(l{mk>9*iM(l}yYY5$^tk?g(jd!CMYfD>+$ z;O|fgX9+}-f4(%T^~LYgKzNdbb50npPWt-%9C`iK3Fo*A9pgtDr+rDnxqd;hm>Bxi z@5B1WQD@0{9lD%D=I3XCwHyw_v{T$^EQNpSr+N zo*#TS2w$jMqxDo=Cg1(w%e2c&m3&*qi8q5UU-;xc*GZRl7o8YKc?*at-Qgi%d(bo? zM>-D(UFKv1(eLY&0mS3)o&ZD_uG1(W#?Ly907e7P1)hs=j?$CztF3`(>aGkCO zo&q`tNIfnCo(P)z;YhoH97k>3%l4m5p}V;&Z&t z8viL9J=4a|N@e9|8)BuG+vqVi{zbO@^tXlIZVP|PM$fd-9DlW@e}#?aOWGR#sg3^3 zrf+C0f*;LTLCiJC>d-7T$|1{$)y@d<#n*D}kPc#~k%9G@dvKVCre`q;8hKpoC1XurMNW`)lTj^&mZf6qeW~ArgxUl9y5us2%Z8h!zZ@&?9iEGLZNi@!ggfVaz`6ld~Oy^oOO9P1lKOVmsRiZG zR6pFsRLphgiPi_x^bY;5maARDqiHtV{AUwS*Vu8M{wBLa%bSmOM>Y9%$9ays&O1ru zxCHtBr!K2%+c8|#x`xI*rV4A4V4}zqlJDGE`kL6#xW{V5NB_cc0GJ45|8orft&T;? ze|hCugBrXxzqwRz)i4j3lJC;~+vRkrkav7}|Lx8@aS#l@!8X|>^L|9?|2NdXFEqR1 zHTr&r`peS4M4yg%bE8ki`{L&K4vNCfI)nVW0Ss?}K2q3wngJ{m?a+4&qeZR`R$*3t z2U|Kk01C6zh2GwiU4RBUFjK-bX7S=U*r33YV32T<5M2`!L`oz+|{Yq z!ijsQ#`%_`qsFvX0a-_mSFa`Ne*&+ucN|W)!eGoq&!rgETZ7o%qVLLmC3nOY;yTqB zkZR;dry65pQjMW5AI=CWaaTlxDSn$5BWuByzToI+U+_|#i_Bt6R_L>Fm4= z%ESDgFSzU=Kag;8LU3|yGv{lS&ewKs+!y05>D>y1w`9i zm|@$^uupx#@dsP@f|LJkzOh=O)dpoAY~~B*{M!_=+t@?~{Rf-)f(!qRijbNQsU?h8 zso6y)Oh#%6nUPXU$U$leewEtEw$u_9BDI9%h^dWdYLiuJIQ%#)ZwZ-9Ehl1Xex|li zrFN!0wPdE|iB)je9I7*;8xWV>#KLTH_wesrJ+w_gH4yQ)}E~Im@0};~vW#duok)Ea%!& zYusb$x2M*)#}bFlg+C~bdn^~)Q)|RyX-}yUkEA^n{Wy9{?vE|R%MoXbcJvl)jq(;9 zJHg+Vug=E4Y4<;l<*v@o$&@h=VxqmlVR&`pc|6WrJfWp80bPXzbQKcNRY*WrApu>5 z1auV=*i~rhGZ1Vb*g&v>U<1K8>&0g*LHl=2lDBAI6iyW~keo3rX8%K2nv1m2;aFVd z3tqF!7tG!33(mmSsN4hI;FU+bCFlOJskSQ+@#>b29jA6IpC7kNW7n=Lx;B4d__-Rl zZXL39@n5%=YTUQ)#(gK{y?0dOjW?cqqwnF9wreac{jBt<>2um^jEZU&72Ui^D~+Q^ zcNsl2_rbOr`}W<{_qktl?$h|h6OTM`S+h%OH161ux8tjIZ?w^P@ZcW@kG446PUC_F ze=Yc}@PBt{%*%T?Fa7*8Dg`EAG?jbq1782fa~$Bt;6I`x66=lxqgLgQO+ zz4MlFO;#U`_uV(~zGvUNpr6K-E1Rrrwj$~#jgLP1+M`!@xMGLKHf`eCOdZrQN8@$Z z{eE4|O^23g?9*pwpI5)Ws!(I6PX12&vIiX0xOeZ9d&iCV@@0*metO-fhn{`8i^jL# z?)CPSzua@b#-2S(d(OFQ@-U4fN5+qwe(hb|H6A;*=h&lNzMi7-(n~#;UVqB-A8YK; zVSI-*p7YmfoHuXdyoX-Pbe9?P~!R9z4-O$C1W(MUR}02`}8T>G|ry=;_M}#eR8tK z;^Lmglb<J83+0nb~W{oj1Nil_ET(@Za^UuS7{?YVcOO4yN zx88nAdGJe(7hQDZqF=Ty{77T-<|jAr*8T*y#+fsh&g}fd`|~w^_ucE?6^#4%ZjI-i zcmH|kyg90gMvvz-&xMn&FVGkao)YZwK8tkqal)VC<-)iZw6n2_*pLUGNE*ED8i+?p}ue_JPOY|?_ujGh zK33WNB8}&syXsu`dS7de7hYI-VaeZ_8#Jz6`}f-Y7caU@UIpHA+jF*CCyv*rHE42{44{_XFdpICFg z#)5(m3pPCR!@C+!JkfjNEtkh$uQ4g9Q__Gbh1Y6~j&?;Sb&K(8+_dR}O%wOscc;dm zf4=+YgzL8K(fIl2BR{|EmS@s5KK$_dho^N;FV|R7(yrvpqL#O696b2X!3VcpTdDEx zyJy_}?(Yd#XhgRt%zf~|86WiBS@f623odx}f|MI4=4!m=nl0Dd{qoOWYrOvY3$M>y zd)f~gKlxM-w&1#g)fBaA4|l8h`ukzTYnJ zZ`!PJ$dG@Ae7|Y&XBsC=NS$!onNL?}eB_ar9$64`+2N#$LVN>Xmi-l^1I)FF&t*)Q=CW)cDm`>0hm1`tVeZXP!Ct%)L2@ z|7iU8-;e%%v*(Y)HKwI?PaB(gZ)c6S-IjmbcYFI^qcITJ7P$GXpZ?a^qD99Rac8yZ ztMR6rPP{30RjcPUzVy=nUivF(!AOli{IKDNjLSYO*4VCHV!OG0&s?mrbLWMfk7Qi* zqsHme@0{N6@a72`ckZ0G^VdgT9iVZ|ntRuDzc6j7#=GvCe%Izd#t3J-8bO3 z=^D3eN!T*u(A|$}Jm;J{>{w#W5N$yKKQ_|8u?cjK*cl&R;hE`3_YY^YcH>fBnht zwrK3%|GWMlf0_TYMxW2^yL{TJQ#4+AW!9DN41DVjjq~UKJO9Vx0}p9TOx&CJ<*vEk zYh1D7gcT>>(0rA~4?oQKaO+DOPSyDMQzX?S5F}v}yND>viPq zQ5s)<`OwS1r(8EwW0x+=x^#GaXm5@8-+%G_cYJbAw8pc}nt#@T8H0Y+IBZz^VP}uM zVVcH@ih&i^{B!$@8vps{(|=yR;QP@Un>CAR<~lh#R^ug?Tz1Jz(T{wq@t%9GyyvZo zUgv0>Gv}!}qc?wcw#K$?d$*m{|MV=4fB*f#-$i})FVMJW&lP)KTlQ$S#>I=jU;OEP z|2(BJHujd-!LN8v(>QS8&jYu7dd)G7&pdP2Gx38*-mCHb_dCCT(T7V9Xl&m;x&879 zXWygo=9^pG+{S2Hq;b@!b4Fb}`~GGcUw{3F*FU_ZV1~x(>R@&2soVEz95m>_pnu<; zzft4Tr57z-xS{jE8t=H{sylWb>yxDM@ZqC}tK0l>rp7nk`09;^XXbU(c+yF}lUAjl z8`RjN$J!o??w@pt#*aRl{n00-Z#LKXUZjKAwB&_AmNt+`PHp=G;H- zd|G4Erfr&bbhbD{W)urF) zdFf6e)6*N>m6@y$0sdGp0Nvro{tabwqw!@qgxMvddfT{7;GCQtmX@ry4m{o?uH zZZ;rq7;Pl5d`u*?uZ+v6l z9~uuGsyXy+tKU0l96r4H@Dqlu@M(PZ*_)nib#BVz8V%ztW6<5sS2dn|@|crXCwF^A z>Kdj4*y||+1YPo=T+@!p|Mq~*j8Tmi5`t} z=YBc&$>;Wds`0hgzIko;_^b0YR#nZcdjIuxXKDQ9m)n0CxVYjIjqkpD>bpHZFaAd3 z(4ifMo`31GSsGWZx_s3uZ@YVFeC)BOA4_dF;TMhFx~=XuW%-zZ#>tcCO#Ups^ahPb zj#M1EeaJ7fHQsQ;**7FV*8Xjc9lLJbcVlVP=)OWBy5 zac^k(+~q|HoU5^}gK?zKo0XlPGdC|UCw;ow^nrC+aP{slsAv8wA+FXg(!9CpnKKLg zmf5e!^Iy@NL~@zk8BT9;jY@s4oD*Ge+$TvlUuZr5g*im!8aw~>9VcVqw7k`rSX6VI zw)wAy*6$aJ9!W}?`J;6qWzSMW>-TBLmu|KC#rh{qWpN%m35(|>NJ_wDXlNdLxlHaI z5P54wo{;}}9(xw_z!H8(H%#=s1+>ohF|Yimo=i4uUJ-O-9Otoll6U(XZvi`?P{D|~ z&h{gw;(rYOlkgvhe;58^ob6kBD{fp3F1k{tZ(GAn<2hW?Zd7?U?i=Kvn7UrEVlF;) zom|CujR{q$#?G{;Ka~ZUue@avQn-&7zNl)iI)xUq+|Jbgo9BJv4Nj=4_40Ok8;5}7 z0QimHG&KdNXi6J3&yK^&r_>%-&f|>D<>f^`C#D*orWyxv5N&c$Wj5J(+f%f+Ws32a z=kRV%(bp|~Q5%*+hk`RpIXUjFX|@UWl1jW77A-&Eg()DfQJKF#*{DozRqi#WR5_Qu zjzYj;w$5d5qN;dHh9!B8lyXlQ?z|(V`#Z@-S}FD)to6KUdTcVVaJ*?s|4L)RTh3+N z$Cy^KC<^vte8IrlWMj&^K4Z>mkMp(knq*_!N8hFv9c$&h{&mW7zSb+*_|WswFP>Ik zreIlm2XK9yY;64KC!EI|TvQc3-kDV0+PqF)p5sjNV99}J=|7zK&+ntG=3rk#xzEU2 zgN+i&#z(5ql7my;^%$R}7#J+gT9X`1EA=e>t_Etw@2GB8Q*OM?q{bnsgUQD3kA8ri zk|W8+USt8LXSmm6N>$Qwe`_44`)DDR>|f~%&ROj&9)Mf7|6%$d`svQsJ_;!sfTHb^ zs$(dr`ZB6Jp=$Z$6OvMl?@%8^Uq6zrb}OAzjQ5#4st&bNjE_TVrx-s$?G)qpl=$!B z%aM??nER1|SwBkc)#$ji14(yQZZwprA!)k9C7pyDoJZDdE z80FF9niP;3Tv3j6Kvsr60e|7hJS9t@~jd{%i!9byWpQap5b; zNGjgupU>0lo4(2T-M6P1$5Ok0RnX1Ac7Z8X-jan)F@ycLcjHf}zrW&mWHV33@5xbr zLHFwTjnz$!a->j|TC%VuSbx=~YEq-V^chE$I;i3+kTj{^%R3oL04bd=&2S!^~*) zCu}vi>xU2evEW_wG#~e-#)o)<{O#7$>!V+jqWw*is+(_3ZkkkxCur&4Y_Ia&MSl&M zcapIUrO-NQ{Sa_=->MY!mJ}rEf|hJmH!u3DGngw?k*#-;*(@wPXiKo>Ao$AmC4QUz2xZ9Vu+NM@pYF}HeOCxSUs6gFlT}s7P)K0?mhS1^|{Yo&)pk)Kis_`+;3aB<^rw^I+Ax_X*Dj;W$pL z48(sdf*gWVNxRWRLFo@Iiu{HDL|ohM$d?jHw8M_A?#LEtbw{=|(_-YLdVEXqEygz= z-%&e~9fp*9IMez@C{)90~9+?8+n91fJiXqjgy^rU0 z(w&!hL)p2nJe~U(eF^u6_`Oo@u|+T-B3esjB7YR$H9anlcgwTDX z;=Mq0A%bzmJhguatrGdZL^_CD5g4q3H!C&+;WVIBF<&vD2oU$7K%RBC{jy(yW`Ea~ zce&DU0BJ(_%06(!mj-DQS_u3!DQ(O7TF?;Z81`G;^jRL7XkTLnrm-UmT9i zEGnKcqo^c;ouJ$)JpWsj4LI-ZIGnjC-Tq<6xny#+9PRdY@RI^cE~t*qsmHEq?9NSk zvo?00oO2pF%|>0v7m{Je4Y|4z4twMRf!w??Nb^AOusN;RCYW9zIGg8OiwcQPkbLg>qGbnbM-D#W}+lJoVX?njBwX|M^mfbWfK8~m!;@Wdrs?Ocy?wa{%j=vO8j5( zhX#S6<;#8yy|o_yi{ka+aJ)6Zziq*9B0gQGq2IgbJXEok{~X|NJrIAAyg1}-c~1ea zNiDkjtDivlk@)7K_}%#ug;vI-C{c<%BYM0y-dYT+NMhNrEX@M{^}PHgen%1Pp+Gi% zcNP7_?;UIT;&+7cS36idgPj;_Lfo)35Pk&N#1nXk-RP|FhA*)z#i%qywezpO3z8Ee z8L5a(kF>1F_MwU$xR^uCL)|@GJ>H9wR=+}aYQ7sGAoi;fY#fx09B#vi5AF+fDfu`YzMhKS?UVaG>8Y|MX`a${&zz=xdU(~s9v-;*TB6Q!c~ zhoO#YIPR%LuUk0uErA)FaN>MO`4UN^2zC`s8KN0YX{UY(#icYV@)X*{HPAs=g59W(77ZmGU@lBK)Cj#hJ5dTu5U6jDiHq&YqjoTUf zx*6pa#orWHRNs?B-J2a@p>dm+VFNlQjkfK%9|>>?6n?lbABZ42z|pzq25>}LmS_25 zUl-R%9OcPcJOB}tw=6P}I_;Q|oTU>k;b^DV_~t|*W{IZY5uOOzI7i}B@I;{a-iAJi zM>Zv`4~EBRS)^qp8ox^!V`xp#MA#TbuWUZg=Wl%iwaW~v`Cb~$$jCdo0>ai`jh|3Q zyOk^Nr4g=5Y-@cNdJqHmg3aYOBz~X7Z`V_n4_tpt$Mp=kZinlG>0H_1@8L`e>s>f; za2Pt%6Gw1}KW@vhf5eZ(-#_^&Ioo6Vhw${3n4-EeC|;;+h&BcmG}J8$PzhCIpt?3t z7C_&g1^_R`w%?X z>E!=1%kU00(8E8vxng?Lt5E!Jj{duQy)R=Jd>7!Gr+myuF?Rg#nkT4%LznU~y<#k% zOHaV9aL7{qw9HpA9=*5|4Y?>pykm+ZX3!AZ;6~b#VUirh|>8=p9-Yjfq`oO4&I_e zK=U5t9AF0!a|gi(fM6N&eIUv@cpZ@P8-X}d6`TV+9+;;%9C$kDuLDm59t^~pI=LsA zeAlABQ7^zsAmv1rE(KCg!eu~s8B(nFlYrzq3wR3L2dX{w+tU7HAbOX<7nI(j^nF0; zH@FqZbn+f#@^gOZRLl=u2t>;noS^PQ)xE#syQmM0@9%+>{~I9l=Q<$s;oCsUquyDj z?@}NJU!rFgL%`rMpict!SNDH|neJ}@1Hk8i!-3QXFbsGba3pXQ5M#q2^;6)JGZQ}y ze-M!290H`APf=g8flmVu2d)D$zwZE&kM}_`{+9z!1daistqSG>DVO>XiO-=W8?;BX5s~=3Kj4YaMIQQ0PxzBObgf6;?>z1W9(j8`?q2;KLp<`JiE_^5l4*t0N)|TMLHC56 zTy4~=PE+-7Ca*xXzMz4?XH*6>mMy5{q2|ik#lDic=wgX32diF^T{F(2mWVSoCWsAs zVU4l*SE7H`Lk}s{l5&a{UW`6cDm#FLeF*o7P6->7G8WC4F?CLHNmW^6mGLgh5JV6= zf)c5ky1J{V{z6j=eH68#4ugNnsngW-7L5?GfQww^>CUeh=DnH3ecZz7o~kz5P9>*i z&7Lu{5I4o8({7sH)+ilK$1e&I(#tVN9 z`r4-W*vn3_Y^V|SuTF+lLYM1Oy;RaAtq&Jdx^vvjTUPvp@h@H2>{7!CHNxHQ{-t zu{5pu#XDO}U-uPVqaLihY;-o*cI@vuL9@!SbK83n8NAfDz*t{T4|EBNhuwPSR8f4_6E(tM)P7?2<9d#)LM`36jO&l)A9PCon>=j;uSTvG z=Dr7CjuJ-BYMhUGL78)V5A%VTmj0^*3WtVJ_wO(nBBXkPl+z(aqqPyfnUso+)7X|D)6%MM?knr51w}lVz9$-mg*{4xc8Am~1VzHvAQF{~wjw zeW)C+KuxK!-b<<7oa$;y?FTFrEj3=H;qq=u?H6R|S!&qV*YX)2lGouJZaZiiyh1N4 z)|hM!^RIrDPRO^mf$Rffl>$$s^9Z@_dBYAI|7s4K?4&2|%DRY)8d#F~#94g7s=z4B zz(%<~VU`6@UuVhcMhr8U9*6O8z@)p*qK@0R>_Ogu2K^BOuS5UPByu%^T)zfCp$?`( z3+8Wnd6xCtH4n3fvhd|>CENpUwhW6QiW1$dBeG(R0#@jadAKswLfbfaBpf4FAzJecBHru3AmeS8C=bWWXc#^~*m<^I_AmWX=iBU4egp z$HXVddyzO#QUSz#-bBt%(O*80{zd`O^$2pcjPox8fSfP;CmgeZuLJ4+JP=(w*&oGu zs0Tsglk*e&;290_o+Q$jDUMgr>c8@Ai8S7w@_YLz#Twzaf5dQ>3_B2 z0>xQCrknEtgMk4c<2MM1epm1?AmjHT3X}fd1~PtIfsEf{z^?;;tM0!5(jUv8a+`s4 zzZyvY(}9d%5Xkrq2Qq#LlV->W{2)kVz3>lcHuQi}#eBtpB7pn@z60bOkL{Q5Bn=1q z9DWb~-Sa_QA|!2}W6tN1Mq0&uTWQ-4`~$YIat!s(x@rD*(M6$|7 zGmBiL`OA!zIUHn{$;r^1xxSK~*6_U#{hPh)YdmN4InKUD%)vF-+g8%eSMXW!1@MKz zJ87Tipu%`x(b#iKmS+3LFJ3cZ`Z`}R6pbd0l~)fT7to@=ubE&?ruhXc=QMpNx&Gre zOrqOlnqMf^gp{f$&cidR&3Gwllv6}znqRn2<+0tO*{<>owg2-AYY`8;Z)N}HAjHHy zzhGrDp8Vo{wco}LPG=QI;vZv_BOPHom%xF4F2^+S%}-nj(Y!(AQ{~|96}`gO4*!!I z8nz&&rYn96yy?y!Rypyk8|{+klvIxR_Z+Iijqiix>30 z5?oWhfd?Pj@>YWb`@U`?#9xoZJC(f)w^`&h8%NHXN!Nday~4XKwymhGatmbIjVIu) zF>Dg)NMba{4>rkdd9&eI)HXb5c;L$$E!l(U%CfdR_8I zjW<0QBHJW|#%=Onw~%u;iP#o7VW$&VQUfvk8|2z;;~ue@7Pj0s32)x&1=Z!)(H@vt zxwsC0s_SY4Mb(YbzzDSCBgY@=8$PxX_a-;eet1nqV8p1V;WbSo(I0R*#A>gqty@wX z7y%AA1z_kLX>5#DHjEFTM+vG3FYsQ z<0HoMdG>W2iUyeDybr<0amCv}jyJXeIeuV^h*zGBlkhi(>$dO`-MQ|M zPtGm);W%*(5bb)94Hw;cKP5gnY??T3xkBj~K!!U7NWO_`KU#65x}N~#IOb>|<9DFC ze~yyiIPoJO{l5c*Qx3;pr2nk+HX!58dn-7;q5St0_pE|Ao*?ra{L-s_hstN zeFqI1c06;6*@=1E&KiFQo3{6?w3n`8*s*|6KoMct-;{u00S)e;=c;X#c+A z+dxT&(tlKZ63B5V$9;5Xf1du<03j+^59GM+BDD_#(d7u{1L=Ma5U>0oUv7BS2N4Gu zPv-;SJ|Lh75V{n|@!2X`z~HaYw%#8M3-|br;giRjd=PG$<>RJDfYD7~=y6}=arcgw zHhSE-kHIaE<>RJvJ^Tp|&GDz3pYtznnp_R&jH!hMJzYH)g1W`vwo<-o(n)BPw}E*X zsJjzQ++6Ci;_5%HiQt9Y%`6wXW)P@+Mh%JhCu!npK$+o8*S zl)OuE{){(bT&=6i|Lr)f6OAB^9amWzZ5i9M{T`<^qY9?`|U z=O?4U%~0)IV9=o&N1Wmz%}_0OYx*+-P%!ZVR9o%#CHzon;)mYC$jQ%ptIuh z7jAe2`Rofl5x{SOzu-e06@QdD<}chH`gn7{81&ob-HrEaQT+Y&=nj}ja6oYyEIIU0 zH%gHR(v5TM@O?mR4)rC7HO7PoxWy0C4^bst^kvg29=m+p_hv@v+ zB?z2nlfh9C|EG)NCU7{xivOqMuNKAMu(4ZHPlmRw?2w|~vcNDr8D zl<6dQ^3E~>j)xn@wHrVo7*`DZbaxWoHt#+T`!F`o-HL>o+(?`QFE&Qk{}q)Gf&I)# za;$kUCMgGF%i~RQ*0X@L0=0Io4DR`n@y{g-M2IU8sS#QMcN<>Fzkb(Y4N#e#cbj4F z*MohAgbU>mS~C&yQOW-+M(}*xi)cn5qs+*7+yvmtgTr9MptAhmzL=~|b|9Bm7s7_y zBHHpe+k+@C@8SO$G#++40SkuRNI74$s~~P}Y{lcn>}bp5Npr{;2XIB;S_rU_HreLn zYn{ufwG&?75eWx@g;tA4SOO|9cAnw?m5Ii0z~_nvyYsz7 zV>gmyyxt3@)Oz?V+(O;BE_RoM5*qik|2m(HkMj_+lQWNkO|lu9SstUfw%EF&w&nLR zyD=Svn2PsE;@n8$XoO|6p!EhY?^#G6l7+uQ1ooT?k{**8T-f1EJV{$7-ktkh{jFRZ zFaj!=%(fgJ+;Js-fV%4WeYOE_8 z!6AYWk*iw%bF}}v|KY(OU-sob|4+C3Ti)XlzCGNXG`mehPrGpY<28yc`*}V|A=igZAM7ur}F){7>QvB0){RR9L_S_w~VmMXp z3H)Fn>h^Oj$WRB9)b;z+SrGPLyt5!z$0{46m}6is2c567lqrz$z0QG*56tN~2|^jO z%s$fb!^<%MqXmsx28v_zYpTlwQ!AGSBDD+Z7*_7tjV{|z&BD5d>S)y>OjgioPHowI ztgT~ZoiqO~|1!lAibfl%=f`kqyhfINq>3W!!XxD<%_oQc&y&TCu*WIT(2^fw-emO03m zHs@`)F3))IW@Ng5P4Pe==VACZq5B&^y1%IStRnT9aDM0kAk(!D$oY@8K>E80NPpKV z^3}$9kcB|T?_wbNrm6d6#dCl|VSkLe4^(^Jk4ky}!Vk-3m*R^+%GnCUCx-_}i4Woj zeO+h%>IZ7i`764&;D_@}oUh{khs%I0=UG5}atiRnbnzZY^g4sXfF}Zv1TwrsfcWGb zp!hF55zKE+Z`1yHr8g+e`#(8vb|>&;Am^Vbhx-M{U#IkZr7u&QsrKwEknbCcrvrz< zKi?V*m-91p-;2slx(i79dLW#Fe8O43FH!qxKvccp1?qkd5JlhT`Jx|zpYuVhfi!HQ zN!xZ{2L6+_=2!URB7N;3+%)%Hxan_r_&0m_na&h`kN>}W_z&>V`5yYG9{=C-&`lox z3q9`a2;$?I>pbx*_0X?*Xx1mU|7s6?k4HYYGP?OUc;ubtq1Sl)ukiS%EVsN5Jp6pl z-0ne-`xK9V)=M}4$sYf#=Wh4K9{=xo_;to(X5lx@JW_pZ{#BJrUAD;?uZ*)`m@g42 zC45_!l-I>-v0XuYg=Wv58M$E2?7|e=v~y#aN-LZ@+fIgwZ;I8)F_|r!1!2>tSSw+H zm%{0@A~UATp_Mv4k>UwkrqQe$CxOf~n@pEAU>Ba*J<;e&JZHL+6MG&9rn1L&jMNAx z=gn-^^g3@Q9*gH(FtzX!Es3&*GVHHN&ZnhGsMFUFw%#Y(C`7Mdbs{La;S@oSf)eNG z(t10oW)q;teM)M}7I~)CTyuQA?x0APlWX4uMLW4%Qp<}IXIyY$2}~`Lx{>>(Qs(>iD2Gu?@fq}oh(($izwPLsn2{l020Ahf;IDYFGk(rl3On=YD3Zkt->%ZlXUA8ANoT+nc4Ffd=QUy$dq5mU$_}cZ`(1^C-X@D!fnw1`tgQ-P!zc> zmX9&=6^IVBV_*#Y`g&GUi3R6izK?zr+>7WAH%eDG>gDubzZC8tZ#W=UhC#3yuFI_7 zsm@N2A@tdna~6P+Of2to&HSAR(MKDGBa#g6**_D?krGOOf9tuZQSkExYJiO{1_Cxp z{_A(4b~rJ?bW_XNLzXX=2-|5DXcG}Sl$brN|EkZ}Rr2538ENV6j$VR|HQ`VGY%FoW z;8zT#EhkFA6j8)q_yWTI0Z68V+gdQmy49Kckf`2p8=|wP9MK4^S~je|ipQ`%W`vyz zSltP6zlW$rj;K^2*PjgkxjRBnFuS3mY8v<=<^6|+$8B6bHr^RY;1W~+!$%zp^)Ik` zWIVV+{(|QS{n$R;0Z#Erkf~xKQ=IpO+vcoe;!r6itVqi@ ze9>``)8EK>9xr70c13!JWQRn0JsKCMXjeZ)hnD5*jQ>{|fwr9Md-(sM@xP8moZ|o6 z;(*p~{To>gBb^*aT<$iB!LBDJz_pJ{({o5e&`#H48x;3PCFYn`(@fX8laJZT!J#LS zn?8hdXv2|k<4!5v`_^@!6mZ^+n7YaBUjJvXNw%0{cy3L~y}aCJ&%&<0Y-q@f#6O9| zKS$&X5P6Z2yMqr^8$=>jw%tT@Rzwo#3j<1ZQn)R)9cA*GGc_C?m59BT+bs;-vv^WC zv9=vD!mT^FL2egPOHEBEEj$mM-7j|KPz~}?;_~r&T8r2CM$G=U<#7wB4O-&!`;u)d5LRYiEo4xlQ~_yWm-A(V?!JF-=>ZG$lunA5HNupuI?On{aa(9 zi+X6k&bI!YpKLGaw=;ISnJPX2p(dLmhPz@BToQ9$ioc>MUvW9+inm;V<~J~H+^%VD z6~p?Wbsxam({@mVZ%co{79Jy$WeS!~r~35Y5XD>`)vD$F0DRzZ2gRA|TTL3>8{fPy z{w5qal}(~wgcA^g;GhvIUWj!Yqr8jF+Er*X>@GW5F?ooG?W~QQO-1}3uZN|7^&OB= z*f!+=#A+U5i?po9%SV=7u*mjV@&#w>Ch}x9)*G60x1s|Ph0bRt^jvr~B_Ds?t|j0M z+Y`l%A@?+jBY3ScE>4?kV{(5#%$qO!4WzUnWbhc?ghWs_jK0QfZ5!ByR|1?7E6vks zt$*{czCD?Mt%i@&by5N;@wc_f#6M4#A)RC#CQ&mj3mA3rVxKACQNLXh)%*M5u-_wy zKLbt||0yP3r+eccPTV2KAh}d%au3hV2@rIK@$i`xq$!3@O>?;Ip=BsIn|XZFR?rO=L;Jd^$+dq|Qs=G9W98)Z=Pv)O$ZdI7v;3T= z=6cSaKzAM6VG)BK9QxpzV@2g3z{j;f{?4K2)zuWmJY1q2e7aY*7Bbt7ykv(;DRNj zt>=85iqA8}vCHM_kMxyTzRqy)fo-Nua<$EMPPM3fuPdH>W2D5B-5*I|bULCs2PKoc zBVANil-X#$foKkvXxb>rdScg!x!qmRl=ptuLHNPx?zX%!h}3#&ATkk1wl*x}V|uJy zDJ&2vKqRnH*)G?)tvLa+_#F4XVQOVh4^tDecD$r}R`tT#GH&t;q^tp+);PN%))>Va-JC`) z^9?_((RT*qpVo*?(QYSfhKA+LN-D8Q;Wn%(4u&^WQ(e|*7W=>>Ymya=dZR=hb=hUG z=0tD(7$oJhl62I<@}-6W>BbHaQ7fp#9o=0m#m#sWzAtMW0Q#Mt%5Ud{<$ z@V=4Dd`sc?tWOSu<6ZbpQ@w=yipR6yJ4gALpJHr0rnU^Y?x5@Y-+;E8<_vs4$M-qq zXa0(@{GND_pJxtRRG%U9I}`uq;6G8%Pc#4b#Xl8OEMu|$bP8}B)-g{6qHKaWKm?WZ zDTW(d=X@VXdWX`Rm3|1w^|c=Xxt{kuAjYu41P~qR;1b~Jzy(0cxg1D2bASvdtTgq@ z(0#Dd1A&zLG3pWJeh54d_&kv7yBmO%^INsQ2RIt`-vd(44eGuM$aIwhna+^X{W+zdR{SjxuczQTbziIYHz~FPPl0<>-508TsUr6o za(y70-goj3_KUu0c3fs z05bot22x%rka8|jntCm1e}UpDKsdhw14Lq#WwClyHD_e;!EpO=|zRBK2F2g8lVCuJeBfNWNw29#gCV4u<_4 z;Ay}DAk#y=mkcKeWIB%p(!XErvlKr?x10G$eVF9`J8(GYZNOaMuhsodb-x8T4EEgj zz~_v+7%BI1ApI8rDeqjRM*#6C1&07f01sF9Ze%j~KLFDG@4%73mw@!oO^0-UNNG+1 zl3t_qHA>e2hk^f6Am;3Y5g_A}r|v_5EU$xr%opm_q@4Hhb0+AQfaGsi`&OlS5)hvp z4qSo&}_wp=y7m(wyBTUmGebCLLwp0qKRH(Ub=-2O=wiQ-Nq& zgD7L!4}!dxeJ5yEWFNv#AVdx5RBTslRxDM_R}3fu#NS*X_aE5)0q4v}+y20#O56Sk zo*8k!6G+4JC*-&9+dWDfSFBMfZTlyy;6Q%cpLr29NXOiXM7!xl$P_nykB9$kkNYT( z|IHqL4o%$h{>S70?;dyVuW|G9{vkJgvd4XyhrZmy&wAkYzs5sP_wW~a;=_GFZvUKC zchm2C=nFma%RKJqd*t)5s#~6SzekmaA9Xv0|2U8TPd(v{_QdCZJoL*R|BQ<}K6M`c zEDzo3@xRJLb7=0CSK{&ih$p`NJoGO;{O@?=@AbGJigwf;UadzS=keX{)Z5~wxvkhu z@AS~RY%Z(&DSJIU$D3r?Jh}IS8wf;+g#~CWKmx04UZYsby&+hRMhXxt?C0%;i z4Wi<;^#Kx*CQfQOgP^l4x?$Px7MkI*Zx~PonlO=4h6) zaigRnMg^zIyuntA|GFNxNv zg?qaW)U7UzRwYw4sw6tUk$H!V(-Pw*oCPUI%3Nwf-1}D~qns>o%S7&(`I4li)ljQj zRwS9s2y+xJ%|@0~MWv|uX0M7n^{S-Q*_l$-Seq-A!LxNm0*ji7h#o3T9p9<@THKi? z33csiVZ2@C)N@A*wzyOn4nEN45pAq0%hl|_BvV@QLaOs$~qG8l~O_H{pVFZ*G} zoRi!S(?lgR*cD}V#Gv7X`EU2d1kkymvHMsojlSRiX?-Cv7#Fz>n&}jiXJ9$ZIQd8;^oCFHDc1QE$FPcS1ECX)zhqv!$#IUtt1QdcM7hiDk zm0c`CK!8OHnAFS{r zo>-T1BI&vn?f>cx3B!eI2(Zv7Z3!n%#8PK$pajg>e8l=pBHLoTDH3NUD#J_?T~f zIDzZJ36-|;z)2Re!C67QXclg~b1mDRAS;HBR!#R>1P&{v+&}9SZ9%*cORu=1=Vd9^ zFPSU2vg(8$`4L9?U4=SaO64C|gGx+$NfL=n$>y@~1zg^bO^C!#=sK75L6P%Lh@K91 z;SwE}kE2s&ax0DmuQzGmWYg|SYw9MduOhvL@uzXl61Qe!z1j6JoFZ9=<6?Lo-o##_ z!uSWKGC((GFeUE&oVc%H+!x^|)N#KP_s;aS`>QG_6Z3!bro;Fru9e3TPSKnA7bFTz zsdy>@c3liSAI*)){p*;5C6a=-YznY^#5sW{**X@*-_gadeeY_6D&^;8aT^i)T=K1D zZ+G;#_(teR?p}VfEWZ6C{;K0Lu7@~R+rh;&EUKbiO3lhWh!A3A7kH6iNdIExAGt~4 z*Sr}~#rKQ-r0a1uf2_)fhH*WeX$NyVb>o3)YotMhqxj-8egPz+b!yqtzh&=1QSR9g zCp1B^0pY}?EII9aAhN~eT>`OL|1JE4I`T0<5Z=_L35i4uMxu$KzS)zge@QoCB%f|v z)OR5Hw)$^#-45+Mo!ltG3*x_t5JK_i!toc;LL!g->)$>cy8^d01|x|H!z665a^(~a z>^lXx`^=tPMZ(Tw!V*pWyXJ*jzUYq5EJ)US|LU8O0=Q#U7CTgMmhc@B2471GaV7Za zs4m$E+a&o~CYk+*P)9$Th#jeecZ!65#hQF=ZRntjZ~xd zoTI|LFlVDu4d(@DuEICndJyMfXfQ{d*8dyg+PnK84RJI0(w(DwUEQ&UkXAnD8E78D zH(mT*Q1{;aQ{NBG3VhS~=lms2Z~nPogXRu=)A=t&GfnejeABsit2^e5X?o=U(Re-6 zEWkHi`EY)jW&*zH+&k2r^OWhr=RHw0=mygC2!D#Y_ZC0Qxr^y-Jbe^1p%}ZaruTTA0m~YE-&a1?M=_Sqvu;Sax8r-7hR^yb#`3%F2ipXPaed%> z7kpvmV|^84<+;vX@+{9T^}H&}H445b zl#kDa7|Z7>*W1DOx$^P(NXN%`ZUSGnuDkL%N#RQqPwo|-r+TaPxk(#O>Rg_pe7&XT zB0OIsF$5b7%b zrvrIj_7LE0KzxFY_@VzxfRtAZr2k2V4xS1;2{iY=(LdLZ=>Ih!ia1EUZS-&TwB4$F zwLoNj@DgAaa54~eB*^)2%ISt@%HgvBtKc)h;XrB#pgXrhQSMKSdk*!bk>-3g_;Yyg z70Yol@HF5U;3>d?z+u3TQ2Cg@uK=0fk1M?zcp~VfYG0-HTn}PCb8LPR5XCG0^AQ+C z4hSeRaMC;RL+n&+S8P@+Rm@imDEbt4LO%Wu=u~W1Y*s8)%vTI30>s}MAlH5Dd#@Db zMB2WGcOsso?R$Ne^4s?;)q&F8z8CkXyM2%GJTcwvd+QqIx9`E{l;6HLPg8!|51FFz zvHgb4>fiQ5#;bqZFQC3UhW7^SX}(l```$lD-EBYVESp}#?)$a!+kV#7u%|q0z6N&} z>GPfo{Sg@5?%s7Oy1CuG=Ww6!xT6lI@c-IFQzwjD-a=3O_)c@XS9$2E9{Q&q`cjX) z?|Iz0E{jjnc=%U&+^_b~_j%|I9(uNi&hyA;I}VnlF?z=I=qk@un)MW!%uODTl{FT# z@Nr3TVUndR%B#_G&B+?5=ZyJ$tCo&&@Q{$F zQ^(0zgC$qjPkOj+HCYHG}6J#y=8EDIR|2TqkJ#)0BlMJ2dM&s??U@~^8BE*q18^ocizXkE-^ zIYF`z@-fizxjua1R!xwK7jN}