From da16d9c02df725da6dd09cbdb9144ff1c704a02f Mon Sep 17 00:00:00 2001 From: Ihor M Date: Wed, 27 Oct 2021 16:44:13 +0300 Subject: [PATCH] [upd] spm --- LICENSE | 21 - Package.swift | 23 + README.md | 257 +--------- .../SweetCurtain}/CurtainController.swift | 0 .../SweetCurtain}/CurtainDetents.swift | 0 .../SweetCurtain+Extensions.swift | 0 SweetCurtain.podspec | 22 - SweetCurtain.xcodeproj/project.pbxproj | 479 ------------------ .../contents.xcworkspacedata | 7 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../UserInterfaceState.xcuserstate | Bin 33071 -> 0 bytes .../xcschemes/SweetCurtain.xcscheme | 77 --- .../xcschemes/xcschememanagement.plist | 14 - SweetCurtain/Info.plist | 22 - SweetCurtain/SweetCurtain.h | 31 -- SweetCurtainTests/Info.plist | 22 - SweetCurtainTests/SweetCurtainTests.swift | 46 -- .../SweetCurtainTests/SweetCurtainTests.swift | 11 + _old.zip | Bin 0 -> 63393 bytes 19 files changed, 36 insertions(+), 1004 deletions(-) delete mode 100644 LICENSE create mode 100644 Package.swift rename {SweetCurtain => Sources/SweetCurtain}/CurtainController.swift (100%) rename {SweetCurtain => Sources/SweetCurtain}/CurtainDetents.swift (100%) rename {SweetCurtain => Sources/SweetCurtain}/SweetCurtain+Extensions.swift (100%) delete mode 100644 SweetCurtain.podspec delete mode 100644 SweetCurtain.xcodeproj/project.pbxproj delete mode 100644 SweetCurtain.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100644 SweetCurtain.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 SweetCurtain.xcodeproj/project.xcworkspace/xcuserdata/gethwr.xcuserdatad/UserInterfaceState.xcuserstate delete mode 100644 SweetCurtain.xcodeproj/xcshareddata/xcschemes/SweetCurtain.xcscheme delete mode 100644 SweetCurtain.xcodeproj/xcuserdata/gethwr.xcuserdatad/xcschemes/xcschememanagement.plist delete mode 100644 SweetCurtain/Info.plist delete mode 100644 SweetCurtain/SweetCurtain.h delete mode 100644 SweetCurtainTests/Info.plist delete mode 100644 SweetCurtainTests/SweetCurtainTests.swift create mode 100644 Tests/SweetCurtainTests/SweetCurtainTests.swift create mode 100644 _old.zip diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 4757516..0000000 --- a/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2019 Ihor Malovanyi - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/Package.swift b/Package.swift new file mode 100644 index 0000000..bf4dc5d --- /dev/null +++ b/Package.swift @@ -0,0 +1,23 @@ +// swift-tools-version:5.5 +// The swift-tools-version declares the minimum version of Swift required to build this package. + +import PackageDescription + +let package = Package( + name: "SweetCurtain", + platforms: [.iOS(.v9)], + products: [ + .library( + name: "SweetCurtain", + targets: ["SweetCurtain"]), + ], + dependencies: [], + targets: [ + .target( + name: "SweetCurtain", + dependencies: []), + .testTarget( + name: "SweetCurtainTests", + dependencies: ["SweetCurtain"]), + ] +) diff --git a/README.md b/README.md index 7dcf3f4..645a85a 100644 --- a/README.md +++ b/README.md @@ -1,256 +1,3 @@ -![](https://ihor.pro/wp-content/uploads/2020/01/Artboard-2.png) -A framework that provides [Curtain Controller](#curtaincontroller). Curtain Controller is a container view controller that implements a content-curtain interface. +# SweetCurtain -[![Platform](https://img.shields.io/badge/platform-ios-blue.svg?style=flat%20)](https://developer.apple.com/iphone/index.action) -[![Swift 5.5](https://img.shields.io/badge/Swift-5.5-orange.svg?style=flat)](https://developer.apple.com/swift/) -[![MIT](https://img.shields.io/badge/license-MIT-green)](https://github.com/multimediasuite/SweetCurtain/blob/master/LICENSE) - -![](https://ihor.pro/wp-content/uploads/2020/01/ezgif-6-f06884bc0af6.gif) ![](https://ihor.pro/wp-content/uploads/2020/01/ezgif-6-e332ad33f4ea.gif) - -## Contents -- [Overview](#overview) -- [Features](#features) -- [Installation](#installation) -- [Usage and explanation](#usageandexplanation) -- [TODO](#todo) -- [Credits](#credits) -- [License](#license) - -## Overview -A **SweetCurtain** framework provides a [Curtain Controller](#curtaincontroller). -A Curtain Controller is a container view controller that manages two child view controllers in a content-curtain interface. In this type of interface, the primary view controller (the content) is covered with the secondary view controller (the curtain). - -When building your app’s user interface, the Curtain Controller is typically the root view controller of your app’s window, but it may be embedded in another view controller. The Curtain Controller has no significant appearance of its own. Most of its appearance is defined by the child view controllers you install. You can configure the child view controllers using [Interface Builder](https://developer.apple.com/xcode/interface-builder/) or programmatically using the [init(content: curtain:) initializer](#curtaincontroller). The child view controllers can be custom view controllers or other container view controller, such as navigation controllers. - -> **Note**: You can push a Curtain Controller onto a navigation stack. Also, its children can be contained in the navigation controller or tab bar controller. But remember that curtain always covers the content. For example, if the content embed in the navigation controller, the curtain will cover the navigation bar too. - -When displayed onscreen, the Curtain Controller uses its [Delegation](#curtaindelegate) object to messaging of its curtain changes. -Also, the Curtain Controller provides the curtain object to manage the [curtain's properties](#curtain). - -## Features -- Coefficient oriented metrics. -- Friendly content changes mechanism. -- Works with storyboard and code. -- So easy to setup and use. -- Compatible with safe area. -- Compatible with scroll view. -- Compatible with horizontal scroll or swipe. -- Designed by the principle of iOS UI components. - -## Installation - -### CocoaPods - -[CocoaPods](#https://cocoapods.org) is a dependency manager for Cocoa projects. You can install it with the following command: -``` -$ gem install cocoapods -``` -To integrate **SweetCurtain** into your Xcode project using CocoaPods, specify it in your `Podfile`: -```ruby -platform :ios, '9.0' -use_frameworks! - -target '' do - pod 'SweetCurtain' -end -``` -Then, run the following command: -``` -$ pod install -``` - -### Carthage - -[Carthage](https://github.com/Carthage/Carthage) is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks. - -You can install Carthage with [Homebrew](https://brew.sh) using the following command: -``` -$ brew update -$ brew install carthage -``` - -To integrate **SweetCurtain** into your Xcode project using Carthage, specify it in your `Cartfile`: -``` -git "https://github.com/multimediasuite/SweetCurtain" -``` - -Run `carthage update` to build the framework and drag the built SweetCurtain.framework into your Xcode project. - -### Manually - -If you prefer not to use either of the aforementioned dependency managers, you can integrate **SweetCurtain** into your project manually. - -## Usage and explanation - -### Setup using storyboard -1. Create a view controller and set the Class to be **CurtainController** in the [Identity Inspector](https://developer.apple.com/library/archive/referencelibrary/GettingStarted/DevelopiOSAppsSwift/ConnectTheUIToCode.html). - -![](https://ihor.pro/wp-content/uploads/2020/01/Screenshot-2020-01-03-at-22.37.43-1.png) - -2. Create two other view controllers you want. The one will be a Content and another one will be a **Curtain**. - -![](https://ihor.pro/wp-content/uploads/2020/01/Screenshot-2020-01-03-at-22.50.43.png) - -3. Connect your **CurtainController** to your new view controllers with the **Curtain Connection Segue**. - -![](https://ihor.pro/wp-content/uploads/2020/01/Screenshot-2020-01-03-at-22.58.58.png) - -4. Choose the **Curtain Connection Segue** of your **Content** view controller and type **ContentID** as it's identifier in the [Identity Inspector](https://developer.apple.com/library/archive/referencelibrary/GettingStarted/DevelopiOSAppsSwift/ConnectTheUIToCode.html). - -![](https://ihor.pro/wp-content/uploads/2020/01/Screenshot-2020-01-03-at-23.03.00.png) - -5. Choose the **Curtain Connection Segue** of your **Curtain** view controller and type **CurtainID** as it's identifier in the [Identity Inspector](https://developer.apple.com/library/archive/referencelibrary/GettingStarted/DevelopiOSAppsSwift/ConnectTheUIToCode.html). - -![](https://ihor.pro/wp-content/uploads/2020/01/Screenshot-2020-01-03-at-23.03.20.png) - -You all set! - -> **Note**: Double-check your segues and segue IDs. This is important for the right setup of the flow. - -### Setup using code - -1. Create a two view controllers you want for using them as **Content** and **Curtain**. - -```swift -//Also, you can instantiate your controllers from storyboard if you want it. -let contentViewController = IceCreamDetailViewController() -let curtainViewController = IceCreamListViewController() -``` - -2. Create a [Curtain Controller](#curtaincontroller) using two controllers that you created in the previous step. - -```swift -let curtainController = CurtainController(content: contentViewController, curtain: curtainViewController) -``` - -3. Show the `curtainController` where and when you want. - -```swift -show(curtainController, sender: nil) -``` - -You all set! - -### CurtainController - -**Curtain Controller** is a container view controller that implements a content-curtain interface. -You can create the **Curtain Controller** using [Storyboard](#setup-using-storyboard) or from the [code](#setup-using-code). -All of your view controllers have access to the `curtainController` property. It's computed property that provides access to the nearest ancestor in the view controller hierarchy that is a **Curtain Controller**. - -The **Curtain Controller** object has a couple of properties and functions. - -| Property | Type | Description | -| :--- | :--- | :--- | -| `curtainDelegate` | [CurtainDelegate?](#curtaindelegate) | The delegate you want to receive curtain controller messages that concern its curtain. | -| `curtain` | [Curtain!](#curtain) | The object that provides all curtain's behaviour properties. | - -The initializer for creating a new **Curtain Controller**: -```swift -init(content: UIViewController, curtain: UIViewController) -``` - -Function for moving curtain to the [position](#curtainheightstate) you want: -```swift -func moveCurtain(to position: CurtainHeightState, animated: Bool) -``` - -### Curtain - -The **Curtain** is the object of [Curtain Controller](#curtaincontroller) that provides a couple of properties for behavior and view customization. But **Curtain** is not the view. The **Сurtain** is the abstract object represented by protocol with properties that [Curtain Controller](#curtaincontroller) uses for its purposes. Simply put, the **Curtain** designed to reduce confusion and delimit settings duty in the controller. - -| Property | Type | Description | -| :--- | :--- | :--- | -| `minHeightCoefficient` | [CGFloat](https://developer.apple.com/documentation/coregraphics/cgfloat) | The minimum value that describes the ratio of the curtain minimum permissible height to the height of the content. | -| `midHeightCoefficient` | [CGFloat?](https://developer.apple.com/documentation/coregraphics/cgfloat) | The intermediate value that describes the ratio of the curtain intermediate permissible height to the height of the content. | -| `maxHeightCoefficient` | [CGFloat](https://developer.apple.com/documentation/coregraphics/cgfloat) | The maximum value that describes the ratio of the curtain maximum permissible height to the height of the content. | -| `swipeResistance` | [CurtainSwipeResistance](#CurtainSwipeResistance) | The swipe resistance of the curtain. | -| `movingDuration` | [TimeInterval](https://developer.apple.com/documentation/foundation/timeinterval) | The time in seconds for reaching curtain to the nearest point. | -| `topBounce` | [Bool](https://developer.apple.com/documentation/swift/bool) | The boolean value that controls whether the curtain bounces past the top. | -| `bottomBounce` | [Bool](https://developer.apple.com/documentation/swift/bool) | The boolean value that controls whether the curtain bounces past the bottom. | -| `showsHandleIndicator` | [Bool](https://developer.apple.com/documentation/swift/bool) | The boolean that controls whether the curtain shows top handle indicator. | -| `handleIndicatorColor` | [UIColor](https://developer.apple.com/documentation/uikit/uicolor) | The color of the curtain's handle indicator. | -| `heightCoefficient` | [CGFloat](https://developer.apple.com/documentation/coregraphics/cgfloat) | The current readonly value that describes the ratio of the curtain actual height to the height of the content. | -| `actualHeight` | [CGFloat](https://developer.apple.com/documentation/coregraphics/cgfloat) | The current readonly value that describes the curtain actual height. | - -> **Note**: `heightCoefficient` is the property that describes the absolute value of the curtain position. Value 0 means that `actualHeight` might 0 too if the constraints do not interfere. Value 1 means that `actualHeight` is the same as the sum of `safeAreaInsets.bottom` and safe area height. See the image below for better understanding. - -![](https://ihor.pro/wp-content/uploads/2020/01/sizes.png) - -### CurtainDelegate -**Curtain Delegate** is the protocol that allows receiving messages from [Curtain Controller](#curtaincontroller). **Curtain Delegate** provides a couple of functions. - -Tells the delegate when thecCurtain did change ir's height state: -```swift -func curtain(_ curtain: Curtain, didChange heightState: CurtainHeightState) -``` - -Tells the delegate when the curtain is about to start dragging: -```swift -func curtainWillBeginDragging(_ curtain: Curtain) -``` - -Tells the delegate when dragging ended in the curtain: -```swift -func curtainDidEndDragging(_ curtain: Curtain) -``` - -Tells the delegate when the user draggs the curtain: -```swift -func curtainDidDrag(_ curtain: Curtain) -``` - -### CurtainHeightState - -**Curtain height state** is an enumerator of height states of the curtain. - -| Case | Description | -| :--- | :--- | -| min | Minimum defined height state. | -| mid | Intermediate defined height state. | -| max | Maximum defined height state. | -| hide | Hidden state. | - -### CurtainSwipeResistance - -**Curtain Swipe Resistance** is an enumerator of predefined (or custom) velocity swipe resistances available for the curtain. - -| Case | Description | -| :--- | :--- | -| any | No resistance. Velocity value is 0. | -| low | Low resistance. Velocity value is 300. | -| normal | Normal resistance. Velocity value is 600. | -| high | High resistance. Velocity value is 900. | -| custom(velocity: CGFloat) | Custom resistance. Velocity value is what you set. | - -### UIViewController extension - -There is the public [UIViewController](https://developer.apple.com/documentation/uikit/uiviewcontroller) extension in the **SweetCurtain** framework. - -The extension provides `curtainController` property that is the nearest ancestor in the view controller hierarchy that is a curtain controller. - -> **Note**: You can find the `CurtainController` from any **Curtain** or **Content** view controllers. For example, this can be useful if your curtain is a [UINavigationController](https://developer.apple.com/documentation/uikit/uinavigationcontroller) and you need to find [CurtainController](#CurtainController) for its top view controller. - -The extension also provides the function `func allowScrollViewInCurtain()` that allows topmost scroll view in the hierarchy to use its scroll simultaneously with the curtain. - -> **Note**: Your **Curtain** view controller may contain [UIScrollView](https://developer.apple.com/documentation/uikit/uiscrollview) or any of its subclasses. But by default, it does not affect the scrolling of the curtain. If you want to enable simultaneous scroll for **top most scroll view in hierarchy**, call `func allowScrollViewInCurtain()` in your view controller. - -> **ATTENTION**: The function `func allowScrollViewInCurtain()` resets your previous scroll view scroll observation from the **Curtain** befor applies new one. Be careful using this function. For example, if you need to use a navigation controller as **Curtain** there is a good idea to call this function in 'func viewDidAppear(animated: Bool)' function of its view controllers. - -## TODO - -- Test gestures in the controller. -- Write unit tests. -- Update for iPad and big-phones horizontal screen. -- Write log messages for the wrong usage. -- Update animation parameters for grow smoothness. -- Fix horizontal scroll view work. -- Add videos that describe how to use SweetCurtain well. -- Add Swift Dependency way to install. - -## Credits - -- Ihor Malovanyi ([@multimediasuite](https://www.facebook.com/multimediasuite)) - -## License - -SweetCurtain is released under the MIT license. See LICENSE for details. +A description of this package. diff --git a/SweetCurtain/CurtainController.swift b/Sources/SweetCurtain/CurtainController.swift similarity index 100% rename from SweetCurtain/CurtainController.swift rename to Sources/SweetCurtain/CurtainController.swift diff --git a/SweetCurtain/CurtainDetents.swift b/Sources/SweetCurtain/CurtainDetents.swift similarity index 100% rename from SweetCurtain/CurtainDetents.swift rename to Sources/SweetCurtain/CurtainDetents.swift diff --git a/SweetCurtain/SweetCurtain+Extensions.swift b/Sources/SweetCurtain/SweetCurtain+Extensions.swift similarity index 100% rename from SweetCurtain/SweetCurtain+Extensions.swift rename to Sources/SweetCurtain/SweetCurtain+Extensions.swift diff --git a/SweetCurtain.podspec b/SweetCurtain.podspec deleted file mode 100644 index 6f88557..0000000 --- a/SweetCurtain.podspec +++ /dev/null @@ -1,22 +0,0 @@ -Pod::Spec.new do |spec| - - spec.name = "SweetCurtain" - spec.version = "0.9.2" - spec.summary = "A framework that provides the component that implements the content-curtain interface." - spec.description = "A framework that provides CurtainController. CurtainController is a container view controller that implements a content-curtain interface. You can find a similar implementation in applications like Apple Maps, Find My, Stocks, etc." - - spec.homepage = "https://ihor.pro" - - spec.license = { :type => "MIT", :file => "LICENSE" } - - spec.author = { "Ihor Malovanyi" => "mail@ihor.pro" } - - spec.platform = :ios, "9.0" - - spec.source = { :git => "https://github.com/multimediasuite/SweetCurtain.git", :tag => "#{spec.version}" } - - spec.source_files = "SweetCurtain/**/*.{h,m,swift}" - - spec.swift_version = "5.5" - -end diff --git a/SweetCurtain.xcodeproj/project.pbxproj b/SweetCurtain.xcodeproj/project.pbxproj deleted file mode 100644 index 0b3b60f..0000000 --- a/SweetCurtain.xcodeproj/project.pbxproj +++ /dev/null @@ -1,479 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 50; - objects = { - -/* Begin PBXBuildFile section */ - 0AF9BE5D23BE01DB00655B1D /* SweetCurtain.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0AF9BE5323BE01DB00655B1D /* SweetCurtain.framework */; }; - 0AF9BE6223BE01DB00655B1D /* SweetCurtainTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AF9BE6123BE01DB00655B1D /* SweetCurtainTests.swift */; }; - 0AF9BE6423BE01DB00655B1D /* SweetCurtain.h in Headers */ = {isa = PBXBuildFile; fileRef = 0AF9BE5623BE01DB00655B1D /* SweetCurtain.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0AF9BEBF23BE09D200655B1D /* CurtainController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AF9BEAC23BE09D200655B1D /* CurtainController.swift */; }; - 875146D7271ECE3200F21EE9 /* CurtainDetents.swift in Sources */ = {isa = PBXBuildFile; fileRef = 875146D6271ECE3200F21EE9 /* CurtainDetents.swift */; }; - 875146D9271ECE4900F21EE9 /* SweetCurtain+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 875146D8271ECE4900F21EE9 /* SweetCurtain+Extensions.swift */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 0AF9BE5E23BE01DB00655B1D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 0AF9BE4A23BE01DB00655B1D /* Project object */; - proxyType = 1; - remoteGlobalIDString = 0AF9BE5223BE01DB00655B1D; - remoteInfo = SweetCurtain; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 0AF9BE5323BE01DB00655B1D /* SweetCurtain.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SweetCurtain.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 0AF9BE5623BE01DB00655B1D /* SweetCurtain.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SweetCurtain.h; sourceTree = ""; }; - 0AF9BE5723BE01DB00655B1D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 0AF9BE5C23BE01DB00655B1D /* SweetCurtainTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SweetCurtainTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 0AF9BE6123BE01DB00655B1D /* SweetCurtainTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SweetCurtainTests.swift; sourceTree = ""; }; - 0AF9BE6323BE01DB00655B1D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 0AF9BEAC23BE09D200655B1D /* CurtainController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CurtainController.swift; sourceTree = ""; }; - 875146D6271ECE3200F21EE9 /* CurtainDetents.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CurtainDetents.swift; sourceTree = ""; }; - 875146D8271ECE4900F21EE9 /* SweetCurtain+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "SweetCurtain+Extensions.swift"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 0AF9BE5023BE01DB00655B1D /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 0AF9BE5923BE01DB00655B1D /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 0AF9BE5D23BE01DB00655B1D /* SweetCurtain.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 0AF9BE4923BE01DB00655B1D = { - isa = PBXGroup; - children = ( - 0AF9BE5523BE01DB00655B1D /* SweetCurtain */, - 0AF9BE6023BE01DB00655B1D /* SweetCurtainTests */, - 0AF9BE5423BE01DB00655B1D /* Products */, - ); - sourceTree = ""; - }; - 0AF9BE5423BE01DB00655B1D /* Products */ = { - isa = PBXGroup; - children = ( - 0AF9BE5323BE01DB00655B1D /* SweetCurtain.framework */, - 0AF9BE5C23BE01DB00655B1D /* SweetCurtainTests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - 0AF9BE5523BE01DB00655B1D /* SweetCurtain */ = { - isa = PBXGroup; - children = ( - 0AF9BEAC23BE09D200655B1D /* CurtainController.swift */, - 875146D8271ECE4900F21EE9 /* SweetCurtain+Extensions.swift */, - 875146D6271ECE3200F21EE9 /* CurtainDetents.swift */, - 0AF9BE5623BE01DB00655B1D /* SweetCurtain.h */, - 0AF9BE5723BE01DB00655B1D /* Info.plist */, - ); - path = SweetCurtain; - sourceTree = ""; - }; - 0AF9BE6023BE01DB00655B1D /* SweetCurtainTests */ = { - isa = PBXGroup; - children = ( - 0AF9BE6123BE01DB00655B1D /* SweetCurtainTests.swift */, - 0AF9BE6323BE01DB00655B1D /* Info.plist */, - ); - path = SweetCurtainTests; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 0AF9BE4E23BE01DB00655B1D /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 0AF9BE6423BE01DB00655B1D /* SweetCurtain.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 0AF9BE5223BE01DB00655B1D /* SweetCurtain */ = { - isa = PBXNativeTarget; - buildConfigurationList = 0AF9BE6723BE01DB00655B1D /* Build configuration list for PBXNativeTarget "SweetCurtain" */; - buildPhases = ( - 0AF9BE4E23BE01DB00655B1D /* Headers */, - 0AF9BE4F23BE01DB00655B1D /* Sources */, - 0AF9BE5023BE01DB00655B1D /* Frameworks */, - 0AF9BE5123BE01DB00655B1D /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = SweetCurtain; - productName = SweetCurtain; - productReference = 0AF9BE5323BE01DB00655B1D /* SweetCurtain.framework */; - productType = "com.apple.product-type.framework"; - }; - 0AF9BE5B23BE01DB00655B1D /* SweetCurtainTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 0AF9BE6A23BE01DB00655B1D /* Build configuration list for PBXNativeTarget "SweetCurtainTests" */; - buildPhases = ( - 0AF9BE5823BE01DB00655B1D /* Sources */, - 0AF9BE5923BE01DB00655B1D /* Frameworks */, - 0AF9BE5A23BE01DB00655B1D /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 0AF9BE5F23BE01DB00655B1D /* PBXTargetDependency */, - ); - name = SweetCurtainTests; - productName = SweetCurtainTests; - productReference = 0AF9BE5C23BE01DB00655B1D /* SweetCurtainTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 0AF9BE4A23BE01DB00655B1D /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 1130; - LastUpgradeCheck = 1300; - ORGANIZATIONNAME = "Ihor Malovanyi"; - TargetAttributes = { - 0AF9BE5223BE01DB00655B1D = { - CreatedOnToolsVersion = 11.3; - }; - 0AF9BE5B23BE01DB00655B1D = { - CreatedOnToolsVersion = 11.3; - }; - }; - }; - buildConfigurationList = 0AF9BE4D23BE01DB00655B1D /* Build configuration list for PBXProject "SweetCurtain" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 0AF9BE4923BE01DB00655B1D; - productRefGroup = 0AF9BE5423BE01DB00655B1D /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 0AF9BE5223BE01DB00655B1D /* SweetCurtain */, - 0AF9BE5B23BE01DB00655B1D /* SweetCurtainTests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 0AF9BE5123BE01DB00655B1D /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 0AF9BE5A23BE01DB00655B1D /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 0AF9BE4F23BE01DB00655B1D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 875146D9271ECE4900F21EE9 /* SweetCurtain+Extensions.swift in Sources */, - 875146D7271ECE3200F21EE9 /* CurtainDetents.swift in Sources */, - 0AF9BEBF23BE09D200655B1D /* CurtainController.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 0AF9BE5823BE01DB00655B1D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 0AF9BE6223BE01DB00655B1D /* SweetCurtainTests.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 0AF9BE5F23BE01DB00655B1D /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 0AF9BE5223BE01DB00655B1D /* SweetCurtain */; - targetProxy = 0AF9BE5E23BE01DB00655B1D /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - 0AF9BE6523BE01DB00655B1D /* 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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - 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; - IPHONEOS_DEPLOYMENT_TARGET = 13.2; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 0AF9BE6623BE01DB00655B1D /* 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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - 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; - IPHONEOS_DEPLOYMENT_TARGET = 13.2; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SDKROOT = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 0AF9BE6823BE01DB00655B1D /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = 2PKVZCQ5NM; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = SweetCurtain/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MARKETING_VERSION = 0.9.2; - PRODUCT_BUNDLE_IDENTIFIER = pro.ihor.ios.framework.SweetCurtain; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - SUPPORTS_MACCATALYST = NO; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 0AF9BE6923BE01DB00655B1D /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = 2PKVZCQ5NM; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = SweetCurtain/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MARKETING_VERSION = 0.9.2; - PRODUCT_BUNDLE_IDENTIFIER = pro.ihor.ios.framework.SweetCurtain; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - SUPPORTS_MACCATALYST = NO; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; - 0AF9BE6B23BE01DB00655B1D /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = 2PKVZCQ5NM; - INFOPLIST_FILE = SweetCurtainTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = pro.ihor.ios.framework.SweetCurtainTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 0AF9BE6C23BE01DB00655B1D /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = 2PKVZCQ5NM; - INFOPLIST_FILE = SweetCurtainTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = pro.ihor.ios.framework.SweetCurtainTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 0AF9BE4D23BE01DB00655B1D /* Build configuration list for PBXProject "SweetCurtain" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 0AF9BE6523BE01DB00655B1D /* Debug */, - 0AF9BE6623BE01DB00655B1D /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 0AF9BE6723BE01DB00655B1D /* Build configuration list for PBXNativeTarget "SweetCurtain" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 0AF9BE6823BE01DB00655B1D /* Debug */, - 0AF9BE6923BE01DB00655B1D /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 0AF9BE6A23BE01DB00655B1D /* Build configuration list for PBXNativeTarget "SweetCurtainTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 0AF9BE6B23BE01DB00655B1D /* Debug */, - 0AF9BE6C23BE01DB00655B1D /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 0AF9BE4A23BE01DB00655B1D /* Project object */; -} diff --git a/SweetCurtain.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/SweetCurtain.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 3a07bcb..0000000 --- a/SweetCurtain.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/SweetCurtain.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/SweetCurtain.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d9810..0000000 --- a/SweetCurtain.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/SweetCurtain.xcodeproj/project.xcworkspace/xcuserdata/gethwr.xcuserdatad/UserInterfaceState.xcuserstate b/SweetCurtain.xcodeproj/project.xcworkspace/xcuserdata/gethwr.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index 0b6c44a7036a9a0a0a53d9782f869b560cc259bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33071 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 B1oZ#_ diff --git a/SweetCurtain.xcodeproj/xcshareddata/xcschemes/SweetCurtain.xcscheme b/SweetCurtain.xcodeproj/xcshareddata/xcschemes/SweetCurtain.xcscheme deleted file mode 100644 index ecf55c2..0000000 --- a/SweetCurtain.xcodeproj/xcshareddata/xcschemes/SweetCurtain.xcscheme +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/SweetCurtain.xcodeproj/xcuserdata/gethwr.xcuserdatad/xcschemes/xcschememanagement.plist b/SweetCurtain.xcodeproj/xcuserdata/gethwr.xcuserdatad/xcschemes/xcschememanagement.plist deleted file mode 100644 index 5f247f7..0000000 --- a/SweetCurtain.xcodeproj/xcuserdata/gethwr.xcuserdatad/xcschemes/xcschememanagement.plist +++ /dev/null @@ -1,14 +0,0 @@ - - - - - SchemeUserState - - SweetCurtain.xcscheme_^#shared#^_ - - orderHint - 0 - - - - diff --git a/SweetCurtain/Info.plist b/SweetCurtain/Info.plist deleted file mode 100644 index c0701c6..0000000 --- a/SweetCurtain/Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - $(PRODUCT_BUNDLE_PACKAGE_TYPE) - CFBundleShortVersionString - $(MARKETING_VERSION) - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - - diff --git a/SweetCurtain/SweetCurtain.h b/SweetCurtain/SweetCurtain.h deleted file mode 100644 index f5276dd..0000000 --- a/SweetCurtain/SweetCurtain.h +++ /dev/null @@ -1,31 +0,0 @@ -/// Copyright © 2021 Ihor Malovanyi. All rights reserved. -/// https://www.ihor.pro -/// Permission is hereby granted, free of charge, to any person obtaining a copy -/// of this software and associated documentation files (the "Software"), to deal -/// in the Software without restriction, including without limitation the rights -/// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -/// copies of the Software, and to permit persons to whom the Software is -/// furnished to do so, subject to the following conditions: -/// -/// The above copyright notice and this permission notice shall be included in all -/// copies or substantial portions of the Software. -/// -/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -/// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -/// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -/// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -/// SOFTWARE. - -#import - -//! Project version number for SweetCurtain. -FOUNDATION_EXPORT double SweetCurtainVersionNumber; - -//! Project version string for SweetCurtain. -FOUNDATION_EXPORT const unsigned char SweetCurtainVersionString[]; - -#import - - diff --git a/SweetCurtainTests/Info.plist b/SweetCurtainTests/Info.plist deleted file mode 100644 index 64d65ca..0000000 --- a/SweetCurtainTests/Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - $(PRODUCT_BUNDLE_PACKAGE_TYPE) - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - - diff --git a/SweetCurtainTests/SweetCurtainTests.swift b/SweetCurtainTests/SweetCurtainTests.swift deleted file mode 100644 index b17fec5..0000000 --- a/SweetCurtainTests/SweetCurtainTests.swift +++ /dev/null @@ -1,46 +0,0 @@ -/// Copyright © 2021 Ihor Malovanyi. All rights reserved. -/// https://www.ihor.pro -/// Permission is hereby granted, free of charge, to any person obtaining a copy -/// of this software and associated documentation files (the "Software"), to deal -/// in the Software without restriction, including without limitation the rights -/// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -/// copies of the Software, and to permit persons to whom the Software is -/// furnished to do so, subject to the following conditions: -/// -/// The above copyright notice and this permission notice shall be included in all -/// copies or substantial portions of the Software. -/// -/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -/// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -/// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -/// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -/// SOFTWARE. - -import XCTest -@testable import SweetCurtain - -class SweetCurtainTests: XCTestCase { - - override func setUp() { - // Put setup code here. This method is called before the invocation of each test method in the class. - } - - override func tearDown() { - // Put teardown code here. This method is called after the invocation of each test method in the class. - } - - func testExample() { - // This is an example of a functional test case. - // Use XCTAssert and related functions to verify your tests produce the correct results. - } - - func testPerformanceExample() { - // This is an example of a performance test case. - self.measure { - // Put the code you want to measure the time of here. - } - } - -} diff --git a/Tests/SweetCurtainTests/SweetCurtainTests.swift b/Tests/SweetCurtainTests/SweetCurtainTests.swift new file mode 100644 index 0000000..5639e4f --- /dev/null +++ b/Tests/SweetCurtainTests/SweetCurtainTests.swift @@ -0,0 +1,11 @@ +import XCTest +@testable import SweetCurtain + +final class SweetCurtainTests: XCTestCase { + func testExample() throws { + // This is an example of a functional test case. + // Use XCTAssert and related functions to verify your tests produce the correct + // results. +// XCTAssertEqual(SweetCurtain().text, "Hello, World!") + } +} diff --git a/_old.zip b/_old.zip new file mode 100644 index 0000000000000000000000000000000000000000..47a7b5c772b4f0e3daa433341b215663204d3a9b GIT binary patch literal 63393 zcmd4218}8V*FPBB=-9Sx+qP}nPCB-2t7ALqq+{DQJLzQ7_xnT0Qdk(ZYCzqLN1QZ1{Su;CQi;ybSlcQ z0N~**P6iR5>-X;B4h;YZ@&E_`@CP0FKj=XKK>Q!{QosQKDE^V&e|iF~lbeO9^S>YS z*7}c+DOOpt-D5@Yc~XP9ZGwhy?1=TKAe>`R&|oC?X!Ix|p)@3j0Fn@ajr5lHE7V)W z7@vZrh%5+=_utQAI)Vw?d+>xsIJ+4u3tQ~d^XqTP?fwPRxd8T9Fc)j+u1FxP1J2tY z7_XWkrV&=jVyJZ_>eZ$D;|`k=B&2ZWeH&kKA%-Ce5OW(vJ#68ng~%os7_T)5}$0oJ;RfOeTUqv zkkeu(%8EoA)ogG0A~;OK$UhSnHXHQ0_qJ2y0VLsj3(_!_UQr#bYE(N zyC88cbvwZ%;C;I)?61_#UG{8FlQjTKk^9oIos!~7Nw{D^KC7zsUMRE}n~kmrz+ zUlGWDk#{v0tAJg|zZ8UCns|3z-^JU2ew&oYu?jz_-`x%35|XSM=$0=CQozdnS$KA> zG9DukZ!^(BZq^IUzQ5wuZGhDp38k$EYCkfe<4O%kbW2WiMX)BAv^h}Ay#dnei|we2 z5_gaja|I7+*7{?Pox|4M6PhhtrV$CL`-lW7HC@iLWUmUppJ!qZhqe$a=lYiS+E`1s zWUy<}F?<{0fFw3nB57bJ4X+_E|0}FwDfh-@zirc%50gFv)MRq{C|aX0-Oa zYzA~8*2Lo4B?GD+e@84MeN-beeM9|g8EMsP zc-3%uf1o&YU@`)>!Dl{C0}e4*CV#E{`Tzeu!=I;XQTP*Wmw*5O zu>TPqC2URYXzi^noc;xfl;4~Ts6N;4{cpJIlb~f6NRJ*`dsKUzp<|7v*rkyI%D`Vq zAY|Q?b`eQmCb^%a2><34)lNOPWAplW^6LF^ze6C^7ZXKEaSM2E#RK7vi|UY23pQ<5 zc!`CLiSr9l&gM}Bl6#e`e%<7?L! zRtg%*22ynb%E$z0jSi?q75FCgVR;{?l8^F2**)R}(IbJa>(x53Mb=oQn3tGRk@Oqw zsb|SzmwD|t;+3*pdrTgJ-4pKVK_I16R(Eu?m4ByhXFT%VL7ff@G z65HvCuA#`4tYeHjyD0)@O6P0Tb>8q)F+nO+X8Um(Tr_%L)YGY2wSeLKXXJU`fK3-2P2 zkDK^Kk05@_&kQ94LG{zT{g%?7@&nFN`M0&C0|5X4|CFD!gpi1=lE@#n3oOOK0Q__P z-v1^l9Yra-HF}utGc^Q`X8#!;+clZyWYIJmjD}fiu@O~6*ceoG$)NYwc-hq&U?6nD zm#$HiS^i5+F0cvpQ@Pqiu6xAGRj=pwhc)=PuG~Cxu#efVwK4VMvSMg~cSNlKUD@ZC zsBlV5qH82|xmBP&Vc+aZf@JVL`O&k^Q4qG>>KzKP;HUYc6k*7WVwwA{_KMS~;oPQ! zx3!k=@tnJP@Gj6Z#XY^)mI2)ATk6W}!iRoQ&#sv2+k%{SHE-`4Uj0BM#oFE1+!gPQ zzOcU>9nkW!7jsj>f6n5gC*}c{=I2Fb|2cJWVs)fmdS`2&FPG;e+{GnE4MsT?B~3np zwysq-&>Pp6f5mYY*5MIam1~}V^R0kCS?Ve_H?g(%@yJ40g3E|AmMRnVW0_SkWcbM! z{Vk-R+4mfq1d0!XY1z{CeP~Lf<_O0}xKa(;*?(?C#jbjqZ2*AFOAGyU*E7>^SDF}) z5O=)i0;DZ{FWivBY4d^H)Wp$1TDWm!|=2jF4>ulBhDuArHZU#*m$+aVN zk8wH)zOS0*JPY}xvBH6(zD$Zm_muGqNNhM2>U)?80c-*$D6xBCLIG)m;IVUv+&j6G z#WzSTNhPEsMT>2D2OHz|skTtdYAO}zq#tqLk`5FLBgus=aOF|0@N;eeA0m%9BpA9y zpEBMADk`c|6J5_G>GGF0{J2^isM9>Fgx0VCMD$~?%CfJ ziBu#Q6jd;ze}E`i-ob5*Y7+N0S6L89RYwNTa3bcLA`K?*jtf?X%Axfkde&Oq$U>xV zb2u)5l!V(2z@O9oR%M2Uv=rA*HU6!zf2wltU!aJG6#xM8Q^MTfy?fNiA_f{!78;!Gn3YC;Z29%AGR%9lqAy@dK1ay8`=)S$1WkTb2 zoTkloRJSPItEf*XuSCyBE=Gb^Q!%>D3{arV)CnIR$Ls!~Tv%g!&RW!r_z!8+Nh&7I z?_m)XRw|2yra4&Yt1~MnD<{YIC&wBpBciG&*VGxQbA^3O@hT1S&`MpX57LW3uUF0$ zRjqB-6`H4t+Ph`r`)w8P&d(CNV2Q5hRa{G=m*FH!YeGHgLfu(C)NR`5CK* z_NH^`m~|_qNhy(n`X&=I?VL2sN+><&zs!wJHH|A_SujPKaH9Nia!|in{#CK)- zTAZ2G_$C@$qM4P7Z6KDnE48IpQYJWUBaxJ#pS*levMicV-VkFfZ>ETa2sjIwvb@o_ zU-6>fb`h$=%8*Q%a{<`|-k7~a1or00=>%7vuC$>flJ( z_=5-r2l8gQaQ@{bUHZq5M!DquLa-n?UISF3XbhO4$ulmMctZiIXg}_P8#Kv9nPTc; zrjOCRz1c;^Fc^Hr?^o_JQGrtg0&5AF^lIV+)7HUkQ@m*pXR0+a^n1?8wOQ| z_eQT&9FCP&J5jElQG!%g>-YX(r^=kdULQH@stf3s&Ciw6S;APd=?{IX3a8g=k~Rd% zKhTWGluD>7h*~eHBrljn1uMIz?@LU&c9SMSB}r73lfntiX(H2`6s#wK?Y6@?S@3mG z%IJ)KS_?=}FxFt;d4UrB&6q=DIoB<#x^<+eEA3m|IbNQK2EjgONDVjXSSF7|hJU6iNF= zM0v?QA?ZDg&78d5<`~>|)T}m%+&M6& zo}~h;V{78v6V)6B3`{hr$~^j4@kTO4x;7#q;pHaOh8or8_=BoZP&4SKr(FVdw&`^H zvsy){JVMcf&{-vyBts7P$q!`NyH`U)D|!Hp(;k=pRaf}hRz`sqrK|n$bPlZ)Hi8Cr zr33?;G)!lQk_VQU*zMry?F^vBQ6B{fnEb-|)SW!#nJp#$x{QVTa1xx5=K#w;&v;F` z=2rSRWgZ*BQ&{^rEhiBxk46zl1j&W)+n6bXkf#T=lxF<4`SVXD$$Blxb*I&#tRR7| z(T!kvEVQO8@DNn0?keOTEyvpMN4OirH63h%6I>;ZHC5Q0azKcPhV#>cA{=Vo5E+Gf zs}S;9WJm{5Sd(q$#6j<4iyA%DAx#8-GMS01MRw{QwIHyM3k&^Fr>(6W%4DFYJrrMv zgJm~;*yDng{}zY-QY}HFIQobo4Oc^vU(Yd2s3a4s{Z)Da+gsVB;eNLQ1WD2jB_h(; zf{W~=i`3(dRn;VKm|8r-pAb%h4y>i6B`7zloN^VG#yTexJx1!rI^; zSdgZwl1fyN-bZ{)dTWcC`t=%cd`18Qzb^JY0}r~tQ%n|yhRH(G>x%%HyYF>4az@p* zUrD6#Azn*Kvq6K8IcPX@Weq!e(c0kHW;9WZ3$^8v`FK;_Wi^J9wsHM%d(nEK5rVR< z4k!?=?a1U(iM)fzi3NYoX50|o1JJ7M;cco(?cPkb$`f!cMMCOs)CLIU!Z*y6I z>U6%3y|=q&a3fcF5G{Z4#v5$O1qWkK|;Qc-xw`-v1w0i zqOoMTS{5tUk9L0~{)|HW{cHVcmv~b%>KBeY^tF-~ZPRa2!)ofJ6njFd#Tr9Qlc-xC zt&6#0rO#Xs-tXrM-nPG%czHWSKDNAhp}k9<+$yUTc7?A+CxJ^>{ET7%s4XM!xE1^_<~zajTTAB z`O0=EH`94jYKLOgOpRmMP<3@N!D*)=>Y2`IDCpEaPHQ&t_Rk;b`*lJhb6htz`1{#u^6DO9L%xb99AYJI>JALpa6_wp=y2<|UD(P9SDMIhMtZhZ zSDkyEw4H7-5YmO|+t7vdJejq`h(^mEk&}P3#K~u8MZBl=Tn2l9N&#~=g?7lby>9c?>#@` z`RR>l4u7j5-np2rMJb4Kne1_waGxh-Xq&k3QfD}Y54X!fn7#B+5&$XkT-tXAEGm~% z#i6*C5(zxr%3g=2^8+TwcK{47ouRi`7R{=Tz z(E-prz36y1mo8j~@nNd!d8Cj>vmv#XiWkKWm%H8<;O31ULZyW#QPTPG6fVEXCmQU# zv}eBO`{+iGDw&*^9PZM^2|BROi#UB$sBdZD4Lj2-{rFuCc5c^jRv0ak??=FO*fk@Q zOnST6>6L|_aBtY~Xx2uU#t|< zco;KJg`?sKOL6arr1D^~kt2@ZBDagjcv9?!-`)^}v3{u*DlS3Vz_i{@WZ+;gXCJ?D zWx>>ymFYl8iOWQ6ztGzSiEoX*0m2R2*uUTLN&QeoV)wal6a6O9SISulI(51u9wfcl zG-DBMMPT%G@QK?ea$P5d7gEzmp|6v>7=FBqZZXN&qJlVz;Ige&>n9eHVY?32t zg&(&U52W#7-?J~)6r~dR+-8b{aMFI|-MzK-2U7LeLRVY`;Ne49t~X^@*pIr_sd4_Q zkj8^g6n!2>1#ZCui|@SvTbNtJy?Tuc|mQ;Bch4@UlYa zBIhW6Sw%%n6hTPX*>ylB?ka_H6P7{Cb6j3V7 z))J&t#sUl$Ht)1u@F*_NFHzRhlasg`&Qnvz%okYSP$YSse3A{rhwa~v0N^Z# zLpCbYjl8wJ^=smX+^^7CWl%yCf$gwgYrODlrU-ye*dG^Lx0Q864CnOM(5vSKOd?BC zZfn*b5>eBJqR-|-9h>=xr?_xiw`%*4PtHM0w!7M7Np{t??$Wy=Hj%y)c_A3yW0zW0 z&Ow=u5w=oiyH70qYm57GHrBR}kFM(@K_wj%5G`0;XIf~h;!LkP2#rt3#X21XBWy;$ zTzJ@rtHyr0#aoiF#`WqpFKzi|EVo-Z`|K#Z3uvlPF7+Dp+p&gUTF&Zn)mVs}LT5pavf6rm{`_vu_;R{n{Pq)-!S9y-AdlAEW`HO2y01FSu~ive%TlX#(d9XK zF4dtb+!pD}gG_mp9WQRJmYeRODTaowc<_Tj=(H%C0uIL?#Z#?#^#Pn@@A6eXdS z9Yqun_CSnIpoBD!UTcEeI0~LUugx$k*qb2RprsO-(!r&;<0a^zK6&ZUYC^XouadQ& zjY2m<#qo{IB+l>{N|Q@6Th}DCM=;&Vmrxc}r9$ryUv)Y*%9U5L6El7Lwi|;*OnQyp zi$$)S#jwO+BxZ^ZeBo{zO_+ci(eia9R9jfTR72 z_B#pDNUU>9ivR%dJJs;7B*gE66Q@Ut2;^tpcTe@jICna}tu zDQ8#!0D`}h`j3K^u!*yYt+Uf#vc$j1{w_HE1NmyT4ckIdl#5|lAev_ zP{Ptmz#~6OGU4YSCMJ7TbDs*5juQ`JCj(K3F+ke?Aq?CH5V0-p7z1fd2b3{$jsXOr zkO?$s9*>V=R?iN~(H9H>G^HU9JQy4vG8AA;h>*ZkLa{^t1u_7-cDyx>ydWH;T(AgZ z^p_`=tTJ&G!fgJi1-Sz=4AdN9g68Q(60Z3W;oL+6IX?&;dwYBa3wvGo@GYCdm)IfR zV(uCI0wiBO2{WPsl$bCg+xJ*(X5?Ng;lwDt9-@k59vP#>n7HzhSb^IcLOGxjod+{^7#LCy4N z_6F|HzWIHH2enz*@aQ|3-#$R5kYHXRyEPvLf$yHGtvqqrYXTct*P2as+f9Bfb%dB~ z4d5KE#=u)y8NEQ9b44}0_p9wqX==SEmh`5i*h!ri?*#&C4Lnr8*xIz# zZM12PFewZJ<=af?wvQUyO0O-&V=VQ0_o7{^4tvs^pybpGk=4vYIhnogYd%rosZMzs z?CxeqKt*>nYs}{Ny{y);Vp4yNcCf3U29KA_Wo%N0iltJbmC^&{9aO-oF4oglgZ4~XEBVBW` z2>H`o7`_2n-^{1jkXf-187M|30H*^VXe4VukLdWVER{0Ocqkw0Oqd1Uptqg_emTOC zok$a#S^R)!9^MCwB^Jf5ntR|~dDO|ZcT8)Vo9r~e=U=^5yoK8!jSl@wZu3^P0krS*9Ra`!wid_3@tClt7XCA~o zzH6cR%JU*8S5#}%S?Z_rv%8D*csg8$i zAeaLfxKqCwHQu-2UQ?i5Lg>mXOy8La0`wNV?Y@;AeFka#PRp-W;Xz4>kZ+!IaI!>u zZ4kE*z9+0G2rzisL>!3E_1Mo|T)9_C+h}oFlF{Nk?=yfjR1R9rKdLGgL3rU`E5%ee zeIRBFc(9GTvSceU@eR}Am0AUtC!DgzH7kEgkz6~WbrW?&cLsEy`-+k|x;KRhs$%`9 z@f*%>7jVEPa=Dmal55$>$WUS6i}GHiR&dh$F=czLRWxSK`I7Hj4*eplX8(r8AkC?) zBXk>;S1H$Dwd7bmSHzpTL$kSV)#3s?nNjJhN&_1{FLnf6koiGev6d$^j~5j_C=egX z3mN^R?kDo18e@%?e2A>_lW+Nh%f@553R5Rr5AeN1klqgrBxz?IyjZGaox?HVksjZJ z51!}NB>H$v%#Wj^xi95@U^b24G-k7di7)EQ!_OaAe0l$lP}J86VsA1koA&mbTg8Y zj19HT6*aY0Eo}`IGqQ5B)wLBM<~yyl90*7AVsD4O;{QziRmf6ONu@ioL^{0iOX9+Z zV&Xmb;b;*w_r7LjI9tY=d*71e*3)*R*lH?d9F48~=Qw?fB^@8#TBmikvjC2i#={JU z!3WV4E;-l0I)Sbo^WNKeh?653&614+=qG={A$$gt+8;kH<8QA1Grxlf004+T`Tf^I zDBXWBS;)@T+0oA0+QjjHX73g>PHfl2k>0OL%f^5Jn7*zu;(vh;-(}A;F;?hrG!Z@(xNyTj1N?! ziR3`^M(Ga-b#wP}8Vh{aK~^O=!dKn4R&PBd9R!j`Jak%ig^;N-FQ9NxY;k^%|9c41#6?=gwmKE2XPBNg9`3KG08bTjU zO4+z|B3WSuOvjX96nF@yBsW8hB~XmC-M@!rLlmDjETym>cmmvwE$k|}u>yF(&8_S& zUc&#pF5ntDLL>EVKwC=81jQe!;?iC3+lOl3<9araeI~ zj^18h6hs@h;BK9{U9HjQ$QgTQwmt*iaX`L&K;?*;n@!z5a@Y~13CDuB& zQLj6+sS9G);i{R79U!bg>h>F3(w&B1!ThMMoCxZz)^p~0DrYHv&rtHsRzJT(x6+euB@{t?G_J^)eETob2ln+y$q}-iC3rAn@(Ze8u%3p#y7fT`eVVkp=_b zE+?c@% z^dv4-qLvYbK#CH{s2b9CB$Hd}Q)Z&9v9IdV4#EYI#e-I~57rE59brcu!|@u4qv!&G z9t}mY8G{8Qk!6e?@#0KI1D?a*pp+P7HZ2TPzF36pd3Bf*&>ooL`(Ph7aC|1fX_t&0 z)5eP_pl4t5Itv8Je6;3_)Y6DqcJEd)>ZT{#5kM8EDg#>12A)1|QIzBmzG2*i>h2xkV3is=>DB0+OMx^Fp9W7HpG!SNGrrQapvx0rEwy$9Fr zg;{d7pyLie*z7q0qN=R07Y412$!<>R(rkno5W<{meEd41tX2W>biHl*>B-HqSZ#=4qnWFVO< z-kHF7z}Hif+&jK(C4S8=nJ+~qD&az0KM#MU;=Y`S3TJ%-#k=7r5(G9WGWvGYykTy> z)?|OK1i#6;5|en55SF+Q2u8Cqqqp>FJOYlhl{GEkRIpg?Fx-uknZrc3qFkw6SwCdl z`&HCTW(e%tsX#XD8T1&c?TfzI=kO2r2uxTuYt~{F2gFo0-#bqe7?DYN2%us@^&~^^ z-3}xTVGUkq{xseXgP@Y(WT|77&I+1;0Qdf8FZ_wyG(XJ>Y2yUx$ zzBvaBi6L;&4=U<$6Kz>>I-I4bFADverALOs%tBON$zc_}sRCEwG=g?zH2G0{*f*b0 zGBG;3&%AB(UKhh|kVPOVwqTbZLPz5Q9L7;U81gGNpcHI{5FWadrdhRpnOeiS=34Vu zyW21#_M`!Z<5kr!M_8_Z+Nq7xc~l#b((a&ba9RU;tKmF*gy8ff&6$II|3Vh4y$?{2 z{iJL1=mxv32;_j3H-Px(>{#)Q3_?9B9tnfiPw(MJC4$mNSr=ETu1r3`$&$ld zbISBnAN2bLVrVr6+iX-IBNZOqZ2@o$sFGH_nemiL?SIK%4zBmeYrSxL=k|~f z3@yD3nflhZcO|!fO@y3$JF(e{hij2p6Twnhhjp=Ux}ADVj4LmgZP?UL-f`a@`4PfP z3VjEAm?{%6HG9Q68tTQ{`-fj3xI=MHcW@*^|zziZ0CAi{%j8s#alDM7r?; zZYTN6FEG6ud~LeN@`+qaY3>q?dm{5Uo>);NgPXLgvf#K`-nC0(WNVF&guNlY?c}%D zC8GBd?g6jwYT7?TQAp56eF4n5p85RSA5)}AS5&i4=J0tphc!<9c>Cx=uJ3G9JPWi= z#rRfx=w%pnNT?h2$qkE7ZO4WRgYNI719O6nb<(4IRJWSXxKF~V(kvu8(!U~ z_Xs22fG^O(-3JDs%&OTvx@7B?d|Ym{L9)(`olXfV;%6APlsz)NOBgvX*q3;y69Bg1)pldy z(&TtC4-I_)$cB@FwfpES6QZoBW}^&wx!Lvm?FHKq;g%;s0Ra5=b^qB5{_P*reR{$F zP1NyUI>i6K4m`BGyVwzpr`L2yhCc(33!DL!T<0mv13$gI24~I6dY)RF9onc}J%!8y zvR_+mjQLYq=Aj{b1J+y3UM4LZ=I7ccEHZ;Va+GqV+ws@gM36M8#_Mjr4yKbTog@=D z2M_(6gM4{Ab-JQhf5aX1q+Xm4|0(YHYtsKh zcN6)yIT`qUuD>Pos#PX`w|95HQh*7-!{sHncrkxjQ8DHuRpkpMCYvme`)u&0iUN`t zf&Jo<*Dab`#gx=FB?nI%580 z$kiZGXuyhq3Yv$Y>t0HJ0`y>32zf27aotCFdBKoPYy#J{FXdk?&-3Sj09lfT%Oq1q zA)6~6xn|a86HJM?4D>Cv0MT9$9UM-AEfrj26dw6sOKsT2*DAV-gHrb7%Qac=X|x9odM=7Ac*;m-?4G_vg+?YHLxy;mvbzwq z&)_zQf8Tb@)oJHd#5C`HWM>pg7OHfuMIM_`Yh2=ygbu4jjhUwSAf=Q-4P>r3n-4Hl zt*9j_W^w}J3IyUBul7WtU3FLXG?{rh4$Yac_uU?$nM-lE{H>feo?el^7unl73S7iV;vL&IA?%U%I+nQW}9%-!DpurhfejR1mJu$u&6c68B)Lz ze#^b#+W%L>lzNU(1_vi@EzwlnR3iNt<#SX6Lpss$KeRZ!LT4k;9)x?O`y22)c#|7kGU1WdB}_k?~ilPbWDA<+Fw z{7CVs8&E9igm^WGxd)$NJ5|uCS@XU+_sMAkdz^X&IN(r)UL*J~0@&;HVUqC{-zBOG zm0GnJC=+e{{S5l%f(b(`6pdT&=^a$x{I_nhJP?ezOLwRnnQ;eZ!x57?2?t57jSFsi zd?l9!&t#^2- zTLcH5Af*BL^llC+Bz02PWR3gJxz5HXyKApGUv+}LWYi{(4Bun+EPqld@44PEhjXCt z`snqCQL*<=P3A^X&2szd(#z?|Kf8ymoE#LNdAWXkh$Wg|Z@GK5_&6R5RJLm#b8N6r zawQ_sS#Io6omgvpc9AW262dhwyR2gQ)_8jm{0z7Hz@w)V$+@A(W!~gnAzJXD{!qZH zMQPA~le`FRXmH@@b$dP`de`;#01Y(jiCh5d3dY_y1jUcGZ?f7DPc*?!Hxk`5)l+YSrBNpPRG)IttVLnc~9wufUDg z{J$GkiB{gQU1R;Dc3{GWg)eSJw`Kr9G{eB4fkMooL5~tbJ@W-xgISzX6xX7*o@|XH zX^vTh4h%g`BIoMrSY9Flpy=?;`oZD)`ik%Rz2)hOA7;4!8_uK>7ta~`GP_`zy?(ON zqr}4vrNH_2uN5Ehgoy(rE07^GtA2sA=_0|LjEhSs&by3g3vgg(81~#;6;vy+jP|`5Xbp0Q_k%ovd1!Px%2y4av9(} zl;Azj0(~+*BI|FM!JZ2-0Sa>bM|30hGrshVrNNu0G46!ar^9VzbaW$yyeE}VeW~9- zKBrZ1N(g=+W=Yq=-zyXBdThq7!Xn;h96vRV$cSZTXF!B_Af2}>?HR&rFq=ZO>FI=W zDsn0X{c1LeaitC7=#nWy(+gXXC9ejmVO#FcdlPZVafNWC-!rF0X=GBWrO1Be-{zmz z7wKS=qZHN>HDScfrn5cn%F@$&ei((NiJ8>Z@e03PzIp6$PRU}Ab;@5uoEio@xl$Ub zRb|DtY_r8x9}<|CSH0CW<_^MA-TO%z2tH%IUjtZGrar?Rs0~boyCbJyjCkEM9=XIa zN;w^2lMWs8S|EO>LmJ7|Dq>B5H9DlqEWSR9?^%r8N!m|SI}1y@QavhihYs4%Y!0=n zI{}5BRAnjLKA{16P(x`lIU^c6A40x}N_j&=mw}$_0RPNGo3~lVP1e>s;+j@OSQ|Hf zTaVi<;sn`$T*# z>9y248h@weuPQlasO#6&?@D;ITDL#haNpGlcFD-AA%)(8Q}JOoy;rHC2CVbD$q(jM zW>blEs}E{M(O+J_0`uQ^2C2z)QFQ33NAlm^j6gZN+$6l=fp&^d4RCY#WZ6HSC_NFi zanis4I@x0@@1c>}JeI#*_`{)VOF7%a_ym~W_v}xA`Rfh*4KSqtLxB0)W&HmhQMB8C zk9+)Z+D-uc*SN*@ zG?pIJroTqH64YnPmIkr&7YGgY^4qVX3K38e)doCoZ?To>C`YcXJN0BaU8$6mQYXVz zRU{JT`lETk5T}TVWbJ1{UY}UsgO!}}dkB9M=)tB=wor5$yK$LdCZ-RRrnxOeiF@3Sn`sC@@B~qXxu^0OL4hK-khg_B#(>VvlI$ zbeDInQix9P{;`)t;Hqz-U`l;Ny9Ut=wALWM(1~=ou!G!BWxXT5!d@He1q{|X7r&1o-ri(N`uuV3 z)+IpLF`lL>W5I;9Wn0Z-eMzqWJeRtM_Y%yZ-yF>r-DaFC*a}IE>5E~VfEP{|znzxy z8)hFDRr`AJAuT=27`M8?5|hoW)LHt__1Lve%f`35=YWtQTJeBXBgO5P`T0Kh-!|~G zp>)v}5CGt};Qmz6$-lJCTYUb4@;8yv+S?gB*_#;sVI7n{echB#dH&x2E>9&Ht2KUv zu2(gf)5)?*`B8$vB(TK5d|J?_S*5fZ(MA0W@D3`hz2_b`VzCBud@nDiyUorP&0mfx z8n!$ZCMOWdK}+P@F7*K6La4BP?zjYNxDm4z(2y&pd(#1e#%87YTn~BO(i_VdK|9PY zxp{B}p3VmF<$WN$t-xw1por#XosGtG%_GAt#vm~|nIPVaYT&&dd^Nz)Uo5{RON+9u8@A3kTvKD; zcbo9^LeN}6<`fCm3E(+BZ_crmVt*Su=|Um5h~PW4%OZ&7!mRE1Y@Ti)Z*>rmcwQ?y z$H%gGqctNdgKV27#yaJAp9;@8(;l;3Z~`8@3m{4 zhqeE>W~@)Tt0mnGeHg9VkjT9f)ZWqdwFWxF6l)x(RKP`=wDshj(t{)9WOXo(z~}C-NSD+TzWsBZ#Ej~QYH+`r(|qz-S;_lOm)597~kRgJJgq4#3GeQ<)iL#3~&4=$5gZapA`L^kQWbGBgq(6%tM3k1jV7(vp)AbmOdaGLn*v47AJ? zG_+JKYz!1KvOi?0Ysf(?X=xX407}Iq01JT3Zo7Q?QLn}2e zI_rc;UUK);Rf%QyW7;}>Y|y3Nzb&m$B^#Q^kU?isYaVEJT32ju;8@y_Fv%?8a2kwP zwz{8uheoS)#2RvOA?=k z0^qMm`}_Ofk(Soo$j;cr-qFtTUo9oS5q9Zw{R7heDc-*lo&F^HyQSp+Nxc82|HsAu zzsdh^1Ppk?jSqH1M~?uCEhHG2Cmk2V!%rPp5)4T>)!&PMoT#piq#381l$LOs6`zp> zo4^M!2m}M8_@~r4_*IIB$|)!!NXo|n`|w3Vhrz(qTv5mZms>uRA^*emm1W)=@cKN< z@ALfgN$W)ZWqAMU!T*JQzjGfTzmNO7gXSN&d7-VLv?q?_>-qr|TZosz z3j-#^HZe7vRNOE_D20i`e2ErP5B)jN#9`bPuzdW{t4+NR1+?%J>R^{>@=CY+BM@*xdDgd+;?<8 z1WbJ;oxS5aVahkpd+gvxs}Guz`xf+VR_^jm5+9);j>Df`?KG=_nYnScjoz=#{oy^| zwzs$UpFh)NYxJreWP?YGIeg7om(grpL{BwOU9fMVHv>?u(`{7?D83DIST;+Y~l8uDjb{s7MXYnJPL> zp0w9UH%xh=xoN9GoJ#LLY%2V!av&%>>Z z82Sx~B}#cduUg|x(?NiMD?k>H!R$^uV`tT%ps-yLS880wPdkBJGtAQ2f)9g7MD2 zlZ-KFOWMl$@9HL={N;Ca*iV~d zNBWCIJkLB~`m!5{?r#C$%T!vVCpFFLgHxlC4*Lqd+NL)NM&q1bPMpPM*5?3msT`oq z7b$VNl`5AvRoKv|yac8&e+cO1QTv0cC>Wf?Ss|)-2F-fQ;3?3LxVQg=n-A-H zKYC9sOng7`_s5KT?7li4&{dyWiaB476Ya$}xXst_C$&ap0a37#E8_h% zQREvlv^;{d@WVf^zl($VD|w9i)D_xft3|WE^)eu>J|VzH2|-LH3?dcwkqzlCRIS}8QGCm>JDHAR; zn=&3VXH2Q1FE+VZkkHz0bl8(@`8m2YlFYN9 z?Tt2Sx+t=Ri_|4tU(y^We1Ve{?GHbUQ2}GlBSFik5Jf}Ss%_gN0Qn7hy z33!4ik~cB`#B=6(F;c2{oeNQ^8vVt|h$HuBuvQ#KwQkp@f;^WXkdeokz@ro|E{-ss ziAyl?4%RHFM#40@5;P<c%17GxN?XAz^6yP8ZlU0G^2qBctXg9 zYJnrchIO!BPN!o$YHZ1u9U8d^R!Pp4r;4+mCsKR>Dg;;aCsK|Pb*>l^7xBSm~TLlZWN6bojyL^X^X~8!NAB_ zC(cC2G(&%*Y~;7Bpt6-Gf1%dOrgxiickJq>Q4bqp0?kTkLqOVwiqM-8W@7oOe7Vld zT$KSe`{M)$Q36g2MOJurR2T_~Y-_s_#3qd(lApd0GqWEZep?Lp4a=#0Y;2Z9mF0M| zpMVrITDi)ipJXcLu%<@(=jW)*^1L(gjd(GQ%F&{R-}CgD8`NMwzsPBD!t&z7`9K&p zXv#GI;Gy~sl_;7>WUYAe_W*JyG}17X4f*;A7#-F6@OV=3 zLK`Au4Qlja{-LowhSi@k1z?mJ-}uLjM24_u8Sp3xzoH_>))#?qFb`1gkP8&YK#Q3} z$OH05WQD1ys74VPPl+#sH4F@}KDt*OBhv%(t%w2uR4mHGg$5EIFM}9FJN9Fy04W0( zI9CzQ6kXTg#-l55gWv>D$KwlNM+`9jbdU60SJ42Q5h=1LUi{dID-Q#WK!(K~sO3;L z$iG)nrTgym)xF9#T{xttj$*t439OdX`Yyes5(o|Ze!2ygQN8lqekoxZT==huA-PpCLcL*rfJ1M-ryIe_3h&`CXsu3F z(ah908XSa_I70kp)d;>g4q0OijfBKQx^yJFWOa;R*!k-r4}Xvg@%2k##ycieHBDj| zi=Yk90Ii|ikbFs8(7MJ^gjfy)&K;#RPQpJeI7fUWt(MhK(DTZUow-|cOKHT<0kzuh zIzG@Hr?;P#*qS%FJD$ddSnFrX7Xe;@5d7{B4%K7GPTUkaXw(}BwH>Gr0zOWeSV{ou ziLdZ1>Hra;wFcDt9ic3?lY^O9c8k`&qi2SG_*d*H2L?LGy#o|;P$AD+~ z>KHfF*huGVlw2fpUig4kB5d*i#RY-|C#XBzRs*rDG>D_m%?h42N$+6Mie$%0 zyc=5YyK~+T?n`6MLP+GL0-@1HbUF39aw;8G6_#Ih|1ZwoGA@rU$r}z%aJ_JMxNvuO zhu{+2-QC>@65QS0-63eu;1Jy1gwl2ou|Yl z4K2@vt2dGrw2WJ_78&V!yNJI)ay_@03>CvxeoS^(a*2y*y5z9W;mdx ze%}2J{m>V2lw)98e6S6W!kIayu6v(QKC^Dx;&-N_Vx?kZTpgOzWDYYkB~nQzMnxuAgf@7vct|e`Dn4B}43DrHHXzQy*A~JSo%4( zDW4I(vV3Kx7w0{H8>h*669-9}QkapnoCmSED`|AAjc^{_c0X6QCT=4XhB;U*?rZfu z1hG2{@EXK7+r#e3Se039%1&2T*U_Yb6}c#@r0=BvpUBQX!AAcm$wvRr^&es`|N8wj z|N8xZ!#i$9o+dlu=*<_|2Adv7lcLk^`FrE51jRf+@JCP z1S|hn{cNm$eW3ch!AVuS|H6&_D1yNM8Q}aQm%p<2=lLJ&Q2)Y}o1vqbzJsyR|CH3< zIQsuBsXsZV|8Gq&HFh#{b@-tEH{CG$yUhNra{Osw_E)AdKbR8!*ChXmpy&-hYHt7I z3zNTS%pa!zhXnud{SQ3X*H({AC{jw(QcsRg)vGYgF)JuZOh`}4kB&<>tH8k9&o(O5 zHUF;rJVif7M<*d8x2vS!N2OMy^2xFWEc{oC@m>LBVUhomKwLt0hB~ND$|Y6N9iX7PNhg=izb^jAWIl2Hzta3)Y1v;hn}4X%{cEcKLytcm z49$$KjsL4d-oNRX@~=7M|97!NStZvKB8JZ77tKGw(hbN#2Y z`A364``^swFFGeFBC7VceL~pG*wE7PFP*&p=I#E8^{d28AOtWVK~7zvHM*+%(hYry zQj(ESkPO0%4Psk{ZlEeZSkb!Kab{+IuDvZU9aUbIJ9H5(?hQiurK(wS*On*Rb&cVK z=V3J-tLQUoU|=y%G#X)@CKB}Y3CGalbC0839Si5~0PCl1FtVEvv*b_S8&JCf5J@(W zHG$(6B(z=17}uFd&}eg=kMr+)E#(U6A?smlyWBEv<4IvohWM2C#;n=a=vmS$ZM|@i zeg0+yC>hZF3BAoY9t3~(aaVMQmX43L`;Ybe?{1KPRX0l5f9p#BgT7?6DStHZ9k*dQ3Kl_@PGsEM2z6qjPf6SMIwnucjX#hRUBEKJ;V{yTP z#a0POxe}Z<@(@Gkn#ZAkJd9vr)%(Kcs8;hSycI+`_G=`^@ElcJ4q;=p_Rpx1#+AT& z6oug=_IhwADB=@iPVp6d#h;j z+yxXBl9qK*5v?Yhqnd)i89+#q$p|htK9u%jv9y&^x+}Gsiw6Dz!m)WzNQ_=WcF(DS zHG8jxebPAgW{Hjn`>WNKH<=rFaV zT~=ADQLtD=2nWS(sSur5HGJqhifzNYPj0X(_n>{&ej^Ecagj;4S;g5ht1lYOWDPBM z;mYr{{a@+t1ML131bI^o&r(el)s1AyJJpwTMypV6htJp`c|Zfn4r%5+rcX@-8J7_y zzL1z9f@maUV^vs!u;GUuEKV^xDd*t1687wSX>Yc8iz;meJz68SJW%Eu`hl&Y2}**L z`c`et;i)+w@qGls!8U`X4H)}1Uzf`mN|K-ZE7m&8m#~8Obef&O06*6*!pPMnQ+_B0 zxtEu=WPg_jU;hse_t+(oeE8wv{;c`mrSVq}NALgXlj*;f#{XhN{XjO7AE!wNlMmFP z?4<8x{9ikq!A)l^LH_OHVUjX-0;ml%cM2PrsF3znR_&w zr#G!8P8V6{$VznVciT&Kk8$T^Za-dHFbN!_PQV-d1j&d?!hn*`fPKu)VwJaU#h4P+ z-{-W~Mh@0i22-D=85)v06f?W1L2HAV(%GT9qf|t@(0qJcZ~cL}5mF2r7s~37uxe(| zHEZ9NK8?d(4|&z70}&GRlz{jN`VK%4>49$yWNetT1}f^Ts)6vmAqM?5TT9SZqzh4v zdSc^2jRvR;%y*P*c!mssbpMH=J%j5S(Iw@j`X!W)PraD#An(YVKCeV|23z+w8LZTt zE_p7|ofw{=o*=nk9{0uQ?blo{L7Wh~e11lFMsAOO4PS!*xBEoA39~9d2n}k01Scdw z2@SR-fRIQCX5_D(1L>Xv{l(ux0W8EXw+CjqM}*$ZSu(9+zH^3D?iJ9KTZjllFx(+h4=!p~F^!cYg0P(rSl(1DwJDG>Gg2w!@&OG4Zk2mn1o>fn+3 zpMk-~H886ETQ&Gc`e0T;veTbvr(sq$ML5vqLYcQv?TEav>4K;Fzi-;kq6GNbQ#>(yRu74N=>*ZwOH zTI`Uq8%kA=^5sYVj3CN%tF;B2ejxIKNjng6Q2e*yC1eM(ZD0DOsu!ru5N!*3cF5Gg z{ub;d#ii(jffv;q&l}1c)4IRwcJ+4kmhJY+#r?(FL+As(7kwAvI~;$M>(=lk>cjVk z*a!Is*%#9nz#FU&&O7=${5xK^bR4+obP(8*KLaYj0EIEtEht57oNN#IIvipE zb>Mmcc7SPHbek+ML0z(fj17f5EOTIGV0eIH0DqgsKI9>dLppeA4k5rG$?qFS6UIE=>c;s~n>A!s+Dc^y=62GFjQoCY@QHblK3LvJU z7)yo8?<<9-{uYs!SBgoU9Fb3&n4zRp`UN{l)L1$A3$lt#l7h+?R@N+wB27vX<2=pM z&xxsZ3aS=NteFOs$sQSL!nAo=d09nSxd3H)C3?m5(&iG{IaLds#>{2G(}MM)_1yL1 zI|a{D@45Xsq9ao0h^K(3Z%+|z5;}QZ#Xbc-d2cyy1!qdWGaRP^+&^E<*gXhOO4draih6AcH`6_AQpvCebBOIY6thBBGqAQ+BUZ{nRI&3BMRP9M zoaPo#K3X9>|ENNwW;#C~5uh-C!bPLW*oH%hLY**U!N$sdJkgjpzCQ4jOttH7Au45& zN2*vT^^LUjYUf*qh)NZyVy?`X$_Oed+US^OygcFxx$?DoX6y8%OXbLO7SS#BRXUf- zx0FOoisT>0;j`NV%Dbad8W|ia@hsM9!WcyY${A6Gc6pWJBr`2a`NPYL3ZLu)3J$`2 z+g*HU9qjE+7JdB^>LW+yt#jH#i@!I=R%iPP=*4kxkg@>1zN9vNH$p;GfutF(x2)_G zNU^ec)Be#gAG~YwDiT;a(YGjWF%rEH6{6XX4%kDWodsx0IYSy&N_;7rU{0Y`70H=5 zs#r`HPc&D_C`-QNB0M_F6;xl%ZWyk(7c(*Tg_hFQa4N+YY!Bnexa$I8!RhE=6&e z<+Q-ho$y9t`BT!)^)d@)t(k|ygkzc8C)Ij$?aGl;5KSPAw93f0t8a0}Ci?{iQr~t; znZlXKxV63&kN+4=BKwh$Q0HhVieFN>M(BxlC($936_;XE|C*cNmKI#n=1Egb0iY?< zQIG9{gNJ0Him5^}#SOWLDk60)q*R^_ft8Jx00;*ctSiyL0B4h3QA_B);IsB3?*jYW(7q@nt!+$!tC183N-3@g+Zy&{y=bm!zsg zBi-k!*R@64(bdsODQ`@RpU4kC(kft;nSt#Jax~&R3KA(Kmi(4b`9%ul3#Zgh|Fp3K zN}8C4g-{+)i_xJ>dnh%ThgFab9=<-$!Rc!R9{M3Jfy#X02z%?5Q^K{9lCk8Gwq%4- zCglg~q|y!vs59T0$T-OuRf;5JC2`G}HRP^lIY9fx6PduUT(kUy;!`q9@=G>{i zX}49(22&BqL&Egou}ul-tgXl(C}=pDntjRv{<7K^sddjWAz*VZjo+KP}3q%KUBP z<;eT{$AkS1Z?T*x?Y9Ka=gKcJ4GM(Equ+m^AgNS6f;;k}_JA)hd6t})qd(>=87Ve} zix%E#NXczIrn9&krLryhb+nC^FgLr(ND{i?6d5&^GNBV>ikhL!s^xMT^vc0Ry25JQ6N3;Ss^xW)r0Axz1Ox^;t_ zvmNgN(sx8A07mTxAiB$iPM-p=4s7l*-Q;l!>Scf#5+;JJS z6%@!$0^Wh+1J3X7i44jIjo3@)hUW9xS1@exv#VfqNFjBBMS8o)rSH*K53#ztyHWYjnP(QmMjwjQCnTl%7&k; zmk42HEygX?*^&cGYqVvecl96DL6~US*ZFwBS-s(N0}Lv_X$Hp_;HA_EKaM**gFF*F zKY)UVa$*qx@SVd3*^&5Ta%^m8vkBz7Hv0MrkB0H~yb6o*++TXE2eiU)w+rOCnz=JS zBOZ=)D%%SyHCKff-?cjjr_FXWEoR0nD;W>A{IDJ$?JHKL=3 zENU535O5;riGEz}!xM%fR}bB&gDr&3>qA=MqK*$RlSQSJ8XvV1MTR=OsYDzAa4LS< z_!O>b^L4;Dq*^;KurY_y<13LNVzH%tuI$2+jq2)J>}cCbm$j}G`rvWr0SsR#f7-x& zR_jE#k?=ZPBV41F&5D>U{IkALDg(I}*+Pu0pvA(Z2!o;w%afR};}kQC)~yMC&ThkZ z;%(>@LK`V3fF-*-9gh1q3&Vae8c$f3o7?$d@5qyv@c|S4tRLT*;{$~FV0P zy!C+9WOdfwj|vK(Z9##025rslw+O|mcmnt^Nc6^aYSbSe-HaR^#XBF0YaMZT1KBm; zaN`vL={qorI6uVVadvs8xd};$#i-RNnd|07ja76S0`rws$|sju;67{dxAy2YxDa=+ z*Ri7=Ix?1tEv^<}tR!0?&kut1LtW-&ua+@8#3k&rF?!yM-rs`??ME=o6}PJui~COT zIaxM5i4{;0=SB8^e^1mqXd)2(gbe3&EaG>wr5$@vt0IjNQ2Cx=xIvHfDDfUsa=-`9 z*?!=x5iC$u2)otiE61T44L#iMJTl-7?MkG6Hx=&YMoc_vL!O64o`Ui4nN8jYj8-({~i`%_$$T>|B7b3#@DdU&3 z{jeOd6%Ad*N4w96!Y7)t&P67X(C1}USXWcS^l!=XUJWPhPcd60++tDCjr7iV`C_3a zvLB6`G_H-j3r1?TJ1{^BDJkfijywx#W(71y$hq?xR25bzv1KxTtf&%Q2zzPWQdZVZr;8+4n z^#Ccb0Ka|YktJ|GNbz2CJA7?We*cvkf*XG#1{AS=qZEW6o0LnRhDll&(I*4yx4a&h zyzp#-ZToegEpP)VHq|bm+%SqSL0X^@dkil~d9dV%e_SZKf!Xv;xZ%7}PHtacm|mD( zVqBnx4t}Dk*%@MQPSe=B2 zSOn{Lgmn&xr@B)5jWT@VT7v1!5Qj`_G$YM{0greP}MKT!Xhz6Nf99rS7aEi zCg#8jsT9p-IB~WDO9&takUeoQS`$LUh96zPz9MCc2747(q5o2p z^K1-;-P7S9w>plT7Sui`t40Lle1c5S*jUR{SnGs(rzjXv49Zm?zOhYjz*|~bjc7}d z)ba1^FR-VfUL>;pl5FK8a#wb4*v{B+=F?M9-NR?ZglSH|-LSYEcsgvrRogj|!eJFdIP_0eeH)+(6_!MHX=6KEU)qm8q;4UD$Cc8DDb36xq ziMHsYzEADMwQ7^S$PQvE(a9-WHiX=>v-?wx>t{mc)ip9gkl;bWFr#8<+}=;XBCs2< z*HopV3NQ|$HtZOt2yu#r!->;fF1jv}yrvsqTRym-YE^xnZM#B`z-II&p&b-{52_pE zt_+0osF@ll!Or@NAHVY87iQLRq?m?ccs!!pnT1r%+cNTm@I_(Y$;w5tlDF9m@ob zdCtE#C4T%MKTH!;0$ftS{~*{8Z2&?uJq_L&(z2@e=W>N5MiWa&-l4^o_Ln4d#-S*I ziBKZ&&q|6FseBbOG>sSYDO;4Ai>&O9IFXfw3E( zgLJtR@AQCfdQI|o8FbrVMSnQ z4&E=Jnl38Tkl02Wl*@Dw#^ab`!%?T;yJozVhDQpdWP4vIUwVmP&bK^5g%QJ3f;@y| z(5_rng5vfGz)fA&L;WFvCcKykVt(;@XqfO8y_h**hJtt{P#$7aEDX^ysD^q&jK5P& zih>!L$cvnL&A??3X2XK*34kyuEocnPsF<)%G6Kg?_m}!vJIawQoSS{iHfk}rOvAJoTJO$wQm$=`ZvgnqWoR=l z^P9{D%Wr-4VLG^m0cB3>DCNwr{ zEsUT%ETK|@jbV0U16yf&aEHc#XjS`xt(nlKydVH3>v1#_?D}cCvEm+s@p>>G_$+;L zrUb5@dcDugsph7{H1M}cs%YQZ?p?YKY&|5<<#iAVfek$p2=z~-TG{wt z`Bjd?nUL4}#j9!rV^uY8g`gzpc_t&nTTe_BO0cwveL1^UFbUG|#5mCeSvNFcyp9b( z?6J8Z8heKBos;j$(g!@N_A$sg0LrThor5~tkH%2;>`mCNF`27X6C(g9-kM%sJfT9s z%V-bFSyD%@^U`qN3px)k%Gf&+zIsEr8UnA7WHCFx)Ot`{qdlgdL~LEpLrNX0xFF)E zp19#nnyvTaViX*ZF^>4h=jBA>VR46@twQt^y`@CP%U1Ooi|ZhASL^a&7z3&aOBL13 zjX7*1R|A0dM0lb8+0F3-o9xNva}oEjzMgKY_p@HD&(OA`O2x9U6BZNOy{+C#bbivS z1=>bg8X$Dck(}Act06^gtK+9z>9@Dk19JJJtLyMzVH~ZmUIF7elfV;%loPb-Kpfmb zf|Pw#KZ4Z44h$jY=}yHV5)uDC+Q}*(kmla%@$2y);}Q7nZD4PGJlwqmoAP$w-TgI& zI+i{&0%2$jb%hYlG{_y$h<}02h&!n9LYWaejXJB8S&AU#Mz1ip*_uu-pgIM~-QVs+ zi3%cL!yK7&9+ghf>6!s(&Um#CK)lZ^&m%c#^|=(Di#enLx9b5XYt5KLhKx9R3=wle z`j~K`$dm?=LX28)QNi{KpoQa7Cg}BP?n&;^8vPZ<3yjC9i>dJAVtep=6YxDyWBQ;n zK_3w(Y8k=BQU>^7Pb_uJKBe@OiE+9;?>7l&_O`b;&JnN40OZxrmX(x(pAHM#MneGo zXuSJQ&L06YUAVTf5v%<_V>LQsJPc2hrLSlns2|Z*zdqBdsY!Rz!8j_n9iM65O6^(o zDfb8_tPGo&xw*D53uX*cGbJ$A-)yZ-)tlc!O|XV;W?t>5-M-30C-!_EZVOT3?J+0uNOI{B zuN_~2(Mfw>%K zo(Ac;qAOmU%|yVQ%}BubY$1BN=2wGbV&8{4a@*5qLrD#NE7@SxCpu0s{z7tr)q=Up z6AAa+y2b1L<+_vEGfwur)AuxhzQ-6e<>(hJvR;?94cs2W199`xi*=^|tToLjvd`9s zvitw=Py987tET{0_|p8Nu4h}S<*4`A07`qp{%)EKwF`0)dIjKJ)L@F{ZQTY|wL9|q z`>CI`(!(&fR*HSWM8BGZ6q=nO)T829wgr8##twBAZX-Y|rC$caF^IDb#U^lN3t_V# z*HDlRHiYDtT?h?kj9qBx1O`0X6%5>}HOeW^Kx5Qq3bk0SSZ!D5_x6VSN01jxBDNMB zA83Aq7-ou;gv<-n7N|3Qx!Ru3ufw;yL-v{0wKKb&;QPF%T5N5#9cJ;O%WPgJoP7d_ z0XpTI`xi(&aP6DOd$4=h*HEyy>S#q%{GVg{Q9llf!AIU8-9cY_XD{I5`sy!mpSnKL z69?7=HuKE_S6h(B4`Ey}M?hS)K6z#zH(s#sIh~izN4!LJQmtui%)8n0cW#kbSa%=! z)AEvggtSI%AJM0tPv5hTH+SOo8$ZDBW5(gqGk(2v(Iy+8Vy&?xd%@QYv$YiZCX~9(uY62W5Ws-2M7EX4*Q|8B29C=zBG|f6i>9#fk8E6?y+1 z)+J)LBU2Y}GIt@sjkjnbc)T!h0gjcXc6KphBsQ|MwTH72Iq?u0jX>a+;s~m=3Q^pe z&NFlb^w^0jH1V#FY5xHudxyTqWINb`!-oW+BcX)Xf@6DLX>FJe?+i*7J~(Hx7sEv6 z4QkN~Jkb@@tg@ZcSO#i#Rl&@oQhIK!H{s2!s}4~~LY?(H-}cl!v*6zUX2C_=`4~gO zDL5UIUQ@^8=i`~WT!EomTWpz+Nv-SBA94QzW;Y;ysI(o`HP|)DHS@J}^W>&a2d*tN z*Y)&oP|s5%9*Ft3@Yd0j&U=wbU9vz5x8vN1go*DPJ|){bml4wL`QxHILe%aBTZyG zz=CioZAmqHAvEeVMciCdV^iAry{vdP*S(cNyH*Q)JZNSu{-dZNZ?mxp(+0neb%%}o zp0g+Q8#FAW-Pi=ExLmu&W-sW}di^aWpU$)`0M1CTdmWoEa`s~Q;@89P2VB67sXsHU zw)*BWv!}ILs!%<)a6@#Pl+3-OW70*6Eg3Y#ji-z zExccTxogz+=uF?;y<@TesvjhHmmmJMg6}3O$n)CG9>#hB*M;yk7R~^yD?Xuyz%dD8 z3wW^yB#wm8zaMc!?fOOc8wucEr^~cHIqC-0h3bpr8w$|{yf76+f*s&x(j}2;%HAB~ zu_Boe9RY(-e(Lf$A$c*ZviSrHn%dbpWk*1&>A5aQME{WclZRM>`Ab~Uo3B{f+V~*9 zn@A_At4N%734G1g*RAihDXb6XFK}|y#%j7w=?n4TahY@RyOL;xmWppGyG z0tFzkxVdow6`=p%`oQ|)dGibgyZxvv7D`M5HK$`eMtn+Sb@cH&0J_T+VKAkoVXh~D5e=QH}bk?LscND?59DZx4) zebC~N9l*tomd8yHxHn)E)csa3YM`pRg90SP&WburUyTKkVI4Sqh1Z%vQLzRHCpVBr z(9!DzXo0;Dpvs&QO5jJ7)hqo-?g3yU@8=78D^5wMDwH0?)L~LWKLQK@i8VP52_@tf z&;u4&u+#SnlO@|v6_tGlrrKP>v5! z+K`LY3(Q)=W=o8^aMGZrQfRi?R^rwrsVPSPZH)uqCQX~G#FzHgjrJ= zSC|RtXlEJ(D=*F-D`@e34q|m^)SBF~RKsU(M#SndL$|!l6ygk}H3BMEB;`}6_ArKx#5fIT)PL$2` z!?c_I50#ug7|INe`WOlPLiM&I&gY+&J+&lw`fu+@Ys1_k+|nSp08z$*c(6xm2KpuR zh(H+kTk1*V2fO+$wR~or2VssFT;CFv(sa_*XFqM(4W)FxtI&x?V*6~NF3`THR*xM) z_)67vc8_)WOxS_b@h%zQuz@O4bxn>wgyuuAHEfU)u*hTu54Y2WI80@r{BFW~n-##q zs3fSo=--Mr;IZutz*L`J?bH(L5bSV1MR)x! zk1%RgK;~O}3JdE4Y_AVgFgKZZbBazmMntJ-J{@8t%qTyqX0E3IC} z)hbS*U#5*|;FQ^@6`UQd_qAGmtr@Mg%AU3jJLll{2yT(``Vl|{Oc@Ih=L)wRxF2u^ z$Qbql0Umb`God+ZHqligAEyeW_3ZXsVHZW{p9BF`|MvJwJNyk8^J*W1+UOFzVTg6AkudOje;sKk=jatzx*v zZ3$&NT8OH=GkdQ)Hmg@x83a}By}pxblK+PA0lfGkoySWGZNR=)+te)2u?3Hd9b=c0 zDvz=-WsVa<#i#D*p%5L40^K4YpzV120|tR^$q>@&etOqGS&d?lw7$6;@oD(^AhY*AX1pz(c55mkeFB8qMcD$|r%Dkjm&8l${JX&wLN7m%cFlEibYMqsMK~Sxk z8y-t8*>x>#EKd9y`nK=*kN!DU=htIR*XPSCD3{n||_nPOGNTJW83VR!ofEHY?^(j>Ru>kNGdQ_h+oH?cSc% zhaTeX3Oy2b=8GiK?25q`tWqJ4C0yloXxIfoh-=tIK@4ly1wc?}*hN4{^ml0sKf-v3 zLnsL*V!npdY|^x^XBzjC0lX&2=-;c?Utv4*3nb1<+yEI(hj>YTH!)HL1FNABrqd@d z8xrS2q6IqN4(A99T)#lVPFCi`Jxskbcjh}#vYwxoXs@s62xtoLUTZpD`gA%jVW*KD z|2{2ID$}0kg0FVoc+v6nOvko>D|Qwx$(>`c;9w2FmW<95Q*H#djDe!L`VNB{>2K73 z8eHYC*@T4k(H1_m(kw2r8|8mjJAR8^XtdX4kB4AC)m)r3 zUqiE?zSjqFFl`R9EpV31GioO_RjB8vOdkzcp`k=meS1P|w4rMhm~MOQSa=;WpAgcu z^y&V3{G=sR-)FT>*CV&3VNsgnI(6ycdVfy2w9+BdIdr&2Gv{CdF)!$>L{q9VXK|zg zFaUxBgMb4X5;bu~M1w+U!3dTmtZbd0nacv!BHgxi(=$b`NU!@teg4`%Uwv=SHV*Jy z!FX@+VV{59o`K1oyC@Sl5CHB>w?1v*2zqXkVe4V+7SDmmUEY2Ci4Woy3s&bXcN?!L z1}4HaNSTLndv1@Tm~HyjXHc4#APt?EGK;3B`eM%fs3OPxtK&x-rni`&&I#iqYQU_Z zci>{pbR>iu)Gh5T9;~-I=8S1za9gkV+H|{W!6QL6sW{LtpX{-?mlQA*mpnZp z0OpB@G6OFA6HQ2uAtl%V0BIj8@;;jYNbB@8Z}Pa)YbQK>YhZ4!<%$uLmPLmZ<}$;0 zpnw%ly^d-S)BC9La(U;#Pcf%BlJva&)s*jjC_qZG9D7$BFF>q;IoNj~#}x*cHLGC+ zCe|}-eH}UI=FWLOk9h}|6m|F}v^sQ``~`>y^>vGsOkW?jK0B2Hcl5QTw4YCpGjo8~ z&)x6ixL2dFEJ$-;1Q@DU2r0Vl<_dp~HFdfn7^dUVkc{A_@V++Lf&HCyzQu=v^dW6tnkx?xGd$kM%#-a%IS6ulMv{mS> zu;v95Aza?>^^?nbOwDlY>T?qzVq1GIQ|qiS9|=a20>lgk(KVxoS*A1fJjBMVV)xY` zt2YFL^7T9DT&?pq_cnmAqi5wvzAL#eY=)hWJt8V~LhWS5{y7|516yj8M`UhcWoo;l zbQY=XN43dn!gEf>_*3|TM^@HOR$T*bt7d%OSc0U{RgjgWQkf9#X#8j*N~=(*64_pv zqf&hmYeLd! zQWNKEqGsZouX|sccnTfqnUhx;?Dg*cdohQ`3>4E5I*EZ=??a zOQTV;s~+1@UC)=1oDM%i>o9da_~t!`tFz`-*`;C%*g<){|45I#<*>8-5LA~rX0YcN z7(iqx-#;)$#GZ`2kFHEGVwvbeHRUGUXY;hFVD(*qASwAPLT zR^0AXROorE0qXjaymMF3sp;p+!6^`Tux|!fA?gIVallOeHXnS`t{yQoUw^i)26%g3 zeC6U$O_e350b`2@ctXTHz{ezw36GYSl}4Nzp{4{<)0I|WF&Q`|l+JUF-i63)orbK% z@~^B%u-D0?TZ>{Du2guyf~5*T5)@gNm(Ly_-`&RW!qsr#%@LMlsi%++W#V4Pi&QA z5ff&wXZDt4@zd(8NYT1|u*|lUZl`3QFk@*KmtxDVar!G_p>E)X0WRl|u_Q?5Rgg## z!E83xbg6{g*4O64(UxoahD}XJFX!fR^l;>B6>Xm^-C=i*=fKR)GPjlTFBqzhQ-LlR z&hA`@*d4?P_WC?6UGQ33wML%0MkJMIUiTR1gtVN`XTL2U!8|8?U+q*>x#Qdo4bX(cBkzcXD@u^2ka2n$7Jpowwv9#?&48p3mH8F+Kx*{4_OYoSCt6 zXV~}w0}})#6K-0^or2-o-0LY14*~c0`rEg8 zc%JRZ+xAC-tjs+L|1U`XsG!ckvoi6FjC%< zKEZEt&eyXfVEQ&ETtpWtP!~4%b&69HUgoe*m=9dZHtr3%EcfgEkX?;C_!>JK?0M_E zMQ7_cGs8~wh-}d_*RRL;9Q^OmAF-8D$lt^p3kx&l1g-hD=zD<)nQxbMU&m^&?CaQ# z7L90(kB!-lO+9ufxQU*1U1XX-le|Lt18sXZcC!H-e&I9oaxY+BP}!QX-GOiGUSXmv zd_BY*@a6RypVTZG5A|%d4te)ZbboFht?b*a3g5IhBiK7WPH`N`7FR>f+^d&5mejAN zy2RM4a+q?1?d#oq-^>VB%AF*dB%9PNY3Skn$+`He`uqB46w4;_xZGHNBo6!#snax* zoz8fK`5lV`tKXfjQQLg^J7OjWl{h`04?}XlBf7_(qukdvTFfo@$!@P`xt;6ntTf)u z*utJSDj;C?{&DYQ^}A3CPOLChgf4f-%ZNa_TRY4+JA9oUEvws2xpC4oj%-MP`TnN9{J6@eXsCSi-0Eh%DTHY4q+iu6DX*zEf zJ*TH4QJ0VGDjSBwoVFtVQQ#guF$~b3GN9M1)}yIqU4pbiZG!iNa^ID&d0iqp!Mr2W z^ly339)Ul>I6?U22PvmVcmX0vh&vDfo&%mL052s#h6y?3C#DB(y@||#Iu0cth|vR6 z1KIJ}#SgKE&ki#KbiYUC0`&oJ+wPN7C_XYe2>`8Czrs<{SgDtoy z9O*z1_-K(|3Hedj=YjkI&~1oqRs)(#Wcwfv@m0dJZ*m3vSkguD!8;0d@fjkMEYT^CS45}KY?gMHYj`Nw@KH;w>cRHP z)0wp{>N@lN;49t}H#jFL#||f)D+AZKo%(jo!WM5RU8pVY8Ak+eKi(`ZYs_uTX^cEq zmDB3sL+fv{VeVJ$XVE*Hx$3fw79Xqb!dJGN=avn%SDU-@4gLaOi}#4PkT;q4!q<(1 z?&kN_w{Cbl93*A|R=pj+CJYDRZ`eEon^+E2+``5kUhNaJ$ z&!LaA&-Dx2qxTl#tKkdHYw<^+HNizUIud3a!8G=TS5GL&A}B9dJ?Jn59fBAAg~fDF z&N!j)^mdMp;6?=Rz^`qSOQlQkZJge>UWi`nUYYKuXk+ zp^_bw?iXbJL^*^zWIMclsCn4Blpj0~@1{{6Nt=1PD_oV;CCw(L69e=`MUVpIDQ~NJU?iq0mP2BMCOq zQ+aeQWA3o@yx=W4Im1MDCGk$Ujnv!gY59f*D<119DhUe%G8pbBye8v;RS}1y%-+>_ zePAHeF{CRTUp9K0N_HdHar()@iT$tR`s)1=hjC6V2b=PrUuM6Y?{Bw0wq83RmaWar zA7RXyUI|@cUoY&gji~L&PxyBG0V(O+$~Hyx1@v{c()w^jsYGWZ_^9y}DrkLjAG{=G z!ds0@serW9-bFX%br(#Azu4f5sOEU`Id$+g_;O!PVaoD43^WFJrQCN(k~|y08XK1z zm%o-dlx0;s)p3=zReHEaOHYiXv9dOY?jX2(jQq;I6fTBe;~#fT(ONUuB>vo#&j5uW3(K8$(=pma%vs|#CY4E zM02UEIXZ95o6gf$b(awo_-ek(_UD8Y<5aOASa=m(TFh=1k;yK?QTM}!5DcS7c^a>t zUZ!1E$Gn%jOI!~DLX#P3xua}`E{9@e{EJ45`YUTI>$RrjB+@TVf^a^*9I}9|iK??| zZp+WP5zzXwVracjZX&16cDX3Yn!qOSl4+IUmBU-)ZS%~od{tDDCM8pu-u4{7DZV5= zDf=U8@`;Q*+dcYpIL4GeohbeCCMw$$A+^;}wFhXj5IlTEpvAu8 z-sFB4K0Hg{YmC4+%&@2C_jxa3~moz1KwY(PV1kONon18TYaV)d0k!1M}MA9 zh4OYEJo4+Bd2B7!WfNyPlrW z^W#2k&BRjkaXr{y4tw&CKJWDN{_=D=#cR0F^frHX@hW?9T6x=f)k361uzHla{FNLy z3f1hBb@g~BTpH?vKgsc;ySQ0}7_)=_xMQ|8^Ex~hgU6@q{jw7tPcfNQ!SBBN<+_xh zJLO?8lO7BFWIq#-sp~NGE;GD1^VOCo-Ro}6v2`CIV=?RfN@y+koKBPO&E9;$xcG;3 z*XJjbiKHN!bM1+CkAoHD4c(`z+jj0n6W{Zv*T}{Es_t9i1w<$txK8^+@#|RM*M`la zsR=b-xhMDg$}25XAM?lE$y4|4r>1y)4lS?y^6roC zn9Iu>tO8o6s^mip^QKtKX4w7@XJ-{tN%U@cTpJEF?(Xh199$0W?(Xj1xVt-zySuwP z4K(f!jXMoo{+Uc>G7oc;`%o`c$*xKzwRe5rUhB8!d-PZ4)dFg$TJN+)HnXfA2INdf zlOth|wx2#3sQYP|86x>hjMz|OJ#Y=fF*K-J5Z1$OhqneF4Pono;6(6+sP~}U5O%}q zR%9>S{UK4WA&fp$2NQ^K5Bz-;0Jwr^%;1Q^fFwcQbeIxI%>3}tKGti(0VMN2%`Z_X z)V3qjhcMh8W*d?pr28*`OfW(^1e*arJqXU|8@nJ`HjE}W7Gu!lu30e2WB=FfvV*Zu zBA+p+zMN%X`QZvc{J0_0HVAo;g>cOAe#oWzW^L!TWAFL=w#dQm-`!)9M+FaR=-`LC zPx}B6&A!ogonPKo&~R1B@m%LA;MDVe^q%TpOLJ_9v8Kk%01xJJZ3))g+llg`gFo|?7(c(KkA3QlKO$6oDl|^akuF{o#1#Y(7REVi zFK$RbJUb6aDuW9x`B9!@rW18c-iFsDp z!`j1qr$cl&a>vX}x7S#i5D2^MhY0mXfz8Z#>6Ux5l;ZviI7>MO3+{sd#3HJ9sJk(I z5x5VBX4NI4hYDeIqDR7uo@#-?i-@6&8gp_&FQ?K*efACZNj4c99UC3@Jb-Xwd!g|R z?2^$V>7}Sm_%n`oAb&86E|-8V`$Osd%QqI{R1Bj;qQb(Fpe2Y!ogdr6X z)X}nzj824yz<$rvJEdd38GUYj$DXr)QHYnq9dmFUkM536j*d6(@GhvG!EM3qqHUt> zLv6_&O&#vL((H9>+I8I9cW;v>3DN{~KfZ&bGLnjYkYgy5EkjxlEK`D#7&p1O8llCZ7^x+R#_Cg&@A(~{Dn(kjzdtn1Wc{-D>Y>aBM%dcU7; z&aRKI53f(JZ?6C5ozUK`zL&crJm6d5UGJRo4t~GJ3a+tRTj(TI7;tTBJw z8~vl_vU$X;Ql2Wm_1Bm-*Q*ze(BPK@{G&dM&l}e-)5o#1dHg?LAh!K_AboOt#d_>| zE_=Rjf8WmUVd$aU9`(g~uDRVj=^T6#*$(O{_36Fm`|CaORCVRK9o5tNFZ&+uWL zv-Ll^f6X6DA0q!s-`t*n^{)h>!l1Ljd!ZQWsdQ|11`96~Ja#q1p$B7Jq35E%Q2@4Gk4HFL)4;u-U65ba%%#X;AoJ*ctoXecc&mR;4g~lQi zpz&}v5kf1==I;wH4Lgv+ABk|B$^h~dX@6FRas=pXb+$fGa6h>MF;iqew(CS@aKBa0%dBxOiQ zBFl@?A$;*V7#ZUt;{xf$b;Shox0aPrdoGSq>n;YC9T%j6T*a#+y*SRQ%iIgy#C%a6 z3>QZgVGEJP2qJh0U0Khf%FgFSo2b{AcxZX}wFq;ttHWo)XQF3fXJTfe2vKdL%?ggi znPT<6ceB4jqYE;|U50-!zn)_QN608yCfk)yUK6 zT`AKLvyrl~vhlJJvT?nLUoosFGkO{#jCrShl)7lG|6^1;x)uA*hCJdqiZP@*#4+4F zG##mp@np4;+2-n4J8B#4&1UDkk=iD|k32*W&5QmA!=3%oW#h1o&T)H0H>#7+o$PY9 zt(ROdP#S`w{(A(u9%E8Sr4%_Vde){Ez_7r^~;_8|!`jxSwQS zGn4j>_P+b@Rm?WgPv#GYfAi1#H&}a2qxvzQaz`|GsUef3rYsHInicdSsWg*`DHEZS z;^S7PJQ<3ds*h#S3DfbLDNkv<OfsTS;2UvQo*)W~SVGEOZr7 zC1O(WlW=(331r0+QnlMeF?!whFdG7hs0OAe<+ zvPCvVB1TR|Rz`M?6K6=2BoZXPQFT&zQ@l~WQGuvNDWsE3$Ac2@5}U`D#zhjtD7eU5 z$y+J46R9ZWrOgt}DQD$!le!pQlp;Y=22u`E8d9QCQc_wIzmltxvy&}p8kKV;H8UIN z4-b=Pl9y<#m6nTbGUwLCOBl%7ye$x6Fhq-<1_v3{z548Y`ER z%tQBZv*=m=g`@Qy?P%3yPN-v)OR3^6S*R9PNOH(66=arWR(Z*A$Ug*I zC7fw4DJ`)sNmo2n5L7@`%&O{E7*`}!FsYiW9IIfdZkPF~zn8z#VIAzXtJE0Ved?6z zDAs7(`PgaJ{BU=?eB5BODnnK?FGpOWu!`vr=F`zFU9QAif_d<8jq-~0%FI-pRhdJx4uFJuy91J>#vmt|Oqao^>vTy^)^x)?ydvF1;)5c59qB3vfqvD}Aedmp8Q? z-^=jR{G;=w^Y-b8XhtCOC+TO@zuzzV$9a>z@juBv%|4i3dJjJnezx}25?2T+5z|S~ zD_|C3nP8e=SRl|Milax>cm4>+4HOOJhbSZHGyW^PmO|AwwG=sSzpCn&)v@5%w6c=;3((l zdNa4TJ4_Y@!a9#UkHU*W8lD~=*?SqbjsjqAQ#&$A(&6Z`Rv!!}s#4UZRMB~Mn^=$6 zByLg=rCl(r>fdUPA5(-$&m?ElwQJnUj<-_$ks^@hlYW2?u1r7I>Vu9VWJ(^c=tzn@-cm1<47q<^ovSFlt+ zonP25E|uz~eebx}IUQb@H1*Jw(A3jZUJY!JH65L_v)teS$E~MSL90oyQewBv6w0KJ zkt$q9w}@mHVISluWH)Aa#qBl=J(8R@ns&~_Vz0H}VXtJbwQ8|)vv9NKUv{ySv*?-2 zUe5lbv!FBYQ~6SzO?#z(sdK4ysd=e|k}OVP9OHZ^sD z#|qXWrx0-WA^(A6p*X|K_P`VCadd{!l|IL#RQhjI4^RiL6dk8?Q{PP^ws{V69-S zM5wT;98sOF(o%ZxTDq)2Qx#C*Re@ETtZ=R{SDUT$t9X4mTUx4B?^Wz>_p*NIT)I;K zsqrrPuyw}Ek;`$zF@dWpt0!wHD;ZN#(oj+%uKrtvt!G4oE#J&(dNC7Zy^{G^iqPq4 z3I?{%O&CFOSW=YYgegT+yrCw=5axS$NX&?wyX}l3D@tx%d{AxLtYx96CWXvcAl8me zGhAbbEJa5X0*O^R`+2PyZbAkT^(>6dA|<`mZ%*sG77Ld3x?l6N*^I7*U6=Po>fPmK?!G6=`g(h&db=rl zhs}D&LbXrg_P3b!53cfWEmyBw`c^3)xN!gE89x74>`iL!5Q%`)SF-9C+3No=ul{d( zqr=w~yZiio?{;>M0bqHl`=5%v7_?)Z!98QaNSoA>L@?p$I2-5+V5Kn<`eNJ@{RWR25$aQEJ5S{&m*VrETK=3Un`+!ypIpqKHFV1_^H_t5}ztwX`=H_||^G~meohG#&=E`pa0ZZ1qX6NI=U z+y>qm&Odn6aMAbpZ%BfW^9l!{8wp&uLVnaxA*4T)NHHRX;Hhye6=us< zImW_e%1|>D*%}JUEpRhqkMf5ta5{+i!k2$FTR>WgWzCs2;qk@ff|v?|PE=j6354u_ zam~ZKe9sZWn!`G=c7gT{^Ai>*+@5oV_#XZ%!f%LpAm*9`A{@mCii9dz6ow^sjJzS- zhBR!9;x^o;z<&;PKLSBmUgbN?fW+c=*WeHf(o13+QAC!UbfN1ZBO{vnYz-lxAW#M< zTt(G_<{e%d(f!4kBH82EbKPV9+ToPy66uo8CgmsQC*!ALMAb*p|1N+kfYyuhCtP1r zf;5qWK*HRK`&6nU0o;TbM-(P$*MvMn+-ls#i9SOpmW*wjo;7QVWO6*h1iGAxP7-oe zVoQiKNqMaNK*kAkJOSA5uOq`qk(P8m?&d_+p5l|dA$dtkM3qPUlsFsDl)#i!8(*6k zHb!>fc*}6h{sR6&;u-ocxJ%Ga>Z>(K(o6NTfLKhC{!kF9AXL#VnfFloKMK;w|KOw& zRK8(I4=WZ@a}?*ZmebQ_P2{^QdRUQ~{;DYRnh<69g{kbW{G>El_Ew(qrJ*FTB6xsX z5^q-4E~{QdwxW8#e&Bv!Z%$hS@yX{DeNm)}0O*gJ7|=9XaV z0^X_Yz27VJE7&`!Z@gcGUxr_ZUkblyuQ*XL?+MyH?0wih&MWLI=#}c#{1xjJ_nqz? z&o}2Ir>7r9M!<}iEgarloY{#oFv0{qI#H43i@Cv;7-626fi6BBZOocMUlPi~+AKq$ zJe!^_Ib~83U}-WX!^W1A(LZH;#OBUwo#8q~Hsxgo`Fo;?IiTII0Nhl zjss^e%=HYmOyyXvSgzPgGXUv;47MrIl;)A~5yTzE9l;&n`Ou?zjwY7c2(kfeL(oe9 z7tD_OeB`wu-v%3R#%e`{GiIsb^g@F(h+x#LLDPmaYc{nmr7ED>=v)(xHzH?r#{9|z zs}6Csb4BdJ=+W+x&<(ybxjRjFWNVbsT)pn8@q87@hHibNr4esc_QK2!_Km$W%{SCH z)i>5R#5ct^$2ZP5k8j$q&u=W(P{5F>F0UbNh3>-rA`Uqia=(v<8v{CB8y8p3|DzA5 z4GaexDl~R>UQC8lt~GV{lb6EHQP4H0-^vyevQH4%Q4|mRTd2YPAUC556JmIr{QOW6 zweq25`3=jhMT$6`dg<`cgmQt(4GRlRJx%5ccejm$xYe46^qq-yQvO=HRk@udd#3GU z>ZU&t+&aWY0PHoCULW2wn11Y@MeMG|Ou+f*4?FM=Vlb#cVjXHIC?`1}{&>g@GYl5q zREQ&qm!{GzCIXTwZq(|sjim)M=lMR!s=2(}5~1D5Bw34)APbvXB|_B!mvYoT0S>-Q>0Ynv6r3tv0kGj**MX-K{0AYDy2 ze(?a&fVg=B@^J8aV&tJ9s2YLesdfieJ20+zye4R8dv*y3V?oxBl94XFfo2Egw$tbJ zZvj!P8=*B@tQ@1v!z$)|Wbug|gvyyQ9{7+BN(s}81`Qd}%Qq#s+TAMjgEqDU@u!+q zm1c29!jQU4RC~cqxXR`fux}a-LM(9W2u^~GV~{Vuz)l27sP{sh2HSSC>5fO*oe8s# z)tCvB{go78DE*z7QB@rDvbnJOhaGTq7`X!25R7quv2pI`;aGcpqwOkMQ!Xk8T z+t6u{pVq!zB9U4=G0uWEZqWX*+xY|l(5^c@8_N0qy2M&-X=1p5yf_sWGhv2!`j%i3gM~8eFmAjv>c^cX-hZWwERk%kSs&`C?w@e z-O58r68spIo}1~X>K8(3fdoS5!g%+y?Py-(ufXQQzV##SfO#ZD9qzSxFa}5;h&vXx zliPhun<{oVBiNz1X8q_2R`62`-O3Y*#OOdB#sc* z$>BHWzYnIy8smNoJ|BS2p#%4wbLpFoS={RMH^V&H4i5Dyk zTN||9j|A5SWXz-6als=Agd!)|LueL3S-s3%A7Od=KMbf-f8;NedCxCtUK7SZ=X76yec9F2xa0A*5n!Du zerl9LrV%0Q=4a_0g<@4O7kUQ%{?$i)joUauETLEvO*c)@H&fBTi%v``VYOfKx0sUt zWSG!62OQB%TgtULT)9dThpuWVa3I;dJ`;)*tvZK}UStK|Z8Fdzt$&cu2U0|wy1*DM zY0(nr2lPJGN#!}-r9}p3RHyTN;$fv)?dDv69r8?wER41<&2mNb?-8T<#`?TMy`ALcav{{36`a0;ai`=aI5NmgwzI#5c{Ti0DbXS(m9Z zv0@GLszJQ0=!>!G$xpofSDd8ZNLEbrw3lKv5-VaMIc4Sr>C1{rT91ED0YT}0?egnG zk$MMjB^&H#FNN|@l-}kh5r)~NjPAH5RkCZc-CAogjS@Kd_xtgL^YehW z=;~v9a{GI46N1i`r~X^brnlWJZdabWpEL(TMIgrj&ytEYBt16Rh7eTCBwKwm2f z_q`VLfXEHfAF$tff+IC&hl9>fpoX_p;Gq>QE(4zybuSn`A#B2}7V(|~zvtnJ-4ZsR z`*9B`^!+^|U`Syg4~|S6MT#_K4)w4=x+NoBoSq~V4KIQ!{5T?Li0+F3TRMa_ycLF*kxL3YMypOuCyf=K+eeGh`gmatOG5+<3=ryy< zTUh?2I1SqHy;I0({h(z9SH{e^ewy&_a7{ZVJVExy5dOUi3Yk{=YOR#iM|bUlHHFA!Uqd6 zV~08%Ziv+s`BIWq*gVBzZ6a&db#F=nDN%dwNaD)eAD z&NrG%n~F!6Uijcb{)V>Cz$p>rSnN|_#<8leR+wCJe8`Tt+oiM(FcydW3XocxAe>iJQn<9EHTAI6qxo z-HdB%Wn5j{o)xQi6e4Yfv@+MFd;ZfRqVJ||@iNrkRL3|C4?-G)56(ISBfA|#?W?c~ zbGzd=VbXy-7u3LGAJD3a=oEQ28q&{fi|^{O+EsiyQC7KtBT|)#W7OOs(ABj%vf0$N z3Q+FsAfE%=$lFO_{;BOAqUQ!tvt(thAsjpX4wids(TJJ$oF36KX5;i{#};!y z7asw3Ol8R0A}!zgDaYC176FN#~Z5hy? zXPo|inOiVm<1myYWl#QNV>JY$ood)oJRBq$!O+TP^K;-%OTqCgRK+O@WEd^)-1-@Wy1|tDTwC;8OgH2u>!vSv&|65Ey z#MQ{1!c^rMO31;)=uR~`F1N!=T3RG#CwI)+(t?_KD*y=wFEqwsE$}a&cba^kGI13_ zZtzu~dpm3!Z2QvRYd!~z+#|xhhIS+fT3Cc^iF!9qhDfTZZN|~se5nI`aqTmg#{78| zTls{xdzP*?c)!4u_`7R}f63nI-if?p1p8b2oV~CDVQD*9*U~y?tp5=FkZKM14r%{k z`oZ>o!Apqhr>ahYL}yOv@YBcPrK~;88XNFoGy^a=hRyJMmu7Gs8pCL5j9k@vM|PKz zr;SNB92;mG`x}gx_3pc~*H|7%fJ^mfye{OQ zVO%I`d^@yLz_)t!)M720_JXYFrl~NOmt#cwy&3D|1;=S|dO`1t2M>MJ^c-#L($zwc zcAM)4ryW&ms&-MDnA;CYZx&_J6<@-+!x4;9fa0|gZvkqM#wBV^%=(xue*k_08sQR# z2X1?^YpWXhBc!t-Cr%EcB7bx6AZR8S|+FFofhVy+d zQmUtxrP!$=wgoT)%k#u8XCldt~J^xSK#)lVbzGyparqx;e8umq0!Uo zY_C>QSBmeT28A7$Ar-?_x3M>?aHLm|RUAHui^SAXA9Tw>k^itfHW$sUpE0nlm+E1U zp>}#}8Z8=Gm|u~Dt}cbb99alu4PJhm>J)3smq`u*r9t+Jcv2I6jPVT;^cj00L`7k> zW7&PjTH&N?_>yROURu7MwA7vPx4Lj{b{CDEP;D5hZ;LK9kf$yFEU)k za)9OzM9gY;saewdnW*topGaCtiyYH1!Qrj=P~n=00k)p3wPdApIR+w%d;jf5>m*yZ zK6rz6Mk}FXcu~Rm9Qn3;>|iy0+!-}2<6qm@K^k*XoD;~-?AFJ{94krxSnqQBpc9&M zJ1F&6@dn*S<6x(o@JTh;Ch4sm-q9v<6WZM+LxTG#%axqt)z(xe-$^~= zR?flJ$#iEo#8s})Y{79GS9@!Ftew9dD$7%<{|_P1DNFjb9jq)<`s47rh|xmC`t4)c z*t$FU*4c-5`6g()Bg03<ixeY$?E%~<_%D1oRW7uvR4_CyN(>f`) zMz|x!+xSamQIvOhbJQa@)Ekbc47j^2F({UF>;(=YeaF0~OuzuaEbOk3$9KIAic7@H z$zB@La0QmrTYXg2oHL$$Qt_ZVTTygW*=Ta3a1GMfaH{X&qDJWMA#b6b6TXwaqrS86 zeeYxML+@QN65q+VAmBOjNtA9rwNM7$NnaTU+P2&AfKb90=m#)}kv-Z^vD7SV16Fa) z{j{sq87nPgobV9E@YegjW{7cL#bmc7*~Ju9DtYCs)Wi% zR*;Wwi26?E`&bI1>2G!GBq?rMVJ@ilHAUnJSzb^e>(H?~TwXL2QN}ExfB7CR>`|XW zy;tLyReb#2!;wr;DtTA_#}nNX-iOXH=Va)lNkjhQOEqalF`33E%eDj~Tm~O6vf1p|gdN*JWa$y~ceL$Th}pc^quUR#oeAU*lz zo}mCC&uyImAjk7$fnnS&+tb z5^SA8D-p#4Y8!|#ziqg*0e^=Wjar#ITj}On=M7=Ejfc>Pt5Q6&!-BLUs64qvU7+_6 zbY}?WS%{|}z7}1)8~Pi3K-leE;iQ1@1r>5&{@<^d1@JvFLgf8j2f~gPG^PNQJq*GQ z#~{y>nGm@lmCor2r`>YiTg6bKkmUv>SF@z*;t`ECXthrhWmEZD0>@~N%G#r?5vOY? z03Y=Du_@qt<68xkebP^-m#A*IZcx`Y9d^`n{4-RrE%^)z5vqAaoaf1;hyda19kT(M zV=Oly7A5bNIX=u#hX(+1AfX7nlQ?lJKN0xelOkzHF}_bW0<(&Xy+)+w_QW z!{He692zDB{B~pr2N2;3L}`n(=o9v3ZiS12kc{ob!poF3a!C-Bi(aN-mPr}dsoOZq zSw9__SJe)_Cd|{zFanouWLOFhDJ>tTj2zByRl))?KhAuJ|6>F@1kF;0b%&x~`&`-y{x zo|WP1l$`Q)opoY6X^?l`u9cr=pYoDY6FB&X4Uz_oczU6(rKt~|8|U1u^0%6gEd*V z=N4J-nv;;AMG7>Ff=z9}&skoiAG*-UqBpZKHeS~u6P1*j;nu`bgDgL(V6pgW*HSv=^ zttTpTgJz0llO~W3zI^sn3!~y@(UU`KY`LXpW`*rpDx&3uMjTGIT2@U!ezE*yP%-WPp;ip5I7VTFdS$`>ggJuF$Rr7m77HGLnX9&d zYq(`YG@l5%LxzP~_ZMEFObj7TslsFmOTCegpNqar$_;IZM{a4lZ$S}zgN<;z-q9MK ze>cQ)xA*bGMUX}y9(i!@=dRU=Q|+jw>Tz500Bc-KCA-SK-LGm^#S?W`*>>#0SQ@}! zav|t>Xh_PXFqzC}49aCG|I9yE}C+3C>!>G$24-PC} z5ZXuxCLO8-9JvbWydSd;@d6t3wg3428JuSze-2Mv5L(4m4-^%2!;BgmYWxegM3?~| zku4uyYX_kX_Y!lKW~LAETH1#GN5RJ!G?L(80u_Rgl!||(0yJxZI6Km`Xyd#NJ76;c zvp~!OXDt-@SI~*+J#9y{?8tU~1_fCtYE3Y2OM+5_PeE`UDgdQ2A}pd=gYSe`4izgx zdWdVN^@~arSM&{W5{@-NrsFiZC;y3tFJpR8Lvfb`6n`7B3BIN=)Usa$SBDr+johJpO79qw0zfwo?0_T>?$EGtpo}N_5!&4WD)H0g0q9oKSW0UPHQ37*MklsfE95SRu{R&hrzy`WHZ$M#j2 zmJv^CG3tKC#|E>2pVt3^mL?{NZc?UFhC|IAu+)c4mFCzC6s#!W)VN6{R$*T)!NShE z)?>&XbdjQjPaH^P@W!;Qo@;o-ELr){?1~!fYUU>vI;n6 z$zyO9~g$#LuwcfaO!|$#PL$RA(uVjD+32Ob!-R@a0Sv2d6~5;2ittlCI#Y`rrBmu zV(~pW?S|DIlK*4!)iM_SEmFrTUMUU}0a&TPAs`B_M*kxD(H7C{2a#KA$*7CF^Gnvl zx9J2I9D`{Uft#F~R)78ldtEE^e&p@w+@46kj0LUp)|@Tfq-VVnEOlYGX~pkYVN!e+?hregP6BY&RC#1i3A1-|eS@@wYOQEU2jI72^Ui96 zA~#0APy~u+Cnx4G&VDPgAvh!6cQjS8%NmN?#qzUNt3-yK>wfVX)ADDe==zF_NLv>q z=*Fe{DU)-=<2*`N5;Pj4V`8tOL1g-5fY!v?I~03lSEY&h%Sq+~yo0PmU9Z>~3u~%v z6uapa&x+`lyOmr{{uWlo8lPYLW9O+rpL zq~nchAx|k&9~&yP3$k_zzxgL0UCQ3?poO79UQyTc$Eq&crgsKFR_EGBzIh$d3)_qK z_Qq>Y7fFlZ{x15i5iz3-iA*%9$BGe^`20^(Vikdj_E~Xi91cMn6I_7#3LXwUJ8N** z?@nBtk2KtyUtNM4bcf@En$^i%faCk`+A97{WpyzuM*> z2*$bb*<=phQS}? zH%5I6iyF2MPsdJv??yT_EWlY|o1WCUB>uW}Hv&T7a4y^R^4>!B@L*ImdJ83{Q$1e#AFskPEW%fSBey@p{)vTNb|`su&Xl$ zH!Aezny@AZktTJGHWjx=R-mr#ms2_LEk?ro)BXlp`9&pQ2k~Ry=;sM)2|{^+UMGX9 za0?D@k%=(irjS$)Q<1=0=u;8V z5oA?Tl^kQ0Uvlk00U+AhwIbx7>h2qC2Koet;d!i#48{OArUt8d%PbdNtYA2jGR3A# zjuf0}V)x2D(P7>=3HNyH@2>FyKX*{43rTaQj5!<`}1&%X641ppNdUd@(b$}3ttuc{7V;xK7l)FP;?Mx=VJl!fV}ofP&#VCb-Q7wca7ZM&_)qJ65dm`(qz*KMB^5YxSSPr1wl?|B zVa(5)+ul*czo9q6op;v~RC*Rn(O7F)kEr}W;KZQuf_!w^2dn$%LAai~>In*ujwm7l zWx=6rG^Q3~!C|%byl~TMWw`}OLwIaK;c3EG>X-EB{EZ7ljzrv^AuK@t8U>H_>iSxj zFn5ong>L(J*OJh$F6J_lrGSG}s|iAj|3Z8c^j&M_BP#VL7=v&;s_xJrn_Cl{qPRoK zJrvo1d~dIqt=`lto=*fE+0=b8KJT}I7kPCT9Bt#etac*F5yxmEchd(p-EMI z^om9F>FvV|wjUG##9fI1gkCs5oo1VkBsgOB_upgnvpmOf5_sqIM{|k8um$5xd@~MZ ztBJn$l48fqEd} zhgq*QWut(Qa7x#qj2kycz$Q>0LuVPD@*v!m1RSE~o;VQ3>?CA^P=S#L34x#qTbWZ? zViq`J#Z8FBgwMbOBCrTCFiEtyf(zn$1mgPnt${Gmd|(dQ#}F}&Mc#SF6h1s@qgeP5 z9Lla}_|Rj1JHKUZi+{Vk|CsO*qZw*rdV5xTnC1Yz>7{Av4RtOE9w>EyDt=@^NO5EF zEiTbBd4TMJ)2!V$%#hH4a0tay!auykI!s85uow{==Z#7H13cOWmAN4WRPGjSgT>qc ziI_+bNGyp4EtyF!f&4~g?vQwQ;P1PYXOx?;)1V$K4YTE(ejLmP8`Fuw$gli&37HuL z)z&qJZ=z?UXQpSU_vIk3WvOM;z?;}pcE&@SGPJ6^rP& zrr^ODhutEKdYyx$KEx&k{8QzjnzHxjJ$SYF|K2Uc_@*+ksgpbSFa#E&Pk!H(ns(ny z$y}!<7pM~y9EqEfpPHRwn&LQ8KjJ##x#M*X0-<@R%oIidD|QlcK`B7i>#|7D60l-* zWMHd;_MDh_&?Bls>xqf=<7vzw%+RDxL$&I!D9rf>=YDbYQZVK3N4R_`3eqELUQX^b# zsdv=fLBT-f)C2=bb8+)vB$R&!?h}E5V!@EvZA)<4mwP1XRM`_93tct?HF#F$NZN+Jl7|)iw-qW{&x2!(8O-ZaoJDPkeJTT1l%k z1}B^?0k$U7RUx)UR|Z*{bk@e&9_(QtXV0OV@Z)(P;q>u*4p6JFFa+3PjmMjkL)k^1 zmoq+NWZvk!(hgCEd1Fz3UExExIbG=O(G(1l_H<#ALtto**oEp?l2dtuc5-PJXzUpSJO(R67GBPFsRJq@L`<&dQ@+GOQqLeF-P%frbj{G(q z!!kcy0?a@2P|hu;^b20#PorB66I>B@!*~OGBks%uJ>6LRh*P^h`G~m~yufv1=!^x? zc{W9Y0M{o%hSh-P&kFwC4@D z5ujH($a<}uYlUhhEM#B22{TR+TWgNN_jJicuW@`Ky79i@T7a>PQ$>CmC+pkv0#xXi zYyVWJ3y^kYe09hFC`jZ>$$la9NKw_45AtZrMJ$Km4}g0Pckf&gG10gL+dG(c@A$ae z_8HM7~UI=ix!Zz1YRUXCj945wEGKGZ8+nJ&R}bOM&}SH8d}Q z6*}SULc^J@uw=xh^I9y3r+O>IJ!?@}Pi%HoXv-%T%4Qw;=@t7J{>>dop@ktYA z<6nYZ+>AztIC{8JIQ5?n(#>lyA~|!SPricLG;mCx2gKv1K!b#6WA046P(!?g1@bO+ zn~o(j8~O>9vWj}aO9x~m#8FaBtI{l`I6J_hMt-GJvA4Hqk??CX(cg+Pi<`%J6uWqj zJee|v`^w5(y`!YU-{=UZT7^RKv=(8QZ5on|%+ z^8Xg0Kee!o57NR~%Oo1dhYjqnYl*x81VMx`#SqRmJD26;g;AR@m2>Nq8nuk8r+w+}BsHIn@XNh+g!`Cp0E_}n!6!4R!RSFQ89<$+(`>YGWNkQ= zM`5jB=V5b*#KQs#|B5NS|JVo}r&R1Vo?=;|T2j@J$e({jrA)?BfVaS!E!o=Nll+iy zK=J(%7Tcj#_xxBzy<+Ee;maN=BdlZ`;~i_hnrC5NH2Sm88IIx%HZAL9p)a*srDG!% z`abyF3-FBExK2y^u_3#1rLsAqID5___=H|tPHlkmU<@1mcXJN473WjBne!qc+Fm?V3Or5)T}{NogormB^%ZE#Q@LJE5Jc-E=~H!hGV?A|sXMom9)H z$H@ixk5Nh1V>i$V373VN&Cr1f%J_x&1z8UPZ<^8wLj_2h_?UW(PvaFc31i@F+sWS( z!`uiqqrr>dIq>K4l=xFlF{1TM=KUu9W@`L6{TAAqIC ziN?9CG!L=|gfM>=^%}9S8ceTnrIr?1AD&f~uJK_fs7`e?BYesUYke35th{4`Wv1{g z2IWIolf)o=%Skp2ajr?2fQ_>0{K*4Z0D#Nxi{LSjOR6 zeJ_2N*|pQG|8u6#BzjBh#*mN`ZNG_#r zDzE3t+#rs+eDG?C0vhFPi|iXg*DN}8aTz>!@vdGJ?dsB}DPciM&a9JEuhpNBgKtN=IG3PRkXB^h&vikGg!APU@ktlP=yE zTFU4_7BbE>$J?j%-tD_EV>;uCMmS<{K9w6qgl99%GhBTbq%_W_Wy5J1(pT-f4qem3!py=Y`Pt2D@UY}z_4@ER=UL~4Dctyw=zFKoQQ9V>gd+*$>XGL8 z<`2!|%qt65$4*+&eEfo<`O0as9OozZnMo7qs^ zoq0iQxML7mJ(=0HY}i%mCp^ztO6q3(sT%O|dM{opUMb!v-YMQM-r||Rd;(G6nqJr` zj_DbbZ1c=n=EkMHTlOd)@@^*-EkEl=c$SZPeK*jKS%Vt*?MIY~Xq1PSNC^9N!`QV%s!$1uDR9EiM4vmbn5{S?{$ zfP>WsIS)K0S0PuS)*?+kWJOYQ=+yoUl1F|>zts12evka1`^`x|Qw@`hl7h+fj}!^c z`T;%@A*3v15+_z12QvJa{kTXlRDiWv+j|5_InBDj>}cXtVs7GmVo+jz;yIbTJDmr! zXsoELXui_rpBZaOoR$&4OMS4E#hGL5dNZR8;vn*XH|-BUiK@h=yJci+=fo;F4R#6Jr8-35)KhadG08Zh8$Kq+<5@Q@DA+eZEtPwIV#10C0C{9ql%{$ z6VPI{BFmz_;Qv%kPd3e8jVAu2nE1j>^O+aR{{0MSK4-*O-V1{4asbO=$>VDZV|p*l zWy{G*nbweF!bWvQ-A2Vmt48QIU-^}aAfCZM9zKa0jwU@GN}&PVF|r7SKS zQ`f&R8X@i*kP`%_GT!hQ=~R?a5ZI=c?YZL)yOOz5;#g;n&m5VdpE(Am38B>SSG>;^ zkWm4xAX-b*&!z)56JPDESCVE+Dx&XU7=7R?L9>yAH21QpeMP)%SBwYM?@7~_39on0 zdJhsR;FP}S);ngqKGFohnPeW3F^7qM6ui~(z+Ca2@DSJP&Em9PMWSDP!-&AVi2EI{ z2nnSGUY!Q$$cSdRFqP<>wWqE~r<#}azm8>hR z3as`3ALfO#A5x?Ywhx|tFdH-*I2%kB@*wa*$O(D@PFd!#<6$fsCp4Hej%pm&U=TQ$ z#P*R%;LI(b$~zBAP9Im4pv@5*8hlW2Bt&8A!58`*u3Ns9RSzb^NZ9Y5#y8-itnCX6U~f_|eEja{s_igMn6#oHRD{R>oCIAzxwQOkSvT8DNvD;< zl1^mQYMJoN(;W=DD*y5hv^T2=o+FbZpQD-s%~8zJnTs28ui957Q+2p1AV@g~LI>wA z)6|C^y?SFj(ODCHHh`xu((o#4O1a>*lP@a2l{?_Yvglog%k}-*vWKW7>XNisuc^%?ojDC4SaZ; zyo0;Ls>1{J%<838@PtMOHr+eD3x-G+)55*#hsML=p$6ByQ_;z5YKwXi))8>6>v0$C zuJ-m8r8w|lJ1cD;^)M{U_I@bR88QqOKk6zmlT~!g0atAhL=c>rEXr`e)NIhX^38Zi zJm4C7?H01K;%2*Exk4D~8KS8yXZ97{j6NXfr!*GbEG-kofA#~<2Vu7Vu!*qo$|TUn zUJHA3b};2$Lm&&_(~w>n2KY1t1}X)P2V#%r9m5|*2FeG*0xtv>1g2`pDXxZ)Gto9B%F;2#)hs9#wN(7`iYq+e#YdAxcKdTu=_C~E+%s(FPs|(?h zezxv4?>8L%1g^As{=VvARVB5$D|J`vRL@xvFX=HJeyEUO4kq^V5MxunOQiyN+8Ow~n%y>Bwx!Y|HG* zw**_DtWcJyv^!d-Bh`>f%rRmdNVjy)baN}0iOlxt*IdwYHTKrHR{hpPsZ?qdD#0qy zlt(JT%E~IrstxKqYCNhu>O#pK$sMU3X}Ybc$$jB(1*hxsy)9Xj4O9t|)BeXT!aC)} zuZdq4*Plc!w)@MLFBfsWgtjnPhPw--K)SG4xEO162oZnTlK!Nyz01;*#bGg^CEg;Nn~ zzRtX&F7Lm{7zaFLmU?TKX*(5>(^mbN$MqiKR+3B@`+{b zdGpUr`Z2{KPD=3#x6k`bCw1#c6?T2 zc5YlQo$f(hXl|!jX$bD_D=ytcd=Q*+Z%lTp)XGxb_j zlU<`-{aZ8jhJ;v2u4fH~QKhFny_dqfJ@cM7^grLYwbalZkV|9E+TbHp!cNGWg5*NX zed9M&mkPV3O}19>7hIiYUKWcxx{k~=c?&GN%@p^lJ4rWf2rf_d zW)x#aHzPdxmOWT%8J`GCH1RdDH}N!aHAzGGAtDf7#AU$5!K^>|ohN>2IKHtY3KuCY zRxaV|vH5QO;A-$Z?sK`cuk9xLD&u_5yzn=~XH5KeugwqZI`i-b>8S5!K8l-l>-bd$ zd^yie3MPs;ibHgi;1k*d+5@@+&;dBDR_OImtx)|$@D;x1<0f=~cLT#PJsln0@m>vk z_=oU=xa0b5t7DqT4&ciI7SUPgX|w@a5^auzj2m{8qQuiZ<(8vRa?5@*PJKFPgfnK` zr*k8nP)bXOrlW>9^EpEnxG5nj;C4DI3L)}5;6H>EjI+!__Iv^cvb6yv{_@ddX->WH+mBl!BY-@RP1pBu%-S1Ue*oRGF%|2jvge$Mh8diX5c z)v=>*O)drM1u6#W1gZzZl`aM5a-?#UnP@3pRkBj@P*PA*3d}K4sGB;9GV!VV_@wHL z^3|xw%(J?%T(pUKUBZ(ZWFt*^H=L$Ji({DI{(Vq#!_xPs5MO) zb8e%|=2EO)ta+?@EL_)3*ICy_SGIdBcUTaqYZd!eMMqon;)~3rOmybkMy-p*HVWNS zxg`yq(FKvV+&wqmmfGla8=I;}P4ju8YiZ#t#3_~T8q?8waD=zE%j>Cz z!&CPL4#yrl#l`#ljq69!W2nfIsG5k7b2`y!k!jJRk4GhtcbLE9UY#ri9Ad!F}q{nK@yl_1REUoJUxL>Zu&WAMkp8a0Deq$9eQm%gB zSYY77WtSvu<>oO1&c`t^qAh|BtCeY-KKyeE_jRhqf^vf2eCEh|-r3Ts3i}NgLNx*^k=xez9GgsaWSye65OT+Xticq8;vg(t} z3u+z=-nXT$v!>H@H7tgCq)6RheHqflHK91!u+X+R34FA6l!uvnBvLmroQDAh&eqpm zy*VNmX&c$YHr+a11Um2OJe_Zd%jmeNOaDP3oc=zRpZvOZDU-%mb z%x2H8oLHxl@xLbbgsm!3Ao*k~)k%L|xyNixi9&QIs~K(l2~?g`I7XDts!obdhc@3U ztBkLP1sM}L>0Idv*&YQG1?d$q#f--~rMino9b7Pmbg2xqJ~CyZCmoj&XodE;hP;Aw zLtZY(6+?@?6?@^~jC3qWy`d-h0-c1;MW>@v(Qm(MNfx7X(67Y(L@r8$?kvMU(lb{ zUoQ1ZD&J6p6~+o>g+IRzhn6R8-d|&w4C#8FDGl>QZ>ntEUkhH0o`7`u8hn@Az)|5Y zzQfq(43_w_GWuAqWDP2?TP2?&y-01z)H&8U);-oY)-#3?d7G0n_o4dkBgIqd=Y5*p zUd-iHBTo5Rt$&)bV6kB_bGcCROs;XztXS9Rv0%t~u2^W}DW|8RHNZzVg`;EnzKJ(# zI|aL^yZgJpjTLGV0=lyx#@45KJ=Fct>Jj`o{6V}te)JneTr%{^8s>#BqAB^zx9@{U1TYzC52?!KL3Id(mwtlkTwO_9P zH$d@!Cw)pWM_r|+uK+={gEs8TPGtPU=Zg$C?<)6 zK?QPSqFewJ2#^`+4kR!@x{8vVyc$&g2Z4v89E?bTL7ewk^gR%M9*4m^m=*+*ya)mv z-m&QFVGu}DUgol@JlNLc$Fib8jAFnb&burNlmT=Kx>Igc+m@Y{@j11Vl|PhL36#4E z7{qy(rHM)-E?qNdphyi+>r4d#v29yA*{|;BrTPx9dHW&*+pT1xPFWL8)Xp_wPj~{9YGEP-DLxTICdbv1zy=MU&xlrKnI}*#LT?|91Q*`-R-&a z$h!g6b+Sa*Z7(oUqPL5kjC_Hyhn|SI1nYu#TP@_m4qRTr-IM<3A^awFVskEzn#7(2 zQZE2x&A1~33ZXqx2V4BxcKL-}4z`sm=MJDp!2bVbyZotB{)G9P& z_y=`RKqgTD0&)Hg0yED9k{Lj_4Gh*D2$JI4sM~p7`6bvMoB?|eMC6P(Zynn?o0h4O z_$eJXV}yyRy(7Zvk48%5stXvu;fx5Pb{<>d37|9sV|yc=_G6OVJ)^(yeh|0?w?|II zzDHd zT07Yr8JqqOmwA^*buVyS1^mH?e6yxbn7I?vgPW{)-rXa7~0Kjy>x8tK7Gr zuBK(ARQBN7$->Cd)MO{yTd4nn?Hx(WB<_XyS9Q%zoh@7)fy!^aV)8%Ue^YRxsENF< z)ZKaF1~3p047qIuPxd>ex@*$EARA%~oVtHpq-;|Gk(3=(Ao8*YC%tAn6@PJCK+`fz zYX2&r|FQB1DRaOMmw&*+p#KGH+Z{m7cLaG!XV)Nqqqtvfgx}kJ61T@Ja0#==HX$-g+$P)q us6#X--8z!}&L{o9LGQ6mejodmO(}8y+a@}Ah!`Iy@Pj-G0v#VAKKn1nORu5; literal 0 HcmV?d00001