From 22b8a436a64e7355b0378ce7b187fc9186f47a6a Mon Sep 17 00:00:00 2001 From: CocoaBob Date: Tue, 14 Feb 2012 17:43:20 +0100 Subject: [PATCH 01/25] Adjusted BGHUDProgressIndicator. It doesn't draw in Lion, just let it draw in - (void)drawRect. --- Framework/BGHUDProgressIndicator.m | 34 ++++++++++-------------------- 1 file changed, 11 insertions(+), 23 deletions(-) diff --git a/Framework/BGHUDProgressIndicator.m b/Framework/BGHUDProgressIndicator.m index a483bac..8b77ca9 100644 --- a/Framework/BGHUDProgressIndicator.m +++ b/Framework/BGHUDProgressIndicator.m @@ -88,9 +88,9 @@ - (void)_drawThemeBackground { case NSRegularControlSize: frame.origin.x += 2.5f; - frame.origin.y += .5f; + frame.origin.y += 1.5f; frame.size.width -= 5; - frame.size.height -= 5; + frame.size.height -= 3; break; case NSSmallControlSize: @@ -98,16 +98,7 @@ - (void)_drawThemeBackground { frame.origin.x += 0.5f; frame.origin.y += 0.5f; frame.size.width -= 1; - frame.size.height -= 3; - break; - - case NSMiniControlSize: - - frame.origin.x += 1.5f; - frame.origin.y += 0.5f; - frame.size.width -= 3; - frame.size.height -= 5; - break; + frame.size.height -= 2; break; } @@ -166,9 +157,9 @@ - (void)_drawThemeProgressArea:(BOOL)flag { case NSRegularControlSize: frame.origin.x += 2.5f; - frame.origin.y += .5f; + frame.origin.y += 1.5f; frame.size.width -= 5; - frame.size.height -= 5; + frame.size.height -= 3; break; case NSSmallControlSize: @@ -176,15 +167,7 @@ - (void)_drawThemeProgressArea:(BOOL)flag { frame.origin.x += 0.5f; frame.origin.y += 0.5f; frame.size.width -= 1; - frame.size.height -= 3; - break; - - case NSMiniControlSize: - - frame.origin.x += 1.5f; - frame.origin.y += 0.5f; - frame.size.width -= 3; - frame.size.height -= 5; + frame.size.height -= 2; break; } @@ -215,6 +198,11 @@ - (void)_drawThemeProgressArea:(BOOL)flag { } } +- (void)drawRect:(NSRect)dirtyRect { + [self _drawThemeBackground]; + [self _drawThemeProgressArea:YES]; +} + #pragma mark - #pragma mark Helper Methods From 7d78f349d3257d35e1067be55e968cc4ccc06b19 Mon Sep 17 00:00:00 2001 From: CocoaBob Date: Wed, 28 Mar 2012 15:01:55 +0200 Subject: [PATCH 02/25] Removed the transparency of scrollers, to avoid being affected by background view's color. --- Framework/BGHUDScroller.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Framework/BGHUDScroller.m b/Framework/BGHUDScroller.m index 2cd6c2a..a7fb7fc 100644 --- a/Framework/BGHUDScroller.m +++ b/Framework/BGHUDScroller.m @@ -115,7 +115,7 @@ - (void)drawRect:(NSRect)rect { NSDisableScreenUpdates(); - [[NSColor colorWithCalibratedWhite: 0.0f alpha: 0.7f] set]; + [[NSColor colorWithCalibratedWhite: 0.7f alpha: 1.0f] set]; NSRectFill([self bounds]); // Draw knob-slot. From 7920559ed188fb5525d363efd0dce1cfe4f161d7 Mon Sep 17 00:00:00 2001 From: CocoaBob Date: Wed, 28 Mar 2012 15:05:22 +0200 Subject: [PATCH 03/25] Improved conditions for background color drawing. Improved all text field cells. --- Framework/BGHUDComboBoxCell.m | 6 +- Framework/BGHUDSearchFieldCell.m | 36 +++++------ Framework/BGHUDSecureTextFieldCell.m | 94 +++++++++------------------- Framework/BGHUDTextFieldCell.m | 94 +++++++++------------------- Framework/BGHUDTokenFieldCell.m | 53 ++++++++-------- 5 files changed, 105 insertions(+), 178 deletions(-) diff --git a/Framework/BGHUDComboBoxCell.m b/Framework/BGHUDComboBoxCell.m index 0c7c0b0..f92f944 100644 --- a/Framework/BGHUDComboBoxCell.m +++ b/Framework/BGHUDComboBoxCell.m @@ -49,12 +49,10 @@ -(id)initTextCell:(NSString *) aString { self.themeKey = @"gradientTheme"; [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; - if([self drawsBackground]) { - + if([self drawsBackground] && [[[BGThemeManager keyedManager] themeForKey: self.themeKey] isOverrideFillColor]) { fillsBackground = YES; + [self setDrawsBackground: NO]; } - - [self setDrawsBackground: NO]; } return self; diff --git a/Framework/BGHUDSearchFieldCell.m b/Framework/BGHUDSearchFieldCell.m index cecdb40..f491f93 100644 --- a/Framework/BGHUDSearchFieldCell.m +++ b/Framework/BGHUDSearchFieldCell.m @@ -105,12 +105,11 @@ - (id)initTextCell:(NSString *)aString { self.themeKey = @"gradientTheme"; [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; - if([self drawsBackground]) { - + if([self drawsBackground] && [[[BGThemeManager keyedManager] themeForKey: self.themeKey] isOverrideFillColor]) { fillsBackground = YES; + [self setDrawsBackground: NO]; } - [self setDrawsBackground: NO]; [[self searchButtonCell] setImage:searchButtonImage()]; [[self cancelButtonCell] setImage:cancelButtonImageUp()]; [[self cancelButtonCell] setAlternateImage:nil]; @@ -142,12 +141,11 @@ - (id)initWithCoder:(NSCoder *) aDecoder { self.themeKey = @"gradientTheme"; [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; - if([self drawsBackground]) { - + if([self drawsBackground] && [[[BGThemeManager keyedManager] themeForKey: self.themeKey] isOverrideFillColor]) { fillsBackground = YES; + [self setDrawsBackground: NO]; } - [self setDrawsBackground: NO]; [[self searchButtonCell] setImage:searchButtonImage()]; [[self cancelButtonCell] setImage:cancelButtonImageUp()]; [[self cancelButtonCell] setAlternateImage:nil]; @@ -244,20 +242,28 @@ - (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView { //Get TextView for this editor NSTextView* view = (NSTextView*)[[controlView window] fieldEditor: NO forObject: controlView]; + //Set text color + if([self isEnabled]) { + [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; + [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; + } + else { + [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] disabledTextColor]]; + [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] disabledTextColor]]; + } + //Get Attributes of the selected text NSMutableDictionary *dict = [[[view selectedTextAttributes] mutableCopy] autorelease]; //If window/app is active draw the highlight/text in active colors - if([self showsFirstResponder] && [[[self controlView] window] isKeyWindow]) - { + if([self showsFirstResponder] && [[[self controlView] window] isKeyWindow]) { [dict setObject: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionHighlightActiveColor] forKey: NSBackgroundColorAttributeName]; [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionTextActiveColor] range: [view selectedRange]]; } - else - { + else { [dict setObject: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionHighlightInActiveColor] forKey: NSBackgroundColorAttributeName]; @@ -266,14 +272,8 @@ - (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView { } [view setSelectedTextAttributes:dict]; - - if([self isEnabled]) { - - [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; - } else { - - [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] disabledTextColor]]; - } + dict = nil; + view = nil; // Check to see if the attributed placeholder has been set or not //if(![self placeholderAttributedString]) { diff --git a/Framework/BGHUDSecureTextFieldCell.m b/Framework/BGHUDSecureTextFieldCell.m index c836793..a91952f 100644 --- a/Framework/BGHUDSecureTextFieldCell.m +++ b/Framework/BGHUDSecureTextFieldCell.m @@ -25,12 +25,10 @@ -(id)initTextCell:(NSString *)aString { [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; - if([self drawsBackground]) { - + if([self drawsBackground] && [[[BGThemeManager keyedManager] themeForKey: self.themeKey] isOverrideFillColor]) { fillsBackground = YES; + [self setDrawsBackground: NO]; } - - [self setDrawsBackground: NO]; } return self; @@ -51,12 +49,10 @@ -(id)initWithCoder:(NSCoder *)aDecoder { [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; - if([self drawsBackground]) { - + if([self drawsBackground] && [[[BGThemeManager keyedManager] themeForKey: self.themeKey] isOverrideFillColor]) { fillsBackground = YES; + [self setDrawsBackground: NO]; } - - [self setDrawsBackground: NO]; } return self; @@ -148,67 +144,37 @@ -(void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView { //Get TextView for this editor NSTextView* view = (NSTextView*)[[controlView window] fieldEditor: NO forObject: controlView]; + //Set text color + if([self isEnabled]) { + [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; + [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; + } + else { + [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] disabledTextColor]]; + [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] disabledTextColor]]; + } + + //Get Attributes of the selected text + NSMutableDictionary *dict = [[[view selectedTextAttributes] mutableCopy] autorelease]; + //If window/app is active draw the highlight/text in active colors - if(![self isHighlighted]) { + if([self showsFirstResponder] && [[[self controlView] window] isKeyWindow]) { + [dict setObject: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionHighlightActiveColor] + forKey: NSBackgroundColorAttributeName]; - if([view selectedRange].length > 0) { - - //Get Attributes of the selected text - NSMutableDictionary *dict = [[[view selectedTextAttributes] mutableCopy] autorelease]; - - if([[[self controlView] window] isKeyWindow]) - { - [dict setObject: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionHighlightActiveColor] - forKey: NSBackgroundColorAttributeName]; - - [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionTextActiveColor] - range: [view selectedRange]]; - } - else - { - [dict setObject: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionHighlightInActiveColor] - forKey: NSBackgroundColorAttributeName]; - - [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionTextInActiveColor] - range: [view selectedRange]]; - } - - [view setSelectedTextAttributes:dict]; - dict = nil; - } else { - - // Only change color (marks view as dirty) if it had a selection at some point, - // thus changing the colors. - if([view textColor] != [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]) { - - [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; - [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; - } - } - } else { + [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionTextActiveColor] + range: [view selectedRange]]; + } + else { + [dict setObject: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionHighlightInActiveColor] + forKey: NSBackgroundColorAttributeName]; - if([self isEnabled]) { - - if([self isHighlighted]) { - - if([[[self controlView] window] isKeyWindow]) - { - - [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionTextActiveColor]]; - } else { - - [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionTextInActiveColor]]; - } - } else { - - [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; - } - } else { - - [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] disabledTextColor]]; - } + [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionTextInActiveColor] + range: [view selectedRange]]; } + [view setSelectedTextAttributes:dict]; + dict = nil; view = nil; // Check to see if the attributed placeholder has been set or not diff --git a/Framework/BGHUDTextFieldCell.m b/Framework/BGHUDTextFieldCell.m index f557be7..265fbdf 100644 --- a/Framework/BGHUDTextFieldCell.m +++ b/Framework/BGHUDTextFieldCell.m @@ -55,12 +55,10 @@ - (id)initTextCell:(NSString *)aString { self.themeKey = @"gradientTheme"; [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; - if([self drawsBackground]) { - + if([self drawsBackground] && [[[BGThemeManager keyedManager] themeForKey: self.themeKey] isOverrideFillColor]) { fillsBackground = YES; + [self setDrawsBackground: NO]; } - - [self setDrawsBackground: NO]; } return self; @@ -82,12 +80,10 @@ - (id)initWithCoder:(NSCoder *) aDecoder { [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; - if([self drawsBackground]) { - + if([self drawsBackground] && [[[BGThemeManager keyedManager] themeForKey: self.themeKey] isOverrideFillColor]) { fillsBackground = YES; + [self setDrawsBackground: NO]; } - - [self setDrawsBackground: NO]; } return self; @@ -180,67 +176,37 @@ -(void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView { //Get TextView for this editor NSTextView* view = (NSTextView*)[[controlView window] fieldEditor: NO forObject: controlView]; + //Set text color + if([self isEnabled]) { + [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; + [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; + } + else { + [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] disabledTextColor]]; + [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] disabledTextColor]]; + } + + //Get Attributes of the selected text + NSMutableDictionary *dict = [[[view selectedTextAttributes] mutableCopy] autorelease]; + //If window/app is active draw the highlight/text in active colors - if(![self isHighlighted]) { + if([self showsFirstResponder] && [[[self controlView] window] isKeyWindow]) { + [dict setObject: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionHighlightActiveColor] + forKey: NSBackgroundColorAttributeName]; - if([view selectedRange].length > 0) { - - //Get Attributes of the selected text - NSMutableDictionary *dict = [[[view selectedTextAttributes] mutableCopy] autorelease]; - - if([[[self controlView] window] isKeyWindow]) - { - [dict setObject: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionHighlightActiveColor] - forKey: NSBackgroundColorAttributeName]; - - [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionTextActiveColor] - range: [view selectedRange]]; - } - else - { - [dict setObject: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionHighlightInActiveColor] - forKey: NSBackgroundColorAttributeName]; - - [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionTextInActiveColor] - range: [view selectedRange]]; - } - - [view setSelectedTextAttributes:dict]; - dict = nil; - } else { - - // Only change color (marks view as dirty) if it had a selection at some point, - // thus changing the colors. - if([view textColor] != [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]) { - - [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; - [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; - } - } - } else { + [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionTextActiveColor] + range: [view selectedRange]]; + } + else { + [dict setObject: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionHighlightInActiveColor] + forKey: NSBackgroundColorAttributeName]; - if([self isEnabled]) { - - if([self isHighlighted]) { - - if([[[self controlView] window] isKeyWindow]) - { - - [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionTextActiveColor]]; - } else { - - [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionTextInActiveColor]]; - } - } else { - - [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; - } - } else { - - [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] disabledTextColor]]; - } + [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionTextInActiveColor] + range: [view selectedRange]]; } + [view setSelectedTextAttributes:dict]; + dict = nil; view = nil; // Check to see if the attributed placeholder has been set or not diff --git a/Framework/BGHUDTokenFieldCell.m b/Framework/BGHUDTokenFieldCell.m index fa2bb6a..9fde6bc 100644 --- a/Framework/BGHUDTokenFieldCell.m +++ b/Framework/BGHUDTokenFieldCell.m @@ -51,12 +51,10 @@ -(id)initTextCell:(NSString *)aString { [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; - if([self drawsBackground]) { - + if([self drawsBackground] && [[[BGThemeManager keyedManager] themeForKey: self.themeKey] isOverrideFillColor]) { fillsBackground = YES; + [self setDrawsBackground: NO]; } - - [self setDrawsBackground: NO]; } return self; @@ -77,12 +75,10 @@ -(id)initWithCoder:(NSCoder *)aDecoder { [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; - if([self drawsBackground]) { - + if([self drawsBackground] && [[[BGThemeManager keyedManager] themeForKey: self.themeKey] isOverrideFillColor]) { fillsBackground = YES; + [self setDrawsBackground: NO]; } - - [self setDrawsBackground: NO]; } return self; @@ -165,41 +161,42 @@ - (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView { } [path release]; - + //Get TextView for this editor NSTextView* view = (NSTextView*)[[controlView window] fieldEditor: NO forObject: controlView]; - [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; - + + //Set text color + if([self isEnabled]) { + [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; + [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; + } + else { + [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] disabledTextColor]]; + [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] disabledTextColor]]; + } + //Get Attributes of the selected text - NSMutableDictionary *dict = [[[view selectedTextAttributes] mutableCopy] autorelease]; - + NSMutableDictionary *dict = [[[view selectedTextAttributes] mutableCopy] autorelease]; + //If window/app is active draw the highlight/text in active colors - if([self showsFirstResponder] && [[[self controlView] window] isKeyWindow]) - { + if([self showsFirstResponder] && [[[self controlView] window] isKeyWindow]) { [dict setObject: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionHighlightActiveColor] forKey: NSBackgroundColorAttributeName]; - + [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionTextActiveColor] range: [view selectedRange]]; } - else - { + else { [dict setObject: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionHighlightInActiveColor] forKey: NSBackgroundColorAttributeName]; - + [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionTextInActiveColor] range: [view selectedRange]]; } - + [view setSelectedTextAttributes:dict]; - - if([self isEnabled]) { - - [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; - } else { - - [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] disabledTextColor]]; - } + dict = nil; + view = nil; [self drawInteriorWithFrame: cellFrame inView: controlView]; } From 8c3e8d7110fab3941ab8a0e5a36fc0c75a9b57e3 Mon Sep 17 00:00:00 2001 From: CocoaBob Date: Wed, 28 Mar 2012 15:18:04 +0200 Subject: [PATCH 04/25] Removed the transparency of scrollers, to avoid being affected by background view's color. Improved all text fields. --- Framework/BGHUDComboBoxCell.m | 6 +- Framework/BGHUDScroller.m | 2 +- Framework/BGHUDSearchFieldCell.m | 36 +++++------ Framework/BGHUDSecureTextFieldCell.m | 94 +++++++++------------------- Framework/BGHUDTextFieldCell.m | 94 +++++++++------------------- Framework/BGHUDTokenFieldCell.m | 53 ++++++++-------- 6 files changed, 106 insertions(+), 179 deletions(-) diff --git a/Framework/BGHUDComboBoxCell.m b/Framework/BGHUDComboBoxCell.m index 0c7c0b0..f92f944 100644 --- a/Framework/BGHUDComboBoxCell.m +++ b/Framework/BGHUDComboBoxCell.m @@ -49,12 +49,10 @@ -(id)initTextCell:(NSString *) aString { self.themeKey = @"gradientTheme"; [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; - if([self drawsBackground]) { - + if([self drawsBackground] && [[[BGThemeManager keyedManager] themeForKey: self.themeKey] isOverrideFillColor]) { fillsBackground = YES; + [self setDrawsBackground: NO]; } - - [self setDrawsBackground: NO]; } return self; diff --git a/Framework/BGHUDScroller.m b/Framework/BGHUDScroller.m index 2cd6c2a..a7fb7fc 100644 --- a/Framework/BGHUDScroller.m +++ b/Framework/BGHUDScroller.m @@ -115,7 +115,7 @@ - (void)drawRect:(NSRect)rect { NSDisableScreenUpdates(); - [[NSColor colorWithCalibratedWhite: 0.0f alpha: 0.7f] set]; + [[NSColor colorWithCalibratedWhite: 0.7f alpha: 1.0f] set]; NSRectFill([self bounds]); // Draw knob-slot. diff --git a/Framework/BGHUDSearchFieldCell.m b/Framework/BGHUDSearchFieldCell.m index cecdb40..f491f93 100644 --- a/Framework/BGHUDSearchFieldCell.m +++ b/Framework/BGHUDSearchFieldCell.m @@ -105,12 +105,11 @@ - (id)initTextCell:(NSString *)aString { self.themeKey = @"gradientTheme"; [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; - if([self drawsBackground]) { - + if([self drawsBackground] && [[[BGThemeManager keyedManager] themeForKey: self.themeKey] isOverrideFillColor]) { fillsBackground = YES; + [self setDrawsBackground: NO]; } - [self setDrawsBackground: NO]; [[self searchButtonCell] setImage:searchButtonImage()]; [[self cancelButtonCell] setImage:cancelButtonImageUp()]; [[self cancelButtonCell] setAlternateImage:nil]; @@ -142,12 +141,11 @@ - (id)initWithCoder:(NSCoder *) aDecoder { self.themeKey = @"gradientTheme"; [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; - if([self drawsBackground]) { - + if([self drawsBackground] && [[[BGThemeManager keyedManager] themeForKey: self.themeKey] isOverrideFillColor]) { fillsBackground = YES; + [self setDrawsBackground: NO]; } - [self setDrawsBackground: NO]; [[self searchButtonCell] setImage:searchButtonImage()]; [[self cancelButtonCell] setImage:cancelButtonImageUp()]; [[self cancelButtonCell] setAlternateImage:nil]; @@ -244,20 +242,28 @@ - (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView { //Get TextView for this editor NSTextView* view = (NSTextView*)[[controlView window] fieldEditor: NO forObject: controlView]; + //Set text color + if([self isEnabled]) { + [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; + [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; + } + else { + [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] disabledTextColor]]; + [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] disabledTextColor]]; + } + //Get Attributes of the selected text NSMutableDictionary *dict = [[[view selectedTextAttributes] mutableCopy] autorelease]; //If window/app is active draw the highlight/text in active colors - if([self showsFirstResponder] && [[[self controlView] window] isKeyWindow]) - { + if([self showsFirstResponder] && [[[self controlView] window] isKeyWindow]) { [dict setObject: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionHighlightActiveColor] forKey: NSBackgroundColorAttributeName]; [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionTextActiveColor] range: [view selectedRange]]; } - else - { + else { [dict setObject: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionHighlightInActiveColor] forKey: NSBackgroundColorAttributeName]; @@ -266,14 +272,8 @@ - (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView { } [view setSelectedTextAttributes:dict]; - - if([self isEnabled]) { - - [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; - } else { - - [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] disabledTextColor]]; - } + dict = nil; + view = nil; // Check to see if the attributed placeholder has been set or not //if(![self placeholderAttributedString]) { diff --git a/Framework/BGHUDSecureTextFieldCell.m b/Framework/BGHUDSecureTextFieldCell.m index c836793..a91952f 100644 --- a/Framework/BGHUDSecureTextFieldCell.m +++ b/Framework/BGHUDSecureTextFieldCell.m @@ -25,12 +25,10 @@ -(id)initTextCell:(NSString *)aString { [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; - if([self drawsBackground]) { - + if([self drawsBackground] && [[[BGThemeManager keyedManager] themeForKey: self.themeKey] isOverrideFillColor]) { fillsBackground = YES; + [self setDrawsBackground: NO]; } - - [self setDrawsBackground: NO]; } return self; @@ -51,12 +49,10 @@ -(id)initWithCoder:(NSCoder *)aDecoder { [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; - if([self drawsBackground]) { - + if([self drawsBackground] && [[[BGThemeManager keyedManager] themeForKey: self.themeKey] isOverrideFillColor]) { fillsBackground = YES; + [self setDrawsBackground: NO]; } - - [self setDrawsBackground: NO]; } return self; @@ -148,67 +144,37 @@ -(void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView { //Get TextView for this editor NSTextView* view = (NSTextView*)[[controlView window] fieldEditor: NO forObject: controlView]; + //Set text color + if([self isEnabled]) { + [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; + [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; + } + else { + [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] disabledTextColor]]; + [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] disabledTextColor]]; + } + + //Get Attributes of the selected text + NSMutableDictionary *dict = [[[view selectedTextAttributes] mutableCopy] autorelease]; + //If window/app is active draw the highlight/text in active colors - if(![self isHighlighted]) { + if([self showsFirstResponder] && [[[self controlView] window] isKeyWindow]) { + [dict setObject: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionHighlightActiveColor] + forKey: NSBackgroundColorAttributeName]; - if([view selectedRange].length > 0) { - - //Get Attributes of the selected text - NSMutableDictionary *dict = [[[view selectedTextAttributes] mutableCopy] autorelease]; - - if([[[self controlView] window] isKeyWindow]) - { - [dict setObject: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionHighlightActiveColor] - forKey: NSBackgroundColorAttributeName]; - - [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionTextActiveColor] - range: [view selectedRange]]; - } - else - { - [dict setObject: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionHighlightInActiveColor] - forKey: NSBackgroundColorAttributeName]; - - [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionTextInActiveColor] - range: [view selectedRange]]; - } - - [view setSelectedTextAttributes:dict]; - dict = nil; - } else { - - // Only change color (marks view as dirty) if it had a selection at some point, - // thus changing the colors. - if([view textColor] != [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]) { - - [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; - [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; - } - } - } else { + [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionTextActiveColor] + range: [view selectedRange]]; + } + else { + [dict setObject: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionHighlightInActiveColor] + forKey: NSBackgroundColorAttributeName]; - if([self isEnabled]) { - - if([self isHighlighted]) { - - if([[[self controlView] window] isKeyWindow]) - { - - [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionTextActiveColor]]; - } else { - - [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionTextInActiveColor]]; - } - } else { - - [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; - } - } else { - - [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] disabledTextColor]]; - } + [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionTextInActiveColor] + range: [view selectedRange]]; } + [view setSelectedTextAttributes:dict]; + dict = nil; view = nil; // Check to see if the attributed placeholder has been set or not diff --git a/Framework/BGHUDTextFieldCell.m b/Framework/BGHUDTextFieldCell.m index f557be7..265fbdf 100644 --- a/Framework/BGHUDTextFieldCell.m +++ b/Framework/BGHUDTextFieldCell.m @@ -55,12 +55,10 @@ - (id)initTextCell:(NSString *)aString { self.themeKey = @"gradientTheme"; [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; - if([self drawsBackground]) { - + if([self drawsBackground] && [[[BGThemeManager keyedManager] themeForKey: self.themeKey] isOverrideFillColor]) { fillsBackground = YES; + [self setDrawsBackground: NO]; } - - [self setDrawsBackground: NO]; } return self; @@ -82,12 +80,10 @@ - (id)initWithCoder:(NSCoder *) aDecoder { [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; - if([self drawsBackground]) { - + if([self drawsBackground] && [[[BGThemeManager keyedManager] themeForKey: self.themeKey] isOverrideFillColor]) { fillsBackground = YES; + [self setDrawsBackground: NO]; } - - [self setDrawsBackground: NO]; } return self; @@ -180,67 +176,37 @@ -(void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView { //Get TextView for this editor NSTextView* view = (NSTextView*)[[controlView window] fieldEditor: NO forObject: controlView]; + //Set text color + if([self isEnabled]) { + [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; + [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; + } + else { + [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] disabledTextColor]]; + [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] disabledTextColor]]; + } + + //Get Attributes of the selected text + NSMutableDictionary *dict = [[[view selectedTextAttributes] mutableCopy] autorelease]; + //If window/app is active draw the highlight/text in active colors - if(![self isHighlighted]) { + if([self showsFirstResponder] && [[[self controlView] window] isKeyWindow]) { + [dict setObject: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionHighlightActiveColor] + forKey: NSBackgroundColorAttributeName]; - if([view selectedRange].length > 0) { - - //Get Attributes of the selected text - NSMutableDictionary *dict = [[[view selectedTextAttributes] mutableCopy] autorelease]; - - if([[[self controlView] window] isKeyWindow]) - { - [dict setObject: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionHighlightActiveColor] - forKey: NSBackgroundColorAttributeName]; - - [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionTextActiveColor] - range: [view selectedRange]]; - } - else - { - [dict setObject: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionHighlightInActiveColor] - forKey: NSBackgroundColorAttributeName]; - - [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionTextInActiveColor] - range: [view selectedRange]]; - } - - [view setSelectedTextAttributes:dict]; - dict = nil; - } else { - - // Only change color (marks view as dirty) if it had a selection at some point, - // thus changing the colors. - if([view textColor] != [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]) { - - [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; - [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; - } - } - } else { + [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionTextActiveColor] + range: [view selectedRange]]; + } + else { + [dict setObject: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionHighlightInActiveColor] + forKey: NSBackgroundColorAttributeName]; - if([self isEnabled]) { - - if([self isHighlighted]) { - - if([[[self controlView] window] isKeyWindow]) - { - - [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionTextActiveColor]]; - } else { - - [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionTextInActiveColor]]; - } - } else { - - [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; - } - } else { - - [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] disabledTextColor]]; - } + [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionTextInActiveColor] + range: [view selectedRange]]; } + [view setSelectedTextAttributes:dict]; + dict = nil; view = nil; // Check to see if the attributed placeholder has been set or not diff --git a/Framework/BGHUDTokenFieldCell.m b/Framework/BGHUDTokenFieldCell.m index fa2bb6a..9fde6bc 100644 --- a/Framework/BGHUDTokenFieldCell.m +++ b/Framework/BGHUDTokenFieldCell.m @@ -51,12 +51,10 @@ -(id)initTextCell:(NSString *)aString { [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; - if([self drawsBackground]) { - + if([self drawsBackground] && [[[BGThemeManager keyedManager] themeForKey: self.themeKey] isOverrideFillColor]) { fillsBackground = YES; + [self setDrawsBackground: NO]; } - - [self setDrawsBackground: NO]; } return self; @@ -77,12 +75,10 @@ -(id)initWithCoder:(NSCoder *)aDecoder { [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; - if([self drawsBackground]) { - + if([self drawsBackground] && [[[BGThemeManager keyedManager] themeForKey: self.themeKey] isOverrideFillColor]) { fillsBackground = YES; + [self setDrawsBackground: NO]; } - - [self setDrawsBackground: NO]; } return self; @@ -165,41 +161,42 @@ - (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView { } [path release]; - + //Get TextView for this editor NSTextView* view = (NSTextView*)[[controlView window] fieldEditor: NO forObject: controlView]; - [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; - + + //Set text color + if([self isEnabled]) { + [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; + [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; + } + else { + [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] disabledTextColor]]; + [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] disabledTextColor]]; + } + //Get Attributes of the selected text - NSMutableDictionary *dict = [[[view selectedTextAttributes] mutableCopy] autorelease]; - + NSMutableDictionary *dict = [[[view selectedTextAttributes] mutableCopy] autorelease]; + //If window/app is active draw the highlight/text in active colors - if([self showsFirstResponder] && [[[self controlView] window] isKeyWindow]) - { + if([self showsFirstResponder] && [[[self controlView] window] isKeyWindow]) { [dict setObject: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionHighlightActiveColor] forKey: NSBackgroundColorAttributeName]; - + [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionTextActiveColor] range: [view selectedRange]]; } - else - { + else { [dict setObject: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionHighlightInActiveColor] forKey: NSBackgroundColorAttributeName]; - + [view setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] selectionTextInActiveColor] range: [view selectedRange]]; } - + [view setSelectedTextAttributes:dict]; - - if([self isEnabled]) { - - [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor]]; - } else { - - [self setTextColor: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] disabledTextColor]]; - } + dict = nil; + view = nil; [self drawInteriorWithFrame: cellFrame inView: controlView]; } From 0f811ebeb44fc8aba98b4dbb816de2364b757f4f Mon Sep 17 00:00:00 2001 From: CocoaBob Date: Wed, 28 Mar 2012 18:01:47 +0200 Subject: [PATCH 05/25] Implemented the drawing for the Recessed Button. --- Framework/BGHUDButtonCell.h | 1 - Framework/BGHUDButtonCell.m | 82 +++++++++++++++++++++---------------- 2 files changed, 47 insertions(+), 36 deletions(-) diff --git a/Framework/BGHUDButtonCell.h b/Framework/BGHUDButtonCell.h index 4e34ffb..ddd7f5d 100755 --- a/Framework/BGHUDButtonCell.h +++ b/Framework/BGHUDButtonCell.h @@ -37,7 +37,6 @@ #import "BGHUDGeometry.h" @interface BGHUDButtonCell : NSButtonCell { - BOOL isMouseIn; NSString *themeKey; NSButtonType buttonType; } diff --git a/Framework/BGHUDButtonCell.m b/Framework/BGHUDButtonCell.m index db0e270..66b205f 100755 --- a/Framework/BGHUDButtonCell.m +++ b/Framework/BGHUDButtonCell.m @@ -1057,34 +1057,19 @@ -(void)drawRecessedButtonInFrame:(NSRect)frame {//This part is not implemented s switch ([self controlSize]) { default: // Silence uninitialized variable warnings for textFrame fields. case NSRegularControlSize: - - frame.origin.x += 1; - frame.origin.y += 1; - frame.size.width -= 2; - frame.size.height -= 4; - textFrame = frame; break; case NSSmallControlSize: - - frame.origin.x += 1; - frame.origin.y += 1; - frame.size.width -= 2; - frame.size.height -= 3; - textFrame = frame; - textFrame.origin.y += 1; break; case NSMiniControlSize: - - frame.origin.y -= 1; - + frame.size.height -= 4; textFrame = frame; - textFrame.origin.y += 1; break; - } + } + //Create Path NSBezierPath *path = [[NSBezierPath alloc] init]; @@ -1099,29 +1084,56 @@ -(void)drawRecessedButtonInFrame:(NSRect)frame {//This part is not implemented s endAngle: 90]; [path closePath]; + [path setClip]; - if([self isEnabled]) { - if([self state] == 1) { - [[[[BGThemeManager keyedManager] themeForKey: self.themeKey] pushedSolidFill] set]; + NSBezierPath *shadowPath = [[NSBezierPath alloc] init]; + + [shadowPath appendBezierPathWithArcWithCenter: NSMakePoint(NSMinX(frame) + BGCenterY(frame), NSMidY(frame) + 0.5f) + radius: BGCenterY(frame) + 1 + startAngle: 90 + endAngle: 270]; + + [shadowPath appendBezierPathWithArcWithCenter: NSMakePoint(NSMaxX(frame) - BGCenterY(frame), NSMidY(frame) + 0.5f) + radius: BGCenterY(frame) + 1 + startAngle: 270 + endAngle: 90]; + + [shadowPath closePath]; + + //Draw + if([self state] == 1) { + [[[[BGThemeManager keyedManager] themeForKey: self.themeKey] pushedSolidFill] set]; + [path fill]; + //Draw inner shadow + [[NSGraphicsContext currentContext] saveGraphicsState]; + NSShadow *innerShadow = [[NSShadow alloc] init]; + [innerShadow setShadowBlurRadius:1]; + + [innerShadow setShadowColor:[NSColor whiteColor]]; + [innerShadow setShadowOffset:NSMakeSize(0, 1)]; + [innerShadow set]; + [shadowPath stroke]; + + [innerShadow setShadowColor:[NSColor blackColor]]; + [innerShadow setShadowOffset:NSMakeSize(0, -1)]; + [innerShadow set]; + [shadowPath stroke]; + + [innerShadow release]; + [[NSGraphicsContext currentContext] restoreGraphicsState]; + } + else { + if([self isHighlighted]){ + [[[[BGThemeManager keyedManager] themeForKey: self.themeKey] highlightSolidFill] set]; [path fill]; - isMouseIn = NO; } else { - if(isMouseIn){ - [[[[BGThemeManager keyedManager] themeForKey: self.themeKey] highlightSolidFill] set]; - [path fill]; - } - else { - [[[[BGThemeManager keyedManager] themeForKey: self.themeKey] normalSolidFill] set]; - [path fill]; - } + //Transparent } } - else { - [[[[BGThemeManager keyedManager] themeForKey: self.themeKey] disabledNormalSolidFill] set]; - } [path release]; + [shadowPath release]; if([self imagePosition] != NSImageOnly) { [self drawTitle: [self attributedTitle] withFrame: textFrame inView: [self controlView]]; @@ -1134,16 +1146,16 @@ -(void)drawRecessedButtonInFrame:(NSRect)frame {//This part is not implemented s - (void)mouseEntered:(NSEvent *)event{ if ([self bezelStyle] == NSRecessedBezelStyle) { - isMouseIn = YES; [self setHighlighted:YES]; } } + - (void)mouseExited:(NSEvent *)event{ if ([self bezelStyle] == NSRecessedBezelStyle) { - isMouseIn = NO; [self setHighlighted:NO]; } } + #pragma mark - #pragma mark Helper Methods From a2a591fbf87f886d0d7d69f74b15edd427edbcbe Mon Sep 17 00:00:00 2001 From: CocoaBob Date: Thu, 29 Mar 2012 11:03:59 +0200 Subject: [PATCH 06/25] Added HUD Recessed Button to the BGHUDAppKitLibrary.nib --- Framework/BGHUDButtonCell.m | 2 +- .../BGHUDAppKitLibrary.nib/designable.nib | 11670 ++++++++-------- .../BGHUDAppKitLibrary.nib/keyedobjects.nib | Bin 56425 -> 51241 bytes 3 files changed, 5944 insertions(+), 5728 deletions(-) diff --git a/Framework/BGHUDButtonCell.m b/Framework/BGHUDButtonCell.m index 66b205f..bf7b6ce 100755 --- a/Framework/BGHUDButtonCell.m +++ b/Framework/BGHUDButtonCell.m @@ -1041,7 +1041,7 @@ -(void)drawCheckInFrame:(NSRect)frame isRadio:(BOOL)radio{ } } --(void)drawRecessedButtonInFrame:(NSRect)frame {//This part is not implemented so good as the codes from Timothy Davis, but we do need that +-(void)drawRecessedButtonInFrame:(NSRect)frame { NSRect textFrame; //Adjust Rect so strokes are true and diff --git a/Plugin/English.lproj/BGHUDAppKitLibrary.nib/designable.nib b/Plugin/English.lproj/BGHUDAppKitLibrary.nib/designable.nib index 7519308..9223fe5 100644 --- a/Plugin/English.lproj/BGHUDAppKitLibrary.nib/designable.nib +++ b/Plugin/English.lproj/BGHUDAppKitLibrary.nib/designable.nib @@ -1,4521 +1,4695 @@ - - 1050 - 10J567 - 823 - 1038.35 - 462.00 - - YES - - YES - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.IBSDKPlugin - - - YES - 823 - 823 - - - - YES - - - - YES - com.apple.InterfaceBuilder.IBSDKPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - YES - - YES - - - YES - - - - YES - - NSObject - - - FirstResponder - - - NSApplication - - - - 268 - - YES - - - 268 - - YES - - - 268 - {{16, 22}, {48, 32}} - - YES - - 67239424 - 134217728 - - - LucidaGrande - 13 - 1044 - - - -2038284033 - 129 - - - 200 - 25 - - - - {{15, 485}, {80, 80}} - - HUD Push Button - 9A458614-9290-48E0-957B-FCF32C621238 - Push Style Button - - This is a standard HUD push style button. - - YES - - YES - NSFont - NSParagraphStyle - - - YES - - Helvetica - 12 - 16 - - - 4 - - - - - - Views & Cells/Buttons - - - - - - 0 - NO - - - - 268 - {{3, 126}, {98, 32}} - - YES - - 67239424 - 134217728 - Button - - - -2038284033 - 1 - - LucidaGrande - 13 - 16 - - - - 200 - 25 - - - - - 268 - - YES - - - 268 - {{16, 29}, {48, 22}} - - YES - - -1804468671 - 272630784 - - - - YES - - 6 - System - textBackgroundColor - - 3 - MQA - - - - 6 - System - textColor - - 3 - MAA - - - - - - {{15, 397}, {80, 80}} - - HUD Text Field - E6997320-8C35-46B7-BD04-CBAF43C4A31B - Standard HUD TextField - - This is a standard HUD TextField. - - - Views & Cells/Inputs & Values - - - - - - 0 - NO - - - - 268 - - YES - - - 268 - {{16, 29}, {48, 22}} - - YES - - 343014976 - 268436480 - - - - YES - 1 - - - 6 - System - controlTextColor - - - - 130560 - 0 - search - - _searchFieldSearch: - - 138690815 - 0 - - 400 - 75 - - - 130560 - 0 - clear - - YES - - YES - - YES - AXDescription - NSAccessibilityEncodedAttributesValueType - - - YES - cancel - - - - - - _searchFieldCancel: - - 138690815 - 0 - - 400 - 75 - - 255 - - - - {{191, 309}, {80, 80}} - - HUD SearchField - B62652F6-6ADD-4831-AE72-CE8C1CF620FB - Standard HUD SearchField - - This is a standard HUD SearchField. - - - Views & Cells/Inputs & Values - - - - - - 0 - NO - - - - 268 - - YES - - - 268 - - YES - - YES - NSColor pasteboard type - - - {{18, 28}, {44, 23}} - - YES - YES - - 1 - MSAxIDEAA - - - - {{274, 309}, {80, 80}} - - HUD ColorWell - 31E98374-01CA-4CC8-BD91-24BFC7AD55DE - Standard HUD ColorWell - - This is a standard HUD ColorWell. - - - Views & Cells/Inputs & Values - - - - - - 0 - NO - - - - 268 - - YES - - - 268 - {{21, 31}, {38, 17}} - - YES - - 68288064 - 272630784 - Label - - - YES - - 1 - MCAwIDAAA - - - - - - {{362, 312}, {80, 80}} - - HUD Label - ADD9D804-89F9-4217-AA19-945407440DBF - Standard HUD Label - - This is a standard HUD Label. - - - Views & Cells/Inputs & Values - - - - - - 0 - NO - - - - 268 - {{9, 162}, {96, 22}} - - YES - - -1804468671 - 272630784 - - - - YES - - - - - - - 268 - - YES - - - 268 - {{16, 27}, {48, 25}} - - YES - - 67239424 - 134217728 - - - - -2038284033 - 34 - - - - 200 - 25 - - - - {{103, 485}, {80, 80}} - - HUD Gradient Button - 7498A114-D60E-4DB2-8360-2DE6C887CD67 - Gradient Style Button - - This is a standard HUD gradient style button. - - - Views & Cells/Buttons - - - - - - 0 - NO - - - - 268 - {{9, 103}, {98, 25}} - - YES - - 67239424 - 134217728 - Button - - - -2038284033 - 34 - - - - 200 - 25 - - - - - 268 - {{9, 47}, {98, 25}} - - YES - - 67239424 - 134217728 - Button - - - -2038284033 - 35 - - - - 200 - 25 - - - - - 268 - - YES - - - 268 - {{16, 27}, {48, 25}} - - YES - - 67239424 - 134217728 - - - - -2038284033 - 35 - - - - 200 - 25 - - - - {{191, 485}, {80, 80}} - - HUD Rounded Textured Button - 6E2CFD5E-C614-43DE-8C41-383C7DECA36D - Rounded Textured Style Button - - This is a standard HUD rounded textured style button. - - - Views & Cells/Buttons - - - - - - 0 - NO - - - - 268 - {{9, 77}, {98, 19}} - - YES - - 67239424 - 134217728 - Button - - LucidaGrande - 12 - 16 - - - -2038284033 - 36 - - - - 200 - 25 - - - - - 268 - - YES - - - 268 - {{16, 29}, {48, 19}} - - YES - - 67239424 - 134217728 - - - - -2038284033 - 36 - - - - 200 - 25 - - - - {{274, 485}, {80, 80}} - - HUD Rounded Rect Button - 88B26E1E-932E-4B03-A84E-D071E5B9E436 - Rounded Rect Style Button - - This is a standard HUD rounded rect style button. - - - Views & Cells/Buttons - - - - - - 0 - NO - - - - 268 - - YES - - - 268 - {{16, 26}, {48, 26}} - - YES - - -2076049856 - 2048 - - - 109199615 - 1 - - - 400 - 75 - - - - - 1048576 - 2147483647 - 1 - - NSImage - NSMenuCheckmark - - - NSImage - NSMenuMixedState - - _popUpItemAction: - - - YES - - OtherViews - - YES - - - - Item 2 - - 1048576 - 2147483647 - - - _popUpItemAction: - - - - - Item 3 - - 1048576 - 2147483647 - - - _popUpItemAction: - - - - - 1 - YES - YES - 2 - - - - {{103, 397}, {80, 80}} - - HUD Pop Up Button - 40B22368-C422-47C9-837B-D08750CC8312 - Standard HUD Pop Up Button - - This is a standard HUD Pop Up Button - - - Views & Cells/Inputs & Values - - - - - - 0 - NO - - - - 268 - {{8, 16}, {100, 26}} - - YES - - -2076049856 - 2048 - - - 109199615 - 1 - - - 400 - 75 - - - Item 1 - - 1048576 - 2147483647 - 1 - - - _popUpItemAction: - - - YES - - OtherViews - - YES - - - - Item 2 - - 1048576 - 2147483647 - - - _popUpItemAction: - - - - - Item 3 - - 1048576 - 2147483647 - - - _popUpItemAction: - - - - - 1 - YES - YES - 2 - - - - - 268 - - YES - - - 268 - {{29, 15}, {21, 48}} - - YES - - 67239424 - 0 - - - - 100 - 0.0 - 50.251260000000002 - 0.0 - 0 - 0 - NO - YES - - - - {{191, 397}, {80, 80}} - - HUD Vertical Slider - B8F9286C-00FE-4697-8B9A-F27EE5586BAF - Standard HUD Vertical Slider - - This is a standard HUD Vertical Slider - - - Views & Cells/Inputs & Values - - - - - - 0 - NO - - - - 268 - {{110, 90}, {21, 96}} - - YES - - 67239424 - 0 - - - - 100 - 0.0 - 50.251260000000002 - 0.0 - 0 - 0 - NO - YES - - - - - 268 - - YES - - - 268 - {{16, 28}, {48, 21}} - - YES - - -2080244224 - 0 - - - - 100 - 0.0 - 50 - 0.0 - 0 - 1 - NO - NO - - - - {{274, 397}, {80, 80}} - - HUD Horizontal Slider - 15247524-BAA8-4728-84AE-A93C162DC76E - Standard HUD Horizontal Slider - - This is a standard HUD Horizontal Slider - - - Views & Cells/Inputs & Values - - - - - - 0 - NO - - - - 268 - {{134, 142}, {96, 21}} - - YES - - -2080244224 - 0 - - - - 100 - 0.0 - 50 - 0.0 - 0 - 1 - NO - NO - - - - - 268 - - YES - - - 268 - - YES - - YES - Apple PDF pasteboard type - Apple PICT pasteboard type - Apple PNG pasteboard type - NSFilenamesPboardType - NeXT Encapsulated PostScript v1.2 pasteboard type - NeXT TIFF v4.0 pasteboard type - - - {{16, 16}, {48, 48}} - - YES - - 130560 - 33554432 - - NSImage - textview - - 0 - 2 - 0 - NO - - YES - - - {{362, 397}, {80, 80}} - - HUD Text View - C0A38C39-E326-4654-92B7-A6926742EBA7 - Standard HUD Text View - - This is a standard HUD Text View - - - Views & Cells/Inputs & Values - - - - - - 0 - NO - - - - 268 - - YES - - - 268 - - YES - - YES - Apple PDF pasteboard type - Apple PICT pasteboard type - Apple PNG pasteboard type - NSFilenamesPboardType - NeXT Encapsulated PostScript v1.2 pasteboard type - NeXT TIFF v4.0 pasteboard type - - - {{16, 16}, {48, 48}} - - YES - - 130560 - 33554432 - - NSImage - scrollview - - 0 - 2 - 0 - NO - - YES - - - {{450, 309}, {80, 80}} - - HUD Scroll View - A434DEBA-562F-411B-9A49-652F20DDCEFF - Standard HUD ScrollView - - This is a standard HUD Scroll View - - - Views & Cells/Layout Views - - - - - - 0 - NO - - - - 256 - - YES - - - 2304 - - YES - - - 2322 - - YES - - YES - Apple HTML pasteboard type - Apple PDF pasteboard type - Apple PICT pasteboard type - Apple PNG pasteboard type - Apple URL pasteboard type - CorePasteboardFlavorType 0x6D6F6F76 - CorePasteboardFlavorType 0x75726C20 - NSColor pasteboard type - NSFilenamesPboardType - NSStringPboardType - NeXT Encapsulated PostScript v1.2 pasteboard type - NeXT RTFD pasteboard type - NeXT Rich Text Format v1.0 pasteboard type - NeXT TIFF v4.0 pasteboard type - NeXT font pasteboard type - NeXT ruler pasteboard type - WebURLsWithTitlesPboardType - public.url - - - {197, 204} - - - - - - Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum Et harumd und lookum like Greek to me, dereud facilis est er expedit distinct. Nam liber te conscient to factor tum poen legum odioque civiuda - - - YES - - YES - - YES - NSColor - NSFont - NSParagraphStyle - - - YES - - 3 - MQA - - 2 - - - - LucidaGrande - 10 - 2843 - - - 3 - - YES - - 0.0 - - - 56 - - - 112 - - - 168 - - - 224 - - - 280 - - - 336 - - - 392 - - - 448 - - - 504 - - - 560 - - - 616 - - - 672 - - - 728 - - - 784 - - - 840 - - - 896 - - - 952 - - - 1008 - - - 1064 - - - 1120 - - - 1176 - - - 1232 - - - 1288 - - - 1344 - - - 1400 - - - 1456 - - - 1512 - - - 1568 - - - 1624 - - - 1680 - - - 1736 - - - - - - - YES - - YES - NSColor - NSFont - NSParagraphStyle - - - YES - - - LucidaGrande-Bold - 10 - 16 - - - 3 - - YES - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - GQAEAQgADAEiAAcBhAQAA - - - - - YES - - - 6 - - - - 197 - 1 - - - 10983 - 0 - - - - YES - - YES - NSBackgroundColor - NSColor - - - YES - - 6 - System - selectedTextBackgroundColor - - 3 - MC42NjY2NjY2ODY1AA - - - - 6 - System - selectedTextColor - - - - - - 3 - MQA - - - - YES - - YES - NSColor - NSUnderline - - - YES - - 1 - MCAwIDEAA - - - - - - - 6 - {454, 1e+07} - {78, 0} - - - - {{1, 1}, {197, 105}} - - - - - - {4, -5} - 1 - - 2 - - - - 256 - {{198, 1}, {15, 105}} - - YES - - _doScroller: - 0.51470589637756348 - - - - -2147483392 - {{-100, -100}, {87, 18}} - - 1 - - _doScroller: - 1 - 0.94565218687057495 - - - {{140, 20}, {214, 107}} - - - 82 - - - - - - - 268 - - YES - - - 1292 - - {{16, 28}, {48, 20}} - - 16394 - 20 - 100 - - - {{362, 485}, {80, 80}} - - HUD Indeterminate Progress - D9CCEA37-96EF-4CD1-84F4-C759A788CB9D - Standard HUD Indeterminate Progress - - This is a standard HUD Indeterminate Progress - - - Views & Cells/Inputs & Values - - - - - - 0 - NO - - - - 1292 - - {{138, 165}, {96, 20}} - - 16394 - 20 - 100 - - - - 268 - - YES - - - 268 - {{16, 29}, {48, 22}} - - YES - - -1804468671 - 272630784 - test - - - YES - - - - - - {{450, 485}, {80, 80}} - - HUD Secure Text Field - AB5888C4-8D08-4992-8DC0-9FF2FEB69523 - Standard HUD Secure Text Field - - This is a standard HUD Secure Text Field - - - Views & Cells/Inputs & Values - - - - - - 0 - NO - - - - 268 - {{240, 166}, {96, 22}} - - YES - - -1804468671 - 272630784 - - - - YES - - - - - - - 268 - - YES - - - 268 - - YES - - YES - NSStringPboardType - - - {{16, 29}, {48, 22}} - - YES - - 341966336 - 0 - - - 77+8A - - - YES - - YES - NSAttachment - NSColor - NSFont - NSOriginalFont - NSParagraphStyle - - - YES - - - - 337772096 - 134219776 - . - - LucidaGrande - 12 - 4883 - - . - - - - - - - - - - - - - - - - YES - - - - 0.0 - 0 - - YES - . - - - 2 - - - {{450, 397}, {80, 80}} - - HUD Token Field - DB8DE857-A6D8-43D1-A32D-9306562E3F5B - Standard HUD Token Field - - This is a standard HUD Token Field - - - Views & Cells/Inputs & Values - - - - - - 0 - NO - - - - 268 - - YES - - YES - NSStringPboardType - - - {{240, 136}, {96, 22}} - - YES - - 341966336 - 0 - - - YES - - - - 0.0 - 0 - - 2 - - - - 268 - - YES - - - 268 - - YES - - YES - Apple PDF pasteboard type - Apple PICT pasteboard type - Apple PNG pasteboard type - NSFilenamesPboardType - NeXT Encapsulated PostScript v1.2 pasteboard type - NeXT TIFF v4.0 pasteboard type - - - {{16, 16}, {48, 48}} - - YES - - 130560 - 33554432 - - NSImage - tableview - - 0 - 2 - 0 - NO - - YES - - - {{538, 485}, {80, 80}} - - HUD Table View - D6283218-9061-4873-872B-38AB9590810B - Standard HUD Table View - - This is a standard HUD Table View - - - Views & Cells/Data Views - - - - - - 0 - NO - - - - 268 - - YES - - - 2304 - - YES - - - 256 - {223, 102} - - YES - - - 256 - {223, 17} - - - - - - 256 - {{224, 0}, {16, 17}} - - - - YES - - 101 - 40 - 1000 - - 75628096 - 2048 - - - LucidaGrande - 11 - 3100 - - - 3 - MC4zMzMzMzI5ODU2AA - - - 6 - System - headerTextColor - - - - - 337772096 - 2048 - Text Cell - - - - 6 - System - controlBackgroundColor - - - - - 3 - YES - YES - - - - 116 - 40 - 1000 - - 75628096 - 2048 - - - - - - - 337772096 - 2048 - Text Cell - - - - - - 3 - YES - YES - - - - 3 - 2 - - - 6 - System - gridColor - - 3 - MC41AA - - - 17 - -700448768 - - - 4 - 15 - 0 - YES - 0 - - - {{1, 17}, {223, 102}} - - - - - 2 - - - - 256 - {{224, 17}, {15, 102}} - - - _doScroller: - 37 - 0.1947367936372757 - - - - 256 - {{1, 119}, {223, 15}} - - 1 - - _doScroller: - 0.57142859697341919 - - - - 2304 - - YES - - - {{1, 0}, {223, 17}} - - - - - 4 - - - - {{362, 20}, {240, 135}} - - - 50 - - - - - - QSAAAEEgAABBmAAAQZgAAA - - - - 268 - - YES - - - 268 - - YES - - YES - Apple PDF pasteboard type - Apple PICT pasteboard type - Apple PNG pasteboard type - NSFilenamesPboardType - NeXT Encapsulated PostScript v1.2 pasteboard type - NeXT TIFF v4.0 pasteboard type - - - {{16, 16}, {48, 48}} - - YES - - 130560 - 33554432 - - NSImage - outlineview - - 0 - 2 - 0 - NO - - YES - - - {{538, 397}, {80, 80}} - - HUD Outline View - DABD2BC0-1A11-4B5E-9E36-9D171A1B736F - Standard HUD Outline View - - This is a standard HUD Outline View - - - Views & Cells/Data Views - - - - - - 0 - NO - - - - 268 - - YES - - - 2304 - - YES - - - 256 - {223, 102} - - YES - - - 256 - {223, 17} - - - - - - 256 - {{224, 0}, {16, 17}} - - - - YES - - 101 - 16 - 1000 - - 75628096 - 2048 - - - - 3 - MC4zMzMzMzI5ODU2AA - - - - - 337772096 - 2048 - Text Cell - - - - - - 3 - YES - YES - - - - 116 - 40 - 1000 - - 75628096 - 2048 - - - - - - - 337772096 - 2048 - Text Cell - - - - - - 3 - YES - YES - - - - 3 - 2 - - - 17 - -767557632 - - - 4 - 15 - 0 - YES - 0 - - - {{1, 17}, {223, 102}} - - - - - 2 - - - - 256 - {{224, 17}, {15, 102}} - - - _doScroller: - 37 - 0.13909779489040375 - - - - 256 - {{1, 119}, {223, 15}} - - 1 - - _doScroller: - 0.57142859697341919 - - - - 2304 - - YES - - - {{1, 0}, {223, 17}} - - - - - 4 - - - - {{362, 169}, {240, 135}} - - - 50 - - - - - - QSAAAEEgAABBmAAAQZgAAA - - - - 268 - - YES - - - 268 - {{16, 27}, {48, 24}} - - YES - - 67239424 - 0 - - - - YES - - 13 - - 0 - - - 14 - - 1 - YES - 0 - - - 13 - 0 - - - 1 - 1 - - - - {{103, 309}, {80, 80}} - - HUD Segmented Control - 4F0FD8C5-8E31-42FE-B470-E92360612AAC - Standard HUD Segmented Control - - This is a standard HUD Segmented Control - - - Views & Cells/Inputs & Values - - - - - - 0 - NO - - - - 268 - {{15, 225}, {104, 24}} - - YES - - 67239424 - 0 - - - - YES - - 32 - - 0 - - - 32 - - 1 - YES - 0 - - - 32 - 0 - - - 1 - 1 - - - - - 268 - {{166, 225}, {96, 22}} - - YES - - 343014976 - 268436480 - - - - YES - 1 - - - - 130560 - 0 - search - - _searchFieldSearch: - - 138690815 - 0 - - 400 - 75 - - - 130560 - 0 - clear - - YES - - YES - - YES - AXDescription - NSAccessibilityEncodedAttributesValueType - - - YES - cancel - - - - - - _searchFieldCancel: - - 138690815 - 0 - - 400 - 75 - - 255 - - - - - 268 - - YES - - YES - NSColor pasteboard type - - - {{287, 225}, {44, 23}} - - YES - YES - - - - - 268 - {{205, 271}, {38, 17}} - - YES - - 68288064 - 272630784 - Label - - - - 6 - System - controlColor - - - - - - - - 268 - - YES - - - 2304 - - YES - - - 274 - {166, 79} - - NSView - - - {{1, 1}, {166, 79}} - - - - - 4 - - - - 256 - {{167, 1}, {15, 79}} - - - _doScroller: - 1 - 0.96363627910614014 - - - - 256 - {{1, 80}, {166, 15}} - - 1 - - _doScroller: - 0.50602412223815918 - - - {{610, 20}, {183, 96}} - - - 50 - - - - - - - 268 - - YES - - - 268 - {{22, 27}, {41, 26}} - - YES - - 343014976 - 272630784 - - - - - - 5 - YES - - - - 274 - {15, 0} - - - YES - - YES - - - 12 - 10 - 1000 - - 75628032 - 0 - - - - 3 - MC4zMzMzMzI5ODU2AA - - - - - 338820672 - 1024 - - - YES - - - - 3 - YES - - - - 3 - 2 - - - 19 - tableViewAction: - -767524864 - - - - 1 - 15 - 0 - YES - 0 - - - - - {{538, 309}, {80, 80}} - - HUD Combo Box - F8E3BE43-F5D7-4073-9799-36AF1601A73F - Standard HUD Combo Box - - This is a standard HUD Combo Box - - - Views & Cells/Inputs & Values - - - - - - 0 - NO - - - - 268 - - YES - - - 268 - {{16, 16}, {48, 48}} - - BGHUDView - - - {{626, 485}, {80, 80}} - - HUD View - E28E37F7-4498-4135-B0B5-4AE3A877E3F5 - Standard HUD View - - This is a standard HUD View - - - Views & Cells/Layout Views - - - - - - 0 - NO - - - - 268 - {{610, 130}, {99, 26}} - - YES - - 343014976 - 272630784 - - - - - - 5 - YES - - - - 274 - {15, 0} - - - YES - - YES - - - 12 - 10 - 1000 - - 75628032 - 0 - - - - 3 - MC4zMzMzMzI5ODU2AA - - - - - 338820672 - 1024 - - - YES - - - - 3 - YES - - - - 3 - 2 - - - 19 - tableViewAction: - -767524864 - - - - 1 - 15 - 0 - YES - 0 - - - - - - 268 - {{610, 206}, {167, 76}} - - BGHUDView - - - - 268 - - YES - - - 12 - - YES - - - 256 - {{1, 1}, {46, 46}} - - - - {{16, 14}, {48, 48}} - - {0, 0} - - 67239424 - 0 - Box - - - - 3 - MCAwLjgwMDAwMDAxMTkAA - - - - 1 - 4 - 0 - NO - - - {{626, 397}, {80, 80}} - - HUD Box - 1B113958-D259-4FD7-AD00-6E1E21AFC80E - Standard HUD Box - - This is a standard HUD Box - - - Views & Cells/Layout Views - - - - - - 0 - NO - - - - 268 - - YES - - - 268 - {{30, 26}, {19, 27}} - - YES - - 917024 - 0 - - 100 - 1 - YES - - - - {{714, 485}, {80, 80}} - - HUD Stepper - 06873AAB-D492-4456-8E7F-515488C4AB38 - Standard HUD Stepper - - This is a standard HUD Stepper - - - Views & Cells/Inputs & Values - - - - - - 0 - NO - - - - 268 - - YES - - - 268 - - YES - - YES - Apple PDF pasteboard type - Apple PICT pasteboard type - Apple PNG pasteboard type - NSFilenamesPboardType - NeXT Encapsulated PostScript v1.2 pasteboard type - NeXT TIFF v4.0 pasteboard type - - - {{16, 16}, {48, 48}} - - YES - - 130560 - 33554432 - - NSImage - tabview - - 0 - 2 - 0 - NO - - YES - - - {{714, 397}, {80, 80}} - - HUD TabView - 6BF98D36-8742-4BC4-9603-0090DB06A6C1 - Standard HUD TabView - - This is a standard HUD Stepper - - - Views & Cells/Layout Views - - - - - - 0 - NO - - - - 12 - - YES - - - 256 - {{1, 1}, {128, 82}} - - - - {{685, 296}, {130, 84}} - - {0, 0} - - 67239424 - 0 - Box - - - - 3 - MCAwLjgwMDAwMDAxMTkAA - - - - 1 - 4 - 0 - NO - - - - 268 - {{613, 166}, {19, 27}} - - YES - - 917024 - 0 - - 100 - 1 - YES - - - - - 12 - {{802, 21}, {308, 191}} - - - YES - - 1 - - - 256 - {{10, 33}, {288, 145}} - - - Tab - - - - - 2 - - - 256 - {{10, 33}, {288, 145}} - - View - - - - - - - 0 - YES - YES - - YES - - - - - {1147, 585} - - NSView - - - - - YES - - - draggedView - - - - 30 - - - - representedObject - - - - 31 - - - - draggedView - - - - 50 - - - - representedObject - - - - 51 - - - - draggedView - - - - 57 - - - - representedObject - - - - 58 - - - - representedObject - - - - 64 - - - - draggedView - - - - 65 - - - - representedObject - - - - 71 - - - - draggedView - - - - 72 - - - - draggedView - - - - 92 - - - - representedObject - - - - 93 - - - - draggedView - - - - 130 - - - - representedObject - - - - 131 - - - - draggedView - - - - 136 - - - - representedObject - - - - 137 - - - - draggedView - - - - 153 - - - - representedObject - - - - 154 - - - - draggedView - - - - 166 - - - - representedObject - - - - 167 - - - - draggedView - - - - 176 - - - - representedObject - - - - 177 - - - - draggedView - - - - 185 - - - - representedObject - - - - 186 - - - - draggedView - - - - 217 - - - - representedObject - - - - 218 - - - - draggedView - - - - 233 - - - - representedObject - - - - 234 - - - - draggedView - - - - 251 - - - - representedObject - - - - 252 - - - - draggedView - - - - 260 - - - - representedObject - - - - 261 - - - - draggedView - - - - 267 - - - - representedObject - - - - 268 - - - - draggedView - - - - 275 - - - - representedObject - - - - 276 - - - - draggedView - - - - 289 - - - - representedObject - - - - 290 - - - - draggedView - - - - 302 - - - - representedObject - - - - 303 - - - - draggedView - - - - 313 - - - - representedObject - - - - 314 - - - - draggedView - - - - 315 - - - - representedObject - - - - 316 - - - - draggedView - - - - 323 - - - - representedObject - - - - 324 - - - - draggedView - - - - 333 - - - - representedObject - - - - 334 - - - - - YES - - 0 - - - - - - -2 - - - File's Owner - - - -1 - - - First Responder - - - -3 - - - Application - - - 7 - - - YES - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Library Objects - - - 19 - - - YES - - - - - - 26 - - - YES - - - - - - 27 - - - - - 43 - - - YES - - - - - - 46 - - - YES - - - - - - 47 - - - - - 48 - - - YES - - - - - - 49 - - - - - 52 - - - YES - - - - - - 53 - - - YES - - - - - - 54 - - - - - 59 - - - YES - - - - - - 60 - - - YES - - - - - - 63 - - - - - 66 - - - YES - - - - - - 67 - - - YES - - - - - - 70 - - - - - 74 - - - YES - - - - - - 80 - - - YES - - - - - - 81 - - - YES - - - - - - 82 - - - YES - - - - - - - - 83 - - - - - 84 - - - - - 85 - - - - - 86 - - - YES - - - - - - 87 - - - YES - - - - - - 88 - - - YES - - - - - - - - 89 - - - - - 90 - - - - - 91 - - - - - 94 - - - YES - - - - - - 95 - - - - - 100 - - - YES - - - - - - 101 - - - - - 102 - - - YES - - - - - - 103 - - - - - 104 - - - YES - - - - - - 105 - - - - - 107 - - - YES - - - - - - 121 - - - YES - - - - - - 122 - - - - - 123 - - - YES - - - - - - 124 - - - - - 125 - - - YES - - - - - - 132 - - - YES - - - - - - 133 - - - - - 134 - - - YES - - - - - - 135 - - - - - 138 - - - YES - - - - - - 145 - - - YES - - - - - - - - 146 - - - - - 147 - - - - - 148 - - - - - 155 - - - YES - - - - - - 156 - - - - - 157 - - - YES - - - - - - 164 - - - - - 165 - - - - - 168 - - - YES - - - - - - 172 - - - YES - - - - - - 173 - - - - - 174 - - - YES - - - - - - 175 - - - - - 178 - - - YES - - - - - - 181 - - - YES - - - - - - 182 - - - - - 183 - - - YES - - - - - - 184 - - - - - 187 - - - YES - - - - - - 190 - - - YES - - - - - - - - - 191 - - - - - 192 - - - - - 193 - - - YES - - - - - - - 194 - - - - - 195 - - - YES - - - - - - 196 - - - YES - - - - - - 197 - - - - - 198 - - - - - 219 - - - YES - - - - - - 220 - - - - - 221 - - - YES - - - - - - 222 - - - YES - - - - - - 223 - - - - - 224 - - - YES - - - - - - - - - 225 - - - - - 226 - - - - - 227 - - - YES - - - - - - - 228 - - - - - 229 - - - YES - - - - - - 230 - - - YES - - - - - - 231 - - - - - 232 - - - - - 244 - - - YES - - - - - - 247 - - - YES - - - - - - 248 - - - - - 249 - - - YES - - - - - - 250 - - - - - 253 - - - YES - - - - - - 256 - - - YES - - - - - - 257 - - - - - 258 - - - YES - - - - - - 259 - - - - - 262 - - - YES - - - - - - 265 - - - - - 266 - - - - - 269 - - - YES - - - - - - 273 - - - YES - - - - - - 274 - - - - - 271 - - - YES - - - - - - 272 - - - - - 282 - - - YES - - - - - - - - 283 - - - - - 284 - - - - - 285 - - - - - 286 - - - YES - - - - - - 287 - - - YES - - - - - - 288 - - - - - 291 - - - YES - - - - - - 298 - - - YES - - - - - - 299 - - - - - 300 - - - YES - - - - - - 301 - - - - - 304 - - - YES - - - - - - 307 - - - - - 308 - - - - - 309 - - - YES - - - - - - 311 - - - - - 312 - - - - - 317 - - - YES - - - - - - 319 - - - YES - - - - - - 320 - - - - - 321 - - - YES - - - - - - 322 - - - - - 325 - - - YES - - - - - - 328 - - - YES - - - - - - - 329 - - - YES - - - - - - 330 - - - YES - - - - - - 331 - - - - - 332 - - - - - 335 - - - YES - - - - - - 336 - - - - - - - YES - - YES - -3.IBPluginDependency - 100.IBPluginDependency - 100.notes - 100.showNotes - 101.CustomClassName - 101.IBPluginDependency - 102.IBPluginDependency - 102.notes - 102.showNotes - 103.CustomClassName - 103.IBPluginDependency - 104.IBPluginDependency - 104.notes - 104.showNotes - 105.CustomClassName - 105.IBPluginDependency - 107.IBPluginDependency - 107.notes - 107.showNotes - 121.IBPluginDependency - 122.CustomClassName - 122.IBPluginDependency - 123.IBPluginDependency - 124.CustomClassName - 124.IBPluginDependency - 125.IBPluginDependency - 125.notes - 125.showNotes - 132.IBPluginDependency - 133.CustomClassName - 133.IBPluginDependency - 134.IBPluginDependency - 135.CustomClassName - 135.IBPluginDependency - 138.IBPluginDependency - 138.notes - 138.showNotes - 145.CustomClassName - 145.IBPluginDependency - 146.IBPluginDependency - 147.IBPluginDependency - 148.IBPluginDependency - 155.IBPluginDependency - 156.IBPluginDependency - 157.IBPluginDependency - 157.notes - 157.showNotes - 164.CustomClassName - 164.IBPluginDependency - 165.CustomClassName - 165.IBPluginDependency - 168.IBPluginDependency - 168.notes - 168.showNotes - 172.IBPluginDependency - 173.CustomClassName - 173.IBPluginDependency - 174.IBPluginDependency - 175.CustomClassName - 175.IBPluginDependency - 178.IBPluginDependency - 178.notes - 178.showNotes - 181.IBPluginDependency - 182.CustomClassName - 182.IBPluginDependency - 183.IBPluginDependency - 184.CustomClassName - 184.IBPluginDependency - 187.IBPluginDependency - 187.notes - 187.showNotes - 19.IBPluginDependency - 19.notes - 19.showNotes - 190.CustomClassName - 190.IBPluginDependency - 191.IBPluginDependency - 192.IBPluginDependency - 193.CustomClassName - 193.IBPluginDependency - 194.IBPluginDependency - 195.IBPluginDependency - 196.IBPluginDependency - 197.IBPluginDependency - 198.IBPluginDependency - 219.IBPluginDependency - 220.IBPluginDependency - 221.IBPluginDependency - 221.notes - 221.showNotes - 222.IBPluginDependency - 223.IBPluginDependency - 224.CustomClassName - 224.IBPluginDependency - 225.IBPluginDependency - 226.IBPluginDependency - 227.CustomClassName - 227.IBPluginDependency - 228.IBPluginDependency - 229.IBPluginDependency - 230.IBPluginDependency - 231.IBPluginDependency - 232.IBPluginDependency - 244.IBPluginDependency - 244.notes - 244.showNotes - 247.IBPluginDependency - 248.CustomClassName - 248.IBPluginDependency - 249.IBPluginDependency - 250.CustomClassName - 250.IBPluginDependency - 253.IBPluginDependency - 253.notes - 253.showNotes - 256.IBPluginDependency - 257.CustomClassName - 257.IBPluginDependency - 258.IBPluginDependency - 259.CustomClassName - 259.IBPluginDependency - 26.IBPluginDependency - 26.notes - 26.showNotes - 262.IBPluginDependency - 262.notes - 262.showNotes - 265.CustomClassName - 265.IBPluginDependency - 266.CustomClassName - 266.IBPluginDependency - 269.IBPluginDependency - 269.notes - 269.showNotes - 27.CustomClassName - 27.IBPluginDependency - 271.CustomClassName - 271.IBPluginDependency - 272.IBPluginDependency - 273.CustomClassName - 273.IBPluginDependency - 274.IBPluginDependency - 282.CustomClassName - 282.IBPluginDependency - 283.IBPluginDependency - 284.IBPluginDependency - 285.IBPluginDependency - 286.IBPluginDependency - 286.notes - 286.showNotes - 287.IBPluginDependency - 288.IBPluginDependency - 291.IBPluginDependency - 291.notes - 291.showNotes - 298.IBPluginDependency - 299.CustomClassName - 299.IBPluginDependency - 300.IBPluginDependency - 301.CustomClassName - 301.IBPluginDependency - 304.IBPluginDependency - 304.notes - 304.showNotes - 307.IBPluginDependency - 308.IBPluginDependency - 309.IBPluginDependency - 309.notes - 309.showNotes - 311.CustomClassName - 311.IBPluginDependency - 312.CustomClassName - 312.IBPluginDependency - 317.IBPluginDependency - 317.notes - 317.showNotes - 319.IBPluginDependency - 320.CustomClassName - 320.IBPluginDependency - 321.IBPluginDependency - 322.CustomClassName - 322.IBPluginDependency - 325.IBPluginDependency - 325.notes - 325.showNotes - 328.CustomClassName - 328.IBPluginDependency - 331.IBPluginDependency - 332.IBPluginDependency - 335.IBPluginDependency - 336.IBPluginDependency - 43.IBPluginDependency - 43.notes - 43.showNotes - 46.IBPluginDependency - 47.CustomClassName - 47.IBPluginDependency - 48.IBPluginDependency - 49.CustomClassName - 49.IBPluginDependency - 52.IBPluginDependency - 52.IBViewBoundsToFrameTransform - 52.notes - 52.showNotes - 53.IBPluginDependency - 53.notes - 53.showNotes - 54.CustomClassName - 54.IBPluginDependency - 59.IBPluginDependency - 59.notes - 59.showNotes - 60.IBPluginDependency - 60.notes - 60.showNotes - 63.CustomClassName - 63.IBPluginDependency - 66.IBPluginDependency - 66.notes - 66.showNotes - 67.IBPluginDependency - 67.notes - 67.showNotes - 7.IBEditorWindowLastContentRect - 7.IBPluginDependency - 7.IBUserGuides - 7.WindowOrigin - 7.editorWindowContentRectSynchronizationRect - 70.CustomClassName - 70.IBPluginDependency - 74.IBPluginDependency - 74.notes - 74.showNotes - 80.IBPluginDependency - 81.CustomClassName - 81.IBPluginDependency - 82.IBPluginDependency - 83.IBPluginDependency - 84.IBPluginDependency - 85.IBPluginDependency - 86.IBPluginDependency - 87.CustomClassName - 87.IBPluginDependency - 88.IBEditorWindowLastContentRect - 88.IBPluginDependency - 89.IBPluginDependency - 90.IBPluginDependency - 91.IBPluginDependency - 94.IBPluginDependency - 95.CustomClassName - 95.IBPluginDependency - - - YES - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - This button is connected to its IBLibraryTemplateObject. - - YES - - - YES - - - - - BGHUDButtonCell - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - This button is connected to its IBLibraryTemplateObject. - - - - BGHUDButtonCell - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - This button is connected to its IBLibraryTemplateObject. - - - - BGHUDButtonCell - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.IBSDKPlugin - - VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g + + 1050 + 11D50 + 851 + 1138.32 + 568.00 + + YES + + YES + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.IBSDKPlugin + + + YES + 851 + 851 + + + + YES + + + + YES + com.apple.InterfaceBuilder.IBSDKPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + + YES + + YES + + + YES + + + + YES + + NSObject + + + FirstResponder + + + NSApplication + + + + 268 + + YES + + + 268 + + YES + + + 268 + {{16, 22}, {48, 32}} + + YES + + 67239424 + 134217728 + + + LucidaGrande + 13 + 1040 + + + -2038284033 + 129 + + + 200 + 25 + + + + {{15, 485}, {80, 80}} + + 9A458614-9290-48E0-957B-FCF32C621238 + HUD Push Button + 9A458614-9290-48E0-957B-FCF32C621238 + Push Style Button + + This is a standard HUD push style button. + + YES + + YES + NSFont + NSParagraphStyle + + + YES + + Helvetica + 12 + 16 + + + 4 + + + + + + Views & Cells/Buttons + + + + + + 0 + NO + + + + 268 + {{3, 197}, {98, 19}} + + YES + + 67239424 + 134217728 + Button + + LucidaGrande-Bold + 12 + 16 + + + -1232977665 + 45 + + LucidaGrande + 12 + 16 + + + + 200 + 25 + + + + + 268 + {{3, 126}, {98, 32}} + + YES + + 67239424 + 134217728 + Button + + + -2038284033 + 1 + + LucidaGrande + 13 + 16 + + + + 200 + 25 + + + + + 268 + + YES + + + 268 + {{16, 29}, {48, 22}} + + YES + + -1804468671 + 272630784 + + + + YES + + 6 + System + textBackgroundColor + + 3 + MQA + + + + 6 + System + textColor + + 3 + MAA + + + + + + {{15, 397}, {80, 80}} + + E6997320-8C35-46B7-BD04-CBAF43C4A31B + HUD Text Field + E6997320-8C35-46B7-BD04-CBAF43C4A31B + Standard HUD TextField + + This is a standard HUD TextField. + + + Views & Cells/Inputs & Values + + + + + + 0 + NO + + + + 268 + + YES + + + 268 + {{16, 29}, {48, 22}} + + YES + + 343014976 + 268436480 + + + + YES + 1 + + + 6 + System + controlTextColor + + + + 130560 + 0 + search + + _searchFieldSearch: + + 138690815 + 0 + + 400 + 75 + + + 130560 + 0 + clear + + YES + + YES + + YES + AXDescription + NSAccessibilityEncodedAttributesValueType + + + YES + cancel + + + + + + _searchFieldCancel: + + 138690815 + 0 + + 400 + 75 + + 255 + + + + {{191, 309}, {80, 80}} + + B62652F6-6ADD-4831-AE72-CE8C1CF620FB + HUD SearchField + B62652F6-6ADD-4831-AE72-CE8C1CF620FB + Standard HUD SearchField + + This is a standard HUD SearchField. + + + Views & Cells/Inputs & Values + + + + + + 0 + NO + + + + 268 + + YES + + + 268 + + YES + + YES + NSColor pasteboard type + + + {{18, 28}, {44, 23}} + + YES + YES + + 1 + MSAxIDEAA + + + + {{274, 309}, {80, 80}} + + 31E98374-01CA-4CC8-BD91-24BFC7AD55DE + HUD ColorWell + 31E98374-01CA-4CC8-BD91-24BFC7AD55DE + Standard HUD ColorWell + + This is a standard HUD ColorWell. + + + Views & Cells/Inputs & Values + + + + + + 0 + NO + + + + 268 + + YES + + + 268 + {{21, 31}, {38, 17}} + + YES + + 68288064 + 272630784 + Label + + + YES + + 1 + MCAwIDAAA + + + + + + {{362, 312}, {80, 80}} + + ADD9D804-89F9-4217-AA19-945407440DBF + HUD Label + ADD9D804-89F9-4217-AA19-945407440DBF + Standard HUD Label + + This is a standard HUD Label. + + + Views & Cells/Inputs & Values + + + + + + 0 + NO + + + + 268 + {{9, 162}, {96, 22}} + + YES + + -1804468671 + 272630784 + + + + YES + + + + + + + 268 + + YES + + + 268 + {{16, 27}, {48, 25}} + + YES + + 67239424 + 134217728 + + + + -2038284033 + 34 + + + + 200 + 25 + + + + {{103, 485}, {80, 80}} + + 7498A114-D60E-4DB2-8360-2DE6C887CD67 + HUD Gradient Button + 7498A114-D60E-4DB2-8360-2DE6C887CD67 + Gradient Style Button + + This is a standard HUD gradient style button. + + + Views & Cells/Buttons + + + + + + 0 + NO + + + + 268 + {{9, 103}, {98, 25}} + + YES + + 67239424 + 134217728 + Button + + + -2038284033 + 34 + + + + 200 + 25 + + + + + 268 + {{9, 47}, {98, 25}} + + YES + + 67239424 + 134217728 + Button + + + -2038284033 + 35 + + + + 200 + 25 + + + + + 268 + + YES + + + 268 + {{16, 27}, {48, 25}} + + YES + + 67239424 + 134217728 + + + + -2038284033 + 35 + + + + 200 + 25 + + + + {{191, 485}, {80, 80}} + + 6E2CFD5E-C614-43DE-8C41-383C7DECA36D + HUD Rounded Textured Button + 6E2CFD5E-C614-43DE-8C41-383C7DECA36D + Rounded Textured Style Button + + This is a standard HUD rounded textured style button. + + + Views & Cells/Buttons + + + + + + 0 + NO + + + + 268 + {{9, 77}, {98, 19}} + + YES + + 67239424 + 134217728 + Button + + + -2038284033 + 36 + + + + 200 + 25 + + + + + 268 + + YES + + + 268 + {{16, 29}, {48, 19}} + + YES + + -2080244224 + 134217728 + + + + -1232977665 + 45 + + + + 200 + 25 + + + + {{15, 309}, {80, 80}} + + 6A73D8F2-7482-4A6E-9443-DDEC5A7C0F6F + HUD Recessed Button + 6A73D8F2-7482-4A6E-9443-DDEC5A7C0F6F + Recessed Style Button + + This is a standard HUD recessed style button. + + + Views & Cells/Buttons + + + + + + 0 + NO + + + + 268 + + YES + + + 268 + {{16, 29}, {48, 19}} + + YES + + 67239424 + 134217728 + + + + -2038284033 + 36 + + + + 200 + 25 + + + + {{274, 485}, {80, 80}} + + 88B26E1E-932E-4B03-A84E-D071E5B9E436 + HUD Rounded Rect Button + 88B26E1E-932E-4B03-A84E-D071E5B9E436 + Rounded Rect Style Button + + This is a standard HUD rounded rect style button. + + + Views & Cells/Buttons + + + + + + 0 + NO + + + + 268 + + YES + + + 268 + {{16, 26}, {48, 26}} + + YES + + -2076049856 + 2048 + + + 109199615 + 1 + + + 400 + 75 + + + + + 1048576 + 2147483647 + 1 + + NSImage + NSMenuCheckmark + + + NSImage + NSMenuMixedState + + _popUpItemAction: + + + YES + + OtherViews + + YES + + + + Item 2 + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + Item 3 + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + 1 + YES + YES + 2 + + + + {{103, 397}, {80, 80}} + + 40B22368-C422-47C9-837B-D08750CC8312 + HUD Pop Up Button + 40B22368-C422-47C9-837B-D08750CC8312 + Standard HUD Pop Up Button + + This is a standard HUD Pop Up Button + + + Views & Cells/Inputs & Values + + + + + + 0 + NO + + + + 268 + {{8, 16}, {100, 26}} + + YES + + -2076049856 + 2048 + + + 109199615 + 1 + + + 400 + 75 + + + Item 1 + + 1048576 + 2147483647 + 1 + + + _popUpItemAction: + + + YES + + OtherViews + + YES + + + + Item 2 + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + Item 3 + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + 1 + YES + YES + 2 + + + + + 268 + + YES + + + 268 + {{29, 15}, {21, 48}} + + YES + + 67239424 + 0 + + + + 100 + 0.0 + 50.251260000000002 + 0.0 + 0 + 0 + NO + YES + + + + {{191, 397}, {80, 80}} + + B8F9286C-00FE-4697-8B9A-F27EE5586BAF + HUD Vertical Slider + B8F9286C-00FE-4697-8B9A-F27EE5586BAF + Standard HUD Vertical Slider + + This is a standard HUD Vertical Slider + + + Views & Cells/Inputs & Values + + + + + + 0 + NO + + + + 268 + {{110, 90}, {21, 96}} + + YES + + 67239424 + 0 + + + + 100 + 0.0 + 50.251260000000002 + 0.0 + 0 + 0 + NO + YES + + + + + 268 + + YES + + + 268 + {{16, 28}, {48, 21}} + + YES + + -2080244224 + 0 + + + + 100 + 0.0 + 50 + 0.0 + 0 + 1 + NO + NO + + + + {{274, 397}, {80, 80}} + + 15247524-BAA8-4728-84AE-A93C162DC76E + HUD Horizontal Slider + 15247524-BAA8-4728-84AE-A93C162DC76E + Standard HUD Horizontal Slider + + This is a standard HUD Horizontal Slider + + + Views & Cells/Inputs & Values + + + + + + 0 + NO + + + + 268 + {{134, 142}, {96, 21}} + + YES + + -2080244224 + 0 + + + + 100 + 0.0 + 50 + 0.0 + 0 + 1 + NO + NO + + + + + 268 + + YES + + + 268 + + YES + + YES + Apple PDF pasteboard type + Apple PICT pasteboard type + Apple PNG pasteboard type + NSFilenamesPboardType + NeXT Encapsulated PostScript v1.2 pasteboard type + NeXT TIFF v4.0 pasteboard type + + + {{16, 16}, {48, 48}} + + YES + + 130560 + 33554432 + + NSImage + textview + + 0 + 2 + 0 + NO + + YES + + + {{362, 397}, {80, 80}} + + C0A38C39-E326-4654-92B7-A6926742EBA7 + HUD Text View + C0A38C39-E326-4654-92B7-A6926742EBA7 + Standard HUD Text View + + This is a standard HUD Text View + + + Views & Cells/Inputs & Values + + + + + + 0 + NO + + + + 268 + + YES + + + 268 + + YES + + YES + Apple PDF pasteboard type + Apple PICT pasteboard type + Apple PNG pasteboard type + NSFilenamesPboardType + NeXT Encapsulated PostScript v1.2 pasteboard type + NeXT TIFF v4.0 pasteboard type + + + {{16, 16}, {48, 48}} + + YES + + 130560 + 33554432 + + NSImage + scrollview + + 0 + 2 + 0 + NO + + YES + + + {{450, 309}, {80, 80}} + + A434DEBA-562F-411B-9A49-652F20DDCEFF + HUD Scroll View + A434DEBA-562F-411B-9A49-652F20DDCEFF + Standard HUD ScrollView + + This is a standard HUD Scroll View + + + Views & Cells/Layout Views + + + + + + 0 + NO + + + + 256 + + YES + + + 2304 + + YES + + + 2322 + + YES + + YES + Apple HTML pasteboard type + Apple PDF pasteboard type + Apple PICT pasteboard type + Apple PNG pasteboard type + Apple URL pasteboard type + CorePasteboardFlavorType 0x6D6F6F76 + CorePasteboardFlavorType 0x75726C20 + NSColor pasteboard type + NSFilenamesPboardType + NSStringPboardType + NeXT Encapsulated PostScript v1.2 pasteboard type + NeXT RTFD pasteboard type + NeXT Rich Text Format v1.0 pasteboard type + NeXT TIFF v4.0 pasteboard type + NeXT font pasteboard type + NeXT ruler pasteboard type + WebURLsWithTitlesPboardType + public.url + + + {197, 204} + + + + + + Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum Et harumd und lookum like Greek to me, dereud facilis est er expedit distinct. Nam liber te conscient to factor tum poen legum odioque civiuda + + + YES + + YES + + YES + NSColor + NSFont + NSParagraphStyle + + + YES + + 3 + MQA + + 2 + + + + LucidaGrande + 10 + 2832 + + + 3 + + YES + + 0.0 + + + 56 + + + 112 + + + 168 + + + 224 + + + 280 + + + 336 + + + 392 + + + 448 + + + 504 + + + 560 + + + 616 + + + 672 + + + 728 + + + 784 + + + 840 + + + 896 + + + 952 + + + 1008 + + + 1064 + + + 1120 + + + 1176 + + + 1232 + + + 1288 + + + 1344 + + + 1400 + + + 1456 + + + 1512 + + + 1568 + + + 1624 + + + 1680 + + + 1736 + + + + + + + YES + + YES + NSColor + NSFont + NSParagraphStyle + + + YES + + + LucidaGrande-Bold + 10 + 16 + + + 3 + + YES + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GQAEAQgADAEiAAcBhAQAA + + + + + YES + + + 6 + + + + 197 + 1 + + + 100674279 + 0 + + + + YES + + YES + NSBackgroundColor + NSColor + + + YES + + 6 + System + selectedTextBackgroundColor + + 3 + MC42NjY2NjY2NjY3AA + + + + 6 + System + selectedTextColor + + + + + + 3 + MQA + + + + YES + + YES + NSColor + NSUnderline + + + YES + + 1 + MCAwIDEAA + + + + + + + 1 + + 6 + {454, 10000000} + {78, 0} + + + + {{1, 1}, {197, 105}} + + + + + + {4, -5} + 1 + + 2 + + + + 256 + {{198, 1}, {15, 105}} + + YES + + _doScroller: + 0.51470588235294112 + + + + -2147483392 + {{-100, -100}, {87, 18}} + + 1 + + _doScroller: + 1 + 0.94565218687057495 + + + {{140, 20}, {214, 107}} + + + 133202 + + + + + + + 268 + + YES + + + 1292 + + {{16, 28}, {48, 20}} + + 16394 + 20 + 100 + + + {{362, 485}, {80, 80}} + + D9CCEA37-96EF-4CD1-84F4-C759A788CB9D + HUD Indeterminate Progress + D9CCEA37-96EF-4CD1-84F4-C759A788CB9D + Standard HUD Indeterminate Progress + + This is a standard HUD Indeterminate Progress + + + Views & Cells/Inputs & Values + + + + + + 0 + NO + + + + 1292 + + {{138, 165}, {96, 20}} + + 16394 + 20 + 100 + + + + 268 + + YES + + + 268 + {{16, 29}, {48, 22}} + + YES + + -1804468671 + 272630784 + test + + + YES + + + + + + {{450, 485}, {80, 80}} + + AB5888C4-8D08-4992-8DC0-9FF2FEB69523 + HUD Secure Text Field + AB5888C4-8D08-4992-8DC0-9FF2FEB69523 + Standard HUD Secure Text Field + + This is a standard HUD Secure Text Field + + + Views & Cells/Inputs & Values + + + + + + 0 + NO + + + + 268 + {{240, 166}, {96, 22}} + + YES + + -1804468671 + 272630784 + + + + YES + + + + + + + 268 + + YES + + + 268 + + YES + + YES + NSStringPboardType + + + {{16, 29}, {48, 22}} + + YES + + 341966336 + 0 + + + 77+8A + + + YES + + YES + NSAttachment + NSColor + NSFont + NSOriginalFont + NSParagraphStyle + + + YES + + + + 337772096 + 134219776 + . + + LucidaGrande + 12 + 4880 + + . + + + + + + + + + + + + + + + + YES + + + + 0.0 + 0 + + YES + . + + + 2 + + + {{450, 397}, {80, 80}} + + DB8DE857-A6D8-43D1-A32D-9306562E3F5B + HUD Token Field + DB8DE857-A6D8-43D1-A32D-9306562E3F5B + Standard HUD Token Field + + This is a standard HUD Token Field + + + Views & Cells/Inputs & Values + + + + + + 0 + NO + + + + 268 + + YES + + YES + NSStringPboardType + + + {{240, 136}, {96, 22}} + + YES + + 341966336 + 0 + + + YES + + + + 0.0 + 0 + + 2 + + + + 268 + + YES + + + 268 + + YES + + YES + Apple PDF pasteboard type + Apple PICT pasteboard type + Apple PNG pasteboard type + NSFilenamesPboardType + NeXT Encapsulated PostScript v1.2 pasteboard type + NeXT TIFF v4.0 pasteboard type + + + {{16, 16}, {48, 48}} + + YES + + 130560 + 33554432 + + NSImage + tableview + + 0 + 2 + 0 + NO + + YES + + + {{538, 485}, {80, 80}} + + D6283218-9061-4873-872B-38AB9590810B + HUD Table View + D6283218-9061-4873-872B-38AB9590810B + Standard HUD Table View + + This is a standard HUD Table View + + + Views & Cells/Data Views + + + + + + 0 + NO + + + + 268 + + YES + + + 2304 + + YES + + + 256 + {223, 102} + + YES + + + 256 + {223, 17} + + + + + + 256 + {{224, 0}, {16, 17}} + + + + YES + + 101 + 40 + 1000 + + 75628096 + 2048 + + + LucidaGrande + 11 + 3088 + + + 3 + MC4zMzMzMzI5ODU2AA + + + 6 + System + headerTextColor + + + + + 337772096 + 2048 + Text Cell + + + + 6 + System + controlBackgroundColor + + + + + 3 + YES + YES + + + + 116 + 40 + 1000 + + 75628096 + 2048 + + + + + + + 337772096 + 2048 + Text Cell + + + + + + 3 + YES + YES + + + + 3 + 2 + + + 6 + System + gridColor + + 3 + MC41AA + + + 17 + -700448768 + + + 4 + 15 + 0 + YES + 0 + 1 + + + {{1, 17}, {223, 102}} + + + + + 2 + + + + 256 + {{224, 17}, {15, 102}} + + + _doScroller: + 37 + 0.1947367936372757 + + + + 256 + {{1, 119}, {223, 15}} + + 1 + + _doScroller: + 0.57142859697341919 + + + + 2304 + + YES + + + {{1, 0}, {223, 17}} + + + + + 4 + + + + {{362, 20}, {240, 135}} + + + 133170 + + + + + + QSAAAEEgAABBmAAAQZgAAA + + + + 268 + + YES + + + 268 + + YES + + YES + Apple PDF pasteboard type + Apple PICT pasteboard type + Apple PNG pasteboard type + NSFilenamesPboardType + NeXT Encapsulated PostScript v1.2 pasteboard type + NeXT TIFF v4.0 pasteboard type + + + {{16, 16}, {48, 48}} + + YES + + 130560 + 33554432 + + NSImage + outlineview + + 0 + 2 + 0 + NO + + YES + + + {{538, 397}, {80, 80}} + + DABD2BC0-1A11-4B5E-9E36-9D171A1B736F + HUD Outline View + DABD2BC0-1A11-4B5E-9E36-9D171A1B736F + Standard HUD Outline View + + This is a standard HUD Outline View + + + Views & Cells/Data Views + + + + + + 0 + NO + + + + 268 + + YES + + + 2304 + + YES + + + 256 + {223, 102} + + YES + + + 256 + {223, 17} + + + + + + 256 + {{224, 0}, {16, 17}} + + + + YES + + 101 + 16 + 1000 + + 75628096 + 2048 + + + + 3 + MC4zMzMzMzI5ODU2AA + + + + + 337772096 + 2048 + Text Cell + + + + + + 3 + YES + YES + + + + 116 + 40 + 1000 + + 75628096 + 2048 + + + + + + + 337772096 + 2048 + Text Cell + + + + + + 3 + YES + YES + + + + 3 + 2 + + + 17 + -767557632 + + + 4 + 15 + 0 + YES + 0 + 1 + + + {{1, 17}, {223, 102}} + + + + + 2 + + + + 256 + {{224, 17}, {15, 102}} + + + _doScroller: + 37 + 0.13909779489040375 + + + + 256 + {{1, 119}, {223, 15}} + + 1 + + _doScroller: + 0.57142859697341919 + + + + 2304 + + YES + + + {{1, 0}, {223, 17}} + + + + + 4 + + + + {{362, 169}, {240, 135}} + + + 133170 + + + + + + QSAAAEEgAABBmAAAQZgAAA + + + + 268 + + YES + + + 268 + {{16, 27}, {48, 24}} + + YES + + 67239424 + 0 + + + + YES + + 13 + + 0 + + + 14 + + 1 + YES + 0 + + + 13 + 0 + + + 1 + 1 + + + + {{103, 309}, {80, 80}} + + 4F0FD8C5-8E31-42FE-B470-E92360612AAC + HUD Segmented Control + 4F0FD8C5-8E31-42FE-B470-E92360612AAC + Standard HUD Segmented Control + + This is a standard HUD Segmented Control + + + Views & Cells/Inputs & Values + + + + + + 0 + NO + + + + 268 + {{15, 225}, {104, 24}} + + YES + + 67239424 + 0 + + + + YES + + 32 + + 0 + + + 32 + + 1 + YES + 0 + + + 32 + 0 + + + 1 + 1 + + + + + 268 + {{166, 225}, {96, 22}} + + YES + + 343014976 + 268436480 + + + + YES + 1 + + + + 130560 + 0 + search + + _searchFieldSearch: + + 138690815 + 0 + + 400 + 75 + + + 130560 + 0 + clear + + YES + + YES + + YES + AXDescription + NSAccessibilityEncodedAttributesValueType + + + YES + cancel + + + + + + _searchFieldCancel: + + 138690815 + 0 + + 400 + 75 + + 255 + + + + + 268 + + YES + + YES + NSColor pasteboard type + + + {{287, 225}, {44, 23}} + + YES + YES + + + + + 268 + {{205, 271}, {38, 17}} + + YES + + 68288064 + 272630784 + Label + + + + 6 + System + controlColor + + + + + + + + 268 + + YES + + + 2304 + + YES + + + 274 + {166, 79} + + NSView + + + {{1, 1}, {166, 79}} + + + + + 4 + + + + 256 + {{167, 1}, {15, 79}} + + + _doScroller: + 1 + 0.96363627910614014 + + + + 256 + {{1, 80}, {166, 15}} + + 1 + + _doScroller: + 0.50602412223815918 + + + {{610, 20}, {183, 96}} + + + 133170 + + + + + + + 268 + + YES + + + 268 + {{22, 27}, {41, 26}} + + YES + + 343014976 + 272630784 + + + + + + 5 + YES + + + + 274 + {13, 0} + + + YES + + YES + + + 10 + 10 + 1000 + + 75628032 + 0 + + + + 3 + MC4zMzMzMzI5ODU2AA + + + + + 338820672 + 1024 + + + YES + + + + 3 + YES + + + + 3 + 2 + + + 19 + tableViewAction: + -765427712 + + + + 1 + 15 + 0 + YES + 0 + 1 + + + + + {{538, 309}, {80, 80}} + + F8E3BE43-F5D7-4073-9799-36AF1601A73F + HUD Combo Box + F8E3BE43-F5D7-4073-9799-36AF1601A73F + Standard HUD Combo Box + + This is a standard HUD Combo Box + + + Views & Cells/Inputs & Values + + + + + + 0 + NO + + + + 268 + + YES + + + 268 + {{16, 16}, {48, 48}} + + BGHUDView + + + {{626, 485}, {80, 80}} + + E28E37F7-4498-4135-B0B5-4AE3A877E3F5 + HUD View + E28E37F7-4498-4135-B0B5-4AE3A877E3F5 + Standard HUD View + + This is a standard HUD View + + + Views & Cells/Layout Views + + + + + + 0 + NO + + + + 268 + {{610, 130}, {99, 26}} + + YES + + 343014976 + 272630784 + + + + + + 5 + YES + + + + 274 + {13, 0} + + + YES + + YES + + + 10 + 10 + 1000 + + 75628032 + 0 + + + + 3 + MC4zMzMzMzI5ODU2AA + + + + + 338820672 + 1024 + + + YES + + + + 3 + YES + + + + 3 + 2 + + + 19 + tableViewAction: + -765427712 + + + + 1 + 15 + 0 + YES + 0 + 1 + + + + + + 268 + {{610, 206}, {167, 76}} + + BGHUDView + + + + 268 + + YES + + + 12 + + YES + + + 274 + {{1, 1}, {46, 46}} + + + + {{16, 14}, {48, 48}} + + {0, 0} + + 67239424 + 0 + Box + + + + 3 + MCAwLjgwMDAwMDAxMTkAA + + + + 1 + 4 + 0 + NO + + + {{626, 397}, {80, 80}} + + 1B113958-D259-4FD7-AD00-6E1E21AFC80E + HUD Box + 1B113958-D259-4FD7-AD00-6E1E21AFC80E + Standard HUD Box + + This is a standard HUD Box + + + Views & Cells/Layout Views + + + + + + 0 + NO + + + + 268 + + YES + + + 268 + {{30, 26}, {19, 27}} + + YES + + 917024 + 0 + + 100 + 1 + YES + + + + {{714, 485}, {80, 80}} + + 06873AAB-D492-4456-8E7F-515488C4AB38 + HUD Stepper + 06873AAB-D492-4456-8E7F-515488C4AB38 + Standard HUD Stepper + + This is a standard HUD Stepper + + + Views & Cells/Inputs & Values + + + + + + 0 + NO + + + + 268 + + YES + + + 268 + + YES + + YES + Apple PDF pasteboard type + Apple PICT pasteboard type + Apple PNG pasteboard type + NSFilenamesPboardType + NeXT Encapsulated PostScript v1.2 pasteboard type + NeXT TIFF v4.0 pasteboard type + + + {{16, 16}, {48, 48}} + + YES + + 130560 + 33554432 + + NSImage + tabview + + 0 + 2 + 0 + NO + + YES + + + {{714, 397}, {80, 80}} + + 6BF98D36-8742-4BC4-9603-0090DB06A6C1 + HUD TabView + 6BF98D36-8742-4BC4-9603-0090DB06A6C1 + Standard HUD TabView + + This is a standard HUD Stepper + + + Views & Cells/Layout Views + + + + + + 0 + NO + + + + 12 + + YES + + + 274 + {{1, 1}, {128, 82}} + + + + {{685, 296}, {130, 84}} + + {0, 0} + + 67239424 + 0 + Box + + + + 3 + MCAwLjgwMDAwMDAxMTkAA + + + + 1 + 4 + 0 + NO + + + + 268 + {{613, 166}, {19, 27}} + + YES + + 917024 + 0 + + 100 + 1 + YES + + + + + 12 + {{802, 21}, {308, 191}} + + + YES + + 1 + + + 256 + {{10, 33}, {288, 145}} + + + Tab + + + + + 2 + + + 256 + {{10, 33}, {288, 145}} + + View + + + + + + + 0 + YES + YES + + YES + + + + + {1147, 585} + + NSView + + + + + YES + + + draggedView + + + + 30 + + + + representedObject + + + + 31 + + + + draggedView + + + + 50 + + + + representedObject + + + + 51 + + + + draggedView + + + + 57 + + + + representedObject + + + + 58 + + + + representedObject + + + + 64 + + + + draggedView + + + + 65 + + + + representedObject + + + + 71 + + + + draggedView + + + + 72 + + + + draggedView + + + + 92 + + + + representedObject + + + + 93 + + + + draggedView + + + + 130 + + + + representedObject + + + + 131 + + + + draggedView + + + + 136 + + + + representedObject + + + + 137 + + + + draggedView + + + + 153 + + + + representedObject + + + + 154 + + + + draggedView + + + + 166 + + + + representedObject + + + + 167 + + + + draggedView + + + + 176 + + + + representedObject + + + + 177 + + + + draggedView + + + + 185 + + + + representedObject + + + + 186 + + + + draggedView + + + + 217 + + + + representedObject + + + + 218 + + + + draggedView + + + + 233 + + + + representedObject + + + + 234 + + + + draggedView + + + + 251 + + + + representedObject + + + + 252 + + + + draggedView + + + + 260 + + + + representedObject + + + + 261 + + + + draggedView + + + + 267 + + + + representedObject + + + + 268 + + + + draggedView + + + + 275 + + + + representedObject + + + + 276 + + + + draggedView + + + + 289 + + + + representedObject + + + + 290 + + + + draggedView + + + + 302 + + + + representedObject + + + + 303 + + + + draggedView + + + + 313 + + + + representedObject + + + + 314 + + + + draggedView + + + + 315 + + + + representedObject + + + + 316 + + + + draggedView + + + + 323 + + + + representedObject + + + + 324 + + + + draggedView + + + + 333 + + + + representedObject + + + + 334 + + + + draggedView + + + + 378 + + + + representedObject + + + + 379 + + + + + YES + + 0 + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + -3 + + + Application + + + 7 + + + YES + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Library Objects + + + 19 + + + YES + + + + + + 26 + + + YES + + + + + + 27 + + + + + 43 + + + YES + + + + + + 46 + + + YES + + + + + + 47 + + + + + 48 + + + YES + + + + + + 49 + + + + + 52 + + + YES + + + + + + 53 + + + YES + + + + + + 54 + + + + + 59 + + + YES + + + + + + 60 + + + YES + + + + + + 63 + + + + + 66 + + + YES + + + + + + 67 + + + YES + + + + + + 70 + + + + + 74 + + + YES + + + + + + 80 + + + YES + + + + + + 81 + + + YES + + + + + + 82 + + + YES + + + + + + + + 83 + + + + + 84 + + + + + 85 + + + + + 86 + + + YES + + + + + + 87 + + + YES + + + + + + 88 + + + YES + + + + + + + + 89 + + + + + 90 + + + + + 91 + + + + + 94 + + + YES + + + + + + 95 + + + + + 100 + + + YES + + + + + + 101 + + + + + 102 + + + YES + + + + + + 103 + + + + + 104 + + + YES + + + + + + 105 + + + + + 107 + + + YES + + + + + + 121 + + + YES + + + + + + 122 + + + + + 123 + + + YES + + + + + + 124 + + + + + 125 + + + YES + + + + + + 132 + + + YES + + + + + + 133 + + + + + 134 + + + YES + + + + + + 135 + + + + + 138 + + + YES + + + + + + 145 + + + YES + + + + + + + + 146 + + + + + 147 + + + + + 148 + + + + + 155 + + + YES + + + + + + 156 + + + + + 157 + + + YES + + + + + + 164 + + + + + 165 + + + + + 168 + + + YES + + + + + + 172 + + + YES + + + + + + 173 + + + + + 174 + + + YES + + + + + + 175 + + + + + 178 + + + YES + + + + + + 181 + + + YES + + + + + + 182 + + + + + 183 + + + YES + + + + + + 184 + + + + + 187 + + + YES + + + + + + 190 + + + YES + + + + + + + + + 191 + + + + + 192 + + + + + 193 + + + YES + + + + + + + 194 + + + + + 195 + + + YES + + + + + + 196 + + + YES + + + + + + 197 + + + + + 198 + + + + + 219 + + + YES + + + + + + 220 + + + + + 221 + + + YES + + + + + + 222 + + + YES + + + + + + 223 + + + + + 224 + + + YES + + + + + + + + + 225 + + + + + 226 + + + + + 227 + + + YES + + + + + + + 228 + + + + + 229 + + + YES + + + + + + 230 + + + YES + + + + + + 231 + + + + + 232 + + + + + 244 + + + YES + + + + + + 247 + + + YES + + + + + + 248 + + + + + 249 + + + YES + + + + + + 250 + + + + + 253 + + + YES + + + + + + 256 + + + YES + + + + + + 257 + + + + + 258 + + + YES + + + + + + 259 + + + + + 262 + + + YES + + + + + + 265 + + + + + 266 + + + + + 269 + + + YES + + + + + + 273 + + + YES + + + + + + 274 + + + + + 271 + + + YES + + + + + + 272 + + + + + 282 + + + YES + + + + + + + + 283 + + + + + 284 + + + + + 285 + + + + + 286 + + + YES + + + + + + 287 + + + YES + + + + + + 288 + + + + + 291 + + + YES + + + + + + 298 + + + YES + + + + + + 299 + + + + + 300 + + + YES + + + + + + 301 + + + + + 304 + + + YES + + + + + + 307 + + + + + 308 + + + + + 309 + + + YES + + + + + + 311 + + + + + 312 + + + + + 317 + + + YES + + + + + + 319 + + + YES + + + + + + 320 + + + + + 321 + + + YES + + + + + + 322 + + + + + 325 + + + YES + + + + + + 328 + + + YES + + + + + + + 329 + + + YES + + + + + + 330 + + + YES + + + + + + 331 + + + + + 332 + + + + + 335 + + + YES + + + + + + 336 + + + + + 355 + + + YES + + + + + + 356 + + + YES + + + + + + 357 + + + + + 372 + + + YES + + + + + + 373 + + + + + + + YES + + YES + -3.IBPluginDependency + 100.IBPluginDependency + 100.notes + 100.showNotes + 101.CustomClassName + 101.IBPluginDependency + 102.IBPluginDependency + 102.notes + 102.showNotes + 103.CustomClassName + 103.IBPluginDependency + 104.IBPluginDependency + 104.notes + 104.showNotes + 105.CustomClassName + 105.IBPluginDependency + 107.IBPluginDependency + 107.notes + 107.showNotes + 121.IBPluginDependency + 122.CustomClassName + 122.IBPluginDependency + 123.IBPluginDependency + 124.CustomClassName + 124.IBPluginDependency + 125.IBPluginDependency + 125.notes + 125.showNotes + 132.IBPluginDependency + 133.CustomClassName + 133.IBPluginDependency + 134.IBPluginDependency + 135.CustomClassName + 135.IBPluginDependency + 138.IBPluginDependency + 138.notes + 138.showNotes + 145.CustomClassName + 145.IBPluginDependency + 146.IBPluginDependency + 147.IBPluginDependency + 148.IBPluginDependency + 155.IBPluginDependency + 156.IBPluginDependency + 157.IBPluginDependency + 157.notes + 157.showNotes + 164.CustomClassName + 164.IBPluginDependency + 165.CustomClassName + 165.IBPluginDependency + 168.IBPluginDependency + 168.notes + 168.showNotes + 172.IBPluginDependency + 173.CustomClassName + 173.IBPluginDependency + 174.IBPluginDependency + 175.CustomClassName + 175.IBPluginDependency + 178.IBPluginDependency + 178.notes + 178.showNotes + 181.IBPluginDependency + 182.CustomClassName + 182.IBPluginDependency + 183.IBPluginDependency + 184.CustomClassName + 184.IBPluginDependency + 187.IBPluginDependency + 187.notes + 187.showNotes + 19.IBPluginDependency + 19.IBViewBoundsToFrameTransform + 19.notes + 19.showNotes + 190.CustomClassName + 190.IBPluginDependency + 191.IBPluginDependency + 192.IBPluginDependency + 193.CustomClassName + 193.IBPluginDependency + 194.IBPluginDependency + 195.IBPluginDependency + 196.IBPluginDependency + 197.IBPluginDependency + 198.IBPluginDependency + 219.IBPluginDependency + 220.IBPluginDependency + 221.IBPluginDependency + 221.notes + 221.showNotes + 222.IBPluginDependency + 223.IBPluginDependency + 224.CustomClassName + 224.IBPluginDependency + 225.IBPluginDependency + 226.IBPluginDependency + 227.CustomClassName + 227.IBPluginDependency + 228.IBPluginDependency + 229.IBPluginDependency + 230.IBPluginDependency + 231.IBPluginDependency + 232.IBPluginDependency + 244.IBPluginDependency + 244.notes + 244.showNotes + 247.IBPluginDependency + 248.CustomClassName + 248.IBPluginDependency + 249.IBPluginDependency + 250.CustomClassName + 250.IBPluginDependency + 253.IBPluginDependency + 253.notes + 253.showNotes + 256.IBPluginDependency + 257.CustomClassName + 257.IBPluginDependency + 258.IBPluginDependency + 259.CustomClassName + 259.IBPluginDependency + 26.IBPluginDependency + 26.IBViewBoundsToFrameTransform + 26.notes + 26.showNotes + 262.IBPluginDependency + 262.notes + 262.showNotes + 265.CustomClassName + 265.IBPluginDependency + 266.CustomClassName + 266.IBPluginDependency + 269.IBPluginDependency + 269.notes + 269.showNotes + 27.CustomClassName + 27.IBPluginDependency + 271.CustomClassName + 271.IBPluginDependency + 272.IBPluginDependency + 273.CustomClassName + 273.IBPluginDependency + 274.IBPluginDependency + 282.CustomClassName + 282.IBPluginDependency + 283.IBPluginDependency + 284.IBPluginDependency + 285.IBPluginDependency + 286.IBPluginDependency + 286.notes + 286.showNotes + 287.IBPluginDependency + 288.IBPluginDependency + 291.IBPluginDependency + 291.notes + 291.showNotes + 298.IBPluginDependency + 299.CustomClassName + 299.IBPluginDependency + 300.IBPluginDependency + 301.CustomClassName + 301.IBPluginDependency + 304.IBPluginDependency + 304.notes + 304.showNotes + 307.IBPluginDependency + 308.IBPluginDependency + 309.IBPluginDependency + 309.notes + 309.showNotes + 311.CustomClassName + 311.IBPluginDependency + 312.CustomClassName + 312.IBPluginDependency + 317.IBPluginDependency + 317.notes + 317.showNotes + 319.IBPluginDependency + 320.CustomClassName + 320.IBPluginDependency + 321.IBPluginDependency + 322.CustomClassName + 322.IBPluginDependency + 325.IBPluginDependency + 325.notes + 325.showNotes + 328.CustomClassName + 328.IBPluginDependency + 331.IBPluginDependency + 332.IBPluginDependency + 335.IBPluginDependency + 336.IBPluginDependency + 355.IBPluginDependency + 355.IBViewBoundsToFrameTransform + 355.notes + 355.showNotes + 356.IBPluginDependency + 356.notes + 356.showNotes + 357.CustomClassName + 357.IBPluginDependency + 372.IBPluginDependency + 372.IBViewBoundsToFrameTransform + 372.notes + 372.showNotes + 373.CustomClassName + 373.IBPluginDependency + 43.IBPluginDependency + 43.notes + 43.showNotes + 46.IBPluginDependency + 47.CustomClassName + 47.IBPluginDependency + 48.IBPluginDependency + 49.CustomClassName + 49.IBPluginDependency + 52.IBPluginDependency + 52.IBViewBoundsToFrameTransform + 52.notes + 52.showNotes + 53.IBPluginDependency + 53.notes + 53.showNotes + 54.CustomClassName + 54.IBPluginDependency + 59.IBPluginDependency + 59.notes + 59.showNotes + 60.IBPluginDependency + 60.notes + 60.showNotes + 63.CustomClassName + 63.IBPluginDependency + 66.IBPluginDependency + 66.notes + 66.showNotes + 67.IBPluginDependency + 67.IBViewBoundsToFrameTransform + 67.notes + 67.showNotes + 7.IBEditorWindowLastContentRect + 7.IBPluginDependency + 7.IBUserGuides + 7.WindowOrigin + 7.editorWindowContentRectSynchronizationRect + 70.CustomClassName + 70.IBPluginDependency + 74.IBPluginDependency + 74.notes + 74.showNotes + 80.IBPluginDependency + 81.CustomClassName + 81.IBPluginDependency + 82.IBPluginDependency + 83.IBPluginDependency + 84.IBPluginDependency + 85.IBPluginDependency + 86.IBPluginDependency + 87.CustomClassName + 87.IBPluginDependency + 88.IBEditorWindowLastContentRect + 88.IBPluginDependency + 89.IBPluginDependency + 90.IBPluginDependency + 91.IBPluginDependency + 94.IBPluginDependency + 95.CustomClassName + 95.IBPluginDependency + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + This button is connected to its IBLibraryTemplateObject. + + YES + + + YES + + + + + BGHUDButtonCell + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + This button is connected to its IBLibraryTemplateObject. + + + + BGHUDButtonCell + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + This button is connected to its IBLibraryTemplateObject. + + + + BGHUDButtonCell + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.IBSDKPlugin + + VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g dGhlIGxpYnJhcnkgd2luZG93LiBXaGVuIHRoZSBzbWFsbGVyIGJ1dHRvbiBpcyBkcmFnZ2VkIG91dCwg aXQgd2lsbCBhbmltYXRlIHRvIHRoZSBsYXJnZXIgYnV0dG9uLiBXaGVuIHRoZSBsYXJnZSBidXR0b24g aXMgZGVwb3NpdGVkIGludG8gdGhlIGFwcGxpY2F0aW9uLCBpdCB3aWxsIGRlcG9zaXQgYSBidXR0b24g @@ -4524,18 +4698,18 @@ dmlldydzIGRyYWdnZWRWaWV3IG91dGxldC4KCkRlcG9zaXRpbmcgdGhlIGJ1dHRvbiBjZWxsIGluc3Rl YWQgb2YgdGhlIGJ1dHRvbiBpcyBhY2hpZXZlZCBieSBjb25uZWN0aW5nIHRoZSByZXByZXNlbnRlZE9i amVjdCBvdXRsZXQgb2YgdGhlIHRlbXBsYXRlIHZpZXcuCgpBbGwgb2YgdGhlIHRlbXBsYXRlIHZpZXcn cyBvdXRsZXRzIGFyZSBvcHRpb25hbC4 - - - - com.apple.InterfaceBuilder.CocoaPlugin - BGHUDSliderCell - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - BGHUDSliderCell - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.IBSDKPlugin - - VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g + + + + com.apple.InterfaceBuilder.CocoaPlugin + BGHUDSliderCell + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + BGHUDSliderCell + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.IBSDKPlugin + + VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g dGhlIGxpYnJhcnkgd2luZG93LiBXaGVuIHRoZSBzbWFsbGVyIGJ1dHRvbiBpcyBkcmFnZ2VkIG91dCwg aXQgd2lsbCBhbmltYXRlIHRvIHRoZSBsYXJnZXIgYnV0dG9uLiBXaGVuIHRoZSBsYXJnZSBidXR0b24g aXMgZGVwb3NpdGVkIGludG8gdGhlIGFwcGxpY2F0aW9uLCBpdCB3aWxsIGRlcG9zaXQgYSBidXR0b24g @@ -4544,18 +4718,18 @@ dmlldydzIGRyYWdnZWRWaWV3IG91dGxldC4KCkRlcG9zaXRpbmcgdGhlIGJ1dHRvbiBjZWxsIGluc3Rl YWQgb2YgdGhlIGJ1dHRvbiBpcyBhY2hpZXZlZCBieSBjb25uZWN0aW5nIHRoZSByZXByZXNlbnRlZE9i amVjdCBvdXRsZXQgb2YgdGhlIHRlbXBsYXRlIHZpZXcuCgpBbGwgb2YgdGhlIHRlbXBsYXRlIHZpZXcn cyBvdXRsZXRzIGFyZSBvcHRpb25hbC4 - - - - com.apple.InterfaceBuilder.CocoaPlugin - BGHUDSliderCell - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - BGHUDSliderCell - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.IBSDKPlugin - - VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g + + + + com.apple.InterfaceBuilder.CocoaPlugin + BGHUDSliderCell + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + BGHUDSliderCell + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.IBSDKPlugin + + VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g dGhlIGxpYnJhcnkgd2luZG93LiBXaGVuIHRoZSBzbWFsbGVyIGJ1dHRvbiBpcyBkcmFnZ2VkIG91dCwg aXQgd2lsbCBhbmltYXRlIHRvIHRoZSBsYXJnZXIgYnV0dG9uLiBXaGVuIHRoZSBsYXJnZSBidXR0b24g aXMgZGVwb3NpdGVkIGludG8gdGhlIGFwcGxpY2F0aW9uLCBpdCB3aWxsIGRlcG9zaXQgYSBidXR0b24g @@ -4564,19 +4738,19 @@ dmlldydzIGRyYWdnZWRWaWV3IG91dGxldC4KCkRlcG9zaXRpbmcgdGhlIGJ1dHRvbiBjZWxsIGluc3Rl YWQgb2YgdGhlIGJ1dHRvbiBpcyBhY2hpZXZlZCBieSBjb25uZWN0aW5nIHRoZSByZXByZXNlbnRlZE9i amVjdCBvdXRsZXQgb2YgdGhlIHRlbXBsYXRlIHZpZXcuCgpBbGwgb2YgdGhlIHRlbXBsYXRlIHZpZXcn cyBvdXRsZXRzIGFyZSBvcHRpb25hbC4 - - - - BGHUDScrollView - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.IBSDKPlugin - - VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g + + + + BGHUDScrollView + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.IBSDKPlugin + + VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g dGhlIGxpYnJhcnkgd2luZG93LiBXaGVuIHRoZSBzbWFsbGVyIGJ1dHRvbiBpcyBkcmFnZ2VkIG91dCwg aXQgd2lsbCBhbmltYXRlIHRvIHRoZSBsYXJnZXIgYnV0dG9uLiBXaGVuIHRoZSBsYXJnZSBidXR0b24g aXMgZGVwb3NpdGVkIGludG8gdGhlIGFwcGxpY2F0aW9uLCBpdCB3aWxsIGRlcG9zaXQgYSBidXR0b24g @@ -4585,16 +4759,16 @@ dmlldydzIGRyYWdnZWRWaWV3IG91dGxldC4KCkRlcG9zaXRpbmcgdGhlIGJ1dHRvbiBjZWxsIGluc3Rl YWQgb2YgdGhlIGJ1dHRvbiBpcyBhY2hpZXZlZCBieSBjb25uZWN0aW5nIHRoZSByZXByZXNlbnRlZE9i amVjdCBvdXRsZXQgb2YgdGhlIHRlbXBsYXRlIHZpZXcuCgpBbGwgb2YgdGhlIHRlbXBsYXRlIHZpZXcn cyBvdXRsZXRzIGFyZSBvcHRpb25hbC4 - - - - BGHUDProgressIndicator - com.apple.InterfaceBuilder.CocoaPlugin - BGHUDProgressIndicator - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.IBSDKPlugin - - VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g + + + + BGHUDProgressIndicator + com.apple.InterfaceBuilder.CocoaPlugin + BGHUDProgressIndicator + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.IBSDKPlugin + + VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g dGhlIGxpYnJhcnkgd2luZG93LiBXaGVuIHRoZSBzbWFsbGVyIGJ1dHRvbiBpcyBkcmFnZ2VkIG91dCwg aXQgd2lsbCBhbmltYXRlIHRvIHRoZSBsYXJnZXIgYnV0dG9uLiBXaGVuIHRoZSBsYXJnZSBidXR0b24g aXMgZGVwb3NpdGVkIGludG8gdGhlIGFwcGxpY2F0aW9uLCBpdCB3aWxsIGRlcG9zaXQgYSBidXR0b24g @@ -4603,18 +4777,18 @@ dmlldydzIGRyYWdnZWRWaWV3IG91dGxldC4KCkRlcG9zaXRpbmcgdGhlIGJ1dHRvbiBjZWxsIGluc3Rl YWQgb2YgdGhlIGJ1dHRvbiBpcyBhY2hpZXZlZCBieSBjb25uZWN0aW5nIHRoZSByZXByZXNlbnRlZE9i amVjdCBvdXRsZXQgb2YgdGhlIHRlbXBsYXRlIHZpZXcuCgpBbGwgb2YgdGhlIHRlbXBsYXRlIHZpZXcn cyBvdXRsZXRzIGFyZSBvcHRpb25hbC4 - - - - com.apple.InterfaceBuilder.CocoaPlugin - BGHUDSecureTextFieldCell - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - BGHUDSecureTextFieldCell - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.IBSDKPlugin - - VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g + + + + com.apple.InterfaceBuilder.CocoaPlugin + BGHUDSecureTextFieldCell + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + BGHUDSecureTextFieldCell + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.IBSDKPlugin + + VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g dGhlIGxpYnJhcnkgd2luZG93LiBXaGVuIHRoZSBzbWFsbGVyIGJ1dHRvbiBpcyBkcmFnZ2VkIG91dCwg aXQgd2lsbCBhbmltYXRlIHRvIHRoZSBsYXJnZXIgYnV0dG9uLiBXaGVuIHRoZSBsYXJnZSBidXR0b24g aXMgZGVwb3NpdGVkIGludG8gdGhlIGFwcGxpY2F0aW9uLCBpdCB3aWxsIGRlcG9zaXQgYSBidXR0b24g @@ -4623,18 +4797,18 @@ dmlldydzIGRyYWdnZWRWaWV3IG91dGxldC4KCkRlcG9zaXRpbmcgdGhlIGJ1dHRvbiBjZWxsIGluc3Rl YWQgb2YgdGhlIGJ1dHRvbiBpcyBhY2hpZXZlZCBieSBjb25uZWN0aW5nIHRoZSByZXByZXNlbnRlZE9i amVjdCBvdXRsZXQgb2YgdGhlIHRlbXBsYXRlIHZpZXcuCgpBbGwgb2YgdGhlIHRlbXBsYXRlIHZpZXcn cyBvdXRsZXRzIGFyZSBvcHRpb25hbC4 - - - - com.apple.InterfaceBuilder.CocoaPlugin - BGHUDTokenFieldCell - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - BGHUDTokenFieldCell - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.IBSDKPlugin - - VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g + + + + com.apple.InterfaceBuilder.CocoaPlugin + BGHUDTokenFieldCell + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + BGHUDTokenFieldCell + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.IBSDKPlugin + + VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g dGhlIGxpYnJhcnkgd2luZG93LiBXaGVuIHRoZSBzbWFsbGVyIGJ1dHRvbiBpcyBkcmFnZ2VkIG91dCwg aXQgd2lsbCBhbmltYXRlIHRvIHRoZSBsYXJnZXIgYnV0dG9uLiBXaGVuIHRoZSBsYXJnZSBidXR0b24g aXMgZGVwb3NpdGVkIGludG8gdGhlIGFwcGxpY2F0aW9uLCBpdCB3aWxsIGRlcG9zaXQgYSBidXR0b24g @@ -4643,12 +4817,15 @@ dmlldydzIGRyYWdnZWRWaWV3IG91dGxldC4KCkRlcG9zaXRpbmcgdGhlIGJ1dHRvbiBjZWxsIGluc3Rl YWQgb2YgdGhlIGJ1dHRvbiBpcyBhY2hpZXZlZCBieSBjb25uZWN0aW5nIHRoZSByZXByZXNlbnRlZE9i amVjdCBvdXRsZXQgb2YgdGhlIHRlbXBsYXRlIHZpZXcuCgpBbGwgb2YgdGhlIHRlbXBsYXRlIHZpZXcn cyBvdXRsZXRzIGFyZSBvcHRpb25hbC4 - - - - com.apple.InterfaceBuilder.IBSDKPlugin - - VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g + + + + com.apple.InterfaceBuilder.IBSDKPlugin + + AUFwAABD8oAAA + + + VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g dGhlIGxpYnJhcnkgd2luZG93LiBXaGVuIHRoZSBzbWFsbGVyIGJ1dHRvbiBpcyBkcmFnZ2VkIG91dCwg aXQgd2lsbCBhbmltYXRlIHRvIHRoZSBsYXJnZXIgYnV0dG9uLiBXaGVuIHRoZSBsYXJnZSBidXR0b24g aXMgZGVwb3NpdGVkIGludG8gdGhlIGFwcGxpY2F0aW9uLCBpdCB3aWxsIGRlcG9zaXQgYSBidXR0b24g @@ -4657,25 +4834,25 @@ dmlldydzIGRyYWdnZWRWaWV3IG91dGxldC4KCkRlcG9zaXRpbmcgdGhlIGJ1dHRvbiBjZWxsIGluc3Rl YWQgb2YgdGhlIGJ1dHRvbiBpcyBhY2hpZXZlZCBieSBjb25uZWN0aW5nIHRoZSByZXByZXNlbnRlZE9i amVjdCBvdXRsZXQgb2YgdGhlIHRlbXBsYXRlIHZpZXcuCgpBbGwgb2YgdGhlIHRlbXBsYXRlIHZpZXcn cyBvdXRsZXRzIGFyZSBvcHRpb25hbC4 - - - - BGHUDScrollView - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - BGHUDTableView - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.IBSDKPlugin - - VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g + + + + BGHUDScrollView + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + BGHUDTableView + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.IBSDKPlugin + + VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g dGhlIGxpYnJhcnkgd2luZG93LiBXaGVuIHRoZSBzbWFsbGVyIGJ1dHRvbiBpcyBkcmFnZ2VkIG91dCwg aXQgd2lsbCBhbmltYXRlIHRvIHRoZSBsYXJnZXIgYnV0dG9uLiBXaGVuIHRoZSBsYXJnZSBidXR0b24g aXMgZGVwb3NpdGVkIGludG8gdGhlIGFwcGxpY2F0aW9uLCBpdCB3aWxsIGRlcG9zaXQgYSBidXR0b24g @@ -4684,25 +4861,25 @@ dmlldydzIGRyYWdnZWRWaWV3IG91dGxldC4KCkRlcG9zaXRpbmcgdGhlIGJ1dHRvbiBjZWxsIGluc3Rl YWQgb2YgdGhlIGJ1dHRvbiBpcyBhY2hpZXZlZCBieSBjb25uZWN0aW5nIHRoZSByZXByZXNlbnRlZE9i amVjdCBvdXRsZXQgb2YgdGhlIHRlbXBsYXRlIHZpZXcuCgpBbGwgb2YgdGhlIHRlbXBsYXRlIHZpZXcn cyBvdXRsZXRzIGFyZSBvcHRpb25hbC4 - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - BGHUDScrollView - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - BGHUDOutlineView - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.IBSDKPlugin - - VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g + + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + BGHUDScrollView + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + BGHUDOutlineView + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.IBSDKPlugin + + VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g dGhlIGxpYnJhcnkgd2luZG93LiBXaGVuIHRoZSBzbWFsbGVyIGJ1dHRvbiBpcyBkcmFnZ2VkIG91dCwg aXQgd2lsbCBhbmltYXRlIHRvIHRoZSBsYXJnZXIgYnV0dG9uLiBXaGVuIHRoZSBsYXJnZSBidXR0b24g aXMgZGVwb3NpdGVkIGludG8gdGhlIGFwcGxpY2F0aW9uLCBpdCB3aWxsIGRlcG9zaXQgYSBidXR0b24g @@ -4711,18 +4888,18 @@ dmlldydzIGRyYWdnZWRWaWV3IG91dGxldC4KCkRlcG9zaXRpbmcgdGhlIGJ1dHRvbiBjZWxsIGluc3Rl YWQgb2YgdGhlIGJ1dHRvbiBpcyBhY2hpZXZlZCBieSBjb25uZWN0aW5nIHRoZSByZXByZXNlbnRlZE9i amVjdCBvdXRsZXQgb2YgdGhlIHRlbXBsYXRlIHZpZXcuCgpBbGwgb2YgdGhlIHRlbXBsYXRlIHZpZXcn cyBvdXRsZXRzIGFyZSBvcHRpb25hbC4 - - - - com.apple.InterfaceBuilder.CocoaPlugin - BGHUDSegmentedCell - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - BGHUDSegmentedCell - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.IBSDKPlugin - - VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g + + + + com.apple.InterfaceBuilder.CocoaPlugin + BGHUDSegmentedCell + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + BGHUDSegmentedCell + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.IBSDKPlugin + + VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g dGhlIGxpYnJhcnkgd2luZG93LiBXaGVuIHRoZSBzbWFsbGVyIGJ1dHRvbiBpcyBkcmFnZ2VkIG91dCwg aXQgd2lsbCBhbmltYXRlIHRvIHRoZSBsYXJnZXIgYnV0dG9uLiBXaGVuIHRoZSBsYXJnZSBidXR0b24g aXMgZGVwb3NpdGVkIGludG8gdGhlIGFwcGxpY2F0aW9uLCBpdCB3aWxsIGRlcG9zaXQgYSBidXR0b24g @@ -4731,24 +4908,27 @@ dmlldydzIGRyYWdnZWRWaWV3IG91dGxldC4KCkRlcG9zaXRpbmcgdGhlIGJ1dHRvbiBjZWxsIGluc3Rl YWQgb2YgdGhlIGJ1dHRvbiBpcyBhY2hpZXZlZCBieSBjb25uZWN0aW5nIHRoZSByZXByZXNlbnRlZE9i amVjdCBvdXRsZXQgb2YgdGhlIHRlbXBsYXRlIHZpZXcuCgpBbGwgb2YgdGhlIHRlbXBsYXRlIHZpZXcn cyBvdXRsZXRzIGFyZSBvcHRpb25hbC4 - - - - com.apple.InterfaceBuilder.CocoaPlugin - BGHUDSearchFieldCell - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - BGHUDSearchFieldCell - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - This button is connected to its IBLibraryTemplateObject. - - - - com.apple.InterfaceBuilder.IBSDKPlugin - - VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g + + + + com.apple.InterfaceBuilder.CocoaPlugin + BGHUDSearchFieldCell + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + BGHUDSearchFieldCell + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABAQAAAwxwAAA + + + This button is connected to its IBLibraryTemplateObject. + + + + com.apple.InterfaceBuilder.IBSDKPlugin + + VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g dGhlIGxpYnJhcnkgd2luZG93LiBXaGVuIHRoZSBzbWFsbGVyIGJ1dHRvbiBpcyBkcmFnZ2VkIG91dCwg aXQgd2lsbCBhbmltYXRlIHRvIHRoZSBsYXJnZXIgYnV0dG9uLiBXaGVuIHRoZSBsYXJnZSBidXR0b24g aXMgZGVwb3NpdGVkIGludG8gdGhlIGFwcGxpY2F0aW9uLCBpdCB3aWxsIGRlcG9zaXQgYSBidXR0b24g @@ -4757,16 +4937,16 @@ dmlldydzIGRyYWdnZWRWaWV3IG91dGxldC4KCkRlcG9zaXRpbmcgdGhlIGJ1dHRvbiBjZWxsIGluc3Rl YWQgb2YgdGhlIGJ1dHRvbiBpcyBhY2hpZXZlZCBieSBjb25uZWN0aW5nIHRoZSByZXByZXNlbnRlZE9i amVjdCBvdXRsZXQgb2YgdGhlIHRlbXBsYXRlIHZpZXcuCgpBbGwgb2YgdGhlIHRlbXBsYXRlIHZpZXcn cyBvdXRsZXRzIGFyZSBvcHRpb25hbC4 - - - - BGHUDColorWell - com.apple.InterfaceBuilder.CocoaPlugin - BGHUDColorWell - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.IBSDKPlugin - - VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g + + + + BGHUDColorWell + com.apple.InterfaceBuilder.CocoaPlugin + BGHUDColorWell + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.IBSDKPlugin + + VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g dGhlIGxpYnJhcnkgd2luZG93LiBXaGVuIHRoZSBzbWFsbGVyIGJ1dHRvbiBpcyBkcmFnZ2VkIG91dCwg aXQgd2lsbCBhbmltYXRlIHRvIHRoZSBsYXJnZXIgYnV0dG9uLiBXaGVuIHRoZSBsYXJnZSBidXR0b24g aXMgZGVwb3NpdGVkIGludG8gdGhlIGFwcGxpY2F0aW9uLCBpdCB3aWxsIGRlcG9zaXQgYSBidXR0b24g @@ -4775,25 +4955,25 @@ dmlldydzIGRyYWdnZWRWaWV3IG91dGxldC4KCkRlcG9zaXRpbmcgdGhlIGJ1dHRvbiBjZWxsIGluc3Rl YWQgb2YgdGhlIGJ1dHRvbiBpcyBhY2hpZXZlZCBieSBjb25uZWN0aW5nIHRoZSByZXByZXNlbnRlZE9i amVjdCBvdXRsZXQgb2YgdGhlIHRlbXBsYXRlIHZpZXcuCgpBbGwgb2YgdGhlIHRlbXBsYXRlIHZpZXcn cyBvdXRsZXRzIGFyZSBvcHRpb25hbC4 - - - - BGHUDButtonCell - com.apple.InterfaceBuilder.CocoaPlugin - BGHUDLabel - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - BGHUDLabel - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - BGHUDScrollView - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.IBSDKPlugin - - VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g + + + + BGHUDButtonCell + com.apple.InterfaceBuilder.CocoaPlugin + BGHUDLabel + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + BGHUDLabel + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + BGHUDScrollView + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.IBSDKPlugin + + VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g dGhlIGxpYnJhcnkgd2luZG93LiBXaGVuIHRoZSBzbWFsbGVyIGJ1dHRvbiBpcyBkcmFnZ2VkIG91dCwg aXQgd2lsbCBhbmltYXRlIHRvIHRoZSBsYXJnZXIgYnV0dG9uLiBXaGVuIHRoZSBsYXJnZSBidXR0b24g aXMgZGVwb3NpdGVkIGludG8gdGhlIGFwcGxpY2F0aW9uLCBpdCB3aWxsIGRlcG9zaXQgYSBidXR0b24g @@ -4802,14 +4982,14 @@ dmlldydzIGRyYWdnZWRWaWV3IG91dGxldC4KCkRlcG9zaXRpbmcgdGhlIGJ1dHRvbiBjZWxsIGluc3Rl YWQgb2YgdGhlIGJ1dHRvbiBpcyBhY2hpZXZlZCBieSBjb25uZWN0aW5nIHRoZSByZXByZXNlbnRlZE9i amVjdCBvdXRsZXQgb2YgdGhlIHRlbXBsYXRlIHZpZXcuCgpBbGwgb2YgdGhlIHRlbXBsYXRlIHZpZXcn cyBvdXRsZXRzIGFyZSBvcHRpb25hbC4 - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.IBSDKPlugin - - VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g + + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.IBSDKPlugin + + VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g dGhlIGxpYnJhcnkgd2luZG93LiBXaGVuIHRoZSBzbWFsbGVyIGJ1dHRvbiBpcyBkcmFnZ2VkIG91dCwg aXQgd2lsbCBhbmltYXRlIHRvIHRoZSBsYXJnZXIgYnV0dG9uLiBXaGVuIHRoZSBsYXJnZSBidXR0b24g aXMgZGVwb3NpdGVkIGludG8gdGhlIGFwcGxpY2F0aW9uLCBpdCB3aWxsIGRlcG9zaXQgYSBidXR0b24g @@ -4818,18 +4998,18 @@ dmlldydzIGRyYWdnZWRWaWV3IG91dGxldC4KCkRlcG9zaXRpbmcgdGhlIGJ1dHRvbiBjZWxsIGluc3Rl YWQgb2YgdGhlIGJ1dHRvbiBpcyBhY2hpZXZlZCBieSBjb25uZWN0aW5nIHRoZSByZXByZXNlbnRlZE9i amVjdCBvdXRsZXQgb2YgdGhlIHRlbXBsYXRlIHZpZXcuCgpBbGwgb2YgdGhlIHRlbXBsYXRlIHZpZXcn cyBvdXRsZXRzIGFyZSBvcHRpb25hbC4 - - - - com.apple.InterfaceBuilder.CocoaPlugin - BGHUDComboBoxCell - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - BGHUDComboBoxCell - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.IBSDKPlugin - - VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g + + + + com.apple.InterfaceBuilder.CocoaPlugin + BGHUDComboBoxCell + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + BGHUDComboBoxCell + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.IBSDKPlugin + + VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g dGhlIGxpYnJhcnkgd2luZG93LiBXaGVuIHRoZSBzbWFsbGVyIGJ1dHRvbiBpcyBkcmFnZ2VkIG91dCwg aXQgd2lsbCBhbmltYXRlIHRvIHRoZSBsYXJnZXIgYnV0dG9uLiBXaGVuIHRoZSBsYXJnZSBidXR0b24g aXMgZGVwb3NpdGVkIGludG8gdGhlIGFwcGxpY2F0aW9uLCBpdCB3aWxsIGRlcG9zaXQgYSBidXR0b24g @@ -4838,14 +5018,14 @@ dmlldydzIGRyYWdnZWRWaWV3IG91dGxldC4KCkRlcG9zaXRpbmcgdGhlIGJ1dHRvbiBjZWxsIGluc3Rl YWQgb2YgdGhlIGJ1dHRvbiBpcyBhY2hpZXZlZCBieSBjb25uZWN0aW5nIHRoZSByZXByZXNlbnRlZE9i amVjdCBvdXRsZXQgb2YgdGhlIHRlbXBsYXRlIHZpZXcuCgpBbGwgb2YgdGhlIHRlbXBsYXRlIHZpZXcn cyBvdXRsZXRzIGFyZSBvcHRpb25hbC4 - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.IBSDKPlugin - - VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g + + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.IBSDKPlugin + + VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g dGhlIGxpYnJhcnkgd2luZG93LiBXaGVuIHRoZSBzbWFsbGVyIGJ1dHRvbiBpcyBkcmFnZ2VkIG91dCwg aXQgd2lsbCBhbmltYXRlIHRvIHRoZSBsYXJnZXIgYnV0dG9uLiBXaGVuIHRoZSBsYXJnZSBidXR0b24g aXMgZGVwb3NpdGVkIGludG8gdGhlIGFwcGxpY2F0aW9uLCBpdCB3aWxsIGRlcG9zaXQgYSBidXR0b24g @@ -4854,16 +5034,16 @@ dmlldydzIGRyYWdnZWRWaWV3IG91dGxldC4KCkRlcG9zaXRpbmcgdGhlIGJ1dHRvbiBjZWxsIGluc3Rl YWQgb2YgdGhlIGJ1dHRvbiBpcyBhY2hpZXZlZCBieSBjb25uZWN0aW5nIHRoZSByZXByZXNlbnRlZE9i amVjdCBvdXRsZXQgb2YgdGhlIHRlbXBsYXRlIHZpZXcuCgpBbGwgb2YgdGhlIHRlbXBsYXRlIHZpZXcn cyBvdXRsZXRzIGFyZSBvcHRpb25hbC4 - - - - BGHUDBox - com.apple.InterfaceBuilder.CocoaPlugin - BGHUDBox - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.IBSDKPlugin - - VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g + + + + BGHUDBox + com.apple.InterfaceBuilder.CocoaPlugin + BGHUDBox + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.IBSDKPlugin + + VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g dGhlIGxpYnJhcnkgd2luZG93LiBXaGVuIHRoZSBzbWFsbGVyIGJ1dHRvbiBpcyBkcmFnZ2VkIG91dCwg aXQgd2lsbCBhbmltYXRlIHRvIHRoZSBsYXJnZXIgYnV0dG9uLiBXaGVuIHRoZSBsYXJnZSBidXR0b24g aXMgZGVwb3NpdGVkIGludG8gdGhlIGFwcGxpY2F0aW9uLCBpdCB3aWxsIGRlcG9zaXQgYSBidXR0b24g @@ -4872,18 +5052,18 @@ dmlldydzIGRyYWdnZWRWaWV3IG91dGxldC4KCkRlcG9zaXRpbmcgdGhlIGJ1dHRvbiBjZWxsIGluc3Rl YWQgb2YgdGhlIGJ1dHRvbiBpcyBhY2hpZXZlZCBieSBjb25uZWN0aW5nIHRoZSByZXByZXNlbnRlZE9i amVjdCBvdXRsZXQgb2YgdGhlIHRlbXBsYXRlIHZpZXcuCgpBbGwgb2YgdGhlIHRlbXBsYXRlIHZpZXcn cyBvdXRsZXRzIGFyZSBvcHRpb25hbC4 - - - - com.apple.InterfaceBuilder.CocoaPlugin - BGHUDStepperCell - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - BGHUDStepperCell - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.IBSDKPlugin - - VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g + + + + com.apple.InterfaceBuilder.CocoaPlugin + BGHUDStepperCell + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + BGHUDStepperCell + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.IBSDKPlugin + + VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g dGhlIGxpYnJhcnkgd2luZG93LiBXaGVuIHRoZSBzbWFsbGVyIGJ1dHRvbiBpcyBkcmFnZ2VkIG91dCwg aXQgd2lsbCBhbmltYXRlIHRvIHRoZSBsYXJnZXIgYnV0dG9uLiBXaGVuIHRoZSBsYXJnZSBidXR0b24g aXMgZGVwb3NpdGVkIGludG8gdGhlIGFwcGxpY2F0aW9uLCBpdCB3aWxsIGRlcG9zaXQgYSBidXR0b24g @@ -4892,18 +5072,21 @@ dmlldydzIGRyYWdnZWRWaWV3IG91dGxldC4KCkRlcG9zaXRpbmcgdGhlIGJ1dHRvbiBjZWxsIGluc3Rl YWQgb2YgdGhlIGJ1dHRvbiBpcyBhY2hpZXZlZCBieSBjb25uZWN0aW5nIHRoZSByZXByZXNlbnRlZE9i amVjdCBvdXRsZXQgb2YgdGhlIHRlbXBsYXRlIHZpZXcuCgpBbGwgb2YgdGhlIHRlbXBsYXRlIHZpZXcn cyBvdXRsZXRzIGFyZSBvcHRpb25hbC4 - - - - BGHUDTabView - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.IBSDKPlugin - - VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g + + + + BGHUDTabView + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.IBSDKPlugin + + AUOLgABD8AAAA + + + VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g dGhlIGxpYnJhcnkgd2luZG93LiBXaGVuIHRoZSBzbWFsbGVyIGJ1dHRvbiBpcyBkcmFnZ2VkIG91dCwg aXQgd2lsbCBhbmltYXRlIHRvIHRoZSBsYXJnZXIgYnV0dG9uLiBXaGVuIHRoZSBsYXJnZSBidXR0b24g aXMgZGVwb3NpdGVkIGludG8gdGhlIGFwcGxpY2F0aW9uLCBpdCB3aWxsIGRlcG9zaXQgYSBidXR0b24g @@ -4912,21 +5095,31 @@ dmlldydzIGRyYWdnZWRWaWV3IG91dGxldC4KCkRlcG9zaXRpbmcgdGhlIGJ1dHRvbiBjZWxsIGluc3Rl YWQgb2YgdGhlIGJ1dHRvbiBpcyBhY2hpZXZlZCBieSBjb25uZWN0aW5nIHRoZSByZXByZXNlbnRlZE9i amVjdCBvdXRsZXQgb2YgdGhlIHRlbXBsYXRlIHZpZXcuCgpBbGwgb2YgdGhlIHRlbXBsYXRlIHZpZXcn cyBvdXRsZXRzIGFyZSBvcHRpb25hbC4 - - - - com.apple.InterfaceBuilder.CocoaPlugin - BGHUDTextFieldCell - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - BGHUDTextFieldCell - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.IBSDKPlugin - - AULOAABD8oAAA - - - VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g + + + + com.apple.InterfaceBuilder.CocoaPlugin + + This button is connected to its IBLibraryTemplateObject. + + + + BGHUDButtonCell + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABAQAAAw1YAAA + + + This button is connected to its IBLibraryTemplateObject. + + + + BGHUDButtonCell + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.IBSDKPlugin + + VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g dGhlIGxpYnJhcnkgd2luZG93LiBXaGVuIHRoZSBzbWFsbGVyIGJ1dHRvbiBpcyBkcmFnZ2VkIG91dCwg aXQgd2lsbCBhbmltYXRlIHRvIHRoZSBsYXJnZXIgYnV0dG9uLiBXaGVuIHRoZSBsYXJnZSBidXR0b24g aXMgZGVwb3NpdGVkIGludG8gdGhlIGFwcGxpY2F0aW9uLCBpdCB3aWxsIGRlcG9zaXQgYSBidXR0b24g @@ -4935,26 +5128,21 @@ dmlldydzIGRyYWdnZWRWaWV3IG91dGxldC4KCkRlcG9zaXRpbmcgdGhlIGJ1dHRvbiBjZWxsIGluc3Rl YWQgb2YgdGhlIGJ1dHRvbiBpcyBhY2hpZXZlZCBieSBjb25uZWN0aW5nIHRoZSByZXByZXNlbnRlZE9i amVjdCBvdXRsZXQgb2YgdGhlIHRlbXBsYXRlIHZpZXcuCgpBbGwgb2YgdGhlIHRlbXBsYXRlIHZpZXcn cyBvdXRsZXRzIGFyZSBvcHRpb25hbC4 - - - - com.apple.InterfaceBuilder.CocoaPlugin - - This button is connected to its IBLibraryTemplateObject. - - - - BGHUDButtonCell - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - This button is connected to its IBLibraryTemplateObject. - - - - com.apple.InterfaceBuilder.IBSDKPlugin - - VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g + + + + com.apple.InterfaceBuilder.CocoaPlugin + BGHUDTextFieldCell + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + BGHUDTextFieldCell + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.IBSDKPlugin + + AULOAABD8oAAA + + + VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g dGhlIGxpYnJhcnkgd2luZG93LiBXaGVuIHRoZSBzbWFsbGVyIGJ1dHRvbiBpcyBkcmFnZ2VkIG91dCwg aXQgd2lsbCBhbmltYXRlIHRvIHRoZSBsYXJnZXIgYnV0dG9uLiBXaGVuIHRoZSBsYXJnZSBidXR0b24g aXMgZGVwb3NpdGVkIGludG8gdGhlIGFwcGxpY2F0aW9uLCBpdCB3aWxsIGRlcG9zaXQgYSBidXR0b24g @@ -4963,20 +5151,26 @@ dmlldydzIGRyYWdnZWRWaWV3IG91dGxldC4KCkRlcG9zaXRpbmcgdGhlIGJ1dHRvbiBjZWxsIGluc3Rl YWQgb2YgdGhlIGJ1dHRvbiBpcyBhY2hpZXZlZCBieSBjb25uZWN0aW5nIHRoZSByZXByZXNlbnRlZE9i amVjdCBvdXRsZXQgb2YgdGhlIHRlbXBsYXRlIHZpZXcuCgpBbGwgb2YgdGhlIHRlbXBsYXRlIHZpZXcn cyBvdXRsZXRzIGFyZSBvcHRpb25hbC4 - - - - BGHUDButtonCell - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - This button is connected to its IBLibraryTemplateObject. - - - - com.apple.InterfaceBuilder.IBSDKPlugin - - VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g + + + + com.apple.InterfaceBuilder.CocoaPlugin + + This button is connected to its IBLibraryTemplateObject. + + + + BGHUDButtonCell + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + This button is connected to its IBLibraryTemplateObject. + + + + com.apple.InterfaceBuilder.IBSDKPlugin + + VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g dGhlIGxpYnJhcnkgd2luZG93LiBXaGVuIHRoZSBzbWFsbGVyIGJ1dHRvbiBpcyBkcmFnZ2VkIG91dCwg aXQgd2lsbCBhbmltYXRlIHRvIHRoZSBsYXJnZXIgYnV0dG9uLiBXaGVuIHRoZSBsYXJnZSBidXR0b24g aXMgZGVwb3NpdGVkIGludG8gdGhlIGFwcGxpY2F0aW9uLCBpdCB3aWxsIGRlcG9zaXQgYSBidXR0b24g @@ -4985,21 +5179,23 @@ dmlldydzIGRyYWdnZWRWaWV3IG91dGxldC4KCkRlcG9zaXRpbmcgdGhlIGJ1dHRvbiBjZWxsIGluc3Rl YWQgb2YgdGhlIGJ1dHRvbiBpcyBhY2hpZXZlZCBieSBjb25uZWN0aW5nIHRoZSByZXByZXNlbnRlZE9i amVjdCBvdXRsZXQgb2YgdGhlIHRlbXBsYXRlIHZpZXcuCgpBbGwgb2YgdGhlIHRlbXBsYXRlIHZpZXcn cyBvdXRsZXRzIGFyZSBvcHRpb25hbC4 - - - - {{380, 273}, {1147, 585}} - com.apple.InterfaceBuilder.CocoaPlugin - - YES - - {332, 343} - {{517, 340}, {714, 585}} - BGHUDButtonCell - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.IBSDKPlugin - - VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g + + + + BGHUDButtonCell + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + This button is connected to its IBLibraryTemplateObject. + + + + com.apple.InterfaceBuilder.IBSDKPlugin + + AUOJAABD8oAAA + + + VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g dGhlIGxpYnJhcnkgd2luZG93LiBXaGVuIHRoZSBzbWFsbGVyIGJ1dHRvbiBpcyBkcmFnZ2VkIG91dCwg aXQgd2lsbCBhbmltYXRlIHRvIHRoZSBsYXJnZXIgYnV0dG9uLiBXaGVuIHRoZSBsYXJnZSBidXR0b24g aXMgZGVwb3NpdGVkIGludG8gdGhlIGFwcGxpY2F0aW9uLCBpdCB3aWxsIGRlcG9zaXQgYSBidXR0b24g @@ -5008,915 +5204,935 @@ dmlldydzIGRyYWdnZWRWaWV3IG91dGxldC4KCkRlcG9zaXRpbmcgdGhlIGJ1dHRvbiBjZWxsIGluc3Rl YWQgb2YgdGhlIGJ1dHRvbiBpcyBhY2hpZXZlZCBieSBjb25uZWN0aW5nIHRoZSByZXByZXNlbnRlZE9i amVjdCBvdXRsZXQgb2YgdGhlIHRlbXBsYXRlIHZpZXcuCgpBbGwgb2YgdGhlIHRlbXBsYXRlIHZpZXcn cyBvdXRsZXRzIGFyZSBvcHRpb25hbC4 - - - - com.apple.InterfaceBuilder.CocoaPlugin - BGHUDPopUpButtonCell - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - BGHUDPopUpButtonCell - com.apple.InterfaceBuilder.CocoaPlugin - {{343, 280}, {113, 63}} - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - BGHUDButtonCell - com.apple.InterfaceBuilder.CocoaPlugin - - - - YES - - - YES - - - - - YES - - - YES - - - - 354 - - - - YES - - BGHUDBox - NSBox - - IBProjectSource - Framework/BGHUDBox.h - - - - BGHUDButtonCell - NSButtonCell - - IBProjectSource - Framework/BGHUDButtonCell.h - - - - BGHUDColorWell - NSColorWell - - IBProjectSource - Framework/BGHUDColorWell.h - - - - BGHUDComboBoxCell - NSComboBoxCell - - IBProjectSource - Framework/BGHUDComboBoxCell.h - - - - BGHUDLabel - NSTextField - - IBProjectSource - Framework/BGHUDLabel.h - - - - BGHUDOutlineView - NSOutlineView - - IBProjectSource - Framework/BGHUDOutlineView.h - - - - BGHUDPopUpButtonCell - NSPopUpButtonCell - - IBProjectSource - Framework/BGHUDPopUpButtonCell.h - - - - BGHUDProgressIndicator - NSProgressIndicator - - IBProjectSource - Framework/BGHUDProgressIndicator.h - - - - BGHUDScrollView - NSScrollView - - IBProjectSource - Framework/BGHUDScrollView.h - - - - BGHUDSearchFieldCell - NSSearchFieldCell - - IBProjectSource - Framework/BGHUDSearchFieldCell.h - - - - BGHUDSecureTextFieldCell - NSSecureTextFieldCell - - IBProjectSource - Framework/BGHUDSecureTextFieldCell.h - - - - BGHUDSegmentedCell - NSSegmentedCell - - IBProjectSource - Framework/BGHUDSegmentedCell.h - - - - BGHUDSliderCell - NSSliderCell - - IBProjectSource - Framework/BGHUDSliderCell.h - - - - BGHUDStepperCell - NSStepperCell - - IBProjectSource - Framework/BGHUDStepperCell.h - - - - BGHUDTabView - NSTabView - - IBProjectSource - Framework/BGHUDTabView.h - - - - BGHUDTabViewItem - NSTabViewItem - - IBProjectSource - Framework/BGHUDTabViewItem.h - - - - BGHUDTableView - NSTableView - - IBProjectSource - Framework/BGHUDTableView.h - - - - BGHUDTextFieldCell - NSTextFieldCell - - IBProjectSource - Framework/BGHUDTextFieldCell.h - - - - BGHUDTokenFieldCell - NSTokenFieldCell - - IBProjectSource - Framework/BGHUDTokenFieldCell.h - - - - BGHUDView - NSView - - IBProjectSource - Framework/BGHUDView.h - - - - - YES - - NSActionCell - NSCell - - IBFrameworkSource - AppKit.framework/Headers/NSActionCell.h - - - - NSApplication - NSResponder - - IBFrameworkSource - AppKit.framework/Headers/NSApplication.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSApplicationScripting.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSColorPanel.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSHelpManager.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSPageLayout.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSUserInterfaceItemSearching.h - - - - NSBox - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSBox.h - - - - NSButton - NSControl - - IBFrameworkSource - AppKit.framework/Headers/NSButton.h - - - - NSButtonCell - NSActionCell - - IBFrameworkSource - AppKit.framework/Headers/NSButtonCell.h - - - - NSCell - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSCell.h - - - - NSColorWell - NSControl - - IBFrameworkSource - AppKit.framework/Headers/NSColorWell.h - - - - NSComboBox - NSTextField - - IBFrameworkSource - AppKit.framework/Headers/NSComboBox.h - - - - NSComboBoxCell - NSTextFieldCell - - IBFrameworkSource - AppKit.framework/Headers/NSComboBoxCell.h - - - - NSControl - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSControl.h - - - - NSFormatter - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSFormatter.h - - - - NSImageCell - NSCell - - IBFrameworkSource - AppKit.framework/Headers/NSImageCell.h - - - - NSImageView - NSControl - - IBFrameworkSource - AppKit.framework/Headers/NSImageView.h - - - - NSMenu - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSMenu.h - - - - NSMenuItem - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSMenuItem.h - - - - NSMenuItemCell - NSButtonCell - - IBFrameworkSource - AppKit.framework/Headers/NSMenuItemCell.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSAccessibility.h - - - - NSObject - - - - NSObject - - - - NSObject - - - - NSObject - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSDictionaryController.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSDragging.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSFontManager.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSFontPanel.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSKeyValueBinding.h - - - - NSObject - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSNibLoading.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSOutlineView.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSPasteboard.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSSavePanel.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSTableView.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSToolbarItem.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSView.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSArchiver.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSClassDescription.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSError.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSFileManager.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyValueCoding.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyValueObserving.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyedArchiver.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSObject.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSObjectScripting.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSPortCoder.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSRunLoop.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptClassDescription.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptKeyValueCoding.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptObjectSpecifiers.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptWhoseTests.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSThread.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSURL.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSURLConnection.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSURLDownload.h - - - - NSObject - - IBFrameworkSource - InterfaceBuilderKit.framework/Headers/IBObjectIntegration.h - - - - NSOutlineView - NSTableView - - - - NSPopUpButton - NSButton - - IBFrameworkSource - AppKit.framework/Headers/NSPopUpButton.h - - - - NSPopUpButtonCell - NSMenuItemCell - - IBFrameworkSource - AppKit.framework/Headers/NSPopUpButtonCell.h - - - - NSProgressIndicator - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSProgressIndicator.h - - - - NSResponder - - IBFrameworkSource - AppKit.framework/Headers/NSInterfaceStyle.h - - - - NSResponder - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSResponder.h - - - - NSScrollView - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSScrollView.h - - - - NSScroller - NSControl - - IBFrameworkSource - AppKit.framework/Headers/NSScroller.h - - - - NSSearchField - NSTextField - - IBFrameworkSource - AppKit.framework/Headers/NSSearchField.h - - - - NSSearchFieldCell - NSTextFieldCell - - IBFrameworkSource - AppKit.framework/Headers/NSSearchFieldCell.h - - - - NSSecureTextFieldCell - NSTextFieldCell - - IBFrameworkSource - AppKit.framework/Headers/NSSecureTextField.h - - - - NSSegmentedCell - NSActionCell - - IBFrameworkSource - AppKit.framework/Headers/NSSegmentedCell.h - - - - NSSegmentedControl - NSControl - - IBFrameworkSource - AppKit.framework/Headers/NSSegmentedControl.h - - - - NSSlider - NSControl - - IBFrameworkSource - AppKit.framework/Headers/NSSlider.h - - - - NSSliderCell - NSActionCell - - IBFrameworkSource - AppKit.framework/Headers/NSSliderCell.h - - - - NSStepper - NSControl - - IBFrameworkSource - AppKit.framework/Headers/NSStepper.h - - - - NSStepperCell - NSActionCell - - IBFrameworkSource - AppKit.framework/Headers/NSStepperCell.h - - - - NSTabView - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSTabView.h - - - - NSTabViewItem - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSTabViewItem.h - - - - NSTableColumn - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSTableColumn.h - - - - NSTableHeaderView - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSTableHeaderView.h - - - - NSTableView - NSControl - - - - NSText - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSText.h - - - - NSTextField - NSControl - - IBFrameworkSource - AppKit.framework/Headers/NSTextField.h - - - - NSTextFieldCell - NSActionCell - - IBFrameworkSource - AppKit.framework/Headers/NSTextFieldCell.h - - - - NSTextView - NSText - - IBFrameworkSource - AppKit.framework/Headers/NSTextView.h - - - - NSTokenField - NSTextField - - IBFrameworkSource - AppKit.framework/Headers/NSTokenField.h - - - - NSTokenFieldCell - NSTextFieldCell - - IBFrameworkSource - AppKit.framework/Headers/NSTokenFieldCell.h - - - - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSClipView.h - - - - NSView - - - - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSRulerView.h - - - - NSView - NSResponder - - - - NSView - - IBFrameworkSource - InterfaceBuilderKit.framework/Headers/IBViewIntegration.h - - - - - 0 - IBCocoaFramework - - com.apple.InterfaceBuilder.CocoaPlugin.macosx - - - - com.apple.InterfaceBuilder.CocoaPlugin.macosx - - - - com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 - - - YES - ../BGHUDAppKit.xcodeproj - 3 - - YES - - YES - NSMenuCheckmark - NSMenuMixedState - outlineview - scrollview - tableview - tabview - textview - - - YES - {9, 8} - {7, 2} - {48, 47} - {48, 41} - {48, 47} - {47, 42} - {48, 41} - - - + + + + {{111, 68}, {1147, 585}} + com.apple.InterfaceBuilder.CocoaPlugin + + YES + + {332, 343} + {{517, 340}, {714, 585}} + BGHUDButtonCell + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.IBSDKPlugin + + VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g +dGhlIGxpYnJhcnkgd2luZG93LiBXaGVuIHRoZSBzbWFsbGVyIGJ1dHRvbiBpcyBkcmFnZ2VkIG91dCwg +aXQgd2lsbCBhbmltYXRlIHRvIHRoZSBsYXJnZXIgYnV0dG9uLiBXaGVuIHRoZSBsYXJnZSBidXR0b24g +aXMgZGVwb3NpdGVkIGludG8gdGhlIGFwcGxpY2F0aW9uLCBpdCB3aWxsIGRlcG9zaXQgYSBidXR0b24g +Y2VsbC4KClRoZSBhbmltYXRpb24gaXMgYWNoaWV2ZWQgYnkgY29ubmVjdGluZyB0aGUgdGVtcGxhdGUg +dmlldydzIGRyYWdnZWRWaWV3IG91dGxldC4KCkRlcG9zaXRpbmcgdGhlIGJ1dHRvbiBjZWxsIGluc3Rl +YWQgb2YgdGhlIGJ1dHRvbiBpcyBhY2hpZXZlZCBieSBjb25uZWN0aW5nIHRoZSByZXByZXNlbnRlZE9i +amVjdCBvdXRsZXQgb2YgdGhlIHRlbXBsYXRlIHZpZXcuCgpBbGwgb2YgdGhlIHRlbXBsYXRlIHZpZXcn +cyBvdXRsZXRzIGFyZSBvcHRpb25hbC4 + + + + com.apple.InterfaceBuilder.CocoaPlugin + BGHUDPopUpButtonCell + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + BGHUDPopUpButtonCell + com.apple.InterfaceBuilder.CocoaPlugin + {{343, 280}, {113, 63}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + BGHUDButtonCell + com.apple.InterfaceBuilder.CocoaPlugin + + + + YES + + + YES + + + + + YES + + + YES + + + + 383 + + + + YES + + BGHUDBox + NSBox + + IBProjectSource + Framework/BGHUDBox.h + + + + BGHUDButtonCell + NSButtonCell + + IBProjectSource + Framework/BGHUDButtonCell.h + + + + BGHUDColorWell + NSColorWell + + IBProjectSource + Framework/BGHUDColorWell.h + + + + BGHUDComboBoxCell + NSComboBoxCell + + IBProjectSource + Framework/BGHUDComboBoxCell.h + + + + BGHUDLabel + NSTextField + + IBProjectSource + Framework/BGHUDLabel.h + + + + BGHUDOutlineView + NSOutlineView + + IBProjectSource + Framework/BGHUDOutlineView.h + + + + BGHUDPopUpButtonCell + NSPopUpButtonCell + + IBProjectSource + Framework/BGHUDPopUpButtonCell.h + + + + BGHUDProgressIndicator + NSProgressIndicator + + IBProjectSource + Framework/BGHUDProgressIndicator.h + + + + BGHUDScrollView + NSScrollView + + IBProjectSource + Framework/BGHUDScrollView.h + + + + BGHUDSearchFieldCell + NSSearchFieldCell + + IBProjectSource + Framework/BGHUDSearchFieldCell.h + + + + BGHUDSecureTextFieldCell + NSSecureTextFieldCell + + IBProjectSource + Framework/BGHUDSecureTextFieldCell.h + + + + BGHUDSegmentedCell + NSSegmentedCell + + IBProjectSource + Framework/BGHUDSegmentedCell.h + + + + BGHUDSliderCell + NSSliderCell + + IBProjectSource + Framework/BGHUDSliderCell.h + + + + BGHUDStepperCell + NSStepperCell + + IBProjectSource + Framework/BGHUDStepperCell.h + + + + BGHUDTabView + NSTabView + + IBProjectSource + Framework/BGHUDTabView.h + + + + BGHUDTabViewItem + NSTabViewItem + + IBProjectSource + Framework/BGHUDTabViewItem.h + + + + BGHUDTableView + NSTableView + + IBProjectSource + Framework/BGHUDTableView.h + + + + BGHUDTextFieldCell + NSTextFieldCell + + IBProjectSource + Framework/BGHUDTextFieldCell.h + + + + BGHUDTokenFieldCell + NSTokenFieldCell + + IBProjectSource + Framework/BGHUDTokenFieldCell.h + + + + BGHUDView + NSView + + IBProjectSource + Framework/BGHUDView.h + + + + + YES + + NSActionCell + NSCell + + IBFrameworkSource + AppKit.framework/Headers/NSActionCell.h + + + + NSApplication + NSResponder + + IBFrameworkSource + AppKit.framework/Headers/NSApplication.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSApplicationScripting.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSColorPanel.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSHelpManager.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSPageLayout.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSUserInterfaceItemSearching.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSWindowRestoration.h + + + + NSBox + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSBox.h + + + + NSButton + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSButton.h + + + + NSButtonCell + NSActionCell + + IBFrameworkSource + AppKit.framework/Headers/NSButtonCell.h + + + + NSCell + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSCell.h + + + + NSColorWell + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSColorWell.h + + + + NSComboBox + NSTextField + + IBFrameworkSource + AppKit.framework/Headers/NSComboBox.h + + + + NSComboBoxCell + NSTextFieldCell + + IBFrameworkSource + AppKit.framework/Headers/NSComboBoxCell.h + + + + NSControl + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSControl.h + + + + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSLayoutConstraint.h + + + + NSFormatter + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSFormatter.h + + + + NSImageCell + NSCell + + IBFrameworkSource + AppKit.framework/Headers/NSImageCell.h + + + + NSImageView + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSImageView.h + + + + NSMenu + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSMenu.h + + + + NSMenuItem + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSMenuItem.h + + + + NSMenuItemCell + NSButtonCell + + IBFrameworkSource + AppKit.framework/Headers/NSMenuItemCell.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSAccessibility.h + + + + NSObject + + + + NSObject + + + + NSObject + + + + NSObject + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSDictionaryController.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSDragging.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSFontManager.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSFontPanel.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSKeyValueBinding.h + + + + NSObject + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSNibLoading.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSPasteboard.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSSavePanel.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSTableView.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSToolbarItem.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSView.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSArchiver.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSClassDescription.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSError.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSFileManager.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyValueCoding.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyValueObserving.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyedArchiver.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSObject.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSObjectScripting.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSPortCoder.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSRunLoop.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSScriptClassDescription.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSScriptKeyValueCoding.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSScriptObjectSpecifiers.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSScriptWhoseTests.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSThread.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSURL.h + + + + NSOutlineView + NSTableView + + IBFrameworkSource + AppKit.framework/Headers/NSOutlineView.h + + + + NSPopUpButton + NSButton + + IBFrameworkSource + AppKit.framework/Headers/NSPopUpButton.h + + + + NSPopUpButtonCell + NSMenuItemCell + + IBFrameworkSource + AppKit.framework/Headers/NSPopUpButtonCell.h + + + + NSProgressIndicator + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSProgressIndicator.h + + + + NSResponder + + IBFrameworkSource + AppKit.framework/Headers/NSInterfaceStyle.h + + + + NSResponder + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSResponder.h + + + + NSResponder + + + + NSScrollView + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSScrollView.h + + + + NSScroller + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSScroller.h + + + + NSSearchField + NSTextField + + IBFrameworkSource + AppKit.framework/Headers/NSSearchField.h + + + + NSSearchFieldCell + NSTextFieldCell + + IBFrameworkSource + AppKit.framework/Headers/NSSearchFieldCell.h + + + + NSSecureTextFieldCell + NSTextFieldCell + + IBFrameworkSource + AppKit.framework/Headers/NSSecureTextField.h + + + + NSSegmentedCell + NSActionCell + + IBFrameworkSource + AppKit.framework/Headers/NSSegmentedCell.h + + + + NSSegmentedControl + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSSegmentedControl.h + + + + NSSlider + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSSlider.h + + + + NSSliderCell + NSActionCell + + IBFrameworkSource + AppKit.framework/Headers/NSSliderCell.h + + + + NSStepper + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSStepper.h + + + + NSStepperCell + NSActionCell + + IBFrameworkSource + AppKit.framework/Headers/NSStepperCell.h + + + + NSTabView + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSTabView.h + + + + NSTabViewItem + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSTabViewItem.h + + + + NSTableColumn + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSTableColumn.h + + + + NSTableHeaderView + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSTableHeaderView.h + + + + NSTableView + NSControl + + + + NSText + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSText.h + + + + NSTextField + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSTextField.h + + + + NSTextFieldCell + NSActionCell + + IBFrameworkSource + AppKit.framework/Headers/NSTextFieldCell.h + + + + NSTextView + NSText + + IBFrameworkSource + AppKit.framework/Headers/NSTextView.h + + + + NSTokenField + NSTextField + + IBFrameworkSource + AppKit.framework/Headers/NSTokenField.h + + + + NSTokenFieldCell + NSTextFieldCell + + IBFrameworkSource + AppKit.framework/Headers/NSTokenFieldCell.h + + + + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSClipView.h + + + + NSView + + + + NSView + + + + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSOpenGLView.h + + + + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSRulerView.h + + + + NSView + NSResponder + + + + + 0 + IBCocoaFramework + + com.apple.InterfaceBuilder.CocoaPlugin.macosx + + + + com.apple.InterfaceBuilder.CocoaPlugin.macosx + + + + com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 + + + YES + ../../BGHUDAppKit.xcodeproj + 3 + + YES + + YES + NSMenuCheckmark + NSMenuMixedState + outlineview + scrollview + tableview + tabview + textview + + + YES + {11, 11} + {10, 3} + {48, 47} + {48, 41} + {48, 47} + {47, 42} + {48, 41} + + + diff --git a/Plugin/English.lproj/BGHUDAppKitLibrary.nib/keyedobjects.nib b/Plugin/English.lproj/BGHUDAppKitLibrary.nib/keyedobjects.nib index c03e2705db57bd9851b005255c2f9bbb3c2b4e43..aae80153551ca32ca790cb0e4f347b42ff928c95 100644 GIT binary patch literal 51241 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 Date: Thu, 29 Mar 2012 12:41:20 +0200 Subject: [PATCH 07/25] Improved the way to detect mouse over status and mouse down status for Recessed Button. --- Framework/BGHUDButtonCell.m | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/Framework/BGHUDButtonCell.m b/Framework/BGHUDButtonCell.m index bf7b6ce..e0c4f56 100755 --- a/Framework/BGHUDButtonCell.m +++ b/Framework/BGHUDButtonCell.m @@ -1101,7 +1101,8 @@ -(void)drawRecessedButtonInFrame:(NSRect)frame { [shadowPath closePath]; //Draw - if([self state] == 1) { + NSLog(@"sate:%d isHighlighted:%d showsStateBy:%d highlightsBy:%d",[self state],[self isHighlighted],[self showsStateBy],[self highlightsBy]); + if([self state] || [self isHighlighted]) { [[[[BGThemeManager keyedManager] themeForKey: self.themeKey] pushedSolidFill] set]; [path fill]; //Draw inner shadow @@ -1123,7 +1124,7 @@ -(void)drawRecessedButtonInFrame:(NSRect)frame { [[NSGraphicsContext currentContext] restoreGraphicsState]; } else { - if([self isHighlighted]){ + if([self highlightsBy] & NSChangeBackgroundCellMask){ [[[[BGThemeManager keyedManager] themeForKey: self.themeKey] highlightSolidFill] set]; [path fill]; } @@ -1146,13 +1147,17 @@ -(void)drawRecessedButtonInFrame:(NSRect)frame { - (void)mouseEntered:(NSEvent *)event{ if ([self bezelStyle] == NSRecessedBezelStyle) { - [self setHighlighted:YES]; + if (!([self highlightsBy] & NSChangeBackgroundCellMask)) { + [self setHighlightsBy:([self highlightsBy] + NSChangeBackgroundCellMask)]; + } } } - (void)mouseExited:(NSEvent *)event{ if ([self bezelStyle] == NSRecessedBezelStyle) { - [self setHighlighted:NO]; + if (([self highlightsBy] & NSChangeBackgroundCellMask)) { + [self setHighlightsBy:([self highlightsBy] - NSChangeBackgroundCellMask)]; + } } } From b1ea6056005193ad4a699d035081d0e2ac5dd43b Mon Sep 17 00:00:00 2001 From: CocoaBob Date: Thu, 29 Mar 2012 15:54:08 +0200 Subject: [PATCH 08/25] Removed unnecessary codes. --- Framework/BGHUDButtonCell.m | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/Framework/BGHUDButtonCell.m b/Framework/BGHUDButtonCell.m index e0c4f56..3f3d0a4 100755 --- a/Framework/BGHUDButtonCell.m +++ b/Framework/BGHUDButtonCell.m @@ -434,7 +434,7 @@ -(void)drawTexturedRoundedButtonInFrame:(NSRect)frame { if([self imagePosition] != NSNoImage) { - [self drawImage: (([self alternateImage]&&[self state])?[self alternateImage]:[self image]) withFrame: frame inView: [self controlView]]; + [self drawImage: [self image] withFrame: frame inView: [self controlView]]; } } @@ -557,7 +557,7 @@ -(void)drawRoundRectButtonInFrame:(NSRect)frame { if([self imagePosition] != NSNoImage) { - [self drawImage: (([self alternateImage]&&[self state])?[self alternateImage]:[self image]) withFrame: frame inView: [self controlView]]; + [self drawImage: [self image] withFrame: frame inView: [self controlView]]; } } @@ -635,7 +635,7 @@ -(void)drawSmallSquareButtonInFrame:(NSRect)frame { if([self imagePosition] != NSNoImage) { - [self drawImage: (([self alternateImage]&&[self state])?[self alternateImage]:[self image]) withFrame: frame inView: [self controlView]]; + [self drawImage: [self image] withFrame: frame inView: [self controlView]]; } } @@ -740,7 +740,7 @@ -(void)drawRoundedButtonInFrame:(NSRect)frame { if([self imagePosition] != NSNoImage) { - [self drawImage: (([self alternateImage]&&[self state])?[self alternateImage]:[self image]) withFrame: frame inView: [self controlView]]; + [self drawImage: [self image] withFrame: frame inView: [self controlView]]; } } @@ -1101,7 +1101,6 @@ -(void)drawRecessedButtonInFrame:(NSRect)frame { [shadowPath closePath]; //Draw - NSLog(@"sate:%d isHighlighted:%d showsStateBy:%d highlightsBy:%d",[self state],[self isHighlighted],[self showsStateBy],[self highlightsBy]); if([self state] || [self isHighlighted]) { [[[[BGThemeManager keyedManager] themeForKey: self.themeKey] pushedSolidFill] set]; [path fill]; @@ -1141,7 +1140,7 @@ -(void)drawRecessedButtonInFrame:(NSRect)frame { } if([self imagePosition] != NSNoImage) { - [self drawImage: (([self alternateImage]&&[self state])?[self alternateImage]:[self image]) withFrame: frame inView: [self controlView]]; + [self drawImage: [self image] withFrame: frame inView: [self controlView]]; } } From 16b6b50d97f217351c0f6adf91a104aea18b514d Mon Sep 17 00:00:00 2001 From: CocoaBob Date: Thu, 29 Mar 2012 16:16:43 +0200 Subject: [PATCH 09/25] Fixed a potential flipping problem. Fixed the drawing composition problem that if the background is transparent, the image will be invisible. --- Framework/BGHUDButtonCell.m | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/Framework/BGHUDButtonCell.m b/Framework/BGHUDButtonCell.m index 3f3d0a4..79286f8 100755 --- a/Framework/BGHUDButtonCell.m +++ b/Framework/BGHUDButtonCell.m @@ -300,14 +300,11 @@ -(void)drawImage:(NSImage *)image withFrame:(NSRect)frame inView:(NSView *)contr break; } - [image setFlipped: YES]; - //Draw the image based on enabled state if([self isEnabled]) { - - [image drawInRect: imageRect fromRect: NSZeroRect operation: NSCompositeSourceAtop fraction: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] alphaValue]]; + [image drawInRect:imageRect fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:[[[BGThemeManager keyedManager] themeForKey: self.themeKey] alphaValue] respectFlipped:YES hints:nil]; } else { - [image drawInRect: imageRect fromRect: NSZeroRect operation: NSCompositeSourceAtop fraction: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] disabledAlphaValue]]; + [image drawInRect:imageRect fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:[[[BGThemeManager keyedManager] themeForKey: self.themeKey] disabledAlphaValue] respectFlipped:YES hints:nil]; } } From b5cde701a735b06fb012fc97791c9fdd4ec17ed9 Mon Sep 17 00:00:00 2001 From: CocoaBob Date: Thu, 29 Mar 2012 17:51:56 +0200 Subject: [PATCH 10/25] Implemented Textured Button. Improved codes for the status of Recessed Button. --- Framework/BGHUDButtonCell.h | 1 + Framework/BGHUDButtonCell.m | 123 +++++++- .../BGHUDAppKitLibrary.nib/designable.nib | 289 ++++++++++++++---- .../BGHUDAppKitLibrary.nib/keyedobjects.nib | Bin 51241 -> 52591 bytes 4 files changed, 352 insertions(+), 61 deletions(-) diff --git a/Framework/BGHUDButtonCell.h b/Framework/BGHUDButtonCell.h index ddd7f5d..1993cc3 100755 --- a/Framework/BGHUDButtonCell.h +++ b/Framework/BGHUDButtonCell.h @@ -49,5 +49,6 @@ -(void)drawSmallSquareButtonInFrame:(NSRect)frame; -(void)drawRoundedButtonInFrame:(NSRect)frame; -(void)drawRecessedButtonInFrame:(NSRect)frame; +-(void)drawTexturedSquareButtonInFrame:(NSRect)frame; @end diff --git a/Framework/BGHUDButtonCell.m b/Framework/BGHUDButtonCell.m index 79286f8..25dd0da 100755 --- a/Framework/BGHUDButtonCell.m +++ b/Framework/BGHUDButtonCell.m @@ -49,6 +49,15 @@ -(id)init { self.themeKey = @"gradientTheme"; buttonType = 0; + + if ([self bezelStyle] == NSRecessedBezelStyle) { + if (([self highlightsBy] & NSChangeBackgroundCellMask)) { + [self setHighlightsBy:([self highlightsBy] - NSChangeBackgroundCellMask)]; + } + if (([self showsStateBy] & NSChangeBackgroundCellMask)) { + [self setShowsStateBy:([self showsStateBy] - NSChangeBackgroundCellMask)]; + } + } } return self; @@ -75,6 +84,15 @@ -(id)initWithCoder:(NSCoder *)aDecoder { buttonType = 0; } + + if ([self bezelStyle] == NSRecessedBezelStyle) { + if (([self highlightsBy] & NSChangeBackgroundCellMask)) { + [self setHighlightsBy:([self highlightsBy] - NSChangeBackgroundCellMask)]; + } + if (([self showsStateBy] & NSChangeBackgroundCellMask)) { + [self setShowsStateBy:([self showsStateBy] - NSChangeBackgroundCellMask)]; + } + } } return self; @@ -99,16 +117,17 @@ -(id)copyWithZone:(NSZone *) zone { } - (void)setButtonType:(NSButtonType)aType { - buttonType = aType; [super setButtonType: aType]; } -(void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView { + NSLog(@"buttonType:%d state:%d isHighlighted:%d showsStateBy:%d highlightsBy:%d",buttonType,[self state],[self isHighlighted],[self showsStateBy],[self highlightsBy]); + // Make sure our own height is right, and not using // a NSMatrix parents height. - cellFrame.size.height = [self cellSize].height; +// cellFrame.size.height = [self cellSize].height; switch ([self bezelStyle]) { @@ -133,8 +152,14 @@ -(void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView { break; case NSRecessedBezelStyle: + [self drawRecessedButtonInFrame: cellFrame]; break; + + case NSTexturedSquareBezelStyle: + + [self drawTexturedSquareButtonInFrame:cellFrame]; + break; } if(buttonType == NSSwitchButton || buttonType == NSRadioButton) { @@ -435,6 +460,91 @@ -(void)drawTexturedRoundedButtonInFrame:(NSRect)frame { } } +-(void)drawTexturedSquareButtonInFrame:(NSRect)frame { + frame.origin.x += 1.5f; + frame.origin.y += 0.5f; + frame.size.width -= 3; + frame.size.height -= 2; + + switch ([self controlSize]) { + case NSRegularControlSize: + frame.origin.y += 1; + break; + case NSSmallControlSize: + break; + case NSMiniControlSize: + break; + } + + //Path + NSBezierPath *path = [NSBezierPath bezierPathWithRoundedRect: frame xRadius: 2.0f yRadius: 2.0f]; + [path setLineWidth: 1.0f]; + if ([self isBordered] && [self isEnabled] && + ([self state] || [self isHighlighted] || ([self highlightsBy] & NSChangeBackgroundCellMask) || ([self showsStateBy] & NSChangeBackgroundCellMask))) { + //Background + if(([self state] && ([self highlightsBy] & NSChangeBackgroundCellMask) && ([self showsStateBy] & NSChangeBackgroundCellMask)) || + [self isHighlighted]) { + [[[[NSGradient alloc] initWithStartingColor:[NSColor colorWithDeviceWhite:0.25f alpha:1.0f] + endingColor:[NSColor colorWithDeviceWhite:0.21f alpha:1.0f]] autorelease] drawInBezierPath: path angle: 90]; + } + else { + [[[[NSGradient alloc] initWithStartingColor:[NSColor colorWithDeviceWhite:0.44f alpha:1.0f] + endingColor:[NSColor colorWithDeviceWhite:0.33f alpha:1.0f]] autorelease] drawInBezierPath: path angle: 90]; + } + + //Border + [[NSGraphicsContext currentContext] saveGraphicsState]; + [[NSColor colorWithDeviceWhite:0.16f alpha:1.0f] setStroke]; + + //Draw border with outter shadow + NSShadow *outerShadow = [[NSShadow alloc] init]; + [outerShadow setShadowColor:[NSColor colorWithDeviceWhite:1.0f alpha:0.1f]]; + [outerShadow setShadowOffset:NSMakeSize(0, -1)]; + [outerShadow set]; + + [path stroke]; + + [outerShadow release]; + + //Draw border with inner shadow + [path setClip]; + NSShadow *innerShadow = [[NSShadow alloc] init]; + [innerShadow setShadowOffset:NSMakeSize(0, -1)]; + + if(([self state] && ([self highlightsBy] & NSChangeBackgroundCellMask) && ([self showsStateBy] & NSChangeBackgroundCellMask)) || + [self isHighlighted]) { + [innerShadow setShadowColor:[NSColor colorWithDeviceWhite:0.0f alpha:0.35f]]; + } + else { + [innerShadow setShadowColor:[NSColor colorWithDeviceWhite:1.0f alpha:0.2f]]; + } + + [innerShadow set]; + [path stroke]; + [innerShadow release]; + [[NSGraphicsContext currentContext] restoreGraphicsState]; + } + + if([self imagePosition] != NSImageOnly) { + NSRect textFrame = frame; + switch ([self controlSize]) { + case NSRegularControlSize: + break; + case NSSmallControlSize: + textFrame.origin.y += 1; + break; + case NSMiniControlSize: + break; + } + + [self drawTitle: [self attributedTitle] withFrame: textFrame inView: [self controlView]]; + } + + if([self imagePosition] != NSNoImage) { + [self drawImage:[self image] withFrame: frame inView: [self controlView]]; + } +} + -(void)drawRoundRectButtonInFrame:(NSRect)frame { //Adjust Rect so strokes are true and @@ -1120,7 +1230,8 @@ -(void)drawRecessedButtonInFrame:(NSRect)frame { [[NSGraphicsContext currentContext] restoreGraphicsState]; } else { - if([self highlightsBy] & NSChangeBackgroundCellMask){ + if([self highlightsBy] & NSChangeBackgroundCellMask || + [self showsStateBy] & NSChangeBackgroundCellMask){ [[[[BGThemeManager keyedManager] themeForKey: self.themeKey] highlightSolidFill] set]; [path fill]; } @@ -1146,6 +1257,9 @@ - (void)mouseEntered:(NSEvent *)event{ if (!([self highlightsBy] & NSChangeBackgroundCellMask)) { [self setHighlightsBy:([self highlightsBy] + NSChangeBackgroundCellMask)]; } + if (!([self showsStateBy] & NSChangeBackgroundCellMask)) { + [self setShowsStateBy:([self showsStateBy] + NSChangeBackgroundCellMask)]; + } } } @@ -1154,6 +1268,9 @@ - (void)mouseExited:(NSEvent *)event{ if (([self highlightsBy] & NSChangeBackgroundCellMask)) { [self setHighlightsBy:([self highlightsBy] - NSChangeBackgroundCellMask)]; } + if (([self showsStateBy] & NSChangeBackgroundCellMask)) { + [self setShowsStateBy:([self showsStateBy] - NSChangeBackgroundCellMask)]; + } } } diff --git a/Plugin/English.lproj/BGHUDAppKitLibrary.nib/designable.nib b/Plugin/English.lproj/BGHUDAppKitLibrary.nib/designable.nib index 9223fe5..0747d85 100644 --- a/Plugin/English.lproj/BGHUDAppKitLibrary.nib/designable.nib +++ b/Plugin/English.lproj/BGHUDAppKitLibrary.nib/designable.nib @@ -53,18 +53,18 @@ 268 YES - + 268 YES - - + + 268 - {{16, 22}, {48, 32}} - + {{16, 28.5}, {48, 23}} + YES - + 67239424 134217728 @@ -73,9 +73,9 @@ 13 1040 - + -2038284033 - 129 + 160 200 @@ -83,15 +83,15 @@ - {{15, 485}, {80, 80}} + {{802, 485}, {80, 80}} - 9A458614-9290-48E0-957B-FCF32C621238 - HUD Push Button - 9A458614-9290-48E0-957B-FCF32C621238 - Push Style Button + 27C85560-18B9-422E-9149-8E42964889DB + HUD Textured Button + 27C85560-18B9-422E-9149-8E42964889DB + Textured Button - This is a standard HUD push style button. - + This is a standard HUD textured button. + YES YES @@ -121,16 +121,86 @@ 0 NO + + + 268 + + YES + + + 268 + {{16, 22}, {48, 32}} + + YES + + 67239424 + 134217728 + + + + -2038284033 + 129 + + + 200 + 25 + + + + {{15, 485}, {80, 80}} + + 9A458614-9290-48E0-957B-FCF32C621238 + HUD Push Button + 9A458614-9290-48E0-957B-FCF32C621238 + Push Style Button + + This is a standard HUD push style button. + + + Views & Cells/Buttons + + + + + + 0 + NO + + + + 268 + {{8, 218}, {111, 23}} + + YES + + 67239424 + 134217728 + Textured Button + + + -2038284033 + 32 + + LucidaGrande + 13 + 16 + + + + 200 + 25 + + 268 - {{3, 197}, {98, 19}} + {{9, 192}, {154, 19}} YES 67239424 134217728 - Button + Recessed Button LucidaGrande-Bold 12 @@ -164,11 +234,7 @@ -2038284033 1 - - LucidaGrande - 13 - 16 - + 200 @@ -222,7 +288,7 @@ Standard HUD TextField This is a standard HUD TextField. - + Views & Cells/Inputs & Values @@ -313,7 +379,7 @@ Standard HUD SearchField This is a standard HUD SearchField. - + Views & Cells/Inputs & Values @@ -357,7 +423,7 @@ Standard HUD ColorWell This is a standard HUD ColorWell. - + Views & Cells/Inputs & Values @@ -402,7 +468,7 @@ Standard HUD Label This is a standard HUD Label. - + Views & Cells/Inputs & Values @@ -465,7 +531,7 @@ Gradient Style Button This is a standard HUD gradient style button. - + Views & Cells/Buttons @@ -553,7 +619,7 @@ Rounded Textured Style Button This is a standard HUD rounded textured style button. - + Views & Cells/Buttons @@ -620,7 +686,7 @@ Recessed Style Button This is a standard HUD recessed style button. - + Views & Cells/Buttons @@ -666,7 +732,7 @@ Rounded Rect Style Button This is a standard HUD rounded rect style button. - + Views & Cells/Buttons @@ -762,7 +828,7 @@ Standard HUD Pop Up Button This is a standard HUD Pop Up Button - + Views & Cells/Inputs & Values @@ -874,7 +940,7 @@ Standard HUD Vertical Slider This is a standard HUD Vertical Slider - + Views & Cells/Inputs & Values @@ -943,7 +1009,7 @@ Standard HUD Horizontal Slider This is a standard HUD Horizontal Slider - + Views & Cells/Inputs & Values @@ -1022,7 +1088,7 @@ Standard HUD Text View This is a standard HUD Text View - + Views & Cells/Inputs & Values @@ -1079,7 +1145,7 @@ Standard HUD ScrollView This is a standard HUD Scroll View - + Views & Cells/Layout Views @@ -1463,7 +1529,7 @@ Standard HUD Indeterminate Progress This is a standard HUD Indeterminate Progress - + Views & Cells/Inputs & Values @@ -1515,7 +1581,7 @@ Standard HUD Secure Text Field This is a standard HUD Secure Text Field - + Views & Cells/Inputs & Values @@ -1629,7 +1695,7 @@ Standard HUD Token Field This is a standard HUD Token Field - + Views & Cells/Inputs & Values @@ -1713,7 +1779,7 @@ Standard HUD Table View This is a standard HUD Table View - + Views & Cells/Data Views @@ -1949,7 +2015,7 @@ Standard HUD Outline View This is a standard HUD Outline View - + Views & Cells/Data Views @@ -2165,7 +2231,7 @@ Standard HUD Segmented Control This is a standard HUD Segmented Control - + Views & Cells/Inputs & Values @@ -2179,7 +2245,7 @@ 268 - {{15, 225}, {104, 24}} + {{9, 243}, {104, 24}} YES @@ -2387,7 +2453,7 @@ 274 - {13, 0} + {15, 0} YES @@ -2395,7 +2461,7 @@ YES - 10 + 12 10 1000 @@ -2429,7 +2495,7 @@ 19 tableViewAction: - -765427712 + -767524864 @@ -2451,7 +2517,7 @@ Standard HUD Combo Box This is a standard HUD Combo Box - + Views & Cells/Inputs & Values @@ -2483,7 +2549,7 @@ Standard HUD View This is a standard HUD View - + Views & Cells/Layout Views @@ -2514,7 +2580,7 @@ 274 - {13, 0} + {15, 0} YES @@ -2522,7 +2588,7 @@ YES - 10 + 12 10 1000 @@ -2556,7 +2622,7 @@ 19 tableViewAction: - -765427712 + -767524864 @@ -2622,7 +2688,7 @@ Standard HUD Box This is a standard HUD Box - + Views & Cells/Layout Views @@ -2662,7 +2728,7 @@ Standard HUD Stepper This is a standard HUD Stepper - + Views & Cells/Inputs & Values @@ -2719,7 +2785,7 @@ Standard HUD TabView This is a standard HUD Stepper - + Views & Cells/Layout Views @@ -3227,6 +3293,22 @@ 379 + + + representedObject + + + + 399 + + + + draggedView + + + + 400 + @@ -3287,7 +3369,6 @@ - @@ -3308,8 +3389,11 @@ - + + + + Library Objects @@ -4377,6 +4461,43 @@ + + 384 + + + YES + + + + + + 385 + + + YES + + + + + + 386 + + + + + 389 + + + YES + + + + + + 390 + + + @@ -4495,6 +4616,7 @@ 248.CustomClassName 248.IBPluginDependency 249.IBPluginDependency + 249.IBViewBoundsToFrameTransform 250.CustomClassName 250.IBPluginDependency 253.IBPluginDependency @@ -4592,6 +4714,20 @@ 372.showNotes 373.CustomClassName 373.IBPluginDependency + 384.IBPluginDependency + 384.IBViewBoundsToFrameTransform + 384.notes + 384.showNotes + 385.IBPluginDependency + 385.IBViewBoundsToFrameTransform + 386.CustomClassName + 386.IBPluginDependency + 389.IBPluginDependency + 389.IBViewBoundsToFrameTransform + 389.notes + 389.showNotes + 390.CustomClassName + 390.IBPluginDependency 43.IBPluginDependency 43.notes 43.showNotes @@ -4895,6 +5031,9 @@ cyBvdXRsZXRzIGFyZSBvcHRpb25hbC4 BGHUDSegmentedCell com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABBcAAAw3cAAA + BGHUDSegmentedCell com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.IBSDKPlugin @@ -5108,7 +5247,41 @@ cyBvdXRsZXRzIGFyZSBvcHRpb25hbC4 com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - P4AAAL+AAABAQAAAw1YAAA + P4AAAL+AAABBAAAAw1EAAA + + + This button is connected to its IBLibraryTemplateObject. + + + + BGHUDButtonCell + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.IBSDKPlugin + + AURHwABD6YAAA + + + VGhpcyBzYW1wbGUgaXMgc2V0IHVwIHNvIHRoYXQgdGhlIHNtYWxsZXIgYnV0dG9uIGFwcGVhcnMgaW4g +dGhlIGxpYnJhcnkgd2luZG93LiBXaGVuIHRoZSBzbWFsbGVyIGJ1dHRvbiBpcyBkcmFnZ2VkIG91dCwg +aXQgd2lsbCBhbmltYXRlIHRvIHRoZSBsYXJnZXIgYnV0dG9uLiBXaGVuIHRoZSBsYXJnZSBidXR0b24g +aXMgZGVwb3NpdGVkIGludG8gdGhlIGFwcGxpY2F0aW9uLCBpdCB3aWxsIGRlcG9zaXQgYSBidXR0b24g +Y2VsbC4KClRoZSBhbmltYXRpb24gaXMgYWNoaWV2ZWQgYnkgY29ubmVjdGluZyB0aGUgdGVtcGxhdGUg +dmlldydzIGRyYWdnZWRWaWV3IG91dGxldC4KCkRlcG9zaXRpbmcgdGhlIGJ1dHRvbiBjZWxsIGluc3Rl +YWQgb2YgdGhlIGJ1dHRvbiBpcyBhY2hpZXZlZCBieSBjb25uZWN0aW5nIHRoZSByZXByZXNlbnRlZE9i +amVjdCBvdXRsZXQgb2YgdGhlIHRlbXBsYXRlIHZpZXcuCgpBbGwgb2YgdGhlIHRlbXBsYXRlIHZpZXcn +cyBvdXRsZXRzIGFyZSBvcHRpb25hbC4 + + + + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABBgAAAwlgAAA + + BGHUDButtonCell + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABBAAAAw20AAA This button is connected to its IBLibraryTemplateObject. @@ -5207,7 +5380,7 @@ cyBvdXRsZXRzIGFyZSBvcHRpb25hbC4 - {{111, 68}, {1147, 585}} + {{111, 40}, {1147, 585}} com.apple.InterfaceBuilder.CocoaPlugin YES @@ -5266,7 +5439,7 @@ cyBvdXRsZXRzIGFyZSBvcHRpb25hbC4 - 383 + 400 diff --git a/Plugin/English.lproj/BGHUDAppKitLibrary.nib/keyedobjects.nib b/Plugin/English.lproj/BGHUDAppKitLibrary.nib/keyedobjects.nib index aae80153551ca32ca790cb0e4f347b42ff928c95..b99e1be902da896581570001e169c3bb75b1a1d8 100644 GIT binary patch delta 31064 zcmbTe1z=O>_dk3s$-TL`N!q4vsimH_DJ^w(FQx8|6pA|}7uNy1Y=bcd6xq-*WJ3mH zxWhV}A;Vz|x50q_xk+1ER=)eaFI}?sKFgF)XcfBImhM_L zB0@;S9&tjP5qHEJ@k4qb{gAmx6S5rn9zI)-97T>H$B`4rS>zn@J8~Jhf!smvB7Y+H zkiU>8$W!DE@)miA3Q!7_qB7JNHABr&Yt$KaK?BjQXc!ufMxzO6BASL)pfzY8v@bdu z9fNAoDd<#mniidfa_C%i9{Lr!5M6{WMw`$j=r`!M=n8Z_x&i$e-Gd%PFQR{-chNu5 z*XTd!8}u#u4#P15V=yUZhdE(xSQr+CC1WXA5mt}PBz_6xQP+lTGPPGH(!u|Kez*q_)t9LFU%gS+BxxH}$>$KZ*05}u5w z;aPY#-VM*i^Y9Y99`Awo#0TMn@gewdd=x$!AA@Ug9X=kPfPaF|#24eM@pbt3_v2f~B!B!Y<$B9e$B3WyS- zmZ&2J5rc^##86@wF`O7pj3FiwlZnrXFNm**#l$9J3$c$lPMjcqC7Oxfh?B%A;xuuE zxK7+4?hyBgzli(91L7g^lz1kf1Y!X#FcLTjTm(U!4`!(?6ch=n1-%6W1VaQP1X^^Q zV2a=q!EC{2g1Lfif}aJu1^WaC1xEzO1bsBo(A zQ*^dg$O-2P=Lx?OE*3TkmkZYlze59r8-za!Hw(82cL;wL?h)=49uyuCo)w-Go)=ye z-Vxpv{waJYd?unqjL1f0E3y+QMb07@kxJw$aud0WyhUnJs3=SnA&L~miIPR7qDoOO zQE$;u(J;|)(FoB<(J0Yq5i1%inkLdt7tIwd5H*Q@5N#Fh6&(~E5?v7eF1jfCLv&sA zSoB2nRP>r8NC7D(Wu%-mBdtk0(us5< zloe%7*;CF`02NNfQ1Mg>l}cq(MN~0WK~++aled+=Aka|iz6N|($v6a|P93T!9cNJ@c z#8Ki@ahfdCpt>RJ+kPMfMkc^j1kW7|LkxZ3LlT4S)lFXK9zmhDFESId3td@K)`9X3>a!hhg za#eCoa!2x)|k~=yO}-AUS=P2h&ilfPBN#M zYs__M`Zv5@F>j@$R3eJYkS0o#q{-40X{t0$nkCJa7D|hx<Z4Rn=SiP#>u{reJxukTO?a1TPyocwobN5_LFS8Y?o}e zY>(`q?3nDT?56C2?4cZy3*gBkwD3ln;{+mrs#Tl~0pTm(P}eYNR&uGtwCKL_|itjD^N$xL-vxwGT`l znmjUjZ1Tk9smU{w=O!;qUYh)E^2+43$v-AadfhlkWp%5s93Xy_TPztev zR!9_#LaLA{@KAUvycFIFwN~My@KyLJGzx!37e#;~P|;NpqzG1oC_)usif~1QB2p2hh*rcX zVij?UctwIDQIVubR-`CW6={leMTR0%k)_C1bW`Lgx+`)Od5U~Rfuc}Rq$pODC`uJ& zigHDTqEb<%s8-Y{Y87>gdPNUKPem_9Z$*QmkHWOCqEXRL(O)q@F;Fo`F<3D~Fb=P4mUcwUIEMBY=v3LX3S_K|J0foW&zpyxU2H zL3$#+klsiG(g*2_G;$d2DeI36Kn5a%kip0hWGKRLQM9}HbYuoH9+`8M$$SLGBa)vt~4M{wYT!6k48v71vLe3*j z&4>%4LM|eg%HV+wl>-On46W?fuXaEa&{{scg8WgCkrOj`(4fY?%aAL`Rpc6SolBOv znBPQh!Pn9U58_#l9x$MC_!8tMa+{kV>rdYYMjs##kw?g54wa`lJOd=2BQKCw`58It z-nGLA>Qqh0OXP2zQs>Zwyhi@v`pWGkD1tC3icCgvl;Gycop2#4;(nH!x{`=fxm=!+ zlT|sOvVK5izaBY*hBwsmYHkq`rBMmWaIfX|c5>9HBqJxTXZ4_-jeRQz3~xf^EwZ2{ zsDhJanBq;SDVJpwfLoxJ+$tk0(Nfe(FVzYoJNtj>2(?A+kcp@gbTko}!QC|S3~i?r zRP~`+P*>Cqbw@pTrJ&xZ8thN67}Os*j0SLN#>v_?y`UjzsLoWUaEkIk^#A1Y;u;XK z9!#KT?NGgX&>>?Ie1V*?V#AkzI|(}2Q>~@0-r@8PM`(&tc}{v`q5b4 z`gOiKjm|?ymCKC=)b<-t%N?X8oYI7FYx5B_1x;pvN{gG!AG&XCqFh z(2o6l4*h(g3)4mFqIEHagKCEX(9rfbcvx%4^L3FizAfD?K);3<&>fm3^sH^DS%xl< z8JvT+Rnw6p{Q|gkz6x%aX~uhRK$mmYW@(++*eY~2Ah;IorMIz(W*@_3Bf1GNN%;Vi z^JY%bExJTwTXd=6b=l4okUr>s^nhN;#k#DID)|t47#KO)rsQ8i$%oLBpxV>ClKB9M zUH~PJF;}}^=9PR!*R3-pUqi2>2hf|yTJ!)Y`IPy8In6!vFZ4e8z~D3>;*}Psc?nMQ ziqqL!ak&=kdmu54`@WYIy`S~gReTIw%pLOp=Db?L#e9(&K=Vf?V*#z;Vj%!- zhLzeq0>H&0byb~!i^X8Em@5{Kti@ab++|k(C1fg=hNWW}t>9vjEkfplkcE07U94xf z1Gkd<#X71JaBHzT;J-%;xJnz3{~ZajzE~sH59{9wE~aXE?g)79DE)I6+O&a-^l8D+ zM+X>o1a|^9Q4j7YUB8clI~kh-%uQ^JNrcFMpBs>UX?aB>MaxdNQ{wAwL1 zZ9vpV2Z*+V8a}v#-PH$)CLQ}xsPAEa0b>u^pnd{S-@~2*)Gv9c`H=v715o=ay*+Rg zu*NanxK6Of1-KBqi<3Bo-36>CDLpf{;!<1&`OPNCdl+N`F2{{ocGo{P2LA z;0hc=18_6k9JjzNk^Q(eq*CyM+v7^Tu?65x$U)o%S8=Gr2~Q8)6ZgVpxHqmw7~BW< z#r<#%?vHoT_YsH-@gQV39)gD=ySaZH#(G3RD-9lrN8!;B;nQpT4o)6a+h?GT(|xJ? z6ovyl7E$7Hcs!oKed`#2r{JmF6-QHf3gYzs!wmRP;N)MPgLf}_-$xUkgE$ps4(d@m zfFIunwxo!VFj_1Dc8eg#ovfRq`{F##^ZX&lrFa?0+{$ka9*Wm-UpRGj?W}Dtymz~{ z{h{qZ?wM1l-%xxQB!Ik3P5983ya*qGk1U1csQy=qes8PzIPMQ; zpMTpbJ_!fK<5O`;KY;nT{GT<6-2pAk#y`b5d=6;x^A=5h*+G+wK$9z6yg#DJCVYv$ zk3f8~UXv?8+EpB?vY`!{T*GUUb5pqoZ{%@ag#Up5s9UC6saxGS&Rg)Uz)@>&JM}nE zRrz*`^Im*kyS7L4IRBy2w0as03mcp82dKd1M!9lCWN^ECVd{yV^Wsnyf) ztH=zX-9RSew^}_7zXzT+$5rkAkax64y7iqo+Ee@)ehz7=j=Kkmc>h9}y%$5n|*YLIQtJAsEQ~Rv`NcBQDqNf~hHC26Ka) zhMqOG1C|lyEpvl-_pyq${GYJb+3Q?&+soxD?$=S~+z;+DhfWwIoCs%RBB8=x>g~tT z!|Oj8^wKkUmhd5b^$hy!8SK)+U=TOMBk8>sTEN!m0PGH0AYzDEy%tXB_IykWL_CoI z%q6vIfk;DU04)=lOk}refye_bza(No3u`?8TMPBP zkVG-ji|DNvvM(|P4Immp$f=-(ftcuGYv8=!DCOgTx`?FmZ%9N*v>id~Vr;I}m4xv&a_W9GL%k;sWtIG6h!=7s2Q+ zAyYYX-@rnB*e9;y3A!1&Yr1I#{1jnG>okqHN!)_bBDqgxeQj)QL&Fjv+(w-AGx>%F z{S1V-OZ?f|gb)AAh`TK=v)s4$`xr|+;cWaoyFMpgfKV@C6x4!)Lg|9|8%hS-k+H-p z;x+LP@rHN}PTtH4d* z-tt`!Lsf*>Ch!z^3A_brbdtaa9_R;ZdM)Sz-wzaY<&J6kdW7hN-^q;yp@J|$xF7-` zKPHG4#0X*qae{c_pdb;{a8!^YNF|PJsPmtNniLC45JpfcC=-;U0fGwPt%{=pVoYiT zwLtd})Cub0Sv`=+f?ix%K#++(&nga%7Rzn5D z%H^`QN=43~0X_THFA)qC4Cg9?OwvZ_ESdzP1!GuL#G-yMf+PB3g@6@I(5aRP#`0wf z7A5&g#S+0p!6dmBf&humn`b@om|O<28R)X zErP9FWq1YEEcglF*e=+?T?w|;?iBn2wIhBi+P$)>Nw5oXdjF@PHbTje$jF z2I796Sn>h!5KpZAfOwQAHhe%l!4v!I5U?f$Y3uYio;vu0rl)!0FlY+@+FG9DiKFzi z_r%|MqE@G;wza&>6WI@lS9#*NC};`KZ)qxxM z6Q@RXBtGJa)Ah9XeLm%hGj{S+?R)AAo;p*zGhzf{;m*i+bx zE00Ka?ZXF8Zx%%jZTkuP>%&l5k2_ zU;e`(92#lnIZQZQI6^oQVT7ZEqtX7tF+#0SCuEVy!f~+LI9@mbYBEri6HbQM7Zdrb zwLX3crweC7kySWD2;n4xMI)PpvxKubb(BrV@|h6IUcxW9(kL%=OO;CqRjzbjbztki zuE+ub1cqP^*z!e5}j0O2m-Zth03XT?6@e#lc}2M-tsr9a^T z#HsBsgK7>54?|zE4L$queJvFp;(J1zV0OSK7Pwk?lpircCMenqk0C3BCy0f@W_XK4a48AY z$O0BZ_KU2!-f_dM?OC)+kEX~$NTO;{jVMV} zhxQUBfpOF(dUsyo7Bz_ai28~u_-d|bKwE`-d*b$XXz2`SjcQHm>ytW7>P6#46M*?i zEfwUmNgsRW4ACdZZc*X~&-6`pd5>fZT!17GS4Sili544>Y=Q#($LvnDM6?u`S>A@^ zN~TTEs2VnNu2AF7NBVx7)g?(3^L1iaRYjK=N@kv9yk7rYVWw@@|Dkm<8JR++h!(Ze`66^AnL~C*rf_RA zBf3989+3rnIQq6@Jzr!nbnpS*&^!15Sw&VGd|)e!uKJh{khLTf%So82z}y*@%g6?h zsg`U6y!-P$Kn{Z6hJYn#vjR0Ezz4{YEV||+Gg)#BvVzo+)#O-W7g-G*P2_H6Ddkf> zoXPf|;u7}3OqTqVEpu9INThI%GB4@#E9vPZR3*Anhs zc1r9w#Q&IzlHZam$d%+Oay7YzTxFP$lIuadjr@d^{E^&DZXvgF)4L5y*{-u#1`Rjr zNstcw#G;p3^bZ!@&7%7*d^kTf%udNYL&RRaDNO;KScw`XUK|jxut#@H@HvV4fk`J zQ0v!ii2-a909LnNT}piH4pbG}b*K%QD_L)n&=^GpwbjMC7T zouRLeWP@L6CsW5A0Su5OzcGtV068XUVXM!9Ksi+Tfu2Fo*W10;#UZZYr1xp+c!J?$-)M zE_#%Au(ohVMN!d)aHnbscM^Uc(7Fms#p&}?fBv5)I4B_S!~B#=(#JwsfrB!QO8*ct zzBsdt%0S0ZnN${+Rp7;I0s z_uI!^>JG%+3nk;<$6e|P*Q?a;zvC|ToO(gMr2eK}7~(GV7MUnU__!;^#e`TO7IK$L z6H_RNyVMIY!jmX~?j?)CMkN?a-?13_(YPx%5*y(vv5CNnS}!)E)*~~-mRw_*i`E7( z6C1JUtN)*IS8Oj|;lYU%C7qJUUh~xA^ChCPu;jWjv zo3|86`G_h`r%VBYEdEo@xx%+=9z;lSzPNzJ2o@th;<(~su@U7XE)$oFD|p8hS8>xS zK5$%djkvbeamBqL5?ZzHU=jEEFvR`KpT&*hepGjONK2G5Rye$kG9m$_W<3O_Sd`P5 zu;_0eV{o{h!BOJT;xT##brg$ny(-;01{d*I@wg5=n!%F72LV$&RXnXdE8O);|IUMk z_%lHA3wX^Fp3C9}61dZQ`H6cXqS}4e>6p#%#%!RH|yKWR;gz=?i=brcyvR!;xd<6|arigz<_KUBf z-r^hLo3JsgqGq`BpHR0K-xL2OzRzN|EN0JQ%9G-U;ztN0evIrEKNUZNwDnC*QTPk- zODH_$)YkW@?K_BHoo*8UjW~5AorZ6|7C#dIWB4}M;5+apzK1!rVM=|UG{*nkw)>35 z?DQEuEue+m!&-Bw4H&ljN$Wm+AD(C#x2mp-_JgS!vVu0D705)|OnjEl-@%&PS0W-&F3`Lx4}_Tr_}89PNq8S)5_?_Z$Meg;r<##H-uzZpQM zyBGj^-$6U;Lc?QQ%u54IfqAw24CzBh(2)kqOJ_07$1IPIregrKxK_)fp<)2ERAe&E z7b5hQM|T6u8`C4e10v62I-kY5bYgjQ5nW72(xr469SN3qv4?MHHSef&4WHZ4wXIw0 z=sJEzj4*UP-GlB481JU@=>}0V-Ip&w(EZVo^gv`km(+8qj|bAa(Qz~12fup)c4q9L zhtb375%fq%ns?Kq;oHTuj%LBEtb4`g9-}8LMUK%E=}DdEKo_B=)_Jc}=&AHHdOAHr z-|x(peqruH&*3)o%6Fg33qOy=qFQF)^nCg&dLfI&HPH*`uURab#bTO-Yv{$CfA4g= z<@7h@a+CK3+_vqYOX%gOocp@Boy|&mmEK`02UPbk%vYw_XDg^u9I?90m;>1r1pD3IC`D zex;k~-{_Mq8i=5`fCkQk1}60h^8Yx#7wJp%W%^1BzJ_nz1blCCkNbG~+~x88lf`o1 z<9nZe)Cs;&x@ECgZc%Tuak(!{c5au)ie8}s zeT4LpCNNTz+#R1 zlviJDGoZ%kSC>~v8YTTC-6aDg10~%-ycv?A-2MI$P92AQ*q|#JDH$ahEom_1AAs~Y zE^~mY4a`a0m;t@smoX(X4IVVITyD!3eSOj@t7;q6ALD_O%mIN0NWK7I4LrmS^w)Oe zp}*v7$wJ^D$H0MPnK5DXHp*BYMZgd-h{Z;+XiE-+X+M~=NmlT4Hh!xwi|JT2rlcB{ zT%c~RU!ZNL05rBm0ic^vtS{E5-DjYjjgn0U<$TIw<36gKA0?YXmaT2d*#VgTD1o_% zWH+xI3Cu+#2S7Qsg90^2c;y^ru?ZiUk4R1c(9M!fl9R+P$tLLNEO&H}QhuS6`3OI& zZNH;Ia$RzRpN~kuvKgH!+44g|^Hl2?+~lD`cT z4+cRdG8jMcU<8bi>pesr1(S{?lD`>@5wh4E7Mssv3qF#COO`P*MurlMk-$o_kx@vX za>ST(=Z3hbtN;#1#$unJfsv>EX^bzSYkOn?ygTwq`A}zb730dUrw<-DsIiZ}%E74k zDhF3S)T;ATl<|azdBe*`cuN0Be{Rvxn2*h0nXb?>7+#@<)*Lmg`}_Q}#S*|ucuVMD zBup}sVla}QSgh$|M#7{q=>Q?@C^C33lLHu}F|h2w6tsFUQwm0Mby$E$C67uKi!JSB z3}R}TIwpnb!SrNO0Ga6F>aH7^zQ_+uBR_(ZuMJs%zyqo&kOeUPnEuQFh?BdSDrShN znSpKgOcg8*jATZ0%ZHCFS9elaJJVKF)0fn65Aq^;3Ce1h$t&>eu?(z9GUK7@x(5!9 zO$5qhW(qTvnZ`_K>iBXRGmDwce9DZ6ac>2u8{vyaao>+{hz#&j`i^d?K{5PL&%jW> z_Fr=sW4$sA>lfyta;dg`+coqMM!)rQn%m!5;iD4PN?|cX+O`-X zg~bqQtrQkRr254Weh`%Miy;@-z%+g_L^_hiE?$<)rK6=|I_`p#Y7M*Kq_7$!9g7mk zROxsr>~xn_OD9XGNUOoxW=N+?XGlLmrbuUUrDG>L&fzO6dlr|`L#u!lmC+EnO>guvYgXJX3Ax-6+<25tN-Wc7mT#C z0W=mK#M=Ov2X6!IK0^9PuS&1+4q(aRkO;i|sD0d!-UJzMw|T%lP~r{g1F(umt>d5c zIoQXQ2>~9jc!^)L*sD&)Kj~ZPJLxqUD#N7LK=R0mYNw4d5%PnKg!$_m$Rd=;b{Pe6 zaEgqUzLqh_ewj=r=Vnc;HdDwXpE7Gl{ zc_*C69A!?(M45{Wc4q=7$0l{giKm_uZ|PN;kDe0^XFoZho!=SI(-^?(0IV!b7Osyh zxD|^_K8C9-QWgbF#I)inOF(7-Eg6|Cg9?KovdG{>A9rqYpr$+ED$8YY=|_@JSpl*_ zRwN6Tl@PmR;m}b97d=HOukIxI{BRLc)*$P{C!aFdzsx6}?G_<%vT+jVdg*<9&dKytn;3{+G$EzPwFYP-$mY{m?q|9t>V_DJ?v_C)ry^=y>v286N$vVUZ6ki)Wf+>03j@3-K|aXG;S zf1-UKHRTe6vjw$o6uSP2#lNeLa=F|HnJ70w^v82477trcb=H*J+5n!GH?&U7XVY#c^(wN}h%`n%pco>TZ z>&$d=7UwsY8_B(4D_^(T>e_(=YipE-12yfmhQ`VaS_6ghT5I=_+*j@=*XVp%Je$SS zSUj>5jUvOq@<$*ekx^hZV-PKuMUz^27kL1H(6v>=@=#<3&?1n@@+e-z@>uvS9+}MI z39y+$CuZ>^9YX5dSv;9Ps-D2&iLeI*kJlmmXQ}+}Q93y1sz1OkPX?2ar?7Z*Cnh0J zmuJYe8hIA7R<7ZzzIY6a#{%p8bIjrYeAySOAbx>R`3O=QsvtpzD#)d_N?<3a+vR!k ze0hPqkcS`H4Tr1t%gd32@=CzIn#Ue0!6xtE-^8&|@3>j^VozgW5DLS1oX$kAg+-tR zy>l8gz^}vVISKOBaI>=&)taucK>-1QzTSR8F~QzlG@5wtV81TG-a+wQG{J#gf`WqM zVxWWw-mT=BD8~Azg(q1L$8J^I3FtpDpmUB z_5BN?5d?)iqGXvEuo&{FOLz>wFsj@RjJ7U58Oq=m%%e5{0^5mbinskoA zq&uE(*Kcu`&(UwrohSbcVo@W~7qx@);ni?TJOy11hluxMBK~A3R>vPrMK@1nd z;WqtwIqVJ``kHMx(}gTUR-sqW>sTZftHr*?n&8OOS;85Agg=90H!%bY2WiUTILJc& zV1&S&*i8H^d@6h*lE7xY3fQujD4GD<%(lQDtwm%QY__S=?^W4L-s1N|P`zN&!$?vG zi@}FsNqD_}J=F-7E@355JRFw$wupa)wV%zj0;=#4w04WWfc;itM!$h_S_2f-awK!0 zfB+Q{Mg|p}qmpKrs8_)RIhi>IiF-IC+0~GbR!Of(UqcdeRptakZ5Tfo!N~EsEEk5} zqp}+ifRD(HIVwOVy?8vUD4)X7@!QHbsJ0=p7Qm zNe1uGO2om)7ft}-c~Jb0?$@uOXLTiiQ$mZg8+FlHd#k@B{Ry4ITi~7JwuIFvtPfQ=~3TvR=+> zvT%^}stiJBBrH7QX`BT&M?24`!C(o98T?FypT3auf-S&%3ja48&xUt6N6f#&e#bUj zFvFpJi!IE?XM+_j19qSVk0p9hU@>Ovf zXi$HKet1)W_Z)a_nN}|J&yxkjQp^r;Yv4?~o`Yy4ClP7$o++{~>Wm{Cgin5)jy> z+v$ zIJ1NcOQ=}Fl_lI*!kr~NHvGQeJgPN9StE3;5jw#LooIy4G(u+?@f$$(DS~2{&SFsu zdkWac=mUSil^crDiZT4gu$auMUT|Rvzay+kF`B<01CC>*)()?&iH5beoFiO9vqViU0qY&Y?R zTf`#8(c;x`Mc6v=dhtf_53r)URs559hj^!Wmw1nOpZI|IkobuBm=?nONm$rFFTNe!XKe`Lu zl}@6wV2QS#?n(Ei`_PTB1bB|VNc3cdM_Dc#AuiZxX>$(Nd%KkV=|d+ zraMy#mwQz)HOvHNCS2+D1v8JC4>i<9OcS$|S zlWv5&x3)?5NDoR6Yo$lw0bzN`su*ZNVm58~D-*qg2_dbOD0!Lu9{poxoL9S z$%BGxVj66OS?$@m0Mm4HQcr354UV}g&VfAz(uAg7AU?~Y*qZM z_(ic>u~)HQaZqtsaYS)UaYAuJ@xoMMYGtZ2)%u%;nueQ3nns((n#P-^nO2!LnhrG` zZaUI*jOirPnWl40SD3CcU1R#4>G!7FOb?hIGCgW~+VraFUuFU`FSAgy?q-!{)n>J3 z^=8w|R+$|!J8E{^>{qkj%ubt~H9K$iyV(0FU???R%@-+S*^F)X!V2DW~;4M zyRG(G9k4oN^{3YAp4EM;hgOfRo>{%H`rGQYwXt=!b&hp`b)|Kkbr0)a)(zHut@~LI zupVSR#Cn+Z20r~^s^aYGstF$&2*c? zHb-rmZ7$ecvAJq<-R7pvZJWC`_iXOlJhXXi^VH_Kt;m+LrERs0t;|+w>uBq2tFm>o z9ceq-R%bibcD(IG+ex-lY^T}Iu$^f;+m^Ha%=Qc0dA9Ry7uYVeU2MD3cD3zyw%^+} z+x}*I%Jz)yIoscDFWFwPy=wcnU65UfU8G%-UAkSSUAA40U9MfeU7=mEU8!BUU8P;M z-5|RmcEjvgyK#13+3nWaU9|h#UT9C+i|r-$QTCPgRrWRZb@n~%d)xQ1Z?x}kKgoWd z{Q>)<_NVPH*k822Z2yP-HTxU(x9soO|7ri1{R8_)N=!*8g-TK>R$41a)_-08T>@wnp!t>Z<<%Z`6I-gkWC_|6G+!kuU*TPKxMuv3Ins#CgCrc<_4 zjngnE)@i!aY^SfBmN|XnwAN{z(|V_kP8XdnJ6(6W>2%xauG2lI`%X`so;kg6dh2ZL z9O@kI9OE44oZy_~oZ_73ob8Kza?!f5F5_G#xP0aEz~zz46PM>MuT_Lfs3KLAO01$)Qk7g~ ztWv1VR2C{LRiY|cm7&T~byIa$<*5o(rK)mOrK+#0pK5?=kZPoArfRP0OVwi464f%* zH>wk=X4M(hIn@Q#MXlJQaT)os;X)mv9rS9e#ntFNoZwTo+@YmjTWYou$mYp!dZ zYY*36t_`kzUA3;P>p0g5u9IBPyZ-Ka+4T?CYpyq3Z@S)gz3Y0<^}g#v*T=3;U7x$Y zbbaOekLz1E#Eo*J-K1`EH$OLxTNk%Lw;;Drw{W*ew`jKlxA|_`3zx7<{x!QBB z=Q_{zo*O-X@Z9XV)$=FM9iBTqcX=N6JnDJEv)S{B=Tpz;o-aLLdA{*{=Y@LVURGYE zUUgnQyn1;J^cv+g#!Kfl#cP_^bgvm+Gri_|E%Vypb;Ik8x1G1Ax3{;Cx7N?Q#Cx>& z7;l~TSnu)Plf0*RPxGGPz1;hb_hav;-p{??sY$h1Em51Q&D9oaOSQGyS?#BeQOBth z)Jf_Tb+NisU9PTFSF3+eZ&q(pZ&&}U{zbh@y+^%IeL#IkeMEgseL~%=KB+#fKC3>j z{#|`TeM@~;eb2|#N9p6G_3`%c@$vQ1_;m5<>J#h}>J#o0>67G>;*;-F=u_-d>QnAh z=~L~a^_lOp!RLf8;p^fX=3DAp>)Xe7u&>T{g6~w{>As)%&h-7t_iNupzD>TXd^h^; z^xf}!%=e7%HQ)PwB0sfXm|w16m0yitonH^XX?}bBn*A>L-SK;-K{Z-jLuzOZqmgNh zG$tA|jfKWqW2>>(IB1+TftpxNnkGY&tI5|CX-YMpXy$5~G^;h6G(T##Xtrr~XnxV` z*6h<9)Ew3v)g0HH)tuK{)Liyg_}lsW`iJ```gij$_Am3V^sn)+_wVW7;NRE3pZ`Gr z!Tv-2NBEEPpWwe*>%Z22o&S3Ojs8FQZ}#8n|C9d?|DFE3{P+0p^FQE!$p47{G5-_( z_qtGB6kS5P$c20I0N1^Wee2@VfV3C;{I3GNx(5ZpI- zXz+;O?ZG>PcL(naJ{Wu?_;_%0@TuUl!54xr1^*FzJ@{7e-Qd519|k`OejfaH@IS%t zLa-1)2pK|$NJET56d~pzR@xBT5LJj@NJvO{NJ2IA%j9jhfEBa67p%t z{E)9hz6n_uvLWQBki8)XLVgW7A969|X2^q($04sniBM6fJk&DOCe$TV9qJbv5*izt z5SkfU5Lz5s6WS-VU+D1Av7r+}KMDOJ^vlpCp{ql`3*8+0OX!}^qoJom&xLBQhW;6P zKlDWy5{8FK!c4;~!W_ap!o0%*!y?0C!cxP!hvkP=g!K$-2pb$WCX5Z68pefv9=0&- z+ptw(8^gAT?F>5@)*N;!>{8gRu)AST!d`|`;dD3?ZWeACt_pVx_X*d8cL@&+4-bzD zj}1=<&k4^9F9@#;uL=Jqd}a6=ZTPzI4dFk8Zwdb?{O9mp;d{dmgdYw+7XEAa$?!Ab z=ff|CUkSe!elz?|_`UE4;g7?gg})4c9sV`~jUXaK5f%|v5w;Pk2)Br^i1>)~h^&aJ zh~5#yBXkjyB4$N=9q~=Xrifo7Zbm$acogw8;zcA9X&h-D=^m+xjEhW;ERLKUshuCW zDe^$%jmW5XH6rSh zs3lR$qP~e*8MP+raManT^HH~>-bB5NMx%*nVYF4WXS6!nH`+fsDmo@QF*+qWJ-Sj%6?-T4UhIRon7H^j zZBkrHTzXt)TvlASxZJq>xT3hyxbnEFxSF`SxE^u6;`+oj#tn-b5jQ$c7x#VKj<^GH zhvQDhoryaicQNit+?}|4aS!4i#XX689xsb`iT8;2jt`8Fj!%fsj_(oA#(x{XH~!D~ zm+`OS|A~K>;FD01P@T|_&^Muf!k~m93EG6Q+Jp%SlM<#ROiyS^_$Fax!tR8V38xdz zCR|9kl<*+oQNoji=Lvr&rX^-3c1!G@n4egfSd>_jSe{s!Sd&d2jOmEB@N_a|CN=!;zNX_6yso$h-O#Lx+YwGsYeW?dikEEVUy^wk{^-k)asrOSKrano1n}(+0X@WE| zjZU*jb4?3M)5fKBOUq3wNGnb&O&gImEA6wixoHd17NspoTb{NeZB^P&X*<$(rX5T> zlJ-a1wX_>)x6|&Xy-63Q+oijvN2cecm!{XHk4R_JKTH2M{rmI{=|80ZoPI9-O8Tn| zCc`X4lM$Seo6##{V8)P);TfYcCS-h?u`pwG#@>v38E-Q!GgaD5w@i;r@62wQBQr;3 zYBR@Xj?bKwIW=>7<|mo6Gr!FIDsy4x;>@j?PcmO-zRrA`g=FDb!Yne2%93PBvy8H= zvb?hbvx2fhv%<2{vof=?v$|*HXZ6VHmDP~dm^C14Z`OgV!&yhOPGmJ_{g!nq>ulEf ztczJ!vaV*`$hwtvCrf)T>weawtS4FjWWCKsvx#i)Y<0F@wkA6uJ19FeJ3KooJ0?3m zJ0m+QyEMBzyE3~vyEeN%yJxm8dvW&i>{Z!ov)5&RpS>e{XZG&wz1hdJZ+DY*v+EYr zExub~x8!bV-THN#)~&hQi$dj!`<(8f02vl+U9!YCgzspmgiRG*5=md_RMX_ZOk2(J2H24 z?!?@gxwCWUk}s$zPYhA^)fRz1sYJ`N#9` zzS?E+4Rv2HHQCM79RoJ_5c;T4B zZwkLHTvfQX@cY7zh1(1F749!QQKkx!APD4-~) zD5NO7s9RC@qP(KQqLQMzqJc$&i$)ZETC}ZbN6{}udy0-0ohbUP=ycJ!q6_(7EdT%SiG)yeeuTPAB(pZA1*#xd|X@H zTzsm;t;DlLUE*8fUlLFfSQ1ncS`uCoRT5hgUy@XkQj%7ZS(07Sy(F)syri|y=IVGQ!%q^K;@^#6gk|ia}O1>@mzGOqm&XQdvdrJ0|94I+da-`&1DN#z5N=uDO zO-dD|4y8_|s#3SoE~V+EgGwirE-77Cs$E~YvGm8%i)GGbu4Nu&K4qG+fU>S-!DXRk z5oJ+jv1RdPiDfBe>1A1E)nyH3eanWIjVjZYjV+r{Ho0t5+2*osWjo4#Dce)FzwA)i z(X!)Z&1DzLE|y&>yH=i2o?YI(JiolKyturqyt2Gkd7tve@?qs{`MC0lbtGr2J0#z48a;kISExzbt=U{-(mC!n?w^!oMQ0BDf-~BC;Z; zBCaB_BD3R(@Z( zvGT{tt(Chgk5nG5JYD&u@@3`g$~RR=6<#H*qN+Tqe5y260aZa&p;Zx8QB|>3#Z}|0 zCRI(Xno;$6)x4^&suor?RV}SrQ?;+^LDl1`XH_q&(Q2YvR4uM%s%6!#)xOo5>VWE? z>Wu21+UgP2qpHVLv(@9PKdb(tdS3Nc)eEa1S3j$MS^cW|P4&APqz0=I)QD=tHB61H z#<)gNV^(8PV^w2YV_)M|<5A;X<6Dzm)2$}Arl6*{rmUv2rlzK@W^~Q+noTwPYcAAW zskv5jqvm$a-I~8@9@YwK&1;pljwU9Wpo_oVJw-OGBX`ndY| z`lR~Q`tKD~F)i106rhaApn);vX57Zy3|F!;P{h9jn^?%m? zRsa8LI_vi)(uND;PSJ(M-6>Xz6`WBlcjk``fnRwF7Bv129GxJOrShT?6 z#k~}FhlS!>+_&&?U3-1MobylI=RO}+e#RQ(SX1mLtS#07>w^u(hGA2%Ol&$f6Pt~# zz%Y!D2{8$F7(0fY#7<#nuyfdX>>_pryN2Dw?qK(@2Ur>Q7<-C6$I7u+*k|l3_KjDW z*OAwW*Ok|U*PGXuH-MMU8_b)=^YajI8?S_Sn|F^_#(Tzl!F$Pj!+X!eKk>fszVa$~ z-}zPe)%dOWefin^rTpc5K3~k2@)dkFU&lA{&3qT1=C9&!;urG|^FImN3OWcn3AzhX z1$_kr1nGhyf(*e(!7qXdf*FFDg4u$3g5?5CAQVUha)Cym7nlTV1v>@%1t$b|1Z9G+ zxz%zT=eEmD%^i>D3Ul$?{M^;Kf99^s-I#kR_kHe%+|RlH=6(}a7FHA15Y`fQ5M~RP z3NfKjC>F|uN})!m7aD~op;>4ZI)pA^LRcz1D?Bf}BD^WQExaduAbcczDtsZTA{s0j zCK@jKMKoSCQ8Yy~P4t^+mT0bMfoQ2{xd;;pL>dvU7nwyikyGRq1w>)dYSB*7Zc(vl zzvz(YqUf^ds_2I3wz!`-O*}|EM4TZWAs#6nEgmcWRXkBVMVu*~A)YCoC7vUmC(aTt z60Z*6wTx%id%t@yp9o}>jX zX(j0>$&lnoBoabGN#c@x2`xD&c_Vo%c_;ZO`7HS=`6jI_ttzc9ttG81O_8>gc9M3H zc9-^)j+M@m&XLZOW=R)I#ZswME>%gj(o*SJ=>_Q}=~d}<=?&>E>0Rl4=|kyb=~L+o zX}R>3^o{hL^rQ5%tct9ftfmaFBTJJFlns^*lZ}v#mW`E-mraySmSxK3$;7g#49E&( ztgKMBTDDfUUbaD2B-<`KEITSIm6gfs$(zZ0$%n{?$%o5F$(P98azgHt2jyXTR34K9 zc|uOh8Tl^x4f$R9L-}L*GxJk*S!j z_)RfOF;}rxu|ZL!*rM2`*rC{|*sa*B*snOGII1|VC{dIu&M3|+E-J1lt|{&-9w;6u zo+=wFn<$$pn=4x?+bG*BJ1V;FQq$^H>SA@7`U$Rnt}a)9RDV%dXew!{YN~5eG+i{)G{0$P zY36FOHA^)sG(1hNMx=3Q3N)KEn>AZC+cmp1C7M#r8O?dkC2cotPi?BUuXccTpf+7Q zSUXHRTsulTMmtVBK|4u1MVqOeuAQl!rCp?5qRr7R*E+Q>tw-zEhO~KFN{a(+Lc2x# zTvti=v#yP{llr!H03PnV`k*A3AP(+$^+(*3T>(H+&D(4Eqq(Vf>_(p}Zv z&^^#S(!JDu(tXiY=qu?f>#OPO>l^Bu=$q$~W?>3ix^^>g$~^~>}t^?bchFVSoD zR=q9^>&>387zUHW4EN&PAPb^RCpcS99Jbwe#fT|<3CilLFAvmw37o{(|prH(-IS&V_I&)Oj47=WHdQVZj;v( zFa=E!Q^HhWVok`j*0j~M&9u|B$Mn!tW_n_JZYnpuHhsaX;x+IFcyGKvo`w&?hv38T z5%^?$D!u^M<7V83J8=T{;Q>5|NAN%J?f6c7H@+7?fS<=N;+OGj_)T*kbAR(d{0Cey z)SU5SG&J(ZKfqY?c=MzmsKvA&sKre4Z1Y_60`o%ia`Q?v-z+qH%zks|hc22j12Z%i zn75hto3EL_TWVQaTY6Y}SyC)@jzc*7??j z)+JVCU2olOJ#M{dEwjF~zOufxez1PBezktHRkBsJRkzi$)wQMA8rfRf+S_{AdfEEe z`r9VkGHo+#zuV^6=G(Gt5}Vd$w#94(wmr53w!^k#wv)C}+;+xx!FJbn-}csC&z@$_ zuurpR*%#TD*mLZ-{gC~z{h0lv{gnN*{ha-R{gVBv{f7Ov{hs}){kgr|{@PK;QQy(f z(Ztcr(ZbQn(cdw}fjNW@i9_yCIkXPF!|m`mpksq$lVh{vFUJnY2}g;e)N$5v!P&*x z-Py~Dr#kyN2RPH5>CPd}Va^fG(atf>U!4=2lblnWna&x`na(WdB4@U9snhOsINeUK zGvEw6qt2KUIE$Q@oqs#aoo}7*oE5H0KQtG0T`8_cuFkFjt_;_&t{JWcF1ah;waT^E zRpKgjopGIay>T~jH+466w{*95w{v&I-JRWC-J{&g+&nkmEqANjxZC2kyIpS5y~@4D zz1F?KUF1IKKI}f~KH)w^v?V$aor$hQ526>*o9ILIC(?*P#84uG7)gvK#t^>}6Nt&g zRAM$Umsmh7BAkSa@DN@iK!k}XK@osR5Cz0);!k2bv6I+M;Kjr~;s9}oxK4Z_zI&>9 zYIUf%aT6kJ}+IqTrMtN3vWFEppdE%aY5AE6Ksqp^f?d;8Zt?!*J?(w$edT@Q{pkJT zt?)I&eeHeSd_8@szJ9(m-yq*mUxsg#Z=x^Dm*Z3VY(D5q`jGDr-x}XK-$q}N@1XC9 z@3^nTSL!SCJ@b9_RrtR9tN5$?oB4nCxAeF1xA)8aD! zxqDKjd=`8WEDyfMgKvZHgC9e+LoGwC zLv2GHLY+hDp~0bHp%J0cp}Y_k0-;2xAjE{&5Eoh%S`%6q+88PdZ4GS;?Fj7-6^HhR z4u(oXrJ=K-3!%56ccG7=FQJNXrEryS^>EE_`|$j5RyaG%3yZ>%uq>19S3=vbr60t=b5mzJ`xf8h;DT|ax z-bUU>K1M!A{*8RktDILYuSQ<2ygGUH^4jM0%Nv(BJ8y2@g1kj}*?GBn$~;YUL$oNm zCHhx%dvs@XceFUVFM1$)D0(D%EP5hZ5-r7}XQJn#7owMJl7q=%8bl4HhEt=cG1L?)lbS&-rdCos>JoL8x=!7q?o#)u2h=0# zDfNOXr(RKSsCU!{>J#;qs-V8dD#xnEs>f=^YRBrvQeq8bO=8VrEn=->?P48cU1Hs1 zy<&Z0{bK`TgJZ*DBVwatV`JlElVbSP*!0-U*zDN6SXOLtj31N7RPlB34e?F!&GD`A zZSfuPUGY8fz486=gYm=hqw(YMlkrpW)A6(M^YM%E%kiu6>+zfM+wr^c`|$_yviRfp z)A;lFKk=9G*YUUU_wkSM&+)JEiuiX>8B_(;K}}E_)CKiH1JDRG0YBlOIcNb|fi|EW z=m0u{uAm3#4f=roAPo!xLqP@@2}Xl4;8!paOaartZ(tUf3l@MyARFX>$21mgO za0;9T=fDMU8C(U|!7XqH+yf85Bk%+~2mgSV;0<^WK7p^`TYlyIs`)kYYv{E%;RHAdPJx+lI-Ch-!?|!iTnHD#Y`7Gz zfIOHB#ZU&7Py_YQ1TD}GaToMJKMcV*bW6Go z-Jb45ccpvKz3IO606Lu>LTAt;>0jt^I6Z-$OlQ(F=-=r%^n7|Dy@bx8m(v(6phdKl zR?uo%M;mD~ZKItuLHp<+9id4&PABLBnxzZr)%03=16@RKrMJ_&=wf<5eTY6vpP*0C zXXx|vCHg9TgT77QqaVINOa7C5m3*80ko=tdH~F2Z!c=E!F?E>~ zrV-PWY0k7{+A!^zPE1#(2h*GB%M4)BnITLDGm`m*8OKauCNr7L4CZ%c4l|!w$Sh%U zaArA!F#<-!NErpAW^{~^F*7#C$q2{I9eWa3PMDPUNpkXg;FWi~KH%vNSQvx_Na z_A`f=qs$5B6my0-&s<`zGB=pp%su7-^N4xMykK53Z`ZnxJCDs`7qkCk zm$55ZJ}YD;tejP`TGqhgtd(`JZq~~N*f1MqV{AT4vkc3ztJpu;_3S2g3%iZo$?jqI zu?N{B>~Xe)J+CJ|F3$eVma$LR=WIFqntjK9WWTT#s0ONq>Y#ck1vNyC zQB%|m{ft_o)~GFNk2<2xs4MD@dZON_59)^opn+%*8iIzQ;b0IgVbTH|QPufIguw=wI}WtHf2|s&O^A zT3lT&g=@q$<(hLXxi(yTt`pal>%sNr`f>xfbZ!Wj!Hwj8;l^aRN@nNjU|l=5(BqGjlf1$q}573vv;TpxksvyVE@FsSAu^;R;)VDken=1!j&wm{kUXRisYI%fLC9ca2-1j*L`Er) z@yH}(8ZsT3h0H$O2>$vKU!{tVPx#JCMD|A><(Ff=!48cf@!fY^G%ntLzg0U`G1Qv<>*jj88wg=mb{f?c$PGje> z$JjIM9rm6l;c4-tJUyO1&wyvhGvb*kc;-BNo&&El&zl#(3+1KpvUo+jVqPy^Z(bd* z53et;A8!zEFmD8}fj5OWl{bqwkGFxhnYW+!JMRSV58g@MpS)AN)4VghtGt`MTfBR` zhrCC;$GpFJPk7IHFZe<}&L{W`-<&VwcjCwL_q@%#jSB0q_r%unI7z9^}X^UL`? z_;vjL{2_>n-^d@!pTKAN)A(EYJNSF}`}v3XNBO_=Px4Rm&+;$uFY~YQZ}RW(@ADt= zpYZ?TzvRE+zvq7v00AZt2nc~lzzC!QU4enXSYRfw5ZDMh2s{L-f-FI{AYV`K-< zdJ6goMhYe(69kh4(-eZ~f?0xjg871lf|Y_*h^Jtk;8(#W!DhjB!4AP*!9Kwu!BN3k z!8yTs!6m^x!F|C4!4ts?p-@N(jfBQR6QP;VN+=Ur3vGn9LOY?8&{^ms^cDIG1B9W% zNMW`xUsxtA7xoeM74{SM7Y+~(6b=$9gi7Hk;b`GBp<=dhzHp;(i*TRtknphZg7Bj7 zlJJ`Frtq2YAK`Q1I~>I^9LH%~jO*ZrxCw5F+v1M6E8YQj!`*QYyc6CT55c?O5qJvT z4Nu22@LaqQ?~4z_N8sb}3HVfeCO!+FjsJqr!RO*lcr(5b--_?SkK-rtSNLlM{swrl}{B= zy{S5?52d73)G(@nVyP(#Y6dl*T0k{X&D3IQ3AKV+Nv)z*Q){RV)JAFtwUhdtIze5a zE>d@?htzZG1@)HtB+?S;iew^dk&VbfJ$8YLPn8ZVk4nkAYoQY;iL6D=355p5J579AIz6I~bG z5Zx0!5c(fjGc^bz_LeOf`^pl`ya zZ{X)G{ZT9s(_)F(P;4YN7h8+H#s1=OaTjrfI8q!Xjuyv=QKEg!nJe&W6!uV9!zJ(pGjo8G5JgxQ_j>fy_q_u z57U?F$Mk0gGeejO%tU4qGnM&;nZwLwnwgc%DrPmaf%%Qu#_VSHFngIp%yH&AbDQ~_ zdBS{_U=p5$FA+$D5=tVH=t}e?wh||aWUu6aSGSCaKo|1*FFrJxLyg9=ay zsz5axMLB8Lf*znJ=mmO%I?xBU=nML>*P{*CS(KLcFfa}@fC=zZ4<^Iw6wt6?FO`BQ zhQOOF;BC`EKcECNz)Ua;%m!n?9Qc`+9iI}>OI}@)Qa-Rmh0auAp<0MYh0ailRagjj z2|fkKaReTqNolYEG%H2t!6GmSECyV+H0-t?SOS)UWuO|Y04w2jOlEvaml}CtRY`GL zd`egeJB4=Yybi1f8^A{JE7$}!gDvnz3$PXZ2DX9iU8~_KwA#fNR z0Y^8yrYVH}1DphZf>Yo$I0OD-#f)#{d2j*t9Z_3T*96W3*(qQHY{4aPIS&q4CGXuk zrJuY;%R}|2DV-Z|mBpj$=8bS1jj@*ZU=bpxtOT9`czKEn>bfCdCXQ1+TcX2?VMKWN^B2v}n+ z!`6u-1VSPd8=_@yCPtW?_>}PSqPp_h8hNh)O^CQZe+0h&wofc(RkF(XFh5(}*|X!`_!#V*W?~E7CT!@kauI3?d$1UKmzeQ&Un@ zSKI3wZAU`X+8(2A;oPSGNE8ySbW?Uv#wt5rljwjSn}Lo!5{tyadBj8QZv-R3C?pw- zfwWWzcsgenNEZAp2Q;v!v|SwvpgtpVWv3tLGg6F{Akj!EQieoBJREc!oYq6-RVyx1 z&8aR@gVcg;NDrhZL_iJ>AbpU&P-&MS1CW925S_u=LjjE_5GA5Qh9Sd|dSnFBz>0LU z2qiKaejkgBV{3JFOD7-`p(cgZR@L@uLM8y&Ur77=roj8AD*cr~$`EB}W?f1DI(6IA zu=CcAW-5b1-Jo$m3qWQgzd(EL2Af5cmsAxmLT0z<`6J!RueyvZWaWBsKhT0@$a09$ zN~BD!1;_RNYu4+L4RF>`-_6=WU)H5XVn|4f#5_2OeIr~@i5x%f!st6BDcXx0-o28XEi?Qj~}CK|LyL zF|476|6_ENM#U(DN?HvIIiMLGH3UacV>r6WWFzfwP}YFyp@d+5gEA6=TB9})We;Vg zvfyVZqjso0|9_(PP@0A=A1P)38%5Yz?@11nJ* zi1H(&|25BOGzN`D<62Qh16t;p3g?;5CK<2L`HFJB8s&<7i5F|>sL$G&So{F!BD5Gz zqS?!nM1v>L5JYg>Uvty>uA4;dK90nOesX+s)RwgB3J1GGKT!_j&*(u0*f zeu{Jh+6WmO)rRyqh;#!w5hBek)@pr5r$eL%nYud6=8*nH+3QD0&qL><^=K1Bnse2s zO#c_sOVMTMa&!eZQFJx@{K8EXU5##p6Ws(SYQ!d+>3((B=x^vYw$7~a8~pdF@gI~g zaaZGSYi{xb{12gr;q;ES;4e4-U-+Ly|3purr!{OL&gk$Kwk|`quBzF(Zm!#^=@5Sn z%pH^v=5O$af4GOo76KU=p}qY*U9j+qv}u z)54?}Ks+%WOc&F`^uYnl5XMdL2Q$UY)LQ6?S%O2D46|kxh&t?U(IK3Fk(Mb_EjM{Ucn@^9MK z!nQq?Gudl0eYTsmm3tqoFN~TvE}F1DEin$(9~+PhW2@R8sXa8I++wVMTQIl8y3bdw z#Z+poU63!aR%dwQ))Qu{7sn3)Fpd#2VDnTmm6jrd%oo5&)Eom7|plm6McGsp89*FUs-CC8sfs zkXNXMTx09tv!0X5Tx=uut8$TYxpL)?WwIID0vT-`WT#ptCvDyAek7B9*#2+Y9_3`h z+Sz%u8X{a-H1_79g!b0X5V5n^Ikh3~RIdG*Az~M>ixBb4t%itQ2V)@Z7HGikv>GDz z5E|k|J6DG%oE<(@uK$tbo?|btbJ#2FHFgf#p}W0PP)m%4eZW4dZSE8H8T$gZ@c<72 zG!NxrFe==GJ>>~_LLLs@^GNu;kw?KuaS1rUW7ygDmvpsxIxtU2sVXln>9vTb+Y&#G zaTxYBe&U(329ECk_JKT0o)xI)S!1u&x>V-q{69HzRC9Ee=fZPUbL6h($fJd$PV8yN zsISnsAnc)p2)Bct7t9M$Lw{1a|7Xzi!g%43!H8Dqc`;xNq;&-iyo6ThdEFrNzc{%% zWI*V7naYDdfS#Ab%jJde^0C*v5D5JXr~eIo2{%z*Ca;WFuAXQWXhb}D)o`LCA@n`j zT<3k?06dU&a`F5Dz(aWo$iJ!u;2|z9{}W&+U^s3tZ!~X=dff5qaVNBl%d!t#;=Tgh zf}@8L;@BSGIlQ@QfFCQ*{uJQ(yakZK<~D$rK!E4-mP3G7wgJ2j0=&u9)%{lv;7!W& z7rA_zx8>W6nzt1!;cbJT9lW``UA*1Axv-yotZoMn$w8%HG4BxXFz*QODDN2WIGf(# zo;g%}-e0`4U^DL=RP^(_3%rY<5wqr9g6e%4jAV1&I%TSTJnuRdt{kVlr5uyNB@=zi zOZurZ2i|So9hf;pSIbLF!b+;DnjzsXkg4-y$`>e~sgM*El75*l;l1Q*@ujd1!S&dKudS{_ zD3J!fE?*b3=Iiqfcysthd}AIga`4UA@gC6umJn~guJZX6zBS*5Z_Br9xz}D(8sTl_ zJMbO(PJCx%1m6V?*a1rI9p3}q-;wXd>Uh>TdMgEMBvQT)-ez<*ls_dHEIaFO~c%el@=aYRXeDYkp6DFMjV02A%q#SRa00cA~dVVIO`! zAmbcWU9a+*(v}hpf1uK!i9d)xScM2xh&x=_fx2M9SMY}`ZJYT@u2i8yaIRX>%&+H< z;5VocLIvwRh}#+dNKI17AI0UT{4uP+$1-aie>`U04Jt;s3Zc|$z@NyU1S=5gG&H4$ z90n2m$w1bQ(o*H%Pk~jAu_}aC!V(NDA@Qg4XQ+@4Ya|x@nfzJo5FdYbhfks6HweWx z{&pB~#MKtbxw3`~wER;cjAqQ8{9Ul9#O1Z!nT3h!(RS&S#X@@KJGR( z@c>86`Hpy)BbKxg6`H2UIBHcJRYN?%5qm1t)V5ClXE=O$G-M-}mjyO`;p7@v}jt>4x zROA1YqmES*zjpeZBaYkswJC@5D~>op*`D~8BTk&(p7?3mhczHr>Jv18 z26cK9S6)*YQpd7E2V>NZPcT|A4pwLdV+7C-1*(vsCc${Y1QimjLc;PTTCg50FRCo< zRokbgSnbfhE58X~`AsmDZ4P#JZK<{iV70BQn`@`mf1Sbix6I)xcI>BM^VD|!RM4zK zNLZD3z+Aq5B3%ZlckMr4NtM_^xJRpmXnz7`4& zb3FkW%r&^c1#=c0`??h%I1ZKwPVnXkPQuSA!D(*!WjBSUL|hPDgq@@m^{TC^f`PT* zf+ltVvP+mf7aM%n&1J!H$l+Dk$#wX-sp&{?mrV%k5!qH_)qk@TN6j6MO(;Anh|~5Q5f#O~{AKaA>%fF9DTZNUD&$%aGp> zt&t4&Q7D3uOg}&iX`xui2%ZbIgi?6b5$X!{z!-2qXvnS$?{93XLJHN03eANU5RAl> zu5!3~_iqwfvf*8peGPwwj_lhmJ{|sR3>Tp*sE1>?!>gyTqtHt|hBsRf5rLSpOCl_y z+Yo920(uS(h;|qWy9gsR7!6S&KdoE|qlD3LsMuDFgb82_q$NX)V6LF4oCq@^Msbl| zj=3C0c`D>br7NLaSSXAT79(ZC2&fh-B3*u5RTowWD}`0UJg&Yh>;YP<>R8l{Z!j9l z9*gSu?-W5eOgJ1eJEEnAZ5I7sV~i1w1$%^Dz8j-&w9QxaS|EbxaS*jfZ?15j2E8U& z;QyJ12^R>PAVUk=&|3=8TOeEk(OcDq-g=0hMU0onCJw#LDy06RaO?NGY`m?QHCQ6t zCfqKZC)_FAC7cI4+RHY^bixlP1q=9Hl%LpLk@`W`Bn&J=eYaV`x97Gighzx&g~x=) zL8I_@;by3qCxw5)n&1-QW@LcytneJ9pJ$C@$ET_TQQ>9b72#DC7sAa{A!A?+#|5Io z8!Ch^|MIcTjR|iHA1ZAZ3GaY6!h7H~U#UXIDJ@mVc%=mlH5UmV!CK>L;S=FW_H(Qg z^8%(hwD2XI#A_k6I@UYR&Un4>y_#PdZmnz;eh_{XeuAGb!jm|{4vh2iXj?yV0WQ?6 zpY|>5r?%uf|BF*<|9d0O%8J1y`4U~|1#2ryYC`Jj&tu!^pZdg@KO2HaQ)LyQ?}i^WZGGxmB{BiP6sw_vY!^+K(1);r!5 z60C6>wsX9X%XHixF2M_gA63XC%}q|YGmMMX!>hMr7UM2R>xRsn_@TOO6>i*%%b8RN zELK^mlcvZ7+U`FT0QbRtK|Ss-+{G0c@L+aOf|(#ptpM!21k=tx5j`FW8u2LM+;0Rw z7a4#j;mM$peUT8D@i%yir*VudZNHl!)Mz_21Ww!A83JB_%Qc4Zn+jR+Gef|O@M6d~ z%ywW(4)^Bp3dnvDUJV-XTFwygUhua%s1gSfJ9+enhJX)HA*=o)ImQQrCHPQWjw^Y) zaXIX$o^?sGkTiau9PiGt`93+uC*qU1$#j3{}tbaZ^pN^9T3_5c_$4p|zl>i27Wh^C z8h#x?A<84p*j`pQ(d#6 zW49*6_+48l01q2LRyX4x@lWvj1^WAcQmvf6%iG%~bqBwLpah?r6oGS-A}BU6%>@$^ z3|o_?*HNO0In*&5OaZG(qDtg2JmLb9v#mt{t}{YPXu~daxh~i(X|4uFgmG>@$73%T zXR6~D!bBYjeNHpzY!1_9!h(R#>Zl4icae}0*7!R>6E=h`VMo{#4*VRjgmA+55iW!) z(SdM7#=`F&Y}fR9V~w4uT^3SHbR@jM9-=ehP52PL?BjH!gf^!|1QJ0Sr)AsXv_ukh zNT=BdCPLK_r6>2#!^hjJ)Atc25ux^IsTr0QF+}Y52yotP5fO(BCb|;w?6eGLPTku! zs<%Sc5{V=t8BU>_@FX~d?`3af*tFlACUVqKu3@GFIhZI|2)mLKg=}1=Nl-DN4*fa2 zVR#IM+(Z<^!0$hBDpTWBNmLQlYMg4>C7Dj&;nb7p^$kvcXBzyA-2ueF@7Oi$^qr3< z;BGoGg4-2WA(vFh<;>Dv<(l~YTU3b*@F zAPU1!VkT@k8-C_!TC=vvO9l`7g~HFbd#JfZ09D4wZuA&n|!T8?*Gh9 z5*vt(pq|*&>L!WbpfPM9c7O(ASF4*O_Cq&mpVP_XFyw+bqCy`2hnpl|I8K}())6Op zyNPwMqciNp91F?0AGk?>s5jr%5Q*!=4bDvxH#Kfj3Xso0ib54uAy1UIIj^GGHX`mp zuW6ZE|1~xv{$bbVy8mxKNxURp5wD3i#4C-TBtF84f9CuoiI6CXkv!HqFEU05{UmJo znIjP|RmfWv3J)lWRmc|=iu|XaBpH&ytVu1t0kM|UA=ZL1q(1v=o{ho?Vn#A5iml{7wx)QHQH^h^42TN4QCoKd5_f{FmX6E#{76>>s_99N-&Z!D6m{NB@@Zx^USXGK<%HAFHTxy4yYbu86= zs*qD^T-ZT!%I=3=n(U|McOW^49IWPdD7#ATl-!sdvSz;^YhHO}& z(T_a~$wH{7!q0TUX|*_Jv-O4l=~>8mu;l{yY1Xu6pB4ra%Q^j&sgTcXZMFfMSY-Ou z!L)c0=wLW6($2wlC@w>lVdH`Ls%euuQRt;ET73!iwT~%m@ZxEy$x%n!k zvf$vh8UG6=s)Gh5rIh%#-D!;&C=U%}Upx3l=a7()7NzrmJVB-V=5L^q@}~kc`q)*4 zdi+cusURvC0vFnoLepTp!#~40z0AJJpx!NA;%$z%Y3aH3;6FNe!hGP}vG9!pP&)@P*(w zRZopzS5+8z{#O@`)JSR+HJTcu?qpm`ConUiCbMrV(jBI8Go7wNgP{lIc5$eg)GTU_ z3Jq_fW>deY&=3_G+9X&(&13slcC}bYEy|Z@f34-VoeyoM7IG&<*-15eRvLX@N-a~{ zj=WbRDC_Wq^iTeYb?|zYBQABRw_rm&;6?Ee*wLV+D+|I1MN@k zZv*-W1o{{Rx}ZAXKY{*(I!XNrH=Z;=`%{}C(B~o0$E&?N{Wr3gsLRw9>S_zJn!9d8 zWbdfZG}f|Go9$Yo>u{d~_<;&d{R;47>gkUF9#iv8Nv%b(q0V!P-CpNEP#-lqU#dbg zf2#AJsV|^jgtY3sh!1uCvj_(bBC=KIMGVw=w^}b>ZOEudM}=lz28%>`E!mEG6P4RS z0?M-9f2?(JaL zx^8IX*E-@P(PYSe57ATzm}bP0y*%0m)CVF zJj&sFOofj4kEBF&0%CPiv_W)=w_CIUc61i5mW}W;5^@38OC>bZ;qb`=v_Z42?IgPJ zf5=xvH$}I&d_@EeojddJO}>JT`Ziw?J%IU2b06h5qIto(_KofQlQRmUH=?(qccM3% zJVo>w)YE{=Q)rClv1|Lf2E!bsS@ed6hc8s<6csvKh0ghppk35V!+!`$GkgQldRi)i zg&|s(HS1?%YXE_xX%#vR9^z2fQCc6`m;t*s1+(GR0xoRj{j4*rX&Y|KU45EQUDcqi zTPq~m(8`@H+|?mQr%uimoqb@40rzTtu*E_gGRO)S8- zht>>Z0lJ2+rF%dxx`!^H>x3t1c$A+mfLj9t=t1nG0fX|Le^5~StF4%(E~R1i_$B-@ zET>(;ufnmFv4fo@0v z`+A^dkf*bS+mM#y95fdL&@cvA{jVgAp2?M_=-G4~;X==)=h5?#vGfAEiA@{iu4vg@ zKG%|6wbZESh1_~bbVeG`)$}qhThpX!%0Oiw6}s-5M2%kg<3#Nn-$$>e*TAvWX&NjE z?v?7e!$ge-qtj(7RxsGwatpmxbKtbLy0BJVvE$TqG5s68ttG0C9c*W~gWkz)Eplx_ zYx^&zceMo~V+QyAYM}HXRy4%<-+>5yj6M$43+lP4nf0pub`Zj$BO8IV^l#kO7=|}Wq`fvIPeOxW&=kyEuC4E;d<&>eEl|C6psA^DeqRXjS8!;*56{{(E2$OZ)g2tE3r&t{pVEZ@t;}0*hXv%>c#f0)-QGj zV;~Kl!xF;>5;UufxD&K~S7j$#Ux=F6PlcX1*H-`K++{y;0GJ_`iG#%6bx_$Ew-!earNR9afn)nDphV@XVth!|bXG-T zxbGou+xHN|eGhSw818$B)%zaY+9~GtJuHTGisSY@!~<05m1`1-c#wE-`$Kc$A(}&T z;-O-NSc#xuqEw=Hr%-N5hn3+_S*1o z9+4BTXS3_=gZ?jEZxX}ZM+ge!8YXxeu6K%eskz=;Z)>%W<9f3S{ii+G2O-x5;v-_N zxKEAbu;KPM& zk6a=la3D^=Q1+aFzxflW6kiwL;56D)g$Y#X+n);mmiRWD=iN4yeh4LWOZ+z!`P0?~ zP5crH-=@LK@hvy&cPjM#4;D1>NAV}|4e=KSh;P8z*EhJz)-!ytkrBYO^aEtv0&HW1 z(781-g!mmpfddT9h}pjyiu9z6HasntQdhz~5xI!bY4N}Djo-+QF=3B3I{w?kG8T*_ zsApshJeCQE)gJkyVI9=NI*G3{F6v?3*y531-&m0bE)NY_?T}=A89%jez>HLw=x0DO z0ZbrdB)AnwCLD}`v`Emvz)FF}H!$$IKh|tiCy!(ZB$J}T#Qzb2GHGB5lfn2gS-jnh zAM7ZPZ5U-Ck^djUOs0aVBSZTP|g$ zFw0>+p*OaJ@fv0=T(?6bqf*1+s?Dw0T*a-KS;wqr3&z^{w!d=|vzgf7FUOl4ShrMIhaXrMbCzp1N8 zNEV;q^KWC5h~d$VdWja$JcU~@L5B^L3cLDr=3;ptn7O;dP@X&9(OQ&(4^#j9*<6Xf z#6V&Q_kh(8d?C)vQ4Mbr88{-bVUJ8ORw!Lmn2%CVDN$h_lEX?ZiOV+vKtdRe0HAC* z0koXmmAI%67*3JE!$+VRR3Rqt0a-bGOg0KxjvPb|pnUETIkcF2PzyZ_ACLm@5hWeX z14HON_<+j<&4VhS87P(^SCN}&02+e+g3gD}aGd2?VNbCa@R5RGo&r83kPA<}&*2Vy z^L2Tfcsm5o1^)<1cycHYo*(KW91hRFY=#F&=HkBa06>9y1AQNUhug>{%HVG80DLIi z@j3$cz1FHXjTpE;1GhWi4nZa?SN}ntE+;opQdlYE3PW7&?xRSD`T#Tj3YhmNi6+Ag z2j+1!4KvhZqLVO-D1gy>Bz+u46@D-xki&(u0J`FL&>>%EETI?i<%|nj!W1S2dX;0$ zEvQUKCGZjdzzu7s3`fKqf)>D1vR?@wT?k?mr|Bvn>IQ2h9-taZrwWON%zP9jLnt{Q zIT(jC#~_UNA#fZz94>Q38{kPe4v7ee!8|y7ICnVDwQx?G;8Z?9*4NWfVi_H&X7UE( z2id&N_$mob*pAAMuv`TzEU*ZmjAfrp8>W~p`K%Es(1Snq@TUqc#!#s68pVBw51+y- zd@_=|!c$dkLe;@^;5Us>CtwqxIy6JhuR^{9AlJWe?YU=Fu&3N_+(Q+-O!aSb;E6qW zW{(GJ37}pfcn<10p~7ny_<=%&*SXxEpinhG@T>zAss)_t0Jt>>g$l20H9y?`9uz7p z`*1>qS9Pacb&i5GSObIoa59D0B=}j+{lNc2nZk?#$`p9k(~)p#mT?WmaL(`wg$l3N zx!<8seW6f?LGh-*Z&0Z4dUV5z8AXVq#Uiw(s^L5I)gnMg;PuriKqt^yV;R63_-L#H z_yRwTg#dpL&<3dbvAT9v5(t8zrToxP6r81iV9;hQAQXgswHOc%x_q@75CI~;S`LT; z(O<0x#DLfzSrCW=U4LRlicAm>5;Ug7SrSMDNnfoAB!d)2(w3oEEv`*Sb+E?07+Fv?A zI#4=DI#@bHI#jBV!re{jFzIkx`MLE0!CDIFypEgd5rD;*~tFP$KrD4isoEM=ur zq*JAeY0~M^8Pb{3S<>0kU!-%SbEWg7^Q8-G#;TL!mT>F*wYxs_b=+K113iyTx_1R?YSFFWC z_{Oex+V5GPh31MPyd0kf4-;+1cjCwJQ?PRK2>%4%8srJz69lWAL>hcoP!4=okenzc zN{I@hn&?XmBkJKBgC-C&h-P9Xv5nXb9sL>NEO8E=SNIzqD0mNd(fRPzKQ&|zvKLuL z_9gq11IfYUP*O<_BkRcqawIvL97~QTCn?A&M7uWQWk=_ERZPNmc7EINnIgDX`(dM$l`{*%5&KZf-J9r)%Q7jb9!ww-)&jkt%n56m2g zi$}m*ag=zBLOc$>aA%U3h1uYA@iH+?%EX7oe~8bDuR)``C4MY^D*nju84-M|juGR) zxWc#S1T(QrDw6}>qSKR6GL7)PIZK!m@Vz)MVU#0=k%ytgSYj%PmZVAYBn6TZNvWh< zQX}ah=_MH<87rA7Stwa6Sufcr*(BK|QJj*TlRT7skbIJS(ZaPzEgdaWEk~^mTHab+ zwUV_;wG>(-wVJe6XdTeHt94K7fz~6fzqOueJ=c1v^;$|x8ul`lde;#Q>QaPXOPYi9fgicXSmJ?od%teI-_;w z>8#T^sB=c=y3XG^uXNt%DBkIO(D|hEMOUC}qU)gRuIs7mrR%L5q8qInuUn*BqFbt4 zu3M?wM|YTRy>6rKMBQI>m+0=&y{r35PpoIGXR2qeXQ|gkuSBmwuTgK5-Wa`cdK2{~ z>rK&{rngG(qTVgN`+5)c9_u~Pd#3kX@1@==y*GOA^hte@zF1$PFV&YR^lkL*^d0n_ z^oQyz^@r<^&~MZqr9WDKtp0fYiTacEr|3`9pP@fX{}=ta`t$Xh^cU){(qE&$UVo$h zU;1bD&+A{*zpQ^v|Azi8{X6;}4g3rO3_=ZJ4H6BK4Z0bm8Dtn_8RQt`859^48WbCJ zH&7TXHrQ@(#^8p*ErUA-_YCz772bwEhJJTXnKRAE$QRAbb`sFzWl(GVkr(J-TWqeVuGjg}fMR~W4{ zT4S`%XoJzOM#qgQW7=41Y;0^{Y-Mb1Y-?<9>}c$4>}u?0>|xx|xRY^$abM#p#v6_I z81FMaV0_5CFV(Zt!r)x^yt!eoR=qsds4sV1{beleMAGT)@hWTDAo zlcgrhO;(z$Hd$-3$7G+$0h2=}M@%l7C@z~^HMwqb)6~nfv#GDCziFUpuxW^Cm}wW& zNYiN3Sktbi38qP=DW<8W>86>c*`~#&-A&6)D^16mjx(KLI?0qZon|`2be8EarW;J3 zo4z!CXNH;y%?LBfj5cG;w9K^4bj|e549$$qOwC-)+{`@8{LBK((#(dKO*h+Mwp(Gg z*KEJpL9_Sf#_){}X66>=R^~S5cIFP|PUa!zO7mgnjph^0r$#OD0i95}5hUF~FUo7WZ&bMr`Txhw? z@(;_8R(vZ%D@!XUtBzJdR$Z;KtO~7)t;($`t*WhRt$JGZw(4&+&}y*ND66Sf)2(J& z%~n_~wc2d8)oPp74yyxJ=d7+liB0Da7C3_?LDEn*;tWj&8wZNLPrmY!kJ!?m6 zPitT6AnPdWH0vVk!Pd>zo2}1S->_EPvc6+|&qi$1!N$$T!=|H6CmSCdKbruXAe%Is zWi~5pR@tnz`PF8p&2F2$Hv4S$+Z?btY;)A+xXlThlQySp&e$Thm@RHg+KOz&wh~*Z zt-h_Ht+B1Wt)s28t*fnw$p8A+RnC}udr>h zU1+<-_J-{(+xxZ;Z6Dh{v3+Ly-1d#_JKGO-jGcv@m7TSnt)0D{kDZ@gfL)MXh}{&s zX?8R1X4}oNn`bxQuE}np-D10?cFXNn+O4)*Yq#ERqunOEEq1@z?Xx>zci8Tz-6Oll zc2De{**&*=W%tJJo!tj}seP(_fqkX@0DHv*`-S#C z9X}`>KRJGJLYy$CG^Y%wY^PkOd?&e6p;NI_cc(I^3a2Wk8mAsky`1Wt`a1P@8t63G zX@paw(`cu$POF?&JFRtE@3hfrv(r|mZB9F!&N%BkTR2-eTRXcrcXIZ2_H_<(?&2Kb z9O)eGoa~(M+~0Yg^JeGs&Uc*eIX`fI);_Kq?66g}*66VsyCDNt9rP*br z%W9XkE?Zspy6ks3=<bn}c8oQdh_Hgax z+Q+q@>j2k5u7h2Nx+-0Vxz@WjxQ=uk?K;+Vyz4~Q$*xmer@78^UEsRVb+PLot`}YJ zy54hr;QCPE`q=e}>p!k9Twl4qaedbT?ZE4x)j_+1ZU_Aih8>JMn0D~#klLZT!{`n> zJ6!AV+D+fh+|ACdgPX5gkXyK0gjdew{q{|KGc1z`&9R4_ciX@+;_O|bwA*)IOKlB{h0gj?kC+(x&P&U z&i#V>CHJfD&)h$G2t05P#zV_P$3x#E$|Kn$$D_MPtw&Ff-X48C`g;uW7~-My816B` zqtRoO$7GKw9@9N$dYte$@A1&%jVIzM^3?S-@HF-`^R)DodD?o~dpdf$cy{n~_w48y z;2GrE-LuTI!m~=@S>xHmvzKR`XJ60$o&!Axdk*zfdJglf_iXSS={eeSvFAR|6P_J|GIo?IyRo;EP`*{!cRw%rOc~9`3Ec;EGY%P%!Do}tR-f%YyL|Tg z9Pl~pbIj+2&!0YLe9rk?_j#o7dFk`U7x>K7A=bP%A;Vbv8 z@U8ak>#Oh`<~zoBitlva`M%41SNi_yyVG}%?@`~=zGr=}`QG<^ge*S(zeo=l&e%<_X{kr>=`}Oi0(Ql$3>-US_BEO}6igkX!`R(vK z==X=;DZfj8xBc$KuqWVDz?pz^0oMa=2D}dV5-1EL15E;L0zCtL z149C10y6^Tfwh5S0_O)V3tSPnI&fX!Z-K`H{|vkp_&D%$5Ei5x6dIHoR2wubNHH&H zNzlfiqd_-lzJYKNMHT827? zdWHsuMuzqX9T++!bZDq5ba?34(D9*@LZ^gI3!M?VHgrem!O%ZLFNYCfI$`=@Mqwsl zHeq&QZegBbUSXZXg2S@I`h+!vjSL$dHa2X0*u1a>Va;KS!Sqn;acH3;rii*;U?i`;TGXm;nv}H;SS**;T^*}hx>+ChW8I27Cs_;eE6jBDdE$@ zXN5P1FAiT8z9M{8_}cIz;n%`%hu;f-7XG0N=t6a|>f+a>u#2M0qAu&ZZ0xeB%hoOr zB8(zTBWxq=Bb*{!Bitfnr=^W`A=^p7B=^q&w84?*D zSrXYjvOKaXvNp0;WL;#x$N`ZPBX>j|j64>3BJ$73(~*Bgo{zj3c`5Qr zqn}5=ihdLQKKf(y=NJ%!#_(f=F_IW*jIJWaASNUxJtiY2J0>qi9#b4s8dDKd6;m72 zKW1RekQhbGw3xqQ9>lzk6~}7F>ctwy8poQ&TE@y^tz+$C9b%nhy<)v%<74HqHL*Qo z>tg%GDr1MoHpH^AQ)B1HHpecCT^hSQc2(?_*ln>pVt2*vjXe;1D)vU~^VrXEqBtf_ zA&t|G(~s*I7ZaBdmmHTKmlc;AR}fbeR}$AZu7BLXxZ!aPakJy*#LbIqidz`BIc|5{ z`M4W#@48C5>UXv1+Oex&*MzQxT`Rj*ckR)2Kv%Zwtgaio9_o6s>*KC3;+c5sc$av$ zc+dDw@j>x%@tN`6;}!9XKAwCc`DF6x7CtpmytVq6=d^7n@^4k<71xpd9Xr<_+ z=%*N^n5M*}bcIhRr=+B%WTxb#V%B_?y-7LFBcI(!yw%ed? zBf2f@wyxWbZs)q)O+`}mQVmm0Qq5B>Q)Q{PsSc?gsa~m_Q-f2ZQ)5%(QA6r5;Q@l6oxlZR&^A&uK^+FHM+6rqOAV zG-;Y{nt7UintxiCw9K?#X?@cArwvLQnx;w{o;EA3Ic;6qZ)u0q{!BZac0TP=+SPPn zx?Z|vx@)>mdU$$DdO^B8y*Rxzy&}Cjy>GfAU70>AeX$~aMf&RWwdotuH>Gb)-=6+^ z`XA|kre93IlKwFLar*lVCPOPjJ3}wSAj2`kGb1u1Iiq_*BM_j@l4%JlT4dT&rI)3d1hf|NoHAQWoAugzf5JO zDsyz^lFXHvYcdtqFM( zY>;h`ZJ900w#|0P4$98VuE?&+uF3A1U6(x~yD@uI_SozR**6v0ce3wiKg|9+`)T&G z?C069vfpIC&;FGCB?ryn>J5Zst7673R9; zhUDhvR^(RY*5vlgRZP#lntLPncJ71R$GJ~)|H*xk`zrTs?)%(NxnJ^-JYJqKkIXa8 zv(2;5^UUj%=ac837nB#8SDV)>uTNh8yg_+G^Hh2Dd5w9a^2X*(&6}P#D{oFdo=@eA z^R@D|^L6tL@{RMY^X>8-@;&nX@&odN^TYBZ@+0#T^HcKE@-r3rS^3rZgYp~loAVdv zFUwz<6j`2~dqV+zI=OemOKFtuPt!GeP21uF_R7W`Row%|g+rGl#kHwtbS+$(rl z@LJB3+sGZ|E^;@yr(DrV?j!e;2g*z3W%5e+l8m141r9^x4f00$MENTDdik&N&GO&m zJLJ3N`{cLf59E*KPvy_$ujFs#@8zEgbqfOvLkhzSBMTD?Qwq}xGYfMH^9oA~m4(X+ zR~D`*Twl1YaA)D3!u^GZ3Xc@tD12D>xbSJ=^CG-RR@AYmQ<1l#$ge1{D4{5+D5WT^ zD6?o~(VC+5MH`DY7i}&2t!R7EuA)6f`-=`09Vt3qbfV~F(W#;{Mdykx6x}SkU39PL zVKG%KDrSnM#k$1?#m2>E#TLb#iwlZti&e!_i)R(jDV|r{RJ^cwN%8XHUB!PEUo5^{ ze5?3w@q^;W#h*%~C3Yo>u#zq%@g+$mStVs9)g^;Urj)EK*;TTqWN*o_k`pDDN^Y0j zD|yzP-(Aw(rh8!blI}yg&+WdV`>O71y07nkrTgdZUrNzZeyOmOETv1CQmsqB-Uyiqgxa4@#ex zzA6)x;bmkQT_!2BER&Vll-ZX#l?^RZmDQIul#MDIQ#Q72eA%QjwrpD2%(B^KbIazJ zHI*$aTU@rRY(?3|vQ1@M%eI$YDZ5&BqwIFsy|Ra8f0sQgdtOeIN0sN6_b4AxKBIhg z`TX)lcTfU+E*YZu}iY?{8mG3CuRerYoVTEypS%pP~O@(8Hb47;=j|#5} z?+U+)(29%-c|}D;k>SI(@QU%9DrSLN@O7c1{qAyxKOzE!D;s=}(` zs_s?gRTHY#R;{brShcxoYt{CuT~&Lk_ElZ3Hm)|SmQ~wVJ65|?yH$HucdGWT_Nn%( z4yX>U4y{hBZmb?%J+^vM^|b04)w8STRxhYtSiPirNA>gSSJiK-Kh_{MSdE~Ds1emL zHPRa08nYUU8d;5Pjb}}#8o!#r8bwG=L``%}Tuot3@0va}{b~l*45=AkGqGlJ&D5G1 zHIHhZ)cjNPqULqY+nRSZA8J0=f?BLrP>a`6wRA00t5vIAt5<7KYgsF+wXJoi&8jV} zEvqeuuTrk5?O9t_+pl(D?ciEP?XcPrwNq;6*DkAFQM_PSvdyBop-V@os*+*O@t_t@CSDmZHP2*;8CEP5|!dW?%vvE$&#d$d&7vLl= z!pU5WOK^bGILuLQ9=Cw|l{>&4;(q6ja({9sxzpTP?mTyiyUpF@o^vm42R|u^VZUv^XMbRS zXn*M_=cwSwax`=^Hu>~J{dI_5hTIhHuqh>mrR4UWx@ zt&Z)EeU7uv%FZ{O)t$AR4V`a08#|jhTR2-e`#2{!XF9)h&UP|R&M7$~PT3iACY|S< zmz-Cf*PXYVcbs>f_nl?VN6x3t=gyaWdACoi}=m_Vg6741b>D<%b({j@mKj9{B8a&|9~&!AMsCJZ@O|_K3C8c zcFC@oE9p{Q&_!MITuWVRUF%#MT$^26T-#iGUHe@JTnAmpTxVV9U6))}-8J2ByYt*l z+|AuB-EG|Y?w;;G?qc`n?h^Mbx5aIBb8d$_B)Y@ylzW|flluqvcK0s#Pwu_$eePe} zXWUoa&peep4LvP99X$n}4?LqhUwSmpJkKW29?w3{e$N5VJ#Q^UghH{^|YOTBUL*Iv~Ny&13W#olGYn?g;Ywoq4SAmj>-gr=4n8I9PzOYDGA}kly30s97!q37L;ihm~ zxFO za58W)a5-=-a5GpjSSeUF_-3$Xuy!yf*d~}CEC`MaP6*nA?w}C#2SdR~P!7g}bHpGH zt_V+DFazi~r-jERTheDxnC>l~i@lZ0PhF}PVjL?G6qR^7i^3d+k z-q8NgfzYAQkmrYMrtp0lJcc4QjyeO8Yj(=W=da5UrAOeC`nR8DwX2W zS?PjwS-L9SkZwuhZRxJ`Kq`|SOV6a|;aB?QaE0*e;Y#7E;cDTWaJ_KD@Y~_u;XdJ_ z@PKe}cu06ycw~5VxFq~_n1q*vSB6)GH-tBbe+>T=-WUEQd?tJ={4ny0@`}`nw2zF5 zOpZ7sQX~?QBeBSe$brbg$nTM(kzEZRKUKH4eTBl>={ceHPG zcyw}fN_1LuMzkdAi3(9)G#Cv>k4H~M&qU8fFGep%uSBm!Z$@uN??wNPK8!wzK8rq= z|0S1~E6Q1N4Y`(FN3JIq%6;Yj@&LJ59wHBuN64e)vGN4@GkL1a$gFIW9WpPwWzj3A zo>90&uCM#2w>B>xHmhzPnRlZS{ zDJzsU$~t9(a!5I;oL4T1%2nlta$C8l{H;7xp2l8_<-~Gh9b>&><6{4geH{BVHYN6X z?2A}Q%o7u1ftVDF#OB5p#@5F+#5To#h;5G@iXDy}jr|!r8E+r&6wi-$iFc0|#NUti ziWkO<;sfHv@xk#APPE1Zj6Ev|tu`97V zu_y6!;%TyB@~vcEvPrU8vPH60vQ4sGvR^Wol#-=MEs2tIk~m3|bCdIv3zLhJOOwl! zE0e3mfeBzD_!xWwCW9$p z8ki2g03~2HU;qn58*l&@@B$wQf-sOl3?zXHAV9zX6wCt)z+$iztN^RQTCg5$1Y5v1 zuoLVCd%=Ei02~5Gz%g(FoCasX1#lT$12@4Pa37R`$KV-wp_WrCs99MYfwvZ`I>RgWsF0aa3?Do`~wtu9bksH?Obt)A9U%hmF(mIbU`ol z!5|Dn8OC4|sxSpJa1O-Kgx|o0@LRYHu7uyg@8Np55pIE7;SRV9io4-nxE~&Xzrn-s zC_DyFz|-&yJP$9zEATqJ1@FN7unazePvLX;GF?7hA)S@3oUZ!n-diJGD_tjDFWn%W zo6bu&PB%-pNViV6OLt7am+qYImM%#5O!r9_r-x)tXU=BMXD((gXRcQGYR0GvQwNVbLhZ>-_(A%gHYJ!@fcTh{z z8ns33QAhMH%12#LH`D{Yk9wg#s4wb=2A~hnAT$Jhh=!w)Xfzs&#-o3ukI*FaDf$de zMW3TD(3fa7vLF`OkOR4p=tVvhL}4VO7)l})L4=TjD4K^Bpv7n@T7g!hwP-!sh_;|@ zXeZi@_M-jh06K(@pkwF+I*rbv3+OVshHj!e=sqe#kI^&qLNBLR(6jU^dNsXV5PgeSlu957CF|BlR)*czvQiNuR7w)u-z- z^;x<_XLY;I>mFUy1G=O~bwy9;Ku_rzeU47_x%zy4k-kJi-*l1XGTnM$UU znPe8R5SG{pPdr2<0V0toQAmOSk|G&0hY&KC%qNS;60)4EB5TMxvVm+STgeXcBiSR8 zpUJP}H*%Q#L5`DC(ctPAUS?(GIi|eUEmgU1@h(Kzq{Ow2&6j{&XNMri1BF zI*g8>qo_EBj-wOkMEWuPgifYY=rlT=enCs Date: Thu, 29 Mar 2012 18:00:36 +0200 Subject: [PATCH 11/25] Removed debug codes. --- Framework/BGHUDButtonCell.m | 3 --- 1 file changed, 3 deletions(-) diff --git a/Framework/BGHUDButtonCell.m b/Framework/BGHUDButtonCell.m index 25dd0da..ec9d25b 100755 --- a/Framework/BGHUDButtonCell.m +++ b/Framework/BGHUDButtonCell.m @@ -122,9 +122,6 @@ - (void)setButtonType:(NSButtonType)aType { } -(void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView { - - NSLog(@"buttonType:%d state:%d isHighlighted:%d showsStateBy:%d highlightsBy:%d",buttonType,[self state],[self isHighlighted],[self showsStateBy],[self highlightsBy]); - // Make sure our own height is right, and not using // a NSMatrix parents height. // cellFrame.size.height = [self cellSize].height; From 5c44d3c644371da67ac62b4e1016f633514fb41c Mon Sep 17 00:00:00 2001 From: CocoaBob Date: Thu, 29 Mar 2012 18:30:38 +0200 Subject: [PATCH 12/25] Fixed a mistake. --- Framework/BGHUDButtonCell.m | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Framework/BGHUDButtonCell.m b/Framework/BGHUDButtonCell.m index ec9d25b..2854719 100755 --- a/Framework/BGHUDButtonCell.m +++ b/Framework/BGHUDButtonCell.m @@ -477,9 +477,9 @@ -(void)drawTexturedSquareButtonInFrame:(NSRect)frame { NSBezierPath *path = [NSBezierPath bezierPathWithRoundedRect: frame xRadius: 2.0f yRadius: 2.0f]; [path setLineWidth: 1.0f]; if ([self isBordered] && [self isEnabled] && - ([self state] || [self isHighlighted] || ([self highlightsBy] & NSChangeBackgroundCellMask) || ([self showsStateBy] & NSChangeBackgroundCellMask))) { + ([self state] == 1 || [self isHighlighted] || ([self highlightsBy] & NSChangeBackgroundCellMask) || ([self showsStateBy] & NSChangeBackgroundCellMask))) { //Background - if(([self state] && ([self highlightsBy] & NSChangeBackgroundCellMask) && ([self showsStateBy] & NSChangeBackgroundCellMask)) || + if(([self state] == 1 && ([self highlightsBy] & NSChangeBackgroundCellMask) && ([self showsStateBy] & NSChangeBackgroundCellMask)) || [self isHighlighted]) { [[[[NSGradient alloc] initWithStartingColor:[NSColor colorWithDeviceWhite:0.25f alpha:1.0f] endingColor:[NSColor colorWithDeviceWhite:0.21f alpha:1.0f]] autorelease] drawInBezierPath: path angle: 90]; @@ -508,7 +508,7 @@ -(void)drawTexturedSquareButtonInFrame:(NSRect)frame { NSShadow *innerShadow = [[NSShadow alloc] init]; [innerShadow setShadowOffset:NSMakeSize(0, -1)]; - if(([self state] && ([self highlightsBy] & NSChangeBackgroundCellMask) && ([self showsStateBy] & NSChangeBackgroundCellMask)) || + if(([self state] == 1 && ([self highlightsBy] & NSChangeBackgroundCellMask) && ([self showsStateBy] & NSChangeBackgroundCellMask)) || [self isHighlighted]) { [innerShadow setShadowColor:[NSColor colorWithDeviceWhite:0.0f alpha:0.35f]]; } @@ -1205,7 +1205,7 @@ -(void)drawRecessedButtonInFrame:(NSRect)frame { [shadowPath closePath]; //Draw - if([self state] || [self isHighlighted]) { + if([self state] == 1 || [self isHighlighted]) { [[[[BGThemeManager keyedManager] themeForKey: self.themeKey] pushedSolidFill] set]; [path fill]; //Draw inner shadow From ea206b7cff52c75651c0036dfc54eae89891c15f Mon Sep 17 00:00:00 2001 From: CocoaBob Date: Thu, 29 Mar 2012 18:50:23 +0200 Subject: [PATCH 13/25] Fixed a bug of the Textured button --- Framework/BGHUDButtonCell.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Framework/BGHUDButtonCell.m b/Framework/BGHUDButtonCell.m index 2854719..75129e7 100755 --- a/Framework/BGHUDButtonCell.m +++ b/Framework/BGHUDButtonCell.m @@ -461,7 +461,7 @@ -(void)drawTexturedSquareButtonInFrame:(NSRect)frame { frame.origin.x += 1.5f; frame.origin.y += 0.5f; frame.size.width -= 3; - frame.size.height -= 2; + frame.size.height -= 3; switch ([self controlSize]) { case NSRegularControlSize: From 52183ed68bb240152d4443dd6b7b5fbc22c9d1b4 Mon Sep 17 00:00:00 2001 From: CocoaBob Date: Mon, 2 Apr 2012 15:01:58 +0200 Subject: [PATCH 14/25] Improved the Textured Square button --- Framework/BGHUDButtonCell.m | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/Framework/BGHUDButtonCell.m b/Framework/BGHUDButtonCell.m index 75129e7..8c0435c 100755 --- a/Framework/BGHUDButtonCell.m +++ b/Framework/BGHUDButtonCell.m @@ -461,7 +461,7 @@ -(void)drawTexturedSquareButtonInFrame:(NSRect)frame { frame.origin.x += 1.5f; frame.origin.y += 0.5f; frame.size.width -= 3; - frame.size.height -= 3; + frame.size.height -= 4; switch ([self controlSize]) { case NSRegularControlSize: @@ -474,15 +474,15 @@ -(void)drawTexturedSquareButtonInFrame:(NSRect)frame { } //Path - NSBezierPath *path = [NSBezierPath bezierPathWithRoundedRect: frame xRadius: 2.0f yRadius: 2.0f]; + NSBezierPath *path = [NSBezierPath bezierPathWithRoundedRect: frame xRadius: 4.0f yRadius: 4.0f]; [path setLineWidth: 1.0f]; if ([self isBordered] && [self isEnabled] && ([self state] == 1 || [self isHighlighted] || ([self highlightsBy] & NSChangeBackgroundCellMask) || ([self showsStateBy] & NSChangeBackgroundCellMask))) { //Background if(([self state] == 1 && ([self highlightsBy] & NSChangeBackgroundCellMask) && ([self showsStateBy] & NSChangeBackgroundCellMask)) || [self isHighlighted]) { - [[[[NSGradient alloc] initWithStartingColor:[NSColor colorWithDeviceWhite:0.25f alpha:1.0f] - endingColor:[NSColor colorWithDeviceWhite:0.21f alpha:1.0f]] autorelease] drawInBezierPath: path angle: 90]; + [[[[NSGradient alloc] initWithStartingColor:[NSColor colorWithDeviceWhite:0.21f alpha:1.0f] + endingColor:[NSColor colorWithDeviceWhite:0.27f alpha:1.0f]] autorelease] drawInBezierPath: path angle: 90]; } else { [[[[NSGradient alloc] initWithStartingColor:[NSColor colorWithDeviceWhite:0.44f alpha:1.0f] @@ -493,27 +493,30 @@ -(void)drawTexturedSquareButtonInFrame:(NSRect)frame { [[NSGraphicsContext currentContext] saveGraphicsState]; [[NSColor colorWithDeviceWhite:0.16f alpha:1.0f] setStroke]; - //Draw border with outter shadow - NSShadow *outerShadow = [[NSShadow alloc] init]; - [outerShadow setShadowColor:[NSColor colorWithDeviceWhite:1.0f alpha:0.1f]]; - [outerShadow setShadowOffset:NSMakeSize(0, -1)]; - [outerShadow set]; - - [path stroke]; - - [outerShadow release]; - //Draw border with inner shadow [path setClip]; NSShadow *innerShadow = [[NSShadow alloc] init]; - [innerShadow setShadowOffset:NSMakeSize(0, -1)]; + [innerShadow setShadowBlurRadius:2.0f]; + + if(([self state] == 1 && ([self highlightsBy] & NSChangeBackgroundCellMask) && ([self showsStateBy] & NSChangeBackgroundCellMask)) || + [self isHighlighted]) { + [innerShadow setShadowOffset:NSMakeSize(0, -1)]; + [innerShadow setShadowColor:[NSColor colorWithDeviceWhite:0.0f alpha:0.3f]]; + } + else { + [innerShadow setShadowOffset:NSMakeSize(0, -1)]; + [innerShadow setShadowColor:[NSColor colorWithDeviceWhite:1.0f alpha:0.5f]]; + } + [innerShadow set]; + [path stroke]; + [innerShadow setShadowOffset:NSMakeSize(0, 1)]; if(([self state] == 1 && ([self highlightsBy] & NSChangeBackgroundCellMask) && ([self showsStateBy] & NSChangeBackgroundCellMask)) || [self isHighlighted]) { - [innerShadow setShadowColor:[NSColor colorWithDeviceWhite:0.0f alpha:0.35f]]; + } else { - [innerShadow setShadowColor:[NSColor colorWithDeviceWhite:1.0f alpha:0.2f]]; + [innerShadow setShadowColor:[NSColor colorWithDeviceWhite:0.0f alpha:0.5f]]; } [innerShadow set]; From 624e75a27fbc2ff20567449a9506365d0d2bd41d Mon Sep 17 00:00:00 2001 From: CocoaBob Date: Mon, 2 Apr 2012 16:16:36 +0200 Subject: [PATCH 15/25] Improved the drawing of Progress Indicator. --- Framework/BGHUDProgressIndicator.m | 83 ++++++++++-------------------- 1 file changed, 28 insertions(+), 55 deletions(-) diff --git a/Framework/BGHUDProgressIndicator.m b/Framework/BGHUDProgressIndicator.m index 8b77ca9..721a430 100644 --- a/Framework/BGHUDProgressIndicator.m +++ b/Framework/BGHUDProgressIndicator.m @@ -79,72 +79,55 @@ -(void)encodeWithCoder: (NSCoder *)coder { } - (void)_drawThemeBackground { - NSRect frame = [self bounds]; //Adjust rect based on size switch ([self controlSize]) { - case NSRegularControlSize: - - frame.origin.x += 2.5f; - frame.origin.y += 1.5f; - frame.size.width -= 5; - frame.size.height -= 3; + frame.origin.y += 1.0f; + frame.size.height -= 2.0f; break; - case NSSmallControlSize: - - frame.origin.x += 0.5f; - frame.origin.y += 0.5f; - frame.size.width -= 1; - frame.size.height -= 2; break; } - - NSBezierPath *path = [NSBezierPath bezierPathWithRect: frame]; - - //Draw border - [NSGraphicsContext saveGraphicsState]; - [[[[BGThemeManager keyedManager] themeForKey: self.themeKey] dropShadow] set]; - [[[[BGThemeManager keyedManager] themeForKey: self.themeKey] darkStrokeColor] set]; - [path stroke]; - [NSGraphicsContext restoreGraphicsState]; + NSBezierPath *path = [NSBezierPath bezierPathWithRoundedRect:frame xRadius:2.0f yRadius:2.0f]; + [path setClip]; //Draw Fill - [[[[BGThemeManager keyedManager] themeForKey: self.themeKey] progressTrackGradient] drawInRect: NSInsetRect(frame, 0, 0) angle: 90]; - [[[[BGThemeManager keyedManager] themeForKey: self.themeKey] strokeColor] set]; - [path stroke]; + [[[[BGThemeManager keyedManager] themeForKey: self.themeKey] progressTrackGradient] drawInBezierPath:path angle:90]; if(![self isIndeterminate]) { - frame.size.width = (CGFloat)((frame.size.width / ([self maxValue] - [self minValue])) * ([self doubleValue] - [self minValue])); - [[[[BGThemeManager keyedManager] themeForKey: self.themeKey] highlightGradient] drawInRect: frame angle: 90]; - + [[[[BGThemeManager keyedManager] themeForKey: self.themeKey] highlightGradient] drawInBezierPath:[NSBezierPath bezierPathWithRect:frame] angle: 90]; } else { - //Setup Our Complex Path //Adjust Frame width - frame.origin.x -= 40; - frame.size.width += 80; + frame.origin.x -= frame.size.height; + frame.size.width += frame.size.height * 4; - NSPoint position = NSMakePoint(frame.origin.x, frame.origin.y); + NSPoint position = NSMakePoint(frame.origin.x + 1, frame.origin.y + 1); if(progressPath) {[progressPath release];} progressPath = [[NSBezierPath alloc] init]; + CGFloat step = frame.size.height - 2; + CGFloat double_step = step * 2; while(position.x <= (frame.origin.x + frame.size.width)) { - - [progressPath moveToPoint: NSMakePoint(position.x, position.y)]; - [progressPath lineToPoint: NSMakePoint(position.x + frame.size.height, position.y)]; - [progressPath lineToPoint: NSMakePoint(position.x + ((frame.size.height *2)), position.y + frame.size.height)]; - [progressPath lineToPoint: NSMakePoint(position.x + (frame.size.height), position.y + frame.size.height)]; + [progressPath moveToPoint: NSMakePoint(position.x, position.y)]; + [progressPath lineToPoint: NSMakePoint(position.x + step, position.y)]; + [progressPath lineToPoint: NSMakePoint(position.x + double_step, position.y + step)]; + [progressPath lineToPoint: NSMakePoint(position.x + step, position.y + step)]; [progressPath closePath]; - - position.x += ((frame.size.height *2)); + position.x += double_step; } } + + //Draw border + [NSGraphicsContext saveGraphicsState]; + [[[[BGThemeManager keyedManager] themeForKey: self.themeKey] darkStrokeColor] set]; + [path stroke]; + [NSGraphicsContext restoreGraphicsState]; } - (void)_drawThemeProgressArea:(BOOL)flag { @@ -153,28 +136,18 @@ - (void)_drawThemeProgressArea:(BOOL)flag { //Adjust rect based on size switch ([self controlSize]) { - case NSRegularControlSize: - - frame.origin.x += 2.5f; - frame.origin.y += 1.5f; - frame.size.width -= 5; - frame.size.height -= 3; + frame.origin.y += 1.0f; + frame.size.height -= 2.0f; break; - case NSSmallControlSize: - - frame.origin.x += 0.5f; - frame.origin.y += 0.5f; - frame.size.width -= 1; - frame.size.height -= 2; break; } if([self isIndeterminate]) { - //Setup Cliping Rect - [NSBezierPath clipRect: NSInsetRect(frame, 1, 1)]; + NSBezierPath *path = [NSBezierPath bezierPathWithRoundedRect:NSInsetRect(frame, 1, 1) xRadius:2.0f yRadius:2.0f]; + [path setClip]; //Fill Background [[[[BGThemeManager keyedManager] themeForKey: self.themeKey] normalGradient] drawInRect: frame angle: 90]; @@ -182,10 +155,10 @@ - (void)_drawThemeProgressArea:(BOOL)flag { //Get the animation index (private) int animationIndex = 0; object_getInstanceVariable( self, "_animationIndex", (void **)&animationIndex ); - + //Create XFormation NSAffineTransform *trans = [NSAffineTransform transform]; - [trans translateXBy: (-37 + animationIndex) yBy: 0]; + [trans translateXBy:animationIndex - 16 yBy: 0]; //Apply XForm to path NSBezierPath *newPath = [trans transformBezierPath: progressPath]; From 11f5d1cc221864c6748540a598db769bed803754 Mon Sep 17 00:00:00 2001 From: CocoaBob Date: Tue, 3 Apr 2012 12:31:34 +0200 Subject: [PATCH 16/25] Corrected and Improved the drawing of Segmented Cell. Improved the color of Progress Indicator. --- Framework/BGHUDProgressIndicator.m | 2 +- Framework/BGHUDSegmentedCell.m | 24 +++++++++++++++++++++--- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/Framework/BGHUDProgressIndicator.m b/Framework/BGHUDProgressIndicator.m index 721a430..2ea2067 100644 --- a/Framework/BGHUDProgressIndicator.m +++ b/Framework/BGHUDProgressIndicator.m @@ -125,7 +125,7 @@ - (void)_drawThemeBackground { //Draw border [NSGraphicsContext saveGraphicsState]; - [[[[BGThemeManager keyedManager] themeForKey: self.themeKey] darkStrokeColor] set]; + [[[[BGThemeManager keyedManager] themeForKey: self.themeKey] strokeColor] set]; [path stroke]; [NSGraphicsContext restoreGraphicsState]; } diff --git a/Framework/BGHUDSegmentedCell.m b/Framework/BGHUDSegmentedCell.m index 99137a2..7e61303 100644 --- a/Framework/BGHUDSegmentedCell.m +++ b/Framework/BGHUDSegmentedCell.m @@ -148,8 +148,18 @@ - (void)drawWithFrame:(NSRect)frame inView:(NSView *)view { //Draw Background (used as dividers) NSBezierPath *shadowPath = [[NSBezierPath alloc] init]; - [shadowPath appendBezierPathWithRoundedRect: frame - xRadius: 5.0f yRadius: 5.0f]; + switch ([self segmentStyle]) { + default: // Silence uninitialized variable warnings + case NSSegmentStyleSmallSquare: + [shadowPath appendBezierPathWithRect:frame]; + break; + + case NSSegmentStyleRounded: //NSSegmentStyleTexturedRounded: + [shadowPath appendBezierPathWithRoundedRect:frame + xRadius:5.0f + yRadius:5.0f]; + break; + } [[[[BGThemeManager keyedManager] themeForKey: self.themeKey] strokeColor] set]; [shadowPath fill]; [shadowPath release]; @@ -177,13 +187,16 @@ - (void)drawSegment:(NSInteger)segment inFrame:(NSRect)frame withView:(NSView *) switch ([self segmentStyle]) { default: // Silence uninitialized variable warnings case NSSegmentStyleSmallSquare: + { if(segment == ([self segmentCount] -1)) { fillRect.size.width -= 3; } fillPath = [[NSBezierPath alloc] init]; [fillPath appendBezierPathWithRect: fillRect]; + } break; case NSSegmentStyleRounded: //NSSegmentStyleTexturedRounded: + { fillPath = [[NSBezierPath alloc] init]; //If this is the first segment, draw left rounded corners if(segment == 0 && segment != ([self segmentCount] -1)) { @@ -219,6 +232,7 @@ - (void)drawSegment:(NSInteger)segment inFrame:(NSRect)frame withView:(NSView *) if (segment != 0 && segment != ([self segmentCount] -1)) { [fillPath appendBezierPathWithRect: fillRect]; } + } break; } @@ -254,7 +268,11 @@ -(void)drawInteriorForSegment:(NSInteger)segment withFrame:(NSRect)rect { [textAttributes setValue: [NSFont controlContentFontOfSize: [NSFont systemFontSizeForControlSize: [self controlSize]]] forKey: NSFontAttributeName]; if([self isEnabled]) { - [textAttributes setValue: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor] forKey: NSForegroundColorAttributeName]; + if([self selectedSegment] == segment) { + [textAttributes setValue: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] highlightTextColor] forKey: NSForegroundColorAttributeName]; + } else { + [textAttributes setValue: [[[BGThemeManager keyedManager] themeForKey: self.themeKey] textColor] forKey: NSForegroundColorAttributeName]; + } } else { [textAttributes setValue:[[[BGThemeManager keyedManager] themeForKey: self.themeKey] disabledTextColor] forKey: NSForegroundColorAttributeName]; From 29e175e7e012ac5c393f66dafe818683b58f01c5 Mon Sep 17 00:00:00 2001 From: CocoaBob Date: Tue, 3 Apr 2012 14:42:59 +0200 Subject: [PATCH 17/25] Adjusted BGHUDButtonCell size. --- Framework/BGHUDButtonCell.m | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Framework/BGHUDButtonCell.m b/Framework/BGHUDButtonCell.m index 8c0435c..4c5bdb4 100755 --- a/Framework/BGHUDButtonCell.m +++ b/Framework/BGHUDButtonCell.m @@ -349,19 +349,20 @@ -(void)drawTexturedRoundedButtonInFrame:(NSRect)frame { case NSRegularControlSize: - frame.origin.y += 1; + //frame.origin.y += 1; + frame.size.height -= 2; break; case NSSmallControlSize: //frame.origin.y += 3; - //frame.size.height += 2; + frame.size.height += 1; break; case NSMiniControlSize: //frame.origin.y += 5; - //frame.size.height += 1; + frame.size.height -= 1; break; } From 3d39fd78b9bb5580be8f33e09ad639da61c68419 Mon Sep 17 00:00:00 2001 From: CocoaBob Date: Thu, 3 May 2012 11:23:54 +0200 Subject: [PATCH 18/25] Make sure the button image is always displayed --- Framework/BGHUDButtonCell.m | 37 +++++++++++++++---------------------- 1 file changed, 15 insertions(+), 22 deletions(-) diff --git a/Framework/BGHUDButtonCell.m b/Framework/BGHUDButtonCell.m index 4c5bdb4..3426097 100755 --- a/Framework/BGHUDButtonCell.m +++ b/Framework/BGHUDButtonCell.m @@ -260,25 +260,19 @@ -(void)drawImage:(NSImage *)image withFrame:(NSRect)frame inView:(NSView *)contr //Setup per State and Highlight Settings if([self showsStateBy] == 0 && [self highlightsBy] == 1) { - if([self isHighlighted]) { - - if([self alternateImage]) { + if([self isHighlighted] && [self alternateImage]) { - image = [self alternateImage]; - } + image = [self alternateImage]; } } - if([self showsStateBy] == 1 && [self highlightsBy] == 3) { +// if([self showsStateBy] == 1 && [self highlightsBy] == 3) { - if([self state] == 1) { - - if([self alternateImage]) { + if([self state] == 1 && [self alternateImage]) { - image = [self alternateImage]; - } + image = [self alternateImage]; } - } +// } //Calculate Image Position NSRect imageRect = frame; @@ -695,30 +689,29 @@ -(void)drawSmallSquareButtonInFrame:(NSRect)frame { [NSGraphicsContext restoreGraphicsState]; - //Draw Background + //Draw Background if([self isEnabled]) { - if(([self showsStateBy] == 12 && [self highlightsBy] == 14) || ([self showsStateBy] == 12 && [self highlightsBy] == 12)) { - if([self state] == 1) { [[[[BGThemeManager keyedManager] themeForKey: self.themeKey] highlightComplexGradient] drawInBezierPath: path angle: 90]; - } else { - + } + else { [[[[BGThemeManager keyedManager] themeForKey: self.themeKey] normalComplexGradient] drawInBezierPath: path angle: 90]; } - } else { - + } + else { if([self isHighlighted]) { - [[[[BGThemeManager keyedManager] themeForKey: self.themeKey] pushedComplexGradient] drawInBezierPath: path angle: 90]; - } else { + } + else { [[[[BGThemeManager keyedManager] themeForKey: self.themeKey] normalComplexGradient] drawInBezierPath: path angle: 90]; } } - } else { + } + else { [[[[BGThemeManager keyedManager] themeForKey: self.themeKey] disabledNormalComplexGradient] drawInBezierPath: path angle: 90]; } From 1f233a27d9ee09bd2d3f311a02c721667898e66b Mon Sep 17 00:00:00 2001 From: CocoaBob Date: Thu, 3 May 2012 11:39:42 +0200 Subject: [PATCH 19/25] Removed .gitignore --- .gitignore | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 .gitignore diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 95cfe40..0000000 --- a/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -build -BGHUDAppKit.xcodeproj/*.mode1v3 -BGHUDAppKit.xcodeproj/*.pbxuser -BGHUDAppKit.xcodeproj/*.perspectivev3 - -.DS_Store -xcuserdata -.git \ No newline at end of file From 7d303b0a7e5f3a50fc3cc29a0081a0c6d261ea59 Mon Sep 17 00:00:00 2001 From: CocoaBob Date: Fri, 8 Jun 2012 11:31:39 +0200 Subject: [PATCH 20/25] Added release and debug settings. --- BGHUDAppKit.xcodeproj/project.pbxproj | 553 ++------------------------ 1 file changed, 33 insertions(+), 520 deletions(-) diff --git a/BGHUDAppKit.xcodeproj/project.pbxproj b/BGHUDAppKit.xcodeproj/project.pbxproj index be62d83..2cf855e 100755 --- a/BGHUDAppKit.xcodeproj/project.pbxproj +++ b/BGHUDAppKit.xcodeproj/project.pbxproj @@ -1006,23 +1006,24 @@ /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ - 3D9BABBF1166D18F008CEA8B /* Release_10.6_10.5_32_64_GC_embed */ = { + 5B9932FC14A8A9EF006DA8EE /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; GCC_ENABLE_OBJC_GC = supported; GCC_MODEL_TUNING = ""; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_VERSION = 4.2; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; LLVM_LTO = YES; - MACOSX_DEPLOYMENT_TARGET = 10.5; + MACOSX_DEPLOYMENT_TARGET = ""; + ONLY_ACTIVE_ARCH = NO; PREBINDING = NO; SDKROOT = macosx10.6; }; - name = Release_10.6_10.5_32_64_GC_embed; + name = Release; }; - 3D9BABC01166D18F008CEA8B /* Release_10.6_10.5_32_64_GC_embed */ = { + 5B9932FD14A8A9EF006DA8EE /* Release */ = { isa = XCBuildConfiguration; buildSettings = { DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; @@ -1034,9 +1035,9 @@ "-Wno-unknown-pragmas", ); }; - name = Release_10.6_10.5_32_64_GC_embed; + name = Release; }; - 3D9BABC11166D18F008CEA8B /* Release_10.6_10.5_32_64_GC_embed */ = { + 5B9932FE14A8A9EF006DA8EE /* Release */ = { isa = XCBuildConfiguration; buildSettings = { CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)/BGHUDAppKit.framework/Resources/"; @@ -1060,9 +1061,9 @@ PRODUCT_NAME = BGHUDAppKitPlugin; WRAPPER_EXTENSION = ibplugin; }; - name = Release_10.6_10.5_32_64_GC_embed; + name = Release; }; - 3D9BABC21166D18F008CEA8B /* Release_10.6_10.5_32_64_GC_embed */ = { + 5B9932FF14A8A9EF006DA8EE /* Release */ = { isa = XCBuildConfiguration; buildSettings = { DEBUG_INFORMATION_FORMAT = dwarf; @@ -1086,213 +1087,23 @@ SKIP_INSTALL = NO; STRIP_INSTALLED_PRODUCT = YES; }; - name = Release_10.6_10.5_32_64_GC_embed; + name = Release; }; - C056398008A954F8003078D8 /* Debug 10.5+ (32bit Plugin) */ = { + 5B99330014A8A9F7006DA8EE /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; - COPY_PHASE_STRIP = NO; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_VERSION = A; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_ENABLE_OBJC_GC = supported; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h"; - GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = NO; - GCC_TREAT_NONCONFORMANT_CODE_ERRORS_AS_WARNINGS = NO; - GCC_WARN_64_TO_32_BIT_CONVERSION = NO; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES; - GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; - GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; - GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = YES; - GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; - GCC_WARN_INHIBIT_ALL_WARNINGS = NO; - GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; - GCC_WARN_MISSING_PARENTHESES = NO; - GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO; - GCC_WARN_PEDANTIC = NO; - GCC_WARN_PROTOTYPE_CONVERSION = NO; - GCC_WARN_SIGN_COMPARE = NO; - GCC_WARN_UNKNOWN_PRAGMAS = NO; - GCC_WARN_UNUSED_FUNCTION = NO; - GCC_WARN_UNUSED_LABEL = NO; - GCC_WARN_UNUSED_PARAMETER = NO; - GCC_WARN_UNUSED_VALUE = NO; - INFOPLIST_FILE = "Framework/BGHUDAppKitFramework-Info.plist"; - INSTALL_PATH = "@executable_path/../Frameworks"; - OTHER_LDFLAGS = ( - "-seg1addr", - 0xb0440100, - ); - PRODUCT_NAME = BGHUDAppKit; - SKIP_INSTALL = NO; - }; - name = "Debug 10.5+ (32bit Plugin)"; - }; - C056398108A954F8003078D8 /* Release 10.5+ (32bit Plugin) */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; - DEBUG_INFORMATION_FORMAT = dwarf; - DEPLOYMENT_POSTPROCESSING = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_VERSION = A; - GCC_ENABLE_OBJC_GC = supported; - GCC_MODEL_TUNING = G5; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h"; - INFOPLIST_FILE = "Framework/BGHUDAppKitFramework-Info.plist"; - INSTALL_PATH = "@executable_path/../Frameworks"; - LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)"; - OTHER_LDFLAGS = ( - "-seg1addr", - 0xb0000000, - ); - PRODUCT_NAME = BGHUDAppKit; - SEPARATE_STRIP = YES; - SKIP_INSTALL = NO; - STRIP_INSTALLED_PRODUCT = YES; - }; - name = "Release 10.5+ (32bit Plugin)"; - }; - C056398408A954F8003078D8 /* Debug 10.5+ (32bit Plugin) */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)/BGHUDAppKit.framework/Resources/"; - COPY_PHASE_STRIP = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - $inherited, - $FRAMEWORK_SEARCH_PATHS_QUOTED_2, - $FRAMEWORK_SEARCH_PATHS_QUOTED_1, - ); - FRAMEWORK_SEARCH_PATHS_QUOTED_1 = "\"$(HOME)/Library/Frameworks/\""; - FRAMEWORK_SEARCH_PATHS_QUOTED_2 = "\"$(DEVELOPER_DIR)/Library/Frameworks\""; - FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(BUILD_DIR)/$(CONFIGURATION)\""; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_ENABLE_OBJC_GC = supported; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = Plugin/BGHUDAppKitPlugin_Prefix.pch; - INFOPLIST_FILE = Plugin/Info.plist; - PRODUCT_NAME = BGHUDAppKitPlugin; - WRAPPER_EXTENSION = ibplugin; - ZERO_LINK = YES; - }; - name = "Debug 10.5+ (32bit Plugin)"; - }; - C056398508A954F8003078D8 /* Release 10.5+ (32bit Plugin) */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)/BGHUDAppKit.framework/Resources/"; - CONFIGURATION_TEMP_DIR = "$(PROJECT_TEMP_DIR)/$(CONFIGURATION)"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - FRAMEWORK_SEARCH_PATHS = ( - "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - $inherited, - $FRAMEWORK_SEARCH_PATHS_QUOTED_2, - $FRAMEWORK_SEARCH_PATHS_QUOTED_1, - ); - FRAMEWORK_SEARCH_PATHS_QUOTED_1 = "\"$(HOME)/Library/Frameworks/\""; - FRAMEWORK_SEARCH_PATHS_QUOTED_2 = "\"$(DEVELOPER_DIR)/Library/Frameworks\""; - FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(BUILD_DIR)/$(CONFIGURATION)\""; - GCC_ENABLE_OBJC_GC = supported; - GCC_MODEL_TUNING = G5; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = Plugin/BGHUDAppKitPlugin_Prefix.pch; - INFOPLIST_FILE = Plugin/Info.plist; - INSTALL_PATH = "@loader_path/../Frameworks"; - PRODUCT_NAME = BGHUDAppKitPlugin; - WRAPPER_EXTENSION = ibplugin; - }; - name = "Release 10.5+ (32bit Plugin)"; - }; - C056398808A954F8003078D8 /* Debug 10.5+ (32bit Plugin) */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 0; - PRODUCT_NAME = All; - WARNING_CFLAGS = ( - "-Wmost", - "-Wno-four-char-constants", - "-Wno-unknown-pragmas", - ); - ZERO_LINK = YES; - }; - name = "Debug 10.5+ (32bit Plugin)"; - }; - C056398908A954F8003078D8 /* Release 10.5+ (32bit Plugin) */ = { - isa = XCBuildConfiguration; - buildSettings = { - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - GCC_MODEL_TUNING = G5; - PRODUCT_NAME = All; - WARNING_CFLAGS = ( - "-Wmost", - "-Wno-four-char-constants", - "-Wno-unknown-pragmas", - ); - }; - name = "Release 10.5+ (32bit Plugin)"; - }; - C056398C08A954F8003078D8 /* Debug 10.5+ (32bit Plugin) */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; - GCC_ENABLE_OBJC_GC = supported; - GCC_MODEL_TUNING = ""; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - PREBINDING = NO; - SDKROOT = macosx10.5; - }; - name = "Debug 10.5+ (32bit Plugin)"; - }; - C056398D08A954F8003078D8 /* Release 10.5+ (32bit Plugin) */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = ( - ppc, - i386, - ); GCC_ENABLE_OBJC_GC = supported; GCC_MODEL_TUNING = ""; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = ""; PREBINDING = NO; - SDKROOT = macosx10.5; + SDKROOT = macosx; }; - name = "Release 10.5+ (32bit Plugin)"; + name = Debug; }; - E70A5CFA13591F8800D21EAE /* Debug 10.6+ */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; - GCC_ENABLE_OBJC_GC = supported; - GCC_MODEL_TUNING = ""; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - PREBINDING = NO; - SDKROOT = macosx10.5; - }; - name = "Debug 10.6+"; - }; - E70A5CFB13591F8800D21EAE /* Debug 10.6+ */ = { + 5B99330114A8A9F7006DA8EE /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { COPY_PHASE_STRIP = NO; @@ -1308,9 +1119,9 @@ ); ZERO_LINK = YES; }; - name = "Debug 10.6+"; + name = Debug; }; - E70A5CFC13591F8800D21EAE /* Debug 10.6+ */ = { + 5B99330214A8A9F7006DA8EE /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; @@ -1338,9 +1149,9 @@ WRAPPER_EXTENSION = ibplugin; ZERO_LINK = YES; }; - name = "Debug 10.6+"; + name = Debug; }; - E70A5CFD13591F8800D21EAE /* Debug 10.6+ */ = { + 5B99330314A8A9F7006DA8EE /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; @@ -1385,285 +1196,7 @@ SDKROOT = macosx10.6; SKIP_INSTALL = NO; }; - name = "Debug 10.6+"; - }; - E70A5CFE13591F9300D21EAE /* Release 10.6+ */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = ( - ppc, - i386, - ); - GCC_ENABLE_OBJC_GC = supported; - GCC_MODEL_TUNING = ""; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - PREBINDING = NO; - SDKROOT = macosx10.5; - }; - name = "Release 10.6+"; - }; - E70A5CFF13591F9300D21EAE /* Release 10.6+ */ = { - isa = XCBuildConfiguration; - buildSettings = { - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - GCC_MODEL_TUNING = G5; - PRODUCT_NAME = All; - WARNING_CFLAGS = ( - "-Wmost", - "-Wno-four-char-constants", - "-Wno-unknown-pragmas", - ); - }; - name = "Release 10.6+"; - }; - E70A5D0013591F9300D21EAE /* Release 10.6+ */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)/BGHUDAppKit.framework/Resources/"; - CONFIGURATION_TEMP_DIR = "$(PROJECT_TEMP_DIR)/$(CONFIGURATION)"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - FRAMEWORK_SEARCH_PATHS = ( - "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - $inherited, - $FRAMEWORK_SEARCH_PATHS_QUOTED_2, - $FRAMEWORK_SEARCH_PATHS_QUOTED_1, - ); - FRAMEWORK_SEARCH_PATHS_QUOTED_1 = "\"$(HOME)/Library/Frameworks/\""; - FRAMEWORK_SEARCH_PATHS_QUOTED_2 = "\"$(DEVELOPER_DIR)/Library/Frameworks\""; - FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(BUILD_DIR)/$(CONFIGURATION)\""; - GCC_ENABLE_OBJC_GC = supported; - GCC_MODEL_TUNING = G5; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = Plugin/BGHUDAppKitPlugin_Prefix.pch; - INFOPLIST_FILE = Plugin/Info.plist; - INSTALL_PATH = "@loader_path/../Frameworks"; - PRODUCT_NAME = BGHUDAppKitPlugin; - SDKROOT = macosx10.6; - WRAPPER_EXTENSION = ibplugin; - }; - name = "Release 10.6+"; - }; - E70A5D0113591F9300D21EAE /* Release 10.6+ */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; - DEBUG_INFORMATION_FORMAT = dwarf; - DEPLOYMENT_POSTPROCESSING = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_VERSION = A; - GCC_ENABLE_OBJC_GC = supported; - GCC_MODEL_TUNING = G5; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h"; - INFOPLIST_FILE = "Framework/BGHUDAppKitFramework-Info.plist"; - INSTALL_PATH = "@executable_path/../Frameworks"; - LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)"; - OTHER_LDFLAGS = ( - "-seg1addr", - 0xb0000000, - ); - PRODUCT_NAME = BGHUDAppKit; - SDKROOT = macosx10.6; - SEPARATE_STRIP = YES; - SKIP_INSTALL = NO; - STRIP_INSTALLED_PRODUCT = YES; - }; - name = "Release 10.6+"; - }; - E70A5D091359208400D21EAE /* Debug 10.5+ (64bit Plugin) */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; - GCC_ENABLE_OBJC_GC = supported; - GCC_MODEL_TUNING = ""; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - PREBINDING = NO; - SDKROOT = macosx10.5; - }; - name = "Debug 10.5+ (64bit Plugin)"; - }; - E70A5D0A1359208400D21EAE /* Debug 10.5+ (64bit Plugin) */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 0; - PRODUCT_NAME = All; - WARNING_CFLAGS = ( - "-Wmost", - "-Wno-four-char-constants", - "-Wno-unknown-pragmas", - ); - ZERO_LINK = YES; - }; - name = "Debug 10.5+ (64bit Plugin)"; - }; - E70A5D0B1359208400D21EAE /* Debug 10.5+ (64bit Plugin) */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)/BGHUDAppKit.framework/Resources/"; - COPY_PHASE_STRIP = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - $inherited, - $FRAMEWORK_SEARCH_PATHS_QUOTED_2, - $FRAMEWORK_SEARCH_PATHS_QUOTED_1, - ); - FRAMEWORK_SEARCH_PATHS_QUOTED_1 = "\"$(HOME)/Library/Frameworks/\""; - FRAMEWORK_SEARCH_PATHS_QUOTED_2 = "\"$(DEVELOPER_DIR)/Library/Frameworks\""; - FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(BUILD_DIR)/$(CONFIGURATION)\""; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_ENABLE_OBJC_GC = supported; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = Plugin/BGHUDAppKitPlugin_Prefix.pch; - INFOPLIST_FILE = Plugin/Info.plist; - PRODUCT_NAME = BGHUDAppKitPlugin; - WRAPPER_EXTENSION = ibplugin; - ZERO_LINK = YES; - }; - name = "Debug 10.5+ (64bit Plugin)"; - }; - E70A5D0C1359208400D21EAE /* Debug 10.5+ (64bit Plugin) */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; - COPY_PHASE_STRIP = NO; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_VERSION = A; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_ENABLE_OBJC_GC = supported; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h"; - GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = NO; - GCC_TREAT_NONCONFORMANT_CODE_ERRORS_AS_WARNINGS = NO; - GCC_WARN_64_TO_32_BIT_CONVERSION = NO; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES; - GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; - GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; - GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = YES; - GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; - GCC_WARN_INHIBIT_ALL_WARNINGS = NO; - GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; - GCC_WARN_MISSING_PARENTHESES = NO; - GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO; - GCC_WARN_PEDANTIC = NO; - GCC_WARN_PROTOTYPE_CONVERSION = NO; - GCC_WARN_SIGN_COMPARE = NO; - GCC_WARN_UNKNOWN_PRAGMAS = NO; - GCC_WARN_UNUSED_FUNCTION = NO; - GCC_WARN_UNUSED_LABEL = NO; - GCC_WARN_UNUSED_PARAMETER = NO; - GCC_WARN_UNUSED_VALUE = NO; - INFOPLIST_FILE = "Framework/BGHUDAppKitFramework-Info.plist"; - INSTALL_PATH = "@executable_path/../Frameworks"; - OTHER_LDFLAGS = ( - "-seg1addr", - 0xb0440100, - ); - PRODUCT_NAME = BGHUDAppKit; - SKIP_INSTALL = NO; - }; - name = "Debug 10.5+ (64bit Plugin)"; - }; - E70A5D0D135920AC00D21EAE /* Release 10.5+ (64bit Plugin) */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = ( - ppc, - i386, - ); - GCC_ENABLE_OBJC_GC = supported; - GCC_MODEL_TUNING = ""; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - PREBINDING = NO; - SDKROOT = macosx10.5; - }; - name = "Release 10.5+ (64bit Plugin)"; - }; - E70A5D0E135920AC00D21EAE /* Release 10.5+ (64bit Plugin) */ = { - isa = XCBuildConfiguration; - buildSettings = { - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - GCC_MODEL_TUNING = G5; - PRODUCT_NAME = All; - WARNING_CFLAGS = ( - "-Wmost", - "-Wno-four-char-constants", - "-Wno-unknown-pragmas", - ); - }; - name = "Release 10.5+ (64bit Plugin)"; - }; - E70A5D0F135920AC00D21EAE /* Release 10.5+ (64bit Plugin) */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)/BGHUDAppKit.framework/Resources/"; - CONFIGURATION_TEMP_DIR = "$(PROJECT_TEMP_DIR)/$(CONFIGURATION)"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - FRAMEWORK_SEARCH_PATHS = ( - "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - $inherited, - $FRAMEWORK_SEARCH_PATHS_QUOTED_2, - $FRAMEWORK_SEARCH_PATHS_QUOTED_1, - ); - FRAMEWORK_SEARCH_PATHS_QUOTED_1 = "\"$(HOME)/Library/Frameworks/\""; - FRAMEWORK_SEARCH_PATHS_QUOTED_2 = "\"$(DEVELOPER_DIR)/Library/Frameworks\""; - FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(BUILD_DIR)/$(CONFIGURATION)\""; - GCC_ENABLE_OBJC_GC = supported; - GCC_MODEL_TUNING = G5; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = Plugin/BGHUDAppKitPlugin_Prefix.pch; - INFOPLIST_FILE = Plugin/Info.plist; - INSTALL_PATH = "@loader_path/../Frameworks"; - PRODUCT_NAME = BGHUDAppKitPlugin; - WRAPPER_EXTENSION = ibplugin; - }; - name = "Release 10.5+ (64bit Plugin)"; - }; - E70A5D10135920AC00D21EAE /* Release 10.5+ (64bit Plugin) */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; - DEBUG_INFORMATION_FORMAT = dwarf; - DEPLOYMENT_POSTPROCESSING = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - FRAMEWORK_VERSION = A; - GCC_ENABLE_OBJC_GC = supported; - GCC_MODEL_TUNING = G5; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h"; - INFOPLIST_FILE = "Framework/BGHUDAppKitFramework-Info.plist"; - INSTALL_PATH = "@executable_path/../Frameworks"; - LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)"; - OTHER_LDFLAGS = ( - "-seg1addr", - 0xb0000000, - ); - PRODUCT_NAME = BGHUDAppKit; - SEPARATE_STRIP = YES; - SKIP_INSTALL = NO; - STRIP_INSTALLED_PRODUCT = YES; - }; - name = "Release 10.5+ (64bit Plugin)"; + name = Debug; }; /* End XCBuildConfiguration section */ @@ -1671,58 +1204,38 @@ C056397F08A954F8003078D8 /* Build configuration list for PBXNativeTarget "BGHUDAppKit" */ = { isa = XCConfigurationList; buildConfigurations = ( - C056398008A954F8003078D8 /* Debug 10.5+ (32bit Plugin) */, - E70A5D0C1359208400D21EAE /* Debug 10.5+ (64bit Plugin) */, - E70A5CFD13591F8800D21EAE /* Debug 10.6+ */, - C056398108A954F8003078D8 /* Release 10.5+ (32bit Plugin) */, - E70A5D10135920AC00D21EAE /* Release 10.5+ (64bit Plugin) */, - E70A5D0113591F9300D21EAE /* Release 10.6+ */, - 3D9BABC21166D18F008CEA8B /* Release_10.6_10.5_32_64_GC_embed */, + 5B99330314A8A9F7006DA8EE /* Debug */, + 5B9932FF14A8A9EF006DA8EE /* Release */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = "Release 10.5+ (32bit Plugin)"; + defaultConfigurationName = Debug; }; C056398308A954F8003078D8 /* Build configuration list for PBXNativeTarget "BGHUDAppKitPlugin" */ = { isa = XCConfigurationList; buildConfigurations = ( - C056398408A954F8003078D8 /* Debug 10.5+ (32bit Plugin) */, - E70A5D0B1359208400D21EAE /* Debug 10.5+ (64bit Plugin) */, - E70A5CFC13591F8800D21EAE /* Debug 10.6+ */, - C056398508A954F8003078D8 /* Release 10.5+ (32bit Plugin) */, - E70A5D0F135920AC00D21EAE /* Release 10.5+ (64bit Plugin) */, - E70A5D0013591F9300D21EAE /* Release 10.6+ */, - 3D9BABC11166D18F008CEA8B /* Release_10.6_10.5_32_64_GC_embed */, + 5B99330214A8A9F7006DA8EE /* Debug */, + 5B9932FE14A8A9EF006DA8EE /* Release */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = "Release 10.5+ (32bit Plugin)"; + defaultConfigurationName = Debug; }; C056398708A954F8003078D8 /* Build configuration list for PBXAggregateTarget "All" */ = { isa = XCConfigurationList; buildConfigurations = ( - C056398808A954F8003078D8 /* Debug 10.5+ (32bit Plugin) */, - E70A5D0A1359208400D21EAE /* Debug 10.5+ (64bit Plugin) */, - E70A5CFB13591F8800D21EAE /* Debug 10.6+ */, - C056398908A954F8003078D8 /* Release 10.5+ (32bit Plugin) */, - E70A5D0E135920AC00D21EAE /* Release 10.5+ (64bit Plugin) */, - E70A5CFF13591F9300D21EAE /* Release 10.6+ */, - 3D9BABC01166D18F008CEA8B /* Release_10.6_10.5_32_64_GC_embed */, + 5B99330114A8A9F7006DA8EE /* Debug */, + 5B9932FD14A8A9EF006DA8EE /* Release */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = "Release 10.5+ (32bit Plugin)"; + defaultConfigurationName = Debug; }; C056398B08A954F8003078D8 /* Build configuration list for PBXProject "BGHUDAppKit" */ = { isa = XCConfigurationList; buildConfigurations = ( - C056398C08A954F8003078D8 /* Debug 10.5+ (32bit Plugin) */, - E70A5D091359208400D21EAE /* Debug 10.5+ (64bit Plugin) */, - E70A5CFA13591F8800D21EAE /* Debug 10.6+ */, - C056398D08A954F8003078D8 /* Release 10.5+ (32bit Plugin) */, - E70A5D0D135920AC00D21EAE /* Release 10.5+ (64bit Plugin) */, - E70A5CFE13591F9300D21EAE /* Release 10.6+ */, - 3D9BABBF1166D18F008CEA8B /* Release_10.6_10.5_32_64_GC_embed */, + 5B99330014A8A9F7006DA8EE /* Debug */, + 5B9932FC14A8A9EF006DA8EE /* Release */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = "Release 10.5+ (32bit Plugin)"; + defaultConfigurationName = Debug; }; /* End XCConfigurationList section */ }; From e8ceac0305781ed777f9d98ea3c40875df94d26c Mon Sep 17 00:00:00 2001 From: CocoaBob Date: Fri, 13 Jul 2012 16:04:27 +0200 Subject: [PATCH 21/25] Fixed the indeterminate progress indicator jumping problem. CGFloat step = (frame.size.height / 4)*4; --- Framework/BGHUDProgressIndicator.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Framework/BGHUDProgressIndicator.m b/Framework/BGHUDProgressIndicator.m index 2ea2067..766a128 100644 --- a/Framework/BGHUDProgressIndicator.m +++ b/Framework/BGHUDProgressIndicator.m @@ -111,7 +111,7 @@ - (void)_drawThemeBackground { if(progressPath) {[progressPath release];} progressPath = [[NSBezierPath alloc] init]; - CGFloat step = frame.size.height - 2; + CGFloat step = (frame.size.height / 4)*4; CGFloat double_step = step * 2; while(position.x <= (frame.origin.x + frame.size.width)) { [progressPath moveToPoint: NSMakePoint(position.x, position.y)]; From 0c8a6e645c1f63ac742a4f25d6b98219c9d64c36 Mon Sep 17 00:00:00 2001 From: CocoaBob Date: Mon, 23 Jul 2012 15:35:47 +0200 Subject: [PATCH 22/25] Added supports of spinning progress indicator. --- Framework/BGHUDProgressIndicator.m | 204 ++++++++++++++++++++++++++++- 1 file changed, 197 insertions(+), 7 deletions(-) diff --git a/Framework/BGHUDProgressIndicator.m b/Framework/BGHUDProgressIndicator.m index 766a128..ba826c0 100644 --- a/Framework/BGHUDProgressIndicator.m +++ b/Framework/BGHUDProgressIndicator.m @@ -36,6 +36,13 @@ #import +@interface BGHUDProgressIndicator() +NSTimer *spinningAnimationTimer; +int spinningAnimationIndex; +NSThread *spinningAnimationThread; +BOOL isAnimating; +@end + @implementation BGHUDProgressIndicator @synthesize themeKey; @@ -131,7 +138,6 @@ - (void)_drawThemeBackground { } - (void)_drawThemeProgressArea:(BOOL)flag { - NSRect frame = [self bounds]; //Adjust rect based on size @@ -152,10 +158,10 @@ - (void)_drawThemeProgressArea:(BOOL)flag { //Fill Background [[[[BGThemeManager keyedManager] themeForKey: self.themeKey] normalGradient] drawInRect: frame angle: 90]; - //Get the animation index (private) - int animationIndex = 0; - object_getInstanceVariable( self, "_animationIndex", (void **)&animationIndex ); - + //Get the animation index (private) + int animationIndex = 0; + object_getInstanceVariable( self, "_animationIndex", (void **)&animationIndex ); + //Create XFormation NSAffineTransform *trans = [NSAffineTransform transform]; [trans translateXBy:animationIndex - 16 yBy: 0]; @@ -171,9 +177,71 @@ - (void)_drawThemeProgressArea:(BOOL)flag { } } +#define NUM_FINS 12 + +- (void)drawSpinningStyleIndicator { + // Determine size based on current bounds + NSSize size = [self bounds].size; + float theMaxSize = MIN(size.width,size.height); + + [NSGraphicsContext saveGraphicsState]; + CGContextRef currentContext = (CGContextRef)[[NSGraphicsContext currentContext] graphicsPort]; + + // Move the CTM so 0,0 is at the center of our bounds + CGContextTranslateCTM(currentContext,[self bounds].size.width/2,[self bounds].size.height/2); + + NSColor *foreColor = [[[BGThemeManager keyedManager] themeForKey: self.themeKey] strokeColor]; + float alpha = [[[BGThemeManager keyedManager] themeForKey: self.themeKey] alphaValue]; + + if ([self isIndeterminate]) { + CGContextRotateCTM(currentContext, M_PI * 2.0f * spinningAnimationIndex / NUM_FINS); + + NSBezierPath *path = [[NSBezierPath alloc] init]; + float lineWidth = 0.0859375 * theMaxSize; // should be 2.75 for 32x32 + float lineStart = 0.234375 * theMaxSize; // should be 7.5 for 32x32 + float lineEnd = 0.421875 * theMaxSize; // should be 13.5 for 32x32 + [path setLineWidth:lineWidth]; + [path setLineCapStyle:NSRoundLineCapStyle]; + [path moveToPoint:NSMakePoint(0,lineStart)]; + [path lineToPoint:NSMakePoint(0,lineEnd)]; + + int i; + for (i = 0; i < NUM_FINS; i++) { + [[foreColor colorWithAlphaComponent:alpha] set]; + [path stroke]; + CGContextRotateCTM(currentContext, -M_PI * 2.0f/NUM_FINS); + alpha -= 1.0/NUM_FINS; + } + [path release]; + } + else { + float lineWidth = 1 + (0.01 * theMaxSize); + float circleRadius = (theMaxSize - lineWidth) / 2.1; + NSPoint circleCenter = NSMakePoint(0, 0); + [[foreColor colorWithAlphaComponent:alpha] set]; + NSBezierPath *path = [[NSBezierPath alloc] init]; + [path setLineWidth:lineWidth]; + [path appendBezierPathWithOvalInRect:NSMakeRect(-circleRadius, -circleRadius, circleRadius*2, circleRadius*2)]; + [path stroke]; + [path release]; + path = [[NSBezierPath alloc] init]; + [path appendBezierPathWithArcWithCenter:circleCenter radius:circleRadius startAngle:90 endAngle:90-(360*([self doubleValue]/[self maxValue])) clockwise:YES]; + [path lineToPoint:circleCenter] ; + [path fill]; + [path release]; + } + + [NSGraphicsContext restoreGraphicsState]; +} + - (void)drawRect:(NSRect)dirtyRect { - [self _drawThemeBackground]; - [self _drawThemeProgressArea:YES]; + if ([self style] == NSProgressIndicatorBarStyle) { + [self _drawThemeBackground]; + [self _drawThemeProgressArea:YES]; + } + else if ([self style] == NSProgressIndicatorSpinningStyle) { + [self drawSpinningStyleIndicator]; + } } #pragma mark - @@ -188,4 +256,126 @@ -(void)dealloc { #pragma mark - +- (void)updateFrame:(NSTimer *)timer; +{ + if(spinningAnimationIndex < NUM_FINS) { + spinningAnimationIndex++; + } + else { + spinningAnimationIndex = 0; + } + + if ([self usesThreadedAnimation]) { + // draw now instead of waiting for setNeedsDisplay (that's the whole reason + // we're animating from background thread) + [self setNeedsDisplay:YES]; + [self display]; + } + else { + [self setNeedsDisplay:YES]; + } +} + +- (void)animateInBackgroundThread +{ + NSAutoreleasePool *animationPool = [[NSAutoreleasePool alloc] init]; + + // Set up the animation speed to subtly change with size > 32. + // int animationDelay = 38000 + (2000 * ([self bounds].size.height / 32)); + + // Set the rev per minute here + int omega = 100; // RPM + int animationDelay = 60*1000000/omega/NUM_FINS; + int poolFlushCounter = 0; + + do { + [self updateFrame:nil]; + usleep(animationDelay); + poolFlushCounter++; + if (poolFlushCounter > 256) { + [animationPool drain]; + animationPool = [[NSAutoreleasePool alloc] init]; + poolFlushCounter = 0; + } + } while (![[NSThread currentThread] isCancelled]); + + [animationPool release]; +} + +- (void)actuallyStopAnimation +{ + if (spinningAnimationThread) { + // we were using threaded animation + [spinningAnimationThread cancel]; + if (![spinningAnimationThread isFinished]) { + [[NSRunLoop currentRunLoop] runMode:NSModalPanelRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.05]]; + } + [spinningAnimationThread release]; + spinningAnimationThread = nil; + } + else if (spinningAnimationTimer) { + // we were using timer-based animation + [spinningAnimationTimer invalidate]; + [spinningAnimationTimer release]; + spinningAnimationTimer = nil; + } + [self setNeedsDisplay:YES]; +} + +- (void)actuallyStartAnimation +{ + // Just to be safe kill any existing timer. + [self actuallyStopAnimation]; + + if ([self window]) { + // Why animate if not visible? viewDidMoveToWindow will re-call this method when needed. + if ([self usesThreadedAnimation]) { + spinningAnimationThread = [[NSThread alloc] initWithTarget:self selector:@selector(animateInBackgroundThread) object:nil]; + [spinningAnimationThread start]; + } + else { + spinningAnimationTimer = [[NSTimer timerWithTimeInterval:(NSTimeInterval)0.05 + target:self + selector:@selector(updateFrame:) + userInfo:nil + repeats:YES] retain]; + + [[NSRunLoop currentRunLoop] addTimer:spinningAnimationTimer forMode:NSRunLoopCommonModes]; + [[NSRunLoop currentRunLoop] addTimer:spinningAnimationTimer forMode:NSDefaultRunLoopMode]; + [[NSRunLoop currentRunLoop] addTimer:spinningAnimationTimer forMode:NSEventTrackingRunLoopMode]; + } + } +} + +- (void)startAnimation:(id)sender +{ + if ([self style] == NSProgressIndicatorSpinningStyle) { + if (![self isIndeterminate]) return; + if (isAnimating) return; + + if (![self isDisplayedWhenStopped]) + [self setHidden:NO]; + + [self actuallyStartAnimation]; + isAnimating = YES; + } + else { + [super startAnimation:sender]; + } +} + +- (void)stopAnimation:(id)sender +{ + if ([self style] == NSProgressIndicatorSpinningStyle) { + [self actuallyStopAnimation]; + isAnimating = NO; + + if (![self isDisplayedWhenStopped]) + [self setHidden:YES]; + } + else { + [super startAnimation:sender]; + } +} + @end From 02e8f58f00472831d2015ece5c0c34fc2921b019 Mon Sep 17 00:00:00 2001 From: CocoaBob Date: Tue, 31 Jul 2012 16:17:29 +0200 Subject: [PATCH 23/25] Improved syntax for LLVM compiler. --- Framework/BGHUDProgressIndicator.h | 6 +++++- Framework/BGHUDProgressIndicator.m | 7 ------- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/Framework/BGHUDProgressIndicator.h b/Framework/BGHUDProgressIndicator.h index 15a75d2..314ac7a 100644 --- a/Framework/BGHUDProgressIndicator.h +++ b/Framework/BGHUDProgressIndicator.h @@ -36,9 +36,13 @@ #import "BGThemeManager.h" @interface BGHUDProgressIndicator : NSProgressIndicator { - NSBezierPath *progressPath; NSString *themeKey; +@private + NSTimer *spinningAnimationTimer; + int spinningAnimationIndex; + NSThread *spinningAnimationThread; + BOOL isAnimating; } @property (retain) NSString *themeKey; diff --git a/Framework/BGHUDProgressIndicator.m b/Framework/BGHUDProgressIndicator.m index ba826c0..abcd7fc 100644 --- a/Framework/BGHUDProgressIndicator.m +++ b/Framework/BGHUDProgressIndicator.m @@ -36,13 +36,6 @@ #import -@interface BGHUDProgressIndicator() -NSTimer *spinningAnimationTimer; -int spinningAnimationIndex; -NSThread *spinningAnimationThread; -BOOL isAnimating; -@end - @implementation BGHUDProgressIndicator @synthesize themeKey; From a653312e45951d6618ed0472d643692db4f57169 Mon Sep 17 00:00:00 2001 From: CocoaBob Date: Wed, 8 Aug 2012 15:21:07 +0200 Subject: [PATCH 24/25] Changed the way to declare variables to avoid LLVM compile errors. --- Framework/BGHUDProgressIndicator.h | 6 +++++- Framework/BGHUDProgressIndicator.m | 7 ------- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/Framework/BGHUDProgressIndicator.h b/Framework/BGHUDProgressIndicator.h index 15a75d2..314ac7a 100644 --- a/Framework/BGHUDProgressIndicator.h +++ b/Framework/BGHUDProgressIndicator.h @@ -36,9 +36,13 @@ #import "BGThemeManager.h" @interface BGHUDProgressIndicator : NSProgressIndicator { - NSBezierPath *progressPath; NSString *themeKey; +@private + NSTimer *spinningAnimationTimer; + int spinningAnimationIndex; + NSThread *spinningAnimationThread; + BOOL isAnimating; } @property (retain) NSString *themeKey; diff --git a/Framework/BGHUDProgressIndicator.m b/Framework/BGHUDProgressIndicator.m index ba826c0..abcd7fc 100644 --- a/Framework/BGHUDProgressIndicator.m +++ b/Framework/BGHUDProgressIndicator.m @@ -36,13 +36,6 @@ #import -@interface BGHUDProgressIndicator() -NSTimer *spinningAnimationTimer; -int spinningAnimationIndex; -NSThread *spinningAnimationThread; -BOOL isAnimating; -@end - @implementation BGHUDProgressIndicator @synthesize themeKey; From 21b5c8625abc0e7971362a270cde103501798d4f Mon Sep 17 00:00:00 2001 From: CocoaBob Date: Tue, 14 Aug 2012 11:40:15 +0200 Subject: [PATCH 25/25] Fixed the progress indicator behavior with OS X 10.7 or higher SDK. --- Framework/BGHUDProgressIndicator.m | 1 + 1 file changed, 1 insertion(+) diff --git a/Framework/BGHUDProgressIndicator.m b/Framework/BGHUDProgressIndicator.m index abcd7fc..dab5b47 100644 --- a/Framework/BGHUDProgressIndicator.m +++ b/Framework/BGHUDProgressIndicator.m @@ -154,6 +154,7 @@ - (void)_drawThemeProgressArea:(BOOL)flag { //Get the animation index (private) int animationIndex = 0; object_getInstanceVariable( self, "_animationIndex", (void **)&animationIndex ); + animationIndex %= 32; //Create XFormation NSAffineTransform *trans = [NSAffineTransform transform];