Fixed: Bits with odd heights or widths could be blurry when placed on a Grid (thanks to David Hoyos for the fix!)
     9 /* Begin PBXBuildFile section */
 
    10 		1D3623EC0D0F72F000981E51 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D3623EB0D0F72F000981E51 /* CoreGraphics.framework */; };
 
    11 		1D60589B0D05DD56006BFB54 /* main-iPhone.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main-iPhone.m */; };
 
    12 		1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };
 
    13 		1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; };
 
    14 		27124B380E2852A700B61BE3 /* Player.m in Sources */ = {isa = PBXBuildFile; fileRef = 27124B350E2852A700B61BE3 /* Player.m */; };
 
    15 		27124B390E2852A700B61BE3 /* Turn.m in Sources */ = {isa = PBXBuildFile; fileRef = 27124B370E2852A700B61BE3 /* Turn.m */; };
 
    16 		273D49890ED7277500EAFFCE /* Funk.aiff in Resources */ = {isa = PBXBuildFile; fileRef = 273D49880ED7277500EAFFCE /* Funk.aiff */; };
 
    17 		2740502B0DEF36DF0006A9EE /* Pop.aiff in Resources */ = {isa = PBXBuildFile; fileRef = 274050290DEF36DF0006A9EE /* Pop.aiff */; };
 
    18 		2740502C0DEF36DF0006A9EE /* Tink.aiff in Resources */ = {isa = PBXBuildFile; fileRef = 2740502A0DEF36DF0006A9EE /* Tink.aiff */; };
 
    19 		279F4B590D85C51700B32DBF /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 279F4B580D85C51700B32DBF /* AudioToolbox.framework */; };
 
    20 		279F4B5B0D85C51700B32DBF /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 279F4B5A0D85C51700B32DBF /* QuartzCore.framework */; };
 
    21 		279F4B620D85C63000B32DBF /* GGBTextLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 279F4B610D85C63000B32DBF /* GGBTextLayer.m */; };
 
    22 		279F4B6A0D85CBFC00B32DBF /* iPhoneAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 279F4B690D85CBFC00B32DBF /* iPhoneAppDelegate.m */; };
 
    23 		279F4B740D85CDE900B32DBF /* ToolbarAdvanced.icns in Resources */ = {isa = PBXBuildFile; fileRef = 279F4B720D85CDE900B32DBF /* ToolbarAdvanced.icns */; };
 
    24 		279F4C1D0D85D0AF00B32DBF /* X.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 279F4C1C0D85D0AF00B32DBF /* X.tiff */; };
 
    25 		279F4C1F0D85D0CB00B32DBF /* O.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 279F4C1E0D85D0CB00B32DBF /* O.tiff */; };
 
    26 		279F4C740D85D43800B32DBF /* Background.png in Resources */ = {isa = PBXBuildFile; fileRef = 279F4C730D85D43800B32DBF /* Background.png */; };
 
    27 		279F4E0A0D860B8800B32DBF /* Green Ball.png in Resources */ = {isa = PBXBuildFile; fileRef = 279F4E050D860B8800B32DBF /* Green Ball.png */; };
 
    28 		279F4E0B0D860B8800B32DBF /* Red Ball.png in Resources */ = {isa = PBXBuildFile; fileRef = 279F4E060D860B8800B32DBF /* Red Ball.png */; };
 
    29 		279F4E0C0D860B8800B32DBF /* White Ball.png in Resources */ = {isa = PBXBuildFile; fileRef = 279F4E070D860B8800B32DBF /* White Ball.png */; };
 
    30 		279F4E0E0D860B8800B32DBF /* Yellow Ball.png in Resources */ = {isa = PBXBuildFile; fileRef = 279F4E090D860B8800B32DBF /* Yellow Ball.png */; };
 
    31 		279F4F1B0D86448100B32DBF /* Wood.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 279F4F1A0D86448100B32DBF /* Wood.jpg */; };
 
    32 		27C99B0F0D820868005AFD4F /* BoardUIView.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99AE40D820868005AFD4F /* BoardUIView.m */; };
 
    33 		27C99B100D820868005AFD4F /* Bit.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99AE60D820868005AFD4F /* Bit.m */; };
 
    34 		27C99B110D820868005AFD4F /* BitHolder.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99AE80D820868005AFD4F /* BitHolder.m */; };
 
    35 		27C99B120D820868005AFD4F /* Stack.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99AEA0D820868005AFD4F /* Stack.m */; };
 
    36 		27C99B130D820868005AFD4F /* Card.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99AED0D820868005AFD4F /* Card.m */; };
 
    37 		27C99B140D820868005AFD4F /* Deck.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99AEF0D820868005AFD4F /* Deck.m */; };
 
    38 		27C99B150D820868005AFD4F /* PlayingCard.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99AF10D820868005AFD4F /* PlayingCard.m */; };
 
    39 		27C99B160D820868005AFD4F /* Piece.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99AF40D820868005AFD4F /* Piece.m */; };
 
    40 		27C99B170D820868005AFD4F /* DiscPiece.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99AF60D820868005AFD4F /* DiscPiece.m */; };
 
    41 		27C99B180D820868005AFD4F /* Grid.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99AF80D820868005AFD4F /* Grid.m */; };
 
    42 		27C99B190D820868005AFD4F /* HexGrid.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99AFA0D820868005AFD4F /* HexGrid.m */; };
 
    43 		27C99B1A0D820868005AFD4F /* Dispenser.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99AFC0D820868005AFD4F /* Dispenser.m */; };
 
    44 		27C99B1B0D820868005AFD4F /* Game.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99AFF0D820868005AFD4F /* Game.m */; };
 
    45 		27C99B1C0D820868005AFD4F /* TicTacToeGame.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99B010D820868005AFD4F /* TicTacToeGame.m */; };
 
    46 		27C99B1D0D820868005AFD4F /* CheckersGame.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99B030D820868005AFD4F /* CheckersGame.m */; };
 
    47 		27C99B1E0D820868005AFD4F /* HexchequerGame.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99B050D820868005AFD4F /* HexchequerGame.m */; };
 
    48 		27C99B1F0D820868005AFD4F /* GoGame.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99B070D820868005AFD4F /* GoGame.m */; };
 
    49 		27C99B200D820868005AFD4F /* KlondikeGame.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99B090D820868005AFD4F /* KlondikeGame.m */; };
 
    50 		27C99B210D820868005AFD4F /* QuartzUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99B0B0D820868005AFD4F /* QuartzUtils.m */; };
 
    51 		27C99B220D820868005AFD4F /* GGBUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99B0D0D820868005AFD4F /* GGBUtils.m */; };
 
    52 		27C99B510D82106E005AFD4F /* GGBLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C99B500D82106E005AFD4F /* GGBLayer.m */; };
 
    53 		27DBB52C0DEE059700616D85 /* Blue.png in Resources */ = {isa = PBXBuildFile; fileRef = 27DBB5270DEE059700616D85 /* Blue.png */; };
 
    54 		27DBB52D0DEE059800616D85 /* Gold.png in Resources */ = {isa = PBXBuildFile; fileRef = 27DBB5280DEE059700616D85 /* Gold.png */; };
 
    55 		27DBB52E0DEE059800616D85 /* Green.png in Resources */ = {isa = PBXBuildFile; fileRef = 27DBB5290DEE059700616D85 /* Green.png */; };
 
    56 		27DBB52F0DEE059900616D85 /* Red.png in Resources */ = {isa = PBXBuildFile; fileRef = 27DBB52A0DEE059700616D85 /* Red.png */; };
 
    57 		27DBB5300DEE059900616D85 /* Violet.png in Resources */ = {isa = PBXBuildFile; fileRef = 27DBB52B0DEE059700616D85 /* Violet.png */; };
 
    58 /* End PBXBuildFile section */
 
    60 /* Begin PBXFileReference section */
 
    61 		1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
 
    62 		1D3623EB0D0F72F000981E51 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
 
    63 		1D6058910D05DD3D006BFB54 /* GeekGameBoard.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = GeekGameBoard.app; sourceTree = BUILT_PRODUCTS_DIR; };
 
    64 		1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
 
    65 		27124B330E2852A700B61BE3 /* Game+Protected.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Game+Protected.h"; sourceTree = "<group>"; };
 
    66 		27124B340E2852A700B61BE3 /* Player.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Player.h; sourceTree = "<group>"; };
 
    67 		27124B350E2852A700B61BE3 /* Player.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Player.m; sourceTree = "<group>"; };
 
    68 		27124B360E2852A700B61BE3 /* Turn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Turn.h; sourceTree = "<group>"; };
 
    69 		27124B370E2852A700B61BE3 /* Turn.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Turn.m; sourceTree = "<group>"; };
 
    70 		273D49880ED7277500EAFFCE /* Funk.aiff */ = {isa = PBXFileReference; lastKnownFileType = audio.aiff; name = Funk.aiff; path = /System/Library/Sounds/Funk.aiff; sourceTree = "<absolute>"; };
 
    71 		274050290DEF36DF0006A9EE /* Pop.aiff */ = {isa = PBXFileReference; lastKnownFileType = audio.aiff; name = Pop.aiff; path = /System/Library/Sounds/Pop.aiff; sourceTree = "<absolute>"; };
 
    72 		2740502A0DEF36DF0006A9EE /* Tink.aiff */ = {isa = PBXFileReference; lastKnownFileType = audio.aiff; name = Tink.aiff; path = /System/Library/Sounds/Tink.aiff; sourceTree = "<absolute>"; };
 
    73 		279F4B580D85C51700B32DBF /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
 
    74 		279F4B5A0D85C51700B32DBF /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
 
    75 		279F4B600D85C63000B32DBF /* GGBTextLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GGBTextLayer.h; sourceTree = "<group>"; };
 
    76 		279F4B610D85C63000B32DBF /* GGBTextLayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GGBTextLayer.m; sourceTree = "<group>"; };
 
    77 		279F4B680D85CBFC00B32DBF /* iPhoneAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = iPhoneAppDelegate.h; path = Source/iPhoneAppDelegate.h; sourceTree = "<group>"; };
 
    78 		279F4B690D85CBFC00B32DBF /* iPhoneAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = iPhoneAppDelegate.m; path = Source/iPhoneAppDelegate.m; sourceTree = "<group>"; };
 
    79 		279F4B720D85CDE900B32DBF /* ToolbarAdvanced.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = ToolbarAdvanced.icns; path = /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ToolbarAdvanced.icns; sourceTree = "<absolute>"; };
 
    80 		279F4C1C0D85D0AF00B32DBF /* X.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = X.tiff; sourceTree = "<group>"; };
 
    81 		279F4C1E0D85D0CB00B32DBF /* O.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = O.tiff; sourceTree = "<group>"; };
 
    82 		279F4C730D85D43800B32DBF /* Background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Background.png; sourceTree = "<group>"; };
 
    83 		279F4E050D860B8800B32DBF /* Green Ball.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Green Ball.png"; sourceTree = "<group>"; };
 
    84 		279F4E060D860B8800B32DBF /* Red Ball.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Red Ball.png"; sourceTree = "<group>"; };
 
    85 		279F4E070D860B8800B32DBF /* White Ball.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "White Ball.png"; sourceTree = "<group>"; };
 
    86 		279F4E090D860B8800B32DBF /* Yellow Ball.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Yellow Ball.png"; sourceTree = "<group>"; };
 
    87 		279F4F1A0D86448100B32DBF /* Wood.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = Wood.jpg; sourceTree = "<group>"; };
 
    88 		27C99AE30D820868005AFD4F /* BoardUIView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BoardUIView.h; sourceTree = "<group>"; };
 
    89 		27C99AE40D820868005AFD4F /* BoardUIView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BoardUIView.m; sourceTree = "<group>"; };
 
    90 		27C99AE50D820868005AFD4F /* Bit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Bit.h; sourceTree = "<group>"; };
 
    91 		27C99AE60D820868005AFD4F /* Bit.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Bit.m; sourceTree = "<group>"; };
 
    92 		27C99AE70D820868005AFD4F /* BitHolder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BitHolder.h; sourceTree = "<group>"; };
 
    93 		27C99AE80D820868005AFD4F /* BitHolder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BitHolder.m; sourceTree = "<group>"; };
 
    94 		27C99AE90D820868005AFD4F /* Stack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Stack.h; sourceTree = "<group>"; };
 
    95 		27C99AEA0D820868005AFD4F /* Stack.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Stack.m; sourceTree = "<group>"; };
 
    96 		27C99AEC0D820868005AFD4F /* Card.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Card.h; sourceTree = "<group>"; };
 
    97 		27C99AED0D820868005AFD4F /* Card.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Card.m; sourceTree = "<group>"; };
 
    98 		27C99AEE0D820868005AFD4F /* Deck.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Deck.h; sourceTree = "<group>"; };
 
    99 		27C99AEF0D820868005AFD4F /* Deck.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Deck.m; sourceTree = "<group>"; };
 
   100 		27C99AF00D820868005AFD4F /* PlayingCard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlayingCard.h; sourceTree = "<group>"; };
 
   101 		27C99AF10D820868005AFD4F /* PlayingCard.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PlayingCard.m; sourceTree = "<group>"; };
 
   102 		27C99AF30D820868005AFD4F /* Piece.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Piece.h; sourceTree = "<group>"; };
 
   103 		27C99AF40D820868005AFD4F /* Piece.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Piece.m; sourceTree = "<group>"; };
 
   104 		27C99AF50D820868005AFD4F /* DiscPiece.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DiscPiece.h; sourceTree = "<group>"; };
 
   105 		27C99AF60D820868005AFD4F /* DiscPiece.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DiscPiece.m; sourceTree = "<group>"; };
 
   106 		27C99AF70D820868005AFD4F /* Grid.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Grid.h; sourceTree = "<group>"; };
 
   107 		27C99AF80D820868005AFD4F /* Grid.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Grid.m; sourceTree = "<group>"; };
 
   108 		27C99AF90D820868005AFD4F /* HexGrid.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HexGrid.h; sourceTree = "<group>"; };
 
   109 		27C99AFA0D820868005AFD4F /* HexGrid.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HexGrid.m; sourceTree = "<group>"; };
 
   110 		27C99AFB0D820868005AFD4F /* Dispenser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Dispenser.h; sourceTree = "<group>"; };
 
   111 		27C99AFC0D820868005AFD4F /* Dispenser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Dispenser.m; sourceTree = "<group>"; };
 
   112 		27C99AFE0D820868005AFD4F /* Game.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Game.h; sourceTree = "<group>"; };
 
   113 		27C99AFF0D820868005AFD4F /* Game.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Game.m; sourceTree = "<group>"; };
 
   114 		27C99B000D820868005AFD4F /* TicTacToeGame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TicTacToeGame.h; sourceTree = "<group>"; };
 
   115 		27C99B010D820868005AFD4F /* TicTacToeGame.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TicTacToeGame.m; sourceTree = "<group>"; };
 
   116 		27C99B020D820868005AFD4F /* CheckersGame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CheckersGame.h; sourceTree = "<group>"; };
 
   117 		27C99B030D820868005AFD4F /* CheckersGame.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CheckersGame.m; sourceTree = "<group>"; };
 
   118 		27C99B040D820868005AFD4F /* HexchequerGame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HexchequerGame.h; sourceTree = "<group>"; };
 
   119 		27C99B050D820868005AFD4F /* HexchequerGame.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HexchequerGame.m; sourceTree = "<group>"; };
 
   120 		27C99B060D820868005AFD4F /* GoGame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GoGame.h; sourceTree = "<group>"; };
 
   121 		27C99B070D820868005AFD4F /* GoGame.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GoGame.m; sourceTree = "<group>"; };
 
   122 		27C99B080D820868005AFD4F /* KlondikeGame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KlondikeGame.h; sourceTree = "<group>"; };
 
   123 		27C99B090D820868005AFD4F /* KlondikeGame.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KlondikeGame.m; sourceTree = "<group>"; };
 
   124 		27C99B0A0D820868005AFD4F /* QuartzUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QuartzUtils.h; sourceTree = "<group>"; };
 
   125 		27C99B0B0D820868005AFD4F /* QuartzUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = QuartzUtils.m; sourceTree = "<group>"; };
 
   126 		27C99B0C0D820868005AFD4F /* GGBUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GGBUtils.h; sourceTree = "<group>"; };
 
   127 		27C99B0D0D820868005AFD4F /* GGBUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GGBUtils.m; sourceTree = "<group>"; };
 
   128 		27C99B4F0D82106E005AFD4F /* GGBLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GGBLayer.h; sourceTree = "<group>"; };
 
   129 		27C99B500D82106E005AFD4F /* GGBLayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GGBLayer.m; sourceTree = "<group>"; };
 
   130 		27DBB5270DEE059700616D85 /* Blue.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Blue.png; sourceTree = "<group>"; };
 
   131 		27DBB5280DEE059700616D85 /* Gold.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Gold.png; sourceTree = "<group>"; };
 
   132 		27DBB5290DEE059700616D85 /* Green.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Green.png; sourceTree = "<group>"; };
 
   133 		27DBB52A0DEE059700616D85 /* Red.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Red.png; sourceTree = "<group>"; };
 
   134 		27DBB52B0DEE059700616D85 /* Violet.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Violet.png; sourceTree = "<group>"; };
 
   135 		29B97316FDCFA39411CA2CEA /* main-iPhone.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "main-iPhone.m"; path = "Source/main-iPhone.m"; sourceTree = "<group>"; };
 
   136 		32CA4F630368D1EE00C91783 /* GGB-iPhone_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "GGB-iPhone_Prefix.pch"; path = "Source/GGB-iPhone_Prefix.pch"; sourceTree = "<group>"; };
 
   137 		8D1107310486CEB800E47090 /* Info-iPhone.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Info-iPhone.plist"; sourceTree = "<group>"; };
 
   138 /* End PBXFileReference section */
 
   140 /* Begin PBXFrameworksBuildPhase section */
 
   141 		1D60588F0D05DD3D006BFB54 /* Frameworks */ = {
 
   142 			isa = PBXFrameworksBuildPhase;
 
   143 			buildActionMask = 2147483647;
 
   145 				1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */,
 
   146 				1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */,
 
   147 				1D3623EC0D0F72F000981E51 /* CoreGraphics.framework in Frameworks */,
 
   148 				279F4B590D85C51700B32DBF /* AudioToolbox.framework in Frameworks */,
 
   149 				279F4B5B0D85C51700B32DBF /* QuartzCore.framework in Frameworks */,
 
   151 			runOnlyForDeploymentPostprocessing = 0;
 
   153 /* End PBXFrameworksBuildPhase section */
 
   155 /* Begin PBXGroup section */
 
   156 		1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {
 
   159 				1D3623EB0D0F72F000981E51 /* CoreGraphics.framework */,
 
   160 				1DF5F4DF0D08C38300B7A737 /* UIKit.framework */,
 
   161 				1D30AB110D05D00D00671497 /* Foundation.framework */,
 
   163 			name = "Linked Frameworks";
 
   164 			sourceTree = "<group>";
 
   166 		1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {
 
   170 			name = "Other Frameworks";
 
   171 			sourceTree = "<group>";
 
   173 		19C28FACFE9D520D11CA2CBB /* Products */ = {
 
   176 				1D6058910D05DD3D006BFB54 /* GeekGameBoard.app */,
 
   179 			sourceTree = "<group>";
 
   181 		27C99AE00D820868005AFD4F /* Source */ = {
 
   184 				27C99AE30D820868005AFD4F /* BoardUIView.h */,
 
   185 				27C99AE40D820868005AFD4F /* BoardUIView.m */,
 
   186 				27C99AE50D820868005AFD4F /* Bit.h */,
 
   187 				27C99AE60D820868005AFD4F /* Bit.m */,
 
   188 				27C99AE70D820868005AFD4F /* BitHolder.h */,
 
   189 				27C99AE80D820868005AFD4F /* BitHolder.m */,
 
   190 				27C99AE90D820868005AFD4F /* Stack.h */,
 
   191 				27C99AEA0D820868005AFD4F /* Stack.m */,
 
   192 				27C99AF20D820868005AFD4F /* Boards and Pieces */,
 
   193 				27C99AEB0D820868005AFD4F /* Cards */,
 
   194 				27C99AFD0D820868005AFD4F /* Games */,
 
   195 				27C99B4F0D82106E005AFD4F /* GGBLayer.h */,
 
   196 				27C99B500D82106E005AFD4F /* GGBLayer.m */,
 
   197 				279F4B600D85C63000B32DBF /* GGBTextLayer.h */,
 
   198 				279F4B610D85C63000B32DBF /* GGBTextLayer.m */,
 
   199 				27C99B0A0D820868005AFD4F /* QuartzUtils.h */,
 
   200 				27C99B0B0D820868005AFD4F /* QuartzUtils.m */,
 
   201 				27C99B0C0D820868005AFD4F /* GGBUtils.h */,
 
   202 				27C99B0D0D820868005AFD4F /* GGBUtils.m */,
 
   205 			sourceTree = "<group>";
 
   207 		27C99AEB0D820868005AFD4F /* Cards */ = {
 
   210 				27C99AEC0D820868005AFD4F /* Card.h */,
 
   211 				27C99AED0D820868005AFD4F /* Card.m */,
 
   212 				27C99AEE0D820868005AFD4F /* Deck.h */,
 
   213 				27C99AEF0D820868005AFD4F /* Deck.m */,
 
   214 				27C99AF00D820868005AFD4F /* PlayingCard.h */,
 
   215 				27C99AF10D820868005AFD4F /* PlayingCard.m */,
 
   218 			sourceTree = "<group>";
 
   220 		27C99AF20D820868005AFD4F /* Boards and Pieces */ = {
 
   223 				27C99AF30D820868005AFD4F /* Piece.h */,
 
   224 				27C99AF40D820868005AFD4F /* Piece.m */,
 
   225 				27C99AF50D820868005AFD4F /* DiscPiece.h */,
 
   226 				27C99AF60D820868005AFD4F /* DiscPiece.m */,
 
   227 				27C99AF70D820868005AFD4F /* Grid.h */,
 
   228 				27C99AF80D820868005AFD4F /* Grid.m */,
 
   229 				27C99AF90D820868005AFD4F /* HexGrid.h */,
 
   230 				27C99AFA0D820868005AFD4F /* HexGrid.m */,
 
   231 				27C99AFB0D820868005AFD4F /* Dispenser.h */,
 
   232 				27C99AFC0D820868005AFD4F /* Dispenser.m */,
 
   234 			name = "Boards and Pieces";
 
   235 			sourceTree = "<group>";
 
   237 		27C99AFD0D820868005AFD4F /* Games */ = {
 
   240 				27C99AFE0D820868005AFD4F /* Game.h */,
 
   241 				27C99AFF0D820868005AFD4F /* Game.m */,
 
   242 				27124B330E2852A700B61BE3 /* Game+Protected.h */,
 
   243 				27124B340E2852A700B61BE3 /* Player.h */,
 
   244 				27124B350E2852A700B61BE3 /* Player.m */,
 
   245 				27124B360E2852A700B61BE3 /* Turn.h */,
 
   246 				27124B370E2852A700B61BE3 /* Turn.m */,
 
   247 				27C99B000D820868005AFD4F /* TicTacToeGame.h */,
 
   248 				27C99B010D820868005AFD4F /* TicTacToeGame.m */,
 
   249 				27C99B020D820868005AFD4F /* CheckersGame.h */,
 
   250 				27C99B030D820868005AFD4F /* CheckersGame.m */,
 
   251 				27C99B040D820868005AFD4F /* HexchequerGame.h */,
 
   252 				27C99B050D820868005AFD4F /* HexchequerGame.m */,
 
   253 				27C99B060D820868005AFD4F /* GoGame.h */,
 
   254 				27C99B070D820868005AFD4F /* GoGame.m */,
 
   255 				27C99B080D820868005AFD4F /* KlondikeGame.h */,
 
   256 				27C99B090D820868005AFD4F /* KlondikeGame.m */,
 
   259 			sourceTree = "<group>";
 
   261 		27DBB5260DEE059700616D85 /* Gingko */ = {
 
   264 				27DBB5270DEE059700616D85 /* Blue.png */,
 
   265 				27DBB5280DEE059700616D85 /* Gold.png */,
 
   266 				27DBB5290DEE059700616D85 /* Green.png */,
 
   267 				27DBB52A0DEE059700616D85 /* Red.png */,
 
   268 				27DBB52B0DEE059700616D85 /* Violet.png */,
 
   271 			sourceTree = "<group>";
 
   273 		29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
 
   276 				27C99AE00D820868005AFD4F /* Source */,
 
   277 				29B97315FDCFA39411CA2CEA /* Other Sources */,
 
   278 				29B97317FDCFA39411CA2CEA /* Resources */,
 
   279 				29B97323FDCFA39411CA2CEA /* Frameworks */,
 
   280 				19C28FACFE9D520D11CA2CBB /* Products */,
 
   281 				279F4B580D85C51700B32DBF /* AudioToolbox.framework */,
 
   282 				279F4B5A0D85C51700B32DBF /* QuartzCore.framework */,
 
   284 			name = CustomTemplate;
 
   285 			sourceTree = "<group>";
 
   287 		29B97315FDCFA39411CA2CEA /* Other Sources */ = {
 
   290 				279F4B680D85CBFC00B32DBF /* iPhoneAppDelegate.h */,
 
   291 				279F4B690D85CBFC00B32DBF /* iPhoneAppDelegate.m */,
 
   292 				32CA4F630368D1EE00C91783 /* GGB-iPhone_Prefix.pch */,
 
   293 				29B97316FDCFA39411CA2CEA /* main-iPhone.m */,
 
   295 			name = "Other Sources";
 
   296 			sourceTree = "<group>";
 
   298 		29B97317FDCFA39411CA2CEA /* Resources */ = {
 
   301 				273D49880ED7277500EAFFCE /* Funk.aiff */,
 
   302 				274050290DEF36DF0006A9EE /* Pop.aiff */,
 
   303 				2740502A0DEF36DF0006A9EE /* Tink.aiff */,
 
   304 				279F4E050D860B8800B32DBF /* Green Ball.png */,
 
   305 				279F4E060D860B8800B32DBF /* Red Ball.png */,
 
   306 				279F4E070D860B8800B32DBF /* White Ball.png */,
 
   307 				279F4E090D860B8800B32DBF /* Yellow Ball.png */,
 
   308 				279F4C1C0D85D0AF00B32DBF /* X.tiff */,
 
   309 				279F4C1E0D85D0CB00B32DBF /* O.tiff */,
 
   310 				279F4F1A0D86448100B32DBF /* Wood.jpg */,
 
   311 				27DBB5260DEE059700616D85 /* Gingko */,
 
   312 				279F4C730D85D43800B32DBF /* Background.png */,
 
   313 				279F4B720D85CDE900B32DBF /* ToolbarAdvanced.icns */,
 
   314 				8D1107310486CEB800E47090 /* Info-iPhone.plist */,
 
   317 			sourceTree = "<group>";
 
   319 		29B97323FDCFA39411CA2CEA /* Frameworks */ = {
 
   322 				1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,
 
   323 				1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,
 
   326 			sourceTree = "<group>";
 
   328 /* End PBXGroup section */
 
   330 /* Begin PBXNativeTarget section */
 
   331 		1D6058900D05DD3D006BFB54 /* GGB-iPhone */ = {
 
   332 			isa = PBXNativeTarget;
 
   333 			buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "GGB-iPhone" */;
 
   335 				1D60588D0D05DD3D006BFB54 /* Resources */,
 
   336 				1D60588E0D05DD3D006BFB54 /* Sources */,
 
   337 				1D60588F0D05DD3D006BFB54 /* Frameworks */,
 
   344 			productName = "GGB-iPhone";
 
   345 			productReference = 1D6058910D05DD3D006BFB54 /* GeekGameBoard.app */;
 
   346 			productType = "com.apple.product-type.application";
 
   348 /* End PBXNativeTarget section */
 
   350 /* Begin PBXProject section */
 
   351 		29B97313FDCFA39411CA2CEA /* Project object */ = {
 
   353 			buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "GeekGameBoard-iPhone" */;
 
   354 			compatibilityVersion = "Xcode 3.1";
 
   355 			hasScannedForEncodings = 1;
 
   356 			mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */;
 
   360 				1D6058900D05DD3D006BFB54 /* GGB-iPhone */,
 
   363 /* End PBXProject section */
 
   365 /* Begin PBXResourcesBuildPhase section */
 
   366 		1D60588D0D05DD3D006BFB54 /* Resources */ = {
 
   367 			isa = PBXResourcesBuildPhase;
 
   368 			buildActionMask = 2147483647;
 
   370 				279F4B740D85CDE900B32DBF /* ToolbarAdvanced.icns in Resources */,
 
   371 				279F4C1D0D85D0AF00B32DBF /* X.tiff in Resources */,
 
   372 				279F4C1F0D85D0CB00B32DBF /* O.tiff in Resources */,
 
   373 				279F4C740D85D43800B32DBF /* Background.png in Resources */,
 
   374 				279F4E0A0D860B8800B32DBF /* Green Ball.png in Resources */,
 
   375 				279F4E0B0D860B8800B32DBF /* Red Ball.png in Resources */,
 
   376 				279F4E0C0D860B8800B32DBF /* White Ball.png in Resources */,
 
   377 				279F4E0E0D860B8800B32DBF /* Yellow Ball.png in Resources */,
 
   378 				279F4F1B0D86448100B32DBF /* Wood.jpg in Resources */,
 
   379 				27DBB52C0DEE059700616D85 /* Blue.png in Resources */,
 
   380 				27DBB52D0DEE059800616D85 /* Gold.png in Resources */,
 
   381 				27DBB52E0DEE059800616D85 /* Green.png in Resources */,
 
   382 				27DBB52F0DEE059900616D85 /* Red.png in Resources */,
 
   383 				27DBB5300DEE059900616D85 /* Violet.png in Resources */,
 
   384 				2740502B0DEF36DF0006A9EE /* Pop.aiff in Resources */,
 
   385 				2740502C0DEF36DF0006A9EE /* Tink.aiff in Resources */,
 
   386 				273D49890ED7277500EAFFCE /* Funk.aiff in Resources */,
 
   388 			runOnlyForDeploymentPostprocessing = 0;
 
   390 /* End PBXResourcesBuildPhase section */
 
   392 /* Begin PBXSourcesBuildPhase section */
 
   393 		1D60588E0D05DD3D006BFB54 /* Sources */ = {
 
   394 			isa = PBXSourcesBuildPhase;
 
   395 			buildActionMask = 2147483647;
 
   397 				1D60589B0D05DD56006BFB54 /* main-iPhone.m in Sources */,
 
   398 				27C99B0F0D820868005AFD4F /* BoardUIView.m in Sources */,
 
   399 				27C99B100D820868005AFD4F /* Bit.m in Sources */,
 
   400 				27C99B110D820868005AFD4F /* BitHolder.m in Sources */,
 
   401 				27C99B120D820868005AFD4F /* Stack.m in Sources */,
 
   402 				27C99B130D820868005AFD4F /* Card.m in Sources */,
 
   403 				27C99B140D820868005AFD4F /* Deck.m in Sources */,
 
   404 				27C99B150D820868005AFD4F /* PlayingCard.m in Sources */,
 
   405 				27C99B160D820868005AFD4F /* Piece.m in Sources */,
 
   406 				27C99B170D820868005AFD4F /* DiscPiece.m in Sources */,
 
   407 				27C99B180D820868005AFD4F /* Grid.m in Sources */,
 
   408 				27C99B190D820868005AFD4F /* HexGrid.m in Sources */,
 
   409 				27C99B1A0D820868005AFD4F /* Dispenser.m in Sources */,
 
   410 				27C99B1B0D820868005AFD4F /* Game.m in Sources */,
 
   411 				27C99B1C0D820868005AFD4F /* TicTacToeGame.m in Sources */,
 
   412 				27C99B1D0D820868005AFD4F /* CheckersGame.m in Sources */,
 
   413 				27C99B1E0D820868005AFD4F /* HexchequerGame.m in Sources */,
 
   414 				27C99B1F0D820868005AFD4F /* GoGame.m in Sources */,
 
   415 				27C99B200D820868005AFD4F /* KlondikeGame.m in Sources */,
 
   416 				27C99B210D820868005AFD4F /* QuartzUtils.m in Sources */,
 
   417 				27C99B220D820868005AFD4F /* GGBUtils.m in Sources */,
 
   418 				27C99B510D82106E005AFD4F /* GGBLayer.m in Sources */,
 
   419 				279F4B620D85C63000B32DBF /* GGBTextLayer.m in Sources */,
 
   420 				279F4B6A0D85CBFC00B32DBF /* iPhoneAppDelegate.m in Sources */,
 
   421 				27124B380E2852A700B61BE3 /* Player.m in Sources */,
 
   422 				27124B390E2852A700B61BE3 /* Turn.m in Sources */,
 
   424 			runOnlyForDeploymentPostprocessing = 0;
 
   426 /* End PBXSourcesBuildPhase section */
 
   428 /* Begin XCBuildConfiguration section */
 
   429 		1D6058940D05DD3E006BFB54 /* Debug */ = {
 
   430 			isa = XCBuildConfiguration;
 
   432 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: Jens Alfke";
 
   433 				COPY_PHASE_STRIP = NO;
 
   434 				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
 
   435 				GCC_DYNAMIC_NO_PIC = NO;
 
   436 				GCC_ENABLE_FIX_AND_CONTINUE = NO;
 
   437 				GCC_OPTIMIZATION_LEVEL = 0;
 
   438 				GCC_PRECOMPILE_PREFIX_HEADER = YES;
 
   439 				GCC_PREFIX_HEADER = "Source/GGB-iPhone_Prefix.pch";
 
   440 				INFOPLIST_FILE = "Resources/Info-iPhone.plist";
 
   442 				PRODUCT_NAME = GeekGameBoard;
 
   446 		1D6058950D05DD3E006BFB54 /* Release */ = {
 
   447 			isa = XCBuildConfiguration;
 
   449 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: Jens Alfke";
 
   450 				COPY_PHASE_STRIP = YES;
 
   451 				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
 
   452 				GCC_ENABLE_FIX_AND_CONTINUE = NO;
 
   453 				GCC_PRECOMPILE_PREFIX_HEADER = YES;
 
   454 				GCC_PREFIX_HEADER = "Source/GGB-iPhone_Prefix.pch";
 
   455 				INFOPLIST_FILE = "Resources/Info-iPhone.plist";
 
   457 				PRODUCT_NAME = GeekGameBoard;
 
   458 				WRAPPER_EXTENSION = app;
 
   462 		C01FCF4F08A954540054247B /* Debug */ = {
 
   463 			isa = XCBuildConfiguration;
 
   465 				ALWAYS_SEARCH_USER_PATHS = NO;
 
   466 				ARCHS = "$(ARCHS_STANDARD_32_BIT)";
 
   467 				CODE_SIGN_IDENTITY = "";
 
   468 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: Jens Alfke";
 
   469 				GCC_C_LANGUAGE_STANDARD = gnu99;
 
   470 				GCC_TREAT_WARNINGS_AS_ERRORS = YES;
 
   471 				GCC_WARN_ABOUT_RETURN_TYPE = YES;
 
   472 				GCC_WARN_UNUSED_VARIABLE = YES;
 
   473 				ONLY_ACTIVE_ARCH = YES;
 
   475 				SDKROOT = iphoneos2.0;
 
   476 				WARNING_CFLAGS = "-Wall";
 
   480 		C01FCF5008A954540054247B /* Release */ = {
 
   481 			isa = XCBuildConfiguration;
 
   483 				ARCHS = "$(ARCHS_STANDARD_32_BIT)";
 
   484 				CODE_SIGN_IDENTITY = "";
 
   485 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: Jens Alfke";
 
   486 				GCC_C_LANGUAGE_STANDARD = gnu99;
 
   487 				GCC_TREAT_WARNINGS_AS_ERRORS = YES;
 
   488 				GCC_WARN_ABOUT_RETURN_TYPE = YES;
 
   489 				GCC_WARN_UNUSED_VARIABLE = YES;
 
   491 				SDKROOT = iphoneos2.0;
 
   492 				WARNING_CFLAGS = "-Wall";
 
   496 /* End XCBuildConfiguration section */
 
   498 /* Begin XCConfigurationList section */
 
   499 		1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "GGB-iPhone" */ = {
 
   500 			isa = XCConfigurationList;
 
   501 			buildConfigurations = (
 
   502 				1D6058940D05DD3E006BFB54 /* Debug */,
 
   503 				1D6058950D05DD3E006BFB54 /* Release */,
 
   505 			defaultConfigurationIsVisible = 0;
 
   506 			defaultConfigurationName = Release;
 
   508 		C01FCF4E08A954540054247B /* Build configuration list for PBXProject "GeekGameBoard-iPhone" */ = {
 
   509 			isa = XCConfigurationList;
 
   510 			buildConfigurations = (
 
   511 				C01FCF4F08A954540054247B /* Debug */,
 
   512 				C01FCF5008A954540054247B /* Release */,
 
   514 			defaultConfigurationIsVisible = 0;
 
   515 			defaultConfigurationName = Release;
 
   517 /* End XCConfigurationList section */
 
   519 	rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;