Full Code of rnkyr/metaballs for AI

master 7cb846388d14 cached
22 files
166.6 KB
94.0k tokens
1 requests
Download .txt
Repository: rnkyr/metaballs
Branch: master
Commit: 7cb846388d14
Files: 22
Total size: 166.6 KB

Directory structure:
gitextract_r062yy9l/

├── .gitignore
├── .swiftlint.yml
├── LICENSE.md
├── README.md
├── metaballs/
│   ├── AppDelegate.swift
│   ├── Base.lproj/
│   │   └── Main.storyboard
│   ├── ConfigViewController.swift
│   ├── Info.plist
│   ├── LayeredButton.swift
│   ├── MetaballsView/
│   │   ├── Blob.swift
│   │   ├── CGPoint+Trigonometry.swift
│   │   ├── Metaball.swift
│   │   └── MetaballsView.swift
│   ├── Resources/
│   │   ├── Assets.xcassets/
│   │   │   ├── AppIcon.appiconset/
│   │   │   │   └── Contents.json
│   │   │   └── Contents.json
│   │   └── Base.lproj/
│   │       └── LaunchScreen.storyboard
│   └── ViewController.swift
├── metaballs.xcodeproj/
│   ├── project.pbxproj
│   └── project.xcworkspace/
│       ├── contents.xcworkspacedata
│       └── xcshareddata/
│           └── IDEWorkspaceChecks.plist
└── resources/
    ├── blob.sketch
    └── rorschach.ai

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitignore
================================================
.DS_Store
# Build generated
build/
DerivedData/

# Various settings
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata/

# Other
*.moved-aside
*.xcuserstate

# Obj-C/Swift specific
*.hmap
*.ipa
*.dSYM.zip
*.dSYM

# Playgrounds
timeline.xctimeline
playground.xcworkspace

# CocoaPods
Pods/

# Carthage
Carthage/Build
Carthage/Checkouts

# development

logs/*
tmp/*

# AppCode

.idea/

# fastlane

fastlane/report.xml
fastlane/README.md
fastlane/Preview.html
fastlane/screenshots/**/*.png
fastlane/test_output

## GitLab CI

.bundle/
vendor/

================================================
FILE: .swiftlint.yml
================================================
disabled_rules: # rule identifiers to exclude from running
  - notification_center_detachment
  - identifier_name
  - unused_setter_value # complains about overriden setter value
  - type_name # introduced with "CS_Assignment" prefix

opt_in_rules: # some rules are only opt-in
  - attributes
  - closure_end_indentation
  - closure_spacing
  - contains_over_first_not_nil
  - empty_count
  - empty_string
  - explicit_init
  - first_where
  - joined_default_parameter
  - literal_expression_end_indentation
  - unneeded_parentheses_in_closure_argument
  - operator_usage_whitespace
  - private_action

excluded: # paths to ignore during linting. Takes precedence over `included`.
  - Carthage
  - Pods
  - vendor/bundle
  - XCTemplates

custom_rules:
  rx_swift_debug:
    included: ".*\\.swift"
    name: "RxSwift debug() operator"
    regex: "(\\.debug\\(\\))"
    message: "Debug operation"

comma: error
force_cast: warning 
force_try: warning
return_arrow_whitespace: error

trailing_whitespace:
  ignores_empty_lines: true
line_length:
  warning: 250
  error: 350
type_body_length:
  warning: 300
  error: 400
cyclomatic_complexity:
  ignores_case_statements: true
file_length:
  warning: 500
  error: 1000
function_body_length:
  warning: 80
  error: 100
warning_threshold: 30
reporter: "xcode"


================================================
FILE: LICENSE.md
================================================
MIT License

Copyright (c) 2020 Roman Kyrylenko

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.


================================================
FILE: README.md
================================================
<p align="center"><img src="resources/header.png" width="70%" height="auto"></p>

# Blob effect in iOS

![Swift 5.0](https://img.shields.io/badge/Swift-5.0-orange.svg) ![iOS 9+](https://img.shields.io/badge/iOS-9.0-orange.svg) ![swiftlint](https://img.shields.io/badge/swiftlint-green.svg)

The project demonstrates implementation of a 2D blob effect (or [metaballs](https://en.wikipedia.org/wiki/Metaballs)) written using UIKit.
Project contains example setup and separated `MetaballsView` with the implementation of an effect.

<img src="resources/example.gif" width="100%" height="auto">

## Overview

Mostly inspired by [these](http://paperjs.org/examples/meta-balls/) [two](https://varun.ca/metaballs/) articles I implemented the effect utilizing Bezier curves with the help of UIKit. During the R&D process, I tried a couple of approaches (like building pixel-by-pixel, [marching squares](http://jamie-wong.com/2014/08/19/metaballs-and-marching-squares/) and some more), but due to the nature of the rendering process on a mobile platform selected one is the most efficient. Each time a user move a ball (changes its position), the host view recalculates curves for each pair of balls.

## Implementation details

There's a host view class `MetaballsView` which is responsible for building, configuring and interaction.

It holds a list of interactable `UIView`s (yep, it holds it twice due to the hierarchy, but in that case, it doesn't create any retain issues).

`blobLayers` is a two-dimensional array of `CAShapeLayer`s that used to display blob connection between balls. To be able to directly access layer between i-th and j-th balls, the array is made two-dimensional so it could be accessed like `blobLayers[i][j]`. Due to mirroring, `blobLayers[j][i]` should be drawn the same as `blobLayers[i][j]`, but I haven't optimized it yet, just ignoring the path.

The `Blob` entity calculates and holds information regarding tangent points and handle curves points.

The `Metaball` entity holds actual ball information and utilizes `Blob` to build a path with another `Metaball` and translate it into `UIBezierPath`. Basically, these two classes could be used to implement the same effect independently from UIKit.

The following image demonstrates the principle behind math.

<p align="center"><img src="resources/curves.png" width="70%" height="auto"></p>

There're two bezier curves: from point `p1` to `p3` with control points in `h1` and `h3`, and inversed one from points `p2` to `p4` through `h2`, `h4`. Refer to [debugging](https://github.com/rnkyr/metaballs/tree/debugging-bezier) branch to view details.

For pixel-by-pixel implementation refer to [this](https://github.com/rnkyr/metaballs/tree/point-by-point) branch.


================================================
FILE: metaballs/AppDelegate.swift
================================================
//
//  AppDelegate.swift
//  metaballs
//
//  Created by Roman Kyrylenko on 03.03.2020.
//  Copyright © 2020 Roman Kyrylenko. All rights reserved.
//

import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?
}


================================================
FILE: metaballs/Base.lproj/Main.storyboard
================================================
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="15705" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="BYZ-38-t0r">
    <device id="retina6_1" orientation="portrait" appearance="light"/>
    <dependencies>
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15706"/>
        <capability name="Safe area layout guides" minToolsVersion="9.0"/>
        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
    </dependencies>
    <scenes>
        <!--View Controller-->
        <scene sceneID="tne-QT-ifu">
            <objects>
                <viewController id="BYZ-38-t0r" customClass="ViewController" customModule="metaballs" customModuleProvider="target" sceneMemberID="viewController">
                    <view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC" customClass="MetaballsView" customModule="metaballs" customModuleProvider="target">
                        <rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                        <subviews>
                            <button opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="zQD-on-b51" customClass="LayeredButton" customModule="metaballs" customModuleProvider="target">
                                <rect key="frame" x="126" y="787" width="162" height="50"/>
                                <constraints>
                                    <constraint firstAttribute="height" constant="50" id="6Ie-hd-XSI"/>
                                    <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="162" id="wNx-J9-God"/>
                                </constraints>
                                <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="16"/>
                                <state key="normal" title="Configuration">
                                    <color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                                </state>
                                <connections>
                                    <segue destination="TF5-xg-DRc" kind="presentation" modalPresentationStyle="overFullScreen" id="raB-Xk-xfL"/>
                                </connections>
                            </button>
                        </subviews>
                        <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
                        <constraints>
                            <constraint firstItem="zQD-on-b51" firstAttribute="centerX" secondItem="8bC-Xf-vdC" secondAttribute="centerX" id="vPC-UF-RRu"/>
                            <constraint firstItem="6Tk-OE-BBY" firstAttribute="bottom" secondItem="zQD-on-b51" secondAttribute="bottom" constant="25" id="xEH-uF-qX6"/>
                        </constraints>
                        <viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
                    </view>
                </viewController>
                <placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
            </objects>
            <point key="canvasLocation" x="139" y="127"/>
        </scene>
        <!--Config View Controller-->
        <scene sceneID="9EF-uP-GEj">
            <objects>
                <viewController id="TF5-xg-DRc" customClass="ConfigViewController" customModule="metaballs" customModuleProvider="target" sceneMemberID="viewController">
                    <view key="view" contentMode="scaleToFill" id="hoE-Zs-dlb">
                        <rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                        <subviews>
                            <visualEffectView opaque="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="JZm-1F-Qw9">
                                <rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
                                <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" id="dPE-4s-BIb">
                                    <rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
                                    <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                    <subviews>
                                        <visualEffectView opaque="NO" contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="bN3-AP-hre">
                                            <rect key="frame" x="0.0" y="0.0" width="174" height="768"/>
                                            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                            <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" ambiguous="YES" insetsLayoutMarginsFromSafeArea="NO" id="SIO-QJ-C1R">
                                                <rect key="frame" x="0.0" y="0.0" width="174" height="768"/>
                                                <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                            </view>
                                            <vibrancyEffect>
                                                <blurEffect style="light"/>
                                            </vibrancyEffect>
                                        </visualEffectView>
                                    </subviews>
                                </view>
                                <blurEffect style="systemUltraThinMaterial"/>
                            </visualEffectView>
                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="EG4-hv-3kU">
                                <rect key="frame" x="50" y="247.5" width="314" height="401.5"/>
                                <subviews>
                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="GaW-dR-ITr">
                                        <rect key="frame" x="25" y="25" width="264" height="21"/>
                                        <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                        <nil key="textColor"/>
                                        <nil key="highlightedColor"/>
                                    </label>
                                    <slider opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" value="2.5" minValue="0.0" maxValue="4" translatesAutoresizingMaskIntoConstraints="NO" id="F3F-1Q-VUD">
                                        <rect key="frame" x="22" y="65" width="270" height="31"/>
                                        <color key="minimumTrackTintColor" red="0.16078431372549018" green="0.094117647058823528" blue="0.38431372549019605" alpha="1" colorSpace="calibratedRGB"/>
                                        <color key="thumbTintColor" red="0.16078431369999999" green="0.094117647060000004" blue="0.38431372549999998" alpha="1" colorSpace="calibratedRGB"/>
                                        <userDefinedRuntimeAttributes>
                                            <userDefinedRuntimeAttribute type="number" keyPath="value">
                                                <real key="value" value="1.5"/>
                                            </userDefinedRuntimeAttribute>
                                            <userDefinedRuntimeAttribute type="number" keyPath="minimumValue">
                                                <real key="value" value="0.0"/>
                                            </userDefinedRuntimeAttribute>
                                            <userDefinedRuntimeAttribute type="number" keyPath="maximumValue">
                                                <real key="value" value="4"/>
                                            </userDefinedRuntimeAttribute>
                                        </userDefinedRuntimeAttributes>
                                        <connections>
                                            <action selector="handleSizeChanged" destination="TF5-xg-DRc" eventType="valueChanged" id="FE7-pN-1nh"/>
                                        </connections>
                                    </slider>
                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="0Wi-Cp-W8u">
                                        <rect key="frame" x="25" y="119" width="264" height="20.5"/>
                                        <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                        <nil key="textColor"/>
                                        <nil key="highlightedColor"/>
                                    </label>
                                    <slider opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" value="0.5" minValue="0.0" maxValue="1" translatesAutoresizingMaskIntoConstraints="NO" id="Hqi-au-lkN">
                                        <rect key="frame" x="22" y="158.5" width="270" height="31"/>
                                        <color key="minimumTrackTintColor" red="0.16078431372549018" green="0.094117647058823528" blue="0.38431372549019605" alpha="1" colorSpace="calibratedRGB"/>
                                        <color key="thumbTintColor" red="0.16078431369999999" green="0.094117647060000004" blue="0.38431372549999998" alpha="1" colorSpace="calibratedRGB"/>
                                        <connections>
                                            <action selector="curvatureChanged" destination="TF5-xg-DRc" eventType="valueChanged" id="d9a-Tf-bcf"/>
                                        </connections>
                                    </slider>
                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="cfT-zW-VKu">
                                        <rect key="frame" x="25" y="212.5" width="264" height="20.5"/>
                                        <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                        <nil key="textColor"/>
                                        <nil key="highlightedColor"/>
                                    </label>
                                    <slider opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" value="4" minValue="2" maxValue="10" translatesAutoresizingMaskIntoConstraints="NO" id="c0e-nv-U6w">
                                        <rect key="frame" x="22" y="252" width="270" height="31"/>
                                        <color key="minimumTrackTintColor" red="0.16078431369999999" green="0.094117647060000004" blue="0.38431372549999998" alpha="1" colorSpace="calibratedRGB"/>
                                        <color key="thumbTintColor" red="0.16078431369999999" green="0.094117647060000004" blue="0.38431372549999998" alpha="1" colorSpace="calibratedRGB"/>
                                        <connections>
                                            <action selector="numberOfBallsChanged" destination="TF5-xg-DRc" eventType="valueChanged" id="dnZ-4M-i0p"/>
                                        </connections>
                                    </slider>
                                    <button opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="37B-Oi-SVK" customClass="LayeredButton" customModule="metaballs" customModuleProvider="target">
                                        <rect key="frame" x="167" y="324.5" width="127" height="50"/>
                                        <constraints>
                                            <constraint firstAttribute="height" constant="50" id="pqH-uh-atM"/>
                                        </constraints>
                                        <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="16"/>
                                        <state key="normal" title="Apply">
                                            <color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                                        </state>
                                        <connections>
                                            <action selector="saveButtonAction" destination="TF5-xg-DRc" eventType="touchUpInside" id="oj5-PG-Gui"/>
                                        </connections>
                                    </button>
                                    <button opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="o0v-xr-tJ8">
                                        <rect key="frame" x="20" y="324.5" width="127" height="50"/>
                                        <constraints>
                                            <constraint firstAttribute="height" constant="50" id="Def-ih-JrD"/>
                                        </constraints>
                                        <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="16"/>
                                        <state key="normal" title="Cancel">
                                            <color key="titleColor" red="0.97647058823529409" green="0.11372549019607843" blue="0.29803921568627451" alpha="1" colorSpace="calibratedRGB"/>
                                        </state>
                                        <connections>
                                            <action selector="cancelButtonAction" destination="TF5-xg-DRc" eventType="touchUpInside" id="avs-DS-2LM"/>
                                        </connections>
                                    </button>
                                </subviews>
                                <color key="backgroundColor" red="0.94117647058823528" green="0.93725490196078431" blue="0.94509803921568625" alpha="1" colorSpace="calibratedRGB"/>
                                <constraints>
                                    <constraint firstAttribute="trailing" secondItem="Hqi-au-lkN" secondAttribute="trailing" constant="24" id="0jQ-ah-m0A"/>
                                    <constraint firstItem="o0v-xr-tJ8" firstAttribute="leading" secondItem="EG4-hv-3kU" secondAttribute="leading" constant="20" id="1Sz-Td-pp0"/>
                                    <constraint firstItem="c0e-nv-U6w" firstAttribute="top" secondItem="cfT-zW-VKu" secondAttribute="bottom" constant="19" id="4xU-Fn-o5V"/>
                                    <constraint firstItem="GaW-dR-ITr" firstAttribute="leading" secondItem="EG4-hv-3kU" secondAttribute="leading" constant="25" id="6YM-GQ-fZe"/>
                                    <constraint firstItem="cfT-zW-VKu" firstAttribute="trailing" secondItem="0Wi-Cp-W8u" secondAttribute="trailing" id="7vX-Ya-5uw"/>
                                    <constraint firstItem="GaW-dR-ITr" firstAttribute="top" secondItem="EG4-hv-3kU" secondAttribute="top" constant="25" id="8uM-Uw-jcU"/>
                                    <constraint firstItem="cfT-zW-VKu" firstAttribute="leading" secondItem="0Wi-Cp-W8u" secondAttribute="leading" id="FTP-1y-qPP"/>
                                    <constraint firstAttribute="bottom" secondItem="37B-Oi-SVK" secondAttribute="bottom" constant="27" id="GiD-MR-ZgY"/>
                                    <constraint firstItem="37B-Oi-SVK" firstAttribute="leading" secondItem="o0v-xr-tJ8" secondAttribute="trailing" constant="20" id="J4C-f2-gsu"/>
                                    <constraint firstItem="cfT-zW-VKu" firstAttribute="top" secondItem="Hqi-au-lkN" secondAttribute="bottom" constant="24" id="LqA-je-D0j"/>
                                    <constraint firstItem="37B-Oi-SVK" firstAttribute="width" secondItem="o0v-xr-tJ8" secondAttribute="width" id="Mb6-kh-ZTE"/>
                                    <constraint firstAttribute="trailing" secondItem="GaW-dR-ITr" secondAttribute="trailing" constant="25" id="NI1-Dx-cto"/>
                                    <constraint firstItem="F3F-1Q-VUD" firstAttribute="top" secondItem="GaW-dR-ITr" secondAttribute="bottom" constant="19" id="O30-1n-gpK"/>
                                    <constraint firstItem="o0v-xr-tJ8" firstAttribute="centerY" secondItem="37B-Oi-SVK" secondAttribute="centerY" id="Og3-L4-fxr"/>
                                    <constraint firstItem="Hqi-au-lkN" firstAttribute="top" secondItem="0Wi-Cp-W8u" secondAttribute="bottom" constant="19" id="Rcc-Nx-xEo"/>
                                    <constraint firstItem="c0e-nv-U6w" firstAttribute="trailing" secondItem="Hqi-au-lkN" secondAttribute="trailing" id="RrE-gw-xah"/>
                                    <constraint firstItem="0Wi-Cp-W8u" firstAttribute="leading" secondItem="EG4-hv-3kU" secondAttribute="leading" constant="25" id="Rxp-6J-IX6"/>
                                    <constraint firstAttribute="trailing" secondItem="0Wi-Cp-W8u" secondAttribute="trailing" constant="25" id="TJU-KY-hfL"/>
                                    <constraint firstItem="37B-Oi-SVK" firstAttribute="top" secondItem="c0e-nv-U6w" secondAttribute="bottom" constant="42.5" id="kBa-NQ-12R"/>
                                    <constraint firstItem="0Wi-Cp-W8u" firstAttribute="top" secondItem="F3F-1Q-VUD" secondAttribute="bottom" constant="24" id="n8Q-gg-VUE"/>
                                    <constraint firstAttribute="trailing" secondItem="F3F-1Q-VUD" secondAttribute="trailing" constant="24" id="owP-ln-XUj"/>
                                    <constraint firstAttribute="trailing" secondItem="37B-Oi-SVK" secondAttribute="trailing" constant="20" id="pRY-3d-OdR"/>
                                    <constraint firstItem="c0e-nv-U6w" firstAttribute="leading" secondItem="Hqi-au-lkN" secondAttribute="leading" id="sYd-4A-VMi"/>
                                    <constraint firstItem="Hqi-au-lkN" firstAttribute="leading" secondItem="EG4-hv-3kU" secondAttribute="leading" constant="24" id="xfF-Ya-iDs"/>
                                    <constraint firstItem="F3F-1Q-VUD" firstAttribute="leading" secondItem="EG4-hv-3kU" secondAttribute="leading" constant="24" id="yv6-O9-zyQ"/>
                                </constraints>
                                <userDefinedRuntimeAttributes>
                                    <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
                                        <integer key="value" value="20"/>
                                    </userDefinedRuntimeAttribute>
                                </userDefinedRuntimeAttributes>
                            </view>
                        </subviews>
                        <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                        <constraints>
                            <constraint firstAttribute="trailing" secondItem="JZm-1F-Qw9" secondAttribute="trailing" id="6DD-kf-5I2"/>
                            <constraint firstItem="JZm-1F-Qw9" firstAttribute="top" secondItem="hoE-Zs-dlb" secondAttribute="top" id="BfV-Jn-9kw"/>
                            <constraint firstItem="EG4-hv-3kU" firstAttribute="leading" secondItem="BmZ-Ko-uKF" secondAttribute="leading" constant="50" id="CI2-YK-83z"/>
                            <constraint firstItem="JZm-1F-Qw9" firstAttribute="leading" secondItem="hoE-Zs-dlb" secondAttribute="leading" id="CWO-Uq-tnH"/>
                            <constraint firstAttribute="bottom" secondItem="JZm-1F-Qw9" secondAttribute="bottom" id="apL-TW-8wJ"/>
                            <constraint firstItem="EG4-hv-3kU" firstAttribute="centerY" secondItem="hoE-Zs-dlb" secondAttribute="centerY" id="cLw-yw-Q16"/>
                            <constraint firstItem="BmZ-Ko-uKF" firstAttribute="trailing" secondItem="EG4-hv-3kU" secondAttribute="trailing" constant="50" id="jgo-bO-gB7"/>
                        </constraints>
                        <viewLayoutGuide key="safeArea" id="BmZ-Ko-uKF"/>
                    </view>
                    <navigationItem key="navigationItem" id="Dv1-Ht-JYw"/>
                    <connections>
                        <outlet property="curvatureLabel" destination="0Wi-Cp-W8u" id="R73-ZR-xZq"/>
                        <outlet property="curvatureSlider" destination="Hqi-au-lkN" id="vIQ-zv-b7F"/>
                        <outlet property="handleSizeLabel" destination="GaW-dR-ITr" id="SBy-2P-3I1"/>
                        <outlet property="handleSizeSlider" destination="F3F-1Q-VUD" id="Dyb-lz-WVo"/>
                        <outlet property="numberOfBallsLabel" destination="cfT-zW-VKu" id="n7O-P8-RRH"/>
                        <outlet property="numberOfBallsSlider" destination="c0e-nv-U6w" id="Tfc-pY-9fe"/>
                    </connections>
                </viewController>
                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="JM6-27-JVw">
                    <rect key="frame" x="0.0" y="0.0" width="264" height="20.5"/>
                    <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                    <fontDescription key="fontDescription" type="system" pointSize="17"/>
                    <nil key="textColor"/>
                    <nil key="highlightedColor"/>
                </label>
                <slider opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" value="0.5" minValue="0.0" maxValue="1" id="1Nz-FV-TQm">
                    <rect key="frame" x="0.0" y="0.0" width="270" height="31"/>
                    <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                    <color key="minimumTrackTintColor" red="0.16078431369999999" green="0.094117647060000004" blue="0.38431372549999998" alpha="1" colorSpace="calibratedRGB"/>
                    <color key="thumbTintColor" red="0.16078431369999999" green="0.094117647060000004" blue="0.38431372549999998" alpha="1" colorSpace="calibratedRGB"/>
                    <connections>
                        <action selector="curvatureChanged" destination="TF5-xg-DRc" eventType="valueChanged" id="gRY-FY-oOC"/>
                    </connections>
                </slider>
                <placeholder placeholderIdentifier="IBFirstResponder" id="Wd9-1z-s78" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
            </objects>
            <point key="canvasLocation" x="957.97101449275374" y="126.5625"/>
        </scene>
    </scenes>
</document>


================================================
FILE: metaballs/ConfigViewController.swift
================================================
//
//  ConfigViewController.swift
//  metaballs
//
//  Created by Roman Kyrylenko on 10.03.2020.
//  Copyright © 2020 Roman Kyrylenko. All rights reserved.
//

import UIKit

final class ConfigViewController: UIViewController {
    
    @IBOutlet private var handleSizeSlider: UISlider!
    @IBOutlet private var handleSizeLabel: UILabel!
    @IBOutlet private var curvatureSlider: UISlider!
    @IBOutlet private var curvatureLabel: UILabel!
    @IBOutlet private var numberOfBallsLabel: UILabel!
    @IBOutlet private var numberOfBallsSlider: UISlider!
    
    private var handleSize: Float = 0 {
        didSet { handleSizeLabel.text = "Handle size: \((handleSize * 10).rounded() / 10)" }
    }
    private var curvature: Float = 0 {
        didSet { curvatureLabel.text = "Curvature: \((curvature * 10).rounded() / 10)" }
    }
    private var numberOfBalls: Int = 0 {
        didSet { numberOfBallsLabel.text = "Balls: \(numberOfBalls)" }
    }
    
    private var config: MetaballsView.Config!
    private var callback: ((MetaballsView.Config) -> Void)!
    
    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        
        curvatureSlider.value = Float(config.curvature)
        curvature = Float(config.curvature)
        handleSizeSlider.value = Float(config.handleSize)
        handleSize = Float(config.handleSize)
        numberOfBalls = config.numberOfBalls
        numberOfBallsSlider.value = Float(config.numberOfBalls)
    }
    
    func setup(with config: MetaballsView.Config, callback: @escaping (MetaballsView.Config) -> Void) {
        self.config = config
        self.callback = callback
    }
    
    @IBAction private func curvatureChanged() {
        curvature = curvatureSlider.value
    }
    
    @IBAction private func handleSizeChanged() {
        handleSize = handleSizeSlider.value
    }
    
    @IBAction private func numberOfBallsChanged() {
        numberOfBalls = Int(numberOfBallsSlider.value)
    }
    
    @IBAction private func cancelButtonAction() {
        dismiss(animated: true, completion: nil)
    }
    
    @IBAction private func saveButtonAction() {
        callback(MetaballsView.Config(
            handleSize: CGFloat(handleSizeSlider.value),
            curvature: CGFloat(curvatureSlider.value),
            ballColor: config.ballColor,
            numberOfBalls: Int(numberOfBallsSlider.value)
        ))
        dismiss(animated: true, completion: nil)
    }
}


================================================
FILE: metaballs/Info.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>CFBundleDevelopmentRegion</key>
	<string>$(DEVELOPMENT_LANGUAGE)</string>
	<key>CFBundleExecutable</key>
	<string>$(EXECUTABLE_NAME)</string>
	<key>CFBundleIdentifier</key>
	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
	<key>CFBundleInfoDictionaryVersion</key>
	<string>6.0</string>
	<key>CFBundleName</key>
	<string>$(PRODUCT_NAME)</string>
	<key>CFBundlePackageType</key>
	<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
	<key>CFBundleShortVersionString</key>
	<string>1.0</string>
	<key>CFBundleVersion</key>
	<string>1</string>
	<key>LSRequiresIPhoneOS</key>
	<true/>
	<key>UILaunchStoryboardName</key>
	<string>LaunchScreen</string>
	<key>UIMainStoryboardFile</key>
	<string>Main</string>
	<key>UIRequiredDeviceCapabilities</key>
	<array>
		<string>armv7</string>
	</array>
	<key>UISupportedInterfaceOrientations</key>
	<array>
		<string>UIInterfaceOrientationPortrait</string>
		<string>UIInterfaceOrientationLandscapeRight</string>
		<string>UIInterfaceOrientationLandscapeLeft</string>
	</array>
	<key>UISupportedInterfaceOrientations~ipad</key>
	<array>
		<string>UIInterfaceOrientationPortrait</string>
		<string>UIInterfaceOrientationPortraitUpsideDown</string>
		<string>UIInterfaceOrientationLandscapeLeft</string>
		<string>UIInterfaceOrientationLandscapeRight</string>
	</array>
</dict>
</plist>


================================================
FILE: metaballs/LayeredButton.swift
================================================
//
//  LayeredButton.swift
//  metaballs
//
//  Created by Roman Kyrylenko on 23.03.2020.
//  Copyright © 2020 Roman Kyrylenko. All rights reserved.
//

import UIKit

final class LayeredButton: UIButton {
    
    private let foregroundLayer = CALayer()
    private let backgroundLayer1 = CALayer()
    private let backgroundLayer2 = CALayer()
    
    override var bounds: CGRect {
        didSet { updateFrames() }
    }
    
    override var frame: CGRect {
        didSet { updateFrames() }
    }
    
    override init(frame: CGRect) {
        super.init(frame: frame)
        
        layout()
    }
    
    required init?(coder: NSCoder) {
        super.init(coder: coder)
        
        layout()
    }
    
    private func layout() {
        backgroundColor = UIColor.clear
        [backgroundLayer1, backgroundLayer2, foregroundLayer].forEach { layer in
            self.layer.addSublayer(layer)
            layer.cornerRadius = 21.5
            layer.masksToBounds = true
        }
        
        foregroundLayer.backgroundColor = UIColor(red: 0.16, green: 0.09, blue: 0.38, alpha: 1.00).cgColor
        backgroundLayer1.backgroundColor = UIColor(red: 0.98, green: 0.11, blue: 0.30, alpha: 1.00).cgColor
        backgroundLayer2.backgroundColor = UIColor(red: 0.01, green: 0.80, blue: 0.97, alpha: 1.00).cgColor
    }
    
    private func updateFrames() {
        let insets = CGSize(width: 5.5, height: 3)
        foregroundLayer.frame = bounds.inset(
            by: UIEdgeInsets(top: insets.height, left: insets.width, bottom: insets.height, right: insets.width)
        )
        backgroundLayer1.frame = bounds.inset(
            by: UIEdgeInsets(top: 0, left: 2 * insets.width, bottom: 2 * insets.height, right: 0)
        )
        backgroundLayer2.frame = bounds.inset(
            by: UIEdgeInsets(top: 2 * insets.height, left: 0, bottom: 0, right: 2 * insets.width)
        )
    }
}


================================================
FILE: metaballs/MetaballsView/Blob.swift
================================================
//
//  Blob.swift
//  metaballs
//
//  Created by Roman Kyrylenko on 10.03.2020.
//  Copyright © 2020 Roman Kyrylenko. All rights reserved.
//

import CoreGraphics

struct Blob {
    
    // handle curve control points
    let h1: CGPoint, h2: CGPoint, h3: CGPoint, h4: CGPoint
    // tangent points
    let p1: CGPoint, p2: CGPoint, p3: CGPoint, p4: CGPoint
    
    init(
        handleSize: CGFloat, curvature: CGFloat,
        metaball1: Metaball, metaball2: Metaball,
        distance: CGFloat,
        u1: CGFloat, u2: CGFloat
    ) {
        let angleBetweenCenters = metaball2.position.angle(with: metaball1.position)
        let maxSpread = acos((metaball1.radius - metaball2.radius) / distance)
        let pi = CGFloat.pi
        
        // calculating tangent points
        let angle1 = angleBetweenCenters + u1 + (maxSpread - u1) * curvature
        let angle2 = angleBetweenCenters - u1 - (maxSpread - u1) * curvature
        let angle3 = angleBetweenCenters + pi - u2 - (pi - u2 - maxSpread) * curvature
        let angle4 = angleBetweenCenters - pi + u2 + (pi - u2 - maxSpread) * curvature
        p1 = metaball1.position.vector(with: angle1, and: metaball1.radius)
        p2 = metaball1.position.vector(with: angle2, and: metaball1.radius)
        p3 = metaball2.position.vector(with: angle3, and: metaball2.radius)
        p4 = metaball2.position.vector(with: angle4, and: metaball2.radius)
        
        let totalRadius = metaball1.radius + metaball2.radius
        let d2Base = min(curvature * handleSize, p1.distance(to: p3) / totalRadius)
        let d2 = d2Base * min(1, distance * 2 / totalRadius)
        
        // find length of the handles
        let r1 = metaball1.radius * d2
        let r2 = metaball2.radius * d2
        
        let halfPi: CGFloat = CGFloat.pi / 2
        // calculate control points
        h1 = p1.vector(with: angle1 - halfPi, and: r1)
        h2 = p2.vector(with: angle2 + halfPi, and: r1)
        h3 = p3.vector(with: angle3 + halfPi, and: r2)
        h4 = p4.vector(with: angle4 - halfPi, and: r2)
    }
}


================================================
FILE: metaballs/MetaballsView/CGPoint+Trigonometry.swift
================================================
//
//  CGPoint+Trigonometry.swift
//  metaballs
//
//  Created by Roman Kyrylenko on 10.03.2020.
//  Copyright © 2020 Roman Kyrylenko. All rights reserved.
//

import CoreGraphics

extension CGPoint {
    
    func distance(to p2: CGPoint) -> CGFloat {
        return pow(pow(x - p2.x, 2) + pow(y - p2.y, 2), 0.5)
    }

    func angle(with p2: CGPoint) -> CGFloat {
        return atan2(y - p2.y, x - p2.x)
    }
    
    func vector(with angle: CGFloat, and radius: CGFloat) -> CGPoint {
        return CGPoint(
            x: x + radius * cos(angle),
            y: y + radius * sin(angle)
        )
    }
}


================================================
FILE: metaballs/MetaballsView/Metaball.swift
================================================
//
//  Metaball.swift
//  metaballs
//
//  Created by Roman Kyrylenko on 10.03.2020.
//  Copyright © 2020 Roman Kyrylenko. All rights reserved.
//

import Foundation
import UIKit.UIBezierPath

struct Metaball: Equatable {
    
    let handleSize: CGFloat
    let curvature: CGFloat
    let radius: CGFloat
    let position: CGPoint
    
    func blobPath(with metaball: Metaball) -> UIBezierPath? {
        let distance = position.distance(to: metaball.position)
        // this coefficient should depend on the size of balls
        let maxDistance = radius + metaball.radius * 2.4
        
        if distance > maxDistance || distance <= abs(radius - metaball.radius) {
            return nil
        }
        
        // angles between center and circles' overlapping point
        let u1: CGFloat, u2: CGFloat
        if distance < radius + metaball.radius {
            u1 = acos(
                (pow(radius, 2) + pow(distance, 2) - pow(metaball.radius, 2)) / (2 * radius * distance)
            )
            u2 = acos(
                (pow(metaball.radius, 2) + pow(distance, 2) - pow(radius, 2)) / (2 * metaball.radius * distance)
            )
        } else {
            u1 = 0
            u2 = 0
        }
        
        return path(
            for: Blob(
                handleSize: handleSize, curvature: curvature,
                metaball1: self, metaball2: metaball, distance: distance, u1: u1, u2: u2
            ),
            c1: position,
            c2: metaball.position
        )
    }

    private func path(for blob: Blob, c1: CGPoint, c2: CGPoint) -> UIBezierPath {
        let path = UIBezierPath()
        
        path.move(to: c1)
        path.addLine(to: blob.p1)
        path.addCurve(to: blob.p3, controlPoint1: blob.h1, controlPoint2: blob.h3)
        
        path.addLine(to: c2)
        
        path.addLine(to: blob.p4)
        path.addCurve(to: blob.p2, controlPoint1: blob.h4, controlPoint2: blob.h2)
        path.addLine(to: c1)
        
        return path
    }
}


================================================
FILE: metaballs/MetaballsView/MetaballsView.swift
================================================
//
//  MetaballsView.swift
//  metaballs
//
//  Created by Roman Kyrylenko on 10.03.2020.
//  Copyright © 2020 Roman Kyrylenko. All rights reserved.
//

import UIKit

public final class MetaballsView: UIView {
    
    public struct Config {

        public let handleSize: CGFloat
        public let curvature: CGFloat
        public let ballColor: UIColor
        public let numberOfBalls: Int
        public let frameForBall: (Int) -> CGRect
        
        public init(
            handleSize: CGFloat = 2.4,
            curvature: CGFloat = 0.5,
            ballColor: UIColor = UIColor(red: 0.16, green: 0.09, blue: 0.38, alpha: 1.00),
            numberOfBalls: Int = 4,
            frameForBall: @escaping (Int) -> CGRect = { _ in
            let side = CGFloat.random(in: 75...175)
            return CGRect(x: .random(in: 43...201), y: .random(in: 173...548), width: side, height: side)
            }
        ) {
            self.handleSize = handleSize
            self.curvature = curvature
            self.ballColor = ballColor
            self.numberOfBalls = numberOfBalls
            self.frameForBall = frameForBall
        }
    }
    
    public var config = Config() {
        didSet { didChangeConfig(from: oldValue, to: config) }
    }
    
    private var metaballs: [UIView] = []
    private var blobLayers: [[CAShapeLayer]] = []
    
    override init(frame: CGRect) {
        super.init(frame: frame)
        
        initialize()
    }
    
    required init?(coder: NSCoder) {
        super.init(coder: coder)
        
        initialize()
    }
    
    private func initialize() {
        layoutBalls()
        backgroundColor = .white
        rebuildPaths()
    }
    
    private func layoutBalls() {
        metaballs.forEach {
            $0.removeFromSuperview()
        }
        metaballs = (0..<config.numberOfBalls).map { index in UIView(frame: config.frameForBall(index)) }
        metaballs.forEach { ball in
            ball.backgroundColor = config.ballColor
            ball.layer.cornerRadius = ball.frame.width / 2
            addSubview(ball)
            ball.addGestureRecognizer(UIPanGestureRecognizer(target: self, action: #selector(pan)))
        }
        blobLayers.forEach { layers in
            layers.forEach {
                $0.removeFromSuperlayer()
            }
        }
        blobLayers = (0..<config.numberOfBalls).map { _ in
            let innerList: [CAShapeLayer] = (0..<config.numberOfBalls).map { _ in
                let layer = CAShapeLayer()
                layer.fillColor = config.ballColor.cgColor
                self.layer.addSublayer(layer)
                
                return layer
            }
            
            return innerList
        }
    }
    
    private func didChangeConfig(from oldValue: Config, to newValue: Config) {
        var shouldRebuild = false
        
        if oldValue.numberOfBalls != newValue.numberOfBalls {
            layoutBalls()
            shouldRebuild = true
        }
        
        if oldValue.handleSize != newValue.handleSize || oldValue.curvature != newValue.curvature {
            shouldRebuild = true
        }
        
        if oldValue.ballColor != newValue.ballColor {
            metaballs.forEach {
                $0.backgroundColor = newValue.ballColor
            }
            blobLayers.forEach {
                $0.forEach {
                    $0.fillColor = newValue.ballColor.cgColor
                }
            }
        }

        if shouldRebuild {
            rebuildPaths()
        }
    }
    
    private func rebuildPaths() {
        // not optimized, but could be ignored due to possible N
        for i in 0..<config.numberOfBalls {
            for j in 0..<config.numberOfBalls {
                let lhs = metaball(from: metaballs[i])
                let rhs = metaball(from: metaballs[j])
                blobLayers[i][j].path = lhs.blobPath(with: rhs)?.cgPath
            }
        }
    }
    
    private func rebuildPaths(with metaballView: UIView) {
        guard let j = metaballs.firstIndex(of: metaballView) else {
            return
        }

        let rhs = metaball(from: metaballs[j])
        for i in 0..<config.numberOfBalls {
            let lhs = metaball(from: metaballs[i])
            // clean up mirrored paths
            blobLayers[j][i].path = nil
            blobLayers[i][j].path = lhs.blobPath(with: rhs)?.cgPath
        }
    }
    
    @objc
    private func pan(_ recognizer: UIPanGestureRecognizer) {
        guard let metaballView = recognizer.view else {
            return
        }
        
        bringSubviewToFront(metaballView)
        let translation = recognizer.translation(in: self)
        metaballView.center.x += translation.x
        metaballView.center.y += translation.y
        recognizer.setTranslation(.zero, in: self)
        
        rebuildPaths(with: metaballView)
    }
    
    private func metaball(from view: UIView) -> Metaball {
        return Metaball(
            handleSize: config.handleSize,
            curvature: config.curvature,
            radius: view.frame.width / 2,
            position: view.center
        )
    }
}


================================================
FILE: metaballs/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json
================================================
{
  "images" : [
    {
      "size" : "20x20",
      "idiom" : "iphone",
      "filename" : "Icon-App-20x20@2x.png",
      "scale" : "2x"
    },
    {
      "size" : "20x20",
      "idiom" : "iphone",
      "filename" : "Icon-App-20x20@3x.png",
      "scale" : "3x"
    },
    {
      "size" : "29x29",
      "idiom" : "iphone",
      "filename" : "Icon-App-29x29@1x.png",
      "scale" : "1x"
    },
    {
      "size" : "29x29",
      "idiom" : "iphone",
      "filename" : "Icon-App-29x29@2x.png",
      "scale" : "2x"
    },
    {
      "size" : "29x29",
      "idiom" : "iphone",
      "filename" : "Icon-App-29x29@3x.png",
      "scale" : "3x"
    },
    {
      "size" : "40x40",
      "idiom" : "iphone",
      "filename" : "Icon-App-40x40@2x.png",
      "scale" : "2x"
    },
    {
      "size" : "40x40",
      "idiom" : "iphone",
      "filename" : "Icon-App-40x40@3x.png",
      "scale" : "3x"
    },
    {
      "size" : "60x60",
      "idiom" : "iphone",
      "filename" : "Icon-App-60x60@2x.png",
      "scale" : "2x"
    },
    {
      "size" : "60x60",
      "idiom" : "iphone",
      "filename" : "Icon-App-60x60@3x.png",
      "scale" : "3x"
    },
    {
      "size" : "20x20",
      "idiom" : "ipad",
      "filename" : "Icon-App-20x20@1x.png",
      "scale" : "1x"
    },
    {
      "size" : "20x20",
      "idiom" : "ipad",
      "filename" : "Icon-App-20x20@2x.png",
      "scale" : "2x"
    },
    {
      "size" : "29x29",
      "idiom" : "ipad",
      "filename" : "Icon-App-29x29@1x.png",
      "scale" : "1x"
    },
    {
      "size" : "29x29",
      "idiom" : "ipad",
      "filename" : "Icon-App-29x29@2x.png",
      "scale" : "2x"
    },
    {
      "size" : "40x40",
      "idiom" : "ipad",
      "filename" : "Icon-App-40x40@1x.png",
      "scale" : "1x"
    },
    {
      "size" : "40x40",
      "idiom" : "ipad",
      "filename" : "Icon-App-40x40@2x.png",
      "scale" : "2x"
    },
    {
      "size" : "76x76",
      "idiom" : "ipad",
      "filename" : "Icon-App-76x76@1x.png",
      "scale" : "1x"
    },
    {
      "size" : "76x76",
      "idiom" : "ipad",
      "filename" : "Icon-App-76x76@2x.png",
      "scale" : "2x"
    },
    {
      "size" : "83.5x83.5",
      "idiom" : "ipad",
      "filename" : "Icon-App-83.5x83.5@2x.png",
      "scale" : "2x"
    },
    {
      "size" : "1024x1024",
      "idiom" : "ios-marketing",
      "filename" : "ItunesArtwork@2x.png",
      "scale" : "1x"
    }
  ],
  "info" : {
    "version" : 1,
    "author" : "xcode"
  }
}

================================================
FILE: metaballs/Resources/Assets.xcassets/Contents.json
================================================
{
  "info" : {
    "version" : 1,
    "author" : "xcode"
  }
}

================================================
FILE: metaballs/Resources/Base.lproj/LaunchScreen.storyboard
================================================
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13122.16" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
    <dependencies>
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13104.12"/>
        <capability name="Safe area layout guides" minToolsVersion="9.0"/>
        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
    </dependencies>
    <scenes>
        <!--View Controller-->
        <scene sceneID="EHf-IW-A2E">
            <objects>
                <viewController id="01J-lp-oVM" sceneMemberID="viewController">
                    <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
                        <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                        <color key="backgroundColor" xcode11CocoaTouchSystemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
                        <viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
                    </view>
                </viewController>
                <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
            </objects>
            <point key="canvasLocation" x="53" y="375"/>
        </scene>
    </scenes>
</document>


================================================
FILE: metaballs/ViewController.swift
================================================
//
//  ViewController.swift
//  metaballs
//
//  Created by Roman Kyrylenko on 03.03.2020.
//  Copyright © 2020 Roman Kyrylenko. All rights reserved.
//

import UIKit

final class ViewController: UIViewController {
    
    @IBAction private func configureAction() {
        let controller = ConfigViewController()
        present(controller, animated: true, completion: nil)
    }
    
    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        defer {
            super.prepare(for: segue, sender: sender)
        }
        
        guard let controller = segue.destination as? ConfigViewController, let view = view as? MetaballsView else {
            return
        }
        
        controller.setup(with: view.config) { config in
            view.config = config
        }
    }
}


================================================
FILE: metaballs.xcodeproj/project.pbxproj
================================================
// !$*UTF8*$!
{
	archiveVersion = 1;
	classes = {
	};
	objectVersion = 50;
	objects = {

/* Begin PBXBuildFile section */
		B81704AA240EC29800F0C5DD /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = B81704A9240EC29800F0C5DD /* AppDelegate.swift */; };
		B81704AE240EC29800F0C5DD /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B81704AD240EC29800F0C5DD /* ViewController.swift */; };
		B81704B1240EC29800F0C5DD /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B81704AF240EC29800F0C5DD /* Main.storyboard */; };
		B81704B3240EC29900F0C5DD /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = B81704B2240EC29900F0C5DD /* Assets.xcassets */; };
		B81704B6240EC29900F0C5DD /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B81704B4240EC29900F0C5DD /* LaunchScreen.storyboard */; };
		B8730EF624177F9200796676 /* Blob.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8730EF524177F9200796676 /* Blob.swift */; };
		B8730EF824177FB600796676 /* Metaball.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8730EF724177FB600796676 /* Metaball.swift */; };
		B8730EFA24177FEC00796676 /* CGPoint+Trigonometry.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8730EF924177FEB00796676 /* CGPoint+Trigonometry.swift */; };
		B8730EFC2417801000796676 /* MetaballsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8730EFB2417801000796676 /* MetaballsView.swift */; };
		B8A337C924291CD200F77B9F /* LayeredButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8A337C824291CD200F77B9F /* LayeredButton.swift */; };
		B8C4201E2417A34E00435172 /* ConfigViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8C4201D2417A34E00435172 /* ConfigViewController.swift */; };
/* End PBXBuildFile section */

/* Begin PBXFileReference section */
		B81704A6240EC29800F0C5DD /* metaballs.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = metaballs.app; sourceTree = BUILT_PRODUCTS_DIR; };
		B81704A9240EC29800F0C5DD /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
		B81704AD240EC29800F0C5DD /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
		B81704B0240EC29800F0C5DD /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
		B81704B2240EC29900F0C5DD /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
		B81704B5240EC29900F0C5DD /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
		B81704B7240EC29900F0C5DD /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		B8730EF524177F9200796676 /* Blob.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Blob.swift; sourceTree = "<group>"; };
		B8730EF724177FB600796676 /* Metaball.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Metaball.swift; sourceTree = "<group>"; };
		B8730EF924177FEB00796676 /* CGPoint+Trigonometry.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CGPoint+Trigonometry.swift"; sourceTree = "<group>"; };
		B8730EFB2417801000796676 /* MetaballsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MetaballsView.swift; sourceTree = "<group>"; };
		B8A337C824291CD200F77B9F /* LayeredButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LayeredButton.swift; sourceTree = "<group>"; };
		B8C4201D2417A34E00435172 /* ConfigViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConfigViewController.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		B81704A3240EC29800F0C5DD /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		B817049D240EC29800F0C5DD = {
			isa = PBXGroup;
			children = (
				B81704A8240EC29800F0C5DD /* metaballs */,
				B81704A7240EC29800F0C5DD /* Products */,
			);
			sourceTree = "<group>";
		};
		B81704A7240EC29800F0C5DD /* Products */ = {
			isa = PBXGroup;
			children = (
				B81704A6240EC29800F0C5DD /* metaballs.app */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		B81704A8240EC29800F0C5DD /* metaballs */ = {
			isa = PBXGroup;
			children = (
				B81704A9240EC29800F0C5DD /* AppDelegate.swift */,
				B8C4201D2417A34E00435172 /* ConfigViewController.swift */,
				B81704B7240EC29900F0C5DD /* Info.plist */,
				B8A337C824291CD200F77B9F /* LayeredButton.swift */,
				B81704AF240EC29800F0C5DD /* Main.storyboard */,
				B8730EF424177F8800796676 /* MetaballsView */,
				B8A337CB24291D3600F77B9F /* Resources */,
				B81704AD240EC29800F0C5DD /* ViewController.swift */,
			);
			path = metaballs;
			sourceTree = "<group>";
		};
		B8730EF424177F8800796676 /* MetaballsView */ = {
			isa = PBXGroup;
			children = (
				B8730EF524177F9200796676 /* Blob.swift */,
				B8730EF924177FEB00796676 /* CGPoint+Trigonometry.swift */,
				B8730EF724177FB600796676 /* Metaball.swift */,
				B8730EFB2417801000796676 /* MetaballsView.swift */,
			);
			path = MetaballsView;
			sourceTree = "<group>";
		};
		B8A337CB24291D3600F77B9F /* Resources */ = {
			isa = PBXGroup;
			children = (
				B81704B4240EC29900F0C5DD /* LaunchScreen.storyboard */,
				B81704B2240EC29900F0C5DD /* Assets.xcassets */,
			);
			path = Resources;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
		B81704A5240EC29800F0C5DD /* metaballs */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = B81704BA240EC29900F0C5DD /* Build configuration list for PBXNativeTarget "metaballs" */;
			buildPhases = (
				B81704A2240EC29800F0C5DD /* Sources */,
				B81704A3240EC29800F0C5DD /* Frameworks */,
				B81704A4240EC29800F0C5DD /* Resources */,
				B8191014242B9B230065FA3D /* swiftlint */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = metaballs;
			productName = metaballs;
			productReference = B81704A6240EC29800F0C5DD /* metaballs.app */;
			productType = "com.apple.product-type.application";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		B817049E240EC29800F0C5DD /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastSwiftUpdateCheck = 1130;
				LastUpgradeCheck = 1130;
				ORGANIZATIONNAME = "Roman Kyrylenko";
				TargetAttributes = {
					B81704A5240EC29800F0C5DD = {
						CreatedOnToolsVersion = 11.3.1;
					};
				};
			};
			buildConfigurationList = B81704A1240EC29800F0C5DD /* Build configuration list for PBXProject "metaballs" */;
			compatibilityVersion = "Xcode 9.3";
			developmentRegion = en;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
				Base,
			);
			mainGroup = B817049D240EC29800F0C5DD;
			productRefGroup = B81704A7240EC29800F0C5DD /* Products */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				B81704A5240EC29800F0C5DD /* metaballs */,
			);
		};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
		B81704A4240EC29800F0C5DD /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				B81704B6240EC29900F0C5DD /* LaunchScreen.storyboard in Resources */,
				B81704B3240EC29900F0C5DD /* Assets.xcassets in Resources */,
				B81704B1240EC29800F0C5DD /* Main.storyboard in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXShellScriptBuildPhase section */
		B8191014242B9B230065FA3D /* swiftlint */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputFileListPaths = (
			);
			inputPaths = (
			);
			name = swiftlint;
			outputFileListPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "if [ \"${PODS_ROOT+x}\" ] && [ -x \"${PODS_ROOT}/SwiftLint/swiftlint\" ]; then\n  ${PODS_ROOT}/SwiftLint/swiftlint\nelif which swiftlint >/dev/null; then\n  swiftlint\nelse\n  echo \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\nfi\n";
		};
/* End PBXShellScriptBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		B81704A2240EC29800F0C5DD /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				B8730EFC2417801000796676 /* MetaballsView.swift in Sources */,
				B8730EF624177F9200796676 /* Blob.swift in Sources */,
				B81704AE240EC29800F0C5DD /* ViewController.swift in Sources */,
				B81704AA240EC29800F0C5DD /* AppDelegate.swift in Sources */,
				B8C4201E2417A34E00435172 /* ConfigViewController.swift in Sources */,
				B8730EF824177FB600796676 /* Metaball.swift in Sources */,
				B8730EFA24177FEC00796676 /* CGPoint+Trigonometry.swift in Sources */,
				B8A337C924291CD200F77B9F /* LayeredButton.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXVariantGroup section */
		B81704AF240EC29800F0C5DD /* Main.storyboard */ = {
			isa = PBXVariantGroup;
			children = (
				B81704B0240EC29800F0C5DD /* Base */,
			);
			name = Main.storyboard;
			sourceTree = "<group>";
		};
		B81704B4240EC29900F0C5DD /* LaunchScreen.storyboard */ = {
			isa = PBXVariantGroup;
			children = (
				B81704B5240EC29900F0C5DD /* Base */,
			);
			name = LaunchScreen.storyboard;
			sourceTree = "<group>";
		};
/* End PBXVariantGroup section */

/* Begin XCBuildConfiguration section */
		B81704B8240EC29900F0C5DD /* 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;
				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";
			};
			name = Debug;
		};
		B81704B9240EC29900F0C5DD /* 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;
				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;
			};
			name = Release;
		};
		B81704BB240EC29900F0C5DD /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
				CODE_SIGN_STYLE = Automatic;
				DEVELOPMENT_TEAM = YDKT2YXVNA;
				INFOPLIST_FILE = metaballs/Info.plist;
				IPHONEOS_DEPLOYMENT_TARGET = 13.0;
				LD_RUNPATH_SEARCH_PATHS = (
					"$(inherited)",
					"@executable_path/Frameworks",
				);
				PRODUCT_BUNDLE_IDENTIFIER = com.pr0ctopus.metaballs;
				PRODUCT_NAME = "$(TARGET_NAME)";
				SWIFT_VERSION = 5.0;
				TARGETED_DEVICE_FAMILY = "1,2";
			};
			name = Debug;
		};
		B81704BC240EC29900F0C5DD /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
				CODE_SIGN_STYLE = Automatic;
				DEVELOPMENT_TEAM = YDKT2YXVNA;
				INFOPLIST_FILE = metaballs/Info.plist;
				IPHONEOS_DEPLOYMENT_TARGET = 13.0;
				LD_RUNPATH_SEARCH_PATHS = (
					"$(inherited)",
					"@executable_path/Frameworks",
				);
				PRODUCT_BUNDLE_IDENTIFIER = com.pr0ctopus.metaballs;
				PRODUCT_NAME = "$(TARGET_NAME)";
				SWIFT_VERSION = 5.0;
				TARGETED_DEVICE_FAMILY = "1,2";
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		B81704A1240EC29800F0C5DD /* Build configuration list for PBXProject "metaballs" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				B81704B8240EC29900F0C5DD /* Debug */,
				B81704B9240EC29900F0C5DD /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		B81704BA240EC29900F0C5DD /* Build configuration list for PBXNativeTarget "metaballs" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				B81704BB240EC29900F0C5DD /* Debug */,
				B81704BC240EC29900F0C5DD /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = B817049E240EC29800F0C5DD /* Project object */;
}


================================================
FILE: metaballs.xcodeproj/project.xcworkspace/contents.xcworkspacedata
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
   version = "1.0">
   <FileRef
      location = "self:metaballs.xcodeproj">
   </FileRef>
</Workspace>


================================================
FILE: metaballs.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>IDEDidComputeMac32BitWarning</key>
	<true/>
</dict>
</plist>


================================================
FILE: resources/rorschach.ai
================================================
%PDF-1.5
%
1 0 obj
<</Metadata 2 0 R/OCProperties<</D<</ON[5 0 R 6 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R 42 0 R 43 0 R 44 0 R 45 0 R 46 0 R 47 0 R 48 0 R 49 0 R 83 0 R 84 0 R 85 0 R 86 0 R 87 0 R 88 0 R 89 0 R 90 0 R 124 0 R 125 0 R 126 0 R 127 0 R 128 0 R 129 0 R 130 0 R 131 0 R 164 0 R 165 0 R 187 0 R 188 0 R 210 0 R 211 0 R 233 0 R 234 0 R]/Order 235 0 R/RBGroups[]>>/OCGs[5 0 R 6 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R 42 0 R 43 0 R 44 0 R 45 0 R 46 0 R 47 0 R 48 0 R 49 0 R 83 0 R 84 0 R 85 0 R 86 0 R 87 0 R 88 0 R 89 0 R 90 0 R 124 0 R 125 0 R 126 0 R 127 0 R 128 0 R 129 0 R 130 0 R 131 0 R 164 0 R 165 0 R 187 0 R 188 0 R 210 0 R 211 0 R 233 0 R 234 0 R]>>/Pages 3 0 R/Type/Catalog>>
endobj
2 0 obj
<</Length 28912/Subtype/XML/Type/Metadata>>stream
<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c148 79.164050, 2019/10/01-18:03:16        ">
   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <rdf:Description rdf:about=""
            xmlns:xmp="http://ns.adobe.com/xap/1.0/"
            xmlns:xmpGImg="http://ns.adobe.com/xap/1.0/g/img/"
            xmlns:illustrator="http://ns.adobe.com/illustrator/1.0/"
            xmlns:dc="http://purl.org/dc/elements/1.1/"
            xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
            xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
            xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"
            xmlns:pdf="http://ns.adobe.com/pdf/1.3/"
            xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/"
            xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#"
            xmlns:stFnt="http://ns.adobe.com/xap/1.0/sType/Font#"
            xmlns:xmpG="http://ns.adobe.com/xap/1.0/g/">
         <xmp:CreatorTool>Adobe Illustrator 24.0 (Macintosh)</xmp:CreatorTool>
         <xmp:CreateDate>2020-03-25T11:18:13+02:00</xmp:CreateDate>
         <xmp:ModifyDate>2020-03-25T12:28:08+02:00</xmp:ModifyDate>
         <xmp:MetadataDate>2020-03-25T12:28:08+02:00</xmp:MetadataDate>
         <xmp:Thumbnails>
            <rdf:Alt>
               <rdf:li rdf:parseType="Resource">
                  <xmpGImg:width>256</xmpGImg:width>
                  <xmpGImg:height>128</xmpGImg:height>
                  <xmpGImg:format>JPEG</xmpGImg:format>
                  <xmpGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA&#xA;AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK&#xA;DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f&#xA;Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgAgAEAAwER&#xA;AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA&#xA;AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB&#xA;UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE&#xA;1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ&#xA;qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy&#xA;obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp&#xA;0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo&#xA;+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4qwb82/wAwpvJPluTU&#xA;LaBZ7kq3phzsp5Kikgf5UgzO0WlGWzLlF12s1Uo5MeKFcWS9+4AWdvufHV5598wXvmM67cXDidmW&#xA;scbMqhVbkAu/ZiWB/m3zZ6nCMsOHl3eTuOw5js+QMfUN+K/4uL6r9717zD/zlRqDeUrWw0OFo/ML&#xA;JwvdVmVCicdg8UZ5BncdeQop6V7a/T6A88jfr44fGJwm8Z3Hl5fBg/lL88PzFstcglu9cubyKSQc&#xA;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&#xA;/9k=</xmpGImg:image>
               </rdf:li>
            </rdf:Alt>
         </xmp:Thumbnails>
         <illustrator:CreatorSubTool>Adobe Illustrator</illustrator:CreatorSubTool>
         <illustrator:Type>Document</illustrator:Type>
         <dc:format>application/pdf</dc:format>
         <dc:title>
            <rdf:Alt>
               <rdf:li xml:lang="x-default">rorschach</rdf:li>
            </rdf:Alt>
         </dc:title>
         <xmpMM:RenditionClass>proof:pdf</xmpMM:RenditionClass>
         <xmpMM:DocumentID>xmp.did:6ec362cb-eb24-4c54-a887-39076c817006</xmpMM:DocumentID>
         <xmpMM:InstanceID>uuid:4106acb0-f72e-9146-a9bb-8a8f5a30a00d</xmpMM:InstanceID>
         <xmpMM:OriginalDocumentID>uuid:9c363efd-302c-d341-b185-8438ee5f5256</xmpMM:OriginalDocumentID>
         <xmpMM:DerivedFrom rdf:parseType="Resource">
            <stRef:instanceID>uuid:09b36535-a7f2-864b-b32c-4e56264f51c1</stRef:instanceID>
            <stRef:documentID>xmp.did:6e8d4305-7fbb-4dba-b3e9-0f354a2482e4</stRef:documentID>
            <stRef:originalDocumentID>uuid:9c363efd-302c-d341-b185-8438ee5f5256</stRef:originalDocumentID>
            <stRef:renditionClass>proof:pdf</stRef:renditionClass>
         </xmpMM:DerivedFrom>
         <xmpMM:History>
            <rdf:Seq>
               <rdf:li rdf:parseType="Resource">
                  <stEvt:action>saved</stEvt:action>
                  <stEvt:instanceID>xmp.iid:612617a1-62e7-4cd7-aa16-8ca21cfd761d</stEvt:instanceID>
                  <stEvt:when>2020-03-21T00:22:17+02:00</stEvt:when>
                  <stEvt:softwareAgent>Adobe Illustrator 24.0 (Macintosh)</stEvt:softwareAgent>
                  <stEvt:changed>/</stEvt:changed>
               </rdf:li>
               <rdf:li rdf:parseType="Resource">
                  <stEvt:action>saved</stEvt:action>
                  <stEvt:instanceID>xmp.iid:6ec362cb-eb24-4c54-a887-39076c817006</stEvt:instanceID>
                  <stEvt:when>2020-03-25T11:18:13+02:00</stEvt:when>
                  <stEvt:softwareAgent>Adobe Illustrator 24.0 (Macintosh)</stEvt:softwareAgent>
                  <stEvt:changed>/</stEvt:changed>
               </rdf:li>
            </rdf:Seq>
         </xmpMM:History>
         <pdf:Producer>Adobe PDF library 15.00</pdf:Producer>
         <xmpTPg:NPages>1</xmpTPg:NPages>
         <xmpTPg:HasVisibleTransparency>False</xmpTPg:HasVisibleTransparency>
         <xmpTPg:HasVisibleOverprint>False</xmpTPg:HasVisibleOverprint>
         <xmpTPg:MaxPageSize rdf:parseType="Resource">
            <stDim:w>454.145036</stDim:w>
            <stDim:h>258.294989</stDim:h>
            <stDim:unit>Points</stDim:unit>
         </xmpTPg:MaxPageSize>
         <xmpTPg:Fonts>
            <rdf:Bag>
               <rdf:li rdf:parseType="Resource">
                  <stFnt:fontName>SFProDisplay-Light</stFnt:fontName>
                  <stFnt:fontFamily>SF Pro Display</stFnt:fontFamily>
                  <stFnt:fontFace>Light</stFnt:fontFace>
                  <stFnt:fontType>Open Type</stFnt:fontType>
                  <stFnt:versionString>Version 14.0d2e0</stFnt:versionString>
                  <stFnt:composite>False</stFnt:composite>
                  <stFnt:fontFileName>SF-Pro-Display-Light.otf</stFnt:fontFileName>
               </rdf:li>
            </rdf:Bag>
         </xmpTPg:Fonts>
         <xmpTPg:PlateNames>
            <rdf:Seq>
               <rdf:li>Cyan</rdf:li>
               <rdf:li>Magenta</rdf:li>
               <rdf:li>Yellow</rdf:li>
               <rdf:li>Black</rdf:li>
            </rdf:Seq>
         </xmpTPg:PlateNames>
         <xmpTPg:SwatchGroups>
            <rdf:Seq>
               <rdf:li rdf:parseType="Resource">
                  <xmpG:groupName>Default Swatch Group</xmpG:groupName>
                  <xmpG:groupType>0</xmpG:groupType>
               </rdf:li>
            </rdf:Seq>
         </xmpTPg:SwatchGroups>
      </rdf:Description>
   </rdf:RDF>
</x:xmpmeta>
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    
                           
<?xpacket end="w"?>
endstream
endobj
3 0 obj
<</Count 1/Kids[13 0 R]/Type/Pages>>
endobj
13 0 obj
<</ArtBox[35.4194 34.4726 419.855 224.564]/BleedBox[0.0 0.0 454.145 258.295]/Contents 236 0 R/CropBox[0.0 0.0 454.145 258.295]/LastModified(D:20200325122808+02'00')/MediaBox[0.0 0.0 454.145 258.295]/Parent 3 0 R/PieceInfo<</Illustrator 237 0 R>>/Resources<</ColorSpace<</CS0 238 0 R>>/ExtGState<</GS0 239 0 R>>/Font<</T1_0 232 0 R>>/ProcSet[/PDF/Text]/Properties<</MC0 233 0 R/MC1 234 0 R>>>>/Thumb 240 0 R/TrimBox[0.0 0.0 454.145 258.295]/Type/Page>>
endobj
236 0 obj
<</Filter/FlateDecode/Length 24648>>stream
HtK}@~l-^0o"٣euXd23"2/O?푮]vZownz߯?>}[޾^soSoz'o/_yݮ=Wۗ<=k7M͹Fn^zx;=V/cW?k2Z>N5mVm[|8g\-pVi^Jg_WN?6Hy̓#8[O#_zԯwRow'U=*nբm]Z:W)5ꝋШo_xMl:!akAI3ı0z<iw_:x5ʂL?*La
 &[!	UYk^W}zF |NzKbw^Ha8#-|82g@IL[R;t(qv$
V4I@{LV?3`
cIq@ۇ\ڣyRx6ꠚS8цrM»Wxv^"fw냘QE2I]
/eڢ?uuŅkv.mm ~m~G?$[6K^RmhfgBCc(۰Z$'Z9ܡF>2[B:ʰ-!Ԝ r\ʐA̻2eLؔ%ΑDH*_4WH/bߓ,)5k
=]HVቨM2h>t2|"Q Pv+?bRQ3p2Xr;qE[iPZOG&l0iıǚʤ)0Sq-gҩYU|+Ty*+h{LQL5t r[<+!3ҕJp )o\6p[L*_간ߠD)$*d度TEKW:6ʁ:OiY!IYRJ$Y{,>V,etj=#Ygэ>w}`hxAU_hgV`UR*(E0/qmDC"֜㍵@ޛҡ6zBЯJu jƑ
&ˆ+Ks|]twOICxyusl5HS0S
9AuIHGVt&q]p̜NE((쐫]Tuht][t}vd{:-d
!EmM5!-v!AoؖC	J8WQNOHo'5ٯMᄅ}qJxUכڪ'-);Y:+u$^֨&eD*asWEZ(TbMurrs[%Dw;YFIv%	Hn\k=ԜzfNYX&X AX=%Ⱦ=vPL-m-25DX/b#YVor3TXkoMK9UTvt%}Vy	KE.Y6u4$wvmW({TT9/:J.f$AUM[9-A{iCfUcs[3P\:WeP17UiTK]WfH󑙊O|?n6L$jbZ
i~A9h\zUiښ订 ERh-7]%D6!]V7/ݗmmY\nkg0FWӎzJF,VR
ЈP̆Bٺ#$l^Ņ>Gn^#x**Ph~lc-@+:?EqO䝦Ⱥ³B.7=!.
3H_-S~z	i-šo]j{.M`3Gkrj@5DZŽf3WǭpkǶYiײGH\L

yD듲
>0f!qARzm0#k$ȡ3>1u,/9c-کF?Y7c
uC-NTF[sU<xuz$mwTә5?N{Rz%uCՄ\Os;- /A*&IESCj;-4P1'in7"cSz}[sftr:=FOPr
!<)#I>|7%|#*B?H6G!t
YPΣXgjO(HA6wER\KYYDmu
MF7j
Hsř#N)<Hg2p/v?"
#>8h}9Φm7MI	/Fb奩Ʒ7lDZᔜ>GG)Fh 먡*:b> ;n]6_j^w?+T[+д(iNvÈkk\?is=nP)%SGX$\LitYgփuE;DP`1E2mQl]y%UѕL)3%6.]6Ӆ0Q5&\}|]n)v,W?	R6ޱ"-!Nkgxā^kP%{9qQx|E
*K?e<ek^]h^TPqS%@Djib*ܶ܆A6UЌ~.g'xQCe^r.DNƿIHӜXZnLJAӓLrGYU$8xxg#E!fz'IrWUf\;3Zmhph=@3UIo>\EFU3Mce۟6렀W4Wckh}7ՍZKfl`ۑe|Gީ$OUMc
*S3-kkia*KY=rqWq|w+a#|sQ䎅EP޸5z\JzjZr='_$`E0/fYaAOlAw>2^l+ݿ)^/{P`\l~Uxv@ĵEj-Xav/1hBQLD_*$NɠpBe,0\ky+Z>qˀ9	H2Mxղ) Эlmsկw?	fx\]sL􄆹/7:AFIG_=}6d#ܣ3\S_,zʦ2=&,7l;Pnj~RNʼnrFlHo]_ԋiJ3m[gZF
ʸA\Hz9h&o?&`f
"]bQ
1ܘvQg9^9K\_y˿aHkf~7+rhIv]a۾,/$7?lCx) h3i'&!lQv{Kœ_ENAT%MݼoP\x4in 'Ǻz=Hk!wVLv>n贯$v~;fKc*3l9JY9\RNg&1") 6Bq_1xf$'Q
F/&))XAG(&Zh'6>״s_3g@
	KQY׆N
^/12^!	xOw*"W[~[I}i׬;cjܢy59.<~ŕcٱ`(ͨBk,EYqMkz}A*ߎ]ZY>QtSs~=Rx9Jsz)N!![ϻǣĊu)þkd\+*zTޖ^<֮:%ovょCw ;LlJFpsXv떥
mx.9&U \L@&Z;ϫHD3-YI8|?~ʭ}V DpGZgܖZλUKxiEI/W|pm_*Q>!2	]R/@/\rO+ UeɡQU/:0i6zö@9K/7eQI»͵֦`
F%iT ̱bx~Iɶe4-ce>ԅӀ-i\mnU٣oDOe‰.1"lQ@S\!aN~'&qow{qS4'{ܨrUWS3!%A!ouR	C,jd=](ft7Nx܁2.tڼ[mPXyݼ>gP77`m]ӝ8I#0P?RGCN*LQoڪYtC?^*_u_mE֐a=sKFto	~p..ToudGXiPƢ7A$ꝕWC23#8T}Pb6XTեi3!RLkPh'TYf.=F3KW	&yO:wr&k7JxRNJ%.u;n/7NP$T>1W)H'FmײoJ\m&^և|Ge齝d*G>FPL+ݦ5,j&]A"듋 q@C}ކzfCYT/1<:s}z
ٺI>[ t
h1tt&f'nqTÓ]eʷ"
B%i7J^8$}[w)=CF~xfWuL
,S׬4B7HEDj`Zl$&u!@鐢K|Ml6֛@?jPa7mg&y'a%4XR77ޥ0S/5e	īߧ8.~~]hx.#J€>U_ ,.C/"VbrLzi391ͻj>~TͰ5#6i'DsO@=
E)Դꮣ/VY|sQxEŤ[u	dxT8ѹbGF9|bcDKPb;eHt!ouZY\,Lz<0	۲X(<1!
1[J ƞ%bQ2m IYhS?Fb{JJOj@A_{~tYl{u%a-u":p}q&z`KJϥ97NzUGO~3_=ySƹ9j%;0
\0@Aawy-lJs-7,JnXTmԷ#BVVa=hVOBG6f^b3c;nב~t4(wsCQ@_&>ͨݷD/	֒Izul	hi?$7:E]N}7tK6ÀfeYөAQ}fk9ew'*~޶kyGeF`5\E>Q@{hSc	p0"6nT3>wPH(
h!Ʒd*r0('9bP;@VTM`^`4@+}B|²!HX^]0z&%d؍Ov2HjoPk3*~ݑ;\UT1ɪj5sN.bCOV"!ثKYiҹi/۪=wT.Vd3&ܩUtԓY2+e)syɒ+afOG$u%,GOWޕFZ#i>JM#j:{HʞddCb]LUVxjs`b}G=olMu-kWv3lo*LZz="*#bŬG
/b2	!2eHY	IDTj܊M0⦱p"d:m540.+#\e&t4
`$ipEH*o+
/rjC 5_/nxrI)YoXzN'Piυ8JW-[4]+DSYP[\^pƼgT:M⫕0
jZ4'bN!,jgn<xi<jaau/:QTNpanD aO9~]7DtjH6\_PZ7Ɩ"Kԛ>0"E(cW,@OԬV]	O4keɎa.?}S|JTh϶ȑrqD@5U20<zi
t$wfFe^nin5<GC? aYF~$9d"0tSpY~c=ίCzJPZVᄰqF7-$Ģ.:r";MLaPt=q
{oq*uesŸTfA`.-K 8G1܆s KԞB)<êQ2+x4fTU~@)lJ)qbqڷqaT_6꧎sXUv$aa&DdhFqԓQ7Ň0eTwd"gvEٻ^A^2I-+*=QBwPwjPVT+=7h/-b2Ipy
Oo0C`+;kڷXhyKLYrbȐ?Um_M
5|RS a
^?̫@Ǥ<&	5wO<-MZ
/d&sRQ@,\j`VxLFe/,8

ȝJPNLo<0Óf=</:W<%} ZoCՊS.@
miÄuv><ӎȁ}e|C
 ?V3
rBĺ =ricԼHSj7{|^TɤwцL9dp'Y!pG7纤k:R2_X4W&H,jnp,B˞OBD4.>A-ls۰{G]{'8Jn-+ij!:'kPymtUx)WK	:(6-&42U]&;zG11jF6ZR}V:@H5N(SaiTEI5/7J9Jvl>)
RRf垈fJ$K<ڽ'@(z9,2wUzPבćjA.dTЎ&뱮of^`oCDHsԳؠu5w;?66+Fw79)5Ƕ4tKL^c('HtZy4E2z:-uj_w/(</8xj։)iߑl
!Jb&Vff;5 CM*uzXo[Fab.
B%"Q=he!
#Gf_YUi#-5)+Ϫ\G㚤6+7W?aq,V\G T4KufUNYJ0c·Jw)beG-E֭CO<`-SRfEjֺp=Lt/in|hنt0yN0Xp'txOm3{v,&u(
lL %nU?YOf4য়,RA9Q.2zTv	柾BC֢a퉳;\B{+
ȃy|yՙHeߛk913Q{!~H)*CR$v[TUoNޥ@1Ne/ǟF:M{H^~q*E1?Ql(h>WD̼4M*ʸV_p
-\`ʴFTkYm	f˷I9 	=e6CٳrF}nDTwLu!Yf0Ļ3dmB2g_PRwkAe[[|>
Й) :𷲖<?e\ǎ_6
z<GxP]Q#)M^9`
 ?wt{B|7yU`ҍ4S
bKe\L2Kl
-;dAn/~#7yJԪobMcS&eb݅ޢ{O󃋪~s/z$4CUs8ҭi:<J{8@O.
AfRĚE i~r$q4=eaad7!\ZdElҟ
Bё~2cXwq Pa7v}AWh7q	׆Lσö_L@H߷8v(TD*y4i6egFY.
>j&S5T3]ׇ5B|̓[8=be_z}'-Q'592>wybG;Uݴ )r?Mj>d~I2Fw&
]u7^?X},glf-K?׆)p \6ʼn6SI5x2S1qί/4ݴjSEHvQ-Fk纪B(\4⟻?inhAlexAKr%\;.ɲ e3z&ݑL'Fۊ>+cVQMXnH32j;V]yd@f[3걗9٬8jrJ%s	[mc%]h==oJ*4tgE]\!zdZ#wg9h9P6K@ۍ@^o:n~[_4p;#,+>HA0#m>L;nڀŇ4KszX@#=]ǹs[l敺#0q."Xuw<p.(]hLn[U;z~c1
Щ&
iwKm-<sQӑvZM;ǧ[^?vuMRr>l?)ڕ,vZ\~XЪ=YD.FJ%R3MOeW؊2ŮN_ԎJ4EЅa~WeqCGv$_Or_tyV
pcݷ:C>jQ7ݨps5\FcUձ
r	XjG$mJߖ*"1'ZvwnǗoqCdQd0nkZi|KcLǪUkl (TqD*drXXYVùqf߃X,:+Vd5~kPtkHYk_e5msL~%byD{LBF˝&mWkzMAhў.Wkgc\p:xkƁ=`5(sx;`U ?gKiɩWXsahS5׮^
jυ
>poޢز4K-z
/-w\ZS=ZMj@Ēt2!ْ*^,SfyrS MK1ЊElTl!aj
rw, 9u5㪙vomWʎY0tpźFxGKP[_-=GEWնB^eINd|DR,E0MCg%,/CBﯲt>;tQY3"l6Ya+*Kg֨v}Ď\jaw]wXIz;/-5TP||a9"m0P64%>
88V?^xW`Ĺ
	N5)elRiYezfv@'5Ȇ^LX߱9稩tqìXq6)\EpNZ]34`)g>L4[ӳp}?!&yqs_Vv2i!LUhR9ȉsc_`Fmm7|<zE1
b%.?ׇd3=bv|GD4էn߂#{oV|lq]b |; mtkX{Wqͻ[|xNf`c7SR[bƴ_jfBuoQ]ٶ,hU)6;=N̨|OwGAz[_vU_IS(:MBnG=cέ[aGbDʱŅcT^
šmVq=CC*_$-ܲ~0]-	UV1jSj誅nǀ
@$	Ztij	H3|pYL0^e{B:B	5CWYP/)i!U3T1рp7y=jw6ڧB-;i|;0RiIf&T*tnwt"*иԬٽUI:#$@``95.
}Ft=ۗ05g:-'Sg,%f/RedՋERkXy%sפ~;Ʉz+n7]{ߞ/MCTbv3=]91_Z#ꡁ3
kٕܒIM,GƗ%[ i7	Ctgq{z{MNSg0oFߺB|	5{Ė28:/J SٞQڇb6Q#}<8<.lI5HvNKWtb1LW	~IگD/+VONα(΢:ew
x&d(o9=G$$rK;&W9➠K!lY];E(ri5CB^;t2mcuhv>_W
!?԰DiѸaAYOtAWS1]cH-/<ǚd+
ݺ9i&"ʪng[Ž\ݠTP>!]IoWf
PfC(>WBsD:}`rгJ:Wu,3שj,:ZBn=kJ-G>^XZ_5˷׶d$A©hhgFXD\ZG**l:%	[9}DRgm>c![>Y)(fOX֎|y'*ג	Fg锚*+
S
0OQQV=z'A@]>έ񸥕ݏ$:Z}w.RAvtqyP97GzY ɃcgDqPsM֘.вǢmSDT^\:ZR
Ѳ4&kx%kl8tn55k~^vmc;a?ԏݽ=©y*uԜZܧ}RpC)a<-[(R\:2L(#Joa57kCW)1W~~^"[RKsƫ-ME-?G(~@"H.6G*ᢎ"T?_*r*Dpm"`8\DƸ?MC(	6^E%OpZ* 6\o*L']?|դa˼
9p9{
&@Xѭ8)9ۧ}.g+?#Ճ%AuRhtKmrU}[%HxvPjk*z2K?jjShmu6(	n#7(5Ν%I:EnȎT@Trw1Hm[yh\P7@BݝAJOBfOWǹmz9{{]bNm|"=m}5%dG."ߣA	,d>qvZIQƋ
6Ɔ")Qj0wR-Y3VU1+oA
LRG*OKOdg0ldS31J$gzR+Q.i4+mC?:4JWNlaT1PXv‰M~WJ-RFe{Cd}3s(z^tP<+8z^"$_]=i;,5ĥJ?ma^~P"ց3Sh4Uh#A41WCz96ik Rx'jZ	Jchʬ;Lϓܻ5] ђXJ 9Y$XEL^+C~=JV>[y^-Tfs
cxi\o
hFD44)
9^
;zlqhf>I8[CY}ȑ~$fH]x(:W=[#IPH15t4ުߑKAk龐_<6T~,ᅪ=<RQ&bȺ*Uk1R7w
ɥs$#.e,*w#6oCR.g;qyQS0ךzB=h[*K[d
JndWb@5rAQ5s54z)O
~gxDzO`d<.xG=n'ÓO&ڍs'ąE
ţVsvyW%rU_D:
 \]]#7Z .*]%7R\/S?SA:vQ48iIrZjtD

sZ3D2^
-uxBAꟕ_~K"rUL~K9K䇝Oev[sӘ18R'feVxZR5E:		f7j4Bn߰V+(75$@!okDz9TXܮ8
8utUX?^5͊;лwtL9n\{7MRw~{=UdN^;27R3S5ļ	Or:~@מCYkUvJ7UH7m*v:'EoW[Vl&3aĵ=Z|!;,σS=Fn` V:6@ަj!$+aMN$rCV>+*MC}7XuQ&<yxHQC`20k,1sNH>dV/rzu?@rm. #б˞ĶQ[imBYMQ[2X*:ΰIJzQԸnqVJ{PL)og2VJ6rU'&kyo-NKytL>2+wC)ۜLd{7VWL++$:-M&o47THa)P0,ϨɌ,jb&ڽ-c>IZbTFViY+^[;*}jÈ9F&bKt/ $b~kt1Uvu&`#Ƨ_,Z*W>a>Uؐ!8!3>*H0:?F`*;лK 0z?5\Jh:m,J~{V
@JR@!Դy) vm?Z]\ZSO:AB>Pp
ՙ4<D2YSK9pssd[FI!rȑ Uhe2f

0OH^Yq.dd<]֬eklQn(JK$r]7q^:o6G@Dx/jVdTހht{ڝi~sHL|<\;p8Ea$3[p:Wu9s{$Tz
#F w1GG4"Lu)I&NgɈ1nk'b]X]c9b'D6LzheJČ}\1>K	kŽg#&rd/ry8-	1BXK_uHm:\>ylcuwrtGĸE;f-dtJ 9hbIfǶO﯆827$p9{
Jp5mwHOmQxS(RG!|Fvf:~+C0*}L1M
WUDrʌL+FδD?ŒVr|Q~}HB6	Ġhg[T<Puw>n,**S$u*nls
E<Ёy9*pm	L*U;AR|#j[]\\õ[qs>QDP6=
G&i,/_j̴V>Aċe&߉jj%1'P_ij4z}9YmZ'NNNRX}9V?JdL6m^PǒӁ%IO|R*bq7rutܸ
߲c.vڒ'p}arcwDjQLG /h!hbnQd80`ѭVGGdvd;YU^"9
#:`MSv
s ?(@DNیZIGnDe?'+Ko@PG?cil=}۝9k
u9Tp6LѢjc;2	3m`=Foҕ"("qu3ךIW:L}BPZ7wn0*|ޮ$g;gBq|bTEu&&H4xl
MtL]#FsiīA>srėc$l$=î#Im
{۝OpV[G2Ut%3_[#ϻz$y1oATK	t{D :{:îw<T@~&(n}"<՞3#!;Vv$5gũ,+A5o5U_x3|d_>%j›e$1@aA]>1b]ze"IފSjMsl@|ݰ-f Qxh	
Iq_#YT(z^FK\X{u&ҙHGּŽr,$)
f@(@#ֻHEױ['f0]W9,j7jgܒ%	&+䧆ϒ(	遛f^hYm-UWeo*+_ick8)H	<$&:GJDif)P1^LWܔI8ءId?R*wuT"mU=m`FtB
FԒoKabmK?C^бNP#Uor<3_4V[i7,y
E՗x`n@I:&vW4ۆ'T('<v~8p"<ծ_o\:F1~?zCnU5oк^_}uN;)Di%/ǂReqA|Z!؞
\kqHpU egRYg*ϝ&C;O8u?qͣKhaT޽itlf;?VmY	t+ҿ_wNB%lOQ}6R=;PEZo"
ZM)~C!1珫y`<V'UP{YFV?e;ŦR2kv@4xgݙAլY܈Էق*P4?@
!8P _*NZ`<;uM^Ԩ{#ޡFFh5ii5t@,km,p`B(L"K5筿vgjL7rKfȞx)݉'5'’DHF!5s9o:ҽӔ̸w:ǝU5'_Cͻm/?v7L{qEfpq,H\<K>)zyc,X{z'[gZ 9lWpF+cRQ$omUΏ%X(S~ѭɼqfPUUW Qvc)ٯskD>:X^wmdk'lJ&&"z@LZNĜjȼ6f&eaj`͛-TiBSt)UjMuXLo_'W7da?65}4g6MM#3WаFqhl\-OXd7#
lWLFkmJtx
|8{@'
.p؈Tgg&uf FfIJ}5-?mC*6,pP1V?7 s3Ukjծ,*0{ ({>in{g}tnn
PR>_PlvTWA6WxJ繰,MĀ-oPznxcC;5Iȿky#aW0/%ic+Dݾ7-/£r$L'%@:tS"#6wLdg햺urd7DYl2A4{ɬ7ץnMBJ
;QC6Kz\{mDu(#nW`X%(IxLݑҊs[C|j'rY(Zϩ:;z|OBh{K#	F4ckE\iqYh^s]kM7rCN#c+Zׯ0+]r~ǶtdL(sy:a(Ix.7:1^؍</m[E{y9BGkPj+પqni@"Hp9Vwdn'1ːnvύί6:86]kWpԵc0^3bչaiD0tBNպѠPeѧ-пSE)"P]̫
|٢
6wX&u).9
5mwGғ3UBi
[mĭ!bV10ȺFivJrͳE,D+5Ts_rf5k_Q~(EW=B;fGmJ2~(v6eKxz,q^}m&vgᆁ==l}{_+3㋅GkX\ǢBb\y<]'c5)1+^i+P|Hq`F"Oz)<wy@Fj.v+&UkGQ^,kM-8ڣPHE,W1y~<FkTc5:5^sufpIT.!	|JڌZ>fm^#`j)TEvͮ(YxY9۞஀
d=Mgpf#zϲU':>{2a8O/H~aK)~oszuV"r2Q{vsܴdi$Eun3w}mbv`vi(j訤gԒi2V;~x1-ͬܶ1'
$9~
e7^rc~S]+_Լ8gwpľ]i*qRPtI1>s3^[߯s6}onU-M8kF1xV.Zŏ"*7~2G"45A|J#:7Mow}\]fes4-z"K҂߁:mhe'99jRc}2qr4{-Z'h8Vkipғd=rr((:jӤ!XQұŁ*i+0^hs-NGW1L5COɋ6`"Hءcj@JgXVcB':ut^KIIGr_!|<F|tTQܝ~p
DdžS@asV}#mHri9}F"
Q<Lk1JZ/>9"	j4i΁3ǘr{ROH0J=o{ϰ!tXÒD/lڝf't038=u *ӞXR%ΐҪQGdÙ	ǹrlO-U±-K8i0[O+Z2~aW"C5c5`s?9_DUf׬ٵ|	rTTKU#pS;zt2L<`Fs++pD7ӓ>S*NF3j&ggq5_l-kYQVf./[`	fy9A݇t1OA_-A6!:s;?1Z]hWs(VUiҼ/Zq{5M_.4o;)h`kZ&$e2Uy'jmF0ګ~
(xn]\yAFB:҇<FMKLlT*P+kh"9uhoL9tѬOGw*Al5r7=&Fɕ84En CN?*N;W{8rCŗfQ?XsvKA6VzwYA]s|Sp\fg}sm^-]Eeر+疚|\Cp`gӠ>jiNy"`jD릺^\zD-j}1EjO丝s)&M홰
#@*D_9vgNћ}ϗ'4'?dB]
_+Q?ϒE3Jt	k|S&9&/"PBF
AiL#=b]xcN,!μ9#G=UK@en&.S
W&flDIJPs(\<w(Zjr.neg$aNiOƴ_7:>L;_ч_zvnmdVA\4m	1!kPwT_n,F4j𛐴kX(K>ѝ^
{{ZrHV4yDX)[
Y]MhQ>"6p@+zZj<Z]vL
ݸ
tMpȈ:OӔ)E5]7B2өk*Ay 녏ПY
?}W=DYs	S*N@,+hxXfXč~_H434/~[l@r	BZGA:~ZD:z0eX
,M#*Y[ek֢saR~>GvMw$in#1tߧԄ'鵷=>ó(D2@
A^
=ؗZ6#bQ>V[G9)Gf>_LU-F>=g3
Ã9/{w5A-t:SjvD!EPڈ"Rg~;$ttB:n06rENj^o)v2XM㇤S<v:]V3\+ͦN~5\?쭙`u	}Wd#Ш*4YeDbA(3O
ma-ײIvs^4O;MjFi$r:а;O3KiFyWTэO73B%M{D}B(!2(k
XR.B39'8ڥ(
=Mƛs"Z+#2$u9Qߚ%jpI='eQɊ'7Kvi-3rf_ʊ;`NMl3s%ǭ53+	L;uUSg}zsŋq;<
|LGbOiQdzB#)
9mr}'(WY
rct՞6U	2?<cȚ۞SgHτ1PuZvK.wԙVTyק:Ty ve orPQ׺sy(}sh}i{dB{{6$0hBd10M0E)iXt@VW{t[c@
}yfǺ=n[>'ɵ0
I*|%6%ja6}xT|whs7kpQ8?$M̘{XzOsֽ
qO0P%'	VtO=T)N*l)cҹKz)9e5lr4:<LGA~_5Ѳx"X
Gq嚣l+j`qvuV}ű8[2^3ʩ-àMN:1CZslhFY9BUO6#,qgl*;&g̈́V7#z$B[3U+VuL@N=O|H+\%
eIe+;|֪HkT1u	b/MM; F2oXvWGD0
7ZE0RV-yL,_|8sU:<W)R׷
0uKBSS.{koGd^Zd!.9׌{&?؛7R- SmɸYdI#Nn֬x7_
Ϸ!AI.yA^_zctu^.3'>9uU%@ϮOւ忸8=>قŮ299ꛜ:Ekݝ-S(w.뼠qC_e-
dIf$^eה
Y,[3_N,Y 0o)xY:_7r̨:[t8([),3f6=N0;3zXyD^+DOgzC"0W 5ǃ;%^h'][S=Gv$c	CKHu"?ofל7wP/81f;0Z6ўw͒5:FʭV5kc[-{K.ͤHdZxSsXcAq=R-)͕qkԆRKe\K;^_(+ӆJ;1*w=6)Fc0jWo3k<WFzPxggwn
ՙ#ގc>Doݩ%V,[4+`0*OXa֛8D	8=d&=e(z2E.܎
jЅ#v
\qgx4Ύ!FW>w/_O•C\8sDBQ.qT=IOY^*2Gԫ^ hc~tfwS.5\'KKMӣ~¢;@Q2UB}ΖHAī,
RͭDm㉡P#S~$HcnLwye|zs[3ҁtc.
|q[6
j@\o'~pԑv_IF3Cr;3BQv??}ySk|ɔAST?3<\Rj`.p1yܡпm{ĊsVέ*L\Woe|R=	wLZ G{B:7t\6qGV߬`K^E4&nNǐdroѺXE&{=Nz:Vn>Nݙ^sАCG{y 	9"]n:""I9>Rź4GhR֫}*ف2V\>tp(	9_IPe&hqءeWf	
L$5xr! 9R-@S`ł5mpKtqlA&yԵlF
yO/r`gPIIԘ!ʅ|uW:ҏm.)ޣz;&
xx
x=\Z?ǺAo{u>SeG$P1SXႱ8o_p}]%Ҍ'Ң)`'3v!DL	nSOwlpѿ9a)8kЖ8=RǠU)Gce=lѳ(PQǷXٗho?WZq@S+G"I9'uOe|9Aj|յv3 /`Dm_L0TZr
N
2JMĂjtD&V5z/AQ]xN?L58sgpyť|-mA4KnDP_:vc~240M	b#(oɚToF+H-H} 2+
xYo o46A*4,!GKKao
" ;\
{Mƭf	̞oxh@;|e݆!H<SKU=&`U3N"oe 
֬:Ru+
n/Kx
G3c[!+k''dAMwz \"墬=:Y0VCGUFu/҅''%
`ӻτz>7z@:oW͐ k:iS0C|W	=95Rvv
+MuESu4A3
w3BΨqsx7^\n;
}+ GTa_A蒌މ)	p.q=zr*C;a@CB$schsWSI4-ΦM$T7tX+Z
m2ԳnUW=HQ21)9WSbf
ȢHW6TĐ1oAlF%#UKD_V+)+h#Vmco
h[+aq#lyt͘UT¤9'v7+W3k>,ҷH4BǦh8R41td.9&<
殖*Bg6)AtP$9"c9BtM4D_8I ͶVo1 	xv
Q"҈ٲ^xwJv[>m
HꌗW%m	E"o_./^߮z~}75z\=)},w?Ka9_i\'e+a|F].ߗOn~**/w~ZFM{)|i|ZUzO#U
endstream
endobj
240 0 obj
<</BitsPerComponent 8/ColorSpace 241 0 R/Filter[/ASCII85Decode/FlateDecode]/Height 32/Length 313/Width 56>>stream
8;ZD,b7TCM$lu=b]lH^YP\;eAU^u24(d@*"ZKcG]%-%I(?=%k2kC7`.#IL[C->LL/
V\?loSVAl'0f\[<cO/%m,,P`)1m[<4!F"R4]D*4rDqaS5al7kAVYTj&!pqq)]IaUG
0?2]gbY7Z3=+@<UE'K1t4>#@*gKWB)0o47Rk51NO1^L[aY*Mu]QDo2PNYkY!=BrUq
U6[slZO_2O"]A!qiD`M9Ga_bs&62'1Q?UsrHDd6A+q17"iqNEXXX%4Pk<h(d\DCXQ
\A*SaXEHQj1Ol[TaH64.r`%'oWLoHC_%6Dij`d?k!)%ZAbl~>
endstream
endobj
241 0 obj
[/Indexed/DeviceRGB 255 242 0 R]
endobj
242 0 obj
<</Filter[/ASCII85Decode/FlateDecode]/Length 428>>stream
8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0
b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup`
E1r!/,*0[*9.aFIR2&b-C#s<Xl5FH@[<=!#6V)uDBXnIr.F>oRZ7Dl%MLY\.?d>Mn
6%Q2oYfNRF$$+ON<+]RUJmC0I<jlL.oXisZ;SYU[/7#<&37rclQKqeJe#,UF7Rgb1
VNWFKf>nDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j<etJICj7e7nPMb=O6S7UOH<
PO7r\I.Hu&e0d&E<.')fERr/l+*W,)q^D*ai5<uuLX.7g/>$XKrcYp0n+Xl_nU*O(
l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~>
endstream
endobj
233 0 obj
<</Intent 243 0 R/Name(Layer 4)/Type/OCG/Usage 244 0 R>>
endobj
234 0 obj
<</Intent 245 0 R/Name(Layer 8)/Type/OCG/Usage 246 0 R>>
endobj
245 0 obj
[/View/Design]
endobj
246 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 24.0)/Subtype/Artwork>>>>
endobj
243 0 obj
[/View/Design]
endobj
244 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 24.0)/Subtype/Artwork>>>>
endobj
232 0 obj
<</BaseFont/FUVRQM+SFProDisplay-Light/Encoding/WinAnsiEncoding/FirstChar 32/FontDescriptor 247 0 R/LastChar 116/Subtype/Type1/Type/Font/Widths[205 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 588 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 545 494 0 508 284 0 0 0 0 0 185 0 0 523 0 0 0 0 284]>>
endobj
247 0 obj
<</Ascent 1059/CapHeight 705/CharSet(/space/B/b/c/e/f/l/o/t)/Descent -287/Flags 32/FontBBox[-396 -287 1222 1059]/FontFamily(SF Pro Display)/FontFile3 248 0 R/FontName/FUVRQM+SFProDisplay-Light/FontStretch/Normal/FontWeight 300/ItalicAngle 0/StemV 64/Type/FontDescriptor/XHeight 508>>
endobj
248 0 obj
<</Filter/FlateDecode/Length 714/Subtype/Type1C>>stream
HtP]KaYvg2Gwwq IW2.XV-L2"ڠ(("
AJ"*/D9Ԭ7]D8y߇sME߱(vv=ҽdK[ky\uM~3곺A}}SFV`X<&H{ک$ho9 XG|a!([wqf'bW|!SjsYUW`BOHȴ=O
*9xXӀ]㊌lX2ڸ>^&o	XbZBbrRj=>2.A/d5
7nPqa\Nѓ趜1Qci֪C*^U\0wыuZcu[e8mlg~661N`-p`D2jlK1kpc9W!c&>dVb.}DTuaGtʴG3()jD#sy8MV3t[.T?*a΁,1U¬c^-[5V,cР@VKA͘Zxu/Vd1ag5qB,47Jl,JR2+PFpȽvԊ"ϧkey%dSϙ	lx2JS#Z
endstream
endobj
239 0 obj
<</AIS false/BM/Normal/CA 1.0/OP false/OPM 1/SA true/SMask/None/Type/ExtGState/ca 1.0/op false>>
endobj
238 0 obj
[/ICCBased 249 0 R]
endobj
249 0 obj
<</Filter/FlateDecode/Length 3152/N 3>>stream
H	TSWǿd_IB!v Ka;uZCIXb	*nShmCE;rTgTѺuqUrpNq͆V̜~wߒl8J$-M!@o)kj[\2u{
X
^C?@U tɈEv bM6}u*[lnDvIt˭+8`ַ#.C3^1Lm\S7[zmg;vbĢ6tQ.tMp1񨵭K14;<xWzbv}qP%*a) #aqh{3뼚Su>޽[vw\agWҫlooB }*\Ģޮ
oVU|N+h
ȣOL^_ESAbA?U16k}՞ډFk^QuxIeBWKNr'6GM'OrJƓZPA1HfLNE<+%;2ŷɽbE:臿!2B"q*j{GFЍ~;ݻ&X^n@vZ{ݦDJx>OZL-P`2%Zf: }پܦ\P.eK% om/WL"CH #'8JE@V7oWPx/ǐ3pFNn"7c\їɵmW^s;WIG|N%Lj=0H}NkbMEӹB:1]oߕ˻TSm3!Q7QR%t9;yM=//ld/DF^
6>z<{ylBAoz *JLȅBPC9TC=ft0f۰:>0{)8?<0&Ă,K11-Z)	bNl6[6bvaci"v
ǞEx
\W/p>
KA|-߁!P*h%:;1XH [>KSJ
I	)Cgl 
4r.\I~J gkC	$Qr(J3DNY@YA@r=M(TGBOc:zzFђhyj-}LBG;CE{Bg#z+JoI?Cg0rՌvLRznI-s3Ǭgv2f220/3X(V6ea5=+5SV'%߱/p8XN!,l\<
)\
;;=ýcbxJޛ~
缓Q>W!.yC?___bM~hXZ./X'8$!$RJh#\/<"%DQh3	ј!#bB+ֈKߊ(
p&q`H`a1pasς$A꠮eAAW	
Bl.MՅ
]uð0[aFÿ!ȏD,WD)JK"C#"k"OD>juEʔ*҃ұћa(b1986.);qqq9@MP$t%N8'f$O&III)elR',"NѦKNmM]z4'y[^~)MV6;~zb!}(		%M9&'~2B02݌?ffe3f͊Κ*BQ,V|M.ʞ'iNf#g{se]rLd~ҍ<}ޚ|ID\/n(^TnQ+ً(zQQ/&KP
%Q%%cJQ*ʖׄi9+u++kvJU1U֪jTX}&fZ͟j5Cuiٺuº6=/_Z!p8qcFS4o	nl6nh}11m1bc+bOIOߜ*OįIIs>$;'OO~2%emii^ۦONa1-Ms̏YYgg/>#7!wgP^vޑ|m

~(.ZVX[D`?SQZ̮lvُyg**;+WU-fN>TXXֱvac]Rݡz

+64Mj޼Eq{6;X:2;uwוu۠{ZS3z77mBބk'$8jɾMQ5'L?kz3|f옩2s?2f]4{9sM{iüuew s-R[4m1ϖ-9beR˺]GV\JfUjե_Ysat-\/{Æ
6&l{ӡmQ2g֮m*}؞wz<zzQ3{}\Z_끂o||(	<r܎>x|	{NZyf1=٭m;o~~.\w.]rՋBݸs/nx
wXt;̽E5``Cg?8'O<myls+_Wѯ.xM[si~,Sg˿|95o~!cOz5Mf fJKc`7v&DCy`雂Yؐ 10,w``m``Q*AM&cc84c#Y<?20b`[]tM%4Asgj@/~g
endstream
endobj
237 0 obj
<</LastModified(D:20200325122808+02'00')/Private 250 0 R>>
endobj
250 0 obj
<</AIMetaData 251 0 R/AIPrivateData1 252 0 R/AIPrivateData2 253 0 R/ContainerVersion 11/CreatorVersion 24/NumBlock 2/RoundtripStreamType 2/RoundtripVersion 24>>
endobj
251 0 obj
<</Length 1210>>stream
%!PS-Adobe-3.0 
%%Creator: Adobe Illustrator(R) 24.0
%%AI8_CreatorVersion: 24.0.1
%%For: (Alyona Gorbenko) ()
%%Title: (rorschach.ai)
%%CreationDate: 25.03.2020 12:28
%%Canvassize: 16383
%%BoundingBox: 768 277 1154 468
%%HiResBoundingBox: 768.92896939288 277.040911665055 1153.36492529824 467.131968602234
%%DocumentProcessColors: Cyan Magenta Yellow Black
%AI5_FileFormat 14.0
%AI12_BuildNumber: 341
%AI3_ColorUsage: Color
%AI7_ImageSettings: 0
%%RGBProcessColor: 0 0 0 ([Registration])
%AI3_Cropmarks: 733.509568303017 242.568312767429 1187.65460398542 500.863301811798
%AI3_TemplateBox: 959.5 540.5 959.5 540.5
%AI3_TileBox: 557.582086144219 92.2158072896127 1340.58208614422 651.215807289614
%AI3_DocumentPreview: None
%AI5_ArtSize: 14400 14400
%AI5_RulerUnits: 2
%AI9_ColorModel: 1
%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0
%AI5_TargetResolution: 800
%AI5_NumLayers: 2
%AI9_OpenToView: 620.129280046973 562.927468671805 1.54336016697615 1268 686 18 0 0 6 43 0 0 0 1 1 0 1 1 0 1
%AI5_OpenViewLayers: 77
%%PageOrigin:0 0
%AI7_GridSettings: 72 8 72 8 1 0 0.800000011920929 0.800000011920929 0.800000011920929 0.899999976158142 0.899999976158142 0.899999976158142
%AI9_Flatten: 1
%AI12_CMSettings: 00.MS
%%EndComments

endstream
endobj
252 0 obj
<</Length 65536>>stream
%AI24_ZStandard_Data(/X$+лp{H5D盞zs]l݄šZ A[\!8!L3A&f	L^
I$rzA\+H(4q^_F tJduӀȈ(#BFll<PH*bJrAjI
R
<Ku 	^0Gn
T*"#zD BҫNGBAf-
`&" dTG;X%CC4DēQTt
"s(9 (H@pH"JDtHɧT(BCQ0R=
Aa`W?U* 	R/L$J)¤GfBd[_mffn\+Hįb|Fq*H#iRCQ(*;	Zv8_'R7Řkk"HJĚ₏䱡DjP6,HUk(q/AA:d@R
-𠠃N%˅Z`( ֈl`0髵jPZkXa0-WkDZ4
^Tbg,|ZZk<}ZZkM
Cs ]	66GD@pšQkբr4t`95jc.iZkۨOdZ'Zgah)1ja!;+!aZu&[ŶjIq-j--jV237`X),0X $KE$0JjZZB
xZ'ZkO$k^km<
I+rx}ZjZk!+NZW{
Z!ZkXDTZgВku!>ZGG Hn<$dQ!e.QA"*]&7n~Gf(mĨqt-2ýǃ)YN]dFN@vDM]5; $k$ǬSX<@
#tdgRʴF<&B3ύ,	ifǛA
O.	jf)`<9B]1-eYX$B$yH8l*;<ӂmBɌj-_fGn625O]uCY.Y7vKˎl3[g$kpj#ƙRɌjc9+_]mDud,sH4l<8(A5fY3C#6<MfǂKۈʴtiVc|hFPnXJ#Mk%UFtKqƓ#|<,#3$lffk6$zӲLXm<-tH[etiln{sifmLkimYRFIjQ[Z3[s,X7|>sٴp1[9{Y:W$alr"]VFe{,+2e74v`ai]gkehO+Qub)^lfZ63=mPNsEf0_?#]&eӖ=m6|lfsYZkkP
ԢLk%J#1OwPIiCӓP3[5<ZZqvL:[鋜̢XjZZ3\$9޺}LIXVFNHKKe `"]"I`'P`jf	#.rfVZ8Y]ȉ$ZkVitf$eJLomږ6WhЙB(CGXƮLkcdF8*c2LQ%OĤiGYz3_HrVs"Y4
z)Iqδ46љuA-M:a-t`CX*2hr*%ܴf(O3z'$[T*aHԁBaS*1򒎭rfeP.*g>[ۑ6]5frje4
:ujWf0Yktl&DM'隙/֭ie骕5Sku鈰)y,͖DWd.{,wI.t["C

9HxFPu{,2-QsD2f$daeʚ	k1VJs:.ÂEȒ`HybLGט4%Lm&ƴMA2kqvi_;s
F'd뼙%bw~~K]%:~?n`$I`"A43MMV/d)%Kc:fș6f譕Hk,1HY˜ZAJ1.Y(mcX<9sBkM@JZ>]2dzcgef2@!X^wi9+YcyБN%Q19cud:L$yº|@vuZ5mhm<Ӽ8KoedØX.pw3չd<`5}q1J;Ihfy+KI<nLw4wN/#5(ֈLSr6\5
1|~{nw8v{;;^n(s>aw_ޯkY뭻g{0w9__/?s7=poܻ]ƛ猱ۿ;N\(
]@;vrP.70'.9A:6f,
N`@%gRzZwfhpWMc;k̃':EI"WMAXsnfbȴtW,GdjeX+P:ʹtiVYf#&=-i&fy03̓.Kwi:hd
(V㈆i'J8rudԝcmlPNEf#qq6:VktE:DPf"O
|<yrj%6qV+Zyjf_p53Y4ȑ3m	qtFf@qyl#~VOu#q7OJi2OHP*]Lh ;t$OL@ZW{x{ Swc	8p4	 $Z2[5JzpW3ϱȚ	36hsn1kki X(9KMdDy<Ec9WmDof,=IrI5{WJ*E#:j$ȑ&Y, m(ERFf
V+OsJll0sFgHU3%o&HdZHs&HZI#_Ӽ)V+imfb8CEHWj,(;GLc`3[<Ui'	chSr6Y-arv)
5	#]I`r
4M4AVeI$ȑq g/ڭuGr"tʴ$[kԀlV%Jd鲀>00j%JSl,̙yj%x5F31R¬2i:6ycqw9t'gJj%<E$ly S]wgq;]-80;t矱̃iD63Qs<l;Ɍtx\$hZL'9ݻfterc޻|]q>smyo͞ېYݼOF#1jݽwyswzwÌ杻_}_n;	*;G<5,a$Iq;ɅC<vV+Ӕ,Yu6X<oINEfc]:NsC͊{,.EiV"ƙ
-39ڔ:	̍5.ٌLucZ#ac0=͙AQeFn-3y9۰ng3wm5Ǹ1w_׿EIR<mq=$Xtn8uǝP6b<YqwV_s'!1S3KG9Xk<qF0e5unfF'9͍qJjfi=ݹsgf3OIN3y\w,eFQ#R	y*
fXRVPb2L&De%y∦Zk%X+q<8Vi\]]䍬FF
%
G(Hl3Qt54$F0Pnz@}+}<n?|}d(y?E㳰8xЅ!?O]ȜL@BYhp")$i+%;4y"mġr[Xy\&rįI.28OpNq[q*yIľLBFNTք_8aďs&lq|~%?d=H&=?
Dob43S0|∟5/;"h$pV#y5jA 084
ql`H*Ri<nAa6JSP(a(Flz	3O8A͋@"rEgP#S>#@$J}V-:wd|Q|:5)AAxQtiwpyKdexMFẴH2	/!!Hh$狞/?j^
P5 וeh.VD "s
"R<n1I.1NKtqԶ=*/0b"UD\ÐZ	":!es#ʱe$(hiNFFFFyT<5)DhҶQ󆚀Q!*̉P+HPh
RK'HE e <*3j\E6rۀ&pLn'PGCp;c<A@yFà
Ve!<}"D)@dxzX)<"92h!,b>2jӬP ЎRt
ҹq!
!P5
iAyẊB
|JF/M:n@~h!H=Q.<4LOSYg@= //\+6a:yū#܁:>*)}ryXG
,*$@ E,H(Jyu0M
L:&:DӠ|SheẛPU "
u"#]G9Yvcp$DmI1nBq`P騈
<FZ|#M<1A9D*ԲZ=XqRѶ%q@)=Ġw`[Q\>U	PVBTJJJס`d|AB(U62dRoDRK
JHyl<
d [:2
%u6w!SIo-(P7s2bL)qzΨ-1Ef|3`~d+Xw|™B4,sY*9Au,èD86y 4=pR
B֤c##!}H2bNgx
g<rTSI-\w 7ǣeЌE̓@qYb0ExɐOƣr(mz 	8O m=Π2IƔXzA'xP2+'L(cx d"Oǥ\+Hkm}ԇkǯAAy0qSbLBF
VHA34GAqLz2Ч]N2xt
\(DmlmT&CdWKH-m2>bq?QIY騱N|YLWf2``^(_$d(_ŏK 0XJ#ҁ%jʮ3kX,],K”bhxfDV[0`$f1X+eZ1Nk@%aQkkJ/F%H!xLOHz_k
'Jzq40`ֆ4Q,Q+Sk}@ZDVsQ+c<j`<jEZWj	ZkZ_%GVUjz|('|N;-IZ]OAxbϴ5J#[Btm@dL
!䂭
345o0jMfJHC!h$f@30m,dN2s_6lOUrF݁*
A)P<e؉b5&*%̣KDCGHyIH~?t(h.;ot!0[
-NioX5:Nш$2ynciTINʨbyc+U`hَ/jB4&]aJ"Kq3sT20-$PDKJ(=&bp)04}aCCK0%
(&IxcMYa!2-dRKB2JP(:O@0`]84)$B'<a'i2L)qj=LW
;5$ʁ?Tz`sJ,)$X
h$D
4tG`k|xkjtSQ<#L 
|2"MȊ2ZAA#(h *pqt8̥C!S0JK^M@7@i$&A g!vP|	RsrR0yG$8x`#jbQ!s:N-p#3qH*MEIFl~ؠM(52iєԔB
%Vɠ0㺡;qX/'MK-(u.	΅r^v3K4RaCd4WzRCKm'%ٌl"Y RdH61%Dσ@\`e&Ili5iƂ'%2iHx=8T~bS@c* <9@@![LI8GR U>$o
4vZ\?WDP!(}Cm΀G",,>ʲx
Qpro#\C5f*z	lzN<=|@EZ!M`8"|>dGݨ"EnKF|^aRp_b{AWA.H8F78v׵Rơ	CK+sS<Әb-僗ON
CӄCw4cPaY$T\.BvQS,awh\d@JD CyAzܬَ`"4N6*vZtR|&n"!UCD)bfKO"A
AhnhAh!I-
(Hg!Ī	I>y(bNTe 6d>#L)Pqz0f1Нlw({,GBaaC{p?{pPAPrdv@3E(
:Z@\FYdQj,JB
F;L{_Q'"AR1T1B(Q5bJ"cJ@aN#.ma2'a]qq,AbY,j2ThApERV
x$Y ½va1{tyK 1x*6,y	Aȋ8^u/(<ݫS1n*@-Mz7A^
dTNJX)"Q0p6QR}T@*bOq0xQD̲@1p 	Z	F&q4&`8DdpQb"C%6I>Dx	4$Б^OiR$qґQ"8KD71RǏl[xHJDLc!VB fB`))5!j3b\"!fb0l%RxH
I
FG|$AaCĥ`>	k 詈NP9VdևV;w!h*Ht†rU+N

U53`	*j &"njB]S!OAŨ:>JA]y#Zn<Ue:0TŹUBS3ɥz܇k
(U",&5m*C5Ijgo~ա
!3൛n"jf`DuRꈰluШ"pg,iUaFiTΕ0MBHJZx$00jmjG|QǍ6Z%D=>VЅ|I# fޟ>
M"^ȆU8uH80F/">$Fu.EZĜ<d(ygMI4t.OMYESWRF{t1d(ySr	Ł"XAi`U.tE?73XxST``sĕ$hM e.4xb%
DQMv0k0!PQ.t#I2xkgE[DX9m%chR#'A$(`,1ZPʟ/{"~"lo5@qRbDy&d(]X	R1JEBqX!.~
=*	T"x=rZX 6{ObA[&_@;]/1<L<4Cph/+.~܎iTBc UQ``hEO6=B4
Mt`,<Q-9
0q?;a|VϐEB0K@{K02<0yX.S 9~]#_P$2xSQ)5I\1bG|T_pAɰ&yv&FVX6
q!UFaS့].-KA($,L1 ׵XBpiW#y;‘} a,,(GC88&&gH|MsE;1)&y4gẒmh'Q'Qhq(T~L5!{\bUp.%'aE.N	(TZqԼ~jT	~2XBp=%$.CH&C&z,bbĘ[C'E.c6q(jBBSh0Й1UB_HÃF>R$\€#~oG1	0>:KfԔE3zԅƨlLL&@,`A0$й^2C*fϾj3uDlr u?7$pTVZcXgd1XRĨ*4'	[T*KIPV*Z/LU
u.-8͑eb#CQ<PrH8Y#{X1FuaHNuVoCRZ@YԹBRy8
P@w|(.4+c=㙂.`ycxJ8OG<ePir@؅Sg#Fʓ۩AX!6ZQ_"~QYtn͍u	SBTe;
29<1<$Ь(GA@.1LJ2uEX'M
4^3aRƙeV`:$Ǎ^cF#dqqGX*L*FjI|y8
6R/Պm}a8888#Pj0`m&#(lGH-Hys`Ye0ZzH*
ֈXFv [ɄX>d6-K A`lrG|<<t"p8UFA Y0q(#U!`0(@mZf.x٠%͓
.GA!FR!$Ն_̆$_|0g%+AS77W(h\zRcт$#1hζqwlHy
ތd;W8"1NViFM;Pe4THå-*jKD!*=@dcTQGC=@M6уSWzڀ4IPأ|JX8j@CEv~RD8Xb	A46$Ua԰2-IA]qRgǬ<ʹؔFdDEdȪM^d3JX.4y1
ehJOWd3Hte{E		5xe;s`
DDDAS3!8UzEkHį^ʠtTTᨘMj"~\+HW+/2	)U`͑=JRa4d
sp3\O&g`LVu`c'g\N60JsXl3nf3"owdg0аgAlcaI,l0@qhQYCq9rfTYa'#j^xoD$x=u0SJlHe10`k|2c`=b"<?H..~	WJ=.Yp̰{SWQ!/ʀO2Goy`E:8b
 p`)X3ǥa$(g"7	b?|(k6ݖ`]nJaHb,`DIcfBoS^hp<}Y`PzF.$LEh`! X:	.b(G&V4[eVVd[6͸
Id.~vdus
2iG807\`~
C \.
08>DfzIwdȁBI+$D[ր>=V.Ao])hYW0"@qG	̺	0{4.YAXu	MBCHt!R} Mp;61ahhH]Ȋ##x!*Gd(YKS#EXb$t|DC64_;ER
eW;ӫ	]4N\@_摂A0Be5`NbĤP)n>kTdq1C'R)L+F(oP؆GPPzr>(L3#=\2ـ,L}uB|yX'MXc3R 3)ws+%D\CGI(癩y)FߩJpMDx\Ud4JޙV>KD<0UYn!cҋKI+hU` ,\=J=bP&,橤t$m,"
d1LC-</G<QPF<@P
RҐӈNG"ViD
z]ӭ3>&|L8q\Mfi46fs1d#2
s1fȱA- I ;^s
4(Oyz+F~p`nn)v>p;=PO?iHtz Pm'j	|#Gf6Sf#/L^0ޱTNMB IȤBʁ)!WjޔRRi׵W.9ZLb^ziېPBsuQՃzP=,Ĉ1b~]N}<0^721ǙG42!CRu1Hjqڱ[*Ps1GF3Q4ghM`kHL0hgh>HN񤙜f.{884
J
CiP>CQ|YB\H̜7<p-Aqة	x5),|1NS7&
<i"2Kqpq,Ôh[jA
%
H)`$bN	D)AڨP#+#G>J!x`Y`0%+&!^dh1/R)Bq
	!bD!	!FyPqD<-eKRG<T'cuL	A'h`6GD<h\Fs@B`#؞B`FaV
$J
}`ʇy
}`ʇS>l_hiP̽h
AӠ`j
]X;+%w`vZ RXTH!2E}(J6ѱA!AX4I$HJà@UF_£_ŶǑ [r9k">R=PAjԋeq@!I*E]2{@]a2R(+esM7$ue02
MCAA"F40? QipF\˨4^f[}=
ƻwln:_s{ks=ߡ6
m݇flzw0ïZ9{CV9~j\nxpP{c7}1˻gm}?Zmoo빖}l__{;نsuiCB={.ns;[q}׆|jck{~{n\i=·[}w:6[qm׻~_5<{kCmӺ[7{۞
Cyuhfsfa\s׹ͷPnÿ=7[_{}6k:Ի~3﹖v_w:7[}wu/wxoסw˽zb߶[1V{ݷ
Cϵqakswc϶iÛwޖƽZk~\[kyqؽ__߻m
sXÝ9뫵j3\{ovnf}hZ5z:^{_sܷkm_-ޞk|/>x[uu[vЇ{_y3ko}>o0眭;oks]mqj7[:gb߾-֞k}߻oןڬ}kC}^6gϵ:=/V﻽0o
ZPkl};-׾7{w;Vkj{hoնoVoϵ>|s۷<;s;m1uC{{oxco}oknmּN;lw^Xc{k/>c\͡y߽{7\Z.!=s)y[[=kyksT?~w>kZoa|muyƛ{ZCmח[3~[C뎇[x;6ZpwއcC;87߭w_m;k|mxwǿzl9ݾooCjq߷w{cm{߯8_w:}il\aƜkϻ۟sϗ{}l\j?\o_{~׻[w{}h}mx3^X_wysC}y?noێ?jm?k;<k{\;۫ynj/^[uXvr{yݿw9Yn\ks76[p[Z?{w:]so;oqan}!?v3n|C{-T!kne߻[w<uxqzahu\n}ߵwz{þz}Οoq\kWk|<v;zk3Z˱syȷպ5zýqmwnonì;!axYnw\jarb7~5;cgq97zo1w56;ې{{/:r?/zPc\w8[:=?Wwl{w}wޚې;
t^~=ޙ{[_u;}}ǻθ[s8>{ssy뎳\o=~ϻo3~Cr{nwםzmc]vVصs}ys{jm~0_}wq;7vmto_̳7aonw}{7wmo}܋k{Pr~ۇVsn=\ӝV}cCX_0ԙC=rν[}~a>r9L<![Z}?rog|C۹s|{n;>aq=ϝ{!܋u[c}Ûsϸs^wCz>;\{X[5mמC-]^\qzc:{̹s)Cl17kkbV֙~uޟm3~>?ۇ>k5!l!ϻn7w~kx{mtqP,V'@X%ZLiY]9t	B+X@cw
nwyw;sƮf1'8!Zh/԰	!"P@t<6oc
FseH[dC!te,풱dUddۥGxbf`ax_4""ָj8py2$15Ĉ(%:71O+i^Fet{֤ef]Z0L8X$F\P+Ґ|A:WXU d"9Z6y&bHHR.q.]ȑ
pk+.~
.
nHDjlz8(@&\! DHQp\Ã3Tʀ(jF&~#u8"qqqADLDFE! UpTm7AujN;XOP Dt]@'9t#5SܾXįzܤIܘIt`u軬sȉ0-0"XQt&l0q_nu	B.F̓GK?AQU^
#<A/a^7RyhH^J&GsU#~p݇Aرڀ+a?ōTPuh	4,[At`pX`&٘(6bJd(`#EAؚdcyn(MrBXمAZb#cɂLL)^hc<Ia4TM$d͐fH0  	fkON4TNF.*I@ƑaARN1ÔM*Cʝ"#)5ܞww0D,ZPE$$=VyXA.|lU%='9=B]hk •
6,pڢN/E-)`+C0:]:T,3sFB)E>"zSclUz/[Un㐭"fFhcźpt`%oH/A; ئUݡFm5yre6-롤_{C89qr#(`8"XS[8si:T?%p7an=HKW˙L|Am~1j2MG&=X 
Gnz৷-|fFiθkS xr^SlbityJymLT%̲XyҠ C<(}}|d4oC&p؏"ώ-jg'A6cWCKEx`f2kNY ɾmW@oj[0@J&\%•S6qlE1,,riaĮ29.\qА
:t΢
)#;L15;--\HS:8Hs4t!7:;ɖOk	WuGZ}Gd⩂<,FN[o^C!Luj4x4"?ZE׻yl<pY"JP[e6Ƥ-
YB<{m
beLCN(@-~PXi_aoD-Z@~g6汹_3&"q胜4E9˘gğưJ03>e
hw
靓5W-K5f{hP-P/96@Bbh*?iq|R|
xcb1e	hi
$D'ZNh[gqnC<sr4Y]hE柳q˹u}Sr!5ISQ`XD#9rczB/Й?#Ľ)h_ST- %>Elc}go\]pZMy෽M8ńgrhY~
A5hN~w#}.(CW;5`v~*y?<dUVR"3VI8š/
dw?Q4Aq w?(<ÒPIsĘHgN5
H]+m2OYvp@I#'ίWjPyM3&ۣ1*ۻNlZbTrf@_5`Kx	$X6S4#QڨDX/.s2$6D2} TD]S2lE"=\$V_56wLG~vZp)phߴWДFs#%b{&fX`)5PH=q)*9s@ه{fd/3,L>Kv`^Qz7~ )TqXm|kwpHԒ/js?Eb!Edhp	|D#t}O;2b^LO8Řq/?:*2'9i7_AO*b~[8m292Eqa'
/vQ#h7%¨JenO?D ɫQœJp&2vH;٠͡aO*Dqx6:J@0'"͒۽f5e`Z𦍻gLҗO[wdЕe\[!Ou5LqWJcŊ`ziTrX'Nܼp}]R|CW*tO_)hҴbW}22L,2믉bL2 V"D2%i0}D-܌Q1AMG]ă$ (\6g'N3&Ϫ)@7-rd/i7bսWsD;64a4lv N4>zXKX͚"C
ϗf;q$ Pi˅@#c'n-5+2'p'`ݯhYi8Nԗf>ywW""o3
ĥ!`'0`09EVӑ$fX|ŕۦNSEp;VHqj
5A>6-.ӒG2xZT+gYz7g82p&Ӻ|M}Zs(Nb2P1ƱxZ4쟖Z2UFbikZF}Z^BQf0P:.J"\Ogtn`ڞ(O[T7-B480ZSfyZ7--:Q?-LyZԛixR?-Hir*u#IMF[c^HBJA`H}ε-_#yV
˵I s	#'~ĐED0'h o{~*'wFs[sKKTx򿋟?b$B^8 
՘I
4$˗6lgzp"[0p5€`at`܊`PRy.{oq` 	}c\@s(xSQHږ$5DZr)C*L,Oj8kxI]5y5qk

$)zUwOFBnkmS7tF&fBďVzL]1!heDWfETS`t5HY7IsXZ(
RoU`\
큆Uu\$uh%'ZOP/Rﱔtrqn*G=Қ=sl
A1%*ci~/cZ
x|Ѕ7ї
fD5se{?XŜb19ov6_cԗkI@4]o~*q"=ʻ}
y 3;[e:2F#vŧb	Cvwe3Q?f?xApnFR

OyƭP#(!c|4N'Q5>aR`ވC,6}I3I(oa0Me$$(=bd=)tx A&X6Xka[+č(!Q]FBX%0pNCBѧZs*ߍ&m2d%hƍ%<$C]IAHQ$oR3T6J+X3W|5z'-aKӓniw'4kewAtrCv``lO)}&*:<pܩ`^Iĭ+"Bc%fI׫dlDE_-FlP
M?dg=7F!%Ω =`}M4醛ӝDz(@Aa}w	!JT9OI=
,1amQq4Րkv~%0eIlB-~#!sk0};`	/ԬDhWkIJ$5:#Lp`-c1X<ts?ov7H0Cl32{IGΘ
,`+slX,qNڎBO^QF5 'F'\EI'ܹ.ug42!%b3z;f!_dv4]LgiVAë~A$Dl5.H[=tfwJ"ojnE#GbfIK<NzT~
7~4%A=ˬY+	YUf󓢡e=8"/curR8I̤NBQde/W?^\%ԕLrv2<= U`iF)9+	SDQiXNs39nU%P)x|euQ.{LsI)hF0džih*dhk̯r+5g%].ch,2>rpȊԭy,$~N3Xߍ	2:•6%HMrlht>{K&r(H|-к)DMyQ	^bCCHLmwA6‡ORכֿSe
 g`Q@{]A
`p!p  Tv=8Q[}iI#AkrRA.
.͈CM$V}"[CO,Uk{P`\mB}S%'&=83n̤(/&5T) cQbC[5mY#/KWPL]P;<HYz_ס==yI%"ཕX(%J~eӇ
<1g
B/KsO\FRϘsS3i[(	m;<HG-7q&،Nb#JBt]teb .9θf!uFp)#*~LnqU62<5$O@!뿗N>_M#SG\rV}rAEFWN~inN,M3X+7	}	̸Ch4?^a|w
tbL>$uc6SM`1=8@85k}¼ po Ś: kB
QʶgMWm+
ٶ>=9B9D7q>fB_Nr{+]fca0hSfNcjO3)lzהVtj&u%WvApIh=*0Nx=xXjfha`7<Fc|Ӭcd*إMlTw=bs܋RC;}PrJ|$,@!HWѫ`]
\hT<t߬ Ǻ T}~;9n,@.i[HE5Hl_V^ݾ@f#0y=tq5,Np1M.38~]νj8@	5ouR
Wǒ5TY4#yMdlz1R'AhOw},E@CR[0jBJec?<I0<FfQg?'_gT;l{|n0[^/HMVrow&wy/dGwa18j$bw_98uFڗ܍~YX8}ٝ5}$꒹<{UaM2gwh#BI?sKT͜,LM-S#N@h4HQDdlD;R M+J܌bU͒zzQD@JY?ܫ8=w<DZV*
9|Y);h8o	6CǷE1It)1MT˽x/역@}${JwMl}Q^ovE壢I?Il6w*OШmqG8U?GN|Y	6O%xt)oA؃p50B/ÒDJ]6H]iA3JEr]_*ӺPc@(1CB;ŗl
,Hy2{g<<zIv*(g3݃>qt\1eCk|r9zm,ۤ^'7.0XBp51cE]
%VwG@VMOUQ'1Eer1ʴl
_㱫-
o	/W4
vZ#`등HZ)60dQ2#mĹ`KA*?sΥ|d~끛AK3*~0TDW'A<ZބĶ_-x[_+	N2	6(o{ziYlЂ8C=3>~Yqv;cseI~~i@Msou(ݭŝ$8l dN8oSЦ8UuS<)[¥:>*iw`c+PWIjc~+h
+,AH~_-?Ef0~e<U!ޒ헬ƜA~\VKJR^<o#YbI`/gCD(sړ_w}
{0)`
xS*~TOL
[FBkoIUȉb7țgPh$Қe>4Ox,Aofeߩ&b~g|˷_gO_jcXuw7'b@Dd!Ⱥ>/_M4|%da~fy7	OH~hԭn$17+ŪC0vSP'túi`~	ۯx~ak_P>yu
muS0ꉦ")	ԾǸ2	~]{Ӯ!.2kym{#I~f,o;`߱MtRen#]/;nTdkM^`<7~wo.Lhk_6L3e(&n4jD~x/tRGmvMߵdK~
~e7|fߎAWMLl̷F8R-kJ*Xnnb]7
yjӭ|S;k*l?KtO2#|&=/Č6wǑZB_wqhKHz&x3>wv@#9
|K/ZX{16ڿ^ &Fl>!
H%՛Y^(9=$_Y;bUo4GH|6)}݋5-yEz)5fno**4@5SBϪ5v΂>8W]4Gc_FTP:`&'k	eLS0B4`)pɆpc!vnA6@?	XQ ;\P8uMV0W=
06'h<٨r3H?PVWơLȴ&y1,WdesYGLJe!ӾtWV^!2mI32藐	yĊ̜	 )Cl_{ĐD;Ђc~X>MRl]-q13u2nR5GyU}10u2qOb7Pw`}	;]bHdo띔0.p5}U2u!.kfBYaL($##&RHQsk(V+>|+Wl70>q<X楾+n
^Y4%ڠ>}TtE-w1RЌvŔzRwE3-+^)`<#^3xƯ<@)v.Ā߿:Ra=[-e ?|$KDU|TPD76fZLWbޚ/mDII#s>DՀ
Ob<j֨JJ,	]SCwD%R-6P5O0b{ 1GkX2! 6_o +nx#l~5إq33ODL;/Gh^::^븎I) I#ALa뢵WrdՃq#j^xPqIw'ٗ9 H>aV=]` hLvXw@׵4vC&ڣ
2jyz-oY:LlXe-{0cR-[^M)KSߖ8CϞ>'r~,w9G(2@ܹ;8KnRzk
,o2UIýE!R,S3&?hW"ghYxUԒ>3LAxeqEf)VRۖro},ҔEm-
&7[~hc h^`[錤~rQf(FiDcyŎ0횘_剋va'@d२wV	QM諝ɯ.KLew7܂ұj,7pkBnl3n[,)cx5-j̴H:[aPZEDLo0ݸdDw;ji>ubn
4{Ӣt\1Q/"r/~nC#_Yi""k~ 4Nr`+}`wɵ@ݍ=GOuuĚdwkF*ꮿOyI)~2a"hXmz^k[phnju
bci3^Xo#T.S+94B7YqqP@kYvXa$‘5_*ŝK*g]ahbߊ1CBS_2!aPQr3
W (׹>QK?rf7rRlFݩXJ=JeM6.II[	.`?<9ڸOJ~'HJ`>MՈmҧx9R73!~h)3&5/AV}y[yGGLFkN:4-)FY#ZrwY9'St1!O7[Q 30F|SFݓ*+2[QWqG1"<݉.q	GE-r+66
k]6OO3Tlk|)΄/0SoJ|"fJewA]:ج{uocUj^'3,bIˆ8-QU
WjfGi'9nԖbArMALrS1ci1zXyRbLAUU7ss"g#A)0#ȍ8&wLe?JLW`
-obbe0P<ɝ&Y@
,&h8#ٕ&P={*%U1UHNz
 P-֠o[݂|11vn{›a ٹ"Җ]7}=bW4.	kQ7Svp#^A鰦j=rw+]`}`c$2;{ZH +bEyC+/ JߓFd+4N	bЏpM
saeD@Cdlb6OESҺD4DA&I**+}saC,UbbT0ֳ`pGkqRjl3iQ~%SUlرSnhReXOl1&x\ɏa_wy
TIhǛIYA;{vsz
gYRUg~':dwYQHܴBn7
VNf@zo$
ߋQd廣p&
Y+X1{#}ŷ
A<زHiX[ǀ	ZvxY5t= jBL3fCysAX,oPIWnMB\1ÀF@	
Ѝ9)-rop.Vf^C<D(..ѧ<?(?MULK=h.?jvP¾pWMnQ1Qxk与x:iM}([x:&VA͚T5OŽ
>-,Q@<z$auըh
As\)n@
@Q8Jmb/n{o\!R40HE,r';$O
)-g55_b3^Pn~i<%
;ݹgX6*LI?/z""BS:IS]>-x
<R=ee^|>w01se@tb-MfF,3#^UT%W1BrE'}37M*mDne
a*{snǔˮ<z2g=ڈgؙW+Liw|`pLD~.mվxƛ%Kq"iyBQܔ%m)In,mcWʺҘ)#^Yo{sO}P]>6nȋKWI}y+3"1~4KH;! T5PB8mO+pV߄
=L6!ȶ3)9AI.0bYRFb
`
GgV	ηyPKLkii\RܟԫUdWp7;1/"`GNRt{/JD=yFMhCSZE%@沽$D^iX"dMG<sE8&lj{q
?0`PY:q$^^7{|Sy`kfvJ6wcLv)ibvAD19RNU0v:ۍ_@^Nuz%Ê_\/xԮ{}yAJ9%ON\?x
,!+Hs>(ǼX?)d9%G Gהo&fvc
B.;T]SѶ:n1E^yW).#ҎlTtmA[6:'5>vϣK1Wk򣣫,qvsF%3QgsGC2]>K~L4oh,
_N4
9"c䥄~Knf!ɔͱ{ߓMcy9AzY~b`ttѧiW5=ZCXLcMsS
E|%_vkrl;y.<4|`KyMdxA9
w})#N_e#BGPS@E/X,$R/j5kFl#(Fzf|scs21]Ld|Tpx
pq17Z)
뽕\_|x2xq <3Js<>L^-'q$v+AӚ(amҋ!n	yQ
0֗!e"
8)Tb"G8M;SAkZ*)+) |z:͕
_a5~ɝ
deظMWa#Gį)aV$k%w,ݓgPb'ĺjG`2[
&Xs;}O[?7ѧr12]DĐ
9ӸuhCU<vhe߮܊Fꩬ	hh}^:_X.p6eq3W4	]q2^y5wc{4ollzp|R	g^I,6,6/'Cmd`h{l^y2Vb.)
o_3;t
rf֍%a'’$m4c&m:RRYm;YF"t:UgY2's_^_ :yhVEwd!_ܻo6VY}t雛7߈!SKqeuƽ!Wݕ@OG9ۿ+)C9,t?mZ&|^k:o#7+n=<f=!kвŲaN\r$KϜ؎jsPon<%
P*<
R{V
 H(_@!ŗaw'0wg^XL3*
J<W@ -O'h8w(Qıꃤ BԚ7~i5#@½C@=QW gm<!-$v*TchgER&S*.M~Ȝ=$7xg·[6.ͭ!
~u	!?!
ɶKu6DH`h̎[&Ga<$L`h9%yOo5/x@%cd""a@3cfbPy,HMlW*I2'wԓc"bj?lf|ƻD7APξ[X[-_oj@ /W<סp"KP*qQuL1X9ZZVz]5/.EȢBN?s൥Y-%"#yZߏr%KfO}Hoe1uCPrOq\!bfL)ezlר200?
Gf?6ZT6b1x3)5ŧYƀ|.ȎE^ɀsoptNq.
RDv`$ā
l뇮c޼͠h䟥CMܣ;[sXNJ¤ϞIl nNS*C,.܄Y0֎7e[8ZᢺWW4a924^,CLRv"C5<%*7	u3Yq*39ANRT8?L܉N#8\2YzLj埯ê0Ocsc_}]!{WFe57M@!o~V*tLApZت0K[4pbgY>p~ 	(
#PU%JeZǘZ|m0!s{cx>zf%`[sw`D)W@'!~Y^>kz؋&A>5?NG8Mp<c$	ԅۧ:d-8hW082EK9H|\Y
	CVS$/:;?gAk+}LLGD^Y k`><S_Hźjeƥxe},=|Ѣu(ҧtL쉸&!d?ݹG Yx[j"o
xaC>;ʘHuu$amgѺygɓVRH+sΓ21"wc3%S
Mjl]L+\LD~+7PjHLYࠦU	K+9g^9Zc<a$ӠM
!_Hom\];5?mOzZ*s;>CˀG:Hhݴgjβ.SJ1\/0>ɩ8=[ZW#*I?^U+2Γ,î*ݎIR	 P0Ӷ.Vwl
ԍ:;Q!tx&#C7ǷSvM%V{i.x2El0,%/na-A‡c`dt[5۩ކ'Bo&*60UH*wx4
N*ZcVV0h|zq1^њ3Hbx)~8$.P0R0rPp720cabXN،;"RWY/*-$O0Y,דVHo
&cQ9="}U.TUh sΚ !!Lpmj/R:wוpe࡫_iUbj%+ۗ{(=C!>fʗC2-,p
ͻrjT⤱uZ:0U0m	K@^?|
@I<ǟ`/̹^XYrIse9<6N$3B"Wω롈oydH3\5G0ѝE5u?֬
GP):p65t5:5NJNk#sP^$q&Lg5E@
\	AG?Pꐰ/CШHf ;L H&7i&%"<`	,x~_MK@G]<1}psy4eď€5j5wg`G^*-N5h 2~H$!zuK|{-bl<>`<PEc*fq/FIחAZSF$	9Ay*MgE4.`V!eBY"LimO8O}F(ɞC:lwh%#¨s%+#R,ZJ1@HESWxs.AGpa:QsaF~G
V&W>!K~Ĥ-㘀P]s:¾<#*%Qެ$>4heS+i0~ANN֐`-Wo#e:,"~@HzjH2ai"ET8) KW׈fh$dAߔ!i0\"z͘&4-q|>61h"T"+kB1	,4F(śe8xn@0]$5W=$2kc{$=̼ãvKvRLٱ:c_ɽ#Rxg̝'5xpe,4dvKMti[3,l56\R(6%N$Ia%.^gXJzR-PSQвR](Ycm1x-ގQV%a5аTK%	lZf!8(&1
zS3FSYl)I*NF<JvC-#eOYxo.VJ 8O*xPxZvA9Da@EoXϾg4E]+@a֔U	K*g.i^IWcEPf,k\aw6K5-eTyi״Y$/KUs0ؽY1BwycqB#ņ;fB>-k]V^O>KĺZŘ=|l8T	B:>AkO2qbj1B%ƽ|z`0+Xd,,By*	08Dm(0F&X%B>нKXD:jE/^H:?Q|~gz;d %ZHv7`ӧV{ғ};n[-UrQ-mXxeDA=Dա8MPPm=YCUGoS{|O(Ϛ,6x=XьO_^@ZؕueNps
l0svd~|rHCcs#Y/2wg<gS".6z?&>қ᥺0CGC3 mPF} bf&J 6P_̖x.w)Ɓإ?ã(;foϖ–
v7X_kSJ3fSzq?Ն8zBFfN+v@Pda&aݶ/Zq $ё6 vB
[	bGV>D(MtMb^X)_TVsd/BYTzׇCs!1t
NC˸/9X4fRr`Q/ (^m0ӂ>t#GΛ}2ҭ9e);D	dtT\o!Qa1(8qm+1Pl=tHPYXnO{߳mPQvR_OyC0	r{L۳YVEՑcp$D8FuIoWT(D
ӹGfwja,Yp&QM{T$"9mNLY6W[K(1>! `F>*55UmkhO+,O.M㮯(:ykHt!
ªPMMui6ig%*AXҏ́^Alt(JV'f$Z&"X_=-o"7SEËl(*{0KFi WknU9_IvCL.wq>=g^8@ZQ((2o'/5u&o_@x+#Ϳ+ʳq)	Vߟodkx#L۴K.NM0ayֆ	X(vEvhګEsp&:[IF,xm~N^7=W	u~Ny v}Nu!P8Rv>5$eJR	8}#x4%R	Ezek8HST%)gTmQf+!j^Pΐ0po'u2I,E^'_VAB'+BRTEpځD
O>X>E*N|7y(9e!ՈpJ+<Z!LTq!iI3n'e5=#s0]bIFB,"nTkbTbbCh(vAbVBNVmr6d5OiCKs΄9^ih!Ajf%)"%ٜG~GuDƝL\C̈u],KBD5͉B:+9fA$|r;Q[:$	B=ȭ,5ʕa9*iR`
*}aȁCׂ̅^&1"7
ȁHs&#t"e0*6CI{]NpQOkD>>F"L&sҳ1"ѕ`9bIx5*U&I%gx~0A;9ABA5Cytipհt1mTiḣ%.3b*5%$
(Hɂlj[$<_ˈ:=Z aP&''4U*}P'\| rPC6:eC$WX+@9Oc2#CzDLc&ih2$Gx砤I9hMݣՇ5BD::xuTW=VEoڏJ:
3:!J	9pBI;Ogi(s0G+HB2-
%%!IU_=.̬4NB&	r@%E"M+ك!	ۅDgfFa9τ'
*Af3ym*J=m¢H.dA"䀫*˄́ڝi8I?cVe^EBJ;vYI)b$ku&U3hp֩*px@fG8z	XW2P*$Q??.Y$OH_2\˦ A7ʼnHh?পD҉䡉iIy'fDj²='Ӄ&Leԟ"YP6q!2ݢ?3A_љ̈HTi3eY)8f,X(Zi:BMqPLHgz)<D"xDEqͨ,|β|<#tB%>rK*]D2lƫ9ɠ0C_vFS"u2TEHSESI	䍧BUTy3Z1XXcP(FgQ#)_Vd-xMTXEOmwj~mDSĪ]fr@#2ZTJ%ٌTʼ,%EHUlU.PQ'!A~LS|Hi{bS;ذwbi}՞sEB*.FcBTiIq<,Qh)뢟%dgUe1SQҌ¨pC.b"-C}uBaIKT*5D(D埄)
9&-M(=鍄LO5Qs
T!{eը*2BqEzU15B700x$RR3L1!&h	HNB	\ppQ!,
3DBlGԈ l-
c$&NS$s{+!,8x"E礅G.p AT`6A,&_~ DC:Oae1dpAl3"o"i"; ЧN!`Q43*TPNX@B
G -'0p XcB!}L$АE*$mg`խi8gРVf᳆Kx
%3kAfj?jO]?B:5&v@=5xgРRUp2Fata.d~@S(2JP\;̶C?atx?̷'BT(	4gYG*
<_1s L`ρf3F"+YܰWv"C`3qJ+Gs0
	X@}!CjT=y
)>`,TƖ2c"MFu*8h	>`iLj]1
z@RU C`	;B?0x
Z3v "j	8fЀt<4sdBD@Yg;,P\0@0ΠA(?=?!](a+5H =:SQmAbb#~04$NV:)2Є4q/2Yz	3h`Hc9#TAuBcs"r1lWBAP!/',"Pl;OlM?ܟ<P<?Mp<Cރ|~+塄3hPSP* q
"!S
zs']vlv^(C5_x*Wp)06"r晏%P͆y07)}4sP9ҡw<BuhB9CPȳ1AOY>
XgOՄ}bbq<3E	H
q{stf~.\
BQ
s%0wą*f$8VI{vT .A&;S|	Ō	>D 7h03.kIP!>YD<;bb>HX6L K],6k9B$;8c?x3w])5{:E8-L-R]{jB%\#zȌNP1ˠA)PiVьPiu*	,uPÔ0G^i`'%-UUyv:
l{q4,@ŏK$%VI8&f`/`%
S;<`d_
 XC0QD1mfL1$Q7,`8! 88z#U&H3B%τHihu>1PpL"t)0hde'X.$pԬr"ilOvKEgB63)UUl=
Gh4EDq%jO^?+*!+DϠ{*ka
e/G(tW,TݼEý⤺)a|[?qn=#z뻐
MҲT謑+)$!J2MOCgl+Hnb-}E@#$lhrNaOGfP$ZY%f|ZXT"|֡l(LK5\j:*?

`"]N3
4gQr8P8C10N4cqIdH͂JW>a(1TW})48^+Ta++Rs0rHJk&D5L ia=INT.D)L?nO$Y
-БF
rgj^
uv
D>2
࢓ <Hs͈/N^>ӞcBjv0(rCS~`ّIjd"Z|RyLAfDO:+>MD
𦋘S`FȄD(kZhp:O
l*]%%p113j}Dyx9%D
Ї<&P%*i08DNP'd#yykH4xBDXC3F-#$o	[d\E\^'3PV=̦$F6"B䈮0ȁ'cƇi!~Be&Ϙf,tW	<<'ֈYDR8CŦA>ϣ4\VS!`!RV(aJC5QXJoȪUY7ш
>SԔmH"V4=;jqrX}z
k1ř3-2
{Yr嘸`}};&]̆qddYiÒ2|eV%
bDLżZ1VDZW8'N@#4-I1LnLQ9T؏[
\ɔVĸr'g=*Sr\2ϠץIIyMOŠiXC	U݄Ƣ;FP%#prL qqȧ.$^R
/JHs Jc哇+ہ.r)wxP:5DBo\j=&gѻ$AfD̞T(*ԑk,+W!V[D5	g
_ꖊT}aB[GTO+m!EӼ <'IXß)g8C3Q7'oehZ~Kk}A<lJ'Bd\Zd
ͩj$p.\
M,"D((%e(Ԑ4&!uaCuz8B";dD1_N%"%SP	I*|*^F$aB1
Lĵ@AjLp}uETW*
Ra.Rl/&l*ѐIZP1*Zk->RVJcVc$s
<19ΊFAb<#O&;̰8ZI6Lp|MGCU‹*TG]<4厄,(zx"$sN!B]w;ŰfH8Vc5#BT f29jX3c-V;]U'e1*f1d:Khz"5i+||7Z~Li- Y4B	Ԭ;z"c!3!/
U{L>ҸjΒ>wD` DgB")ri08jipG*!Zr1C̄K#!*8}
&Ol]qdy]锘IôPb*m!,i-+&%†l+#p'Іf*qQl!lAFy'.nσ(]M"daB*:L	9OMjIӋ4qR\Bv% "<aщؘ%R=!&`|D[YV&HAX"⻫YTOuIW"*U+SS<փ$C8AfdȐqEݎs(EDgxjFJUq-"Płu*5qPKVRţ0stXCJ!;zEdA3޶%B@E{;I#0XB1Q<u;;5A>'V!PDPDȥ	*n5B*ӵEED0BC6xPKE (Py078]urEaYVAfvV<`MC<jYhD4Y
BؘuNݞ?G{_"HŇ\CՖhTY+j!mcbIJ4kl3uVx$%#VS7RbVp5FE<1-KAs"+HDĐM3]߫1dxZڌzH*Ą0Px"@34`uH:O-裲WTb%]؂rj*:5
NOj6mS1dDAyH;1ѣ+3ġ2Ktq4aPBgMAE
f
_}?*k%x*ڃO|Nj3%t{1NQ$XѪIgPLr~TMP.
]AwOxe~dha0j$vTpM*W`ę!S6pRQiXOg32"']!ZT4e͡*PBOUMR?IQaj8SR{G]qh@"⧡2VUU,OĔP1K>ba-R(F/
2ڦO@tH<>W+`\gxBPp]bԈ;et:2+*t$CIyQ3\@#1T	ͪ-S9]Zsۆzb;ExV0G\iQ1$ziETԋU0,Ӳ2]1hL=ɧ5	u7P+l.mo&"wt:GBz(#6LIKͩ
62?+y_7&*Zb>!_TE0hp"
UneA33E.eYOB
V
qb(#d>RҚXg{q]ʐL"IJ%
Tʈl5^ֿ#a:c"XiɼWuVC7^@}% ;T'i;">n!=~Tq-5kV(t&*
j6Rw\"!H~S:ȃqbnAɧ"$\XP%k/t4ڠ.'ߘ!'-dE:Ib|Q!X"&,2JK	ď*
3aQ*f4<9?"mSBI"FJDx§C?~RAxYYS*@S5Sf闠;H?C#F+$S7tk̾Hب?h%hBJǒZ _?%&5Bt+K"Ud܂?ԭbDX"dD'J<_UNrL·q%$ˬ>5a/	
bt{~qOZ3ɩCNP<31tRޅ7yeCa$RUas"m"C՟D!41TR:n4:ICpaF}7XCLIrfBPБV(DK+ihE6xQ~L9K~GGB*PL!Ȉ"J擲S'	|Is1MşnNAW_hU5Z8h<4FEHfv-B3UHkˆYFHdBx2(e*Bn(D^Lm"G3g^aH)%м	iL'RȁDC1mTP!	!y8vW5wX#LpnaX&MB	3)F3/X~?P^ JFHFrBE|,BcSv8aL2 ÙW_!%T3}l+
U3qUT55μ(8K4NRD2d!):䍪吓$hz%,28¼^lZ$qIE^BԾ2')ՄHХVrb3EV:/E!%5"eWETm$[ ΋SRm/I䐪Fu	NE%.#7uRBgpA8,V0ӊ
I^]2!xaLܰD0R~e'z }/ho:8m
	񽊂SGP"b9kdl(Ǯ̸;Ͼ[fM=Π5xB@rY0<Sd- )la;=jHfuIVτTAHU`'jڄ&<Dj2
@PeV^5سb}+M̈́XPbw7|@CmG*8CȤ~8ȥ@~*>X6>)<L	22Afe2IԄ3HvUA}ӷr&"g`|PؘSP|K >0Ư1y
[abSAzJƻ
9x^adYLJɁb'8VBZp
x
"ca>.y|*S`g.	gЀlO<#Oh}Q``RQS-+zb65i y:0s-扑3hPy&PUg#2h1KC	{[sSSCpVj*v0YҮ6e+
lG1"PˠAfC)„cNOD|`&Pᢙl5K`ʂ%BX4	Qikʦn&F`ӺF0L;iD5Aڙtڶ$qi1TxZ=&
ږ(*x`wa/t/o)eЀ%	
RCL(5PaBDjZRᭇ:]N_g(y!GJVHpk:m7dpR4%5i(6Rw
|3cˠJ-rM>F3\ P4񄚩u*4bRFcz K<&B
c	^^5eOA	
)4 Y*VAZ%.̖B9خl4#0®\]	Fq!b!ϛ`7ר2G0>=MD',Te9DC	p>xA/Ü#4QY AhI	;&
EK -hEGWA87r܇1C.ѠE	,f(Dy#GQ	Ä c`d
$f d4N| 8L3RC
BsJl)rz^F#PAq'vۏEJM X] "Q(+X+&3>`En6ұ@/̈́DN9qf^zi3h2eӬ&-h8	g|*n/f Bgb=+!-0ΠA
/j9An	hqAv
bN;|I腂wtˆ4YNWgDž{B@7Y"jB0t
&0:
p"8A:@
 % F
p"@	0P8 @F@
pD08 (R0`88@2h A44{HWɾ%3]&M(5SXY7FX˜^RiC8u>[1O91L{iY̐Jj&_Ss⁜-<TBےEBܓ̙_"RT5	'JYCyb"f(z)u?4$iQPBH:q:Ask&"aesQFW*.!Z̚'N8'ڒ"%_eY:i)ݲ(e	DE<l)+t7X-+xh1ä%zyeXጵ|d$nČ
Rj5AKu4Š׆BHOD3H!T؞001	m&;tٗ !z9=f;**M{BDH˱7x\H)RzOo7_L°*ͬ:D'kUsHMdJ2PALRy׾Q"2AokSM4	cfIU'@X)'2ǕN0 IioS4dF)(>
a.wuB>EPs8a3-B]VK&*J쑺聊\ԍ2(z8	T镓2J+7%bCV2-
DۦzʄNX:F=Ͽ*m%]bxQ"bǥi0%^	̭U14lspR=ZV#K֎H@_y	e=HdjGa5W״bHX
+ʾ0YX.JJQ{e;k8$f4zհѱ!BL*t:}o'k<$aS@en2*RDМSdfJ%A#2Q`,CrQ-$͸5Pn˪K)˭z],iBh/dLL(O%TE	7B6*
pk}*%$d(iCڥ17t9#d-LVFYL3+5̔XdΠif
6i8))ڤF!SWL3FjU 	m{T&q CO+jܦ†X
#P*1qkOcD:,!(xTR_ql+LE8>YY
"a[:-6_
YЁQG 7=dqƘR#FV
+H.ҟ֊V!䅘h!4̮=6'O*$JĴj%r&AByPHeF9:_h<PJ5K*aZs56ԛBjf"A~TJ*
BGBhX~A~5U1B'"
)_7P0.u	t~^
rҨCt"T6DmsDdTH4yWNL"*ԦiYd6`
4
Ub'J	.4%L
񃜄ؠ3%\:@3e=bIb=,Z^R5Qѧբpԥ**>PҡE銸D萱/S4A& $(^(
A[@I(/քE3!yNT`WeuX3hP@{p
 N8O3a@!0]0fxXuв*H-*B,|e=:{
cDDLA7XFj[&t8qlAdV_8A~;33hpG
1eA;ڹavO$B82h064*gPVny4P4M3Խ{*2m׃
?M*DP+K8ydwY4Ec
jGYS(!ܻn׶m[Pɴ⧪/1"sj
 o-AI7¸n7iҜZ-} [٣|axh0s#MB
A^va|Om.s5h.=h45|'d6"ese
k'ϯ(]7qBS}P4k
k*ڰ0BpFpa(VG(:I+4Eiu""^^(MbA)t:>a|qӛ`yЄ83PFw-yDAh|s%3h0ѭ(c`]"F:5К+}qn
	K;:3h@ˆ(??Q~TSPN%.j^AC5\ɄQA$!f>~[T<յY@0n|ϴFYw.ф``(+EYP僇2>eXԷsFLZϸM0p8#8pi1[4!Pe2M^+*j-X'ęVj/׈CFmʢ 򌾨QG5ռJJ)-咚<tQ$HM8DELFzijRqJ+*~x>RR⟑YDPS	MUxHwdꊘ)!Σhm4,N%%Dld$:3>5A:ˍ!!RbWStE|r3C
I|#WC:DIlh^Y&RGZL:ᯖ%dWj&T5sJJK 5d8!ՄⲪEy)KN¨8SUYHP*>S
aqB4*gӚzFkB3%E(IB</qZ,"W	7}ѿZdJBEpB4ֱpTn4EhQJB1F%VJ|fdI8JDnrQIBxP9 "W8Sus"YVk,R
eD͢:UP0F*~,JB02 $FWI!p$=NA!V+_fЮـxF/GO9Aꮭ螤zu |f4M5DQ9`Fs:F
(6C:_vd!bM3{0[a*L<d@US{OYa9M"Fps@Aa
5w''>bČ~'|mPTSa9@:D7G@y!_FQBB%>N	5im4Eg«wfty\S-|"uva _JrA߀U!E)N0b(Zp@`Jd̵;zjBS-ν]hhI;8&~Jj#
c@@hRh7
H`$PHOD=9GCQ
7Vۈ#:+Pmn@2Y= [GHC"-}@p9ƥ4jlhmI-yI&\6o?#t1&_o,}iº08c 4xn̎^d@u؉˻$rn@*m%P#OI~"jY+MIA
A
2meo%2ͤcuS@E5%vN7m]@J
@	.}el]]5 c>jj05@E;.f u*PVl	)HV+@tS,cL^Bt~y
rۀthrNzfTS2\T1~>t) ڀ|YIaO >喸 Xexm@lK
[J5!l ufu~~KT=!-o:63{GbX>NA6qՌ
R:؀$x^^y
(IݧtOMb@(P“QDť7G}-&'6lgǫrASuygv%gJtZQ\ao@Fo7X.rsC)tɄtcn@*[b(܆PŤUA=aOnaf89:t}_NABaSi}(BBv,06 ~<H$ϳ0l!kXـ%IW
S=Xjl?D Zi)k;`Ow˓5XJUxEf)k\,v#55/_l@ͽ'hYoǯLy9!@OS\Jޢ4?
̙I[A8A[at`J_(Cayt4qaK9Ǥ /l P|ezH#"Lߕqy̝TK<L?8?z\U7F`:%TP:_àğD% !1j{S{
_{ڀ4Aw܄u`M7D²A!Vm@vƔ֮@d>v6~mC8 Cō"[Vm@q>U
w
'tI0bŘn?cAbгt"[%yt~Q|<
_wV)CF۱;$r4i`LEsAiJ@+\L@i.s3TbYJq@ŔpՖV-KcCQ"|k(IMUy !(' KgʦfCE(.0HU<-ހ<A)N7 'Ƥ(m@\HIoO.SX0(c1÷:ɉݓk;tl,rjs"r
3H
ؠ
M;N*9'=$xJfPٍ0D7IbʐgA5]AQ-1@.n^_xP)`ַbt(p
$=hG?r 1>F6:ʭrǸܽꃆXm
քi](
%@$Q4mY)(5KfӶ6zV@\a^«n!:Oa,UnbىZ=VJ[D9
ـbRYR@/F6 Λ\dM2-m~|6)YtBEETN-g
mhBP8L
"_րNuF.bvWvkRHl@"^Ҙ4Rr1GـicY>"(N}t+4X##p,"q/-&GIdMvU	L\,i #2F*9iWyVm](.D@]W`<kGz3C&l8/Zaub~ aj>Nԑ݆Q~T\&"8]t/F=;|l߇ϱ̀80K9p܎o&*΁ĕ`> }r:
D2Zh@<l2ӨU5%}[L>siRJAryޛ#V9آj@JKvC(c/!?b-8:,rXY߃Q^7'x4GޢĎ
L./1)Wu5){Ek7<Qk&Rw֖tLe ER6T*&P(4DvdžuLVB{I
ÿFt ^7Y2QY]O%Dc^4AP-N,N$lYo|
Jn緯Uoz/ǚ]su~^oqnjj_UOYFFO79W1egub%43jAۘX4 AQ3ڙyp$!,!I(PggSwI㗈
3)BM$7eN)D~H]R9ƘD)}H;G(rs
h?M]1hd¸G׀y e
.G#xl@iz-3%<rʽl
u5 aeyO
frzB>6SNhBOt3ᵔ}$|d^xCV3|&SO4{,*1ɟ?nzk@	)j߃Y%d[\j*Mhb<'3ĸ2݂AzK}#JR%vaL֔•M?jg.BC(
c>^Lň;Pgh@?e"Q{Rۏdy(V=zⓂro?ey5kq?ps
}Ԁ3'2$ۃ1IpļkQ_Jx鸩EܠOלj
<4尪8G$&zHf!vvc
(̸$y9m$w
E8^0 YB>IԷ@- M:ꆣpT	ř]h7 ,wOTY$>.ZwYC

`{Bf>҉WoF$p{iHCH\N\~@QOЅ~og=WGTtW!
(%["ya,*:@ϖo:s%VՀXl[E8m	nly^:9GrL ޸=T<AE(|L1.D$O&U
WF9ڀs7<Ngh*T:.Pڦyq.2U
W5P8#|(cn}lh`!E;4 NKN^,d`AKb+hIk.$UZMp[]׶<`.eҀیIf>c^=#7t UQaԊ# Ch@$'mI<dai\%Eĺ`:[dlOu3 1\2P-dV6T/T'8myX/>_CLpLF3t>NRd<TǧKoqot	X<ABHG-_ƅM}'Sc@Es'g?t'*96lV'/	Hvet
H}!	dyA2{b@%١=zե6Yxkܫ,kIz.<2svdO{:SpA<g7߁$xaƀm7z֛~O>㋿w eO@D`Rc'l
fBBkHz(ƾ%"d.@-PZJ'1zpy+GAA@12cQ]>"M06]UE
jLϙl~PzH9@VPŀHsѶVԌw!'\à
ynm#}I]!"|%?8}y@uf@%eaA3L"Ԟ J"3PRGL<=;ywBK̵0os
v=*%6
T=@wW&9**Pz_+Fd@A@gώ^ˀ4m%quű!q'b#KsЋ1@Kfw$sfGHovYZ_OК2g(O=&76)f@A/~Ղ=p~d0 _uw].Blfh+Nq,nΛcu;msgPqqc]*
!
T	$z[cpM
P^s#vCX/~es-jY-`5-*.*h\
e@l5e1
{!ie@N[JVɀPL}~D"ˀ/"hr.w4#u/fu)$P
6i;B1s-S6?̬5
2WDa )`^/kd˾mv)r6h@]`4NX!l'H *XQ2mHuct.g#Gq5?-d:4_dPe.ј'&
9\;	Ƨ\;rApWq=c@iA{ustr0b5Pq
GTksonjPm!rL(h$JoA]cl&)6M)`7kYcX`"&6|]3xmن;KNT\B<'f~"g]kR4R}Z
R/w@LIG!Z͋b̎Mw])O6^W/T^ ;1VL["N;_'/9䔶flgR	gMF>~XY'zoc_EAn	x: rju{!"XIP[Pj-TDf(bT*szF&v	g(<qdvyF6Îs$.y
2
Pnke(R͙uL'5r^,/WQ+GTg]h}|),4j*%5ncpEOjOEh}l!	?Ĩ7C&鶛g5'$&OhQ̏׽zwjeLk#2+K\qQ@6iNn<DX7	E>5fd.\{&'`(gORB
ze!b"BbX=};(Q!N%,qc$cK턾yv]6rդFD)0p?A)TXFŨYlA6-&T9ikvQu*W 2/-L/L([<lGJ@} }LX)|
jHꞙctDe i9/:̂S*91Y(, RM	}*RsfKS֗U])(pJ53V[j5w4	!_J8]DtJLN'lYwFDjxniXZGi4IǔőV̎R[ȓf.+\OuO$FYv#V,0DeJ*i
@$ϑ!I(jX^*_bi@GH{IA^_k@zp
ƠRB`R"D].=j#AI鍥ި$_FN2f5"Њ4p0\
3V}0Ѿ%܃Ѕ;+{Ftؖ

bs)mȤ@7MN!u1FnqIT	r"ai}3.[8 ^XA{r'3y),l$^.>T`("cc0,/iZCQ^/PQQoe}XCXvpfuZ*!c5b3]DlsX(#D?QAP33аfTT!a=F2!8VҬu*wݏwNvD&gɍSGY~qaՏxҥ:":b5ΰLҥPʻo,0yTs"c[s[3Limhu#3
r2`.lST~|e=s/H1821< CJ #"$^Ͳe<_7FuLq$.hW%6*	\|Y>V+ˎ-ȱXD!4k{DLM,hdFuHR~I"~U`zIDF{G'/BVYЄn:kEX$s(El(8	*URb|8?,sw'Z'x
&X-~	M>im%$wL(w-
:Q\k˱zč1	j+p8om,p=5R-|M+Rr&*qT+]B|Y9ޮt̑mTE/-lEQw&7=!BUK)+@+no..\F)BJp_~1-l-Ԑ.vLj[_=^+HCR58/yY|4Q&'U|(a:J, KT$~L芧&B4"%mrYqVyGUpn;8A-Ma2plk?;k!Ymܲ>ėihqa-hN4Hj3KQU-ceOݰa\O-25 *u%:75^X$mW1U'C3qA&L=hv/x+QrKg vSӕ4	~//eit̼俫$yH
VF0tYjAyTW6+Kx!@P]N*Tt3iSTpDOJ^`٬yWGCL$ja߸VB4%
*HYԅF(e~	7-ʸTr.xPS*t@@RHu``8@_;	(j+D3o)S+U"ꖡw]+S5#Ҭ09&9;I@;$5$t+$2إb@F$8DHM]y<!ި_tږ<.Ax"9Z{:,O,t! .tt5Ѵ>`,\!c{>_aex&ca٭`S,|&VyrITz2ު`|^9y@_8x"vEQ+1`F3]}8WSRH94
a.gtVD&Sd=G+5wY/YqRQd3b}m?+'Q`G,P "+-NT:=#&H]5xJnߠFV9>&1>iSVj^Q_QUH"(bN\\1\F``F69`,?eճ_qT}ӈa(SEFʕrQ얀LtA'O*z,A
	28l1G`zQx>>>}xsE鈢ws_oWqo VۍuvV`$ΈfT
)

LVsh;XzkA*M>3C,/8Ld*4$x74+!J[b#5wFbcBE)۩+ޝ  &OJhu_+̢:W$6(\J2P)TŖ'hqBC01
D&GC+r;1΃2"B);V]]ȡ=Q*NMcnGn5YprD!W8,h.|Y';exAkؓA3JS"DTy]ŗ8Ox~$1-
B-oeiT(N)rz,aAF*\nff7+F9YʢG'0Rc+z. 389q)"̆~ŷFiO<#
@r*mڽY!VTΰ QaA~8BC"apKfPZ@:c*K<č_捊4`PhX:-^<4L.Ѡye8֛sTdӋ?B#iE.ұ.n^qsmk
v9>\5&켍nZ:A9_(ox}pA7*hV୫PC	i)hFkz/ᵣLU #	XʠB[21D-^>N*WYSLj<@b`@0үDy	=#,Q
776ڶL0ʼRBj
uJ| nق$x*^Um@_&k+IUgZ$)QnJ 5VQEfID_A24>.?=Һwvn0Jtaɴۉ5YHNx0_SPex_rb}`\HUKN
EώŽB!dF%GKVL]=?aEC4zN+ wR #R;Ip
=_	.=Mt_WWrɄ$GF͹'w0IfUOu),z$S䪴l9:+ MePA3)F+3_̛g	MY^!8ed=Mk=r[v0\} L`UѲLmPSΉo'7h)2ZIA)L[b
Jɞ3$Pr1 NR,41QWl4Ak042$Q=_&DQ;k#!*籪dCw^$v<2\E5J1#2=33s9@@+"S8Z'k*	KtLWcy)T3%r5a
%L$JULTDحD@.M`7^41"

h5=ECs
E3
$"	+#@]G?	یZ>cIAQwƧ҇C(
JD'~~lj@	.iP(p/냻ytiTϼW`kEi[W.枉1WL\s$T`&#*5TNHt‚ge)?T\T Bt+mj?`Jz)sin[9%Ǯ?@x!\hԍg+Gi俌F[_ˈ pVwvhz*_Q;{ŌœtQnCdؙ3@X0Ό
l@5Α?ZRG7&X&<[&AhX>y6;Nd:3QhB	k_d.fFd{@]m4SDn\zCR{Sv⍘gGّP(&Ύ%Woޑv K(Z던w$. b;
vZ:~Go<;39-	ZЄ:&eyIhsAS R('~8o4_@FEZ R+:vmzR4i\t `flq?H"qDСm\[ecokP{ICa3YPvF֭>-<2:QM撨G.['emy
J(Gby{@8K`^w2A(BXto,cN_jڱbꖁ{1Гвoor@c	6>
t;%)r{XlEHRT$cL胨W\br1<(J1Havo0X@5N.!#1rs
9<Ub FC'Jh1gRvʵɎG1Pej]J\ @AGۜ$Ć6(O&%3:Zun.iPl_1лWSt $$g2PIW9߿+OTP(*ޥ2`f2yCf*2uOp07wȇKf:= ~;ѤSqڄSUX'+J;xY3GKڷk&ewMuLE@xY:deV73PIޮM"ț7^_՝Þ!լeWfj.4<굏Qu@@Ǡ_yKT@fm]Bۆˆ9tV
t.3Ts!
4Ie~
w`+E׼5jD~ÕT'b3J@
[j?4~l FʟkVKMo 8[k;K^XְjoRnΖhX<`\CT8F܌s<^0۫>$`OYtoS[;59C
QTz6B/5m?lU\!
  腣V;4,&ot~,Ӑv;
l
7|ށ"<t
	2gv;_ 9yoӖD`<q@_{R/üW5sLU3f!Q0s?b&&pbd$|p`'BI=9qAEտҟs#bJLYQ6S2<``ѻ|9Y\1y{Łp6.NeT8#
%3!38ғsIB)(Em:r_y3hr͠iM:ђ,@dyڲHtBJw+
$\db#krSU?9PUbQF4ª
t@ܐ@^hcQ4["R.	@<D
ńK`^r<qy6a<q/o 5T(d`@kqeЧL9nx`9>l͛u@8PJq i$@1eÖ[zoX8K3pbê8Te'PEsDN9P~19*a(nׇ*Ie1t z %΁`LL(@mu6qp@5C]Z\*΁F	+D]Nzl#ӮT/_I@_GI|{]	IA}@l/8no L:7PZ
n
o @tRv!hO@R[⹁Ē
2P@QHA󜵁h<y
Drm OLT1	trX*y6P͒b]cud-<
˻1n&@Ebwp]=O|rH/
c|B}?nn4#C&YnmV~f7!NXt
[Uj
tZ<[ !$~T#P"ndC*!eE{)>.J
Mq-cX`Ȳ NRҳ@R@zAlƆI'G*X6$Ph

gf!AE!ȟ%	屁JPXAy@RJˀ@P)GG9Ӌ#XcI":,]=h%#/djHbi$ZrSJ6T)ڽIǽ@PuXfd3sç1}0 
W߻~T!v3ӲTe@*6zp?.
Zg6'rOLQ\69@Sj?4R7SVij]!/@/ >5o
5t@(%>QӇ!k 1
R/;|f76Pl3GVYB2RgEbeZoeZoK[]vBl}3HQ.+z%lyGj 
~OF7I(}QpVBCҾ
jͅg/oxQR@0L%y`<nM1>qVnv`&m
+, Ep/rTdTܨ;@yhL_s%f	#h4vrW$^(q r(b
aoo&q2UCؤZ@Oz9K9E9ӽ@@ޮb@-@7G*1:qhrgAPcU
0OrEgq 2a.}}Ⱦd>͗w<[+5ΟPFxmm2Ҁ(&!#-B79@ipP_jq† TAt@NhG#̖'a(uHġ:$8C't29g`$JU0UBǟfW8~S@b@Pbjpeα68GR`xGg:FrkXijNMoZ--Dؘt@7T'@bW:w)pāpj
tqK;@EZ!TjQ"8w37PQaZ%TqE{bQ3=f6W3ΧhOahSnƉtDΐ><5*؋!'gGM[9(JLp>sI3N/4R9@
C{߸gJ!@ԎzI`+fr7P(h4"gA7oVw"2qamHj1 hJX
6<CkSO2 (Uum >׳(>coL$#`@mP7qºI3p@K7P6ˋ*3qa'!@p+?0NboȖ;<,n!80KH-2x?8s@7s?#oE7dL6둹a6´FHЪcm>q>wٴ9
d9YՁ40n}x;h2(P@vio@&O@-3c6P.:d%i6Ђ@m=n{p@ب:@;I?V1>@%#uFH+$
3ؘ|0
A!%T?Ȫ|U?T`
K
d6:)@k>Xſ[yYtROMw@Fȃ2+B%k4=?dyKQ60ȑtTyxղVSB[<4mvBl
엿,<g5!u(q1"_fjq]SaWz$k-B8%iф@◤%.3
L<h^4O@&ܬ3CZ$`3Eg +]17!Κt(]3rG<@K&
aehI
%dð;@DZe5ulQbz,)h#uպÈ|7Cӥ_~8嫞Mm;a^teIx@+m2A
٬HϓJL삩B3
sN;BdSD|%eXp.ixRҡ )P)!sZ&
omތedEf2P_{Qw@̦Q@'{tEEϔ2U;lb#GH_-Nܢe '<_zWoTAB$d&H20RA<;~˗ǞB|J?1}'Mpo|	@6L~qpb(@w!Hf af k_uLh*c
Te )?e	,~e Q
.ڠJSԘt2ްQқ%bvq" ̣tC4et@2PRiu 8V4cVm3vtN.q{;XQ3{)vxNpF`t%X"߽`t;@e#<D|70w<3P
gf6Sl\7?h9AD,㊘y`|ôk?sfGR7_jFrY}(z^6k3q_bA09cx*g;l_Bo:*1\@wC9/*PJ%o(ύ#].V&Ux-jң6ajRwF!߫/1վNy@/1hIG۲yf4)
kuvbcFǒP~y7u_n]jlwC_
X=6)\|RΩI`$ؔ
)΃D
7hInBaB-RzX'Xˋs4oA%qxp?81Kn7^qX-
*tNHqKK4ρC&s<!;̥
.ɋ
{0jyJ79 Va'T=Ix\ųvhPc691@t|t) њ	x^"¶XKXYd
RA}/ɈzM5#_UDiu#+80fqwѦ:s㩰NrXc1.;0ފ|f[ H:a^熄wq@iE?M7ҢU(
D!&ZR3%l=Xfj
?ÛrJCxlۦ'*RxjG$HEzNZٱY'vmGIa5@V@$@IJ@dsϸ<izwAi_tD6/oCI+5̨NΟ:~3)܀\{Ý<ɗ+cy`wf0v*/&	_BH
>.k8I]#
cf2""I}2u+'лV=/bjۂϪƖ}}#XPxRngV}S:hCK	@C?Lnhu]KͧOu|kr1InҁVQs'Jv΀Η%)~:	19M+vHلVE1Xsu%-8C@o*@k:t'YX<ij|ĽF)y@$W!zGpZ.\0g‘
Zd|*Qfʁ_p@A;B()u`M>4ז\0FLJ]xdʛOr:KʍQ#,5bM[TKΏ1gK-"~a<ۓ+
[5@3-ZEmwt5?0'܅((rsA@=!?si@G>;
8CqAh	DHbT%xɌ`Ҋ*Bhcfx@DN_3XyUy9s?`/Ik';7|v3v? EBšֽ
g(%n>Qvz؇t&R	90Sg(gUoAt&%	^N"4ҍO$X}Ncptx*2Ͷ+!JM$3I:F߮Nȧ겢TUf/B;y8X<
xVl.rFm2`"&{39ͺ/0@쉅PW
Ԃ鳊)u8z*S|d%:Y1rF'"FFҶDiٕp+t(YzZoD<`3Uݿ$Ns#'>؀g&
>g~W*O:[>Yi
(L7U-<+ϣZZ.MTDBbHD8[\80Nð1f^elGr>͛lD_8XXT?BH:jN |<fEfMPx滎z\}N PGKݧngpUf?ݭgqwjZ]{fجur3tX eҖ	~"WʘO,`6Hǝ<U8R출pQ{N
]☨K}u/D'm3%Rc]nʊ:2UBtOK~y}JYª,MJ6A}	KDK)H͝Q>2kЦvojM6Θ_E&=A0t+?5
bpV.8pyXC2,˵ëf.tzmZF(AWƽYURΥ	{БqSܙȹ.#UWxf!
R3gKWfѵN#T4p'A>_*e
8SXĠA4a!$CgZ 1nꇚV狾"p 	iq^,h9_̺_χ2P҄@TA14!%@zM]'$	]]!F#|
צlн7tn@v=%WDkؒOEv^a8s*	;Ney:-ߕ)ĸOl&N)tSux܄VFgus'	<]n	aVzHKnˢGKE\!ЃgP
͟uBX]G<Qe3
&B!)Z@MdF;T2%쳜V@~7ųa=7"(k|>y!	NFi<)v3(׈T`a`kVyeEi	
=O<[SuP}s?=xvܘCH:Ku&S&hK+;
a]B	e `'d|nÓm9t5:|ߚr9(8K]'OȜQc>Q.[h{y/`Lו4r8Ly)	%%v)s^16vHӁ{aw*HA?pE~$##Z`v6a&(L4!VQU
izz,m'hD:2zi6.1x,[7nz}.4pNq)!ŠK-q#׋kt>O@	m3'xP	ZWVVj #amv-ۿ厛ȟq7~D1O3+?|O4>JEFyV@m!Nfe5CyHTo)^fF#WT5qGZIYM"䊞ۻai
W4;,vPG뾌JnƜL73ՇgoM`"xcܼv|"}g$wA`K{^1,[eBYbqFse
֎rGKb_JkqfȮL2H9m *ָB#ߊk~r1CRjg܀mC-˂Xt1c){S"bG*o!oqAGgaE}S'SqpEs~Nh?9s
endstream
endobj
253 0 obj
<</Length 8434>>stream
~GmTW3Ι<[ShL[25T)L.V=,HZt;v֖a*-ユ?UK40T`HPML5FCbP/=Dr%H$u70V~b
sޱj.oKצϪ1_Fe0
"Se90<Ss[
>a=E*OS"x;3PV&}5-5U6ZzhJ[Ȧ?枯Wb?A
%,\qѻ9ݞcL;8ͽ|P:ͨg6!wrfU4WvtGᓠ^}aU身ؓen	0JD7%`}la{TD7 n1s!nAC1ؤ4&$TmBҲY!/CXL\n
$S9sܟ~
>6zkOFpO$)/ϑs˪"ԴjΪauL׌l	HRI@ut5(xTJ,
2ࢥE/5&ԣ) 8L^!q:<w"h]56;م^
q\_jNdQh߯݉%~~+jW-Z3ڱ8T|>Ny@]!d?5O*p*Quˏz?20JM08lT;j
	w"aj`??FS/
E`RM
r}M0AnZ˿OmWRba$_s#߾$}/Hfkۏ⥯RxTx*0OIvA!(.)g\tBeM
e6هJi5"?]nԀn _T19ݗw2I7
!fvmz$^6N?\U_,5Fjm}.D@YԊM~Bbl#%>>p&zlȓ6:=G`5[iإSv_I2~B+H2&*${aLb?~wA$uMeZ!e(lyCV%!Bi^)]ZƔF+t
lĎzKR᳄T8w>]x6^
@b=Kx_$?w@
BZp4!᫩ơɀ`.5Ic
eE{@;"Ž|a\7aD{NS!M*/^HsXY:=}Oh*mĉxd`n,4:mUy&nyre (XF='G:~/c/cYA7+Jltc5;۾=@̀}ƊM54+0լ;bebC#nw9+pŏ+I5Q]A;ҍqD0L׬Oû$,镒2+{)}إf͠|(hxg{-r2|(ߟăґ][iTpϑ}9Ȇ@GauuX<-rERR;r8y"(&}huFBxci5%7
|}tf|Ӂ$Ñɑڽrn;HT5@YWBo.PoЖ H8KphdeOiiHSՔ'k
'q.;#]Px4j5U;
Ig04x-0s"!w4gi,yMpd?:fb	Vv{/26&q_b\E{j^u)ql6_@:S~.i綒*~>8IרIq
{
D41-vƘo8vUyZЃ"<x4u)vt"LS{a%%wi
iB9X4ǩ^RB5
j.vF$V?HQhd	;(%4!k$ndÇviW!匜míJ@ԅ]Z撥
^!y\
M2]B4{L!)9W^(f4&B-³6ֈ]Dq3r- <%"z-}
!iHc3[@_T
>Q
	B:5*TQAzS$Oۢ7BW41(Fr1X2x uq0YN=ů=UV&rXzԀfhZ+CUc?웽LܣxSz%=2X}fM^:s\I*'ǫQE"?^QPWE:U Tths@):1$V-:!cE#АW6|⒲J%d`"
4;}GF嘼Q*beش>a7竣45ׇ֨>(YK_sGSlgsPé
Ls09F;jt7b\Ʌj@臌,gj^$h@"AŁWװ$0*6]0#
&nFiܒ&YC`d0C<3
_]EeCDFLdɠ1<A#-
9ՋZ'";ҊӋd0IK`wd:bp~!fYʆYL,=1KsoK40,TUX2-].Ӈ&ND9Q㖝jԒsj8Yy#8ɡtROvqCtyHOkWp$!Γ4^y(aCakjYuz#YDګ%C1Z4Q.<5cS4RpS#vCrJ]g'=CGb,Xv*HPU#^(p]/Z.r.5
hŌ831}+c1V6	䱐~jwJ%#(%Vr0Ly6aL=U7./$ti;e݀?H)_>G++2$`[\o\ឤH~TAi[ef%/=pND*l]׌aS-c~`NIf$=5!|hBD3HOGG@]?@ę:YE\I#"tZc!BfW';ɭITI4_ĹM.Xio޵<Ejmqw^اŔOҚȎ컪/_-	ńֿX
p*mX8T{p:GoHv?]pPSCCcV=t5Jܪ"׀PW~*}Ku᮱Fi|#:hPt<M"#Swk.0X;Fr|¨,܀k8~>VvG~dC3S$@|N}gyMim i3cfYMV#-0Z;C2&eWUdҎ'hAd5"m
}?#4F4#~ц[6*<@RKy	m^`q4b-\1
8e%zU oThA|$j<se
}|&:pMTɓ_%
Cc"S,9Dvnq!vW{N|ޡ](zrxR,<R'Lfu]b-J E\1O8c5>^T	,3'!B8[e!⫱\awtDx*\|ņBt{XL5tZS𕞿ܘ'tGq}_GGu

+ů'EiAq=h1vG[4%lDK3l|>z;k4W)2
j$!0_Է\gJC`5]Aq[7avT֭׵o!Չř;+IsF-fq]<B#-rzlʿ.enpws!+$c1?5IްW}A<c*O15iɿdXs] MVZh:?BwC?^s~Eڗ12DUz:;W!5P'4KFү)6 GYWud[̔[y3Vu„>^UÃ+b2饜^O'YLk7PJOB\D	Pb+pCMcӆM*1\QMe'7r`>yZ9 r	¼Oɤ'y{	j#	Jtm}$/͒PK>
PʝMBP%ezJ(_^OY5,Y8E0ڐCi,Su:!0ܞr9sntƼX•ʱƸcz%VRjA`Isps~F.S7%5c'@ZHp\ꋃ }@-8R4Py%px1S1}RݽABEY0!_eF7 Z}V]'G87'`<^Hfܕ*EN1oᆇL5@PQ5iT\y5+6 d<hMgCPOo%wD9gCؤ棞aB+s:~ȝsP2:N5c5<Q*WFL@_ΤZ^+"Olz?-ł-3fC4+Vz{fw;ґ>
$UAG<qh^wa:y\>xZ*DXā[^zv7+R4~X2Pf|OXDGT[TDH/O;8$^*iF>ݗUnV@^`?bw2{(Uh"t=$Uח-S~!#tDI{(
!'|@OV8Y*߫~xa*؈HaH
0,ը`ŽT'ʞSUs?$ΚJz[lkrWk+Y;{,sX,VhN)k%^ՌKܢxyt41;Vz3'Bߥ&6{fgqvܮﰜ퓦 4jFi."cXV>m@-"S8l]0z0:`
#)A<}E1ew=s}cn4CPF屐k+M-W=rb$^Pk5cP
Y(0ijㄱgi~N_r9A^2՛^+lCŸG@;jv͍>^bbl-M͝<Fٯǡ(075IU%}U9'EC3ƒ|c?x`sMZ)c+䴕x͂J,WDEcgL
S³W9F&$ce9R5+ȨffN܏V~: ¦,e>s=Zv;;fbo#A+I)5ki+8c ԝ *NW33k/aNjJgM[݃&vTJ4.=鼙u\Cȯp'MM(	*mia`n.p8ZlNmdz`F5>dhz9U Ɔ2urȀwqThv}|	6}|$6^\8Z]B 4촃Q9x"ʔrgXI5
O^
Qg|~]^EqY
mv),ĕ[JzrI/
4_tF !hVaFT슗W:CDtE}\Z\rF'TCЅDyORu6A+<%k4%H5c|2VWsCl&%.w/1}iԮe!LdLݩ'i`M)\R=JE3!`8!e^ȭ!>#`]*DD
kaTcP<~sWǍ{iO`smIkh62t)L;Ї'^mZuEfPEolU 0{ (|쒶W揗rx0?7TWHPspW6'A@Yz;nHuǯ:?]fXKcHTt",r1!\yC7",vQ|t4;lS#-R[%muO))Ys<F-ǥIH+VEK;SOS}p:iVm#d8M
w0\J@S3
QZD}˅1ݯne_oC|MM'S4PAcFAkI4I\z@>ǿSԠ1ظ."o5dVg1B}4`Oq-ApiB9py|鯋.:M %ee,䵬<?y\c3(ʾ`.kc'TCNBmBqOj{lTᅉQf.d3J1xLw5G\oK/?B0!_`D@uZ/uuRVw
)NsqT:"|-FkUgM6	[.;iacANDA4-0)U,0.LJ1hci2
k+F2~S1kisy־C'-1ji+_8Ԩ$AS!.'◣xkCz_
M_%QEKpd
"aFRʇZ/3;?
@p0(sbcݱcZy['ZOZܒGdh	(ClkcDl_+oo#|l)гr񬒓nb*՘l`A„5E
O3gjVdgtĻ.jc VC:2_3y
]a;T"Igh5.&VNsU	_=М<Lk3XorBYڦL>ˣ
R9NO
e23nBI*;N}2Uѥ+PH]RZz#ޚS?C[KBy܄ f)硪K'Sn87vBP^wK/s%jŚKfI/4{e$GBRz@|4Q{!}SUzz4Vu"cH֗4'!Or.{~n5;3~WP]W tQtXabc#0\FcQ8% jkzaKu &U5}Oᐻ=Bc2+`6T_TF
?w&nNtxyҥ%ԫ04J]:$TtaHe(엔0-_q@3fdGP6^ĮbRrfd5j1AT𝏖Yh7ݢ=Tm
z}r==N"\}u6?S592νX1vITT}P:DyfsˀbOX"7h?|jf30q!yKW,	6l'CDGh[^kP32Bu+[X'?"92:w[`@StyZx2<PZmjH0d8t"s.6n_b99)f2ף)AoݞzyyGj@ E=N	le_UAWog10tE]a_CO.~³ޖ%UNgwUe,ap%[vK([86Xs_Oa
xrz0"6RzhN5Xh}'tD>@=*G]rCz9fKMRE1rHPP^DٴV
endstream
endobj
5 0 obj
<</Intent 21 0 R/Name(Layer 3)/Type/OCG/Usage 22 0 R>>
endobj
6 0 obj
<</Intent 23 0 R/Name(Layer 7)/Type/OCG/Usage 24 0 R>>
endobj
7 0 obj
<</Intent 25 0 R/Name(Layer 1)/Type/OCG/Usage 26 0 R>>
endobj
8 0 obj
<</Intent 27 0 R/Name(Layer 2)/Type/OCG/Usage 28 0 R>>
endobj
9 0 obj
<</Intent 29 0 R/Name(Layer 4)/Type/OCG/Usage 30 0 R>>
endobj
10 0 obj
<</Intent 31 0 R/Name(Layer 6)/Type/OCG/Usage 32 0 R>>
endobj
11 0 obj
<</Intent 33 0 R/Name(Layer 5)/Type/OCG/Usage 34 0 R>>
endobj
42 0 obj
<</Intent 58 0 R/Name(Layer 3)/Type/OCG/Usage 59 0 R>>
endobj
43 0 obj
<</Intent 60 0 R/Name(Layer 7)/Type/OCG/Usage 61 0 R>>
endobj
44 0 obj
<</Intent 62 0 R/Name(Layer 1)/Type/OCG/Usage 63 0 R>>
endobj
45 0 obj
<</Intent 64 0 R/Name(Layer 2)/Type/OCG/Usage 65 0 R>>
endobj
46 0 obj
<</Intent 66 0 R/Name(Layer 4)/Type/OCG/Usage 67 0 R>>
endobj
47 0 obj
<</Intent 68 0 R/Name(Layer 6)/Type/OCG/Usage 69 0 R>>
endobj
48 0 obj
<</Intent 70 0 R/Name(Layer 5)/Type/OCG/Usage 71 0 R>>
endobj
49 0 obj
<</Intent 72 0 R/Name(Layer 8)/Type/OCG/Usage 73 0 R>>
endobj
83 0 obj
<</Intent 99 0 R/Name(Layer 3)/Type/OCG/Usage 100 0 R>>
endobj
84 0 obj
<</Intent 101 0 R/Name(Layer 7)/Type/OCG/Usage 102 0 R>>
endobj
85 0 obj
<</Intent 103 0 R/Name(Layer 1)/Type/OCG/Usage 104 0 R>>
endobj
86 0 obj
<</Intent 105 0 R/Name(Layer 2)/Type/OCG/Usage 106 0 R>>
endobj
87 0 obj
<</Intent 107 0 R/Name(Layer 4)/Type/OCG/Usage 108 0 R>>
endobj
88 0 obj
<</Intent 109 0 R/Name(Layer 6)/Type/OCG/Usage 110 0 R>>
endobj
89 0 obj
<</Intent 111 0 R/Name(Layer 5)/Type/OCG/Usage 112 0 R>>
endobj
90 0 obj
<</Intent 113 0 R/Name(Layer 8)/Type/OCG/Usage 114 0 R>>
endobj
124 0 obj
<</Intent 140 0 R/Name(Layer 3)/Type/OCG/Usage 141 0 R>>
endobj
125 0 obj
<</Intent 142 0 R/Name(Layer 6)/Type/OCG/Usage 143 0 R>>
endobj
126 0 obj
<</Intent 144 0 R/Name(Layer 7)/Type/OCG/Usage 145 0 R>>
endobj
127 0 obj
<</Intent 146 0 R/Name(Layer 1)/Type/OCG/Usage 147 0 R>>
endobj
128 0 obj
<</Intent 148 0 R/Name(Layer 2)/Type/OCG/Usage 149 0 R>>
endobj
129 0 obj
<</Intent 150 0 R/Name(Layer 4)/Type/OCG/Usage 151 0 R>>
endobj
130 0 obj
<</Intent 152 0 R/Name(Layer 5)/Type/OCG/Usage 153 0 R>>
endobj
131 0 obj
<</Intent 154 0 R/Name(Layer 8)/Type/OCG/Usage 155 0 R>>
endobj
164 0 obj
<</Intent 174 0 R/Name(Layer 4)/Type/OCG/Usage 175 0 R>>
endobj
165 0 obj
<</Intent 176 0 R/Name(Layer 8)/Type/OCG/Usage 177 0 R>>
endobj
187 0 obj
<</Intent 197 0 R/Name(Layer 4)/Type/OCG/Usage 198 0 R>>
endobj
188 0 obj
<</Intent 199 0 R/Name(Layer 8)/Type/OCG/Usage 200 0 R>>
endobj
210 0 obj
<</Intent 220 0 R/Name(Layer 4)/Type/OCG/Usage 221 0 R>>
endobj
211 0 obj
<</Intent 222 0 R/Name(Layer 8)/Type/OCG/Usage 223 0 R>>
endobj
222 0 obj
[/View/Design]
endobj
223 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 24.0)/Subtype/Artwork>>>>
endobj
220 0 obj
[/View/Design]
endobj
221 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 24.0)/Subtype/Artwork>>>>
endobj
199 0 obj
[/View/Design]
endobj
200 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 24.0)/Subtype/Artwork>>>>
endobj
197 0 obj
[/View/Design]
endobj
198 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 24.0)/Subtype/Artwork>>>>
endobj
176 0 obj
[/View/Design]
endobj
177 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 24.0)/Subtype/Artwork>>>>
endobj
174 0 obj
[/View/Design]
endobj
175 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 24.0)/Subtype/Artwork>>>>
endobj
154 0 obj
[/View/Design]
endobj
155 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 24.0)/Subtype/Artwork>>>>
endobj
152 0 obj
[/View/Design]
endobj
153 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 24.0)/Subtype/Artwork>>>>
endobj
150 0 obj
[/View/Design]
endobj
151 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 24.0)/Subtype/Artwork>>>>
endobj
148 0 obj
[/View/Design]
endobj
149 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 24.0)/Subtype/Artwork>>>>
endobj
146 0 obj
[/View/Design]
endobj
147 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 24.0)/Subtype/Artwork>>>>
endobj
144 0 obj
[/View/Design]
endobj
145 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 24.0)/Subtype/Artwork>>>>
endobj
142 0 obj
[/View/Design]
endobj
143 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 24.0)/Subtype/Artwork>>>>
endobj
140 0 obj
[/View/Design]
endobj
141 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 24.0)/Subtype/Artwork>>>>
endobj
113 0 obj
[/View/Design]
endobj
114 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 24.0)/Subtype/Artwork>>>>
endobj
111 0 obj
[/View/Design]
endobj
112 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 24.0)/Subtype/Artwork>>>>
endobj
109 0 obj
[/View/Design]
endobj
110 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 24.0)/Subtype/Artwork>>>>
endobj
107 0 obj
[/View/Design]
endobj
108 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 24.0)/Subtype/Artwork>>>>
endobj
105 0 obj
[/View/Design]
endobj
106 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 24.0)/Subtype/Artwork>>>>
endobj
103 0 obj
[/View/Design]
endobj
104 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 24.0)/Subtype/Artwork>>>>
endobj
101 0 obj
[/View/Design]
endobj
102 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 24.0)/Subtype/Artwork>>>>
endobj
99 0 obj
[/View/Design]
endobj
100 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 24.0)/Subtype/Artwork>>>>
endobj
72 0 obj
[/View/Design]
endobj
73 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 24.0)/Subtype/Artwork>>>>
endobj
70 0 obj
[/View/Design]
endobj
71 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 24.0)/Subtype/Artwork>>>>
endobj
68 0 obj
[/View/Design]
endobj
69 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 24.0)/Subtype/Artwork>>>>
endobj
66 0 obj
[/View/Design]
endobj
67 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 24.0)/Subtype/Artwork>>>>
endobj
64 0 obj
[/View/Design]
endobj
65 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 24.0)/Subtype/Artwork>>>>
endobj
62 0 obj
[/View/Design]
endobj
63 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 24.0)/Subtype/Artwork>>>>
endobj
60 0 obj
[/View/Design]
endobj
61 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 24.0)/Subtype/Artwork>>>>
endobj
58 0 obj
[/View/Design]
endobj
59 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 24.0)/Subtype/Artwork>>>>
endobj
33 0 obj
[/View/Design]
endobj
34 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 24.0)/Subtype/Artwork>>>>
endobj
31 0 obj
[/View/Design]
endobj
32 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 24.0)/Subtype/Artwork>>>>
endobj
29 0 obj
[/View/Design]
endobj
30 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 24.0)/Subtype/Artwork>>>>
endobj
27 0 obj
[/View/Design]
endobj
28 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 24.0)/Subtype/Artwork>>>>
endobj
25 0 obj
[/View/Design]
endobj
26 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 24.0)/Subtype/Artwork>>>>
endobj
23 0 obj
[/View/Design]
endobj
24 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 24.0)/Subtype/Artwork>>>>
endobj
21 0 obj
[/View/Design]
endobj
22 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 24.0)/Subtype/Artwork>>>>
endobj
235 0 obj
[234 0 R 233 0 R]
endobj
254 0 obj
<</CreationDate(D:20200325111813+02'00')/Creator(Adobe Illustrator 24.0 \(Macintosh\))/ModDate(D:20200325122808+02'00')/Producer(Adobe PDF library 15.00)/Title(rorschach)>>
endobj
xref
0 255
0000000004 65535 f
0000000016 00000 n
0000000702 00000 n
0000029691 00000 n
0000000012 00000 f
0000136755 00000 n
0000136825 00000 n
0000136895 00000 n
0000136965 00000 n
0000137035 00000 n
0000137105 00000 n
0000137176 00000 n
0000000014 00000 f
0000029743 00000 n
0000000015 00000 f
0000000016 00000 f
0000000017 00000 f
0000000018 00000 f
0000000019 00000 f
0000000020 00000 f
0000000035 00000 f
0000143653 00000 n
0000143684 00000 n
0000143537 00000 n
0000143568 00000 n
0000143421 00000 n
0000143452 00000 n
0000143305 00000 n
0000143336 00000 n
0000143189 00000 n
0000143220 00000 n
0000143073 00000 n
0000143104 00000 n
0000142957 00000 n
0000142988 00000 n
0000000036 00000 f
0000000037 00000 f
0000000038 00000 f
0000000039 00000 f
0000000040 00000 f
0000000041 00000 f
0000000050 00000 f
0000137247 00000 n
0000137318 00000 n
0000137389 00000 n
0000137460 00000 n
0000137531 00000 n
0000137602 00000 n
0000137673 00000 n
0000137744 00000 n
0000000051 00000 f
0000000052 00000 f
0000000053 00000 f
0000000054 00000 f
0000000055 00000 f
0000000056 00000 f
0000000057 00000 f
0000000074 00000 f
0000142841 00000 n
0000142872 00000 n
0000142725 00000 n
0000142756 00000 n
0000142609 00000 n
0000142640 00000 n
0000142493 00000 n
0000142524 00000 n
0000142377 00000 n
0000142408 00000 n
0000142261 00000 n
0000142292 00000 n
0000142145 00000 n
0000142176 00000 n
0000142029 00000 n
0000142060 00000 n
0000000075 00000 f
0000000076 00000 f
0000000077 00000 f
0000000078 00000 f
0000000079 00000 f
0000000080 00000 f
0000000081 00000 f
0000000082 00000 f
0000000091 00000 f
0000137815 00000 n
0000137887 00000 n
0000137960 00000 n
0000138033 00000 n
0000138106 00000 n
0000138179 00000 n
0000138252 00000 n
0000138325 00000 n
0000000092 00000 f
0000000093 00000 f
0000000094 00000 f
0000000095 00000 f
0000000096 00000 f
0000000097 00000 f
0000000098 00000 f
0000000115 00000 f
0000141912 00000 n
0000141943 00000 n
0000141794 00000 n
0000141826 00000 n
0000141676 00000 n
0000141708 00000 n
0000141558 00000 n
0000141590 00000 n
0000141440 00000 n
0000141472 00000 n
0000141322 00000 n
0000141354 00000 n
0000141204 00000 n
0000141236 00000 n
0000141086 00000 n
0000141118 00000 n
0000000116 00000 f
0000000117 00000 f
0000000118 00000 f
0000000119 00000 f
0000000120 00000 f
0000000121 00000 f
0000000122 00000 f
0000000123 00000 f
0000000132 00000 f
0000138398 00000 n
0000138472 00000 n
0000138546 00000 n
0000138620 00000 n
0000138694 00000 n
0000138768 00000 n
0000138842 00000 n
0000138916 00000 n
0000000133 00000 f
0000000134 00000 f
0000000135 00000 f
0000000136 00000 f
0000000137 00000 f
0000000138 00000 f
0000000139 00000 f
0000000156 00000 f
0000140968 00000 n
0000141000 00000 n
0000140850 00000 n
0000140882 00000 n
0000140732 00000 n
0000140764 00000 n
0000140614 00000 n
0000140646 00000 n
0000140496 00000 n
0000140528 00000 n
0000140378 00000 n
0000140410 00000 n
0000140260 00000 n
0000140292 00000 n
0000140142 00000 n
0000140174 00000 n
0000000157 00000 f
0000000158 00000 f
0000000159 00000 f
0000000160 00000 f
0000000161 00000 f
0000000162 00000 f
0000000163 00000 f
0000000166 00000 f
0000138990 00000 n
0000139064 00000 n
0000000167 00000 f
0000000168 00000 f
0000000169 00000 f
0000000170 00000 f
0000000171 00000 f
0000000172 00000 f
0000000173 00000 f
0000000178 00000 f
0000140024 00000 n
0000140056 00000 n
0000139906 00000 n
0000139938 00000 n
0000000179 00000 f
0000000180 00000 f
0000000181 00000 f
0000000182 00000 f
0000000183 00000 f
0000000184 00000 f
0000000185 00000 f
0000000186 00000 f
0000000189 00000 f
0000139138 00000 n
0000139212 00000 n
0000000190 00000 f
0000000191 00000 f
0000000192 00000 f
0000000193 00000 f
0000000194 00000 f
0000000195 00000 f
0000000196 00000 f
0000000201 00000 f
0000139788 00000 n
0000139820 00000 n
0000139670 00000 n
0000139702 00000 n
0000000202 00000 f
0000000203 00000 f
0000000204 00000 f
0000000205 00000 f
0000000206 00000 f
0000000207 00000 f
0000000208 00000 f
0000000000 00000 f
0000000000 00000 f
0000139286 00000 n
0000139360 00000 n
0000000000 00000 f
0000000000 00000 f
0000000000 00000 f
0000000000 00000 f
0000000000 00000 f
0000000000 00000 f
0000000000 00000 f
0000000000 00000 f
0000139552 00000 n
0000139584 00000 n
0000139434 00000 n
0000139466 00000 n
0000000000 00000 f
0000000000 00000 f
0000000000 00000 f
0000000000 00000 f
0000000000 00000 f
0000000000 00000 f
0000000000 00000 f
0000000000 00000 f
0000056335 00000 n
0000055951 00000 n
0000056025 00000 n
0000143769 00000 n
0000030211 00000 n
0000061164 00000 n
0000057900 00000 n
0000057786 00000 n
0000054931 00000 n
0000055387 00000 n
0000055437 00000 n
0000056217 00000 n
0000056249 00000 n
0000056099 00000 n
0000056131 00000 n
0000056686 00000 n
0000056987 00000 n
0000057937 00000 n
0000061240 00000 n
0000061418 00000 n
0000062680 00000 n
0000128269 00000 n
0000143804 00000 n
trailer
<</Size 255/Root 1 0 R/Info 254 0 R/ID[<7BA33C09B84D4C649C9C64BF3F23E296><A39BE4BBC40B477581D2F8F4C089CAD3>]>>
startxref
143994
%%EOF
Download .txt
gitextract_r062yy9l/

├── .gitignore
├── .swiftlint.yml
├── LICENSE.md
├── README.md
├── metaballs/
│   ├── AppDelegate.swift
│   ├── Base.lproj/
│   │   └── Main.storyboard
│   ├── ConfigViewController.swift
│   ├── Info.plist
│   ├── LayeredButton.swift
│   ├── MetaballsView/
│   │   ├── Blob.swift
│   │   ├── CGPoint+Trigonometry.swift
│   │   ├── Metaball.swift
│   │   └── MetaballsView.swift
│   ├── Resources/
│   │   ├── Assets.xcassets/
│   │   │   ├── AppIcon.appiconset/
│   │   │   │   └── Contents.json
│   │   │   └── Contents.json
│   │   └── Base.lproj/
│   │       └── LaunchScreen.storyboard
│   └── ViewController.swift
├── metaballs.xcodeproj/
│   ├── project.pbxproj
│   └── project.xcworkspace/
│       ├── contents.xcworkspacedata
│       └── xcshareddata/
│           └── IDEWorkspaceChecks.plist
└── resources/
    ├── blob.sketch
    └── rorschach.ai
Condensed preview — 22 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (241K chars).
[
  {
    "path": ".gitignore",
    "chars": 619,
    "preview": ".DS_Store\n# Build generated\nbuild/\nDerivedData/\n\n# Various settings\n*.pbxuser\n!default.pbxuser\n*.mode1v3\n!default.mode1v"
  },
  {
    "path": ".swiftlint.yml",
    "chars": 1303,
    "preview": "disabled_rules: # rule identifiers to exclude from running\n  - notification_center_detachment\n  - identifier_name\n  - un"
  },
  {
    "path": "LICENSE.md",
    "chars": 1072,
    "preview": "MIT License\n\nCopyright (c) 2020 Roman Kyrylenko\n\nPermission is hereby granted, free of charge, to any person obtaining a"
  },
  {
    "path": "README.md",
    "chars": 2738,
    "preview": "<p align=\"center\"><img src=\"resources/header.png\" width=\"70%\" height=\"auto\"></p>\n\n# Blob effect in iOS\n\n![Swift 5.0](htt"
  },
  {
    "path": "metaballs/AppDelegate.swift",
    "chars": 269,
    "preview": "//\n//  AppDelegate.swift\n//  metaballs\n//\n//  Created by Roman Kyrylenko on 03.03.2020.\n//  Copyright © 2020 Roman Kyryl"
  },
  {
    "path": "metaballs/Base.lproj/Main.storyboard",
    "chars": 24815,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3"
  },
  {
    "path": "metaballs/ConfigViewController.swift",
    "chars": 2467,
    "preview": "//\n//  ConfigViewController.swift\n//  metaballs\n//\n//  Created by Roman Kyrylenko on 10.03.2020.\n//  Copyright © 2020 Ro"
  },
  {
    "path": "metaballs/Info.plist",
    "chars": 1489,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "metaballs/LayeredButton.swift",
    "chars": 1911,
    "preview": "//\n//  LayeredButton.swift\n//  metaballs\n//\n//  Created by Roman Kyrylenko on 23.03.2020.\n//  Copyright © 2020 Roman Kyr"
  },
  {
    "path": "metaballs/MetaballsView/Blob.swift",
    "chars": 2071,
    "preview": "//\n//  Blob.swift\n//  metaballs\n//\n//  Created by Roman Kyrylenko on 10.03.2020.\n//  Copyright © 2020 Roman Kyrylenko. A"
  },
  {
    "path": "metaballs/MetaballsView/CGPoint+Trigonometry.swift",
    "chars": 611,
    "preview": "//\n//  CGPoint+Trigonometry.swift\n//  metaballs\n//\n//  Created by Roman Kyrylenko on 10.03.2020.\n//  Copyright © 2020 Ro"
  },
  {
    "path": "metaballs/MetaballsView/Metaball.swift",
    "chars": 2015,
    "preview": "//\n//  Metaball.swift\n//  metaballs\n//\n//  Created by Roman Kyrylenko on 10.03.2020.\n//  Copyright © 2020 Roman Kyrylenk"
  },
  {
    "path": "metaballs/MetaballsView/MetaballsView.swift",
    "chars": 5169,
    "preview": "//\n//  MetaballsView.swift\n//  metaballs\n//\n//  Created by Roman Kyrylenko on 10.03.2020.\n//  Copyright © 2020 Roman Kyr"
  },
  {
    "path": "metaballs/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json",
    "chars": 2513,
    "preview": "{\n  \"images\" : [\n    {\n      \"size\" : \"20x20\",\n      \"idiom\" : \"iphone\",\n      \"filename\" : \"Icon-App-20x20@2x.png\",\n   "
  },
  {
    "path": "metaballs/Resources/Assets.xcassets/Contents.json",
    "chars": 62,
    "preview": "{\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}"
  },
  {
    "path": "metaballs/Resources/Base.lproj/LaunchScreen.storyboard",
    "chars": 1665,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard"
  },
  {
    "path": "metaballs/ViewController.swift",
    "chars": 809,
    "preview": "//\n//  ViewController.swift\n//  metaballs\n//\n//  Created by Roman Kyrylenko on 03.03.2020.\n//  Copyright © 2020 Roman Ky"
  },
  {
    "path": "metaballs.xcodeproj/project.pbxproj",
    "chars": 16304,
    "preview": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 50;\n\tobjects = {\n\n/* Begin PBXBuildFile section *"
  },
  {
    "path": "metaballs.xcodeproj/project.xcworkspace/contents.xcworkspacedata",
    "chars": 154,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n   version = \"1.0\">\n   <FileRef\n      location = \"self:metaballs.xcode"
  },
  {
    "path": "metaballs.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
    "chars": 238,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "resources/rorschach.ai",
    "chars": 102286,
    "preview": "%PDF-1.5\r%\r\n1 0 obj\r<</Metadata 2 0 R/OCProperties<</D<</ON[5 0 R 6 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R 42 0 R 43 0 R 44"
  }
]

// ... and 1 more files (download for full content)

About this extraction

This page contains the full source code of the rnkyr/metaballs GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 22 files (166.6 KB), approximately 94.0k tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!