From c141c2b05e374757b6499d12bb8a6d4d943b1529 Mon Sep 17 00:00:00 2001 From: Zygo Blaxell Date: Thu, 26 Jul 2012 23:36:35 -0400 Subject: [PATCH] From http://www.jwz.org/xscreensaver/xscreensaver-5.19.tar.gz -rw-r--r-- 1 zblaxell zblaxell 7373580 Jul 26 23:00 xscreensaver-5.19.tar.gz 16437d45f568ded8721a917e082f9b4d948954ec xscreensaver-5.19.tar.gz --- OSX/Makefile | 14 +- OSX/SaverRunner.h | 1 + OSX/SaverRunner.m | 13 +- OSX/SaverRunner.plist | 4 +- OSX/XScreenSaver.plist | 4 +- OSX/XScreenSaverGLView.m | 55 ++- OSX/XScreenSaverView.h | 18 +- OSX/XScreenSaverView.m | 374 +++++++++++--------- OSX/bindist.rtf | 4 +- OSX/build-fntable.pl | 113 ++++++ OSX/iSaverRunner.plist | 4 +- OSX/icmp-warning.pl | 4 +- OSX/ios_function_tables.h | 396 +++++++++++++++++++++ OSX/jwxyz.m | 205 +++++++---- OSX/update-info-plist.pl | 14 +- OSX/update-thumbnail.pl | 150 ++++++++ README | 2 + driver/Makefile.in | 14 - driver/XScreenSaver.ad.in | 4 +- driver/XScreenSaver_ad.h | 6 +- hacks/config/README | 4 +- hacks/glx/hypertorus.c | 6 +- hacks/glx/sonar-icmp.c | 66 ++-- hacks/vidwhacker | 2 +- hacks/webcollage | 19 +- po/POTFILES.in | 2 +- utils/version.h | 2 +- xscreensaver.spec | 2 +- xscreensaver.xcodeproj/project.pbxproj | 470 ++++++++++++++++++++++++- 29 files changed, 1626 insertions(+), 346 deletions(-) create mode 100755 OSX/build-fntable.pl create mode 100644 OSX/ios_function_tables.h create mode 100755 OSX/update-thumbnail.pl diff --git a/OSX/Makefile b/OSX/Makefile index 63a5aba5..b7b37fd9 100644 --- a/OSX/Makefile +++ b/OSX/Makefile @@ -1,10 +1,11 @@ -# XScreenSaver for MacOS X, Copyright (c) 2006-2011 by Jamie Zawinski. +# XScreenSaver for MacOS X, Copyright (c) 2006-2012 by Jamie Zawinski. XCODEBUILD = /Developer/usr/bin/xcodebuild TARGETS = -target "All Savers" ARCH = -arch i386 -arch x86_64 CERT = 'Jamie Zawinski' CERT = 'iPhone Developer: Jamie Zawinski (Y5M82TL69N)' +THUMBDIR = $(HOME)/www/xscreensaver/screenshots/ default: release all: debug release @@ -28,7 +29,7 @@ release:: distdepend cd ..; $(XCODEBUILD) $(ARCH) $(TARGETS) -configuration Release build release:: check_versions - +release:: update_thumbs release:: sign sign: @@ -56,6 +57,14 @@ check_versions: if [ "$$RESULT" = 0 ]; then echo "Versions match ($$V2)" ; fi ; \ exit $$RESULT +update_thumbs:: + ./update-thumbnail.pl $(THUMBDIR) build/Release/*.saver + + +# Arrrrgh +ios_function_tables.h:: + @./build-fntable.pl build/Debug-iphoneos/XScreenSaver.app $@ + echo_tarfiles: @echo `find . \ @@ -86,6 +95,7 @@ update_plist_version: done ; \ rm $$T + # -format UDBZ saves 4% (~1.2 MB) over UDZO. dmg:: distdepend check_versions @ \ diff --git a/OSX/SaverRunner.h b/OSX/SaverRunner.h index 0a35ca19..0284ccf5 100644 --- a/OSX/SaverRunner.h +++ b/OSX/SaverRunner.h @@ -48,6 +48,7 @@ # else // USE_IPHONE ScreenSaverView *saverView; + UIView *backgroundView; UINavigationController *rootViewController; IBOutlet UIWindow *window; EAGLContext *eagl_ctx; diff --git a/OSX/SaverRunner.m b/OSX/SaverRunner.m index 3fd451d9..526f62eb 100644 --- a/OSX/SaverRunner.m +++ b/OSX/SaverRunner.m @@ -426,10 +426,20 @@ relabel_menus (NSObject *v, NSString *old_str, NSString *new_str) saverName = name; + if (! backgroundView) { + // This view is the parent of the XScreenSaverView, and exists only + // so that there is a black background behind it. Without this, when + // rotation is in progresss, the scrolling-list window's corners show + // through in the corners. + backgroundView = [[[NSView class] alloc] initWithFrame:[window frame]]; + [backgroundView setBackgroundColor:[NSColor blackColor]]; + } + if (saverView) { if ([saverView isAnimating]) [saverView stopAnimation]; [saverView removeFromSuperview]; + [backgroundView removeFromSuperview]; } NSSize size = [window frame].size; @@ -455,7 +465,8 @@ relabel_menus (NSObject *v, NSString *old_str, NSString *new_str) LAUNCH: if (launch) { [self saveScreenshot]; - [window addSubview: saverView]; + [window addSubview: backgroundView]; + [backgroundView addSubview: saverView]; [saverView becomeFirstResponder]; [saverView startAnimation]; } diff --git a/OSX/SaverRunner.plist b/OSX/SaverRunner.plist index b116fb8f..35732166 100644 --- a/OSX/SaverRunner.plist +++ b/OSX/SaverRunner.plist @@ -22,11 +22,11 @@ http://www.jwz.org/xscreensaver/ CFBundlePackageType APPL CFBundleShortVersionString - 5.18 + 5.19 CFBundleSignature ???? CFBundleVersion - 5.18 + 5.19 LSMinimumSystemVersion 10.4 NSHumanReadableCopyright diff --git a/OSX/XScreenSaver.plist b/OSX/XScreenSaver.plist index fa9f4870..7e807535 100644 --- a/OSX/XScreenSaver.plist +++ b/OSX/XScreenSaver.plist @@ -15,11 +15,11 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 5.18 + 5.19 CFBundleSignature ???? CFBundleVersion - 5.18 + 5.19 LSMinimumSystemVersion 10.4 NSMainNibFile diff --git a/OSX/XScreenSaverGLView.m b/OSX/XScreenSaverGLView.m index 58144ee1..3d3aeeab 100644 --- a/OSX/XScreenSaverGLView.m +++ b/OSX/XScreenSaverGLView.m @@ -82,6 +82,16 @@ extern void check_gl_error (const char *type); } +#ifdef USE_IPHONE +/* With GL programs, drawing at full resolution isn't a problem. + */ +- (CGFloat) hackedContentScaleFactor +{ + return [self contentScaleFactor]; +} +#endif // USE_IPHONE + + - (void) setOglContext: (NSOpenGLContext *) ctx { ogl_ctx = ctx; @@ -89,9 +99,9 @@ extern void check_gl_error (const char *type); # ifdef USE_IPHONE [EAGLContext setCurrentContext: ogl_ctx]; - double s = self.contentScaleFactor; - int w = s * [self frame].size.width; - int h = s * [self frame].size.height; + double s = [self hackedContentScaleFactor]; + int w = s * [self bounds].size.width; + int h = s * [self bounds].size.height; if (gl_framebuffer) glDeleteFramebuffersOES (1, &gl_framebuffer); if (gl_renderbuffer) glDeleteRenderbuffersOES (1, &gl_renderbuffer); @@ -173,11 +183,21 @@ extern void check_gl_error (const char *type); return [CAEAGLLayer class]; } +- (void) swapBuffers +{ + glBindRenderbufferOES (GL_RENDERBUFFER_OES, gl_renderbuffer); + [ogl_ctx presentRenderbuffer:GL_RENDERBUFFER_OES]; +} +#endif // USE_IPHONE + + +#ifdef USE_BACKBUFFER + +- (void) initLayer +{ + // Do nothing. +} -/* On MacOS: drawRect does nothing, and animateOneFrame renders. - On iOS GL: drawRect does nothing, and animateOneFrame renders. - On iOS X11: drawRect renders, and animateOneFrame marks the view dirty. - */ - (void)drawRect:(NSRect)rect { } @@ -185,9 +205,15 @@ extern void check_gl_error (const char *type); - (void) animateOneFrame { +# ifdef USE_IPHONE UIGraphicsPushContext (backbuffer); +#endif + [self render_x11]; + +# ifdef USE_IPHONE UIGraphicsPopContext(); +#endif } @@ -202,8 +228,12 @@ extern void check_gl_error (const char *type); // Don't resize the X11 window to match rotation. // Rotation and scaling are handled in GL. // - NSRect f = [self frame]; - double s = self.contentScaleFactor; +# ifdef USE_IPHONE + double s = [self hackedContentScaleFactor]; +# else + double s = 1; +# endif + NSRect f = [self bounds]; backbuffer_size.width = (int) (s * f.size.width); backbuffer_size.height = (int) (s * f.size.height); @@ -217,13 +247,6 @@ extern void check_gl_error (const char *type); CGColorSpaceRelease (cs); } } - - -- (void) swapBuffers -{ - glBindRenderbufferOES (GL_RENDERBUFFER_OES, gl_renderbuffer); - [ogl_ctx presentRenderbuffer:GL_RENDERBUFFER_OES]; -} # endif // USE_IPHONE diff --git a/OSX/XScreenSaverView.h b/OSX/XScreenSaverView.h index 7365b9d8..0fe2046c 100644 --- a/OSX/XScreenSaverView.h +++ b/OSX/XScreenSaverView.h @@ -52,6 +52,11 @@ #endif // USE_IPHONE +#ifdef USE_IPHONE +# define USE_BACKBUFFER /* must be in sync with jwxyz.h */ +#endif + + @interface XScreenSaverView : ScreenSaverView # ifdef USE_IPHONE @@ -85,13 +90,14 @@ NSSize rot_current_size; GLfloat rot_current_angle; - CGContextRef backbuffer; - NSSize backbuffer_size; - NSTimer *crash_timer; # endif // USE_IPHONE +# ifdef USE_BACKBUFFER + CGContextRef backbuffer; + CGSize backbuffer_size; +# endif // USE_BACKBUFFER } - (id)initWithFrame:(NSRect)frame saverName:(NSString*)n isPreview:(BOOL)p; @@ -104,7 +110,11 @@ #ifdef USE_IPHONE - (void)didRotate:(NSNotification *)notification; - (void)setScreenLocked:(BOOL)locked; -- (void)createBackbuffer; #endif // USE_IPHONE +#ifdef USE_BACKBUFFER +- (void)initLayer; +- (void)createBackbuffer; +#endif // USE_BACKBUFFER + @end diff --git a/OSX/XScreenSaverView.m b/OSX/XScreenSaverView.m index 438c05f9..4cb5ea11 100644 --- a/OSX/XScreenSaverView.m +++ b/OSX/XScreenSaverView.m @@ -22,6 +22,12 @@ #import "xlockmoreI.h" #import "jwxyz-timers.h" +#ifdef USE_IPHONE +# include "ios_function_tables.h" +static NSDictionary *function_tables = 0; +#endif + + /* Garbage collection only exists if we are being compiled against the 10.6 SDK or newer, not if we are building against the 10.4 SDK. */ @@ -118,17 +124,30 @@ int mono_p = 0; if (! name) name = [[path lastPathComponent] stringByDeletingPathExtension]; - NSString *table_name = [[[name lowercaseString] - stringByReplacingOccurrencesOfString:@" " - withString:@""] - stringByAppendingString: - @"_xscreensaver_function_table"]; + name = [[name lowercaseString] + stringByReplacingOccurrencesOfString:@" " + withString:@""]; + +# ifndef USE_IPHONE + // CFBundleGetDataPointerForName doesn't work in "Archive" builds. + // I'm guessing that symbol-stripping is mandatory. Fuck. + NSString *table_name = [name stringByAppendingString: + @"_xscreensaver_function_table"]; void *addr = CFBundleGetDataPointerForName (cfb, (CFStringRef) table_name); CFRelease (cfb); if (! addr) NSLog (@"no symbol \"%@\" for \"%@\"", table_name, path); +# else // USE_IPHONE + // Remember: any time you add a new saver to the iOS app, + // manually run "make ios_function_tables.h"! + if (! function_tables) + function_tables = [make_function_tables_dict() retain]; + NSValue *v = [function_tables objectForKey: name]; + void *addr = v ? [v pointerValue] : 0; +# endif // USE_IPHONE + return (struct xscreensaver_function_table *) addr; } @@ -354,9 +373,12 @@ double_time (void) next_frame_time = 0; -# ifdef USE_IPHONE +# ifdef USE_BACKBUFFER [self createBackbuffer]; + [self initLayer]; +# endif +# ifdef USE_IPHONE // So we can tell when we're docked. [UIDevice currentDevice].batteryMonitoringEnabled = YES; # endif // USE_IPHONE @@ -364,6 +386,15 @@ double_time (void) return self; } +- (void) initLayer +{ +# ifndef USE_IPHONE + [self setLayer: [CALayer layer]]; + [self setWantsLayer: YES]; +# endif +} + + - (id) initWithFrame:(NSRect)frame isPreview:(BOOL)p { return [self initWithFrame:frame saverName:0 isPreview:p]; @@ -377,7 +408,7 @@ double_time (void) if (xdpy) jwxyz_free_display (xdpy); -# ifdef USE_IPHONE +# ifdef USE_BACKBUFFER if (backbuffer) CGContextRelease (backbuffer); # endif @@ -518,48 +549,31 @@ screenhack_do_fps (Display *dpy, Window w, fps_state *fpst, void *closure) fps_draw (fpst); } + #ifdef USE_IPHONE -/* Create a bitmap context into which we render everything. +/* On iPhones with Retina displays, we can draw the savers in "real" + pixels, and that works great. The 320x480 "point" screen is really + a 640x960 *pixel* screen. However, Retina iPads have 768x1024 + point screens which are 1536x2048 pixels, and apparently that's + enough pixels that copying those bits to the screen is slow. Like, + drops us from 15fps to 7fps. So, on Retina iPads, we don't draw in + real pixels. This will probably make the savers look better + anyway, since that's a higher resolution than most desktop monitors + have even today. (This is only true for X11 programs, not GL + programs. Those are fine at full rez.) */ -- (void) createBackbuffer +- (CGFloat) hackedContentScaleFactor { - CGContextRef ob = backbuffer; - NSSize osize = backbuffer_size; - - CGColorSpaceRef cs = CGColorSpaceCreateDeviceRGB(); - double s = self.contentScaleFactor; - backbuffer_size.width = (int) (s * rot_current_size.width); - backbuffer_size.height = (int) (s * rot_current_size.height); - backbuffer = CGBitmapContextCreate (NULL, - backbuffer_size.width, - backbuffer_size.height, - 8, - backbuffer_size.width * 4, - cs, - kCGImageAlphaPremultipliedLast); - NSAssert (backbuffer, @"unable to allocate back buffer"); - CGColorSpaceRelease (cs); - - // Clear it. - CGContextSetGrayFillColor (backbuffer, 0, 1); - CGRect r = CGRectZero; - r.size = backbuffer_size; - CGContextFillRect (backbuffer, r); - - if (ob) { - // Restore old bits, as much as possible, to the X11 upper left origin. - NSRect rect; - rect.origin.x = 0; - rect.origin.y = (backbuffer_size.height - osize.height); - rect.size = osize; - CGImageRef img = CGBitmapContextCreateImage (ob); - CGContextDrawImage (backbuffer, rect, img); - CGImageRelease (img); - CGContextRelease (ob); - } + GLfloat s = [self contentScaleFactor]; + CGRect frame = [self bounds]; + if (frame.size.width >= 1024 || + frame.size.height >= 1024) + s = 1; + return s; } + static GLfloat _global_rot_current_angle_kludge; double current_device_rotation (void) @@ -614,11 +628,11 @@ double current_device_rotation (void) # undef CLAMP180 - double s = self.contentScaleFactor; + double s = [self hackedContentScaleFactor]; if (((int) backbuffer_size.width != (int) (s * rot_current_size.width) || (int) backbuffer_size.height != (int) (s * rot_current_size.height)) /* && rotation_ratio == -1*/) - [self setFrame:[self frame]]; + [self resize_x11]; } @@ -651,6 +665,93 @@ double current_device_rotation (void) #endif // USE_IPHONE +#ifdef USE_BACKBUFFER + +/* Create a bitmap context into which we render everything. + If the desired size has changed, re-created it. + */ +- (void) createBackbuffer +{ +# ifdef USE_IPHONE + double s = [self hackedContentScaleFactor]; + int new_w = s * rot_current_size.width; + int new_h = s * rot_current_size.height; +# else + int new_w = [self bounds].size.width; + int new_h = [self bounds].size.height; +# endif + + if (backbuffer && + backbuffer_size.width == new_w && + backbuffer_size.height == new_h) + return; + + CGSize osize = backbuffer_size; + CGContextRef ob = backbuffer; + + backbuffer_size.width = new_w; + backbuffer_size.height = new_h; + + CGColorSpaceRef cs = CGColorSpaceCreateDeviceRGB(); + backbuffer = CGBitmapContextCreate (NULL, + backbuffer_size.width, + backbuffer_size.height, + 8, + backbuffer_size.width * 4, + cs, + kCGImageAlphaPremultipliedLast); + CGColorSpaceRelease (cs); + NSAssert (backbuffer, @"unable to allocate back buffer"); + + // Clear it. + CGRect r; + r.origin.x = r.origin.y = 0; + r.size = backbuffer_size; + CGContextSetGrayFillColor (backbuffer, 0, 1); + CGContextFillRect (backbuffer, r); + + if (ob) { + // Restore old bits, as much as possible, to the X11 upper left origin. + CGRect rect; + rect.origin.x = 0; + rect.origin.y = (backbuffer_size.height - osize.height); + rect.size = osize; + CGImageRef img = CGBitmapContextCreateImage (ob); + CGContextDrawImage (backbuffer, rect, img); + CGImageRelease (img); + CGContextRelease (ob); + } +} + +#endif // USE_BACKBUFFER + + +/* Inform X11 that the size of our window has changed. + */ +- (void) resize_x11 +{ + if (!xwindow) return; // early + +# ifdef USE_BACKBUFFER + [self createBackbuffer]; + jwxyz_window_resized (xdpy, xwindow, + 0, 0, + backbuffer_size.width, backbuffer_size.height, + backbuffer); +# else // !USE_BACKBUFFER + NSRect r = [self frame]; // ignoring rotation is closer + r.size = [self bounds].size; // to what XGetGeometry expects. + jwxyz_window_resized (xdpy, xwindow, + r.origin.x, r.origin.y, + r.size.width, r.size.height, + 0); +# endif // !USE_BACKBUFFER + + // Next time render_x11 is called, run the saver's reshape_cb. + resized_p = YES; +} + + - (void) render_x11 { # ifdef USE_IPHONE @@ -664,26 +765,14 @@ double current_device_rotation (void) if (!initted_p) { if (! xdpy) { -# ifdef USE_IPHONE +# ifdef USE_BACKBUFFER NSAssert (backbuffer, @"no back buffer"); xdpy = jwxyz_make_display (self, backbuffer); # else xdpy = jwxyz_make_display (self, 0); # endif xwindow = XRootWindow (xdpy, 0); - -# ifdef USE_IPHONE - jwxyz_window_resized (xdpy, xwindow, - 0, 0, - backbuffer_size.width, backbuffer_size.height, - backbuffer); -# else - NSRect r = [self frame]; - jwxyz_window_resized (xdpy, xwindow, - r.origin.x, r.origin.y, - r.size.width, r.size.height, - 0); -# endif + [self resize_x11]; } if (!setup_p) { @@ -786,14 +875,14 @@ double current_device_rotation (void) // Xlib drawing takes place under the animation timer. [self resizeContext]; NSRect r; -# ifndef USE_IPHONE - r = [self frame]; -# else // USE_IPHONE +# ifndef USE_BACKBUFFER + r = [self bounds]; +# else // USE_BACKBUFFER r.origin.x = 0; r.origin.y = 0; r.size.width = backbuffer_size.width; r.size.height = backbuffer_size.height; -# endif // USE_IPHONE +# endif // USE_BACKBUFFER xsft->reshape_cb (xdpy, xwindow, xdata, r.size.width, r.size.height); resized_p = NO; @@ -865,11 +954,9 @@ double current_device_rotation (void) } -/* On MacOS: drawRect does nothing, and animateOneFrame renders. - On iOS GL: drawRect does nothing, and animateOneFrame renders. - On iOS X11: drawRect renders, and animateOneFrame marks the view dirty. +/* drawRect always does nothing, and animateOneFrame renders bits to the + screen. This is (now) true of both X11 and GL on both MacOS and iOS. */ -#ifndef USE_IPHONE - (void)drawRect:(NSRect)rect { @@ -879,78 +966,58 @@ double current_device_rotation (void) [super drawRect:rect]; // early: black. } + +#ifndef USE_BACKBUFFER + - (void) animateOneFrame { [self render_x11]; } -#else // USE_IPHONE +#else // USE_BACKBUFFER -- (void)drawRect:(NSRect)rect +- (void) animateOneFrame { // Render X11 into the backing store bitmap... NSAssert (backbuffer, @"no back buffer"); - UIGraphicsPushContext (backbuffer); - [self render_x11]; - UIGraphicsPopContext(); - - // Then copy that bitmap to the screen. - CGContextRef cgc = UIGraphicsGetCurrentContext(); - - // Mask it to only update the parts that are exposed. -// CGContextClipToRect (cgc, rect); - - double s = self.contentScaleFactor; - CGRect frame = [self frame]; +# ifdef USE_IPHONE + UIGraphicsPushContext (backbuffer); +# endif - NSRect target; - target.size.width = backbuffer_size.width; - target.size.height = backbuffer_size.height; - target.origin.x = (s * frame.size.width - target.size.width) / 2; - target.origin.y = (s * frame.size.height - target.size.height) / 2; + [self render_x11]; - target.origin.x /= s; - target.origin.y /= s; - target.size.width /= s; - target.size.height /= s; +# ifdef USE_IPHONE + UIGraphicsPopContext(); +# endif - CGAffineTransform t = CGAffineTransformIdentity; +# ifdef USE_IPHONE + // Then compute the transformations for rotation. - // Rotate around center - float cx = frame.size.width / 2; - float cy = frame.size.height / 2; - t = CGAffineTransformTranslate (t, cx, cy); - t = CGAffineTransformRotate (t, -rot_current_angle / (180.0 / M_PI)); - t = CGAffineTransformTranslate (t, -cx, -cy); + // The rotation origin for layer.affineTransform is in the center already. + CGAffineTransform t = + CGAffineTransformMakeRotation (rot_current_angle / (180.0 / M_PI)); - // Flip Y axis - t = CGAffineTransformConcat (t, - CGAffineTransformMake ( 1, 0, 0, - -1, 0, frame.size.height)); + // Correct the aspect ratio. + CGRect frame = [self bounds]; + double s = [self hackedContentScaleFactor]; + t = CGAffineTransformScale(t, + backbuffer_size.width / (s * frame.size.width), + backbuffer_size.height / (s * frame.size.height)); - // Clear background (visible in corners of screen during rotation) - if (rotation_ratio != -1) { - CGContextSetGrayFillColor (cgc, 0, 1); - CGContextFillRect (cgc, frame); - } + self.layer.affineTransform = t; +# endif // USE_IPHONE - CGContextConcatCTM (cgc, t); + // Then copy that bitmap to the screen, by just stuffing it into + // the layer. The superclass drawRect method will handle the rest. - // Copy the backbuffer to the screen. - // Note that CGContextDrawImage measures in "points", not "pixels". CGImageRef img = CGBitmapContextCreateImage (backbuffer); - CGContextDrawImage (cgc, target, img); + self.layer.contents = (id)img; CGImageRelease (img); } -- (void) animateOneFrame -{ - [self setNeedsDisplay]; -} - -#endif // !USE_IPHONE +#endif // !USE_BACKBUFFER @@ -958,26 +1025,8 @@ double current_device_rotation (void) { [super setFrame:newRect]; -# ifdef USE_IPHONE - [self createBackbuffer]; -# endif - - resized_p = YES; // The reshape_cb runs in render_x11 - if (xwindow) { // inform Xlib that the window has changed now. -# ifdef USE_IPHONE - NSAssert (backbuffer, @"no back buffer"); - // The backbuffer is the rotated size, and so is the xwindow. - jwxyz_window_resized (xdpy, xwindow, - 0, 0, - backbuffer_size.width, backbuffer_size.height, - backbuffer); -# else - jwxyz_window_resized (xdpy, xwindow, - newRect.origin.x, newRect.origin.y, - newRect.size.width, newRect.size.height, - 0); -# endif - } + if (xwindow) // inform Xlib that the window has changed now. + [self resize_x11]; } @@ -985,13 +1034,8 @@ double current_device_rotation (void) - (void) setFrameSize:(NSSize) newSize { [super setFrameSize:newSize]; - resized_p = YES; if (xwindow) - jwxyz_window_resized (xdpy, xwindow, - [self frame].origin.x, - [self frame].origin.y, - newSize.width, newSize.height, - 0); // backbuffer only on iPhone + [self resize_x11]; } # endif // !USE_IPHONE @@ -1085,12 +1129,12 @@ double current_device_rotation (void) NSPoint p = [[[e window] contentView] convertPoint:[e locationInWindow] toView:self]; # ifdef USE_IPHONE - double s = self.contentScaleFactor; + double s = [self hackedContentScaleFactor]; # else int s = 1; # endif int x = s * p.x; - int y = s * ([self frame].size.height - p.y); + int y = s * ([self bounds].size.height - p.y); xe.xany.type = type; switch (type) { @@ -1258,12 +1302,12 @@ double current_device_rotation (void) [[n topViewController] becomeFirstResponder]; } - // [self removeFromSuperview]; + UIView *fader = [self superview]; // the "backgroundView" view is our parent [UIView animateWithDuration: 0.5 - animations:^{ self.alpha = 0.0; } + animations:^{ fader.alpha = 0.0; } completion:^(BOOL finished) { - [self removeFromSuperview]; - self.alpha = 1.0; + [fader removeFromSuperview]; + fader.alpha = 1.0; }]; } @@ -1363,7 +1407,7 @@ double current_device_rotation (void) default: angle_to = 0; break; } - NSRect ff = [self frame]; + NSRect ff = [self bounds]; switch (orientation) { case UIDeviceOrientationLandscapeRight: // from landscape @@ -1402,6 +1446,9 @@ double current_device_rotation (void) because UIPanGestureRecognizer doesn't give us enough detail in its callbacks. + Currently we don't handle multi-touches (just the first touch) but + I'm leaving this comment here for future reference: + In the simulator, multi-touch sequences look like this: touchesBegan [touchA, touchB] @@ -1426,13 +1473,12 @@ double current_device_rotation (void) number of touchEnds matches the number of touchBegins. */ -static void -rotate_mouse (int *x, int *y, int w, int h, int rot) +- (void) rotateMouse:(int)rot x:(int*)x y:(int *)y w:(int)w h:(int)h { - int ox = *x, oy = *y; - if (rot > 45 && rot < 135) { *x = oy; *y = w-ox; } - else if (rot < -45 && rot > -135) { *x = h-oy; *y = ox; } - else if (rot > 135 || rot < -135) { *x = w-ox; *y = h-oy; } + CGRect frame = [self bounds]; // Correct aspect ratio and scale. + double s = [self hackedContentScaleFactor]; + *x *= (backbuffer_size.width / frame.size.width) / s; + *y *= (backbuffer_size.height / frame.size.height) / s; } @@ -1460,10 +1506,11 @@ rotate_mouse (int *x, int *y, int w, int h, int rot) tap_time = 0; if (xsft->event_cb && xwindow) { - double s = self.contentScaleFactor; + double s = [self hackedContentScaleFactor]; XEvent xe; memset (&xe, 0, sizeof(xe)); int i = 0; + // #### 'frame' here or 'bounds'? int w = s * [self frame].size.width; int h = s * [self frame].size.height; for (UITouch *touch in touches) { @@ -1473,7 +1520,8 @@ rotate_mouse (int *x, int *y, int w, int h, int rot) xe.xbutton.button = i + 1; xe.xbutton.x = s * p.x; xe.xbutton.y = s * p.y; - rotate_mouse (&xe.xbutton.x, &xe.xbutton.y, w, h, rot_current_angle); + [self rotateMouse: rot_current_angle + x: &xe.xbutton.x y: &xe.xbutton.y w: w h: h]; jwxyz_mouse_moved (xdpy, xwindow, xe.xbutton.x, xe.xbutton.y); // Ignore return code: don't care whether the hack handled it. @@ -1493,10 +1541,11 @@ rotate_mouse (int *x, int *y, int w, int h, int rot) - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { if (xsft->event_cb && xwindow) { - double s = self.contentScaleFactor; + double s = [self hackedContentScaleFactor]; XEvent xe; memset (&xe, 0, sizeof(xe)); int i = 0; + // #### 'frame' here or 'bounds'? int w = s * [self frame].size.width; int h = s * [self frame].size.height; for (UITouch *touch in touches) { @@ -1517,7 +1566,8 @@ rotate_mouse (int *x, int *y, int w, int h, int rot) xe.xbutton.button = i + 1; xe.xbutton.x = s * p.x; xe.xbutton.y = s * p.y; - rotate_mouse (&xe.xbutton.x, &xe.xbutton.y, w, h, rot_current_angle); + [self rotateMouse: rot_current_angle + x: &xe.xbutton.x y: &xe.xbutton.y w: w h: h]; jwxyz_mouse_moved (xdpy, xwindow, xe.xbutton.x, xe.xbutton.y); xsft->event_cb (xdpy, xwindow, xdata, &xe); i++; @@ -1530,10 +1580,11 @@ rotate_mouse (int *x, int *y, int w, int h, int rot) - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { if (xsft->event_cb && xwindow) { - double s = self.contentScaleFactor; + double s = [self hackedContentScaleFactor]; XEvent xe; memset (&xe, 0, sizeof(xe)); int i = 0; + // #### 'frame' here or 'bounds'? int w = s * [self frame].size.width; int h = s * [self frame].size.height; for (UITouch *touch in touches) { @@ -1541,7 +1592,8 @@ rotate_mouse (int *x, int *y, int w, int h, int rot) xe.xany.type = MotionNotify; xe.xmotion.x = s * p.x; xe.xmotion.y = s * p.y; - rotate_mouse (&xe.xbutton.x, &xe.xbutton.y, w, h, rot_current_angle); + [self rotateMouse: rot_current_angle + x: &xe.xbutton.x y: &xe.xbutton.y w: w h: h]; jwxyz_mouse_moved (xdpy, xwindow, xe.xmotion.x, xe.xmotion.y); xsft->event_cb (xdpy, xwindow, xdata, &xe); i++; diff --git a/OSX/bindist.rtf b/OSX/bindist.rtf index c1677625..b6757a47 100644 --- a/OSX/bindist.rtf +++ b/OSX/bindist.rtf @@ -16,8 +16,8 @@ XScreenSaver\ by Jamie Zawinski\ and many others\ \ -version 5.18\ -03-Jul-2012\ +version 5.19\ +26-Jul-2012\ \ {\field{\*\fldinst{HYPERLINK "http://www.jwz.org/xscreensaver/"}}{\fldrslt \cf2 \ul \ulc2 http://www.jwz.org/xscreensaver/}} \ diff --git a/OSX/build-fntable.pl b/OSX/build-fntable.pl new file mode 100755 index 00000000..f5e3b1f3 --- /dev/null +++ b/OSX/build-fntable.pl @@ -0,0 +1,113 @@ +#!/usr/bin/perl -w +# Copyright © 2012 Jamie Zawinski +# +# Permission to use, copy, modify, distribute, and sell this software and its +# documentation for any purpose is hereby granted without fee, provided that +# the above copyright notice appear in all copies and that both that +# copyright notice and this permission notice appear in supporting +# documentation. No representations are made about the suitability of this +# software for any purpose. It is provided "as is" without express or +# implied warranty. +# +# Generates a .h file that lists all the function tables we use, because +# CFBundleGetDataPointerForName doesn't work in "Archive" builds. +# What a crock of shit. +# +# There's no real way to integrate this into the Xcode build system, so +# run this manually each time a new saver is added to the iOS app. +# +# Created: 14-Jul-2012. + +require 5; +#use diagnostics; # Fails on some MacOS 10.5 systems +use strict; + +my $progname = $0; $progname =~ s@.*/@@g; +my $version = q{ $Revision: 1.1 $ }; $version =~ s/^[^0-9]+([0-9.]+).*$/$1/; + +my $verbose = 1; + +sub build_h($$) { + my ($app_dir, $outfile) = @_; + + opendir (my $dh, $app_dir) || error ("$app_dir: $!"); + print STDERR "$progname: scanning $app_dir...\n" if ($verbose > 1); + + my @names = (); + foreach (sort (readdir ($dh))) { + next unless (m/^(.*)\.xml$/); + push @names, $1; + } + closedir $dh; + + my $suf = 'xscreensaver_function_table'; + + my $body = "extern struct $suf"; + foreach my $s (@names) { + $body .= "\n *${s}_${suf},"; + } + $body =~ s/,\s*$/;/s; + + $body .= ("\n\n" . + "static NSDictionary *make_function_tables_dict(void)\n{\n" . + " return\n [NSDictionary dictionaryWithObjectsAndKeys:\n"); + foreach my $s (@names) { + $body .= "\t[NSValue valueWithPointer:&${s}_${suf}], @\"${s}\",\n"; + } + $body .= ("\tnil];\n" . + "}\n"); + + my $obody = ''; + if (open (my $in, '<', $outfile)) { + local $/ = undef; # read entire file + $obody = <$in>; + close $in; + } + + if ($obody eq $body) { + print STDERR "$progname: $outfile: unchanged\n" if ($verbose > 1); + } else { + my $file_tmp = "$outfile.tmp"; + open (my $out, '>', $file_tmp) || error ("$file_tmp: $!"); + print $out $body || error ("$file_tmp: $!"); + close $out || error ("$file_tmp: $!"); + + if (!rename ("$file_tmp", "$outfile")) { + unlink "$file_tmp"; + error ("mv \"$file_tmp\" \"$outfile\": $!"); + } + print STDERR "$progname: wrote $outfile\n" if ($verbose); + } +} + + +sub error($) { + my ($err) = @_; + print STDERR "$progname: $err\n"; + exit 1; +} + +sub usage() { + print STDERR "usage: $progname [--verbose] program.app output.h\n"; + exit 1; +} + +sub main() { + + my ($app, $out); + while ($_ = $ARGV[0]) { + shift @ARGV; + if (m/^--?verbose$/s) { $verbose++; } + elsif (m/^-v+$/) { $verbose += length($_)-1; } + elsif (m/^--?q(uiet)?$/s) { $verbose = 0; } + elsif (m/^-/s) { usage(); } + elsif (! $app) { $app = $_; } + elsif (! $out) { $out = $_; } + else { usage(); } + } + usage() unless ($out && $app); + build_h ($app, $out); +} + +main(); +exit 0; diff --git a/OSX/iSaverRunner.plist b/OSX/iSaverRunner.plist index a296b33b..fc4ec6e7 100644 --- a/OSX/iSaverRunner.plist +++ b/OSX/iSaverRunner.plist @@ -9,7 +9,7 @@ CFBundleDevelopmentRegion English CFBundleVersion - 5.18 + 5.19 NSMainNibFile iSaverRunner CFBundlePackageType @@ -19,7 +19,7 @@ UIStatusBarHidden CFBundleShortVersionString - 5.18 + 5.19 CFBundleInfoDictionaryVersion 6.0 UIRequiredDeviceCapabilities diff --git a/OSX/icmp-warning.pl b/OSX/icmp-warning.pl index ac76fdc3..044158b8 100755 --- a/OSX/icmp-warning.pl +++ b/OSX/icmp-warning.pl @@ -12,11 +12,11 @@ # Created: 20-Jun-2012. require 5; -use diagnostics; +#use diagnostics; # Fails on some MacOS 10.5 - 10.7 systems use strict; my $progname = $0; $progname =~ s@.*/@@g; -my $version = q{ $Revision: 1.1 $ }; $version =~ s/^[^\d]+([\d.]+).*/$1/; +my $version = q{ $Revision: 1.2 $ }; $version =~ s/^[^\d]+([\d.]+).*/$1/; my $verbose = 0; diff --git a/OSX/ios_function_tables.h b/OSX/ios_function_tables.h new file mode 100644 index 00000000..58545876 --- /dev/null +++ b/OSX/ios_function_tables.h @@ -0,0 +1,396 @@ +extern struct xscreensaver_function_table + *abstractile_xscreensaver_function_table, + *anemone_xscreensaver_function_table, + *anemotaxis_xscreensaver_function_table, + *antinspect_xscreensaver_function_table, + *antmaze_xscreensaver_function_table, + *antspotlight_xscreensaver_function_table, + *apollonian_xscreensaver_function_table, + *apple2_xscreensaver_function_table, + *atlantis_xscreensaver_function_table, + *attraction_xscreensaver_function_table, + *atunnel_xscreensaver_function_table, + *barcode_xscreensaver_function_table, + *blaster_xscreensaver_function_table, + *blinkbox_xscreensaver_function_table, + *blitspin_xscreensaver_function_table, + *blocktube_xscreensaver_function_table, + *boing_xscreensaver_function_table, + *bouboule_xscreensaver_function_table, + *bouncingcow_xscreensaver_function_table, + *boxed_xscreensaver_function_table, + *boxfit_xscreensaver_function_table, + *braid_xscreensaver_function_table, + *bsod_xscreensaver_function_table, + *bubble3d_xscreensaver_function_table, + *bumps_xscreensaver_function_table, + *cage_xscreensaver_function_table, + *carousel_xscreensaver_function_table, + *ccurve_xscreensaver_function_table, + *celtic_xscreensaver_function_table, + *circuit_xscreensaver_function_table, + *cloudlife_xscreensaver_function_table, + *companioncube_xscreensaver_function_table, + *compass_xscreensaver_function_table, + *coral_xscreensaver_function_table, + *crackberg_xscreensaver_function_table, + *crystal_xscreensaver_function_table, + *cube21_xscreensaver_function_table, + *cubenetic_xscreensaver_function_table, + *cubestorm_xscreensaver_function_table, + *cubicgrid_xscreensaver_function_table, + *cwaves_xscreensaver_function_table, + *cynosure_xscreensaver_function_table, + *dangerball_xscreensaver_function_table, + *decayscreen_xscreensaver_function_table, + *deco_xscreensaver_function_table, + *deluxe_xscreensaver_function_table, + *demon_xscreensaver_function_table, + *discrete_xscreensaver_function_table, + *distort_xscreensaver_function_table, + *dnalogo_xscreensaver_function_table, + *drift_xscreensaver_function_table, + *endgame_xscreensaver_function_table, + *engine_xscreensaver_function_table, + *epicycle_xscreensaver_function_table, + *eruption_xscreensaver_function_table, + *euler2d_xscreensaver_function_table, + *fadeplot_xscreensaver_function_table, + *fiberlamp_xscreensaver_function_table, + *fireworkx_xscreensaver_function_table, + *flame_xscreensaver_function_table, + *flipflop_xscreensaver_function_table, + *flipscreen3d_xscreensaver_function_table, + *fliptext_xscreensaver_function_table, + *flow_xscreensaver_function_table, + *fluidballs_xscreensaver_function_table, + *flyingtoasters_xscreensaver_function_table, + *fontglide_xscreensaver_function_table, + *fuzzyflakes_xscreensaver_function_table, + *galaxy_xscreensaver_function_table, + *gears_xscreensaver_function_table, + *gflux_xscreensaver_function_table, + *glblur_xscreensaver_function_table, + *glcells_xscreensaver_function_table, + *gleidescope_xscreensaver_function_table, + *glhanoi_xscreensaver_function_table, + *glknots_xscreensaver_function_table, + *glmatrix_xscreensaver_function_table, + *glplanet_xscreensaver_function_table, + *glschool_xscreensaver_function_table, + *glslideshow_xscreensaver_function_table, + *glsnake_xscreensaver_function_table, + *gltext_xscreensaver_function_table, + *goop_xscreensaver_function_table, + *grav_xscreensaver_function_table, + *greynetic_xscreensaver_function_table, + *halftone_xscreensaver_function_table, + *halo_xscreensaver_function_table, + *helix_xscreensaver_function_table, + *hilbert_xscreensaver_function_table, + *hopalong_xscreensaver_function_table, + *hypertorus_xscreensaver_function_table, + *hypnowheel_xscreensaver_function_table, + *ifs_xscreensaver_function_table, + *imsmap_xscreensaver_function_table, + *interaggregate_xscreensaver_function_table, + *interference_xscreensaver_function_table, + *intermomentary_xscreensaver_function_table, + *jigglypuff_xscreensaver_function_table, + *jigsaw_xscreensaver_function_table, + *juggler3d_xscreensaver_function_table, + *julia_xscreensaver_function_table, + *kaleidescope_xscreensaver_function_table, + *klein_xscreensaver_function_table, + *kumppa_xscreensaver_function_table, + *lament_xscreensaver_function_table, + *lavalite_xscreensaver_function_table, + *loop_xscreensaver_function_table, + *m6502_xscreensaver_function_table, + *maze_xscreensaver_function_table, + *memscroller_xscreensaver_function_table, + *menger_xscreensaver_function_table, + *metaballs_xscreensaver_function_table, + *mirrorblob_xscreensaver_function_table, + *moebius_xscreensaver_function_table, + *moebiusgears_xscreensaver_function_table, + *moire_xscreensaver_function_table, + *moire2_xscreensaver_function_table, + *molecule_xscreensaver_function_table, + *morph3d_xscreensaver_function_table, + *mountain_xscreensaver_function_table, + *munch_xscreensaver_function_table, + *nerverot_xscreensaver_function_table, + *noof_xscreensaver_function_table, + *noseguy_xscreensaver_function_table, + *pacman_xscreensaver_function_table, + *pedal_xscreensaver_function_table, + *penetrate_xscreensaver_function_table, + *penrose_xscreensaver_function_table, + *petri_xscreensaver_function_table, + *phosphor_xscreensaver_function_table, + *photopile_xscreensaver_function_table, + *piecewise_xscreensaver_function_table, + *pinion_xscreensaver_function_table, + *pipes_xscreensaver_function_table, + *polyhedra_xscreensaver_function_table, + *polyominoes_xscreensaver_function_table, + *polytopes_xscreensaver_function_table, + *pong_xscreensaver_function_table, + *popsquares_xscreensaver_function_table, + *providence_xscreensaver_function_table, + *pulsar_xscreensaver_function_table, + *pyro_xscreensaver_function_table, + *qix_xscreensaver_function_table, + *queens_xscreensaver_function_table, + *rdbomb_xscreensaver_function_table, + *ripples_xscreensaver_function_table, + *rocks_xscreensaver_function_table, + *rorschach_xscreensaver_function_table, + *rotzoomer_xscreensaver_function_table, + *rubik_xscreensaver_function_table, + *rubikblocks_xscreensaver_function_table, + *sballs_xscreensaver_function_table, + *shadebobs_xscreensaver_function_table, + *sierpinski_xscreensaver_function_table, + *sierpinski3d_xscreensaver_function_table, + *skytentacles_xscreensaver_function_table, + *slidescreen_xscreensaver_function_table, + *slip_xscreensaver_function_table, + *sonar_xscreensaver_function_table, + *speedmine_xscreensaver_function_table, + *spheremonics_xscreensaver_function_table, + *spotlight_xscreensaver_function_table, + *sproingies_xscreensaver_function_table, + *squiral_xscreensaver_function_table, + *stairs_xscreensaver_function_table, + *starfish_xscreensaver_function_table, + *starwars_xscreensaver_function_table, + *stonerview_xscreensaver_function_table, + *strange_xscreensaver_function_table, + *substrate_xscreensaver_function_table, + *superquadrics_xscreensaver_function_table, + *surfaces_xscreensaver_function_table, + *swirl_xscreensaver_function_table, + *tangram_xscreensaver_function_table, + *thornbird_xscreensaver_function_table, + *timetunnel_xscreensaver_function_table, + *topblock_xscreensaver_function_table, + *triangle_xscreensaver_function_table, + *tronbit_xscreensaver_function_table, + *truchet_xscreensaver_function_table, + *twang_xscreensaver_function_table, + *vermiculate_xscreensaver_function_table, + *voronoi_xscreensaver_function_table, + *wander_xscreensaver_function_table, + *whirlwindwarp_xscreensaver_function_table, + *wormhole_xscreensaver_function_table, + *xanalogtv_xscreensaver_function_table, + *xflame_xscreensaver_function_table, + *xjack_xscreensaver_function_table, + *xlyap_xscreensaver_function_table, + *xmatrix_xscreensaver_function_table, + *xrayswarm_xscreensaver_function_table, + *xspirograph_xscreensaver_function_table, + *zoom_xscreensaver_function_table; + +static NSDictionary *make_function_tables_dict(void) +{ + return + [NSDictionary dictionaryWithObjectsAndKeys: + [NSValue valueWithPointer:&abstractile_xscreensaver_function_table], @"abstractile", + [NSValue valueWithPointer:&anemone_xscreensaver_function_table], @"anemone", + [NSValue valueWithPointer:&anemotaxis_xscreensaver_function_table], @"anemotaxis", + [NSValue valueWithPointer:&antinspect_xscreensaver_function_table], @"antinspect", + [NSValue valueWithPointer:&antmaze_xscreensaver_function_table], @"antmaze", + [NSValue valueWithPointer:&antspotlight_xscreensaver_function_table], @"antspotlight", + [NSValue valueWithPointer:&apollonian_xscreensaver_function_table], @"apollonian", + [NSValue valueWithPointer:&apple2_xscreensaver_function_table], @"apple2", + [NSValue valueWithPointer:&atlantis_xscreensaver_function_table], @"atlantis", + [NSValue valueWithPointer:&attraction_xscreensaver_function_table], @"attraction", + [NSValue valueWithPointer:&atunnel_xscreensaver_function_table], @"atunnel", + [NSValue valueWithPointer:&barcode_xscreensaver_function_table], @"barcode", + [NSValue valueWithPointer:&blaster_xscreensaver_function_table], @"blaster", + [NSValue valueWithPointer:&blinkbox_xscreensaver_function_table], @"blinkbox", + [NSValue valueWithPointer:&blitspin_xscreensaver_function_table], @"blitspin", + [NSValue valueWithPointer:&blocktube_xscreensaver_function_table], @"blocktube", + [NSValue valueWithPointer:&boing_xscreensaver_function_table], @"boing", + [NSValue valueWithPointer:&bouboule_xscreensaver_function_table], @"bouboule", + [NSValue valueWithPointer:&bouncingcow_xscreensaver_function_table], @"bouncingcow", + [NSValue valueWithPointer:&boxed_xscreensaver_function_table], @"boxed", + [NSValue valueWithPointer:&boxfit_xscreensaver_function_table], @"boxfit", + [NSValue valueWithPointer:&braid_xscreensaver_function_table], @"braid", + [NSValue valueWithPointer:&bsod_xscreensaver_function_table], @"bsod", + [NSValue valueWithPointer:&bubble3d_xscreensaver_function_table], @"bubble3d", + [NSValue valueWithPointer:&bumps_xscreensaver_function_table], @"bumps", + [NSValue valueWithPointer:&cage_xscreensaver_function_table], @"cage", + [NSValue valueWithPointer:&carousel_xscreensaver_function_table], @"carousel", + [NSValue valueWithPointer:&ccurve_xscreensaver_function_table], @"ccurve", + [NSValue valueWithPointer:&celtic_xscreensaver_function_table], @"celtic", + [NSValue valueWithPointer:&circuit_xscreensaver_function_table], @"circuit", + [NSValue valueWithPointer:&cloudlife_xscreensaver_function_table], @"cloudlife", + [NSValue valueWithPointer:&companioncube_xscreensaver_function_table], @"companioncube", + [NSValue valueWithPointer:&compass_xscreensaver_function_table], @"compass", + [NSValue valueWithPointer:&coral_xscreensaver_function_table], @"coral", + [NSValue valueWithPointer:&crackberg_xscreensaver_function_table], @"crackberg", + [NSValue valueWithPointer:&crystal_xscreensaver_function_table], @"crystal", + [NSValue valueWithPointer:&cube21_xscreensaver_function_table], @"cube21", + [NSValue valueWithPointer:&cubenetic_xscreensaver_function_table], @"cubenetic", + [NSValue valueWithPointer:&cubestorm_xscreensaver_function_table], @"cubestorm", + [NSValue valueWithPointer:&cubicgrid_xscreensaver_function_table], @"cubicgrid", + [NSValue valueWithPointer:&cwaves_xscreensaver_function_table], @"cwaves", + [NSValue valueWithPointer:&cynosure_xscreensaver_function_table], @"cynosure", + [NSValue valueWithPointer:&dangerball_xscreensaver_function_table], @"dangerball", + [NSValue valueWithPointer:&decayscreen_xscreensaver_function_table], @"decayscreen", + [NSValue valueWithPointer:&deco_xscreensaver_function_table], @"deco", + [NSValue valueWithPointer:&deluxe_xscreensaver_function_table], @"deluxe", + [NSValue valueWithPointer:&demon_xscreensaver_function_table], @"demon", + [NSValue valueWithPointer:&discrete_xscreensaver_function_table], @"discrete", + [NSValue valueWithPointer:&distort_xscreensaver_function_table], @"distort", + [NSValue valueWithPointer:&dnalogo_xscreensaver_function_table], @"dnalogo", + [NSValue valueWithPointer:&drift_xscreensaver_function_table], @"drift", + [NSValue valueWithPointer:&endgame_xscreensaver_function_table], @"endgame", + [NSValue valueWithPointer:&engine_xscreensaver_function_table], @"engine", + [NSValue valueWithPointer:&epicycle_xscreensaver_function_table], @"epicycle", + [NSValue valueWithPointer:&eruption_xscreensaver_function_table], @"eruption", + [NSValue valueWithPointer:&euler2d_xscreensaver_function_table], @"euler2d", + [NSValue valueWithPointer:&fadeplot_xscreensaver_function_table], @"fadeplot", + [NSValue valueWithPointer:&fiberlamp_xscreensaver_function_table], @"fiberlamp", + [NSValue valueWithPointer:&fireworkx_xscreensaver_function_table], @"fireworkx", + [NSValue valueWithPointer:&flame_xscreensaver_function_table], @"flame", + [NSValue valueWithPointer:&flipflop_xscreensaver_function_table], @"flipflop", + [NSValue valueWithPointer:&flipscreen3d_xscreensaver_function_table], @"flipscreen3d", + [NSValue valueWithPointer:&fliptext_xscreensaver_function_table], @"fliptext", + [NSValue valueWithPointer:&flow_xscreensaver_function_table], @"flow", + [NSValue valueWithPointer:&fluidballs_xscreensaver_function_table], @"fluidballs", + [NSValue valueWithPointer:&flyingtoasters_xscreensaver_function_table], @"flyingtoasters", + [NSValue valueWithPointer:&fontglide_xscreensaver_function_table], @"fontglide", + [NSValue valueWithPointer:&fuzzyflakes_xscreensaver_function_table], @"fuzzyflakes", + [NSValue valueWithPointer:&galaxy_xscreensaver_function_table], @"galaxy", + [NSValue valueWithPointer:&gears_xscreensaver_function_table], @"gears", + [NSValue valueWithPointer:&gflux_xscreensaver_function_table], @"gflux", + [NSValue valueWithPointer:&glblur_xscreensaver_function_table], @"glblur", + [NSValue valueWithPointer:&glcells_xscreensaver_function_table], @"glcells", + [NSValue valueWithPointer:&gleidescope_xscreensaver_function_table], @"gleidescope", + [NSValue valueWithPointer:&glhanoi_xscreensaver_function_table], @"glhanoi", + [NSValue valueWithPointer:&glknots_xscreensaver_function_table], @"glknots", + [NSValue valueWithPointer:&glmatrix_xscreensaver_function_table], @"glmatrix", + [NSValue valueWithPointer:&glplanet_xscreensaver_function_table], @"glplanet", + [NSValue valueWithPointer:&glschool_xscreensaver_function_table], @"glschool", + [NSValue valueWithPointer:&glslideshow_xscreensaver_function_table], @"glslideshow", + [NSValue valueWithPointer:&glsnake_xscreensaver_function_table], @"glsnake", + [NSValue valueWithPointer:&gltext_xscreensaver_function_table], @"gltext", + [NSValue valueWithPointer:&goop_xscreensaver_function_table], @"goop", + [NSValue valueWithPointer:&grav_xscreensaver_function_table], @"grav", + [NSValue valueWithPointer:&greynetic_xscreensaver_function_table], @"greynetic", + [NSValue valueWithPointer:&halftone_xscreensaver_function_table], @"halftone", + [NSValue valueWithPointer:&halo_xscreensaver_function_table], @"halo", + [NSValue valueWithPointer:&helix_xscreensaver_function_table], @"helix", + [NSValue valueWithPointer:&hilbert_xscreensaver_function_table], @"hilbert", + [NSValue valueWithPointer:&hopalong_xscreensaver_function_table], @"hopalong", + [NSValue valueWithPointer:&hypertorus_xscreensaver_function_table], @"hypertorus", + [NSValue valueWithPointer:&hypnowheel_xscreensaver_function_table], @"hypnowheel", + [NSValue valueWithPointer:&ifs_xscreensaver_function_table], @"ifs", + [NSValue valueWithPointer:&imsmap_xscreensaver_function_table], @"imsmap", + [NSValue valueWithPointer:&interaggregate_xscreensaver_function_table], @"interaggregate", + [NSValue valueWithPointer:&interference_xscreensaver_function_table], @"interference", + [NSValue valueWithPointer:&intermomentary_xscreensaver_function_table], @"intermomentary", + [NSValue valueWithPointer:&jigglypuff_xscreensaver_function_table], @"jigglypuff", + [NSValue valueWithPointer:&jigsaw_xscreensaver_function_table], @"jigsaw", + [NSValue valueWithPointer:&juggler3d_xscreensaver_function_table], @"juggler3d", + [NSValue valueWithPointer:&julia_xscreensaver_function_table], @"julia", + [NSValue valueWithPointer:&kaleidescope_xscreensaver_function_table], @"kaleidescope", + [NSValue valueWithPointer:&klein_xscreensaver_function_table], @"klein", + [NSValue valueWithPointer:&kumppa_xscreensaver_function_table], @"kumppa", + [NSValue valueWithPointer:&lament_xscreensaver_function_table], @"lament", + [NSValue valueWithPointer:&lavalite_xscreensaver_function_table], @"lavalite", + [NSValue valueWithPointer:&loop_xscreensaver_function_table], @"loop", + [NSValue valueWithPointer:&m6502_xscreensaver_function_table], @"m6502", + [NSValue valueWithPointer:&maze_xscreensaver_function_table], @"maze", + [NSValue valueWithPointer:&memscroller_xscreensaver_function_table], @"memscroller", + [NSValue valueWithPointer:&menger_xscreensaver_function_table], @"menger", + [NSValue valueWithPointer:&metaballs_xscreensaver_function_table], @"metaballs", + [NSValue valueWithPointer:&mirrorblob_xscreensaver_function_table], @"mirrorblob", + [NSValue valueWithPointer:&moebius_xscreensaver_function_table], @"moebius", + [NSValue valueWithPointer:&moebiusgears_xscreensaver_function_table], @"moebiusgears", + [NSValue valueWithPointer:&moire_xscreensaver_function_table], @"moire", + [NSValue valueWithPointer:&moire2_xscreensaver_function_table], @"moire2", + [NSValue valueWithPointer:&molecule_xscreensaver_function_table], @"molecule", + [NSValue valueWithPointer:&morph3d_xscreensaver_function_table], @"morph3d", + [NSValue valueWithPointer:&mountain_xscreensaver_function_table], @"mountain", + [NSValue valueWithPointer:&munch_xscreensaver_function_table], @"munch", + [NSValue valueWithPointer:&nerverot_xscreensaver_function_table], @"nerverot", + [NSValue valueWithPointer:&noof_xscreensaver_function_table], @"noof", + [NSValue valueWithPointer:&noseguy_xscreensaver_function_table], @"noseguy", + [NSValue valueWithPointer:&pacman_xscreensaver_function_table], @"pacman", + [NSValue valueWithPointer:&pedal_xscreensaver_function_table], @"pedal", + [NSValue valueWithPointer:&penetrate_xscreensaver_function_table], @"penetrate", + [NSValue valueWithPointer:&penrose_xscreensaver_function_table], @"penrose", + [NSValue valueWithPointer:&petri_xscreensaver_function_table], @"petri", + [NSValue valueWithPointer:&phosphor_xscreensaver_function_table], @"phosphor", + [NSValue valueWithPointer:&photopile_xscreensaver_function_table], @"photopile", + [NSValue valueWithPointer:&piecewise_xscreensaver_function_table], @"piecewise", + [NSValue valueWithPointer:&pinion_xscreensaver_function_table], @"pinion", + [NSValue valueWithPointer:&pipes_xscreensaver_function_table], @"pipes", + [NSValue valueWithPointer:&polyhedra_xscreensaver_function_table], @"polyhedra", + [NSValue valueWithPointer:&polyominoes_xscreensaver_function_table], @"polyominoes", + [NSValue valueWithPointer:&polytopes_xscreensaver_function_table], @"polytopes", + [NSValue valueWithPointer:&pong_xscreensaver_function_table], @"pong", + [NSValue valueWithPointer:&popsquares_xscreensaver_function_table], @"popsquares", + [NSValue valueWithPointer:&providence_xscreensaver_function_table], @"providence", + [NSValue valueWithPointer:&pulsar_xscreensaver_function_table], @"pulsar", + [NSValue valueWithPointer:&pyro_xscreensaver_function_table], @"pyro", + [NSValue valueWithPointer:&qix_xscreensaver_function_table], @"qix", + [NSValue valueWithPointer:&queens_xscreensaver_function_table], @"queens", + [NSValue valueWithPointer:&rdbomb_xscreensaver_function_table], @"rdbomb", + [NSValue valueWithPointer:&ripples_xscreensaver_function_table], @"ripples", + [NSValue valueWithPointer:&rocks_xscreensaver_function_table], @"rocks", + [NSValue valueWithPointer:&rorschach_xscreensaver_function_table], @"rorschach", + [NSValue valueWithPointer:&rotzoomer_xscreensaver_function_table], @"rotzoomer", + [NSValue valueWithPointer:&rubik_xscreensaver_function_table], @"rubik", + [NSValue valueWithPointer:&rubikblocks_xscreensaver_function_table], @"rubikblocks", + [NSValue valueWithPointer:&sballs_xscreensaver_function_table], @"sballs", + [NSValue valueWithPointer:&shadebobs_xscreensaver_function_table], @"shadebobs", + [NSValue valueWithPointer:&sierpinski_xscreensaver_function_table], @"sierpinski", + [NSValue valueWithPointer:&sierpinski3d_xscreensaver_function_table], @"sierpinski3d", + [NSValue valueWithPointer:&skytentacles_xscreensaver_function_table], @"skytentacles", + [NSValue valueWithPointer:&slidescreen_xscreensaver_function_table], @"slidescreen", + [NSValue valueWithPointer:&slip_xscreensaver_function_table], @"slip", + [NSValue valueWithPointer:&sonar_xscreensaver_function_table], @"sonar", + [NSValue valueWithPointer:&speedmine_xscreensaver_function_table], @"speedmine", + [NSValue valueWithPointer:&spheremonics_xscreensaver_function_table], @"spheremonics", + [NSValue valueWithPointer:&spotlight_xscreensaver_function_table], @"spotlight", + [NSValue valueWithPointer:&sproingies_xscreensaver_function_table], @"sproingies", + [NSValue valueWithPointer:&squiral_xscreensaver_function_table], @"squiral", + [NSValue valueWithPointer:&stairs_xscreensaver_function_table], @"stairs", + [NSValue valueWithPointer:&starfish_xscreensaver_function_table], @"starfish", + [NSValue valueWithPointer:&starwars_xscreensaver_function_table], @"starwars", + [NSValue valueWithPointer:&stonerview_xscreensaver_function_table], @"stonerview", + [NSValue valueWithPointer:&strange_xscreensaver_function_table], @"strange", + [NSValue valueWithPointer:&substrate_xscreensaver_function_table], @"substrate", + [NSValue valueWithPointer:&superquadrics_xscreensaver_function_table], @"superquadrics", + [NSValue valueWithPointer:&surfaces_xscreensaver_function_table], @"surfaces", + [NSValue valueWithPointer:&swirl_xscreensaver_function_table], @"swirl", + [NSValue valueWithPointer:&tangram_xscreensaver_function_table], @"tangram", + [NSValue valueWithPointer:þbird_xscreensaver_function_table], @"thornbird", + [NSValue valueWithPointer:&timetunnel_xscreensaver_function_table], @"timetunnel", + [NSValue valueWithPointer:&topblock_xscreensaver_function_table], @"topblock", + [NSValue valueWithPointer:&triangle_xscreensaver_function_table], @"triangle", + [NSValue valueWithPointer:&tronbit_xscreensaver_function_table], @"tronbit", + [NSValue valueWithPointer:&truchet_xscreensaver_function_table], @"truchet", + [NSValue valueWithPointer:&twang_xscreensaver_function_table], @"twang", + [NSValue valueWithPointer:&vermiculate_xscreensaver_function_table], @"vermiculate", + [NSValue valueWithPointer:&voronoi_xscreensaver_function_table], @"voronoi", + [NSValue valueWithPointer:&wander_xscreensaver_function_table], @"wander", + [NSValue valueWithPointer:&whirlwindwarp_xscreensaver_function_table], @"whirlwindwarp", + [NSValue valueWithPointer:&wormhole_xscreensaver_function_table], @"wormhole", + [NSValue valueWithPointer:&xanalogtv_xscreensaver_function_table], @"xanalogtv", + [NSValue valueWithPointer:&xflame_xscreensaver_function_table], @"xflame", + [NSValue valueWithPointer:&xjack_xscreensaver_function_table], @"xjack", + [NSValue valueWithPointer:&xlyap_xscreensaver_function_table], @"xlyap", + [NSValue valueWithPointer:&xmatrix_xscreensaver_function_table], @"xmatrix", + [NSValue valueWithPointer:&xrayswarm_xscreensaver_function_table], @"xrayswarm", + [NSValue valueWithPointer:&xspirograph_xscreensaver_function_table], @"xspirograph", + [NSValue valueWithPointer:&zoom_xscreensaver_function_table], @"zoom", + nil]; +} diff --git a/OSX/jwxyz.m b/OSX/jwxyz.m index b7e99525..f9dc5b00 100644 --- a/OSX/jwxyz.m +++ b/OSX/jwxyz.m @@ -44,6 +44,10 @@ #import "jwxyz-timers.h" #import "yarandom.h" +#ifdef USE_IPHONE +# define USE_BACKBUFFER /* must be in sync with XScreenSaverView.h */ +#endif + #undef Assert #define Assert(C,S) do { if (!(C)) jwxyz_abort ("%s",(S)); } while(0) @@ -194,7 +198,7 @@ jwxyz_free_display (Display *dpy) void * jwxyz_window_view (Window w) { - Assert (w->type == WINDOW, "not a window"); + Assert (w && w->type == WINDOW, "not a window"); return w->window.view; } @@ -221,7 +225,7 @@ jwxyz_window_resized (Display *dpy, Window w, void *cgc_arg) { CGContextRef cgc = (CGContextRef) cgc_arg; - Assert (w->type == WINDOW, "not a window"); + Assert (w && w->type == WINDOW, "not a window"); w->frame.origin.x = new_x; w->frame.origin.y = new_y; w->frame.size.width = new_width; @@ -270,7 +274,7 @@ jwxyz_window_resized (Display *dpy, Window w, void jwxyz_mouse_moved (Display *dpy, Window w, int x, int y) { - Assert (w->type == WINDOW, "not a window"); + Assert (w && w->type == WINDOW, "not a window"); w->window.last_mouse_x = x; w->window.last_mouse_y = y; } @@ -475,6 +479,12 @@ push_bg_gc (Drawable d, GC gc, Bool fill_p) */ #define XDRAWPOINTS_IMAGES +/* Update, 2012: Kurt Revis points out that diddling + the bitmap data directly is faster. This only works on Pixmaps, though, + not Windows. (Fortunately, on iOS, the Window is really a Pixmap.) + */ +#define XDRAWPOINTS_CGDATA + int XDrawPoints (Display *dpy, Drawable d, GC gc, XPoint *points, int count, int mode) @@ -484,68 +494,125 @@ XDrawPoints (Display *dpy, Drawable d, GC gc, push_fg_gc (d, gc, YES); -# ifdef XDRAWPOINTS_IMAGES +# ifdef XDRAWPOINTS_CGDATA + +# ifdef USE_BACKBUFFER + if (1) // Because of the backbuffer, all iPhone Windows work like Pixmaps. +# else + if (d->type == PIXMAP) +# endif + { + CGContextRef cgc = d->cgc; + void *data = CGBitmapContextGetData (cgc); + size_t bpr = CGBitmapContextGetBytesPerRow (cgc); + size_t w = CGBitmapContextGetWidth (cgc); + size_t h = CGBitmapContextGetHeight (cgc); - unsigned int argb = gc->gcv.foreground; - validate_pixel (argb, gc->depth, gc->gcv.alpha_allowed_p); - if (gc->depth == 1) - argb = (gc->gcv.foreground ? WhitePixel(0,0) : BlackPixel(0,0)); - - CGDataProviderRef prov = CGDataProviderCreateWithData (NULL, &argb, 4, NULL); - CGImageRef cgi = CGImageCreate (1, 1, - 8, 32, 4, - dpy->colorspace, - /* Host-ordered, since we're using the - address of an int as the color data. */ - (kCGImageAlphaNoneSkipFirst | - kCGBitmapByteOrder32Host), - prov, - NULL, /* decode[] */ - NO, /* interpolate */ - kCGRenderingIntentDefault); - CGDataProviderRelease (prov); + Assert (data, "no bitmap data in Drawable"); - CGContextRef cgc = d->cgc; - CGRect rect; - rect.size.width = rect.size.height = 1; - for (i = 0; i < count; i++) { - if (i > 0 && mode == CoordModePrevious) { - rect.origin.x += points->x; - rect.origin.x -= points->y; + unsigned int argb = gc->gcv.foreground; + validate_pixel (argb, gc->depth, gc->gcv.alpha_allowed_p); + if (gc->depth == 1) + argb = (gc->gcv.foreground ? WhitePixel(0,0) : BlackPixel(0,0)); + + CGFloat x0 = wr.origin.x; + CGFloat y0 = wr.origin.y + wr.size.height; + + // It's uglier, but faster, to hoist the conditional out of the loop. + if (mode == CoordModePrevious) { + CGFloat x = x0, y = y0; + for (i = 0; i < count; i++, points++) { + x += points->x; + y -= points->y; + + if (0 <= x && x < w && 0 <= y && y < h) { + unsigned int *p = (unsigned int *) + ((char *) data + (size_t) y * bpr + (size_t) x * 4); + *p = argb; + } + } } else { - rect.origin.x = wr.origin.x + points->x; - rect.origin.y = wr.origin.y + wr.size.height - points->y - 1; + for (i = 0; i < count; i++, points++) { + CGFloat x = x0 + points->x; + CGFloat y = y0 - points->y; + + if (0 <= x && x < w && 0 <= y && y < h) { + unsigned int *p = (unsigned int *) + ((char *) data + (size_t) y * bpr + (size_t) x * 4); + *p = argb; + } + } } - //Assert (CGImageGetColorSpace (cgi) == dpy->colorspace, "bad colorspace"); - CGContextDrawImage (cgc, rect, cgi); - points++; - } + } else /* d->type == WINDOW */ + +# endif /* XDRAWPOINTS_CGDATA */ + { + +# ifdef XDRAWPOINTS_IMAGES + + unsigned int argb = gc->gcv.foreground; + validate_pixel (argb, gc->depth, gc->gcv.alpha_allowed_p); + if (gc->depth == 1) + argb = (gc->gcv.foreground ? WhitePixel(0,0) : BlackPixel(0,0)); + + CGDataProviderRef prov = CGDataProviderCreateWithData (NULL, &argb, 4, + NULL); + CGImageRef cgi = CGImageCreate (1, 1, + 8, 32, 4, + dpy->colorspace, + /* Host-ordered, since we're using the + address of an int as the color data. */ + (kCGImageAlphaNoneSkipFirst | + kCGBitmapByteOrder32Host), + prov, + NULL, /* decode[] */ + NO, /* interpolate */ + kCGRenderingIntentDefault); + CGDataProviderRelease (prov); - CGImageRelease (cgi); + CGContextRef cgc = d->cgc; + CGRect rect; + rect.size.width = rect.size.height = 1; + for (i = 0; i < count; i++) { + if (i > 0 && mode == CoordModePrevious) { + rect.origin.x += points->x; + rect.origin.x -= points->y; + } else { + rect.origin.x = wr.origin.x + points->x; + rect.origin.y = wr.origin.y + wr.size.height - points->y - 1; + } + + //Assert(CGImageGetColorSpace (cgi) == dpy->colorspace,"bad colorspace"); + CGContextDrawImage (cgc, rect, cgi); + points++; + } + + CGImageRelease (cgi); # else /* ! XDRAWPOINTS_IMAGES */ - CGRect *rects = (CGRect *) malloc (count * sizeof(CGRect)); - CGRect *r = rects; + CGRect *rects = (CGRect *) malloc (count * sizeof(CGRect)); + CGRect *r = rects; - for (i = 0; i < count; i++) { - r->size.width = r->size.height = 1; - if (i > 0 && mode == CoordModePrevious) { - r->origin.x = r[-1].origin.x + points->x; - r->origin.y = r[-1].origin.x - points->y; - } else { - r->origin.x = wr.origin.x + points->x; - r->origin.y = wr.origin.y + wr.size.height - points->y; + for (i = 0; i < count; i++) { + r->size.width = r->size.height = 1; + if (i > 0 && mode == CoordModePrevious) { + r->origin.x = r[-1].origin.x + points->x; + r->origin.y = r[-1].origin.x - points->y; + } else { + r->origin.x = wr.origin.x + points->x; + r->origin.y = wr.origin.y + wr.size.height - points->y; + } + points++; + r++; } - points++; - r++; - } - CGContextFillRects (d->cgc, rects, count); - free (rects); + CGContextFillRects (d->cgc, rects, count); + free (rects); # endif /* ! XDRAWPOINTS_IMAGES */ + } pop_gc (d, gc); invalidate_drawable_cache (d); @@ -661,7 +728,7 @@ XCopyArea (Display *dpy, Drawable src, Drawable dst, GC gc, BOOL free_cgi_p = NO; -#ifndef USE_IPHONE +#ifndef USE_BACKBUFFER // Because of the backbuffer, all iPhone Windows work like Pixmaps. if (src->type == PIXMAP) # endif @@ -701,7 +768,7 @@ XCopyArea (Display *dpy, Drawable src, Drawable dst, GC gc, if (src->type == PIXMAP && src->pixmap.depth == 1) mask_p = YES; -# ifndef USE_IPHONE +# ifndef USE_BACKBUFFER } else { /* (src->type == WINDOW) */ NSRect nsfrom; // NSRect != CGRect on 10.4 @@ -759,7 +826,7 @@ XCopyArea (Display *dpy, Drawable src, Drawable dst, GC gc, CGDataProviderRelease (prov); } -# endif // !USE_IPHONE +# endif // !USE_BACKBUFFER } CGContextRef cgc = dst->cgc; @@ -805,10 +872,10 @@ XCopyArea (Display *dpy, Drawable src, Drawable dst, GC gc, } else { // No cgi means src == dst, and both are Windows. -# ifdef USE_IPHONE +# ifdef USE_BACKBUFFER Assert (0, "NSCopyBits unimplemented"); // shouldn't be reached anyway return 0; -# else // !USE_IPHONE +# else // !USE_BACKBUFFER NSRect nsfrom; nsfrom.origin.x = src_rect.origin.x; // NSRect != CGRect on 10.4 nsfrom.origin.y = src_rect.origin.y; @@ -818,7 +885,7 @@ XCopyArea (Display *dpy, Drawable src, Drawable dst, GC gc, nsto.x = dst_rect.origin.x; nsto.y = dst_rect.origin.y; NSCopyBits (0, nsfrom, nsto); -# endif // !USE_IPHONE +# endif // !USE_BACKBUFFER } pop_gc (dst, gc); @@ -954,7 +1021,7 @@ XDrawSegments (Display *dpy, Drawable d, GC gc, XSegment *segments, int count) int XClearWindow (Display *dpy, Window win) { - Assert (win->type == WINDOW, "not a window"); + Assert (win && win->type == WINDOW, "not a window"); CGRect wr = win->frame; return XClearArea (dpy, win, 0, 0, wr.size.width, wr.size.height, 0); } @@ -962,7 +1029,7 @@ XClearWindow (Display *dpy, Window win) int XSetWindowBackground (Display *dpy, Window w, unsigned long pixel) { - Assert (w->type == WINDOW, "not a window"); + Assert (w && w->type == WINDOW, "not a window"); validate_pixel (pixel, 32, NO); w->window.background = pixel; return 0; @@ -1043,7 +1110,7 @@ XFillRectangles (Display *dpy, Drawable d, GC gc, XRectangle *rects, int n) int XClearArea (Display *dpy, Window win, int x, int y, int w, int h, Bool exp) { - Assert (win->type == WINDOW, "not a window"); + Assert (win && win->type == WINDOW, "not a window"); CGContextRef cgc = win->cgc; set_color (cgc, win->window.background, 32, NO, YES); draw_rect (dpy, win, 0, x, y, w, h, NO, YES); @@ -1279,7 +1346,7 @@ XFreeGC (Display *dpy, GC gc) Status XGetWindowAttributes (Display *dpy, Window w, XWindowAttributes *xgwa) { - Assert (w->type == WINDOW, "not a window"); + Assert (w && w->type == WINDOW, "not a window"); memset (xgwa, 0, sizeof(*xgwa)); xgwa->x = w->frame.origin.x; xgwa->y = w->frame.origin.y; @@ -1761,7 +1828,7 @@ XGetImage (Display *dpy, Drawable d, int x, int y, { const unsigned char *data = 0; int depth, ibpp, ibpl, alpha_first_p; -# ifndef USE_IPHONE +# ifndef USE_BACKBUFFER NSBitmapImageRep *bm = 0; # endif @@ -1772,7 +1839,7 @@ XGetImage (Display *dpy, Drawable d, int x, int y, CGContextRef cgc = d->cgc; -#ifndef USE_IPHONE +#ifndef USE_BACKBUFFER // Because of the backbuffer, all iPhone Windows work like Pixmaps. if (d->type == PIXMAP) # endif @@ -1788,7 +1855,7 @@ XGetImage (Display *dpy, Drawable d, int x, int y, data = CGBitmapContextGetData (cgc); Assert (data, "CGBitmapContextGetData failed"); -# ifndef USE_IPHONE +# ifndef USE_BACKBUFFER } else { /* (d->type == WINDOW) */ // get the bits (desired sub-rectangle) out of the NSView @@ -1804,7 +1871,7 @@ XGetImage (Display *dpy, Drawable d, int x, int y, ibpl = [bm bytesPerRow]; data = [bm bitmapData]; Assert (data, "NSBitmapImageRep initWithFocusedViewRect failed"); -# endif // !USE_IPHONE +# endif // !USE_BACKBUFFER } // data points at (x,y) with ibpl rowstride. ignore x,y from now on. @@ -1883,7 +1950,7 @@ XGetImage (Display *dpy, Drawable d, int x, int y, } } -# ifndef USE_IPHONE +# ifndef USE_BACKBUFFER if (bm) [bm release]; # endif @@ -2100,7 +2167,7 @@ XCreatePixmap (Display *dpy, Drawable d, int XFreePixmap (Display *d, Pixmap p) { - Assert (p->type == PIXMAP, "not a pixmap"); + Assert (p && p->type == PIXMAP, "not a pixmap"); invalidate_drawable_cache (p); CGContextRelease (p->cgc); if (p->pixmap.cgc_buffer) @@ -3009,7 +3076,7 @@ XQueryPointer (Display *dpy, Window w, Window *root_ret, Window *child_ret, int *root_x_ret, int *root_y_ret, int *win_x_ret, int *win_y_ret, unsigned int *mask_ret) { - Assert (w->type == WINDOW, "not a window"); + Assert (w && w->type == WINDOW, "not a window"); # ifdef USE_IPHONE int x = w->window.last_mouse_x; @@ -3081,7 +3148,7 @@ XTranslateCoordinates (Display *dpy, Window w, Window dest_w, int *dest_x_ret, int *dest_y_ret, Window *child_ret) { - Assert (w->type == WINDOW, "not a window"); + Assert (w && w->type == WINDOW, "not a window"); # ifdef USE_IPHONE diff --git a/OSX/update-info-plist.pl b/OSX/update-info-plist.pl index 998c4523..14b1494a 100755 --- a/OSX/update-info-plist.pl +++ b/OSX/update-info-plist.pl @@ -23,7 +23,7 @@ require 5; use strict; my $progname = $0; $progname =~ s@.*/@@g; -my $version = q{ $Revision: 1.21 $ }; $version =~ s/^[^0-9]+([0-9.]+).*$/$1/; +my $version = q{ $Revision: 1.22 $ }; $version =~ s/^[^0-9]+([0-9.]+).*$/$1/; $ENV{PATH} = "/usr/local/bin:$ENV{PATH}"; # for seticon @@ -175,9 +175,9 @@ sub update_saver_xml($$) { print STDERR "$progname: $filename: unchanged\n" if ($verbose > 1); } else { my $file_tmp = "$filename.tmp"; - open(OUT, ">$file_tmp") || error ("$file_tmp: $!"); - print OUT $body || error ("$file_tmp: $!"); - close OUT || error ("$file_tmp: $!"); + open (my $out, '>', $file_tmp) || error ("$file_tmp: $!"); + print $out $body || error ("$file_tmp: $!"); + close $out || error ("$file_tmp: $!"); if (!rename ("$file_tmp", "$filename")) { unlink "$file_tmp"; @@ -269,9 +269,9 @@ sub update($) { print STDERR "$progname: $filename: unchanged\n" if ($verbose > 1); } else { my $file_tmp = "$filename.tmp"; - open(OUT, ">$file_tmp") || error ("$file_tmp: $!"); - print OUT $plist || error ("$file_tmp: $!"); - close OUT || error ("$file_tmp: $!"); + open (my $out, '>', $file_tmp) || error ("$file_tmp: $!"); + print $out $plist || error ("$file_tmp: $!"); + close $out || error ("$file_tmp: $!"); if (!rename ("$file_tmp", "$filename")) { unlink "$file_tmp"; diff --git a/OSX/update-thumbnail.pl b/OSX/update-thumbnail.pl new file mode 100755 index 00000000..bd4e1286 --- /dev/null +++ b/OSX/update-thumbnail.pl @@ -0,0 +1,150 @@ +#!/usr/bin/perl -w +# Copyright © 2006-2012 Jamie Zawinski +# +# Permission to use, copy, modify, distribute, and sell this software and its +# documentation for any purpose is hereby granted without fee, provided that +# the above copyright notice appear in all copies and that both that +# copyright notice and this permission notice appear in supporting +# documentation. No representations are made about the suitability of this +# software for any purpose. It is provided "as is" without express or +# implied warranty. +# +# Converts and installs a thumbnail image inside a .saver bundle. +# +# Created: 26-Jul-2012. + +require 5; +#use diagnostics; # Fails on some MacOS 10.5 systems +use strict; + +my $progname = $0; $progname =~ s@.*/@@g; +my $version = q{ $Revision: 1.22 $ }; $version =~ s/^[^0-9]+([0-9.]+).*$/$1/; + +my $verbose = 1; + + +sub safe_system(@) { + my @cmd = @_; + system (@cmd); + my $exit_value = $? >> 8; + my $signal_num = $? & 127; + my $dumped_core = $? & 128; + error ("$cmd[0]: core dumped!") if ($dumped_core); + error ("$cmd[0]: signal $signal_num!") if ($signal_num); + error ("$cmd[0]: exited with $exit_value!") if ($exit_value); +} + + +# Returns true if the two files differ (by running "cmp") +# +sub cmp_files($$) { + my ($file1, $file2) = @_; + + my @cmd = ("cmp", "-s", "$file1", "$file2"); + print STDERR "$progname: executing \"" . join(" ", @cmd) . "\"\n" + if ($verbose > 3); + + system (@cmd); + my $exit_value = $? >> 8; + my $signal_num = $? & 127; + my $dumped_core = $? & 128; + + error ("$cmd[0]: core dumped!") if ($dumped_core); + error ("$cmd[0]: signal $signal_num!") if ($signal_num); + return $exit_value; +} + + +sub update($$) { + my ($src_dir, $app_dir) = @_; + + # Apparently Apple wants Resources/{thumbnail.png to be 90x58, + # and Resources/thumbnail@2x.png to be 180x116. Let's just + # make the former, but make it be the latter's size. + # + my $size = '180x116'; + + error ("$app_dir does not exist") unless (-d $app_dir); + error ("$app_dir: no name") + unless ($app_dir =~ m@/([^/.]+).(saver|app)/?$@x); + my $app_name = $1; + + $app_dir =~ s@/+$@@s; + $app_dir .= "/Contents/Resources"; + + error ("$app_dir does not exist") unless (-d $app_dir); + my $target = "$app_dir/thumbnail.png"; + + $src_dir .= "/" unless ($src_dir =~ m@/$@s); + my $src_dir2 = "${src_dir}retired/"; + + $app_name =~ s/rdbomb/rd-bomb/si; # sigh + + my $img = $src_dir . lc($app_name) . ".jpg"; + my $img2 = $src_dir2 . lc($app_name) . ".jpg"; + $img = $img2 if (! -f $img && -f $img2); + error ("$img does not exist") unless (-f $img); + + my $tmp = sprintf ("%s/thumb-%08x.png", + ($ENV{TMPDIR} ? $ENV{TMPDIR} : "/tmp"), + rand(0xFFFFFFFF)); + my @cmd = ("convert", + $img, + "-resize", $size . "^", + "-gravity", "center", + "-extent", $size, + $tmp); + + print STDERR "$progname: exec: " . join(' ', @cmd) . "\n" + if ($verbose > 2); + safe_system (@cmd); + + if (! -s $tmp) { + unlink $tmp; + error ("failed: " . join(" ", @cmd)); + } + + if (! cmp_files ($tmp, $target)) { + unlink $tmp; + print STDERR "$progname: $target: unchanged\n" if ($verbose > 1); + } elsif (! rename ($tmp, $target)) { + unlink $tmp; + error ("mv $tmp $target: $!"); + } else { + print STDERR "$progname: wrote $target\n" if ($verbose); + } +} + + +sub error($) { + my ($err) = @_; + print STDERR "$progname: $err\n"; + exit 1; +} + +sub usage() { + print STDERR "usage: $progname [--verbose] image-dir program.app ...\n"; + exit 1; +} + +sub main() { + + my $src_dir; + my @files = (); + while ($_ = $ARGV[0]) { + shift @ARGV; + if (m/^--?verbose$/s) { $verbose++; } + elsif (m/^-v+$/) { $verbose += length($_)-1; } + elsif (m/^--?q(uiet)?$/s) { $verbose = 0; } + elsif (m/^-/s) { usage(); } + elsif (! $src_dir) { $src_dir = $_; } + else { push @files, $_; } + } + usage() unless ($src_dir && $#files >= 0); + foreach (@files) { + update ($src_dir, $_); + } +} + +main(); +exit 0; diff --git a/README b/README index 48860ab4..97708f5c 100644 --- a/README +++ b/README @@ -38,6 +38,8 @@ XScreenSaver has an extensive manual -- please read it! =============================================================================== +Changes since 5.18: * MacOS 10.8.0 compatibility. + * iOS performance improvements. Changes since 5.17: * iOS responds to shake gestures to randomize. * iOS can load images from your Photo Library. * iOS has clickable Wikipedia links in Settings panels. diff --git a/driver/Makefile.in b/driver/Makefile.in index e071dac5..0d5865cb 100644 --- a/driver/Makefile.in +++ b/driver/Makefile.in @@ -877,21 +877,7 @@ xdpyinfo: xdpyinfo.o # DO NOT DELETE: updated by make distdepend demo-Gtk-conf.o: ../config.h -demo-Gtk-conf.o: $(srcdir)/demo-Gtk-conf.h -demo-Gtk-conf.o: $(UTILS_SRC)/xscreensaver-intl.h -demo-Gtk.o: XScreenSaver_ad.h demo-Gtk.o: ../config.h -demo-Gtk.o: $(srcdir)/demo-Gtk-conf.h -demo-Gtk.o: $(srcdir)/demo-Gtk-support.h -demo-Gtk.o: $(srcdir)/demo-Gtk-widgets.h -demo-Gtk.o: $(srcdir)/prefs.h -demo-Gtk.o: $(srcdir)/remote.h -demo-Gtk.o: $(srcdir)/types.h -demo-Gtk.o: $(UTILS_SRC)/resources.h -demo-Gtk.o: $(UTILS_SRC)/usleep.h -demo-Gtk.o: $(UTILS_SRC)/version.h -demo-Gtk.o: $(UTILS_SRC)/visual.h -demo-Gtk.o: $(UTILS_SRC)/xscreensaver-intl.h demo-Gtk-support.o: ../config.h demo-Gtk-support.o: $(srcdir)/demo-Gtk-support.h demo-Gtk-widgets.o: ../config.h diff --git a/driver/XScreenSaver.ad.in b/driver/XScreenSaver.ad.in index bdfc2dc2..26018f5d 100644 --- a/driver/XScreenSaver.ad.in +++ b/driver/XScreenSaver.ad.in @@ -4,8 +4,8 @@ ! a screen saver and locker for the X window system ! by Jamie Zawinski ! -! version 5.18 -! 03-Jul-2012 +! version 5.19 +! 26-Jul-2012 ! ! See "man xscreensaver" for more info. The latest version is always ! available at http://www.jwz.org/xscreensaver/ diff --git a/driver/XScreenSaver_ad.h b/driver/XScreenSaver_ad.h index d9162135..88edae9d 100644 --- a/driver/XScreenSaver_ad.h +++ b/driver/XScreenSaver_ad.h @@ -46,9 +46,9 @@ "*demoCommand: xscreensaver-demo", "*prefsCommand: xscreensaver-demo -prefs", "*helpURL: http://www.jwz.org/xscreensaver/man.html", -"*loadURL: gnome-open '%s'", -"*manualCommand: gnome-terminal --title '%s manual' \ - --command '/bin/sh -c \"man %s; read foo\"'", +"*loadURL: firefox '%s' || mozilla '%s' || netscape '%s'", +"*manualCommand: xterm -sb -fg black -bg gray75 -T '%s manual' \ + -e /bin/sh -c 'man \"%s\" ; read foo'", "*dateFormat: %d-%b-%y (%a); %I:%M %p", "*installColormap: True", "*programs: \ diff --git a/hacks/config/README b/hacks/config/README index d1a1815a..6b4de984 100644 --- a/hacks/config/README +++ b/hacks/config/README @@ -4,8 +4,8 @@ a screen saver and locker for the X window system by Jamie Zawinski - version 5.18 - 03-Jul-2012 + version 5.19 + 26-Jul-2012 http://www.jwz.org/xscreensaver/ diff --git a/hacks/glx/hypertorus.c b/hacks/glx/hypertorus.c index 57cd1896..f957f5d2 100644 --- a/hacks/glx/hypertorus.c +++ b/hacks/glx/hypertorus.c @@ -95,9 +95,9 @@ static const char sccsid[] = "@(#)hypertorus.c 1.2 05/09/28 xlockmore"; #endif /* !STANDALONE */ #ifdef USE_GL -# ifndef HAVE_JWZGLES -# include -# endif +#ifndef HAVE_COCOA +# include +#endif #include "gltrackball.h" diff --git a/hacks/glx/sonar-icmp.c b/hacks/glx/sonar-icmp.c index fa1ea893..936fd8a1 100644 --- a/hacks/glx/sonar-icmp.c +++ b/hacks/glx/sonar-icmp.c @@ -181,7 +181,7 @@ unpack_addr (unsigned long addr, -/* If resolves the bogie's name (either a hostname or ip address string) +/* Resolves the bogie's name (either a hostname or ip address string) to a hostent. Returns 1 if successful, 0 if it failed to resolve. */ static int @@ -294,7 +294,7 @@ print_host (FILE *out, unsigned long ip, const char *name) } -/* Create a sonar_bogie a host name or ip address string. +/* Create a sonar_bogie from a host name or ip address string. Returns NULL if the name could not be resolved. */ static sonar_bogie * @@ -590,9 +590,16 @@ subnet_hosts (sonar_sensor_data *ssd, char **error_ret, char **desc_ret, if (pd->debug_p) fprintf (stderr, "%s: if: %4s: %s\n", progname, ifa->ifa_name, - (ifa->ifa_addr->sa_family == AF_UNIX ? "local" : + ( +# ifdef AF_UNIX + ifa->ifa_addr->sa_family == AF_UNIX ? "local" : +# endif +# ifdef AF_LINK ifa->ifa_addr->sa_family == AF_LINK ? "link" : +# endif +# ifdef AF_INET6 ifa->ifa_addr->sa_family == AF_INET6 ? "ipv6" : +# endif "other")); continue; } @@ -615,13 +622,12 @@ subnet_hosts (sonar_sensor_data *ssd, char **error_ret, char **desc_ret, */ if (mask_width (mask) == 31) { - char buf[255]; sprintf (buf, "Can't ping subnet:\n" "local network is\n" - "%s/%d,\n" + "%.100s/%d,\n" "a p2p bridge\n" - "on if %s.", + "on if %.100s.", inet_ntoa (in2), mask_width (mask), ifa->ifa_name); if (*error_ret) free (*error_ret); *error_ret = strdup (buf); @@ -676,7 +682,7 @@ subnet_hosts (sonar_sensor_data *ssd, char **error_ret, char **desc_ret, { sprintf(buf, "Unable to resolve\n" - "local host \"%s\"", + "local host \"%.100s\"", hostname); *error_ret = strdup(buf); return 0; @@ -695,7 +701,7 @@ subnet_hosts (sonar_sensor_data *ssd, char **error_ret, char **desc_ret, sprintf (buf, "Unable to determine\n" "local subnet address:\n" - "\"%s\"\n" + "\"%.100s\"\n" "resolves to\n" "loopback address\n" "%u.%u.%u.%u.", @@ -714,10 +720,14 @@ subnet_hosts (sonar_sensor_data *ssd, char **error_ret, char **desc_ret, h_base = ntohl (n_base); if (desc_ret && !*desc_ret) { - unsigned int a, b, c, d; char buf[255]; - unpack_addr (n_base, &a, &b, &c, &d); - sprintf (buf, "%u.%u.%u.%u/%d", a, b, c, d, subnet_width); + unsigned int a, b, c, d; + unsigned long bb = n_base & htonl(h_mask); + unpack_addr (bb, &a, &b, &c, &d); + if (subnet_width > 24) + sprintf (buf, "%u.%u.%u.%u/%d", a, b, c, d, subnet_width); + else + sprintf (buf, "%u.%u.%u/%d", a, b, c, subnet_width); *desc_ret = strdup (buf); } @@ -805,7 +815,7 @@ send_ping (ping_data *pd, const sonar_bogie *b) just to give a clue to anyone sniffing and wondering what's up. */ sprintf ((char *) &packet[sizeof(struct ICMP) + sizeof(struct timeval)], - "%s%c%s %s", + "%.100s%c%.20s %.20s", b->name, 0, token, pd->version); ICMP_CHECKSUM(icmph) = checksum((u_short *)packet, pcktsiz); @@ -818,7 +828,7 @@ send_ping (ping_data *pd, const sonar_bogie *b) { #if 0 char buf[BUFSIZ]; - sprintf(buf, "%s: pinging %s", progname, b->name); + sprintf(buf, "%s: pinging %.100s", progname, b->name); perror(buf); #endif } @@ -989,6 +999,11 @@ get_ping (sonar_sensor_data *ssd) sizeof(struct ICMP) + sizeof(struct timeval)]; sonar_bogie *b; + + /* Ensure that a maliciously-crafted return packet can't + make us overflow in strcmp. */ + packet[sizeof(packet)-1] = 0; + for (b = pd->targets; b; b = b->next) if (!strcmp (name, b->name)) { @@ -1106,8 +1121,8 @@ double_time (void) } -/* If a bogie is provided, pings it. - Then, returns all outstanding ping replies. +/* Pings the next bogie, if it's time. + Returns all outstanding ping replies. */ static sonar_bogie * ping_scan (sonar_sensor_data *ssd) @@ -1271,7 +1286,6 @@ sonar_init_ping (Display *dpy, char **error_ret, char **desc_ret, ping_data *pd = (ping_data *) calloc (1, sizeof(*pd)); sonar_bogie *b; char *s; - int i; Bool socket_initted_p = False; Bool socket_raw_p = False; @@ -1381,16 +1395,20 @@ sonar_init_ping (Display *dpy, char **error_ret, char **desc_ret, Even on a /24, allocated IPs tend to cluster together, so don't put any two hosts closer together than N degrees to avoid unnecessary overlap when we have plenty of space due - to addresses that probably won't respond. + to addresses that probably won't respond. And don't spread + them out too far apart, because that looks too symmetrical + when there are a small number of hosts. */ { - int min_separation = 23; /* degrees */ - int div = pd->target_count; - if (div > 360 / min_separation) - div = 360 / min_separation; - for (i = 0, b = pd->targets; b; b = b->next, i++) - b->th = (M_PI/2 - - M_PI * 2 * ((div - i) % div) / div); + double th = frand(M_PI); + double sep = 360.0 / pd->target_count; + if (sep < 23) sep = 23; + if (sep > 43) sep = 43; + sep /= 180/M_PI; + for (b = pd->targets; b; b = b->next) { + b->th = th; + th += sep; + } } return ssd; diff --git a/hacks/vidwhacker b/hacks/vidwhacker index c7cd5d47..34bef3d0 100755 --- a/hacks/vidwhacker +++ b/hacks/vidwhacker @@ -452,7 +452,7 @@ sub usage() { sub main() { while ($_ = $ARGV[0]) { shift @ARGV; - if ($_ eq "--verbose") { $verbose++; } + if (m/^--?verbose$/) { $verbose++; } elsif (m/^-v+$/) { $verbose += length($_)-1; } elsif (m/^(-display|-disp|-dis|-dpy|-d)$/) { $ENV{DISPLAY} = shift @ARGV; } elsif (m/^--?stdin$/) { $use_stdin = 1; } diff --git a/hacks/webcollage b/hacks/webcollage index b4991c85..e9a3aa37 100755 --- a/hacks/webcollage +++ b/hacks/webcollage @@ -60,21 +60,22 @@ use bytes; # Larry can take Unicode and shove it up his ass sideways. my $progname = $0; $progname =~ s@.*/@@g; -my $version = q{ $Revision: 1.158 $ }; $version =~ s/^[^0-9]+([0-9.]+).*$/$1/; +my $version = q{ $Revision: 1.159 $ }; $version =~ s/^[^0-9]+([0-9.]+).*$/$1/; my $copyright = "WebCollage $version, Copyright (c) 1999-2011" . " Jamie Zawinski \n" . " http://www.jwz.org/webcollage/\n"; -my @search_methods = ( 24, "googlephotos", \&pick_from_google_image_photos, - 13, "googleimgs", \&pick_from_google_images, - 13, "googlenums", \&pick_from_google_image_numbers, - 16, "flickr_recent", \&pick_from_flickr_recent, - 13, "flickr_random", \&pick_from_flickr_random, - 10, "twitpic", \&pick_from_twitpic_images, - 8, "livejournal", \&pick_from_livejournal_images, - 3, "yahoorand", \&pick_from_yahoo_random_link, +my @search_methods = ( 26, "googlephotos", \&pick_from_google_image_photos, + 15, "googleimgs", \&pick_from_google_images, + 15, "googlenums", \&pick_from_google_image_numbers, + 17, "flickr_recent", \&pick_from_flickr_recent, + 14, "flickr_random", \&pick_from_flickr_random, +# twitpic went stale. don't have time to fix it right now. +# 10, "twitpic", \&pick_from_twitpic_images, + 9, "livejournal", \&pick_from_livejournal_images, + 4, "yahoorand", \&pick_from_yahoo_random_link, # This one doesn't work very well: too many non-img links. 0, "twitter", \&pick_from_twitter_images, diff --git a/po/POTFILES.in b/po/POTFILES.in index 7743e54c..44d1d0c5 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,4 +1,4 @@ -# Auto-generated: Tue Jul 3 14:23:31 PDT 2012 +# Auto-generated: Thu Jul 26 19:29:57 PDT 2012 driver/demo-Gtk-conf.c driver/demo-Gtk-support.c driver/demo-Gtk-widgets.c diff --git a/utils/version.h b/utils/version.h index ea951e2a..cdf099e7 100644 --- a/utils/version.h +++ b/utils/version.h @@ -1,2 +1,2 @@ static const char screensaver_id[] = - "@(#)xscreensaver 5.18 (03-Jul-2012), by Jamie Zawinski (jwz@jwz.org)"; + "@(#)xscreensaver 5.19 (26-Jul-2012), by Jamie Zawinski (jwz@jwz.org)"; diff --git a/xscreensaver.spec b/xscreensaver.spec index bf8bb562..f7a05303 100644 --- a/xscreensaver.spec +++ b/xscreensaver.spec @@ -1,5 +1,5 @@ %define name xscreensaver -%define version 5.18 +%define version 5.19 Summary: X screen saver and locker Name: %{name} diff --git a/xscreensaver.xcodeproj/project.pbxproj b/xscreensaver.xcodeproj/project.pbxproj index bd824ab8..9bc47251 100644 --- a/xscreensaver.xcodeproj/project.pbxproj +++ b/xscreensaver.xcodeproj/project.pbxproj @@ -1240,6 +1240,229 @@ AF1FDA89158FF96600C40F17 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; }; AF1FDA8A158FF96600C40F17 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF48112B0990A2C700FB32B8 /* Carbon.framework */; }; AF241F83107C38DF00046A84 /* dropshadow.c in Sources */ = {isa = PBXBuildFile; fileRef = AF241F81107C38DF00046A84 /* dropshadow.c */; }; + AF2C31E615C0F7FE007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C31EA15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C31EB15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C31EC15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C31ED15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C31EE15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C31EF15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C31F015C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C31F115C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C31F215C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C31F315C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C31F415C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C31F515C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C31F615C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C31F715C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C31F815C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C31F915C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C31FA15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C31FB15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C31FC15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C31FD15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C31FE15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C31FF15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C320015C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C320115C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C320215C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C320315C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C320415C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C320515C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C320615C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C320715C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C320815C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C320915C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C320A15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C320B15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C320C15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C320D15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C320E15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C320F15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C321015C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C321115C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C321215C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C321315C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C321415C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C321515C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C321615C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C321715C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C321815C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C321915C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C321A15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C321B15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C321C15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C321D15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C321E15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C321F15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C322015C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C322115C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C322215C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C322315C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C322415C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C322515C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C322615C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C322715C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C322815C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C322915C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C322A15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C322B15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C322C15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C322D15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C322E15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C322F15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C323015C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C323115C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C323215C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C323315C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C323415C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C323515C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C323615C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C323715C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C323815C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C323915C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C323A15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C323B15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C323C15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C323D15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C323E15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C323F15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C324015C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C324115C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C324215C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C324315C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C324415C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C324515C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C324615C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C324715C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C324815C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C324915C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C324A15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C324B15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C324C15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C324D15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C324E15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C324F15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C325015C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C325115C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C325215C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C325315C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C325515C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C325615C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C325715C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C325815C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C325915C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C325A15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C325B15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C325C15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C325D15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C325E15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C325F15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C326015C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C326115C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C326215C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C326315C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C326415C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C326515C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C326615C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C326715C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C326815C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C326915C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C326A15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C326B15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C326C15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C326D15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C326E15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C326F15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C327015C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C327115C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C327215C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C327315C0FC9C007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C327415C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C327515C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C327615C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C327715C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C327815C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C327915C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C327A15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C327B15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C327C15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C327D15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C327E15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C327F15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C328015C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C328115C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C328215C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C328315C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C328415C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C328515C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C328615C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C328715C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C328815C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C328915C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C328A15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C328B15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C328C15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C328D15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C328E15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C328F15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C329015C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C329115C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C329215C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C329315C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C329415C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C329515C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C329615C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C329715C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C329815C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C329915C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C329A15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C329B15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C329C15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C329D15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C329E15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C329F15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C32A015C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C32A115C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C32A215C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C32A315C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C32A415C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C32A515C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C32A615C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C32A715C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C32A815C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C32A915C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C32AA15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C32AB15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C32AC15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C32AD15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C32AE15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C32AF15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C32B015C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C32B115C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C32B215C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C32B315C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C32B415C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C32B515C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C32B615C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C32B715C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C32B815C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C32B915C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C32BA15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C32BB15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C32BC15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C32BD15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C32BE15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C32BF15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C32C015C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C32C115C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C32C215C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C32C315C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C32C415C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C32C515C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C32C615C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C32C715C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; + AF2C32C815C0FC9D007A6896 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */; }; AF2D4D8413E902F5002AA818 /* SaverRunner.nib in Resources */ = {isa = PBXBuildFile; fileRef = AF9772E10989DFC6001F8B92 /* SaverRunner.nib */; }; AF2D4D8613E902F5002AA818 /* SaverRunner.m in Sources */ = {isa = PBXBuildFile; fileRef = AFE1FD400981E32E00F7970E /* SaverRunner.m */; }; AF2D4D8713E902F5002AA818 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; }; @@ -5821,6 +6044,7 @@ AF1A17800D6D6F62008AF328 /* lcdscrub.xml */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text.xml; path = lcdscrub.xml; sourceTree = ""; }; AF241F81107C38DF00046A84 /* dropshadow.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = dropshadow.c; path = hacks/glx/dropshadow.c; sourceTree = ""; }; AF241F82107C38DF00046A84 /* dropshadow.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; name = dropshadow.h; path = hacks/glx/dropshadow.h; sourceTree = ""; }; + AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; AF2D4D8F13E902F5002AA818 /* Phosphor.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Phosphor.app; sourceTree = BUILT_PRODUCTS_DIR; }; AF2D4F7E13E91093002AA818 /* Apple2.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Apple2.app; sourceTree = BUILT_PRODUCTS_DIR; }; AF2D522513E954A0002AA818 /* SaverRunner.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = SaverRunner.icns; path = OSX/SaverRunner.icns; sourceTree = ""; }; @@ -6679,6 +6903,7 @@ files = ( AF1FD8EF158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD8F0158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C326215C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD8F1158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD8F2158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -6690,6 +6915,7 @@ files = ( AF1FD8F3158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD8F4158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C326315C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD8F5158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD8F6158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -6701,6 +6927,7 @@ files = ( AF1FD7BF158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD7C0158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C321515C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD7C1158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD7C2158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -6712,6 +6939,7 @@ files = ( AF1FDA33158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FDA34158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C32B315C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FDA35158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FDA36158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -6723,6 +6951,7 @@ files = ( AF1FD7BB158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD7BC158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C321415C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD7BD158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD7BE158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -6734,6 +6963,7 @@ files = ( AF1FD7F3158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD7F4158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C322215C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD7F5158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD7F6158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -6745,6 +6975,7 @@ files = ( AF1FD723158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD724158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C31EE15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD725158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD726158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -6756,6 +6987,7 @@ files = ( AF1FD9F3158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD9F4158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C32A315C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD9F5158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD9F6158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -6767,6 +6999,7 @@ files = ( AF1FD91B158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD91C158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C326D15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD91D158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD91E158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -6778,6 +7011,7 @@ files = ( AF1FDA2F158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FDA30158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C32B215C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FDA31158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FDA32158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -6789,6 +7023,7 @@ files = ( AF1FD99B158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD99C158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C328D15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD99D158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD99E158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -6800,6 +7035,7 @@ files = ( AF1FD993158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD994158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C328B15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD995158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD996158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -6811,6 +7047,7 @@ files = ( AF1FD7AB158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD7AC158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C321015C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD7AD158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD7AE158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -6822,6 +7059,7 @@ files = ( AF1FD83F158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD840158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C323515C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD841158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD842158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -6833,6 +7071,7 @@ files = ( AF1FD767158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD768158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C31FF15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD769158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD76A158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -6844,6 +7083,7 @@ files = ( AF1FD74F158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD750158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C31F915C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD751158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD752158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -6855,6 +7095,7 @@ files = ( AF1FD84B158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD84C158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C323815C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD84D158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD84E158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -6866,6 +7107,7 @@ files = ( AF1FDA7B158FF96600C40F17 /* libjwxyz.a in Frameworks */, AF1FDA7C158FF96600C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C32C515C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FDA7D158FF96600C40F17 /* Cocoa.framework in Frameworks */, AF1FDA7E158FF96600C40F17 /* Carbon.framework in Frameworks */, ); @@ -6877,6 +7119,7 @@ files = ( AF1FD743158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD744158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C31F615C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD745158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD746158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -6888,6 +7131,7 @@ files = ( AF1FD7DB158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD7DC158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C321C15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD7DD158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD7DE158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -6899,6 +7143,7 @@ files = ( AF1FDA83158FF96600C40F17 /* libjwxyz.a in Frameworks */, AF1FDA84158FF96600C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C32C715C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FDA85158FF96600C40F17 /* Cocoa.framework in Frameworks */, AF1FDA86158FF96600C40F17 /* Carbon.framework in Frameworks */, ); @@ -6910,6 +7155,7 @@ files = ( AF1FD717158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD718158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C31EB15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD719158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD71A158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -6921,6 +7167,7 @@ files = ( AF1FD793158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD794158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C320A15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD795158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD796158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -6932,6 +7179,7 @@ files = ( AF1FD7FF158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD800158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C322515C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD801158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD802158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -6943,6 +7191,7 @@ files = ( AF1FD7F7158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD7F8158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C322315C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD7F9158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD7FA158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -6954,6 +7203,7 @@ files = ( AF1FD85B158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD85C158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C323C15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD85D158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD85E158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -6965,6 +7215,7 @@ files = ( AF1FD787158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD788158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C320715C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD789158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD78A158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -6976,6 +7227,7 @@ files = ( AF1FD71B158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD71C158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C31EC15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD71D158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD71E158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -6987,6 +7239,7 @@ files = ( AF1FD7AF158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD7B0158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C321115C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD7B1158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD7B2158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -6998,6 +7251,7 @@ files = ( AF1FD79F158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD7A0158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C320D15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD7A1158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD7A2158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7009,6 +7263,7 @@ files = ( AF1FD86F158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD870158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C324115C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD871158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD872158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7020,6 +7275,7 @@ files = ( AF1FD77B158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD77C158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C320415C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD77D158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD77E158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7031,6 +7287,7 @@ files = ( AF1FD7B3158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD7B4158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C321215C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD7B5158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD7B6158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7042,6 +7299,7 @@ files = ( AF1FDA6B158FF96600C40F17 /* libjwxyz.a in Frameworks */, AF1FDA6C158FF96600C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C32C115C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FDA6D158FF96600C40F17 /* Cocoa.framework in Frameworks */, AF1FDA6E158FF96600C40F17 /* Carbon.framework in Frameworks */, ); @@ -7053,6 +7311,7 @@ files = ( AF1FD7C3158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD7C4158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C321615C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD7C5158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD7C6158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7064,6 +7323,7 @@ files = ( AF1FD7E3158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD7E4158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C321E15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD7E5158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD7E6158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7075,6 +7335,7 @@ files = ( AF1FD803158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD804158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C322615C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD805158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD806158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7086,6 +7347,7 @@ files = ( AF1FD837158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD838158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C323315C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD839158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD83A158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7097,6 +7359,7 @@ files = ( AF1FD753158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD754158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C31FA15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD755158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD756158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7108,6 +7371,7 @@ files = ( AF1FD76F158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD770158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C320115C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD771158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD772158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7119,6 +7383,7 @@ files = ( AF1FD7B7158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD7B8158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C321315C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD7B9158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD7BA158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7130,6 +7395,7 @@ files = ( AF1FD833158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD834158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C323215C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD835158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD836158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7141,6 +7407,7 @@ files = ( AF1FDA3F158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FDA40158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C32B615C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FDA41158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FDA42158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7152,6 +7419,7 @@ files = ( AF1FD7EB158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD7EC158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C322015C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD7ED158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD7EE158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7163,6 +7431,7 @@ files = ( AF1FD72F158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD730158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C31F115C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD731158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD732158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7174,6 +7443,7 @@ files = ( AF1FD877158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD878158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C324315C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD879158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD87A158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7185,6 +7455,7 @@ files = ( AF1FD873158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD874158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C324215C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD875158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD876158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7196,6 +7467,7 @@ files = ( AF1FD857158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD858158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C323B15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD859158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD85A158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7207,6 +7479,7 @@ files = ( AF1FD847158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD848158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C323715C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD849158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD84A158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7218,6 +7491,7 @@ files = ( AF1FD74B158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD74C158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C31F815C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD74D158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD74E158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7229,6 +7503,7 @@ files = ( AF1FD83B158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD83C158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C323415C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD83D158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD83E158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7240,6 +7515,7 @@ files = ( AF1FD7A7158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD7A8158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C320F15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD7A9158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD7AA158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7251,6 +7527,7 @@ files = ( AF1FD747158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD748158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C31F715C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD749158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD74A158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7262,6 +7539,7 @@ files = ( AF1FD77F158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD780158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C320515C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD781158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD782158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7273,6 +7551,7 @@ files = ( AF1FD737158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD738158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C31F315C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD739158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD73A158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7284,6 +7563,7 @@ files = ( AF1FD7E7158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD7E8158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C321F15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD7E9158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD7EA158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7295,6 +7575,7 @@ files = ( AF1FD867158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD868158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C323F15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD869158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD86A158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7306,6 +7587,7 @@ files = ( AF1FD75B158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD75C158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C31FC15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD75D158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD75E158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7317,6 +7599,7 @@ files = ( AF1FDA43158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FDA44158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C32B715C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FDA45158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FDA46158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7328,6 +7611,7 @@ files = ( AF1FD827158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD828158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C322F15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD829158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD82A158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7346,6 +7630,7 @@ files = ( AF1FD79B158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD79C158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C320C15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD79D158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD79E158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7357,6 +7642,7 @@ files = ( AF1FD897158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD898158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C324B15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD899158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD89A158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7368,6 +7654,7 @@ files = ( AF1FD933158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD934158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C327315C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD935158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD936158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7379,6 +7666,7 @@ files = ( AF1FD957158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD958158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C327C15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD959158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD95A158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7390,6 +7678,7 @@ files = ( AF1FD9D7158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD9D8158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C329C15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD9D9158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD9DA158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7401,6 +7690,7 @@ files = ( AF1FD97B158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD97C158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C328515C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD97D158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD97E158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7412,6 +7702,7 @@ files = ( AF1FDA1F158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FDA20158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C32AE15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FDA21158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FDA22158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7423,6 +7714,7 @@ files = ( AF1FD9AF158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD9B0158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C329215C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD9B1158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD9B2158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7434,6 +7726,7 @@ files = ( AF1FD92F158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD930158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C327215C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD931158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD932158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7445,6 +7738,7 @@ files = ( AF1FD943158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD944158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C327715C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD945158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD946158FF96500C40F17 /* Carbon.framework in Frameworks */, AF84FD4209B1209E00F3AB06 /* GLUT.framework in Frameworks */, @@ -7457,6 +7751,7 @@ files = ( AF1FDA53158FF96600C40F17 /* libjwxyz.a in Frameworks */, AF1FDA54158FF96600C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C32BB15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FDA55158FF96600C40F17 /* Cocoa.framework in Frameworks */, AF1FDA56158FF96600C40F17 /* Carbon.framework in Frameworks */, ); @@ -7468,6 +7763,7 @@ files = ( AF1FD807158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD808158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C322715C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD809158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD80A158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7479,6 +7775,7 @@ files = ( AF1FDA4F158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FDA50158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C32BA15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FDA51158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FDA52158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7490,6 +7787,7 @@ files = ( AF1FD7D3158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD7D4158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C321A15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD7D5158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD7D6158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7501,6 +7799,7 @@ files = ( AF1FD7D7158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD7D8158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C321B15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD7D9158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD7DA158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7512,6 +7811,7 @@ files = ( AF1FD78B158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD78C158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C320815C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD78D158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD78E158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7523,6 +7823,7 @@ files = ( AF1FD82B158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD82C158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C323015C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD82D158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD82E158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7534,6 +7835,7 @@ files = ( AF1FDA3B158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FDA3C158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C32B515C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FDA3D158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FDA3E158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7545,6 +7847,7 @@ files = ( AF1FD7EF158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD7F0158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C322115C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD7F1158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD7F2158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7556,6 +7859,7 @@ files = ( AF1FD8C3158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD8C4158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C325715C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD8C5158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD8C6158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7567,6 +7871,7 @@ files = ( AF1FD94B158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD94C158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C327915C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD94D158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD94E158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7578,6 +7883,7 @@ files = ( AF1FD95B158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD95C158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C327D15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD95D158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD95E158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7589,6 +7895,7 @@ files = ( AF1FD9B7158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD9B8158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C329415C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD9B9158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD9BA158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7600,6 +7907,7 @@ files = ( AF1FDA17158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FDA18158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C32AC15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FDA19158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FDA1A158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7611,6 +7919,7 @@ files = ( AF1FD97F158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD980158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C328615C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD981158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD982158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7622,6 +7931,7 @@ files = ( AF1FD94F158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD950158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C327A15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD951158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD952158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7633,6 +7943,7 @@ files = ( AF1FDA13158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FDA14158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C32AB15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FDA15158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FDA16158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7644,6 +7955,7 @@ files = ( AF1FD913158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD914158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C326B15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD915158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD916158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7655,6 +7967,7 @@ files = ( AF1FD937158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD938158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C327415C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD939158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD93A158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7666,6 +7979,7 @@ files = ( AF1FD783158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD784158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C320615C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD785158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD786158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7677,6 +7991,7 @@ files = ( AF1FD733158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD734158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C31F215C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD735158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD736158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7688,6 +8003,7 @@ files = ( AF1FD98B158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD98C158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C328915C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD98D158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD98E158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7699,6 +8015,7 @@ files = ( AF1FD88F158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD890158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C324915C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD891158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD892158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7710,6 +8027,7 @@ files = ( AF1FD8A3158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD8A4158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C324E15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD8A5158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD8A6158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7721,6 +8039,7 @@ files = ( AF1FD8BB158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD8BC158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C325515C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD8BD158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD8BE158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7747,6 +8066,7 @@ files = ( AF1FD7A3158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD7A4158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C320E15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD7A5158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD7A6158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7758,6 +8078,7 @@ files = ( AF1FD7CF158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD7D0158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C321915C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD7D1158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD7D2158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7769,6 +8090,7 @@ files = ( AF1FD80B158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD80C158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C322815C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD80D158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD80E158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7780,6 +8102,7 @@ files = ( AF1FD85F158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD860158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C323D15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD861158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD862158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7791,6 +8114,7 @@ files = ( AF1FD81F158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD820158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C322D15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD821158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD822158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7802,6 +8126,7 @@ files = ( AF1FD7CB158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD7CC158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C321815C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD7CD158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD7CE158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7813,6 +8138,7 @@ files = ( AF1FD773158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD774158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C320215C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD775158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD776158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7824,6 +8150,7 @@ files = ( AF1FD72B158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD72C158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C31F015C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD72D158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD72E158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7835,6 +8162,7 @@ files = ( AF1FD777158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD778158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C320315C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD779158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD77A158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7846,6 +8174,7 @@ files = ( AF1FD7C7158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD7C8158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C321715C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD7C9158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD7CA158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7857,6 +8186,7 @@ files = ( AF1FD797158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD798158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C320B15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD799158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD79A158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7868,6 +8198,7 @@ files = ( AF1FD78F158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD790158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C320915C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD791158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD792158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7879,6 +8210,7 @@ files = ( AF1FD7DF158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD7E0158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C321D15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD7E1158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD7E2158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7890,6 +8222,7 @@ files = ( AF1FD813158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD814158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C322A15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD815158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD816158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7901,6 +8234,7 @@ files = ( AF1FD763158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD764158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C31FE15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD765158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD766158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7912,6 +8246,7 @@ files = ( AF1FD817158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD818158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C322B15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD819158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD81A158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7923,6 +8258,7 @@ files = ( AF1FD727158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD728158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C31EF15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD729158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD72A158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7933,6 +8269,7 @@ buildActionMask = 2147483647; files = ( AFEB9C37158FFF88003974F3 /* ScreenSaver.framework in Frameworks */, + AF2C31E615C0F7FE007A6896 /* QuartzCore.framework in Frameworks */, AF918B99158FF045002B5D1E /* Cocoa.framework in Frameworks */, AF918B9A158FF04C002B5D1E /* Carbon.framework in Frameworks */, ); @@ -7944,6 +8281,7 @@ files = ( AF1FDA2B158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FDA2C158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C32B115C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FDA2D158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FDA2E158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7955,6 +8293,7 @@ files = ( AF1FD75F158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD760158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C31FD15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD761158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD762158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7966,6 +8305,7 @@ files = ( AF1FD823158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD824158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C322E15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD825158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD826158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7977,6 +8317,7 @@ files = ( AF1FD87B158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD87C158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C324415C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD87D158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD87E158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7988,6 +8329,7 @@ files = ( AF1FD73F158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD740158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C31F515C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD741158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD742158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -7999,6 +8341,7 @@ files = ( AF1FD76B158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD76C158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C320015C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD76D158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD76E158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8010,6 +8353,7 @@ files = ( AF1FD80F158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD810158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C322915C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD811158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD812158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8021,6 +8365,7 @@ files = ( AF1FD81B158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD81C158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C322C15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD81D158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD81E158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8032,6 +8377,7 @@ files = ( AF1FD843158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD844158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C323615C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD845158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD846158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8043,6 +8389,7 @@ files = ( AF1FD82F158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD830158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C323115C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD831158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD832158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8054,6 +8401,7 @@ files = ( AF1FD86B158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD86C158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C324015C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD86D158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD86E158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8065,6 +8413,7 @@ files = ( AF1FD7FB158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD7FC158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C322415C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD7FD158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD7FE158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8076,6 +8425,7 @@ files = ( AF1FD863158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD864158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C323E15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD865158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD866158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8087,6 +8437,7 @@ files = ( AF1FD73B158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD73C158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C31F415C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD73D158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD73E158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8098,6 +8449,7 @@ files = ( AF1FD71F158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD720158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C31ED15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD721158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD722158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8109,6 +8461,7 @@ files = ( AF1FD84F158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD850158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C323915C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD851158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD852158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8120,6 +8473,7 @@ files = ( AF1FD853158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD854158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C323A15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD855158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD856158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8131,6 +8485,7 @@ files = ( AF1FD90F158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD910158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C326A15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD911158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD912158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8142,6 +8497,7 @@ files = ( AF1FD9BB158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD9BC158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C329515C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD9BD158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD9BE158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8153,6 +8509,7 @@ files = ( AF1FDA1B158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FDA1C158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C32AD15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FDA1D158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FDA1E158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8164,6 +8521,7 @@ files = ( AF1FD9C7158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD9C8158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C329815C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD9C9158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD9CA158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8175,6 +8533,7 @@ files = ( AF1FD9EF158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD9F0158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C32A215C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD9F1158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD9F2158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8186,6 +8545,7 @@ files = ( AF1FDA0F158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FDA10158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C32AA15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FDA11158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FDA12158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8197,6 +8557,7 @@ files = ( AF1FDA0B158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FDA0C158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C32A915C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FDA0D158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FDA0E158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8208,6 +8569,7 @@ files = ( AF1FD9A7158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD9A8158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C329015C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD9A9158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD9AA158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8219,6 +8581,7 @@ files = ( AF1FD90B158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD90C158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C326915C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD90D158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD90E158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8230,6 +8593,7 @@ files = ( AF1FD977158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD978158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C328415C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD979158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD97A158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8241,6 +8605,7 @@ files = ( AF1FD9E7158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD9E8158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C32A015C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD9E9158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD9EA158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8252,6 +8617,7 @@ files = ( AF1FD9FF158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FDA00158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C32A615C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FDA01158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FDA02158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8263,6 +8629,7 @@ files = ( AF1FD95F158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD960158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C327E15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD961158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD962158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8274,6 +8641,7 @@ files = ( AF1FD917158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD918158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C326C15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD919158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD91A158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8285,6 +8653,7 @@ files = ( AF1FD9B3158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD9B4158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C329315C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD9B5158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD9B6158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8296,6 +8665,7 @@ files = ( AF1FD93F158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD940158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C327615C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD941158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD942158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8307,6 +8677,7 @@ files = ( AF1FD983158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD984158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C328715C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD985158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD986158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8318,6 +8689,7 @@ files = ( AF1FD907158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD908158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C326815C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD909158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD90A158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8329,6 +8701,7 @@ files = ( AF1FDA4B158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FDA4C158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C32B915C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FDA4D158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FDA4E158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8340,6 +8713,7 @@ files = ( AF1FD9FB158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD9FC158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C32A515C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD9FD158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD9FE158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8351,6 +8725,7 @@ files = ( AF1FD927158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD928158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C327015C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD929158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD92A158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8362,6 +8737,7 @@ files = ( AF1FDA07158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FDA08158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C32A815C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FDA09158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FDA0A158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8373,6 +8749,7 @@ files = ( AF1FD9AB158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD9AC158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C329115C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD9AD158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD9AE158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8384,6 +8761,7 @@ files = ( AF1FD9EB158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD9EC158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C32A115C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD9ED158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD9EE158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8395,6 +8773,7 @@ files = ( AF1FD93B158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD93C158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C327515C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD93D158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD93E158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8406,6 +8785,7 @@ files = ( AF1FD963158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD964158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C327F15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD965158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD966158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8417,6 +8797,7 @@ files = ( AF1FD953158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD954158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C327B15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD955158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD956158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8428,6 +8809,7 @@ files = ( AF1FD903158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD904158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C326715C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD905158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD906158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8439,6 +8821,7 @@ files = ( AF1FD997158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD998158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C328C15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD999158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD99A158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8450,6 +8833,7 @@ files = ( AF1FD9A3158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD9A4158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C328F15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD9A5158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD9A6158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8461,6 +8845,7 @@ files = ( AF1FD98F158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD990158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C328A15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD991158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD992158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8472,6 +8857,7 @@ files = ( AF1FD973158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD974158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C328315C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD975158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD976158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8483,6 +8869,7 @@ files = ( AF1FD92B158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD92C158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C327115C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD92D158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD92E158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8494,6 +8881,7 @@ files = ( AF1FD96F158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD970158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C328215C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD971158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD972158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8505,6 +8893,7 @@ files = ( AF1FD8FB158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD8FC158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C326515C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD8FD158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD8FE158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8516,6 +8905,7 @@ files = ( AF1FD947158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD948158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C327815C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD949158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD94A158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8527,6 +8917,7 @@ files = ( AF1FD8E3158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD8E4158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C325F15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD8E5158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD8E6158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8538,6 +8929,7 @@ files = ( AF1FD8EB158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD8EC158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C326115C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD8ED158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD8EE158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8549,6 +8941,7 @@ files = ( AF1FD9DF158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD9E0158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C329E15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD9E1158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD9E2158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8560,6 +8953,7 @@ files = ( AF1FD9C3158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD9C4158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C329715C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD9C5158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD9C6158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8571,6 +8965,7 @@ files = ( AF1FD8F7158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD8F8158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C326415C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD8F9158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD8FA158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8582,6 +8977,7 @@ files = ( AF1FD9CB158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD9CC158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C329915C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD9CD158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD9CE158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8593,6 +8989,7 @@ files = ( AF1FD9DB158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD9DC158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C329D15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD9DD158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD9DE158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8604,6 +9001,7 @@ files = ( AF1FD9E3158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD9E4158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C329F15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD9E5158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD9E6158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8615,6 +9013,7 @@ files = ( AF1FD9D3158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD9D4158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C329B15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD9D5158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD9D6158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8626,6 +9025,7 @@ files = ( AF1FD8FF158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD900158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C326615C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD901158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD902158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8637,6 +9037,7 @@ files = ( AF1FD8E7158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD8E8158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C326015C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD8E9158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD8EA158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8648,6 +9049,7 @@ files = ( AF1FDA23158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FDA24158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C32AF15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FDA25158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FDA26158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8659,6 +9061,7 @@ files = ( AF1FD91F158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD920158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C326E15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD921158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD922158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8670,6 +9073,7 @@ files = ( AF1FD96B158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD96C158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C328115C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD96D158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD96E158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8681,6 +9085,7 @@ files = ( AF1FD923158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD924158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C326F15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD925158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD926158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8692,6 +9097,7 @@ files = ( AF1FDA27158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FDA28158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C32B015C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FDA29158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FDA2A158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8703,6 +9109,7 @@ files = ( AF1FD99F158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD9A0158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C328E15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD9A1158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD9A2158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8714,6 +9121,7 @@ files = ( AF1FD9CF158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD9D0158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C329A15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD9D1158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD9D2158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8725,6 +9133,7 @@ files = ( AF1FD987158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD988158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C328815C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD989158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD98A158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8736,6 +9145,7 @@ files = ( AF1FD887158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD888158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C324715C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD889158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD88A158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8747,6 +9157,7 @@ files = ( AF1FDA47158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FDA48158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C32B815C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FDA49158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FDA4A158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8758,6 +9169,7 @@ files = ( AF1FDA7F158FF96600C40F17 /* libjwxyz.a in Frameworks */, AF1FDA80158FF96600C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C32C615C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FDA81158FF96600C40F17 /* Cocoa.framework in Frameworks */, AF1FDA82158FF96600C40F17 /* Carbon.framework in Frameworks */, ); @@ -8769,6 +9181,7 @@ files = ( AF1FD8AB158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD8AC158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C325015C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD8AD158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD8AE158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8780,6 +9193,7 @@ files = ( AF1FD8AF158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD8B0158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C325115C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD8B1158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD8B2158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8791,6 +9205,7 @@ files = ( AF1FD8B3158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD8B4158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C325215C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD8B5158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD8B6158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8802,6 +9217,7 @@ files = ( AF1FDA5B158FF96600C40F17 /* libjwxyz.a in Frameworks */, AF1FDA5C158FF96600C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C32BD15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FDA5D158FF96600C40F17 /* Cocoa.framework in Frameworks */, AF1FDA5E158FF96600C40F17 /* Carbon.framework in Frameworks */, ); @@ -8813,6 +9229,7 @@ files = ( AF1FDA5F158FF96600C40F17 /* libjwxyz.a in Frameworks */, AF1FDA60158FF96600C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C32BE15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FDA61158FF96600C40F17 /* Cocoa.framework in Frameworks */, AF1FDA62158FF96600C40F17 /* Carbon.framework in Frameworks */, ); @@ -8824,6 +9241,7 @@ files = ( AF1FDA63158FF96600C40F17 /* libjwxyz.a in Frameworks */, AF1FDA64158FF96600C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C32BF15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FDA65158FF96600C40F17 /* Cocoa.framework in Frameworks */, AF1FDA66158FF96600C40F17 /* Carbon.framework in Frameworks */, ); @@ -8835,6 +9253,7 @@ files = ( AF1FDA67158FF96600C40F17 /* libjwxyz.a in Frameworks */, AF1FDA68158FF96600C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C32C015C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FDA69158FF96600C40F17 /* Cocoa.framework in Frameworks */, AF1FDA6A158FF96600C40F17 /* Carbon.framework in Frameworks */, ); @@ -8846,6 +9265,7 @@ files = ( AF1FD8C7158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD8C8158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C325815C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD8C9158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD8CA158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8857,6 +9277,7 @@ files = ( AF1FD8CF158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD8D0158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C325A15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD8D1158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD8D2158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8868,6 +9289,7 @@ files = ( AF1FDA73158FF96600C40F17 /* libjwxyz.a in Frameworks */, AF1FDA74158FF96600C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C32C315C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FDA75158FF96600C40F17 /* Cocoa.framework in Frameworks */, AF1FDA76158FF96600C40F17 /* Carbon.framework in Frameworks */, ); @@ -8879,6 +9301,7 @@ files = ( AF1FDA77158FF96600C40F17 /* libjwxyz.a in Frameworks */, AF1FDA78158FF96600C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C32C415C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FDA79158FF96600C40F17 /* Cocoa.framework in Frameworks */, AF1FDA7A158FF96600C40F17 /* Carbon.framework in Frameworks */, ); @@ -8890,6 +9313,7 @@ files = ( AF1FD89F158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD8A0158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C324D15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD8A1158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD8A2158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8901,6 +9325,7 @@ files = ( AF1FD8BF158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD8C0158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C325615C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD8C1158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD8C2158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8912,6 +9337,7 @@ files = ( AF1FD8DF158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD8E0158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C325E15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD8E1158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD8E2158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8923,6 +9349,7 @@ files = ( AF1FDA87158FF96600C40F17 /* libjwxyz.a in Frameworks */, AF1FDA88158FF96600C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C32C815C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FDA89158FF96600C40F17 /* Cocoa.framework in Frameworks */, AF1FDA8A158FF96600C40F17 /* Carbon.framework in Frameworks */, ); @@ -8934,6 +9361,7 @@ files = ( AF1FDA6F158FF96600C40F17 /* libjwxyz.a in Frameworks */, AF1FDA70158FF96600C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C32C215C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FDA71158FF96600C40F17 /* Cocoa.framework in Frameworks */, AF1FDA72158FF96600C40F17 /* Carbon.framework in Frameworks */, ); @@ -8945,6 +9373,7 @@ files = ( AF1FDA37158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FDA38158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C32B415C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FDA39158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FDA3A158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8956,6 +9385,7 @@ files = ( AF1FD8A7158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD8A8158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C324F15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD8A9158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD8AA158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8967,6 +9397,7 @@ files = ( AF1FD893158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD894158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C324A15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD895158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD896158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8978,6 +9409,7 @@ files = ( AF1FD87F158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD880158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C324515C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD881158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD882158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -8989,6 +9421,7 @@ files = ( AF1FD89B158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD89C158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C324C15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD89D158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD89E158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -9000,6 +9433,7 @@ files = ( AF1FD8DB158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD8DC158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C325D15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD8DD158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD8DE158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -9011,6 +9445,7 @@ files = ( AF1FDA57158FF96600C40F17 /* libjwxyz.a in Frameworks */, AF1FDA58158FF96600C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C32BC15C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FDA59158FF96600C40F17 /* Cocoa.framework in Frameworks */, AF1FDA5A158FF96600C40F17 /* Carbon.framework in Frameworks */, ); @@ -9022,6 +9457,7 @@ files = ( AF1FD8D7158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD8D8158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C325C15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD8D9158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD8DA158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -9033,6 +9469,7 @@ files = ( AF1FD8CB158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD8CC158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C325915C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD8CD158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD8CE158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -9044,6 +9481,7 @@ files = ( AF1FD883158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD884158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C324615C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD885158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD886158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -9055,6 +9493,7 @@ files = ( AF1FD88B158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD88C158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C324815C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD88D158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD88E158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -9066,6 +9505,7 @@ files = ( AF1FD8B7158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD8B8158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C325315C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD8B9158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD8BA158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -9077,6 +9517,7 @@ files = ( AF1FD8D3158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD8D4158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C325B15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD8D5158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD8D6158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -9088,6 +9529,7 @@ files = ( AF1FDA03158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FDA04158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C32A715C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FDA05158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FDA06158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -9099,6 +9541,7 @@ files = ( AF1FD9F7158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD9F8158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C32A415C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD9F9158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD9FA158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -9110,6 +9553,7 @@ files = ( AF1FD9BF158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD9C0158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C329615C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD9C1158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD9C2158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -9121,6 +9565,7 @@ files = ( AF1FD713158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD714158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C31EA15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD715158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD716158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -9132,6 +9577,7 @@ files = ( AF1FD757158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD758158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C31FB15C0FC9C007A6896 /* QuartzCore.framework in Frameworks */, AF1FD759158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD75A158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -9143,6 +9589,7 @@ files = ( AF1FD967158FF96500C40F17 /* libjwxyz.a in Frameworks */, AF1FD968158FF96500C40F17 /* ScreenSaver.framework in Frameworks */, + AF2C328015C0FC9D007A6896 /* QuartzCore.framework in Frameworks */, AF1FD969158FF96500C40F17 /* Cocoa.framework in Frameworks */, AF1FD96A158FF96500C40F17 /* Carbon.framework in Frameworks */, ); @@ -9459,6 +9906,7 @@ AFEB9C3815900514003974F3 /* UIKit.framework */, AF0F46DC104E1809000A929C /* AppKit.framework */, AF976ED30989BF59001F8B92 /* ScreenSaver.framework */, + AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */, AF561DF715969C5B007CA5ED /* AssetsLibrary.framework */, AF561DF3159651A7007CA5ED /* AudioToolbox.framework */, AF0FAF3B159BAC7B00BCE2F7 /* CoreText.framework */, @@ -14700,7 +15148,7 @@ 29B97313FDCFA39411CA2CEA /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0430; + LastUpgradeCheck = 0440; }; buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "xscreensaver" */; compatibilityVersion = "Xcode 3.2"; @@ -26879,8 +27327,6 @@ ); PRODUCT_NAME = Phosphor; "PROVISIONING_PROFILE[sdk=iphoneos*]" = "AC8EDA6B-E061-4508-B2BA-129DD6D2AF72"; - "SDKROOT[arch=i386]" = macosx10.6; - "SDKROOT[arch=x86_64]" = macosx10.6; TARGETED_DEVICE_FAMILY = "1,2"; WRAPPER_EXTENSION = app; }; @@ -26936,8 +27382,6 @@ ); PRODUCT_NAME = Phosphor; "PROVISIONING_PROFILE[sdk=iphoneos*]" = "AC8EDA6B-E061-4508-B2BA-129DD6D2AF72"; - "SDKROOT[arch=i386]" = macosx10.6; - "SDKROOT[arch=x86_64]" = macosx10.6; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; WRAPPER_EXTENSION = app; @@ -26994,8 +27438,6 @@ ); PRODUCT_NAME = Apple2; "PROVISIONING_PROFILE[sdk=iphoneos*]" = "AC8EDA6B-E061-4508-B2BA-129DD6D2AF72"; - "SDKROOT[arch=i386]" = macosx10.6; - "SDKROOT[arch=x86_64]" = macosx10.6; TARGETED_DEVICE_FAMILY = "1,2"; WRAPPER_EXTENSION = app; }; @@ -27051,8 +27493,6 @@ ); PRODUCT_NAME = Apple2; "PROVISIONING_PROFILE[sdk=iphoneos*]" = "AC8EDA6B-E061-4508-B2BA-129DD6D2AF72"; - "SDKROOT[arch=i386]" = macosx10.6; - "SDKROOT[arch=x86_64]" = macosx10.6; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; WRAPPER_EXTENSION = app; @@ -29038,7 +29478,6 @@ armv7, ); CODE_SIGN_IDENTITY = "iPhone Developer"; - DEAD_CODE_STRIPPING = NO; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "\"$(SYSTEM_APPS_DIR)/Xcode.app/Contents/Developer/Library/Frameworks\"", @@ -29070,7 +29509,6 @@ armv7, ); CODE_SIGN_IDENTITY = "iPhone Distribution: Jamie Zawinski"; - DEAD_CODE_STRIPPING = NO; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "\"$(SYSTEM_APPS_DIR)/Xcode.app/Contents/Developer/Library/Frameworks\"", @@ -32720,7 +33158,8 @@ isa = XCBuildConfiguration; buildSettings = { ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; - GCC_ENABLE_OBJC_GC = required; + COMBINE_HIDPI_IMAGES = YES; + GCC_ENABLE_OBJC_GC = supported; "GCC_ENABLE_OBJC_GC[sdk=iphoneos*][arch=*]" = unsupported; "GCC_ENABLE_OBJC_GC[sdk=iphonesimulator*][arch=*]" = unsupported; GCC_OPTIMIZATION_LEVEL = 0; @@ -32768,7 +33207,7 @@ "MACOSX_DEPLOYMENT_TARGET[sdk=iphoneos*][arch=*]" = ""; "MACOSX_DEPLOYMENT_TARGET[sdk=iphonesimulator*][arch=*]" = ""; PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = macosx10.6; + SDKROOT = macosx; SYMROOT = OSX/build; USER_HEADER_SEARCH_PATHS = "$(PROJECT_DIR) $(USER_HEADER_SEARCH_PATHS)"; WARNING_CFLAGS = "-Wimplicit"; @@ -32780,7 +33219,8 @@ isa = XCBuildConfiguration; buildSettings = { ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; - GCC_ENABLE_OBJC_GC = required; + COMBINE_HIDPI_IMAGES = YES; + GCC_ENABLE_OBJC_GC = supported; "GCC_ENABLE_OBJC_GC[sdk=iphoneos*][arch=*]" = unsupported; "GCC_ENABLE_OBJC_GC[sdk=iphonesimulator*][arch=*]" = unsupported; GCC_PRECOMPILE_PREFIX_HEADER = YES; @@ -32828,7 +33268,7 @@ "MACOSX_DEPLOYMENT_TARGET[sdk=iphoneos*][arch=*]" = ""; "MACOSX_DEPLOYMENT_TARGET[sdk=iphonesimulator*][arch=*]" = ""; PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = macosx10.6; + SDKROOT = macosx; SYMROOT = OSX/build; USER_HEADER_SEARCH_PATHS = "$(PROJECT_DIR) $(USER_HEADER_SEARCH_PATHS)"; WARNING_CFLAGS = "-Wimplicit"; -- 2.30.2