diff --git a/AppKit/CPCollectionView.j b/AppKit/CPCollectionView.j index 51c9f8b3f..79c1ec7e2 100644 --- a/AppKit/CPCollectionView.j +++ b/AppKit/CPCollectionView.j @@ -20,6 +20,8 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#import "../Foundation/Ref.h" + @import @import @import @@ -67,6 +69,8 @@ @return an array of drag types (CPString) */ +var HORIZONTAL_MARGIN = 2; + @implementation CPCollectionView : CPView { CPArray _content; @@ -103,6 +107,17 @@ id _delegate; CPEvent _mouseDownEvent; + + BOOL _needsMinMaxItemSizeUpdate; + CGSize _storedFrameSize; + + BOOL _uniformSubviewsResizing @accessors(property=uniformSubviewsResizing); + BOOL _lockResizing; + + CPInteger _currentDropIndex; + CPDragOperation _currentDragOperation; + + _CPCollectionViewDropIndicator _dropView; } - (id)initWithFrame:(CGRect)aFrame @@ -111,28 +126,52 @@ if (self) { - _items = []; - _content = []; + _maxNumberOfRows = 0; + _maxNumberOfColumns = 0; - _cachedItems = []; - - _itemSize = CGSizeMakeZero(); _minItemSize = CGSizeMakeZero(); _maxItemSize = CGSizeMakeZero(); [self setBackgroundColors:nil]; _verticalMargin = 5.0; - _tileWidth = -1.0; - - _selectionIndexes = [CPIndexSet indexSet]; - _allowsEmptySelection = YES; _isSelectable = YES; + _allowsEmptySelection = YES; + + [self _init]; } return self; } +- (void)_init +{ + _content = []; + + _items = []; + _cachedItems = []; + + _numberOfColumns = CPNotFound; + _numberOfRows = CPNotFound; + + _itemSize = CGSizeMakeZero(); + + _selectionIndexes = [CPIndexSet indexSet]; + + _storedFrameSize = CGSizeMakeZero(); + + _needsMinMaxItemSizeUpdate = YES; + _uniformSubviewsResizing = NO; + _lockResizing = NO; + + _currentDropIndex = -1; + _currentDragOperation = CPDragOperationNone; + _dropView = nil; + + [self setAutoresizesSubviews:NO]; + [self setAutoresizingMask:0]; +} + /*! Sets the item prototype to \c anItem @@ -187,7 +226,7 @@ _itemForDragging = nil; _itemPrototype = anItem; - [self reloadContent]; + [self reloadContentCachingRemovedItems:NO]; } /*! @@ -210,13 +249,7 @@ item = _cachedItems.pop(); else - { - if (!_itemData) - if (_itemPrototype) - _itemData = [CPKeyedArchiver archivedDataWithRootObject:_itemPrototype]; - - item = [CPKeyedUnarchiver unarchiveObjectWithData:_itemData]; - } + item = [_itemPrototype copy]; [item setRepresentedObject:anObject]; [[item view] setFrameSize:_itemSize]; @@ -382,8 +415,13 @@ return [_selectionIndexes copy]; } -/* @ignore */ - (void)reloadContent +{ + [self reloadContentCachingRemovedItems:YES]; +} + +/* @ignore */ +- (void)reloadContentCachingRemovedItems:(BOOL)shouldCache { // Remove current views var count = _items.length; @@ -393,7 +431,8 @@ [[_items[count] view] removeFromSuperview]; [_items[count] setSelected:NO]; - _cachedItems.push(_items[count]); + if (shouldCache) + _cachedItems.push(_items[count]); } _items = []; @@ -417,91 +456,159 @@ while ((index = [_selectionIndexes indexGreaterThanIndex:index]) != CPNotFound && index < count) [_items[index] setSelected:YES]; - [self tile]; + [self tileIfNeeded:NO]; } -/* @ignore */ -- (void)tile +- (void)resizeSubviewsWithOldSize:(CPSize)oldBoundsSize { - var width = CGRectGetWidth([self bounds]); + // Desactivate subviews autoresizing +} - if (width == _tileWidth) +- (void)resizeWithOldSuperviewSize:(CPSize)oldBoundsSize +{ + if (_lockResizing) return; - // We try to fit as many views per row as possible. Any remaining space is then - // either proportioned out to the views (if their minSize != maxSize) or used as - // margin - var itemSize = CGSizeMakeCopy(_minItemSize); + _lockResizing = YES; - _numberOfColumns = MAX(1.0, FLOOR(width / itemSize.width)); + [self tile]; - if (_maxNumberOfColumns > 0) - _numberOfColumns = MIN(_maxNumberOfColumns, _numberOfColumns); - - var remaining = width - _numberOfColumns * itemSize.width, - itemsNeedSizeUpdate = NO; - - if (remaining > 0 && itemSize.width < _maxItemSize.width) - itemSize.width = MIN(_maxItemSize.width, itemSize.width + FLOOR(remaining / _numberOfColumns)); - - // When we ONE column and a non-integral width, the FLOORing above can cause the item width to be smaller than the total width. - if (_maxNumberOfColumns == 1 && itemSize.width < _maxItemSize.width && itemSize.width < width) - itemSize.width = MIN(_maxItemSize.width, width); - - if (!CGSizeEqualToSize(_itemSize, itemSize)) - { - _itemSize = itemSize; - itemsNeedSizeUpdate = YES; - } - - var index = 0, - count = _items.length; - - if (_maxNumberOfColumns > 0 && _maxNumberOfRows > 0) - count = MIN(count, _maxNumberOfColumns * _maxNumberOfRows); - - _numberOfRows = CEIL(count / _numberOfColumns); - - _horizontalMargin = FLOOR((width - _numberOfColumns * itemSize.width) / (_numberOfColumns + 1)); - - var x = _horizontalMargin, - y = -itemSize.height; - - for (; index < count; ++index) - { - if (index % _numberOfColumns == 0) - { - x = _horizontalMargin; - y += _verticalMargin + itemSize.height; - } - - var view = [_items[index] view]; - - [view setFrameOrigin:CGPointMake(x, y)]; - - if (itemsNeedSizeUpdate) - [view setFrameSize:_itemSize]; - - x += itemSize.width + _horizontalMargin; - } - - var superview = [self superview], - proposedHeight = y + itemSize.height + _verticalMargin; - - if ([superview isKindOfClass:[CPClipView class]]) - { - var superviewSize = [superview bounds].size; - proposedHeight = MAX(superviewSize.height, proposedHeight); - } - - _tileWidth = width; - [self setFrameSize:CGSizeMake(width, proposedHeight)]; - _tileWidth = -1.0; + _lockResizing = NO; } -- (void)resizeSubviewsWithOldSize:(CGSize)aSize +- (void)tile { - [self tile]; + [self tileIfNeeded:!_uniformSubviewsResizing]; +} + +- (void)tileIfNeeded:(BOOL)lazyFlag +{ + var frameSize = [[self superview] frameSize], + count = _items.length, + oldNumberOfColumns = _numberOfColumns, + oldNumberOfRows = _numberOfRows, + oldItemSize = _itemSize, + storedFrameSize = _storedFrameSize; + + [self _updateMinMaxItemSizeIfNeeded]; + + [self _computeGridWithSize:frameSize count:AT_REF(count)]; + + //CPLog.debug("frameSize="+CPStringFromSize(frameSize) + "itemSize="+CPStringFromSize(itemSize) + " ncols=" + colsRowsCount[0] +" nrows="+ colsRowsCount[1]+" displayCount="+ colsRowsCount[2]); + + [self setFrameSize:_storedFrameSize]; + + //CPLog.debug("OLD " + oldNumberOfColumns + " NEW " + _numberOfColumns); + if (!lazyFlag || + _numberOfColumns !== oldNumberOfColumns || + _numberOfRows !== oldNumberOfRows || + !CGSizeEqualToSize(_itemSize, oldItemSize)) + + [self displayItems:_items frameSize:_storedFrameSize itemSize:_itemSize columns:_numberOfColumns rows:_numberOfRows count:count]; +} + +- (void)_computeGridWithSize:(CGSize)aSuperviewSize count:(Function)countRef +{ + var width = aSuperviewSize.width, + height = aSuperviewSize.height, + itemSize = CGSizeMakeCopy(_minItemSize), + maxItemSizeWidth = _maxItemSize.width, + maxItemSizeHeight = _maxItemSize.height, + itemsCount = [_items count], + numberOfRows, + numberOfColumns; + + numberOfColumns = FLOOR(width / itemSize.width); + + if (maxItemSizeWidth == 0) + numberOfColumns = MIN(numberOfColumns, _maxNumberOfColumns); + + if (_maxNumberOfColumns > 0) + numberOfColumns = MIN(MIN(_maxNumberOfColumns, itemsCount), numberOfColumns); + + numberOfColumns = MAX(1.0, numberOfColumns); + + itemSize.width = FLOOR(width / numberOfColumns); + + if (maxItemSizeWidth > 0) + { + itemSize.width = MIN(maxItemSizeWidth, itemSize.width); + + if (numberOfColumns == 1) + itemSize.width = MIN(maxItemSizeWidth, width); + } + + numberOfRows = MAX(1.0 , MIN(CEIL(itemsCount / numberOfColumns), _maxNumberOfRows)); + + height = MAX(height, numberOfRows * (_minItemSize.height + _verticalMargin)); + + var itemSizeHeight = FLOOR(height / numberOfRows); + + if (maxItemSizeHeight > 0) + itemSizeHeight = MIN(itemSizeHeight, maxItemSizeHeight); + + _itemSize = CGSizeMake(MAX(_minItemSize.width, itemSize.width), MAX(_minItemSize.height, itemSizeHeight)); + _storedFrameSize = CGSizeMake(MAX(width, _minItemSize.width), height); + _numberOfColumns = numberOfColumns; + _numberOfRows = numberOfRows; + countRef(MIN(itemsCount, numberOfColumns * numberOfRows)); +} + +- (void)displayItems:(CPArray)displayItems frameSize:(CGSize)aFrameSize itemSize:(CGSize)anItemSize columns:(CPInteger)numberOfColumns rows:(CPInteger)numberOfRows count:(CPInteger)displayCount +{ +// CPLog.debug("DISPLAY ITEMS " + numberOfColumns + " " + numberOfRows); + + _horizontalMargin = _uniformSubviewsResizing ? FLOOR((aFrameSize.width - numberOfColumns * anItemSize.width) / (numberOfColumns + 1)) : HORIZONTAL_MARGIN; + + var x = _horizontalMargin, + y = -anItemSize.height; + + [displayItems enumerateObjectsUsingBlock:function(item, idx, stop) + { + var view = [item view]; + + if (idx >= displayCount) + { + [view setFrameOrigin:CGPointMake(-anItemSize.width, -anItemSize.height)]; + return; + } + + if (idx % numberOfColumns == 0) + { + x = _horizontalMargin; + y += _verticalMargin + anItemSize.height; + } + + [view setFrameOrigin:CGPointMake(x, y)]; + [view setFrameSize:anItemSize]; + + x += anItemSize.width + _horizontalMargin; + }]; +} + +- (void)_updateMinMaxItemSizeIfNeeded +{ + if (!_needsMinMaxItemSizeUpdate) + return; + + var prototypeView; + + if (_itemPrototype && (prototypeView = [_itemPrototype view])) + { + if (_minItemSize.width == 0) + _minItemSize.width = [prototypeView frameSize].width; + + if (_minItemSize.height == 0) + _minItemSize.height = [prototypeView frameSize].height; + + if (_maxItemSize.height == 0 && !([prototypeView autoresizingMask] & CPViewHeightSizable)) + _maxItemSize.height = [prototypeView frameSize].height; + + if (_maxItemSize.width == 0 && !([prototypeView autoresizingMask] & CPViewWidthSizable)) + _maxItemSize.width = [prototypeView frameSize].width; + + _needsMinMaxItemSizeUpdate = NO; + } } // Laying Out the Collection View @@ -574,11 +681,15 @@ { if (aSize === nil || aSize === undefined) [CPException raise:CPInvalidArgumentException reason:"Invalid value provided for minimum size"]; + if (CGSizeEqualToSize(_minItemSize, aSize)) return; _minItemSize = CGSizeMakeCopy(aSize); + if (CGSizeEqualToSize(_minItemSize, CGSizeMakeZero())) + _needsMinMaxItemSizeUpdate = YES; + [self tile]; } @@ -601,6 +712,9 @@ _maxItemSize = CGSizeMakeCopy(aSize); +// if (_maxItemSize.width == 0 || _maxItemSize.height == 0) +// _needsMinMaxItemSizeUpdate = YES; + [self tile]; } @@ -620,7 +734,7 @@ _backgroundColors = backgroundColors; if (!_backgroundColors) - _backgroundColors = [CPColor whiteColor]; + _backgroundColors = [[CPColor whiteColor]]; if ([_backgroundColors count] === 1) [self setBackgroundColor:_backgroundColors[0]]; @@ -692,65 +806,6 @@ [self setSelectionIndexes:[CPIndexSet indexSet]]; } -- (void)mouseDragged:(CPEvent)anEvent -{ - // Don't crash if we never registered the intial click. - if (!_mouseDownEvent) - return; - - var locationInWindow = [anEvent locationInWindow], - mouseDownLocationInWindow = [_mouseDownEvent locationInWindow]; - - // FIXME: This is because Safari's drag hysteresis is 3px x 3px - if ((ABS(locationInWindow.x - mouseDownLocationInWindow.x) < 3) && - (ABS(locationInWindow.y - mouseDownLocationInWindow.y) < 3)) - return; - - if (![_delegate respondsToSelector:@selector(collectionView:dragTypesForItemsAtIndexes:)]) - return; - - // If we don't have any selected items, we've clicked away, and thus the drag is meaningless. - if (![_selectionIndexes count]) - return; - - if ([_delegate respondsToSelector:@selector(collectionView:canDragItemsAtIndexes:withEvent:)] && - ![_delegate collectionView:self canDragItemsAtIndexes:_selectionIndexes withEvent:_mouseDownEvent]) - return; - - // Set up the pasteboard - var dragTypes = [_delegate collectionView:self dragTypesForItemsAtIndexes:_selectionIndexes]; - - [[CPPasteboard pasteboardWithName:CPDragPboard] declareTypes:dragTypes owner:self]; - - if (!_itemForDragging) - _itemForDragging = [self newItemForRepresentedObject:_content[[_selectionIndexes firstIndex]]]; - else - [_itemForDragging setRepresentedObject:_content[[_selectionIndexes firstIndex]]]; - - var view = [_itemForDragging view]; - - [view setFrameSize:_itemSize]; - [view setAlphaValue:0.7]; - - [self dragView:view - at:[[_items[[_selectionIndexes firstIndex]] view] frame].origin - offset:CGSizeMakeZero() - event:_mouseDownEvent - pasteboard:nil - source:self - slideBack:YES]; -} - -/*! - Places the selected items on the specified pasteboard. The items are requested from the collection's delegate. - @param aPasteboard the pasteboard to put the items on - @param aType the format the pasteboard data -*/ -- (void)pasteboard:(CPPasteboard)aPasteboard provideDataForType:(CPString)aType -{ - [aPasteboard setData:[_delegate collectionView:self dataForItemsAtIndexes:_selectionIndexes forType:aType] forType:aType]; -} - // Cappuccino Additions /*! @@ -768,6 +823,13 @@ [self tile]; } +- (void)setUniformSubviewsResizing:(float)flag +{ + _uniformSubviewsResizing = flag; + [self tileIfNeeded:NO]; +} + + /*! Gets the collection view's current vertical spacing between elements. */ @@ -810,10 +872,17 @@ - (int)_indexAtPoint:(CGPoint)thePoint { - var row = FLOOR(thePoint.y / (_itemSize.height + _verticalMargin)), - column = FLOOR(thePoint.x / (_itemSize.width + _horizontalMargin)); + var column = FLOOR(thePoint.x / (_itemSize.width + _horizontalMargin)); - return row * _numberOfColumns + column; + if (column < _numberOfColumns) + { + var row = FLOOR(thePoint.y / (_itemSize.height + _verticalMargin)); + + if (row < _numberOfRows) + return (row * _numberOfColumns + column); + } + + return CPNotFound; } - (CPCollectionViewItem)itemAtIndex:(unsigned)anIndex @@ -844,6 +913,284 @@ @end +@implementation CPCollectionView (DragAndDrop) +/* + TODO: dropOperation is not supported yet. The visible drop operation is like CPCollectionViewDropBefore. +*/ + +/*! + Places the selected items on the specified pasteboard. The items are requested from the collection's delegate. + @param aPasteboard the pasteboard to put the items on + @param aType the format the pasteboard data +*/ +- (void)pasteboard:(CPPasteboard)aPasteboard provideDataForType:(CPString)aType +{ + [aPasteboard setData:[_delegate collectionView:self dataForItemsAtIndexes:_selectionIndexes forType:aType] forType:aType]; +} + +- (void)mouseDragged:(CPEvent)anEvent +{ + // Don't crash if we never registered the intial click. + if (!_mouseDownEvent) + return; + + // Create and position the drop indicator view. + if (!_dropView) + _dropView = [[_CPCollectionViewDropIndicator alloc] initWithFrame:CGRectMake(-8, -8, 0, 0)]; + + [_dropView setFrameSize:CGSizeMake(10, _itemSize.height + _verticalMargin)]; + [self addSubview:_dropView]; + + var locationInWindow = [anEvent locationInWindow], + mouseDownLocationInWindow = [_mouseDownEvent locationInWindow]; + + // FIXME: This is because Safari's drag hysteresis is 3px x 3px + if ((ABS(locationInWindow.x - mouseDownLocationInWindow.x) < 3) && + (ABS(locationInWindow.y - mouseDownLocationInWindow.y) < 3)) + return; + + if (![_delegate respondsToSelector:@selector(collectionView:dragTypesForItemsAtIndexes:)]) + return; + + // If we don't have any selected items, we've clicked away, and thus the drag is meaningless. + if (![_selectionIndexes count]) + return; + + if ([_delegate respondsToSelector:@selector(collectionView:canDragItemsAtIndexes:withEvent:)] && + ![_delegate collectionView:self canDragItemsAtIndexes:_selectionIndexes withEvent:_mouseDownEvent]) + return; + + // Set up the pasteboard + var dragTypes = [_delegate collectionView:self dragTypesForItemsAtIndexes:_selectionIndexes]; + + [[CPPasteboard pasteboardWithName:CPDragPboard] declareTypes:dragTypes owner:self]; + + var dragImageOffset = CGSizeMakeZero(), + view = [self _draggingViewForItemsAtIndexes:_selectionIndexes withEvent:_mouseDownEvent offset:dragImageOffset]; + + [view setFrameSize:_itemSize]; + [view setAlphaValue:0.7]; + + var dragLocation = [self convertPoint:locationInWindow fromView:nil], + dragPoint = CGPointMake(dragLocation.x - _itemSize.width / 2 , dragLocation.y - _itemSize.height / 2); + + [self dragView:view + at:dragPoint + offset:dragImageOffset + event:_mouseDownEvent + pasteboard:nil + source:self + slideBack:YES]; +} + +- (CPView)_draggingViewForItemsAtIndexes:(CPIndexSet)indexes withEvent:(CPEvent)anEvent offset:(CGPoint)offset +{ + if ([_delegate respondsToSelector:@selector(collectionView:draggingViewForItemsAtIndexes:withEvent:offset:)]) + return [_delegate collectionView:self draggingViewForItemsAtIndexes:indexes withEvent:anEvent offset:offset]; + + return [self draggingViewForItemsAtIndexes:indexes withEvent:anEvent offset:offset]; +} + +- (CPView)draggingViewForItemsAtIndexes:(CPIndexSet)indexes withEvent:(CPEvent)event offset:(CGPoint)dragImageOffset +{ + var idx = _content[[indexes firstIndex]]; + + if (!_itemForDragging) + _itemForDragging = [self newItemForRepresentedObject:idx]; + else + [_itemForDragging setRepresentedObject:idx]; + + return [_itemForDragging view]; +} + +- (BOOL)_canDragItemsAtIndexes:(CPIndexSet)indexes withEvent:(CPEvent)anEvent +{ + if ([self respondsToSelector:@selector(collectionView:canDragItemsAtIndexes:withEvent:)]) + return [_delegate collectionView:self canDragItemsAtIndexes:indexes withEvent:anEvent]; + + return YES; +} + +- (CPDragOperation)draggingEntered:(id)draggingInfo +{ + var dropIndex = -1, + dropIndexRef = AT_REF(dropIndex); + + var dragOp = [self _validateDragWithInfo:draggingInfo dropIndex:dropIndexRef dropOperation:1]; + + dropIndex = dropIndexRef(); + + [self _updateDragAndDropStateWithDraggingInfo:draggingInfo newDragOperation:dragOp newDropIndex:dropIndex newDropOperation:1]; + + return _currentDragOperation; +} + +- (CPDragOperation)draggingUpdated:(id)draggingInfo +{ + if (![self _dropIndexDidChange:draggingInfo]) + return _currentDragOperation; + + var dropIndex, + dropIndexRef = AT_REF(dropIndex); + + var dragOperation = [self _validateDragWithInfo:draggingInfo dropIndex:dropIndexRef dropOperation:1]; + + dropIndex = dropIndexRef(); + + [self _updateDragAndDropStateWithDraggingInfo:draggingInfo newDragOperation:dragOperation newDropIndex:dropIndex newDropOperation:1]; + + return dragOperation; +} + +- (CPDragOperation)_validateDragWithInfo:(id)draggingInfo dropIndex:(Function)dropIndexRef dropOperation:(int)dropOperation +{ + var result = CPDragOperationMove, + dropIndex = [self _dropIndexForDraggingInfo:draggingInfo proposedDropOperation:dropOperation]; + + if ([_delegate respondsToSelector:@selector(collectionView:validateDrop:proposedIndex:dropOperation:)]) + { + var dropIndexRef2 = AT_REF(dropIndex); + + result = [_delegate collectionView:self validateDrop:draggingInfo proposedIndex:dropIndexRef2 dropOperation:dropOperation]; + + if (result !== CPDragOperationNone) + { + dropIndex = dropIndexRef2(); + } + } + + dropIndexRef(dropIndex); + + return result; +} + +- (void)draggingExited:(id)draggingInfo +{ + [self _updateDragAndDropStateWithDraggingInfo:draggingInfo newDragOperation:0 newDropIndex:-1 newDropOperation:1]; +} + +- (void)draggingEnded:(id)draggingInfo +{ + [self _updateDragAndDropStateWithDraggingInfo:draggingInfo newDragOperation:0 newDropIndex:-1 newDropOperation:1]; +} + +/* +Not supported. Use -collectionView:dataForItemsAtIndexes:fortype: +- (BOOL)_writeItemsAtIndexes:(CPIndexSet)indexes toPasteboard:(CPPasteboard)pboard +{ + if ([self respondsToSelector:@selector(collectionView:writeItemsAtIndexes:toPasteboard:)]) + return [_delegate collectionView:self writeItemsAtIndexes:indexes toPasteboard:pboard]; + + return NO; +} +*/ + +- (BOOL)performDragOperation:(id)draggingInfo +{ + var result = NO; + + if (_currentDragOperation && _currentDropIndex !== -1) + result = [_delegate collectionView:self acceptDrop:draggingInfo index:_currentDropIndex dropOperation:1]; + + [self draggingEnded:draggingInfo]; // Is this correct ? + + return result; +} + +- (void)_updateDragAndDropStateWithDraggingInfo:(id)draggingInfo newDragOperation:(CPDragOperation)dragOperation newDropIndex:(CPInteger)dropIndex newDropOperation:(CPInteger)dropOperation +{ + _currentDropIndex = dropIndex; + _currentDragOperation = dragOperation; + + var frameOrigin, + dropviewFrameWidth = CGRectGetWidth([_dropView frame]); + + if (_currentDropIndex == -1 || _currentDragOperation == CPDragOperationNone) + frameOrigin = CGPointMake(-dropviewFrameWidth, 0); + else + { + var offset; + + if ((_currentDropIndex % _numberOfColumns) !== 0 || _currentDropIndex == [_items count]) + { + dropIndex = _currentDropIndex - 1; + offset = (_horizontalMargin - dropviewFrameWidth) / 2; + } + else + { + offset = - _itemSize.width - dropviewFrameWidth - (_horizontalMargin - dropviewFrameWidth) / 2; + } + + var rect = [self frameForItemAtIndex:dropIndex]; + + frameOrigin = CGPointMake(CGRectGetMaxX(rect) + offset, rect.origin.y - _verticalMargin); + } + + [_dropView setFrameOrigin:frameOrigin]; +} + +- (BOOL)_dropIndexDidChange:(id)draggingInfo +{ + var dropIndex = [self _dropIndexForDraggingInfo:draggingInfo proposedDropOperation:1]; + + if (dropIndex == CPNotFound) + dropIndex = [[self content] count]; + + return (_currentDropIndex !== dropIndex) +} + +- (CPInteger)_dropIndexForDraggingInfo:(id)draggingInfo proposedDropOperation:(int)dropOperation +{ + var location = [self convertPoint:[draggingInfo draggingLocation] fromView:nil], + locationX = location.x + _itemSize.width / 2; + + var column = MIN(FLOOR(locationX / (_itemSize.width + _horizontalMargin)), _numberOfColumns), + row = FLOOR(location.y / (_itemSize.height + _verticalMargin)); + + if (row >= _numberOfRows - 1) + { + if (row >= _numberOfRows) + { + row = _numberOfRows - 1; + column = _numberOfColumns; + } + + return MIN((row * _numberOfColumns + column), [_items count]); + } + + return (row * _numberOfColumns + column); +} + +@end + +@implementation _CPCollectionViewDropIndicator : CPView +{ +} + +- (void)drawRect:(CGRect)aRect +{ + var context = [[CPGraphicsContext currentContext] graphicsPort], + width = CGRectGetWidth(aRect), + circleRect = CGRectMake(1, 1, width - 2, width - 2); + + CGContextSetStrokeColor(context, [CPColor colorWithHexString:@"4886ca"]); + CGContextSetFillColor(context, [CPColor whiteColor]); + CGContextSetLineWidth(context, 3); + + //draw white under the circle thing + CGContextFillRect(context, circleRect); + //draw the circle thing + CGContextStrokeEllipseInRect(context, circleRect); + //then draw the line + CGContextBeginPath(context); + CGContextMoveToPoint(context, FLOOR(width / 2), CGRectGetMinY(aRect) + width); + CGContextAddLineToPoint(context, FLOOR(width / 2), CGRectGetHeight(aRect)); + CGContextClosePath(context); + CGContextStrokePath(context); +} + +@end + @implementation CPCollectionView (KeyboardInteraction) - (void)_modifySelectionWithNewIndex:(int)anIndex direction:(int)aDirection expand:(BOOL)shouldExpand @@ -953,6 +1300,11 @@ [self interpretKeyEvents:[anEvent]]; } +- (void)setAutoresizingMask:(int)aMask +{ + [super setAutoresizingMask:0]; +} + @end @implementation CPCollectionView (Deprecated) @@ -987,35 +1339,12 @@ var CPCollectionViewMinItemSizeKey = @"CPCollectionViewMinItemSizeK @implementation CPCollectionView (CPCoding) -- (void)awakeFromCib -{ - [super awakeFromCib]; - - var prototypeView = [_itemPrototype view]; - if (prototypeView && (CGSizeEqualToSize(_minItemSize, CGSizeMakeZero()) || CGSizeEqualToSize(_maxItemSize, CGSizeMakeZero()))) - { - var item = _itemPrototype; - - if (CGSizeEqualToSize(_minItemSize, CGSizeMakeZero())) - _minItemSize = [prototypeView frameSize]; - else if (CGSizeEqualToSize(_maxItemSize, CGSizeMakeZero())) - _maxItemSize = [prototypeView frameSize]; - } -} - - (id)initWithCoder:(CPCoder)aCoder { self = [super initWithCoder:aCoder]; if (self) { - _items = []; - _content = []; - - _cachedItems = []; - - _itemSize = CGSizeMakeZero(); - _minItemSize = [aCoder decodeSizeForKey:CPCollectionViewMinItemSizeKey]; _maxItemSize = [aCoder decodeSizeForKey:CPCollectionViewMaxItemSizeKey]; @@ -1029,11 +1358,7 @@ var CPCollectionViewMinItemSizeKey = @"CPCollectionViewMinItemSizeK [self setBackgroundColors:[aCoder decodeObjectForKey:CPCollectionViewBackgroundColorsKey]]; - _tileWidth = -1.0; - - _selectionIndexes = [CPIndexSet indexSet]; - - _allowsEmptySelection = YES; + [self _init]; } return self; diff --git a/AppKit/CPCollectionViewItem.j b/AppKit/CPCollectionViewItem.j index 44e06394e..7c8dbebbd 100644 --- a/AppKit/CPCollectionViewItem.j +++ b/AppKit/CPCollectionViewItem.j @@ -22,13 +22,38 @@ @import "CPViewController.j" - /*! Represents an object inside a CPCollectionView. */ @implementation CPCollectionViewItem : CPViewController { BOOL _isSelected; + CPData _cachedArchive; +} + +- (id)copy +{ + var cibName = [self cibName], + copy; + + if (cibName) + { + copy = [[[self class] alloc] initWithCibName:cibName bundle:[self cibBundle]]; + } + else + { + if (!_cachedArchive) + _cachedArchive = [CPKeyedArchiver archivedDataWithRootObject:self]; + + copy = [CPKeyedUnarchiver unarchiveObjectWithData:_cachedArchive]; + + // copy connections + } + + [copy setRepresentedObject:[self representedObject]]; + [copy setSelected:_isSelected]; + + return copy; } // Setting the Represented Object diff --git a/Tests/Manual/CPCollectionViewNibTest/AppController.j b/Tests/Manual/CPCollectionViewNibTest/AppController.j new file mode 100644 index 000000000..f6dd3f5b8 --- /dev/null +++ b/Tests/Manual/CPCollectionViewNibTest/AppController.j @@ -0,0 +1,264 @@ +/* + * AppController.j + * CPCollectionViewNibTest + * + * Created by You on November 28, 2012. + * Copyright 2012, Your Company All rights reserved. + */ + +@import +//@import "CPCollectionView.j" + +CPLogRegister(CPLogConsole); + +@implementation AppController : CPObject +{ + CPWindow theWindow; //this "outlet" is connected automatically by the Cib + @outlet CPCollectionView collectionView @accessors; + @outlet InternalProtoypeItem prototypeItemInternal; + @outlet ExternalProtoypeItem prototypeItemExternal; + @outlet CPTableView tableView; +} + +- (void)applicationDidFinishLaunching:(CPNotification)aNotification +{ + // This is called when the application is done loading. +} + +- (void)awakeFromCib +{ + [self willChangeValueForKey:@"minItemWidth"]; + [self willChangeValueForKey:@"minItemHeight"]; + [collectionView setMinItemSize:CGSizeMake(100, 100)]; + [self didChangeValueForKey:@"minItemWidth"]; + [self didChangeValueForKey:@"minItemHeight"]; + + [self willChangeValueForKey:@"maxItemWidth"]; + [self willChangeValueForKey:@"maxItemHeight"]; + [collectionView setMaxItemSize:CGSizeMake(200, 150)]; + [self didChangeValueForKey:@"maxItemWidth"]; + [self didChangeValueForKey:@"maxItemHeight"]; + + [collectionView registerForDraggedTypes:[@"DragType"]]; + //[theWindow setFullPlatformWindow:YES]; +} + +- (IBAction)setPrototypeItem:(id)sender +{ + var prototypeItem = [[sender selectedItem] tag] ? prototypeItemExternal : prototypeItemInternal; + + [collectionView setItemPrototype:prototypeItem]; +} + +- (void)setMinItemWidth:(CPInteger)aWidth +{ + var size = CGSizeMakeCopy([collectionView minItemSize]); + size.width = aWidth; + [collectionView setMinItemSize:size]; +} + +- (CPInteger)minItemWidth +{ + return [collectionView minItemSize].width; +} + +- (void)setMinItemHeight:(CPInteger)aHeight +{ + var size = CGSizeMakeCopy([collectionView minItemSize]); + size.height = aHeight; + [collectionView setMinItemSize:size]; +} + +- (CPInteger)minItemHeight +{ + return [collectionView minItemSize].height; +} + +- (void)setMaxItemWidth:(CPInteger)aWidth +{ + var size = CGSizeMakeCopy([collectionView maxItemSize]); + size.width = aWidth; + [collectionView setMaxItemSize:size]; +} + +- (CPInteger)maxItemWidth +{ + return [collectionView maxItemSize].width; +} + +- (void)setMaxItemHeight:(CPInteger)aHeight +{ + var size = CGSizeMakeCopy([collectionView maxItemSize]); + size.height = aHeight; + [collectionView setMaxItemSize:size]; +} + +- (CPInteger)maxItemHeight +{ + return [collectionView maxItemSize].height; +} + +/* + DELEGATE METHODS +*/ + +- (CPData)collectionView:(CPCollectionView)aCollectionView dataForItemsAtIndexes:(CPIndexSet)indices forType:(CPString)aType +{ + return indices; +} + +- (CPView)collectionView:(CPCollectionView)aCollectionView draggingViewForItemsAtIndexes:(CPIndexSet)indexes withEvent:(CPEvent)event offset:(CGPoint)dragImageOffset +{ + return [aCollectionView draggingViewForItemsAtIndexes:indexes withEvent:event offset:dragImageOffset]; +} + +- (CPArray)collectionView:(CPCollectionView)aCollectionView dragTypesForItemsAtIndexes:(CPIndexSet)indices +{ + return [@"DragType"]; +} + +- (BOOL)collectionView:(CPCollectionView)aCollectionView canDragItemsAtIndexes:(CPIndexSet)indexes withEvent:(CPEvent)anEvent +{ + return YES; +} +/* +- (BOOL)collectionView:(CPCollectionView)aCollectionView writeItemsAtIndexes:(CPIndexSet)indexes toPasteboard:(CPPasteboard)pboard +{ + return YES; +} +*/ +- (CPDragOperation)collectionView:(CPCollectionView)aCollectionView validateDrop:(id)draggingInfo proposedIndex:(Function)proposedIndexRef dropOperation:(CPInteger)collectionViewDropOperation +{ + var pboard = [draggingInfo draggingPasteboard], + dragIndex = [[pboard dataForType:@"DragType"] firstIndex], + proposedIndex = proposedIndexRef(); + + if (proposedIndex == dragIndex || proposedIndex == dragIndex + 1) + return CPDragOperationNone; + + return CPDragOperationMove; +} + +- (BOOL)collectionView:(CPCollectionView)aCollectionView acceptDrop:(id)draggingInfo index:(CPInteger)proposedIndex dropOperation:(CPInteger)collectionViewDropOperation +{ + var pboard = [draggingInfo draggingPasteboard], + dragIndexes = [pboard dataForType:@"DragType"]; + + [[aCollectionView content] moveIndexes:dragIndexes toIndex:proposedIndex]; + [aCollectionView reloadContent]; + [tableView reloadData]; + + return YES; +} + +@end + +@implementation InternalProtoypeItem: CPCollectionViewItem +{ + @outlet CPTextField textField; +} + +- (id)initWithCoder:(CPCoder)aCoder +{ + self = [super initWithCoder:aCoder]; + + textField = [aCoder decodeObjectForKey:@"TextField"]; + + return self; +} + +- (void)encodeWithCoder:(CPCoder)aCoder +{ + [super encodeWithCoder:aCoder]; + [aCoder encodeConditionalObject:textField forKey:@"TextField"]; +} + +- (void)setRepresentedObject:(id)anObject +{ + [super setRepresentedObject:anObject]; + [textField setStringValue:[anObject objectForKey:@"value"]]; + [[self view] setColor:[anObject objectForKey:@"color"]]; +} + +@end + +@implementation ExternalProtoypeItem: CPCollectionViewItem +{ +} + +- (void)setRepresentedObject:(id)anObject +{ + [super setRepresentedObject:anObject]; + [[self view] setColor:[anObject objectForKey:@"color"]]; +} + +@end + + +var keyCode = 0; +@implementation ArrayController : CPArrayController +{ +} + +- (void)newObject +{ + return [CPDictionary dictionaryWithObjectsAndKeys:(String.fromCharCode(65 + keyCode++)), @"value", [CPColor randomColor], @"color"]; +} + +@end + +@implementation ColorView : CPView +{ + CPColor color @accessors; +} + +- (void)setColor:(CPColor)aColor +{ + color = aColor; + [self setNeedsDisplay:YES]; +} + +- (void)drawRect:(CGRect)aRect +{ + if (!color) + color = [CPColor grayColor]; + + var context = [[CPGraphicsContext currentContext] graphicsPort]; + CGContextSetFillColor(context, color); + CGContextFillRect(context, aRect); +} + +@end + +@implementation CPArray (MoveIndexes) + +- (void)moveIndexes:(CPIndexSet)indexes toIndex:(int)insertIndex +{ + var aboveCount = 0, + object, + removeIndex; + + var index = [indexes lastIndex]; + + while (index != CPNotFound) + { + if (index >= insertIndex) + { + removeIndex = index + aboveCount; + aboveCount ++; + } + else + { + removeIndex = index; + insertIndex --; + } + + object = [self objectAtIndex:removeIndex]; + [self removeObjectAtIndex:removeIndex]; + [self insertObject:object atIndex:insertIndex]; + + index = [indexes indexLessThanIndex:index]; + } +} + +@end diff --git a/Tests/Manual/CPCollectionViewNibTest/Info.plist b/Tests/Manual/CPCollectionViewNibTest/Info.plist new file mode 100644 index 000000000..b604c75fa --- /dev/null +++ b/Tests/Manual/CPCollectionViewNibTest/Info.plist @@ -0,0 +1,10 @@ + + + + + Main cib file base name + MainMenu.cib + CPBundleName + CPCollectionViewNibTest + + diff --git a/Tests/Manual/CPCollectionViewNibTest/Jakefile b/Tests/Manual/CPCollectionViewNibTest/Jakefile new file mode 100644 index 000000000..f9718dfcd --- /dev/null +++ b/Tests/Manual/CPCollectionViewNibTest/Jakefile @@ -0,0 +1,94 @@ +/* + * Jakefile + * CPCollectionViewNibTest + * + * Created by You on November 28, 2012. + * Copyright 2012, Your Company All rights reserved. + */ + +var ENV = require("system").env, + FILE = require("file"), + JAKE = require("jake"), + task = JAKE.task, + FileList = JAKE.FileList, + app = require("cappuccino/jake").app, + configuration = ENV["CONFIG"] || ENV["CONFIGURATION"] || ENV["c"] || "Debug", + OS = require("os"); + +app ("CPCollectionViewNibTest", function(task) +{ + task.setBuildIntermediatesPath(FILE.join("Build", "CPCollectionViewNibTest.build", configuration)); + task.setBuildPath(FILE.join("Build", configuration)); + + task.setProductName("CPCollectionViewNibTest"); + task.setIdentifier("com.yourcompany.CPCollectionViewNibTest"); + task.setVersion("1.0"); + task.setAuthor("Your Company"); + task.setEmail("feedback @nospam@ yourcompany.com"); + task.setSummary("CPCollectionViewNibTest"); + task.setSources((new FileList("**/*.j")).exclude(FILE.join("Build", "**"))); + task.setResources(new FileList("Resources/**")); + task.setIndexFilePath("index.html"); + task.setInfoPlistPath("Info.plist"); + task.setNib2CibFlags("-R Resources/"); + + if (configuration === "Debug") + task.setCompilerFlags("-DDEBUG -g"); + else + task.setCompilerFlags("-O"); +}); + +task ("default", ["CPCollectionViewNibTest"], function() +{ + printResults(configuration); +}); + +task ("build", ["default"]); + +task ("debug", function() +{ + ENV["CONFIGURATION"] = "Debug"; + JAKE.subjake(["."], "build", ENV); +}); + +task ("release", function() +{ + ENV["CONFIGURATION"] = "Release"; + JAKE.subjake(["."], "build", ENV); +}); + +task ("run", ["debug"], function() +{ + OS.system(["open", FILE.join("Build", "Debug", "CPCollectionViewNibTest", "index.html")]); +}); + +task ("run-release", ["release"], function() +{ + OS.system(["open", FILE.join("Build", "Release", "CPCollectionViewNibTest", "index.html")]); +}); + +task ("deploy", ["release"], function() +{ + FILE.mkdirs(FILE.join("Build", "Deployment", "CPCollectionViewNibTest")); + OS.system(["press", "-f", FILE.join("Build", "Release", "CPCollectionViewNibTest"), FILE.join("Build", "Deployment", "CPCollectionViewNibTest")]); + printResults("Deployment") +}); + +task ("desktop", ["release"], function() +{ + FILE.mkdirs(FILE.join("Build", "Desktop", "CPCollectionViewNibTest")); + require("cappuccino/nativehost").buildNativeHost(FILE.join("Build", "Release", "CPCollectionViewNibTest"), FILE.join("Build", "Desktop", "CPCollectionViewNibTest", "CPCollectionViewNibTest.app")); + printResults("Desktop") +}); + +task ("run-desktop", ["desktop"], function() +{ + OS.system([FILE.join("Build", "Desktop", "CPCollectionViewNibTest", "CPCollectionViewNibTest.app", "Contents", "MacOS", "NativeHost"), "-i"]); +}); + +function printResults(configuration) +{ + print("----------------------------"); + print(configuration+" app built at path: "+FILE.join("Build", configuration, "CPCollectionViewNibTest")); + print("----------------------------"); +} diff --git a/Tests/Manual/CPCollectionViewNibTest/Resources/MainMenu.cib b/Tests/Manual/CPCollectionViewNibTest/Resources/MainMenu.cib new file mode 100644 index 000000000..47312e2f6 --- /dev/null +++ b/Tests/Manual/CPCollectionViewNibTest/Resources/MainMenu.cib @@ -0,0 +1 @@ +280NPLIST;1.0;D;K;4;$topD;K;18;CPCibObjectDataKeyD;K;6;CP$UIDd;1;2E;E;K;8;$objectsA;S;5;$nullD;K;10;$classnameS;16;_CPCibObjectDataK;8;$classesA;S;16;_CPCibObjectDataS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;1E;K;28;_CPCibObjectDataNamesKeysKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataNamesValuesKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataClassesKeysKeyD;K;6;CP$UIDd;1;0E;K;32;_CPCibObjectDataClassesValuesKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataConnectionsKeyD;K;6;CP$UIDd;1;4E;K;28;_CPCibObjectDataFrameworkKeyD;K;6;CP$UIDd;1;0E;K;26;_CPCibObjectDataNextOidKeyD;K;6;CP$UIDd;1;5E;K;30;_CPCibObjectDataObjectsKeysKeyD;K;6;CP$UIDd;1;6E;K;32;_CPCibObjectDataObjectsValuesKeyD;K;6;CP$UIDd;1;7E;K;26;_CPCibObjectDataOidKeysKeyD;K;6;CP$UIDd;1;8E;K;28;_CPCibObjectDataOidValuesKeyD;K;6;CP$UIDd;1;9E;K;28;_CPCibObjectDataFileOwnerKeyD;K;6;CP$UIDd;2;11E;K;33;_CPCibObjectDataVisibleWindowsKeyD;K;6;CP$UIDd;2;13E;E;D;K;10;$classnameS;7;CPArrayK;8;$classesA;S;7;CPArrayS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;15E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;17E;D;K;6;CP$UIDd;2;18E;D;K;6;CP$UIDd;2;19E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;21E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;3;110E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;2;62E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;10;$classnameS;18;_CPCibCustomObjectK;8;$classesA;S;18;_CPCibCustomObjectS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;111E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;12E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;3;112E;E;D;K;10;$classnameS;20;CPCibOutletConnectorK;8;$classesA;S;20;CPCibOutletConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;11E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;98E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;113E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;98E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;90E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;114E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;98E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;100E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;115E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;98E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;101E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;116E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;98E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;55E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;117E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;98E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;49E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;118E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;90E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;98E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;113E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;90E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;100E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;119E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;101E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;106E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;120E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;104E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;90E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;121E;E;D;K;10;$classnameS;21;CPCibControlConnectorK;8;$classesA;S;21;CPCibControlConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;62E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;98E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;122E;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;94E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;102E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;123E;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;95E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;102E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;124E;E;D;K;10;$classnameS;21;CPCibBindingConnectorK;8;$classesA;S;21;CPCibBindingConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;97E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;104E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;125E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;126E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;127E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;129E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;83E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;98E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;130E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;126E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;131E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;132E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;82E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;98E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;130E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;126E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;131E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;133E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;77E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;98E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;134E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;126E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;135E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;136E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;76E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;98E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;134E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;126E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;135E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;137E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;74E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;98E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;138E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;126E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;139E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;140E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;73E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;98E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;138E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;126E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;139E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;141E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;80E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;98E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;142E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;126E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;143E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;144E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;79E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;98E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;142E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;126E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;143E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;145E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;71E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;104E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;146E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;126E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;147E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;148E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;70E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;104E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;146E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;126E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;147E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;149E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;86E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;104E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;150E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;126E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;151E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;152E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;85E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;104E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;150E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;126E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;151E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;153E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;57E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;102E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;154E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;126E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;155E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;156E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;55E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;102E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;157E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;158E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;158E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;159E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;90E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;102E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;160E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;121E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;161E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;162E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;90E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;3;102E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;157E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;3;158E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;3;158E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;3;163E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;111E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;48E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;164E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;165E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;166E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;167E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;168E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;169E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;170E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;51E;E;D;K;10;$classnameS;6;CPViewK;8;$classesA;S;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;171E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;172E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;172E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;173E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;174E;E;D;K;10;$classnameS;12;CPScrollViewK;8;$classesA;S;12;CPScrollViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;52E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;171E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;175E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;176E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;177E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;178E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;179E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;174E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;181E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;1;0E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;60E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;59E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;182E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;182E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;182E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;182E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;183E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;183E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;183E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;184E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;185E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;3;171E;E;D;K;10;$classnameS;11;CPTableViewK;8;$classesA;S;11;CPTableViewS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;54E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;181E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;171E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;186E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;186E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;181E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;188E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;189E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;174E;K;12;$agrid-colorD;K;6;CP$UIDd;3;190E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;191E;K;24;CPTableViewDataSourceKeyD;K;6;CP$UIDd;1;0E;K;22;CPTableViewDelegateKeyD;K;6;CP$UIDd;1;0E;K;23;CPTableViewRowHeightKeyD;K;6;CP$UIDd;3;192E;K;30;CPTableViewIntercellSpacingKeyD;K;6;CP$UIDd;3;193E;K;37;CPTableViewSelectionHighlightStyleKeyD;K;6;CP$UIDd;3;171E;K;37;CPTableViewColumnAutoresizingStyleKeyD;K;6;CP$UIDd;3;191E;K;31;CPTableViewMultipleSelectionKeyD;K;6;CP$UIDd;3;183E;K;28;CPTableViewEmptySelectionKeyD;K;6;CP$UIDd;3;183E;K;30;CPTableViewColumnReorderingKeyD;K;6;CP$UIDd;3;194E;K;28;CPTableViewColumnResizingKeyD;K;6;CP$UIDd;3;194E;K;29;CPTableViewColumnSelectionKeyD;K;6;CP$UIDd;3;194E;K;26;CPTableViewTableColumnsKeyD;K;6;CP$UIDd;3;195E;K;23;CPTableViewGridColorKeyD;K;6;CP$UIDd;3;190E;K;27;CPTableViewGridStyleMaskKeyD;K;6;CP$UIDd;3;171E;K;39;CPTableViewUsesAlternatingBackgroundKeyD;K;6;CP$UIDd;3;183E;K;34;CPTableViewAlternatingRowColorsKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;24;CPTableViewHeaderViewKeyD;K;6;CP$UIDd;1;0E;K;26;CPTableViewAutosaveNameKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;13;CPTableColumnK;8;$classesA;S;13;CPTableColumnS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;26;CPTableColumnIdentifierKeyD;K;6;CP$UIDd;1;0E;K;21;CPTableColumnWidthKeyD;K;6;CP$UIDd;3;196E;K;24;CPTableColumnMinWidthKeyD;K;6;CP$UIDd;3;197E;K;24;CPTableColumnMaxWidthKeyD;K;6;CP$UIDd;3;198E;K;26;CPTableColumnHeaderViewKeyD;K;6;CP$UIDd;3;200E;K;24;CPTableColumnDataViewKeyD;K;6;CP$UIDd;3;201E;K;28;CPTableColumnResizingMaskKeyD;K;6;CP$UIDd;3;202E;K;24;CPTableColumnIsHiddenKeyD;K;6;CP$UIDd;3;194E;K;26;CPTableColumnIsEditableKeyD;K;6;CP$UIDd;3;183E;K;28;CPSortDescriptorPrototypeKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;10;CPScrollerK;8;$classesA;S;10;CPScrollerS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;53E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;171E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;203E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;204E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;53E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;205E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;206E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;207E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;208E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;171E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;53E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;209E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;191E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;171E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;210E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;53E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;171E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;211E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;212E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;53E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;205E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;206E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;207E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;213E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;171E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;53E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;214E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;191E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;171E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;215E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;13;CPPopUpButtonK;8;$classesA;S;13;CPPopUpButtonS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;61E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;3;110E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;171E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;216E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;217E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;218E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;219E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;220E;K;6;$afontD;K;6;CP$UIDd;3;222E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;191E;K;11;$aalignmentD;K;6;CP$UIDd;3;171E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;171E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;191E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;1;0E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;223E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;194E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;224E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;171E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;183E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;185E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;171E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;63E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;225E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;62E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;226E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;110E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;227E;E;D;K;6;$classD;K;6;CP$UIDd;2;63E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;228E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;2;62E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;226E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;229E;K;18;CPMenuItemStateKeyD;K;6;CP$UIDd;3;229E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;110E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;227E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;66E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;171E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;230E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;231E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;218E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;232E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;174E;K;6;$afontD;K;6;CP$UIDd;3;233E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;185E;K;11;$aalignmentD;K;6;CP$UIDd;3;229E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;183E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;234E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;235E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;194E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;194E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;194E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;236E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;185E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;229E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;66E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;171E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;237E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;238E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;239E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;232E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;174E;K;6;$afontD;K;6;CP$UIDd;3;233E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;185E;K;11;$aalignmentD;K;6;CP$UIDd;3;191E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;183E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;240E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;235E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;194E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;194E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;194E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;236E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;185E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;191E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;9;CPStepperK;8;$classesA;S;9;CPStepperS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;171E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;241E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;242E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;218E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;243E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;174E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;171E;K;11;$aalignmentD;K;6;CP$UIDd;3;171E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;171E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;244E;K;18;CPStepperIncrementD;K;6;CP$UIDd;3;229E;K;17;CPStepperMaxValueD;K;6;CP$UIDd;3;245E;K;19;CPStepperAutorepeatD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;66E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;171E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;246E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;247E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;218E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;232E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;248E;K;6;$afontD;K;6;CP$UIDd;3;249E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;185E;K;11;$aalignmentD;K;6;CP$UIDd;3;191E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;183E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;250E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;235E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;194E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;194E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;183E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;251E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;185E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;191E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;66E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;171E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;252E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;253E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;218E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;232E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;174E;K;6;$afontD;K;6;CP$UIDd;3;233E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;185E;K;11;$aalignmentD;K;6;CP$UIDd;3;229E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;183E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;254E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;235E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;194E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;194E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;194E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;236E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;185E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;229E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;171E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;255E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;242E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;218E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;243E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;174E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;171E;K;11;$aalignmentD;K;6;CP$UIDd;3;171E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;171E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;244E;K;18;CPStepperIncrementD;K;6;CP$UIDd;3;256E;K;17;CPStepperMaxValueD;K;6;CP$UIDd;3;198E;K;19;CPStepperAutorepeatD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;66E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;171E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;257E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;258E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;218E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;232E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;248E;K;6;$afontD;K;6;CP$UIDd;3;259E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;185E;K;11;$aalignmentD;K;6;CP$UIDd;3;191E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;183E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;250E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;235E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;194E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;194E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;183E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;251E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;185E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;191E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;66E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;171E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;260E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;261E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;218E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;232E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;174E;K;6;$afontD;K;6;CP$UIDd;3;233E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;185E;K;11;$aalignmentD;K;6;CP$UIDd;3;229E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;183E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;262E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;235E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;194E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;194E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;194E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;236E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;185E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;229E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;171E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;263E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;242E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;218E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;243E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;174E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;171E;K;11;$aalignmentD;K;6;CP$UIDd;3;171E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;171E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;244E;K;18;CPStepperIncrementD;K;6;CP$UIDd;3;256E;K;17;CPStepperMaxValueD;K;6;CP$UIDd;3;198E;K;19;CPStepperAutorepeatD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;66E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;171E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;264E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;258E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;218E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;232E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;248E;K;6;$afontD;K;6;CP$UIDd;3;265E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;185E;K;11;$aalignmentD;K;6;CP$UIDd;3;191E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;183E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;250E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;235E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;194E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;194E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;183E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;251E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;185E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;191E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;66E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;171E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;266E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;267E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;218E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;232E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;174E;K;6;$afontD;K;6;CP$UIDd;3;233E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;185E;K;11;$aalignmentD;K;6;CP$UIDd;3;229E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;183E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;268E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;235E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;194E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;194E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;194E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;236E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;185E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;229E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;171E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;269E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;242E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;218E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;243E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;174E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;171E;K;11;$aalignmentD;K;6;CP$UIDd;3;171E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;171E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;244E;K;18;CPStepperIncrementD;K;6;CP$UIDd;3;256E;K;17;CPStepperMaxValueD;K;6;CP$UIDd;3;198E;K;19;CPStepperAutorepeatD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;66E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;171E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;270E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;258E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;218E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;232E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;248E;K;6;$afontD;K;6;CP$UIDd;3;271E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;185E;K;11;$aalignmentD;K;6;CP$UIDd;3;191E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;183E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;250E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;235E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;194E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;194E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;183E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;251E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;185E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;191E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;66E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;171E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;272E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;273E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;218E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;232E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;174E;K;6;$afontD;K;6;CP$UIDd;3;233E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;185E;K;11;$aalignmentD;K;6;CP$UIDd;3;229E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;183E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;274E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;235E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;194E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;194E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;194E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;236E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;185E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;229E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;171E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;275E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;242E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;218E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;243E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;174E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;171E;K;11;$aalignmentD;K;6;CP$UIDd;3;171E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;171E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;244E;K;18;CPStepperIncrementD;K;6;CP$UIDd;3;256E;K;17;CPStepperMaxValueD;K;6;CP$UIDd;3;198E;K;19;CPStepperAutorepeatD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;66E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;171E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;276E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;258E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;218E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;232E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;248E;K;6;$afontD;K;6;CP$UIDd;3;277E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;185E;K;11;$aalignmentD;K;6;CP$UIDd;3;191E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;183E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;250E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;235E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;194E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;194E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;183E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;251E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;185E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;191E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;66E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;171E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;278E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;279E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;218E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;232E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;174E;K;6;$afontD;K;6;CP$UIDd;3;233E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;185E;K;11;$aalignmentD;K;6;CP$UIDd;3;229E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;183E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;280E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;235E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;194E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;194E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;194E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;236E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;185E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;229E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;69E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;171E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;281E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;242E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;218E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;243E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;174E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;171E;K;11;$aalignmentD;K;6;CP$UIDd;3;171E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;171E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;244E;K;18;CPStepperIncrementD;K;6;CP$UIDd;3;229E;K;17;CPStepperMaxValueD;K;6;CP$UIDd;3;245E;K;19;CPStepperAutorepeatD;K;6;CP$UIDd;3;183E;E;D;K;6;$classD;K;6;CP$UIDd;2;66E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;171E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;282E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;247E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;218E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;232E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;248E;K;6;$afontD;K;6;CP$UIDd;3;283E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;185E;K;11;$aalignmentD;K;6;CP$UIDd;3;191E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;183E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;250E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;235E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;194E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;194E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;183E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;251E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;185E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;191E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;66E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;171E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;284E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;285E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;218E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;232E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;174E;K;6;$afontD;K;6;CP$UIDd;3;233E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;185E;K;11;$aalignmentD;K;6;CP$UIDd;3;229E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;183E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;286E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;235E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;194E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;194E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;194E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;236E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;185E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;229E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;52E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;171E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;287E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;288E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;289E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;290E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;179E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;174E;K;23;CPScrollViewContentViewD;K;6;CP$UIDd;3;291E;K;29;CPScrollViewHeaderClipViewKeyD;K;6;CP$UIDd;1;0E;K;21;CPScrollViewVScrollerD;K;6;CP$UIDd;2;92E;K;21;CPScrollViewHScrollerD;K;6;CP$UIDd;2;91E;K;23;CPScrollViewVLineScrollD;K;6;CP$UIDd;3;182E;K;23;CPScrollViewVPageScrollD;K;6;CP$UIDd;3;182E;K;23;CPScrollViewHLineScrollD;K;6;CP$UIDd;3;182E;K;23;CPScrollViewHPageScrollD;K;6;CP$UIDd;3;182E;K;24;CPScrollViewHasVScrollerD;K;6;CP$UIDd;3;183E;K;24;CPScrollViewHasHScrollerD;K;6;CP$UIDd;3;183E;K;29;CPScrollViewAutohidesScrollerD;K;6;CP$UIDd;3;183E;K;25;CPScrollViewCornerViewKeyD;K;6;CP$UIDd;1;0E;K;31;CPScrollViewBottomCornerViewKeyD;K;6;CP$UIDd;3;292E;K;25;CPScrollViewBorderTypeKeyD;K;6;CP$UIDd;3;185E;K;28;CPScrollViewScrollerStyleKeyD;K;6;CP$UIDd;1;0E;K;32;CPScrollViewScrollerKnobStyleKeyD;K;6;CP$UIDd;3;185E;E;D;K;10;$classnameS;16;CPCollectionViewK;8;$classesA;S;16;CPCollectionViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;89E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;291E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;171E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;293E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;293E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;291E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;290E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;174E;K;34;CPCollectionViewMaxNumberOfRowsKeyD;K;6;CP$UIDd;3;294E;K;37;CPCollectionViewMaxNumberOfColumnsKeyD;K;6;CP$UIDd;3;202E;K;29;CPCollectionViewSelectableKeyD;K;6;CP$UIDd;3;183E;K;42;CPCollectionViewAllowsMultipleSelectionKeyD;K;6;CP$UIDd;3;183E;K;33;CPCollectionViewVerticalMarginKeyD;K;6;CP$UIDd;3;295E;K;35;CPCollectionViewBackgroundColorsKeyD;K;6;CP$UIDd;3;296E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;88E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;171E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;297E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;298E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;88E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;205E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;206E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;207E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;208E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;171E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;88E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;209E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;191E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;171E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;299E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;58E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;88E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;171E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;300E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;301E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;88E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;205E;K;17;CPViewIsHiddenKeyD;K;6;CP$UIDd;3;206E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;207E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;213E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;171E;K;18;CPControlTargetKeyD;K;6;CP$UIDd;2;88E;K;18;CPControlActionKeyD;K;6;CP$UIDd;3;214E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;191E;K;21;CPScrollerControlSizeD;K;6;CP$UIDd;3;171E;K;24;CPScrollerKnobProportionD;K;6;CP$UIDd;3;302E;K;18;CPScrollerStyleKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;8;CPButtonK;8;$classesA;S;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;93E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;171E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;303E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;304E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;224E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;305E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;220E;K;6;$afontD;K;6;CP$UIDd;3;306E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;171E;K;11;$aalignmentD;K;6;CP$UIDd;3;185E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;171E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;191E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;307E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;223E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;194E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;308E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;171E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;183E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;185E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;171E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;93E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;171E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;309E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;304E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;224E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;305E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;220E;K;6;$afontD;K;6;CP$UIDd;3;310E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;171E;K;11;$aalignmentD;K;6;CP$UIDd;3;185E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;171E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;191E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;311E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;223E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;194E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;308E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;171E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;183E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;185E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;171E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;10;CPCheckBoxK;8;$classesA;S;10;CPCheckBoxS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;96E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;51E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;171E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;312E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;313E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;51E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;218E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;314E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;315E;K;16;$aimage-positionD;K;6;CP$UIDd;3;202E;K;6;$afontD;K;6;CP$UIDd;3;233E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;171E;K;11;$aalignmentD;K;6;CP$UIDd;3;191E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;229E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;191E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;316E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;223E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;194E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;229E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;229E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;183E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;202E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;171E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;317E;E;D;K;10;$classnameS;18;_CPCibClassSwapperK;8;$classesA;S;18;_CPCibClassSwapperS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;99E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;23;CPViewControllerViewKeyD;K;6;CP$UIDd;1;0E;K;24;CPViewControllerTitleKeyD;K;6;CP$UIDd;1;0E;K;26;CPViewControllerCibNameKeyD;K;6;CP$UIDd;3;318E;K;25;CPViewControllerBundleKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibClassSwapperClassNameKeyD;K;6;CP$UIDd;3;319E;K;38;_CPCibClassSwapperOriginalClassNameKeyD;K;6;CP$UIDd;3;320E;E;D;K;6;$classD;K;6;CP$UIDd;2;99E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;23;CPViewControllerViewKeyD;K;6;CP$UIDd;1;0E;K;24;CPViewControllerTitleKeyD;K;6;CP$UIDd;1;0E;K;26;CPViewControllerCibNameKeyD;K;6;CP$UIDd;1;0E;K;25;CPViewControllerBundleKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibClassSwapperClassNameKeyD;K;6;CP$UIDd;3;321E;K;38;_CPCibClassSwapperOriginalClassNameKeyD;K;6;CP$UIDd;3;320E;E;D;K;6;$classD;K;6;CP$UIDd;2;99E;K;28;CPObjectControllerContentKeyD;K;6;CP$UIDd;1;0E;K;36;CPObjectControllerObjectClassNameKeyD;K;6;CP$UIDd;3;322E;K;31;CPObjectControllerIsEditableKeyD;K;6;CP$UIDd;3;183E;K;49;CPObjectControllerAutomaticallyPreparesContentKeyD;K;6;CP$UIDd;3;183E;K;37;CPArrayControllerAvoidsEmptySelectionD;K;6;CP$UIDd;3;183E;K;49;CPArrayControllerClearsFilterPredicateOnInsertionD;K;6;CP$UIDd;3;183E;K;41;CPArrayControllerFilterRestrictsInsertionD;K;6;CP$UIDd;3;183E;K;35;CPArrayControllerPreservesSelectionD;K;6;CP$UIDd;3;183E;K;39;CPArrayControllerSelectsInsertedObjectsD;K;6;CP$UIDd;3;183E;K;47;CPArrayControllerAlwaysUsesMultipleValuesMarkerD;K;6;CP$UIDd;3;194E;K;47;CPArrayControllerAutomaticallyRearrangesObjectsD;K;6;CP$UIDd;3;194E;K;30;_CPCibClassSwapperClassNameKeyD;K;6;CP$UIDd;3;323E;K;38;_CPCibClassSwapperOriginalClassNameKeyD;K;6;CP$UIDd;3;324E;E;D;K;10;$classnameS;18;CPObjectControllerK;8;$classesA;S;18;CPObjectControllerS;12;CPControllerS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;103E;K;28;CPObjectControllerContentKeyD;K;6;CP$UIDd;1;0E;K;36;CPObjectControllerObjectClassNameKeyD;K;6;CP$UIDd;3;322E;K;31;CPObjectControllerIsEditableKeyD;K;6;CP$UIDd;3;183E;K;49;CPObjectControllerAutomaticallyPreparesContentKeyD;K;6;CP$UIDd;3;194E;E;D;K;10;$classnameS;16;_CPCibCustomViewK;8;$classesA;S;16;_CPCibCustomViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;105E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;171E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;325E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;325E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;326E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;327E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;174E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;3;328E;E;D;K;6;$classD;K;6;CP$UIDd;2;66E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;106E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;171E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;329E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;330E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;106E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;331E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;232E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;174E;K;6;$afontD;K;6;CP$UIDd;3;233E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;185E;K;11;$aalignmentD;K;6;CP$UIDd;3;185E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;183E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;332E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;235E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;194E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;194E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;194E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;236E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;185E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;185E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;66E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;106E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;171E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;333E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;334E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;106E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;327E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;232E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;335E;K;6;$afontD;K;6;CP$UIDd;3;336E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;185E;K;11;$aalignmentD;K;6;CP$UIDd;3;185E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;183E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;337E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;235E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;183E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;183E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;183E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;251E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;185E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;185E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;109E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;338E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;339E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;49E;E;E;S;8;delegateS;14;collectionViewS;21;prototypeItemExternalS;21;prototypeItemInternalS;9;tableViewS;9;theWindowS;13;itemPrototypeS;4;viewS;7;contentS;17;setPrototypeItem:S;4;add:S;7;remove:S;40;value: selection.uniformSubviewsResizingS;5;valueS;33;selection.uniformSubviewsResizingD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;128E;K;10;CP.objectsD;E;E;S;20;value: minItemHeightS;13;minItemHeightD;K;6;$classD;K;6;CP$UIDd;3;128E;K;10;CP.objectsD;E;E;D;K;6;$classD;K;6;CP$UIDd;3;128E;K;10;CP.objectsD;E;E;S;20;value: maxItemHeightS;13;maxItemHeightD;K;6;$classD;K;6;CP$UIDd;3;128E;K;10;CP.objectsD;E;E;D;K;6;$classD;K;6;CP$UIDd;3;128E;K;10;CP.objectsD;E;E;S;19;value: maxItemWidthS;12;maxItemWidthD;K;6;$classD;K;6;CP$UIDd;3;128E;K;10;CP.objectsD;E;E;D;K;6;$classD;K;6;CP$UIDd;3;128E;K;10;CP.objectsD;E;E;S;19;value: minItemWidthS;12;minItemWidthD;K;6;$classD;K;6;CP$UIDd;3;128E;K;10;CP.objectsD;E;E;D;K;6;$classD;K;6;CP$UIDd;3;128E;K;10;CP.objectsD;E;E;S;32;value: selection.maxNumberOfRowsS;25;selection.maxNumberOfRowsD;K;6;$classD;K;6;CP$UIDd;3;128E;K;10;CP.objectsD;E;E;D;K;6;$classD;K;6;CP$UIDd;3;128E;K;10;CP.objectsD;E;E;S;35;value: selection.maxNumberOfColumnsS;28;selection.maxNumberOfColumnsD;K;6;$classD;K;6;CP$UIDd;3;128E;K;10;CP.objectsD;E;E;D;K;6;$classD;K;6;CP$UIDd;3;128E;K;10;CP.objectsD;E;E;S;28;value: arrangedObjects.valueS;21;arrangedObjects.valueD;K;6;$classD;K;6;CP$UIDd;3;128E;K;10;CP.objectsD;E;E;S;34;selectionIndexes: selectionIndexesS;16;selectionIndexesD;K;6;$classD;K;6;CP$UIDd;3;128E;K;10;CP.objectsD;E;E;S;24;content: arrangedObjectsS;15;arrangedObjectsD;K;6;$classD;K;6;CP$UIDd;3;128E;K;10;CP.objectsD;E;E;D;K;6;$classD;K;6;CP$UIDd;3;128E;K;10;CP.objectsD;E;E;S;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1949827072S;26;{{360.5, 150}, {959, 407}}S;22;{{0, 0}, {1680, 1028}}d;1;9S;6;Windowd;1;0S;20;{{0, 0}, {959, 407}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;97E;E;E;S;6;normalS;22;{{20, 66}, {164, 297}}S;20;{{0, 0}, {164, 297}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;181E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;3;184E;E;E;d;2;20S;10;scrollviewD;K;10;$classnameS;10;CPClipViewK;8;$classesA;S;10;CPClipViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;180E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;53E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;171E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;340E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;186E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;341E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;53E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;205E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;342E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;174E;K;20;CPReuseIdentifierKeyD;K;6;CP$UIDd;3;343E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;55E;E;d;2;10T;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;53E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;344E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;344E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;53E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;174E;E;d;1;2S;20;{{0, 0}, {162, 295}}D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;187E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;345E;E;S;9;tableviewD;K;6;$classD;K;6;CP$UIDd;3;187E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;346E;E;d;1;4d;2;25S;6;{3, 2}F;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;57E;E;E;d;3;159d;2;40d;4;1000D;K;10;$classnameS;24;_CPTableColumnHeaderViewK;8;$classesA;S;24;_CPTableColumnHeaderViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;199E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;344E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;344E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;347E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;348E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;174E;K;6;$afontD;K;6;CP$UIDd;3;349E;K;16;$atext-alignmentD;K;6;CP$UIDd;3;171E;K;38;_CPTableColumnHeaderViewStringValueKeyD;K;6;CP$UIDd;3;223E;K;32;_CPTableColumnHeaderViewImageKeyD;K;6;CP$UIDd;1;0E;K;31;_CPTableColumnHeaderViewFontKeyD;K;6;CP$UIDd;3;349E;K;36;_CPTableColumnHeaderViewTextColorKeyD;K;6;CP$UIDd;1;0E;K;42;_CPTableColumnHeaderViewTextShadowColorKeyD;K;6;CP$UIDd;1;0E;K;36;_CPTableColumnHeaderViewAlignmentKeyD;K;6;CP$UIDd;3;171E;K;40;_CPTableColumnHeaderViewLineBreakModeKeyD;K;6;CP$UIDd;3;191E;E;D;K;6;$classD;K;6;CP$UIDd;2;66E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;344E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;344E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;232E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;350E;K;6;$afontD;K;6;CP$UIDd;3;352E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;191E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;185E;K;11;$aalignmentD;K;6;CP$UIDd;3;171E;K;15;$acontent-insetD;K;6;CP$UIDd;3;354E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;223E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;235E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;1;0E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;1;0E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;191E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;171E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;3;223E;E;d;1;3S;21;{{1, 163}, {223, 15}}S;19;{{0, 0}, {223, 15}}d;1;8d;11;-2147483648S;8;scrollerS;8;disabledS;29;_horizontalScrollerDidScroll:f;16;0.99581589958159S;23;{{224, 178}, {15, 102}}S;19;{{0, 0}, {15, 102}}S;17;disabled+verticalS;27;_verticalScrollerDidScroll:f;18;0.9925373134328358S;22;{{499, 17}, {182, 25}}S;19;{{0, 0}, {182, 25}}d;2;33S;12;popup-buttonS;8;borderedD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;221E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;355E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;356E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;183E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;194E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;183E;E;S;0;d;2;12S;11;In Main CibS;17;_popUpItemAction:d;7;1048576S;17;in standalone cibd;1;1S;22;{{374, 22}, {110, 17}}S;19;{{0, 0}, {110, 17}}S;9;textfieldD;K;6;$classD;K;6;CP$UIDd;3;221E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;355E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;356E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;194E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;194E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;183E;E;S;17;setItemPrototype:d;4;3072D;K;6;$classD;K;6;CP$UIDd;3;187E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;357E;E;S;20;{{17, 42}, {94, 17}}S;18;{{0, 0}, {94, 17}}d;2;36S;15;Select Content:S;21;{{923, 64}, {19, 25}}S;18;{{0, 0}, {19, 25}}S;7;stepperd;5;65540d;3;100S;21;{{887, 62}, {36, 29}}S;18;{{0, 0}, {36, 29}}S;7;bezeledD;K;6;$classD;K;6;CP$UIDd;3;221E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;355E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;358E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;194E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;194E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;183E;E;S;1;0D;K;6;$classD;K;6;CP$UIDd;3;187E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;359E;E;S;22;{{742, 72}, {140, 17}}S;19;{{0, 0}, {140, 17}}S;19;Max Number Of Rows:S;22;{{923, 225}, {19, 25}}d;2;50S;22;{{880, 223}, {43, 29}}S;18;{{0, 0}, {43, 29}}D;K;6;$classD;K;6;CP$UIDd;3;221E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;355E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;224E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;194E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;194E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;183E;E;S;23;{{774, 233}, {101, 17}}S;19;{{0, 0}, {101, 17}}S;15;Max Item Width:S;22;{{923, 255}, {19, 25}}S;22;{{880, 253}, {43, 29}}D;K;6;$classD;K;6;CP$UIDd;3;221E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;355E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;224E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;194E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;194E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;183E;E;S;23;{{768, 263}, {107, 17}}S;19;{{0, 0}, {107, 17}}S;16;Max Item Height:S;22;{{923, 154}, {19, 25}}S;22;{{880, 152}, {43, 29}}D;K;6;$classD;K;6;CP$UIDd;3;221E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;355E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;224E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;194E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;194E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;183E;E;S;22;{{777, 162}, {98, 17}}S;18;{{0, 0}, {98, 17}}S;15;Min Item Width:S;22;{{923, 184}, {19, 25}}S;22;{{880, 182}, {43, 29}}D;K;6;$classD;K;6;CP$UIDd;3;221E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;355E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;224E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;194E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;194E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;183E;E;S;23;{{772, 192}, {103, 17}}S;19;{{0, 0}, {103, 17}}S;16;Min Item Height:S;21;{{923, 94}, {19, 25}}S;21;{{887, 92}, {36, 29}}D;K;6;$classD;K;6;CP$UIDd;3;221E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;355E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;358E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;194E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;194E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;183E;E;S;22;{{720, 99}, {162, 17}}S;19;{{0, 0}, {162, 17}}S;22;Max Number Of Columns:S;23;{{192, 66}, {491, 297}}S;20;{{0, 0}, {491, 297}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;291E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;3;292E;E;E;d;2;18D;K;6;$classD;K;6;CP$UIDd;3;180E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;88E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;171E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;360E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;293E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;361E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;88E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;205E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;362E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;174E;K;20;CPReuseIdentifierKeyD;K;6;CP$UIDd;3;363E;K;24;CPScrollViewDocumentViewD;K;6;CP$UIDd;2;90E;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;88E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;344E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;344E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;88E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;174E;E;S;20;{{0, 0}, {489, 295}}d;1;6d;1;5D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;342E;E;E;S;21;{{1, -26}, {306, 15}}S;19;{{0, 0}, {306, 15}}f;7;0.95625S;23;{{307, -11}, {15, 307}}S;19;{{0, 0}, {15, 307}}f;18;0.9504643962848297S;21;{{18, 372}, {43, 25}}S;18;{{0, 0}, {43, 25}}S;6;buttonD;K;6;$classD;K;6;CP$UIDd;3;221E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;355E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;358E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;194E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;194E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;183E;E;S;1;+d;2;14S;21;{{73, 372}, {43, 25}}D;K;6;$classD;K;6;CP$UIDd;3;221E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;355E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;364E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;194E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;194E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;183E;E;S;1;-S;22;{{796, 29}, {145, 18}}S;19;{{0, 0}, {145, 18}}S;9;check-boxS;8;selectedS;16;Uniform ResizingS;13;AppControllerS;4;ViewS;20;ExternalProtoypeItemS;20;CPCollectionViewItemS;20;InternalProtoypeItemS;19;CPMutableDictionaryS;15;ArrayControllerS;17;CPArrayControllerS;19;{{0, 0}, {149, 81}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;108E;E;E;d;2;63S;9;ColorViewS;19;{{35, 8}, {72, 17}}S;18;{{0, 0}, {72, 17}}d;2;39S;8;InternalS;20;{{37, 21}, {70, 40}}S;18;{{0, 0}, {70, 40}}S;16;bezeled+editableD;K;6;$classD;K;6;CP$UIDd;3;221E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;355E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;365E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;194E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;194E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;183E;E;S;1;TS;10;OtherViewsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;64E;E;E;S;20;{{1, 1}, {162, 295}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;55E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;187E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;366E;E;S;6;_NS:11S;16;{{0, 0}, {0, 0}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;229E;D;K;6;CP$UIDd;3;229E;D;K;6;CP$UIDd;3;229E;D;K;6;CP$UIDd;3;229E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;367E;D;K;6;CP$UIDd;3;367E;D;K;6;CP$UIDd;3;367E;D;K;6;CP$UIDd;3;229E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;369E;E;E;S;12;columnHeaderD;K;6;$classD;K;6;CP$UIDd;3;221E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;370E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;371E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;194E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;194E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;194E;E;S;11;placeholderD;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;351E;K;4;nameD;K;6;CP$UIDd;3;372E;K;12;defaultValueD;K;6;CP$UIDd;3;233E;K;6;valuesD;K;6;CP$UIDd;3;373E;E;D;K;10;$classnameS;21;_CPKeyedArchiverValueK;8;$classesA;S;21;_CPKeyedArchiverValueS;7;CPValueS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;353E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;374E;E;S;28;_CPFontSystemFacePlaceholderd;2;-1D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;375E;D;K;6;CP$UIDd;3;375E;D;K;6;CP$UIDd;3;375E;D;K;6;CP$UIDd;3;229E;E;E;d;2;15D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;229E;D;K;6;CP$UIDd;3;229E;D;K;6;CP$UIDd;3;229E;D;K;6;CP$UIDd;3;229E;E;E;S;20;{{1, 1}, {489, 295}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;90E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;187E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;376E;E;S;6;_NS:78d;2;16d;2;32D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;229E;D;K;6;CP$UIDd;3;229E;D;K;6;CP$UIDd;3;229E;D;K;6;CP$UIDd;3;229E;E;E;f;3;0.8D;K;10;$classnameS;19;_CPImageAndTextViewK;8;$classesA;S;19;_CPImageAndTextViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;368E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;3;200E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;344E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;344E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;3;200E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;290E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;174E;E;S;13;Lucida Granded;2;11S;4;fontD;K;6;$classD;K;6;CP$UIDd;3;128E;K;10;CP.objectsD;K;21;selectedTableDataViewD;K;6;CP$UIDd;3;377E;K;6;normalD;K;6;CP$UIDd;3;378E;E;E;S;39;{"top":0,"right":5,"bottom":0,"left":5}f;18;0.6862745098039216D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;229E;D;K;6;CP$UIDd;3;171E;D;K;6;CP$UIDd;3;229E;D;K;6;CP$UIDd;3;229E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;221E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;379E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;224E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;183E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;194E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;194E;E;D;K;6;$classD;K;6;CP$UIDd;3;221E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;355E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;224E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;194E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;194E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;183E;E;S;17;Arial, sans-serifE;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/CPCollectionViewNibTest/Resources/MainMenu.xib b/Tests/Manual/CPCollectionViewNibTest/Resources/MainMenu.xib new file mode 100644 index 000000000..f2f4fa303 --- /dev/null +++ b/Tests/Manual/CPCollectionViewNibTest/Resources/MainMenu.xib @@ -0,0 +1,2255 @@ + + + + 1050 + 11G63 + 2844 + 1138.51 + 569.00 + + com.apple.InterfaceBuilder.CocoaPlugin + 2844 + + + YES + NSArrayController + NSButton + NSButtonCell + NSCollectionView + NSCollectionViewItem + NSCustomObject + NSCustomView + NSMenu + NSMenuItem + NSObjectController + NSPopUpButton + NSPopUpButtonCell + NSScrollView + NSScroller + NSStepper + NSStepperCell + NSTableColumn + NSTableView + NSTextField + NSTextFieldCell + NSView + NSWindowTemplate + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + + + PluginDependencyRecalculationVersion + + + + YES + + NSApplication + + + FirstResponder + + + NSApplication + + + 9 + 2 + {{618, 471}, {959, 407}} + 1949827072 + Window + NSWindow + + + + + 256 + + YES + + + 276 + + YES + + + 2304 + + YES + + + 256 + {162, 295} + + + + _NS:13 + YES + + + -2147483392 + {{224, 0}, {16, 17}} + + _NS:19 + + + YES + + 159 + 40 + 1000 + + 75497536 + 2048 + + + LucidaGrande + 11 + 3100 + + + 3 + MC4zMzMzMzI5ODU2AA + + + 6 + System + headerTextColor + + 3 + MAA + + + + + 337641536 + 2048 + Text Cell + + LucidaGrande + 13 + 1044 + + + + 6 + System + controlBackgroundColor + + 3 + MC42NjY2NjY2NjY3AA + + + + 6 + System + controlTextColor + + + + 3 + YES + YES + + + + 3 + 2 + + 3 + MQA + + + 6 + System + gridColor + + 3 + MC41AA + + + 17 + 448790528 + + + 4 + 15 + 0 + NO + 0 + 1 + + + {{1, 1}, {162, 295}} + + + + _NS:11 + + + 4 + + + + -2147483392 + {{224, 17}, {15, 102}} + + + + _NS:58 + + _doScroller: + 0.9925373134328358 + + + + -2147483392 + {{1, 119}, {223, 15}} + + + + _NS:60 + 1 + + _doScroller: + 0.99581589958159 + + + {{20, 44}, {164, 297}} + + + + _NS:9 + 133682 + + + + QSAAAEEgAABBmAAAQZgAAA + + + + 274 + + YES + + + 2304 + + YES + + + 274 + {489, 295} + + + + 2 + _NS:80 + {0, 0} + {0, 0} + 6 + 3 + + YES + + + YES + YES + -1 + 0 + + + {{1, 1}, {489, 295}} + + + + _NS:78 + + + 1 + MSAwIDEAA + + 6 + + + + -2147483392 + {{307, 1}, {15, 307}} + + + + _NS:82 + + _doScroller: + 0.9504643962848297 + 2 + + + + -2147483392 + {{1, 308}, {306, 15}} + + + + _NS:91 + 1 + + _doScroller: + 0.95625000000000004 + 2 + + + {{192, 44}, {491, 297}} + + + + _NS:76 + 133682 + + + + 2 + + + + 265 + {{499, 363}, {187, 26}} + + + + _NS:9 + YES + + -2076049856 + 2048 + + _NS:9 + + 109199360 + 129 + + + 400 + 75 + + + in standalone cib + + 1048576 + 2147483647 + 1 + + NSImage + NSMenuCheckmark + + + NSImage + NSMenuMixedState + + _popUpItemAction: + 1 + + + YES + + OtherViews + + YES + + + + In Main Cib + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + + 1 + YES + YES + 2 + + + + + 265 + {{374, 369}, {116, 17}} + + + + _NS:1535 + YES + + 68157504 + 71304192 + setItemPrototype: + + _NS:1535 + + + 6 + System + controlColor + + + + + + + + 268 + {{17, 349}, {100, 17}} + + + + _NS:1535 + YES + + 68157504 + 272630784 + Select Content: + + _NS:1535 + + + + + + + + 265 + {{923, 286}, {19, 27}} + + + + _NS:1099 + YES + + 786464 + 0 + _NS:1099 + + 100 + 1 + YES + + + + + 265 + {{893, 289}, {28, 22}} + + + + _NS:1535 + YES + + 72351808 + 272634880 + 0 + + LucidaGrande + 15 + 16 + + _NS:1535 + + YES + + 1 + MSAxIDEAA + + + + + + + 265 + {{923, 316}, {19, 27}} + + + + _NS:1099 + YES + + 786464 + 0 + _NS:1099 + + 100 + 1 + YES + + + + + 265 + {{893, 319}, {28, 22}} + + + + _NS:1535 + YES + + 72351808 + 272634880 + 0 + + _NS:1535 + + YES + + + + + + + 265 + {{742, 319}, {146, 17}} + + + + _NS:1535 + YES + + 68157504 + 71304192 + Max Number Of Rows: + + _NS:1535 + + + + + + + + 265 + {{720, 292}, {168, 17}} + + + + _NS:1535 + YES + + 68157504 + 71304192 + Max Number Of Columns: + + _NS:1535 + + + + + + + + 265 + {{923, 226}, {19, 27}} + + + + _NS:1099 + YES + + 786464 + 0 + _NS:1099 + + 1000 + 50 + YES + + + + + 265 + {{886, 229}, {35, 22}} + + + + _NS:1535 + YES + + 72351808 + 272634880 + 0 + + LucidaGrande + 12 + 16 + + _NS:1535 + + YES + + + + + + + 265 + {{777, 229}, {104, 17}} + + + + _NS:1535 + YES + + 68157504 + 71304192 + Min Item Width: + + _NS:1535 + + + + + + + + 265 + {{923, 155}, {19, 27}} + + + + _NS:1099 + YES + + 786464 + 0 + _NS:1099 + + 1000 + 50 + YES + + + + + 265 + {{886, 158}, {35, 22}} + + + + _NS:1535 + YES + + 72351808 + 272634880 + 0 + + _NS:1535 + + YES + + + + + + + 265 + {{774, 158}, {107, 17}} + + + + _NS:1535 + YES + + 68157504 + 71304192 + Max Item Width: + + _NS:1535 + + + + + + + + 265 + {{923, 125}, {19, 27}} + + + + _NS:1099 + YES + + 786464 + 0 + _NS:1099 + + 1000 + 50 + YES + + + + + 265 + {{886, 128}, {35, 22}} + + + + _NS:1535 + YES + + 72351808 + 272634880 + 0 + + _NS:1535 + + YES + + + + + + + 265 + {{768, 128}, {113, 17}} + + + + _NS:1535 + YES + + 68157504 + 71304192 + Max Item Height: + + _NS:1535 + + + + + + + + 265 + {{923, 196}, {19, 27}} + + + + _NS:1099 + YES + + 786464 + 0 + _NS:1099 + + 1000 + 50 + YES + + + + + 265 + {{886, 199}, {35, 22}} + + + + _NS:1535 + YES + + 72351808 + 272634880 + 0 + + _NS:1535 + + YES + + + + + + + 265 + {{772, 199}, {109, 17}} + + + + _NS:1535 + YES + + 68157504 + 71304192 + Min Item Height: + + _NS:1535 + + + + + + + + 292 + {{14, 4}, {55, 32}} + + + + _NS:9 + YES + + 67108864 + 134217728 + + + + _NS:9 + + -2038284288 + 129 + + + 200 + 25 + + + + + 292 + {{69, 4}, {55, 32}} + + + + _NS:9 + YES + + 67108864 + 134217728 + - + + LucidaGrande + 16 + 16 + + _NS:9 + + -2038284288 + 129 + + + 200 + 25 + + + + + 265 + {{796, 360}, {145, 18}} + + + + _NS:9 + YES + + -2080374784 + 268435456 + Uniform Resizing + + _NS:9 + + 1210863872 + 2 + + NSImage + NSSwitch + + + NSSwitch + + + + 200 + 25 + + + + {959, 407} + + + + + {{0, 0}, {1680, 1028}} + {10000000000000, 10000000000000} + YES + + + AppController + + + View + + + + + YES + value + + YES + YES + + YES + YES + YES + YES + YES + + + YES + + + + + 319 + + YES + + + 271 + {{35, 57}, {78, 17}} + + + + _NS:1535 + YES + + 68157504 + 138413056 + Internal + + _NS:1535 + + + + + + + + 319 + {{43, 23}, {62, 33}} + + + + _NS:1535 + YES + + 342884417 + 138413056 + T + + LucidaGrande + 32 + 16 + + _NS:1535 + + YES + + + + + + {149, 81} + + + + ColorView + + + + + YES + + + delegate + + + + 451 + + + + theWindow + + + + 459 + + + + collectionView + + + + 499 + + + + prototypeItemExternal + + + + 500 + + + + setPrototypeItem: + + + + 506 + + + + prototypeItemInternal + + + + 507 + + + + tableView + + + + 609 + + + + content: arrangedObjects + + + + + + content: arrangedObjects + content + arrangedObjects + 2 + + + 598 + + + + selectionIndexes: selectionIndexes + + + + + + selectionIndexes: selectionIndexes + selectionIndexes + selectionIndexes + + 2 + + + 605 + + + + itemPrototype + + + + 607 + + + + delegate + + + + 608 + + + + add: + + + + 603 + + + + remove: + + + + 604 + + + + selectionIndexes: selectionIndexes + + + + + + selectionIndexes: selectionIndexes + selectionIndexes + selectionIndexes + 2 + + + 487 + + + + value: arrangedObjects.value + + + + + + value: arrangedObjects.value + value + arrangedObjects.value + 2 + + + 520 + + + + view + + + + 575 + + + + content + + + + 522 + + + + value: selection.maxNumberOfColumns + + + + + + value: selection.maxNumberOfColumns + value + selection.maxNumberOfColumns + 2 + + + 528 + + + + value: selection.maxNumberOfColumns + + + + + + value: selection.maxNumberOfColumns + value + selection.maxNumberOfColumns + 2 + + + 527 + + + + value: selection.maxNumberOfRows + + + + + + value: selection.maxNumberOfRows + value + selection.maxNumberOfRows + 2 + + + 564 + + + + value: selection.maxNumberOfRows + + + + + + value: selection.maxNumberOfRows + value + selection.maxNumberOfRows + 2 + + + 562 + + + + value: minItemWidth + + + + + + value: minItemWidth + value + minItemWidth + 2 + + + 561 + + + + value: minItemWidth + + + + + + value: minItemWidth + value + minItemWidth + 2 + + + 558 + + + + value: maxItemWidth + + + + + + value: maxItemWidth + value + maxItemWidth + 2 + + + 567 + + + + value: maxItemWidth + + + + + + value: maxItemWidth + value + maxItemWidth + 2 + + + 565 + + + + value: maxItemHeight + + + + + + value: maxItemHeight + value + maxItemHeight + 2 + + + 586 + + + + value: maxItemHeight + + + + + + value: maxItemHeight + value + maxItemHeight + 2 + + + 584 + + + + value: minItemHeight + + + + + + value: minItemHeight + value + minItemHeight + 2 + + + 596 + + + + value: minItemHeight + + + + + + value: minItemHeight + value + minItemHeight + 2 + + + 595 + + + + value: selection.uniformSubviewsResizing + + + + + + value: selection.uniformSubviewsResizing + value + selection.uniformSubviewsResizing + 2 + + + 613 + + + + + YES + + 0 + + YES + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + -3 + + + Application + + + 371 + + + YES + + + + + + 372 + + + YES + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 450 + + + + + 464 + + + External + + + 469 + + + + + 477 + + + YES + + + + + + + + 478 + + + YES + + + + + + 479 + + + + + 481 + + + + + 482 + + + YES + + + + + + 485 + + + + + 460 + + + YES + + + + + + + + 461 + + + + + 462 + + + + + 463 + + + + + 493 + + + YES + + + + + + 494 + + + YES + + + + + + 495 + + + YES + + + + + + + 496 + + + + + 497 + + + + + 501 + + + Internal + + + 508 + + + YES + + + + + + 509 + + + + + 518 + + + YES + + + + + + 519 + + + + + 521 + + + + + 523 + + + YES + + + + + + 524 + + + + + 525 + + + YES + + + + + + 526 + + + + + 529 + + + YES + + + + + + 530 + + + YES + + + + + + 531 + + + + + 532 + + + + + 535 + + + YES + + + + + + 536 + + + + + 537 + + + YES + + + + + + 538 + + + + + 539 + + + YES + + + + + + 540 + + + YES + + + + + + 541 + + + YES + + + + + + 542 + + + + + 543 + + + + + 544 + + + + + 547 + + + YES + + + + + + 548 + + + YES + + + + + + 549 + + + YES + + + + + + 550 + + + + + 551 + + + + + 552 + + + + + 568 + + + YES + + + + + + + 570 + + + YES + + + + + + 571 + + + YES + + + + + + 572 + + + + + 573 + + + + + 576 + + + YES + + + + + + 577 + + + YES + + + + + + 578 + + + YES + + + + + + 579 + + + + + 580 + + + + + 581 + + + + + 587 + + + YES + + + + + + 588 + + + YES + + + + + + 589 + + + YES + + + + + + 590 + + + + + 591 + + + + + 592 + + + + + 599 + + + YES + + + + + + 600 + + + + + 601 + + + YES + + + + + + 602 + + + + + 610 + + + YES + + + + + + 611 + + + + + + + YES + + YES + -1.IBPluginDependency + -2.IBPluginDependency + -3.IBPluginDependency + 371.IBNSWindowAutoPositionCentersHorizontal + 371.IBNSWindowAutoPositionCentersVertical + 371.IBPluginDependency + 371.IBWindowTemplateEditedContentRect + 371.NSWindowTemplate.visibleAtLaunch + 372.IBPluginDependency + 450.IBPluginDependency + 460.IBPluginDependency + 461.IBPluginDependency + 462.IBPluginDependency + 463.IBPluginDependency + 464.CustomClassName + 464.IBPluginDependency + 469.CustomClassName + 469.IBPluginDependency + 477.IBPluginDependency + 478.IBPluginDependency + 479.IBPluginDependency + 481.IBPluginDependency + 482.IBPluginDependency + 485.IBPluginDependency + 493.IBPluginDependency + 494.IBPluginDependency + 495.IBPluginDependency + 496.IBPluginDependency + 497.IBPluginDependency + 501.CustomClassName + 501.IBPluginDependency + 508.IBPluginDependency + 509.IBPluginDependency + 518.IBPluginDependency + 519.IBPluginDependency + 521.IBPluginDependency + 523.IBPluginDependency + 524.IBPluginDependency + 525.IBPluginDependency + 526.IBPluginDependency + 529.IBPluginDependency + 530.IBPluginDependency + 531.IBPluginDependency + 532.IBPluginDependency + 535.IBPluginDependency + 536.IBPluginDependency + 537.IBPluginDependency + 538.IBPluginDependency + 539.IBPluginDependency + 540.IBPluginDependency + 541.IBPluginDependency + 542.IBPluginDependency + 543.IBPluginDependency + 544.IBPluginDependency + 547.IBPluginDependency + 548.IBPluginDependency + 549.IBPluginDependency + 550.IBPluginDependency + 551.IBPluginDependency + 552.IBPluginDependency + 568.IBNSViewMetadataLastInspectedTranslatesAutoresizingMaskIntoConstraints + 568.IBPluginDependency + 570.IBPluginDependency + 571.IBPluginDependency + 572.IBPluginDependency + 573.IBPluginDependency + 576.IBPluginDependency + 577.IBPluginDependency + 578.IBPluginDependency + 579.IBPluginDependency + 580.IBPluginDependency + 581.IBPluginDependency + 587.IBPluginDependency + 588.IBPluginDependency + 589.IBPluginDependency + 590.IBPluginDependency + 591.IBPluginDependency + 592.IBPluginDependency + 599.IBPluginDependency + 600.IBPluginDependency + 601.IBPluginDependency + 602.IBPluginDependency + 610.IBPluginDependency + 611.IBPluginDependency + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + + com.apple.InterfaceBuilder.CocoaPlugin + {{303, 221}, {480, 360}} + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + ExternalProtoypeItem + com.apple.InterfaceBuilder.CocoaPlugin + ArrayController + 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.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + InternalProtoypeItem + 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.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.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.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.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.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.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + + + YES + + + + + + YES + + + + + 613 + + + + YES + + AppController + NSObject + + setPrototypeItem: + id + + + setPrototypeItem: + + setPrototypeItem: + id + + + + YES + + YES + collectionView + prototypeItemExternal + prototypeItemInternal + tableView + + + YES + NSCollectionView + ExternalProtoypeItem + InternalProtoypeItem + NSTableView + + + + YES + + YES + collectionView + prototypeItemExternal + prototypeItemInternal + tableView + + + YES + + collectionView + NSCollectionView + + + prototypeItemExternal + ExternalProtoypeItem + + + prototypeItemInternal + InternalProtoypeItem + + + tableView + NSTableView + + + + + IBProjectSource + ./Classes/AppController.h + + + + ArrayController + NSArrayController + + IBProjectSource + ./Classes/ArrayController.h + + + + ColorView + NSView + + IBProjectSource + ./Classes/ColorView.h + + + + ExternalProtoypeItem + NSCollectionViewItem + + IBProjectSource + ./Classes/ExternalProtoypeItem.h + + + + InternalProtoypeItem + NSCollectionViewItem + + textField + NSTextField + + + textField + + textField + NSTextField + + + + IBProjectSource + ./Classes/InternalProtoypeItem.h + + + + + 0 + IBCocoaFramework + + com.apple.InterfaceBuilder.CocoaPlugin.macosx + + + + com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 + + + YES + 3 + + YES + + YES + NSMenuCheckmark + NSMenuMixedState + NSSwitch + + + YES + {11, 11} + {10, 3} + {15, 15} + + + + diff --git a/Tests/Manual/CPCollectionViewNibTest/Resources/View.cib b/Tests/Manual/CPCollectionViewNibTest/Resources/View.cib new file mode 100644 index 000000000..1cc30eca8 --- /dev/null +++ b/Tests/Manual/CPCollectionViewNibTest/Resources/View.cib @@ -0,0 +1 @@ +280NPLIST;1.0;D;K;4;$topD;K;18;CPCibObjectDataKeyD;K;6;CP$UIDd;1;2E;E;K;8;$objectsA;S;5;$nullD;K;10;$classnameS;16;_CPCibObjectDataK;8;$classesA;S;16;_CPCibObjectDataS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;1E;K;28;_CPCibObjectDataNamesKeysKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataNamesValuesKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataClassesKeysKeyD;K;6;CP$UIDd;1;0E;K;32;_CPCibObjectDataClassesValuesKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataConnectionsKeyD;K;6;CP$UIDd;1;4E;K;28;_CPCibObjectDataFrameworkKeyD;K;6;CP$UIDd;1;0E;K;26;_CPCibObjectDataNextOidKeyD;K;6;CP$UIDd;1;5E;K;30;_CPCibObjectDataObjectsKeysKeyD;K;6;CP$UIDd;1;6E;K;32;_CPCibObjectDataObjectsValuesKeyD;K;6;CP$UIDd;1;7E;K;26;_CPCibObjectDataOidKeysKeyD;K;6;CP$UIDd;1;8E;K;28;_CPCibObjectDataOidValuesKeyD;K;6;CP$UIDd;1;9E;K;28;_CPCibObjectDataFileOwnerKeyD;K;6;CP$UIDd;2;11E;K;33;_CPCibObjectDataVisibleWindowsKeyD;K;6;CP$UIDd;2;13E;E;D;K;10;$classnameS;7;CPArrayK;8;$classesA;S;7;CPArrayS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;15E;D;K;6;CP$UIDd;2;17E;D;K;6;CP$UIDd;2;18E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;19E;D;K;6;CP$UIDd;2;21E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;1;0E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;21E;D;K;6;CP$UIDd;2;23E;D;K;6;CP$UIDd;2;21E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;21E;D;K;6;CP$UIDd;2;25E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;10;$classnameS;18;_CPCibCustomObjectK;8;$classesA;S;18;_CPCibCustomObjectS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;26E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;12E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;2;27E;E;D;K;10;$classnameS;20;CPCibOutletConnectorK;8;$classesA;S;20;CPCibOutletConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;11E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;21E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;28E;E;D;K;10;$classnameS;21;CPCibBindingConnectorK;8;$classesA;S;21;CPCibBindingConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;25E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;11E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;29E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;30E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;2;31E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;2;33E;E;D;K;6;$classD;K;6;CP$UIDd;2;16E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;23E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;11E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;34E;K;31;CPCibBindingConnectorBindingKeyD;K;6;CP$UIDd;2;35E;K;31;CPCibBindingConnectorKeyPathKeyD;K;6;CP$UIDd;2;36E;K;31;CPCibBindingConnectorOptionsKeyD;K;6;CP$UIDd;2;37E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;38E;E;D;K;10;$classnameS;16;_CPCibCustomViewK;8;$classesA;S;16;_CPCibCustomViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;20E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;39E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;40E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;40E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;41E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;42E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;43E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;2;44E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;22E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;21E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;39E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;45E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;46E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;21E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;47E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;48E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;49E;K;6;$afontD;K;6;CP$UIDd;2;51E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;52E;K;11;$aalignmentD;K;6;CP$UIDd;2;52E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;53E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;54E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;55E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;53E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;53E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;53E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;57E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;52E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;52E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;22E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;21E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;39E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;58E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;59E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;21E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;60E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;48E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;43E;K;6;$afontD;K;6;CP$UIDd;2;61E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;52E;K;11;$aalignmentD;K;6;CP$UIDd;2;52E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;53E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;62E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;55E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;63E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;63E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;63E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;64E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;52E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;52E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;22E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;21E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;39E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;65E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;66E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;21E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;67E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;48E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;43E;K;6;$afontD;K;6;CP$UIDd;2;61E;K;12;$atext-colorD;K;6;CP$UIDd;2;57E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;52E;K;11;$aalignmentD;K;6;CP$UIDd;2;68E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;53E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;69E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;55E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;63E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;63E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;63E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;2;64E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;52E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;68E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;S;20;CPCollectionViewItemD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;4;viewS;16;hidden: selectedS;6;hiddenS;8;selectedD;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;32E;K;10;CP.objectsD;K;22;CPValueTransformerNameD;K;6;CP$UIDd;2;70E;K;24;CPNoSelectionPlaceholderD;K;6;CP$UIDd;2;39E;K;17;CPNullPlaceholderD;K;6;CP$UIDd;2;39E;E;E;S;30;value: representedObject.valueS;5;valueS;23;representedObject.valueD;K;6;$classD;K;6;CP$UIDd;2;32E;K;10;CP.objectsD;E;E;S;13;CPApplicationd;1;0S;19;{{0, 0}, {165, 94}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;25E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;23E;E;E;d;2;47S;6;normalS;9;ColorViewS;20;{{42, 24}, {77, 46}}S;18;{{0, 0}, {77, 46}}d;2;63S;9;textfieldS;16;bezeled+editableD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;50E;K;13;CPFontNameKeyD;K;6;CP$UIDd;2;71E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;2;72E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;63E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;63E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;53E;E;d;1;2T;S;1;Td;4;3072D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;2;73E;E;S;19;{{39, 8}, {81, 17}}S;18;{{0, 0}, {81, 17}}d;2;39D;K;6;$classD;K;6;CP$UIDd;2;50E;K;13;CPFontNameKeyD;K;6;CP$UIDd;2;71E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;2;74E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;63E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;63E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;53E;E;S;8;ExternalF;D;K;6;$classD;K;6;CP$UIDd;2;56E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;2;75E;E;S;20;{{44, 78}, {76, 13}}S;18;{{0, 0}, {76, 13}}d;2;31d;1;4S;10;selected !S;15;CPNegateBooleanS;28;_CPFontSystemFacePlaceholderd;2;32D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;76E;E;E;d;2;-1D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;76E;E;E;d;1;1f;18;0.6862745098039216E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/CPCollectionViewNibTest/Resources/View.xib b/Tests/Manual/CPCollectionViewNibTest/Resources/View.xib new file mode 100644 index 000000000..eb7a8ad2f --- /dev/null +++ b/Tests/Manual/CPCollectionViewNibTest/Resources/View.xib @@ -0,0 +1,298 @@ + + + + 1070 + 11G63 + 2844 + 1138.51 + 569.00 + + com.apple.InterfaceBuilder.CocoaPlugin + 2844 + + + NSCustomObject + NSCustomView + NSTextField + NSTextFieldCell + + + com.apple.InterfaceBuilder.CocoaPlugin + + + PluginDependencyRecalculationVersion + + + + + NSCollectionViewItem + + + FirstResponder + + + NSApplication + + + + 303 + + + + 311 + {{44, 4}, {82, 13}} + + + + _NS:1535 + YES + + 68157504 + 272630784 + selected ! + + LucidaGrande + 13 + 1044 + + _NS:1535 + + + 6 + System + controlColor + + 3 + MC42NjY2NjY2NjY3AA + + + + 1 + MSAxIDEAA + + + + + + 271 + {{39, 70}, {87, 17}} + + + + _NS:1535 + YES + + 68157504 + 138413056 + External + + _NS:1535 + + + + 6 + System + controlTextColor + + 3 + MAA + + + + + + + 319 + {{48, 27}, {69, 39}} + + + + _NS:1535 + YES + + 342884417 + 138413056 + T + + LucidaGrande + 32 + 16 + + _NS:1535 + + YES + + + + + + {165, 94} + + + + ColorView + + + + + + + view + + + + 16 + + + + value: representedObject.value + + + + + + value: representedObject.value + value + representedObject.value + 2 + + + 39 + + + + hidden: selected + + + + + + hidden: selected + hidden + selected + + + + NSNegateBoolean + + 2 + + + 72 + + + + + + 0 + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + -3 + + + Application + + + 1 + + + + + + + + + + 28 + + + + + + + + 29 + + + + + 32 + + + + + + + + 33 + + + + + 43 + + + + + + + + 44 + + + + + + + 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.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + + + + + 72 + + + + + ColorView + NSView + + IBProjectSource + ./Classes/ColorView.h + + + + + 0 + IBCocoaFramework + YES + 3 + + diff --git a/Tests/Manual/CPCollectionViewNibTest/Resources/spinner.gif b/Tests/Manual/CPCollectionViewNibTest/Resources/spinner.gif new file mode 100644 index 000000000..77b36416b Binary files /dev/null and b/Tests/Manual/CPCollectionViewNibTest/Resources/spinner.gif differ diff --git a/Tests/Manual/CPCollectionViewNibTest/index-debug.html b/Tests/Manual/CPCollectionViewNibTest/index-debug.html new file mode 100644 index 000000000..e6d7aaf45 --- /dev/null +++ b/Tests/Manual/CPCollectionViewNibTest/index-debug.html @@ -0,0 +1,107 @@ + + + + + + + + + + + + + + + CPCollectionViewNibTest + + + + + + + + + + + + + + +
+
+ + + +
+
+ + + diff --git a/Tests/Manual/CPCollectionViewNibTest/index.html b/Tests/Manual/CPCollectionViewNibTest/index.html new file mode 100644 index 000000000..f3c766373 --- /dev/null +++ b/Tests/Manual/CPCollectionViewNibTest/index.html @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + CPCollectionViewNibTest + + + + + + + + + + + + +
+
+ + + +
+
+ + + diff --git a/Tests/Manual/CPCollectionViewNibTest/main.j b/Tests/Manual/CPCollectionViewNibTest/main.j new file mode 100644 index 000000000..28cf7f656 --- /dev/null +++ b/Tests/Manual/CPCollectionViewNibTest/main.j @@ -0,0 +1,18 @@ +/* + * AppController.j + * CPCollectionViewNibTest + * + * Created by You on November 28, 2012. + * Copyright 2012, Your Company All rights reserved. + */ + +@import +@import + +@import "AppController.j" + + +function main(args, namedArgs) +{ + CPApplicationMain(args, namedArgs); +}