From 25a8cb4c4b2a04a7ac494360d8a1633f925d9641 Mon Sep 17 00:00:00 2001 From: ipad_kid Date: Wed, 19 Jul 2017 20:15:10 -0400 Subject: [PATCH] First commit --- .gitignore | 2 + funscene.xcodeproj/project.pbxproj | 322 ++ .../contents.xcworkspacedata | 7 + funscene/AppDelegate.swift | 11 + .../AppIcon.appiconset/Contents.json | 146 + .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 0 -> 584 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 0 -> 1277 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 0 -> 1993 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 0 -> 902 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 0 -> 1933 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 0 -> 2992 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 0 -> 1277 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 0 -> 2658 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 0 -> 4202 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 0 -> 4202 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 0 -> 6818 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 0 -> 2568 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 0 -> 5539 bytes .../Icon-App-83.5x83.5@2x.png | Bin 0 -> 6209 bytes funscene/Assets.xcassets/Contents.json | 6 + .../Contents.json | 23 + .../UIBarButtonItemGear.png | Bin 0 -> 1080 bytes .../UIBarButtonItemGear@2x.png | Bin 0 -> 2154 bytes .../UIBarButtonItemGear@3x.png | Bin 0 -> 2755 bytes funscene/Base.lproj/LaunchScreen.storyboard | 46 + funscene/Base.lproj/Main.storyboard | 228 + funscene/GameViewController.swift | 98 + funscene/Info.plist | 50 + funscene/SettingsViewController.swift | 88 + funscene/main.scn | 3675 +++++++++++++++++ 30 files changed, 4702 insertions(+) create mode 100644 .gitignore create mode 100644 funscene.xcodeproj/project.pbxproj create mode 100644 funscene.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 funscene/AppDelegate.swift create mode 100644 funscene/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 funscene/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png create mode 100644 funscene/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png create mode 100644 funscene/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png create mode 100644 funscene/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png create mode 100644 funscene/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png create mode 100644 funscene/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png create mode 100644 funscene/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png create mode 100644 funscene/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png create mode 100644 funscene/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png create mode 100644 funscene/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png create mode 100644 funscene/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png create mode 100644 funscene/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png create mode 100644 funscene/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png create mode 100644 funscene/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png create mode 100644 funscene/Assets.xcassets/Contents.json create mode 100644 funscene/Assets.xcassets/UIBarButtonItemGear.imageset/Contents.json create mode 100644 funscene/Assets.xcassets/UIBarButtonItemGear.imageset/UIBarButtonItemGear.png create mode 100644 funscene/Assets.xcassets/UIBarButtonItemGear.imageset/UIBarButtonItemGear@2x.png create mode 100644 funscene/Assets.xcassets/UIBarButtonItemGear.imageset/UIBarButtonItemGear@3x.png create mode 100644 funscene/Base.lproj/LaunchScreen.storyboard create mode 100644 funscene/Base.lproj/Main.storyboard create mode 100644 funscene/GameViewController.swift create mode 100644 funscene/Info.plist create mode 100644 funscene/SettingsViewController.swift create mode 100644 funscene/main.scn diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..74259c7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +xcuserdata +.DS_Store diff --git a/funscene.xcodeproj/project.pbxproj b/funscene.xcodeproj/project.pbxproj new file mode 100644 index 0000000..661b83b --- /dev/null +++ b/funscene.xcodeproj/project.pbxproj @@ -0,0 +1,322 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 97792EC71F1CFE7800C48A22 /* main.scn in Resources */ = {isa = PBXBuildFile; fileRef = 97792EC61F1CFE7800C48A22 /* main.scn */; }; + 97A0E3A01F1A7E3D00BDEFC8 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97A0E39F1F1A7E3D00BDEFC8 /* AppDelegate.swift */; }; + 97A0E3A41F1A7E3D00BDEFC8 /* GameViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97A0E3A31F1A7E3D00BDEFC8 /* GameViewController.swift */; }; + 97A0E3A71F1A7E3D00BDEFC8 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97A0E3A51F1A7E3D00BDEFC8 /* Main.storyboard */; }; + 97A0E3A91F1A7E3D00BDEFC8 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97A0E3A81F1A7E3D00BDEFC8 /* Assets.xcassets */; }; + 97A0E3AC1F1A7E3D00BDEFC8 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97A0E3AA1F1A7E3D00BDEFC8 /* LaunchScreen.storyboard */; }; + 97CC711C1F1D95CB008D491F /* SettingsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97CC711B1F1D95CB008D491F /* SettingsViewController.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 97792EC61F1CFE7800C48A22 /* main.scn */ = {isa = PBXFileReference; lastKnownFileType = file.bplist; path = main.scn; sourceTree = ""; }; + 97A0E39C1F1A7E3D00BDEFC8 /* funscene.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = funscene.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 97A0E39F1F1A7E3D00BDEFC8 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 97A0E3A31F1A7E3D00BDEFC8 /* GameViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameViewController.swift; sourceTree = ""; }; + 97A0E3A61F1A7E3D00BDEFC8 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 97A0E3A81F1A7E3D00BDEFC8 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 97A0E3AB1F1A7E3D00BDEFC8 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 97A0E3AD1F1A7E3D00BDEFC8 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 97CC711B1F1D95CB008D491F /* SettingsViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SettingsViewController.swift; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 97A0E3991F1A7E3D00BDEFC8 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 97A0E3931F1A7E3D00BDEFC8 = { + isa = PBXGroup; + children = ( + 97A0E39E1F1A7E3D00BDEFC8 /* funscene */, + 97A0E39D1F1A7E3D00BDEFC8 /* Products */, + ); + sourceTree = ""; + }; + 97A0E39D1F1A7E3D00BDEFC8 /* Products */ = { + isa = PBXGroup; + children = ( + 97A0E39C1F1A7E3D00BDEFC8 /* funscene.app */, + ); + name = Products; + sourceTree = ""; + }; + 97A0E39E1F1A7E3D00BDEFC8 /* funscene */ = { + isa = PBXGroup; + children = ( + 97792EC61F1CFE7800C48A22 /* main.scn */, + 97A0E39F1F1A7E3D00BDEFC8 /* AppDelegate.swift */, + 97A0E3A31F1A7E3D00BDEFC8 /* GameViewController.swift */, + 97CC711B1F1D95CB008D491F /* SettingsViewController.swift */, + 97A0E3A51F1A7E3D00BDEFC8 /* Main.storyboard */, + 97A0E3A81F1A7E3D00BDEFC8 /* Assets.xcassets */, + 97A0E3AA1F1A7E3D00BDEFC8 /* LaunchScreen.storyboard */, + 97A0E3AD1F1A7E3D00BDEFC8 /* Info.plist */, + ); + path = funscene; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 97A0E39B1F1A7E3D00BDEFC8 /* funscene */ = { + isa = PBXNativeTarget; + buildConfigurationList = 97A0E3B01F1A7E3D00BDEFC8 /* Build configuration list for PBXNativeTarget "funscene" */; + buildPhases = ( + 97A0E3981F1A7E3D00BDEFC8 /* Sources */, + 97A0E3991F1A7E3D00BDEFC8 /* Frameworks */, + 97A0E39A1F1A7E3D00BDEFC8 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = funscene; + productName = funscene; + productReference = 97A0E39C1F1A7E3D00BDEFC8 /* funscene.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 97A0E3941F1A7E3D00BDEFC8 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 0830; + LastUpgradeCheck = 0830; + ORGANIZATIONNAME = ipad_kid; + TargetAttributes = { + 97A0E39B1F1A7E3D00BDEFC8 = { + CreatedOnToolsVersion = 8.3.3; + DevelopmentTeam = N5WR8XN66J; + ProvisioningStyle = Automatic; + }; + }; + }; + buildConfigurationList = 97A0E3971F1A7E3D00BDEFC8 /* Build configuration list for PBXProject "funscene" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 97A0E3931F1A7E3D00BDEFC8; + productRefGroup = 97A0E39D1F1A7E3D00BDEFC8 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 97A0E39B1F1A7E3D00BDEFC8 /* funscene */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 97A0E39A1F1A7E3D00BDEFC8 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 97792EC71F1CFE7800C48A22 /* main.scn in Resources */, + 97A0E3AC1F1A7E3D00BDEFC8 /* LaunchScreen.storyboard in Resources */, + 97A0E3A91F1A7E3D00BDEFC8 /* Assets.xcassets in Resources */, + 97A0E3A71F1A7E3D00BDEFC8 /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 97A0E3981F1A7E3D00BDEFC8 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 97A0E3A41F1A7E3D00BDEFC8 /* GameViewController.swift in Sources */, + 97A0E3A01F1A7E3D00BDEFC8 /* AppDelegate.swift in Sources */, + 97CC711C1F1D95CB008D491F /* SettingsViewController.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 97A0E3A51F1A7E3D00BDEFC8 /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97A0E3A61F1A7E3D00BDEFC8 /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 97A0E3AA1F1A7E3D00BDEFC8 /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97A0E3AB1F1A7E3D00BDEFC8 /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 97A0E3AE1F1A7E3D00BDEFC8 /* 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++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = 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_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + 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 = 10.3; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 97A0E3AF1F1A7E3D00BDEFC8 /* 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++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = 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_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + 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 = 10.3; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 97A0E3B11F1A7E3D00BDEFC8 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + DEVELOPMENT_TEAM = N5WR8XN66J; + INFOPLIST_FILE = funscene/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.ipadkid.funscene; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 3.0; + }; + name = Debug; + }; + 97A0E3B21F1A7E3D00BDEFC8 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + DEVELOPMENT_TEAM = N5WR8XN66J; + INFOPLIST_FILE = funscene/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.ipadkid.funscene; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 3.0; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 97A0E3971F1A7E3D00BDEFC8 /* Build configuration list for PBXProject "funscene" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97A0E3AE1F1A7E3D00BDEFC8 /* Debug */, + 97A0E3AF1F1A7E3D00BDEFC8 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 97A0E3B01F1A7E3D00BDEFC8 /* Build configuration list for PBXNativeTarget "funscene" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97A0E3B11F1A7E3D00BDEFC8 /* Debug */, + 97A0E3B21F1A7E3D00BDEFC8 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 97A0E3941F1A7E3D00BDEFC8 /* Project object */; +} diff --git a/funscene.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/funscene.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..be27411 --- /dev/null +++ b/funscene.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/funscene/AppDelegate.swift b/funscene/AppDelegate.swift new file mode 100644 index 0000000..b996742 --- /dev/null +++ b/funscene/AppDelegate.swift @@ -0,0 +1,11 @@ +import UIKit + +@UIApplicationMain +class AppDelegate: UIResponder, UIApplicationDelegate { + + var window: UIWindow? + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { + return true + } +} diff --git a/funscene/Assets.xcassets/AppIcon.appiconset/Contents.json b/funscene/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..88f6f71 --- /dev/null +++ b/funscene/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,146 @@ +{ + "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" + }, + { + "idiom" : "iphone", + "size" : "57x57", + "scale" : "1x" + }, + { + "idiom" : "iphone", + "size" : "57x57", + "scale" : "2x" + }, + { + "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" + }, + { + "idiom" : "ipad", + "size" : "50x50", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "50x50", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "72x72", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "72x72", + "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" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/funscene/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/funscene/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..a962692414296650034f1fc2f628405954063851 GIT binary patch literal 584 zcmV-O0=NB%P)2nZDh~i=9gcy*7N)w4v)gaC+*Ycjm9c_9xTw-B987=kWl?1G-W zXm1^B7sMF$`{vo%*;dv>=Je-x^XYy5`D1o;*FSsdkMDJ>X(!-tI7})~WVzZ5SHD>8 zsWDhCCj}x+GCn1xZy+R)pl1^5zTg z{p5PlG#gL5b= zG)oWwp~`B2LCsYn|565EEe;ORG?-1%1=f4022?;J`ip(D@(N{zqCkwW7IE!6ef9@f WY2%JsF>ieU0000Z)z6tV%WCl=+epR)*Z~PnkPwIj5+ooc=P&U$NS!z^Bx?f8NPscsVIv!X z5VBx*-rZew2xcJ?uCFBP?>Zq--!S+|BaZrs4ZAc<~6it?+!ciBM_fMi*;+cE&i z3n-wj34x~W%cGd2X8tG}Gm4&DHDG<*W6^W(c0ui~vXhtD8jgE>k*bT=eBVAKuIE-pU{SkTwnTQccbK zck&~hjga80$5YW`9 zXG~IExU7#p8*XlU-yD1XLu1v{%WMVYWq5e6{NnR1msEM~<2e*a0)jjMBo5g*0`8AT zZnQVqe%bqGeVm;J1_4@khR?6@92_UI3`w@gLrF2Tcz~Qw0Q8<_#96=qU;vn8$Z~}R zWL_VHMP(2mk=~zK#c0!WEB^vJ`*@kma zfCMRkjJ7tDuQVQU=aq2j)!-X5TVJ%-fJyiUAACC5+6fQtX8Zpz%a~;m9n25{M*DbS zOYeMAzx94o^ij`fwuTCTySuw_UkW-?JxhU@RvZ-3al zbRkT~^d4QP3-DTlOGqJWmhazJ0s> zTE7TEbWV9s^^{NlvYksoz-)3Na^*H$9t$6@2NMneI2qCm=PxQ=z|Nh#;^aNom&~Ih zlA5}!JG+8A;=6Y_&jvn;ErEm?nleLVkt9w!F_2d#l4YGvqZ+HK8SIay z(-{Eg46U2#ec0a{jfRu5m-qW+k|dEaH`1~DcSpOU|*8iYW76D6h_0w*VsPa zsZsBmPSvzk zOW1S@E;1HHksu1NkY>^t0J%Y?KmbB)F1uXDh{4sRR+xdUWYnnu@|e^@ptxk;L;J-X zI~wcVg3Fex<3ZoU_^s&gHo}fMG>_fEaNFv^H6?vd6>sh6etSJrWg)U&7$QM0?fGiBKsTd5&wrgj%l!X zwF)GP5_y5?6yqVP3T4T2n@rR8#oPsX%%3mEvghAsoa1{vlqKqlX@>YtKOK4Ww&>*J n!$*l50YFx?{r&oO?TEyGKvzgLt&D+300000NkvXXu0mjfVvu1a literal 0 HcmV?d00001 diff --git a/funscene/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/funscene/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..ac552ee5fde44d51d852753be24200cd9c968e57 GIT binary patch literal 1993 zcmV;)2R8VLP)hwxSRfq7 z5d?xFgzVd|sycNRgX;IYsvEopE#0mYoqhJ%)qMNyx3K{vH(h$Q2-`7xwef_< zB_R=jnS4bOw4*$A8QYX@6o~`~Nh*-8VCS4%$+7@MnvOwrhBo$C8sa?wB&lfl=kw_O zcaqOP4Q|{jzj3R)ar6IDGg{`pI7+Um?jvj;%7g z(?GyElsRd*{N?KP@0K@j7gxSg9f$P(_V6AbJ&qo}ll=W@1k{TU@|y<`Mo4faT*)8| ze)+4H*KQWYh>d(AsV2GCLY&^?J+iKU^j`NjzdlW}B2B&OM+xhmGWkwp_eZg%9UJv6 zADRUX=q}M{oIOaGS(e6GH*jSoc`pZOf#vEb3rGs^9#Xv=3AWrG!qu;~Jjn>jvaScc z_aH+O#zemKa>CRi9EU-YMiQW;aacm-z%h1HtOw51+pYA%4FrKWm08WI=0RF)2nBh$ ziSRa|ThBa4!u!f$e~nieHnayJA<1OHEPlz80YHKQQ=^xhps}iB&NJ4MD#!hmUd0-F z03bPCs>=}KR6!&;&Ush>0S|bBU?@3YT|$uu;N3x`&PJtIzb6SnLYyFoRJd8bnuY1u)kn+|L*oWoP)Io?O zl>`vtf)Q$y%vR`*010Ewr|iZnVX=nts>|qnh|1~wB?Gi2? zGek(Z`g--`ef3^2N*F~Nmqat#z}!kB#6U%kvc$C;{ztzkufI_hBUsy`K(if@WDuYj z@drQ6ufO3wyca+Ief;l#1wn`;0WqzoHFdKEaJlj!zW6o0`LpuYn^hDmA0Bj)=DmCO z(A*&s!U%Dqm;bRpKa3y!HvaUZP!*F*7C;_O&P-K>(E#T!xjS!F-~Wm0o@&^KJk7RL zgwrWDu0`Ize}8vm>q3$sk03&ls>u2Alkm}d$EwRAo!Gi|}K0zKdB^dyG_DS%;@8ZV~;={k_eg~t9Ig` zzQ-y^Fo3U6IWyBCkKM8m8=hSDMqLlK7`V^8ExV@eCToo))z_a~{&&;2!xEF@_opS9 zkz`$#NJqZ%|bp;GjS3 zbh50Igkg9@>c>fWW|YwHk9uc=vMkNa%m6r7y?Alf?+>yp?R2v!3ITb4DD}Nk-llef z1T%ujN5$FMARpx{JC&5>Rmkx>_iGcwV1hPNM=APZpm}wj7cAEW1JOqc&;xazlGU_9xE__@Gl;OuolbJC4FOcNMkw)_rmQFU&} zDiY!SVZFT8W&Yf_MW>9ZZL;p6HCg)|5rkRY|J*WaxdA!3bd0WPyTrG+4|3^`6~C@b zF(KWw`fGnitnD#plBL@;@09tgbv)JFi{_@19pq^Ak8=&V$f4jOsUg*B`Hr&ElMC?2e3H2`N46A(%4&odg^W$S;kuRvVa-RU$9OW zz!3zVqJ8#Qi~46moi5Uhqaos$VGQ{-4xXZo(%Tugi>Id8Il=T@%$CQzdZp(vrF+yy b4FLQXlV^i%%7q~w00000NkvXXu0mjffC|C{ literal 0 HcmV?d00001 diff --git a/funscene/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/funscene/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..c2c036238a71c9e437e72b882172bc68dae62780 GIT binary patch literal 902 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 TyU9_!00000NkvXXu0mjfFfg|m literal 0 HcmV?d00001 diff --git a/funscene/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/funscene/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..a89a391a255dafc8258d246c1c441863bb5c3d24 GIT binary patch literal 2992 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 literal 0 HcmV?d00001 diff --git a/funscene/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/funscene/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..02ad23615067a7c09f913fbdb9ce5cced8768508 GIT binary patch literal 2658 zcmV-o3Z3~VZ}ob z5CjF0-Lc*7*FE{rw#U=<*loMLEa%INJyq5B*12`7Zr$6%=bwKb?Le|+%R3o<{bR4n z+)*>-ZzRnfCHi)_tqe<$0R)L}YU(y%c$Z0$AR!15gfc^sv8uiqwf)&|dm>pPfH0Eh z z!;h7Z{5=2O163GXk+Uoy!4cTA=6vCW7tl4mGJ=X?0sQPk|LV)pjW@zPWthnGAfYT+ zH)y?XUd%uuN~DS(-|(-#9KHWm zP!^05IR~@ZI3OWIp0g^^JJ1g=l#l+hc;Lsy;dd&lkY_Z5+k@H@g?DGTmM=z@0n3zv#Zzs~!IR{Qg=(9J$vmbm^( zc=dAh*@uB6qC@~>klKzQg8Fe@e z&iwVyN!%}zo=K1qtt_$8L=Yqo&PB145v}K|J^c9(+bS=~>m_m0^UI<#m6II_0Emgy z>qjOX=|lpMP*uoM=N!p9iD42TlLIp|8Ogw-55QE)N82)fBb8wM<8V~}?S!!<}cf^cz9fJ1BPV?6VWv&s@Z03^&TTIoT@F*BM7YCvVdbPPb>YMoDNyU^JHj7M9_wnC{U!)rS+Lh&!#}MXI}CSO_Bdfy(jXU

8&1ueKpKP{h8+C)CU>#lVB3|R0 zCJ{s!4O|$T^C``I?Gln} z7u2NJgz05vIz$lZspraHJy((|&c)lH1BOZDDS!H8KD^0y{}J5$ujfY$qRB1K5|XF; z&it38NQ_g!;o=k3vwtk_f5eJhWzkJ+IGZ+JxpHOG&Wj?{jyjC>^_SlD*Mm1+2|xeD zBN!&~NVA55s!-022Ey{O$`TJ=v}gZRUbs}rl#M&ykS337D7^K2)@JMn2xE;0?)|s@ zYnQ{1-u3g$#SuIoQ#-E%r2+s5=TK(I((3yU+S7li9(%I#0*yzQhGE@56@zW3dH(v>^|1-Sxl?y_Ikp!5*P&f}&iSY<`pRb;Ju6X=6mh_blC!5^< zaH_&PE}c3BQRmRU`oeqr@8Mfl!vFl+k&F_RD$*g&+@&XeTR!=_;_TfTk5EM|feT!;&*57G;iEjhoIEdl-}5}rT2@4KhugO;)hUyrD2{Fo(=_)3uh)xvz1a6XNoLwz zhBj7no37qMMuWky zEGy@nbM<+XB&*7fj)ucg8plz;pM+sR!fcPryECWN7)O$G4!}6gj*f^%K`coH3iV zj<+RAgTZJxNUN%Hblz5RLR}wIS$XTGvnoD&u7iZjO#Tj1E%Sr^@9TUt8qwKqv=|w9 z?28dvUtG4d{OwJ8X-8S?dm%WMr9v@H3%7>=Iv$Yy^{K`d@+@N48jl8?Czg&pfY&pn zQi`@}*QwFip$7(Nly-H8E}fQh^d^RE037>ZBBjz;^+oil(i<5N2V@8U&@9Jj6*^gS zn>nq`9(bHlG5};ai+C@rcj!jWgl9#0l#c3a%B7pDcn3l{SuwGOezNXmrKRP9=h z#IX|#)`!`E%p%VH@SAivD51IEbaLd;nohj&dnTmUr}qhMO?9Es$;1L+~h6FQ<^mu zpu-B&*@CT|Yb~3-W(#jE7Tt2Y_XT!CmnJR2bDVzzt#(f^Av&MURtBXCJMufHKJz%COgBeSvsq5u$^0tSZfyL9A%Lf`5Z#h+_Id zV=i_=$KfG?Fsuu^TO>p^zYm`n%|z#TaE|>xP!~{lL`la^OTgh>h++(nkmpzvzH|P^ z@x}`wNqFWgeZTFii|x^UszpMaAc~o#7!Hx=^;v0Y+j$!x05kbM4$m@9sA*+PyN9+8 z9$L1W2(^jpO8STrWMd8oD3-Hrvv5!bk_QJoIHdC?#@?QbErW+{*{-cI?jcGr9$`2@ zQ8Z2_^(!JULm2YRSw_+HKSAsb-Cxr-zNw2zdwnDc(iFpi%3{VgO(b=Ami+_HPAuIP zS2nQs>|x!njs^P%ND`(gMne<@AVo0`&oT&Mo4jnii@Ee>kGEQH%d` Qwg3PC07*qoM6N<$g2m(+`2YX_ literal 0 HcmV?d00001 diff --git a/funscene/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/funscene/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..c658a8711450141120c01e19ecbaf41336140510 GIT binary patch literal 4202 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 A`Tzg` literal 0 HcmV?d00001 diff --git a/funscene/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/funscene/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..c658a8711450141120c01e19ecbaf41336140510 GIT binary patch literal 4202 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 A`Tzg` literal 0 HcmV?d00001 diff --git a/funscene/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/funscene/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..315d1d0442e9c021c2125a79e8c50e130259c2bb GIT binary patch literal 6818 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

  • ?nkQ`qTX?P`xBGpM9F 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 literal 0 HcmV?d00001 diff --git a/funscene/Assets.xcassets/Contents.json b/funscene/Assets.xcassets/Contents.json new file mode 100644 index 0000000..da4a164 --- /dev/null +++ b/funscene/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/funscene/Assets.xcassets/UIBarButtonItemGear.imageset/Contents.json b/funscene/Assets.xcassets/UIBarButtonItemGear.imageset/Contents.json new file mode 100644 index 0000000..8d982e0 --- /dev/null +++ b/funscene/Assets.xcassets/UIBarButtonItemGear.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "UIBarButtonItemGear.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "UIBarButtonItemGear@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "UIBarButtonItemGear@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/funscene/Assets.xcassets/UIBarButtonItemGear.imageset/UIBarButtonItemGear.png b/funscene/Assets.xcassets/UIBarButtonItemGear.imageset/UIBarButtonItemGear.png new file mode 100644 index 0000000000000000000000000000000000000000..c79ba534fdaa443b14b0bffd438c87444a77432d GIT binary patch literal 1080 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 literal 0 HcmV?d00001 diff --git a/funscene/Assets.xcassets/UIBarButtonItemGear.imageset/UIBarButtonItemGear@3x.png b/funscene/Assets.xcassets/UIBarButtonItemGear.imageset/UIBarButtonItemGear@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..8f6bb20138d9b22d9f9d2918fd254722d4b62c01 GIT binary patch literal 2755 zcmV;!3Ox0RP)Px#AY({UO#lFTCIA3{ga82g z0001h=l}q9FaQARU;qF*m;eA5aGbhPJOBU+F-b&0RK;6qY!y`$KIcBRmR3j=D6~+E zLQtwmSW1P`SRj^ySb`$8E`U%31gqT_z$L_}i6)4~A0i6IEsD`-jK+v2h}#cBFh&KJ zXheU=rnoE5`RpLL{)ujgM4!EapB)gP z0eIi*`?!{je%gm8VGk9PYZ_>e4I&xP7VDXw7|`54l6TBH^C#c0=I^)H z^7f*9Dsn#)2ecMVCyX28tt^6mtpa-Z7y#U4M-VmFOUG&5i>6TwyJ-H zxwo%TZ;NC>On}}wgYQg7qJ0$g5k9ugu|ZnTf;NU&>c{8u<0*sn18FjSs#TrR|L=}O zch{@kMFV4C`zq>-Gt?|B(5L6~(=bM&wwN?GNO{NkZQXmUh93(J)-*hRAWg8EU{6eq zMY1?rrc#Sm-5^%i-d-RbbF#P0<}F?zy}-g|2-u_s%CvOJK=zWXt;XZeq4CuvT)nqJ z?F9o~4EFj4914rhp_P1SX&Emq$)}PBtNFo1AbWvzsc|4{yk;V;(T1lznCbznX4Yct zt499nr*-@j2nX_rOt9Abzul&OJGhb$YALq|`-Ta2OEqti<>Tp8$PB=We!hY~$4f!H znqCCEVpY1u9~O$MfVoelof-W+dE?Sq{$$?FNVnM{Y4 z);`Nl?7NZo$qwMVPUQw3gkiypsW9LGGywg6yZRkV;{EH?`!H1SuuiO3C*mfcEj5+b z>$y8-AIe8?xfWcqP|pEtZ58jeNe!OD7l7WK7`MIdpbG4iyv* zq{6ausH}b**FRCqPkehbe=C547(g$OGm2@3uMtWnSpge_xCUu4`e(EH^Qn3K)Z{{* z9F!<*1GbbS>(miUQjp0NkY6_Pm(z=Ax=1oq2q$0>t?a%=?FQIH20|<@_QFMDX_43W zyoQ^ps$#18ph10*Oq0Y>fh1D~DTi2MY&mZ&R&POCUSI_z)*Ym1f(t@e0%}=TBlBtG zn~T+(0@iPNV9krV2BKxouAUWRh;u!zfW|>u0A#AM{%t!7Q-<*rnV?i=R!1xqTk^4&NimXv{TtD~Gcuq}v@aH}i~k9;drxf}u8RZd;n ziW?w>?iVZg3-GtGf;Qsp<{Nk#F64&(iuzOI1a8#(nH4?g(PN+8|97oVv9OTxq(Yhm zrZSnsk@Z^8p9-+{Jtw)-hiBs&o_l0AKSDpO;U8r0g1Odbk6{uqop|h%4s#jI%$eWX zT*;fop)jqmBmjJe9T?zQ`r~%>M`*uNp0`wL#YMa#Q{dc(Xh_9ys?aW83jQ}H21#;4 zwmhuMrHQr2+`5UwXrjqfHh>Pvp&76*Mo5)$fJwJy5`BY&nTcx~~Db(V)fre0YekmZ|gi3Rq zE9EtCufy8~L`A!F5S5w|$i!h9A|0Q))~75VU!HqTV?sPlxqT_OX%aO(w}78R?Zaz8 zY7(M3QADeq!Lz_VP|Xiy8mKt+%gcDVrqk|n>Mgp+R-%l7paQj3H{ZYn#~ulB=fjve z6nL;_$-w_H5x9TDc)r2CPK4l*b$q0Y$(A#GjfmsWZWrG&fYx20Vv) zjqq-srC_BGs7NA7$hsSrOT#qLZjZp*V&uc?)rZIoqzhI+V&Y$@Q!lvpPKkk$TSD5! zreIbba{KD?F>BkD)c9F!)!pJipdOb6NB#uk>0 zo?WsG4b~~qTmPJLdRuUh#EJZ^b+mse@83L=HzOU1gf$wbU?{Nu01O__B}3_w)~VDA zzgYtdnA7zF>(x`?d5BJHDgzA)!f$DvmBOm77$Kxi#i*oG+6Ty^>($XPV9gF0?5%_P)1ZXwRBpg^LbFm( zuu|26KU_D4>X1R#?EwLq6$c%uS8Pj{jpEB*ze>Fxq-1GUy7ykI_LiI#^J|k@UU>l9 z!1fy6p3L&fOq!)T99`3>D{%Xb-PHn%Ebqg5V#`Pb)&vPhWn^B=OA5S~I=(nY;%+Ot4zAh8ly2 z_Iq6*O_$DTV+{cmp_aQv4w98N1Km^660_o>NvODqx~5#<@&wy{+KG=Vr*pg`opu|m z5mli+t1IstjQ4DHm8Q$It9T|@G%HCx^rP$4N7IJ$G!vx!P6w#FjnxFZ>q^Vnx1Eny z7pYezpw2|8l1yT74biMLcQnm~?z9fqj}$th%lr}eH#P*@qi8V`335EKcI3g8U6q5koAHblhh`Yw$T8nH7WO2 z@x2;Qw*CSllZP+~$vixpA4WpW{f9kqf8=Aij3_@M4TEGD-pz)z{sVkF&j$bi002ov JPDHLkV1gyVGL8TM literal 0 HcmV?d00001 diff --git a/funscene/Base.lproj/LaunchScreen.storyboard b/funscene/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..a5cff7e --- /dev/null +++ b/funscene/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/funscene/Base.lproj/Main.storyboard b/funscene/Base.lproj/Main.storyboard new file mode 100644 index 0000000..deb4df5 --- /dev/null +++ b/funscene/Base.lproj/Main.storyboard @@ -0,0 +1,228 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/funscene/GameViewController.swift b/funscene/GameViewController.swift new file mode 100644 index 0000000..0267bed --- /dev/null +++ b/funscene/GameViewController.swift @@ -0,0 +1,98 @@ +// +// GameViewController.swift +// funscene +// +// Created by ipad_kid on 7/15/17. +// Copyright © 2017 BlackJacket. All rights reserved. +// + +import UIKit +import SceneKit + +class GameViewController: UIViewController { + + // create a new scene + private let scene: SCNScene = SCNScene(named: "main.scn")! + + @IBOutlet public weak var scnView: SCNView! + + private let userDefaults: UserDefaults = UserDefaults.standard + private let scnStats: String = "scnStats" + private let camLock: String = "camLock" + private let upForce: String = "upForce" + private let gravityValue: String = "gravityValue" + private let darkMode: String = "darkMode" + private let firstTime: String = "firstTime" + + + func setSceneSettings() { + scene.physicsWorld.gravity.y = userDefaults.float(forKey: gravityValue) + scnView.allowsCameraControl = !userDefaults.bool(forKey: camLock) + scnView.showsStatistics = userDefaults.bool(forKey: scnStats) + scnView.backgroundColor = userDefaults.bool(forKey: darkMode) ? .darkGray : .white + let floorWhite: CGFloat = userDefaults.bool(forKey: darkMode) ? 0.2 : 0.9 + + guard let floorNode: SCNNode = scene.rootNode.childNode(withName: "floor", recursively: true) else { return } + let geoFloor: SCNFloor? = floorNode.geometry as? SCNFloor + guard let floor = geoFloor else { return } + guard let floorMaterial = floor.firstMaterial else { return } + floorMaterial.diffuse.contents = UIColor(white: floorWhite, alpha: 1) + } + + override func viewDidLoad() { + super.viewDidLoad() + + if !userDefaults.bool(forKey: firstTime) { + userDefaults.set(false, forKey: scnStats) + userDefaults.set(false, forKey: camLock) + userDefaults.set(5, forKey: upForce) + userDefaults.set(-10, forKey: gravityValue) + userDefaults.set(true, forKey: firstTime) + userDefaults.set(false, forKey: darkMode) + userDefaults.synchronize() + } + + // create and add a light to the scene + let lightNode: SCNNode = SCNNode() + lightNode.light = SCNLight() + lightNode.light!.type = .omni + lightNode.position = SCNVector3(x: 0, y: 10, z: 10) + scene.rootNode.addChildNode(lightNode) + + // create and add an ambient light to the scene + let ambientLightNode: SCNNode = SCNNode() + ambientLightNode.light = SCNLight() + ambientLightNode.light!.type = .ambient + ambientLightNode.light!.color = UIColor.darkGray + scene.rootNode.addChildNode(ambientLightNode) + + + // set the scene to the view + scnView.scene = scene + setSceneSettings() + + // add a tap gesture recognizer + let tapGesture: UIGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(handleTap(_:))) + scnView.addGestureRecognizer(tapGesture) + } + + func handleTap(_ gestureRecognize: UIGestureRecognizer) { + + // check what nodes are tapped + let p: CGPoint = gestureRecognize.location(in: scnView) + let hitResults: Array = scnView.hitTest(p) + + // check that we clicked on at least one object + if hitResults.count > 0 { + // retrieved the first clicked object + let result: SCNHitTestResult = hitResults[0] + guard let hitPhyNode: SCNPhysicsBody = result.node.physicsBody else { return } + hitPhyNode.applyForce(SCNVector3(x:0, y:userDefaults.float(forKey: upForce), z:0), asImpulse: true) + } + } + + override var prefersStatusBarHidden: Bool { + return true + } + +} diff --git a/funscene/Info.plist b/funscene/Info.plist new file mode 100644 index 0000000..1891137 --- /dev/null +++ b/funscene/Info.plist @@ -0,0 +1,50 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + Fun Scene + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UIRequiredDeviceCapabilities + + armv7 + + UIStatusBarHidden + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + UIInterfaceOrientationPortraitUpsideDown + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/funscene/SettingsViewController.swift b/funscene/SettingsViewController.swift new file mode 100644 index 0000000..b0e9cb4 --- /dev/null +++ b/funscene/SettingsViewController.swift @@ -0,0 +1,88 @@ +// +// SettingsViewController.swift +// funscene +// +// Created by ipad_kid on 7/17/17. +// Copyright © 2017 BlackJacket. All rights reserved. +// + +import SceneKit + +class SettingsViewController: UIViewController { + + @IBOutlet weak var settingsView: UIView! + @IBOutlet weak var showStats: UILabel! + @IBOutlet weak var camLockLabel: UILabel! + @IBOutlet weak var upForceLabel: UILabel! + @IBOutlet weak var gravityLabel: UILabel! + @IBOutlet weak var darkModeLabel: UILabel! + + @IBOutlet weak var scnStatsSwitch: UISwitch! + @IBOutlet weak var camLockSwitch: UISwitch! + @IBOutlet weak var forceSlider: UISlider! + @IBOutlet weak var gravitySlider: UISlider! + @IBOutlet weak var darkModeSwitch: UISwitch! + + private let userDefaults: UserDefaults = UserDefaults.standard + private let scnStats: String = "scnStats" + private let camLock: String = "camLock" + private let upForce: String = "upForce" + private let gravityValue: String = "gravityValue" + private let darkMode: String = "darkMode" + + @IBAction func setViewColors() { + let background: UIColor + let label: UIColor + if darkModeSwitch.isOn { + background = .black + label = .white + } else { + background = .white + label = .black + } + setNeedsStatusBarAppearanceUpdate() + settingsView.backgroundColor = background + showStats.textColor = label + camLockLabel.textColor = label + camLockLabel.textColor = label + upForceLabel.textColor = label + gravityLabel.textColor = label + darkModeLabel.textColor = label + } + + override func viewDidLoad() { + super.viewDidLoad() + + scnStatsSwitch.isOn = userDefaults.bool(forKey: scnStats) + camLockSwitch.isOn = userDefaults.bool(forKey: camLock) + forceSlider.value = userDefaults.float(forKey: upForce) + gravitySlider.value = 0-userDefaults.float(forKey: gravityValue) + darkModeSwitch.isOn = userDefaults.bool(forKey: darkMode) + setViewColors() + } + + @IBAction func close() { + userDefaults.set(scnStatsSwitch.isOn, forKey: scnStats) + userDefaults.set(camLockSwitch.isOn, forKey: camLock) + userDefaults.set(forceSlider.value, forKey: upForce) + userDefaults.set(0-gravitySlider.value, forKey: gravityValue) + userDefaults.set(darkModeSwitch.isOn, forKey: darkMode) + userDefaults.synchronize() + + var gameViewController: GameViewController? { + return presentingViewController as? GameViewController + } + + guard let gameVC = gameViewController else { return } + gameVC.setSceneSettings() + + dismiss(animated: true, completion: nil) + } + + override var preferredStatusBarStyle: UIStatusBarStyle { + return darkModeSwitch.isOn ? .lightContent : .default + } + +} + + diff --git a/funscene/main.scn b/funscene/main.scn new file mode 100644 index 0000000..b626533 --- /dev/null +++ b/funscene/main.scn @@ -0,0 +1,3675 @@ + + + + + $archiver + NSKeyedArchiver + $objects + + $null + + $class + + CF$UID + 105 + + background + + CF$UID + 102 + + endTime + 0.0 + environment + + CF$UID + 103 + + fogColor + + CF$UID + 104 + + fogDensityExponent + 1 + fogEndDistance + 0.0 + fogStartDistance + 0.0 + frameRate + 60 + paused + + physicsWorld + + CF$UID + 2 + + rootNode + + CF$UID + 4 + + startTime + 0.0 + upAxis + + AAAAAAAAgD8AAAAA + + version + 1 + + + $class + + CF$UID + 3 + + gravity + + AAAAAM3MHMEAAAAA + + scale + 1 + scene + + CF$UID + 1 + + speed + 1 + timeStep + 0.016666666666666666 + + + $classes + + SCNPhysicsWorld + NSObject + + $classname + SCNPhysicsWorld + + + $class + + CF$UID + 16 + + castsShadow + + categoryBitMask + 1 + childNodes + + CF$UID + 9 + + clientAttributes + + CF$UID + 5 + + hidden + + movabilityHint + 0 + opacity + 1 + paused + + position + + AAAAAAAAAAAAAAAA + + renderingOrder + 0 + rotation + + AAAAAAAAAAAAAAAAAAAAAA== + + scale + + AACAPwAAgD8AAIA/ + + + + $class + + CF$UID + 8 + + NS.keys + + + CF$UID + 6 + + + NS.objects + + + CF$UID + 7 + + + + SKEDocumentRootNodeMarkerKey + + + $classes + + NSMutableDictionary + NSDictionary + NSObject + + $classname + NSMutableDictionary + + + $class + + CF$UID + 15 + + NS.objects + + + CF$UID + 10 + + + CF$UID + 17 + + + CF$UID + 66 + + + CF$UID + 99 + + + + + $class + + CF$UID + 16 + + camera + + CF$UID + 11 + + castsShadow + + categoryBitMask + 1 + childNodes + + CF$UID + 14 + + hidden + + movabilityHint + 0 + name + + CF$UID + 12 + + opacity + 1 + paused + + position + + AAAAAAAAIEEAACBB + + renderingOrder + 0 + rotation + + //9/vyqkdLRqpxM13Q9JPw== + + scale + + AACAP+//fz/v/38/ + + + + $class + + CF$UID + 13 + + aperture + 0.125 + automaticallyAdjustsZRange + 0 + averageGray + 0.18000000715255737 + bloomBlurRadius + 4 + bloomIntensity + 0.0 + bloomThreshold + 0.5 + categoryBitMask + -1 + colorFringeIntensity + 1 + colorFringeStrength + 0.0 + contrast + 0.0 + exposureAdaptationBrighteningSpeedFactor + 0.40000000596046448 + exposureAdaptationDarkeningSpeedFactor + 0.60000002384185791 + exposureAdaptationDuration + 1 + exposureOffset + 0.0 + focalBlurRadius + 0.0 + focalDistance + 10 + focalSize + 0.0 + maximumExposure + 15 + minimumExposure + -15 + motionBlurIntensity + 0.0 + name + + CF$UID + 12 + + orthographicScale + 1 + saturation + 1 + usesOrthographicProjection + 0 + vignettingIntensity + 1 + vignettingPower + 0.0 + wantsExposureAdaptation + + wantsHDR + + whitePoint + 1 + xFov + 0.0 + yFov + 0.0 + zFar + 100 + zNear + 1 + + camera + + $classes + + SCNCamera + NSObject + + $classname + SCNCamera + + + $class + + CF$UID + 15 + + NS.objects + + + + $classes + + NSArray + NSObject + + $classname + NSArray + + + $classes + + SCNNode + NSObject + + $classname + SCNNode + + + $class + + CF$UID + 16 + + castsShadow + + categoryBitMask + 1 + childNodes + + CF$UID + 14 + + geometry + + CF$UID + 18 + + hidden + + movabilityHint + 0 + name + + CF$UID + 62 + + opacity + 1 + paused + + physicsBody + + CF$UID + 64 + + position + + AAAAAAAAAAAAAAAA + + renderingOrder + 0 + rotation + + AAAAAAAAAAAAAAAAAAAAAA== + + scale + + AACAPwAAgD8AAIA/ + + + + $class + + CF$UID + 63 + + length + 0.0 + materials + + CF$UID + 19 + + name + + CF$UID + 62 + + reflectionCategoryBitMask + -1 + reflectionFalloffEnd + 0.0 + reflectionFalloffStart + 0.0 + reflectivity + 0.25 + subdivisionLevel + 0 + subdivisionSettings + + AQEAAA== + + width + 0.0 + + + $class + + CF$UID + 61 + + NS.objects + + + CF$UID + 20 + + + + + $class + + CF$UID + 60 + + ambient + + CF$UID + 21 + + ambientOcclusion + + CF$UID + 53 + + avoidsOverLighting + + blendMode + 0 + cullMode + 0 + diffuse + + CF$UID + 30 + + doubleSided + + emission + + CF$UID + 36 + + fillMode + 2 + fresnelExponent + 0.0 + indexOfRefraction + 1 + lightingModelName + + CF$UID + 59 + + litPerPixel + + locksAmbientWithDiffuse + + metalness + + CF$UID + 55 + + multiply + + CF$UID + 45 + + normal + + CF$UID + 48 + + readsFromDepthBuffer + + reflective + + CF$UID + 39 + + roughness + + CF$UID + 57 + + selfIllumination + + CF$UID + 51 + + selfIlluminationOcclusion + 0.0 + shininess + 1 + specular + + CF$UID + 33 + + transparency + 1 + transparencyMode + 0 + transparent + + CF$UID + 42 + + writesToDepthBuffer + + + + $class + + CF$UID + 29 + + borderColor + + CF$UID + 28 + + color + + CF$UID + 22 + + intensity + 1 + isCommonProfileProperty + 1 + magnificationFilter + 2 + mappingChannel + 0 + maxAnisotropy + 3.4028234663852886e+38 + minificationFilter + 2 + mipFilter + 2 + parent + + CF$UID + 20 + + propertyType + 1 + wrapS + 2 + wrapT + 2 + + + $class + + CF$UID + 27 + + NSColorSpace + 1 + NSComponents + + MC4yMDAwMDAwMDMgMC4yMDAwMDAwMDMgMC4yMDAwMDAwMDMgMQ== + + NSCustomColorSpace + + CF$UID + 23 + + NSRGB + + MC4xNTA1NjMxMzU3IDAuMTUwNTU4NjM1NiAwLjE1MDU2MTIxMzUA + + + + $class + + CF$UID + 26 + + NSICC + + CF$UID + 24 + + NSSpaceID + 14 + + + $class + + CF$UID + 25 + + NS.data + + AAAMSExpbm8CEAAAbW50clJHQiBYWVogB84AAgAJAAYAMQAAYWNz + cE1TRlQAAAAASUVDIHNSR0IAAAAAAAAAAAAAAAAAAPbWAAEAAAAA + 0y1IUCAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAARY3BydAAAAVAAAAAzZGVzYwAAAYQAAABs + d3RwdAAAAfAAAAAUYmtwdAAAAgQAAAAUclhZWgAAAhgAAAAUZ1hZ + WgAAAiwAAAAUYlhZWgAAAkAAAAAUZG1uZAAAAlQAAABwZG1kZAAA + AsQAAACIdnVlZAAAA0wAAACGdmlldwAAA9QAAAAkbHVtaQAAA/gA + AAAUbWVhcwAABAwAAAAkdGVjaAAABDAAAAAMclRSQwAABDwAAAgM + Z1RSQwAABDwAAAgMYlRSQwAABDwAAAgMdGV4dAAAAABDb3B5cmln + aHQgKGMpIDE5OTggSGV3bGV0dC1QYWNrYXJkIENvbXBhbnkAAGRl + c2MAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAS + c1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAADz + UQABAAAAARbMWFlaIAAAAAAAAAAAAAAAAAAAAABYWVogAAAAAAAA + b6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAA + ACSgAAAPhAAAts9kZXNjAAAAAAAAABZJRUMgaHR0cDovL3d3dy5p + ZWMuY2gAAAAAAAAAAAAAABZJRUMgaHR0cDovL3d3dy5pZWMuY2gA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAZGVzYwAAAAAAAAAuSUVDIDYxOTY2LTIuMSBEZWZhdWx0 + IFJHQiBjb2xvdXIgc3BhY2UgLSBzUkdCAAAAAAAAAAAAAAAuSUVD + IDYxOTY2LTIuMSBEZWZhdWx0IFJHQiBjb2xvdXIgc3BhY2UgLSBz + UkdCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAAAAAALFJl + ZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBpbiBJRUM2MTk2Ni0y + LjEAAAAAAAAAAAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25kaXRp + b24gaW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAB2aWV3AAAAAAATpP4AFF8uABDPFAAD7cwABBMLAANcngAA + AAFYWVogAAAAAABMCVYAUAAAAFcf521lYXMAAAAAAAAAAQAAAAAA + AAAAAAAAAAAAAAAAAAKPAAAAAnNpZyAAAAAAQ1JUIGN1cnYAAAAA + AAAEAAAAAAUACgAPABQAGQAeACMAKAAtADIANwA7AEAARQBKAE8A + VABZAF4AYwBoAG0AcgB3AHwAgQCGAIsAkACVAJoAnwCkAKkArgCy + ALcAvADBAMYAywDQANUA2wDgAOUA6wDwAPYA+wEBAQcBDQETARkB + HwElASsBMgE4AT4BRQFMAVIBWQFgAWcBbgF1AXwBgwGLAZIBmgGh + AakBsQG5AcEByQHRAdkB4QHpAfIB+gIDAgwCFAIdAiYCLwI4AkEC + SwJUAl0CZwJxAnoChAKOApgCogKsArYCwQLLAtUC4ALrAvUDAAML + AxYDIQMtAzgDQwNPA1oDZgNyA34DigOWA6IDrgO6A8cD0wPgA+wD + +QQGBBMEIAQtBDsESARVBGMEcQR+BIwEmgSoBLYExATTBOEE8AT+ + BQ0FHAUrBToFSQVYBWcFdwWGBZYFpgW1BcUF1QXlBfYGBgYWBicG + NwZIBlkGagZ7BowGnQavBsAG0QbjBvUHBwcZBysHPQdPB2EHdAeG + B5kHrAe/B9IH5Qf4CAsIHwgyCEYIWghuCIIIlgiqCL4I0gjnCPsJ + EAklCToJTwlkCXkJjwmkCboJzwnlCfsKEQonCj0KVApqCoEKmAqu + CsUK3ArzCwsLIgs5C1ELaQuAC5gLsAvIC+EL+QwSDCoMQwxcDHUM + jgynDMAM2QzzDQ0NJg1ADVoNdA2ODakNww3eDfgOEw4uDkkOZA5/ + DpsOtg7SDu4PCQ8lD0EPXg96D5YPsw/PD+wQCRAmEEMQYRB+EJsQ + uRDXEPURExExEU8RbRGMEaoRyRHoEgcSJhJFEmQShBKjEsMS4xMD + EyMTQxNjE4MTpBPFE+UUBhQnFEkUahSLFK0UzhTwFRIVNBVWFXgV + mxW9FeAWAxYmFkkWbBaPFrIW1hb6Fx0XQRdlF4kXrhfSF/cYGxhA + GGUYihivGNUY+hkgGUUZaxmRGbcZ3RoEGioaURp3Gp4axRrsGxQb + OxtjG4obshvaHAIcKhxSHHscoxzMHPUdHh1HHXAdmR3DHeweFh5A + HmoelB6+HukfEx8+H2kflB+/H+ogFSBBIGwgmCDEIPAhHCFIIXUh + oSHOIfsiJyJVIoIiryLdIwojOCNmI5QjwiPwJB8kTSR8JKsk2iUJ + JTglaCWXJccl9yYnJlcmhya3JugnGCdJJ3onqyfcKA0oPyhxKKIo + 1CkGKTgpaymdKdAqAio1KmgqmyrPKwIrNitpK50r0SwFLDksbiyi + LNctDC1BLXYtqy3hLhYuTC6CLrcu7i8kL1ovkS/HL/4wNTBsMKQw + 2zESMUoxgjG6MfIyKjJjMpsy1DMNM0YzfzO4M/E0KzRlNJ402DUT + NU01hzXCNf02NzZyNq426TckN2A3nDfXOBQ4UDiMOMg5BTlCOX85 + vDn5OjY6dDqyOu87LTtrO6o76DwnPGU8pDzjPSI9YT2hPeA+ID5g + PqA+4D8hP2E/oj/iQCNAZECmQOdBKUFqQaxB7kIwQnJCtUL3QzpD + fUPARANER0SKRM5FEkVVRZpF3kYiRmdGq0bwRzVHe0fASAVIS0iR + SNdJHUljSalJ8Eo3Sn1KxEsMS1NLmkviTCpMcky6TQJNSk2TTdxO + JU5uTrdPAE9JT5NP3VAnUHFQu1EGUVBRm1HmUjFSfFLHUxNTX1Oq + U/ZUQlSPVNtVKFV1VcJWD1ZcVqlW91dEV5JX4FgvWH1Yy1kaWWlZ + uFoHWlZaplr1W0VblVvlXDVchlzWXSddeF3JXhpebF69Xw9fYV+z + YAVgV2CqYPxhT2GiYfViSWKcYvBjQ2OXY+tkQGSUZOllPWWSZedm + PWaSZuhnPWeTZ+loP2iWaOxpQ2maafFqSGqfavdrT2una/9sV2yv + bQhtYG25bhJua27Ebx5veG/RcCtwhnDgcTpxlXHwcktypnMBc11z + uHQUdHB0zHUodYV14XY+dpt2+HdWd7N4EXhueMx5KnmJeed6Rnql + ewR7Y3vCfCF8gXzhfUF9oX4BfmJ+wn8jf4R/5YBHgKiBCoFrgc2C + MIKSgvSDV4O6hB2EgITjhUeFq4YOhnKG14c7h5+IBIhpiM6JM4mZ + if6KZIrKizCLlov8jGOMyo0xjZiN/45mjs6PNo+ekAaQbpDWkT+R + qJIRknqS45NNk7aUIJSKlPSVX5XJljSWn5cKl3WX4JhMmLiZJJmQ + mfyaaJrVm0Kbr5wcnImc951kndKeQJ6unx2fi5/6oGmg2KFHobai + JqKWowajdqPmpFakx6U4pammGqaLpv2nbqfgqFKoxKk3qamqHKqP + qwKrdavprFys0K1ErbiuLa6hrxavi7AAsHWw6rFgsdayS7LCsziz + rrQltJy1E7WKtgG2ebbwt2i34LhZuNG5SrnCuju6tbsuu6e8Ibyb + vRW9j74KvoS+/796v/XAcMDswWfB48JfwtvDWMPUxFHEzsVLxcjG + RsbDx0HHv8g9yLzJOsm5yjjKt8s2y7bMNcy1zTXNtc42zrbPN8+4 + 0DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ + 8dp22vvbgNwF3IrdEN2W3hzeot8p36/gNuC94UThzOJT4tvjY+Pr + 5HPk/OWE5g3mlucf56noMui86Ubp0Opb6uXrcOv77IbtEe2c7iju + tO9A78zwWPDl8XLx//KM8xnzp/Q09ML1UPXe9m32+/eK+Bn4qPk4 + +cf6V/rn+3f8B/yY/Sn9uv5L/tz/bf// + + + + $classes + + NSMutableData + NSData + NSObject + + $classname + NSMutableData + + + $classes + + NSColorSpace + NSObject + + $classname + NSColorSpace + + + $classes + + NSColor + NSObject + + $classname + NSColor + + + $class + + CF$UID + 25 + + NS.data + + YnBsaXN0MDDUAQIDBAUGKyxYJHZlcnNpb25YJG9iamVjdHNZJGFy + Y2hpdmVyVCR0b3ASAAGGoKcHCBMZHSQoVSRudWxs1QkKCwwNDg8Q + ERJcTlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JTcGFjZV8QEk5T + Q3VzdG9tQ29sb3JTcGFjZVYkY2xhc3NHMCAwIDAgMUYwIDAgMAAQ + AYACgAbTFA0VFhcYVU5TSUNDWU5TU3BhY2VJRIADgAUQDtIaDRsc + V05TLmRhdGFPEQxIAAAMSExpbm8CEAAAbW50clJHQiBYWVogB84A + AgAJAAYAMQAAYWNzcE1TRlQAAAAASUVDIHNSR0IAAAAAAAAAAAAA + AAAAAPbWAAEAAAAA0y1IUCAgAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARY3BydAAAAVAAAAAz + ZGVzYwAAAYQAAABsd3RwdAAAAfAAAAAUYmtwdAAAAgQAAAAUclhZ + WgAAAhgAAAAUZ1hZWgAAAiwAAAAUYlhZWgAAAkAAAAAUZG1uZAAA + AlQAAABwZG1kZAAAAsQAAACIdnVlZAAAA0wAAACGdmlldwAAA9QA + AAAkbHVtaQAAA/gAAAAUbWVhcwAABAwAAAAkdGVjaAAABDAAAAAM + clRSQwAABDwAAAgMZ1RSQwAABDwAAAgMYlRSQwAABDwAAAgMdGV4 + dAAAAABDb3B5cmlnaHQgKGMpIDE5OTggSGV3bGV0dC1QYWNrYXJk + IENvbXBhbnkAAGRlc2MAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4x + AAAAAAAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AFhZWiAAAAAAAADzUQABAAAAARbMWFlaIAAAAAAAAAAAAAAAAAAA + AABYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UA + ABjaWFlaIAAAAAAAACSgAAAPhAAAts9kZXNjAAAAAAAAABZJRUMg + aHR0cDovL3d3dy5pZWMuY2gAAAAAAAAAAAAAABZJRUMgaHR0cDov + L3d3dy5pZWMuY2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAZGVzYwAAAAAAAAAuSUVDIDYxOTY2 + LTIuMSBEZWZhdWx0IFJHQiBjb2xvdXIgc3BhY2UgLSBzUkdCAAAA + AAAAAAAAAAAuSUVDIDYxOTY2LTIuMSBEZWZhdWx0IFJHQiBjb2xv + dXIgc3BhY2UgLSBzUkdCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRl + c2MAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBp + biBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAACxSZWZlcmVuY2UgVmll + d2luZyBDb25kaXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAB2aWV3AAAAAAATpP4AFF8uABDPFAAD + 7cwABBMLAANcngAAAAFYWVogAAAAAABMCVYAUAAAAFcf521lYXMA + AAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAKPAAAAAnNpZyAAAAAA + Q1JUIGN1cnYAAAAAAAAEAAAAAAUACgAPABQAGQAeACMAKAAtADIA + NwA7AEAARQBKAE8AVABZAF4AYwBoAG0AcgB3AHwAgQCGAIsAkACV + AJoAnwCkAKkArgCyALcAvADBAMYAywDQANUA2wDgAOUA6wDwAPYA + +wEBAQcBDQETARkBHwElASsBMgE4AT4BRQFMAVIBWQFgAWcBbgF1 + AXwBgwGLAZIBmgGhAakBsQG5AcEByQHRAdkB4QHpAfIB+gIDAgwC + FAIdAiYCLwI4AkECSwJUAl0CZwJxAnoChAKOApgCogKsArYCwQLL + AtUC4ALrAvUDAAMLAxYDIQMtAzgDQwNPA1oDZgNyA34DigOWA6ID + rgO6A8cD0wPgA+wD+QQGBBMEIAQtBDsESARVBGMEcQR+BIwEmgSo + BLYExATTBOEE8AT+BQ0FHAUrBToFSQVYBWcFdwWGBZYFpgW1BcUF + 1QXlBfYGBgYWBicGNwZIBlkGagZ7BowGnQavBsAG0QbjBvUHBwcZ + BysHPQdPB2EHdAeGB5kHrAe/B9IH5Qf4CAsIHwgyCEYIWghuCIII + lgiqCL4I0gjnCPsJEAklCToJTwlkCXkJjwmkCboJzwnlCfsKEQon + Cj0KVApqCoEKmAquCsUK3ArzCwsLIgs5C1ELaQuAC5gLsAvIC+EL + +QwSDCoMQwxcDHUMjgynDMAM2QzzDQ0NJg1ADVoNdA2ODakNww3e + DfgOEw4uDkkOZA5/DpsOtg7SDu4PCQ8lD0EPXg96D5YPsw/PD+wQ + CRAmEEMQYRB+EJsQuRDXEPURExExEU8RbRGMEaoRyRHoEgcSJhJF + EmQShBKjEsMS4xMDEyMTQxNjE4MTpBPFE+UUBhQnFEkUahSLFK0U + zhTwFRIVNBVWFXgVmxW9FeAWAxYmFkkWbBaPFrIW1hb6Fx0XQRdl + F4kXrhfSF/cYGxhAGGUYihivGNUY+hkgGUUZaxmRGbcZ3RoEGioa + URp3Gp4axRrsGxQbOxtjG4obshvaHAIcKhxSHHscoxzMHPUdHh1H + HXAdmR3DHeweFh5AHmoelB6+HukfEx8+H2kflB+/H+ogFSBBIGwg + mCDEIPAhHCFIIXUhoSHOIfsiJyJVIoIiryLdIwojOCNmI5QjwiPw + JB8kTSR8JKsk2iUJJTglaCWXJccl9yYnJlcmhya3JugnGCdJJ3on + qyfcKA0oPyhxKKIo1CkGKTgpaymdKdAqAio1KmgqmyrPKwIrNitp + K50r0SwFLDksbiyiLNctDC1BLXYtqy3hLhYuTC6CLrcu7i8kL1ov + kS/HL/4wNTBsMKQw2zESMUoxgjG6MfIyKjJjMpsy1DMNM0YzfzO4 + M/E0KzRlNJ402DUTNU01hzXCNf02NzZyNq426TckN2A3nDfXOBQ4 + UDiMOMg5BTlCOX85vDn5OjY6dDqyOu87LTtrO6o76DwnPGU8pDzj + PSI9YT2hPeA+ID5gPqA+4D8hP2E/oj/iQCNAZECmQOdBKUFqQaxB + 7kIwQnJCtUL3QzpDfUPARANER0SKRM5FEkVVRZpF3kYiRmdGq0bw + RzVHe0fASAVIS0iRSNdJHUljSalJ8Eo3Sn1KxEsMS1NLmkviTCpM + cky6TQJNSk2TTdxOJU5uTrdPAE9JT5NP3VAnUHFQu1EGUVBRm1Hm + UjFSfFLHUxNTX1OqU/ZUQlSPVNtVKFV1VcJWD1ZcVqlW91dEV5JX + 4FgvWH1Yy1kaWWlZuFoHWlZaplr1W0VblVvlXDVchlzWXSddeF3J + XhpebF69Xw9fYV+zYAVgV2CqYPxhT2GiYfViSWKcYvBjQ2OXY+tk + QGSUZOllPWWSZedmPWaSZuhnPWeTZ+loP2iWaOxpQ2maafFqSGqf + avdrT2una/9sV2yvbQhtYG25bhJua27Ebx5veG/RcCtwhnDgcTpx + lXHwcktypnMBc11zuHQUdHB0zHUodYV14XY+dpt2+HdWd7N4EXhu + eMx5KnmJeed6RnqlewR7Y3vCfCF8gXzhfUF9oX4BfmJ+wn8jf4R/ + 5YBHgKiBCoFrgc2CMIKSgvSDV4O6hB2EgITjhUeFq4YOhnKG14c7 + h5+IBIhpiM6JM4mZif6KZIrKizCLlov8jGOMyo0xjZiN/45mjs6P + No+ekAaQbpDWkT+RqJIRknqS45NNk7aUIJSKlPSVX5XJljSWn5cK + l3WX4JhMmLiZJJmQmfyaaJrVm0Kbr5wcnImc951kndKeQJ6unx2f + i5/6oGmg2KFHobaiJqKWowajdqPmpFakx6U4pammGqaLpv2nbqfg + qFKoxKk3qamqHKqPqwKrdavprFys0K1ErbiuLa6hrxavi7AAsHWw + 6rFgsdayS7LCszizrrQltJy1E7WKtgG2ebbwt2i34LhZuNG5SrnC + uju6tbsuu6e8IbybvRW9j74KvoS+/796v/XAcMDswWfB48JfwtvD + WMPUxFHEzsVLxcjGRsbDx0HHv8g9yLzJOsm5yjjKt8s2y7bMNcy1 + zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW + 2Ndc1+DYZNjo2WzZ8dp22vvbgNwF3IrdEN2W3hzeot8p36/gNuC9 + 4UThzOJT4tvjY+Pr5HPk/OWE5g3mlucf56noMui86Ubp0Opb6uXr + cOv77IbtEe2c7ijutO9A78zwWPDl8XLx//KM8xnzp/Q09ML1UPXe + 9m32+/eK+Bn4qPk4+cf6V/rn+3f8B/yY/Sn9uv5L/tz/bf//gATS + Hh8gIVokY2xhc3NuYW1lWCRjbGFzc2VzXU5TTXV0YWJsZURhdGGj + ICIjVk5TRGF0YVhOU09iamVjdNIeHyUmXE5TQ29sb3JTcGFjZaIn + I1xOU0NvbG9yU3BhY2XSHh8pKldOU0NvbG9yoikjXxAPTlNLZXll + ZEFyY2hpdmVy0S0uVHJvb3SAAQAIABEAGgAjAC0AMgA3AD8ARQBQ + AF0AYwBwAIUAjACUAJsAnQCfAKEAqACuALgAugC8AL4AwwDLDRcN + GQ0eDSkNMg1ADUQNSw1UDVkNZg1pDXYNew2DDYYNmA2bDaAAAAAA + AAACAQAAAAAAAAAvAAAAAAAAAAAAAAAAAAANog== + + + + $classes + + SCNMaterialProperty + NSObject + + $classname + SCNMaterialProperty + + + $class + + CF$UID + 29 + + borderColor + + CF$UID + 32 + + color + + CF$UID + 31 + + intensity + 1 + isCommonProfileProperty + 1 + magnificationFilter + 2 + mappingChannel + 0 + maxAnisotropy + 3.4028234663852886e+38 + minificationFilter + 2 + mipFilter + 2 + parent + + CF$UID + 20 + + propertyType + 2 + wrapS + 2 + wrapT + 2 + + + $class + + CF$UID + 27 + + NSColorSpace + 1 + NSComponents + + MSAxIDEgMQ== + + NSCustomColorSpace + + CF$UID + 23 + + NSRGB + + MSAwLjk5OTk3NDM3IDAuOTk5OTkxMjk3NwA= + + + + $class + + CF$UID + 25 + + NS.data + + YnBsaXN0MDDUAQIDBAUGKyxYJHZlcnNpb25YJG9iamVjdHNZJGFy + Y2hpdmVyVCR0b3ASAAGGoKcHCBMZHSQoVSRudWxs1QkKCwwNDg8Q + ERJcTlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JTcGFjZV8QEk5T + Q3VzdG9tQ29sb3JTcGFjZVYkY2xhc3NHMCAwIDAgMUYwIDAgMAAQ + AYACgAbTFA0VFhcYVU5TSUNDWU5TU3BhY2VJRIADgAUQDtIaDRsc + V05TLmRhdGFPEQxIAAAMSExpbm8CEAAAbW50clJHQiBYWVogB84A + AgAJAAYAMQAAYWNzcE1TRlQAAAAASUVDIHNSR0IAAAAAAAAAAAAA + AAAAAPbWAAEAAAAA0y1IUCAgAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARY3BydAAAAVAAAAAz + ZGVzYwAAAYQAAABsd3RwdAAAAfAAAAAUYmtwdAAAAgQAAAAUclhZ + WgAAAhgAAAAUZ1hZWgAAAiwAAAAUYlhZWgAAAkAAAAAUZG1uZAAA + AlQAAABwZG1kZAAAAsQAAACIdnVlZAAAA0wAAACGdmlldwAAA9QA + AAAkbHVtaQAAA/gAAAAUbWVhcwAABAwAAAAkdGVjaAAABDAAAAAM + clRSQwAABDwAAAgMZ1RSQwAABDwAAAgMYlRSQwAABDwAAAgMdGV4 + dAAAAABDb3B5cmlnaHQgKGMpIDE5OTggSGV3bGV0dC1QYWNrYXJk + IENvbXBhbnkAAGRlc2MAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4x + AAAAAAAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AFhZWiAAAAAAAADzUQABAAAAARbMWFlaIAAAAAAAAAAAAAAAAAAA + AABYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UA + ABjaWFlaIAAAAAAAACSgAAAPhAAAts9kZXNjAAAAAAAAABZJRUMg + aHR0cDovL3d3dy5pZWMuY2gAAAAAAAAAAAAAABZJRUMgaHR0cDov + L3d3dy5pZWMuY2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAZGVzYwAAAAAAAAAuSUVDIDYxOTY2 + LTIuMSBEZWZhdWx0IFJHQiBjb2xvdXIgc3BhY2UgLSBzUkdCAAAA + AAAAAAAAAAAuSUVDIDYxOTY2LTIuMSBEZWZhdWx0IFJHQiBjb2xv + dXIgc3BhY2UgLSBzUkdCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRl + c2MAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBp + biBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAACxSZWZlcmVuY2UgVmll + d2luZyBDb25kaXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAB2aWV3AAAAAAATpP4AFF8uABDPFAAD + 7cwABBMLAANcngAAAAFYWVogAAAAAABMCVYAUAAAAFcf521lYXMA + AAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAKPAAAAAnNpZyAAAAAA + Q1JUIGN1cnYAAAAAAAAEAAAAAAUACgAPABQAGQAeACMAKAAtADIA + NwA7AEAARQBKAE8AVABZAF4AYwBoAG0AcgB3AHwAgQCGAIsAkACV + AJoAnwCkAKkArgCyALcAvADBAMYAywDQANUA2wDgAOUA6wDwAPYA + +wEBAQcBDQETARkBHwElASsBMgE4AT4BRQFMAVIBWQFgAWcBbgF1 + AXwBgwGLAZIBmgGhAakBsQG5AcEByQHRAdkB4QHpAfIB+gIDAgwC + FAIdAiYCLwI4AkECSwJUAl0CZwJxAnoChAKOApgCogKsArYCwQLL + AtUC4ALrAvUDAAMLAxYDIQMtAzgDQwNPA1oDZgNyA34DigOWA6ID + rgO6A8cD0wPgA+wD+QQGBBMEIAQtBDsESARVBGMEcQR+BIwEmgSo + BLYExATTBOEE8AT+BQ0FHAUrBToFSQVYBWcFdwWGBZYFpgW1BcUF + 1QXlBfYGBgYWBicGNwZIBlkGagZ7BowGnQavBsAG0QbjBvUHBwcZ + BysHPQdPB2EHdAeGB5kHrAe/B9IH5Qf4CAsIHwgyCEYIWghuCIII + lgiqCL4I0gjnCPsJEAklCToJTwlkCXkJjwmkCboJzwnlCfsKEQon + Cj0KVApqCoEKmAquCsUK3ArzCwsLIgs5C1ELaQuAC5gLsAvIC+EL + +QwSDCoMQwxcDHUMjgynDMAM2QzzDQ0NJg1ADVoNdA2ODakNww3e + DfgOEw4uDkkOZA5/DpsOtg7SDu4PCQ8lD0EPXg96D5YPsw/PD+wQ + CRAmEEMQYRB+EJsQuRDXEPURExExEU8RbRGMEaoRyRHoEgcSJhJF + EmQShBKjEsMS4xMDEyMTQxNjE4MTpBPFE+UUBhQnFEkUahSLFK0U + zhTwFRIVNBVWFXgVmxW9FeAWAxYmFkkWbBaPFrIW1hb6Fx0XQRdl + F4kXrhfSF/cYGxhAGGUYihivGNUY+hkgGUUZaxmRGbcZ3RoEGioa + URp3Gp4axRrsGxQbOxtjG4obshvaHAIcKhxSHHscoxzMHPUdHh1H + HXAdmR3DHeweFh5AHmoelB6+HukfEx8+H2kflB+/H+ogFSBBIGwg + mCDEIPAhHCFIIXUhoSHOIfsiJyJVIoIiryLdIwojOCNmI5QjwiPw + JB8kTSR8JKsk2iUJJTglaCWXJccl9yYnJlcmhya3JugnGCdJJ3on + qyfcKA0oPyhxKKIo1CkGKTgpaymdKdAqAio1KmgqmyrPKwIrNitp + K50r0SwFLDksbiyiLNctDC1BLXYtqy3hLhYuTC6CLrcu7i8kL1ov + kS/HL/4wNTBsMKQw2zESMUoxgjG6MfIyKjJjMpsy1DMNM0YzfzO4 + M/E0KzRlNJ402DUTNU01hzXCNf02NzZyNq426TckN2A3nDfXOBQ4 + UDiMOMg5BTlCOX85vDn5OjY6dDqyOu87LTtrO6o76DwnPGU8pDzj + PSI9YT2hPeA+ID5gPqA+4D8hP2E/oj/iQCNAZECmQOdBKUFqQaxB + 7kIwQnJCtUL3QzpDfUPARANER0SKRM5FEkVVRZpF3kYiRmdGq0bw + RzVHe0fASAVIS0iRSNdJHUljSalJ8Eo3Sn1KxEsMS1NLmkviTCpM + cky6TQJNSk2TTdxOJU5uTrdPAE9JT5NP3VAnUHFQu1EGUVBRm1Hm + UjFSfFLHUxNTX1OqU/ZUQlSPVNtVKFV1VcJWD1ZcVqlW91dEV5JX + 4FgvWH1Yy1kaWWlZuFoHWlZaplr1W0VblVvlXDVchlzWXSddeF3J + XhpebF69Xw9fYV+zYAVgV2CqYPxhT2GiYfViSWKcYvBjQ2OXY+tk + QGSUZOllPWWSZedmPWaSZuhnPWeTZ+loP2iWaOxpQ2maafFqSGqf + avdrT2una/9sV2yvbQhtYG25bhJua27Ebx5veG/RcCtwhnDgcTpx + lXHwcktypnMBc11zuHQUdHB0zHUodYV14XY+dpt2+HdWd7N4EXhu + eMx5KnmJeed6RnqlewR7Y3vCfCF8gXzhfUF9oX4BfmJ+wn8jf4R/ + 5YBHgKiBCoFrgc2CMIKSgvSDV4O6hB2EgITjhUeFq4YOhnKG14c7 + h5+IBIhpiM6JM4mZif6KZIrKizCLlov8jGOMyo0xjZiN/45mjs6P + No+ekAaQbpDWkT+RqJIRknqS45NNk7aUIJSKlPSVX5XJljSWn5cK + l3WX4JhMmLiZJJmQmfyaaJrVm0Kbr5wcnImc951kndKeQJ6unx2f + i5/6oGmg2KFHobaiJqKWowajdqPmpFakx6U4pammGqaLpv2nbqfg + qFKoxKk3qamqHKqPqwKrdavprFys0K1ErbiuLa6hrxavi7AAsHWw + 6rFgsdayS7LCszizrrQltJy1E7WKtgG2ebbwt2i34LhZuNG5SrnC + uju6tbsuu6e8IbybvRW9j74KvoS+/796v/XAcMDswWfB48JfwtvD + WMPUxFHEzsVLxcjGRsbDx0HHv8g9yLzJOsm5yjjKt8s2y7bMNcy1 + zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW + 2Ndc1+DYZNjo2WzZ8dp22vvbgNwF3IrdEN2W3hzeot8p36/gNuC9 + 4UThzOJT4tvjY+Pr5HPk/OWE5g3mlucf56noMui86Ubp0Opb6uXr + cOv77IbtEe2c7ijutO9A78zwWPDl8XLx//KM8xnzp/Q09ML1UPXe + 9m32+/eK+Bn4qPk4+cf6V/rn+3f8B/yY/Sn9uv5L/tz/bf//gATS + Hh8gIVokY2xhc3NuYW1lWCRjbGFzc2VzXU5TTXV0YWJsZURhdGGj + ICIjVk5TRGF0YVhOU09iamVjdNIeHyUmXE5TQ29sb3JTcGFjZaIn + I1xOU0NvbG9yU3BhY2XSHh8pKldOU0NvbG9yoikjXxAPTlNLZXll + ZEFyY2hpdmVy0S0uVHJvb3SAAQAIABEAGgAjAC0AMgA3AD8ARQBQ + AF0AYwBwAIUAjACUAJsAnQCfAKEAqACuALgAugC8AL4AwwDLDRcN + GQ0eDSkNMg1ADUQNSw1UDVkNZg1pDXYNew2DDYYNmA2bDaAAAAAA + AAACAQAAAAAAAAAvAAAAAAAAAAAAAAAAAAANog== + + + + $class + + CF$UID + 29 + + borderColor + + CF$UID + 35 + + color + + CF$UID + 34 + + intensity + 1 + isCommonProfileProperty + 1 + magnificationFilter + 2 + mappingChannel + 0 + maxAnisotropy + 3.4028234663852886e+38 + minificationFilter + 2 + mipFilter + 2 + parent + + CF$UID + 20 + + propertyType + 3 + wrapS + 2 + wrapT + 2 + + + $class + + CF$UID + 27 + + NSColorSpace + 1 + NSComponents + + MCAwIDAgMQ== + + NSCustomColorSpace + + CF$UID + 23 + + NSRGB + + MCAwIDAA + + + + $class + + CF$UID + 25 + + NS.data + + YnBsaXN0MDDUAQIDBAUGKyxYJHZlcnNpb25YJG9iamVjdHNZJGFy + Y2hpdmVyVCR0b3ASAAGGoKcHCBMZHSQoVSRudWxs1QkKCwwNDg8Q + ERJcTlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JTcGFjZV8QEk5T + Q3VzdG9tQ29sb3JTcGFjZVYkY2xhc3NHMCAwIDAgMUYwIDAgMAAQ + AYACgAbTFA0VFhcYVU5TSUNDWU5TU3BhY2VJRIADgAUQDtIaDRsc + V05TLmRhdGFPEQxIAAAMSExpbm8CEAAAbW50clJHQiBYWVogB84A + AgAJAAYAMQAAYWNzcE1TRlQAAAAASUVDIHNSR0IAAAAAAAAAAAAA + AAAAAPbWAAEAAAAA0y1IUCAgAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARY3BydAAAAVAAAAAz + ZGVzYwAAAYQAAABsd3RwdAAAAfAAAAAUYmtwdAAAAgQAAAAUclhZ + WgAAAhgAAAAUZ1hZWgAAAiwAAAAUYlhZWgAAAkAAAAAUZG1uZAAA + AlQAAABwZG1kZAAAAsQAAACIdnVlZAAAA0wAAACGdmlldwAAA9QA + AAAkbHVtaQAAA/gAAAAUbWVhcwAABAwAAAAkdGVjaAAABDAAAAAM + clRSQwAABDwAAAgMZ1RSQwAABDwAAAgMYlRSQwAABDwAAAgMdGV4 + dAAAAABDb3B5cmlnaHQgKGMpIDE5OTggSGV3bGV0dC1QYWNrYXJk + IENvbXBhbnkAAGRlc2MAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4x + AAAAAAAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AFhZWiAAAAAAAADzUQABAAAAARbMWFlaIAAAAAAAAAAAAAAAAAAA + AABYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UA + ABjaWFlaIAAAAAAAACSgAAAPhAAAts9kZXNjAAAAAAAAABZJRUMg + aHR0cDovL3d3dy5pZWMuY2gAAAAAAAAAAAAAABZJRUMgaHR0cDov + L3d3dy5pZWMuY2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAZGVzYwAAAAAAAAAuSUVDIDYxOTY2 + LTIuMSBEZWZhdWx0IFJHQiBjb2xvdXIgc3BhY2UgLSBzUkdCAAAA + AAAAAAAAAAAuSUVDIDYxOTY2LTIuMSBEZWZhdWx0IFJHQiBjb2xv + dXIgc3BhY2UgLSBzUkdCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRl + c2MAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBp + biBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAACxSZWZlcmVuY2UgVmll + d2luZyBDb25kaXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAB2aWV3AAAAAAATpP4AFF8uABDPFAAD + 7cwABBMLAANcngAAAAFYWVogAAAAAABMCVYAUAAAAFcf521lYXMA + AAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAKPAAAAAnNpZyAAAAAA + Q1JUIGN1cnYAAAAAAAAEAAAAAAUACgAPABQAGQAeACMAKAAtADIA + NwA7AEAARQBKAE8AVABZAF4AYwBoAG0AcgB3AHwAgQCGAIsAkACV + AJoAnwCkAKkArgCyALcAvADBAMYAywDQANUA2wDgAOUA6wDwAPYA + +wEBAQcBDQETARkBHwElASsBMgE4AT4BRQFMAVIBWQFgAWcBbgF1 + AXwBgwGLAZIBmgGhAakBsQG5AcEByQHRAdkB4QHpAfIB+gIDAgwC + FAIdAiYCLwI4AkECSwJUAl0CZwJxAnoChAKOApgCogKsArYCwQLL + AtUC4ALrAvUDAAMLAxYDIQMtAzgDQwNPA1oDZgNyA34DigOWA6ID + rgO6A8cD0wPgA+wD+QQGBBMEIAQtBDsESARVBGMEcQR+BIwEmgSo + BLYExATTBOEE8AT+BQ0FHAUrBToFSQVYBWcFdwWGBZYFpgW1BcUF + 1QXlBfYGBgYWBicGNwZIBlkGagZ7BowGnQavBsAG0QbjBvUHBwcZ + BysHPQdPB2EHdAeGB5kHrAe/B9IH5Qf4CAsIHwgyCEYIWghuCIII + lgiqCL4I0gjnCPsJEAklCToJTwlkCXkJjwmkCboJzwnlCfsKEQon + Cj0KVApqCoEKmAquCsUK3ArzCwsLIgs5C1ELaQuAC5gLsAvIC+EL + +QwSDCoMQwxcDHUMjgynDMAM2QzzDQ0NJg1ADVoNdA2ODakNww3e + DfgOEw4uDkkOZA5/DpsOtg7SDu4PCQ8lD0EPXg96D5YPsw/PD+wQ + CRAmEEMQYRB+EJsQuRDXEPURExExEU8RbRGMEaoRyRHoEgcSJhJF + EmQShBKjEsMS4xMDEyMTQxNjE4MTpBPFE+UUBhQnFEkUahSLFK0U + zhTwFRIVNBVWFXgVmxW9FeAWAxYmFkkWbBaPFrIW1hb6Fx0XQRdl + F4kXrhfSF/cYGxhAGGUYihivGNUY+hkgGUUZaxmRGbcZ3RoEGioa + URp3Gp4axRrsGxQbOxtjG4obshvaHAIcKhxSHHscoxzMHPUdHh1H + HXAdmR3DHeweFh5AHmoelB6+HukfEx8+H2kflB+/H+ogFSBBIGwg + mCDEIPAhHCFIIXUhoSHOIfsiJyJVIoIiryLdIwojOCNmI5QjwiPw + JB8kTSR8JKsk2iUJJTglaCWXJccl9yYnJlcmhya3JugnGCdJJ3on + qyfcKA0oPyhxKKIo1CkGKTgpaymdKdAqAio1KmgqmyrPKwIrNitp + K50r0SwFLDksbiyiLNctDC1BLXYtqy3hLhYuTC6CLrcu7i8kL1ov + kS/HL/4wNTBsMKQw2zESMUoxgjG6MfIyKjJjMpsy1DMNM0YzfzO4 + M/E0KzRlNJ402DUTNU01hzXCNf02NzZyNq426TckN2A3nDfXOBQ4 + UDiMOMg5BTlCOX85vDn5OjY6dDqyOu87LTtrO6o76DwnPGU8pDzj + PSI9YT2hPeA+ID5gPqA+4D8hP2E/oj/iQCNAZECmQOdBKUFqQaxB + 7kIwQnJCtUL3QzpDfUPARANER0SKRM5FEkVVRZpF3kYiRmdGq0bw + RzVHe0fASAVIS0iRSNdJHUljSalJ8Eo3Sn1KxEsMS1NLmkviTCpM + cky6TQJNSk2TTdxOJU5uTrdPAE9JT5NP3VAnUHFQu1EGUVBRm1Hm + UjFSfFLHUxNTX1OqU/ZUQlSPVNtVKFV1VcJWD1ZcVqlW91dEV5JX + 4FgvWH1Yy1kaWWlZuFoHWlZaplr1W0VblVvlXDVchlzWXSddeF3J + XhpebF69Xw9fYV+zYAVgV2CqYPxhT2GiYfViSWKcYvBjQ2OXY+tk + QGSUZOllPWWSZedmPWaSZuhnPWeTZ+loP2iWaOxpQ2maafFqSGqf + avdrT2una/9sV2yvbQhtYG25bhJua27Ebx5veG/RcCtwhnDgcTpx + lXHwcktypnMBc11zuHQUdHB0zHUodYV14XY+dpt2+HdWd7N4EXhu + eMx5KnmJeed6RnqlewR7Y3vCfCF8gXzhfUF9oX4BfmJ+wn8jf4R/ + 5YBHgKiBCoFrgc2CMIKSgvSDV4O6hB2EgITjhUeFq4YOhnKG14c7 + h5+IBIhpiM6JM4mZif6KZIrKizCLlov8jGOMyo0xjZiN/45mjs6P + No+ekAaQbpDWkT+RqJIRknqS45NNk7aUIJSKlPSVX5XJljSWn5cK + l3WX4JhMmLiZJJmQmfyaaJrVm0Kbr5wcnImc951kndKeQJ6unx2f + i5/6oGmg2KFHobaiJqKWowajdqPmpFakx6U4pammGqaLpv2nbqfg + qFKoxKk3qamqHKqPqwKrdavprFys0K1ErbiuLa6hrxavi7AAsHWw + 6rFgsdayS7LCszizrrQltJy1E7WKtgG2ebbwt2i34LhZuNG5SrnC + uju6tbsuu6e8IbybvRW9j74KvoS+/796v/XAcMDswWfB48JfwtvD + WMPUxFHEzsVLxcjGRsbDx0HHv8g9yLzJOsm5yjjKt8s2y7bMNcy1 + zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW + 2Ndc1+DYZNjo2WzZ8dp22vvbgNwF3IrdEN2W3hzeot8p36/gNuC9 + 4UThzOJT4tvjY+Pr5HPk/OWE5g3mlucf56noMui86Ubp0Opb6uXr + cOv77IbtEe2c7ijutO9A78zwWPDl8XLx//KM8xnzp/Q09ML1UPXe + 9m32+/eK+Bn4qPk4+cf6V/rn+3f8B/yY/Sn9uv5L/tz/bf//gATS + Hh8gIVokY2xhc3NuYW1lWCRjbGFzc2VzXU5TTXV0YWJsZURhdGGj + ICIjVk5TRGF0YVhOU09iamVjdNIeHyUmXE5TQ29sb3JTcGFjZaIn + I1xOU0NvbG9yU3BhY2XSHh8pKldOU0NvbG9yoikjXxAPTlNLZXll + ZEFyY2hpdmVy0S0uVHJvb3SAAQAIABEAGgAjAC0AMgA3AD8ARQBQ + AF0AYwBwAIUAjACUAJsAnQCfAKEAqACuALgAugC8AL4AwwDLDRcN + GQ0eDSkNMg1ADUQNSw1UDVkNZg1pDXYNew2DDYYNmA2bDaAAAAAA + AAACAQAAAAAAAAAvAAAAAAAAAAAAAAAAAAANog== + + + + $class + + CF$UID + 29 + + borderColor + + CF$UID + 38 + + color + + CF$UID + 37 + + intensity + 1 + isCommonProfileProperty + 1 + magnificationFilter + 2 + mappingChannel + 0 + maxAnisotropy + 3.4028234663852886e+38 + minificationFilter + 2 + mipFilter + 2 + parent + + CF$UID + 20 + + propertyType + 0 + wrapS + 2 + wrapT + 2 + + + $class + + CF$UID + 27 + + NSColorSpace + 1 + NSComponents + + MCAwIDAgMQ== + + NSCustomColorSpace + + CF$UID + 23 + + NSRGB + + MCAwIDAA + + + + $class + + CF$UID + 25 + + NS.data + + YnBsaXN0MDDUAQIDBAUGKyxYJHZlcnNpb25YJG9iamVjdHNZJGFy + Y2hpdmVyVCR0b3ASAAGGoKcHCBMZHSQoVSRudWxs1QkKCwwNDg8Q + ERJcTlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JTcGFjZV8QEk5T + Q3VzdG9tQ29sb3JTcGFjZVYkY2xhc3NHMCAwIDAgMUYwIDAgMAAQ + AYACgAbTFA0VFhcYVU5TSUNDWU5TU3BhY2VJRIADgAUQDtIaDRsc + V05TLmRhdGFPEQxIAAAMSExpbm8CEAAAbW50clJHQiBYWVogB84A + AgAJAAYAMQAAYWNzcE1TRlQAAAAASUVDIHNSR0IAAAAAAAAAAAAA + AAAAAPbWAAEAAAAA0y1IUCAgAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARY3BydAAAAVAAAAAz + ZGVzYwAAAYQAAABsd3RwdAAAAfAAAAAUYmtwdAAAAgQAAAAUclhZ + WgAAAhgAAAAUZ1hZWgAAAiwAAAAUYlhZWgAAAkAAAAAUZG1uZAAA + AlQAAABwZG1kZAAAAsQAAACIdnVlZAAAA0wAAACGdmlldwAAA9QA + AAAkbHVtaQAAA/gAAAAUbWVhcwAABAwAAAAkdGVjaAAABDAAAAAM + clRSQwAABDwAAAgMZ1RSQwAABDwAAAgMYlRSQwAABDwAAAgMdGV4 + dAAAAABDb3B5cmlnaHQgKGMpIDE5OTggSGV3bGV0dC1QYWNrYXJk + IENvbXBhbnkAAGRlc2MAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4x + AAAAAAAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AFhZWiAAAAAAAADzUQABAAAAARbMWFlaIAAAAAAAAAAAAAAAAAAA + AABYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UA + ABjaWFlaIAAAAAAAACSgAAAPhAAAts9kZXNjAAAAAAAAABZJRUMg + aHR0cDovL3d3dy5pZWMuY2gAAAAAAAAAAAAAABZJRUMgaHR0cDov + L3d3dy5pZWMuY2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAZGVzYwAAAAAAAAAuSUVDIDYxOTY2 + LTIuMSBEZWZhdWx0IFJHQiBjb2xvdXIgc3BhY2UgLSBzUkdCAAAA + AAAAAAAAAAAuSUVDIDYxOTY2LTIuMSBEZWZhdWx0IFJHQiBjb2xv + dXIgc3BhY2UgLSBzUkdCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRl + c2MAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBp + biBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAACxSZWZlcmVuY2UgVmll + d2luZyBDb25kaXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAB2aWV3AAAAAAATpP4AFF8uABDPFAAD + 7cwABBMLAANcngAAAAFYWVogAAAAAABMCVYAUAAAAFcf521lYXMA + AAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAKPAAAAAnNpZyAAAAAA + Q1JUIGN1cnYAAAAAAAAEAAAAAAUACgAPABQAGQAeACMAKAAtADIA + NwA7AEAARQBKAE8AVABZAF4AYwBoAG0AcgB3AHwAgQCGAIsAkACV + AJoAnwCkAKkArgCyALcAvADBAMYAywDQANUA2wDgAOUA6wDwAPYA + +wEBAQcBDQETARkBHwElASsBMgE4AT4BRQFMAVIBWQFgAWcBbgF1 + AXwBgwGLAZIBmgGhAakBsQG5AcEByQHRAdkB4QHpAfIB+gIDAgwC + FAIdAiYCLwI4AkECSwJUAl0CZwJxAnoChAKOApgCogKsArYCwQLL + AtUC4ALrAvUDAAMLAxYDIQMtAzgDQwNPA1oDZgNyA34DigOWA6ID + rgO6A8cD0wPgA+wD+QQGBBMEIAQtBDsESARVBGMEcQR+BIwEmgSo + BLYExATTBOEE8AT+BQ0FHAUrBToFSQVYBWcFdwWGBZYFpgW1BcUF + 1QXlBfYGBgYWBicGNwZIBlkGagZ7BowGnQavBsAG0QbjBvUHBwcZ + BysHPQdPB2EHdAeGB5kHrAe/B9IH5Qf4CAsIHwgyCEYIWghuCIII + lgiqCL4I0gjnCPsJEAklCToJTwlkCXkJjwmkCboJzwnlCfsKEQon + Cj0KVApqCoEKmAquCsUK3ArzCwsLIgs5C1ELaQuAC5gLsAvIC+EL + +QwSDCoMQwxcDHUMjgynDMAM2QzzDQ0NJg1ADVoNdA2ODakNww3e + DfgOEw4uDkkOZA5/DpsOtg7SDu4PCQ8lD0EPXg96D5YPsw/PD+wQ + CRAmEEMQYRB+EJsQuRDXEPURExExEU8RbRGMEaoRyRHoEgcSJhJF + EmQShBKjEsMS4xMDEyMTQxNjE4MTpBPFE+UUBhQnFEkUahSLFK0U + zhTwFRIVNBVWFXgVmxW9FeAWAxYmFkkWbBaPFrIW1hb6Fx0XQRdl + F4kXrhfSF/cYGxhAGGUYihivGNUY+hkgGUUZaxmRGbcZ3RoEGioa + URp3Gp4axRrsGxQbOxtjG4obshvaHAIcKhxSHHscoxzMHPUdHh1H + HXAdmR3DHeweFh5AHmoelB6+HukfEx8+H2kflB+/H+ogFSBBIGwg + mCDEIPAhHCFIIXUhoSHOIfsiJyJVIoIiryLdIwojOCNmI5QjwiPw + JB8kTSR8JKsk2iUJJTglaCWXJccl9yYnJlcmhya3JugnGCdJJ3on + qyfcKA0oPyhxKKIo1CkGKTgpaymdKdAqAio1KmgqmyrPKwIrNitp + K50r0SwFLDksbiyiLNctDC1BLXYtqy3hLhYuTC6CLrcu7i8kL1ov + kS/HL/4wNTBsMKQw2zESMUoxgjG6MfIyKjJjMpsy1DMNM0YzfzO4 + M/E0KzRlNJ402DUTNU01hzXCNf02NzZyNq426TckN2A3nDfXOBQ4 + UDiMOMg5BTlCOX85vDn5OjY6dDqyOu87LTtrO6o76DwnPGU8pDzj + PSI9YT2hPeA+ID5gPqA+4D8hP2E/oj/iQCNAZECmQOdBKUFqQaxB + 7kIwQnJCtUL3QzpDfUPARANER0SKRM5FEkVVRZpF3kYiRmdGq0bw + RzVHe0fASAVIS0iRSNdJHUljSalJ8Eo3Sn1KxEsMS1NLmkviTCpM + cky6TQJNSk2TTdxOJU5uTrdPAE9JT5NP3VAnUHFQu1EGUVBRm1Hm + UjFSfFLHUxNTX1OqU/ZUQlSPVNtVKFV1VcJWD1ZcVqlW91dEV5JX + 4FgvWH1Yy1kaWWlZuFoHWlZaplr1W0VblVvlXDVchlzWXSddeF3J + XhpebF69Xw9fYV+zYAVgV2CqYPxhT2GiYfViSWKcYvBjQ2OXY+tk + QGSUZOllPWWSZedmPWaSZuhnPWeTZ+loP2iWaOxpQ2maafFqSGqf + avdrT2una/9sV2yvbQhtYG25bhJua27Ebx5veG/RcCtwhnDgcTpx + lXHwcktypnMBc11zuHQUdHB0zHUodYV14XY+dpt2+HdWd7N4EXhu + eMx5KnmJeed6RnqlewR7Y3vCfCF8gXzhfUF9oX4BfmJ+wn8jf4R/ + 5YBHgKiBCoFrgc2CMIKSgvSDV4O6hB2EgITjhUeFq4YOhnKG14c7 + h5+IBIhpiM6JM4mZif6KZIrKizCLlov8jGOMyo0xjZiN/45mjs6P + No+ekAaQbpDWkT+RqJIRknqS45NNk7aUIJSKlPSVX5XJljSWn5cK + l3WX4JhMmLiZJJmQmfyaaJrVm0Kbr5wcnImc951kndKeQJ6unx2f + i5/6oGmg2KFHobaiJqKWowajdqPmpFakx6U4pammGqaLpv2nbqfg + qFKoxKk3qamqHKqPqwKrdavprFys0K1ErbiuLa6hrxavi7AAsHWw + 6rFgsdayS7LCszizrrQltJy1E7WKtgG2ebbwt2i34LhZuNG5SrnC + uju6tbsuu6e8IbybvRW9j74KvoS+/796v/XAcMDswWfB48JfwtvD + WMPUxFHEzsVLxcjGRsbDx0HHv8g9yLzJOsm5yjjKt8s2y7bMNcy1 + zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW + 2Ndc1+DYZNjo2WzZ8dp22vvbgNwF3IrdEN2W3hzeot8p36/gNuC9 + 4UThzOJT4tvjY+Pr5HPk/OWE5g3mlucf56noMui86Ubp0Opb6uXr + cOv77IbtEe2c7ijutO9A78zwWPDl8XLx//KM8xnzp/Q09ML1UPXe + 9m32+/eK+Bn4qPk4+cf6V/rn+3f8B/yY/Sn9uv5L/tz/bf//gATS + Hh8gIVokY2xhc3NuYW1lWCRjbGFzc2VzXU5TTXV0YWJsZURhdGGj + ICIjVk5TRGF0YVhOU09iamVjdNIeHyUmXE5TQ29sb3JTcGFjZaIn + I1xOU0NvbG9yU3BhY2XSHh8pKldOU0NvbG9yoikjXxAPTlNLZXll + ZEFyY2hpdmVy0S0uVHJvb3SAAQAIABEAGgAjAC0AMgA3AD8ARQBQ + AF0AYwBwAIUAjACUAJsAnQCfAKEAqACuALgAugC8AL4AwwDLDRcN + GQ0eDSkNMg1ADUQNSw1UDVkNZg1pDXYNew2DDYYNmA2bDaAAAAAA + AAACAQAAAAAAAAAvAAAAAAAAAAAAAAAAAAANog== + + + + $class + + CF$UID + 29 + + borderColor + + CF$UID + 41 + + color + + CF$UID + 40 + + intensity + 1 + isCommonProfileProperty + 1 + magnificationFilter + 2 + mappingChannel + 0 + maxAnisotropy + 3.4028234663852886e+38 + minificationFilter + 2 + mipFilter + 2 + parent + + CF$UID + 20 + + propertyType + 4 + wrapS + 2 + wrapT + 2 + + + $class + + CF$UID + 27 + + NSColorSpace + 1 + NSComponents + + MCAwIDAgMQ== + + NSCustomColorSpace + + CF$UID + 23 + + NSRGB + + MCAwIDAA + + + + $class + + CF$UID + 25 + + NS.data + + YnBsaXN0MDDUAQIDBAUGKyxYJHZlcnNpb25YJG9iamVjdHNZJGFy + Y2hpdmVyVCR0b3ASAAGGoKcHCBMZHSQoVSRudWxs1QkKCwwNDg8Q + ERJcTlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JTcGFjZV8QEk5T + Q3VzdG9tQ29sb3JTcGFjZVYkY2xhc3NHMCAwIDAgMUYwIDAgMAAQ + AYACgAbTFA0VFhcYVU5TSUNDWU5TU3BhY2VJRIADgAUQDtIaDRsc + V05TLmRhdGFPEQxIAAAMSExpbm8CEAAAbW50clJHQiBYWVogB84A + AgAJAAYAMQAAYWNzcE1TRlQAAAAASUVDIHNSR0IAAAAAAAAAAAAA + AAAAAPbWAAEAAAAA0y1IUCAgAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARY3BydAAAAVAAAAAz + ZGVzYwAAAYQAAABsd3RwdAAAAfAAAAAUYmtwdAAAAgQAAAAUclhZ + WgAAAhgAAAAUZ1hZWgAAAiwAAAAUYlhZWgAAAkAAAAAUZG1uZAAA + AlQAAABwZG1kZAAAAsQAAACIdnVlZAAAA0wAAACGdmlldwAAA9QA + AAAkbHVtaQAAA/gAAAAUbWVhcwAABAwAAAAkdGVjaAAABDAAAAAM + clRSQwAABDwAAAgMZ1RSQwAABDwAAAgMYlRSQwAABDwAAAgMdGV4 + dAAAAABDb3B5cmlnaHQgKGMpIDE5OTggSGV3bGV0dC1QYWNrYXJk + IENvbXBhbnkAAGRlc2MAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4x + AAAAAAAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AFhZWiAAAAAAAADzUQABAAAAARbMWFlaIAAAAAAAAAAAAAAAAAAA + AABYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UA + ABjaWFlaIAAAAAAAACSgAAAPhAAAts9kZXNjAAAAAAAAABZJRUMg + aHR0cDovL3d3dy5pZWMuY2gAAAAAAAAAAAAAABZJRUMgaHR0cDov + L3d3dy5pZWMuY2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAZGVzYwAAAAAAAAAuSUVDIDYxOTY2 + LTIuMSBEZWZhdWx0IFJHQiBjb2xvdXIgc3BhY2UgLSBzUkdCAAAA + AAAAAAAAAAAuSUVDIDYxOTY2LTIuMSBEZWZhdWx0IFJHQiBjb2xv + dXIgc3BhY2UgLSBzUkdCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRl + c2MAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBp + biBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAACxSZWZlcmVuY2UgVmll + d2luZyBDb25kaXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAB2aWV3AAAAAAATpP4AFF8uABDPFAAD + 7cwABBMLAANcngAAAAFYWVogAAAAAABMCVYAUAAAAFcf521lYXMA + AAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAKPAAAAAnNpZyAAAAAA + Q1JUIGN1cnYAAAAAAAAEAAAAAAUACgAPABQAGQAeACMAKAAtADIA + NwA7AEAARQBKAE8AVABZAF4AYwBoAG0AcgB3AHwAgQCGAIsAkACV + AJoAnwCkAKkArgCyALcAvADBAMYAywDQANUA2wDgAOUA6wDwAPYA + +wEBAQcBDQETARkBHwElASsBMgE4AT4BRQFMAVIBWQFgAWcBbgF1 + AXwBgwGLAZIBmgGhAakBsQG5AcEByQHRAdkB4QHpAfIB+gIDAgwC + FAIdAiYCLwI4AkECSwJUAl0CZwJxAnoChAKOApgCogKsArYCwQLL + AtUC4ALrAvUDAAMLAxYDIQMtAzgDQwNPA1oDZgNyA34DigOWA6ID + rgO6A8cD0wPgA+wD+QQGBBMEIAQtBDsESARVBGMEcQR+BIwEmgSo + BLYExATTBOEE8AT+BQ0FHAUrBToFSQVYBWcFdwWGBZYFpgW1BcUF + 1QXlBfYGBgYWBicGNwZIBlkGagZ7BowGnQavBsAG0QbjBvUHBwcZ + BysHPQdPB2EHdAeGB5kHrAe/B9IH5Qf4CAsIHwgyCEYIWghuCIII + lgiqCL4I0gjnCPsJEAklCToJTwlkCXkJjwmkCboJzwnlCfsKEQon + Cj0KVApqCoEKmAquCsUK3ArzCwsLIgs5C1ELaQuAC5gLsAvIC+EL + +QwSDCoMQwxcDHUMjgynDMAM2QzzDQ0NJg1ADVoNdA2ODakNww3e + DfgOEw4uDkkOZA5/DpsOtg7SDu4PCQ8lD0EPXg96D5YPsw/PD+wQ + CRAmEEMQYRB+EJsQuRDXEPURExExEU8RbRGMEaoRyRHoEgcSJhJF + EmQShBKjEsMS4xMDEyMTQxNjE4MTpBPFE+UUBhQnFEkUahSLFK0U + zhTwFRIVNBVWFXgVmxW9FeAWAxYmFkkWbBaPFrIW1hb6Fx0XQRdl + F4kXrhfSF/cYGxhAGGUYihivGNUY+hkgGUUZaxmRGbcZ3RoEGioa + URp3Gp4axRrsGxQbOxtjG4obshvaHAIcKhxSHHscoxzMHPUdHh1H + HXAdmR3DHeweFh5AHmoelB6+HukfEx8+H2kflB+/H+ogFSBBIGwg + mCDEIPAhHCFIIXUhoSHOIfsiJyJVIoIiryLdIwojOCNmI5QjwiPw + JB8kTSR8JKsk2iUJJTglaCWXJccl9yYnJlcmhya3JugnGCdJJ3on + qyfcKA0oPyhxKKIo1CkGKTgpaymdKdAqAio1KmgqmyrPKwIrNitp + K50r0SwFLDksbiyiLNctDC1BLXYtqy3hLhYuTC6CLrcu7i8kL1ov + kS/HL/4wNTBsMKQw2zESMUoxgjG6MfIyKjJjMpsy1DMNM0YzfzO4 + M/E0KzRlNJ402DUTNU01hzXCNf02NzZyNq426TckN2A3nDfXOBQ4 + UDiMOMg5BTlCOX85vDn5OjY6dDqyOu87LTtrO6o76DwnPGU8pDzj + PSI9YT2hPeA+ID5gPqA+4D8hP2E/oj/iQCNAZECmQOdBKUFqQaxB + 7kIwQnJCtUL3QzpDfUPARANER0SKRM5FEkVVRZpF3kYiRmdGq0bw + RzVHe0fASAVIS0iRSNdJHUljSalJ8Eo3Sn1KxEsMS1NLmkviTCpM + cky6TQJNSk2TTdxOJU5uTrdPAE9JT5NP3VAnUHFQu1EGUVBRm1Hm + UjFSfFLHUxNTX1OqU/ZUQlSPVNtVKFV1VcJWD1ZcVqlW91dEV5JX + 4FgvWH1Yy1kaWWlZuFoHWlZaplr1W0VblVvlXDVchlzWXSddeF3J + XhpebF69Xw9fYV+zYAVgV2CqYPxhT2GiYfViSWKcYvBjQ2OXY+tk + QGSUZOllPWWSZedmPWaSZuhnPWeTZ+loP2iWaOxpQ2maafFqSGqf + avdrT2una/9sV2yvbQhtYG25bhJua27Ebx5veG/RcCtwhnDgcTpx + lXHwcktypnMBc11zuHQUdHB0zHUodYV14XY+dpt2+HdWd7N4EXhu + eMx5KnmJeed6RnqlewR7Y3vCfCF8gXzhfUF9oX4BfmJ+wn8jf4R/ + 5YBHgKiBCoFrgc2CMIKSgvSDV4O6hB2EgITjhUeFq4YOhnKG14c7 + h5+IBIhpiM6JM4mZif6KZIrKizCLlov8jGOMyo0xjZiN/45mjs6P + No+ekAaQbpDWkT+RqJIRknqS45NNk7aUIJSKlPSVX5XJljSWn5cK + l3WX4JhMmLiZJJmQmfyaaJrVm0Kbr5wcnImc951kndKeQJ6unx2f + i5/6oGmg2KFHobaiJqKWowajdqPmpFakx6U4pammGqaLpv2nbqfg + qFKoxKk3qamqHKqPqwKrdavprFys0K1ErbiuLa6hrxavi7AAsHWw + 6rFgsdayS7LCszizrrQltJy1E7WKtgG2ebbwt2i34LhZuNG5SrnC + uju6tbsuu6e8IbybvRW9j74KvoS+/796v/XAcMDswWfB48JfwtvD + WMPUxFHEzsVLxcjGRsbDx0HHv8g9yLzJOsm5yjjKt8s2y7bMNcy1 + zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW + 2Ndc1+DYZNjo2WzZ8dp22vvbgNwF3IrdEN2W3hzeot8p36/gNuC9 + 4UThzOJT4tvjY+Pr5HPk/OWE5g3mlucf56noMui86Ubp0Opb6uXr + cOv77IbtEe2c7ijutO9A78zwWPDl8XLx//KM8xnzp/Q09ML1UPXe + 9m32+/eK+Bn4qPk4+cf6V/rn+3f8B/yY/Sn9uv5L/tz/bf//gATS + Hh8gIVokY2xhc3NuYW1lWCRjbGFzc2VzXU5TTXV0YWJsZURhdGGj + ICIjVk5TRGF0YVhOU09iamVjdNIeHyUmXE5TQ29sb3JTcGFjZaIn + I1xOU0NvbG9yU3BhY2XSHh8pKldOU0NvbG9yoikjXxAPTlNLZXll + ZEFyY2hpdmVy0S0uVHJvb3SAAQAIABEAGgAjAC0AMgA3AD8ARQBQ + AF0AYwBwAIUAjACUAJsAnQCfAKEAqACuALgAugC8AL4AwwDLDRcN + GQ0eDSkNMg1ADUQNSw1UDVkNZg1pDXYNew2DDYYNmA2bDaAAAAAA + AAACAQAAAAAAAAAvAAAAAAAAAAAAAAAAAAANog== + + + + $class + + CF$UID + 29 + + borderColor + + CF$UID + 44 + + color + + CF$UID + 43 + + intensity + 1 + isCommonProfileProperty + 1 + magnificationFilter + 2 + mappingChannel + 0 + maxAnisotropy + 3.4028234663852886e+38 + minificationFilter + 2 + mipFilter + 2 + parent + + CF$UID + 20 + + propertyType + 5 + wrapS + 2 + wrapT + 2 + + + $class + + CF$UID + 27 + + NSColorSpace + 1 + NSComponents + + MSAxIDEgMQ== + + NSCustomColorSpace + + CF$UID + 23 + + NSRGB + + MSAwLjk5OTk3NDM3IDAuOTk5OTkxMjk3NwA= + + + + $class + + CF$UID + 25 + + NS.data + + YnBsaXN0MDDUAQIDBAUGKyxYJHZlcnNpb25YJG9iamVjdHNZJGFy + Y2hpdmVyVCR0b3ASAAGGoKcHCBMZHSQoVSRudWxs1QkKCwwNDg8Q + ERJcTlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JTcGFjZV8QEk5T + Q3VzdG9tQ29sb3JTcGFjZVYkY2xhc3NHMCAwIDAgMUYwIDAgMAAQ + AYACgAbTFA0VFhcYVU5TSUNDWU5TU3BhY2VJRIADgAUQDtIaDRsc + V05TLmRhdGFPEQxIAAAMSExpbm8CEAAAbW50clJHQiBYWVogB84A + AgAJAAYAMQAAYWNzcE1TRlQAAAAASUVDIHNSR0IAAAAAAAAAAAAA + AAAAAPbWAAEAAAAA0y1IUCAgAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARY3BydAAAAVAAAAAz + ZGVzYwAAAYQAAABsd3RwdAAAAfAAAAAUYmtwdAAAAgQAAAAUclhZ + WgAAAhgAAAAUZ1hZWgAAAiwAAAAUYlhZWgAAAkAAAAAUZG1uZAAA + AlQAAABwZG1kZAAAAsQAAACIdnVlZAAAA0wAAACGdmlldwAAA9QA + AAAkbHVtaQAAA/gAAAAUbWVhcwAABAwAAAAkdGVjaAAABDAAAAAM + clRSQwAABDwAAAgMZ1RSQwAABDwAAAgMYlRSQwAABDwAAAgMdGV4 + dAAAAABDb3B5cmlnaHQgKGMpIDE5OTggSGV3bGV0dC1QYWNrYXJk + IENvbXBhbnkAAGRlc2MAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4x + AAAAAAAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AFhZWiAAAAAAAADzUQABAAAAARbMWFlaIAAAAAAAAAAAAAAAAAAA + AABYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UA + ABjaWFlaIAAAAAAAACSgAAAPhAAAts9kZXNjAAAAAAAAABZJRUMg + aHR0cDovL3d3dy5pZWMuY2gAAAAAAAAAAAAAABZJRUMgaHR0cDov + L3d3dy5pZWMuY2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAZGVzYwAAAAAAAAAuSUVDIDYxOTY2 + LTIuMSBEZWZhdWx0IFJHQiBjb2xvdXIgc3BhY2UgLSBzUkdCAAAA + AAAAAAAAAAAuSUVDIDYxOTY2LTIuMSBEZWZhdWx0IFJHQiBjb2xv + dXIgc3BhY2UgLSBzUkdCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRl + c2MAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBp + biBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAACxSZWZlcmVuY2UgVmll + d2luZyBDb25kaXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAB2aWV3AAAAAAATpP4AFF8uABDPFAAD + 7cwABBMLAANcngAAAAFYWVogAAAAAABMCVYAUAAAAFcf521lYXMA + AAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAKPAAAAAnNpZyAAAAAA + Q1JUIGN1cnYAAAAAAAAEAAAAAAUACgAPABQAGQAeACMAKAAtADIA + NwA7AEAARQBKAE8AVABZAF4AYwBoAG0AcgB3AHwAgQCGAIsAkACV + AJoAnwCkAKkArgCyALcAvADBAMYAywDQANUA2wDgAOUA6wDwAPYA + +wEBAQcBDQETARkBHwElASsBMgE4AT4BRQFMAVIBWQFgAWcBbgF1 + AXwBgwGLAZIBmgGhAakBsQG5AcEByQHRAdkB4QHpAfIB+gIDAgwC + FAIdAiYCLwI4AkECSwJUAl0CZwJxAnoChAKOApgCogKsArYCwQLL + AtUC4ALrAvUDAAMLAxYDIQMtAzgDQwNPA1oDZgNyA34DigOWA6ID + rgO6A8cD0wPgA+wD+QQGBBMEIAQtBDsESARVBGMEcQR+BIwEmgSo + BLYExATTBOEE8AT+BQ0FHAUrBToFSQVYBWcFdwWGBZYFpgW1BcUF + 1QXlBfYGBgYWBicGNwZIBlkGagZ7BowGnQavBsAG0QbjBvUHBwcZ + BysHPQdPB2EHdAeGB5kHrAe/B9IH5Qf4CAsIHwgyCEYIWghuCIII + lgiqCL4I0gjnCPsJEAklCToJTwlkCXkJjwmkCboJzwnlCfsKEQon + Cj0KVApqCoEKmAquCsUK3ArzCwsLIgs5C1ELaQuAC5gLsAvIC+EL + +QwSDCoMQwxcDHUMjgynDMAM2QzzDQ0NJg1ADVoNdA2ODakNww3e + DfgOEw4uDkkOZA5/DpsOtg7SDu4PCQ8lD0EPXg96D5YPsw/PD+wQ + CRAmEEMQYRB+EJsQuRDXEPURExExEU8RbRGMEaoRyRHoEgcSJhJF + EmQShBKjEsMS4xMDEyMTQxNjE4MTpBPFE+UUBhQnFEkUahSLFK0U + zhTwFRIVNBVWFXgVmxW9FeAWAxYmFkkWbBaPFrIW1hb6Fx0XQRdl + F4kXrhfSF/cYGxhAGGUYihivGNUY+hkgGUUZaxmRGbcZ3RoEGioa + URp3Gp4axRrsGxQbOxtjG4obshvaHAIcKhxSHHscoxzMHPUdHh1H + HXAdmR3DHeweFh5AHmoelB6+HukfEx8+H2kflB+/H+ogFSBBIGwg + mCDEIPAhHCFIIXUhoSHOIfsiJyJVIoIiryLdIwojOCNmI5QjwiPw + JB8kTSR8JKsk2iUJJTglaCWXJccl9yYnJlcmhya3JugnGCdJJ3on + qyfcKA0oPyhxKKIo1CkGKTgpaymdKdAqAio1KmgqmyrPKwIrNitp + K50r0SwFLDksbiyiLNctDC1BLXYtqy3hLhYuTC6CLrcu7i8kL1ov + kS/HL/4wNTBsMKQw2zESMUoxgjG6MfIyKjJjMpsy1DMNM0YzfzO4 + M/E0KzRlNJ402DUTNU01hzXCNf02NzZyNq426TckN2A3nDfXOBQ4 + UDiMOMg5BTlCOX85vDn5OjY6dDqyOu87LTtrO6o76DwnPGU8pDzj + PSI9YT2hPeA+ID5gPqA+4D8hP2E/oj/iQCNAZECmQOdBKUFqQaxB + 7kIwQnJCtUL3QzpDfUPARANER0SKRM5FEkVVRZpF3kYiRmdGq0bw + RzVHe0fASAVIS0iRSNdJHUljSalJ8Eo3Sn1KxEsMS1NLmkviTCpM + cky6TQJNSk2TTdxOJU5uTrdPAE9JT5NP3VAnUHFQu1EGUVBRm1Hm + UjFSfFLHUxNTX1OqU/ZUQlSPVNtVKFV1VcJWD1ZcVqlW91dEV5JX + 4FgvWH1Yy1kaWWlZuFoHWlZaplr1W0VblVvlXDVchlzWXSddeF3J + XhpebF69Xw9fYV+zYAVgV2CqYPxhT2GiYfViSWKcYvBjQ2OXY+tk + QGSUZOllPWWSZedmPWaSZuhnPWeTZ+loP2iWaOxpQ2maafFqSGqf + avdrT2una/9sV2yvbQhtYG25bhJua27Ebx5veG/RcCtwhnDgcTpx + lXHwcktypnMBc11zuHQUdHB0zHUodYV14XY+dpt2+HdWd7N4EXhu + eMx5KnmJeed6RnqlewR7Y3vCfCF8gXzhfUF9oX4BfmJ+wn8jf4R/ + 5YBHgKiBCoFrgc2CMIKSgvSDV4O6hB2EgITjhUeFq4YOhnKG14c7 + h5+IBIhpiM6JM4mZif6KZIrKizCLlov8jGOMyo0xjZiN/45mjs6P + No+ekAaQbpDWkT+RqJIRknqS45NNk7aUIJSKlPSVX5XJljSWn5cK + l3WX4JhMmLiZJJmQmfyaaJrVm0Kbr5wcnImc951kndKeQJ6unx2f + i5/6oGmg2KFHobaiJqKWowajdqPmpFakx6U4pammGqaLpv2nbqfg + qFKoxKk3qamqHKqPqwKrdavprFys0K1ErbiuLa6hrxavi7AAsHWw + 6rFgsdayS7LCszizrrQltJy1E7WKtgG2ebbwt2i34LhZuNG5SrnC + uju6tbsuu6e8IbybvRW9j74KvoS+/796v/XAcMDswWfB48JfwtvD + WMPUxFHEzsVLxcjGRsbDx0HHv8g9yLzJOsm5yjjKt8s2y7bMNcy1 + zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW + 2Ndc1+DYZNjo2WzZ8dp22vvbgNwF3IrdEN2W3hzeot8p36/gNuC9 + 4UThzOJT4tvjY+Pr5HPk/OWE5g3mlucf56noMui86Ubp0Opb6uXr + cOv77IbtEe2c7ijutO9A78zwWPDl8XLx//KM8xnzp/Q09ML1UPXe + 9m32+/eK+Bn4qPk4+cf6V/rn+3f8B/yY/Sn9uv5L/tz/bf//gATS + Hh8gIVokY2xhc3NuYW1lWCRjbGFzc2VzXU5TTXV0YWJsZURhdGGj + ICIjVk5TRGF0YVhOU09iamVjdNIeHyUmXE5TQ29sb3JTcGFjZaIn + I1xOU0NvbG9yU3BhY2XSHh8pKldOU0NvbG9yoikjXxAPTlNLZXll + ZEFyY2hpdmVy0S0uVHJvb3SAAQAIABEAGgAjAC0AMgA3AD8ARQBQ + AF0AYwBwAIUAjACUAJsAnQCfAKEAqACuALgAugC8AL4AwwDLDRcN + GQ0eDSkNMg1ADUQNSw1UDVkNZg1pDXYNew2DDYYNmA2bDaAAAAAA + AAACAQAAAAAAAAAvAAAAAAAAAAAAAAAAAAANog== + + + + $class + + CF$UID + 29 + + borderColor + + CF$UID + 47 + + color + + CF$UID + 46 + + intensity + 1 + isCommonProfileProperty + 1 + magnificationFilter + 2 + mappingChannel + 0 + maxAnisotropy + 3.4028234663852886e+38 + minificationFilter + 2 + mipFilter + 2 + parent + + CF$UID + 20 + + propertyType + 6 + wrapS + 2 + wrapT + 2 + + + $class + + CF$UID + 27 + + NSColorSpace + 1 + NSComponents + + MSAxIDEgMQ== + + NSCustomColorSpace + + CF$UID + 23 + + NSRGB + + MSAwLjk5OTk3NDM3IDAuOTk5OTkxMjk3NwA= + + + + $class + + CF$UID + 25 + + NS.data + + YnBsaXN0MDDUAQIDBAUGKyxYJHZlcnNpb25YJG9iamVjdHNZJGFy + Y2hpdmVyVCR0b3ASAAGGoKcHCBMZHSQoVSRudWxs1QkKCwwNDg8Q + ERJcTlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JTcGFjZV8QEk5T + Q3VzdG9tQ29sb3JTcGFjZVYkY2xhc3NHMCAwIDAgMUYwIDAgMAAQ + AYACgAbTFA0VFhcYVU5TSUNDWU5TU3BhY2VJRIADgAUQDtIaDRsc + V05TLmRhdGFPEQxIAAAMSExpbm8CEAAAbW50clJHQiBYWVogB84A + AgAJAAYAMQAAYWNzcE1TRlQAAAAASUVDIHNSR0IAAAAAAAAAAAAA + AAAAAPbWAAEAAAAA0y1IUCAgAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARY3BydAAAAVAAAAAz + ZGVzYwAAAYQAAABsd3RwdAAAAfAAAAAUYmtwdAAAAgQAAAAUclhZ + WgAAAhgAAAAUZ1hZWgAAAiwAAAAUYlhZWgAAAkAAAAAUZG1uZAAA + AlQAAABwZG1kZAAAAsQAAACIdnVlZAAAA0wAAACGdmlldwAAA9QA + AAAkbHVtaQAAA/gAAAAUbWVhcwAABAwAAAAkdGVjaAAABDAAAAAM + clRSQwAABDwAAAgMZ1RSQwAABDwAAAgMYlRSQwAABDwAAAgMdGV4 + dAAAAABDb3B5cmlnaHQgKGMpIDE5OTggSGV3bGV0dC1QYWNrYXJk + IENvbXBhbnkAAGRlc2MAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4x + AAAAAAAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AFhZWiAAAAAAAADzUQABAAAAARbMWFlaIAAAAAAAAAAAAAAAAAAA + AABYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UA + ABjaWFlaIAAAAAAAACSgAAAPhAAAts9kZXNjAAAAAAAAABZJRUMg + aHR0cDovL3d3dy5pZWMuY2gAAAAAAAAAAAAAABZJRUMgaHR0cDov + L3d3dy5pZWMuY2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAZGVzYwAAAAAAAAAuSUVDIDYxOTY2 + LTIuMSBEZWZhdWx0IFJHQiBjb2xvdXIgc3BhY2UgLSBzUkdCAAAA + AAAAAAAAAAAuSUVDIDYxOTY2LTIuMSBEZWZhdWx0IFJHQiBjb2xv + dXIgc3BhY2UgLSBzUkdCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRl + c2MAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBp + biBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAACxSZWZlcmVuY2UgVmll + d2luZyBDb25kaXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAB2aWV3AAAAAAATpP4AFF8uABDPFAAD + 7cwABBMLAANcngAAAAFYWVogAAAAAABMCVYAUAAAAFcf521lYXMA + AAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAKPAAAAAnNpZyAAAAAA + Q1JUIGN1cnYAAAAAAAAEAAAAAAUACgAPABQAGQAeACMAKAAtADIA + NwA7AEAARQBKAE8AVABZAF4AYwBoAG0AcgB3AHwAgQCGAIsAkACV + AJoAnwCkAKkArgCyALcAvADBAMYAywDQANUA2wDgAOUA6wDwAPYA + +wEBAQcBDQETARkBHwElASsBMgE4AT4BRQFMAVIBWQFgAWcBbgF1 + AXwBgwGLAZIBmgGhAakBsQG5AcEByQHRAdkB4QHpAfIB+gIDAgwC + FAIdAiYCLwI4AkECSwJUAl0CZwJxAnoChAKOApgCogKsArYCwQLL + AtUC4ALrAvUDAAMLAxYDIQMtAzgDQwNPA1oDZgNyA34DigOWA6ID + rgO6A8cD0wPgA+wD+QQGBBMEIAQtBDsESARVBGMEcQR+BIwEmgSo + BLYExATTBOEE8AT+BQ0FHAUrBToFSQVYBWcFdwWGBZYFpgW1BcUF + 1QXlBfYGBgYWBicGNwZIBlkGagZ7BowGnQavBsAG0QbjBvUHBwcZ + BysHPQdPB2EHdAeGB5kHrAe/B9IH5Qf4CAsIHwgyCEYIWghuCIII + lgiqCL4I0gjnCPsJEAklCToJTwlkCXkJjwmkCboJzwnlCfsKEQon + Cj0KVApqCoEKmAquCsUK3ArzCwsLIgs5C1ELaQuAC5gLsAvIC+EL + +QwSDCoMQwxcDHUMjgynDMAM2QzzDQ0NJg1ADVoNdA2ODakNww3e + DfgOEw4uDkkOZA5/DpsOtg7SDu4PCQ8lD0EPXg96D5YPsw/PD+wQ + CRAmEEMQYRB+EJsQuRDXEPURExExEU8RbRGMEaoRyRHoEgcSJhJF + EmQShBKjEsMS4xMDEyMTQxNjE4MTpBPFE+UUBhQnFEkUahSLFK0U + zhTwFRIVNBVWFXgVmxW9FeAWAxYmFkkWbBaPFrIW1hb6Fx0XQRdl + F4kXrhfSF/cYGxhAGGUYihivGNUY+hkgGUUZaxmRGbcZ3RoEGioa + URp3Gp4axRrsGxQbOxtjG4obshvaHAIcKhxSHHscoxzMHPUdHh1H + HXAdmR3DHeweFh5AHmoelB6+HukfEx8+H2kflB+/H+ogFSBBIGwg + mCDEIPAhHCFIIXUhoSHOIfsiJyJVIoIiryLdIwojOCNmI5QjwiPw + JB8kTSR8JKsk2iUJJTglaCWXJccl9yYnJlcmhya3JugnGCdJJ3on + qyfcKA0oPyhxKKIo1CkGKTgpaymdKdAqAio1KmgqmyrPKwIrNitp + K50r0SwFLDksbiyiLNctDC1BLXYtqy3hLhYuTC6CLrcu7i8kL1ov + kS/HL/4wNTBsMKQw2zESMUoxgjG6MfIyKjJjMpsy1DMNM0YzfzO4 + M/E0KzRlNJ402DUTNU01hzXCNf02NzZyNq426TckN2A3nDfXOBQ4 + UDiMOMg5BTlCOX85vDn5OjY6dDqyOu87LTtrO6o76DwnPGU8pDzj + PSI9YT2hPeA+ID5gPqA+4D8hP2E/oj/iQCNAZECmQOdBKUFqQaxB + 7kIwQnJCtUL3QzpDfUPARANER0SKRM5FEkVVRZpF3kYiRmdGq0bw + RzVHe0fASAVIS0iRSNdJHUljSalJ8Eo3Sn1KxEsMS1NLmkviTCpM + cky6TQJNSk2TTdxOJU5uTrdPAE9JT5NP3VAnUHFQu1EGUVBRm1Hm + UjFSfFLHUxNTX1OqU/ZUQlSPVNtVKFV1VcJWD1ZcVqlW91dEV5JX + 4FgvWH1Yy1kaWWlZuFoHWlZaplr1W0VblVvlXDVchlzWXSddeF3J + XhpebF69Xw9fYV+zYAVgV2CqYPxhT2GiYfViSWKcYvBjQ2OXY+tk + QGSUZOllPWWSZedmPWaSZuhnPWeTZ+loP2iWaOxpQ2maafFqSGqf + avdrT2una/9sV2yvbQhtYG25bhJua27Ebx5veG/RcCtwhnDgcTpx + lXHwcktypnMBc11zuHQUdHB0zHUodYV14XY+dpt2+HdWd7N4EXhu + eMx5KnmJeed6RnqlewR7Y3vCfCF8gXzhfUF9oX4BfmJ+wn8jf4R/ + 5YBHgKiBCoFrgc2CMIKSgvSDV4O6hB2EgITjhUeFq4YOhnKG14c7 + h5+IBIhpiM6JM4mZif6KZIrKizCLlov8jGOMyo0xjZiN/45mjs6P + No+ekAaQbpDWkT+RqJIRknqS45NNk7aUIJSKlPSVX5XJljSWn5cK + l3WX4JhMmLiZJJmQmfyaaJrVm0Kbr5wcnImc951kndKeQJ6unx2f + i5/6oGmg2KFHobaiJqKWowajdqPmpFakx6U4pammGqaLpv2nbqfg + qFKoxKk3qamqHKqPqwKrdavprFys0K1ErbiuLa6hrxavi7AAsHWw + 6rFgsdayS7LCszizrrQltJy1E7WKtgG2ebbwt2i34LhZuNG5SrnC + uju6tbsuu6e8IbybvRW9j74KvoS+/796v/XAcMDswWfB48JfwtvD + WMPUxFHEzsVLxcjGRsbDx0HHv8g9yLzJOsm5yjjKt8s2y7bMNcy1 + zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW + 2Ndc1+DYZNjo2WzZ8dp22vvbgNwF3IrdEN2W3hzeot8p36/gNuC9 + 4UThzOJT4tvjY+Pr5HPk/OWE5g3mlucf56noMui86Ubp0Opb6uXr + cOv77IbtEe2c7ijutO9A78zwWPDl8XLx//KM8xnzp/Q09ML1UPXe + 9m32+/eK+Bn4qPk4+cf6V/rn+3f8B/yY/Sn9uv5L/tz/bf//gATS + Hh8gIVokY2xhc3NuYW1lWCRjbGFzc2VzXU5TTXV0YWJsZURhdGGj + ICIjVk5TRGF0YVhOU09iamVjdNIeHyUmXE5TQ29sb3JTcGFjZaIn + I1xOU0NvbG9yU3BhY2XSHh8pKldOU0NvbG9yoikjXxAPTlNLZXll + ZEFyY2hpdmVy0S0uVHJvb3SAAQAIABEAGgAjAC0AMgA3AD8ARQBQ + AF0AYwBwAIUAjACUAJsAnQCfAKEAqACuALgAugC8AL4AwwDLDRcN + GQ0eDSkNMg1ADUQNSw1UDVkNZg1pDXYNew2DDYYNmA2bDaAAAAAA + AAACAQAAAAAAAAAvAAAAAAAAAAAAAAAAAAANog== + + + + $class + + CF$UID + 29 + + borderColor + + CF$UID + 50 + + color + + CF$UID + 49 + + intensity + 1 + isCommonProfileProperty + 1 + magnificationFilter + 2 + mappingChannel + 0 + maxAnisotropy + 3.4028234663852886e+38 + minificationFilter + 2 + mipFilter + 2 + parent + + CF$UID + 20 + + propertyType + 7 + wrapS + 2 + wrapT + 2 + + + $class + + CF$UID + 27 + + NSColorSpace + 1 + NSComponents + + MSAxIDEgMQ== + + NSCustomColorSpace + + CF$UID + 23 + + NSRGB + + MSAwLjk5OTk3NDM3IDAuOTk5OTkxMjk3NwA= + + + + $class + + CF$UID + 25 + + NS.data + + YnBsaXN0MDDUAQIDBAUGKyxYJHZlcnNpb25YJG9iamVjdHNZJGFy + Y2hpdmVyVCR0b3ASAAGGoKcHCBMZHSQoVSRudWxs1QkKCwwNDg8Q + ERJcTlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JTcGFjZV8QEk5T + Q3VzdG9tQ29sb3JTcGFjZVYkY2xhc3NHMCAwIDAgMUYwIDAgMAAQ + AYACgAbTFA0VFhcYVU5TSUNDWU5TU3BhY2VJRIADgAUQDtIaDRsc + V05TLmRhdGFPEQxIAAAMSExpbm8CEAAAbW50clJHQiBYWVogB84A + AgAJAAYAMQAAYWNzcE1TRlQAAAAASUVDIHNSR0IAAAAAAAAAAAAA + AAAAAPbWAAEAAAAA0y1IUCAgAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARY3BydAAAAVAAAAAz + ZGVzYwAAAYQAAABsd3RwdAAAAfAAAAAUYmtwdAAAAgQAAAAUclhZ + WgAAAhgAAAAUZ1hZWgAAAiwAAAAUYlhZWgAAAkAAAAAUZG1uZAAA + AlQAAABwZG1kZAAAAsQAAACIdnVlZAAAA0wAAACGdmlldwAAA9QA + AAAkbHVtaQAAA/gAAAAUbWVhcwAABAwAAAAkdGVjaAAABDAAAAAM + clRSQwAABDwAAAgMZ1RSQwAABDwAAAgMYlRSQwAABDwAAAgMdGV4 + dAAAAABDb3B5cmlnaHQgKGMpIDE5OTggSGV3bGV0dC1QYWNrYXJk + IENvbXBhbnkAAGRlc2MAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4x + AAAAAAAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AFhZWiAAAAAAAADzUQABAAAAARbMWFlaIAAAAAAAAAAAAAAAAAAA + AABYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UA + ABjaWFlaIAAAAAAAACSgAAAPhAAAts9kZXNjAAAAAAAAABZJRUMg + aHR0cDovL3d3dy5pZWMuY2gAAAAAAAAAAAAAABZJRUMgaHR0cDov + L3d3dy5pZWMuY2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAZGVzYwAAAAAAAAAuSUVDIDYxOTY2 + LTIuMSBEZWZhdWx0IFJHQiBjb2xvdXIgc3BhY2UgLSBzUkdCAAAA + AAAAAAAAAAAuSUVDIDYxOTY2LTIuMSBEZWZhdWx0IFJHQiBjb2xv + dXIgc3BhY2UgLSBzUkdCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRl + c2MAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBp + biBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAACxSZWZlcmVuY2UgVmll + d2luZyBDb25kaXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAB2aWV3AAAAAAATpP4AFF8uABDPFAAD + 7cwABBMLAANcngAAAAFYWVogAAAAAABMCVYAUAAAAFcf521lYXMA + AAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAKPAAAAAnNpZyAAAAAA + Q1JUIGN1cnYAAAAAAAAEAAAAAAUACgAPABQAGQAeACMAKAAtADIA + NwA7AEAARQBKAE8AVABZAF4AYwBoAG0AcgB3AHwAgQCGAIsAkACV + AJoAnwCkAKkArgCyALcAvADBAMYAywDQANUA2wDgAOUA6wDwAPYA + +wEBAQcBDQETARkBHwElASsBMgE4AT4BRQFMAVIBWQFgAWcBbgF1 + AXwBgwGLAZIBmgGhAakBsQG5AcEByQHRAdkB4QHpAfIB+gIDAgwC + FAIdAiYCLwI4AkECSwJUAl0CZwJxAnoChAKOApgCogKsArYCwQLL + AtUC4ALrAvUDAAMLAxYDIQMtAzgDQwNPA1oDZgNyA34DigOWA6ID + rgO6A8cD0wPgA+wD+QQGBBMEIAQtBDsESARVBGMEcQR+BIwEmgSo + BLYExATTBOEE8AT+BQ0FHAUrBToFSQVYBWcFdwWGBZYFpgW1BcUF + 1QXlBfYGBgYWBicGNwZIBlkGagZ7BowGnQavBsAG0QbjBvUHBwcZ + BysHPQdPB2EHdAeGB5kHrAe/B9IH5Qf4CAsIHwgyCEYIWghuCIII + lgiqCL4I0gjnCPsJEAklCToJTwlkCXkJjwmkCboJzwnlCfsKEQon + Cj0KVApqCoEKmAquCsUK3ArzCwsLIgs5C1ELaQuAC5gLsAvIC+EL + +QwSDCoMQwxcDHUMjgynDMAM2QzzDQ0NJg1ADVoNdA2ODakNww3e + DfgOEw4uDkkOZA5/DpsOtg7SDu4PCQ8lD0EPXg96D5YPsw/PD+wQ + CRAmEEMQYRB+EJsQuRDXEPURExExEU8RbRGMEaoRyRHoEgcSJhJF + EmQShBKjEsMS4xMDEyMTQxNjE4MTpBPFE+UUBhQnFEkUahSLFK0U + zhTwFRIVNBVWFXgVmxW9FeAWAxYmFkkWbBaPFrIW1hb6Fx0XQRdl + F4kXrhfSF/cYGxhAGGUYihivGNUY+hkgGUUZaxmRGbcZ3RoEGioa + URp3Gp4axRrsGxQbOxtjG4obshvaHAIcKhxSHHscoxzMHPUdHh1H + HXAdmR3DHeweFh5AHmoelB6+HukfEx8+H2kflB+/H+ogFSBBIGwg + mCDEIPAhHCFIIXUhoSHOIfsiJyJVIoIiryLdIwojOCNmI5QjwiPw + JB8kTSR8JKsk2iUJJTglaCWXJccl9yYnJlcmhya3JugnGCdJJ3on + qyfcKA0oPyhxKKIo1CkGKTgpaymdKdAqAio1KmgqmyrPKwIrNitp + K50r0SwFLDksbiyiLNctDC1BLXYtqy3hLhYuTC6CLrcu7i8kL1ov + kS/HL/4wNTBsMKQw2zESMUoxgjG6MfIyKjJjMpsy1DMNM0YzfzO4 + M/E0KzRlNJ402DUTNU01hzXCNf02NzZyNq426TckN2A3nDfXOBQ4 + UDiMOMg5BTlCOX85vDn5OjY6dDqyOu87LTtrO6o76DwnPGU8pDzj + PSI9YT2hPeA+ID5gPqA+4D8hP2E/oj/iQCNAZECmQOdBKUFqQaxB + 7kIwQnJCtUL3QzpDfUPARANER0SKRM5FEkVVRZpF3kYiRmdGq0bw + RzVHe0fASAVIS0iRSNdJHUljSalJ8Eo3Sn1KxEsMS1NLmkviTCpM + cky6TQJNSk2TTdxOJU5uTrdPAE9JT5NP3VAnUHFQu1EGUVBRm1Hm + UjFSfFLHUxNTX1OqU/ZUQlSPVNtVKFV1VcJWD1ZcVqlW91dEV5JX + 4FgvWH1Yy1kaWWlZuFoHWlZaplr1W0VblVvlXDVchlzWXSddeF3J + XhpebF69Xw9fYV+zYAVgV2CqYPxhT2GiYfViSWKcYvBjQ2OXY+tk + QGSUZOllPWWSZedmPWaSZuhnPWeTZ+loP2iWaOxpQ2maafFqSGqf + avdrT2una/9sV2yvbQhtYG25bhJua27Ebx5veG/RcCtwhnDgcTpx + lXHwcktypnMBc11zuHQUdHB0zHUodYV14XY+dpt2+HdWd7N4EXhu + eMx5KnmJeed6RnqlewR7Y3vCfCF8gXzhfUF9oX4BfmJ+wn8jf4R/ + 5YBHgKiBCoFrgc2CMIKSgvSDV4O6hB2EgITjhUeFq4YOhnKG14c7 + h5+IBIhpiM6JM4mZif6KZIrKizCLlov8jGOMyo0xjZiN/45mjs6P + No+ekAaQbpDWkT+RqJIRknqS45NNk7aUIJSKlPSVX5XJljSWn5cK + l3WX4JhMmLiZJJmQmfyaaJrVm0Kbr5wcnImc951kndKeQJ6unx2f + i5/6oGmg2KFHobaiJqKWowajdqPmpFakx6U4pammGqaLpv2nbqfg + qFKoxKk3qamqHKqPqwKrdavprFys0K1ErbiuLa6hrxavi7AAsHWw + 6rFgsdayS7LCszizrrQltJy1E7WKtgG2ebbwt2i34LhZuNG5SrnC + uju6tbsuu6e8IbybvRW9j74KvoS+/796v/XAcMDswWfB48JfwtvD + WMPUxFHEzsVLxcjGRsbDx0HHv8g9yLzJOsm5yjjKt8s2y7bMNcy1 + zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW + 2Ndc1+DYZNjo2WzZ8dp22vvbgNwF3IrdEN2W3hzeot8p36/gNuC9 + 4UThzOJT4tvjY+Pr5HPk/OWE5g3mlucf56noMui86Ubp0Opb6uXr + cOv77IbtEe2c7ijutO9A78zwWPDl8XLx//KM8xnzp/Q09ML1UPXe + 9m32+/eK+Bn4qPk4+cf6V/rn+3f8B/yY/Sn9uv5L/tz/bf//gATS + Hh8gIVokY2xhc3NuYW1lWCRjbGFzc2VzXU5TTXV0YWJsZURhdGGj + ICIjVk5TRGF0YVhOU09iamVjdNIeHyUmXE5TQ29sb3JTcGFjZaIn + I1xOU0NvbG9yU3BhY2XSHh8pKldOU0NvbG9yoikjXxAPTlNLZXll + ZEFyY2hpdmVy0S0uVHJvb3SAAQAIABEAGgAjAC0AMgA3AD8ARQBQ + AF0AYwBwAIUAjACUAJsAnQCfAKEAqACuALgAugC8AL4AwwDLDRcN + GQ0eDSkNMg1ADUQNSw1UDVkNZg1pDXYNew2DDYYNmA2bDaAAAAAA + AAACAQAAAAAAAAAvAAAAAAAAAAAAAAAAAAANog== + + + + $class + + CF$UID + 29 + + color + + CF$UID + 52 + + intensity + 1 + isCommonProfileProperty + 1 + magnificationFilter + 2 + mappingChannel + 0 + maxAnisotropy + 3.4028234663852886e+38 + minificationFilter + 2 + mipFilter + 1 + parent + + CF$UID + 20 + + propertyType + 9 + wrapS + 1 + wrapT + 1 + + + $class + + CF$UID + 27 + + NSColorSpace + 1 + NSComponents + + MCAwIDAgMQ== + + NSCustomColorSpace + + CF$UID + 23 + + NSRGB + + MCAwIDAA + + + + $class + + CF$UID + 29 + + color + + CF$UID + 54 + + intensity + 1 + isCommonProfileProperty + 1 + magnificationFilter + 2 + mappingChannel + 0 + maxAnisotropy + 3.4028234663852886e+38 + minificationFilter + 2 + mipFilter + 1 + parent + + CF$UID + 20 + + propertyType + 8 + wrapS + 1 + wrapT + 1 + + + $class + + CF$UID + 27 + + NSColorSpace + 1 + NSComponents + + MSAxIDEgMQ== + + NSCustomColorSpace + + CF$UID + 23 + + NSRGB + + MSAwLjk5OTk3NDM3IDAuOTk5OTkxMjk3NwA= + + + + $class + + CF$UID + 29 + + color + + CF$UID + 56 + + intensity + 1 + isCommonProfileProperty + 1 + magnificationFilter + 2 + mappingChannel + 0 + maxAnisotropy + 3.4028234663852886e+38 + minificationFilter + 2 + mipFilter + 1 + parent + + CF$UID + 20 + + propertyType + 10 + wrapS + 1 + wrapT + 1 + + + $class + + CF$UID + 27 + + NSColorSpace + 1 + NSComponents + + MCAwIDAgMQ== + + NSCustomColorSpace + + CF$UID + 23 + + NSRGB + + MCAwIDAA + + + + $class + + CF$UID + 29 + + color + + CF$UID + 58 + + intensity + 1 + isCommonProfileProperty + 1 + magnificationFilter + 2 + mappingChannel + 0 + maxAnisotropy + 3.4028234663852886e+38 + minificationFilter + 2 + mipFilter + 1 + parent + + CF$UID + 20 + + propertyType + 11 + wrapS + 1 + wrapT + 1 + + + $class + + CF$UID + 27 + + NSColorSpace + 1 + NSComponents + + MC4yMDAwMDAwMDMgMC4yMDAwMDAwMDMgMC4yMDAwMDAwMDMgMQ== + + NSCustomColorSpace + + CF$UID + 23 + + NSRGB + + MC4xNTA1NjMxMzU3IDAuMTUwNTU4NjM1NiAwLjE1MDU2MTIxMzUA + + + SCNLightingModelBlinn + + $classes + + SCNMaterial + NSObject + + $classname + SCNMaterial + + + $classes + + NSMutableArray + NSArray + NSObject + + $classname + NSMutableArray + + floor + + $classes + + SCNFloor + SCNGeometry + NSObject + + $classname + SCNFloor + + + $class + + CF$UID + 65 + + allowsResting + + angularDamping + 0.10000000000000001 + angularVelocity + + AAAAAAAAAAAAAAAAAAAAAA== + + angularVelocityFactor + + AACAPwAAgD8AAIA/ + + categoryBitMask + 2 + charge + 0.0 + collisionBitMask + -3 + contactTestBitMask + 0 + damping + 0.10000000000000001 + explicitMomentOfInertia + + friction + 0.5 + ignoreGravity + + isDefaultShape + + mass + 0.0 + momentOfInertia + + AAAAAAAAAAAAAAAA + + restitution + 0.5 + rollingFriction + 0.0 + type + 0 + velocity + + AAAAAAAAAAAAAAAA + + velocityFactor + + AACAPwAAgD8AAIA/ + + + + $classes + + SCNPhysicsBody + NSObject + + $classname + SCNPhysicsBody + + + $class + + CF$UID + 16 + + castsShadow + + categoryBitMask + 1 + childNodes + + CF$UID + 14 + + geometry + + CF$UID + 67 + + hidden + + movabilityHint + 0 + name + + CF$UID + 96 + + opacity + 1 + paused + + physicsBody + + CF$UID + 98 + + position + + AAAgwAAAoEEAAAAA + + renderingOrder + 0 + rotation + + AAAAAAAAAAAAAAAAAAAAAA== + + scale + + AACAPwAAgD8AAIA/ + + + + $class + + CF$UID + 97 + + boxchamferRadius + 0.0 + boxchamferSegmentCount + 10 + boxheight + 1 + boxheightSegmentCount + 1 + boxlength + 1 + boxlengthSegmentCount + 1 + boxprimitiveType + 0 + boxwidth + 1 + boxwidthSegmentCount + 1 + materials + + CF$UID + 68 + + name + + CF$UID + 96 + + subdivisionLevel + 0 + subdivisionSettings + + AQEAAA== + + + + $class + + CF$UID + 61 + + NS.objects + + + CF$UID + 69 + + + + + $class + + CF$UID + 60 + + ambient + + CF$UID + 70 + + ambientOcclusion + + CF$UID + 90 + + avoidsOverLighting + + blendMode + 0 + cullMode + 0 + diffuse + + CF$UID + 72 + + doubleSided + + emission + + CF$UID + 78 + + fillMode + 2 + fresnelExponent + 0.0 + indexOfRefraction + 1 + lightingModelName + + CF$UID + 59 + + litPerPixel + + locksAmbientWithDiffuse + + metalness + + CF$UID + 92 + + multiply + + CF$UID + 84 + + normal + + CF$UID + 86 + + readsFromDepthBuffer + + reflective + + CF$UID + 80 + + roughness + + CF$UID + 94 + + selfIllumination + + CF$UID + 88 + + selfIlluminationOcclusion + 0.0 + shininess + 1 + specular + + CF$UID + 76 + + transparency + 1 + transparencyMode + 0 + transparent + + CF$UID + 82 + + writesToDepthBuffer + + + + $class + + CF$UID + 29 + + color + + CF$UID + 71 + + intensity + 1 + isCommonProfileProperty + 1 + magnificationFilter + 2 + mappingChannel + 0 + maxAnisotropy + 3.4028234663852886e+38 + minificationFilter + 2 + mipFilter + 1 + parent + + CF$UID + 69 + + propertyType + 1 + wrapS + 1 + wrapT + 1 + + + $class + + CF$UID + 27 + + NSColorSpace + 1 + NSComponents + + MC4yMDAwMDAwMDMgMC4yMDAwMDAwMDMgMC4yMDAwMDAwMDMgMQ== + + NSCustomColorSpace + + CF$UID + 23 + + NSRGB + + MC4xNTA1NjMxMzU3IDAuMTUwNTU4NjM1NiAwLjE1MDU2MTIxMzUA + + + + $class + + CF$UID + 29 + + color + + CF$UID + 73 + + intensity + 1 + isCommonProfileProperty + 1 + magnificationFilter + 2 + mappingChannel + 0 + maxAnisotropy + 3.4028234663852886e+38 + minificationFilter + 2 + mipFilter + 1 + parent + + CF$UID + 69 + + propertyType + 2 + wrapS + 1 + wrapT + 1 + + + $class + + CF$UID + 27 + + NSColorSpace + 1 + NSComponents + + MC40Njk3ODM1OTA3IDAuMzY2NzE3MjU1NiAxIDE= + + NSCustomColorSpace + + CF$UID + 74 + + NSRGB + + MC4zODk2MjEyNTc4IDAuMjQzNjgzMTI5NSAwLjk5ODQ2MDI5MjgA + + + + $class + + CF$UID + 26 + + NSICC + + CF$UID + 75 + + NSID + 7 + + + $class + + CF$UID + 25 + + NS.data + + AAAMSExpbm8CEAAAbW50clJHQiBYWVogB84AAgAJAAYAMQAAYWNz + cE1TRlQAAAAASUVDIHNSR0IAAAAAAAAAAAAAAAAAAPbWAAEAAAAA + 0y1IUCAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAARY3BydAAAAVAAAAAzZGVzYwAAAYQAAABs + d3RwdAAAAfAAAAAUYmtwdAAAAgQAAAAUclhZWgAAAhgAAAAUZ1hZ + WgAAAiwAAAAUYlhZWgAAAkAAAAAUZG1uZAAAAlQAAABwZG1kZAAA + AsQAAACIdnVlZAAAA0wAAACGdmlldwAAA9QAAAAkbHVtaQAAA/gA + AAAUbWVhcwAABAwAAAAkdGVjaAAABDAAAAAMclRSQwAABDwAAAgM + Z1RSQwAABDwAAAgMYlRSQwAABDwAAAgMdGV4dAAAAABDb3B5cmln + aHQgKGMpIDE5OTggSGV3bGV0dC1QYWNrYXJkIENvbXBhbnkAAGRl + c2MAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAS + c1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAADz + UQABAAAAARbMWFlaIAAAAAAAAAAAAAAAAAAAAABYWVogAAAAAAAA + b6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAA + ACSgAAAPhAAAts9kZXNjAAAAAAAAABZJRUMgaHR0cDovL3d3dy5p + ZWMuY2gAAAAAAAAAAAAAABZJRUMgaHR0cDovL3d3dy5pZWMuY2gA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAZGVzYwAAAAAAAAAuSUVDIDYxOTY2LTIuMSBEZWZhdWx0 + IFJHQiBjb2xvdXIgc3BhY2UgLSBzUkdCAAAAAAAAAAAAAAAuSUVD + IDYxOTY2LTIuMSBEZWZhdWx0IFJHQiBjb2xvdXIgc3BhY2UgLSBz + UkdCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAAAAAALFJl + ZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBpbiBJRUM2MTk2Ni0y + LjEAAAAAAAAAAAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25kaXRp + b24gaW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAB2aWV3AAAAAAATpP4AFF8uABDPFAAD7cwABBMLAANcngAA + AAFYWVogAAAAAABMCVYAUAAAAFcf521lYXMAAAAAAAAAAQAAAAAA + AAAAAAAAAAAAAAAAAAKPAAAAAnNpZyAAAAAAQ1JUIGN1cnYAAAAA + AAAEAAAAAAUACgAPABQAGQAeACMAKAAtADIANwA7AEAARQBKAE8A + VABZAF4AYwBoAG0AcgB3AHwAgQCGAIsAkACVAJoAnwCkAKkArgCy + ALcAvADBAMYAywDQANUA2wDgAOUA6wDwAPYA+wEBAQcBDQETARkB + HwElASsBMgE4AT4BRQFMAVIBWQFgAWcBbgF1AXwBgwGLAZIBmgGh + AakBsQG5AcEByQHRAdkB4QHpAfIB+gIDAgwCFAIdAiYCLwI4AkEC + SwJUAl0CZwJxAnoChAKOApgCogKsArYCwQLLAtUC4ALrAvUDAAML + AxYDIQMtAzgDQwNPA1oDZgNyA34DigOWA6IDrgO6A8cD0wPgA+wD + +QQGBBMEIAQtBDsESARVBGMEcQR+BIwEmgSoBLYExATTBOEE8AT+ + BQ0FHAUrBToFSQVYBWcFdwWGBZYFpgW1BcUF1QXlBfYGBgYWBicG + NwZIBlkGagZ7BowGnQavBsAG0QbjBvUHBwcZBysHPQdPB2EHdAeG + B5kHrAe/B9IH5Qf4CAsIHwgyCEYIWghuCIIIlgiqCL4I0gjnCPsJ + EAklCToJTwlkCXkJjwmkCboJzwnlCfsKEQonCj0KVApqCoEKmAqu + CsUK3ArzCwsLIgs5C1ELaQuAC5gLsAvIC+EL+QwSDCoMQwxcDHUM + jgynDMAM2QzzDQ0NJg1ADVoNdA2ODakNww3eDfgOEw4uDkkOZA5/ + DpsOtg7SDu4PCQ8lD0EPXg96D5YPsw/PD+wQCRAmEEMQYRB+EJsQ + uRDXEPURExExEU8RbRGMEaoRyRHoEgcSJhJFEmQShBKjEsMS4xMD + EyMTQxNjE4MTpBPFE+UUBhQnFEkUahSLFK0UzhTwFRIVNBVWFXgV + mxW9FeAWAxYmFkkWbBaPFrIW1hb6Fx0XQRdlF4kXrhfSF/cYGxhA + GGUYihivGNUY+hkgGUUZaxmRGbcZ3RoEGioaURp3Gp4axRrsGxQb + OxtjG4obshvaHAIcKhxSHHscoxzMHPUdHh1HHXAdmR3DHeweFh5A + HmoelB6+HukfEx8+H2kflB+/H+ogFSBBIGwgmCDEIPAhHCFIIXUh + oSHOIfsiJyJVIoIiryLdIwojOCNmI5QjwiPwJB8kTSR8JKsk2iUJ + JTglaCWXJccl9yYnJlcmhya3JugnGCdJJ3onqyfcKA0oPyhxKKIo + 1CkGKTgpaymdKdAqAio1KmgqmyrPKwIrNitpK50r0SwFLDksbiyi + LNctDC1BLXYtqy3hLhYuTC6CLrcu7i8kL1ovkS/HL/4wNTBsMKQw + 2zESMUoxgjG6MfIyKjJjMpsy1DMNM0YzfzO4M/E0KzRlNJ402DUT + NU01hzXCNf02NzZyNq426TckN2A3nDfXOBQ4UDiMOMg5BTlCOX85 + vDn5OjY6dDqyOu87LTtrO6o76DwnPGU8pDzjPSI9YT2hPeA+ID5g + PqA+4D8hP2E/oj/iQCNAZECmQOdBKUFqQaxB7kIwQnJCtUL3QzpD + fUPARANER0SKRM5FEkVVRZpF3kYiRmdGq0bwRzVHe0fASAVIS0iR + SNdJHUljSalJ8Eo3Sn1KxEsMS1NLmkviTCpMcky6TQJNSk2TTdxO + JU5uTrdPAE9JT5NP3VAnUHFQu1EGUVBRm1HmUjFSfFLHUxNTX1Oq + U/ZUQlSPVNtVKFV1VcJWD1ZcVqlW91dEV5JX4FgvWH1Yy1kaWWlZ + uFoHWlZaplr1W0VblVvlXDVchlzWXSddeF3JXhpebF69Xw9fYV+z + YAVgV2CqYPxhT2GiYfViSWKcYvBjQ2OXY+tkQGSUZOllPWWSZedm + PWaSZuhnPWeTZ+loP2iWaOxpQ2maafFqSGqfavdrT2una/9sV2yv + bQhtYG25bhJua27Ebx5veG/RcCtwhnDgcTpxlXHwcktypnMBc11z + uHQUdHB0zHUodYV14XY+dpt2+HdWd7N4EXhueMx5KnmJeed6Rnql + ewR7Y3vCfCF8gXzhfUF9oX4BfmJ+wn8jf4R/5YBHgKiBCoFrgc2C + MIKSgvSDV4O6hB2EgITjhUeFq4YOhnKG14c7h5+IBIhpiM6JM4mZ + if6KZIrKizCLlov8jGOMyo0xjZiN/45mjs6PNo+ekAaQbpDWkT+R + qJIRknqS45NNk7aUIJSKlPSVX5XJljSWn5cKl3WX4JhMmLiZJJmQ + mfyaaJrVm0Kbr5wcnImc951kndKeQJ6unx2fi5/6oGmg2KFHobai + JqKWowajdqPmpFakx6U4pammGqaLpv2nbqfgqFKoxKk3qamqHKqP + qwKrdavprFys0K1ErbiuLa6hrxavi7AAsHWw6rFgsdayS7LCsziz + rrQltJy1E7WKtgG2ebbwt2i34LhZuNG5SrnCuju6tbsuu6e8Ibyb + vRW9j74KvoS+/796v/XAcMDswWfB48JfwtvDWMPUxFHEzsVLxcjG + RsbDx0HHv8g9yLzJOsm5yjjKt8s2y7bMNcy1zTXNtc42zrbPN8+4 + 0DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ + 8dp22vvbgNwF3IrdEN2W3hzeot8p36/gNuC94UThzOJT4tvjY+Pr + 5HPk/OWE5g3mlucf56noMui86Ubp0Opb6uXrcOv77IbtEe2c7iju + tO9A78zwWPDl8XLx//KM8xnzp/Q09ML1UPXe9m32+/eK+Bn4qPk4 + +cf6V/rn+3f8B/yY/Sn9uv5L/tz/bf// + + + + $class + + CF$UID + 29 + + color + + CF$UID + 77 + + intensity + 1 + isCommonProfileProperty + 1 + magnificationFilter + 2 + mappingChannel + 0 + maxAnisotropy + 3.4028234663852886e+38 + minificationFilter + 2 + mipFilter + 1 + parent + + CF$UID + 69 + + propertyType + 3 + wrapS + 1 + wrapT + 1 + + + $class + + CF$UID + 27 + + NSColorSpace + 1 + NSComponents + + MCAwIDAgMQ== + + NSCustomColorSpace + + CF$UID + 23 + + NSRGB + + MCAwIDAA + + + + $class + + CF$UID + 29 + + color + + CF$UID + 79 + + intensity + 1 + isCommonProfileProperty + 1 + magnificationFilter + 2 + mappingChannel + 0 + maxAnisotropy + 3.4028234663852886e+38 + minificationFilter + 2 + mipFilter + 1 + parent + + CF$UID + 69 + + propertyType + 0 + wrapS + 1 + wrapT + 1 + + + $class + + CF$UID + 27 + + NSColorSpace + 1 + NSComponents + + MCAwIDAgMQ== + + NSCustomColorSpace + + CF$UID + 23 + + NSRGB + + MCAwIDAA + + + + $class + + CF$UID + 29 + + color + + CF$UID + 81 + + intensity + 1 + isCommonProfileProperty + 1 + magnificationFilter + 2 + mappingChannel + 0 + maxAnisotropy + 3.4028234663852886e+38 + minificationFilter + 2 + mipFilter + 1 + parent + + CF$UID + 69 + + propertyType + 4 + wrapS + 1 + wrapT + 1 + + + $class + + CF$UID + 27 + + NSColorSpace + 1 + NSComponents + + MCAwIDAgMQ== + + NSCustomColorSpace + + CF$UID + 23 + + NSRGB + + MCAwIDAA + + + + $class + + CF$UID + 29 + + color + + CF$UID + 83 + + intensity + 1 + isCommonProfileProperty + 1 + magnificationFilter + 2 + mappingChannel + 0 + maxAnisotropy + 3.4028234663852886e+38 + minificationFilter + 2 + mipFilter + 1 + parent + + CF$UID + 69 + + propertyType + 5 + wrapS + 1 + wrapT + 1 + + + $class + + CF$UID + 27 + + NSColorSpace + 1 + NSComponents + + MSAxIDEgMQ== + + NSCustomColorSpace + + CF$UID + 23 + + NSRGB + + MSAwLjk5OTk3NDM3IDAuOTk5OTkxMjk3NwA= + + + + $class + + CF$UID + 29 + + color + + CF$UID + 85 + + intensity + 1 + isCommonProfileProperty + 1 + magnificationFilter + 2 + mappingChannel + 0 + maxAnisotropy + 3.4028234663852886e+38 + minificationFilter + 2 + mipFilter + 1 + parent + + CF$UID + 69 + + propertyType + 6 + wrapS + 1 + wrapT + 1 + + + $class + + CF$UID + 27 + + NSColorSpace + 1 + NSComponents + + MSAxIDEgMQ== + + NSCustomColorSpace + + CF$UID + 23 + + NSRGB + + MSAwLjk5OTk3NDM3IDAuOTk5OTkxMjk3NwA= + + + + $class + + CF$UID + 29 + + color + + CF$UID + 87 + + intensity + 1 + isCommonProfileProperty + 1 + magnificationFilter + 2 + mappingChannel + 0 + maxAnisotropy + 3.4028234663852886e+38 + minificationFilter + 2 + mipFilter + 1 + parent + + CF$UID + 69 + + propertyType + 7 + wrapS + 1 + wrapT + 1 + + + $class + + CF$UID + 27 + + NSColorSpace + 1 + NSComponents + + MC41NDE3NDk3NDAxIDAuNDk1NjMzNTA3MiAxIDE= + + NSCustomColorSpace + + CF$UID + 74 + + NSRGB + + MC40NjQ5MDU2NzkyIDAuMzg4MTgyNzI5NSAwLjk5ODYwOTY2MjEA + + + + $class + + CF$UID + 29 + + color + + CF$UID + 89 + + intensity + 1 + isCommonProfileProperty + 1 + magnificationFilter + 2 + mappingChannel + 0 + maxAnisotropy + 3.4028234663852886e+38 + minificationFilter + 2 + mipFilter + 1 + parent + + CF$UID + 69 + + propertyType + 9 + wrapS + 1 + wrapT + 1 + + + $class + + CF$UID + 27 + + NSColorSpace + 1 + NSComponents + + MCAwIDAgMQ== + + NSCustomColorSpace + + CF$UID + 23 + + NSRGB + + MCAwIDAA + + + + $class + + CF$UID + 29 + + color + + CF$UID + 91 + + intensity + 1 + isCommonProfileProperty + 1 + magnificationFilter + 2 + mappingChannel + 0 + maxAnisotropy + 3.4028234663852886e+38 + minificationFilter + 2 + mipFilter + 1 + parent + + CF$UID + 69 + + propertyType + 8 + wrapS + 1 + wrapT + 1 + + + $class + + CF$UID + 27 + + NSColorSpace + 1 + NSComponents + + MSAxIDEgMQ== + + NSCustomColorSpace + + CF$UID + 23 + + NSRGB + + MSAwLjk5OTk3NDM3IDAuOTk5OTkxMjk3NwA= + + + + $class + + CF$UID + 29 + + color + + CF$UID + 93 + + intensity + 1 + isCommonProfileProperty + 1 + magnificationFilter + 2 + mappingChannel + 0 + maxAnisotropy + 3.4028234663852886e+38 + minificationFilter + 2 + mipFilter + 1 + parent + + CF$UID + 69 + + propertyType + 10 + wrapS + 1 + wrapT + 1 + + + $class + + CF$UID + 27 + + NSColorSpace + 1 + NSComponents + + MCAwIDAgMQ== + + NSCustomColorSpace + + CF$UID + 23 + + NSRGB + + MCAwIDAA + + + + $class + + CF$UID + 29 + + color + + CF$UID + 95 + + intensity + 1 + isCommonProfileProperty + 1 + magnificationFilter + 2 + mappingChannel + 0 + maxAnisotropy + 3.4028234663852886e+38 + minificationFilter + 2 + mipFilter + 1 + parent + + CF$UID + 69 + + propertyType + 11 + wrapS + 1 + wrapT + 1 + + + $class + + CF$UID + 27 + + NSColorSpace + 1 + NSComponents + + MC4yMDAwMDAwMDMgMC4yMDAwMDAwMDMgMC4yMDAwMDAwMDMgMQ== + + NSCustomColorSpace + + CF$UID + 23 + + NSRGB + + MC4xNTA1NjMxMzU3IDAuMTUwNTU4NjM1NiAwLjE1MDU2MTIxMzUA + + + box + + $classes + + SCNBox + SCNGeometry + NSObject + + $classname + SCNBox + + + $class + + CF$UID + 65 + + allowsResting + + angularDamping + 0.10000000000000001 + angularVelocity + + AAAAAAAAAAAAAAAAAAAAAA== + + angularVelocityFactor + + AACAPwAAgD8AAIA/ + + categoryBitMask + 1 + charge + 0.0 + collisionBitMask + -1 + contactTestBitMask + 0 + damping + 0.10000000000000001 + explicitMomentOfInertia + + friction + 0.5 + ignoreGravity + + isDefaultShape + + mass + 1 + momentOfInertia + + AAAAAAAAAAAAAAAA + + restitution + 0.5 + rollingFriction + 0.0 + type + 1 + velocity + + AAAAAAAAAAAAAAAA + + velocityFactor + + AACAPwAAgD8AAIA/ + + + + $class + + CF$UID + 16 + + castsShadow + + categoryBitMask + 1 + childNodes + + CF$UID + 14 + + geometry + + CF$UID + 67 + + hidden + + movabilityHint + 0 + name + + CF$UID + 101 + + opacity + 1 + paused + + physicsBody + + CF$UID + 100 + + position + + AAAgQAAAoEEAAAAA + + renderingOrder + 0 + rotation + + AAAAAAAAAAAAAAAAAAAAAA== + + scale + + AACAPwAAgD8AAIA/ + + + + $class + + CF$UID + 65 + + allowsResting + + angularDamping + 0.10000000000000001 + angularVelocity + + AAAAAAAAAAAAAAAAAAAAAA== + + angularVelocityFactor + + AACAPwAAgD8AAIA/ + + categoryBitMask + 1 + charge + 0.0 + collisionBitMask + -1 + contactTestBitMask + 0 + damping + 0.10000000000000001 + explicitMomentOfInertia + + friction + 0.5 + ignoreGravity + + isDefaultShape + + mass + 1 + momentOfInertia + + AAAAAAAAAAAAAAAA + + restitution + 0.5 + rollingFriction + 0.0 + type + 1 + velocity + + AAAAAAAAAAAAAAAA + + velocityFactor + + AACAPwAAgD8AAIA/ + + + box2 + + $class + + CF$UID + 29 + + intensity + 1 + isCommonProfileProperty + 0 + magnificationFilter + 2 + mappingChannel + 0 + maxAnisotropy + 3.4028234663852886e+38 + minificationFilter + 2 + mipFilter + 0 + parent + + CF$UID + 1 + + propertyType + 15 + wrapS + 1 + wrapT + 1 + + + $class + + CF$UID + 29 + + intensity + 1 + isCommonProfileProperty + 0 + magnificationFilter + 2 + mappingChannel + 0 + maxAnisotropy + 3.4028234663852886e+38 + minificationFilter + 2 + mipFilter + 1 + parent + + CF$UID + 1 + + propertyType + 13 + wrapS + 1 + wrapT + 1 + + + $class + + CF$UID + 25 + + NS.data + + YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFy + Y2hpdmVyVCR0b3ASAAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdC + XE5TQ29sb3JTcGFjZVYkY2xhc3NGMSAxIDEAEAKAAtIQERITWiRj + bGFzc25hbWVYJGNsYXNzZXNXTlNDb2xvcqISFFhOU09iamVjdF8Q + D05TS2V5ZWRBcmNoaXZlctEXGFRyb290gAEIERojLTI3O0FITlti + aWttcn2GjpGarK+0AAAAAAAAAQEAAAAAAAAAGQAAAAAAAAAAAAAA + AAAAALY= + + + + $classes + + SCNScene + NSObject + + $classname + SCNScene + + + $top + + root + + CF$UID + 1 + + + $version + 100000 + +