[
  {
    "path": ".gitignore",
    "content": "# Xcode\nbuild/*\n*.pbxuser\n!default.pbxuser\n*.mode1v3\n!default.mode1v3\n*.mode2v3\n!default.mode2v3\n*.perspectivev3\n!default.perspectivev3\nxcuserdata\nprofile\n*.moved-aside\n# Desktop Servies\n.DS_Store\nscript/env.sh\nDerivedData/\n\n/Masonry.xcworkspace/xcshareddata/Masonry.xccheckout\n"
  },
  {
    "path": ".travis.yml",
    "content": "---\nlanguage: objective-c\nosx_image: xcode9\nbefore_install:\n  - sudo easy_install cpp-coveralls\n  - gem install xcpretty -N\n  - export LANG=en_US.UTF-8\n\nscript:\n  - set -o pipefail\n  - xcodebuild -workspace 'Masonry.xcworkspace' -scheme 'Masonry iOS Tests' -configuration Debug -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 7,OS=10.0' clean test ARCHS=i386 VALID_ARCHS=i386 ONLY_ACTIVE_ARCH=NO GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES GCC_GENERATE_TEST_COVERAGE_FILES=YES | xcpretty -c\n  - xcodebuild -workspace 'Masonry.xcworkspace' -scheme 'Masonry iOS' -configuration Debug -sdk iphonesimulator clean build ARCHS=i386 VALID_ARCHS=i386 ONLY_ACTIVE_ARCH=NO | xcpretty -c\n  - xcodebuild -workspace 'Masonry.xcworkspace' -scheme 'Masonry OSX' -configuration Debug clean build | xcpretty -c\n\nafter_success:\n  - ./script/coveralls.sh\n"
  },
  {
    "path": "CHANGELOG.md",
    "content": "v1.0.2\n======\n\n* Bug fix for array greaterThanOrEqualTo or lessthanOrEqualTo attributes ([#377](https://github.com/SnapKit/Masonry/pull/377))\n* Bug fix for Podfile so examples work again ([#374](https://github.com/SnapKit/Masonry/pull/374))\n* Improve view distribution performance ([#374](https://github.com/SnapKit/Masonry/pull/362))\n* Unshare pod schemes ([#374](https://github.com/SnapKit/Masonry/pull/352))\n\n\nv1.0.1\n======\n\n#### - Added support for first/last baselines\n\nTwo additional attributes `NSLayoutAttributeFirstBaseline` and `NSLayoutAttributeLastBaseline` are now supported\n\nv1.0.0\n======\n\n#### - Officially v1.0.0\n\nFixes some issues with install/uninstall vs activate/deactivate and modernises the project files\n\nv0.6.4\n======\n\n#### - Add support for tvOS\n\nv0.6.3\n======\n\n#### - Add support for view distribution ([pingyourid](https://github.com/pingyourid))\n\nhttps://github.com/SnapKit/Masonry/pull/225\n\nv0.6.2\n======\n\n#### - Add support for iOS 8 margin attributes ([CraigSiemens](https://github.com/CraigSiemens))\n\nhttps://github.com/SnapKit/Masonry/pull/163\n\n#### - Add support for leading and trailing insets ([montehurd](https://github.com/montehurd))\n\nhttps://github.com/SnapKit/Masonry/pull/168\n\n#### - Add support for Cartage ([erichoracek](https://github.com/erichoracek))\n\nhttps://github.com/SnapKit/Masonry/pull/182\n\n#### - Fix memory usage of updateConstraints\n\nv0.6.1\n======\n\n#### - Fix unused variable warning when compiled with NSAssert turned off\n\n#### - Add aspect fit example ([kouky](https://github.com/kouky))\n\nhttps://github.com/SnapKit/Masonry/pull/148\n\nv0.6.0\n======\n\n#### - Improved support of iOS 8\n\nAs of iOS 8 there is `active` property of `NSLayoutConstraint` available, which allows to (de)activate constraint without searching closest common superview.\n\n#### - Added support of iPhone 6 and iPhone 6+ to test project\n\nv0.5.3\n======\n\n#### - Fixed compilation errors on xcode6 beta\n\nhttps://github.com/Masonry/Masonry/pull/84\n\n\nv0.5.2\n======\n\n#### - Fixed compilation warning with Shorthand view Additions\n\nhttps://github.com/cloudkite/Masonry/issues/71\n\nv0.5.1\n======\n\n#### - Fixed compilation error when using objective-c++ ([nickynick](https://github.com/nickynick))\n\nhttps://github.com/cloudkite/Masonry/pull/69\n\nv0.5.0\n======\n\n#### - Fixed bug in `mas_updateConstraints` ([Rolken](https://github.com/Rolken))\n\nWas not checking that the constraint relation was equivalent\nhttps://github.com/cloudkite/Masonry/pull/65\n\n#### - Added `mas_remakeConstraints` ([nickynick](https://github.com/nickynick))\n\nSimilar to `mas_updateConstraints` however instead of trying to update existing constraints it Removes all constraints previously defined and installed for the view, allowing you to provide replacements without hassle.\n\nhttps://github.com/cloudkite/Masonry/pull/63\n\n#### - Added Autoboxing for scalar/struct attribute values ([nickynick](https://github.com/nickynick))\n\nAutoboxing allows you to write equality relations and offsets by passing primitive values and structs\n```obj-c\nmake.top.mas_equalTo(42);\nmake.height.mas_equalTo(20);\nmake.size.mas_equalTo(CGSizeMake(50, 100));\nmake.edges.mas_equalTo(UIEdgeInsetsMake(10, 0, 10, 0));\nmake.left.mas_equalTo(view).mas_offset(UIEdgeInsetsMake(10, 0, 10, 0));\n```\nby default these autoboxing macros are prefix with `mas_`\nIf you want the unprefixed version you need to add `MAS_SHORTHAND_GLOBALS` before importing Masonry.h (ie in your Prefix.pch)\n\nhttps://github.com/cloudkite/Masonry/pull/62\n\n#### - Added ability to chain view attributes\n\nComposites are great for defining multiple attributes at once. The following example makes top, left, bottom, right equal to `superview`.\n\n```obj-c\nmake.edges.equalTo(superview).insets(padding);\n```\n\nHowever if only three of the sides are equal to `superview` then we need to repeat quite a bit of code\n```obj-c\nmake.left.equalTo(superview).insets(padding);\nmake.right.equalTo(superview).insets(padding);\nmake.bottom.equalTo(superview).insets(padding);\n// top needs to be equal to `otherView`\nmake.top.equalTo(otherView).insets(padding);\n```\n\nThis change makes it possible to chain view attributes to improve readability\n```obj-c\nmake.left.right.and.bottom.equalTo(superview).insets(padding);\nmake.top.equalTo(otherView).insets(padding);\n```\n\nhttps://github.com/cloudkite/Masonry/pull/56\n\nv0.4.0\n=======\n\n#### - Fixed Xcode auto-complete support ([nickynick](https://github.com/nickynick))\n\n***Breaking Changes***\n\nIf you are holding onto any instances of masonry constraints ie\n```obj-c\n// in public/private interface\n@property (nonatomic, strong) id<MASConstraint> topConstraint;\n```\n\nYou will need to change this to\n```obj-c\n// in public/private interface\n@property (nonatomic, strong) MASConstraint *topConstraint;\n```\n\nInstead of using protocols Masonry now uses an abstract base class for constraints in order to get Xcode auto-complete support see http://stackoverflow.com/questions/14534223/\n\nv0.3.2\n=======\n\n#### - Added support for Mac OSX animator proxy ([pfandrade](https://github.com/pfandrade))\n\n```objective-c\nself.leftConstraint.animator.offset(20);\n```\n\n#### - Added setter methods for NSLayoutConstraint constant proxies like `offset`, `centerOffset`, `insets`, `sizeOffset`.\nnow you can update these values using more natural syntax\n\n```objective-c\nself.edgesConstraint.insets(UIEdgeInsetsMake(20, 10, 15, 5));\n```\n\ncan now be written as:\n\n```objective-c\nself.edgesConstraint.insets = UIEdgeInsetsMake(20, 10, 15, 5);\n```\n\n\nv0.3.1\n=======\n\n#### - Added way to specify the same set of constraints to multiple views in an array ([danielrhammond](https://github.com/danielrhammond))\n\n```objective-c\n[@[view1, view2, view3] mas_makeConstraints:^(MASConstraintMaker *make) {\n    make.baseline.equalTo(superView.mas_centerY);\n    make.width.equalTo(@100);\n}];\n```\n\nv0.3.0\n=======\n\n#### - Added `- (NSArray *)mas_updateConstraints:(void(^)(MASConstraintMaker *))block`\nwhich will update existing constraints if possible, otherwise it will add them.  This makes it easier to use Masonry within the `UIView` `- (void)updateConstraints` method which is the recommended place for adding/updating constraints by apple.\n#### - Updated examples for iOS7, added a few new examples.\n#### - Added -isEqual: and -hash to MASViewAttribute [CraigSiemens].\n"
  },
  {
    "path": "CodeSnippets/Masonry Constraint Make.codesnippet",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>IDECodeSnippetCompletionPrefix</key>\n\t<string>mas_make</string>\n\t<key>IDECodeSnippetCompletionScopes</key>\n\t<array>\n\t\t<string>CodeBlock</string>\n\t</array>\n\t<key>IDECodeSnippetContents</key>\n\t<string>[&lt;#view#&gt; mas_makeConstraints:^(MASConstraintMaker *make){\n    &lt;#code#&gt;\n}];\n</string>\n\t<key>IDECodeSnippetIdentifier</key>\n\t<string>4A0A057B-8C17-43BB-BDBA-3A315A942EF8</string>\n\t<key>IDECodeSnippetLanguage</key>\n\t<string>Xcode.SourceCodeLanguage.Objective-C</string>\n\t<key>IDECodeSnippetTitle</key>\n\t<string>Masonry Constraint Make</string>\n\t<key>IDECodeSnippetUserSnippet</key>\n\t<true/>\n\t<key>IDECodeSnippetVersion</key>\n\t<integer>2</integer>\n</dict>\n</plist>\n"
  },
  {
    "path": "CodeSnippets/Masonry Constraint Remake.codesnippet",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>IDECodeSnippetCompletionPrefix</key>\n\t<string>mas_remake</string>\n\t<key>IDECodeSnippetCompletionScopes</key>\n\t<array>\n\t\t<string>CodeBlock</string>\n\t</array>\n\t<key>IDECodeSnippetContents</key>\n\t<string>[&lt;#view#&gt; mas_remakeConstraints:^(MASConstraintMaker *make){\n    &lt;#code#&gt;\n}];</string>\n\t<key>IDECodeSnippetIdentifier</key>\n\t<string>53203A7C-0C2C-493C-9CAE-8900D9AB68A8</string>\n\t<key>IDECodeSnippetLanguage</key>\n\t<string>Xcode.SourceCodeLanguage.Objective-C</string>\n\t<key>IDECodeSnippetTitle</key>\n\t<string>Masonry Constraint Remake</string>\n\t<key>IDECodeSnippetUserSnippet</key>\n\t<true/>\n\t<key>IDECodeSnippetVersion</key>\n\t<integer>2</integer>\n</dict>\n</plist>\n"
  },
  {
    "path": "CodeSnippets/Masonry Constraint Update.codesnippet",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>IDECodeSnippetCompletionPrefix</key>\n\t<string>mas_update</string>\n\t<key>IDECodeSnippetCompletionScopes</key>\n\t<array>\n\t\t<string>CodeBlock</string>\n\t</array>\n\t<key>IDECodeSnippetContents</key>\n\t<string>[&lt;#view#&gt; mas_updateConstraints:^(MASConstraintMaker *make){\n    &lt;#code#&gt;\n}];\n</string>\n\t<key>IDECodeSnippetIdentifier</key>\n\t<string>CF088737-121D-4166-97B0-D8AB63696B08</string>\n\t<key>IDECodeSnippetLanguage</key>\n\t<string>Xcode.SourceCodeLanguage.Objective-C</string>\n\t<key>IDECodeSnippetTitle</key>\n\t<string>Masonry Constraint Update</string>\n\t<key>IDECodeSnippetUserSnippet</key>\n\t<true/>\n\t<key>IDECodeSnippetVersion</key>\n\t<integer>2</integer>\n</dict>\n</plist>\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/Images.xcassets/Contents.json",
    "content": "{\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}"
  },
  {
    "path": "Examples/Masonry iOS Examples/Launch Screen.storyboard",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3.0\" toolsVersion=\"13196\" targetRuntime=\"iOS.CocoaTouch\" propertyAccessControl=\"none\" useAutolayout=\"YES\" launchScreen=\"YES\" useTraitCollections=\"YES\" colorMatched=\"YES\" initialViewController=\"01J-lp-oVM\">\n    <device id=\"retina4_7\" orientation=\"portrait\">\n        <adaptation id=\"fullscreen\"/>\n    </device>\n    <dependencies>\n        <plugIn identifier=\"com.apple.InterfaceBuilder.IBCocoaTouchPlugin\" version=\"13173\"/>\n        <capability name=\"Constraints with non-1.0 multipliers\" minToolsVersion=\"5.1\"/>\n        <capability name=\"documents saved in the Xcode 8 format\" minToolsVersion=\"8.0\"/>\n    </dependencies>\n    <scenes>\n        <!--View Controller-->\n        <scene sceneID=\"EHf-IW-A2E\">\n            <objects>\n                <viewController id=\"01J-lp-oVM\" sceneMemberID=\"viewController\">\n                    <layoutGuides>\n                        <viewControllerLayoutGuide type=\"top\" id=\"cbD-vd-OFn\"/>\n                        <viewControllerLayoutGuide type=\"bottom\" id=\"TBi-GG-GBk\"/>\n                    </layoutGuides>\n                    <view key=\"view\" contentMode=\"scaleToFill\" id=\"Ze5-6b-2t3\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"375\" height=\"667\"/>\n                        <autoresizingMask key=\"autoresizingMask\" widthSizable=\"YES\" heightSizable=\"YES\"/>\n                        <subviews>\n                            <label opaque=\"NO\" clipsSubviews=\"YES\" userInteractionEnabled=\"NO\" contentMode=\"left\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" textAlignment=\"center\" lineBreakMode=\"tailTruncation\" numberOfLines=\"0\" baselineAdjustment=\"alignBaselines\" minimumFontSize=\"9\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"obG-Y5-kRd\">\n                                <rect key=\"frame\" x=\"47.5\" y=\"592.5\" width=\"281\" height=\"41\"/>\n                                <string key=\"text\">Copyright © 2017 Jonas Budelmann.\nAll rights reserved.</string>\n                                <fontDescription key=\"fontDescription\" type=\"system\" pointSize=\"17\"/>\n                                <color key=\"textColor\" red=\"0.0\" green=\"0.0\" blue=\"0.0\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"sRGB\"/>\n                                <nil key=\"highlightedColor\"/>\n                            </label>\n                            <label opaque=\"NO\" clipsSubviews=\"YES\" userInteractionEnabled=\"NO\" contentMode=\"left\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" text=\"Masonry\" textAlignment=\"center\" lineBreakMode=\"middleTruncation\" baselineAdjustment=\"alignBaselines\" minimumFontSize=\"18\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"GJd-Yh-RWb\">\n                                <rect key=\"frame\" x=\"114.5\" y=\"202\" width=\"146\" height=\"43\"/>\n                                <fontDescription key=\"fontDescription\" type=\"boldSystem\" pointSize=\"36\"/>\n                                <color key=\"textColor\" red=\"0.0\" green=\"0.0\" blue=\"0.0\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"sRGB\"/>\n                                <nil key=\"highlightedColor\"/>\n                            </label>\n                        </subviews>\n                        <color key=\"backgroundColor\" red=\"1\" green=\"1\" blue=\"1\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"sRGB\"/>\n                        <constraints>\n                            <constraint firstAttribute=\"centerX\" secondItem=\"obG-Y5-kRd\" secondAttribute=\"centerX\" id=\"5cz-MP-9tL\"/>\n                            <constraint firstAttribute=\"centerX\" secondItem=\"GJd-Yh-RWb\" secondAttribute=\"centerX\" id=\"Q3B-4B-g5h\"/>\n                            <constraint firstAttribute=\"bottom\" secondItem=\"obG-Y5-kRd\" secondAttribute=\"bottom\" constant=\"34\" id=\"Y44-ml-fuU\"/>\n                            <constraint firstItem=\"GJd-Yh-RWb\" firstAttribute=\"centerY\" secondItem=\"Ze5-6b-2t3\" secondAttribute=\"bottom\" multiplier=\"1/3\" constant=\"1\" id=\"moa-c2-u7t\"/>\n                        </constraints>\n                    </view>\n                </viewController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"iYj-Kq-Ea1\" userLabel=\"First Responder\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n            <point key=\"canvasLocation\" x=\"52\" y=\"374.66266866566718\"/>\n        </scene>\n    </scenes>\n</document>\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/MASAppDelegate.h",
    "content": "//\n//  MASAppDelegate.h\n//  Masonry\n//\n//  Created by Jonas Budelmann on 20/07/13.\n//  Copyright (c) 2013 cloudling. All rights reserved.\n//\n\n#import <UIKit/UIKit.h>\n\n@interface MASAppDelegate : UIResponder <UIApplicationDelegate>\n\n@property (strong, nonatomic) UIWindow *window;\n\n@end\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/MASAppDelegate.m",
    "content": "//\n//  MASAppDelegate.m\n//  Masonry\n//\n//  Created by Jonas Budelmann on 20/07/13.\n//  Copyright (c) 2013 cloudling. All rights reserved.\n//\n\n#import \"MASAppDelegate.h\"\n#import \"MASExampleListViewController.h\"\n\n@implementation MASAppDelegate\n\n- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {\n    self.window = [[UIWindow alloc] initWithFrame:UIScreen.mainScreen.bounds];\n    // Override point for customization after application launch.\n    self.window.backgroundColor = UIColor.whiteColor;\n    \n    UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:MASExampleListViewController.new];\n    self.window.rootViewController = navigationController;\n    [self.window makeKeyAndVisible];\n    return YES;\n}\n\n@end\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/MASExampleAnimatedView.h",
    "content": "//\n//  MASExampleAnimatedView.h\n//  Masonry iOS Examples\n//\n//  Created by Jonas Budelmann on 22/07/13.\n//  Copyright (c) 2013 Jonas Budelmann. All rights reserved.\n//\n\n#import <UIKit/UIKit.h>\n\n@interface MASExampleAnimatedView : UIView\n\n@end\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/MASExampleAnimatedView.m",
    "content": "//\n//  MASExampleAnimatedView.m\n//  Masonry iOS Examples\n//\n//  Created by Jonas Budelmann on 22/07/13.\n//  Copyright (c) 2013 Jonas Budelmann. All rights reserved.\n//\n\n#import \"MASExampleAnimatedView.h\"\n\n@interface MASExampleAnimatedView ()\n\n@property (nonatomic, strong) NSMutableArray *animatableConstraints;\n@property (nonatomic, assign) int padding;\n@property (nonatomic, assign) BOOL animating;\n\n@end\n\n@implementation MASExampleAnimatedView\n\n- (id)init {\n    self = [super init];\n    if (!self) return nil;\n\n    UIView *greenView = UIView.new;\n    greenView.backgroundColor = UIColor.greenColor;\n    greenView.layer.borderColor = UIColor.blackColor.CGColor;\n    greenView.layer.borderWidth = 2;\n    [self addSubview:greenView];\n\n    UIView *redView = UIView.new;\n    redView.backgroundColor = UIColor.redColor;\n    redView.layer.borderColor = UIColor.blackColor.CGColor;\n    redView.layer.borderWidth = 2;\n    [self addSubview:redView];\n\n    UIView *blueView = UIView.new;\n    blueView.backgroundColor = UIColor.blueColor;\n    blueView.layer.borderColor = UIColor.blackColor.CGColor;\n    blueView.layer.borderWidth = 2;\n    [self addSubview:blueView];\n\n    UIView *superview = self;\n    int padding = self.padding = 10;\n    UIEdgeInsets paddingInsets = UIEdgeInsetsMake(self.padding, self.padding, self.padding, self.padding);\n\n    self.animatableConstraints = NSMutableArray.new;\n\n    [greenView mas_makeConstraints:^(MASConstraintMaker *make) {\n        [self.animatableConstraints addObjectsFromArray:@[\n            make.edges.equalTo(superview).insets(paddingInsets).priorityLow(),\n            make.bottom.equalTo(blueView.mas_top).offset(-padding),\n        ]];\n\n        make.size.equalTo(redView);\n        make.height.equalTo(blueView.mas_height);\n    }];\n\n    [redView mas_makeConstraints:^(MASConstraintMaker *make) {\n        [self.animatableConstraints addObjectsFromArray:@[\n            make.edges.equalTo(superview).insets(paddingInsets).priorityLow(),\n            make.left.equalTo(greenView.mas_right).offset(padding),\n            make.bottom.equalTo(blueView.mas_top).offset(-padding),\n        ]];\n\n        make.size.equalTo(greenView);\n        make.height.equalTo(blueView.mas_height);\n    }];\n\n    [blueView mas_makeConstraints:^(MASConstraintMaker *make) {\n        [self.animatableConstraints addObjectsFromArray:@[\n            make.edges.equalTo(superview).insets(paddingInsets).priorityLow(),\n        ]];\n\n        make.height.equalTo(greenView.mas_height);\n        make.height.equalTo(redView.mas_height);\n    }];\n\n    return self;\n}\n\n- (void)didMoveToWindow {\n    [self layoutIfNeeded];\n\n    if (self.window) {\n        self.animating = YES;\n        [self animateWithInvertedInsets:NO];\n    }\n}\n\n- (void)willMoveToWindow:(UIWindow *)newWindow {\n    self.animating = newWindow != nil;\n}\n\n- (void)animateWithInvertedInsets:(BOOL)invertedInsets {\n    if (!self.animating) return;\n\n    int padding = invertedInsets ? 100 : self.padding;\n    UIEdgeInsets paddingInsets = UIEdgeInsetsMake(padding, padding, padding, padding);\n    for (MASConstraint *constraint in self.animatableConstraints) {\n        constraint.insets = paddingInsets;\n    }\n\n    [UIView animateWithDuration:1 animations:^{\n        [self layoutIfNeeded];\n    } completion:^(BOOL finished) {\n        //repeat!\n        [self animateWithInvertedInsets:!invertedInsets];\n    }];\n}\n\n\n@end\n\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/MASExampleArrayView.h",
    "content": "//\n//  MASExampleArrayView.h\n//  Masonry iOS Examples\n//\n//  Created by Daniel Hammond on 11/26/13.\n//  Copyright (c) 2013 Jonas Budelmann. All rights reserved.\n//\n\n#import <UIKit/UIKit.h>\n\n@interface MASExampleArrayView : UIView\n\n@end\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/MASExampleArrayView.m",
    "content": "//\n//  MASExampleArrayView.m\n//  Masonry iOS Examples\n//\n//  Created by Daniel Hammond on 11/26/13.\n//  Copyright (c) 2013 Jonas Budelmann. All rights reserved.\n//\n\n#import \"MASExampleArrayView.h\"\n\nstatic CGFloat const kArrayExampleIncrement = 10.0;\n\n@interface MASExampleArrayView ()\n\n@property (nonatomic, assign) CGFloat offset;\n@property (nonatomic, strong) NSArray *buttonViews;\n\n@end\n\n@implementation MASExampleArrayView\n\n- (id)init {\n    self = [super init];\n    if (!self) return nil;\n    \n    UIButton *raiseButton = [UIButton buttonWithType:UIButtonTypeSystem];\n    [raiseButton setTitle:@\"Raise\" forState:UIControlStateNormal];\n    [raiseButton addTarget:self action:@selector(raiseAction) forControlEvents:UIControlEventTouchUpInside];\n    [self addSubview:raiseButton];\n    \n    UIButton *centerButton = [UIButton buttonWithType:UIButtonTypeSystem];\n    [centerButton setTitle:@\"Center\" forState:UIControlStateNormal];\n    [centerButton addTarget:self action:@selector(centerAction) forControlEvents:UIControlEventTouchUpInside];\n    [self addSubview:centerButton];\n\n    UIButton *lowerButton = [UIButton buttonWithType:UIButtonTypeSystem];\n    [lowerButton setTitle:@\"Lower\" forState:UIControlStateNormal];\n    [lowerButton addTarget:self action:@selector(lowerAction) forControlEvents:UIControlEventTouchUpInside];\n    [self addSubview:lowerButton];\n    \n    [lowerButton mas_makeConstraints:^(MASConstraintMaker *make) {\n        make.left.equalTo(self).with.offset(10.0);\n    }];\n\n    [centerButton mas_makeConstraints:^(MASConstraintMaker *make) {\n        make.centerX.equalTo(self);\n    }];\n\n    [raiseButton mas_makeConstraints:^(MASConstraintMaker *make) {\n        make.right.equalTo(self).with.offset(-10);\n    }];\n    \n    self.buttonViews = @[ raiseButton, lowerButton, centerButton ];\n    \n    return self;\n}\n\n- (void)centerAction {\n    self.offset = 0.0;\n}\n\n- (void)raiseAction {\n    self.offset -= kArrayExampleIncrement;\n}\n\n- (void)lowerAction {\n    self.offset += kArrayExampleIncrement;\n}\n\n- (void)setOffset:(CGFloat)offset {\n    _offset = offset;\n    [self setNeedsUpdateConstraints];\n}\n\n- (void)updateConstraints {\n    [self.buttonViews updateConstraints:^(MASConstraintMaker *make) {\n        make.baseline.equalTo(self.mas_centerY).with.offset(self.offset);\n    }];\n    \n    //according to apple super should be called at end of method\n    [super updateConstraints];\n}\n\n@end\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/MASExampleAspectFitView.h",
    "content": "//\n//  MASExampleAspectFitView.h\n//  Masonry iOS Examples\n//\n//  Created by Michael Koukoullis on 19/01/2015.\n//  Copyright (c) 2015 Jonas Budelmann. All rights reserved.\n//\n\n#import <UIKit/UIKit.h>\n\n@interface MASExampleAspectFitView : UIView\n\n@end\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/MASExampleAspectFitView.m",
    "content": "//\n//  MASExampleAspectFitView.m\n//  Masonry iOS Examples\n//\n//  Created by Michael Koukoullis on 19/01/2015.\n//  Copyright (c) 2015 Jonas Budelmann. All rights reserved.\n//\n\n#import \"MASExampleAspectFitView.h\"\n\n@interface MASExampleAspectFitView ()\n@property UIView *topView;\n@property UIView *topInnerView;\n@property UIView *bottomView;\n@property UIView *bottomInnerView;\n@end\n\n@implementation MASExampleAspectFitView\n\n// Designated initializer\n- (instancetype)initWithFrame:(CGRect)frame\n{\n    self = [super initWithFrame:CGRectZero];\n    \n    if (self) {\n        \n        // Create views\n        self.topView = [[UIView alloc] initWithFrame:CGRectZero];\n        self.topInnerView = [[UIView alloc] initWithFrame:CGRectZero];\n        self.bottomView = [[UIView alloc] initWithFrame:CGRectZero];\n        self.bottomInnerView = [[UIView alloc] initWithFrame:CGRectZero];\n        \n        // Set background colors\n        UIColor *blueColor = [UIColor colorWithRed:0.663 green:0.796 blue:0.996 alpha:1];\n        [self.topView setBackgroundColor:blueColor];\n\n        UIColor *lightGreenColor = [UIColor colorWithRed:0.784 green:0.992 blue:0.851 alpha:1];\n        [self.topInnerView setBackgroundColor:lightGreenColor];\n\n        UIColor *pinkColor = [UIColor colorWithRed:0.992 green:0.804 blue:0.941 alpha:1];\n        [self.bottomView setBackgroundColor:pinkColor];\n        \n        UIColor *darkGreenColor = [UIColor colorWithRed:0.443 green:0.780 blue:0.337 alpha:1];\n        [self.bottomInnerView setBackgroundColor:darkGreenColor];\n        \n        // Layout top and bottom views to each take up half of the window\n        [self addSubview:self.topView];\n        [self.topView mas_makeConstraints:^(MASConstraintMaker *make) {\n            make.left.right.and.top.equalTo(self);\n        }];\n        \n        [self addSubview:self.bottomView];\n        [self.bottomView mas_makeConstraints:^(MASConstraintMaker *make) {\n            make.left.right.and.bottom.equalTo(self);\n            make.top.equalTo(self.topView.mas_bottom);\n            make.height.equalTo(self.topView);\n        }];\n        \n        // Inner views are configured for aspect fit with ratio of 3:1\n        [self.topView addSubview:self.topInnerView];\n        [self.topInnerView mas_makeConstraints:^(MASConstraintMaker *make) {\n            make.width.equalTo(self.topInnerView.mas_height).multipliedBy(3);\n            \n            make.width.and.height.lessThanOrEqualTo(self.topView);\n            make.width.and.height.equalTo(self.topView).with.priorityLow();\n            \n            make.center.equalTo(self.topView);\n        }];\n        \n        [self.bottomView addSubview:self.bottomInnerView];\n        [self.bottomInnerView mas_makeConstraints:^(MASConstraintMaker *make) {\n            make.height.equalTo(self.bottomInnerView.mas_width).multipliedBy(3);\n            \n            make.width.and.height.lessThanOrEqualTo(self.bottomView);\n            make.width.and.height.equalTo(self.bottomView).with.priorityLow();\n                        \n            make.center.equalTo(self.bottomView);\n        }];\n    }\n    \n    return self;\n}\n\n@end\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/MASExampleAttributeChainingView.h",
    "content": "//\n//  MASExampleAttributeChainingView.h\n//  Masonry iOS Examples\n//\n//  Created by Jonas Budelmann on 31/03/14.\n//  Copyright (c) 2014 Jonas Budelmann. All rights reserved.\n//\n\n#import <UIKit/UIKit.h>\n\n@interface MASExampleAttributeChainingView : UIView\n\n@end\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/MASExampleAttributeChainingView.m",
    "content": "//\n//  MASExampleAttributeChainingView.m\n//  Masonry iOS Examples\n//\n//  Created by Jonas Budelmann on 31/03/14.\n//  Copyright (c) 2014 Jonas Budelmann. All rights reserved.\n//\n\n#import \"MASExampleAttributeChainingView.h\"\n\n@implementation MASExampleAttributeChainingView\n\n- (id)init {\n    self = [super init];\n    if (!self) return nil;\n\n    UIView *greenView = UIView.new;\n    greenView.backgroundColor = UIColor.greenColor;\n    greenView.layer.borderColor = UIColor.blackColor.CGColor;\n    greenView.layer.borderWidth = 2;\n    [self addSubview:greenView];\n\n    UIView *redView = UIView.new;\n    redView.backgroundColor = UIColor.redColor;\n    redView.layer.borderColor = UIColor.blackColor.CGColor;\n    redView.layer.borderWidth = 2;\n    [self addSubview:redView];\n\n    UIView *blueView = UIView.new;\n    blueView.backgroundColor = UIColor.blueColor;\n    blueView.layer.borderColor = UIColor.blackColor.CGColor;\n    blueView.layer.borderWidth = 2;\n    [self addSubview:blueView];\n\n    UIView *superview = self;\n    UIEdgeInsets padding = UIEdgeInsetsMake(15, 10, 15, 10);\n\n\n    [greenView mas_makeConstraints:^(MASConstraintMaker *make) {\n        // chain attributes\n        make.top.and.left.equalTo(superview).insets(padding);\n\n        // which is the equivalent of\n//        make.top.greaterThanOrEqualTo(superview).insets(padding);\n//        make.left.greaterThanOrEqualTo(superview).insets(padding);\n\n        make.bottom.equalTo(blueView.mas_top).insets(padding);\n        make.right.equalTo(redView.mas_left).insets(padding);\n        make.width.equalTo(redView.mas_width);\n\n        make.height.equalTo(@[redView, blueView]);\n    }];\n\n    [redView mas_makeConstraints:^(MASConstraintMaker *make) {\n        // chain attributes\n        make.top.and.right.equalTo(superview).insets(padding);\n\n        make.left.equalTo(greenView.mas_right).insets(padding);\n        make.bottom.equalTo(blueView.mas_top).insets(padding);\n        make.width.equalTo(greenView.mas_width);\n\n        make.height.equalTo(@[greenView, blueView]);\n    }];\n\n    [blueView mas_makeConstraints:^(MASConstraintMaker *make) {\n        make.top.equalTo(greenView.mas_bottom).insets(padding);\n\n        // chain attributes\n        make.left.right.and.bottom.equalTo(superview).insets(padding);\n\n        make.height.equalTo(@[greenView, redView]);\n    }];\n\n    return self;\n}\n\n@end\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/MASExampleBasicView.h",
    "content": "//\n//  MASExampleBasicView.h\n//  Masonry\n//\n//  Created by Jonas Budelmann on 21/07/13.\n//  Copyright (c) 2013 cloudling. All rights reserved.\n//\n\n#import <UIKit/UIKit.h>\n\n@interface MASExampleBasicView : UIView\n\n@end\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/MASExampleBasicView.m",
    "content": "//\n//  MASExampleBasicView.m\n//  Masonry\n//\n//  Created by Jonas Budelmann on 21/07/13.\n//  Copyright (c) 2013 cloudling. All rights reserved.\n//\n\n#import \"MASExampleBasicView.h\"\n\n@implementation MASExampleBasicView\n\n- (id)init {\n    self = [super init];\n    if (!self) return nil;\n    \n    UIView *greenView = UIView.new;\n    greenView.backgroundColor = UIColor.greenColor;\n    greenView.layer.borderColor = UIColor.blackColor.CGColor;\n    greenView.layer.borderWidth = 2;\n    [self addSubview:greenView];\n    \n    UIView *redView = UIView.new;\n    redView.backgroundColor = UIColor.redColor;\n    redView.layer.borderColor = UIColor.blackColor.CGColor;\n    redView.layer.borderWidth = 2;\n    [self addSubview:redView];\n    \n    UIView *blueView = UIView.new;\n    blueView.backgroundColor = UIColor.blueColor;\n    blueView.layer.borderColor = UIColor.blackColor.CGColor;\n    blueView.layer.borderWidth = 2;\n    [self addSubview:blueView];\n    \n    UIView *superview = self;\n    int padding = 10;\n\n    //if you want to use Masonry without the mas_ prefix\n    //define MAS_SHORTHAND before importing Masonry.h see Masonry iOS Examples-Prefix.pch\n    [greenView makeConstraints:^(MASConstraintMaker *make) {\n        make.top.greaterThanOrEqualTo(superview.top).offset(padding);\n        make.left.equalTo(superview.left).offset(padding);\n        make.bottom.equalTo(blueView.top).offset(-padding);\n        make.right.equalTo(redView.left).offset(-padding);\n        make.width.equalTo(redView.width);\n\n        make.height.equalTo(redView.height);\n        make.height.equalTo(blueView.height);\n        \n    }];\n\n    //with is semantic and option\n    [redView mas_makeConstraints:^(MASConstraintMaker *make) {\n        make.top.equalTo(superview.mas_top).with.offset(padding); //with with\n        make.left.equalTo(greenView.mas_right).offset(padding); //without with\n        make.bottom.equalTo(blueView.mas_top).offset(-padding);\n        make.right.equalTo(superview.mas_right).offset(-padding);\n        make.width.equalTo(greenView.mas_width);\n        \n        make.height.equalTo(@[greenView, blueView]); //can pass array of views\n    }];\n    \n    [blueView mas_makeConstraints:^(MASConstraintMaker *make) {\n        make.top.equalTo(greenView.mas_bottom).offset(padding);\n        make.left.equalTo(superview.mas_left).offset(padding);\n        make.bottom.equalTo(superview.mas_bottom).offset(-padding);\n        make.right.equalTo(superview.mas_right).offset(-padding);\n        make.height.equalTo(@[greenView.mas_height, redView.mas_height]); //can pass array of attributes\n    }];\n\n    return self;\n}\n\n@end\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/MASExampleConstantsView.h",
    "content": "//\n//  MASExampleConstantsView.h\n//  Masonry\n//\n//  Created by Jonas Budelmann on 21/07/13.\n//  Copyright (c) 2013 cloudling. All rights reserved.\n//\n\n#import <UIKit/UIKit.h>\n\n@interface MASExampleConstantsView : UIView\n\n@end\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/MASExampleConstantsView.m",
    "content": "//\n//  MASExampleConstantsView.m\n//  Masonry\n//\n//  Created by Jonas Budelmann on 21/07/13.\n//  Copyright (c) 2013 cloudling. All rights reserved.\n//\n\n#import \"MASExampleConstantsView.h\"\n\n@implementation MASExampleConstantsView\n\n- (id)init {\n    self = [super init];\n    if (!self) return nil;\n    \n    UIView *purpleView = UIView.new;\n    purpleView.backgroundColor = UIColor.purpleColor;\n    purpleView.layer.borderColor = UIColor.blackColor.CGColor;\n    purpleView.layer.borderWidth = 2;\n    [self addSubview:purpleView];\n    \n    UIView *orangeView = UIView.new;\n    orangeView.backgroundColor = UIColor.orangeColor;\n    orangeView.layer.borderColor = UIColor.blackColor.CGColor;\n    orangeView.layer.borderWidth = 2;\n    [self addSubview:orangeView];\n    \n    //example of using constants\n    \n    [purpleView mas_makeConstraints:^(MASConstraintMaker *make) {\n        make.top.equalTo(@20);\n        make.left.equalTo(@20);\n        make.bottom.equalTo(@-20);\n        make.right.equalTo(@-20);\n    }];\n    \n    // auto-boxing macros allow you to simply use scalars and structs, they will be wrapped automatically\n    \n    [orangeView mas_makeConstraints:^(MASConstraintMaker *make) {\n        make.center.equalTo(CGPointMake(0, 50));\n        make.size.equalTo(CGSizeMake(200, 100));\n    }];\n    \n    return self;\n}\n\n@end\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/MASExampleDebuggingView.h",
    "content": "//\n//  MASExampleDebuggingView.h\n//  Masonry iOS Examples\n//\n//  Created by Jonas Budelmann on 3/08/13.\n//  Copyright (c) 2013 Jonas Budelmann. All rights reserved.\n//\n\n#import <UIKit/UIKit.h>\n\n@interface MASExampleDebuggingView : UIView\n\n@end\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/MASExampleDebuggingView.m",
    "content": "//\n//  MASExampleDebuggingView.m\n//  Masonry iOS Examples\n//\n//  Created by Jonas Budelmann on 3/08/13.\n//  Copyright (c) 2013 Jonas Budelmann. All rights reserved.\n//\n\n#import \"MASExampleDebuggingView.h\"\n\n@implementation MASExampleDebuggingView\n\n- (id)init {\n    self = [super init];\n    if (!self) return nil;\n\n    UIView *greenView = UIView.new;\n    greenView.backgroundColor = UIColor.greenColor;\n    greenView.layer.borderColor = UIColor.blackColor.CGColor;\n    greenView.layer.borderWidth = 2;\n    [self addSubview:greenView];\n\n    UIView *redView = UIView.new;\n    redView.backgroundColor = UIColor.redColor;\n    redView.layer.borderColor = UIColor.blackColor.CGColor;\n    redView.layer.borderWidth = 2;\n    [self addSubview:redView];\n\n    UILabel *blueView = UILabel.new;\n    blueView.backgroundColor = UIColor.blueColor;\n    blueView.numberOfLines = 3;\n    blueView.textAlignment = NSTextAlignmentCenter;\n    blueView.font = [UIFont systemFontOfSize:24];\n    blueView.textColor = UIColor.whiteColor;\n    blueView.text = @\"this should look broken! check your console!\";\n    blueView.layer.borderColor = UIColor.blackColor.CGColor;\n    blueView.layer.borderWidth = 2;\n    [self addSubview:blueView];\n\n    UIView *superview = self;\n    int padding = 10;\n\n    //you can attach debug keys to views like so:\n//    greenView.mas_key = @\"greenView\";\n//    redView.mas_key = @\"redView\";\n//    blueView.mas_key = @\"blueView\";\n//    superview.mas_key = @\"superview\";\n\n    //OR you can attach keys automagically like so:\n    MASAttachKeys(greenView, redView, blueView, superview);\n\n    [blueView mas_makeConstraints:^(MASConstraintMaker *make) {\n        //you can also attach debug keys to constaints\n        make.edges.equalTo(@1).key(@\"ConflictingConstraint\"); //composite constraint keys will be indexed\n        make.height.greaterThanOrEqualTo(@5000).key(@\"ConstantConstraint\");\n\n        make.top.equalTo(greenView.mas_bottom).offset(padding);\n        make.left.equalTo(superview.mas_left).offset(padding);\n        make.bottom.equalTo(superview.mas_bottom).offset(-padding).key(@\"BottomConstraint\");\n        make.right.equalTo(superview.mas_right).offset(-padding);\n        make.height.equalTo(greenView.mas_height);\n        make.height.equalTo(redView.mas_height).key(@340954); //anything can be a key\n    }];\n    \n    [greenView makeConstraints:^(MASConstraintMaker *make) {\n        make.top.greaterThanOrEqualTo(superview.top).offset(padding);\n        make.left.equalTo(superview.left).offset(padding);\n        make.bottom.equalTo(blueView.top).offset(-padding);\n        make.right.equalTo(redView.left).offset(-padding);\n        make.width.equalTo(redView.width);\n\n        make.height.equalTo(redView.height);\n        make.height.equalTo(blueView.height);\n    }];\n\n    //with is semantic and option\n    [redView mas_makeConstraints:^(MASConstraintMaker *make) {\n        make.top.equalTo(superview.mas_top).with.offset(padding);\n        make.left.equalTo(greenView.mas_right).offset(padding);\n        make.bottom.equalTo(blueView.mas_top).offset(-padding);\n        make.right.equalTo(superview.mas_right).offset(-padding);\n        make.width.equalTo(greenView.mas_width);\n\n        make.height.equalTo(@[greenView, blueView]);\n    }];\n    \n    return self;\n}\n\n@end\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/MASExampleDistributeView.h",
    "content": "//\n//  MASExampleDistributeView.h\n//  Masonry iOS Examples\n//\n//  Created by bibibi on 15/8/6.\n//  Copyright (c) 2015年 Jonas Budelmann. All rights reserved.\n//\n\n#import <UIKit/UIKit.h>\n\n@interface MASExampleDistributeView : UIView\n\n@end\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/MASExampleDistributeView.m",
    "content": "//\n//  MASExampleDistributeView.m\n//  Masonry iOS Examples\n//\n//  Created by bibibi on 15/8/6.\n//  Copyright (c) 2015年 Jonas Budelmann. All rights reserved.\n//\n\n#import \"MASExampleDistributeView.h\"\n\n@implementation MASExampleDistributeView\n\n- (id)init {\n    self = [super init];\n    if (!self) return nil;\n\n    NSMutableArray *arr = @[].mutableCopy;\n    for (int i = 0; i < 4; i++) {\n        UIView *view = UIView.new;\n        view.backgroundColor = [self randomColor];\n        view.layer.borderColor = UIColor.blackColor.CGColor;\n        view.layer.borderWidth = 2;\n        [self addSubview:view];\n        [arr addObject:view];\n    }\n    \n    unsigned int type  = arc4random()%4;\n    switch (type) {\n        case 0:\n            [arr mas_distributeViewsAlongAxis:MASAxisTypeHorizontal withFixedSpacing:20 leadSpacing:5 tailSpacing:5];\n            [arr makeConstraints:^(MASConstraintMaker *make) {\n                make.top.equalTo(@60);\n                make.height.equalTo(@60);\n            }];\n            break;\n        case 1:\n            [arr mas_distributeViewsAlongAxis:MASAxisTypeVertical withFixedSpacing:20 leadSpacing:5 tailSpacing:5];\n            [arr makeConstraints:^(MASConstraintMaker *make) {\n                make.left.equalTo(@0);\n                make.width.equalTo(@60);\n            }];\n            break;\n        case 2:\n            [arr mas_distributeViewsAlongAxis:MASAxisTypeHorizontal withFixedItemLength:30 leadSpacing:200 tailSpacing:30];\n            [arr makeConstraints:^(MASConstraintMaker *make) {\n                make.top.equalTo(@60);\n                make.height.equalTo(@60);\n            }];\n            break;\n        case 3:\n            [arr mas_distributeViewsAlongAxis:MASAxisTypeVertical withFixedItemLength:30 leadSpacing:30 tailSpacing:200];\n            [arr makeConstraints:^(MASConstraintMaker *make) {\n                make.left.equalTo(@0);\n                make.width.equalTo(@60);\n            }];\n            break;\n            \n        default:\n            break;\n    }\n    \n    return self;\n}\n\n- (UIColor *)randomColor {\n    CGFloat hue = ( arc4random() % 256 / 256.0 );  //  0.0 to 1.0\n    CGFloat saturation = ( arc4random() % 128 / 256.0 ) + 0.5;  //  0.5 to 1.0, away from white\n    CGFloat brightness = ( arc4random() % 128 / 256.0 ) + 0.5;  //  0.5 to 1.0, away from black\n    return [UIColor colorWithHue:hue saturation:saturation brightness:brightness alpha:1];\n}\n\n@end\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/MASExampleLabelView.h",
    "content": "//\n//  MASExampleLabelView.h\n//  Masonry iOS Examples\n//\n//  Created by Jonas Budelmann on 24/10/13.\n//  Copyright (c) 2013 Jonas Budelmann. All rights reserved.\n//\n\n#import <UIKit/UIKit.h>\n\n@interface MASExampleLabelView : UIView\n\n@end\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/MASExampleLabelView.m",
    "content": "//\n//  MASExampleLabelView.m\n//  Masonry iOS Examples\n//\n//  Created by Jonas Budelmann on 24/10/13.\n//  Copyright (c) 2013 Jonas Budelmann. All rights reserved.\n//\n\n#import \"MASExampleLabelView.h\"\n\nstatic UIEdgeInsets const kPadding = {10, 10, 10, 10};\n\n@interface MASExampleLabelView ()\n\n@property (nonatomic, strong) UILabel *shortLabel;\n@property (nonatomic, strong) UILabel *longLabel;\n\n@end\n\n@implementation MASExampleLabelView\n\n- (id)init {\n    self = [super init];\n    if (!self) return nil;\n\n    // text courtesy of http://baconipsum.com/\n\n    self.shortLabel = UILabel.new;\n    self.shortLabel.numberOfLines = 1;\n    self.shortLabel.textColor = [UIColor purpleColor];\n    self.shortLabel.lineBreakMode = NSLineBreakByTruncatingTail;\n    self.shortLabel.text = @\"Bacon\";\n    [self addSubview:self.shortLabel];\n\n    self.longLabel = UILabel.new;\n    self.longLabel.numberOfLines = 8;\n    self.longLabel.textColor = [UIColor darkGrayColor];\n    self.longLabel.lineBreakMode = NSLineBreakByTruncatingTail;\n    self.longLabel.text = @\"Bacon ipsum dolor sit amet spare ribs fatback kielbasa salami, tri-tip jowl pastrami flank short loin rump sirloin. Tenderloin frankfurter chicken biltong rump chuck filet mignon pork t-bone flank ham hock.\";\n    [self addSubview:self.longLabel];\n\n    [self.longLabel makeConstraints:^(MASConstraintMaker *make) {\n        make.left.equalTo(self.left).insets(kPadding);\n        make.top.equalTo(self.top).insets(kPadding);\n    }];\n\n    [self.shortLabel makeConstraints:^(MASConstraintMaker *make) {\n        make.top.equalTo(self.longLabel.lastBaseline);\n        make.right.equalTo(self.right).insets(kPadding);\n    }];\n\n    return self;\n}\n\n- (void)layoutSubviews {\n    [super layoutSubviews];\n\n    // for multiline UILabel's you need set the preferredMaxLayoutWidth\n    // you need to do this after [super layoutSubviews] as the frames will have a value from Auto Layout at this point\n\n    // stay tuned for new easier way todo this coming soon to Masonry\n\n    CGFloat width = CGRectGetMinX(self.shortLabel.frame) - kPadding.left;\n    width -= CGRectGetMinX(self.longLabel.frame);\n    self.longLabel.preferredMaxLayoutWidth = width;\n\n    // need to layoutSubviews again as frames need to recalculated with preferredLayoutWidth\n    [super layoutSubviews];\n}\n\n@end\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/MASExampleLayoutGuideViewController.h",
    "content": "//\n//  MASExampleLayoutGuideViewController.h\n//  Masonry iOS Examples\n//\n//  Created by Jonas Budelmann on 26/11/13.\n//  Copyright (c) 2013 Jonas Budelmann. All rights reserved.\n//\n\n#import <UIKit/UIKit.h>\n\n@interface MASExampleLayoutGuideViewController : UIViewController\n\n@end\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/MASExampleLayoutGuideViewController.m",
    "content": "//\n//  MASExampleLayoutGuideViewController.m\n//  Masonry iOS Examples\n//\n//  Created by Jonas Budelmann on 26/11/13.\n//  Copyright (c) 2013 Jonas Budelmann. All rights reserved.\n//\n\n#import \"MASExampleLayoutGuideViewController.h\"\n\n@interface MASExampleLayoutGuideViewController ()\n\n@end\n\n@implementation MASExampleLayoutGuideViewController\n\n- (id)init {\n    self = [super init];\n    if (!self) return nil;\n\n    self.title = @\"Layout Guides\";\n\n    return self;\n}\n\n- (void)viewDidLoad {\n    [super viewDidLoad];\n\n    self.view.backgroundColor = [UIColor whiteColor];\n\n    UIView *topView = UIView.new;\n    topView.backgroundColor = UIColor.greenColor;\n    topView.layer.borderColor = UIColor.blackColor.CGColor;\n    topView.layer.borderWidth = 2;\n    [self.view addSubview:topView];\n\n    UIView *topSubview = UIView.new;\n    topSubview.backgroundColor = UIColor.blueColor;\n    topSubview.layer.borderColor = UIColor.blackColor.CGColor;\n    topSubview.layer.borderWidth = 2;\n    [topView addSubview:topSubview];\n    \n    UIView *bottomView = UIView.new;\n    bottomView.backgroundColor = UIColor.redColor;\n    bottomView.layer.borderColor = UIColor.blackColor.CGColor;\n    bottomView.layer.borderWidth = 2;\n    [self.view addSubview:bottomView];\n\n    [topView makeConstraints:^(MASConstraintMaker *make) {\n        make.top.equalTo(self.mas_topLayoutGuide);\n        make.left.equalTo(self.view);\n        make.right.equalTo(self.view);\n        make.height.equalTo(@40);\n    }];\n\n    [topSubview makeConstraints:^(MASConstraintMaker *make) {\n        make.top.equalTo(self.mas_topLayoutGuide);\n        make.centerX.equalTo(@0);\n        make.width.equalTo(@20);\n        make.height.equalTo(@20);\n    }];\n    \n    [bottomView makeConstraints:^(MASConstraintMaker *make) {\n        make.bottom.equalTo(self.mas_bottomLayoutGuide);\n        make.left.equalTo(self.view);\n        make.right.equalTo(self.view);\n        make.height.equalTo(@40);\n    }];\n}\n\n@end\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/MASExampleListViewController.h",
    "content": "//\n//  MASExampleListViewController.h\n//  Masonry\n//\n//  Created by Jonas Budelmann on 21/07/13.\n//  Copyright (c) 2013 cloudling. All rights reserved.\n//\n\n#import <UIKit/UIKit.h>\n\n@interface MASExampleListViewController : UITableViewController\n\n@end\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/MASExampleListViewController.m",
    "content": "//\n//  MASExampleListViewController.h\n//  Masonry\n//\n//  Created by Jonas Budelmann on 21/07/13.\n//  Copyright (c) 2013 cloudling. All rights reserved.\n//\n\n#import \"MASExampleListViewController.h\"\n#import \"MASExampleViewController.h\"\n#import \"MASExampleBasicView.h\"\n#import \"MASExampleConstantsView.h\"\n#import \"MASExampleSidesView.h\"\n#import \"MASExampleAnimatedView.h\"\n#import \"MASExampleDebuggingView.h\"\n#import \"MASExampleLabelView.h\"\n#import \"MASExampleUpdateView.h\"\n#import \"MASExampleRemakeView.h\"\n#import \"MASExampleScrollView.h\"\n#import \"MASExampleLayoutGuideViewController.h\"\n#import \"MASExampleSafeAreaLayoutGuideViewController.h\"\n#import \"MASExampleArrayView.h\"\n#import \"MASExampleAttributeChainingView.h\"\n#import \"MASExampleAspectFitView.h\"\n#import \"MASExampleMarginView.h\"\n#import \"MASExampleDistributeView.h\"\n\nstatic NSString * const kMASCellReuseIdentifier = @\"kMASCellReuseIdentifier\";\n\n@interface MASExampleListViewController ()\n\n@property (nonatomic, strong) NSArray *exampleControllers;\n\n@end\n\n@implementation MASExampleListViewController\n\n- (id)init {\n    self = [super init];\n    if (!self) return nil;\n    \n    self.title = @\"Examples\";\n    \n    self.exampleControllers = @[\n        [[MASExampleViewController alloc] initWithTitle:@\"Basic\"\n                                              viewClass:MASExampleBasicView.class],\n        [[MASExampleViewController alloc] initWithTitle:@\"Update Constraints\"\n                                              viewClass:MASExampleUpdateView.class],\n        [[MASExampleViewController alloc] initWithTitle:@\"Remake Constraints\"\n                                              viewClass:MASExampleRemakeView.class],\n        [[MASExampleViewController alloc] initWithTitle:@\"Using Constants\"\n                                              viewClass:MASExampleConstantsView.class],\n        [[MASExampleViewController alloc] initWithTitle:@\"Composite Edges\"\n                                              viewClass:MASExampleSidesView.class],\n        [[MASExampleViewController alloc] initWithTitle:@\"Aspect Fit\"\n                                              viewClass:MASExampleAspectFitView.class],\n        [[MASExampleViewController alloc] initWithTitle:@\"Basic Animated\"\n                                              viewClass:MASExampleAnimatedView.class],\n        [[MASExampleViewController alloc] initWithTitle:@\"Debugging Helpers\"\n                                              viewClass:MASExampleDebuggingView.class],\n        [[MASExampleViewController alloc] initWithTitle:@\"Bacony Labels\"\n                                              viewClass:MASExampleLabelView.class],\n        [[MASExampleViewController alloc] initWithTitle:@\"UIScrollView\"\n                                              viewClass:MASExampleScrollView.class],\n        [[MASExampleViewController alloc] initWithTitle:@\"Array\"\n                                              viewClass:MASExampleArrayView.class],\n        [[MASExampleViewController alloc] initWithTitle:@\"Attribute Chaining\"\n                                              viewClass:MASExampleAttributeChainingView.class],\n        [[MASExampleViewController alloc] initWithTitle:@\"Margins\"\n                                              viewClass:MASExampleMarginView.class],\n        [[MASExampleViewController alloc] initWithTitle:@\"Views Distribute\"\n                                              viewClass:MASExampleDistributeView.class],\n\n    ];\n    \n    if ([UIViewController instancesRespondToSelector:@selector(topLayoutGuide)])\n    {\n        self.exampleControllers = [self.exampleControllers arrayByAddingObject:[[MASExampleLayoutGuideViewController alloc] init]];\n    }\n    \n    if ([UIView instancesRespondToSelector:@selector(safeAreaLayoutGuide)])\n    {\n        self.exampleControllers = [self.exampleControllers arrayByAddingObject:[[MASExampleSafeAreaLayoutGuideViewController alloc] init]];\n    }\n    \n    return self;\n}\n\n- (void)viewDidLoad {\n    [super viewDidLoad];\n\n    self.view.backgroundColor = [UIColor whiteColor];\n    [self.tableView registerClass:UITableViewCell.class forCellReuseIdentifier:kMASCellReuseIdentifier];\n}\n\n#pragma mark - UITableViewDataSource\n\n- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {\n    UIViewController *viewController = self.exampleControllers[indexPath.row];\n    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kMASCellReuseIdentifier forIndexPath:indexPath];\n    cell.textLabel.text = viewController.title;\n    return cell;\n}\n\n- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {\n    return self.exampleControllers.count;\n}\n\n#pragma mark - UITableViewDelegate\n\n- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {\n    UIViewController *viewController = self.exampleControllers[indexPath.row];\n    [self.navigationController pushViewController:viewController animated:YES];\n}\n\n@end\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/MASExampleMarginView.h",
    "content": "//\n//  MASExampleMarginView.h\n//  Masonry iOS Examples\n//\n//  Created by Craig Siemens on 2015-02-23.\n//  Copyright (c) 2015 Jonas Budelmann. All rights reserved.\n//\n\n#import <UIKit/UIKit.h>\n\n@interface MASExampleMarginView : UIView\n\n@end\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/MASExampleMarginView.m",
    "content": "//\n//  MASExampleMarginView.m\n//  Masonry iOS Examples\n//\n//  Created by Craig Siemens on 2015-02-23.\n//  Copyright (c) 2015 Jonas Budelmann. All rights reserved.\n//\n\n#import \"MASExampleMarginView.h\"\n\n@implementation MASExampleMarginView\n\n- (instancetype)init {\n    self = [super init];\n    if (!self) return nil;\n    \n    UIView *lastView = self;\n    for (int i = 0; i < 10; i++) {\n        UIView *view = UIView.new;\n        view.backgroundColor = [self randomColor];\n        view.layer.borderColor = UIColor.blackColor.CGColor;\n        view.layer.borderWidth = 2;\n        view.layoutMargins = UIEdgeInsetsMake(5, 10, 15, 20);\n        [self addSubview:view];\n        \n        [view mas_makeConstraints:^(MASConstraintMaker *make) {\n            make.top.equalTo(lastView.topMargin);\n            make.bottom.equalTo(lastView.bottomMargin);\n            make.left.equalTo(lastView.leftMargin);\n            make.right.equalTo(lastView.rightMargin);\n        }];\n        \n        lastView = view;\n    }\n    \n    return self;\n}\n\n- (UIColor *)randomColor {\n    CGFloat hue = ( arc4random() % 256 / 256.0 );  //  0.0 to 1.0\n    CGFloat saturation = ( arc4random() % 128 / 256.0 ) + 0.5;  //  0.5 to 1.0, away from white\n    CGFloat brightness = ( arc4random() % 128 / 256.0 ) + 0.5;  //  0.5 to 1.0, away from black\n    return [UIColor colorWithHue:hue saturation:saturation brightness:brightness alpha:1];\n}\n\n@end\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/MASExampleRemakeView.h",
    "content": "//\n//  MASExampleRemakeView.h\n//  Masonry iOS Examples\n//\n//  Created by Sam Symons on 2014-06-22.\n//  Copyright (c) 2014 Jonas Budelmann. All rights reserved.\n//\n\n#import <UIKit/UIKit.h>\n\n@interface MASExampleRemakeView : UIView\n\n@end\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/MASExampleRemakeView.m",
    "content": "//\n//  MASExampleRemakeView.m\n//  Masonry iOS Examples\n//\n//  Created by Sam Symons on 2014-06-22.\n//  Copyright (c) 2014 Jonas Budelmann. All rights reserved.\n//\n\n#import \"MASExampleRemakeView.h\"\n\n@interface MASExampleRemakeView ()\n\n@property (nonatomic, strong) UIButton *movingButton;\n@property (nonatomic, assign) BOOL topLeft;\n\n- (void)toggleButtonPosition;\n\n@end\n\n@implementation MASExampleRemakeView\n\n- (id)init {\n    self = [super init];\n    if (!self) return nil;\n    \n    self.movingButton = [UIButton buttonWithType:UIButtonTypeSystem];\n    [self.movingButton setTitle:@\"Move Me!\" forState:UIControlStateNormal];\n    self.movingButton.layer.borderColor = UIColor.greenColor.CGColor;\n    self.movingButton.layer.borderWidth = 3;\n    \n    [self.movingButton addTarget:self action:@selector(toggleButtonPosition) forControlEvents:UIControlEventTouchUpInside];\n    [self addSubview:self.movingButton];\n    \n    self.topLeft = YES;\n    \n    return self;\n}\n\n+ (BOOL)requiresConstraintBasedLayout\n{\n    return YES;\n}\n\n// this is Apple's recommended place for adding/updating constraints\n- (void)updateConstraints {\n    \n    [self.movingButton remakeConstraints:^(MASConstraintMaker *make) {\n        make.width.equalTo(@(100));\n        make.height.equalTo(@(100));\n        \n        if (self.topLeft) {\n            make.left.equalTo(self.left).with.offset(10);\n            make.top.equalTo(self.top).with.offset(10);\n        }\n        else {\n            make.bottom.equalTo(self.bottom).with.offset(-10);\n            make.right.equalTo(self.right).with.offset(-10);\n        }\n    }];\n    \n    //according to apple super should be called at end of method\n    [super updateConstraints];\n}\n\n- (void)toggleButtonPosition {\n    self.topLeft = !self.topLeft;\n    \n    // tell constraints they need updating\n    [self setNeedsUpdateConstraints];\n    \n    // update constraints now so we can animate the change\n    [self updateConstraintsIfNeeded];\n    \n    [UIView animateWithDuration:0.4 animations:^{\n        [self layoutIfNeeded];\n    }];\n}\n\n@end\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/MASExampleSafeAreaLayoutGuideViewController.h",
    "content": "//\n//  MASExampleSafeAreaLayoutGuideViewController.h\n//  Masonry iOS Examples\n//\n//  Created by MingLQ on 2017-09-27.\n//  Copyright © 2017 MingLQ. All rights reserved.\n//\n\n#import <UIKit/UIKit.h>\n\n@interface MASExampleSafeAreaLayoutGuideViewController : UIViewController\n\n@end\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/MASExampleSafeAreaLayoutGuideViewController.m",
    "content": "//\n//  MASExampleSafeAreaLayoutGuideViewController.m\n//  Masonry iOS Examples\n//\n//  Created by MingLQ on 2017-09-27.\n//  Copyright © 2017 MingLQ. All rights reserved.\n//\n\n#import \"MASExampleSafeAreaLayoutGuideViewController.h\"\n\n@interface MASExampleSafeAreaLayoutGuideViewController ()\n\n@end\n\n@implementation MASExampleSafeAreaLayoutGuideViewController\n\n- (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {\n    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];\n    if (self) {\n        self.title = @\"Safe Area Layout Guides\";\n    }\n    return self;\n}\n\n- (void)viewDidLoad {\n    [super viewDidLoad];\n    \n    self.view.backgroundColor = [UIColor whiteColor];\n    \n    UIView *view1 = [UIView new];\n    view1.backgroundColor = [UIColor redColor];\n    [self.view addSubview:view1];\n    \n    UIView *view2 = [UIView new];\n    view2.backgroundColor = [UIColor greenColor];\n    [self.view addSubview:view2];\n    \n    UIView *view3 = [UIView new];\n    view3.backgroundColor = [UIColor blueColor];\n    [self.view addSubview:view3];\n    \n    UIView *leftView = [self viewWithName:@\"LY\"];\n    UIView *rightView = [self viewWithName:@\"RY\"];\n    UIView *topView = [self viewWithName:@\"TX\"];\n    UIView *bottomView = [self viewWithName:@\"BX\"];\n    \n    UIView *leftTopView = [self viewWithName:@\"LT\"];\n    UIView *rightTopView = [self viewWithName:@\"RT\"];\n    UIView *leftBottomView = [self viewWithName:@\"LB\"];\n    UIView *rightBottomView = [self viewWithName:@\"RB\"];\n    \n    UIView *centerView = [self viewWithName:@\"XY\"];\n    \n    const CGFloat size = 50.0;\n    \n    [view1 mas_makeConstraints:^(MASConstraintMaker *make) {\n        make.edges.equalTo(self.view.mas_safeAreaLayoutGuide).inset(10.0);\n    }];\n    \n    [view2 mas_makeConstraints:^(MASConstraintMaker *make) {\n        make.center.equalTo(self.view.mas_safeAreaLayoutGuide);\n        make.width.height.equalTo(self.view.mas_safeAreaLayoutGuide).sizeOffset(CGSizeMake(- 40.0, - 40.0));\n    }];\n    \n    [view3 mas_makeConstraints:^(MASConstraintMaker *make) {\n        make.center.equalTo(self.view.mas_safeAreaLayoutGuide);\n        make.width.equalTo(self.view.mas_safeAreaLayoutGuide).sizeOffset(CGSizeMake(- 60.0, - 60.0));\n        make.height.equalTo(self.view.mas_safeAreaLayoutGuide).sizeOffset(CGSizeMake(- 60.0, - 60.0));\n    }];\n    \n    [leftTopView mas_makeConstraints:^(MASConstraintMaker *make) {\n        make.left.top.equalTo(self.view.mas_safeAreaLayoutGuide);\n        make.width.height.equalTo(@(size));\n    }];\n    \n    [rightTopView mas_makeConstraints:^(MASConstraintMaker *make) {\n        make.right.equalTo(self.view.mas_safeAreaLayoutGuideRight);\n        make.top.equalTo(self.view.mas_safeAreaLayoutGuideTop);\n        make.width.height.equalTo(@(size));\n    }];\n    \n    [leftBottomView mas_makeConstraints:^(MASConstraintMaker *make) {\n        make.left.equalTo(self.view.mas_safeAreaLayoutGuideLeft);\n        make.bottom.equalTo(self.view.mas_safeAreaLayoutGuideBottom);\n        make.width.height.equalTo(@(size));\n    }];\n    \n    [rightBottomView mas_makeConstraints:^(MASConstraintMaker *make) {\n        make.right.bottom.equalTo(self.view.mas_safeAreaLayoutGuide);\n        make.width.height.equalTo(@(size));\n    }];\n    \n    [leftView mas_makeConstraints:^(MASConstraintMaker *make) {\n        make.left.centerY.equalTo(self.view.mas_safeAreaLayoutGuide);\n        make.width.height.equalTo(@(size));\n    }];\n    \n    [rightView mas_makeConstraints:^(MASConstraintMaker *make) {\n        make.right.equalTo(self.view.mas_safeAreaLayoutGuideRight);\n        make.centerY.equalTo(self.view.mas_safeAreaLayoutGuideCenterY);\n        make.width.height.equalTo(@(size));\n    }];\n    \n    [topView mas_makeConstraints:^(MASConstraintMaker *make) {\n        make.top.equalTo(self.view.mas_safeAreaLayoutGuideTop);\n        make.centerX.equalTo(self.view.mas_safeAreaLayoutGuideCenterX);\n        make.width.height.equalTo(@(size));\n    }];\n    \n    [bottomView mas_makeConstraints:^(MASConstraintMaker *make) {\n        make.bottom.centerX.equalTo(self.view.mas_safeAreaLayoutGuide);\n        make.width.height.equalTo(@(size));\n    }];\n    \n    [centerView mas_makeConstraints:^(MASConstraintMaker *make) {\n        make.center.equalTo(self.view.mas_safeAreaLayoutGuide);\n        make.width.height.equalTo(@(size));\n    }];\n}\n\n- (UIView *)viewWithName:(NSString *)name {\n    UILabel *label = [UILabel new];\n    label.text = name;\n    label.textAlignment = NSTextAlignmentCenter;\n    label.textColor = [UIColor blackColor];\n    label.backgroundColor = [UIColor yellowColor];\n    [self.view addSubview:label];\n    return label;\n}\n\n@end\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/MASExampleScrollView.h",
    "content": "//\n//  MASExampleScrollView.h\n//  Masonry iOS Examples\n//\n//  Created by Jonas Budelmann on 20/11/13.\n//  Copyright (c) 2013 Jonas Budelmann. All rights reserved.\n//\n\n#import <UIKit/UIKit.h>\n\n@interface MASExampleScrollView : UIView\n\n@end\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/MASExampleScrollView.m",
    "content": "//\n//  MASExampleScrollView.m\n//  Masonry iOS Examples\n//\n//  Created by Jonas Budelmann on 20/11/13.\n//  Copyright (c) 2013 Jonas Budelmann. All rights reserved.\n//\n\n#import \"MASExampleScrollView.h\"\n\n/**\n *  UIScrollView and Auto Layout don't play very nicely together see\n *  https://developer.apple.com/library/ios/technotes/tn2154/_index.html\n *\n *  This is an example of one workaround\n *\n *  for another approach see https://github.com/bizz84/MVScrollViewAutoLayout\n */\n\n@interface MASExampleScrollView ()\n@property (strong, nonatomic) UIScrollView* scrollView;\n@end\n\n@implementation MASExampleScrollView\n\n- (id)init {\n    self = [super init];\n    if (!self) return nil;\n    \n    UIScrollView *scrollView = UIScrollView.new;\n    self.scrollView = scrollView;\n    scrollView.backgroundColor = [UIColor grayColor];\n    [self addSubview:scrollView];\n    [self.scrollView makeConstraints:^(MASConstraintMaker *make) {\n        make.edges.equalTo(self);\n    }];\n    \n    [self generateContent];\n\n    return self;\n}\n\n- (void)generateContent {\n    UIView* contentView = UIView.new;\n    [self.scrollView addSubview:contentView];\n    \n    [contentView makeConstraints:^(MASConstraintMaker *make) {\n        make.edges.equalTo(self.scrollView);\n        make.width.equalTo(self.scrollView);\n    }];\n    \n    UIView *lastView;\n    CGFloat height = 25;\n    \n    for (int i = 0; i < 10; i++) {\n        UIView *view = UIView.new;\n        view.backgroundColor = [self randomColor];\n        [contentView addSubview:view];\n        \n        UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(singleTap:)];\n        [view addGestureRecognizer:singleTap];\n        \n        [view mas_makeConstraints:^(MASConstraintMaker *make) {\n            make.top.equalTo(lastView ? lastView.bottom : @0);\n            make.left.equalTo(@0);\n            make.width.equalTo(contentView.width);\n            make.height.equalTo(@(height));\n        }];\n        \n        height += 25;\n        lastView = view;\n    }\n    \n    [contentView makeConstraints:^(MASConstraintMaker *make) {\n        make.bottom.equalTo(lastView.bottom);\n    }];\n}\n\n- (UIColor *)randomColor {\n    CGFloat hue = ( arc4random() % 256 / 256.0 );  //  0.0 to 1.0\n    CGFloat saturation = ( arc4random() % 128 / 256.0 ) + 0.5;  //  0.5 to 1.0, away from white\n    CGFloat brightness = ( arc4random() % 128 / 256.0 ) + 0.5;  //  0.5 to 1.0, away from black\n    return [UIColor colorWithHue:hue saturation:saturation brightness:brightness alpha:1];\n}\n\n- (void)singleTap:(UITapGestureRecognizer*)sender {\n    [sender.view setAlpha:sender.view.alpha / 1.20]; // To see something happen on screen when you tap :O\n    [self.scrollView scrollRectToVisible:sender.view.frame animated:YES];\n};\n\n@end\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/MASExampleSidesView.h",
    "content": "//\n//  MASExampleSidesView.h\n//  Masonry\n//\n//  Created by Jonas Budelmann on 21/07/13.\n//  Copyright (c) 2013 cloudling. All rights reserved.\n//\n\n#import <UIKit/UIKit.h>\n\n@interface MASExampleSidesView : UIView\n\n@end\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/MASExampleSidesView.m",
    "content": "//\n//  MASExampleSidesView.m\n//  Masonry\n//\n//  Created by Jonas Budelmann on 21/07/13.\n//  Copyright (c) 2013 cloudling. All rights reserved.\n//\n\n#import \"MASExampleSidesView.h\"\n\n@implementation MASExampleSidesView\n\n- (id)init {\n    self = [super init];\n    if (!self) return nil;\n    \n    UIView *lastView = self;\n    for (int i = 0; i < 10; i++) {\n        UIView *view = UIView.new;\n        view.backgroundColor = [self randomColor];\n        view.layer.borderColor = UIColor.blackColor.CGColor;\n        view.layer.borderWidth = 2;\n        [self addSubview:view];\n        \n        [view mas_makeConstraints:^(MASConstraintMaker *make) {\n            make.edges.equalTo(lastView).insets(UIEdgeInsetsMake(5, 10, 15, 20));\n        }];\n        \n        lastView = view;\n    }\n    \n    return self;\n}\n\n- (UIColor *)randomColor {\n    CGFloat hue = ( arc4random() % 256 / 256.0 );  //  0.0 to 1.0\n    CGFloat saturation = ( arc4random() % 128 / 256.0 ) + 0.5;  //  0.5 to 1.0, away from white\n    CGFloat brightness = ( arc4random() % 128 / 256.0 ) + 0.5;  //  0.5 to 1.0, away from black\n    return [UIColor colorWithHue:hue saturation:saturation brightness:brightness alpha:1];\n}\n\n@end\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/MASExampleUpdateView.h",
    "content": "//\n//  MASExampleUpdateView.h\n//  Masonry iOS Examples\n//\n//  Created by Jonas Budelmann on 3/11/13.\n//  Copyright (c) 2013 Jonas Budelmann. All rights reserved.\n//\n\n#import <UIKit/UIKit.h>\n\n@interface MASExampleUpdateView : UIView\n\n@end\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/MASExampleUpdateView.m",
    "content": "//\n//  MASExampleUpdateView.m\n//  Masonry iOS Examples\n//\n//  Created by Jonas Budelmann on 3/11/13.\n//  Copyright (c) 2013 Jonas Budelmann. All rights reserved.\n//\n\n#import \"MASExampleUpdateView.h\"\n\n@interface MASExampleUpdateView ()\n\n@property (nonatomic, strong) UIButton *growingButton;\n@property (nonatomic, assign) CGSize buttonSize;\n\n@end\n\n@implementation MASExampleUpdateView\n\n- (id)init {\n    self = [super init];\n    if (!self) return nil;\n\n    self.growingButton = [UIButton buttonWithType:UIButtonTypeSystem];\n    [self.growingButton setTitle:@\"Grow Me!\" forState:UIControlStateNormal];\n    self.growingButton.layer.borderColor = UIColor.greenColor.CGColor;\n    self.growingButton.layer.borderWidth = 3;\n\n    [self.growingButton addTarget:self action:@selector(didTapGrowButton:) forControlEvents:UIControlEventTouchUpInside];\n    [self addSubview:self.growingButton];\n\n    self.buttonSize = CGSizeMake(100, 100);\n\n    return self;\n}\n\n+ (BOOL)requiresConstraintBasedLayout\n{\n    return YES;\n}\n\n// this is Apple's recommended place for adding/updating constraints\n- (void)updateConstraints {\n\n    [self.growingButton updateConstraints:^(MASConstraintMaker *make) {\n        make.center.equalTo(self);\n        make.width.equalTo(@(self.buttonSize.width)).priorityLow();\n        make.height.equalTo(@(self.buttonSize.height)).priorityLow();\n        make.width.lessThanOrEqualTo(self);\n        make.height.lessThanOrEqualTo(self);\n    }];\n    \n    //according to apple super should be called at end of method\n    [super updateConstraints];\n}\n\n- (void)didTapGrowButton:(UIButton *)button {\n    self.buttonSize = CGSizeMake(self.buttonSize.width * 1.3, self.buttonSize.height * 1.3);\n\n    // tell constraints they need updating\n    [self setNeedsUpdateConstraints];\n\n    // update constraints now so we can animate the change\n    [self updateConstraintsIfNeeded];\n\n    [UIView animateWithDuration:0.4 animations:^{\n        [self layoutIfNeeded];\n    }];\n}\n\n@end\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/MASExampleViewController.h",
    "content": "//\n//  MASExampleOneViewController.h\n//  Masonry\n//\n//  Created by Jonas Budelmann on 20/07/13.\n//  Copyright (c) 2013 cloudling. All rights reserved.\n//\n\n#import <UIKit/UIKit.h>\n\n@interface MASExampleViewController : UIViewController\n\n- (id)initWithTitle:(NSString *)title viewClass:(Class)viewClass;\n\n@end\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/MASExampleViewController.m",
    "content": "//\n//  MASExampleOneViewController.m\n//  Masonry\n//\n//  Created by Jonas Budelmann on 20/07/13.\n//  Copyright (c) 2013 cloudling. All rights reserved.\n//\n\n#import \"MASExampleViewController.h\"\n#import \"MASExampleBasicView.h\"\n\n@interface MASExampleViewController ()\n\n@property (nonatomic, strong) Class viewClass;\n\n@end\n\n@implementation MASExampleViewController\n\n- (id)initWithTitle:(NSString *)title viewClass:(Class)viewClass {\n    self = [super init];\n    if (!self) return nil;\n    \n    self.title = title;\n    self.viewClass = viewClass;\n    \n    return self;\n}\n\n- (void)loadView {\n    self.view = self.viewClass.new;\n    self.view.backgroundColor = [UIColor whiteColor];\n}\n\n#ifdef __IPHONE_7_0\n- (UIRectEdge)edgesForExtendedLayout {\n    return UIRectEdgeNone;\n}\n#endif\n\n@end\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/Masonry iOS Examples-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleDisplayName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1.0</string>\n\t<key>LSRequiresIPhoneOS</key>\n\t<true/>\n\t<key>UILaunchStoryboardName</key>\n\t<string>Launch Screen</string>\n\t<key>UIRequiredDeviceCapabilities</key>\n\t<array>\n\t\t<string>armv7</string>\n\t</array>\n\t<key>UIRequiresFullScreen</key>\n\t<true/>\n\t<key>UISupportedInterfaceOrientations</key>\n\t<array>\n\t\t<string>UIInterfaceOrientationPortrait</string>\n\t\t<string>UIInterfaceOrientationLandscapeLeft</string>\n\t\t<string>UIInterfaceOrientationLandscapeRight</string>\n\t</array>\n\t<key>UISupportedInterfaceOrientations~ipad</key>\n\t<array>\n\t\t<string>UIInterfaceOrientationPortrait</string>\n\t\t<string>UIInterfaceOrientationPortraitUpsideDown</string>\n\t\t<string>UIInterfaceOrientationLandscapeLeft</string>\n\t\t<string>UIInterfaceOrientationLandscapeRight</string>\n\t</array>\n</dict>\n</plist>\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/Masonry iOS Examples-Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'Masonry iOS Examples' target in the 'Masonry iOS Examples' project\n//\n\n#import <Availability.h>\n\n#ifndef __IPHONE_3_0\n#warning \"This project uses features only available in iOS SDK 3.0 and later.\"\n#endif\n\n#ifdef __OBJC__\n    #import <UIKit/UIKit.h>\n    #import <Foundation/Foundation.h>\n    #import <QuartzCore/QuartzCore.h>\n\n    //define this constant if you want to use Masonry without the 'mas_' prefix\n    #define MAS_SHORTHAND\n\n    //define this constant if you want to enable auto-boxing for default syntax\n    #define MAS_SHORTHAND_GLOBALS\n\n    #import \"Masonry.h\"\n#endif\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/en.lproj/InfoPlist.strings",
    "content": "/* Localized versions of Info.plist keys */\n\n"
  },
  {
    "path": "Examples/Masonry iOS Examples/main.m",
    "content": "//\n//  main.m\n//  Masonry iOS Examples\n//\n//  Created by Jonas Budelmann on 22/07/13.\n//  Copyright (c) 2013 Jonas Budelmann. All rights reserved.\n//\n\n#import <UIKit/UIKit.h>\n\n#import \"MASAppDelegate.h\"\n\nint main(int argc, char *argv[])\n{\n    @autoreleasepool {\n        return UIApplicationMain(argc, argv, nil, NSStringFromClass([MASAppDelegate class]));\n    }\n}\n"
  },
  {
    "path": "Examples/Masonry iOS Examples.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t00FC4A321B7359D700DCA999 /* MASExampleDistributeView.m in Sources */ = {isa = PBXBuildFile; fileRef = 00FC4A311B7359D700DCA999 /* MASExampleDistributeView.m */; };\n\t\t27A27D461A6CF0C400D34F52 /* MASExampleAspectFitView.m in Sources */ = {isa = PBXBuildFile; fileRef = 27A27D451A6CF0C400D34F52 /* MASExampleAspectFitView.m */; };\n\t\t3C02224919D0C4EC00507321 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 3C02224819D0C4EC00507321 /* Images.xcassets */; };\n\t\t3DB1CAD5184538E200E91FC5 /* MASExampleArrayView.m in Sources */ = {isa = PBXBuildFile; fileRef = 3DB1CAD4184538E200E91FC5 /* MASExampleArrayView.m */; };\n\t\t44C0E6AF1A9B9C55003C70CF /* MASExampleMarginView.m in Sources */ = {isa = PBXBuildFile; fileRef = 44C0E6AE1A9B9C55003C70CF /* MASExampleMarginView.m */; };\n\t\t4BEB55B61957394E008C862B /* MASExampleRemakeView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BEB55B51957394E008C862B /* MASExampleRemakeView.m */; };\n\t\t6C87DADA5AB046D9A3181A65 /* libPods-Masonry iOS Examples.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BDC1B8303EED42A2B01B94B1 /* libPods-Masonry iOS Examples.a */; };\n\t\tDD175E6A182639FB0099129A /* MASExampleUpdateView.m in Sources */ = {isa = PBXBuildFile; fileRef = DD175E69182639FB0099129A /* MASExampleUpdateView.m */; };\n\t\tDD32C3FD18E8BFF6001F6AD2 /* MASExampleAttributeChainingView.m in Sources */ = {isa = PBXBuildFile; fileRef = DD32C3FC18E8BFF6001F6AD2 /* MASExampleAttributeChainingView.m */; };\n\t\tDD52F22B179CAD57005CD195 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD52F22A179CAD57005CD195 /* UIKit.framework */; };\n\t\tDD52F22D179CAD57005CD195 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD52F22C179CAD57005CD195 /* Foundation.framework */; };\n\t\tDD52F22F179CAD57005CD195 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD52F22E179CAD57005CD195 /* CoreGraphics.framework */; };\n\t\tDD52F235179CAD57005CD195 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = DD52F233179CAD57005CD195 /* InfoPlist.strings */; };\n\t\tDD52F237179CAD57005CD195 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DD52F236179CAD57005CD195 /* main.m */; };\n\t\tDD52F23B179CAD57005CD195 /* MASAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DD52F23A179CAD57005CD195 /* MASAppDelegate.m */; };\n\t\tDD52F251179CADC0005CD195 /* MASExampleBasicView.m in Sources */ = {isa = PBXBuildFile; fileRef = DD52F248179CADC0005CD195 /* MASExampleBasicView.m */; };\n\t\tDD52F252179CADC0005CD195 /* MASExampleConstantsView.m in Sources */ = {isa = PBXBuildFile; fileRef = DD52F24A179CADC0005CD195 /* MASExampleConstantsView.m */; };\n\t\tDD52F253179CADC0005CD195 /* MASExampleListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DD52F24C179CADC0005CD195 /* MASExampleListViewController.m */; };\n\t\tDD52F254179CADC0005CD195 /* MASExampleSidesView.m in Sources */ = {isa = PBXBuildFile; fileRef = DD52F24E179CADC0005CD195 /* MASExampleSidesView.m */; };\n\t\tDD52F255179CADC0005CD195 /* MASExampleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DD52F250179CADC0005CD195 /* MASExampleViewController.m */; };\n\t\tDD653E4A1843E61500D1EC5A /* MASExampleLayoutGuideViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DD653E491843E61500D1EC5A /* MASExampleLayoutGuideViewController.m */; };\n\t\tDD7CC17617ACE990007A469E /* MASExampleDebuggingView.m in Sources */ = {isa = PBXBuildFile; fileRef = DD7CC17517ACE990007A469E /* MASExampleDebuggingView.m */; };\n\t\tDD9B4D35183CC980002BF408 /* MASExampleScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = DD9B4D34183CC980002BF408 /* MASExampleScrollView.m */; };\n\t\tDDDF60CC181915E300BF7B8B /* MASExampleLabelView.m in Sources */ = {isa = PBXBuildFile; fileRef = DDDF60CB181915E300BF7B8B /* MASExampleLabelView.m */; };\n\t\tDDF3875C179D648D00178773 /* MASExampleAnimatedView.m in Sources */ = {isa = PBXBuildFile; fileRef = DDF3875B179D648D00178773 /* MASExampleAnimatedView.m */; };\n\t\tDFBACE591F7B76E40047F15A /* MASExampleSafeAreaLayoutGuideViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DFBACE581F7B76E40047F15A /* MASExampleSafeAreaLayoutGuideViewController.m */; };\n\t\tDFBACE5D1F7B86860047F15A /* Launch Screen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DFBACE5C1F7B86860047F15A /* Launch Screen.storyboard */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t00FC4A301B7359D700DCA999 /* MASExampleDistributeView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MASExampleDistributeView.h; sourceTree = \"<group>\"; };\n\t\t00FC4A311B7359D700DCA999 /* MASExampleDistributeView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASExampleDistributeView.m; sourceTree = \"<group>\"; };\n\t\t27A27D441A6CF0C400D34F52 /* MASExampleAspectFitView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MASExampleAspectFitView.h; sourceTree = \"<group>\"; };\n\t\t27A27D451A6CF0C400D34F52 /* MASExampleAspectFitView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASExampleAspectFitView.m; sourceTree = \"<group>\"; };\n\t\t321AA59CF7B045B6D503D2E5 /* Pods-Masonry iOS Examples.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-Masonry iOS Examples.release.xcconfig\"; path = \"../Pods/Target Support Files/Pods-Masonry iOS Examples/Pods-Masonry iOS Examples.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t3C02224819D0C4EC00507321 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = \"<group>\"; };\n\t\t3DB1CAD3184538E200E91FC5 /* MASExampleArrayView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MASExampleArrayView.h; sourceTree = \"<group>\"; };\n\t\t3DB1CAD4184538E200E91FC5 /* MASExampleArrayView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASExampleArrayView.m; sourceTree = \"<group>\"; };\n\t\t44C0E6AD1A9B9C55003C70CF /* MASExampleMarginView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MASExampleMarginView.h; sourceTree = \"<group>\"; };\n\t\t44C0E6AE1A9B9C55003C70CF /* MASExampleMarginView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASExampleMarginView.m; sourceTree = \"<group>\"; };\n\t\t4BEB55B41957394E008C862B /* MASExampleRemakeView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MASExampleRemakeView.h; sourceTree = \"<group>\"; };\n\t\t4BEB55B51957394E008C862B /* MASExampleRemakeView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASExampleRemakeView.m; sourceTree = \"<group>\"; };\n\t\t50B25D0621957AEB87C3FCC2 /* Pods-Masonry iOS Examples.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-Masonry iOS Examples.debug.xcconfig\"; path = \"../Pods/Target Support Files/Pods-Masonry iOS Examples/Pods-Masonry iOS Examples.debug.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tBDC1B8303EED42A2B01B94B1 /* libPods-Masonry iOS Examples.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = \"libPods-Masonry iOS Examples.a\"; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDD175E68182639FB0099129A /* MASExampleUpdateView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MASExampleUpdateView.h; sourceTree = \"<group>\"; };\n\t\tDD175E69182639FB0099129A /* MASExampleUpdateView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASExampleUpdateView.m; sourceTree = \"<group>\"; };\n\t\tDD32C3FB18E8BFF6001F6AD2 /* MASExampleAttributeChainingView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MASExampleAttributeChainingView.h; sourceTree = \"<group>\"; };\n\t\tDD32C3FC18E8BFF6001F6AD2 /* MASExampleAttributeChainingView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASExampleAttributeChainingView.m; sourceTree = \"<group>\"; };\n\t\tDD52F227179CAD57005CD195 /* Masonry iOS Examples.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = \"Masonry iOS Examples.app\"; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDD52F22A179CAD57005CD195 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };\n\t\tDD52F22C179CAD57005CD195 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };\n\t\tDD52F22E179CAD57005CD195 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };\n\t\tDD52F232179CAD57005CD195 /* Masonry iOS Examples-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = \"Masonry iOS Examples-Info.plist\"; sourceTree = \"<group>\"; };\n\t\tDD52F234179CAD57005CD195 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = \"<group>\"; };\n\t\tDD52F236179CAD57005CD195 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\tDD52F238179CAD57005CD195 /* Masonry iOS Examples-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = \"Masonry iOS Examples-Prefix.pch\"; sourceTree = \"<group>\"; };\n\t\tDD52F239179CAD57005CD195 /* MASAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MASAppDelegate.h; sourceTree = \"<group>\"; };\n\t\tDD52F23A179CAD57005CD195 /* MASAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MASAppDelegate.m; sourceTree = \"<group>\"; };\n\t\tDD52F247179CADC0005CD195 /* MASExampleBasicView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MASExampleBasicView.h; sourceTree = \"<group>\"; };\n\t\tDD52F248179CADC0005CD195 /* MASExampleBasicView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASExampleBasicView.m; sourceTree = \"<group>\"; };\n\t\tDD52F249179CADC0005CD195 /* MASExampleConstantsView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MASExampleConstantsView.h; sourceTree = \"<group>\"; };\n\t\tDD52F24A179CADC0005CD195 /* MASExampleConstantsView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASExampleConstantsView.m; sourceTree = \"<group>\"; };\n\t\tDD52F24B179CADC0005CD195 /* MASExampleListViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MASExampleListViewController.h; sourceTree = \"<group>\"; };\n\t\tDD52F24C179CADC0005CD195 /* MASExampleListViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASExampleListViewController.m; sourceTree = \"<group>\"; };\n\t\tDD52F24D179CADC0005CD195 /* MASExampleSidesView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MASExampleSidesView.h; sourceTree = \"<group>\"; };\n\t\tDD52F24E179CADC0005CD195 /* MASExampleSidesView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASExampleSidesView.m; sourceTree = \"<group>\"; };\n\t\tDD52F24F179CADC0005CD195 /* MASExampleViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MASExampleViewController.h; sourceTree = \"<group>\"; };\n\t\tDD52F250179CADC0005CD195 /* MASExampleViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASExampleViewController.m; sourceTree = \"<group>\"; };\n\t\tDD653E481843E61500D1EC5A /* MASExampleLayoutGuideViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MASExampleLayoutGuideViewController.h; sourceTree = \"<group>\"; };\n\t\tDD653E491843E61500D1EC5A /* MASExampleLayoutGuideViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASExampleLayoutGuideViewController.m; sourceTree = \"<group>\"; };\n\t\tDD7CC17417ACE990007A469E /* MASExampleDebuggingView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MASExampleDebuggingView.h; sourceTree = \"<group>\"; };\n\t\tDD7CC17517ACE990007A469E /* MASExampleDebuggingView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASExampleDebuggingView.m; sourceTree = \"<group>\"; };\n\t\tDD9B4D33183CC980002BF408 /* MASExampleScrollView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MASExampleScrollView.h; sourceTree = \"<group>\"; };\n\t\tDD9B4D34183CC980002BF408 /* MASExampleScrollView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASExampleScrollView.m; sourceTree = \"<group>\"; };\n\t\tDDDF60CA181915E300BF7B8B /* MASExampleLabelView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MASExampleLabelView.h; sourceTree = \"<group>\"; };\n\t\tDDDF60CB181915E300BF7B8B /* MASExampleLabelView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASExampleLabelView.m; sourceTree = \"<group>\"; };\n\t\tDDF3875A179D648D00178773 /* MASExampleAnimatedView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MASExampleAnimatedView.h; sourceTree = \"<group>\"; };\n\t\tDDF3875B179D648D00178773 /* MASExampleAnimatedView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASExampleAnimatedView.m; sourceTree = \"<group>\"; };\n\t\tDFBACE571F7B76E30047F15A /* MASExampleSafeAreaLayoutGuideViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MASExampleSafeAreaLayoutGuideViewController.h; sourceTree = \"<group>\"; };\n\t\tDFBACE581F7B76E40047F15A /* MASExampleSafeAreaLayoutGuideViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MASExampleSafeAreaLayoutGuideViewController.m; sourceTree = \"<group>\"; };\n\t\tDFBACE5C1F7B86860047F15A /* Launch Screen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = \"Launch Screen.storyboard\"; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\tDD52F224179CAD57005CD195 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDD52F22B179CAD57005CD195 /* UIKit.framework in Frameworks */,\n\t\t\t\tDD52F22D179CAD57005CD195 /* Foundation.framework in Frameworks */,\n\t\t\t\tDD52F22F179CAD57005CD195 /* CoreGraphics.framework in Frameworks */,\n\t\t\t\t6C87DADA5AB046D9A3181A65 /* libPods-Masonry iOS Examples.a in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\tDD52F21E179CAD57005CD195 = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDD52F230179CAD57005CD195 /* Masonry iOS Examples */,\n\t\t\t\tDD52F229179CAD57005CD195 /* Frameworks */,\n\t\t\t\tDD52F228179CAD57005CD195 /* Products */,\n\t\t\t\tDF14AF6879B23556F891E1F7 /* Pods */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDD52F228179CAD57005CD195 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDD52F227179CAD57005CD195 /* Masonry iOS Examples.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDD52F229179CAD57005CD195 /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDD52F22A179CAD57005CD195 /* UIKit.framework */,\n\t\t\t\tDD52F22C179CAD57005CD195 /* Foundation.framework */,\n\t\t\t\tDD52F22E179CAD57005CD195 /* CoreGraphics.framework */,\n\t\t\t\tBDC1B8303EED42A2B01B94B1 /* libPods-Masonry iOS Examples.a */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDD52F230179CAD57005CD195 /* Masonry iOS Examples */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDD52F239179CAD57005CD195 /* MASAppDelegate.h */,\n\t\t\t\tDD52F23A179CAD57005CD195 /* MASAppDelegate.m */,\n\t\t\t\tDD52F257179CADCB005CD195 /* Controllers */,\n\t\t\t\tDD52F256179CADC4005CD195 /* Views */,\n\t\t\t\t3C02224819D0C4EC00507321 /* Images.xcassets */,\n\t\t\t\tDD52F231179CAD57005CD195 /* Supporting Files */,\n\t\t\t\tDFBACE5C1F7B86860047F15A /* Launch Screen.storyboard */,\n\t\t\t);\n\t\t\tpath = \"Masonry iOS Examples\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDD52F231179CAD57005CD195 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDD52F232179CAD57005CD195 /* Masonry iOS Examples-Info.plist */,\n\t\t\t\tDD52F233179CAD57005CD195 /* InfoPlist.strings */,\n\t\t\t\tDD52F236179CAD57005CD195 /* main.m */,\n\t\t\t\tDD52F238179CAD57005CD195 /* Masonry iOS Examples-Prefix.pch */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDD52F256179CADC4005CD195 /* Views */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDD52F247179CADC0005CD195 /* MASExampleBasicView.h */,\n\t\t\t\tDD52F248179CADC0005CD195 /* MASExampleBasicView.m */,\n\t\t\t\tDD52F249179CADC0005CD195 /* MASExampleConstantsView.h */,\n\t\t\t\tDD52F24A179CADC0005CD195 /* MASExampleConstantsView.m */,\n\t\t\t\tDD52F24D179CADC0005CD195 /* MASExampleSidesView.h */,\n\t\t\t\tDD52F24E179CADC0005CD195 /* MASExampleSidesView.m */,\n\t\t\t\t27A27D441A6CF0C400D34F52 /* MASExampleAspectFitView.h */,\n\t\t\t\t27A27D451A6CF0C400D34F52 /* MASExampleAspectFitView.m */,\n\t\t\t\tDDF3875A179D648D00178773 /* MASExampleAnimatedView.h */,\n\t\t\t\tDDF3875B179D648D00178773 /* MASExampleAnimatedView.m */,\n\t\t\t\tDD7CC17417ACE990007A469E /* MASExampleDebuggingView.h */,\n\t\t\t\tDD7CC17517ACE990007A469E /* MASExampleDebuggingView.m */,\n\t\t\t\tDDDF60CA181915E300BF7B8B /* MASExampleLabelView.h */,\n\t\t\t\tDDDF60CB181915E300BF7B8B /* MASExampleLabelView.m */,\n\t\t\t\tDD175E68182639FB0099129A /* MASExampleUpdateView.h */,\n\t\t\t\tDD175E69182639FB0099129A /* MASExampleUpdateView.m */,\n\t\t\t\t4BEB55B41957394E008C862B /* MASExampleRemakeView.h */,\n\t\t\t\t4BEB55B51957394E008C862B /* MASExampleRemakeView.m */,\n\t\t\t\tDD9B4D33183CC980002BF408 /* MASExampleScrollView.h */,\n\t\t\t\tDD9B4D34183CC980002BF408 /* MASExampleScrollView.m */,\n\t\t\t\t3DB1CAD3184538E200E91FC5 /* MASExampleArrayView.h */,\n\t\t\t\t3DB1CAD4184538E200E91FC5 /* MASExampleArrayView.m */,\n\t\t\t\tDD32C3FB18E8BFF6001F6AD2 /* MASExampleAttributeChainingView.h */,\n\t\t\t\tDD32C3FC18E8BFF6001F6AD2 /* MASExampleAttributeChainingView.m */,\n\t\t\t\t44C0E6AD1A9B9C55003C70CF /* MASExampleMarginView.h */,\n\t\t\t\t44C0E6AE1A9B9C55003C70CF /* MASExampleMarginView.m */,\n\t\t\t\t00FC4A301B7359D700DCA999 /* MASExampleDistributeView.h */,\n\t\t\t\t00FC4A311B7359D700DCA999 /* MASExampleDistributeView.m */,\n\t\t\t);\n\t\t\tname = Views;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDD52F257179CADCB005CD195 /* Controllers */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDD52F24B179CADC0005CD195 /* MASExampleListViewController.h */,\n\t\t\t\tDD52F24C179CADC0005CD195 /* MASExampleListViewController.m */,\n\t\t\t\tDD52F24F179CADC0005CD195 /* MASExampleViewController.h */,\n\t\t\t\tDD52F250179CADC0005CD195 /* MASExampleViewController.m */,\n\t\t\t\tDD653E481843E61500D1EC5A /* MASExampleLayoutGuideViewController.h */,\n\t\t\t\tDD653E491843E61500D1EC5A /* MASExampleLayoutGuideViewController.m */,\n\t\t\t\tDFBACE571F7B76E30047F15A /* MASExampleSafeAreaLayoutGuideViewController.h */,\n\t\t\t\tDFBACE581F7B76E40047F15A /* MASExampleSafeAreaLayoutGuideViewController.m */,\n\t\t\t);\n\t\t\tname = Controllers;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDF14AF6879B23556F891E1F7 /* Pods */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t50B25D0621957AEB87C3FCC2 /* Pods-Masonry iOS Examples.debug.xcconfig */,\n\t\t\t\t321AA59CF7B045B6D503D2E5 /* Pods-Masonry iOS Examples.release.xcconfig */,\n\t\t\t);\n\t\t\tname = Pods;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\tDD52F226179CAD57005CD195 /* Masonry iOS Examples */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = DD52F244179CAD57005CD195 /* Build configuration list for PBXNativeTarget \"Masonry iOS Examples\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t621F6A1FCAEF44F880874959 /* [CP] Check Pods Manifest.lock */,\n\t\t\t\tDD52F223179CAD57005CD195 /* Sources */,\n\t\t\t\tDD52F224179CAD57005CD195 /* Frameworks */,\n\t\t\t\tDD52F225179CAD57005CD195 /* Resources */,\n\t\t\t\t5C6517785DFF4287BCDF458D /* [CP] Copy Pods Resources */,\n\t\t\t\t9A6DE33A61510E8F9549C5EE /* [CP] Embed Pods Frameworks */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = \"Masonry iOS Examples\";\n\t\t\tproductName = \"Masonry iOS Examples\";\n\t\t\tproductReference = DD52F227179CAD57005CD195 /* Masonry iOS Examples.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\tDD52F21F179CAD57005CD195 /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tCLASSPREFIX = MAS;\n\t\t\t\tLastUpgradeCheck = 0900;\n\t\t\t\tORGANIZATIONNAME = \"Jonas Budelmann\";\n\t\t\t};\n\t\t\tbuildConfigurationList = DD52F222179CAD57005CD195 /* Build configuration list for PBXProject \"Masonry iOS Examples\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t);\n\t\t\tmainGroup = DD52F21E179CAD57005CD195;\n\t\t\tproductRefGroup = DD52F228179CAD57005CD195 /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\tDD52F226179CAD57005CD195 /* Masonry iOS Examples */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\tDD52F225179CAD57005CD195 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDFBACE5D1F7B86860047F15A /* Launch Screen.storyboard in Resources */,\n\t\t\t\t3C02224919D0C4EC00507321 /* Images.xcassets in Resources */,\n\t\t\t\tDD52F235179CAD57005CD195 /* InfoPlist.strings in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\t5C6517785DFF4287BCDF458D /* [CP] Copy Pods Resources */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Copy Pods Resources\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/../Pods/Target Support Files/Pods-Masonry iOS Examples/Pods-Masonry iOS Examples-resources.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\t621F6A1FCAEF44F880874959 /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\",\n\t\t\t\t\"${PODS_ROOT}/Manifest.lock\",\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputPaths = (\n\t\t\t\t\"$(DERIVED_FILE_DIR)/Pods-Masonry iOS Examples-checkManifestLockResult.txt\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\\necho \\\"SUCCESS\\\" > \\\"${SCRIPT_OUTPUT_FILE_0}\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\t9A6DE33A61510E8F9549C5EE /* [CP] Embed Pods Frameworks */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Embed Pods Frameworks\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/../Pods/Target Support Files/Pods-Masonry iOS Examples/Pods-Masonry iOS Examples-frameworks.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\tDD52F223179CAD57005CD195 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t00FC4A321B7359D700DCA999 /* MASExampleDistributeView.m in Sources */,\n\t\t\t\tDD175E6A182639FB0099129A /* MASExampleUpdateView.m in Sources */,\n\t\t\t\tDD52F237179CAD57005CD195 /* main.m in Sources */,\n\t\t\t\t3DB1CAD5184538E200E91FC5 /* MASExampleArrayView.m in Sources */,\n\t\t\t\tDD52F23B179CAD57005CD195 /* MASAppDelegate.m in Sources */,\n\t\t\t\tDD52F251179CADC0005CD195 /* MASExampleBasicView.m in Sources */,\n\t\t\t\t44C0E6AF1A9B9C55003C70CF /* MASExampleMarginView.m in Sources */,\n\t\t\t\tDD653E4A1843E61500D1EC5A /* MASExampleLayoutGuideViewController.m in Sources */,\n\t\t\t\tDDDF60CC181915E300BF7B8B /* MASExampleLabelView.m in Sources */,\n\t\t\t\t27A27D461A6CF0C400D34F52 /* MASExampleAspectFitView.m in Sources */,\n\t\t\t\tDD52F252179CADC0005CD195 /* MASExampleConstantsView.m in Sources */,\n\t\t\t\tDD52F253179CADC0005CD195 /* MASExampleListViewController.m in Sources */,\n\t\t\t\tDFBACE591F7B76E40047F15A /* MASExampleSafeAreaLayoutGuideViewController.m in Sources */,\n\t\t\t\tDD52F254179CADC0005CD195 /* MASExampleSidesView.m in Sources */,\n\t\t\t\tDD32C3FD18E8BFF6001F6AD2 /* MASExampleAttributeChainingView.m in Sources */,\n\t\t\t\tDD52F255179CADC0005CD195 /* MASExampleViewController.m in Sources */,\n\t\t\t\tDDF3875C179D648D00178773 /* MASExampleAnimatedView.m in Sources */,\n\t\t\t\tDD7CC17617ACE990007A469E /* MASExampleDebuggingView.m in Sources */,\n\t\t\t\t4BEB55B61957394E008C862B /* MASExampleRemakeView.m in Sources */,\n\t\t\t\tDD9B4D35183CC980002BF408 /* MASExampleScrollView.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXVariantGroup section */\n\t\tDD52F233179CAD57005CD195 /* InfoPlist.strings */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDD52F234179CAD57005CD195 /* en */,\n\t\t\t);\n\t\t\tname = InfoPlist.strings;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tDD52F242179CAD57005CD195 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = YES;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDD52F243179CAD57005CD195 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = YES;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tOTHER_CFLAGS = \"-DNS_BLOCK_ASSERTIONS=1\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tDD52F245179CAD57005CD195 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 50B25D0621957AEB87C3FCC2 /* Pods-Masonry iOS Examples.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"Masonry iOS Examples/Masonry iOS Examples-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"Masonry iOS Examples/Masonry iOS Examples-Info.plist\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.cloudling.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = \"Masonry iOS Examples\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDD52F246179CAD57005CD195 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 321AA59CF7B045B6D503D2E5 /* Pods-Masonry iOS Examples.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"Masonry iOS Examples/Masonry iOS Examples-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"Masonry iOS Examples/Masonry iOS Examples-Info.plist\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.cloudling.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = \"Masonry iOS Examples\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tDD52F222179CAD57005CD195 /* Build configuration list for PBXProject \"Masonry iOS Examples\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDD52F242179CAD57005CD195 /* Debug */,\n\t\t\t\tDD52F243179CAD57005CD195 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tDD52F244179CAD57005CD195 /* Build configuration list for PBXNativeTarget \"Masonry iOS Examples\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDD52F245179CAD57005CD195 /* Debug */,\n\t\t\t\tDD52F246179CAD57005CD195 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = DD52F21F179CAD57005CD195 /* Project object */;\n}\n"
  },
  {
    "path": "Examples/Masonry iOS Examples.xcodeproj/project.xcworkspace/contents.xcworkspacedata",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n   version = \"1.0\">\n   <FileRef\n      location = \"self:Masonry iOS Examples.xcodeproj\">\n   </FileRef>\n</Workspace>\n"
  },
  {
    "path": "Examples/Masonry iOS Examples.xcodeproj/xcshareddata/xcschemes/Masonry iOS Examples.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0900\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"3AED05B61AD59FD40053CC65\"\n               BuildableName = \"Masonry.framework\"\n               BlueprintName = \"Masonry iOS\"\n               ReferencedContainer = \"container:../Masonry.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"DD52F226179CAD57005CD195\"\n               BuildableName = \"Masonry iOS Examples.app\"\n               BlueprintName = \"Masonry iOS Examples\"\n               ReferencedContainer = \"container:Masonry iOS Examples.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"DD52F226179CAD57005CD195\"\n            BuildableName = \"Masonry iOS Examples.app\"\n            BlueprintName = \"Masonry iOS Examples\"\n            ReferencedContainer = \"container:Masonry iOS Examples.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"DD52F226179CAD57005CD195\"\n            BuildableName = \"Masonry iOS Examples.app\"\n            BlueprintName = \"Masonry iOS Examples\"\n            ReferencedContainer = \"container:Masonry iOS Examples.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"DD52F226179CAD57005CD195\"\n            BuildableName = \"Masonry iOS Examples.app\"\n            BlueprintName = \"Masonry iOS Examples\"\n            ReferencedContainer = \"container:Masonry iOS Examples.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "ISSUE_TEMPLATE.md",
    "content": "### New Issue Checklist\n\n🚫 If this template is not filled out your issue **will** be closed with no comment. 🚫\n\n* [ ] I have looked at the [Documentation](https://github.com/SnapKit/Masonry/blob/master/README.md)\n* [ ] I have filled out this issue template.\n\n### Issue Info\n\n Info                    | Value                               |\n-------------------------|-------------------------------------|\n Platform                | e.g. ios/osx/tvos\n Platform Version        | e.g. 8.0\n Masonry Version         | e.g. 1.0\n Integration Method      | e.g. carthage/cocoapods/manually\n \n\n### Issue Description\n\n⚠️ Replace this with the description of your issue. ⚠️ \n"
  },
  {
    "path": "LICENSE",
    "content": "Copyright (c) 2011-2012 Masonry Team - https://github.com/Masonry\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE."
  },
  {
    "path": "Masonry/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>FMWK</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>$(CURRENT_PROJECT_VERSION)</string>\n\t<key>NSPrincipalClass</key>\n\t<string></string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Masonry/MASCompositeConstraint.h",
    "content": "//\n//  MASCompositeConstraint.h\n//  Masonry\n//\n//  Created by Jonas Budelmann on 21/07/13.\n//  Copyright (c) 2013 cloudling. All rights reserved.\n//\n\n#import \"MASConstraint.h\"\n#import \"MASUtilities.h\"\n\n/**\n *\tA group of MASConstraint objects\n */\n@interface MASCompositeConstraint : MASConstraint\n\n/**\n *\tCreates a composite with a predefined array of children\n *\n *\t@param\tchildren\tchild MASConstraints\n *\n *\t@return\ta composite constraint\n */\n- (id)initWithChildren:(NSArray *)children;\n\n@end\n"
  },
  {
    "path": "Masonry/MASCompositeConstraint.m",
    "content": "//\n//  MASCompositeConstraint.m\n//  Masonry\n//\n//  Created by Jonas Budelmann on 21/07/13.\n//  Copyright (c) 2013 cloudling. All rights reserved.\n//\n\n#import \"MASCompositeConstraint.h\"\n#import \"MASConstraint+Private.h\"\n\n@interface MASCompositeConstraint () <MASConstraintDelegate>\n\n@property (nonatomic, strong) id mas_key;\n@property (nonatomic, strong) NSMutableArray *childConstraints;\n\n@end\n\n@implementation MASCompositeConstraint\n\n- (id)initWithChildren:(NSArray *)children {\n    self = [super init];\n    if (!self) return nil;\n\n    _childConstraints = [children mutableCopy];\n    for (MASConstraint *constraint in _childConstraints) {\n        constraint.delegate = self;\n    }\n\n    return self;\n}\n\n#pragma mark - MASConstraintDelegate\n\n- (void)constraint:(MASConstraint *)constraint shouldBeReplacedWithConstraint:(MASConstraint *)replacementConstraint {\n    NSUInteger index = [self.childConstraints indexOfObject:constraint];\n    NSAssert(index != NSNotFound, @\"Could not find constraint %@\", constraint);\n    [self.childConstraints replaceObjectAtIndex:index withObject:replacementConstraint];\n}\n\n- (MASConstraint *)constraint:(MASConstraint __unused *)constraint addConstraintWithLayoutAttribute:(NSLayoutAttribute)layoutAttribute {\n    id<MASConstraintDelegate> strongDelegate = self.delegate;\n    MASConstraint *newConstraint = [strongDelegate constraint:self addConstraintWithLayoutAttribute:layoutAttribute];\n    newConstraint.delegate = self;\n    [self.childConstraints addObject:newConstraint];\n    return newConstraint;\n}\n\n#pragma mark - NSLayoutConstraint multiplier proxies \n\n- (MASConstraint * (^)(CGFloat))multipliedBy {\n    return ^id(CGFloat multiplier) {\n        for (MASConstraint *constraint in self.childConstraints) {\n            constraint.multipliedBy(multiplier);\n        }\n        return self;\n    };\n}\n\n- (MASConstraint * (^)(CGFloat))dividedBy {\n    return ^id(CGFloat divider) {\n        for (MASConstraint *constraint in self.childConstraints) {\n            constraint.dividedBy(divider);\n        }\n        return self;\n    };\n}\n\n#pragma mark - MASLayoutPriority proxy\n\n- (MASConstraint * (^)(MASLayoutPriority))priority {\n    return ^id(MASLayoutPriority priority) {\n        for (MASConstraint *constraint in self.childConstraints) {\n            constraint.priority(priority);\n        }\n        return self;\n    };\n}\n\n#pragma mark - NSLayoutRelation proxy\n\n- (MASConstraint * (^)(id, NSLayoutRelation))equalToWithRelation {\n    return ^id(id attr, NSLayoutRelation relation) {\n        for (MASConstraint *constraint in self.childConstraints.copy) {\n            constraint.equalToWithRelation(attr, relation);\n        }\n        return self;\n    };\n}\n\n#pragma mark - attribute chaining\n\n- (MASConstraint *)addConstraintWithLayoutAttribute:(NSLayoutAttribute)layoutAttribute {\n    [self constraint:self addConstraintWithLayoutAttribute:layoutAttribute];\n    return self;\n}\n\n#pragma mark - Animator proxy\n\n#if TARGET_OS_MAC && !(TARGET_OS_IPHONE || TARGET_OS_TV)\n\n- (MASConstraint *)animator {\n    for (MASConstraint *constraint in self.childConstraints) {\n        [constraint animator];\n    }\n    return self;\n}\n\n#endif\n\n#pragma mark - debug helpers\n\n- (MASConstraint * (^)(id))key {\n    return ^id(id key) {\n        self.mas_key = key;\n        int i = 0;\n        for (MASConstraint *constraint in self.childConstraints) {\n            constraint.key([NSString stringWithFormat:@\"%@[%d]\", key, i++]);\n        }\n        return self;\n    };\n}\n\n#pragma mark - NSLayoutConstraint constant setters\n\n- (void)setInsets:(MASEdgeInsets)insets {\n    for (MASConstraint *constraint in self.childConstraints) {\n        constraint.insets = insets;\n    }\n}\n\n- (void)setInset:(CGFloat)inset {\n    for (MASConstraint *constraint in self.childConstraints) {\n        constraint.inset = inset;\n    }\n}\n\n- (void)setOffset:(CGFloat)offset {\n    for (MASConstraint *constraint in self.childConstraints) {\n        constraint.offset = offset;\n    }\n}\n\n- (void)setSizeOffset:(CGSize)sizeOffset {\n    for (MASConstraint *constraint in self.childConstraints) {\n        constraint.sizeOffset = sizeOffset;\n    }\n}\n\n- (void)setCenterOffset:(CGPoint)centerOffset {\n    for (MASConstraint *constraint in self.childConstraints) {\n        constraint.centerOffset = centerOffset;\n    }\n}\n\n#pragma mark - MASConstraint\n\n- (void)activate {\n    for (MASConstraint *constraint in self.childConstraints) {\n        [constraint activate];\n    }\n}\n\n- (void)deactivate {\n    for (MASConstraint *constraint in self.childConstraints) {\n        [constraint deactivate];\n    }\n}\n\n- (void)install {\n    for (MASConstraint *constraint in self.childConstraints) {\n        constraint.updateExisting = self.updateExisting;\n        [constraint install];\n    }\n}\n\n- (void)uninstall {\n    for (MASConstraint *constraint in self.childConstraints) {\n        [constraint uninstall];\n    }\n}\n\n@end\n"
  },
  {
    "path": "Masonry/MASConstraint+Private.h",
    "content": "//\n//  MASConstraint+Private.h\n//  Masonry\n//\n//  Created by Nick Tymchenko on 29/04/14.\n//  Copyright (c) 2014 cloudling. All rights reserved.\n//\n\n#import \"MASConstraint.h\"\n\n@protocol MASConstraintDelegate;\n\n\n@interface MASConstraint ()\n\n/**\n *  Whether or not to check for an existing constraint instead of adding constraint\n */\n@property (nonatomic, assign) BOOL updateExisting;\n\n/**\n *\tUsually MASConstraintMaker but could be a parent MASConstraint\n */\n@property (nonatomic, weak) id<MASConstraintDelegate> delegate;\n\n/**\n *  Based on a provided value type, is equal to calling:\n *  NSNumber - setOffset:\n *  NSValue with CGPoint - setPointOffset:\n *  NSValue with CGSize - setSizeOffset:\n *  NSValue with MASEdgeInsets - setInsets:\n */\n- (void)setLayoutConstantWithValue:(NSValue *)value;\n\n@end\n\n\n@interface MASConstraint (Abstract)\n\n/**\n *\tSets the constraint relation to given NSLayoutRelation\n *  returns a block which accepts one of the following:\n *    MASViewAttribute, UIView, NSValue, NSArray\n *  see readme for more details.\n */\n- (MASConstraint * (^)(id, NSLayoutRelation))equalToWithRelation;\n\n/**\n *\tOverride to set a custom chaining behaviour\n */\n- (MASConstraint *)addConstraintWithLayoutAttribute:(NSLayoutAttribute)layoutAttribute;\n\n@end\n\n\n@protocol MASConstraintDelegate <NSObject>\n\n/**\n *\tNotifies the delegate when the constraint needs to be replaced with another constraint. For example\n *  A MASViewConstraint may turn into a MASCompositeConstraint when an array is passed to one of the equality blocks\n */\n- (void)constraint:(MASConstraint *)constraint shouldBeReplacedWithConstraint:(MASConstraint *)replacementConstraint;\n\n- (MASConstraint *)constraint:(MASConstraint *)constraint addConstraintWithLayoutAttribute:(NSLayoutAttribute)layoutAttribute;\n\n@end\n"
  },
  {
    "path": "Masonry/MASConstraint.h",
    "content": "//\n//  MASConstraint.h\n//  Masonry\n//\n//  Created by Jonas Budelmann on 22/07/13.\n//  Copyright (c) 2013 cloudling. All rights reserved.\n//\n\n#import \"MASUtilities.h\"\n\n/**\n *\tEnables Constraints to be created with chainable syntax\n *  Constraint can represent single NSLayoutConstraint (MASViewConstraint) \n *  or a group of NSLayoutConstraints (MASComposisteConstraint)\n */\n@interface MASConstraint : NSObject\n\n// Chaining Support\n\n/**\n *\tModifies the NSLayoutConstraint constant,\n *  only affects MASConstraints in which the first item's NSLayoutAttribute is one of the following\n *  NSLayoutAttributeTop, NSLayoutAttributeLeft, NSLayoutAttributeBottom, NSLayoutAttributeRight\n */\n- (MASConstraint * (^)(MASEdgeInsets insets))insets;\n\n/**\n *\tModifies the NSLayoutConstraint constant,\n *  only affects MASConstraints in which the first item's NSLayoutAttribute is one of the following\n *  NSLayoutAttributeTop, NSLayoutAttributeLeft, NSLayoutAttributeBottom, NSLayoutAttributeRight\n */\n- (MASConstraint * (^)(CGFloat inset))inset;\n\n/**\n *\tModifies the NSLayoutConstraint constant,\n *  only affects MASConstraints in which the first item's NSLayoutAttribute is one of the following\n *  NSLayoutAttributeWidth, NSLayoutAttributeHeight\n */\n- (MASConstraint * (^)(CGSize offset))sizeOffset;\n\n/**\n *\tModifies the NSLayoutConstraint constant,\n *  only affects MASConstraints in which the first item's NSLayoutAttribute is one of the following\n *  NSLayoutAttributeCenterX, NSLayoutAttributeCenterY\n */\n- (MASConstraint * (^)(CGPoint offset))centerOffset;\n\n/**\n *\tModifies the NSLayoutConstraint constant\n */\n- (MASConstraint * (^)(CGFloat offset))offset;\n\n/**\n *  Modifies the NSLayoutConstraint constant based on a value type\n */\n- (MASConstraint * (^)(NSValue *value))valueOffset;\n\n/**\n *\tSets the NSLayoutConstraint multiplier property\n */\n- (MASConstraint * (^)(CGFloat multiplier))multipliedBy;\n\n/**\n *\tSets the NSLayoutConstraint multiplier to 1.0/dividedBy\n */\n- (MASConstraint * (^)(CGFloat divider))dividedBy;\n\n/**\n *\tSets the NSLayoutConstraint priority to a float or MASLayoutPriority\n */\n- (MASConstraint * (^)(MASLayoutPriority priority))priority;\n\n/**\n *\tSets the NSLayoutConstraint priority to MASLayoutPriorityLow\n */\n- (MASConstraint * (^)(void))priorityLow;\n\n/**\n *\tSets the NSLayoutConstraint priority to MASLayoutPriorityMedium\n */\n- (MASConstraint * (^)(void))priorityMedium;\n\n/**\n *\tSets the NSLayoutConstraint priority to MASLayoutPriorityHigh\n */\n- (MASConstraint * (^)(void))priorityHigh;\n\n/**\n *\tSets the constraint relation to NSLayoutRelationEqual\n *  returns a block which accepts one of the following:\n *    MASViewAttribute, UIView, NSValue, NSArray\n *  see readme for more details.\n */\n- (MASConstraint * (^)(id attr))equalTo;\n\n/**\n *\tSets the constraint relation to NSLayoutRelationGreaterThanOrEqual\n *  returns a block which accepts one of the following:\n *    MASViewAttribute, UIView, NSValue, NSArray\n *  see readme for more details.\n */\n- (MASConstraint * (^)(id attr))greaterThanOrEqualTo;\n\n/**\n *\tSets the constraint relation to NSLayoutRelationLessThanOrEqual\n *  returns a block which accepts one of the following:\n *    MASViewAttribute, UIView, NSValue, NSArray\n *  see readme for more details.\n */\n- (MASConstraint * (^)(id attr))lessThanOrEqualTo;\n\n/**\n *\tOptional semantic property which has no effect but improves the readability of constraint\n */\n- (MASConstraint *)with;\n\n/**\n *\tOptional semantic property which has no effect but improves the readability of constraint\n */\n- (MASConstraint *)and;\n\n/**\n *\tCreates a new MASCompositeConstraint with the called attribute and reciever\n */\n- (MASConstraint *)left;\n- (MASConstraint *)top;\n- (MASConstraint *)right;\n- (MASConstraint *)bottom;\n- (MASConstraint *)leading;\n- (MASConstraint *)trailing;\n- (MASConstraint *)width;\n- (MASConstraint *)height;\n- (MASConstraint *)centerX;\n- (MASConstraint *)centerY;\n- (MASConstraint *)baseline;\n\n- (MASConstraint *)firstBaseline;\n- (MASConstraint *)lastBaseline;\n\n#if TARGET_OS_IPHONE || TARGET_OS_TV\n\n- (MASConstraint *)leftMargin;\n- (MASConstraint *)rightMargin;\n- (MASConstraint *)topMargin;\n- (MASConstraint *)bottomMargin;\n- (MASConstraint *)leadingMargin;\n- (MASConstraint *)trailingMargin;\n- (MASConstraint *)centerXWithinMargins;\n- (MASConstraint *)centerYWithinMargins;\n\n#endif\n\n\n/**\n *\tSets the constraint debug name\n */\n- (MASConstraint * (^)(id key))key;\n\n// NSLayoutConstraint constant Setters\n// for use outside of mas_updateConstraints/mas_makeConstraints blocks\n\n/**\n *\tModifies the NSLayoutConstraint constant,\n *  only affects MASConstraints in which the first item's NSLayoutAttribute is one of the following\n *  NSLayoutAttributeTop, NSLayoutAttributeLeft, NSLayoutAttributeBottom, NSLayoutAttributeRight\n */\n- (void)setInsets:(MASEdgeInsets)insets;\n\n/**\n *\tModifies the NSLayoutConstraint constant,\n *  only affects MASConstraints in which the first item's NSLayoutAttribute is one of the following\n *  NSLayoutAttributeTop, NSLayoutAttributeLeft, NSLayoutAttributeBottom, NSLayoutAttributeRight\n */\n- (void)setInset:(CGFloat)inset;\n\n/**\n *\tModifies the NSLayoutConstraint constant,\n *  only affects MASConstraints in which the first item's NSLayoutAttribute is one of the following\n *  NSLayoutAttributeWidth, NSLayoutAttributeHeight\n */\n- (void)setSizeOffset:(CGSize)sizeOffset;\n\n/**\n *\tModifies the NSLayoutConstraint constant,\n *  only affects MASConstraints in which the first item's NSLayoutAttribute is one of the following\n *  NSLayoutAttributeCenterX, NSLayoutAttributeCenterY\n */\n- (void)setCenterOffset:(CGPoint)centerOffset;\n\n/**\n *\tModifies the NSLayoutConstraint constant\n */\n- (void)setOffset:(CGFloat)offset;\n\n\n// NSLayoutConstraint Installation support\n\n#if TARGET_OS_MAC && !(TARGET_OS_IPHONE || TARGET_OS_TV)\n/**\n *  Whether or not to go through the animator proxy when modifying the constraint\n */\n@property (nonatomic, copy, readonly) MASConstraint *animator;\n#endif\n\n/**\n *  Activates an NSLayoutConstraint if it's supported by an OS. \n *  Invokes install otherwise.\n */\n- (void)activate;\n\n/**\n *  Deactivates previously installed/activated NSLayoutConstraint.\n */\n- (void)deactivate;\n\n/**\n *\tCreates a NSLayoutConstraint and adds it to the appropriate view.\n */\n- (void)install;\n\n/**\n *\tRemoves previously installed NSLayoutConstraint\n */\n- (void)uninstall;\n\n@end\n\n\n/**\n *  Convenience auto-boxing macros for MASConstraint methods.\n *\n *  Defining MAS_SHORTHAND_GLOBALS will turn on auto-boxing for default syntax.\n *  A potential drawback of this is that the unprefixed macros will appear in global scope.\n */\n#define mas_equalTo(...)                 equalTo(MASBoxValue((__VA_ARGS__)))\n#define mas_greaterThanOrEqualTo(...)    greaterThanOrEqualTo(MASBoxValue((__VA_ARGS__)))\n#define mas_lessThanOrEqualTo(...)       lessThanOrEqualTo(MASBoxValue((__VA_ARGS__)))\n\n#define mas_offset(...)                  valueOffset(MASBoxValue((__VA_ARGS__)))\n\n\n#ifdef MAS_SHORTHAND_GLOBALS\n\n#define equalTo(...)                     mas_equalTo(__VA_ARGS__)\n#define greaterThanOrEqualTo(...)        mas_greaterThanOrEqualTo(__VA_ARGS__)\n#define lessThanOrEqualTo(...)           mas_lessThanOrEqualTo(__VA_ARGS__)\n\n#define offset(...)                      mas_offset(__VA_ARGS__)\n\n#endif\n\n\n@interface MASConstraint (AutoboxingSupport)\n\n/**\n *  Aliases to corresponding relation methods (for shorthand macros)\n *  Also needed to aid autocompletion\n */\n- (MASConstraint * (^)(id attr))mas_equalTo;\n- (MASConstraint * (^)(id attr))mas_greaterThanOrEqualTo;\n- (MASConstraint * (^)(id attr))mas_lessThanOrEqualTo;\n\n/**\n *  A dummy method to aid autocompletion\n */\n- (MASConstraint * (^)(id offset))mas_offset;\n\n@end\n"
  },
  {
    "path": "Masonry/MASConstraint.m",
    "content": "//\n//  MASConstraint.m\n//  Masonry\n//\n//  Created by Nick Tymchenko on 1/20/14.\n//\n\n#import \"MASConstraint.h\"\n#import \"MASConstraint+Private.h\"\n\n#define MASMethodNotImplemented() \\\n    @throw [NSException exceptionWithName:NSInternalInconsistencyException \\\n                                   reason:[NSString stringWithFormat:@\"You must override %@ in a subclass.\", NSStringFromSelector(_cmd)] \\\n                                 userInfo:nil]\n\n@implementation MASConstraint\n\n#pragma mark - Init\n\n- (id)init {\n\tNSAssert(![self isMemberOfClass:[MASConstraint class]], @\"MASConstraint is an abstract class, you should not instantiate it directly.\");\n\treturn [super init];\n}\n\n#pragma mark - NSLayoutRelation proxies\n\n- (MASConstraint * (^)(id))equalTo {\n    return ^id(id attribute) {\n        return self.equalToWithRelation(attribute, NSLayoutRelationEqual);\n    };\n}\n\n- (MASConstraint * (^)(id))mas_equalTo {\n    return ^id(id attribute) {\n        return self.equalToWithRelation(attribute, NSLayoutRelationEqual);\n    };\n}\n\n- (MASConstraint * (^)(id))greaterThanOrEqualTo {\n    return ^id(id attribute) {\n        return self.equalToWithRelation(attribute, NSLayoutRelationGreaterThanOrEqual);\n    };\n}\n\n- (MASConstraint * (^)(id))mas_greaterThanOrEqualTo {\n    return ^id(id attribute) {\n        return self.equalToWithRelation(attribute, NSLayoutRelationGreaterThanOrEqual);\n    };\n}\n\n- (MASConstraint * (^)(id))lessThanOrEqualTo {\n    return ^id(id attribute) {\n        return self.equalToWithRelation(attribute, NSLayoutRelationLessThanOrEqual);\n    };\n}\n\n- (MASConstraint * (^)(id))mas_lessThanOrEqualTo {\n    return ^id(id attribute) {\n        return self.equalToWithRelation(attribute, NSLayoutRelationLessThanOrEqual);\n    };\n}\n\n#pragma mark - MASLayoutPriority proxies\n\n- (MASConstraint * (^)(void))priorityLow {\n    return ^id{\n        self.priority(MASLayoutPriorityDefaultLow);\n        return self;\n    };\n}\n\n- (MASConstraint * (^)(void))priorityMedium {\n    return ^id{\n        self.priority(MASLayoutPriorityDefaultMedium);\n        return self;\n    };\n}\n\n- (MASConstraint * (^)(void))priorityHigh {\n    return ^id{\n        self.priority(MASLayoutPriorityDefaultHigh);\n        return self;\n    };\n}\n\n#pragma mark - NSLayoutConstraint constant proxies\n\n- (MASConstraint * (^)(MASEdgeInsets))insets {\n    return ^id(MASEdgeInsets insets){\n        self.insets = insets;\n        return self;\n    };\n}\n\n- (MASConstraint * (^)(CGFloat))inset {\n    return ^id(CGFloat inset){\n        self.inset = inset;\n        return self;\n    };\n}\n\n- (MASConstraint * (^)(CGSize))sizeOffset {\n    return ^id(CGSize offset) {\n        self.sizeOffset = offset;\n        return self;\n    };\n}\n\n- (MASConstraint * (^)(CGPoint))centerOffset {\n    return ^id(CGPoint offset) {\n        self.centerOffset = offset;\n        return self;\n    };\n}\n\n- (MASConstraint * (^)(CGFloat))offset {\n    return ^id(CGFloat offset){\n        self.offset = offset;\n        return self;\n    };\n}\n\n- (MASConstraint * (^)(NSValue *value))valueOffset {\n    return ^id(NSValue *offset) {\n        NSAssert([offset isKindOfClass:NSValue.class], @\"expected an NSValue offset, got: %@\", offset);\n        [self setLayoutConstantWithValue:offset];\n        return self;\n    };\n}\n\n- (MASConstraint * (^)(id offset))mas_offset {\n    // Will never be called due to macro\n    return nil;\n}\n\n#pragma mark - NSLayoutConstraint constant setter\n\n- (void)setLayoutConstantWithValue:(NSValue *)value {\n    if ([value isKindOfClass:NSNumber.class]) {\n        self.offset = [(NSNumber *)value doubleValue];\n    } else if (strcmp(value.objCType, @encode(CGPoint)) == 0) {\n        CGPoint point;\n        [value getValue:&point];\n        self.centerOffset = point;\n    } else if (strcmp(value.objCType, @encode(CGSize)) == 0) {\n        CGSize size;\n        [value getValue:&size];\n        self.sizeOffset = size;\n    } else if (strcmp(value.objCType, @encode(MASEdgeInsets)) == 0) {\n        MASEdgeInsets insets;\n        [value getValue:&insets];\n        self.insets = insets;\n    } else {\n        NSAssert(NO, @\"attempting to set layout constant with unsupported value: %@\", value);\n    }\n}\n\n#pragma mark - Semantic properties\n\n- (MASConstraint *)with {\n    return self;\n}\n\n- (MASConstraint *)and {\n    return self;\n}\n\n#pragma mark - Chaining\n\n- (MASConstraint *)addConstraintWithLayoutAttribute:(NSLayoutAttribute __unused)layoutAttribute {\n    MASMethodNotImplemented();\n}\n\n- (MASConstraint *)left {\n    return [self addConstraintWithLayoutAttribute:NSLayoutAttributeLeft];\n}\n\n- (MASConstraint *)top {\n    return [self addConstraintWithLayoutAttribute:NSLayoutAttributeTop];\n}\n\n- (MASConstraint *)right {\n    return [self addConstraintWithLayoutAttribute:NSLayoutAttributeRight];\n}\n\n- (MASConstraint *)bottom {\n    return [self addConstraintWithLayoutAttribute:NSLayoutAttributeBottom];\n}\n\n- (MASConstraint *)leading {\n    return [self addConstraintWithLayoutAttribute:NSLayoutAttributeLeading];\n}\n\n- (MASConstraint *)trailing {\n    return [self addConstraintWithLayoutAttribute:NSLayoutAttributeTrailing];\n}\n\n- (MASConstraint *)width {\n    return [self addConstraintWithLayoutAttribute:NSLayoutAttributeWidth];\n}\n\n- (MASConstraint *)height {\n    return [self addConstraintWithLayoutAttribute:NSLayoutAttributeHeight];\n}\n\n- (MASConstraint *)centerX {\n    return [self addConstraintWithLayoutAttribute:NSLayoutAttributeCenterX];\n}\n\n- (MASConstraint *)centerY {\n    return [self addConstraintWithLayoutAttribute:NSLayoutAttributeCenterY];\n}\n\n- (MASConstraint *)baseline {\n    return [self addConstraintWithLayoutAttribute:NSLayoutAttributeBaseline];\n}\n\n- (MASConstraint *)firstBaseline {\n    return [self addConstraintWithLayoutAttribute:NSLayoutAttributeFirstBaseline];\n}\n- (MASConstraint *)lastBaseline {\n    return [self addConstraintWithLayoutAttribute:NSLayoutAttributeLastBaseline];\n}\n\n#if TARGET_OS_IPHONE || TARGET_OS_TV\n\n- (MASConstraint *)leftMargin {\n    return [self addConstraintWithLayoutAttribute:NSLayoutAttributeLeftMargin];\n}\n\n- (MASConstraint *)rightMargin {\n    return [self addConstraintWithLayoutAttribute:NSLayoutAttributeRightMargin];\n}\n\n- (MASConstraint *)topMargin {\n    return [self addConstraintWithLayoutAttribute:NSLayoutAttributeTopMargin];\n}\n\n- (MASConstraint *)bottomMargin {\n    return [self addConstraintWithLayoutAttribute:NSLayoutAttributeBottomMargin];\n}\n\n- (MASConstraint *)leadingMargin {\n    return [self addConstraintWithLayoutAttribute:NSLayoutAttributeLeadingMargin];\n}\n\n- (MASConstraint *)trailingMargin {\n    return [self addConstraintWithLayoutAttribute:NSLayoutAttributeTrailingMargin];\n}\n\n- (MASConstraint *)centerXWithinMargins {\n    return [self addConstraintWithLayoutAttribute:NSLayoutAttributeCenterXWithinMargins];\n}\n\n- (MASConstraint *)centerYWithinMargins {\n    return [self addConstraintWithLayoutAttribute:NSLayoutAttributeCenterYWithinMargins];\n}\n\n#endif\n\n#pragma mark - Abstract\n\n- (MASConstraint * (^)(CGFloat multiplier))multipliedBy { MASMethodNotImplemented(); }\n\n- (MASConstraint * (^)(CGFloat divider))dividedBy { MASMethodNotImplemented(); }\n\n- (MASConstraint * (^)(MASLayoutPriority priority))priority { MASMethodNotImplemented(); }\n\n- (MASConstraint * (^)(id, NSLayoutRelation))equalToWithRelation { MASMethodNotImplemented(); }\n\n- (MASConstraint * (^)(id key))key { MASMethodNotImplemented(); }\n\n- (void)setInsets:(MASEdgeInsets __unused)insets { MASMethodNotImplemented(); }\n\n- (void)setInset:(CGFloat __unused)inset { MASMethodNotImplemented(); }\n\n- (void)setSizeOffset:(CGSize __unused)sizeOffset { MASMethodNotImplemented(); }\n\n- (void)setCenterOffset:(CGPoint __unused)centerOffset { MASMethodNotImplemented(); }\n\n- (void)setOffset:(CGFloat __unused)offset { MASMethodNotImplemented(); }\n\n#if TARGET_OS_MAC && !(TARGET_OS_IPHONE || TARGET_OS_TV)\n\n- (MASConstraint *)animator { MASMethodNotImplemented(); }\n\n#endif\n\n- (void)activate { MASMethodNotImplemented(); }\n\n- (void)deactivate { MASMethodNotImplemented(); }\n\n- (void)install { MASMethodNotImplemented(); }\n\n- (void)uninstall { MASMethodNotImplemented(); }\n\n@end\n"
  },
  {
    "path": "Masonry/MASConstraintMaker.h",
    "content": "//\n//  MASConstraintMaker.h\n//  Masonry\n//\n//  Created by Jonas Budelmann on 20/07/13.\n//  Copyright (c) 2013 cloudling. All rights reserved.\n//\n\n#import \"MASConstraint.h\"\n#import \"MASUtilities.h\"\n\ntypedef NS_OPTIONS(NSInteger, MASAttribute) {\n    MASAttributeLeft = 1 << NSLayoutAttributeLeft,\n    MASAttributeRight = 1 << NSLayoutAttributeRight,\n    MASAttributeTop = 1 << NSLayoutAttributeTop,\n    MASAttributeBottom = 1 << NSLayoutAttributeBottom,\n    MASAttributeLeading = 1 << NSLayoutAttributeLeading,\n    MASAttributeTrailing = 1 << NSLayoutAttributeTrailing,\n    MASAttributeWidth = 1 << NSLayoutAttributeWidth,\n    MASAttributeHeight = 1 << NSLayoutAttributeHeight,\n    MASAttributeCenterX = 1 << NSLayoutAttributeCenterX,\n    MASAttributeCenterY = 1 << NSLayoutAttributeCenterY,\n    MASAttributeBaseline = 1 << NSLayoutAttributeBaseline,\n\n    MASAttributeFirstBaseline = 1 << NSLayoutAttributeFirstBaseline,\n    MASAttributeLastBaseline = 1 << NSLayoutAttributeLastBaseline,\n    \n#if TARGET_OS_IPHONE || TARGET_OS_TV\n    \n    MASAttributeLeftMargin = 1 << NSLayoutAttributeLeftMargin,\n    MASAttributeRightMargin = 1 << NSLayoutAttributeRightMargin,\n    MASAttributeTopMargin = 1 << NSLayoutAttributeTopMargin,\n    MASAttributeBottomMargin = 1 << NSLayoutAttributeBottomMargin,\n    MASAttributeLeadingMargin = 1 << NSLayoutAttributeLeadingMargin,\n    MASAttributeTrailingMargin = 1 << NSLayoutAttributeTrailingMargin,\n    MASAttributeCenterXWithinMargins = 1 << NSLayoutAttributeCenterXWithinMargins,\n    MASAttributeCenterYWithinMargins = 1 << NSLayoutAttributeCenterYWithinMargins,\n\n#endif\n    \n};\n\n/**\n *  Provides factory methods for creating MASConstraints.\n *  Constraints are collected until they are ready to be installed\n *\n */\n@interface MASConstraintMaker : NSObject\n\n/**\n *\tThe following properties return a new MASViewConstraint\n *  with the first item set to the makers associated view and the appropriate MASViewAttribute\n */\n@property (nonatomic, strong, readonly) MASConstraint *left;\n@property (nonatomic, strong, readonly) MASConstraint *top;\n@property (nonatomic, strong, readonly) MASConstraint *right;\n@property (nonatomic, strong, readonly) MASConstraint *bottom;\n@property (nonatomic, strong, readonly) MASConstraint *leading;\n@property (nonatomic, strong, readonly) MASConstraint *trailing;\n@property (nonatomic, strong, readonly) MASConstraint *width;\n@property (nonatomic, strong, readonly) MASConstraint *height;\n@property (nonatomic, strong, readonly) MASConstraint *centerX;\n@property (nonatomic, strong, readonly) MASConstraint *centerY;\n@property (nonatomic, strong, readonly) MASConstraint *baseline;\n\n@property (nonatomic, strong, readonly) MASConstraint *firstBaseline;\n@property (nonatomic, strong, readonly) MASConstraint *lastBaseline;\n\n#if TARGET_OS_IPHONE || TARGET_OS_TV\n\n@property (nonatomic, strong, readonly) MASConstraint *leftMargin;\n@property (nonatomic, strong, readonly) MASConstraint *rightMargin;\n@property (nonatomic, strong, readonly) MASConstraint *topMargin;\n@property (nonatomic, strong, readonly) MASConstraint *bottomMargin;\n@property (nonatomic, strong, readonly) MASConstraint *leadingMargin;\n@property (nonatomic, strong, readonly) MASConstraint *trailingMargin;\n@property (nonatomic, strong, readonly) MASConstraint *centerXWithinMargins;\n@property (nonatomic, strong, readonly) MASConstraint *centerYWithinMargins;\n\n#endif\n\n/**\n *  Returns a block which creates a new MASCompositeConstraint with the first item set\n *  to the makers associated view and children corresponding to the set bits in the\n *  MASAttribute parameter. Combine multiple attributes via binary-or.\n */\n@property (nonatomic, strong, readonly) MASConstraint *(^attributes)(MASAttribute attrs);\n\n/**\n *\tCreates a MASCompositeConstraint with type MASCompositeConstraintTypeEdges\n *  which generates the appropriate MASViewConstraint children (top, left, bottom, right)\n *  with the first item set to the makers associated view\n */\n@property (nonatomic, strong, readonly) MASConstraint *edges;\n\n/**\n *\tCreates a MASCompositeConstraint with type MASCompositeConstraintTypeSize\n *  which generates the appropriate MASViewConstraint children (width, height)\n *  with the first item set to the makers associated view\n */\n@property (nonatomic, strong, readonly) MASConstraint *size;\n\n/**\n *\tCreates a MASCompositeConstraint with type MASCompositeConstraintTypeCenter\n *  which generates the appropriate MASViewConstraint children (centerX, centerY)\n *  with the first item set to the makers associated view\n */\n@property (nonatomic, strong, readonly) MASConstraint *center;\n\n/**\n *  Whether or not to check for an existing constraint instead of adding constraint\n */\n@property (nonatomic, assign) BOOL updateExisting;\n\n/**\n *  Whether or not to remove existing constraints prior to installing\n */\n@property (nonatomic, assign) BOOL removeExisting;\n\n/**\n *\tinitialises the maker with a default view\n *\n *\t@param\tview\tany MASConstraint are created with this view as the first item\n *\n *\t@return\ta new MASConstraintMaker\n */\n- (id)initWithView:(MAS_VIEW *)view;\n\n/**\n *\tCalls install method on any MASConstraints which have been created by this maker\n *\n *\t@return\tan array of all the installed MASConstraints\n */\n- (NSArray *)install;\n\n- (MASConstraint * (^)(dispatch_block_t))group;\n\n@end\n"
  },
  {
    "path": "Masonry/MASConstraintMaker.m",
    "content": "//\n//  MASConstraintMaker.m\n//  Masonry\n//\n//  Created by Jonas Budelmann on 20/07/13.\n//  Copyright (c) 2013 cloudling. All rights reserved.\n//\n\n#import \"MASConstraintMaker.h\"\n#import \"MASViewConstraint.h\"\n#import \"MASCompositeConstraint.h\"\n#import \"MASConstraint+Private.h\"\n#import \"MASViewAttribute.h\"\n#import \"View+MASAdditions.h\"\n\n@interface MASConstraintMaker () <MASConstraintDelegate>\n\n@property (nonatomic, weak) MAS_VIEW *view;\n@property (nonatomic, strong) NSMutableArray *constraints;\n\n@end\n\n@implementation MASConstraintMaker\n\n- (id)initWithView:(MAS_VIEW *)view {\n    self = [super init];\n    if (!self) return nil;\n    \n    self.view = view;\n    self.constraints = NSMutableArray.new;\n    \n    return self;\n}\n\n- (NSArray *)install {\n    if (self.removeExisting) {\n        NSArray *installedConstraints = [MASViewConstraint installedConstraintsForView:self.view];\n        for (MASConstraint *constraint in installedConstraints) {\n            [constraint uninstall];\n        }\n    }\n    NSArray *constraints = self.constraints.copy;\n    for (MASConstraint *constraint in constraints) {\n        constraint.updateExisting = self.updateExisting;\n        [constraint install];\n    }\n    [self.constraints removeAllObjects];\n    return constraints;\n}\n\n#pragma mark - MASConstraintDelegate\n\n- (void)constraint:(MASConstraint *)constraint shouldBeReplacedWithConstraint:(MASConstraint *)replacementConstraint {\n    NSUInteger index = [self.constraints indexOfObject:constraint];\n    NSAssert(index != NSNotFound, @\"Could not find constraint %@\", constraint);\n    [self.constraints replaceObjectAtIndex:index withObject:replacementConstraint];\n}\n\n- (MASConstraint *)constraint:(MASConstraint *)constraint addConstraintWithLayoutAttribute:(NSLayoutAttribute)layoutAttribute {\n    MASViewAttribute *viewAttribute = [[MASViewAttribute alloc] initWithView:self.view layoutAttribute:layoutAttribute];\n    MASViewConstraint *newConstraint = [[MASViewConstraint alloc] initWithFirstViewAttribute:viewAttribute];\n    if ([constraint isKindOfClass:MASViewConstraint.class]) {\n        //replace with composite constraint\n        NSArray *children = @[constraint, newConstraint];\n        MASCompositeConstraint *compositeConstraint = [[MASCompositeConstraint alloc] initWithChildren:children];\n        compositeConstraint.delegate = self;\n        [self constraint:constraint shouldBeReplacedWithConstraint:compositeConstraint];\n        return compositeConstraint;\n    }\n    if (!constraint) {\n        newConstraint.delegate = self;\n        [self.constraints addObject:newConstraint];\n    }\n    return newConstraint;\n}\n\n- (MASConstraint *)addConstraintWithAttributes:(MASAttribute)attrs {\n    __unused MASAttribute anyAttribute = (MASAttributeLeft | MASAttributeRight | MASAttributeTop | MASAttributeBottom | MASAttributeLeading\n                                          | MASAttributeTrailing | MASAttributeWidth | MASAttributeHeight | MASAttributeCenterX\n                                          | MASAttributeCenterY | MASAttributeBaseline\n                                          | MASAttributeFirstBaseline | MASAttributeLastBaseline\n#if TARGET_OS_IPHONE || TARGET_OS_TV\n                                          | MASAttributeLeftMargin | MASAttributeRightMargin | MASAttributeTopMargin | MASAttributeBottomMargin\n                                          | MASAttributeLeadingMargin | MASAttributeTrailingMargin | MASAttributeCenterXWithinMargins\n                                          | MASAttributeCenterYWithinMargins\n#endif\n                                          );\n    \n    NSAssert((attrs & anyAttribute) != 0, @\"You didn't pass any attribute to make.attributes(...)\");\n    \n    NSMutableArray *attributes = [NSMutableArray array];\n    \n    if (attrs & MASAttributeLeft) [attributes addObject:self.view.mas_left];\n    if (attrs & MASAttributeRight) [attributes addObject:self.view.mas_right];\n    if (attrs & MASAttributeTop) [attributes addObject:self.view.mas_top];\n    if (attrs & MASAttributeBottom) [attributes addObject:self.view.mas_bottom];\n    if (attrs & MASAttributeLeading) [attributes addObject:self.view.mas_leading];\n    if (attrs & MASAttributeTrailing) [attributes addObject:self.view.mas_trailing];\n    if (attrs & MASAttributeWidth) [attributes addObject:self.view.mas_width];\n    if (attrs & MASAttributeHeight) [attributes addObject:self.view.mas_height];\n    if (attrs & MASAttributeCenterX) [attributes addObject:self.view.mas_centerX];\n    if (attrs & MASAttributeCenterY) [attributes addObject:self.view.mas_centerY];\n    if (attrs & MASAttributeBaseline) [attributes addObject:self.view.mas_baseline];\n    if (attrs & MASAttributeFirstBaseline) [attributes addObject:self.view.mas_firstBaseline];\n    if (attrs & MASAttributeLastBaseline) [attributes addObject:self.view.mas_lastBaseline];\n    \n#if TARGET_OS_IPHONE || TARGET_OS_TV\n    \n    if (attrs & MASAttributeLeftMargin) [attributes addObject:self.view.mas_leftMargin];\n    if (attrs & MASAttributeRightMargin) [attributes addObject:self.view.mas_rightMargin];\n    if (attrs & MASAttributeTopMargin) [attributes addObject:self.view.mas_topMargin];\n    if (attrs & MASAttributeBottomMargin) [attributes addObject:self.view.mas_bottomMargin];\n    if (attrs & MASAttributeLeadingMargin) [attributes addObject:self.view.mas_leadingMargin];\n    if (attrs & MASAttributeTrailingMargin) [attributes addObject:self.view.mas_trailingMargin];\n    if (attrs & MASAttributeCenterXWithinMargins) [attributes addObject:self.view.mas_centerXWithinMargins];\n    if (attrs & MASAttributeCenterYWithinMargins) [attributes addObject:self.view.mas_centerYWithinMargins];\n    \n#endif\n    \n    NSMutableArray *children = [NSMutableArray arrayWithCapacity:attributes.count];\n    \n    for (MASViewAttribute *a in attributes) {\n        [children addObject:[[MASViewConstraint alloc] initWithFirstViewAttribute:a]];\n    }\n    \n    MASCompositeConstraint *constraint = [[MASCompositeConstraint alloc] initWithChildren:children];\n    constraint.delegate = self;\n    [self.constraints addObject:constraint];\n    return constraint;\n}\n\n#pragma mark - standard Attributes\n\n- (MASConstraint *)addConstraintWithLayoutAttribute:(NSLayoutAttribute)layoutAttribute {\n    return [self constraint:nil addConstraintWithLayoutAttribute:layoutAttribute];\n}\n\n- (MASConstraint *)left {\n    return [self addConstraintWithLayoutAttribute:NSLayoutAttributeLeft];\n}\n\n- (MASConstraint *)top {\n    return [self addConstraintWithLayoutAttribute:NSLayoutAttributeTop];\n}\n\n- (MASConstraint *)right {\n    return [self addConstraintWithLayoutAttribute:NSLayoutAttributeRight];\n}\n\n- (MASConstraint *)bottom {\n    return [self addConstraintWithLayoutAttribute:NSLayoutAttributeBottom];\n}\n\n- (MASConstraint *)leading {\n    return [self addConstraintWithLayoutAttribute:NSLayoutAttributeLeading];\n}\n\n- (MASConstraint *)trailing {\n    return [self addConstraintWithLayoutAttribute:NSLayoutAttributeTrailing];\n}\n\n- (MASConstraint *)width {\n    return [self addConstraintWithLayoutAttribute:NSLayoutAttributeWidth];\n}\n\n- (MASConstraint *)height {\n    return [self addConstraintWithLayoutAttribute:NSLayoutAttributeHeight];\n}\n\n- (MASConstraint *)centerX {\n    return [self addConstraintWithLayoutAttribute:NSLayoutAttributeCenterX];\n}\n\n- (MASConstraint *)centerY {\n    return [self addConstraintWithLayoutAttribute:NSLayoutAttributeCenterY];\n}\n\n- (MASConstraint *)baseline {\n    return [self addConstraintWithLayoutAttribute:NSLayoutAttributeBaseline];\n}\n\n- (MASConstraint *(^)(MASAttribute))attributes {\n    return ^(MASAttribute attrs){\n        return [self addConstraintWithAttributes:attrs];\n    };\n}\n\n- (MASConstraint *)firstBaseline {\n    return [self addConstraintWithLayoutAttribute:NSLayoutAttributeFirstBaseline];\n}\n\n- (MASConstraint *)lastBaseline {\n    return [self addConstraintWithLayoutAttribute:NSLayoutAttributeLastBaseline];\n}\n\n#if TARGET_OS_IPHONE || TARGET_OS_TV\n\n- (MASConstraint *)leftMargin {\n    return [self addConstraintWithLayoutAttribute:NSLayoutAttributeLeftMargin];\n}\n\n- (MASConstraint *)rightMargin {\n    return [self addConstraintWithLayoutAttribute:NSLayoutAttributeRightMargin];\n}\n\n- (MASConstraint *)topMargin {\n    return [self addConstraintWithLayoutAttribute:NSLayoutAttributeTopMargin];\n}\n\n- (MASConstraint *)bottomMargin {\n    return [self addConstraintWithLayoutAttribute:NSLayoutAttributeBottomMargin];\n}\n\n- (MASConstraint *)leadingMargin {\n    return [self addConstraintWithLayoutAttribute:NSLayoutAttributeLeadingMargin];\n}\n\n- (MASConstraint *)trailingMargin {\n    return [self addConstraintWithLayoutAttribute:NSLayoutAttributeTrailingMargin];\n}\n\n- (MASConstraint *)centerXWithinMargins {\n    return [self addConstraintWithLayoutAttribute:NSLayoutAttributeCenterXWithinMargins];\n}\n\n- (MASConstraint *)centerYWithinMargins {\n    return [self addConstraintWithLayoutAttribute:NSLayoutAttributeCenterYWithinMargins];\n}\n\n#endif\n\n\n#pragma mark - composite Attributes\n\n- (MASConstraint *)edges {\n    return [self addConstraintWithAttributes:MASAttributeTop | MASAttributeLeft | MASAttributeRight | MASAttributeBottom];\n}\n\n- (MASConstraint *)size {\n    return [self addConstraintWithAttributes:MASAttributeWidth | MASAttributeHeight];\n}\n\n- (MASConstraint *)center {\n    return [self addConstraintWithAttributes:MASAttributeCenterX | MASAttributeCenterY];\n}\n\n#pragma mark - grouping\n\n- (MASConstraint *(^)(dispatch_block_t group))group {\n    return ^id(dispatch_block_t group) {\n        NSInteger previousCount = self.constraints.count;\n        group();\n\n        NSArray *children = [self.constraints subarrayWithRange:NSMakeRange(previousCount, self.constraints.count - previousCount)];\n        MASCompositeConstraint *constraint = [[MASCompositeConstraint alloc] initWithChildren:children];\n        constraint.delegate = self;\n        return constraint;\n    };\n}\n\n@end\n"
  },
  {
    "path": "Masonry/MASLayoutConstraint.h",
    "content": "//\n//  MASLayoutConstraint.h\n//  Masonry\n//\n//  Created by Jonas Budelmann on 3/08/13.\n//  Copyright (c) 2013 Jonas Budelmann. All rights reserved.\n//\n\n#import \"MASUtilities.h\"\n\n/**\n *\tWhen you are debugging or printing the constraints attached to a view this subclass\n *  makes it easier to identify which constraints have been created via Masonry\n */\n@interface MASLayoutConstraint : NSLayoutConstraint\n\n/**\n *\ta key to associate with this constraint\n */\n@property (nonatomic, strong) id mas_key;\n\n@end\n"
  },
  {
    "path": "Masonry/MASLayoutConstraint.m",
    "content": "//\n//  MASLayoutConstraint.m\n//  Masonry\n//\n//  Created by Jonas Budelmann on 3/08/13.\n//  Copyright (c) 2013 Jonas Budelmann. All rights reserved.\n//\n\n#import \"MASLayoutConstraint.h\"\n\n@implementation MASLayoutConstraint\n\n@end\n"
  },
  {
    "path": "Masonry/MASUtilities.h",
    "content": "//\n//  MASUtilities.h\n//  Masonry\n//\n//  Created by Jonas Budelmann on 19/08/13.\n//  Copyright (c) 2013 Jonas Budelmann. All rights reserved.\n//\n\n#import <Foundation/Foundation.h>\n\n\n\n#if TARGET_OS_IPHONE || TARGET_OS_TV\n\n    #import <UIKit/UIKit.h>\n    #define MAS_VIEW UIView\n    #define MAS_VIEW_CONTROLLER UIViewController\n    #define MASEdgeInsets UIEdgeInsets\n\n    typedef UILayoutPriority MASLayoutPriority;\n    static const MASLayoutPriority MASLayoutPriorityRequired = UILayoutPriorityRequired;\n    static const MASLayoutPriority MASLayoutPriorityDefaultHigh = UILayoutPriorityDefaultHigh;\n    static const MASLayoutPriority MASLayoutPriorityDefaultMedium = 500;\n    static const MASLayoutPriority MASLayoutPriorityDefaultLow = UILayoutPriorityDefaultLow;\n    static const MASLayoutPriority MASLayoutPriorityFittingSizeLevel = UILayoutPriorityFittingSizeLevel;\n\n#elif TARGET_OS_MAC\n\n    #import <AppKit/AppKit.h>\n    #define MAS_VIEW NSView\n    #define MASEdgeInsets NSEdgeInsets\n\n    typedef NSLayoutPriority MASLayoutPriority;\n    static const MASLayoutPriority MASLayoutPriorityRequired = NSLayoutPriorityRequired;\n    static const MASLayoutPriority MASLayoutPriorityDefaultHigh = NSLayoutPriorityDefaultHigh;\n    static const MASLayoutPriority MASLayoutPriorityDragThatCanResizeWindow = NSLayoutPriorityDragThatCanResizeWindow;\n    static const MASLayoutPriority MASLayoutPriorityDefaultMedium = 501;\n    static const MASLayoutPriority MASLayoutPriorityWindowSizeStayPut = NSLayoutPriorityWindowSizeStayPut;\n    static const MASLayoutPriority MASLayoutPriorityDragThatCannotResizeWindow = NSLayoutPriorityDragThatCannotResizeWindow;\n    static const MASLayoutPriority MASLayoutPriorityDefaultLow = NSLayoutPriorityDefaultLow;\n    static const MASLayoutPriority MASLayoutPriorityFittingSizeCompression = NSLayoutPriorityFittingSizeCompression;\n\n#endif\n\n/**\n *\tAllows you to attach keys to objects matching the variable names passed.\n *\n *  view1.mas_key = @\"view1\", view2.mas_key = @\"view2\";\n *\n *  is equivalent to:\n *\n *  MASAttachKeys(view1, view2);\n */\n#define MASAttachKeys(...)                                                        \\\n    {                                                                             \\\n        NSDictionary *keyPairs = NSDictionaryOfVariableBindings(__VA_ARGS__);     \\\n        for (id key in keyPairs.allKeys) {                                        \\\n            id obj = keyPairs[key];                                               \\\n            NSAssert([obj respondsToSelector:@selector(setMas_key:)],             \\\n                     @\"Cannot attach mas_key to %@\", obj);                        \\\n            [obj setMas_key:key];                                                 \\\n        }                                                                         \\\n    }\n\n/**\n *  Used to create object hashes\n *  Based on http://www.mikeash.com/pyblog/friday-qa-2010-06-18-implementing-equality-and-hashing.html\n */\n#define MAS_NSUINT_BIT (CHAR_BIT * sizeof(NSUInteger))\n#define MAS_NSUINTROTATE(val, howmuch) ((((NSUInteger)val) << howmuch) | (((NSUInteger)val) >> (MAS_NSUINT_BIT - howmuch)))\n\n/**\n *  Given a scalar or struct value, wraps it in NSValue\n *  Based on EXPObjectify: https://github.com/specta/expecta\n */\nstatic inline id _MASBoxValue(const char *type, ...) {\n    va_list v;\n    va_start(v, type);\n    id obj = nil;\n    if (strcmp(type, @encode(id)) == 0) {\n        id actual = va_arg(v, id);\n        obj = actual;\n    } else if (strcmp(type, @encode(CGPoint)) == 0) {\n        CGPoint actual = (CGPoint)va_arg(v, CGPoint);\n        obj = [NSValue value:&actual withObjCType:type];\n    } else if (strcmp(type, @encode(CGSize)) == 0) {\n        CGSize actual = (CGSize)va_arg(v, CGSize);\n        obj = [NSValue value:&actual withObjCType:type];\n    } else if (strcmp(type, @encode(MASEdgeInsets)) == 0) {\n        MASEdgeInsets actual = (MASEdgeInsets)va_arg(v, MASEdgeInsets);\n        obj = [NSValue value:&actual withObjCType:type];\n    } else if (strcmp(type, @encode(double)) == 0) {\n        double actual = (double)va_arg(v, double);\n        obj = [NSNumber numberWithDouble:actual];\n    } else if (strcmp(type, @encode(float)) == 0) {\n        float actual = (float)va_arg(v, double);\n        obj = [NSNumber numberWithFloat:actual];\n    } else if (strcmp(type, @encode(int)) == 0) {\n        int actual = (int)va_arg(v, int);\n        obj = [NSNumber numberWithInt:actual];\n    } else if (strcmp(type, @encode(long)) == 0) {\n        long actual = (long)va_arg(v, long);\n        obj = [NSNumber numberWithLong:actual];\n    } else if (strcmp(type, @encode(long long)) == 0) {\n        long long actual = (long long)va_arg(v, long long);\n        obj = [NSNumber numberWithLongLong:actual];\n    } else if (strcmp(type, @encode(short)) == 0) {\n        short actual = (short)va_arg(v, int);\n        obj = [NSNumber numberWithShort:actual];\n    } else if (strcmp(type, @encode(char)) == 0) {\n        char actual = (char)va_arg(v, int);\n        obj = [NSNumber numberWithChar:actual];\n    } else if (strcmp(type, @encode(bool)) == 0) {\n        bool actual = (bool)va_arg(v, int);\n        obj = [NSNumber numberWithBool:actual];\n    } else if (strcmp(type, @encode(unsigned char)) == 0) {\n        unsigned char actual = (unsigned char)va_arg(v, unsigned int);\n        obj = [NSNumber numberWithUnsignedChar:actual];\n    } else if (strcmp(type, @encode(unsigned int)) == 0) {\n        unsigned int actual = (unsigned int)va_arg(v, unsigned int);\n        obj = [NSNumber numberWithUnsignedInt:actual];\n    } else if (strcmp(type, @encode(unsigned long)) == 0) {\n        unsigned long actual = (unsigned long)va_arg(v, unsigned long);\n        obj = [NSNumber numberWithUnsignedLong:actual];\n    } else if (strcmp(type, @encode(unsigned long long)) == 0) {\n        unsigned long long actual = (unsigned long long)va_arg(v, unsigned long long);\n        obj = [NSNumber numberWithUnsignedLongLong:actual];\n    } else if (strcmp(type, @encode(unsigned short)) == 0) {\n        unsigned short actual = (unsigned short)va_arg(v, unsigned int);\n        obj = [NSNumber numberWithUnsignedShort:actual];\n    }\n    va_end(v);\n    return obj;\n}\n\n#define MASBoxValue(value) _MASBoxValue(@encode(__typeof__((value))), (value))\n"
  },
  {
    "path": "Masonry/MASViewAttribute.h",
    "content": "//\n//  MASViewAttribute.h\n//  Masonry\n//\n//  Created by Jonas Budelmann on 21/07/13.\n//  Copyright (c) 2013 cloudling. All rights reserved.\n//\n\n#import \"MASUtilities.h\"\n\n/**\n *  An immutable tuple which stores the view and the related NSLayoutAttribute.\n *  Describes part of either the left or right hand side of a constraint equation\n */\n@interface MASViewAttribute : NSObject\n\n/**\n *  The view which the reciever relates to. Can be nil if item is not a view.\n */\n@property (nonatomic, weak, readonly) MAS_VIEW *view;\n\n/**\n *  The item which the reciever relates to.\n */\n@property (nonatomic, weak, readonly) id item;\n\n/**\n *  The attribute which the reciever relates to\n */\n@property (nonatomic, assign, readonly) NSLayoutAttribute layoutAttribute;\n\n/**\n *  Convenience initializer.\n */\n- (id)initWithView:(MAS_VIEW *)view layoutAttribute:(NSLayoutAttribute)layoutAttribute;\n\n/**\n *  The designated initializer.\n */\n- (id)initWithView:(MAS_VIEW *)view item:(id)item layoutAttribute:(NSLayoutAttribute)layoutAttribute;\n\n/**\n *\tDetermine whether the layoutAttribute is a size attribute\n *\n *\t@return\tYES if layoutAttribute is equal to NSLayoutAttributeWidth or NSLayoutAttributeHeight\n */\n- (BOOL)isSizeAttribute;\n\n@end\n"
  },
  {
    "path": "Masonry/MASViewAttribute.m",
    "content": "//\n//  MASViewAttribute.m\n//  Masonry\n//\n//  Created by Jonas Budelmann on 21/07/13.\n//  Copyright (c) 2013 cloudling. All rights reserved.\n//\n\n#import \"MASViewAttribute.h\"\n\n@implementation MASViewAttribute\n\n- (id)initWithView:(MAS_VIEW *)view layoutAttribute:(NSLayoutAttribute)layoutAttribute {\n    self = [self initWithView:view item:view layoutAttribute:layoutAttribute];\n    return self;\n}\n\n- (id)initWithView:(MAS_VIEW *)view item:(id)item layoutAttribute:(NSLayoutAttribute)layoutAttribute {\n    self = [super init];\n    if (!self) return nil;\n    \n    _view = view;\n    _item = item;\n    _layoutAttribute = layoutAttribute;\n    \n    return self;\n}\n\n- (BOOL)isSizeAttribute {\n    return self.layoutAttribute == NSLayoutAttributeWidth\n        || self.layoutAttribute == NSLayoutAttributeHeight;\n}\n\n- (BOOL)isEqual:(MASViewAttribute *)viewAttribute {\n    if ([viewAttribute isKindOfClass:self.class]) {\n        return self.view == viewAttribute.view\n            && self.layoutAttribute == viewAttribute.layoutAttribute;\n    }\n    return [super isEqual:viewAttribute];\n}\n\n- (NSUInteger)hash {\n    return MAS_NSUINTROTATE([self.view hash], MAS_NSUINT_BIT / 2) ^ self.layoutAttribute;\n}\n\n@end\n"
  },
  {
    "path": "Masonry/MASViewConstraint.h",
    "content": "//\n//  MASViewConstraint.h\n//  Masonry\n//\n//  Created by Jonas Budelmann on 20/07/13.\n//  Copyright (c) 2013 cloudling. All rights reserved.\n//\n\n#import \"MASViewAttribute.h\"\n#import \"MASConstraint.h\"\n#import \"MASLayoutConstraint.h\"\n#import \"MASUtilities.h\"\n\n/**\n *  A single constraint.\n *  Contains the attributes neccessary for creating a NSLayoutConstraint and adding it to the appropriate view\n */\n@interface MASViewConstraint : MASConstraint <NSCopying>\n\n/**\n *\tFirst item/view and first attribute of the NSLayoutConstraint\n */\n@property (nonatomic, strong, readonly) MASViewAttribute *firstViewAttribute;\n\n/**\n *\tSecond item/view and second attribute of the NSLayoutConstraint\n */\n@property (nonatomic, strong, readonly) MASViewAttribute *secondViewAttribute;\n\n/**\n *\tinitialises the MASViewConstraint with the first part of the equation\n *\n *\t@param\tfirstViewAttribute\tview.mas_left, view.mas_width etc.\n *\n *\t@return\ta new view constraint\n */\n- (id)initWithFirstViewAttribute:(MASViewAttribute *)firstViewAttribute;\n\n/**\n *  Returns all MASViewConstraints installed with this view as a first item.\n *\n *  @param  view  A view to retrieve constraints for.\n *\n *  @return An array of MASViewConstraints.\n */\n+ (NSArray *)installedConstraintsForView:(MAS_VIEW *)view;\n\n@end\n"
  },
  {
    "path": "Masonry/MASViewConstraint.m",
    "content": "//\n//  MASViewConstraint.m\n//  Masonry\n//\n//  Created by Jonas Budelmann on 20/07/13.\n//  Copyright (c) 2013 cloudling. All rights reserved.\n//\n\n#import \"MASViewConstraint.h\"\n#import \"MASConstraint+Private.h\"\n#import \"MASCompositeConstraint.h\"\n#import \"MASLayoutConstraint.h\"\n#import \"View+MASAdditions.h\"\n#import <objc/runtime.h>\n\n@interface MAS_VIEW (MASConstraints)\n\n@property (nonatomic, readonly) NSMutableSet *mas_installedConstraints;\n\n@end\n\n@implementation MAS_VIEW (MASConstraints)\n\nstatic char kInstalledConstraintsKey;\n\n- (NSMutableSet *)mas_installedConstraints {\n    NSMutableSet *constraints = objc_getAssociatedObject(self, &kInstalledConstraintsKey);\n    if (!constraints) {\n        constraints = [NSMutableSet set];\n        objc_setAssociatedObject(self, &kInstalledConstraintsKey, constraints, OBJC_ASSOCIATION_RETAIN_NONATOMIC);\n    }\n    return constraints;\n}\n\n@end\n\n\n@interface MASViewConstraint ()\n\n@property (nonatomic, strong, readwrite) MASViewAttribute *secondViewAttribute;\n@property (nonatomic, weak) MAS_VIEW *installedView;\n@property (nonatomic, weak) MASLayoutConstraint *layoutConstraint;\n@property (nonatomic, assign) NSLayoutRelation layoutRelation;\n@property (nonatomic, assign) MASLayoutPriority layoutPriority;\n@property (nonatomic, assign) CGFloat layoutMultiplier;\n@property (nonatomic, assign) CGFloat layoutConstant;\n@property (nonatomic, assign) BOOL hasLayoutRelation;\n@property (nonatomic, strong) id mas_key;\n@property (nonatomic, assign) BOOL useAnimator;\n\n@end\n\n@implementation MASViewConstraint\n\n- (id)initWithFirstViewAttribute:(MASViewAttribute *)firstViewAttribute {\n    self = [super init];\n    if (!self) return nil;\n    \n    _firstViewAttribute = firstViewAttribute;\n    self.layoutPriority = MASLayoutPriorityRequired;\n    self.layoutMultiplier = 1;\n    \n    return self;\n}\n\n#pragma mark - NSCoping\n\n- (id)copyWithZone:(NSZone __unused *)zone {\n    MASViewConstraint *constraint = [[MASViewConstraint alloc] initWithFirstViewAttribute:self.firstViewAttribute];\n    constraint.layoutConstant = self.layoutConstant;\n    constraint.layoutRelation = self.layoutRelation;\n    constraint.layoutPriority = self.layoutPriority;\n    constraint.layoutMultiplier = self.layoutMultiplier;\n    constraint.delegate = self.delegate;\n    return constraint;\n}\n\n#pragma mark - Public\n\n+ (NSArray *)installedConstraintsForView:(MAS_VIEW *)view {\n    return [view.mas_installedConstraints allObjects];\n}\n\n#pragma mark - Private\n\n- (void)setLayoutConstant:(CGFloat)layoutConstant {\n    _layoutConstant = layoutConstant;\n\n#if TARGET_OS_MAC && !(TARGET_OS_IPHONE || TARGET_OS_TV)\n    if (self.useAnimator) {\n        [self.layoutConstraint.animator setConstant:layoutConstant];\n    } else {\n        self.layoutConstraint.constant = layoutConstant;\n    }\n#else\n    self.layoutConstraint.constant = layoutConstant;\n#endif\n}\n\n- (void)setLayoutRelation:(NSLayoutRelation)layoutRelation {\n    _layoutRelation = layoutRelation;\n    self.hasLayoutRelation = YES;\n}\n\n- (BOOL)supportsActiveProperty {\n    return [self.layoutConstraint respondsToSelector:@selector(isActive)];\n}\n\n- (BOOL)isActive {\n    BOOL active = YES;\n    if ([self supportsActiveProperty]) {\n        active = [self.layoutConstraint isActive];\n    }\n\n    return active;\n}\n\n- (BOOL)hasBeenInstalled {\n    return (self.layoutConstraint != nil) && [self isActive];\n}\n\n- (void)setSecondViewAttribute:(id)secondViewAttribute {\n    if ([secondViewAttribute isKindOfClass:NSValue.class]) {\n        [self setLayoutConstantWithValue:secondViewAttribute];\n    } else if ([secondViewAttribute isKindOfClass:MAS_VIEW.class]) {\n        _secondViewAttribute = [[MASViewAttribute alloc] initWithView:secondViewAttribute layoutAttribute:self.firstViewAttribute.layoutAttribute];\n    } else if ([secondViewAttribute isKindOfClass:MASViewAttribute.class]) {\n        MASViewAttribute *attr = secondViewAttribute;\n        if (attr.layoutAttribute == NSLayoutAttributeNotAnAttribute) {\n            _secondViewAttribute = [[MASViewAttribute alloc] initWithView:attr.view item:attr.item layoutAttribute:self.firstViewAttribute.layoutAttribute];;\n        } else {\n            _secondViewAttribute = secondViewAttribute;\n        }\n    } else {\n        NSAssert(NO, @\"attempting to add unsupported attribute: %@\", secondViewAttribute);\n    }\n}\n\n#pragma mark - NSLayoutConstraint multiplier proxies\n\n- (MASConstraint * (^)(CGFloat))multipliedBy {\n    return ^id(CGFloat multiplier) {\n        NSAssert(!self.hasBeenInstalled,\n                 @\"Cannot modify constraint multiplier after it has been installed\");\n        \n        self.layoutMultiplier = multiplier;\n        return self;\n    };\n}\n\n\n- (MASConstraint * (^)(CGFloat))dividedBy {\n    return ^id(CGFloat divider) {\n        NSAssert(!self.hasBeenInstalled,\n                 @\"Cannot modify constraint multiplier after it has been installed\");\n\n        self.layoutMultiplier = 1.0/divider;\n        return self;\n    };\n}\n\n#pragma mark - MASLayoutPriority proxy\n\n- (MASConstraint * (^)(MASLayoutPriority))priority {\n    return ^id(MASLayoutPriority priority) {\n        NSAssert(!self.hasBeenInstalled,\n                 @\"Cannot modify constraint priority after it has been installed\");\n        \n        self.layoutPriority = priority;\n        return self;\n    };\n}\n\n#pragma mark - NSLayoutRelation proxy\n\n- (MASConstraint * (^)(id, NSLayoutRelation))equalToWithRelation {\n    return ^id(id attribute, NSLayoutRelation relation) {\n        if ([attribute isKindOfClass:NSArray.class]) {\n            NSAssert(!self.hasLayoutRelation, @\"Redefinition of constraint relation\");\n            NSMutableArray *children = NSMutableArray.new;\n            for (id attr in attribute) {\n                MASViewConstraint *viewConstraint = [self copy];\n                viewConstraint.layoutRelation = relation;\n                viewConstraint.secondViewAttribute = attr;\n                [children addObject:viewConstraint];\n            }\n            MASCompositeConstraint *compositeConstraint = [[MASCompositeConstraint alloc] initWithChildren:children];\n            compositeConstraint.delegate = self.delegate;\n            [self.delegate constraint:self shouldBeReplacedWithConstraint:compositeConstraint];\n            return compositeConstraint;\n        } else {\n            NSAssert(!self.hasLayoutRelation || self.layoutRelation == relation && [attribute isKindOfClass:NSValue.class], @\"Redefinition of constraint relation\");\n            self.layoutRelation = relation;\n            self.secondViewAttribute = attribute;\n            return self;\n        }\n    };\n}\n\n#pragma mark - Semantic properties\n\n- (MASConstraint *)with {\n    return self;\n}\n\n- (MASConstraint *)and {\n    return self;\n}\n\n#pragma mark - attribute chaining\n\n- (MASConstraint *)addConstraintWithLayoutAttribute:(NSLayoutAttribute)layoutAttribute {\n    NSAssert(!self.hasLayoutRelation, @\"Attributes should be chained before defining the constraint relation\");\n\n    return [self.delegate constraint:self addConstraintWithLayoutAttribute:layoutAttribute];\n}\n\n#pragma mark - Animator proxy\n\n#if TARGET_OS_MAC && !(TARGET_OS_IPHONE || TARGET_OS_TV)\n\n- (MASConstraint *)animator {\n    self.useAnimator = YES;\n    return self;\n}\n\n#endif\n\n#pragma mark - debug helpers\n\n- (MASConstraint * (^)(id))key {\n    return ^id(id key) {\n        self.mas_key = key;\n        return self;\n    };\n}\n\n#pragma mark - NSLayoutConstraint constant setters\n\n- (void)setInsets:(MASEdgeInsets)insets {\n    NSLayoutAttribute layoutAttribute = self.firstViewAttribute.layoutAttribute;\n    switch (layoutAttribute) {\n        case NSLayoutAttributeLeft:\n        case NSLayoutAttributeLeading:\n            self.layoutConstant = insets.left;\n            break;\n        case NSLayoutAttributeTop:\n            self.layoutConstant = insets.top;\n            break;\n        case NSLayoutAttributeBottom:\n            self.layoutConstant = -insets.bottom;\n            break;\n        case NSLayoutAttributeRight:\n        case NSLayoutAttributeTrailing:\n            self.layoutConstant = -insets.right;\n            break;\n        default:\n            break;\n    }\n}\n\n- (void)setInset:(CGFloat)inset {\n    [self setInsets:(MASEdgeInsets){.top = inset, .left = inset, .bottom = inset, .right = inset}];\n}\n\n- (void)setOffset:(CGFloat)offset {\n    self.layoutConstant = offset;\n}\n\n- (void)setSizeOffset:(CGSize)sizeOffset {\n    NSLayoutAttribute layoutAttribute = self.firstViewAttribute.layoutAttribute;\n    switch (layoutAttribute) {\n        case NSLayoutAttributeWidth:\n            self.layoutConstant = sizeOffset.width;\n            break;\n        case NSLayoutAttributeHeight:\n            self.layoutConstant = sizeOffset.height;\n            break;\n        default:\n            break;\n    }\n}\n\n- (void)setCenterOffset:(CGPoint)centerOffset {\n    NSLayoutAttribute layoutAttribute = self.firstViewAttribute.layoutAttribute;\n    switch (layoutAttribute) {\n        case NSLayoutAttributeCenterX:\n            self.layoutConstant = centerOffset.x;\n            break;\n        case NSLayoutAttributeCenterY:\n            self.layoutConstant = centerOffset.y;\n            break;\n        default:\n            break;\n    }\n}\n\n#pragma mark - MASConstraint\n\n- (void)activate {\n    [self install];\n}\n\n- (void)deactivate {\n    [self uninstall];\n}\n\n- (void)install {\n    if (self.hasBeenInstalled) {\n        return;\n    }\n    \n    if ([self supportsActiveProperty] && self.layoutConstraint) {\n        self.layoutConstraint.active = YES;\n        [self.firstViewAttribute.view.mas_installedConstraints addObject:self];\n        return;\n    }\n    \n    MAS_VIEW *firstLayoutItem = self.firstViewAttribute.item;\n    NSLayoutAttribute firstLayoutAttribute = self.firstViewAttribute.layoutAttribute;\n    MAS_VIEW *secondLayoutItem = self.secondViewAttribute.item;\n    NSLayoutAttribute secondLayoutAttribute = self.secondViewAttribute.layoutAttribute;\n\n    // alignment attributes must have a secondViewAttribute\n    // therefore we assume that is refering to superview\n    // eg make.left.equalTo(@10)\n    if (!self.firstViewAttribute.isSizeAttribute && !self.secondViewAttribute) {\n        secondLayoutItem = self.firstViewAttribute.view.superview;\n        secondLayoutAttribute = firstLayoutAttribute;\n    }\n    \n    MASLayoutConstraint *layoutConstraint\n        = [MASLayoutConstraint constraintWithItem:firstLayoutItem\n                                        attribute:firstLayoutAttribute\n                                        relatedBy:self.layoutRelation\n                                           toItem:secondLayoutItem\n                                        attribute:secondLayoutAttribute\n                                       multiplier:self.layoutMultiplier\n                                         constant:self.layoutConstant];\n    \n    layoutConstraint.priority = self.layoutPriority;\n    layoutConstraint.mas_key = self.mas_key;\n    \n    if (self.secondViewAttribute.view) {\n        MAS_VIEW *closestCommonSuperview = [self.firstViewAttribute.view mas_closestCommonSuperview:self.secondViewAttribute.view];\n        NSAssert(closestCommonSuperview,\n                 @\"couldn't find a common superview for %@ and %@\",\n                 self.firstViewAttribute.view, self.secondViewAttribute.view);\n        self.installedView = closestCommonSuperview;\n    } else if (self.firstViewAttribute.isSizeAttribute) {\n        self.installedView = self.firstViewAttribute.view;\n    } else {\n        self.installedView = self.firstViewAttribute.view.superview;\n    }\n\n\n    MASLayoutConstraint *existingConstraint = nil;\n    if (self.updateExisting) {\n        existingConstraint = [self layoutConstraintSimilarTo:layoutConstraint];\n    }\n    if (existingConstraint) {\n        // just update the constant\n        existingConstraint.constant = layoutConstraint.constant;\n        self.layoutConstraint = existingConstraint;\n    } else {\n        [self.installedView addConstraint:layoutConstraint];\n        self.layoutConstraint = layoutConstraint;\n        [firstLayoutItem.mas_installedConstraints addObject:self];\n    }\n}\n\n- (MASLayoutConstraint *)layoutConstraintSimilarTo:(MASLayoutConstraint *)layoutConstraint {\n    // check if any constraints are the same apart from the only mutable property constant\n\n    // go through constraints in reverse as we do not want to match auto-resizing or interface builder constraints\n    // and they are likely to be added first.\n    for (NSLayoutConstraint *existingConstraint in self.installedView.constraints.reverseObjectEnumerator) {\n        if (![existingConstraint isKindOfClass:MASLayoutConstraint.class]) continue;\n        if (existingConstraint.firstItem != layoutConstraint.firstItem) continue;\n        if (existingConstraint.secondItem != layoutConstraint.secondItem) continue;\n        if (existingConstraint.firstAttribute != layoutConstraint.firstAttribute) continue;\n        if (existingConstraint.secondAttribute != layoutConstraint.secondAttribute) continue;\n        if (existingConstraint.relation != layoutConstraint.relation) continue;\n        if (existingConstraint.multiplier != layoutConstraint.multiplier) continue;\n        if (existingConstraint.priority != layoutConstraint.priority) continue;\n\n        return (id)existingConstraint;\n    }\n    return nil;\n}\n\n- (void)uninstall {\n    if ([self supportsActiveProperty]) {\n        self.layoutConstraint.active = NO;\n        [self.firstViewAttribute.view.mas_installedConstraints removeObject:self];\n        return;\n    }\n    \n    [self.installedView removeConstraint:self.layoutConstraint];\n    self.layoutConstraint = nil;\n    self.installedView = nil;\n    \n    [self.firstViewAttribute.view.mas_installedConstraints removeObject:self];\n}\n\n@end\n"
  },
  {
    "path": "Masonry/Masonry.h",
    "content": "//\n//  Masonry.h\n//  Masonry\n//\n//  Created by Jonas Budelmann on 20/07/13.\n//  Copyright (c) 2013 cloudling. All rights reserved.\n//\n\n#import <Foundation/Foundation.h>\n\n//! Project version number for Masonry.\nFOUNDATION_EXPORT double MasonryVersionNumber;\n\n//! Project version string for Masonry.\nFOUNDATION_EXPORT const unsigned char MasonryVersionString[];\n\n#import \"MASUtilities.h\"\n#import \"View+MASAdditions.h\"\n#import \"View+MASShorthandAdditions.h\"\n#import \"ViewController+MASAdditions.h\"\n#import \"NSArray+MASAdditions.h\"\n#import \"NSArray+MASShorthandAdditions.h\"\n#import \"MASConstraint.h\"\n#import \"MASCompositeConstraint.h\"\n#import \"MASViewAttribute.h\"\n#import \"MASViewConstraint.h\"\n#import \"MASConstraintMaker.h\"\n#import \"MASLayoutConstraint.h\"\n#import \"NSLayoutConstraint+MASDebugAdditions.h\"\n"
  },
  {
    "path": "Masonry/NSArray+MASAdditions.h",
    "content": "//\n//  NSArray+MASAdditions.h\n//\n//\n//  Created by Daniel Hammond on 11/26/13.\n//\n//\n\n#import \"MASUtilities.h\"\n#import \"MASConstraintMaker.h\"\n#import \"MASViewAttribute.h\"\n\ntypedef NS_ENUM(NSUInteger, MASAxisType) {\n    MASAxisTypeHorizontal,\n    MASAxisTypeVertical\n};\n\n@interface NSArray (MASAdditions)\n\n/**\n *  Creates a MASConstraintMaker with each view in the callee.\n *  Any constraints defined are added to the view or the appropriate superview once the block has finished executing on each view\n *\n *  @param block scope within which you can build up the constraints which you wish to apply to each view.\n *\n *  @return Array of created MASConstraints\n */\n- (NSArray *)mas_makeConstraints:(void (NS_NOESCAPE ^)(MASConstraintMaker *make))block;\n\n/**\n *  Creates a MASConstraintMaker with each view in the callee.\n *  Any constraints defined are added to each view or the appropriate superview once the block has finished executing on each view.\n *  If an existing constraint exists then it will be updated instead.\n *\n *  @param block scope within which you can build up the constraints which you wish to apply to each view.\n *\n *  @return Array of created/updated MASConstraints\n */\n- (NSArray *)mas_updateConstraints:(void (NS_NOESCAPE ^)(MASConstraintMaker *make))block;\n\n/**\n *  Creates a MASConstraintMaker with each view in the callee.\n *  Any constraints defined are added to each view or the appropriate superview once the block has finished executing on each view.\n *  All constraints previously installed for the views will be removed.\n *\n *  @param block scope within which you can build up the constraints which you wish to apply to each view.\n *\n *  @return Array of created/updated MASConstraints\n */\n- (NSArray *)mas_remakeConstraints:(void (NS_NOESCAPE ^)(MASConstraintMaker *make))block;\n\n/**\n *  distribute with fixed spacing\n *\n *  @param axisType     which axis to distribute items along\n *  @param fixedSpacing the spacing between each item\n *  @param leadSpacing  the spacing before the first item and the container\n *  @param tailSpacing  the spacing after the last item and the container\n */\n- (void)mas_distributeViewsAlongAxis:(MASAxisType)axisType withFixedSpacing:(CGFloat)fixedSpacing leadSpacing:(CGFloat)leadSpacing tailSpacing:(CGFloat)tailSpacing;\n\n/**\n *  distribute with fixed item size\n *\n *  @param axisType        which axis to distribute items along\n *  @param fixedItemLength the fixed length of each item\n *  @param leadSpacing     the spacing before the first item and the container\n *  @param tailSpacing     the spacing after the last item and the container\n */\n- (void)mas_distributeViewsAlongAxis:(MASAxisType)axisType withFixedItemLength:(CGFloat)fixedItemLength leadSpacing:(CGFloat)leadSpacing tailSpacing:(CGFloat)tailSpacing;\n\n@end\n"
  },
  {
    "path": "Masonry/NSArray+MASAdditions.m",
    "content": "//\n//  NSArray+MASAdditions.m\n//  \n//\n//  Created by Daniel Hammond on 11/26/13.\n//\n//\n\n#import \"NSArray+MASAdditions.h\"\n#import \"View+MASAdditions.h\"\n\n@implementation NSArray (MASAdditions)\n\n- (NSArray *)mas_makeConstraints:(void(^)(MASConstraintMaker *make))block {\n    NSMutableArray *constraints = [NSMutableArray array];\n    for (MAS_VIEW *view in self) {\n        NSAssert([view isKindOfClass:[MAS_VIEW class]], @\"All objects in the array must be views\");\n        [constraints addObjectsFromArray:[view mas_makeConstraints:block]];\n    }\n    return constraints;\n}\n\n- (NSArray *)mas_updateConstraints:(void(^)(MASConstraintMaker *make))block {\n    NSMutableArray *constraints = [NSMutableArray array];\n    for (MAS_VIEW *view in self) {\n        NSAssert([view isKindOfClass:[MAS_VIEW class]], @\"All objects in the array must be views\");\n        [constraints addObjectsFromArray:[view mas_updateConstraints:block]];\n    }\n    return constraints;\n}\n\n- (NSArray *)mas_remakeConstraints:(void(^)(MASConstraintMaker *make))block {\n    NSMutableArray *constraints = [NSMutableArray array];\n    for (MAS_VIEW *view in self) {\n        NSAssert([view isKindOfClass:[MAS_VIEW class]], @\"All objects in the array must be views\");\n        [constraints addObjectsFromArray:[view mas_remakeConstraints:block]];\n    }\n    return constraints;\n}\n\n- (void)mas_distributeViewsAlongAxis:(MASAxisType)axisType withFixedSpacing:(CGFloat)fixedSpacing leadSpacing:(CGFloat)leadSpacing tailSpacing:(CGFloat)tailSpacing {\n    if (self.count < 2) {\n        NSAssert(self.count>1,@\"views to distribute need to bigger than one\");\n        return;\n    }\n    \n    MAS_VIEW *tempSuperView = [self mas_commonSuperviewOfViews];\n    if (axisType == MASAxisTypeHorizontal) {\n        MAS_VIEW *prev;\n        for (int i = 0; i < self.count; i++) {\n            MAS_VIEW *v = self[i];\n            [v mas_makeConstraints:^(MASConstraintMaker *make) {\n                if (prev) {\n                    make.width.equalTo(prev);\n                    make.left.equalTo(prev.mas_right).offset(fixedSpacing);\n                    if (i == self.count - 1) {//last one\n                        make.right.equalTo(tempSuperView).offset(-tailSpacing);\n                    }\n                }\n                else {//first one\n                    make.left.equalTo(tempSuperView).offset(leadSpacing);\n                }\n                \n            }];\n            prev = v;\n        }\n    }\n    else {\n        MAS_VIEW *prev;\n        for (int i = 0; i < self.count; i++) {\n            MAS_VIEW *v = self[i];\n            [v mas_makeConstraints:^(MASConstraintMaker *make) {\n                if (prev) {\n                    make.height.equalTo(prev);\n                    make.top.equalTo(prev.mas_bottom).offset(fixedSpacing);\n                    if (i == self.count - 1) {//last one\n                        make.bottom.equalTo(tempSuperView).offset(-tailSpacing);\n                    }                    \n                }\n                else {//first one\n                    make.top.equalTo(tempSuperView).offset(leadSpacing);\n                }\n                \n            }];\n            prev = v;\n        }\n    }\n}\n\n- (void)mas_distributeViewsAlongAxis:(MASAxisType)axisType withFixedItemLength:(CGFloat)fixedItemLength leadSpacing:(CGFloat)leadSpacing tailSpacing:(CGFloat)tailSpacing {\n    if (self.count < 2) {\n        NSAssert(self.count>1,@\"views to distribute need to bigger than one\");\n        return;\n    }\n    \n    MAS_VIEW *tempSuperView = [self mas_commonSuperviewOfViews];\n    if (axisType == MASAxisTypeHorizontal) {\n        MAS_VIEW *prev;\n        for (int i = 0; i < self.count; i++) {\n            MAS_VIEW *v = self[i];\n            [v mas_makeConstraints:^(MASConstraintMaker *make) {\n                make.width.equalTo(@(fixedItemLength));\n                if (prev) {\n                    if (i == self.count - 1) {//last one\n                        make.right.equalTo(tempSuperView).offset(-tailSpacing);\n                    }\n                    else {\n                        CGFloat offset = (1-(i/((CGFloat)self.count-1)))*(fixedItemLength+leadSpacing)-i*tailSpacing/(((CGFloat)self.count-1));\n                        make.right.equalTo(tempSuperView).multipliedBy(i/((CGFloat)self.count-1)).with.offset(offset);\n                    }\n                }\n                else {//first one\n                    make.left.equalTo(tempSuperView).offset(leadSpacing);\n                }\n            }];\n            prev = v;\n        }\n    }\n    else {\n        MAS_VIEW *prev;\n        for (int i = 0; i < self.count; i++) {\n            MAS_VIEW *v = self[i];\n            [v mas_makeConstraints:^(MASConstraintMaker *make) {\n                make.height.equalTo(@(fixedItemLength));\n                if (prev) {\n                    if (i == self.count - 1) {//last one\n                        make.bottom.equalTo(tempSuperView).offset(-tailSpacing);\n                    }\n                    else {\n                        CGFloat offset = (1-(i/((CGFloat)self.count-1)))*(fixedItemLength+leadSpacing)-i*tailSpacing/(((CGFloat)self.count-1));\n                        make.bottom.equalTo(tempSuperView).multipliedBy(i/((CGFloat)self.count-1)).with.offset(offset);\n                    }\n                }\n                else {//first one\n                    make.top.equalTo(tempSuperView).offset(leadSpacing);\n                }\n            }];\n            prev = v;\n        }\n    }\n}\n\n- (MAS_VIEW *)mas_commonSuperviewOfViews\n{\n    MAS_VIEW *commonSuperview = nil;\n    MAS_VIEW *previousView = nil;\n    for (id object in self) {\n        if ([object isKindOfClass:[MAS_VIEW class]]) {\n            MAS_VIEW *view = (MAS_VIEW *)object;\n            if (previousView) {\n                commonSuperview = [view mas_closestCommonSuperview:commonSuperview];\n            } else {\n                commonSuperview = view;\n            }\n            previousView = view;\n        }\n    }\n    NSAssert(commonSuperview, @\"Can't constrain views that do not share a common superview. Make sure that all the views in this array have been added into the same view hierarchy.\");\n    return commonSuperview;\n}\n\n@end\n"
  },
  {
    "path": "Masonry/NSArray+MASShorthandAdditions.h",
    "content": "//\n//  NSArray+MASShorthandAdditions.h\n//  Masonry\n//\n//  Created by Jonas Budelmann on 22/07/13.\n//  Copyright (c) 2013 Jonas Budelmann. All rights reserved.\n//\n\n#import \"NSArray+MASAdditions.h\"\n\n#ifdef MAS_SHORTHAND\n\n/**\n *\tShorthand array additions without the 'mas_' prefixes,\n *  only enabled if MAS_SHORTHAND is defined\n */\n@interface NSArray (MASShorthandAdditions)\n\n- (NSArray *)makeConstraints:(void(^)(MASConstraintMaker *make))block;\n- (NSArray *)updateConstraints:(void(^)(MASConstraintMaker *make))block;\n- (NSArray *)remakeConstraints:(void(^)(MASConstraintMaker *make))block;\n\n@end\n\n@implementation NSArray (MASShorthandAdditions)\n\n- (NSArray *)makeConstraints:(void(^)(MASConstraintMaker *))block {\n    return [self mas_makeConstraints:block];\n}\n\n- (NSArray *)updateConstraints:(void(^)(MASConstraintMaker *))block {\n    return [self mas_updateConstraints:block];\n}\n\n- (NSArray *)remakeConstraints:(void(^)(MASConstraintMaker *))block {\n    return [self mas_remakeConstraints:block];\n}\n\n@end\n\n#endif\n"
  },
  {
    "path": "Masonry/NSLayoutConstraint+MASDebugAdditions.h",
    "content": "//\n//  NSLayoutConstraint+MASDebugAdditions.h\n//  Masonry\n//\n//  Created by Jonas Budelmann on 3/08/13.\n//  Copyright (c) 2013 Jonas Budelmann. All rights reserved.\n//\n\n#import \"MASUtilities.h\"\n\n/**\n *\tmakes debug and log output of NSLayoutConstraints more readable\n */\n@interface NSLayoutConstraint (MASDebugAdditions)\n\n@end\n"
  },
  {
    "path": "Masonry/NSLayoutConstraint+MASDebugAdditions.m",
    "content": "//\n//  NSLayoutConstraint+MASDebugAdditions.m\n//  Masonry\n//\n//  Created by Jonas Budelmann on 3/08/13.\n//  Copyright (c) 2013 Jonas Budelmann. All rights reserved.\n//\n\n#import \"NSLayoutConstraint+MASDebugAdditions.h\"\n#import \"MASConstraint.h\"\n#import \"MASLayoutConstraint.h\"\n\n@implementation NSLayoutConstraint (MASDebugAdditions)\n\n#pragma mark - description maps\n\n+ (NSDictionary *)layoutRelationDescriptionsByValue {\n    static dispatch_once_t once;\n    static NSDictionary *descriptionMap;\n    dispatch_once(&once, ^{\n        descriptionMap = @{\n            @(NSLayoutRelationEqual)                : @\"==\",\n            @(NSLayoutRelationGreaterThanOrEqual)   : @\">=\",\n            @(NSLayoutRelationLessThanOrEqual)      : @\"<=\",\n        };\n    });\n    return descriptionMap;\n}\n\n+ (NSDictionary *)layoutAttributeDescriptionsByValue {\n    static dispatch_once_t once;\n    static NSDictionary *descriptionMap;\n    dispatch_once(&once, ^{\n        descriptionMap = @{\n            @(NSLayoutAttributeTop)      : @\"top\",\n            @(NSLayoutAttributeLeft)     : @\"left\",\n            @(NSLayoutAttributeBottom)   : @\"bottom\",\n            @(NSLayoutAttributeRight)    : @\"right\",\n            @(NSLayoutAttributeLeading)  : @\"leading\",\n            @(NSLayoutAttributeTrailing) : @\"trailing\",\n            @(NSLayoutAttributeWidth)    : @\"width\",\n            @(NSLayoutAttributeHeight)   : @\"height\",\n            @(NSLayoutAttributeCenterX)  : @\"centerX\",\n            @(NSLayoutAttributeCenterY)  : @\"centerY\",\n            @(NSLayoutAttributeBaseline) : @\"baseline\",\n            @(NSLayoutAttributeFirstBaseline) : @\"firstBaseline\",\n            @(NSLayoutAttributeLastBaseline) : @\"lastBaseline\",\n\n#if TARGET_OS_IPHONE || TARGET_OS_TV\n            @(NSLayoutAttributeLeftMargin)           : @\"leftMargin\",\n            @(NSLayoutAttributeRightMargin)          : @\"rightMargin\",\n            @(NSLayoutAttributeTopMargin)            : @\"topMargin\",\n            @(NSLayoutAttributeBottomMargin)         : @\"bottomMargin\",\n            @(NSLayoutAttributeLeadingMargin)        : @\"leadingMargin\",\n            @(NSLayoutAttributeTrailingMargin)       : @\"trailingMargin\",\n            @(NSLayoutAttributeCenterXWithinMargins) : @\"centerXWithinMargins\",\n            @(NSLayoutAttributeCenterYWithinMargins) : @\"centerYWithinMargins\",\n#endif\n            \n        };\n    \n    });\n    return descriptionMap;\n}\n\n\n+ (NSDictionary *)layoutPriorityDescriptionsByValue {\n    static dispatch_once_t once;\n    static NSDictionary *descriptionMap;\n    dispatch_once(&once, ^{\n#if TARGET_OS_IPHONE || TARGET_OS_TV\n        descriptionMap = @{\n            @(MASLayoutPriorityDefaultHigh)      : @\"high\",\n            @(MASLayoutPriorityDefaultLow)       : @\"low\",\n            @(MASLayoutPriorityDefaultMedium)    : @\"medium\",\n            @(MASLayoutPriorityRequired)         : @\"required\",\n            @(MASLayoutPriorityFittingSizeLevel) : @\"fitting size\",\n        };\n#elif TARGET_OS_MAC\n        descriptionMap = @{\n            @(MASLayoutPriorityDefaultHigh)                 : @\"high\",\n            @(MASLayoutPriorityDragThatCanResizeWindow)     : @\"drag can resize window\",\n            @(MASLayoutPriorityDefaultMedium)               : @\"medium\",\n            @(MASLayoutPriorityWindowSizeStayPut)           : @\"window size stay put\",\n            @(MASLayoutPriorityDragThatCannotResizeWindow)  : @\"drag cannot resize window\",\n            @(MASLayoutPriorityDefaultLow)                  : @\"low\",\n            @(MASLayoutPriorityFittingSizeCompression)      : @\"fitting size\",\n            @(MASLayoutPriorityRequired)                    : @\"required\",\n        };\n#endif\n    });\n    return descriptionMap;\n}\n\n#pragma mark - description override\n\n+ (NSString *)descriptionForObject:(id)obj {\n    if ([obj respondsToSelector:@selector(mas_key)] && [obj mas_key]) {\n        return [NSString stringWithFormat:@\"%@:%@\", [obj class], [obj mas_key]];\n    }\n    return [NSString stringWithFormat:@\"%@:%p\", [obj class], obj];\n}\n\n- (NSString *)description {\n    NSMutableString *description = [[NSMutableString alloc] initWithString:@\"<\"];\n\n    [description appendString:[self.class descriptionForObject:self]];\n\n    [description appendFormat:@\" %@\", [self.class descriptionForObject:self.firstItem]];\n    if (self.firstAttribute != NSLayoutAttributeNotAnAttribute) {\n        [description appendFormat:@\".%@\", self.class.layoutAttributeDescriptionsByValue[@(self.firstAttribute)]];\n    }\n\n    [description appendFormat:@\" %@\", self.class.layoutRelationDescriptionsByValue[@(self.relation)]];\n\n    if (self.secondItem) {\n        [description appendFormat:@\" %@\", [self.class descriptionForObject:self.secondItem]];\n    }\n    if (self.secondAttribute != NSLayoutAttributeNotAnAttribute) {\n        [description appendFormat:@\".%@\", self.class.layoutAttributeDescriptionsByValue[@(self.secondAttribute)]];\n    }\n    \n    if (self.multiplier != 1) {\n        [description appendFormat:@\" * %g\", self.multiplier];\n    }\n    \n    if (self.secondAttribute == NSLayoutAttributeNotAnAttribute) {\n        [description appendFormat:@\" %g\", self.constant];\n    } else {\n        if (self.constant) {\n            [description appendFormat:@\" %@ %g\", (self.constant < 0 ? @\"-\" : @\"+\"), ABS(self.constant)];\n        }\n    }\n\n    if (self.priority != MASLayoutPriorityRequired) {\n        [description appendFormat:@\" ^%@\", self.class.layoutPriorityDescriptionsByValue[@(self.priority)] ?: [NSNumber numberWithDouble:self.priority]];\n    }\n\n    [description appendString:@\">\"];\n    return description;\n}\n\n@end\n"
  },
  {
    "path": "Masonry/View+MASAdditions.h",
    "content": "//\n//  UIView+MASAdditions.h\n//  Masonry\n//\n//  Created by Jonas Budelmann on 20/07/13.\n//  Copyright (c) 2013 cloudling. All rights reserved.\n//\n\n#import \"MASUtilities.h\"\n#import \"MASConstraintMaker.h\"\n#import \"MASViewAttribute.h\"\n\n/**\n *\tProvides constraint maker block\n *  and convience methods for creating MASViewAttribute which are view + NSLayoutAttribute pairs\n */\n@interface MAS_VIEW (MASAdditions)\n\n/**\n *\tfollowing properties return a new MASViewAttribute with current view and appropriate NSLayoutAttribute\n */\n@property (nonatomic, strong, readonly) MASViewAttribute *mas_left;\n@property (nonatomic, strong, readonly) MASViewAttribute *mas_top;\n@property (nonatomic, strong, readonly) MASViewAttribute *mas_right;\n@property (nonatomic, strong, readonly) MASViewAttribute *mas_bottom;\n@property (nonatomic, strong, readonly) MASViewAttribute *mas_leading;\n@property (nonatomic, strong, readonly) MASViewAttribute *mas_trailing;\n@property (nonatomic, strong, readonly) MASViewAttribute *mas_width;\n@property (nonatomic, strong, readonly) MASViewAttribute *mas_height;\n@property (nonatomic, strong, readonly) MASViewAttribute *mas_centerX;\n@property (nonatomic, strong, readonly) MASViewAttribute *mas_centerY;\n@property (nonatomic, strong, readonly) MASViewAttribute *mas_baseline;\n@property (nonatomic, strong, readonly) MASViewAttribute *(^mas_attribute)(NSLayoutAttribute attr);\n\n@property (nonatomic, strong, readonly) MASViewAttribute *mas_firstBaseline;\n@property (nonatomic, strong, readonly) MASViewAttribute *mas_lastBaseline;\n\n#if TARGET_OS_IPHONE || TARGET_OS_TV\n\n@property (nonatomic, strong, readonly) MASViewAttribute *mas_leftMargin;\n@property (nonatomic, strong, readonly) MASViewAttribute *mas_rightMargin;\n@property (nonatomic, strong, readonly) MASViewAttribute *mas_topMargin;\n@property (nonatomic, strong, readonly) MASViewAttribute *mas_bottomMargin;\n@property (nonatomic, strong, readonly) MASViewAttribute *mas_leadingMargin;\n@property (nonatomic, strong, readonly) MASViewAttribute *mas_trailingMargin;\n@property (nonatomic, strong, readonly) MASViewAttribute *mas_centerXWithinMargins;\n@property (nonatomic, strong, readonly) MASViewAttribute *mas_centerYWithinMargins;\n\n@property (nonatomic, strong, readonly) MASViewAttribute *mas_safeAreaLayoutGuide NS_AVAILABLE_IOS(11.0);\n@property (nonatomic, strong, readonly) MASViewAttribute *mas_safeAreaLayoutGuideLeading NS_AVAILABLE_IOS(11.0);\n@property (nonatomic, strong, readonly) MASViewAttribute *mas_safeAreaLayoutGuideTrailing NS_AVAILABLE_IOS(11.0);\n@property (nonatomic, strong, readonly) MASViewAttribute *mas_safeAreaLayoutGuideLeft NS_AVAILABLE_IOS(11.0);\n@property (nonatomic, strong, readonly) MASViewAttribute *mas_safeAreaLayoutGuideRight NS_AVAILABLE_IOS(11.0);\n@property (nonatomic, strong, readonly) MASViewAttribute *mas_safeAreaLayoutGuideTop NS_AVAILABLE_IOS(11.0);\n@property (nonatomic, strong, readonly) MASViewAttribute *mas_safeAreaLayoutGuideBottom NS_AVAILABLE_IOS(11.0);\n@property (nonatomic, strong, readonly) MASViewAttribute *mas_safeAreaLayoutGuideWidth NS_AVAILABLE_IOS(11.0);\n@property (nonatomic, strong, readonly) MASViewAttribute *mas_safeAreaLayoutGuideHeight NS_AVAILABLE_IOS(11.0);\n@property (nonatomic, strong, readonly) MASViewAttribute *mas_safeAreaLayoutGuideCenterX NS_AVAILABLE_IOS(11.0);\n@property (nonatomic, strong, readonly) MASViewAttribute *mas_safeAreaLayoutGuideCenterY NS_AVAILABLE_IOS(11.0);\n\n#endif\n\n/**\n *\ta key to associate with this view\n */\n@property (nonatomic, strong) id mas_key;\n\n/**\n *\tFinds the closest common superview between this view and another view\n *\n *\t@param\tview\tother view\n *\n *\t@return\treturns nil if common superview could not be found\n */\n- (instancetype)mas_closestCommonSuperview:(MAS_VIEW *)view;\n\n/**\n *  Creates a MASConstraintMaker with the callee view.\n *  Any constraints defined are added to the view or the appropriate superview once the block has finished executing\n *\n *  @param block scope within which you can build up the constraints which you wish to apply to the view.\n *\n *  @return Array of created MASConstraints\n */\n- (NSArray *)mas_makeConstraints:(void(NS_NOESCAPE ^)(MASConstraintMaker *make))block;\n\n/**\n *  Creates a MASConstraintMaker with the callee view.\n *  Any constraints defined are added to the view or the appropriate superview once the block has finished executing.\n *  If an existing constraint exists then it will be updated instead.\n *\n *  @param block scope within which you can build up the constraints which you wish to apply to the view.\n *\n *  @return Array of created/updated MASConstraints\n */\n- (NSArray *)mas_updateConstraints:(void(NS_NOESCAPE ^)(MASConstraintMaker *make))block;\n\n/**\n *  Creates a MASConstraintMaker with the callee view.\n *  Any constraints defined are added to the view or the appropriate superview once the block has finished executing.\n *  All constraints previously installed for the view will be removed.\n *\n *  @param block scope within which you can build up the constraints which you wish to apply to the view.\n *\n *  @return Array of created/updated MASConstraints\n */\n- (NSArray *)mas_remakeConstraints:(void(NS_NOESCAPE ^)(MASConstraintMaker *make))block;\n\n@end\n"
  },
  {
    "path": "Masonry/View+MASAdditions.m",
    "content": "//\n//  UIView+MASAdditions.m\n//  Masonry\n//\n//  Created by Jonas Budelmann on 20/07/13.\n//  Copyright (c) 2013 cloudling. All rights reserved.\n//\n\n#import \"View+MASAdditions.h\"\n#import <objc/runtime.h>\n\n@implementation MAS_VIEW (MASAdditions)\n\n- (NSArray *)mas_makeConstraints:(void(^)(MASConstraintMaker *))block {\n    self.translatesAutoresizingMaskIntoConstraints = NO;\n    MASConstraintMaker *constraintMaker = [[MASConstraintMaker alloc] initWithView:self];\n    block(constraintMaker);\n    return [constraintMaker install];\n}\n\n- (NSArray *)mas_updateConstraints:(void(^)(MASConstraintMaker *))block {\n    self.translatesAutoresizingMaskIntoConstraints = NO;\n    MASConstraintMaker *constraintMaker = [[MASConstraintMaker alloc] initWithView:self];\n    constraintMaker.updateExisting = YES;\n    block(constraintMaker);\n    return [constraintMaker install];\n}\n\n- (NSArray *)mas_remakeConstraints:(void(^)(MASConstraintMaker *make))block {\n    self.translatesAutoresizingMaskIntoConstraints = NO;\n    MASConstraintMaker *constraintMaker = [[MASConstraintMaker alloc] initWithView:self];\n    constraintMaker.removeExisting = YES;\n    block(constraintMaker);\n    return [constraintMaker install];\n}\n\n#pragma mark - NSLayoutAttribute properties\n\n- (MASViewAttribute *)mas_left {\n    return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeLeft];\n}\n\n- (MASViewAttribute *)mas_top {\n    return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeTop];\n}\n\n- (MASViewAttribute *)mas_right {\n    return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeRight];\n}\n\n- (MASViewAttribute *)mas_bottom {\n    return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeBottom];\n}\n\n- (MASViewAttribute *)mas_leading {\n    return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeLeading];\n}\n\n- (MASViewAttribute *)mas_trailing {\n    return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeTrailing];\n}\n\n- (MASViewAttribute *)mas_width {\n    return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeWidth];\n}\n\n- (MASViewAttribute *)mas_height {\n    return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeHeight];\n}\n\n- (MASViewAttribute *)mas_centerX {\n    return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeCenterX];\n}\n\n- (MASViewAttribute *)mas_centerY {\n    return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeCenterY];\n}\n\n- (MASViewAttribute *)mas_baseline {\n    return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeBaseline];\n}\n\n- (MASViewAttribute *(^)(NSLayoutAttribute))mas_attribute\n{\n    return ^(NSLayoutAttribute attr) {\n        return [[MASViewAttribute alloc] initWithView:self layoutAttribute:attr];\n    };\n}\n\n- (MASViewAttribute *)mas_firstBaseline {\n    return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeFirstBaseline];\n}\n- (MASViewAttribute *)mas_lastBaseline {\n    return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeLastBaseline];\n}\n\n#if TARGET_OS_IPHONE || TARGET_OS_TV\n\n- (MASViewAttribute *)mas_leftMargin {\n    return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeLeftMargin];\n}\n\n- (MASViewAttribute *)mas_rightMargin {\n    return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeRightMargin];\n}\n\n- (MASViewAttribute *)mas_topMargin {\n    return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeTopMargin];\n}\n\n- (MASViewAttribute *)mas_bottomMargin {\n    return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeBottomMargin];\n}\n\n- (MASViewAttribute *)mas_leadingMargin {\n    return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeLeadingMargin];\n}\n\n- (MASViewAttribute *)mas_trailingMargin {\n    return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeTrailingMargin];\n}\n\n- (MASViewAttribute *)mas_centerXWithinMargins {\n    return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeCenterXWithinMargins];\n}\n\n- (MASViewAttribute *)mas_centerYWithinMargins {\n    return [[MASViewAttribute alloc] initWithView:self layoutAttribute:NSLayoutAttributeCenterYWithinMargins];\n}\n\n- (MASViewAttribute *)mas_safeAreaLayoutGuide {\n    return [[MASViewAttribute alloc] initWithView:self item:self.safeAreaLayoutGuide layoutAttribute:NSLayoutAttributeNotAnAttribute];\n}\n\n- (MASViewAttribute *)mas_safeAreaLayoutGuideLeading {\n    return [[MASViewAttribute alloc] initWithView:self item:self.safeAreaLayoutGuide layoutAttribute:NSLayoutAttributeLeading];\n}\n\n- (MASViewAttribute *)mas_safeAreaLayoutGuideTrailing {\n    return [[MASViewAttribute alloc] initWithView:self item:self.safeAreaLayoutGuide layoutAttribute:NSLayoutAttributeTrailing];\n}\n\n- (MASViewAttribute *)mas_safeAreaLayoutGuideLeft {\n    return [[MASViewAttribute alloc] initWithView:self item:self.safeAreaLayoutGuide layoutAttribute:NSLayoutAttributeLeft];\n}\n\n- (MASViewAttribute *)mas_safeAreaLayoutGuideRight {\n    return [[MASViewAttribute alloc] initWithView:self item:self.safeAreaLayoutGuide layoutAttribute:NSLayoutAttributeRight];\n}\n\n- (MASViewAttribute *)mas_safeAreaLayoutGuideTop {\n    return [[MASViewAttribute alloc] initWithView:self item:self.safeAreaLayoutGuide layoutAttribute:NSLayoutAttributeTop];\n}\n\n- (MASViewAttribute *)mas_safeAreaLayoutGuideBottom {\n    return [[MASViewAttribute alloc] initWithView:self item:self.safeAreaLayoutGuide layoutAttribute:NSLayoutAttributeBottom];\n}\n\n- (MASViewAttribute *)mas_safeAreaLayoutGuideWidth {\n    return [[MASViewAttribute alloc] initWithView:self item:self.safeAreaLayoutGuide layoutAttribute:NSLayoutAttributeWidth];\n}\n\n- (MASViewAttribute *)mas_safeAreaLayoutGuideHeight {\n    return [[MASViewAttribute alloc] initWithView:self item:self.safeAreaLayoutGuide layoutAttribute:NSLayoutAttributeHeight];\n}\n\n- (MASViewAttribute *)mas_safeAreaLayoutGuideCenterX {\n    return [[MASViewAttribute alloc] initWithView:self item:self.safeAreaLayoutGuide layoutAttribute:NSLayoutAttributeCenterX];\n}\n\n- (MASViewAttribute *)mas_safeAreaLayoutGuideCenterY {\n    return [[MASViewAttribute alloc] initWithView:self item:self.safeAreaLayoutGuide layoutAttribute:NSLayoutAttributeCenterY];\n}\n\n#endif\n\n#pragma mark - associated properties\n\n- (id)mas_key {\n    return objc_getAssociatedObject(self, @selector(mas_key));\n}\n\n- (void)setMas_key:(id)key {\n    objc_setAssociatedObject(self, @selector(mas_key), key, OBJC_ASSOCIATION_RETAIN_NONATOMIC);\n}\n\n#pragma mark - heirachy\n\n- (instancetype)mas_closestCommonSuperview:(MAS_VIEW *)view {\n    MAS_VIEW *closestCommonSuperview = nil;\n\n    MAS_VIEW *secondViewSuperview = view;\n    while (!closestCommonSuperview && secondViewSuperview) {\n        MAS_VIEW *firstViewSuperview = self;\n        while (!closestCommonSuperview && firstViewSuperview) {\n            if (secondViewSuperview == firstViewSuperview) {\n                closestCommonSuperview = secondViewSuperview;\n            }\n            firstViewSuperview = firstViewSuperview.superview;\n        }\n        secondViewSuperview = secondViewSuperview.superview;\n    }\n    return closestCommonSuperview;\n}\n\n@end\n"
  },
  {
    "path": "Masonry/View+MASShorthandAdditions.h",
    "content": "//\n//  UIView+MASShorthandAdditions.h\n//  Masonry\n//\n//  Created by Jonas Budelmann on 22/07/13.\n//  Copyright (c) 2013 Jonas Budelmann. All rights reserved.\n//\n\n#import \"View+MASAdditions.h\"\n\n#ifdef MAS_SHORTHAND\n\n/**\n *\tShorthand view additions without the 'mas_' prefixes,\n *  only enabled if MAS_SHORTHAND is defined\n */\n@interface MAS_VIEW (MASShorthandAdditions)\n\n@property (nonatomic, strong, readonly) MASViewAttribute *left;\n@property (nonatomic, strong, readonly) MASViewAttribute *top;\n@property (nonatomic, strong, readonly) MASViewAttribute *right;\n@property (nonatomic, strong, readonly) MASViewAttribute *bottom;\n@property (nonatomic, strong, readonly) MASViewAttribute *leading;\n@property (nonatomic, strong, readonly) MASViewAttribute *trailing;\n@property (nonatomic, strong, readonly) MASViewAttribute *width;\n@property (nonatomic, strong, readonly) MASViewAttribute *height;\n@property (nonatomic, strong, readonly) MASViewAttribute *centerX;\n@property (nonatomic, strong, readonly) MASViewAttribute *centerY;\n@property (nonatomic, strong, readonly) MASViewAttribute *baseline;\n@property (nonatomic, strong, readonly) MASViewAttribute *(^attribute)(NSLayoutAttribute attr);\n\n@property (nonatomic, strong, readonly) MASViewAttribute *firstBaseline;\n@property (nonatomic, strong, readonly) MASViewAttribute *lastBaseline;\n\n#if TARGET_OS_IPHONE || TARGET_OS_TV\n\n@property (nonatomic, strong, readonly) MASViewAttribute *leftMargin;\n@property (nonatomic, strong, readonly) MASViewAttribute *rightMargin;\n@property (nonatomic, strong, readonly) MASViewAttribute *topMargin;\n@property (nonatomic, strong, readonly) MASViewAttribute *bottomMargin;\n@property (nonatomic, strong, readonly) MASViewAttribute *leadingMargin;\n@property (nonatomic, strong, readonly) MASViewAttribute *trailingMargin;\n@property (nonatomic, strong, readonly) MASViewAttribute *centerXWithinMargins;\n@property (nonatomic, strong, readonly) MASViewAttribute *centerYWithinMargins;\n\n#endif\n\n#if TARGET_OS_IPHONE || TARGET_OS_TV\n\n@property (nonatomic, strong, readonly) MASViewAttribute *safeAreaLayoutGuideLeading NS_AVAILABLE_IOS(11.0);\n@property (nonatomic, strong, readonly) MASViewAttribute *safeAreaLayoutGuideTrailing NS_AVAILABLE_IOS(11.0);\n@property (nonatomic, strong, readonly) MASViewAttribute *safeAreaLayoutGuideLeft NS_AVAILABLE_IOS(11.0);\n@property (nonatomic, strong, readonly) MASViewAttribute *safeAreaLayoutGuideRight NS_AVAILABLE_IOS(11.0);\n@property (nonatomic, strong, readonly) MASViewAttribute *safeAreaLayoutGuideTop NS_AVAILABLE_IOS(11.0);\n@property (nonatomic, strong, readonly) MASViewAttribute *safeAreaLayoutGuideBottom NS_AVAILABLE_IOS(11.0);\n@property (nonatomic, strong, readonly) MASViewAttribute *safeAreaLayoutGuideWidth NS_AVAILABLE_IOS(11.0);\n@property (nonatomic, strong, readonly) MASViewAttribute *safeAreaLayoutGuideHeight NS_AVAILABLE_IOS(11.0);\n@property (nonatomic, strong, readonly) MASViewAttribute *safeAreaLayoutGuideCenterX NS_AVAILABLE_IOS(11.0);\n@property (nonatomic, strong, readonly) MASViewAttribute *safeAreaLayoutGuideCenterY NS_AVAILABLE_IOS(11.0);\n\n#endif\n\n- (NSArray *)makeConstraints:(void(^)(MASConstraintMaker *make))block;\n- (NSArray *)updateConstraints:(void(^)(MASConstraintMaker *make))block;\n- (NSArray *)remakeConstraints:(void(^)(MASConstraintMaker *make))block;\n\n@end\n\n#define MAS_ATTR_FORWARD(attr)  \\\n- (MASViewAttribute *)attr {    \\\n    return [self mas_##attr];   \\\n}\n\n#define MAS_ATTR_FORWARD_AVAILABLE(attr, available)  \\\n- (MASViewAttribute *)attr available {    \\\n    return [self mas_##attr];   \\\n}\n\n@implementation MAS_VIEW (MASShorthandAdditions)\n\nMAS_ATTR_FORWARD(top);\nMAS_ATTR_FORWARD(left);\nMAS_ATTR_FORWARD(bottom);\nMAS_ATTR_FORWARD(right);\nMAS_ATTR_FORWARD(leading);\nMAS_ATTR_FORWARD(trailing);\nMAS_ATTR_FORWARD(width);\nMAS_ATTR_FORWARD(height);\nMAS_ATTR_FORWARD(centerX);\nMAS_ATTR_FORWARD(centerY);\nMAS_ATTR_FORWARD(baseline);\n\nMAS_ATTR_FORWARD(firstBaseline);\nMAS_ATTR_FORWARD(lastBaseline);\n\n#if TARGET_OS_IPHONE || TARGET_OS_TV\n\nMAS_ATTR_FORWARD(leftMargin);\nMAS_ATTR_FORWARD(rightMargin);\nMAS_ATTR_FORWARD(topMargin);\nMAS_ATTR_FORWARD(bottomMargin);\nMAS_ATTR_FORWARD(leadingMargin);\nMAS_ATTR_FORWARD(trailingMargin);\nMAS_ATTR_FORWARD(centerXWithinMargins);\nMAS_ATTR_FORWARD(centerYWithinMargins);\n\nMAS_ATTR_FORWARD_AVAILABLE(safeAreaLayoutGuideLeading, NS_AVAILABLE_IOS(11.0));\nMAS_ATTR_FORWARD_AVAILABLE(safeAreaLayoutGuideTrailing, NS_AVAILABLE_IOS(11.0));\nMAS_ATTR_FORWARD_AVAILABLE(safeAreaLayoutGuideLeft, NS_AVAILABLE_IOS(11.0));\nMAS_ATTR_FORWARD_AVAILABLE(safeAreaLayoutGuideRight, NS_AVAILABLE_IOS(11.0));\nMAS_ATTR_FORWARD_AVAILABLE(safeAreaLayoutGuideTop, NS_AVAILABLE_IOS(11.0));\nMAS_ATTR_FORWARD_AVAILABLE(safeAreaLayoutGuideBottom, NS_AVAILABLE_IOS(11.0));\nMAS_ATTR_FORWARD_AVAILABLE(safeAreaLayoutGuideWidth, NS_AVAILABLE_IOS(11.0));\nMAS_ATTR_FORWARD_AVAILABLE(safeAreaLayoutGuideHeight, NS_AVAILABLE_IOS(11.0));\nMAS_ATTR_FORWARD_AVAILABLE(safeAreaLayoutGuideCenterX, NS_AVAILABLE_IOS(11.0));\nMAS_ATTR_FORWARD_AVAILABLE(safeAreaLayoutGuideCenterY, NS_AVAILABLE_IOS(11.0));\n\n#endif\n\n- (MASViewAttribute *(^)(NSLayoutAttribute))attribute {\n    return [self mas_attribute];\n}\n\n- (NSArray *)makeConstraints:(void(NS_NOESCAPE ^)(MASConstraintMaker *))block {\n    return [self mas_makeConstraints:block];\n}\n\n- (NSArray *)updateConstraints:(void(NS_NOESCAPE ^)(MASConstraintMaker *))block {\n    return [self mas_updateConstraints:block];\n}\n\n- (NSArray *)remakeConstraints:(void(NS_NOESCAPE ^)(MASConstraintMaker *))block {\n    return [self mas_remakeConstraints:block];\n}\n\n@end\n\n#endif\n"
  },
  {
    "path": "Masonry/ViewController+MASAdditions.h",
    "content": "//\n//  UIViewController+MASAdditions.h\n//  Masonry\n//\n//  Created by Craig Siemens on 2015-06-23.\n//\n//\n\n#import \"MASUtilities.h\"\n#import \"MASConstraintMaker.h\"\n#import \"MASViewAttribute.h\"\n\n#ifdef MAS_VIEW_CONTROLLER\n\n@interface MAS_VIEW_CONTROLLER (MASAdditions)\n\n/**\n *\tfollowing properties return a new MASViewAttribute with appropriate UILayoutGuide and NSLayoutAttribute\n */\n@property (nonatomic, strong, readonly) MASViewAttribute *mas_topLayoutGuide NS_DEPRECATED_IOS(8.0, 11.0);\n@property (nonatomic, strong, readonly) MASViewAttribute *mas_bottomLayoutGuide NS_DEPRECATED_IOS(8.0, 11.0);\n@property (nonatomic, strong, readonly) MASViewAttribute *mas_topLayoutGuideTop NS_DEPRECATED_IOS(8.0, 11.0);\n@property (nonatomic, strong, readonly) MASViewAttribute *mas_topLayoutGuideBottom NS_DEPRECATED_IOS(8.0, 11.0);\n@property (nonatomic, strong, readonly) MASViewAttribute *mas_bottomLayoutGuideTop NS_DEPRECATED_IOS(8.0, 11.0);\n@property (nonatomic, strong, readonly) MASViewAttribute *mas_bottomLayoutGuideBottom NS_DEPRECATED_IOS(8.0, 11.0);\n\n@end\n\n#endif\n"
  },
  {
    "path": "Masonry/ViewController+MASAdditions.m",
    "content": "//\n//  UIViewController+MASAdditions.m\n//  Masonry\n//\n//  Created by Craig Siemens on 2015-06-23.\n//\n//\n\n#import \"ViewController+MASAdditions.h\"\n\n#ifdef MAS_VIEW_CONTROLLER\n\n@implementation MAS_VIEW_CONTROLLER (MASAdditions)\n\n#pragma clang diagnostic push\n#pragma clang diagnostic ignored \"-Wdeprecated-declarations\"\n\n- (MASViewAttribute *)mas_topLayoutGuide {\n    return [[MASViewAttribute alloc] initWithView:self.view item:self.topLayoutGuide layoutAttribute:NSLayoutAttributeBottom];\n}\n- (MASViewAttribute *)mas_topLayoutGuideTop {\n    return [[MASViewAttribute alloc] initWithView:self.view item:self.topLayoutGuide layoutAttribute:NSLayoutAttributeTop];\n}\n- (MASViewAttribute *)mas_topLayoutGuideBottom {\n    return [[MASViewAttribute alloc] initWithView:self.view item:self.topLayoutGuide layoutAttribute:NSLayoutAttributeBottom];\n}\n\n- (MASViewAttribute *)mas_bottomLayoutGuide {\n    return [[MASViewAttribute alloc] initWithView:self.view item:self.bottomLayoutGuide layoutAttribute:NSLayoutAttributeTop];\n}\n- (MASViewAttribute *)mas_bottomLayoutGuideTop {\n    return [[MASViewAttribute alloc] initWithView:self.view item:self.bottomLayoutGuide layoutAttribute:NSLayoutAttributeTop];\n}\n- (MASViewAttribute *)mas_bottomLayoutGuideBottom {\n    return [[MASViewAttribute alloc] initWithView:self.view item:self.bottomLayoutGuide layoutAttribute:NSLayoutAttributeBottom];\n}\n\n#pragma clang diagnostic pop\n\n@end\n\n#endif\n"
  },
  {
    "path": "Masonry.podspec",
    "content": "Pod::Spec.new do |s|\n  s.name     = 'Masonry'\n  s.version  = '1.1.0'\n  s.license  = 'MIT'\n  s.summary  = 'Harness the power of Auto Layout NSLayoutConstraints with a simplified, chainable and expressive syntax.'\n  s.homepage = 'https://github.com/cloudkite/Masonry'\n  s.author   = { 'Jonas Budelmann' => 'jonas.budelmann@gmail.com' }\n  s.social_media_url = \"http://twitter.com/cloudkite\"\n\n  s.source   = { :git => 'https://github.com/cloudkite/Masonry.git', :tag => \"v#{s.version}\" }\n\n  s.description = %{\n    Masonry is a light-weight layout framework which wraps AutoLayout with a nicer syntax.\n\tMasonry has its own layout DSL which provides a chainable way of describing your\n\tNSLayoutConstraints which results in layout code which is more concise and readable.\n    Masonry supports iOS and Mac OSX.\n  }\n\n  pch_AF = <<-EOS\n    #ifndef TARGET_OS_IOS\n        #define TARGET_OS_IOS TARGET_OS_IPHONE\n    #endif\n    #ifndef TARGET_OS_TV\n        #define TARGET_OS_TV 0\n    #endif\n  EOS\n\n  s.source_files = 'Masonry/*.{h,m}'\n\n  s.ios.frameworks = 'Foundation', 'UIKit'\n  s.tvos.frameworks = 'Foundation', 'UIKit'\n  s.osx.frameworks = 'Foundation', 'AppKit'\n\n  s.ios.deployment_target = '6.0' # minimum SDK with autolayout\n  s.osx.deployment_target = '10.7' # minimum SDK with autolayout\n  s.tvos.deployment_target = '9.0' # minimum SDK with autolayout\n  s.requires_arc = true\nend\n"
  },
  {
    "path": "Masonry.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t3AED05BD1AD59FD40053CC65 /* Masonry.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05BC1AD59FD40053CC65 /* Masonry.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t3AED05F21AD5A0470053CC65 /* MASCompositeConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05DC1AD5A0470053CC65 /* MASCompositeConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t3AED05F31AD5A0470053CC65 /* MASCompositeConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AED05DD1AD5A0470053CC65 /* MASCompositeConstraint.m */; };\n\t\t3AED05F41AD5A0470053CC65 /* MASConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05DE1AD5A0470053CC65 /* MASConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t3AED05F51AD5A0470053CC65 /* MASConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AED05DF1AD5A0470053CC65 /* MASConstraint.m */; };\n\t\t3AED05F61AD5A0470053CC65 /* MASConstraint+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05E01AD5A0470053CC65 /* MASConstraint+Private.h */; settings = {ATTRIBUTES = (Private, ); }; };\n\t\t3AED05F71AD5A0470053CC65 /* MASConstraintMaker.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05E11AD5A0470053CC65 /* MASConstraintMaker.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t3AED05F81AD5A0470053CC65 /* MASConstraintMaker.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AED05E21AD5A0470053CC65 /* MASConstraintMaker.m */; };\n\t\t3AED05F91AD5A0470053CC65 /* MASLayoutConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05E31AD5A0470053CC65 /* MASLayoutConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t3AED05FA1AD5A0470053CC65 /* MASLayoutConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AED05E41AD5A0470053CC65 /* MASLayoutConstraint.m */; };\n\t\t3AED05FB1AD5A0470053CC65 /* MASUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05E51AD5A0470053CC65 /* MASUtilities.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t3AED05FC1AD5A0470053CC65 /* MASViewAttribute.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05E61AD5A0470053CC65 /* MASViewAttribute.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t3AED05FD1AD5A0470053CC65 /* MASViewAttribute.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AED05E71AD5A0470053CC65 /* MASViewAttribute.m */; };\n\t\t3AED05FE1AD5A0470053CC65 /* MASViewConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05E81AD5A0470053CC65 /* MASViewConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t3AED05FF1AD5A0470053CC65 /* MASViewConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AED05E91AD5A0470053CC65 /* MASViewConstraint.m */; };\n\t\t3AED06001AD5A0470053CC65 /* NSArray+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05EA1AD5A0470053CC65 /* NSArray+MASAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t3AED06011AD5A0470053CC65 /* NSArray+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AED05EB1AD5A0470053CC65 /* NSArray+MASAdditions.m */; };\n\t\t3AED06021AD5A0470053CC65 /* NSArray+MASShorthandAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05EC1AD5A0470053CC65 /* NSArray+MASShorthandAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t3AED06031AD5A0470053CC65 /* NSLayoutConstraint+MASDebugAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05ED1AD5A0470053CC65 /* NSLayoutConstraint+MASDebugAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t3AED06041AD5A0470053CC65 /* NSLayoutConstraint+MASDebugAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AED05EE1AD5A0470053CC65 /* NSLayoutConstraint+MASDebugAdditions.m */; };\n\t\t3AED06051AD5A0470053CC65 /* View+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05EF1AD5A0470053CC65 /* View+MASAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t3AED06061AD5A0470053CC65 /* View+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AED05F01AD5A0470053CC65 /* View+MASAdditions.m */; };\n\t\t3AED06071AD5A0470053CC65 /* View+MASShorthandAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05F11AD5A0470053CC65 /* View+MASShorthandAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t3AED060A1AD5A1400053CC65 /* NSArray+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AED05EB1AD5A0470053CC65 /* NSArray+MASAdditions.m */; };\n\t\t3AED060B1AD5A1400053CC65 /* MASViewAttribute.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AED05E71AD5A0470053CC65 /* MASViewAttribute.m */; };\n\t\t3AED060C1AD5A1400053CC65 /* MASLayoutConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AED05E41AD5A0470053CC65 /* MASLayoutConstraint.m */; };\n\t\t3AED060D1AD5A1400053CC65 /* MASConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AED05DF1AD5A0470053CC65 /* MASConstraint.m */; };\n\t\t3AED060E1AD5A1400053CC65 /* MASViewConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AED05E91AD5A0470053CC65 /* MASViewConstraint.m */; };\n\t\t3AED060F1AD5A1400053CC65 /* MASCompositeConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AED05DD1AD5A0470053CC65 /* MASCompositeConstraint.m */; };\n\t\t3AED06101AD5A1400053CC65 /* MASConstraintMaker.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AED05E21AD5A0470053CC65 /* MASConstraintMaker.m */; };\n\t\t3AED06111AD5A1400053CC65 /* NSLayoutConstraint+MASDebugAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AED05EE1AD5A0470053CC65 /* NSLayoutConstraint+MASDebugAdditions.m */; };\n\t\t3AED06121AD5A1400053CC65 /* View+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AED05F01AD5A0470053CC65 /* View+MASAdditions.m */; };\n\t\t3AED06151AD5A1400053CC65 /* View+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05EF1AD5A0470053CC65 /* View+MASAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t3AED06161AD5A1400053CC65 /* View+MASShorthandAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05F11AD5A0470053CC65 /* View+MASShorthandAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t3AED06171AD5A1400053CC65 /* MASViewAttribute.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05E61AD5A0470053CC65 /* MASViewAttribute.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t3AED06181AD5A1400053CC65 /* Masonry.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05BC1AD59FD40053CC65 /* Masonry.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t3AED06191AD5A1400053CC65 /* MASLayoutConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05E31AD5A0470053CC65 /* MASLayoutConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t3AED061A1AD5A1400053CC65 /* MASViewConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05E81AD5A0470053CC65 /* MASViewConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t3AED061B1AD5A1400053CC65 /* NSArray+MASShorthandAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05EC1AD5A0470053CC65 /* NSArray+MASShorthandAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t3AED061C1AD5A1400053CC65 /* MASConstraintMaker.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05E11AD5A0470053CC65 /* MASConstraintMaker.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t3AED061D1AD5A1400053CC65 /* MASConstraint+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05E01AD5A0470053CC65 /* MASConstraint+Private.h */; settings = {ATTRIBUTES = (Private, ); }; };\n\t\t3AED061E1AD5A1400053CC65 /* MASUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05E51AD5A0470053CC65 /* MASUtilities.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t3AED061F1AD5A1400053CC65 /* NSArray+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05EA1AD5A0470053CC65 /* NSArray+MASAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t3AED06201AD5A1400053CC65 /* MASCompositeConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05DC1AD5A0470053CC65 /* MASCompositeConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t3AED06211AD5A1400053CC65 /* NSLayoutConstraint+MASDebugAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05ED1AD5A0470053CC65 /* NSLayoutConstraint+MASDebugAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t3AED06221AD5A1400053CC65 /* MASConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AED05DE1AD5A0470053CC65 /* MASConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t4473548D1B39F772004DACCB /* ViewController+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 4473548B1B39F772004DACCB /* ViewController+MASAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t4473548E1B39F772004DACCB /* ViewController+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 4473548C1B39F772004DACCB /* ViewController+MASAdditions.m */; };\n\t\t447354921B3A18B3004DACCB /* ViewController+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 4473548C1B39F772004DACCB /* ViewController+MASAdditions.m */; };\n\t\t447354931B3A18B9004DACCB /* ViewController+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 4473548B1B39F772004DACCB /* ViewController+MASAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t3AED05B71AD59FD40053CC65 /* Masonry.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Masonry.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t3AED05BB1AD59FD40053CC65 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\t3AED05BC1AD59FD40053CC65 /* Masonry.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Masonry.h; sourceTree = \"<group>\"; };\n\t\t3AED05DC1AD5A0470053CC65 /* MASCompositeConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MASCompositeConstraint.h; sourceTree = \"<group>\"; };\n\t\t3AED05DD1AD5A0470053CC65 /* MASCompositeConstraint.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASCompositeConstraint.m; sourceTree = \"<group>\"; };\n\t\t3AED05DE1AD5A0470053CC65 /* MASConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MASConstraint.h; sourceTree = \"<group>\"; };\n\t\t3AED05DF1AD5A0470053CC65 /* MASConstraint.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASConstraint.m; sourceTree = \"<group>\"; };\n\t\t3AED05E01AD5A0470053CC65 /* MASConstraint+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = \"MASConstraint+Private.h\"; sourceTree = \"<group>\"; };\n\t\t3AED05E11AD5A0470053CC65 /* MASConstraintMaker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MASConstraintMaker.h; sourceTree = \"<group>\"; };\n\t\t3AED05E21AD5A0470053CC65 /* MASConstraintMaker.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASConstraintMaker.m; sourceTree = \"<group>\"; };\n\t\t3AED05E31AD5A0470053CC65 /* MASLayoutConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MASLayoutConstraint.h; sourceTree = \"<group>\"; };\n\t\t3AED05E41AD5A0470053CC65 /* MASLayoutConstraint.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASLayoutConstraint.m; sourceTree = \"<group>\"; };\n\t\t3AED05E51AD5A0470053CC65 /* MASUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MASUtilities.h; sourceTree = \"<group>\"; };\n\t\t3AED05E61AD5A0470053CC65 /* MASViewAttribute.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MASViewAttribute.h; sourceTree = \"<group>\"; };\n\t\t3AED05E71AD5A0470053CC65 /* MASViewAttribute.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASViewAttribute.m; sourceTree = \"<group>\"; };\n\t\t3AED05E81AD5A0470053CC65 /* MASViewConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MASViewConstraint.h; sourceTree = \"<group>\"; };\n\t\t3AED05E91AD5A0470053CC65 /* MASViewConstraint.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASViewConstraint.m; sourceTree = \"<group>\"; };\n\t\t3AED05EA1AD5A0470053CC65 /* NSArray+MASAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = \"NSArray+MASAdditions.h\"; sourceTree = \"<group>\"; };\n\t\t3AED05EB1AD5A0470053CC65 /* NSArray+MASAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = \"NSArray+MASAdditions.m\"; sourceTree = \"<group>\"; };\n\t\t3AED05EC1AD5A0470053CC65 /* NSArray+MASShorthandAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = \"NSArray+MASShorthandAdditions.h\"; sourceTree = \"<group>\"; };\n\t\t3AED05ED1AD5A0470053CC65 /* NSLayoutConstraint+MASDebugAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = \"NSLayoutConstraint+MASDebugAdditions.h\"; sourceTree = \"<group>\"; };\n\t\t3AED05EE1AD5A0470053CC65 /* NSLayoutConstraint+MASDebugAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = \"NSLayoutConstraint+MASDebugAdditions.m\"; sourceTree = \"<group>\"; };\n\t\t3AED05EF1AD5A0470053CC65 /* View+MASAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = \"View+MASAdditions.h\"; sourceTree = \"<group>\"; };\n\t\t3AED05F01AD5A0470053CC65 /* View+MASAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = \"View+MASAdditions.m\"; sourceTree = \"<group>\"; };\n\t\t3AED05F11AD5A0470053CC65 /* View+MASShorthandAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = \"View+MASShorthandAdditions.h\"; sourceTree = \"<group>\"; };\n\t\t3AED06271AD5A1400053CC65 /* Masonry.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Masonry.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t4473548B1B39F772004DACCB /* ViewController+MASAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = \"ViewController+MASAdditions.h\"; sourceTree = \"<group>\"; };\n\t\t4473548C1B39F772004DACCB /* ViewController+MASAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = \"ViewController+MASAdditions.m\"; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\t3AED05B31AD59FD40053CC65 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t3AED06131AD5A1400053CC65 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t3AED05AD1AD59FD40053CC65 = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t3AED05B91AD59FD40053CC65 /* Masonry */,\n\t\t\t\t3AED05B81AD59FD40053CC65 /* Products */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t3AED05B81AD59FD40053CC65 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t3AED05B71AD59FD40053CC65 /* Masonry.framework */,\n\t\t\t\t3AED06271AD5A1400053CC65 /* Masonry.framework */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t3AED05B91AD59FD40053CC65 /* Masonry */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t3AED05BC1AD59FD40053CC65 /* Masonry.h */,\n\t\t\t\t3AED05E51AD5A0470053CC65 /* MASUtilities.h */,\n\t\t\t\t3AED05EF1AD5A0470053CC65 /* View+MASAdditions.h */,\n\t\t\t\t3AED05F01AD5A0470053CC65 /* View+MASAdditions.m */,\n\t\t\t\t3AED05F11AD5A0470053CC65 /* View+MASShorthandAdditions.h */,\n\t\t\t\t4473548B1B39F772004DACCB /* ViewController+MASAdditions.h */,\n\t\t\t\t4473548C1B39F772004DACCB /* ViewController+MASAdditions.m */,\n\t\t\t\t3AED05EA1AD5A0470053CC65 /* NSArray+MASAdditions.h */,\n\t\t\t\t3AED05EB1AD5A0470053CC65 /* NSArray+MASAdditions.m */,\n\t\t\t\t3AED05EC1AD5A0470053CC65 /* NSArray+MASShorthandAdditions.h */,\n\t\t\t\t3AED05DE1AD5A0470053CC65 /* MASConstraint.h */,\n\t\t\t\t3AED05E01AD5A0470053CC65 /* MASConstraint+Private.h */,\n\t\t\t\t3AED05DF1AD5A0470053CC65 /* MASConstraint.m */,\n\t\t\t\t3AED05DC1AD5A0470053CC65 /* MASCompositeConstraint.h */,\n\t\t\t\t3AED05DD1AD5A0470053CC65 /* MASCompositeConstraint.m */,\n\t\t\t\t3AED05E61AD5A0470053CC65 /* MASViewAttribute.h */,\n\t\t\t\t3AED05E71AD5A0470053CC65 /* MASViewAttribute.m */,\n\t\t\t\t3AED05E81AD5A0470053CC65 /* MASViewConstraint.h */,\n\t\t\t\t3AED05E91AD5A0470053CC65 /* MASViewConstraint.m */,\n\t\t\t\t3AED05E11AD5A0470053CC65 /* MASConstraintMaker.h */,\n\t\t\t\t3AED05E21AD5A0470053CC65 /* MASConstraintMaker.m */,\n\t\t\t\t3AED05E31AD5A0470053CC65 /* MASLayoutConstraint.h */,\n\t\t\t\t3AED05E41AD5A0470053CC65 /* MASLayoutConstraint.m */,\n\t\t\t\t3AED05ED1AD5A0470053CC65 /* NSLayoutConstraint+MASDebugAdditions.h */,\n\t\t\t\t3AED05EE1AD5A0470053CC65 /* NSLayoutConstraint+MASDebugAdditions.m */,\n\t\t\t\t3AED05BA1AD59FD40053CC65 /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = Masonry;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t3AED05BA1AD59FD40053CC65 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t3AED05BB1AD59FD40053CC65 /* Info.plist */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXHeadersBuildPhase section */\n\t\t3AED05B41AD59FD40053CC65 /* Headers */ = {\n\t\t\tisa = PBXHeadersBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t3AED06051AD5A0470053CC65 /* View+MASAdditions.h in Headers */,\n\t\t\t\t3AED06071AD5A0470053CC65 /* View+MASShorthandAdditions.h in Headers */,\n\t\t\t\t4473548D1B39F772004DACCB /* ViewController+MASAdditions.h in Headers */,\n\t\t\t\t3AED05FC1AD5A0470053CC65 /* MASViewAttribute.h in Headers */,\n\t\t\t\t3AED05BD1AD59FD40053CC65 /* Masonry.h in Headers */,\n\t\t\t\t3AED05F91AD5A0470053CC65 /* MASLayoutConstraint.h in Headers */,\n\t\t\t\t3AED05FE1AD5A0470053CC65 /* MASViewConstraint.h in Headers */,\n\t\t\t\t3AED06021AD5A0470053CC65 /* NSArray+MASShorthandAdditions.h in Headers */,\n\t\t\t\t3AED05F71AD5A0470053CC65 /* MASConstraintMaker.h in Headers */,\n\t\t\t\t3AED05FB1AD5A0470053CC65 /* MASUtilities.h in Headers */,\n\t\t\t\t3AED06001AD5A0470053CC65 /* NSArray+MASAdditions.h in Headers */,\n\t\t\t\t3AED05F21AD5A0470053CC65 /* MASCompositeConstraint.h in Headers */,\n\t\t\t\t3AED05F61AD5A0470053CC65 /* MASConstraint+Private.h in Headers */,\n\t\t\t\t3AED05F41AD5A0470053CC65 /* MASConstraint.h in Headers */,\n\t\t\t\t3AED06031AD5A0470053CC65 /* NSLayoutConstraint+MASDebugAdditions.h in Headers */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t3AED06141AD5A1400053CC65 /* Headers */ = {\n\t\t\tisa = PBXHeadersBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t3AED06151AD5A1400053CC65 /* View+MASAdditions.h in Headers */,\n\t\t\t\t3AED06161AD5A1400053CC65 /* View+MASShorthandAdditions.h in Headers */,\n\t\t\t\t3AED06171AD5A1400053CC65 /* MASViewAttribute.h in Headers */,\n\t\t\t\t3AED06181AD5A1400053CC65 /* Masonry.h in Headers */,\n\t\t\t\t3AED06191AD5A1400053CC65 /* MASLayoutConstraint.h in Headers */,\n\t\t\t\t3AED061A1AD5A1400053CC65 /* MASViewConstraint.h in Headers */,\n\t\t\t\t3AED061B1AD5A1400053CC65 /* NSArray+MASShorthandAdditions.h in Headers */,\n\t\t\t\t3AED061C1AD5A1400053CC65 /* MASConstraintMaker.h in Headers */,\n\t\t\t\t3AED061E1AD5A1400053CC65 /* MASUtilities.h in Headers */,\n\t\t\t\t3AED061F1AD5A1400053CC65 /* NSArray+MASAdditions.h in Headers */,\n\t\t\t\t3AED06201AD5A1400053CC65 /* MASCompositeConstraint.h in Headers */,\n\t\t\t\t447354931B3A18B9004DACCB /* ViewController+MASAdditions.h in Headers */,\n\t\t\t\t3AED06221AD5A1400053CC65 /* MASConstraint.h in Headers */,\n\t\t\t\t3AED061D1AD5A1400053CC65 /* MASConstraint+Private.h in Headers */,\n\t\t\t\t3AED06211AD5A1400053CC65 /* NSLayoutConstraint+MASDebugAdditions.h in Headers */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXHeadersBuildPhase section */\n\n/* Begin PBXNativeTarget section */\n\t\t3AED05B61AD59FD40053CC65 /* Masonry iOS */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 3AED05CD1AD59FD40053CC65 /* Build configuration list for PBXNativeTarget \"Masonry iOS\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t3AED05B21AD59FD40053CC65 /* Sources */,\n\t\t\t\t3AED05B31AD59FD40053CC65 /* Frameworks */,\n\t\t\t\t3AED05B41AD59FD40053CC65 /* Headers */,\n\t\t\t\t3AED05B51AD59FD40053CC65 /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = \"Masonry iOS\";\n\t\t\tproductName = Masonry;\n\t\t\tproductReference = 3AED05B71AD59FD40053CC65 /* Masonry.framework */;\n\t\t\tproductType = \"com.apple.product-type.framework\";\n\t\t};\n\t\t3AED06081AD5A1400053CC65 /* Masonry OSX */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 3AED06241AD5A1400053CC65 /* Build configuration list for PBXNativeTarget \"Masonry OSX\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t3AED06091AD5A1400053CC65 /* Sources */,\n\t\t\t\t3AED06131AD5A1400053CC65 /* Frameworks */,\n\t\t\t\t3AED06141AD5A1400053CC65 /* Headers */,\n\t\t\t\t3AED06231AD5A1400053CC65 /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = \"Masonry OSX\";\n\t\t\tproductName = Masonry;\n\t\t\tproductReference = 3AED06271AD5A1400053CC65 /* Masonry.framework */;\n\t\t\tproductType = \"com.apple.product-type.framework\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\t3AED05AE1AD59FD40053CC65 /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0900;\n\t\t\t\tORGANIZATIONNAME = \"Jonas Budelmann\";\n\t\t\t\tTargetAttributes = {\n\t\t\t\t\t3AED05B61AD59FD40053CC65 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 6.3;\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t};\n\t\t\tbuildConfigurationList = 3AED05B11AD59FD40053CC65 /* Build configuration list for PBXProject \"Masonry\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t);\n\t\t\tmainGroup = 3AED05AD1AD59FD40053CC65;\n\t\t\tproductRefGroup = 3AED05B81AD59FD40053CC65 /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\t3AED05B61AD59FD40053CC65 /* Masonry iOS */,\n\t\t\t\t3AED06081AD5A1400053CC65 /* Masonry OSX */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\t3AED05B51AD59FD40053CC65 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t3AED06231AD5A1400053CC65 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\t3AED05B21AD59FD40053CC65 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t3AED06011AD5A0470053CC65 /* NSArray+MASAdditions.m in Sources */,\n\t\t\t\t3AED05FD1AD5A0470053CC65 /* MASViewAttribute.m in Sources */,\n\t\t\t\t4473548E1B39F772004DACCB /* ViewController+MASAdditions.m in Sources */,\n\t\t\t\t3AED05FA1AD5A0470053CC65 /* MASLayoutConstraint.m in Sources */,\n\t\t\t\t3AED05F51AD5A0470053CC65 /* MASConstraint.m in Sources */,\n\t\t\t\t3AED05FF1AD5A0470053CC65 /* MASViewConstraint.m in Sources */,\n\t\t\t\t3AED05F31AD5A0470053CC65 /* MASCompositeConstraint.m in Sources */,\n\t\t\t\t3AED05F81AD5A0470053CC65 /* MASConstraintMaker.m in Sources */,\n\t\t\t\t3AED06041AD5A0470053CC65 /* NSLayoutConstraint+MASDebugAdditions.m in Sources */,\n\t\t\t\t3AED06061AD5A0470053CC65 /* View+MASAdditions.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t3AED06091AD5A1400053CC65 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t3AED060A1AD5A1400053CC65 /* NSArray+MASAdditions.m in Sources */,\n\t\t\t\t3AED060B1AD5A1400053CC65 /* MASViewAttribute.m in Sources */,\n\t\t\t\t3AED060C1AD5A1400053CC65 /* MASLayoutConstraint.m in Sources */,\n\t\t\t\t3AED060D1AD5A1400053CC65 /* MASConstraint.m in Sources */,\n\t\t\t\t3AED060E1AD5A1400053CC65 /* MASViewConstraint.m in Sources */,\n\t\t\t\t3AED060F1AD5A1400053CC65 /* MASCompositeConstraint.m in Sources */,\n\t\t\t\t447354921B3A18B3004DACCB /* ViewController+MASAdditions.m in Sources */,\n\t\t\t\t3AED06101AD5A1400053CC65 /* MASConstraintMaker.m in Sources */,\n\t\t\t\t3AED06111AD5A1400053CC65 /* NSLayoutConstraint+MASDebugAdditions.m in Sources */,\n\t\t\t\t3AED06121AD5A1400053CC65 /* View+MASAdditions.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin XCBuildConfiguration section */\n\t\t3AED05CB1AD59FD40053CC65 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tCURRENT_PROJECT_VERSION = 1;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.9;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = YES;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t\tVERSIONING_SYSTEM = \"apple-generic\";\n\t\t\t\tVERSION_INFO_PREFIX = \"\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t3AED05CC1AD59FD40053CC65 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tCURRENT_PROJECT_VERSION = 1;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.9;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t\tVERSIONING_SYSTEM = \"apple-generic\";\n\t\t\t\tVERSION_INFO_PREFIX = \"\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t3AED05CE1AD59FD40053CC65 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"\";\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tINFOPLIST_FILE = Masonry/Info.plist;\n\t\t\t\tINSTALL_PATH = \"$(LOCAL_LIBRARY_DIR)/Frameworks\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.cloudling.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = Masonry;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t3AED05CF1AD59FD40053CC65 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"\";\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tINFOPLIST_FILE = Masonry/Info.plist;\n\t\t\t\tINSTALL_PATH = \"$(LOCAL_LIBRARY_DIR)/Frameworks\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.cloudling.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = Masonry;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t3AED06251AD5A1400053CC65 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tINFOPLIST_FILE = Masonry/Info.plist;\n\t\t\t\tINSTALL_PATH = \"$(LOCAL_LIBRARY_DIR)/Frameworks\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.cloudling.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = Masonry;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t3AED06261AD5A1400053CC65 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tINFOPLIST_FILE = Masonry/Info.plist;\n\t\t\t\tINSTALL_PATH = \"$(LOCAL_LIBRARY_DIR)/Frameworks\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.cloudling.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = Masonry;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\t3AED05B11AD59FD40053CC65 /* Build configuration list for PBXProject \"Masonry\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t3AED05CB1AD59FD40053CC65 /* Debug */,\n\t\t\t\t3AED05CC1AD59FD40053CC65 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t3AED05CD1AD59FD40053CC65 /* Build configuration list for PBXNativeTarget \"Masonry iOS\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t3AED05CE1AD59FD40053CC65 /* Debug */,\n\t\t\t\t3AED05CF1AD59FD40053CC65 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t3AED06241AD5A1400053CC65 /* Build configuration list for PBXNativeTarget \"Masonry OSX\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t3AED06251AD5A1400053CC65 /* Debug */,\n\t\t\t\t3AED06261AD5A1400053CC65 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = 3AED05AE1AD59FD40053CC65 /* Project object */;\n}\n"
  },
  {
    "path": "Masonry.xcodeproj/project.xcworkspace/contents.xcworkspacedata",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n   version = \"1.0\">\n   <FileRef\n      location = \"self:Masonry.xcodeproj\">\n   </FileRef>\n</Workspace>\n"
  },
  {
    "path": "Masonry.xcodeproj/project.xcworkspace/xcshareddata/Masonry.xccheckout",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>IDESourceControlProjectFavoriteDictionaryKey</key>\n\t<false/>\n\t<key>IDESourceControlProjectIdentifier</key>\n\t<string>E430861F-D80D-40F7-BD85-FE97E606F3EA</string>\n\t<key>IDESourceControlProjectName</key>\n\t<string>Masonry</string>\n\t<key>IDESourceControlProjectOriginsDictionary</key>\n\t<dict>\n\t\t<key>6FC4832245A6A8E50F2A782F20A8B58A46BD1FEB</key>\n\t\t<string>github.com:erichoracek/Masonry.git</string>\n\t</dict>\n\t<key>IDESourceControlProjectPath</key>\n\t<string>Masonry/Masonry.xcodeproj</string>\n\t<key>IDESourceControlProjectRelativeInstallPathDictionary</key>\n\t<dict>\n\t\t<key>6FC4832245A6A8E50F2A782F20A8B58A46BD1FEB</key>\n\t\t<string>../../..</string>\n\t</dict>\n\t<key>IDESourceControlProjectURL</key>\n\t<string>github.com:erichoracek/Masonry.git</string>\n\t<key>IDESourceControlProjectVersion</key>\n\t<integer>111</integer>\n\t<key>IDESourceControlProjectWCCIdentifier</key>\n\t<string>6FC4832245A6A8E50F2A782F20A8B58A46BD1FEB</string>\n\t<key>IDESourceControlProjectWCConfigurations</key>\n\t<array>\n\t\t<dict>\n\t\t\t<key>IDESourceControlRepositoryExtensionIdentifierKey</key>\n\t\t\t<string>public.vcs.git</string>\n\t\t\t<key>IDESourceControlWCCIdentifierKey</key>\n\t\t\t<string>6FC4832245A6A8E50F2A782F20A8B58A46BD1FEB</string>\n\t\t\t<key>IDESourceControlWCCName</key>\n\t\t\t<string>Masonry</string>\n\t\t</dict>\n\t</array>\n</dict>\n</plist>\n"
  },
  {
    "path": "Masonry.xcodeproj/xcshareddata/xcschemes/Masonry OSX.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0900\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"3AED06081AD5A1400053CC65\"\n               BuildableName = \"Masonry.framework\"\n               BlueprintName = \"Masonry OSX\"\n               ReferencedContainer = \"container:Masonry.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"3AED06081AD5A1400053CC65\"\n            BuildableName = \"Masonry.framework\"\n            BlueprintName = \"Masonry OSX\"\n            ReferencedContainer = \"container:Masonry.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"3AED06081AD5A1400053CC65\"\n            BuildableName = \"Masonry.framework\"\n            BlueprintName = \"Masonry OSX\"\n            ReferencedContainer = \"container:Masonry.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Masonry.xcodeproj/xcshareddata/xcschemes/Masonry iOS.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0900\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"3AED05B61AD59FD40053CC65\"\n               BuildableName = \"Masonry.framework\"\n               BlueprintName = \"Masonry iOS\"\n               ReferencedContainer = \"container:Masonry.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"3AED05B61AD59FD40053CC65\"\n            BuildableName = \"Masonry.framework\"\n            BlueprintName = \"Masonry iOS\"\n            ReferencedContainer = \"container:Masonry.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"3AED05B61AD59FD40053CC65\"\n            BuildableName = \"Masonry.framework\"\n            BlueprintName = \"Masonry iOS\"\n            ReferencedContainer = \"container:Masonry.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Masonry.xcworkspace/contents.xcworkspacedata",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n   version = \"1.0\">\n   <FileRef\n      location = \"group:Examples/../Masonry.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:Examples/Masonry iOS Examples.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:Tests/Masonry Tests.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:Pods/Pods.xcodeproj\">\n   </FileRef>\n</Workspace>\n"
  },
  {
    "path": "Podfile",
    "content": "workspace 'Masonry'\n\nplatform :ios, '8.0'\n\nproject 'Examples/Masonry iOS Examples'\ntarget 'Masonry iOS Examples' do\n  pod 'Masonry', :path => './'\nend\n\ntarget 'Masonry iOS Tests' do\n  project 'Tests/Masonry Tests'\n  pod 'Expecta'\nend\n\ntarget 'MasonryTestsLoader' do\n  project 'Tests/Masonry Tests'\n  pod 'Masonry', :path => './'\nend\n\n# add settings needed to generate test coverage data\npost_install do |installer|\n\n  COV_TARGET_NAME = \"Pods-MasonryTestsLoader\"\n  EXPORT_ENV_PHASE_NAME = \"Export Environment Vars\"\n  EXPORT_ENV_PHASE_SCRIPT = \"export | egrep '( BUILT_PRODUCTS_DIR)|(CURRENT_ARCH)|(OBJECT_FILE_DIR_normal)|(SRCROOT)|(OBJROOT)' > $SRCROOT/../script/env.sh\"\n  \n  # find target\n  classy_pods_target = installer.pods_project.targets.find{ |target| target.name == COV_TARGET_NAME }\n  unless classy_pods_target\n   raise ::Pod::Informative, \"Failed to find '\" << COV_TARGET_NAME << \"' target\"\n  end\n       \n  # add build settings\n  classy_pods_target.build_configurations.each do |config|\n    config.build_settings['GCC_GENERATE_TEST_COVERAGE_FILES'] = 'YES'\n    config.build_settings['GCC_INSTRUMENT_PROGRAM_FLOW_ARCS'] = 'YES'\n  end\n\n  # add build phase\n  phase = classy_pods_target.shell_script_build_phases.select{ |bp| bp.name == EXPORT_ENV_PHASE_NAME }.first ||\n    classy_pods_target.new_shell_script_build_phase(EXPORT_ENV_PHASE_NAME)\n      \n  phase.shell_path = \"/bin/sh\"\n  phase.shell_script = EXPORT_ENV_PHASE_SCRIPT\n  phase.show_env_vars_in_log = '0'\n\nend\n"
  },
  {
    "path": "Pods/Expecta/Expecta/EXPBlockDefinedMatcher.h",
    "content": "//\n//  EXPRuntimeMatcher.h\n//  Expecta\n//\n//  Created by Luke Redpath on 26/03/2012.\n//  Copyright (c) 2012 Peter Jihoon Kim. All rights reserved.\n//\n\n#import <Foundation/Foundation.h>\n#import \"EXPMatcher.h\"\n#import \"EXPDefines.h\"\n\n@interface EXPBlockDefinedMatcher : NSObject <EXPMatcher> {\n  EXPBoolBlock prerequisiteBlock;\n  EXPBoolBlock matchBlock;\n  EXPStringBlock failureMessageForToBlock;\n  EXPStringBlock failureMessageForNotToBlock;\n}\n\n@property(nonatomic, copy) EXPBoolBlock prerequisiteBlock;\n@property(nonatomic, copy) EXPBoolBlock matchBlock;\n@property(nonatomic, copy) EXPStringBlock failureMessageForToBlock;\n@property(nonatomic, copy) EXPStringBlock failureMessageForNotToBlock;\n\n@end\n"
  },
  {
    "path": "Pods/Expecta/Expecta/EXPBlockDefinedMatcher.m",
    "content": "//\n//  EXPRuntimeMatcher.m\n//  Expecta\n//\n//  Created by Luke Redpath on 26/03/2012.\n//  Copyright (c) 2012 Peter Jihoon Kim. All rights reserved.\n//\n\n#import \"EXPBlockDefinedMatcher.h\"\n\n@implementation EXPBlockDefinedMatcher\n\n- (void)dealloc\n{\n    self.prerequisiteBlock = nil;\n    self.matchBlock = nil;\n    self.failureMessageForToBlock = nil;\n    self.failureMessageForNotToBlock = nil;\n    \n    [super dealloc];\n}\n\n@synthesize prerequisiteBlock;\n@synthesize matchBlock;\n@synthesize failureMessageForToBlock;\n@synthesize failureMessageForNotToBlock;\n\n- (BOOL)meetsPrerequesiteFor:(id)actual\n{\n  if (self.prerequisiteBlock) {\n    return self.prerequisiteBlock();\n  }\n  return YES;\n}\n\n- (BOOL)matches:(id)actual\n{\n  if (self.matchBlock) {\n    return self.matchBlock();\n  }\n  return YES;\n}\n\n- (NSString *)failureMessageForTo:(id)actual\n{\n  if (self.failureMessageForToBlock) {\n    return self.failureMessageForToBlock();\n  }\n  return nil;\n}\n\n- (NSString *)failureMessageForNotTo:(id)actual\n{\n  if (self.failureMessageForNotToBlock) {\n    return self.failureMessageForNotToBlock();\n  }\n  return nil;\n}\n\n@end\n"
  },
  {
    "path": "Pods/Expecta/Expecta/EXPDefines.h",
    "content": "//\n//  EXPDefines.h\n//  Expecta\n//\n//  Created by Luke Redpath on 26/03/2012.\n//  Copyright (c) 2012 Peter Jihoon Kim. All rights reserved.\n//\n\n#ifndef Expecta_EXPDefines_h\n#define Expecta_EXPDefines_h\n\ntypedef void (^EXPBasicBlock)();\ntypedef id (^EXPIdBlock)();\ntypedef BOOL (^EXPBoolBlock)();\ntypedef NSString *(^EXPStringBlock)();\n\n#endif\n"
  },
  {
    "path": "Pods/Expecta/Expecta/EXPDoubleTuple.h",
    "content": "#import <Foundation/Foundation.h>\n\n@interface EXPDoubleTuple : NSObject {\n    double *_values;\n    size_t _size;\n}\n\n@property (nonatomic, assign) double *values;\n@property (nonatomic, assign) size_t size;\n\n- (instancetype)initWithDoubleValues:(double *)values size:(size_t)size NS_DESIGNATED_INITIALIZER;\n\n@end\n"
  },
  {
    "path": "Pods/Expecta/Expecta/EXPDoubleTuple.m",
    "content": "#import \"EXPDoubleTuple.h\"\n\n#pragma clang diagnostic push\n#pragma clang diagnostic ignored \"-Wobjc-designated-initializers\"\n@implementation EXPDoubleTuple\n#pragma clang diagnostic pop\n\n@synthesize values = _values, size = _size;\n\n- (instancetype)initWithDoubleValues:(double *)values size:(size_t)size {\n    if ((self = [super init])) {\n        self.values = malloc(sizeof(double) * size);\n        memcpy(self.values, values, sizeof(double) * size);\n        self.size = size;\n    }\n    return self;\n}\n\n- (void)dealloc {\n    free(self.values);\n    [super dealloc];\n}\n\n- (BOOL)isEqual:(id)object {\n    if (![object isKindOfClass:[EXPDoubleTuple class]]) return NO;\n    EXPDoubleTuple *other = (EXPDoubleTuple *)object;\n    if (self.size == other.size) {\n        for (int i = 0; i < self.size; ++i) {\n            if (self.values[i] != other.values[i]) return NO;\n        }\n        return YES;\n    }\n    return NO;\n}\n\n- (NSString *)description {\n    if (self.size == 2) {\n        return [NSString stringWithFormat:@\"Double tuple: {%f, %f}\", self.values[0], self.values[1]];\n    } else if (self.size == 4) {\n        return [NSString stringWithFormat:@\"Double tuple: {%f, %f, %f, %f}\", self.values[0], self.values[1], self.values[2], self.values[3]];\n    }\n    return [NSString stringWithFormat:@\"Double tuple of unexpected size %zd, sadly\", self.size];\n}\n\n@end\n"
  },
  {
    "path": "Pods/Expecta/Expecta/EXPExpect.h",
    "content": "#import <Foundation/Foundation.h>\n#import \"EXPMatcher.h\"\n#import \"EXPDefines.h\"\n\n@interface EXPExpect : NSObject {\n  EXPIdBlock _actualBlock;\n  id _testCase;\n  int _lineNumber;\n  char *_fileName;\n  BOOL _negative;\n  BOOL _asynchronous;\n  NSTimeInterval _timeout;\n}\n\n@property(nonatomic, copy) EXPIdBlock actualBlock;\n@property(nonatomic, readonly) id actual;\n@property(nonatomic, assign) id testCase;\n@property(nonatomic) int lineNumber;\n@property(nonatomic) const char *fileName;\n@property(nonatomic) BOOL negative;\n@property(nonatomic) BOOL asynchronous;\n@property(nonatomic) NSTimeInterval timeout;\n\n@property(nonatomic, readonly) EXPExpect *to;\n@property(nonatomic, readonly) EXPExpect *toNot;\n@property(nonatomic, readonly) EXPExpect *notTo;\n@property(nonatomic, readonly) EXPExpect *will;\n@property(nonatomic, readonly) EXPExpect *willNot;\n@property(nonatomic, readonly) EXPExpect *(^after)(NSTimeInterval timeInterval);\n\n- (instancetype)initWithActualBlock:(id)actualBlock testCase:(id)testCase lineNumber:(int)lineNumber fileName:(const char *)fileName NS_DESIGNATED_INITIALIZER;\n+ (EXPExpect *)expectWithActualBlock:(id)actualBlock testCase:(id)testCase lineNumber:(int)lineNumber fileName:(const char *)fileName;\n\n- (void)applyMatcher:(id<EXPMatcher>)matcher;\n- (void)applyMatcher:(id<EXPMatcher>)matcher to:(NSObject **)actual;\n\n@end\n\n@interface EXPDynamicPredicateMatcher : NSObject <EXPMatcher> {\n  EXPExpect *_expectation;\n  SEL _selector;\n}\n- (instancetype)initWithExpectation:(EXPExpect *)expectation selector:(SEL)selector NS_DESIGNATED_INITIALIZER;\n@property (nonatomic, readonly, copy) void (^dispatch)(void);\n@end\n"
  },
  {
    "path": "Pods/Expecta/Expecta/EXPExpect.m",
    "content": "#import \"EXPExpect.h\"\n#import \"NSObject+Expecta.h\"\n#import \"Expecta.h\"\n#import \"EXPUnsupportedObject.h\"\n#import \"EXPMatcher.h\"\n#import \"EXPBlockDefinedMatcher.h\"\n#import <libkern/OSAtomic.h>\n\n#pragma clang diagnostic push\n#pragma clang diagnostic ignored \"-Wobjc-designated-initializers\"\n@implementation EXPExpect\n#pragma clang diagnostic pop\n\n@dynamic\n  actual,\n  to,\n  toNot,\n  notTo,\n  will,\n  willNot,\n  after;\n\n@synthesize\n  actualBlock=_actualBlock,\n  testCase=_testCase,\n  negative=_negative,\n  asynchronous=_asynchronous,\n  timeout=_timeout,\n  lineNumber=_lineNumber,\n  fileName=_fileName;\n\n- (instancetype)initWithActualBlock:(id)actualBlock testCase:(id)testCase lineNumber:(int)lineNumber fileName:(const char *)fileName {\n  self = [super init];\n  if(self) {\n    self.actualBlock = actualBlock;\n    self.testCase = testCase;\n    self.negative = NO;\n    self.asynchronous = NO;\n    self.timeout = [Expecta asynchronousTestTimeout];\n    self.lineNumber = lineNumber;\n    self.fileName = fileName;\n  }\n  return self;\n}\n\n- (void)dealloc\n{\n  [_actualBlock release];\n  _actualBlock = nil;\n  [super dealloc];\n}\n\n+ (EXPExpect *)expectWithActualBlock:(id)actualBlock testCase:(id)testCase lineNumber:(int)lineNumber fileName:(const char *)fileName {\n  return [[[EXPExpect alloc] initWithActualBlock:actualBlock testCase:(id)testCase lineNumber:lineNumber fileName:fileName] autorelease];\n}\n\n#pragma mark -\n\n- (EXPExpect *)to {\n  return self;\n}\n\n- (EXPExpect *)toNot {\n  self.negative = !self.negative;\n  return self;\n}\n\n- (EXPExpect *)notTo {\n  return [self toNot];\n}\n\n- (EXPExpect *)will {\n  self.asynchronous = YES;\n  return self;\n}\n\n- (EXPExpect *)willNot {\n  return self.will.toNot;\n}\n\n- (EXPExpect *(^)(NSTimeInterval))after\n{\n  EXPExpect * (^block)(NSTimeInterval) = [^EXPExpect *(NSTimeInterval timeout) {\n    self.asynchronous = YES;\n    self.timeout = timeout;\n    return self;\n  } copy];\n\n  return [block autorelease];\n}\n\n#pragma mark -\n\n- (id)actual {\n  if(self.actualBlock) {\n    return self.actualBlock();\n  }\n  return nil;\n}\n\n- (void)applyMatcher:(id<EXPMatcher>)matcher\n{\n  id actual = [self actual];\n  [self applyMatcher:matcher to:&actual];\n}\n\n- (void)applyMatcher:(id<EXPMatcher>)matcher to:(NSObject **)actual {\n  if([*actual isKindOfClass:[EXPUnsupportedObject class]]) {\n    EXPFail(self.testCase, self.lineNumber, self.fileName,\n            [NSString stringWithFormat:@\"expecting a %@ is not supported\", ((EXPUnsupportedObject *)*actual).type]);\n  } else {\n    BOOL failed = NO;\n    if([matcher respondsToSelector:@selector(meetsPrerequesiteFor:)] &&\n       ![matcher meetsPrerequesiteFor:*actual]) {\n      failed = YES;\n    } else {\n      BOOL matchResult = NO;\n      if(self.asynchronous) {\n        NSTimeInterval timeOut = self.timeout;\n        NSDate *expiryDate = [NSDate dateWithTimeIntervalSinceNow:timeOut];\n        while(1) {\n          matchResult = [matcher matches:*actual];\n          failed = self.negative ? matchResult : !matchResult;\n          if(!failed || ([(NSDate *)[NSDate date] compare:expiryDate] == NSOrderedDescending)) {\n            break;\n          }\n          [[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.01]];\n          OSMemoryBarrier();\n          *actual = self.actual;\n        }\n      } else {\n        matchResult = [matcher matches:*actual];\n      }\n      failed = self.negative ? matchResult : !matchResult;\n    }\n    if(failed) {\n      NSString *message = nil;\n\n      if(self.negative) {\n        if ([matcher respondsToSelector:@selector(failureMessageForNotTo:)]) {\n          message = [matcher failureMessageForNotTo:*actual];\n        }\n      } else {\n        if ([matcher respondsToSelector:@selector(failureMessageForTo:)]) {\n          message = [matcher failureMessageForTo:*actual];\n        }\n      }\n      if (message == nil) {\n        message = @\"Match Failed.\";\n      }\n\n      EXPFail(self.testCase, self.lineNumber, self.fileName, message);\n    }\n  }\n  self.negative = NO;\n}\n\n#pragma mark - Dynamic predicate dispatch\n\n- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector\n{\n  if ([self.actual respondsToSelector:aSelector]) {\n    return [self.actual methodSignatureForSelector:aSelector];\n  }\n  return [super methodSignatureForSelector:aSelector];\n}\n\n- (void)forwardInvocation:(NSInvocation *)anInvocation\n{\n  if ([self.actual respondsToSelector:anInvocation.selector]) {\n    EXPDynamicPredicateMatcher *matcher = [[EXPDynamicPredicateMatcher alloc] initWithExpectation:self selector:anInvocation.selector];\n    [anInvocation setSelector:@selector(dispatch)];\n    [anInvocation invokeWithTarget:matcher];\n    [matcher release];\n  }\n  else {\n    [super forwardInvocation:anInvocation];\n  }\n}\n\n@end\n\n#pragma clang diagnostic push\n#pragma clang diagnostic ignored \"-Wobjc-designated-initializers\"\n@implementation EXPDynamicPredicateMatcher\n#pragma clang diagnostic pop\n\n- (instancetype)initWithExpectation:(EXPExpect *)expectation selector:(SEL)selector\n{\n  if ((self = [super init])) {\n    _expectation = expectation;\n    _selector = selector;\n  }\n  return self;\n}\n\n- (BOOL)matches:(id)actual\n{\n  return (BOOL)[actual performSelector:_selector];\n}\n\n- (NSString *)failureMessageForTo:(id)actual\n{\n  return [NSString stringWithFormat:@\"expected %@ to be true\", NSStringFromSelector(_selector)];\n}\n\n- (NSString *)failureMessageForNotTo:(id)actual\n{\n  return [NSString stringWithFormat:@\"expected %@ to be false\", NSStringFromSelector(_selector)];\n}\n\n- (void (^)(void))dispatch\n{\n  __block id blockExpectation = _expectation;\n\n  return [[^{\n    [blockExpectation applyMatcher:self];\n  } copy] autorelease];\n}\n\n@end\n"
  },
  {
    "path": "Pods/Expecta/Expecta/EXPFloatTuple.h",
    "content": "#import <Foundation/Foundation.h>\n\n@interface EXPFloatTuple : NSObject {\n    float *_values;\n    size_t _size;\n}\n\n@property (nonatomic, assign) float *values;\n@property (nonatomic, assign) size_t size;\n\n- (instancetype)initWithFloatValues:(float *)values size:(size_t)size NS_DESIGNATED_INITIALIZER;\n\n@end\n"
  },
  {
    "path": "Pods/Expecta/Expecta/EXPFloatTuple.m",
    "content": "#import \"EXPFloatTuple.h\"\n\n#pragma clang diagnostic push\n#pragma clang diagnostic ignored \"-Wobjc-designated-initializers\"\n@implementation EXPFloatTuple\n#pragma clang diagnostic pop\n\n@synthesize values = _values, size = _size;\n\n- (instancetype)initWithFloatValues:(float *)values size:(size_t)size {\n    if ((self = [super init])) {\n        self.values = malloc(sizeof(float) * size);\n        memcpy(self.values, values, sizeof(float) * size);\n        self.size = size;\n    }\n    return self;\n}\n\n- (void)dealloc {\n    free(self.values);\n    [super dealloc];\n}\n\n- (BOOL)isEqual:(id)object {\n    if (![object isKindOfClass:[EXPFloatTuple class]]) return NO;\n    EXPFloatTuple *other = (EXPFloatTuple *)object;\n    if (self.size == other.size) {\n        for (int i = 0; i < self.size; ++i) {\n            if (self.values[i] != other.values[i]) return NO;\n        }\n        return YES;\n    }\n    return NO;\n}\n\n- (NSUInteger)hash\n{\n    NSUInteger prime = 31;\n    NSUInteger hash = 0;\n    for (int i=0; i<self.size; i++) {\n        hash = prime * hash + (NSUInteger)self.values[i];\n    }\n    return hash;\n}\n\n- (NSString *)description {\n    if (self.size == 2) {\n        return [NSString stringWithFormat:@\"Float tuple: {%f, %f}\", self.values[0], self.values[1]];\n    } else if (self.size == 4) {\n        return [NSString stringWithFormat:@\"Float tuple: {%f, %f, %f, %f}\", self.values[0], self.values[1], self.values[2], self.values[3]];\n    }\n    return [NSString stringWithFormat:@\"Float tuple of unexpected size %zd, sadly\", self.size];\n}\n\n@end\n"
  },
  {
    "path": "Pods/Expecta/Expecta/EXPMatcher.h",
    "content": "//\n//  EXPMatcher.h\n//  Expecta\n//\n//  Created by Luke Redpath on 26/03/2012.\n//  Copyright (c) 2012 Peter Jihoon Kim. All rights reserved.\n//\n\n#import <Foundation/Foundation.h>\n\n@protocol EXPMatcher <NSObject>\n\n- (BOOL)matches:(id)actual;\n\n@optional\n- (BOOL)meetsPrerequesiteFor:(id)actual;\n- (NSString *)failureMessageForTo:(id)actual;\n- (NSString *)failureMessageForNotTo:(id)actual;\n\n@end\n"
  },
  {
    "path": "Pods/Expecta/Expecta/EXPUnsupportedObject.h",
    "content": "#import <Foundation/Foundation.h>\n\n@interface EXPUnsupportedObject : NSObject {\n  NSString *_type;\n}\n\n@property (nonatomic, retain) NSString *type;\n\n- (instancetype)initWithType:(NSString *)type NS_DESIGNATED_INITIALIZER;\n\n@end\n"
  },
  {
    "path": "Pods/Expecta/Expecta/EXPUnsupportedObject.m",
    "content": "#import \"EXPUnsupportedObject.h\"\n\n#pragma clang diagnostic push\n#pragma clang diagnostic ignored \"-Wobjc-designated-initializers\"\n@implementation EXPUnsupportedObject\n#pragma clang diagnostic pop\n\n@synthesize type=_type;\n\n- (instancetype)initWithType:(NSString *)type {\n  self = [super init];\n  if(self) {\n    self.type = type;\n  }\n  return self;\n}\n\n- (void)dealloc {\n  self.type = nil;\n  [super dealloc];\n}\n\n@end\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Expecta.h",
    "content": "#import <Foundation/Foundation.h>\n\n//! Project version number for Expecta.\nFOUNDATION_EXPORT double ExpectaVersionNumber;\n\n//! Project version string for Expecta.\nFOUNDATION_EXPORT const unsigned char ExpectaVersionString[];\n\n#import <Expecta/ExpectaObject.h>\n#import <Expecta/ExpectaSupport.h>\n#import <Expecta/EXPMatchers.h>\n\n// Enable shorthand by default\n#define expect(...) EXP_expect((__VA_ARGS__))\n#define failure(...) EXP_failure((__VA_ARGS__))\n"
  },
  {
    "path": "Pods/Expecta/Expecta/ExpectaObject.h",
    "content": "#import <Foundation/Foundation.h>\n\n#define EXPObjectify(value) _EXPObjectify(@encode(__typeof__((value))), (value))\n#define EXP_expect(actual) _EXP_expect(self, __LINE__, __FILE__, ^id{ __typeof__((actual)) strongActual = (actual); return EXPObjectify(strongActual); })\n#define EXPMatcherInterface(matcherName, matcherArguments) _EXPMatcherInterface(matcherName, matcherArguments)\n#define EXPMatcherImplementationBegin(matcherName, matcherArguments) _EXPMatcherImplementationBegin(matcherName, matcherArguments)\n#define EXPMatcherImplementationEnd _EXPMatcherImplementationEnd\n#define EXPMatcherAliasImplementation(newMatcherName, oldMatcherName, matcherArguments) _EXPMatcherAliasImplementation(newMatcherName, oldMatcherName, matcherArguments)\n\n#define EXP_failure(message) EXPFail(self, __LINE__, __FILE__, message)\n\n\n@interface Expecta : NSObject\n\n+ (NSTimeInterval)asynchronousTestTimeout;\n+ (void)setAsynchronousTestTimeout:(NSTimeInterval)timeout;\n\n@end\n"
  },
  {
    "path": "Pods/Expecta/Expecta/ExpectaObject.m",
    "content": "#import \"ExpectaObject.h\"\n\n@implementation Expecta\n\nstatic NSTimeInterval _asynchronousTestTimeout = 1.0;\n\n+ (NSTimeInterval)asynchronousTestTimeout {\n  return _asynchronousTestTimeout;\n}\n\n+ (void)setAsynchronousTestTimeout:(NSTimeInterval)timeout {\n  _asynchronousTestTimeout = timeout;\n}\n\n@end"
  },
  {
    "path": "Pods/Expecta/Expecta/ExpectaSupport.h",
    "content": "#import \"EXPExpect.h\"\n#import \"EXPBlockDefinedMatcher.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nid _EXPObjectify(const char *type, ...);\nEXPExpect *_EXP_expect(id testCase, int lineNumber, const char *fileName, EXPIdBlock actualBlock);\n\nvoid EXPFail(id testCase, int lineNumber, const char *fileName, NSString *message);\nNSString *EXPDescribeObject(id obj);\n\nvoid EXP_prerequisite(EXPBoolBlock block);\nvoid EXP_match(EXPBoolBlock block);\nvoid EXP_failureMessageForTo(EXPStringBlock block);\nvoid EXP_failureMessageForNotTo(EXPStringBlock block);\n\n#if __has_feature(objc_arc)\n#define _EXP_release(x)\n#define _EXP_autorelease(x) (x)\n\n#else\n#define _EXP_release(x) [x release]\n#define _EXP_autorelease(x) [x autorelease]\n#endif\n\n// workaround for the categories bug: http://developer.apple.com/library/mac/#qa/qa1490/_index.html\n#define EXPFixCategoriesBug(name) \\\n__attribute__((constructor)) static void EXPFixCategoriesBug##name() {}\n\n#define _EXPMatcherInterface(matcherName, matcherArguments) \\\n@interface EXPExpect (matcherName##Matcher) \\\n@property (nonatomic, readonly) void(^ matcherName) matcherArguments; \\\n@end\n\n#define _EXPMatcherImplementationBegin(matcherName, matcherArguments) \\\nEXPFixCategoriesBug(EXPMatcher##matcherName##Matcher); \\\n@implementation EXPExpect (matcherName##Matcher) \\\n@dynamic matcherName;\\\n- (void(^) matcherArguments) matcherName { \\\n  EXPBlockDefinedMatcher *matcher = [[EXPBlockDefinedMatcher alloc] init]; \\\n  [[[NSThread currentThread] threadDictionary] setObject:matcher forKey:@\"EXP_currentMatcher\"]; \\\n  __block id actual = self.actual; \\\n  __block void (^prerequisite)(EXPBoolBlock block) = ^(EXPBoolBlock block) { EXP_prerequisite(block); }; \\\n  __block void (^match)(EXPBoolBlock block) = ^(EXPBoolBlock block) { EXP_match(block); }; \\\n  __block void (^failureMessageForTo)(EXPStringBlock block) = ^(EXPStringBlock block) { EXP_failureMessageForTo(block); }; \\\n  __block void (^failureMessageForNotTo)(EXPStringBlock block) = ^(EXPStringBlock block) { EXP_failureMessageForNotTo(block); }; \\\n  prerequisite(nil); match(nil); failureMessageForTo(nil); failureMessageForNotTo(nil); \\\n  void (^matcherBlock) matcherArguments = [^ matcherArguments { \\\n    {\n\n#define _EXPMatcherImplementationEnd \\\n    } \\\n    [self applyMatcher:matcher to:&actual]; \\\n    [[[NSThread currentThread] threadDictionary] removeObjectForKey:@\"EXP_currentMatcher\"]; \\\n  } copy]; \\\n  _EXP_release(matcher); \\\n  return _EXP_autorelease(matcherBlock); \\\n} \\\n@end\n\n#define _EXPMatcherAliasImplementation(newMatcherName, oldMatcherName, matcherArguments) \\\nEXPFixCategoriesBug(EXPMatcher##newMatcherName##Matcher); \\\n@implementation EXPExpect (newMatcherName##Matcher) \\\n@dynamic newMatcherName;\\\n- (void(^) matcherArguments) newMatcherName { \\\n  return [self oldMatcherName]; \\\n}\\\n@end\n\n#ifdef __cplusplus\n}\n#endif\n"
  },
  {
    "path": "Pods/Expecta/Expecta/ExpectaSupport.m",
    "content": "#import \"ExpectaSupport.h\"\n#import \"NSValue+Expecta.h\"\n#import \"NSObject+Expecta.h\"\n#import \"EXPUnsupportedObject.h\"\n#import \"EXPFloatTuple.h\"\n#import \"EXPDoubleTuple.h\"\n#import \"EXPDefines.h\"\n#import <objc/runtime.h>\n\n@interface NSObject (ExpectaXCTestRecordFailure)\n\n// suppress warning\n- (void)recordFailureWithDescription:(NSString *)description inFile:(NSString *)filename atLine:(NSUInteger)lineNumber expected:(BOOL)expected;\n\n@end\n\nid _EXPObjectify(const char *type, ...) {\n  va_list v;\n  va_start(v, type);\n  id obj = nil;\n  if(strcmp(type, @encode(char)) == 0) {\n    char actual = (char)va_arg(v, int);\n    obj = @(actual);\n  } else if(strcmp(type, @encode(_Bool)) == 0) {\n    _Static_assert(sizeof(_Bool) <= sizeof(int), \"Expected _Bool to be subject to vararg type promotion\");\n    _Bool actual = (_Bool)va_arg(v, int);\n    obj = @(actual);\n  } else if(strcmp(type, @encode(double)) == 0) {\n    double actual = (double)va_arg(v, double);\n    obj = @(actual);\n  } else if(strcmp(type, @encode(float)) == 0) {\n    float actual = (float)va_arg(v, double);\n    obj = @(actual);\n  } else if(strcmp(type, @encode(int)) == 0) {\n    int actual = (int)va_arg(v, int);\n    obj = @(actual);\n  } else if(strcmp(type, @encode(long)) == 0) {\n    long actual = (long)va_arg(v, long);\n    obj = @(actual);\n  } else if(strcmp(type, @encode(long long)) == 0) {\n    long long actual = (long long)va_arg(v, long long);\n    obj = @(actual);\n  } else if(strcmp(type, @encode(short)) == 0) {\n    short actual = (short)va_arg(v, int);\n    obj = @(actual);\n  } else if(strcmp(type, @encode(unsigned char)) == 0) {\n    unsigned char actual = (unsigned char)va_arg(v, unsigned int);\n    obj = @(actual);\n  } else if(strcmp(type, @encode(unsigned int)) == 0) {\n    unsigned int actual = (int)va_arg(v, unsigned int);\n    obj = @(actual);\n  } else if(strcmp(type, @encode(unsigned long)) == 0) {\n    unsigned long actual = (unsigned long)va_arg(v, unsigned long);\n    obj = @(actual);\n  } else if(strcmp(type, @encode(unsigned long long)) == 0) {\n    unsigned long long actual = (unsigned long long)va_arg(v, unsigned long long);\n    obj = @(actual);\n  } else if(strcmp(type, @encode(unsigned short)) == 0) {\n    unsigned short actual = (unsigned short)va_arg(v, unsigned int);\n    obj = @(actual);\n  } else if(strstr(type, @encode(EXPBasicBlock)) != NULL) {\n      // @encode(EXPBasicBlock) returns @? as of clang 4.1.\n      // This condition must occur before the test for id/class type,\n      // otherwise blocks will be treated as vanilla objects.\n      id actual = va_arg(v, EXPBasicBlock);\n      obj = [[actual copy] autorelease];\n  } else if((strstr(type, @encode(id)) != NULL) || (strstr(type, @encode(Class)) != 0)) {\n    id actual = va_arg(v, id);\n    obj = actual;\n  } else if(strcmp(type, @encode(__typeof__(nil))) == 0) {\n    obj = nil;\n  } else if(strstr(type, \"ff}{\") != NULL) { //TODO: of course this only works for a 2x2 e.g. CGRect\n    obj = [[[EXPFloatTuple alloc] initWithFloatValues:(float *)va_arg(v, float[4]) size:4] autorelease];\n  } else if(strstr(type, \"=ff}\") != NULL) {\n    obj = [[[EXPFloatTuple alloc] initWithFloatValues:(float *)va_arg(v, float[2]) size:2] autorelease];\n  } else if(strstr(type, \"=ffff}\") != NULL) {\n    obj = [[[EXPFloatTuple alloc] initWithFloatValues:(float *)va_arg(v, float[4]) size:4] autorelease];\n  } else if(strstr(type, \"dd}{\") != NULL) { //TODO: same here\n    obj = [[[EXPDoubleTuple alloc] initWithDoubleValues:(double *)va_arg(v, double[4]) size:4] autorelease];\n  } else if(strstr(type, \"=dd}\") != NULL) {\n    obj = [[[EXPDoubleTuple alloc] initWithDoubleValues:(double *)va_arg(v, double[2]) size:2] autorelease];\n  } else if(strstr(type, \"=dddd}\") != NULL) {\n    obj = [[[EXPDoubleTuple alloc] initWithDoubleValues:(double *)va_arg(v, double[4]) size:4] autorelease];\n  } else if(type[0] == '{') {\n    EXPUnsupportedObject *actual = [[[EXPUnsupportedObject alloc] initWithType:@\"struct\"] autorelease];\n    obj = actual;\n  } else if(type[0] == '(') {\n    EXPUnsupportedObject *actual = [[[EXPUnsupportedObject alloc] initWithType:@\"union\"] autorelease];\n    obj = actual;\n  } else {\n    void *actual = va_arg(v, void *);\n    obj = (actual == NULL ? nil :[NSValue valueWithPointer:actual]);\n  }\n  if([obj isKindOfClass:[NSValue class]] && ![obj isKindOfClass:[NSNumber class]]) {\n    [(NSValue *)obj set_EXP_objCType:type];\n  }\n  va_end(v);\n  return obj;\n}\n\nEXPExpect *_EXP_expect(id testCase, int lineNumber, const char *fileName, EXPIdBlock actualBlock) {\n  return [EXPExpect expectWithActualBlock:actualBlock testCase:testCase lineNumber:lineNumber fileName:fileName];\n}\n\nvoid EXPFail(id testCase, int lineNumber, const char *fileName, NSString *message) {\n  NSLog(@\"%s:%d %@\", fileName, lineNumber, message);\n  NSString *reason = [NSString stringWithFormat:@\"%s:%d %@\", fileName, lineNumber, message];\n  NSException *exception = [NSException exceptionWithName:@\"Expecta Error\" reason:reason userInfo:nil];\n\n  if(testCase && [testCase respondsToSelector:@selector(recordFailureWithDescription:inFile:atLine:expected:)]){\n      [testCase recordFailureWithDescription:message\n                                      inFile:@(fileName)\n                                      atLine:lineNumber\n                                    expected:NO];\n  } else {\n    [exception raise];\n  }\n}\n\nNSString *EXPDescribeObject(id obj) {\n  if(obj == nil) {\n    return @\"nil/null\";\n  } else if([obj isKindOfClass:[NSValue class]] && ![obj isKindOfClass:[NSNumber class]]) {\n    const char *type = [(NSValue *)obj _EXP_objCType];\n    if(type) {\n      if(strcmp(type, @encode(SEL)) == 0) {\n        return [NSString stringWithFormat:@\"@selector(%@)\", NSStringFromSelector([obj pointerValue])];\n      } else if(strcmp(type, @encode(Class)) == 0) {\n        return NSStringFromClass([obj pointerValue]);\n      }\n    }\n  }\n  NSString *description = [obj description];\n  if([obj isKindOfClass:[NSArray class]]) {\n    NSMutableArray *arr = [NSMutableArray arrayWithCapacity:[obj count]];\n    for(id o in obj) {\n      [arr addObject:EXPDescribeObject(o)];\n    }\n    description = [NSString stringWithFormat:@\"(%@)\", [arr componentsJoinedByString:@\", \"]];\n  } else if([obj isKindOfClass:[NSSet class]] || [obj isKindOfClass:[NSOrderedSet class]]) {\n    NSMutableArray *arr = [NSMutableArray arrayWithCapacity:[obj count]];\n    for(id o in obj) {\n      [arr addObject:EXPDescribeObject(o)];\n    }\n    description = [NSString stringWithFormat:@\"{(%@)}\", [arr componentsJoinedByString:@\", \"]];\n  } else if([obj isKindOfClass:[NSDictionary class]]) {\n    NSMutableArray *arr = [NSMutableArray arrayWithCapacity:[obj count]];\n    for(id k in obj) {\n      id v = obj[k];\n      [arr addObject:[NSString stringWithFormat:@\"%@ = %@;\",EXPDescribeObject(k), EXPDescribeObject(v)]];\n    }\n    description = [NSString stringWithFormat:@\"{%@}\", [arr componentsJoinedByString:@\" \"]];\n  } else if([obj isKindOfClass:[NSAttributedString class]]) {\n    description = [obj string];\n  } else {\n    description = [description stringByReplacingOccurrencesOfString:@\"\\n\" withString:@\"\\\\n\"];\n  }\n  return description;\n}\n\nvoid EXP_prerequisite(EXPBoolBlock block) {\n  [[[NSThread currentThread] threadDictionary][@\"EXP_currentMatcher\"] setPrerequisiteBlock:block];\n}\n\nvoid EXP_match(EXPBoolBlock block) {\n  [[[NSThread currentThread] threadDictionary][@\"EXP_currentMatcher\"] setMatchBlock:block];\n}\n\nvoid EXP_failureMessageForTo(EXPStringBlock block) {\n  [[[NSThread currentThread] threadDictionary][@\"EXP_currentMatcher\"] setFailureMessageForToBlock:block];\n}\n\nvoid EXP_failureMessageForNotTo(EXPStringBlock block) {\n  [[[NSThread currentThread] threadDictionary][@\"EXP_currentMatcher\"] setFailureMessageForNotToBlock:block];\n}\n\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatcherHelpers.h",
    "content": "#import <Foundation/Foundation.h>\n\nBOOL EXPIsValuePointer(NSValue *value);\nBOOL EXPIsNumberFloat(NSNumber *number);\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatcherHelpers.m",
    "content": "#import \"EXPMatcherHelpers.h\"\n\nBOOL EXPIsValuePointer(NSValue *value) {\n  return [value objCType][0] == @encode(void *)[0];\n}\n\nBOOL EXPIsNumberFloat(NSNumber *number) {\n  return strcmp([number objCType], @encode(float)) == 0;\n}\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+beCloseTo.h",
    "content": "#import \"Expecta.h\"\n\nEXPMatcherInterface(_beCloseToWithin, (id expected, id within));\nEXPMatcherInterface(beCloseToWithin, (id expected, id within));\n\n#define beCloseTo(expected) _beCloseToWithin(EXPObjectify((expected)), nil)\n#define beCloseToWithin(expected, range) _beCloseToWithin(EXPObjectify((expected)), EXPObjectify((range)))\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+beCloseTo.m",
    "content": "#import \"EXPMatchers+beCloseTo.h\"\n#import \"EXPMatcherHelpers.h\"\n\nEXPMatcherImplementationBegin(_beCloseToWithin, (id expected, id within)) {\n  prerequisite(^BOOL{\n    return [actual isKindOfClass:[NSNumber class]] &&\n\t\t[expected isKindOfClass:[NSNumber class]] &&\n\t\t([within isKindOfClass:[NSNumber class]] || (within == nil));\n  });\n\n  match(^BOOL{\n\t\tdouble actualValue = [actual doubleValue];\n\t\tdouble expectedValue = [expected doubleValue];\n\n\t\tif (within != nil) {\n\t\t\tdouble withinValue = [within doubleValue];\n\t\t\tdouble lowerBound = expectedValue - withinValue;\n\t\t\tdouble upperBound = expectedValue + withinValue;\n\t\t\treturn (actualValue >= lowerBound) && (actualValue <= upperBound);\n\t\t} else {\n\t\t\tdouble diff = fabs(actualValue - expectedValue);\n\t\t\tactualValue = fabs(actualValue);\n\t\t\texpectedValue = fabs(expectedValue);\n\t\t\tdouble largest = (expectedValue > actualValue) ? expectedValue : actualValue;\n\t\t\treturn (diff <= largest * FLT_EPSILON);\n\t\t}\n  });\n\n  failureMessageForTo(^NSString *{\n    if (within) {\n      return [NSString stringWithFormat:@\"expected %@ to be close to %@ within %@\",\n              EXPDescribeObject(actual), EXPDescribeObject(expected), EXPDescribeObject(within)];\n    } else {\n      return [NSString stringWithFormat:@\"expected %@ to be close to %@\",\n              EXPDescribeObject(actual), EXPDescribeObject(expected)];\n    }\n  });\n\n  failureMessageForNotTo(^NSString *{\n    if (within) {\n      return [NSString stringWithFormat:@\"expected %@ not to be close to %@ within %@\",\n              EXPDescribeObject(actual), EXPDescribeObject(expected), EXPDescribeObject(within)];\n    } else {\n      return [NSString stringWithFormat:@\"expected %@ not to be close to %@\",\n              EXPDescribeObject(actual), EXPDescribeObject(expected)];\n    }\n  });\n}\nEXPMatcherImplementationEnd"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+beFalsy.h",
    "content": "#import \"Expecta.h\"\n\nEXPMatcherInterface(beFalsy, (void));\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+beFalsy.m",
    "content": "#import \"EXPMatchers+beFalsy.h\"\n#import \"EXPMatcherHelpers.h\"\n\nEXPMatcherImplementationBegin(beFalsy, (void)) {\n  match(^BOOL{\n    if([actual isKindOfClass:[NSNumber class]]) {\n      return ![(NSNumber *)actual boolValue];\n    } else if([actual isKindOfClass:[NSValue class]]) {\n      if(EXPIsValuePointer((NSValue *)actual)) {\n        return ![(NSValue *)actual pointerValue];\n      }\n    }\n    return !actual;\n  });\n\n  failureMessageForTo(^NSString *{\n    return [NSString stringWithFormat:@\"expected: a falsy value, got: %@, which is truthy\", EXPDescribeObject(actual)];\n  });\n\n  failureMessageForNotTo(^NSString *{\n    return [NSString stringWithFormat:@\"expected: a non-falsy value, got: %@, which is falsy\", EXPDescribeObject(actual)];\n  });\n}\nEXPMatcherImplementationEnd\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+beGreaterThan.h",
    "content": "#import \"Expecta.h\"\n\nEXPMatcherInterface(_beGreaterThan, (id expected));\nEXPMatcherInterface(beGreaterThan, (id expected));\n\n#define beGreaterThan(expected) _beGreaterThan(EXPObjectify((expected)))\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+beGreaterThan.m",
    "content": "#import \"EXPMatchers+beGreaterThan.h\"\n#import \"EXPMatcherHelpers.h\"\n\nEXPMatcherImplementationBegin(_beGreaterThan, (id expected)) {\n    match(^BOOL{\n        if ([actual respondsToSelector:@selector(compare:)]) {\n            return [actual compare:expected] == NSOrderedDescending;\n        }\n        return NO;\n    });\n\n    failureMessageForTo(^NSString *{\n        return [NSString stringWithFormat:@\"expected: %@ to be greater than %@\", EXPDescribeObject(actual), EXPDescribeObject(expected)];\n    });\n\n    failureMessageForNotTo(^NSString *{\n        return [NSString stringWithFormat:@\"expected: %@ not to be greater than %@\", EXPDescribeObject(actual), EXPDescribeObject(expected)];\n    });\n}\nEXPMatcherImplementationEnd"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.h",
    "content": "#import \"Expecta.h\"\n\nEXPMatcherInterface(_beGreaterThanOrEqualTo, (id expected));\nEXPMatcherInterface(beGreaterThanOrEqualTo, (id expected));\n\n#define beGreaterThanOrEqualTo(expected) _beGreaterThanOrEqualTo(EXPObjectify((expected)))\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.m",
    "content": "#import \"EXPMatchers+beGreaterThanOrEqualTo.h\"\n#import \"EXPMatcherHelpers.h\"\n\nEXPMatcherImplementationBegin(_beGreaterThanOrEqualTo, (id expected)) {\n    match(^BOOL{\n        if ([actual respondsToSelector:@selector(compare:)]) {\n            return [actual compare:expected] != NSOrderedAscending;\n        }\n        return NO;\n    });\n\n    failureMessageForTo(^NSString *{\n        return [NSString stringWithFormat:@\"expected: %@ to be greater than or equal to %@\", EXPDescribeObject(actual), EXPDescribeObject(expected)];\n    });\n\n    failureMessageForNotTo(^NSString *{\n        return [NSString stringWithFormat:@\"expected: %@ not to be greater than or equal to %@\", EXPDescribeObject(actual), EXPDescribeObject(expected)];\n    });\n}\nEXPMatcherImplementationEnd"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+beIdenticalTo.h",
    "content": "#import \"Expecta.h\"\n\nEXPMatcherInterface(_beIdenticalTo, (void *expected));\nEXPMatcherInterface(beIdenticalTo, (void *expected)); // to aid code completion\n\n#if __has_feature(objc_arc)\n#define beIdenticalTo(expected) _beIdenticalTo((__bridge void*)expected)\n#else\n#define beIdenticalTo(expected) _beIdenticalTo(expected)\n#endif\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+beIdenticalTo.m",
    "content": "#import \"EXPMatchers+equal.h\"\n#import \"EXPMatcherHelpers.h\"\n\nEXPMatcherImplementationBegin(_beIdenticalTo, (void *expected)) {\n  match(^BOOL{\n    if(actual == expected) {\n      return YES;\n    } else if([actual isKindOfClass:[NSValue class]] && EXPIsValuePointer((NSValue *)actual)) {\n      if([(NSValue *)actual pointerValue] == expected) {\n        return YES;\n      }\n    }\n    return NO;\n  });\n\n  failureMessageForTo(^NSString *{\n    return [NSString stringWithFormat:@\"expected: <%p>, got: <%p>\", expected, actual];\n  });\n\n  failureMessageForNotTo(^NSString *{\n    return [NSString stringWithFormat:@\"expected: not <%p>, got: <%p>\", expected, actual];\n  });\n}\nEXPMatcherImplementationEnd\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+beInTheRangeOf.h",
    "content": "#import \"Expecta.h\"\n\nEXPMatcherInterface(_beInTheRangeOf, (id expectedLowerBound, id expectedUpperBound));\nEXPMatcherInterface(beInTheRangeOf, (id expectedLowerBound, id expectedUpperBound));\n\n#define beInTheRangeOf(expectedLowerBound, expectedUpperBound) _beInTheRangeOf(EXPObjectify((expectedLowerBound)), EXPObjectify((expectedUpperBound)))\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+beInTheRangeOf.m",
    "content": "#import \"EXPMatchers+beInTheRangeOf.h\"\n#import \"EXPMatcherHelpers.h\"\n\nEXPMatcherImplementationBegin(_beInTheRangeOf, (id expectedLowerBound, id expectedUpperBound)) {\n    match(^BOOL{\n        if ([actual respondsToSelector:@selector(compare:)]) {\n            NSComparisonResult compareLowerBound = [expectedLowerBound compare: actual];\n            NSComparisonResult compareUpperBound = [expectedUpperBound compare: actual];\n            if (compareLowerBound == NSOrderedSame) {\n                return YES;\n            }\n            if (compareUpperBound == NSOrderedSame) {\n                return YES;\n            }\n            if ((compareLowerBound == NSOrderedAscending) && (compareUpperBound == NSOrderedDescending)) {\n                return YES;\n            }\n        }\n        return NO;\n    });\n\n    failureMessageForTo(^NSString *{\n        return [NSString stringWithFormat:@\"expected: %@ to be in the range [%@, %@] (inclusive)\", EXPDescribeObject(actual), EXPDescribeObject(expectedLowerBound), EXPDescribeObject(expectedUpperBound)];\n    });\n\n    failureMessageForNotTo(^NSString *{\n        return [NSString stringWithFormat:@\"expected: %@ not to be in the range [%@, %@] (inclusive)\", EXPDescribeObject(actual), EXPDescribeObject(expectedLowerBound), EXPDescribeObject(expectedUpperBound)];\n    });\n}\nEXPMatcherImplementationEnd"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+beInstanceOf.h",
    "content": "#import \"Expecta.h\"\n\nEXPMatcherInterface(beInstanceOf,   (Class expected));\nEXPMatcherInterface(beAnInstanceOf, (Class expected));\nEXPMatcherInterface(beMemberOf,     (Class expected));\nEXPMatcherInterface(beAMemberOf,    (Class expected));\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+beInstanceOf.m",
    "content": "#import \"EXPMatchers+beInstanceOf.h\"\n\nEXPMatcherImplementationBegin(beInstanceOf, (Class expected)) {\n  BOOL actualIsNil = (actual == nil);\n  BOOL expectedIsNil = (expected == nil);\n\n  prerequisite(^BOOL{\n    return !(actualIsNil || expectedIsNil);\n  });\n\n  match(^BOOL{\n    return [actual isMemberOfClass:expected];\n  });\n\n  failureMessageForTo(^NSString *{\n    if(actualIsNil) return @\"the actual value is nil/null\";\n    if(expectedIsNil) return @\"the expected value is nil/null\";\n    return [NSString stringWithFormat:@\"expected: an instance of %@, got: an instance of %@\", [expected class], [actual class]];\n  });\n\n  failureMessageForNotTo(^NSString *{\n    if(actualIsNil) return @\"the actual value is nil/null\";\n    if(expectedIsNil) return @\"the expected value is nil/null\";\n    return [NSString stringWithFormat:@\"expected: not an instance of %@, got: an instance of %@\", [expected class], [actual class]];\n  });\n}\nEXPMatcherImplementationEnd\n\nEXPMatcherAliasImplementation(beAnInstanceOf, beInstanceOf, (Class expected));\nEXPMatcherAliasImplementation(beMemberOf,     beInstanceOf, (Class expected));\nEXPMatcherAliasImplementation(beAMemberOf,    beInstanceOf, (Class expected));\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+beKindOf.h",
    "content": "#import \"Expecta.h\"\n\nEXPMatcherInterface(beKindOf,  (Class expected));\nEXPMatcherInterface(beAKindOf, (Class expected));\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+beKindOf.m",
    "content": "#import \"EXPMatchers+beKindOf.h\"\n\nEXPMatcherImplementationBegin(beKindOf, (Class expected)) {\n  BOOL actualIsNil = (actual == nil);\n  BOOL expectedIsNil = (expected == nil);\n\n  prerequisite(^BOOL{\n    return !(actualIsNil || expectedIsNil);\n  });\n\n  match(^BOOL{\n    return [actual isKindOfClass:expected];\n  });\n\n  failureMessageForTo(^NSString *{\n    if(actualIsNil) return @\"the actual value is nil/null\";\n    if(expectedIsNil) return @\"the expected value is nil/null\";\n    return [NSString stringWithFormat:@\"expected: a kind of %@, got: an instance of %@, which is not a kind of %@\", [expected class], [actual class], [expected class]];\n  });\n\n  failureMessageForNotTo(^NSString *{\n    if(actualIsNil) return @\"the actual value is nil/null\";\n    if(expectedIsNil) return @\"the expected value is nil/null\";\n    return [NSString stringWithFormat:@\"expected: not a kind of %@, got: an instance of %@, which is a kind of %@\", [expected class], [actual class], [expected class]];\n  });\n}\nEXPMatcherImplementationEnd\n\nEXPMatcherAliasImplementation(beAKindOf, beKindOf, (Class expected));\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+beLessThan.h",
    "content": "#import \"Expecta.h\"\n\nEXPMatcherInterface(_beLessThan, (id expected));\nEXPMatcherInterface(beLessThan, (id expected));\n\n#define beLessThan(expected) _beLessThan(EXPObjectify((expected)))\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+beLessThan.m",
    "content": "#import \"EXPMatchers+beLessThan.h\"\n#import \"EXPMatcherHelpers.h\"\n\nEXPMatcherImplementationBegin(_beLessThan, (id expected)) {\n    match(^BOOL{\n        if ([actual respondsToSelector:@selector(compare:)]) {\n            return [actual compare:expected] == NSOrderedAscending;\n        }\n        return NO;\n    });\n\n    failureMessageForTo(^NSString *{\n        return [NSString stringWithFormat:@\"expected: %@ to be less than %@\", EXPDescribeObject(actual), EXPDescribeObject(expected)];\n    });\n\n    failureMessageForNotTo(^NSString *{\n        return [NSString stringWithFormat:@\"expected: %@ not to be less than %@\", EXPDescribeObject(actual), EXPDescribeObject(expected)];\n    });\n}\nEXPMatcherImplementationEnd"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.h",
    "content": "#import \"Expecta.h\"\n\nEXPMatcherInterface(_beLessThanOrEqualTo, (id expected));\nEXPMatcherInterface(beLessThanOrEqualTo, (id expected));\n\n#define beLessThanOrEqualTo(expected) _beLessThanOrEqualTo(EXPObjectify((expected)))\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.m",
    "content": "#import \"EXPMatchers+beLessThanOrEqualTo.h\"\n#import \"EXPMatcherHelpers.h\"\n\nEXPMatcherImplementationBegin(_beLessThanOrEqualTo, (id expected)) {\n    match(^BOOL{\n        if ([actual respondsToSelector:@selector(compare:)]) {\n            return [actual compare:expected] != NSOrderedDescending;\n        }\n        return NO;\n    });\n\n    failureMessageForTo(^NSString *{\n        return [NSString stringWithFormat:@\"expected: %@ to be less than or equal to %@\", EXPDescribeObject(actual), EXPDescribeObject(expected)];\n    });\n\n    failureMessageForNotTo(^NSString *{\n        return [NSString stringWithFormat:@\"expected: %@ not to be less than or equal to %@\", EXPDescribeObject(actual), EXPDescribeObject(expected)];\n    });\n}\nEXPMatcherImplementationEnd"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+beNil.h",
    "content": "#import \"Expecta.h\"\n\nEXPMatcherInterface(beNil, (void));\nEXPMatcherInterface(beNull, (void));\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+beNil.m",
    "content": "#import \"EXPMatchers+beNil.h\"\n\nEXPMatcherImplementationBegin(beNil, (void)) {\n  match(^BOOL{\n    return actual == nil;\n  });\n\n  failureMessageForTo(^NSString *{\n    return [NSString stringWithFormat:@\"expected: nil/null, got: %@\", EXPDescribeObject(actual)];\n  });\n\n  failureMessageForNotTo(^NSString *{\n    return [NSString stringWithFormat:@\"expected: not nil/null, got: %@\", EXPDescribeObject(actual)];\n  });\n}\nEXPMatcherImplementationEnd\n\nEXPMatcherAliasImplementation(beNull, beNil, (void));\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+beSubclassOf.h",
    "content": "#import \"Expecta.h\"\n\nEXPMatcherInterface(beSubclassOf,  (Class expected));\nEXPMatcherInterface(beASubclassOf, (Class expected));\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+beSubclassOf.m",
    "content": "#import \"EXPMatchers+beSubclassOf.h\"\n#import \"NSValue+Expecta.h\"\n#import <objc/runtime.h>\n\nEXPMatcherImplementationBegin(beSubclassOf, (Class expected)) {\n  __block BOOL actualIsClass = YES;\n\n  prerequisite(^BOOL {\n    actualIsClass = class_isMetaClass(object_getClass(actual));\n    return actualIsClass;\n  });\n\n  match(^BOOL{\n    return [actual isSubclassOfClass:expected];\n  });\n\n  failureMessageForTo(^NSString *{\n    if(!actualIsClass) return @\"the actual value is not a Class\";\n    return [NSString stringWithFormat:@\"expected: a subclass of %@, got: a class %@, which is not a subclass of %@\", [expected class], actual, [expected class]];\n  });\n\n  failureMessageForNotTo(^NSString *{\n    if(!actualIsClass) return @\"the actual value is not a Class\";\n    return [NSString stringWithFormat:@\"expected: not a subclass of %@, got: a class %@, which is a subclass of %@\", [expected class], actual, [expected class]];\n  });\n}\nEXPMatcherImplementationEnd\n\nEXPMatcherAliasImplementation(beASubclassOf, beSubclassOf, (Class expected));\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+beSupersetOf.h",
    "content": "#import \"Expecta.h\"\n\nEXPMatcherInterface(beSupersetOf, (id subset));\n\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+beSupersetOf.m",
    "content": "#import \"EXPMatchers+contain.h\"\n\nEXPMatcherImplementationBegin(beSupersetOf, (id subset)) {\n  BOOL actualIsCompatible = [actual isKindOfClass:[NSDictionary class]] || [actual respondsToSelector:@selector(containsObject:)];\n  BOOL subsetIsNil = (subset == nil);\n\n  // For some instances the isKindOfClass: method returns false, even though\n  // they are both actually dictionaries. e.g. Comparing a NSCFDictionary and a\n  // NSDictionary.\n  // Or in cases when you compare NSMutableArray (which implementation is __NSArrayM:NSMutableArray:NSArray)\n  // and NSArray (which implementation is __NSArrayI:NSArray)\n  BOOL bothAreIdenticalCollectionClasses = ([actual isKindOfClass:[NSDictionary class]] && [subset isKindOfClass:[NSDictionary class]]) ||\n        ([actual isKindOfClass:[NSArray class]] && [subset isKindOfClass:[NSArray class]]) ||\n        ([actual isKindOfClass:[NSSet class]] && [subset isKindOfClass:[NSSet class]]) ||\n        ([actual isKindOfClass:[NSOrderedSet class]] && [subset isKindOfClass:[NSOrderedSet class]]);\n\n  BOOL classMatches = bothAreIdenticalCollectionClasses || [subset isKindOfClass:[actual class]];\n\n  prerequisite(^BOOL{\n    return actualIsCompatible && !subsetIsNil && classMatches;\n  });\n\n  match(^BOOL{\n    if(!actualIsCompatible) return NO;\n\n    if([actual isKindOfClass:[NSDictionary class]]) {\n      for (id key in subset) {\n        id actualValue = [actual valueForKey:key];\n        id subsetValue = [subset valueForKey:key];\n\n        if (![subsetValue isEqual:actualValue]) return NO;\n      }\n    } else {\n      for (id object in subset) {\n        if (![actual containsObject:object]) return NO;\n      }\n    }\n\n    return YES;\n  });\n\n  failureMessageForTo(^NSString *{\n    if(!actualIsCompatible) return [NSString stringWithFormat:@\"%@ is not an instance of NSDictionary and does not implement -containsObject:\", EXPDescribeObject(actual)];\n\n    if(subsetIsNil) return @\"the expected value is nil/null\";\n\n    if(!classMatches) return [NSString stringWithFormat:@\"%@ does not match the class of %@\", EXPDescribeObject(subset), EXPDescribeObject(actual)];\n\n    return [NSString stringWithFormat:@\"expected %@ to be a superset of %@\", EXPDescribeObject(actual), EXPDescribeObject(subset)];\n  });\n\n  failureMessageForNotTo(^NSString *{\n    if(!actualIsCompatible) return [NSString stringWithFormat:@\"%@ is not an instance of NSDictionary and does not implement -containsObject:\", EXPDescribeObject(actual)];\n\n    if(subsetIsNil) return @\"the expected value is nil/null\";\n\n    if(!classMatches) return [NSString stringWithFormat:@\"%@ does not match the class of %@\", EXPDescribeObject(subset), EXPDescribeObject(actual)];\n\n    return [NSString stringWithFormat:@\"expected %@ not to be a superset of %@\", EXPDescribeObject(actual), EXPDescribeObject(subset)];\n  });\n}\nEXPMatcherImplementationEnd\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+beTruthy.h",
    "content": "#import \"Expecta.h\"\n\nEXPMatcherInterface(beTruthy, (void));\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+beTruthy.m",
    "content": "#import \"EXPMatchers+beTruthy.h\"\n#import \"EXPMatcherHelpers.h\"\n\nEXPMatcherImplementationBegin(beTruthy, (void)) {\n  match(^BOOL{\n    if([actual isKindOfClass:[NSNumber class]]) {\n      return !![(NSNumber *)actual boolValue];\n    } else if([actual isKindOfClass:[NSValue class]]) {\n      if(EXPIsValuePointer((NSValue *)actual)) {\n        return !![(NSValue *)actual pointerValue];\n      }\n    }\n    return !!actual;\n  });\n\n  failureMessageForTo(^NSString *{\n    return [NSString stringWithFormat:@\"expected: a truthy value, got: %@, which is falsy\", EXPDescribeObject(actual)];\n  });\n\n  failureMessageForNotTo(^NSString *{\n    return [NSString stringWithFormat:@\"expected: a non-truthy value, got: %@, which is truthy\", EXPDescribeObject(actual)];\n  });\n}\nEXPMatcherImplementationEnd\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+beginWith.h",
    "content": "#import \"Expecta.h\"\n\nEXPMatcherInterface(beginWith, (id expected));\nEXPMatcherInterface(startWith, (id expected));\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+beginWith.m",
    "content": "#import \"EXPMatchers+beginWith.h\"\n\nEXPMatcherImplementationBegin(beginWith, (id expected)) {\n  BOOL actualIsNil = (actual == nil);\n  BOOL expectedIsNil = (expected == nil);\n  //This condition allows the comparison of an immutable string or ordered collection to the mutable type of the same\n  BOOL actualAndExpectedAreCompatible = (([actual isKindOfClass:[NSString class]] && [expected isKindOfClass:[NSString class]])\n                                         || ([actual isKindOfClass:[NSArray class]] && [expected isKindOfClass:[NSArray class]])\n                                         || ([actual isKindOfClass:[NSOrderedSet class]] && [expected isKindOfClass:[NSOrderedSet class]]));\n  \n  prerequisite(^BOOL {\n    return actualAndExpectedAreCompatible;\n  });\n  \n  match(^BOOL {\n    if ([actual isKindOfClass:[NSString class]]) {\n      return [actual hasPrefix:expected];\n    } else if ([actual isKindOfClass:[NSArray class]]) {\n      if ([expected count] > [actual count] || [expected count] == 0) {\n        return NO;\n      }\n      NSArray *subArray = [actual subarrayWithRange:NSMakeRange(0, [expected count])];\n      return [subArray isEqualToArray:expected];\n    } else {\n      if ([expected count] > [actual count] || [expected count] == 0) {\n        return NO;\n      }\n      \n      NSOrderedSet *subset = [NSOrderedSet orderedSetWithOrderedSet:actual range:NSMakeRange(0, [expected count]) copyItems:NO];\n      return [subset isEqualToOrderedSet:expected];\n    }\n  });\n  \n  failureMessageForTo(^NSString *{\n    if (actualIsNil) return @\"the object is nil/null\";\n    if (expectedIsNil) return @\"the expected value is nil/null\";\n    if (!actualAndExpectedAreCompatible) return [NSString stringWithFormat:@\"%@ and %@ are not instances of one of %@, %@, or %@\", EXPDescribeObject(actual), EXPDescribeObject(expected), [NSString class], [NSArray class], [NSOrderedSet class]];\n    return [NSString stringWithFormat:@\"expected: %@ to begin with %@\", EXPDescribeObject(actual), EXPDescribeObject(expected)];\n  });\n  \n  failureMessageForNotTo(^NSString *{\n    if (actualIsNil) return @\"the object is nil/null\";\n    if (expectedIsNil) return @\"the expected value is nil/null\";\n    if (!actualAndExpectedAreCompatible) return [NSString stringWithFormat:@\"%@ and %@ are not instances of one of %@, %@, or %@\", EXPDescribeObject(actual), EXPDescribeObject(expected), [NSString class], [NSArray class], [NSOrderedSet class]];\n    \n    return [NSString stringWithFormat:@\"expected: %@ not to begin with %@\", EXPDescribeObject(actual), EXPDescribeObject(expected)];\n  });\n}\nEXPMatcherImplementationEnd\n\nEXPMatcherAliasImplementation(startWith, beginWith, (id expected));\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+conformTo.h",
    "content": "#import \"Expecta.h\"\n\nEXPMatcherInterface(conformTo, (Protocol *expected));\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+conformTo.m",
    "content": "#import \"EXPMatchers+conformTo.h\"\n#import \"NSValue+Expecta.h\"\n#import <objc/runtime.h>\n\nEXPMatcherImplementationBegin(conformTo, (Protocol *expected)) {\n    BOOL actualIsNil = (actual == nil);\n    BOOL expectedIsNil = (expected == nil);\n\n    prerequisite(^BOOL{\n        return !(actualIsNil || expectedIsNil);\n    });\n\n    match(^BOOL{\n        return [actual conformsToProtocol:expected];\n    });\n\n    failureMessageForTo(^NSString *{\n        if(actualIsNil) return @\"the object is nil/null\";\n        if(expectedIsNil) return @\"the protocol is nil/null\";\n\n        NSString *name = NSStringFromProtocol(expected);\n        return [NSString stringWithFormat:@\"expected: %@ to conform to %@\", actual, name];\n    });\n\n    failureMessageForNotTo(^NSString *{\n        if(actualIsNil) return @\"the object is nil/null\";\n        if(expectedIsNil) return @\"the protocol is nil/null\";\n\n        NSString *name = NSStringFromProtocol(expected);\n        return [NSString stringWithFormat:@\"expected: %@ not to conform to %@\", actual, name];\n    });\n}\nEXPMatcherImplementationEnd\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+contain.h",
    "content": "#import \"Expecta.h\"\n\nEXPMatcherInterface(_contain, (id expected));\nEXPMatcherInterface(contain, (id expected)); // to aid code completion\n#define contain(expected) _contain(EXPObjectify((expected)))\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+contain.m",
    "content": "#import \"EXPMatchers+contain.h\"\n\nEXPMatcherImplementationBegin(_contain, (id expected)) {\n  BOOL actualIsCompatible = [actual isKindOfClass:[NSString class]] || [actual conformsToProtocol:@protocol(NSFastEnumeration)];\n  BOOL expectedIsNil = (expected == nil);\n\n  prerequisite(^BOOL{\n    return actualIsCompatible && !expectedIsNil;\n  });\n\n  match(^BOOL{\n    if(actualIsCompatible) {\n      if([actual isKindOfClass:[NSString class]]) {\n        return [(NSString *)actual rangeOfString:[expected description]].location != NSNotFound;\n      } else {\n        for (id object in actual) {\n          if ([object isEqual:expected]) {\n            return YES;\n          }\n        }\n      }\n    }\n    return NO;\n  });\n\n  failureMessageForTo(^NSString *{\n    if(!actualIsCompatible) return [NSString stringWithFormat:@\"%@ is not an instance of NSString or NSFastEnumeration\", EXPDescribeObject(actual)];\n    if(expectedIsNil) return @\"the expected value is nil/null\";\n    return [NSString stringWithFormat:@\"expected %@ to contain %@\", EXPDescribeObject(actual), EXPDescribeObject(expected)];\n  });\n\n  failureMessageForNotTo(^NSString *{\n    if(!actualIsCompatible) return [NSString stringWithFormat:@\"%@ is not an instance of NSString or NSFastEnumeration\", EXPDescribeObject(actual)];\n    if(expectedIsNil) return @\"the expected value is nil/null\";\n    return [NSString stringWithFormat:@\"expected %@ not to contain %@\", EXPDescribeObject(actual), EXPDescribeObject(expected)];\n  });\n}\nEXPMatcherImplementationEnd\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+endWith.h",
    "content": "#import \"Expecta.h\"\n\nEXPMatcherInterface(endWith, (id expected));\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+endWith.m",
    "content": "#import \"EXPMatchers+endWith.h\"\n\nEXPMatcherImplementationBegin(endWith, (id expected)) {\n  BOOL actualIsNil = (actual == nil);\n  BOOL expectedIsNil = (expected == nil);\n  //This condition allows the comparison of an immutable string or ordered collection to the mutable type of the same\n  BOOL actualAndExpectedAreCompatible = (([actual isKindOfClass:[NSString class]] && [expected isKindOfClass:[NSString class]])\n                                         || ([actual isKindOfClass:[NSArray class]] && [expected isKindOfClass:[NSArray class]])\n                                         || ([actual isKindOfClass:[NSOrderedSet class]] && [expected isKindOfClass:[NSOrderedSet class]]));\n  \n  prerequisite(^BOOL {\n    return actualAndExpectedAreCompatible;\n  });\n  \n  match(^BOOL {\n    if ([actual isKindOfClass:[NSString class]]) {\n      return [actual hasSuffix:expected];\n    } else if ([actual isKindOfClass:[NSArray class]]) {\n      if ([expected count] > [actual count] || [expected count] == 0) {\n        return NO;\n      }\n      NSArray *subArray = [actual subarrayWithRange:NSMakeRange([actual count] - [expected count], [expected count])];\n      return [subArray isEqualToArray:expected];\n    } else {\n      if ([expected count] > [actual count] || [expected count] == 0) {\n        return NO;\n      }\n      \n      NSOrderedSet *subset = [NSOrderedSet orderedSetWithOrderedSet:actual range:NSMakeRange([actual count] - [expected count], [expected count]) copyItems:NO];\n      return [subset isEqualToOrderedSet:expected];\n    }\n  });\n  \n  failureMessageForTo(^NSString *{\n    if (actualIsNil) return @\"the object is nil/null\";\n    if (expectedIsNil) return @\"the expected value is nil/null\";\n    if (!actualAndExpectedAreCompatible) return [NSString stringWithFormat:@\"%@ and %@ are not instances of one of %@, %@, or %@\", EXPDescribeObject(actual), EXPDescribeObject(expected), [NSString class], [NSArray class], [NSOrderedSet class]];\n    return [NSString stringWithFormat:@\"expected: %@ to end with %@\", EXPDescribeObject(actual), EXPDescribeObject(expected)];\n  });\n  \n  failureMessageForNotTo(^NSString *{\n    if (actualIsNil) return @\"the object is nil/null\";\n    if (expectedIsNil) return @\"the expected value is nil/null\";\n    if (!actualAndExpectedAreCompatible) return [NSString stringWithFormat:@\"%@ and %@ are not instances of one of %@, %@, or %@\", EXPDescribeObject(actual), EXPDescribeObject(expected), [NSString class], [NSArray class], [NSOrderedSet class]];\n    \n    return [NSString stringWithFormat:@\"expected: %@ not to end with %@\", EXPDescribeObject(actual), EXPDescribeObject(expected)];\n  });\n}\nEXPMatcherImplementationEnd\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+equal.h",
    "content": "#import \"Expecta.h\"\n\nEXPMatcherInterface(_equal, (id expected));\nEXPMatcherInterface(equal, (id expected)); // to aid code completion\n#define equal(...) _equal(EXPObjectify((__VA_ARGS__)))\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+equal.m",
    "content": "#import \"EXPMatchers+equal.h\"\n#import \"EXPMatcherHelpers.h\"\n\nEXPMatcherImplementationBegin(_equal, (id expected)) {\n  match(^BOOL{\n    if((actual == expected) || [actual isEqual:expected]) {\n      return YES;\n    } else if([actual isKindOfClass:[NSNumber class]] && [expected isKindOfClass:[NSNumber class]]) {\n      if([actual isKindOfClass:[NSDecimalNumber class]] || [expected isKindOfClass:[NSDecimalNumber class]]) {\n        NSDecimalNumber *actualDecimalNumber = [NSDecimalNumber decimalNumberWithDecimal:[(NSNumber *) actual decimalValue]];\n        NSDecimalNumber *expectedDecimalNumber = [NSDecimalNumber decimalNumberWithDecimal:[(NSNumber *) expected decimalValue]];\n        return [actualDecimalNumber isEqualToNumber:expectedDecimalNumber];\n      }\n      else {\n        if(EXPIsNumberFloat((NSNumber *)actual) || EXPIsNumberFloat((NSNumber *)expected)) {\n          return [(NSNumber *)actual floatValue] == [(NSNumber *)expected floatValue];\n        }\n      }\n    }\n    return NO;\n  });\n\n  failureMessageForTo(^NSString *{\n    NSString *expectedDescription = EXPDescribeObject(expected);\n    NSString *actualDescription = EXPDescribeObject(actual);\n\n    if (![expectedDescription isEqualToString:actualDescription]) {\n      return [NSString stringWithFormat:@\"expected: %@, got: %@\", EXPDescribeObject(expected), EXPDescribeObject(actual)];\n    } else {\n      return [NSString stringWithFormat:@\"expected (%@): %@, got (%@): %@\", NSStringFromClass([expected class]), EXPDescribeObject(expected), NSStringFromClass([actual class]), EXPDescribeObject(actual)];\n    }\n  });\n\n  failureMessageForNotTo(^NSString *{\n    return [NSString stringWithFormat:@\"expected: not %@, got: %@\", EXPDescribeObject(expected), EXPDescribeObject(actual)];\n  });\n}\nEXPMatcherImplementationEnd\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+haveCountOf.h",
    "content": "#import \"Expecta.h\"\n\nEXPMatcherInterface(haveCountOf,   (NSUInteger expected));\nEXPMatcherInterface(haveCount,     (NSUInteger expected));\nEXPMatcherInterface(haveACountOf,  (NSUInteger expected));\nEXPMatcherInterface(haveLength,    (NSUInteger expected));\nEXPMatcherInterface(haveLengthOf,  (NSUInteger expected));\nEXPMatcherInterface(haveALengthOf, (NSUInteger expected));\n\n#define beEmpty() haveCountOf(0)\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+haveCountOf.m",
    "content": "#import \"EXPMatchers+haveCountOf.h\"\n\nEXPMatcherImplementationBegin(haveCountOf, (NSUInteger expected)) {\n  BOOL actualIsStringy = [actual isKindOfClass:[NSString class]] || [actual isKindOfClass:[NSAttributedString class]];\n  BOOL actualIsCompatible = actualIsStringy || [actual respondsToSelector:@selector(count)];\n\n  prerequisite(^BOOL{\n    return actualIsCompatible;\n  });\n\n  NSUInteger (^count)(id) = ^(id actual) {\n    if(actualIsStringy) {\n      return [actual length];\n  } else {\n      return [actual count];\n    }\n  };\n\n  match(^BOOL{\n    if(actualIsCompatible) {\n      return count(actual) == expected;\n    }\n    return NO;\n  });\n\n  failureMessageForTo(^NSString *{\n    if(!actualIsCompatible) return [NSString stringWithFormat:@\"%@ is not an instance of NSString, NSAttributedString, NSArray, NSSet, NSOrderedSet, or NSDictionary\", EXPDescribeObject(actual)];\n    return [NSString stringWithFormat:@\"expected %@ to have a count of %zi but got %zi\", EXPDescribeObject(actual), expected, count(actual)];\n  });\n\n  failureMessageForNotTo(^NSString *{\n    if(!actualIsCompatible) return [NSString stringWithFormat:@\"%@ is not an instance of NSString, NSAttributedString, NSArray, NSSet, NSOrderedSet, or NSDictionary\", EXPDescribeObject(actual)];\n    return [NSString stringWithFormat:@\"expected %@ not to have a count of %zi\", EXPDescribeObject(actual), expected];\n  });\n}\nEXPMatcherImplementationEnd\n\nEXPMatcherAliasImplementation(haveCount,     haveCountOf, (NSUInteger expected));\nEXPMatcherAliasImplementation(haveACountOf,  haveCountOf, (NSUInteger expected));\nEXPMatcherAliasImplementation(haveLength,    haveCountOf, (NSUInteger expected));\nEXPMatcherAliasImplementation(haveLengthOf,  haveCountOf, (NSUInteger expected));\nEXPMatcherAliasImplementation(haveALengthOf, haveCountOf, (NSUInteger expected));\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+match.h",
    "content": "#import \"Expecta.h\"\n\nEXPMatcherInterface(match, (NSString *expected));\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+match.m",
    "content": "#import \"EXPMatchers+match.h\"\n#import \"EXPMatcherHelpers.h\"\n\nEXPMatcherImplementationBegin(match, (NSString *expected)) {\n  BOOL actualIsNil = (actual == nil);\n  BOOL expectedIsNil = (expected == nil);\n  \n  __block NSRegularExpression *regex = nil;\n  __block NSError *regexError = nil;\n  \n  prerequisite (^BOOL {\n    BOOL nilInput = (actualIsNil || expectedIsNil);\n    if (!nilInput) {\n      regex = [NSRegularExpression regularExpressionWithPattern:expected options:0 error:&regexError];\n    }\n    return !nilInput && regex;\n  });\n  \n  match(^BOOL {\n    NSRange range = [regex rangeOfFirstMatchInString:actual options:0 range:NSMakeRange(0, [actual length])];\n    return !NSEqualRanges(range, NSMakeRange(NSNotFound, 0));\n  });\n  \n  failureMessageForTo(^NSString *{\n    if (actualIsNil) return @\"the object is nil/null\";\n    if (expectedIsNil) return @\"the expression is nil/null\";\n    if (regexError) return [NSString stringWithFormat:@\"unable to create regular expression from given parameter: %@\", [regexError localizedDescription]];\n    return [NSString stringWithFormat:@\"expected: %@ to match to %@\", EXPDescribeObject(actual), expected];\n  });\n  \n  failureMessageForNotTo(^NSString *{\n    if (actualIsNil) return @\"the object is nil/null\";\n    if (expectedIsNil) return @\"the expression is nil/null\";\n    if (regexError) return [NSString stringWithFormat:@\"unable to create regular expression from given parameter: %@\", [regexError localizedDescription]];\n    return [NSString stringWithFormat:@\"expected: %@ not to match to %@\", EXPDescribeObject(actual), expected];\n  });\n}\nEXPMatcherImplementationEnd\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+postNotification.h",
    "content": "#import \"Expecta.h\"\n\nEXPMatcherInterface(postNotification, (id expectedNotification));\nEXPMatcherInterface(notify, (id expectedNotification));\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+postNotification.m",
    "content": "#import \"EXPMatchers+postNotification.h\"\n\n@implementation NSNotification (EXPEquality)\n\n- (BOOL)exp_isFunctionallyEqualTo:(NSNotification *)otherNotification\n{\n  if (![otherNotification isKindOfClass:[NSNotification class]]) return NO;\n\n  BOOL namesMatch = [otherNotification.name isEqualToString:self.name];\n\n  BOOL objectsMatch = YES;\n  if (otherNotification.object || self.object) {\n    objectsMatch = [otherNotification.object isEqual:self.object];\n  }\n\n  BOOL userInfoMatches = YES;\n  if (otherNotification.userInfo || self.userInfo) {\n    userInfoMatches = [otherNotification.userInfo isEqual:self.userInfo];\n  }\n\n  return (namesMatch && objectsMatch && userInfoMatches);\n}\n\n@end\n\nEXPMatcherImplementationBegin(postNotification, (id expected)){\n  BOOL actualIsNil = (actual == nil);\n  BOOL expectedIsNil = (expected == nil);\n  BOOL isNotification = [expected isKindOfClass:[NSNotification class]];\n  BOOL isName = [expected isKindOfClass:[NSString class]];\n\n  __block NSString *expectedName;\n  __block BOOL expectedNotificationOccurred = NO;\n  __block id observer;\n\n  prerequisite(^BOOL{\n    expectedNotificationOccurred = NO;\n    if (actualIsNil || expectedIsNil) return NO;\n    if (isNotification) {\n      expectedName = [expected name];\n    }else if(isName) {\n      expectedName = expected;\n    }else{\n      return NO;\n    }\n\n    observer = [[NSNotificationCenter defaultCenter] addObserverForName:expectedName object:nil queue:nil usingBlock:^(NSNotification *note){\n      if (isNotification) {\n        expectedNotificationOccurred |= [expected exp_isFunctionallyEqualTo:note];\n      }else{\n        expectedNotificationOccurred = YES;\n      }\n    }];\n    ((EXPBasicBlock)actual)();\n    return YES;\n  });\n\n  match(^BOOL{\n    if(expectedNotificationOccurred) {\n      [[NSNotificationCenter defaultCenter] removeObserver:observer];\n    }\n    return expectedNotificationOccurred;\n  });\n\n  failureMessageForTo(^NSString *{\n    if (observer) {\n      [[NSNotificationCenter defaultCenter] removeObserver:observer];\n    }\n    if(actualIsNil) return @\"the actual value is nil/null\";\n    if(expectedIsNil) return @\"the expected value is nil/null\";\n    if(!(isNotification || isName)) return @\"the actual value is not a notification or string\";\n    return [NSString stringWithFormat:@\"expected: %@, got: none\",expectedName];\n  });\n\n  failureMessageForNotTo(^NSString *{\n    if (observer) {\n      [[NSNotificationCenter defaultCenter] removeObserver:observer];\n    }\n    if(actualIsNil) return @\"the actual value is nil/null\";\n    if(expectedIsNil) return @\"the expected value is nil/null\";\n    if(!(isNotification || isName)) return @\"the actual value is not a notification or string\";\n    return [NSString stringWithFormat:@\"expected: none, got: %@\", expectedName];\n  });\n}\n\nEXPMatcherImplementationEnd\n\nEXPMatcherAliasImplementation(notify, postNotification, (id expectedNotification))\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+raise.h",
    "content": "#import \"Expecta.h\"\n\nEXPMatcherInterface(raise, (NSString *expectedExceptionName));\n#define raiseAny() raise(nil)\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+raise.m",
    "content": "#import \"EXPMatchers+raise.h\"\n#import \"EXPDefines.h\"\n\nEXPMatcherImplementationBegin(raise, (NSString *expectedExceptionName)) {\n  __block NSException *exceptionCaught = nil;\n\n  match(^BOOL{\n    BOOL expectedExceptionCaught = NO;\n    @try {\n      ((EXPBasicBlock)actual)();\n    } @catch(NSException *e) {\n      exceptionCaught = e;\n      expectedExceptionCaught = (expectedExceptionName == nil) || [[exceptionCaught name] isEqualToString:expectedExceptionName];\n    }\n    return expectedExceptionCaught;\n  });\n\n  failureMessageForTo(^NSString *{\n    return [NSString stringWithFormat:@\"expected: %@, got: %@\",\n            expectedExceptionName ? expectedExceptionName : @\"any exception\",\n            exceptionCaught ? [exceptionCaught name] : @\"no exception\"];\n  });\n\n  failureMessageForNotTo(^NSString *{\n    return [NSString stringWithFormat:@\"expected: %@, got: %@\",\n            expectedExceptionName ? [NSString stringWithFormat:@\"not %@\", expectedExceptionName] : @\"no exception\",\n            exceptionCaught ? [exceptionCaught name] : @\"no exception\"];\n  });\n}\nEXPMatcherImplementationEnd\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+raiseWithReason.h",
    "content": "#import \"Expecta.h\"\n\nEXPMatcherInterface(raiseWithReason, (NSString *expectedExceptionName, NSString *expectedReason));\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+raiseWithReason.m",
    "content": "#import \"EXPMatchers+raiseWithReason.h\"\n#import \"EXPDefines.h\"\n\nEXPMatcherImplementationBegin(raiseWithReason, (NSString *expectedExceptionName, NSString *expectedReason)) {\n    __block NSException *exceptionCaught = nil;\n    \n    match(^BOOL{\n        BOOL expectedExceptionCaught = NO;\n        @try {\n            ((EXPBasicBlock)actual)();\n        } @catch(NSException *e) {\n            exceptionCaught = e;\n            expectedExceptionCaught = (((expectedExceptionName == nil) || [[exceptionCaught name] isEqualToString:expectedExceptionName]) &&\n                                       ((expectedReason == nil) || ([[exceptionCaught reason] isEqualToString:expectedReason])));\n        }\n        return expectedExceptionCaught;\n    });\n    \n    failureMessageForTo(^NSString *{\n        return [NSString stringWithFormat:@\"expected: %@ (%@), got: %@ (%@)\",\n                expectedExceptionName ?: @\"any exception\",\n                expectedReason ?: @\"any reason\",\n                exceptionCaught ? [exceptionCaught name] : @\"no exception\",\n                exceptionCaught ? [exceptionCaught reason] : @\"\"];\n    });\n    \n    failureMessageForNotTo(^NSString *{\n        return [NSString stringWithFormat:@\"expected: %@ (%@), got: %@ (%@)\",\n                expectedExceptionName ? [NSString stringWithFormat:@\"not %@\", expectedExceptionName] : @\"no exception\",\n                expectedReason ? [NSString stringWithFormat:@\"not '%@'\", expectedReason] : @\"no reason\",\n                exceptionCaught ? [exceptionCaught name] : @\"no exception\",\n                exceptionCaught ? [exceptionCaught reason] : @\"no reason\"];\n    });\n}\nEXPMatcherImplementationEnd\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+respondTo.h",
    "content": "#import \"Expecta.h\"\n\nEXPMatcherInterface(respondTo, (SEL expected));\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers+respondTo.m",
    "content": "#import \"EXPMatchers+respondTo.h\"\n#import \"EXPMatcherHelpers.h\"\n\nEXPMatcherImplementationBegin(respondTo, (SEL expected)) {\n  BOOL actualIsNil = (actual == nil);\n  BOOL expectedIsNull = (expected == NULL);\n\n  prerequisite (^BOOL {\n    return !(actualIsNil || expectedIsNull);\n  });\n\n  match(^BOOL {\n    return [actual respondsToSelector:expected];\n  });\n\n  failureMessageForTo(^NSString *{\n    if (actualIsNil) return @\"the object is nil/null\";\n    if (expectedIsNull) return @\"the selector is null\";\n    return [NSString stringWithFormat:@\"expected: %@ to respond to %@\", EXPDescribeObject(actual), NSStringFromSelector(expected)];\n  });\n\n  failureMessageForNotTo(^NSString *{\n    if (actualIsNil) return @\"the object is nil/null\";\n    if (expectedIsNull) return @\"the selector is null\";\n    return [NSString stringWithFormat:@\"expected: %@ not to respond to %@\", EXPDescribeObject(actual), NSStringFromSelector(expected)];\n  });\n}\nEXPMatcherImplementationEnd\n"
  },
  {
    "path": "Pods/Expecta/Expecta/Matchers/EXPMatchers.h",
    "content": "#import \"EXPMatchers+beNil.h\"\n#import \"EXPMatchers+equal.h\"\n#import \"EXPMatchers+beInstanceOf.h\"\n#import \"EXPMatchers+beKindOf.h\"\n#import \"EXPMatchers+beSubclassOf.h\"\n#import \"EXPMatchers+conformTo.h\"\n#import \"EXPMatchers+beTruthy.h\"\n#import \"EXPMatchers+beFalsy.h\"\n#import \"EXPMatchers+contain.h\"\n#import \"EXPMatchers+beSupersetOf.h\"\n#import \"EXPMatchers+haveCountOf.h\"\n#import \"EXPMatchers+beIdenticalTo.h\"\n#import \"EXPMatchers+beGreaterThan.h\"\n#import \"EXPMatchers+beGreaterThanOrEqualTo.h\"\n#import \"EXPMatchers+beLessThan.h\"\n#import \"EXPMatchers+beLessThanOrEqualTo.h\"\n#import \"EXPMatchers+beInTheRangeOf.h\"\n#import \"EXPMatchers+beCloseTo.h\"\n#import \"EXPMatchers+raise.h\"\n#import \"EXPMatchers+raiseWithReason.h\"\n#import \"EXPMatchers+respondTo.h\"\n#import \"EXPMatchers+postNotification.h\"\n#import \"EXPMatchers+beginWith.h\"\n#import \"EXPMatchers+endWith.h\"\n#import \"EXPMatchers+match.h\"\n"
  },
  {
    "path": "Pods/Expecta/Expecta/NSObject+Expecta.h",
    "content": "#import <Foundation/Foundation.h>\n\n@interface NSObject (Expecta)\n\n- (void)recordFailureWithDescription:(NSString *)description\n                              inFile:(NSString *)filename\n                              atLine:(NSUInteger)lineNumber\n                            expected:(BOOL)expected;\n\n@end\n"
  },
  {
    "path": "Pods/Expecta/Expecta/NSValue+Expecta.h",
    "content": "#import <Foundation/Foundation.h>\n\n@interface NSValue (Expecta)\n\n@property (nonatomic) const char *_EXP_objCType;\n\n@end\n"
  },
  {
    "path": "Pods/Expecta/Expecta/NSValue+Expecta.m",
    "content": "#import \"NSValue+Expecta.h\"\n#import <objc/runtime.h>\n#import \"Expecta.h\"\n\nEXPFixCategoriesBug(NSValue_Expecta);\n\n@implementation NSValue (Expecta)\n\nstatic char _EXP_typeKey;\n\n- (const char *)_EXP_objCType {\n  return [(NSString *)objc_getAssociatedObject(self, &_EXP_typeKey) cStringUsingEncoding:NSASCIIStringEncoding];\n}\n\n- (void)set_EXP_objCType:(const char *)_EXP_objCType {\n  objc_setAssociatedObject(self, &_EXP_typeKey,\n                           @(_EXP_objCType),\n                           OBJC_ASSOCIATION_COPY_NONATOMIC);\n}\n\n@end\n"
  },
  {
    "path": "Pods/Expecta/LICENSE",
    "content": "Copyright (c) 2011-2015 Specta Team - https://github.com/specta\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n"
  },
  {
    "path": "Pods/Expecta/README.md",
    "content": "#Expecta\n\n[![Build Status](http://img.shields.io/travis/specta/expecta/master.svg?style=flat)](https://travis-ci.org/specta/expecta)\n[![Pod Version](http://img.shields.io/cocoapods/v/Expecta.svg?style=flat)](http://cocoadocs.org/docsets/Expecta/)\n[![Pod Platform](http://img.shields.io/cocoapods/p/Expecta.svg?style=flat)](http://cocoadocs.org/docsets/Expecta/)\n[![Pod License](http://img.shields.io/cocoapods/l/Expecta.svg?style=flat)](https://www.apache.org/licenses/LICENSE-2.0.html)\n\nA matcher framework for Objective-C and Cocoa.\n\n## Introduction\n\nThe main advantage of using Expecta over other matcher frameworks is that you do not have to specify the data types. Also, the syntax of Expecta matchers is much more readable and does not suffer from parenthesitis.\n\n```objective-c\nexpect(@\"foo\").to.equal(@\"foo\"); // `to` is a syntactic sugar and can be safely omitted.\nexpect(foo).notTo.equal(1);\nexpect([bar isBar]).to.equal(YES);\nexpect(baz).to.equal(3.14159);\n```\n\nExpecta is framework-agnostic: it works well with XCTest and XCTest-compatible test frameworks such as [Specta](http://github.com/petejkim/specta/).\n\n\n## Installation\n\nYou can setup Expecta using [Carthage](https://github.com/Carthage/Carthage), [CocoaPods](http://github.com/CocoaPods/CocoaPods) or [completely manually](#setting-up-manually).\n\n### Carthage\n\n1. Add Expecta to your project's `Cartfile.private`:\n\n\t```ruby\n\tgithub \"specta/expecta\" \"master\"\n\t```\n\n2. Run `carthage update` in your project directory.\n3. Drag the appropriate **Expecta.framework** for your platform (located in `Carthage/Build/`) into your application’s Xcode project, and add it to your test target(s).\n\n### CocoaPods\n\n1. Add Expecta to your project's `Podfile`:\n\n\t```ruby\n\ttarget :MyApp do\n\t# Your app's dependencies\n\tend\n\n\ttarget :MyAppTests do\n\t  pod 'Expecta', '~> 1.0.0'\n\tend\n\t```\n\n2. Run `pod update` or `pod install` in your project directory.\n\n### Setting Up Manually\n\n1. Clone Expecta from Github.\n2. Run `rake` in your project directory to build the frameworks and libraries.\n3. Add a Cocoa or Cocoa Touch Unit Testing Bundle target to your Xcode project if you don't already have one.\n4. For **OS X projects**, copy and add `Expecta.framework` in the `Products/osx` folder to your project's test target.\n\n   For **iOS projects**, copy and add `Expecta.framework` in the `Products/ios` folder to your project's test target.\n\n   You can also use `libExpecta.a` if you prefer to link Expecta as a static library — iOS 7.x and below require this.\n\n6. Add `-ObjC` and `-all_load` to the **Other Linker Flags** build setting for the test target in your Xcode project.\n7. You can now use Expecta in your test classes by adding the following import:\n\n\t```objective-c\n\t@import Expecta; // If you're using Expecta.framework\n\n\t// OR\n\n\t#import <Expecta/Expecta.h> // If you're using the static library, or the framework\n\t```\n\n## Built-in Matchers\n\n> `expect(x).to.equal(y);` compares objects or primitives x and y and passes if they are identical (==) or equivalent isEqual:).\n\n> `expect(x).to.beIdenticalTo(y);` compares objects x and y and passes if they are identical and have the same memory address.\n\n> `expect(x).to.beNil();` passes if x is nil.\n\n> `expect(x).to.beTruthy();` passes if x evaluates to true (non-zero).\n\n> `expect(x).to.beFalsy();` passes if x evaluates to false (zero).\n\n> `expect(x).to.contain(y);` passes if an instance of NSArray or NSString x contains y.\n\n> `expect(x).to.beSupersetOf(y);` passes if an instance of NSArray, NSSet, NSDictionary or NSOrderedSet x contains all elements of y.\n\n> `expect(x).to.haveCountOf(y);` passes if an instance of NSArray, NSSet, NSDictionary or NSString x has a count or length of y.\n\n> `expect(x).to.beEmpty();` passes if an instance of NSArray, NSSet, NSDictionary or NSString x has a count or length of .\n\n> `expect(x).to.beInstanceOf([Foo class]);` passes if x is an instance of a class Foo.\n\n> `expect(x).to.beKindOf([Foo class]);` passes if x is an instance of a class Foo or if x is an instance of any class that inherits from the class Foo.\n\n> `expect([Foo class]).to.beSubclassOf([Bar class]);` passes if the class Foo is a subclass of the class Bar or if it is identical to the class Bar. Use beKindOf() for class clusters.\n\n> `expect(x).to.beLessThan(y);` passes if `x` is less than `y`.\n\n> `expect(x).to.beLessThanOrEqualTo(y);` passes if `x` is less than or equal to `y`.\n\n> `expect(x).to.beGreaterThan(y);` passes if `x` is greater than `y`.\n\n> `expect(x).to.beGreaterThanOrEqualTo(y);` passes if `x` is greater than or equal to `y`.\n\n> `expect(x).to.beInTheRangeOf(y,z);` passes if `x` is in the range of `y` and `z`.\n\n> `expect(x).to.beCloseTo(y);` passes if `x` is close to `y`.\n\n> `expect(x).to.beCloseToWithin(y, z);` passes if `x` is close to `y` within `z`.\n\n> `expect(^{ /* code */ }).to.raise(@\"ExceptionName\");` passes if a given block of code raises an exception named `ExceptionName`.\n\n> `expect(^{ /* code */ }).to.raiseAny();` passes if a given block of code raises any exception.\n\n> `expect(x).to.conformTo(y);` passes if `x` conforms to the protocol `y`.\n\n> `expect(x).to.respondTo(y);` passes if `x` responds to the selector `y`.\n\n> `expect(^{ /* code */ }).to.notify(@\"NotificationName\");` passes if a given block of code generates an NSNotification amed `NotificationName`.\n\n> `expect(^{ /* code */ }).to.notify(notification);` passes if a given block of code generates an NSNotification equal to the passed `notification`.\n\n> `expect(x).to.beginWith(y);` passes if an instance of NSString, NSArray, or NSOrderedSet `x` begins with `y`. Also liased by `startWith`\n\n> `expect(x).to.endWith(y);` passes if an instance of NSString, NSArray, or NSOrderedSet `x` ends with `y`.\n\n> `expect(x).to.match(y);` passes if an instance of NSString `x` matches regular expression (given as NSString) `y` one or more times.\n\n## Inverting Matchers\n\nEvery matcher's criteria can be inverted by prepending `.notTo` or `.toNot`:\n\n>`expect(x).notTo.equal(y);` compares objects or primitives x and y and passes if they are *not* equivalent.\n\n## Asynchronous Testing\n\nEvery matcher can be made to perform asynchronous testing by prepending `.will`, `.willNot` or `after(...)`:\n\n>`expect(x).will.beNil();` passes if x becomes nil before the default timeout.\n>\n>`expect(x).willNot.beNil();` passes if x becomes non-nil before the default timeout.\n>\n>`expect(x).after(3).to.beNil();` passes if x becoms nil after 3.0 seconds.\n>\n>`expect(x).after(2.5).notTo.equal(42);` passes if x doesn't equal 42 after 2.5 seconds.\n\nThe default timeout is 1.0 second and is used for all matchers if not otherwise specified. This setting can be changed by calling `[Expecta setAsynchronousTestTimeout:x]`, where `x` is the desired timeout in seconds.\n\n```objective-c\ndescribe(@\"Foo\", ^{\n  beforeAll(^{\n    // All asynchronous matching using `will` and `willNot`\n    // will have a timeout of 2.0 seconds\n    [Expecta setAsynchronousTestTimeout:2];\n  });\n\n  it(@\"will not be nil\", ^{\n    // Test case where default timeout is used\n    expect(foo).willNot.beNil();\n  });\n\n  it(@\"should equal 42 after 3 seconds\", ^{\n    // Signle case where timeout differs from the default\n    expect(foo).after(3).to.equal(42);\n  });\n});\n```\n\n## Forced Failing\n\nYou can fail a test by using the `failure` attribute. This can be used to test branching.\n\n> `failure(@\"This should not happen\");` outright fails a test.\n\n\n## Writing New Matchers\n\nWriting a new matcher is easy with special macros provided by Expecta. Take a look at how `.beKindOf()` matcher is defined:\n\n`EXPMatchers+beKindOf.h`\n\n```objective-c\n#import \"Expecta.h\"\n\nEXPMatcherInterface(beKindOf, (Class expected));\n// 1st argument is the name of the matcher function\n// 2nd argument is the list of arguments that may be passed in the function\n// call.\n// Multiple arguments are fine. (e.g. (int foo, float bar))\n\n#define beAKindOf beKindOf\n```\n\n`EXPMatchers+beKindOf.m`\n\n```objective-c\n#import \"EXPMatchers+beKindOf.h\"\n\nEXPMatcherImplementationBegin(beKindOf, (Class expected)) {\n  BOOL actualIsNil = (actual == nil);\n  BOOL expectedIsNil = (expected == nil);\n\n  prerequisite(^BOOL {\n    return !(actualIsNil || expectedIsNil);\n    // Return `NO` if matcher should fail whether or not the result is inverted\n    // using `.Not`.\n  });\n\n  match(^BOOL {\n    return [actual isKindOfClass:expected];\n    // Return `YES` if the matcher should pass, `NO` if it should not.\n    // The actual value/object is passed as `actual`.\n    // Please note that primitive values will be wrapped in NSNumber/NSValue.\n  });\n\n  failureMessageForTo(^NSString * {\n    if (actualIsNil)\n      return @\"the actual value is nil/null\";\n    if (expectedIsNil)\n      return @\"the expected value is nil/null\";\n    return [NSString\n        stringWithFormat:@\"expected: a kind of %@, \"\n                          \"got: an instance of %@, which is not a kind of %@\",\n                         [expected class], [actual class], [expected class]];\n    // Return the message to be displayed when the match function returns `YES`.\n  });\n\n  failureMessageForNotTo(^NSString * {\n    if (actualIsNil)\n      return @\"the actual value is nil/null\";\n    if (expectedIsNil)\n      return @\"the expected value is nil/null\";\n    return [NSString\n        stringWithFormat:@\"expected: not a kind of %@, \"\n                          \"got: an instance of %@, which is a kind of %@\",\n                         [expected class], [actual class], [expected class]];\n    // Return the message to be displayed when the match function returns `NO`.\n  });\n}\nEXPMatcherImplementationEnd\n```\n\n## Dynamic Predicate Matchers\n\nIt is possible to add predicate matchers by simply defining the matcher interface, with the matcher implementation being handled at runtime by delegating to the predicate method on your object.\n\nFor instance, if you have the following class:\n\n```objc\n@interface LightSwitch : NSObject\n@property (nonatomic, assign, getter=isTurnedOn) BOOL turnedOn;\n@end\n\n@implementation LightSwitch\n@synthesize turnedOn;\n@end\n```\n\nThe normal way to write an assertion that the switch is turned on would be:\n\n```objc\nexpect([lightSwitch isTurnedOn]).to.beTruthy();\n```\n\nHowever, if we define a custom predicate matcher:\n\n```objc\nEXPMatcherInterface(isTurnedOn, (void));\n```\n\n(Note: we haven't defined the matcher implementation, just it's interface)\n\nYou can now write your assertion as follows:\n\n```objc\nexpect(lightSwitch).isTurnedOn();\n```\n\n## Contribution Guidelines\n\n* Please use only spaces and indent 2 spaces at a time.\n* Please prefix instance variable names with a single underscore (`_`).\n* Please prefix custom classes and functions defined in the global scope with `EXP`.\n\n## License\n\nCopyright (c) 2012-2015 [Specta Team](https://github.com/specta?tab=members). This software is licensed under the [MIT License](http://github.com/specta/specta/raw/master/LICENSE).\n"
  },
  {
    "path": "Pods/Local Podspecs/Masonry.podspec.json",
    "content": "{\n  \"name\": \"Masonry\",\n  \"version\": \"1.1.0\",\n  \"license\": \"MIT\",\n  \"summary\": \"Harness the power of Auto Layout NSLayoutConstraints with a simplified, chainable and expressive syntax.\",\n  \"homepage\": \"https://github.com/cloudkite/Masonry\",\n  \"authors\": {\n    \"Jonas Budelmann\": \"jonas.budelmann@gmail.com\"\n  },\n  \"social_media_url\": \"http://twitter.com/cloudkite\",\n  \"source\": {\n    \"git\": \"https://github.com/cloudkite/Masonry.git\",\n    \"tag\": \"v1.1.0\"\n  },\n  \"description\": \"Masonry is a light-weight layout framework which wraps AutoLayout with a nicer syntax.\\nMasonry has its own layout DSL which provides a chainable way of describing your\\nNSLayoutConstraints which results in layout code which is more concise and readable.\\n   Masonry supports iOS and Mac OSX.\",\n  \"source_files\": \"Masonry/*.{h,m}\",\n  \"ios\": {\n    \"frameworks\": [\n      \"Foundation\",\n      \"UIKit\"\n    ]\n  },\n  \"tvos\": {\n    \"frameworks\": [\n      \"Foundation\",\n      \"UIKit\"\n    ]\n  },\n  \"osx\": {\n    \"frameworks\": [\n      \"Foundation\",\n      \"AppKit\"\n    ]\n  },\n  \"platforms\": {\n    \"ios\": \"6.0\",\n    \"osx\": \"10.7\",\n    \"tvos\": \"9.0\"\n  },\n  \"requires_arc\": true\n}\n"
  },
  {
    "path": "Pods/Pods.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t0435080233FFD861A266AB43BE3279D3 /* EXPMatchers+beNil.m in Sources */ = {isa = PBXBuildFile; fileRef = 2251A125FE1F9EE61891B85AAAE71511 /* EXPMatchers+beNil.m */; settings = {COMPILER_FLAGS = \"-fno-objc-arc\"; }; };\n\t\t045E77138594FCD0492D74EE7C22AC90 /* EXPDoubleTuple.m in Sources */ = {isa = PBXBuildFile; fileRef = 7EBF9BAD2F54920E12BA8D79EB3EE01C /* EXPDoubleTuple.m */; settings = {COMPILER_FLAGS = \"-fno-objc-arc\"; }; };\n\t\t067B3CDE5AAD4D941172A17C9EEA5916 /* NSLayoutConstraint+MASDebugAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 4AF06A246FC5C7C1E779C3BFB883040C /* NSLayoutConstraint+MASDebugAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t07B309A8727E5DBE05DB1F644F7B8D8A /* MASViewConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A54ADC5F5885AE49835C21390D7B42C /* MASViewConstraint.m */; };\n\t\t0B3330DD885757A45805E83A69E7AFFD /* EXPBlockDefinedMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 55CDC4616612ED7AA50A3E836E82B6BE /* EXPBlockDefinedMatcher.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t0CD876A643FA00F42565F0B4CFE5C360 /* Expecta.h in Headers */ = {isa = PBXBuildFile; fileRef = 50660A3CB85C3AEC478DB2211E3CD76D /* Expecta.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t0D4B6D7C17953EF6C0BEFADA699DA6D2 /* MASViewConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 194EE173246D25F2D7ED8C47FAF2ACF4 /* MASViewConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t0E8E7C035F8969CF3DC93E5490A6158B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DE147446A1225BA68EA82615B1436CC1 /* Foundation.framework */; };\n\t\t0F7BD72B0882E4D4DD27C3B914EC3857 /* MASConstraintMaker.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A28546AD6B1C73C384E28625120AED5 /* MASConstraintMaker.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t0FE4C580D709657792E5661E74F171D5 /* EXPMatchers+match.m in Sources */ = {isa = PBXBuildFile; fileRef = 10F25824C22E66EAFBAA5C0F62629D84 /* EXPMatchers+match.m */; settings = {COMPILER_FLAGS = \"-fno-objc-arc\"; }; };\n\t\t119C10C9E57E10B254B8B13A06D332F4 /* EXPMatchers+raise.h in Headers */ = {isa = PBXBuildFile; fileRef = 10F0627165FE862DA384F755B45FD6A7 /* EXPMatchers+raise.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t11B98D7660EAD3B22A6F8DAFAC8E96F8 /* EXPMatchers+haveCountOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 75992ED787187D30BE4B5F69BEF5EE30 /* EXPMatchers+haveCountOf.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t120A345233C900C50BAD6F3950FAB8FA /* NSValue+Expecta.h in Headers */ = {isa = PBXBuildFile; fileRef = 82F3CFD18ABD64DD8E88230EE43D854A /* NSValue+Expecta.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t12ADCD5E7598997A3486E62E784DB241 /* EXPMatchers.h in Headers */ = {isa = PBXBuildFile; fileRef = 61A4675B57359AB9653085CE195438A0 /* EXPMatchers.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19CDE56AC4388C284D9A394F64E0530C /* EXPMatchers+beNil.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D20E91754698E478D6D3E468D5EC2C8 /* EXPMatchers+beNil.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t1AF47B7901796231A318934C2F0DDC04 /* MASLayoutConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = DBCE4AE4A77A457256CB505688569B23 /* MASLayoutConstraint.m */; };\n\t\t1C74D210067A2D584AA672E61F246ECC /* EXPExpect.m in Sources */ = {isa = PBXBuildFile; fileRef = CBEA9FE72B61C2E594B205165A09ECA7 /* EXPExpect.m */; settings = {COMPILER_FLAGS = \"-fno-objc-arc\"; }; };\n\t\t1D622FBC8A4262E6B398F5CCCB1D9650 /* EXPMatchers+raiseWithReason.m in Sources */ = {isa = PBXBuildFile; fileRef = 228937A58D5E1EF34C595366A42C018E /* EXPMatchers+raiseWithReason.m */; settings = {COMPILER_FLAGS = \"-fno-objc-arc\"; }; };\n\t\t1E2343F7AE04C5D386CCD455E84F13E0 /* EXPMatchers+beTruthy.m in Sources */ = {isa = PBXBuildFile; fileRef = 56B7202FE09B3976D80FD78EF63258F6 /* EXPMatchers+beTruthy.m */; settings = {COMPILER_FLAGS = \"-fno-objc-arc\"; }; };\n\t\t1F002B6CD1662BADA6556D76FFFE0B96 /* Pods-Masonry iOS Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 5478FCE860D549499E9B142210C4E612 /* Pods-Masonry iOS Tests-dummy.m */; };\n\t\t24FF4A3B66A2F383BA14790790108406 /* EXPMatchers+haveCountOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 663B481626C7E7C19A7A42120FFC0E77 /* EXPMatchers+haveCountOf.m */; settings = {COMPILER_FLAGS = \"-fno-objc-arc\"; }; };\n\t\t2523657BEE249A532CDFD495AC911F39 /* EXPMatchers+beLessThanOrEqualTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B14D8EAF812AD82BC8BA17C3DE5B573 /* EXPMatchers+beLessThanOrEqualTo.m */; settings = {COMPILER_FLAGS = \"-fno-objc-arc\"; }; };\n\t\t28BC58EE3C7374C4C2DEF6D029011C84 /* EXPMatchers+beInTheRangeOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 3B014C13318B98A27EB6C15EB341678A /* EXPMatchers+beInTheRangeOf.m */; settings = {COMPILER_FLAGS = \"-fno-objc-arc\"; }; };\n\t\t28DD12DAF70F49B558112AA5E2809F19 /* MASUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D2BB147FD43518883D32412C882B443 /* MASUtilities.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t2C8FBF03AD0FD40587A84D2994D758B4 /* NSArray+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 01B7B1098F825865196B739BF9E36C04 /* NSArray+MASAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t2C944499E3BB44E17E10959A76BBAEA3 /* EXPMatchers+beGreaterThan.m in Sources */ = {isa = PBXBuildFile; fileRef = B1B09BEB8A5DCEEF709CBA1F5CEE0B3B /* EXPMatchers+beGreaterThan.m */; settings = {COMPILER_FLAGS = \"-fno-objc-arc\"; }; };\n\t\t2D814705CE041C701138BD9147CB21AA /* MASConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = AEEF83956F9DBD675F4C2EF46B690567 /* MASConstraint.m */; };\n\t\t31D27BF6DE823F040465EEC46431E22E /* EXPExpect.h in Headers */ = {isa = PBXBuildFile; fileRef = 7735CC4570D0C643EF99240D43284C4A /* EXPExpect.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t38B02E0B37B1F0225FBE396BD51461D9 /* ViewController+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F83FB50741120EF2F5F9723A76C9099 /* ViewController+MASAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t391226D83570CA724B533A2C609A5EF5 /* EXPMatchers+beSupersetOf.m in Sources */ = {isa = PBXBuildFile; fileRef = DD2917440B958D545CC2EE8F2240D37E /* EXPMatchers+beSupersetOf.m */; settings = {COMPILER_FLAGS = \"-fno-objc-arc\"; }; };\n\t\t3AB6F716B6B591E90D2E2CB1434B55BB /* NSArray+MASShorthandAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 593CB40473F1E441BC65F0044379DA72 /* NSArray+MASShorthandAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t3E2C9C19590011C8FE1F3966F4AF52D5 /* MASConstraint+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 48FB054B1F997F66CA0E17DB3B26223C /* MASConstraint+Private.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t409B7E241957B5C0ADFA4DEA82CDA7AB /* View+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 02DA3844CF514753E9CC1AE66A762D26 /* View+MASAdditions.m */; };\n\t\t42FA711D0BA099127544F7A978075C9D /* MASViewAttribute.h in Headers */ = {isa = PBXBuildFile; fileRef = AE58747F7ED5EE1564AC83C82F3C9DEA /* MASViewAttribute.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t47E018E82EA7801C93BE8D632FBAA3EC /* EXPMatchers+beCloseTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 1FD8638DC7137054523DFDCD37576559 /* EXPMatchers+beCloseTo.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t4943F7D828D56A874ACCA7AC312F863B /* EXPMatchers+beCloseTo.m in Sources */ = {isa = PBXBuildFile; fileRef = C3EDF7B170EC221838CC2A773B0CDC59 /* EXPMatchers+beCloseTo.m */; settings = {COMPILER_FLAGS = \"-fno-objc-arc\"; }; };\n\t\t4B76A75E1FA371E7EF6C821CD52514A1 /* EXPMatchers+equal.h in Headers */ = {isa = PBXBuildFile; fileRef = 8780C4CC76E68DD8EA97F0E4B3287D64 /* EXPMatchers+equal.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t4C2D57EF131B9A1AA1A65F36DA717BC7 /* EXPMatchers+beSubclassOf.h in Headers */ = {isa = PBXBuildFile; fileRef = CBFE4C2A8558AE9FF24FCA67343113E2 /* EXPMatchers+beSubclassOf.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t4E89738B989CA5A6018187E52FE0E216 /* EXPMatchers+raiseWithReason.h in Headers */ = {isa = PBXBuildFile; fileRef = 13852BA59629381181212D4693F5CEC8 /* EXPMatchers+raiseWithReason.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t4EB308BF802E6F21BABDA8B8718CC7AB /* NSValue+Expecta.m in Sources */ = {isa = PBXBuildFile; fileRef = ADBF0443B4181A4D41268AB9F62AA73C /* NSValue+Expecta.m */; settings = {COMPILER_FLAGS = \"-fno-objc-arc\"; }; };\n\t\t4F51EE6366844B6C34DD13F77D9A76CA /* View+MASShorthandAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B80588779A2286A5E054DE4D0DDC03A /* View+MASShorthandAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t4FE0FA38EA4BC9922DB982A2FB4B504A /* EXPMatchers+endWith.h in Headers */ = {isa = PBXBuildFile; fileRef = 5EEECBC2AC825C5498273AB762F561EF /* EXPMatchers+endWith.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t58E38027B0A4F6CA7BE54F0AE8D4885B /* EXPMatchers+conformTo.m in Sources */ = {isa = PBXBuildFile; fileRef = C565C77B7F3AC98E871994970653A958 /* EXPMatchers+conformTo.m */; settings = {COMPILER_FLAGS = \"-fno-objc-arc\"; }; };\n\t\t5D50DA13C7A8B2AF549AA4F05E69F9F4 /* EXPMatchers+respondTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 9616A699420336DD8F227A5C41E36432 /* EXPMatchers+respondTo.m */; settings = {COMPILER_FLAGS = \"-fno-objc-arc\"; }; };\n\t\t5EB8C17604A5FCA7B0F9174850D0441F /* EXPMatchers+beginWith.h in Headers */ = {isa = PBXBuildFile; fileRef = 49E1D663D9B2CCDFFC739982A06D57C5 /* EXPMatchers+beginWith.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t61E89F8C6D2C5658ECADCC9BE04E4E0F /* EXPMatchers+beFalsy.h in Headers */ = {isa = PBXBuildFile; fileRef = 481E644C11C98774BE98309BA0A2CB6C /* EXPMatchers+beFalsy.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t6209E20926D79222E59F58B962BFAA1E /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DDF04AEFCC4B011565BFFBFFF52B2FCE /* UIKit.framework */; };\n\t\t62A200B73B76F6740A3EEA168FBFFF41 /* EXPMatchers+match.h in Headers */ = {isa = PBXBuildFile; fileRef = 88907F8AEA4C9B20AEB63E2047F54502 /* EXPMatchers+match.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t63CDCCAC82CBC33021220531D93213A2 /* EXPMatcherHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BD870522AC013353A13269A9CDEA664 /* EXPMatcherHelpers.m */; settings = {COMPILER_FLAGS = \"-fno-objc-arc\"; }; };\n\t\t643DE0287F1066D083368EAC928DF078 /* EXPFloatTuple.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EEA345137E6F1B86DEC1ECEA04BEBD5 /* EXPFloatTuple.m */; settings = {COMPILER_FLAGS = \"-fno-objc-arc\"; }; };\n\t\t660BEA8AC93BC6DF29A73D1570C10120 /* ExpectaSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = 80708E2496B3C69452E559E575CD1D47 /* ExpectaSupport.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t69DCF5F3A96B49720B728BA6EF5E095A /* NSObject+Expecta.h in Headers */ = {isa = PBXBuildFile; fileRef = C0F0C9DE4D36C0025D1A49B0106644A4 /* NSObject+Expecta.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t6DA9AB53FE1CA890DF5FB0468FA0F476 /* Pods-Masonry iOS Examples-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0F2DF08BADAA0D595D88E9A5F2F4AE8F /* Pods-Masonry iOS Examples-dummy.m */; };\n\t\t7100640F169A4EC93CA15F0D8B5AFE8F /* EXPMatchers+beIdenticalTo.h in Headers */ = {isa = PBXBuildFile; fileRef = C98931A95CEDDC4098458BEB8FF864ED /* EXPMatchers+beIdenticalTo.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t71FBC2F8907E29EB767026E6A08F7EEF /* EXPMatchers+beSubclassOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 98AFDA78C0BA149C8976CF3889419AA7 /* EXPMatchers+beSubclassOf.m */; settings = {COMPILER_FLAGS = \"-fno-objc-arc\"; }; };\n\t\t76A58C6131A1264FDE3DADAEA0AC83F5 /* MASCompositeConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = E66C1687519434878576CA9CA479B868 /* MASCompositeConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t76FFE0A5253E08250D976CAE912B89D9 /* EXPMatchers+beSupersetOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 2F3869A1E846595FC8A567E9EF91600E /* EXPMatchers+beSupersetOf.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t7A50398D1D6F1D22165ECAA192F9D1CF /* EXPMatchers+respondTo.h in Headers */ = {isa = PBXBuildFile; fileRef = D242BA4F2D8595007967657C3EBF92CE /* EXPMatchers+respondTo.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t7C4FFAF7E7BD72B4775C2966898B3A83 /* EXPMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 8F3B66464C8F4DC1EDFFEA58A98F9B5C /* EXPMatcher.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t80408C0CF9D13D89E500446267DD0041 /* NSLayoutConstraint+MASDebugAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 358E8501C72A8B4A191589A7570FCC15 /* NSLayoutConstraint+MASDebugAdditions.m */; };\n\t\t863C5CC8F4698A0C85AB53C9B072D889 /* EXPMatchers+equal.m in Sources */ = {isa = PBXBuildFile; fileRef = BFE37A3BBF6AEB4B7163AAE1BD655CDD /* EXPMatchers+equal.m */; settings = {COMPILER_FLAGS = \"-fno-objc-arc\"; }; };\n\t\t87C087B7F1B93C2DD0B42A93B3E9D9C4 /* EXPMatchers+conformTo.h in Headers */ = {isa = PBXBuildFile; fileRef = E36B444420761FDAD709E0D161F812C1 /* EXPMatchers+conformTo.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t885C2534832AF6B1DFA98FA19C4D9994 /* EXPMatchers+beKindOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 1F4C6FD0E96DEE3BA24A38BA86A2EE83 /* EXPMatchers+beKindOf.m */; settings = {COMPILER_FLAGS = \"-fno-objc-arc\"; }; };\n\t\t8994485FB1398BF225377D4C109CA38B /* EXPMatchers+beKindOf.h in Headers */ = {isa = PBXBuildFile; fileRef = E1DAB7DBD1812988117194D50ACE07A0 /* EXPMatchers+beKindOf.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t94C94F986312F61D076591DBCEC07104 /* EXPMatchers+beInTheRangeOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 10904D53FD27FC7E59BF92201687D517 /* EXPMatchers+beInTheRangeOf.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t9F196561D7369053FA6D9FD4374E85B9 /* MASConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F34293A1C0AD9FD7013D79B910FE7E5 /* MASConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tA12B39559E464A1089E4389274973616 /* EXPMatchers+beLessThan.m in Sources */ = {isa = PBXBuildFile; fileRef = E4CFDB3889CFAC5E05497101D3F82C0A /* EXPMatchers+beLessThan.m */; settings = {COMPILER_FLAGS = \"-fno-objc-arc\"; }; };\n\t\tA193FB77C3606DE847937B79BD869F26 /* EXPMatchers+beTruthy.h in Headers */ = {isa = PBXBuildFile; fileRef = 0AAF8809A7BBA8A694825848A7EF07D2 /* EXPMatchers+beTruthy.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tA5CB8C92268FCAC7B00F12EE55B43338 /* EXPMatchers+raise.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D1DE5A0855C3142FCDE4471717B4C92 /* EXPMatchers+raise.m */; settings = {COMPILER_FLAGS = \"-fno-objc-arc\"; }; };\n\t\tA8A60B0CEECC7D7C9D8CA6B2DC811C64 /* MASViewAttribute.m in Sources */ = {isa = PBXBuildFile; fileRef = BB267133DB0AAEF96D19D2085B85E06D /* MASViewAttribute.m */; };\n\t\tA904D2D6242F68CC3B959E2B0FC8B4F9 /* ExpectaObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C060BC1E7116BC87FA94B45087D771B /* ExpectaObject.m */; settings = {COMPILER_FLAGS = \"-fno-objc-arc\"; }; };\n\t\tAC80F28E4B250E6535484F5269566FF0 /* Pods-MasonryTestsLoader-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 40B4963257702BBD9CAF03BECB9D16F0 /* Pods-MasonryTestsLoader-dummy.m */; };\n\t\tAEEF0434A83EF5F1949252A8409F71DD /* MASLayoutConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 6CBE98CC00A3DD78FC850D713EB164BE /* MASLayoutConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tAFD341AE846EE3D48F3832FB858FD31C /* View+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 3683CAB8F5A6384907767DF9817A4B09 /* View+MASAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tB1820A5E15F22942E386756A0473E808 /* EXPMatchers+beLessThanOrEqualTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 122F547802BB911D1B9F0D52C33B568D /* EXPMatchers+beLessThanOrEqualTo.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tB1964DABF421B8BA6BB9AB9E1CC0E387 /* EXPMatchers+beGreaterThan.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F04D682D92E0B2B40FCE8BE214BDA61 /* EXPMatchers+beGreaterThan.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tB241CF27E6B9D2DBC3236BDC1BDA5B69 /* EXPMatchers+postNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 2C5D45C77F469660C6D6155EA159784F /* EXPMatchers+postNotification.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tB2880B5D7D91AACFCEF345934CFEBA55 /* EXPMatchers+beInstanceOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 5C71CEC9EB6A0B127237D9BE7AAB6081 /* EXPMatchers+beInstanceOf.m */; settings = {COMPILER_FLAGS = \"-fno-objc-arc\"; }; };\n\t\tB66BCA2DD1043A4356B5286F346F8049 /* Masonry-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 585243F6624B3378D0DA0CF280D9F8EA /* Masonry-dummy.m */; };\n\t\tB709C0890B67EB6C1AB9B9738CDBEEC6 /* EXPMatchers+beIdenticalTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 687D54A17077AB5A8B750650CACBF3B3 /* EXPMatchers+beIdenticalTo.m */; settings = {COMPILER_FLAGS = \"-fno-objc-arc\"; }; };\n\t\tB72D6F9CD6DCCF9339A269BC0CABA88C /* ExpectaObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 4730731B518BAFE15142AA613F01F2EB /* ExpectaObject.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tB7FB8C30C577D624F5E0B1FDB3E6CD8B /* EXPUnsupportedObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F1DE5E5E11E91062A5DA859EDCE3C49 /* EXPUnsupportedObject.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tBAA98BF425D78B9F9FB405680EA0CB3D /* EXPMatchers+beLessThan.h in Headers */ = {isa = PBXBuildFile; fileRef = 8140BF73F39AA0E15893403B6B2DCD9D /* EXPMatchers+beLessThan.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tBB0E62892680D990AC167E4629F95062 /* EXPMatchers+beGreaterThanOrEqualTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 59623D6FE7CFF9076F3ACA8D492A0A1E /* EXPMatchers+beGreaterThanOrEqualTo.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tC091203A57422574B3263D1E9BA53A87 /* ExpectaSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = D8A10F7BEA143532312B95447C5A5B7C /* ExpectaSupport.m */; settings = {COMPILER_FLAGS = \"-fno-objc-arc\"; }; };\n\t\tC498F24E736A80A0F6C440DBC33AF494 /* EXPMatchers+beFalsy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2547652506D61F49D4B0882ED6B64B16 /* EXPMatchers+beFalsy.m */; settings = {COMPILER_FLAGS = \"-fno-objc-arc\"; }; };\n\t\tC64C4032827660F5ED12E425857BE673 /* EXPMatcherHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A3DE5BA9F1F1BFDC50FA062018A4FF9 /* EXPMatcherHelpers.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tC670343470EAC260E60ABD463CC39E2D /* EXPMatchers+beginWith.m in Sources */ = {isa = PBXBuildFile; fileRef = 34177F23961DA5ABF45170FA2037F8C1 /* EXPMatchers+beginWith.m */; settings = {COMPILER_FLAGS = \"-fno-objc-arc\"; }; };\n\t\tCC995F4F36E9D6237AFC6F729364B867 /* EXPBlockDefinedMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 57E3007D6F08B4F287C35811E372C9D8 /* EXPBlockDefinedMatcher.m */; settings = {COMPILER_FLAGS = \"-fno-objc-arc\"; }; };\n\t\tCDA268F5B643324DD61A0E25BD4179ED /* EXPMatchers+beGreaterThanOrEqualTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C9A0D7E24E5DCE2B938FC4C4901B353 /* EXPMatchers+beGreaterThanOrEqualTo.m */; settings = {COMPILER_FLAGS = \"-fno-objc-arc\"; }; };\n\t\tD2BD7E6904BDD20074AB5A8B04400EB2 /* ViewController+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 5A30D7435201DE311E06A35CEA390581 /* ViewController+MASAdditions.m */; };\n\t\tD3B4D194BECF709DFA85E588891B885E /* EXPMatchers+contain.h in Headers */ = {isa = PBXBuildFile; fileRef = 44127DD3F6457EEB52F5B0B644C748E5 /* EXPMatchers+contain.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tD69C7F6B7677C82AABBF7FE0057CE931 /* Masonry.h in Headers */ = {isa = PBXBuildFile; fileRef = FC8A8F10966AF0D4BEF49EBF2CFF4C0C /* Masonry.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tD904A66B88A11E0356D09C38CA20102D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DE147446A1225BA68EA82615B1436CC1 /* Foundation.framework */; };\n\t\tD94F3CDE976C052BF0BD112E257A7F19 /* EXPMatchers+postNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = 065A35D6EF149C4D848B49BAA59DAE1E /* EXPMatchers+postNotification.m */; settings = {COMPILER_FLAGS = \"-fno-objc-arc\"; }; };\n\t\tDBA55CF16CB958E3F3D38079F18EBC06 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DE147446A1225BA68EA82615B1436CC1 /* Foundation.framework */; };\n\t\tDFFE7035A8177E14B29DE53973AE3B1E /* EXPMatchers+beInstanceOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 5B9D165EC173241B2C9EFF6FDB72491D /* EXPMatchers+beInstanceOf.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tE220D02AE7833F8B9202B0304FFBB644 /* MASCompositeConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 8524B32277BDB7E1A36FB5F3EB3BAC6B /* MASCompositeConstraint.m */; };\n\t\tE846C94664199B4B993866C557EEC20D /* NSArray+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A31938A554F154B402756FCBFE7167B /* NSArray+MASAdditions.m */; };\n\t\tE95DE019212836608A35BF3270AADF17 /* Expecta-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D50A0454EC2ACA566EC1A84F70DBE96A /* Expecta-dummy.m */; };\n\t\tEBFA48D334098E6BAB801E6FB8F756C0 /* MASConstraintMaker.m in Sources */ = {isa = PBXBuildFile; fileRef = EB9E853361218FD2866DABF9A3E384D5 /* MASConstraintMaker.m */; };\n\t\tED087996824EE3256B222E3BAEBAB14D /* EXPUnsupportedObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 035F256E7A521234689F67B3EC887567 /* EXPUnsupportedObject.m */; settings = {COMPILER_FLAGS = \"-fno-objc-arc\"; }; };\n\t\tEE5A8DD4F03A890084772DA66DE9BE93 /* EXPDoubleTuple.h in Headers */ = {isa = PBXBuildFile; fileRef = AEDF716CFA2F6ADA12E2C6D67EF8B2D2 /* EXPDoubleTuple.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tEFCF1E2468BC28069F92B4702B5DD463 /* EXPDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 7F338BE8E88D6EB9496878863145B7C5 /* EXPDefines.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tF0B56A7D38A399A2F67F9920C9526A66 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DE147446A1225BA68EA82615B1436CC1 /* Foundation.framework */; };\n\t\tF3D6C90DF502E4B6BFA4B4B950FB176B /* EXPFloatTuple.h in Headers */ = {isa = PBXBuildFile; fileRef = 63BB2BA348CAEB74A836E775BF8ABE2C /* EXPFloatTuple.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tF589CF64CC8ED22D9F37824176FBBB72 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DE147446A1225BA68EA82615B1436CC1 /* Foundation.framework */; };\n\t\tF7B20B4187947E3B6B93F0457C239D0B /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E2D9897D646E2BB9FBF73704C04440B2 /* XCTest.framework */; };\n\t\tF8E39087737225714939DB0252FB1114 /* EXPMatchers+endWith.m in Sources */ = {isa = PBXBuildFile; fileRef = B20D7BAA1D4E85394D4C0BCBCB2BF960 /* EXPMatchers+endWith.m */; settings = {COMPILER_FLAGS = \"-fno-objc-arc\"; }; };\n\t\tFE84239BE923F217FD38E45B4F770EFD /* EXPMatchers+contain.m in Sources */ = {isa = PBXBuildFile; fileRef = DB37BB623433F136572448D26D6FB70A /* EXPMatchers+contain.m */; settings = {COMPILER_FLAGS = \"-fno-objc-arc\"; }; };\n/* End PBXBuildFile section */\n\n/* Begin PBXContainerItemProxy section */\n\t\t3A31C048AC5B5E5AB145E49BF610B911 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = 46D68D26DCAAC4D999D549BA45F0B0EC;\n\t\t\tremoteInfo = Expecta;\n\t\t};\n\t\t5E51BB7C485C3BB1001A7E9EF94414CF /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = 9DC8D9E02903E93BD0B2FEC9D846EA20;\n\t\t\tremoteInfo = Masonry;\n\t\t};\n\t\tAA5F0BBF6F9F116C791133368DE92755 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = 9DC8D9E02903E93BD0B2FEC9D846EA20;\n\t\t\tremoteInfo = Masonry;\n\t\t};\n/* End PBXContainerItemProxy section */\n\n/* Begin PBXFileReference section */\n\t\t01B7B1098F825865196B739BF9E36C04 /* NSArray+MASAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = \"NSArray+MASAdditions.h\"; sourceTree = \"<group>\"; };\n\t\t02DA3844CF514753E9CC1AE66A762D26 /* View+MASAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = \"View+MASAdditions.m\"; sourceTree = \"<group>\"; };\n\t\t0341D10523364E42D0E6F9935E3DA6DE /* Pods-Masonry iOS Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = \"Pods-Masonry iOS Tests-frameworks.sh\"; sourceTree = \"<group>\"; };\n\t\t035F256E7A521234689F67B3EC887567 /* EXPUnsupportedObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPUnsupportedObject.m; path = Expecta/EXPUnsupportedObject.m; sourceTree = \"<group>\"; };\n\t\t065A35D6EF149C4D848B49BAA59DAE1E /* EXPMatchers+postNotification.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = \"EXPMatchers+postNotification.m\"; path = \"Expecta/Matchers/EXPMatchers+postNotification.m\"; sourceTree = \"<group>\"; };\n\t\t0792517CDD83AC956FA10DA378F7C590 /* Pods-MasonryTestsLoader-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = \"Pods-MasonryTestsLoader-resources.sh\"; sourceTree = \"<group>\"; };\n\t\t0A28546AD6B1C73C384E28625120AED5 /* MASConstraintMaker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MASConstraintMaker.h; sourceTree = \"<group>\"; };\n\t\t0A3DE5BA9F1F1BFDC50FA062018A4FF9 /* EXPMatcherHelpers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPMatcherHelpers.h; path = Expecta/Matchers/EXPMatcherHelpers.h; sourceTree = \"<group>\"; };\n\t\t0AAF8809A7BBA8A694825848A7EF07D2 /* EXPMatchers+beTruthy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = \"EXPMatchers+beTruthy.h\"; path = \"Expecta/Matchers/EXPMatchers+beTruthy.h\"; sourceTree = \"<group>\"; };\n\t\t0F2DF08BADAA0D595D88E9A5F2F4AE8F /* Pods-Masonry iOS Examples-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = \"Pods-Masonry iOS Examples-dummy.m\"; sourceTree = \"<group>\"; };\n\t\t10904D53FD27FC7E59BF92201687D517 /* EXPMatchers+beInTheRangeOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = \"EXPMatchers+beInTheRangeOf.h\"; path = \"Expecta/Matchers/EXPMatchers+beInTheRangeOf.h\"; sourceTree = \"<group>\"; };\n\t\t10A477660D2D97AEF58A6795020511A9 /* libPods-Masonry iOS Tests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = \"libPods-Masonry iOS Tests.a\"; path = \"libPods-Masonry iOS Tests.a\"; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t10F0627165FE862DA384F755B45FD6A7 /* EXPMatchers+raise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = \"EXPMatchers+raise.h\"; path = \"Expecta/Matchers/EXPMatchers+raise.h\"; sourceTree = \"<group>\"; };\n\t\t10F25824C22E66EAFBAA5C0F62629D84 /* EXPMatchers+match.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = \"EXPMatchers+match.m\"; path = \"Expecta/Matchers/EXPMatchers+match.m\"; sourceTree = \"<group>\"; };\n\t\t122F547802BB911D1B9F0D52C33B568D /* EXPMatchers+beLessThanOrEqualTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = \"EXPMatchers+beLessThanOrEqualTo.h\"; path = \"Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.h\"; sourceTree = \"<group>\"; };\n\t\t13852BA59629381181212D4693F5CEC8 /* EXPMatchers+raiseWithReason.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = \"EXPMatchers+raiseWithReason.h\"; path = \"Expecta/Matchers/EXPMatchers+raiseWithReason.h\"; sourceTree = \"<group>\"; };\n\t\t190660A7B90AD2F0323CF9185E32C8D5 /* Expecta-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = \"Expecta-prefix.pch\"; sourceTree = \"<group>\"; };\n\t\t194EE173246D25F2D7ED8C47FAF2ACF4 /* MASViewConstraint.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MASViewConstraint.h; sourceTree = \"<group>\"; };\n\t\t1B998D4CCC665C40E8A45CF07DFD7ABC /* Pods-Masonry iOS Examples.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = \"Pods-Masonry iOS Examples.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t1C060BC1E7116BC87FA94B45087D771B /* ExpectaObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ExpectaObject.m; path = Expecta/ExpectaObject.m; sourceTree = \"<group>\"; };\n\t\t1C13229D7A9FD06FAA259C99FB5A6E11 /* Pods-Masonry iOS Examples-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = \"Pods-Masonry iOS Examples-resources.sh\"; sourceTree = \"<group>\"; };\n\t\t1D20E91754698E478D6D3E468D5EC2C8 /* EXPMatchers+beNil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = \"EXPMatchers+beNil.h\"; path = \"Expecta/Matchers/EXPMatchers+beNil.h\"; sourceTree = \"<group>\"; };\n\t\t1F04D682D92E0B2B40FCE8BE214BDA61 /* EXPMatchers+beGreaterThan.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = \"EXPMatchers+beGreaterThan.h\"; path = \"Expecta/Matchers/EXPMatchers+beGreaterThan.h\"; sourceTree = \"<group>\"; };\n\t\t1F1DE5E5E11E91062A5DA859EDCE3C49 /* EXPUnsupportedObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPUnsupportedObject.h; path = Expecta/EXPUnsupportedObject.h; sourceTree = \"<group>\"; };\n\t\t1F4C6FD0E96DEE3BA24A38BA86A2EE83 /* EXPMatchers+beKindOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = \"EXPMatchers+beKindOf.m\"; path = \"Expecta/Matchers/EXPMatchers+beKindOf.m\"; sourceTree = \"<group>\"; };\n\t\t1FD8638DC7137054523DFDCD37576559 /* EXPMatchers+beCloseTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = \"EXPMatchers+beCloseTo.h\"; path = \"Expecta/Matchers/EXPMatchers+beCloseTo.h\"; sourceTree = \"<group>\"; };\n\t\t2251A125FE1F9EE61891B85AAAE71511 /* EXPMatchers+beNil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = \"EXPMatchers+beNil.m\"; path = \"Expecta/Matchers/EXPMatchers+beNil.m\"; sourceTree = \"<group>\"; };\n\t\t228937A58D5E1EF34C595366A42C018E /* EXPMatchers+raiseWithReason.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = \"EXPMatchers+raiseWithReason.m\"; path = \"Expecta/Matchers/EXPMatchers+raiseWithReason.m\"; sourceTree = \"<group>\"; };\n\t\t2547652506D61F49D4B0882ED6B64B16 /* EXPMatchers+beFalsy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = \"EXPMatchers+beFalsy.m\"; path = \"Expecta/Matchers/EXPMatchers+beFalsy.m\"; sourceTree = \"<group>\"; };\n\t\t2A31938A554F154B402756FCBFE7167B /* NSArray+MASAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = \"NSArray+MASAdditions.m\"; sourceTree = \"<group>\"; };\n\t\t2A7DB9040882B1058689C275628BAD96 /* libExpecta.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libExpecta.a; path = libExpecta.a; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t2B6A8C9B5A40329ADEFB0567ED8489DC /* libMasonry.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libMasonry.a; path = libMasonry.a; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t2B80588779A2286A5E054DE4D0DDC03A /* View+MASShorthandAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = \"View+MASShorthandAdditions.h\"; sourceTree = \"<group>\"; };\n\t\t2C5D45C77F469660C6D6155EA159784F /* EXPMatchers+postNotification.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = \"EXPMatchers+postNotification.h\"; path = \"Expecta/Matchers/EXPMatchers+postNotification.h\"; sourceTree = \"<group>\"; };\n\t\t2F3869A1E846595FC8A567E9EF91600E /* EXPMatchers+beSupersetOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = \"EXPMatchers+beSupersetOf.h\"; path = \"Expecta/Matchers/EXPMatchers+beSupersetOf.h\"; sourceTree = \"<group>\"; };\n\t\t34177F23961DA5ABF45170FA2037F8C1 /* EXPMatchers+beginWith.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = \"EXPMatchers+beginWith.m\"; path = \"Expecta/Matchers/EXPMatchers+beginWith.m\"; sourceTree = \"<group>\"; };\n\t\t358E8501C72A8B4A191589A7570FCC15 /* NSLayoutConstraint+MASDebugAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = \"NSLayoutConstraint+MASDebugAdditions.m\"; sourceTree = \"<group>\"; };\n\t\t3683CAB8F5A6384907767DF9817A4B09 /* View+MASAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = \"View+MASAdditions.h\"; sourceTree = \"<group>\"; };\n\t\t3ABABA36A05ECCDA76F9388C3A7262E8 /* Pods-Masonry iOS Examples-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = \"Pods-Masonry iOS Examples-acknowledgements.plist\"; sourceTree = \"<group>\"; };\n\t\t3B014C13318B98A27EB6C15EB341678A /* EXPMatchers+beInTheRangeOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = \"EXPMatchers+beInTheRangeOf.m\"; path = \"Expecta/Matchers/EXPMatchers+beInTheRangeOf.m\"; sourceTree = \"<group>\"; };\n\t\t3D0C38F1CACBCE8726531E82CF48BE6A /* Pods-Masonry iOS Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = \"Pods-Masonry iOS Tests-acknowledgements.plist\"; sourceTree = \"<group>\"; };\n\t\t40B4963257702BBD9CAF03BECB9D16F0 /* Pods-MasonryTestsLoader-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = \"Pods-MasonryTestsLoader-dummy.m\"; sourceTree = \"<group>\"; };\n\t\t41073685DCEF4DD54806A297165DB39F /* Pods-MasonryTestsLoader.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = \"Pods-MasonryTestsLoader.debug.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t44127DD3F6457EEB52F5B0B644C748E5 /* EXPMatchers+contain.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = \"EXPMatchers+contain.h\"; path = \"Expecta/Matchers/EXPMatchers+contain.h\"; sourceTree = \"<group>\"; };\n\t\t4730731B518BAFE15142AA613F01F2EB /* ExpectaObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ExpectaObject.h; path = Expecta/ExpectaObject.h; sourceTree = \"<group>\"; };\n\t\t481E644C11C98774BE98309BA0A2CB6C /* EXPMatchers+beFalsy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = \"EXPMatchers+beFalsy.h\"; path = \"Expecta/Matchers/EXPMatchers+beFalsy.h\"; sourceTree = \"<group>\"; };\n\t\t489F09523F5700F4F414FA98E0BDEEE4 /* Expecta.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Expecta.xcconfig; sourceTree = \"<group>\"; };\n\t\t48FB054B1F997F66CA0E17DB3B26223C /* MASConstraint+Private.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = \"MASConstraint+Private.h\"; sourceTree = \"<group>\"; };\n\t\t49E1D663D9B2CCDFFC739982A06D57C5 /* EXPMatchers+beginWith.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = \"EXPMatchers+beginWith.h\"; path = \"Expecta/Matchers/EXPMatchers+beginWith.h\"; sourceTree = \"<group>\"; };\n\t\t4AF06A246FC5C7C1E779C3BFB883040C /* NSLayoutConstraint+MASDebugAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = \"NSLayoutConstraint+MASDebugAdditions.h\"; sourceTree = \"<group>\"; };\n\t\t4B6B3284B56CCD1FFA3F49D1751D4763 /* Pods-MasonryTestsLoader-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = \"Pods-MasonryTestsLoader-acknowledgements.markdown\"; sourceTree = \"<group>\"; };\n\t\t4EEA345137E6F1B86DEC1ECEA04BEBD5 /* EXPFloatTuple.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPFloatTuple.m; path = Expecta/EXPFloatTuple.m; sourceTree = \"<group>\"; };\n\t\t50660A3CB85C3AEC478DB2211E3CD76D /* Expecta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Expecta.h; path = Expecta/Expecta.h; sourceTree = \"<group>\"; };\n\t\t5478FCE860D549499E9B142210C4E612 /* Pods-Masonry iOS Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = \"Pods-Masonry iOS Tests-dummy.m\"; sourceTree = \"<group>\"; };\n\t\t55CDC4616612ED7AA50A3E836E82B6BE /* EXPBlockDefinedMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPBlockDefinedMatcher.h; path = Expecta/EXPBlockDefinedMatcher.h; sourceTree = \"<group>\"; };\n\t\t56B7202FE09B3976D80FD78EF63258F6 /* EXPMatchers+beTruthy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = \"EXPMatchers+beTruthy.m\"; path = \"Expecta/Matchers/EXPMatchers+beTruthy.m\"; sourceTree = \"<group>\"; };\n\t\t57E3007D6F08B4F287C35811E372C9D8 /* EXPBlockDefinedMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPBlockDefinedMatcher.m; path = Expecta/EXPBlockDefinedMatcher.m; sourceTree = \"<group>\"; };\n\t\t58004526F7F7D8C02F9C425D2847EA60 /* Pods-Masonry iOS Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = \"Pods-Masonry iOS Tests-resources.sh\"; sourceTree = \"<group>\"; };\n\t\t585243F6624B3378D0DA0CF280D9F8EA /* Masonry-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = \"Masonry-dummy.m\"; sourceTree = \"<group>\"; };\n\t\t590084C07434815AE5BEC2E76CD54154 /* Pods-Masonry iOS Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = \"Pods-Masonry iOS Tests.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t593CB40473F1E441BC65F0044379DA72 /* NSArray+MASShorthandAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = \"NSArray+MASShorthandAdditions.h\"; sourceTree = \"<group>\"; };\n\t\t59623D6FE7CFF9076F3ACA8D492A0A1E /* EXPMatchers+beGreaterThanOrEqualTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = \"EXPMatchers+beGreaterThanOrEqualTo.h\"; path = \"Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.h\"; sourceTree = \"<group>\"; };\n\t\t5A30D7435201DE311E06A35CEA390581 /* ViewController+MASAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = \"ViewController+MASAdditions.m\"; sourceTree = \"<group>\"; };\n\t\t5B9D165EC173241B2C9EFF6FDB72491D /* EXPMatchers+beInstanceOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = \"EXPMatchers+beInstanceOf.h\"; path = \"Expecta/Matchers/EXPMatchers+beInstanceOf.h\"; sourceTree = \"<group>\"; };\n\t\t5C71CEC9EB6A0B127237D9BE7AAB6081 /* EXPMatchers+beInstanceOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = \"EXPMatchers+beInstanceOf.m\"; path = \"Expecta/Matchers/EXPMatchers+beInstanceOf.m\"; sourceTree = \"<group>\"; };\n\t\t5D2BB147FD43518883D32412C882B443 /* MASUtilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MASUtilities.h; sourceTree = \"<group>\"; };\n\t\t5EEECBC2AC825C5498273AB762F561EF /* EXPMatchers+endWith.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = \"EXPMatchers+endWith.h\"; path = \"Expecta/Matchers/EXPMatchers+endWith.h\"; sourceTree = \"<group>\"; };\n\t\t61A4675B57359AB9653085CE195438A0 /* EXPMatchers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPMatchers.h; path = Expecta/Matchers/EXPMatchers.h; sourceTree = \"<group>\"; };\n\t\t639FB58CFFC214FCCF32C06B0ACC9B5B /* Masonry-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = \"Masonry-prefix.pch\"; sourceTree = \"<group>\"; };\n\t\t63BB2BA348CAEB74A836E775BF8ABE2C /* EXPFloatTuple.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPFloatTuple.h; path = Expecta/EXPFloatTuple.h; sourceTree = \"<group>\"; };\n\t\t663B481626C7E7C19A7A42120FFC0E77 /* EXPMatchers+haveCountOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = \"EXPMatchers+haveCountOf.m\"; path = \"Expecta/Matchers/EXPMatchers+haveCountOf.m\"; sourceTree = \"<group>\"; };\n\t\t67872159D235C01079FD18A895BC35BE /* Pods-Masonry iOS Examples-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = \"Pods-Masonry iOS Examples-acknowledgements.markdown\"; sourceTree = \"<group>\"; };\n\t\t687D54A17077AB5A8B750650CACBF3B3 /* EXPMatchers+beIdenticalTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = \"EXPMatchers+beIdenticalTo.m\"; path = \"Expecta/Matchers/EXPMatchers+beIdenticalTo.m\"; sourceTree = \"<group>\"; };\n\t\t6CBE98CC00A3DD78FC850D713EB164BE /* MASLayoutConstraint.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MASLayoutConstraint.h; sourceTree = \"<group>\"; };\n\t\t6F83FB50741120EF2F5F9723A76C9099 /* ViewController+MASAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = \"ViewController+MASAdditions.h\"; sourceTree = \"<group>\"; };\n\t\t7559C19053134AD8CF9C91D122AC2090 /* Pods-Masonry iOS Examples-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = \"Pods-Masonry iOS Examples-frameworks.sh\"; sourceTree = \"<group>\"; };\n\t\t75992ED787187D30BE4B5F69BEF5EE30 /* EXPMatchers+haveCountOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = \"EXPMatchers+haveCountOf.h\"; path = \"Expecta/Matchers/EXPMatchers+haveCountOf.h\"; sourceTree = \"<group>\"; };\n\t\t7735CC4570D0C643EF99240D43284C4A /* EXPExpect.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPExpect.h; path = Expecta/EXPExpect.h; sourceTree = \"<group>\"; };\n\t\t7A54ADC5F5885AE49835C21390D7B42C /* MASViewConstraint.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = MASViewConstraint.m; sourceTree = \"<group>\"; };\n\t\t7B14D8EAF812AD82BC8BA17C3DE5B573 /* EXPMatchers+beLessThanOrEqualTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = \"EXPMatchers+beLessThanOrEqualTo.m\"; path = \"Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.m\"; sourceTree = \"<group>\"; };\n\t\t7BD870522AC013353A13269A9CDEA664 /* EXPMatcherHelpers.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPMatcherHelpers.m; path = Expecta/Matchers/EXPMatcherHelpers.m; sourceTree = \"<group>\"; };\n\t\t7C9A0D7E24E5DCE2B938FC4C4901B353 /* EXPMatchers+beGreaterThanOrEqualTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = \"EXPMatchers+beGreaterThanOrEqualTo.m\"; path = \"Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.m\"; sourceTree = \"<group>\"; };\n\t\t7EBF9BAD2F54920E12BA8D79EB3EE01C /* EXPDoubleTuple.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPDoubleTuple.m; path = Expecta/EXPDoubleTuple.m; sourceTree = \"<group>\"; };\n\t\t7F338BE8E88D6EB9496878863145B7C5 /* EXPDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPDefines.h; path = Expecta/EXPDefines.h; sourceTree = \"<group>\"; };\n\t\t80708E2496B3C69452E559E575CD1D47 /* ExpectaSupport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ExpectaSupport.h; path = Expecta/ExpectaSupport.h; sourceTree = \"<group>\"; };\n\t\t8140BF73F39AA0E15893403B6B2DCD9D /* EXPMatchers+beLessThan.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = \"EXPMatchers+beLessThan.h\"; path = \"Expecta/Matchers/EXPMatchers+beLessThan.h\"; sourceTree = \"<group>\"; };\n\t\t82F3CFD18ABD64DD8E88230EE43D854A /* NSValue+Expecta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = \"NSValue+Expecta.h\"; path = \"Expecta/NSValue+Expecta.h\"; sourceTree = \"<group>\"; };\n\t\t8524B32277BDB7E1A36FB5F3EB3BAC6B /* MASCompositeConstraint.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = MASCompositeConstraint.m; sourceTree = \"<group>\"; };\n\t\t8780C4CC76E68DD8EA97F0E4B3287D64 /* EXPMatchers+equal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = \"EXPMatchers+equal.h\"; path = \"Expecta/Matchers/EXPMatchers+equal.h\"; sourceTree = \"<group>\"; };\n\t\t88907F8AEA4C9B20AEB63E2047F54502 /* EXPMatchers+match.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = \"EXPMatchers+match.h\"; path = \"Expecta/Matchers/EXPMatchers+match.h\"; sourceTree = \"<group>\"; };\n\t\t8B4562385452B8EF12C3E0EFC2E07D12 /* libPods-Masonry iOS Examples.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = \"libPods-Masonry iOS Examples.a\"; path = \"libPods-Masonry iOS Examples.a\"; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t8F3B66464C8F4DC1EDFFEA58A98F9B5C /* EXPMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPMatcher.h; path = Expecta/EXPMatcher.h; sourceTree = \"<group>\"; };\n\t\t93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };\n\t\t9616A699420336DD8F227A5C41E36432 /* EXPMatchers+respondTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = \"EXPMatchers+respondTo.m\"; path = \"Expecta/Matchers/EXPMatchers+respondTo.m\"; sourceTree = \"<group>\"; };\n\t\t98AFDA78C0BA149C8976CF3889419AA7 /* EXPMatchers+beSubclassOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = \"EXPMatchers+beSubclassOf.m\"; path = \"Expecta/Matchers/EXPMatchers+beSubclassOf.m\"; sourceTree = \"<group>\"; };\n\t\t9D1DE5A0855C3142FCDE4471717B4C92 /* EXPMatchers+raise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = \"EXPMatchers+raise.m\"; path = \"Expecta/Matchers/EXPMatchers+raise.m\"; sourceTree = \"<group>\"; };\n\t\t9F34293A1C0AD9FD7013D79B910FE7E5 /* MASConstraint.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MASConstraint.h; sourceTree = \"<group>\"; };\n\t\tAD6D89D8C414349AAD70BD448A0EB42D /* Pods-MasonryTestsLoader.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = \"Pods-MasonryTestsLoader.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tADBF0443B4181A4D41268AB9F62AA73C /* NSValue+Expecta.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = \"NSValue+Expecta.m\"; path = \"Expecta/NSValue+Expecta.m\"; sourceTree = \"<group>\"; };\n\t\tAE58747F7ED5EE1564AC83C82F3C9DEA /* MASViewAttribute.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MASViewAttribute.h; sourceTree = \"<group>\"; };\n\t\tAEDF716CFA2F6ADA12E2C6D67EF8B2D2 /* EXPDoubleTuple.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPDoubleTuple.h; path = Expecta/EXPDoubleTuple.h; sourceTree = \"<group>\"; };\n\t\tAEEF83956F9DBD675F4C2EF46B690567 /* MASConstraint.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = MASConstraint.m; sourceTree = \"<group>\"; };\n\t\tB1B09BEB8A5DCEEF709CBA1F5CEE0B3B /* EXPMatchers+beGreaterThan.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = \"EXPMatchers+beGreaterThan.m\"; path = \"Expecta/Matchers/EXPMatchers+beGreaterThan.m\"; sourceTree = \"<group>\"; };\n\t\tB20D7BAA1D4E85394D4C0BCBCB2BF960 /* EXPMatchers+endWith.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = \"EXPMatchers+endWith.m\"; path = \"Expecta/Matchers/EXPMatchers+endWith.m\"; sourceTree = \"<group>\"; };\n\t\tBB267133DB0AAEF96D19D2085B85E06D /* MASViewAttribute.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = MASViewAttribute.m; sourceTree = \"<group>\"; };\n\t\tBF54E13A05CB850F6732BED53C409DF8 /* Pods-Masonry iOS Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = \"Pods-Masonry iOS Tests-acknowledgements.markdown\"; sourceTree = \"<group>\"; };\n\t\tBFE37A3BBF6AEB4B7163AAE1BD655CDD /* EXPMatchers+equal.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = \"EXPMatchers+equal.m\"; path = \"Expecta/Matchers/EXPMatchers+equal.m\"; sourceTree = \"<group>\"; };\n\t\tC0F0C9DE4D36C0025D1A49B0106644A4 /* NSObject+Expecta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = \"NSObject+Expecta.h\"; path = \"Expecta/NSObject+Expecta.h\"; sourceTree = \"<group>\"; };\n\t\tC3EDF7B170EC221838CC2A773B0CDC59 /* EXPMatchers+beCloseTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = \"EXPMatchers+beCloseTo.m\"; path = \"Expecta/Matchers/EXPMatchers+beCloseTo.m\"; sourceTree = \"<group>\"; };\n\t\tC4EC8E6D70CF2CC9E094524A6560BC80 /* libPods-MasonryTestsLoader.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = \"libPods-MasonryTestsLoader.a\"; path = \"libPods-MasonryTestsLoader.a\"; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tC565C77B7F3AC98E871994970653A958 /* EXPMatchers+conformTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = \"EXPMatchers+conformTo.m\"; path = \"Expecta/Matchers/EXPMatchers+conformTo.m\"; sourceTree = \"<group>\"; };\n\t\tC5ABB1C6CB3F9F99597CCF6727731A7B /* Pods-Masonry iOS Examples.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = \"Pods-Masonry iOS Examples.debug.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tC7004C5DD5811F3431B3C72C3ED02D96 /* Pods-MasonryTestsLoader-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = \"Pods-MasonryTestsLoader-frameworks.sh\"; sourceTree = \"<group>\"; };\n\t\tC98931A95CEDDC4098458BEB8FF864ED /* EXPMatchers+beIdenticalTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = \"EXPMatchers+beIdenticalTo.h\"; path = \"Expecta/Matchers/EXPMatchers+beIdenticalTo.h\"; sourceTree = \"<group>\"; };\n\t\tCBEA9FE72B61C2E594B205165A09ECA7 /* EXPExpect.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPExpect.m; path = Expecta/EXPExpect.m; sourceTree = \"<group>\"; };\n\t\tCBFE4C2A8558AE9FF24FCA67343113E2 /* EXPMatchers+beSubclassOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = \"EXPMatchers+beSubclassOf.h\"; path = \"Expecta/Matchers/EXPMatchers+beSubclassOf.h\"; sourceTree = \"<group>\"; };\n\t\tD17CA42B2DBD2AB2BBA3CBB7E2205968 /* Masonry.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Masonry.xcconfig; sourceTree = \"<group>\"; };\n\t\tD242BA4F2D8595007967657C3EBF92CE /* EXPMatchers+respondTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = \"EXPMatchers+respondTo.h\"; path = \"Expecta/Matchers/EXPMatchers+respondTo.h\"; sourceTree = \"<group>\"; };\n\t\tD50A0454EC2ACA566EC1A84F70DBE96A /* Expecta-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = \"Expecta-dummy.m\"; sourceTree = \"<group>\"; };\n\t\tD8A10F7BEA143532312B95447C5A5B7C /* ExpectaSupport.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ExpectaSupport.m; path = Expecta/ExpectaSupport.m; sourceTree = \"<group>\"; };\n\t\tDB37BB623433F136572448D26D6FB70A /* EXPMatchers+contain.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = \"EXPMatchers+contain.m\"; path = \"Expecta/Matchers/EXPMatchers+contain.m\"; sourceTree = \"<group>\"; };\n\t\tDBCE4AE4A77A457256CB505688569B23 /* MASLayoutConstraint.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = MASLayoutConstraint.m; sourceTree = \"<group>\"; };\n\t\tDD2917440B958D545CC2EE8F2240D37E /* EXPMatchers+beSupersetOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = \"EXPMatchers+beSupersetOf.m\"; path = \"Expecta/Matchers/EXPMatchers+beSupersetOf.m\"; sourceTree = \"<group>\"; };\n\t\tDDF04AEFCC4B011565BFFBFFF52B2FCE /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; };\n\t\tDE147446A1225BA68EA82615B1436CC1 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; };\n\t\tE1DAB7DBD1812988117194D50ACE07A0 /* EXPMatchers+beKindOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = \"EXPMatchers+beKindOf.h\"; path = \"Expecta/Matchers/EXPMatchers+beKindOf.h\"; sourceTree = \"<group>\"; };\n\t\tE2824F3F718434AEC2CE23045FEC5541 /* Pods-MasonryTestsLoader-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = \"Pods-MasonryTestsLoader-acknowledgements.plist\"; sourceTree = \"<group>\"; };\n\t\tE2D9897D646E2BB9FBF73704C04440B2 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };\n\t\tE36B444420761FDAD709E0D161F812C1 /* EXPMatchers+conformTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = \"EXPMatchers+conformTo.h\"; path = \"Expecta/Matchers/EXPMatchers+conformTo.h\"; sourceTree = \"<group>\"; };\n\t\tE4CFDB3889CFAC5E05497101D3F82C0A /* EXPMatchers+beLessThan.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = \"EXPMatchers+beLessThan.m\"; path = \"Expecta/Matchers/EXPMatchers+beLessThan.m\"; sourceTree = \"<group>\"; };\n\t\tE66C1687519434878576CA9CA479B868 /* MASCompositeConstraint.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MASCompositeConstraint.h; sourceTree = \"<group>\"; };\n\t\tEB9E853361218FD2866DABF9A3E384D5 /* MASConstraintMaker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = MASConstraintMaker.m; sourceTree = \"<group>\"; };\n\t\tEF1B79566A439B7A68A81F499EBFDDE1 /* Pods-Masonry iOS Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = \"Pods-Masonry iOS Tests.debug.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tFC8A8F10966AF0D4BEF49EBF2CFF4C0C /* Masonry.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = Masonry.h; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\t03F8C9DE4B5918EEA35CE61AA3A1186A /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t0E8E7C035F8969CF3DC93E5490A6158B /* Foundation.framework in Frameworks */,\n\t\t\t\tF7B20B4187947E3B6B93F0457C239D0B /* XCTest.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t583B8AB450D47A22AD844DA398F34FCC /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDBA55CF16CB958E3F3D38079F18EBC06 /* Foundation.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t6FD8312A1AEB348F49A81C438DB25115 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tF0B56A7D38A399A2F67F9920C9526A66 /* Foundation.framework in Frameworks */,\n\t\t\t\t6209E20926D79222E59F58B962BFAA1E /* UIKit.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t9E80CE71F73E7DB19033544A8A4E9F55 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tF589CF64CC8ED22D9F37824176FBBB72 /* Foundation.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tA3EB68BB62C219069E6DBA1A070D7F3F /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tD904A66B88A11E0356D09C38CA20102D /* Foundation.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t0DA9AF80DA7ECA5B4D31C526D9F57DB2 /* Development Pods */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t18D532DEFE002898478F83CCDCC47B5D /* Masonry */,\n\t\t\t);\n\t\t\tname = \"Development Pods\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t113776CC3D7FEF15CE1357194041AAFC /* Targets Support Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t523AEFB63B1A95928D17E7547C93E598 /* Pods-Masonry iOS Examples */,\n\t\t\t\t9183704F5C71C360D6CB1A399612D0E0 /* Pods-Masonry iOS Tests */,\n\t\t\t\tBD399A650CE28E083F4B32EED754F012 /* Pods-MasonryTestsLoader */,\n\t\t\t);\n\t\t\tname = \"Targets Support Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t122DA2E5084A4393C29BE363C764795C /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t926C31924772091F3FBE0E8F025C2B0D /* iOS */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t18D532DEFE002898478F83CCDCC47B5D /* Masonry */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tCFF7DF6CE7E3205ECC5D3904C3AC169D /* Masonry */,\n\t\t\t\tC4880E6FCE3E79307C7AD19D76754823 /* Support Files */,\n\t\t\t);\n\t\t\tname = Masonry;\n\t\t\tpath = ..;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t2C212CDC4B22CF51422FF7C8D4BF9E56 /* Pods */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDA1988695DF0633137E2D7B5035D2CDC /* Expecta */,\n\t\t\t);\n\t\t\tname = Pods;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t523AEFB63B1A95928D17E7547C93E598 /* Pods-Masonry iOS Examples */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t67872159D235C01079FD18A895BC35BE /* Pods-Masonry iOS Examples-acknowledgements.markdown */,\n\t\t\t\t3ABABA36A05ECCDA76F9388C3A7262E8 /* Pods-Masonry iOS Examples-acknowledgements.plist */,\n\t\t\t\t0F2DF08BADAA0D595D88E9A5F2F4AE8F /* Pods-Masonry iOS Examples-dummy.m */,\n\t\t\t\t7559C19053134AD8CF9C91D122AC2090 /* Pods-Masonry iOS Examples-frameworks.sh */,\n\t\t\t\t1C13229D7A9FD06FAA259C99FB5A6E11 /* Pods-Masonry iOS Examples-resources.sh */,\n\t\t\t\tC5ABB1C6CB3F9F99597CCF6727731A7B /* Pods-Masonry iOS Examples.debug.xcconfig */,\n\t\t\t\t1B998D4CCC665C40E8A45CF07DFD7ABC /* Pods-Masonry iOS Examples.release.xcconfig */,\n\t\t\t);\n\t\t\tname = \"Pods-Masonry iOS Examples\";\n\t\t\tpath = \"Target Support Files/Pods-Masonry iOS Examples\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t6B57A62A4ECEF9976CBA3885013FA6AC /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t2A7DB9040882B1058689C275628BAD96 /* libExpecta.a */,\n\t\t\t\t2B6A8C9B5A40329ADEFB0567ED8489DC /* libMasonry.a */,\n\t\t\t\t8B4562385452B8EF12C3E0EFC2E07D12 /* libPods-Masonry iOS Examples.a */,\n\t\t\t\t10A477660D2D97AEF58A6795020511A9 /* libPods-Masonry iOS Tests.a */,\n\t\t\t\tC4EC8E6D70CF2CC9E094524A6560BC80 /* libPods-MasonryTestsLoader.a */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t7DB346D0F39D3F0E887471402A8071AB = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */,\n\t\t\t\t0DA9AF80DA7ECA5B4D31C526D9F57DB2 /* Development Pods */,\n\t\t\t\t122DA2E5084A4393C29BE363C764795C /* Frameworks */,\n\t\t\t\t2C212CDC4B22CF51422FF7C8D4BF9E56 /* Pods */,\n\t\t\t\t6B57A62A4ECEF9976CBA3885013FA6AC /* Products */,\n\t\t\t\t113776CC3D7FEF15CE1357194041AAFC /* Targets Support Files */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t9183704F5C71C360D6CB1A399612D0E0 /* Pods-Masonry iOS Tests */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tBF54E13A05CB850F6732BED53C409DF8 /* Pods-Masonry iOS Tests-acknowledgements.markdown */,\n\t\t\t\t3D0C38F1CACBCE8726531E82CF48BE6A /* Pods-Masonry iOS Tests-acknowledgements.plist */,\n\t\t\t\t5478FCE860D549499E9B142210C4E612 /* Pods-Masonry iOS Tests-dummy.m */,\n\t\t\t\t0341D10523364E42D0E6F9935E3DA6DE /* Pods-Masonry iOS Tests-frameworks.sh */,\n\t\t\t\t58004526F7F7D8C02F9C425D2847EA60 /* Pods-Masonry iOS Tests-resources.sh */,\n\t\t\t\tEF1B79566A439B7A68A81F499EBFDDE1 /* Pods-Masonry iOS Tests.debug.xcconfig */,\n\t\t\t\t590084C07434815AE5BEC2E76CD54154 /* Pods-Masonry iOS Tests.release.xcconfig */,\n\t\t\t);\n\t\t\tname = \"Pods-Masonry iOS Tests\";\n\t\t\tpath = \"Target Support Files/Pods-Masonry iOS Tests\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t926C31924772091F3FBE0E8F025C2B0D /* iOS */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDE147446A1225BA68EA82615B1436CC1 /* Foundation.framework */,\n\t\t\t\tDDF04AEFCC4B011565BFFBFFF52B2FCE /* UIKit.framework */,\n\t\t\t\tE2D9897D646E2BB9FBF73704C04440B2 /* XCTest.framework */,\n\t\t\t);\n\t\t\tname = iOS;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tBD399A650CE28E083F4B32EED754F012 /* Pods-MasonryTestsLoader */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t4B6B3284B56CCD1FFA3F49D1751D4763 /* Pods-MasonryTestsLoader-acknowledgements.markdown */,\n\t\t\t\tE2824F3F718434AEC2CE23045FEC5541 /* Pods-MasonryTestsLoader-acknowledgements.plist */,\n\t\t\t\t40B4963257702BBD9CAF03BECB9D16F0 /* Pods-MasonryTestsLoader-dummy.m */,\n\t\t\t\tC7004C5DD5811F3431B3C72C3ED02D96 /* Pods-MasonryTestsLoader-frameworks.sh */,\n\t\t\t\t0792517CDD83AC956FA10DA378F7C590 /* Pods-MasonryTestsLoader-resources.sh */,\n\t\t\t\t41073685DCEF4DD54806A297165DB39F /* Pods-MasonryTestsLoader.debug.xcconfig */,\n\t\t\t\tAD6D89D8C414349AAD70BD448A0EB42D /* Pods-MasonryTestsLoader.release.xcconfig */,\n\t\t\t);\n\t\t\tname = \"Pods-MasonryTestsLoader\";\n\t\t\tpath = \"Target Support Files/Pods-MasonryTestsLoader\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tC4880E6FCE3E79307C7AD19D76754823 /* Support Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD17CA42B2DBD2AB2BBA3CBB7E2205968 /* Masonry.xcconfig */,\n\t\t\t\t585243F6624B3378D0DA0CF280D9F8EA /* Masonry-dummy.m */,\n\t\t\t\t639FB58CFFC214FCCF32C06B0ACC9B5B /* Masonry-prefix.pch */,\n\t\t\t);\n\t\t\tname = \"Support Files\";\n\t\t\tpath = \"Pods/Target Support Files/Masonry\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tC934D5D64F7FA6AE026CB137FBAD29E5 /* Support Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t489F09523F5700F4F414FA98E0BDEEE4 /* Expecta.xcconfig */,\n\t\t\t\tD50A0454EC2ACA566EC1A84F70DBE96A /* Expecta-dummy.m */,\n\t\t\t\t190660A7B90AD2F0323CF9185E32C8D5 /* Expecta-prefix.pch */,\n\t\t\t);\n\t\t\tname = \"Support Files\";\n\t\t\tpath = \"../Target Support Files/Expecta\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tCFF7DF6CE7E3205ECC5D3904C3AC169D /* Masonry */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tE66C1687519434878576CA9CA479B868 /* MASCompositeConstraint.h */,\n\t\t\t\t8524B32277BDB7E1A36FB5F3EB3BAC6B /* MASCompositeConstraint.m */,\n\t\t\t\t9F34293A1C0AD9FD7013D79B910FE7E5 /* MASConstraint.h */,\n\t\t\t\tAEEF83956F9DBD675F4C2EF46B690567 /* MASConstraint.m */,\n\t\t\t\t48FB054B1F997F66CA0E17DB3B26223C /* MASConstraint+Private.h */,\n\t\t\t\t0A28546AD6B1C73C384E28625120AED5 /* MASConstraintMaker.h */,\n\t\t\t\tEB9E853361218FD2866DABF9A3E384D5 /* MASConstraintMaker.m */,\n\t\t\t\t6CBE98CC00A3DD78FC850D713EB164BE /* MASLayoutConstraint.h */,\n\t\t\t\tDBCE4AE4A77A457256CB505688569B23 /* MASLayoutConstraint.m */,\n\t\t\t\tFC8A8F10966AF0D4BEF49EBF2CFF4C0C /* Masonry.h */,\n\t\t\t\t5D2BB147FD43518883D32412C882B443 /* MASUtilities.h */,\n\t\t\t\tAE58747F7ED5EE1564AC83C82F3C9DEA /* MASViewAttribute.h */,\n\t\t\t\tBB267133DB0AAEF96D19D2085B85E06D /* MASViewAttribute.m */,\n\t\t\t\t194EE173246D25F2D7ED8C47FAF2ACF4 /* MASViewConstraint.h */,\n\t\t\t\t7A54ADC5F5885AE49835C21390D7B42C /* MASViewConstraint.m */,\n\t\t\t\t01B7B1098F825865196B739BF9E36C04 /* NSArray+MASAdditions.h */,\n\t\t\t\t2A31938A554F154B402756FCBFE7167B /* NSArray+MASAdditions.m */,\n\t\t\t\t593CB40473F1E441BC65F0044379DA72 /* NSArray+MASShorthandAdditions.h */,\n\t\t\t\t4AF06A246FC5C7C1E779C3BFB883040C /* NSLayoutConstraint+MASDebugAdditions.h */,\n\t\t\t\t358E8501C72A8B4A191589A7570FCC15 /* NSLayoutConstraint+MASDebugAdditions.m */,\n\t\t\t\t3683CAB8F5A6384907767DF9817A4B09 /* View+MASAdditions.h */,\n\t\t\t\t02DA3844CF514753E9CC1AE66A762D26 /* View+MASAdditions.m */,\n\t\t\t\t2B80588779A2286A5E054DE4D0DDC03A /* View+MASShorthandAdditions.h */,\n\t\t\t\t6F83FB50741120EF2F5F9723A76C9099 /* ViewController+MASAdditions.h */,\n\t\t\t\t5A30D7435201DE311E06A35CEA390581 /* ViewController+MASAdditions.m */,\n\t\t\t);\n\t\t\tname = Masonry;\n\t\t\tpath = Masonry;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDA1988695DF0633137E2D7B5035D2CDC /* Expecta */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t55CDC4616612ED7AA50A3E836E82B6BE /* EXPBlockDefinedMatcher.h */,\n\t\t\t\t57E3007D6F08B4F287C35811E372C9D8 /* EXPBlockDefinedMatcher.m */,\n\t\t\t\t7F338BE8E88D6EB9496878863145B7C5 /* EXPDefines.h */,\n\t\t\t\tAEDF716CFA2F6ADA12E2C6D67EF8B2D2 /* EXPDoubleTuple.h */,\n\t\t\t\t7EBF9BAD2F54920E12BA8D79EB3EE01C /* EXPDoubleTuple.m */,\n\t\t\t\t50660A3CB85C3AEC478DB2211E3CD76D /* Expecta.h */,\n\t\t\t\t4730731B518BAFE15142AA613F01F2EB /* ExpectaObject.h */,\n\t\t\t\t1C060BC1E7116BC87FA94B45087D771B /* ExpectaObject.m */,\n\t\t\t\t80708E2496B3C69452E559E575CD1D47 /* ExpectaSupport.h */,\n\t\t\t\tD8A10F7BEA143532312B95447C5A5B7C /* ExpectaSupport.m */,\n\t\t\t\t7735CC4570D0C643EF99240D43284C4A /* EXPExpect.h */,\n\t\t\t\tCBEA9FE72B61C2E594B205165A09ECA7 /* EXPExpect.m */,\n\t\t\t\t63BB2BA348CAEB74A836E775BF8ABE2C /* EXPFloatTuple.h */,\n\t\t\t\t4EEA345137E6F1B86DEC1ECEA04BEBD5 /* EXPFloatTuple.m */,\n\t\t\t\t8F3B66464C8F4DC1EDFFEA58A98F9B5C /* EXPMatcher.h */,\n\t\t\t\t0A3DE5BA9F1F1BFDC50FA062018A4FF9 /* EXPMatcherHelpers.h */,\n\t\t\t\t7BD870522AC013353A13269A9CDEA664 /* EXPMatcherHelpers.m */,\n\t\t\t\t61A4675B57359AB9653085CE195438A0 /* EXPMatchers.h */,\n\t\t\t\t1FD8638DC7137054523DFDCD37576559 /* EXPMatchers+beCloseTo.h */,\n\t\t\t\tC3EDF7B170EC221838CC2A773B0CDC59 /* EXPMatchers+beCloseTo.m */,\n\t\t\t\t481E644C11C98774BE98309BA0A2CB6C /* EXPMatchers+beFalsy.h */,\n\t\t\t\t2547652506D61F49D4B0882ED6B64B16 /* EXPMatchers+beFalsy.m */,\n\t\t\t\t49E1D663D9B2CCDFFC739982A06D57C5 /* EXPMatchers+beginWith.h */,\n\t\t\t\t34177F23961DA5ABF45170FA2037F8C1 /* EXPMatchers+beginWith.m */,\n\t\t\t\t1F04D682D92E0B2B40FCE8BE214BDA61 /* EXPMatchers+beGreaterThan.h */,\n\t\t\t\tB1B09BEB8A5DCEEF709CBA1F5CEE0B3B /* EXPMatchers+beGreaterThan.m */,\n\t\t\t\t59623D6FE7CFF9076F3ACA8D492A0A1E /* EXPMatchers+beGreaterThanOrEqualTo.h */,\n\t\t\t\t7C9A0D7E24E5DCE2B938FC4C4901B353 /* EXPMatchers+beGreaterThanOrEqualTo.m */,\n\t\t\t\tC98931A95CEDDC4098458BEB8FF864ED /* EXPMatchers+beIdenticalTo.h */,\n\t\t\t\t687D54A17077AB5A8B750650CACBF3B3 /* EXPMatchers+beIdenticalTo.m */,\n\t\t\t\t5B9D165EC173241B2C9EFF6FDB72491D /* EXPMatchers+beInstanceOf.h */,\n\t\t\t\t5C71CEC9EB6A0B127237D9BE7AAB6081 /* EXPMatchers+beInstanceOf.m */,\n\t\t\t\t10904D53FD27FC7E59BF92201687D517 /* EXPMatchers+beInTheRangeOf.h */,\n\t\t\t\t3B014C13318B98A27EB6C15EB341678A /* EXPMatchers+beInTheRangeOf.m */,\n\t\t\t\tE1DAB7DBD1812988117194D50ACE07A0 /* EXPMatchers+beKindOf.h */,\n\t\t\t\t1F4C6FD0E96DEE3BA24A38BA86A2EE83 /* EXPMatchers+beKindOf.m */,\n\t\t\t\t8140BF73F39AA0E15893403B6B2DCD9D /* EXPMatchers+beLessThan.h */,\n\t\t\t\tE4CFDB3889CFAC5E05497101D3F82C0A /* EXPMatchers+beLessThan.m */,\n\t\t\t\t122F547802BB911D1B9F0D52C33B568D /* EXPMatchers+beLessThanOrEqualTo.h */,\n\t\t\t\t7B14D8EAF812AD82BC8BA17C3DE5B573 /* EXPMatchers+beLessThanOrEqualTo.m */,\n\t\t\t\t1D20E91754698E478D6D3E468D5EC2C8 /* EXPMatchers+beNil.h */,\n\t\t\t\t2251A125FE1F9EE61891B85AAAE71511 /* EXPMatchers+beNil.m */,\n\t\t\t\tCBFE4C2A8558AE9FF24FCA67343113E2 /* EXPMatchers+beSubclassOf.h */,\n\t\t\t\t98AFDA78C0BA149C8976CF3889419AA7 /* EXPMatchers+beSubclassOf.m */,\n\t\t\t\t2F3869A1E846595FC8A567E9EF91600E /* EXPMatchers+beSupersetOf.h */,\n\t\t\t\tDD2917440B958D545CC2EE8F2240D37E /* EXPMatchers+beSupersetOf.m */,\n\t\t\t\t0AAF8809A7BBA8A694825848A7EF07D2 /* EXPMatchers+beTruthy.h */,\n\t\t\t\t56B7202FE09B3976D80FD78EF63258F6 /* EXPMatchers+beTruthy.m */,\n\t\t\t\tE36B444420761FDAD709E0D161F812C1 /* EXPMatchers+conformTo.h */,\n\t\t\t\tC565C77B7F3AC98E871994970653A958 /* EXPMatchers+conformTo.m */,\n\t\t\t\t44127DD3F6457EEB52F5B0B644C748E5 /* EXPMatchers+contain.h */,\n\t\t\t\tDB37BB623433F136572448D26D6FB70A /* EXPMatchers+contain.m */,\n\t\t\t\t5EEECBC2AC825C5498273AB762F561EF /* EXPMatchers+endWith.h */,\n\t\t\t\tB20D7BAA1D4E85394D4C0BCBCB2BF960 /* EXPMatchers+endWith.m */,\n\t\t\t\t8780C4CC76E68DD8EA97F0E4B3287D64 /* EXPMatchers+equal.h */,\n\t\t\t\tBFE37A3BBF6AEB4B7163AAE1BD655CDD /* EXPMatchers+equal.m */,\n\t\t\t\t75992ED787187D30BE4B5F69BEF5EE30 /* EXPMatchers+haveCountOf.h */,\n\t\t\t\t663B481626C7E7C19A7A42120FFC0E77 /* EXPMatchers+haveCountOf.m */,\n\t\t\t\t88907F8AEA4C9B20AEB63E2047F54502 /* EXPMatchers+match.h */,\n\t\t\t\t10F25824C22E66EAFBAA5C0F62629D84 /* EXPMatchers+match.m */,\n\t\t\t\t2C5D45C77F469660C6D6155EA159784F /* EXPMatchers+postNotification.h */,\n\t\t\t\t065A35D6EF149C4D848B49BAA59DAE1E /* EXPMatchers+postNotification.m */,\n\t\t\t\t10F0627165FE862DA384F755B45FD6A7 /* EXPMatchers+raise.h */,\n\t\t\t\t9D1DE5A0855C3142FCDE4471717B4C92 /* EXPMatchers+raise.m */,\n\t\t\t\t13852BA59629381181212D4693F5CEC8 /* EXPMatchers+raiseWithReason.h */,\n\t\t\t\t228937A58D5E1EF34C595366A42C018E /* EXPMatchers+raiseWithReason.m */,\n\t\t\t\tD242BA4F2D8595007967657C3EBF92CE /* EXPMatchers+respondTo.h */,\n\t\t\t\t9616A699420336DD8F227A5C41E36432 /* EXPMatchers+respondTo.m */,\n\t\t\t\t1F1DE5E5E11E91062A5DA859EDCE3C49 /* EXPUnsupportedObject.h */,\n\t\t\t\t035F256E7A521234689F67B3EC887567 /* EXPUnsupportedObject.m */,\n\t\t\t\tC0F0C9DE4D36C0025D1A49B0106644A4 /* NSObject+Expecta.h */,\n\t\t\t\t82F3CFD18ABD64DD8E88230EE43D854A /* NSValue+Expecta.h */,\n\t\t\t\tADBF0443B4181A4D41268AB9F62AA73C /* NSValue+Expecta.m */,\n\t\t\t\tC934D5D64F7FA6AE026CB137FBAD29E5 /* Support Files */,\n\t\t\t);\n\t\t\tname = Expecta;\n\t\t\tpath = Expecta;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXHeadersBuildPhase section */\n\t\t05E58D356A38DD487823D5BE24334920 /* Headers */ = {\n\t\t\tisa = PBXHeadersBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t0B3330DD885757A45805E83A69E7AFFD /* EXPBlockDefinedMatcher.h in Headers */,\n\t\t\t\tEFCF1E2468BC28069F92B4702B5DD463 /* EXPDefines.h in Headers */,\n\t\t\t\tEE5A8DD4F03A890084772DA66DE9BE93 /* EXPDoubleTuple.h in Headers */,\n\t\t\t\t0CD876A643FA00F42565F0B4CFE5C360 /* Expecta.h in Headers */,\n\t\t\t\tB72D6F9CD6DCCF9339A269BC0CABA88C /* ExpectaObject.h in Headers */,\n\t\t\t\t660BEA8AC93BC6DF29A73D1570C10120 /* ExpectaSupport.h in Headers */,\n\t\t\t\t31D27BF6DE823F040465EEC46431E22E /* EXPExpect.h in Headers */,\n\t\t\t\tF3D6C90DF502E4B6BFA4B4B950FB176B /* EXPFloatTuple.h in Headers */,\n\t\t\t\t7C4FFAF7E7BD72B4775C2966898B3A83 /* EXPMatcher.h in Headers */,\n\t\t\t\tC64C4032827660F5ED12E425857BE673 /* EXPMatcherHelpers.h in Headers */,\n\t\t\t\t47E018E82EA7801C93BE8D632FBAA3EC /* EXPMatchers+beCloseTo.h in Headers */,\n\t\t\t\t61E89F8C6D2C5658ECADCC9BE04E4E0F /* EXPMatchers+beFalsy.h in Headers */,\n\t\t\t\t5EB8C17604A5FCA7B0F9174850D0441F /* EXPMatchers+beginWith.h in Headers */,\n\t\t\t\tB1964DABF421B8BA6BB9AB9E1CC0E387 /* EXPMatchers+beGreaterThan.h in Headers */,\n\t\t\t\tBB0E62892680D990AC167E4629F95062 /* EXPMatchers+beGreaterThanOrEqualTo.h in Headers */,\n\t\t\t\t7100640F169A4EC93CA15F0D8B5AFE8F /* EXPMatchers+beIdenticalTo.h in Headers */,\n\t\t\t\tDFFE7035A8177E14B29DE53973AE3B1E /* EXPMatchers+beInstanceOf.h in Headers */,\n\t\t\t\t94C94F986312F61D076591DBCEC07104 /* EXPMatchers+beInTheRangeOf.h in Headers */,\n\t\t\t\t8994485FB1398BF225377D4C109CA38B /* EXPMatchers+beKindOf.h in Headers */,\n\t\t\t\tBAA98BF425D78B9F9FB405680EA0CB3D /* EXPMatchers+beLessThan.h in Headers */,\n\t\t\t\tB1820A5E15F22942E386756A0473E808 /* EXPMatchers+beLessThanOrEqualTo.h in Headers */,\n\t\t\t\t19CDE56AC4388C284D9A394F64E0530C /* EXPMatchers+beNil.h in Headers */,\n\t\t\t\t4C2D57EF131B9A1AA1A65F36DA717BC7 /* EXPMatchers+beSubclassOf.h in Headers */,\n\t\t\t\t76FFE0A5253E08250D976CAE912B89D9 /* EXPMatchers+beSupersetOf.h in Headers */,\n\t\t\t\tA193FB77C3606DE847937B79BD869F26 /* EXPMatchers+beTruthy.h in Headers */,\n\t\t\t\t87C087B7F1B93C2DD0B42A93B3E9D9C4 /* EXPMatchers+conformTo.h in Headers */,\n\t\t\t\tD3B4D194BECF709DFA85E588891B885E /* EXPMatchers+contain.h in Headers */,\n\t\t\t\t4FE0FA38EA4BC9922DB982A2FB4B504A /* EXPMatchers+endWith.h in Headers */,\n\t\t\t\t4B76A75E1FA371E7EF6C821CD52514A1 /* EXPMatchers+equal.h in Headers */,\n\t\t\t\t11B98D7660EAD3B22A6F8DAFAC8E96F8 /* EXPMatchers+haveCountOf.h in Headers */,\n\t\t\t\t62A200B73B76F6740A3EEA168FBFFF41 /* EXPMatchers+match.h in Headers */,\n\t\t\t\tB241CF27E6B9D2DBC3236BDC1BDA5B69 /* EXPMatchers+postNotification.h in Headers */,\n\t\t\t\t119C10C9E57E10B254B8B13A06D332F4 /* EXPMatchers+raise.h in Headers */,\n\t\t\t\t4E89738B989CA5A6018187E52FE0E216 /* EXPMatchers+raiseWithReason.h in Headers */,\n\t\t\t\t7A50398D1D6F1D22165ECAA192F9D1CF /* EXPMatchers+respondTo.h in Headers */,\n\t\t\t\t12ADCD5E7598997A3486E62E784DB241 /* EXPMatchers.h in Headers */,\n\t\t\t\tB7FB8C30C577D624F5E0B1FDB3E6CD8B /* EXPUnsupportedObject.h in Headers */,\n\t\t\t\t69DCF5F3A96B49720B728BA6EF5E095A /* NSObject+Expecta.h in Headers */,\n\t\t\t\t120A345233C900C50BAD6F3950FAB8FA /* NSValue+Expecta.h in Headers */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t7B091D57BCA2DBE1E64B837A161E9E23 /* Headers */ = {\n\t\t\tisa = PBXHeadersBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t76A58C6131A1264FDE3DADAEA0AC83F5 /* MASCompositeConstraint.h in Headers */,\n\t\t\t\t3E2C9C19590011C8FE1F3966F4AF52D5 /* MASConstraint+Private.h in Headers */,\n\t\t\t\t9F196561D7369053FA6D9FD4374E85B9 /* MASConstraint.h in Headers */,\n\t\t\t\t0F7BD72B0882E4D4DD27C3B914EC3857 /* MASConstraintMaker.h in Headers */,\n\t\t\t\tAEEF0434A83EF5F1949252A8409F71DD /* MASLayoutConstraint.h in Headers */,\n\t\t\t\tD69C7F6B7677C82AABBF7FE0057CE931 /* Masonry.h in Headers */,\n\t\t\t\t28DD12DAF70F49B558112AA5E2809F19 /* MASUtilities.h in Headers */,\n\t\t\t\t42FA711D0BA099127544F7A978075C9D /* MASViewAttribute.h in Headers */,\n\t\t\t\t0D4B6D7C17953EF6C0BEFADA699DA6D2 /* MASViewConstraint.h in Headers */,\n\t\t\t\t2C8FBF03AD0FD40587A84D2994D758B4 /* NSArray+MASAdditions.h in Headers */,\n\t\t\t\t3AB6F716B6B591E90D2E2CB1434B55BB /* NSArray+MASShorthandAdditions.h in Headers */,\n\t\t\t\t067B3CDE5AAD4D941172A17C9EEA5916 /* NSLayoutConstraint+MASDebugAdditions.h in Headers */,\n\t\t\t\tAFD341AE846EE3D48F3832FB858FD31C /* View+MASAdditions.h in Headers */,\n\t\t\t\t4F51EE6366844B6C34DD13F77D9A76CA /* View+MASShorthandAdditions.h in Headers */,\n\t\t\t\t38B02E0B37B1F0225FBE396BD51461D9 /* ViewController+MASAdditions.h in Headers */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXHeadersBuildPhase section */\n\n/* Begin PBXNativeTarget section */\n\t\t46D68D26DCAAC4D999D549BA45F0B0EC /* Expecta */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = D88EDEBF3855FDEF25FC2B2C9BC585A7 /* Build configuration list for PBXNativeTarget \"Expecta\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t5A1715485AF02533C3EE06033E9DA73F /* Sources */,\n\t\t\t\t03F8C9DE4B5918EEA35CE61AA3A1186A /* Frameworks */,\n\t\t\t\t05E58D356A38DD487823D5BE24334920 /* Headers */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = Expecta;\n\t\t\tproductName = Expecta;\n\t\t\tproductReference = 2A7DB9040882B1058689C275628BAD96 /* libExpecta.a */;\n\t\t\tproductType = \"com.apple.product-type.library.static\";\n\t\t};\n\t\t9DC8D9E02903E93BD0B2FEC9D846EA20 /* Masonry */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 34CAE1CB89EDBF2E53735CC5D4E5E69F /* Build configuration list for PBXNativeTarget \"Masonry\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tB23F63142B50E8F550DD2612D6EC304E /* Sources */,\n\t\t\t\t6FD8312A1AEB348F49A81C438DB25115 /* Frameworks */,\n\t\t\t\t7B091D57BCA2DBE1E64B837A161E9E23 /* Headers */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = Masonry;\n\t\t\tproductName = Masonry;\n\t\t\tproductReference = 2B6A8C9B5A40329ADEFB0567ED8489DC /* libMasonry.a */;\n\t\t\tproductType = \"com.apple.product-type.library.static\";\n\t\t};\n\t\tB179403FF6D25C7B7A20B6BC7BB7D496 /* Pods-MasonryTestsLoader */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 84EA7C388F7334394620E2B60F337AF0 /* Build configuration list for PBXNativeTarget \"Pods-MasonryTestsLoader\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tDFE87F186448CBCB3F82C8AF4CFC35FA /* Sources */,\n\t\t\t\t583B8AB450D47A22AD844DA398F34FCC /* Frameworks */,\n\t\t\t\t0298D5A9AEDE52C4B23B10839B5B4F22 /* Export Environment Vars */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\tC2B6764EE104DB246A756A4DFE11B8D7 /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = \"Pods-MasonryTestsLoader\";\n\t\t\tproductName = \"Pods-MasonryTestsLoader\";\n\t\t\tproductReference = C4EC8E6D70CF2CC9E094524A6560BC80 /* libPods-MasonryTestsLoader.a */;\n\t\t\tproductType = \"com.apple.product-type.library.static\";\n\t\t};\n\t\tED9816227181DEA06E7E727FF25B471D /* Pods-Masonry iOS Examples */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 315B20EF5C9788CF371A2375E2025660 /* Build configuration list for PBXNativeTarget \"Pods-Masonry iOS Examples\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t2AC3450D42E3A3D2F5901AE7C9035C9E /* Sources */,\n\t\t\t\tA3EB68BB62C219069E6DBA1A070D7F3F /* Frameworks */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\t3D91A82FDB882886527EEF10899EA5B6 /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = \"Pods-Masonry iOS Examples\";\n\t\t\tproductName = \"Pods-Masonry iOS Examples\";\n\t\t\tproductReference = 8B4562385452B8EF12C3E0EFC2E07D12 /* libPods-Masonry iOS Examples.a */;\n\t\t\tproductType = \"com.apple.product-type.library.static\";\n\t\t};\n\t\tF851684D769DB63C33469D937E0F9C64 /* Pods-Masonry iOS Tests */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 403F400D236646D1D85497936B6572D1 /* Build configuration list for PBXNativeTarget \"Pods-Masonry iOS Tests\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tD74BBCF7C15B95FA4A31681E55A0FE05 /* Sources */,\n\t\t\t\t9E80CE71F73E7DB19033544A8A4E9F55 /* Frameworks */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\t91F718810BB49C6036F14791DC0B796B /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = \"Pods-Masonry iOS Tests\";\n\t\t\tproductName = \"Pods-Masonry iOS Tests\";\n\t\t\tproductReference = 10A477660D2D97AEF58A6795020511A9 /* libPods-Masonry iOS Tests.a */;\n\t\t\tproductType = \"com.apple.product-type.library.static\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\tD41D8CD98F00B204E9800998ECF8427E /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastSwiftUpdateCheck = 0830;\n\t\t\t\tLastUpgradeCheck = 0700;\n\t\t\t};\n\t\t\tbuildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject \"Pods\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t);\n\t\t\tmainGroup = 7DB346D0F39D3F0E887471402A8071AB;\n\t\t\tproductRefGroup = 6B57A62A4ECEF9976CBA3885013FA6AC /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\t46D68D26DCAAC4D999D549BA45F0B0EC /* Expecta */,\n\t\t\t\t9DC8D9E02903E93BD0B2FEC9D846EA20 /* Masonry */,\n\t\t\t\tED9816227181DEA06E7E727FF25B471D /* Pods-Masonry iOS Examples */,\n\t\t\t\tF851684D769DB63C33469D937E0F9C64 /* Pods-Masonry iOS Tests */,\n\t\t\t\tB179403FF6D25C7B7A20B6BC7BB7D496 /* Pods-MasonryTestsLoader */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\t0298D5A9AEDE52C4B23B10839B5B4F22 /* Export Environment Vars */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"Export Environment Vars\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"export | egrep '( BUILT_PRODUCTS_DIR)|(CURRENT_ARCH)|(OBJECT_FILE_DIR_normal)|(SRCROOT)|(OBJROOT)' > $SRCROOT/../script/env.sh\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\t2AC3450D42E3A3D2F5901AE7C9035C9E /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t6DA9AB53FE1CA890DF5FB0468FA0F476 /* Pods-Masonry iOS Examples-dummy.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t5A1715485AF02533C3EE06033E9DA73F /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tCC995F4F36E9D6237AFC6F729364B867 /* EXPBlockDefinedMatcher.m in Sources */,\n\t\t\t\t045E77138594FCD0492D74EE7C22AC90 /* EXPDoubleTuple.m in Sources */,\n\t\t\t\tE95DE019212836608A35BF3270AADF17 /* Expecta-dummy.m in Sources */,\n\t\t\t\tA904D2D6242F68CC3B959E2B0FC8B4F9 /* ExpectaObject.m in Sources */,\n\t\t\t\tC091203A57422574B3263D1E9BA53A87 /* ExpectaSupport.m in Sources */,\n\t\t\t\t1C74D210067A2D584AA672E61F246ECC /* EXPExpect.m in Sources */,\n\t\t\t\t643DE0287F1066D083368EAC928DF078 /* EXPFloatTuple.m in Sources */,\n\t\t\t\t63CDCCAC82CBC33021220531D93213A2 /* EXPMatcherHelpers.m in Sources */,\n\t\t\t\t4943F7D828D56A874ACCA7AC312F863B /* EXPMatchers+beCloseTo.m in Sources */,\n\t\t\t\tC498F24E736A80A0F6C440DBC33AF494 /* EXPMatchers+beFalsy.m in Sources */,\n\t\t\t\tC670343470EAC260E60ABD463CC39E2D /* EXPMatchers+beginWith.m in Sources */,\n\t\t\t\t2C944499E3BB44E17E10959A76BBAEA3 /* EXPMatchers+beGreaterThan.m in Sources */,\n\t\t\t\tCDA268F5B643324DD61A0E25BD4179ED /* EXPMatchers+beGreaterThanOrEqualTo.m in Sources */,\n\t\t\t\tB709C0890B67EB6C1AB9B9738CDBEEC6 /* EXPMatchers+beIdenticalTo.m in Sources */,\n\t\t\t\tB2880B5D7D91AACFCEF345934CFEBA55 /* EXPMatchers+beInstanceOf.m in Sources */,\n\t\t\t\t28BC58EE3C7374C4C2DEF6D029011C84 /* EXPMatchers+beInTheRangeOf.m in Sources */,\n\t\t\t\t885C2534832AF6B1DFA98FA19C4D9994 /* EXPMatchers+beKindOf.m in Sources */,\n\t\t\t\tA12B39559E464A1089E4389274973616 /* EXPMatchers+beLessThan.m in Sources */,\n\t\t\t\t2523657BEE249A532CDFD495AC911F39 /* EXPMatchers+beLessThanOrEqualTo.m in Sources */,\n\t\t\t\t0435080233FFD861A266AB43BE3279D3 /* EXPMatchers+beNil.m in Sources */,\n\t\t\t\t71FBC2F8907E29EB767026E6A08F7EEF /* EXPMatchers+beSubclassOf.m in Sources */,\n\t\t\t\t391226D83570CA724B533A2C609A5EF5 /* EXPMatchers+beSupersetOf.m in Sources */,\n\t\t\t\t1E2343F7AE04C5D386CCD455E84F13E0 /* EXPMatchers+beTruthy.m in Sources */,\n\t\t\t\t58E38027B0A4F6CA7BE54F0AE8D4885B /* EXPMatchers+conformTo.m in Sources */,\n\t\t\t\tFE84239BE923F217FD38E45B4F770EFD /* EXPMatchers+contain.m in Sources */,\n\t\t\t\tF8E39087737225714939DB0252FB1114 /* EXPMatchers+endWith.m in Sources */,\n\t\t\t\t863C5CC8F4698A0C85AB53C9B072D889 /* EXPMatchers+equal.m in Sources */,\n\t\t\t\t24FF4A3B66A2F383BA14790790108406 /* EXPMatchers+haveCountOf.m in Sources */,\n\t\t\t\t0FE4C580D709657792E5661E74F171D5 /* EXPMatchers+match.m in Sources */,\n\t\t\t\tD94F3CDE976C052BF0BD112E257A7F19 /* EXPMatchers+postNotification.m in Sources */,\n\t\t\t\tA5CB8C92268FCAC7B00F12EE55B43338 /* EXPMatchers+raise.m in Sources */,\n\t\t\t\t1D622FBC8A4262E6B398F5CCCB1D9650 /* EXPMatchers+raiseWithReason.m in Sources */,\n\t\t\t\t5D50DA13C7A8B2AF549AA4F05E69F9F4 /* EXPMatchers+respondTo.m in Sources */,\n\t\t\t\tED087996824EE3256B222E3BAEBAB14D /* EXPUnsupportedObject.m in Sources */,\n\t\t\t\t4EB308BF802E6F21BABDA8B8718CC7AB /* NSValue+Expecta.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tB23F63142B50E8F550DD2612D6EC304E /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tE220D02AE7833F8B9202B0304FFBB644 /* MASCompositeConstraint.m in Sources */,\n\t\t\t\t2D814705CE041C701138BD9147CB21AA /* MASConstraint.m in Sources */,\n\t\t\t\tEBFA48D334098E6BAB801E6FB8F756C0 /* MASConstraintMaker.m in Sources */,\n\t\t\t\t1AF47B7901796231A318934C2F0DDC04 /* MASLayoutConstraint.m in Sources */,\n\t\t\t\tB66BCA2DD1043A4356B5286F346F8049 /* Masonry-dummy.m in Sources */,\n\t\t\t\tA8A60B0CEECC7D7C9D8CA6B2DC811C64 /* MASViewAttribute.m in Sources */,\n\t\t\t\t07B309A8727E5DBE05DB1F644F7B8D8A /* MASViewConstraint.m in Sources */,\n\t\t\t\tE846C94664199B4B993866C557EEC20D /* NSArray+MASAdditions.m in Sources */,\n\t\t\t\t80408C0CF9D13D89E500446267DD0041 /* NSLayoutConstraint+MASDebugAdditions.m in Sources */,\n\t\t\t\t409B7E241957B5C0ADFA4DEA82CDA7AB /* View+MASAdditions.m in Sources */,\n\t\t\t\tD2BD7E6904BDD20074AB5A8B04400EB2 /* ViewController+MASAdditions.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tD74BBCF7C15B95FA4A31681E55A0FE05 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t1F002B6CD1662BADA6556D76FFFE0B96 /* Pods-Masonry iOS Tests-dummy.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tDFE87F186448CBCB3F82C8AF4CFC35FA /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tAC80F28E4B250E6535484F5269566FF0 /* Pods-MasonryTestsLoader-dummy.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXTargetDependency section */\n\t\t3D91A82FDB882886527EEF10899EA5B6 /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\tname = Masonry;\n\t\t\ttarget = 9DC8D9E02903E93BD0B2FEC9D846EA20 /* Masonry */;\n\t\t\ttargetProxy = AA5F0BBF6F9F116C791133368DE92755 /* PBXContainerItemProxy */;\n\t\t};\n\t\t91F718810BB49C6036F14791DC0B796B /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\tname = Expecta;\n\t\t\ttarget = 46D68D26DCAAC4D999D549BA45F0B0EC /* Expecta */;\n\t\t\ttargetProxy = 3A31C048AC5B5E5AB145E49BF610B911 /* PBXContainerItemProxy */;\n\t\t};\n\t\tC2B6764EE104DB246A756A4DFE11B8D7 /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\tname = Masonry;\n\t\t\ttarget = 9DC8D9E02903E93BD0B2FEC9D846EA20 /* Masonry */;\n\t\t\ttargetProxy = 5E51BB7C485C3BB1001A7E9EF94414CF /* PBXContainerItemProxy */;\n\t\t};\n/* End PBXTargetDependency section */\n\n/* Begin XCBuildConfiguration section */\n\t\t06C735D53481C37742C3736F2A7D5661 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 489F09523F5700F4F414FA98E0BDEEE4 /* Expecta.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=appletvos*]\" = \"\";\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"\";\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=watchos*]\" = \"\";\n\t\t\t\tDEBUG_INFORMATION_FORMAT = dwarf;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"Target Support Files/Expecta/Expecta-prefix.pch\";\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 5.1.1;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = YES;\n\t\t\t\tOTHER_LDFLAGS = \"\";\n\t\t\t\tOTHER_LIBTOOLFLAGS = \"\";\n\t\t\t\tPRIVATE_HEADERS_FOLDER_PATH = \"\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tPUBLIC_HEADERS_FOLDER_PATH = \"\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tSWIFT_ACTIVE_COMPILATION_CONDITIONS = \"$(inherited) \";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t0D04C9824688FBC954D824C0404A3E00 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = AD6D89D8C414349AAD70BD448A0EB42D /* Pods-MasonryTestsLoader.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=appletvos*]\" = \"\";\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"\";\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=watchos*]\" = \"\";\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_GENERATE_TEST_COVERAGE_FILES = YES;\n\t\t\t\tGCC_INSTRUMENT_PROGRAM_FLOW_ARCS = YES;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tMACH_O_TYPE = staticlib;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tOTHER_LDFLAGS = \"\";\n\t\t\t\tOTHER_LIBTOOLFLAGS = \"\";\n\t\t\t\tPODS_ROOT = \"$(SRCROOT)\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"org.cocoapods.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t1C7D17A37D091C98D2F0DD886C3A9320 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ANALYZER_NONNULL = YES;\n\t\t\t\tCLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES;\n\t\t\t\tCLANG_WARN_DOCUMENTATION_COMMENTS = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCODE_SIGNING_REQUIRED = NO;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"POD_CONFIGURATION_DEBUG=1\",\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tPROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/;\n\t\t\t\tSTRIP_INSTALLED_PRODUCT = NO;\n\t\t\t\tSWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;\n\t\t\t\tSYMROOT = \"${SRCROOT}/../build\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t34FE9531DA9AF2820790339988D5FF41 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ANALYZER_NONNULL = YES;\n\t\t\t\tCLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES;\n\t\t\t\tCLANG_WARN_DOCUMENTATION_COMMENTS = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCODE_SIGNING_REQUIRED = NO;\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"POD_CONFIGURATION_RELEASE=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tPROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/;\n\t\t\t\tSTRIP_INSTALLED_PRODUCT = NO;\n\t\t\t\tSYMROOT = \"${SRCROOT}/../build\";\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t3640836F61E86EC291C35C10A0C6C895 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = D17CA42B2DBD2AB2BBA3CBB7E2205968 /* Masonry.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=appletvos*]\" = \"\";\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"\";\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=watchos*]\" = \"\";\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"Target Support Files/Masonry/Masonry-prefix.pch\";\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 6.0;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tOTHER_LDFLAGS = \"\";\n\t\t\t\tOTHER_LIBTOOLFLAGS = \"\";\n\t\t\t\tPRIVATE_HEADERS_FOLDER_PATH = \"\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tPUBLIC_HEADERS_FOLDER_PATH = \"\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tSWIFT_ACTIVE_COMPILATION_CONDITIONS = \"$(inherited) \";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t4563D8BBE880D823F6BD5DDF706D753C /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 489F09523F5700F4F414FA98E0BDEEE4 /* Expecta.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=appletvos*]\" = \"\";\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"\";\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=watchos*]\" = \"\";\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"Target Support Files/Expecta/Expecta-prefix.pch\";\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 5.1.1;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tOTHER_LDFLAGS = \"\";\n\t\t\t\tOTHER_LIBTOOLFLAGS = \"\";\n\t\t\t\tPRIVATE_HEADERS_FOLDER_PATH = \"\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tPUBLIC_HEADERS_FOLDER_PATH = \"\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tSWIFT_ACTIVE_COMPILATION_CONDITIONS = \"$(inherited) \";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t8B6F0C8DE4F0C3C276DE0869916A9854 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = D17CA42B2DBD2AB2BBA3CBB7E2205968 /* Masonry.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=appletvos*]\" = \"\";\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"\";\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=watchos*]\" = \"\";\n\t\t\t\tDEBUG_INFORMATION_FORMAT = dwarf;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"Target Support Files/Masonry/Masonry-prefix.pch\";\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 6.0;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = YES;\n\t\t\t\tOTHER_LDFLAGS = \"\";\n\t\t\t\tOTHER_LIBTOOLFLAGS = \"\";\n\t\t\t\tPRIVATE_HEADERS_FOLDER_PATH = \"\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tPUBLIC_HEADERS_FOLDER_PATH = \"\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tSWIFT_ACTIVE_COMPILATION_CONDITIONS = \"$(inherited) \";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tBEFC70E6C48ED31E2194921A7560D273 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 1B998D4CCC665C40E8A45CF07DFD7ABC /* Pods-Masonry iOS Examples.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=appletvos*]\" = \"\";\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"\";\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=watchos*]\" = \"\";\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tMACH_O_TYPE = staticlib;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tOTHER_LDFLAGS = \"\";\n\t\t\t\tOTHER_LIBTOOLFLAGS = \"\";\n\t\t\t\tPODS_ROOT = \"$(SRCROOT)\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"org.cocoapods.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tDA2C49C7DD25DEB1B2FD7E82FE00F85A /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = EF1B79566A439B7A68A81F499EBFDDE1 /* Pods-Masonry iOS Tests.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=appletvos*]\" = \"\";\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"\";\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=watchos*]\" = \"\";\n\t\t\t\tDEBUG_INFORMATION_FORMAT = dwarf;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tMACH_O_TYPE = staticlib;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = YES;\n\t\t\t\tOTHER_LDFLAGS = \"\";\n\t\t\t\tOTHER_LIBTOOLFLAGS = \"\";\n\t\t\t\tPODS_ROOT = \"$(SRCROOT)\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"org.cocoapods.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tE0ED321AE074A8803A400A79BF0B2A54 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 41073685DCEF4DD54806A297165DB39F /* Pods-MasonryTestsLoader.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=appletvos*]\" = \"\";\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"\";\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=watchos*]\" = \"\";\n\t\t\t\tDEBUG_INFORMATION_FORMAT = dwarf;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_GENERATE_TEST_COVERAGE_FILES = YES;\n\t\t\t\tGCC_INSTRUMENT_PROGRAM_FLOW_ARCS = YES;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tMACH_O_TYPE = staticlib;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = YES;\n\t\t\t\tOTHER_LDFLAGS = \"\";\n\t\t\t\tOTHER_LIBTOOLFLAGS = \"\";\n\t\t\t\tPODS_ROOT = \"$(SRCROOT)\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"org.cocoapods.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tE7BA51E64E8E497287675229455FF9BE /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 590084C07434815AE5BEC2E76CD54154 /* Pods-Masonry iOS Tests.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=appletvos*]\" = \"\";\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"\";\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=watchos*]\" = \"\";\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tMACH_O_TYPE = staticlib;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tOTHER_LDFLAGS = \"\";\n\t\t\t\tOTHER_LIBTOOLFLAGS = \"\";\n\t\t\t\tPODS_ROOT = \"$(SRCROOT)\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"org.cocoapods.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tFE787B4338C5C609AA6C2113045B53EB /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = C5ABB1C6CB3F9F99597CCF6727731A7B /* Pods-Masonry iOS Examples.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=appletvos*]\" = \"\";\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"\";\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=watchos*]\" = \"\";\n\t\t\t\tDEBUG_INFORMATION_FORMAT = dwarf;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tMACH_O_TYPE = staticlib;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = YES;\n\t\t\t\tOTHER_LDFLAGS = \"\";\n\t\t\t\tOTHER_LIBTOOLFLAGS = \"\";\n\t\t\t\tPODS_ROOT = \"$(SRCROOT)\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"org.cocoapods.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\t2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject \"Pods\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t1C7D17A37D091C98D2F0DD886C3A9320 /* Debug */,\n\t\t\t\t34FE9531DA9AF2820790339988D5FF41 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t315B20EF5C9788CF371A2375E2025660 /* Build configuration list for PBXNativeTarget \"Pods-Masonry iOS Examples\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tFE787B4338C5C609AA6C2113045B53EB /* Debug */,\n\t\t\t\tBEFC70E6C48ED31E2194921A7560D273 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t34CAE1CB89EDBF2E53735CC5D4E5E69F /* Build configuration list for PBXNativeTarget \"Masonry\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t8B6F0C8DE4F0C3C276DE0869916A9854 /* Debug */,\n\t\t\t\t3640836F61E86EC291C35C10A0C6C895 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t403F400D236646D1D85497936B6572D1 /* Build configuration list for PBXNativeTarget \"Pods-Masonry iOS Tests\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDA2C49C7DD25DEB1B2FD7E82FE00F85A /* Debug */,\n\t\t\t\tE7BA51E64E8E497287675229455FF9BE /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t84EA7C388F7334394620E2B60F337AF0 /* Build configuration list for PBXNativeTarget \"Pods-MasonryTestsLoader\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tE0ED321AE074A8803A400A79BF0B2A54 /* Debug */,\n\t\t\t\t0D04C9824688FBC954D824C0404A3E00 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tD88EDEBF3855FDEF25FC2B2C9BC585A7 /* Build configuration list for PBXNativeTarget \"Expecta\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t06C735D53481C37742C3736F2A7D5661 /* Debug */,\n\t\t\t\t4563D8BBE880D823F6BD5DDF706D753C /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = D41D8CD98F00B204E9800998ECF8427E /* Project object */;\n}\n"
  },
  {
    "path": "Pods/Target Support Files/Expecta/Expecta-dummy.m",
    "content": "#import <Foundation/Foundation.h>\n@interface PodsDummy_Expecta : NSObject\n@end\n@implementation PodsDummy_Expecta\n@end\n"
  },
  {
    "path": "Pods/Target Support Files/Expecta/Expecta-prefix.pch",
    "content": "#ifdef __OBJC__\n#import <UIKit/UIKit.h>\n#else\n#ifndef FOUNDATION_EXPORT\n#if defined(__cplusplus)\n#define FOUNDATION_EXPORT extern \"C\"\n#else\n#define FOUNDATION_EXPORT extern\n#endif\n#endif\n#endif\n\n"
  },
  {
    "path": "Pods/Target Support Files/Expecta/Expecta.xcconfig",
    "content": "CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/Expecta\nENABLE_BITCODE = NO\nFRAMEWORK_SEARCH_PATHS = $(inherited)  \"$(PLATFORM_DIR)/Developer/Library/Frameworks\"\nGCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1\nHEADER_SEARCH_PATHS = \"${PODS_ROOT}/Headers/Private\" \"${PODS_ROOT}/Headers/Private/Expecta\" \"${PODS_ROOT}/Headers/Public\" \"${PODS_ROOT}/Headers/Public/Expecta\" \"${PODS_ROOT}/Headers/Public/Masonry\"\nOTHER_LDFLAGS = -framework \"Foundation\" -framework \"XCTest\"\nPODS_BUILD_DIR = $BUILD_DIR\nPODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)\nPODS_ROOT = ${SRCROOT}\nPODS_TARGET_SRCROOT = ${PODS_ROOT}/Expecta\nPRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}\nSKIP_INSTALL = YES\n"
  },
  {
    "path": "Pods/Target Support Files/Masonry/Masonry-dummy.m",
    "content": "#import <Foundation/Foundation.h>\n@interface PodsDummy_Masonry : NSObject\n@end\n@implementation PodsDummy_Masonry\n@end\n"
  },
  {
    "path": "Pods/Target Support Files/Masonry/Masonry-prefix.pch",
    "content": "#ifdef __OBJC__\n#import <UIKit/UIKit.h>\n#else\n#ifndef FOUNDATION_EXPORT\n#if defined(__cplusplus)\n#define FOUNDATION_EXPORT extern \"C\"\n#else\n#define FOUNDATION_EXPORT extern\n#endif\n#endif\n#endif\n\n"
  },
  {
    "path": "Pods/Target Support Files/Masonry/Masonry.xcconfig",
    "content": "CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/Masonry\nGCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1\nHEADER_SEARCH_PATHS = \"${PODS_ROOT}/Headers/Private\" \"${PODS_ROOT}/Headers/Private/Masonry\" \"${PODS_ROOT}/Headers/Public\" \"${PODS_ROOT}/Headers/Public/Expecta\" \"${PODS_ROOT}/Headers/Public/Masonry\"\nOTHER_LDFLAGS = -framework \"Foundation\" -framework \"UIKit\"\nPODS_BUILD_DIR = $BUILD_DIR\nPODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)\nPODS_ROOT = ${SRCROOT}\nPODS_TARGET_SRCROOT = ${PODS_ROOT}/..\nPRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}\nSKIP_INSTALL = YES\n"
  },
  {
    "path": "Pods/Target Support Files/Pods-Masonry iOS Examples/Pods-Masonry iOS Examples-acknowledgements.markdown",
    "content": "# Acknowledgements\nThis application makes use of the following third party libraries:\n\n## Masonry\n\nCopyright (c) 2011-2012 Masonry Team - https://github.com/Masonry\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\nGenerated by CocoaPods - https://cocoapods.org\n"
  },
  {
    "path": "Pods/Target Support Files/Pods-Masonry iOS Examples/Pods-Masonry iOS Examples-acknowledgements.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>PreferenceSpecifiers</key>\n\t<array>\n\t\t<dict>\n\t\t\t<key>FooterText</key>\n\t\t\t<string>This application makes use of the following third party libraries:</string>\n\t\t\t<key>Title</key>\n\t\t\t<string>Acknowledgements</string>\n\t\t\t<key>Type</key>\n\t\t\t<string>PSGroupSpecifier</string>\n\t\t</dict>\n\t\t<dict>\n\t\t\t<key>FooterText</key>\n\t\t\t<string>Copyright (c) 2011-2012 Masonry Team - https://github.com/Masonry\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.</string>\n\t\t\t<key>License</key>\n\t\t\t<string>MIT</string>\n\t\t\t<key>Title</key>\n\t\t\t<string>Masonry</string>\n\t\t\t<key>Type</key>\n\t\t\t<string>PSGroupSpecifier</string>\n\t\t</dict>\n\t\t<dict>\n\t\t\t<key>FooterText</key>\n\t\t\t<string>Generated by CocoaPods - https://cocoapods.org</string>\n\t\t\t<key>Title</key>\n\t\t\t<string></string>\n\t\t\t<key>Type</key>\n\t\t\t<string>PSGroupSpecifier</string>\n\t\t</dict>\n\t</array>\n\t<key>StringsTable</key>\n\t<string>Acknowledgements</string>\n\t<key>Title</key>\n\t<string>Acknowledgements</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Pods/Target Support Files/Pods-Masonry iOS Examples/Pods-Masonry iOS Examples-dummy.m",
    "content": "#import <Foundation/Foundation.h>\n@interface PodsDummy_Pods_Masonry_iOS_Examples : NSObject\n@end\n@implementation PodsDummy_Pods_Masonry_iOS_Examples\n@end\n"
  },
  {
    "path": "Pods/Target Support Files/Pods-Masonry iOS Examples/Pods-Masonry iOS Examples-frameworks.sh",
    "content": "#!/bin/sh\nset -e\n\necho \"mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}\"\nmkdir -p \"${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}\"\n\nSWIFT_STDLIB_PATH=\"${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}\"\n\ninstall_framework()\n{\n  if [ -r \"${BUILT_PRODUCTS_DIR}/$1\" ]; then\n    local source=\"${BUILT_PRODUCTS_DIR}/$1\"\n  elif [ -r \"${BUILT_PRODUCTS_DIR}/$(basename \"$1\")\" ]; then\n    local source=\"${BUILT_PRODUCTS_DIR}/$(basename \"$1\")\"\n  elif [ -r \"$1\" ]; then\n    local source=\"$1\"\n  fi\n\n  local destination=\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}\"\n\n  if [ -L \"${source}\" ]; then\n      echo \"Symlinked...\"\n      source=\"$(readlink \"${source}\")\"\n  fi\n\n  # use filter instead of exclude so missing patterns dont' throw errors\n  echo \"rsync --delete -av --filter \\\"- CVS/\\\" --filter \\\"- .svn/\\\" --filter \\\"- .git/\\\" --filter \\\"- .hg/\\\" --filter \\\"- Headers\\\" --filter \\\"- PrivateHeaders\\\" --filter \\\"- Modules\\\" \\\"${source}\\\" \\\"${destination}\\\"\"\n  rsync --delete -av --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"\n\n  local basename\n  basename=\"$(basename -s .framework \"$1\")\"\n  binary=\"${destination}/${basename}.framework/${basename}\"\n  if ! [ -r \"$binary\" ]; then\n    binary=\"${destination}/${basename}\"\n  fi\n\n  # Strip invalid architectures so \"fat\" simulator / device frameworks work on device\n  if [[ \"$(file \"$binary\")\" == *\"dynamically linked shared library\"* ]]; then\n    strip_invalid_archs \"$binary\"\n  fi\n\n  # Resign the code if required by the build settings to avoid unstable apps\n  code_sign_if_enabled \"${destination}/$(basename \"$1\")\"\n\n  # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7.\n  if [ \"${XCODE_VERSION_MAJOR}\" -lt 7 ]; then\n    local swift_runtime_libs\n    swift_runtime_libs=$(xcrun otool -LX \"$binary\" | grep --color=never @rpath/libswift | sed -E s/@rpath\\\\/\\(.+dylib\\).*/\\\\1/g | uniq -u  && exit ${PIPESTATUS[0]})\n    for lib in $swift_runtime_libs; do\n      echo \"rsync -auv \\\"${SWIFT_STDLIB_PATH}/${lib}\\\" \\\"${destination}\\\"\"\n      rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"\n      code_sign_if_enabled \"${destination}/${lib}\"\n    done\n  fi\n}\n\n# Copies the dSYM of a vendored framework\ninstall_dsym() {\n  local source=\"$1\"\n  if [ -r \"$source\" ]; then\n    echo \"rsync --delete -av --filter \\\"- CVS/\\\" --filter \\\"- .svn/\\\" --filter \\\"- .git/\\\" --filter \\\"- .hg/\\\" --filter \\\"- Headers\\\" --filter \\\"- PrivateHeaders\\\" --filter \\\"- Modules\\\" \\\"${source}\\\" \\\"${DWARF_DSYM_FOLDER_PATH}\\\"\"\n    rsync --delete -av --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DWARF_DSYM_FOLDER_PATH}\"\n  fi\n}\n\n# Signs a framework with the provided identity\ncode_sign_if_enabled() {\n  if [ -n \"${EXPANDED_CODE_SIGN_IDENTITY}\" -a \"${CODE_SIGNING_REQUIRED}\" != \"NO\" -a \"${CODE_SIGNING_ALLOWED}\" != \"NO\" ]; then\n    # Use the current code_sign_identitiy\n    echo \"Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}\"\n    local code_sign_cmd=\"/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements '$1'\"\n\n    if [ \"${COCOAPODS_PARALLEL_CODE_SIGN}\" == \"true\" ]; then\n      code_sign_cmd=\"$code_sign_cmd &\"\n    fi\n    echo \"$code_sign_cmd\"\n    eval \"$code_sign_cmd\"\n  fi\n}\n\n# Strip invalid architectures\nstrip_invalid_archs() {\n  binary=\"$1\"\n  # Get architectures for current file\n  archs=\"$(lipo -info \"$binary\" | rev | cut -d ':' -f1 | rev)\"\n  stripped=\"\"\n  for arch in $archs; do\n    if ! [[ \"${ARCHS}\" == *\"$arch\"* ]]; then\n      # Strip non-valid architectures in-place\n      lipo -remove \"$arch\" -output \"$binary\" \"$binary\" || exit 1\n      stripped=\"$stripped $arch\"\n    fi\n  done\n  if [[ \"$stripped\" ]]; then\n    echo \"Stripped $binary of architectures:$stripped\"\n  fi\n}\n\nif [ \"${COCOAPODS_PARALLEL_CODE_SIGN}\" == \"true\" ]; then\n  wait\nfi\n"
  },
  {
    "path": "Pods/Target Support Files/Pods-Masonry iOS Examples/Pods-Masonry iOS Examples-resources.sh",
    "content": "#!/bin/sh\nset -e\n\nmkdir -p \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}\"\n\nRESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt\n> \"$RESOURCES_TO_COPY\"\n\nXCASSET_FILES=()\n\ncase \"${TARGETED_DEVICE_FAMILY}\" in\n  1,2)\n    TARGET_DEVICE_ARGS=\"--target-device ipad --target-device iphone\"\n    ;;\n  1)\n    TARGET_DEVICE_ARGS=\"--target-device iphone\"\n    ;;\n  2)\n    TARGET_DEVICE_ARGS=\"--target-device ipad\"\n    ;;\n  3)\n    TARGET_DEVICE_ARGS=\"--target-device tv\"\n    ;;\n  4)\n    TARGET_DEVICE_ARGS=\"--target-device watch\"\n    ;;\n  *)\n    TARGET_DEVICE_ARGS=\"--target-device mac\"\n    ;;\nesac\n\ninstall_resource()\n{\n  if [[ \"$1\" = /* ]] ; then\n    RESOURCE_PATH=\"$1\"\n  else\n    RESOURCE_PATH=\"${PODS_ROOT}/$1\"\n  fi\n  if [[ ! -e \"$RESOURCE_PATH\" ]] ; then\n    cat << EOM\nerror: Resource \"$RESOURCE_PATH\" not found. Run 'pod install' to update the copy resources script.\nEOM\n    exit 1\n  fi\n  case $RESOURCE_PATH in\n    *.storyboard)\n      echo \"ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \\\"$RESOURCE_PATH\\\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}\" || true\n      ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \\\"$RESOURCE_PATH\\\" .storyboard`.storyboardc\" \"$RESOURCE_PATH\" --sdk \"${SDKROOT}\" ${TARGET_DEVICE_ARGS}\n      ;;\n    *.xib)\n      echo \"ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \\\"$RESOURCE_PATH\\\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}\" || true\n      ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \\\"$RESOURCE_PATH\\\" .xib`.nib\" \"$RESOURCE_PATH\" --sdk \"${SDKROOT}\" ${TARGET_DEVICE_ARGS}\n      ;;\n    *.framework)\n      echo \"mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}\" || true\n      mkdir -p \"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}\"\n      echo \"rsync --delete -av $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}\" || true\n      rsync --delete -av \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}\"\n      ;;\n    *.xcdatamodel)\n      echo \"xcrun momc \\\"$RESOURCE_PATH\\\" \\\"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\"`.mom\\\"\" || true\n      xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xcdatamodel`.mom\"\n      ;;\n    *.xcdatamodeld)\n      echo \"xcrun momc \\\"$RESOURCE_PATH\\\" \\\"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xcdatamodeld`.momd\\\"\" || true\n      xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xcdatamodeld`.momd\"\n      ;;\n    *.xcmappingmodel)\n      echo \"xcrun mapc \\\"$RESOURCE_PATH\\\" \\\"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xcmappingmodel`.cdm\\\"\" || true\n      xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xcmappingmodel`.cdm\"\n      ;;\n    *.xcassets)\n      ABSOLUTE_XCASSET_FILE=\"$RESOURCE_PATH\"\n      XCASSET_FILES+=(\"$ABSOLUTE_XCASSET_FILE\")\n      ;;\n    *)\n      echo \"$RESOURCE_PATH\" || true\n      echo \"$RESOURCE_PATH\" >> \"$RESOURCES_TO_COPY\"\n      ;;\n  esac\n}\n\nmkdir -p \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}\"\nrsync --delete -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from=\"$RESOURCES_TO_COPY\" / \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}\"\nif [[ \"${ACTION}\" == \"install\" ]] && [[ \"${SKIP_INSTALL}\" == \"NO\" ]]; then\n  mkdir -p \"${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}\"\n  rsync --delete -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from=\"$RESOURCES_TO_COPY\" / \"${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}\"\nfi\nrm -f \"$RESOURCES_TO_COPY\"\n\nif [[ -n \"${WRAPPER_EXTENSION}\" ]] && [ \"`xcrun --find actool`\" ] && [ -n \"$XCASSET_FILES\" ]\nthen\n  # Find all other xcassets (this unfortunately includes those of path pods and other targets).\n  OTHER_XCASSETS=$(find \"$PWD\" -iname \"*.xcassets\" -type d)\n  while read line; do\n    if [[ $line != \"${PODS_ROOT}*\" ]]; then\n      XCASSET_FILES+=(\"$line\")\n    fi\n  done <<<\"$OTHER_XCASSETS\"\n\n  printf \"%s\\0\" \"${XCASSET_FILES[@]}\" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform \"${PLATFORM_NAME}\" --minimum-deployment-target \"${!DEPLOYMENT_TARGET_SETTING_NAME}\" ${TARGET_DEVICE_ARGS} --compress-pngs --compile \"${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}\"\nfi\n"
  },
  {
    "path": "Pods/Target Support Files/Pods-Masonry iOS Examples/Pods-Masonry iOS Examples.debug.xcconfig",
    "content": "GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1\nHEADER_SEARCH_PATHS = $(inherited) \"${PODS_ROOT}/Headers/Public\" \"${PODS_ROOT}/Headers/Public/Expecta\" \"${PODS_ROOT}/Headers/Public/Masonry\"\nLIBRARY_SEARCH_PATHS = $(inherited) \"$PODS_CONFIGURATION_BUILD_DIR/Masonry\"\nOTHER_CFLAGS = $(inherited) -isystem \"${PODS_ROOT}/Headers/Public\" -isystem \"${PODS_ROOT}/Headers/Public/Expecta\" -isystem \"${PODS_ROOT}/Headers/Public/Masonry\"\nOTHER_LDFLAGS = $(inherited) -ObjC -l\"Masonry\" -framework \"Foundation\" -framework \"UIKit\"\nPODS_BUILD_DIR = $BUILD_DIR\nPODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)\nPODS_PODFILE_DIR_PATH = ${SRCROOT}/..\nPODS_ROOT = ${SRCROOT}/../Pods\n"
  },
  {
    "path": "Pods/Target Support Files/Pods-Masonry iOS Examples/Pods-Masonry iOS Examples.release.xcconfig",
    "content": "GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1\nHEADER_SEARCH_PATHS = $(inherited) \"${PODS_ROOT}/Headers/Public\" \"${PODS_ROOT}/Headers/Public/Expecta\" \"${PODS_ROOT}/Headers/Public/Masonry\"\nLIBRARY_SEARCH_PATHS = $(inherited) \"$PODS_CONFIGURATION_BUILD_DIR/Masonry\"\nOTHER_CFLAGS = $(inherited) -isystem \"${PODS_ROOT}/Headers/Public\" -isystem \"${PODS_ROOT}/Headers/Public/Expecta\" -isystem \"${PODS_ROOT}/Headers/Public/Masonry\"\nOTHER_LDFLAGS = $(inherited) -ObjC -l\"Masonry\" -framework \"Foundation\" -framework \"UIKit\"\nPODS_BUILD_DIR = $BUILD_DIR\nPODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)\nPODS_PODFILE_DIR_PATH = ${SRCROOT}/..\nPODS_ROOT = ${SRCROOT}/../Pods\n"
  },
  {
    "path": "Pods/Target Support Files/Pods-Masonry iOS Tests/Pods-Masonry iOS Tests-acknowledgements.markdown",
    "content": "# Acknowledgements\nThis application makes use of the following third party libraries:\n\n## Expecta\n\nCopyright (c) 2011-2015 Specta Team - https://github.com/specta\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n\nGenerated by CocoaPods - https://cocoapods.org\n"
  },
  {
    "path": "Pods/Target Support Files/Pods-Masonry iOS Tests/Pods-Masonry iOS Tests-acknowledgements.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>PreferenceSpecifiers</key>\n\t<array>\n\t\t<dict>\n\t\t\t<key>FooterText</key>\n\t\t\t<string>This application makes use of the following third party libraries:</string>\n\t\t\t<key>Title</key>\n\t\t\t<string>Acknowledgements</string>\n\t\t\t<key>Type</key>\n\t\t\t<string>PSGroupSpecifier</string>\n\t\t</dict>\n\t\t<dict>\n\t\t\t<key>FooterText</key>\n\t\t\t<string>Copyright (c) 2011-2015 Specta Team - https://github.com/specta\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n</string>\n\t\t\t<key>License</key>\n\t\t\t<string>MIT</string>\n\t\t\t<key>Title</key>\n\t\t\t<string>Expecta</string>\n\t\t\t<key>Type</key>\n\t\t\t<string>PSGroupSpecifier</string>\n\t\t</dict>\n\t\t<dict>\n\t\t\t<key>FooterText</key>\n\t\t\t<string>Generated by CocoaPods - https://cocoapods.org</string>\n\t\t\t<key>Title</key>\n\t\t\t<string></string>\n\t\t\t<key>Type</key>\n\t\t\t<string>PSGroupSpecifier</string>\n\t\t</dict>\n\t</array>\n\t<key>StringsTable</key>\n\t<string>Acknowledgements</string>\n\t<key>Title</key>\n\t<string>Acknowledgements</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Pods/Target Support Files/Pods-Masonry iOS Tests/Pods-Masonry iOS Tests-dummy.m",
    "content": "#import <Foundation/Foundation.h>\n@interface PodsDummy_Pods_Masonry_iOS_Tests : NSObject\n@end\n@implementation PodsDummy_Pods_Masonry_iOS_Tests\n@end\n"
  },
  {
    "path": "Pods/Target Support Files/Pods-Masonry iOS Tests/Pods-Masonry iOS Tests-frameworks.sh",
    "content": "#!/bin/sh\nset -e\n\necho \"mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}\"\nmkdir -p \"${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}\"\n\nSWIFT_STDLIB_PATH=\"${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}\"\n\ninstall_framework()\n{\n  if [ -r \"${BUILT_PRODUCTS_DIR}/$1\" ]; then\n    local source=\"${BUILT_PRODUCTS_DIR}/$1\"\n  elif [ -r \"${BUILT_PRODUCTS_DIR}/$(basename \"$1\")\" ]; then\n    local source=\"${BUILT_PRODUCTS_DIR}/$(basename \"$1\")\"\n  elif [ -r \"$1\" ]; then\n    local source=\"$1\"\n  fi\n\n  local destination=\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}\"\n\n  if [ -L \"${source}\" ]; then\n      echo \"Symlinked...\"\n      source=\"$(readlink \"${source}\")\"\n  fi\n\n  # use filter instead of exclude so missing patterns dont' throw errors\n  echo \"rsync --delete -av --filter \\\"- CVS/\\\" --filter \\\"- .svn/\\\" --filter \\\"- .git/\\\" --filter \\\"- .hg/\\\" --filter \\\"- Headers\\\" --filter \\\"- PrivateHeaders\\\" --filter \\\"- Modules\\\" \\\"${source}\\\" \\\"${destination}\\\"\"\n  rsync --delete -av --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"\n\n  local basename\n  basename=\"$(basename -s .framework \"$1\")\"\n  binary=\"${destination}/${basename}.framework/${basename}\"\n  if ! [ -r \"$binary\" ]; then\n    binary=\"${destination}/${basename}\"\n  fi\n\n  # Strip invalid architectures so \"fat\" simulator / device frameworks work on device\n  if [[ \"$(file \"$binary\")\" == *\"dynamically linked shared library\"* ]]; then\n    strip_invalid_archs \"$binary\"\n  fi\n\n  # Resign the code if required by the build settings to avoid unstable apps\n  code_sign_if_enabled \"${destination}/$(basename \"$1\")\"\n\n  # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7.\n  if [ \"${XCODE_VERSION_MAJOR}\" -lt 7 ]; then\n    local swift_runtime_libs\n    swift_runtime_libs=$(xcrun otool -LX \"$binary\" | grep --color=never @rpath/libswift | sed -E s/@rpath\\\\/\\(.+dylib\\).*/\\\\1/g | uniq -u  && exit ${PIPESTATUS[0]})\n    for lib in $swift_runtime_libs; do\n      echo \"rsync -auv \\\"${SWIFT_STDLIB_PATH}/${lib}\\\" \\\"${destination}\\\"\"\n      rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"\n      code_sign_if_enabled \"${destination}/${lib}\"\n    done\n  fi\n}\n\n# Copies the dSYM of a vendored framework\ninstall_dsym() {\n  local source=\"$1\"\n  if [ -r \"$source\" ]; then\n    echo \"rsync --delete -av --filter \\\"- CVS/\\\" --filter \\\"- .svn/\\\" --filter \\\"- .git/\\\" --filter \\\"- .hg/\\\" --filter \\\"- Headers\\\" --filter \\\"- PrivateHeaders\\\" --filter \\\"- Modules\\\" \\\"${source}\\\" \\\"${DWARF_DSYM_FOLDER_PATH}\\\"\"\n    rsync --delete -av --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DWARF_DSYM_FOLDER_PATH}\"\n  fi\n}\n\n# Signs a framework with the provided identity\ncode_sign_if_enabled() {\n  if [ -n \"${EXPANDED_CODE_SIGN_IDENTITY}\" -a \"${CODE_SIGNING_REQUIRED}\" != \"NO\" -a \"${CODE_SIGNING_ALLOWED}\" != \"NO\" ]; then\n    # Use the current code_sign_identitiy\n    echo \"Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}\"\n    local code_sign_cmd=\"/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements '$1'\"\n\n    if [ \"${COCOAPODS_PARALLEL_CODE_SIGN}\" == \"true\" ]; then\n      code_sign_cmd=\"$code_sign_cmd &\"\n    fi\n    echo \"$code_sign_cmd\"\n    eval \"$code_sign_cmd\"\n  fi\n}\n\n# Strip invalid architectures\nstrip_invalid_archs() {\n  binary=\"$1\"\n  # Get architectures for current file\n  archs=\"$(lipo -info \"$binary\" | rev | cut -d ':' -f1 | rev)\"\n  stripped=\"\"\n  for arch in $archs; do\n    if ! [[ \"${ARCHS}\" == *\"$arch\"* ]]; then\n      # Strip non-valid architectures in-place\n      lipo -remove \"$arch\" -output \"$binary\" \"$binary\" || exit 1\n      stripped=\"$stripped $arch\"\n    fi\n  done\n  if [[ \"$stripped\" ]]; then\n    echo \"Stripped $binary of architectures:$stripped\"\n  fi\n}\n\nif [ \"${COCOAPODS_PARALLEL_CODE_SIGN}\" == \"true\" ]; then\n  wait\nfi\n"
  },
  {
    "path": "Pods/Target Support Files/Pods-Masonry iOS Tests/Pods-Masonry iOS Tests-resources.sh",
    "content": "#!/bin/sh\nset -e\n\nmkdir -p \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}\"\n\nRESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt\n> \"$RESOURCES_TO_COPY\"\n\nXCASSET_FILES=()\n\ncase \"${TARGETED_DEVICE_FAMILY}\" in\n  1,2)\n    TARGET_DEVICE_ARGS=\"--target-device ipad --target-device iphone\"\n    ;;\n  1)\n    TARGET_DEVICE_ARGS=\"--target-device iphone\"\n    ;;\n  2)\n    TARGET_DEVICE_ARGS=\"--target-device ipad\"\n    ;;\n  3)\n    TARGET_DEVICE_ARGS=\"--target-device tv\"\n    ;;\n  4)\n    TARGET_DEVICE_ARGS=\"--target-device watch\"\n    ;;\n  *)\n    TARGET_DEVICE_ARGS=\"--target-device mac\"\n    ;;\nesac\n\ninstall_resource()\n{\n  if [[ \"$1\" = /* ]] ; then\n    RESOURCE_PATH=\"$1\"\n  else\n    RESOURCE_PATH=\"${PODS_ROOT}/$1\"\n  fi\n  if [[ ! -e \"$RESOURCE_PATH\" ]] ; then\n    cat << EOM\nerror: Resource \"$RESOURCE_PATH\" not found. Run 'pod install' to update the copy resources script.\nEOM\n    exit 1\n  fi\n  case $RESOURCE_PATH in\n    *.storyboard)\n      echo \"ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \\\"$RESOURCE_PATH\\\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}\" || true\n      ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \\\"$RESOURCE_PATH\\\" .storyboard`.storyboardc\" \"$RESOURCE_PATH\" --sdk \"${SDKROOT}\" ${TARGET_DEVICE_ARGS}\n      ;;\n    *.xib)\n      echo \"ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \\\"$RESOURCE_PATH\\\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}\" || true\n      ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \\\"$RESOURCE_PATH\\\" .xib`.nib\" \"$RESOURCE_PATH\" --sdk \"${SDKROOT}\" ${TARGET_DEVICE_ARGS}\n      ;;\n    *.framework)\n      echo \"mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}\" || true\n      mkdir -p \"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}\"\n      echo \"rsync --delete -av $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}\" || true\n      rsync --delete -av \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}\"\n      ;;\n    *.xcdatamodel)\n      echo \"xcrun momc \\\"$RESOURCE_PATH\\\" \\\"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\"`.mom\\\"\" || true\n      xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xcdatamodel`.mom\"\n      ;;\n    *.xcdatamodeld)\n      echo \"xcrun momc \\\"$RESOURCE_PATH\\\" \\\"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xcdatamodeld`.momd\\\"\" || true\n      xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xcdatamodeld`.momd\"\n      ;;\n    *.xcmappingmodel)\n      echo \"xcrun mapc \\\"$RESOURCE_PATH\\\" \\\"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xcmappingmodel`.cdm\\\"\" || true\n      xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xcmappingmodel`.cdm\"\n      ;;\n    *.xcassets)\n      ABSOLUTE_XCASSET_FILE=\"$RESOURCE_PATH\"\n      XCASSET_FILES+=(\"$ABSOLUTE_XCASSET_FILE\")\n      ;;\n    *)\n      echo \"$RESOURCE_PATH\" || true\n      echo \"$RESOURCE_PATH\" >> \"$RESOURCES_TO_COPY\"\n      ;;\n  esac\n}\n\nmkdir -p \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}\"\nrsync --delete -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from=\"$RESOURCES_TO_COPY\" / \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}\"\nif [[ \"${ACTION}\" == \"install\" ]] && [[ \"${SKIP_INSTALL}\" == \"NO\" ]]; then\n  mkdir -p \"${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}\"\n  rsync --delete -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from=\"$RESOURCES_TO_COPY\" / \"${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}\"\nfi\nrm -f \"$RESOURCES_TO_COPY\"\n\nif [[ -n \"${WRAPPER_EXTENSION}\" ]] && [ \"`xcrun --find actool`\" ] && [ -n \"$XCASSET_FILES\" ]\nthen\n  # Find all other xcassets (this unfortunately includes those of path pods and other targets).\n  OTHER_XCASSETS=$(find \"$PWD\" -iname \"*.xcassets\" -type d)\n  while read line; do\n    if [[ $line != \"${PODS_ROOT}*\" ]]; then\n      XCASSET_FILES+=(\"$line\")\n    fi\n  done <<<\"$OTHER_XCASSETS\"\n\n  printf \"%s\\0\" \"${XCASSET_FILES[@]}\" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform \"${PLATFORM_NAME}\" --minimum-deployment-target \"${!DEPLOYMENT_TARGET_SETTING_NAME}\" ${TARGET_DEVICE_ARGS} --compress-pngs --compile \"${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}\"\nfi\n"
  },
  {
    "path": "Pods/Target Support Files/Pods-Masonry iOS Tests/Pods-Masonry iOS Tests.debug.xcconfig",
    "content": "FRAMEWORK_SEARCH_PATHS = $(inherited) \"$(PLATFORM_DIR)/Developer/Library/Frameworks\"\nGCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1\nHEADER_SEARCH_PATHS = $(inherited) \"${PODS_ROOT}/Headers/Public\" \"${PODS_ROOT}/Headers/Public/Expecta\" \"${PODS_ROOT}/Headers/Public/Masonry\"\nLIBRARY_SEARCH_PATHS = $(inherited) \"$PODS_CONFIGURATION_BUILD_DIR/Expecta\"\nOTHER_CFLAGS = $(inherited) -isystem \"${PODS_ROOT}/Headers/Public\" -isystem \"${PODS_ROOT}/Headers/Public/Expecta\" -isystem \"${PODS_ROOT}/Headers/Public/Masonry\"\nOTHER_LDFLAGS = $(inherited) -ObjC -l\"Expecta\" -framework \"Foundation\" -framework \"XCTest\"\nPODS_BUILD_DIR = $BUILD_DIR\nPODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)\nPODS_PODFILE_DIR_PATH = ${SRCROOT}/..\nPODS_ROOT = ${SRCROOT}/../Pods\n"
  },
  {
    "path": "Pods/Target Support Files/Pods-Masonry iOS Tests/Pods-Masonry iOS Tests.release.xcconfig",
    "content": "FRAMEWORK_SEARCH_PATHS = $(inherited) \"$(PLATFORM_DIR)/Developer/Library/Frameworks\"\nGCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1\nHEADER_SEARCH_PATHS = $(inherited) \"${PODS_ROOT}/Headers/Public\" \"${PODS_ROOT}/Headers/Public/Expecta\" \"${PODS_ROOT}/Headers/Public/Masonry\"\nLIBRARY_SEARCH_PATHS = $(inherited) \"$PODS_CONFIGURATION_BUILD_DIR/Expecta\"\nOTHER_CFLAGS = $(inherited) -isystem \"${PODS_ROOT}/Headers/Public\" -isystem \"${PODS_ROOT}/Headers/Public/Expecta\" -isystem \"${PODS_ROOT}/Headers/Public/Masonry\"\nOTHER_LDFLAGS = $(inherited) -ObjC -l\"Expecta\" -framework \"Foundation\" -framework \"XCTest\"\nPODS_BUILD_DIR = $BUILD_DIR\nPODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)\nPODS_PODFILE_DIR_PATH = ${SRCROOT}/..\nPODS_ROOT = ${SRCROOT}/../Pods\n"
  },
  {
    "path": "Pods/Target Support Files/Pods-MasonryTestsLoader/Pods-MasonryTestsLoader-acknowledgements.markdown",
    "content": "# Acknowledgements\nThis application makes use of the following third party libraries:\n\n## Masonry\n\nCopyright (c) 2011-2012 Masonry Team - https://github.com/Masonry\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\nGenerated by CocoaPods - https://cocoapods.org\n"
  },
  {
    "path": "Pods/Target Support Files/Pods-MasonryTestsLoader/Pods-MasonryTestsLoader-acknowledgements.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>PreferenceSpecifiers</key>\n\t<array>\n\t\t<dict>\n\t\t\t<key>FooterText</key>\n\t\t\t<string>This application makes use of the following third party libraries:</string>\n\t\t\t<key>Title</key>\n\t\t\t<string>Acknowledgements</string>\n\t\t\t<key>Type</key>\n\t\t\t<string>PSGroupSpecifier</string>\n\t\t</dict>\n\t\t<dict>\n\t\t\t<key>FooterText</key>\n\t\t\t<string>Copyright (c) 2011-2012 Masonry Team - https://github.com/Masonry\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.</string>\n\t\t\t<key>License</key>\n\t\t\t<string>MIT</string>\n\t\t\t<key>Title</key>\n\t\t\t<string>Masonry</string>\n\t\t\t<key>Type</key>\n\t\t\t<string>PSGroupSpecifier</string>\n\t\t</dict>\n\t\t<dict>\n\t\t\t<key>FooterText</key>\n\t\t\t<string>Generated by CocoaPods - https://cocoapods.org</string>\n\t\t\t<key>Title</key>\n\t\t\t<string></string>\n\t\t\t<key>Type</key>\n\t\t\t<string>PSGroupSpecifier</string>\n\t\t</dict>\n\t</array>\n\t<key>StringsTable</key>\n\t<string>Acknowledgements</string>\n\t<key>Title</key>\n\t<string>Acknowledgements</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Pods/Target Support Files/Pods-MasonryTestsLoader/Pods-MasonryTestsLoader-dummy.m",
    "content": "#import <Foundation/Foundation.h>\n@interface PodsDummy_Pods_MasonryTestsLoader : NSObject\n@end\n@implementation PodsDummy_Pods_MasonryTestsLoader\n@end\n"
  },
  {
    "path": "Pods/Target Support Files/Pods-MasonryTestsLoader/Pods-MasonryTestsLoader-frameworks.sh",
    "content": "#!/bin/sh\nset -e\n\necho \"mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}\"\nmkdir -p \"${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}\"\n\nSWIFT_STDLIB_PATH=\"${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}\"\n\ninstall_framework()\n{\n  if [ -r \"${BUILT_PRODUCTS_DIR}/$1\" ]; then\n    local source=\"${BUILT_PRODUCTS_DIR}/$1\"\n  elif [ -r \"${BUILT_PRODUCTS_DIR}/$(basename \"$1\")\" ]; then\n    local source=\"${BUILT_PRODUCTS_DIR}/$(basename \"$1\")\"\n  elif [ -r \"$1\" ]; then\n    local source=\"$1\"\n  fi\n\n  local destination=\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}\"\n\n  if [ -L \"${source}\" ]; then\n      echo \"Symlinked...\"\n      source=\"$(readlink \"${source}\")\"\n  fi\n\n  # use filter instead of exclude so missing patterns dont' throw errors\n  echo \"rsync --delete -av --filter \\\"- CVS/\\\" --filter \\\"- .svn/\\\" --filter \\\"- .git/\\\" --filter \\\"- .hg/\\\" --filter \\\"- Headers\\\" --filter \\\"- PrivateHeaders\\\" --filter \\\"- Modules\\\" \\\"${source}\\\" \\\"${destination}\\\"\"\n  rsync --delete -av --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"\n\n  local basename\n  basename=\"$(basename -s .framework \"$1\")\"\n  binary=\"${destination}/${basename}.framework/${basename}\"\n  if ! [ -r \"$binary\" ]; then\n    binary=\"${destination}/${basename}\"\n  fi\n\n  # Strip invalid architectures so \"fat\" simulator / device frameworks work on device\n  if [[ \"$(file \"$binary\")\" == *\"dynamically linked shared library\"* ]]; then\n    strip_invalid_archs \"$binary\"\n  fi\n\n  # Resign the code if required by the build settings to avoid unstable apps\n  code_sign_if_enabled \"${destination}/$(basename \"$1\")\"\n\n  # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7.\n  if [ \"${XCODE_VERSION_MAJOR}\" -lt 7 ]; then\n    local swift_runtime_libs\n    swift_runtime_libs=$(xcrun otool -LX \"$binary\" | grep --color=never @rpath/libswift | sed -E s/@rpath\\\\/\\(.+dylib\\).*/\\\\1/g | uniq -u  && exit ${PIPESTATUS[0]})\n    for lib in $swift_runtime_libs; do\n      echo \"rsync -auv \\\"${SWIFT_STDLIB_PATH}/${lib}\\\" \\\"${destination}\\\"\"\n      rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"\n      code_sign_if_enabled \"${destination}/${lib}\"\n    done\n  fi\n}\n\n# Copies the dSYM of a vendored framework\ninstall_dsym() {\n  local source=\"$1\"\n  if [ -r \"$source\" ]; then\n    echo \"rsync --delete -av --filter \\\"- CVS/\\\" --filter \\\"- .svn/\\\" --filter \\\"- .git/\\\" --filter \\\"- .hg/\\\" --filter \\\"- Headers\\\" --filter \\\"- PrivateHeaders\\\" --filter \\\"- Modules\\\" \\\"${source}\\\" \\\"${DWARF_DSYM_FOLDER_PATH}\\\"\"\n    rsync --delete -av --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DWARF_DSYM_FOLDER_PATH}\"\n  fi\n}\n\n# Signs a framework with the provided identity\ncode_sign_if_enabled() {\n  if [ -n \"${EXPANDED_CODE_SIGN_IDENTITY}\" -a \"${CODE_SIGNING_REQUIRED}\" != \"NO\" -a \"${CODE_SIGNING_ALLOWED}\" != \"NO\" ]; then\n    # Use the current code_sign_identitiy\n    echo \"Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}\"\n    local code_sign_cmd=\"/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements '$1'\"\n\n    if [ \"${COCOAPODS_PARALLEL_CODE_SIGN}\" == \"true\" ]; then\n      code_sign_cmd=\"$code_sign_cmd &\"\n    fi\n    echo \"$code_sign_cmd\"\n    eval \"$code_sign_cmd\"\n  fi\n}\n\n# Strip invalid architectures\nstrip_invalid_archs() {\n  binary=\"$1\"\n  # Get architectures for current file\n  archs=\"$(lipo -info \"$binary\" | rev | cut -d ':' -f1 | rev)\"\n  stripped=\"\"\n  for arch in $archs; do\n    if ! [[ \"${ARCHS}\" == *\"$arch\"* ]]; then\n      # Strip non-valid architectures in-place\n      lipo -remove \"$arch\" -output \"$binary\" \"$binary\" || exit 1\n      stripped=\"$stripped $arch\"\n    fi\n  done\n  if [[ \"$stripped\" ]]; then\n    echo \"Stripped $binary of architectures:$stripped\"\n  fi\n}\n\nif [ \"${COCOAPODS_PARALLEL_CODE_SIGN}\" == \"true\" ]; then\n  wait\nfi\n"
  },
  {
    "path": "Pods/Target Support Files/Pods-MasonryTestsLoader/Pods-MasonryTestsLoader-resources.sh",
    "content": "#!/bin/sh\nset -e\n\nmkdir -p \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}\"\n\nRESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt\n> \"$RESOURCES_TO_COPY\"\n\nXCASSET_FILES=()\n\ncase \"${TARGETED_DEVICE_FAMILY}\" in\n  1,2)\n    TARGET_DEVICE_ARGS=\"--target-device ipad --target-device iphone\"\n    ;;\n  1)\n    TARGET_DEVICE_ARGS=\"--target-device iphone\"\n    ;;\n  2)\n    TARGET_DEVICE_ARGS=\"--target-device ipad\"\n    ;;\n  3)\n    TARGET_DEVICE_ARGS=\"--target-device tv\"\n    ;;\n  4)\n    TARGET_DEVICE_ARGS=\"--target-device watch\"\n    ;;\n  *)\n    TARGET_DEVICE_ARGS=\"--target-device mac\"\n    ;;\nesac\n\ninstall_resource()\n{\n  if [[ \"$1\" = /* ]] ; then\n    RESOURCE_PATH=\"$1\"\n  else\n    RESOURCE_PATH=\"${PODS_ROOT}/$1\"\n  fi\n  if [[ ! -e \"$RESOURCE_PATH\" ]] ; then\n    cat << EOM\nerror: Resource \"$RESOURCE_PATH\" not found. Run 'pod install' to update the copy resources script.\nEOM\n    exit 1\n  fi\n  case $RESOURCE_PATH in\n    *.storyboard)\n      echo \"ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \\\"$RESOURCE_PATH\\\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}\" || true\n      ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \\\"$RESOURCE_PATH\\\" .storyboard`.storyboardc\" \"$RESOURCE_PATH\" --sdk \"${SDKROOT}\" ${TARGET_DEVICE_ARGS}\n      ;;\n    *.xib)\n      echo \"ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \\\"$RESOURCE_PATH\\\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}\" || true\n      ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \\\"$RESOURCE_PATH\\\" .xib`.nib\" \"$RESOURCE_PATH\" --sdk \"${SDKROOT}\" ${TARGET_DEVICE_ARGS}\n      ;;\n    *.framework)\n      echo \"mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}\" || true\n      mkdir -p \"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}\"\n      echo \"rsync --delete -av $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}\" || true\n      rsync --delete -av \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}\"\n      ;;\n    *.xcdatamodel)\n      echo \"xcrun momc \\\"$RESOURCE_PATH\\\" \\\"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\"`.mom\\\"\" || true\n      xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xcdatamodel`.mom\"\n      ;;\n    *.xcdatamodeld)\n      echo \"xcrun momc \\\"$RESOURCE_PATH\\\" \\\"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xcdatamodeld`.momd\\\"\" || true\n      xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xcdatamodeld`.momd\"\n      ;;\n    *.xcmappingmodel)\n      echo \"xcrun mapc \\\"$RESOURCE_PATH\\\" \\\"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xcmappingmodel`.cdm\\\"\" || true\n      xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xcmappingmodel`.cdm\"\n      ;;\n    *.xcassets)\n      ABSOLUTE_XCASSET_FILE=\"$RESOURCE_PATH\"\n      XCASSET_FILES+=(\"$ABSOLUTE_XCASSET_FILE\")\n      ;;\n    *)\n      echo \"$RESOURCE_PATH\" || true\n      echo \"$RESOURCE_PATH\" >> \"$RESOURCES_TO_COPY\"\n      ;;\n  esac\n}\n\nmkdir -p \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}\"\nrsync --delete -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from=\"$RESOURCES_TO_COPY\" / \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}\"\nif [[ \"${ACTION}\" == \"install\" ]] && [[ \"${SKIP_INSTALL}\" == \"NO\" ]]; then\n  mkdir -p \"${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}\"\n  rsync --delete -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from=\"$RESOURCES_TO_COPY\" / \"${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}\"\nfi\nrm -f \"$RESOURCES_TO_COPY\"\n\nif [[ -n \"${WRAPPER_EXTENSION}\" ]] && [ \"`xcrun --find actool`\" ] && [ -n \"$XCASSET_FILES\" ]\nthen\n  # Find all other xcassets (this unfortunately includes those of path pods and other targets).\n  OTHER_XCASSETS=$(find \"$PWD\" -iname \"*.xcassets\" -type d)\n  while read line; do\n    if [[ $line != \"${PODS_ROOT}*\" ]]; then\n      XCASSET_FILES+=(\"$line\")\n    fi\n  done <<<\"$OTHER_XCASSETS\"\n\n  printf \"%s\\0\" \"${XCASSET_FILES[@]}\" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform \"${PLATFORM_NAME}\" --minimum-deployment-target \"${!DEPLOYMENT_TARGET_SETTING_NAME}\" ${TARGET_DEVICE_ARGS} --compress-pngs --compile \"${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}\"\nfi\n"
  },
  {
    "path": "Pods/Target Support Files/Pods-MasonryTestsLoader/Pods-MasonryTestsLoader.debug.xcconfig",
    "content": "GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1\nHEADER_SEARCH_PATHS = $(inherited) \"${PODS_ROOT}/Headers/Public\" \"${PODS_ROOT}/Headers/Public/Expecta\" \"${PODS_ROOT}/Headers/Public/Masonry\"\nLIBRARY_SEARCH_PATHS = $(inherited) \"$PODS_CONFIGURATION_BUILD_DIR/Masonry\"\nOTHER_CFLAGS = $(inherited) -isystem \"${PODS_ROOT}/Headers/Public\" -isystem \"${PODS_ROOT}/Headers/Public/Expecta\" -isystem \"${PODS_ROOT}/Headers/Public/Masonry\"\nOTHER_LDFLAGS = $(inherited) -ObjC -l\"Masonry\" -framework \"Foundation\" -framework \"UIKit\"\nPODS_BUILD_DIR = $BUILD_DIR\nPODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)\nPODS_PODFILE_DIR_PATH = ${SRCROOT}/..\nPODS_ROOT = ${SRCROOT}/../Pods\n"
  },
  {
    "path": "Pods/Target Support Files/Pods-MasonryTestsLoader/Pods-MasonryTestsLoader.release.xcconfig",
    "content": "GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1\nHEADER_SEARCH_PATHS = $(inherited) \"${PODS_ROOT}/Headers/Public\" \"${PODS_ROOT}/Headers/Public/Expecta\" \"${PODS_ROOT}/Headers/Public/Masonry\"\nLIBRARY_SEARCH_PATHS = $(inherited) \"$PODS_CONFIGURATION_BUILD_DIR/Masonry\"\nOTHER_CFLAGS = $(inherited) -isystem \"${PODS_ROOT}/Headers/Public\" -isystem \"${PODS_ROOT}/Headers/Public/Expecta\" -isystem \"${PODS_ROOT}/Headers/Public/Masonry\"\nOTHER_LDFLAGS = $(inherited) -ObjC -l\"Masonry\" -framework \"Foundation\" -framework \"UIKit\"\nPODS_BUILD_DIR = $BUILD_DIR\nPODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)\nPODS_PODFILE_DIR_PATH = ${SRCROOT}/..\nPODS_ROOT = ${SRCROOT}/../Pods\n"
  },
  {
    "path": "README.md",
    "content": "# Masonry [![Build Status](https://travis-ci.org/SnapKit/Masonry.svg?branch=master)](https://travis-ci.org/SnapKit/Masonry) [![Coverage Status](https://img.shields.io/coveralls/SnapKit/Masonry.svg?style=flat-square)](https://coveralls.io/r/SnapKit/Masonry) [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) ![Pod Version](https://img.shields.io/cocoapods/v/Masonry.svg?style=flat)\n\n**Masonry is still actively maintained, we are committed to fixing bugs and merging good quality PRs from the wider community. However if you're using Swift in your project, we recommend using [SnapKit](https://github.com/SnapKit/SnapKit) as it provides better type safety with a simpler API.**\n\nMasonry is a light-weight layout framework which wraps AutoLayout with a nicer syntax. Masonry has its own layout DSL which provides a chainable way of describing your NSLayoutConstraints which results in layout code that is more concise and readable.\nMasonry supports iOS and Mac OS X.\n\nFor examples take a look at the **Masonry iOS Examples** project in the Masonry workspace. You will need to run `pod install` after downloading.\n\n## What's wrong with NSLayoutConstraints?\n\nUnder the hood Auto Layout is a powerful and flexible way of organising and laying out your views. However creating constraints from code is verbose and not very descriptive.\nImagine a simple example in which you want to have a view fill its superview but inset by 10 pixels on every side\n```obj-c\nUIView *superview = self.view;\n\nUIView *view1 = [[UIView alloc] init];\nview1.translatesAutoresizingMaskIntoConstraints = NO;\nview1.backgroundColor = [UIColor greenColor];\n[superview addSubview:view1];\n\nUIEdgeInsets padding = UIEdgeInsetsMake(10, 10, 10, 10);\n\n[superview addConstraints:@[\n\n    //view1 constraints\n    [NSLayoutConstraint constraintWithItem:view1\n                                 attribute:NSLayoutAttributeTop\n                                 relatedBy:NSLayoutRelationEqual\n                                    toItem:superview\n                                 attribute:NSLayoutAttributeTop\n                                multiplier:1.0\n                                  constant:padding.top],\n\n    [NSLayoutConstraint constraintWithItem:view1\n                                 attribute:NSLayoutAttributeLeft\n                                 relatedBy:NSLayoutRelationEqual\n                                    toItem:superview\n                                 attribute:NSLayoutAttributeLeft\n                                multiplier:1.0\n                                  constant:padding.left],\n\n    [NSLayoutConstraint constraintWithItem:view1\n                                 attribute:NSLayoutAttributeBottom\n                                 relatedBy:NSLayoutRelationEqual\n                                    toItem:superview\n                                 attribute:NSLayoutAttributeBottom\n                                multiplier:1.0\n                                  constant:-padding.bottom],\n\n    [NSLayoutConstraint constraintWithItem:view1\n                                 attribute:NSLayoutAttributeRight\n                                 relatedBy:NSLayoutRelationEqual\n                                    toItem:superview\n                                 attribute:NSLayoutAttributeRight\n                                multiplier:1\n                                  constant:-padding.right],\n\n ]];\n```\nEven with such a simple example the code needed is quite verbose and quickly becomes unreadable when you have more than 2 or 3 views.\nAnother option is to use Visual Format Language (VFL), which is a bit less long winded.\nHowever the ASCII type syntax has its own pitfalls and its also a bit harder to animate as `NSLayoutConstraint constraintsWithVisualFormat:` returns an array.\n\n## Prepare to meet your Maker!\n\nHeres the same constraints created using MASConstraintMaker\n\n```obj-c\nUIEdgeInsets padding = UIEdgeInsetsMake(10, 10, 10, 10);\n\n[view1 mas_makeConstraints:^(MASConstraintMaker *make) {\n    make.top.equalTo(superview.mas_top).with.offset(padding.top); //with is an optional semantic filler\n    make.left.equalTo(superview.mas_left).with.offset(padding.left);\n    make.bottom.equalTo(superview.mas_bottom).with.offset(-padding.bottom);\n    make.right.equalTo(superview.mas_right).with.offset(-padding.right);\n}];\n```\nOr even shorter\n\n```obj-c\n[view1 mas_makeConstraints:^(MASConstraintMaker *make) {\n    make.edges.equalTo(superview).with.insets(padding);\n}];\n```\n\nAlso note in the first example we had to add the constraints to the superview `[superview addConstraints:...`.\nMasonry however will automagically add constraints to the appropriate view.\n\nMasonry will also call `view1.translatesAutoresizingMaskIntoConstraints = NO;` for you.\n\n## Not all things are created equal\n\n> `.equalTo` equivalent to **NSLayoutRelationEqual**\n\n> `.lessThanOrEqualTo` equivalent to **NSLayoutRelationLessThanOrEqual**\n\n> `.greaterThanOrEqualTo` equivalent to **NSLayoutRelationGreaterThanOrEqual**\n\nThese three equality constraints accept one argument which can be any of the following:\n\n#### 1. MASViewAttribute\n\n```obj-c\nmake.centerX.lessThanOrEqualTo(view2.mas_left);\n```\n\nMASViewAttribute           |  NSLayoutAttribute\n-------------------------  |  --------------------------\nview.mas_left              |  NSLayoutAttributeLeft\nview.mas_right             |  NSLayoutAttributeRight\nview.mas_top               |  NSLayoutAttributeTop\nview.mas_bottom            |  NSLayoutAttributeBottom\nview.mas_leading           |  NSLayoutAttributeLeading\nview.mas_trailing          |  NSLayoutAttributeTrailing\nview.mas_width             |  NSLayoutAttributeWidth\nview.mas_height            |  NSLayoutAttributeHeight\nview.mas_centerX           |  NSLayoutAttributeCenterX\nview.mas_centerY           |  NSLayoutAttributeCenterY\nview.mas_baseline          |  NSLayoutAttributeBaseline\n\n#### 2. UIView/NSView\n\nif you want view.left to be greater than or equal to label.left :\n```obj-c\n//these two constraints are exactly the same\nmake.left.greaterThanOrEqualTo(label);\nmake.left.greaterThanOrEqualTo(label.mas_left);\n```\n\n#### 3. NSNumber\n\nAuto Layout allows width and height to be set to constant values.\nif you want to set view to have a minimum and maximum width you could pass a number to the equality blocks:\n```obj-c\n//width >= 200 && width <= 400\nmake.width.greaterThanOrEqualTo(@200);\nmake.width.lessThanOrEqualTo(@400)\n```\n\nHowever Auto Layout does not allow alignment attributes such as left, right, centerY etc to be set to constant values.\nSo if you pass a NSNumber for these attributes Masonry will turn these into constraints relative to the view&rsquo;s superview ie:\n```obj-c\n//creates view.left = view.superview.left + 10\nmake.left.lessThanOrEqualTo(@10)\n```\n\nInstead of using NSNumber, you can use primitives and structs to build your constraints, like so:\n```obj-c\nmake.top.mas_equalTo(42);\nmake.height.mas_equalTo(20);\nmake.size.mas_equalTo(CGSizeMake(50, 100));\nmake.edges.mas_equalTo(UIEdgeInsetsMake(10, 0, 10, 0));\nmake.left.mas_equalTo(view).mas_offset(UIEdgeInsetsMake(10, 0, 10, 0));\n```\n\nBy default, macros which support [autoboxing](https://en.wikipedia.org/wiki/Autoboxing#Autoboxing) are prefixed with `mas_`. Unprefixed versions are available by defining `MAS_SHORTHAND_GLOBALS` before importing Masonry.\n\n#### 4. NSArray\n\nAn array of a mixture of any of the previous types\n```obj-c\nmake.height.equalTo(@[view1.mas_height, view2.mas_height]);\nmake.height.equalTo(@[view1, view2]);\nmake.left.equalTo(@[view1, @100, view3.right]);\n````\n\n## Learn to prioritize\n\n> `.priority` allows you to specify an exact priority\n\n> `.priorityHigh` equivalent to **UILayoutPriorityDefaultHigh**\n\n> `.priorityMedium` is half way between high and low\n\n> `.priorityLow` equivalent to **UILayoutPriorityDefaultLow**\n\nPriorities are can be tacked on to the end of a constraint chain like so:\n```obj-c\nmake.left.greaterThanOrEqualTo(label.mas_left).with.priorityLow();\n\nmake.top.equalTo(label.mas_top).with.priority(600);\n```\n\n## Composition, composition, composition\n\nMasonry also gives you a few convenience methods which create multiple constraints at the same time. These are called MASCompositeConstraints\n\n#### edges\n\n```obj-c\n// make top, left, bottom, right equal view2\nmake.edges.equalTo(view2);\n\n// make top = superview.top + 5, left = superview.left + 10,\n//      bottom = superview.bottom - 15, right = superview.right - 20\nmake.edges.equalTo(superview).insets(UIEdgeInsetsMake(5, 10, 15, 20))\n```\n\n#### size\n\n```obj-c\n// make width and height greater than or equal to titleLabel\nmake.size.greaterThanOrEqualTo(titleLabel)\n\n// make width = superview.width + 100, height = superview.height - 50\nmake.size.equalTo(superview).sizeOffset(CGSizeMake(100, -50))\n```\n\n#### center\n```obj-c\n// make centerX and centerY = button1\nmake.center.equalTo(button1)\n\n// make centerX = superview.centerX - 5, centerY = superview.centerY + 10\nmake.center.equalTo(superview).centerOffset(CGPointMake(-5, 10))\n```\n\nYou can chain view attributes for increased readability:\n\n```obj-c\n// All edges but the top should equal those of the superview\nmake.left.right.and.bottom.equalTo(superview);\nmake.top.equalTo(otherView);\n```\n\n## Hold on for dear life\n\nSometimes you need modify existing constraints in order to animate or remove/replace constraints.\nIn Masonry there are a few different approaches to updating constraints.\n\n#### 1. References\nYou can hold on to a reference of a particular constraint by assigning the result of a constraint make expression to a local variable or a class property.\nYou could also reference multiple constraints by storing them away in an array.\n\n```obj-c\n// in public/private interface\n@property (nonatomic, strong) MASConstraint *topConstraint;\n\n...\n\n// when making constraints\n[view1 mas_makeConstraints:^(MASConstraintMaker *make) {\n    self.topConstraint = make.top.equalTo(superview.mas_top).with.offset(padding.top);\n    make.left.equalTo(superview.mas_left).with.offset(padding.left);\n}];\n\n...\n// then later you can call\n[self.topConstraint uninstall];\n```\n\n#### 2. mas_updateConstraints\nAlternatively if you are only updating the constant value of the constraint you can use the convience method `mas_updateConstraints` instead of `mas_makeConstraints`\n\n```obj-c\n// this is Apple's recommended place for adding/updating constraints\n// this method can get called multiple times in response to setNeedsUpdateConstraints\n// which can be called by UIKit internally or in your code if you need to trigger an update to your constraints\n- (void)updateConstraints {\n    [self.growingButton mas_updateConstraints:^(MASConstraintMaker *make) {\n        make.center.equalTo(self);\n        make.width.equalTo(@(self.buttonSize.width)).priorityLow();\n        make.height.equalTo(@(self.buttonSize.height)).priorityLow();\n        make.width.lessThanOrEqualTo(self);\n        make.height.lessThanOrEqualTo(self);\n    }];\n\n    //according to apple super should be called at end of method\n    [super updateConstraints];\n}\n```\n\n### 3. mas_remakeConstraints\n`mas_updateConstraints` is useful for updating a set of constraints, but doing anything beyond updating constant values can get exhausting. That's where `mas_remakeConstraints` comes in.\n\n`mas_remakeConstraints` is similar to `mas_updateConstraints`, but instead of updating constant values, it will remove all of its constraints before installing them again. This lets you provide different constraints without having to keep around references to ones which you want to remove.\n\n```obj-c\n- (void)changeButtonPosition {\n    [self.button mas_remakeConstraints:^(MASConstraintMaker *make) {\n        make.size.equalTo(self.buttonSize);\n\n        if (topLeft) {\n        \tmake.top.and.left.offset(10);\n        } else {\n        \tmake.bottom.and.right.offset(-10);\n        }\n    }];\n}\n```\n\nYou can find more detailed examples of all three approaches in the **Masonry iOS Examples** project.\n\n## When the ^&*!@ hits the fan!\n\nLaying out your views doesn't always goto plan. So when things literally go pear shaped, you don't want to be looking at console output like this:\n\n```obj-c\nUnable to simultaneously satisfy constraints.....blah blah blah....\n(\n    \"<NSLayoutConstraint:0x7189ac0 V:[UILabel:0x7186980(>=5000)]>\",\n    \"<NSAutoresizingMaskLayoutConstraint:0x839ea20 h=--& v=--& V:[MASExampleDebuggingView:0x7186560(416)]>\",\n    \"<NSLayoutConstraint:0x7189c70 UILabel:0x7186980.bottom == MASExampleDebuggingView:0x7186560.bottom - 10>\",\n    \"<NSLayoutConstraint:0x7189560 V:|-(1)-[UILabel:0x7186980]   (Names: '|':MASExampleDebuggingView:0x7186560 )>\"\n)\n\nWill attempt to recover by breaking constraint\n<NSLayoutConstraint:0x7189ac0 V:[UILabel:0x7186980(>=5000)]>\n```\n\nMasonry adds a category to NSLayoutConstraint which overrides the default implementation of `- (NSString *)description`.\nNow you can give meaningful names to views and constraints, and also easily pick out the constraints created by Masonry.\n\nwhich means your console output can now look like this:\n\n```obj-c\nUnable to simultaneously satisfy constraints......blah blah blah....\n(\n    \"<NSAutoresizingMaskLayoutConstraint:0x8887740 MASExampleDebuggingView:superview.height == 416>\",\n    \"<MASLayoutConstraint:ConstantConstraint UILabel:messageLabel.height >= 5000>\",\n    \"<MASLayoutConstraint:BottomConstraint UILabel:messageLabel.bottom == MASExampleDebuggingView:superview.bottom - 10>\",\n    \"<MASLayoutConstraint:ConflictingConstraint[0] UILabel:messageLabel.top == MASExampleDebuggingView:superview.top + 1>\"\n)\n\nWill attempt to recover by breaking constraint\n<MASLayoutConstraint:ConstantConstraint UILabel:messageLabel.height >= 5000>\n```\n\nFor an example of how to set this up take a look at the **Masonry iOS Examples** project in the Masonry workspace.\n\n## Where should I create my constraints?\n\n```objc\n@implementation DIYCustomView\n\n- (id)init {\n    self = [super init];\n    if (!self) return nil;\n\n    // --- Create your views here ---\n    self.button = [[UIButton alloc] init];\n\n    return self;\n}\n\n// tell UIKit that you are using AutoLayout\n+ (BOOL)requiresConstraintBasedLayout {\n    return YES;\n}\n\n// this is Apple's recommended place for adding/updating constraints\n- (void)updateConstraints {\n\n    // --- remake/update constraints here\n    [self.button remakeConstraints:^(MASConstraintMaker *make) {\n        make.width.equalTo(@(self.buttonSize.width));\n        make.height.equalTo(@(self.buttonSize.height));\n    }];\n    \n    //according to apple super should be called at end of method\n    [super updateConstraints];\n}\n\n- (void)didTapButton:(UIButton *)button {\n    // --- Do your changes ie change variables that affect your layout etc ---\n    self.buttonSize = CGSize(200, 200);\n\n    // tell constraints they need updating\n    [self setNeedsUpdateConstraints];\n}\n\n@end\n```\n\n## Installation\nUse the [orsome](http://www.youtube.com/watch?v=YaIZF8uUTtk) [CocoaPods](http://github.com/CocoaPods/CocoaPods).\n\nIn your Podfile\n>`pod 'Masonry'`\n\nIf you want to use masonry without all those pesky 'mas_' prefixes. Add #define MAS_SHORTHAND to your prefix.pch before importing Masonry\n>`#define MAS_SHORTHAND`\n\nGet busy Masoning\n>`#import \"Masonry.h\"`\n\n## Code Snippets\n\nCopy the included code snippets to ``~/Library/Developer/Xcode/UserData/CodeSnippets`` to write your masonry blocks at lightning speed!\n\n`mas_make` -> ` [<#view#> mas_makeConstraints:^(MASConstraintMaker *make) {\n     <#code#>\n }];`\n\n`mas_update` -> ` [<#view#> mas_updateConstraints:^(MASConstraintMaker *make) {\n     <#code#>\n }];`\n\n`mas_remake` -> ` [<#view#> mas_remakeConstraints:^(MASConstraintMaker *make) {\n     <#code#>\n }];`\n\n## Features\n* Not limited to subset of Auto Layout. Anything NSLayoutConstraint can do, Masonry can do too!\n* Great debug support, give your views and constraints meaningful names.\n* Constraints read like sentences.\n* No crazy macro magic. Masonry won't pollute the global namespace with macros.\n* Not string or dictionary based and hence you get compile time checking.\n\n## TODO\n* Eye candy\n* Mac example project\n* More tests and examples\n\n"
  },
  {
    "path": "Tests/GcovTestObserver.m",
    "content": "//\n//  GcovTestObserver.m\n//  ClassyTests\n//\n//  Created by Jonas Budelmann on 19/11/13.\n//  Copyright (c) 2013 Jonas Budelmann. All rights reserved.\n//\n\n#import <XCTest/XCTestObserver.h>\n\n@interface GcovTestObserver : XCTestObserver\n@end\n\n@implementation GcovTestObserver\n\n- (void)stopObserving {\n    [super stopObserving];\n    UIApplication* application = [UIApplication sharedApplication];\n    [application.delegate applicationWillTerminate:application];\n}\n\n@end"
  },
  {
    "path": "Tests/Masonry Tests.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t03674DA26B0749DA89CBB9C4 /* libPods-MasonryTestsLoader.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 47918AE732004ACDA52EF295 /* libPods-MasonryTestsLoader.a */; };\n\t\t1ABDF84BB7EB4FD087045E36 /* libPods-Masonry iOS Tests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1CF4FBEAC97D4EA5ABA1D512 /* libPods-Masonry iOS Tests.a */; };\n\t\t3D21C42B1845D0CA001D5F97 /* NSArray+MASAdditionsSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D21C42A1845D0C0001D5F97 /* NSArray+MASAdditionsSpec.m */; };\n\t\t447354911B3A1818004DACCB /* ViewController+MASAdditionsSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 4473548F1B3A17B4004DACCB /* ViewController+MASAdditionsSpec.m */; };\n\t\tDD717A0218442A6400FAA7A8 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD717A0118442A6400FAA7A8 /* Foundation.framework */; };\n\t\tDD717A0418442A6400FAA7A8 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD717A0318442A6400FAA7A8 /* CoreGraphics.framework */; };\n\t\tDD717A0618442A6400FAA7A8 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD717A0518442A6400FAA7A8 /* UIKit.framework */; };\n\t\tDD717A0C18442A6400FAA7A8 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = DD717A0A18442A6400FAA7A8 /* InfoPlist.strings */; };\n\t\tDD717A0E18442A6400FAA7A8 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DD717A0D18442A6400FAA7A8 /* main.m */; };\n\t\tDD717A1218442A6400FAA7A8 /* CASAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DD717A1118442A6400FAA7A8 /* CASAppDelegate.m */; };\n\t\tDD717A1418442A6400FAA7A8 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = DD717A1318442A6400FAA7A8 /* Images.xcassets */; };\n\t\tDD717A3318442ADC00FAA7A8 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD717A1A18442A6400FAA7A8 /* XCTest.framework */; };\n\t\tDD717A3418442ADC00FAA7A8 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD717A0118442A6400FAA7A8 /* Foundation.framework */; };\n\t\tDD717A3518442ADC00FAA7A8 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD717A0518442A6400FAA7A8 /* UIKit.framework */; };\n\t\tDD717A5118442EC600FAA7A8 /* MASCompositeConstraintSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = DD717A4818442EC600FAA7A8 /* MASCompositeConstraintSpec.m */; };\n\t\tDD717A5218442EC600FAA7A8 /* MASConstraintDelegateMock.m in Sources */ = {isa = PBXBuildFile; fileRef = DD717A4A18442EC600FAA7A8 /* MASConstraintDelegateMock.m */; };\n\t\tDD717A5318442EC600FAA7A8 /* MASConstraintMakerSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = DD717A4B18442EC600FAA7A8 /* MASConstraintMakerSpec.m */; };\n\t\tDD717A5418442EC600FAA7A8 /* MASViewAttributeSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = DD717A4C18442EC600FAA7A8 /* MASViewAttributeSpec.m */; };\n\t\tDD717A5518442EC600FAA7A8 /* MASViewConstraintSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = DD717A4D18442EC600FAA7A8 /* MASViewConstraintSpec.m */; };\n\t\tDD717A5618442EC600FAA7A8 /* NSLayoutConstraint+MASDebugAdditionsSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = DD717A4E18442EC600FAA7A8 /* NSLayoutConstraint+MASDebugAdditionsSpec.m */; };\n\t\tDD717A5718442EC600FAA7A8 /* View+MASAdditionsSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = DD717A5018442EC600FAA7A8 /* View+MASAdditionsSpec.m */; };\n\t\tDD717A631844303200FAA7A8 /* GcovTestObserver.m in Sources */ = {isa = PBXBuildFile; fileRef = DD717A5F1844303200FAA7A8 /* GcovTestObserver.m */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXContainerItemProxy section */\n\t\tDD717A3F18442ADD00FAA7A8 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = DD7179F418442A1F00FAA7A8 /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = DD7179FD18442A6400FAA7A8;\n\t\t\tremoteInfo = MasonryTestsLoader;\n\t\t};\n/* End PBXContainerItemProxy section */\n\n/* Begin PBXFileReference section */\n\t\t1CF4FBEAC97D4EA5ABA1D512 /* libPods-Masonry iOS Tests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = \"libPods-Masonry iOS Tests.a\"; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t20CC4ABE19D3EE262A136582 /* Pods-Masonry iOS Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-Masonry iOS Tests.release.xcconfig\"; path = \"../Pods/Target Support Files/Pods-Masonry iOS Tests/Pods-Masonry iOS Tests.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t3D21C42A1845D0C0001D5F97 /* NSArray+MASAdditionsSpec.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = \"NSArray+MASAdditionsSpec.m\"; sourceTree = \"<group>\"; };\n\t\t4473548F1B3A17B4004DACCB /* ViewController+MASAdditionsSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = \"ViewController+MASAdditionsSpec.m\"; sourceTree = \"<group>\"; };\n\t\t47918AE732004ACDA52EF295 /* libPods-MasonryTestsLoader.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = \"libPods-MasonryTestsLoader.a\"; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tB3C285A8F21659F8AC931CFE /* Pods-MasonryTestsLoader.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-MasonryTestsLoader.release.xcconfig\"; path = \"../Pods/Target Support Files/Pods-MasonryTestsLoader/Pods-MasonryTestsLoader.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tD7C49E3BFEC39EF9CC752050 /* Pods-Masonry iOS Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-Masonry iOS Tests.debug.xcconfig\"; path = \"../Pods/Target Support Files/Pods-Masonry iOS Tests/Pods-Masonry iOS Tests.debug.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tDD7179FE18442A6400FAA7A8 /* MasonryTestsLoader.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MasonryTestsLoader.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDD717A0118442A6400FAA7A8 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };\n\t\tDD717A0318442A6400FAA7A8 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };\n\t\tDD717A0518442A6400FAA7A8 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; };\n\t\tDD717A0918442A6400FAA7A8 /* MasonryTestsLoader-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = \"MasonryTestsLoader-Info.plist\"; sourceTree = \"<group>\"; };\n\t\tDD717A0B18442A6400FAA7A8 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = \"<group>\"; };\n\t\tDD717A0D18442A6400FAA7A8 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\tDD717A0F18442A6400FAA7A8 /* MasonryTestsLoader-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = \"MasonryTestsLoader-Prefix.pch\"; sourceTree = \"<group>\"; };\n\t\tDD717A1018442A6400FAA7A8 /* CASAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CASAppDelegate.h; sourceTree = \"<group>\"; };\n\t\tDD717A1118442A6400FAA7A8 /* CASAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CASAppDelegate.m; sourceTree = \"<group>\"; };\n\t\tDD717A1318442A6400FAA7A8 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = \"<group>\"; };\n\t\tDD717A1A18442A6400FAA7A8 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };\n\t\tDD717A3218442ADC00FAA7A8 /* Masonry iOS Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = \"Masonry iOS Tests.xctest\"; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDD717A4818442EC600FAA7A8 /* MASCompositeConstraintSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASCompositeConstraintSpec.m; sourceTree = \"<group>\"; };\n\t\tDD717A4918442EC600FAA7A8 /* MASConstraintDelegateMock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MASConstraintDelegateMock.h; sourceTree = \"<group>\"; };\n\t\tDD717A4A18442EC600FAA7A8 /* MASConstraintDelegateMock.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASConstraintDelegateMock.m; sourceTree = \"<group>\"; };\n\t\tDD717A4B18442EC600FAA7A8 /* MASConstraintMakerSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASConstraintMakerSpec.m; sourceTree = \"<group>\"; };\n\t\tDD717A4C18442EC600FAA7A8 /* MASViewAttributeSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASViewAttributeSpec.m; sourceTree = \"<group>\"; };\n\t\tDD717A4D18442EC600FAA7A8 /* MASViewConstraintSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASViewConstraintSpec.m; sourceTree = \"<group>\"; };\n\t\tDD717A4E18442EC600FAA7A8 /* NSLayoutConstraint+MASDebugAdditionsSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = \"NSLayoutConstraint+MASDebugAdditionsSpec.m\"; sourceTree = \"<group>\"; };\n\t\tDD717A5018442EC600FAA7A8 /* View+MASAdditionsSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = \"View+MASAdditionsSpec.m\"; sourceTree = \"<group>\"; };\n\t\tDD717A5F1844303200FAA7A8 /* GcovTestObserver.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GcovTestObserver.m; sourceTree = \"<group>\"; };\n\t\tDD717A601844303200FAA7A8 /* MasonryTests-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = \"MasonryTests-Info.plist\"; sourceTree = \"<group>\"; };\n\t\tDD717A611844303200FAA7A8 /* MasonryTests-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = \"MasonryTests-Prefix.pch\"; sourceTree = \"<group>\"; };\n\t\tDD717A621844303200FAA7A8 /* XCTest+Spec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = \"XCTest+Spec.h\"; sourceTree = \"<group>\"; };\n\t\tDD717A651844358800FAA7A8 /* NSObject+MASSubscriptSupport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = \"NSObject+MASSubscriptSupport.h\"; sourceTree = \"<group>\"; };\n\t\tFA30CDC14969096518121CA2 /* Pods-MasonryTestsLoader.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-MasonryTestsLoader.debug.xcconfig\"; path = \"../Pods/Target Support Files/Pods-MasonryTestsLoader/Pods-MasonryTestsLoader.debug.xcconfig\"; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\tDD7179FB18442A6400FAA7A8 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDD717A0418442A6400FAA7A8 /* CoreGraphics.framework in Frameworks */,\n\t\t\t\tDD717A0618442A6400FAA7A8 /* UIKit.framework in Frameworks */,\n\t\t\t\tDD717A0218442A6400FAA7A8 /* Foundation.framework in Frameworks */,\n\t\t\t\t03674DA26B0749DA89CBB9C4 /* libPods-MasonryTestsLoader.a in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tDD717A2F18442ADC00FAA7A8 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDD717A3318442ADC00FAA7A8 /* XCTest.framework in Frameworks */,\n\t\t\t\tDD717A3518442ADC00FAA7A8 /* UIKit.framework in Frameworks */,\n\t\t\t\tDD717A3418442ADC00FAA7A8 /* Foundation.framework in Frameworks */,\n\t\t\t\t1ABDF84BB7EB4FD087045E36 /* libPods-Masonry iOS Tests.a in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t39E4168F51AD67BA390486D7 /* Pods */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD7C49E3BFEC39EF9CC752050 /* Pods-Masonry iOS Tests.debug.xcconfig */,\n\t\t\t\t20CC4ABE19D3EE262A136582 /* Pods-Masonry iOS Tests.release.xcconfig */,\n\t\t\t\tFA30CDC14969096518121CA2 /* Pods-MasonryTestsLoader.debug.xcconfig */,\n\t\t\t\tB3C285A8F21659F8AC931CFE /* Pods-MasonryTestsLoader.release.xcconfig */,\n\t\t\t);\n\t\t\tname = Pods;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDD7179F318442A1F00FAA7A8 = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDD717A4718442EC600FAA7A8 /* Specs */,\n\t\t\t\tDD717A5E18442F3900FAA7A8 /* Supporting Files */,\n\t\t\t\tDD717A0018442A6400FAA7A8 /* Frameworks */,\n\t\t\t\tDD7179FF18442A6400FAA7A8 /* Products */,\n\t\t\t\t39E4168F51AD67BA390486D7 /* Pods */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDD7179FF18442A6400FAA7A8 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDD7179FE18442A6400FAA7A8 /* MasonryTestsLoader.app */,\n\t\t\t\tDD717A3218442ADC00FAA7A8 /* Masonry iOS Tests.xctest */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDD717A0018442A6400FAA7A8 /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDD717A0118442A6400FAA7A8 /* Foundation.framework */,\n\t\t\t\tDD717A0318442A6400FAA7A8 /* CoreGraphics.framework */,\n\t\t\t\tDD717A0518442A6400FAA7A8 /* UIKit.framework */,\n\t\t\t\tDD717A1A18442A6400FAA7A8 /* XCTest.framework */,\n\t\t\t\t1CF4FBEAC97D4EA5ABA1D512 /* libPods-Masonry iOS Tests.a */,\n\t\t\t\t47918AE732004ACDA52EF295 /* libPods-MasonryTestsLoader.a */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDD717A0718442A6400FAA7A8 /* MasonryTestsLoader */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDD717A1018442A6400FAA7A8 /* CASAppDelegate.h */,\n\t\t\t\tDD717A1118442A6400FAA7A8 /* CASAppDelegate.m */,\n\t\t\t\tDD717A1318442A6400FAA7A8 /* Images.xcassets */,\n\t\t\t\tDD717A0918442A6400FAA7A8 /* MasonryTestsLoader-Info.plist */,\n\t\t\t\tDD717A0A18442A6400FAA7A8 /* InfoPlist.strings */,\n\t\t\t\tDD717A0D18442A6400FAA7A8 /* main.m */,\n\t\t\t\tDD717A0F18442A6400FAA7A8 /* MasonryTestsLoader-Prefix.pch */,\n\t\t\t);\n\t\t\tpath = MasonryTestsLoader;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDD717A4718442EC600FAA7A8 /* Specs */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDD717A4818442EC600FAA7A8 /* MASCompositeConstraintSpec.m */,\n\t\t\t\tDD717A4918442EC600FAA7A8 /* MASConstraintDelegateMock.h */,\n\t\t\t\tDD717A4A18442EC600FAA7A8 /* MASConstraintDelegateMock.m */,\n\t\t\t\tDD717A4B18442EC600FAA7A8 /* MASConstraintMakerSpec.m */,\n\t\t\t\tDD717A4C18442EC600FAA7A8 /* MASViewAttributeSpec.m */,\n\t\t\t\tDD717A4D18442EC600FAA7A8 /* MASViewConstraintSpec.m */,\n\t\t\t\tDD717A4E18442EC600FAA7A8 /* NSLayoutConstraint+MASDebugAdditionsSpec.m */,\n\t\t\t\tDD717A5018442EC600FAA7A8 /* View+MASAdditionsSpec.m */,\n\t\t\t\t4473548F1B3A17B4004DACCB /* ViewController+MASAdditionsSpec.m */,\n\t\t\t\t3D21C42A1845D0C0001D5F97 /* NSArray+MASAdditionsSpec.m */,\n\t\t\t);\n\t\t\tpath = Specs;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDD717A5E18442F3900FAA7A8 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDD717A0718442A6400FAA7A8 /* MasonryTestsLoader */,\n\t\t\t\tDD717A651844358800FAA7A8 /* NSObject+MASSubscriptSupport.h */,\n\t\t\t\tDD717A5F1844303200FAA7A8 /* GcovTestObserver.m */,\n\t\t\t\tDD717A601844303200FAA7A8 /* MasonryTests-Info.plist */,\n\t\t\t\tDD717A611844303200FAA7A8 /* MasonryTests-Prefix.pch */,\n\t\t\t\tDD717A621844303200FAA7A8 /* XCTest+Spec.h */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\tDD7179FD18442A6400FAA7A8 /* MasonryTestsLoader */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = DD717A2818442A6400FAA7A8 /* Build configuration list for PBXNativeTarget \"MasonryTestsLoader\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t31A2D7D777514D639ED660C8 /* [CP] Check Pods Manifest.lock */,\n\t\t\t\tDD7179FA18442A6400FAA7A8 /* Sources */,\n\t\t\t\tDD7179FB18442A6400FAA7A8 /* Frameworks */,\n\t\t\t\tDD7179FC18442A6400FAA7A8 /* Resources */,\n\t\t\t\tDB244E91C65945F39DE14644 /* [CP] Copy Pods Resources */,\n\t\t\t\t5B07E509D5304034616D89F7 /* [CP] Embed Pods Frameworks */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = MasonryTestsLoader;\n\t\t\tproductName = MasonryTestsLoader;\n\t\t\tproductReference = DD7179FE18442A6400FAA7A8 /* MasonryTestsLoader.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n\t\tDD717A3118442ADC00FAA7A8 /* Masonry iOS Tests */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = DD717A4118442ADD00FAA7A8 /* Build configuration list for PBXNativeTarget \"Masonry iOS Tests\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t9F27CD2D75E246C0A787A688 /* [CP] Check Pods Manifest.lock */,\n\t\t\t\tDD717A2E18442ADC00FAA7A8 /* Sources */,\n\t\t\t\tDD717A2F18442ADC00FAA7A8 /* Frameworks */,\n\t\t\t\tDD717A3018442ADC00FAA7A8 /* Resources */,\n\t\t\t\tDC72D687A4114D04BBA75896 /* [CP] Copy Pods Resources */,\n\t\t\t\t5AEE51071FAE8B3BB28C9E5E /* [CP] Embed Pods Frameworks */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\tDD717A4018442ADD00FAA7A8 /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = \"Masonry iOS Tests\";\n\t\t\tproductName = \"Masonry iOS Tests\";\n\t\t\tproductReference = DD717A3218442ADC00FAA7A8 /* Masonry iOS Tests.xctest */;\n\t\t\tproductType = \"com.apple.product-type.bundle.unit-test\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\tDD7179F418442A1F00FAA7A8 /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0900;\n\t\t\t\tTargetAttributes = {\n\t\t\t\t\tDD717A3118442ADC00FAA7A8 = {\n\t\t\t\t\t\tTestTargetID = DD7179FD18442A6400FAA7A8;\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t};\n\t\t\tbuildConfigurationList = DD7179F718442A1F00FAA7A8 /* Build configuration list for PBXProject \"Masonry Tests\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t);\n\t\t\tmainGroup = DD7179F318442A1F00FAA7A8;\n\t\t\tproductRefGroup = DD7179FF18442A6400FAA7A8 /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\tDD7179FD18442A6400FAA7A8 /* MasonryTestsLoader */,\n\t\t\t\tDD717A3118442ADC00FAA7A8 /* Masonry iOS Tests */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\tDD7179FC18442A6400FAA7A8 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDD717A0C18442A6400FAA7A8 /* InfoPlist.strings in Resources */,\n\t\t\t\tDD717A1418442A6400FAA7A8 /* Images.xcassets in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tDD717A3018442ADC00FAA7A8 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\t31A2D7D777514D639ED660C8 /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\",\n\t\t\t\t\"${PODS_ROOT}/Manifest.lock\",\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputPaths = (\n\t\t\t\t\"$(DERIVED_FILE_DIR)/Pods-MasonryTestsLoader-checkManifestLockResult.txt\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\\necho \\\"SUCCESS\\\" > \\\"${SCRIPT_OUTPUT_FILE_0}\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\t5AEE51071FAE8B3BB28C9E5E /* [CP] Embed Pods Frameworks */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Embed Pods Frameworks\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/../Pods/Target Support Files/Pods-Masonry iOS Tests/Pods-Masonry iOS Tests-frameworks.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\t5B07E509D5304034616D89F7 /* [CP] Embed Pods Frameworks */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Embed Pods Frameworks\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/../Pods/Target Support Files/Pods-MasonryTestsLoader/Pods-MasonryTestsLoader-frameworks.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\t9F27CD2D75E246C0A787A688 /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\",\n\t\t\t\t\"${PODS_ROOT}/Manifest.lock\",\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputPaths = (\n\t\t\t\t\"$(DERIVED_FILE_DIR)/Pods-Masonry iOS Tests-checkManifestLockResult.txt\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\\necho \\\"SUCCESS\\\" > \\\"${SCRIPT_OUTPUT_FILE_0}\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tDB244E91C65945F39DE14644 /* [CP] Copy Pods Resources */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Copy Pods Resources\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/../Pods/Target Support Files/Pods-MasonryTestsLoader/Pods-MasonryTestsLoader-resources.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tDC72D687A4114D04BBA75896 /* [CP] Copy Pods Resources */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Copy Pods Resources\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/../Pods/Target Support Files/Pods-Masonry iOS Tests/Pods-Masonry iOS Tests-resources.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\tDD7179FA18442A6400FAA7A8 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDD717A1218442A6400FAA7A8 /* CASAppDelegate.m in Sources */,\n\t\t\t\tDD717A0E18442A6400FAA7A8 /* main.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tDD717A2E18442ADC00FAA7A8 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDD717A5518442EC600FAA7A8 /* MASViewConstraintSpec.m in Sources */,\n\t\t\t\tDD717A5318442EC600FAA7A8 /* MASConstraintMakerSpec.m in Sources */,\n\t\t\t\tDD717A5618442EC600FAA7A8 /* NSLayoutConstraint+MASDebugAdditionsSpec.m in Sources */,\n\t\t\t\tDD717A5718442EC600FAA7A8 /* View+MASAdditionsSpec.m in Sources */,\n\t\t\t\tDD717A631844303200FAA7A8 /* GcovTestObserver.m in Sources */,\n\t\t\t\t447354911B3A1818004DACCB /* ViewController+MASAdditionsSpec.m in Sources */,\n\t\t\t\t3D21C42B1845D0CA001D5F97 /* NSArray+MASAdditionsSpec.m in Sources */,\n\t\t\t\tDD717A5418442EC600FAA7A8 /* MASViewAttributeSpec.m in Sources */,\n\t\t\t\tDD717A5218442EC600FAA7A8 /* MASConstraintDelegateMock.m in Sources */,\n\t\t\t\tDD717A5118442EC600FAA7A8 /* MASCompositeConstraintSpec.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXTargetDependency section */\n\t\tDD717A4018442ADD00FAA7A8 /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = DD7179FD18442A6400FAA7A8 /* MasonryTestsLoader */;\n\t\t\ttargetProxy = DD717A3F18442ADD00FAA7A8 /* PBXContainerItemProxy */;\n\t\t};\n/* End PBXTargetDependency section */\n\n/* Begin PBXVariantGroup section */\n\t\tDD717A0A18442A6400FAA7A8 /* InfoPlist.strings */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDD717A0B18442A6400FAA7A8 /* en */,\n\t\t\t);\n\t\t\tname = InfoPlist.strings;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tDD7179F818442A1F00FAA7A8 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDD7179F918442A1F00FAA7A8 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tDD717A2918442A6400FAA7A8 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = FA30CDC14969096518121CA2 /* Pods-MasonryTestsLoader.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t\"$(DEVELOPER_FRAMEWORKS_DIR)\",\n\t\t\t\t);\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_GENERATE_TEST_COVERAGE_FILES = YES;\n\t\t\t\tGCC_INSTRUMENT_PROGRAM_FLOW_ARCS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"MasonryTestsLoader/MasonryTestsLoader-Prefix.pch\";\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tINFOPLIST_FILE = \"MasonryTestsLoader/MasonryTestsLoader-Info.plist\";\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.cloudling.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDD717A2A18442A6400FAA7A8 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = B3C285A8F21659F8AC931CFE /* Pods-MasonryTestsLoader.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t\"$(DEVELOPER_FRAMEWORKS_DIR)\",\n\t\t\t\t);\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_GENERATE_TEST_COVERAGE_FILES = YES;\n\t\t\t\tGCC_INSTRUMENT_PROGRAM_FLOW_ARCS = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"MasonryTestsLoader/MasonryTestsLoader-Prefix.pch\";\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tINFOPLIST_FILE = \"MasonryTestsLoader/MasonryTestsLoader-Info.plist\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.cloudling.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tDD717A4218442ADD00FAA7A8 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = D7C49E3BFEC39EF9CC752050 /* Pods-Masonry iOS Tests.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tBUNDLE_LOADER = \"$(BUILT_PRODUCTS_DIR)/MasonryTestsLoader.app/MasonryTestsLoader\";\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t\"$(DEVELOPER_FRAMEWORKS_DIR)\",\n\t\t\t\t);\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"MasonryTests-Prefix.pch\";\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tINFOPLIST_FILE = \"MasonryTests-Info.plist\";\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.cloudling.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tTEST_HOST = \"$(BUNDLE_LOADER)\";\n\t\t\t\tWRAPPER_EXTENSION = xctest;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDD717A4318442ADD00FAA7A8 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 20CC4ABE19D3EE262A136582 /* Pods-Masonry iOS Tests.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tBUNDLE_LOADER = \"$(BUILT_PRODUCTS_DIR)/MasonryTestsLoader.app/MasonryTestsLoader\";\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t\"$(DEVELOPER_FRAMEWORKS_DIR)\",\n\t\t\t\t);\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"MasonryTests-Prefix.pch\";\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tINFOPLIST_FILE = \"MasonryTests-Info.plist\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.cloudling.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tTEST_HOST = \"$(BUNDLE_LOADER)\";\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t\tWRAPPER_EXTENSION = xctest;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tDD7179F718442A1F00FAA7A8 /* Build configuration list for PBXProject \"Masonry Tests\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDD7179F818442A1F00FAA7A8 /* Debug */,\n\t\t\t\tDD7179F918442A1F00FAA7A8 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tDD717A2818442A6400FAA7A8 /* Build configuration list for PBXNativeTarget \"MasonryTestsLoader\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDD717A2918442A6400FAA7A8 /* Debug */,\n\t\t\t\tDD717A2A18442A6400FAA7A8 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tDD717A4118442ADD00FAA7A8 /* Build configuration list for PBXNativeTarget \"Masonry iOS Tests\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDD717A4218442ADD00FAA7A8 /* Debug */,\n\t\t\t\tDD717A4318442ADD00FAA7A8 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = DD7179F418442A1F00FAA7A8 /* Project object */;\n}\n"
  },
  {
    "path": "Tests/Masonry Tests.xcodeproj/xcshareddata/xcschemes/Masonry iOS Tests.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0900\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"DD7179FD18442A6400FAA7A8\"\n               BuildableName = \"MasonryTestsLoader.app\"\n               BlueprintName = \"MasonryTestsLoader\"\n               ReferencedContainer = \"container:Masonry Tests.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n         <TestableReference\n            skipped = \"NO\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"DD717A3118442ADC00FAA7A8\"\n               BuildableName = \"Masonry iOS Tests.xctest\"\n               BlueprintName = \"Masonry iOS Tests\"\n               ReferencedContainer = \"container:Masonry Tests.xcodeproj\">\n            </BuildableReference>\n         </TestableReference>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"DD7179FD18442A6400FAA7A8\"\n            BuildableName = \"MasonryTestsLoader.app\"\n            BlueprintName = \"MasonryTestsLoader\"\n            ReferencedContainer = \"container:Masonry Tests.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"DD7179FD18442A6400FAA7A8\"\n            BuildableName = \"MasonryTestsLoader.app\"\n            BlueprintName = \"MasonryTestsLoader\"\n            ReferencedContainer = \"container:Masonry Tests.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"DD7179FD18442A6400FAA7A8\"\n            BuildableName = \"MasonryTestsLoader.app\"\n            BlueprintName = \"MasonryTestsLoader\"\n            ReferencedContainer = \"container:Masonry Tests.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Tests/MasonryTests-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundlePackageType</key>\n\t<string>BNDL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Tests/MasonryTests-Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'MasonryTests' target in the 'Masonry' project\n//\n\n#ifdef __OBJC__\n    #import <Foundation/Foundation.h>\n\n    #define EXP_SHORTHAND\n    #import \"XCTest+Spec.h\"\n\n    #import \"Expecta.h\"\n\n    #import \"MASUtilities.h\"\n\n    #if __MAC_OS_X_VERSION_MAX_ALLOWED <= 1070\n    #import \"NSObject+MASSubscriptSupport.h\"\n    #endif\n#endif"
  },
  {
    "path": "Tests/MasonryTestsLoader/CASAppDelegate.h",
    "content": "//\n//  CASAppDelegate.h\n//  MasonryTestsLoader\n//\n//  Created by Jonas Budelmann on 26/11/13.\n//\n//\n\n#import <UIKit/UIKit.h>\n\n@interface CASAppDelegate : UIResponder <UIApplicationDelegate>\n\n@end\n"
  },
  {
    "path": "Tests/MasonryTestsLoader/CASAppDelegate.m",
    "content": "//\n//  CASAppDelegate.m\n//  MasonryTestsLoader\n//\n//  Created by Jonas Budelmann on 26/11/13.\n//\n//\n\n#import \"CASAppDelegate.h\"\n\n@implementation CASAppDelegate\n\n+ (void)initialize {\n\t// https://github.com/fastlane/fastlane/issues/3886#issuecomment-224884332\n\t// XCode 7.3 introduced a bug where early registration of a test observer prevented\n\t// default XCTest test observer from being registered. That caused no logs being printed\n\t// onto console, which in result broke several tools that relied on this.\n\t// In order to go around the issue we're deferring registration to allow default\n\t// test observer to register first.\n\tdispatch_async(dispatch_get_main_queue(), ^{\n\t\t[[NSUserDefaults standardUserDefaults] setValue:@\"XCTestLog,GcovTestObserver\"\n\t\t\t\t\t\t\t\t\t\t\t\t forKey:@\"XCTestObserverClass\"];\n\t});\n}\n\n- (void)applicationWillTerminate:(UIApplication *)application {\n    extern void __gcov_flush(void);\n    __gcov_flush();\n}\n\n@end\n"
  },
  {
    "path": "Tests/MasonryTestsLoader/Images.xcassets/AppIcon.appiconset/Contents.json",
    "content": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"40x40\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"60x60\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"40x40\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"40x40\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"76x76\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"ipad\",\n      \"size\" : \"76x76\",\n      \"scale\" : \"2x\"\n    }\n  ],\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}"
  },
  {
    "path": "Tests/MasonryTestsLoader/Images.xcassets/LaunchImage.launchimage/Contents.json",
    "content": "{\n  \"images\" : [\n    {\n      \"orientation\" : \"portrait\",\n      \"idiom\" : \"iphone\",\n      \"extent\" : \"full-screen\",\n      \"minimum-system-version\" : \"7.0\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"orientation\" : \"portrait\",\n      \"idiom\" : \"iphone\",\n      \"subtype\" : \"retina4\",\n      \"extent\" : \"full-screen\",\n      \"minimum-system-version\" : \"7.0\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"orientation\" : \"portrait\",\n      \"idiom\" : \"ipad\",\n      \"extent\" : \"full-screen\",\n      \"minimum-system-version\" : \"7.0\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"orientation\" : \"landscape\",\n      \"idiom\" : \"ipad\",\n      \"extent\" : \"full-screen\",\n      \"minimum-system-version\" : \"7.0\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"orientation\" : \"portrait\",\n      \"idiom\" : \"ipad\",\n      \"extent\" : \"full-screen\",\n      \"minimum-system-version\" : \"7.0\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"orientation\" : \"landscape\",\n      \"idiom\" : \"ipad\",\n      \"extent\" : \"full-screen\",\n      \"minimum-system-version\" : \"7.0\",\n      \"scale\" : \"2x\"\n    }\n  ],\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}"
  },
  {
    "path": "Tests/MasonryTestsLoader/MasonryTestsLoader-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleDisplayName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1.0</string>\n\t<key>LSRequiresIPhoneOS</key>\n\t<true/>\n\t<key>UIRequiredDeviceCapabilities</key>\n\t<array>\n\t\t<string>armv7</string>\n\t</array>\n\t<key>UISupportedInterfaceOrientations</key>\n\t<array>\n\t\t<string>UIInterfaceOrientationPortrait</string>\n\t\t<string>UIInterfaceOrientationLandscapeLeft</string>\n\t\t<string>UIInterfaceOrientationLandscapeRight</string>\n\t</array>\n\t<key>UISupportedInterfaceOrientations~ipad</key>\n\t<array>\n\t\t<string>UIInterfaceOrientationPortrait</string>\n\t\t<string>UIInterfaceOrientationPortraitUpsideDown</string>\n\t\t<string>UIInterfaceOrientationLandscapeLeft</string>\n\t\t<string>UIInterfaceOrientationLandscapeRight</string>\n\t</array>\n</dict>\n</plist>\n"
  },
  {
    "path": "Tests/MasonryTestsLoader/MasonryTestsLoader-Prefix.pch",
    "content": "//\n//  Prefix header\n//\n//  The contents of this file are implicitly included at the beginning of every source file.\n//\n\n#import <Availability.h>\n\n#ifndef __IPHONE_3_0\n#warning \"This project uses features only available in iOS SDK 3.0 and later.\"\n#endif\n\n#ifdef __OBJC__\n    #import <UIKit/UIKit.h>\n    #import <Foundation/Foundation.h>\n#endif\n"
  },
  {
    "path": "Tests/MasonryTestsLoader/en.lproj/InfoPlist.strings",
    "content": "/* Localized versions of Info.plist keys */\n\n"
  },
  {
    "path": "Tests/MasonryTestsLoader/main.m",
    "content": "//\n//  main.m\n//  MasonryTestsLoader\n//\n//  Created by Jonas Budelmann on 26/11/13.\n//\n//\n\n#import <UIKit/UIKit.h>\n\n#import \"CASAppDelegate.h\"\n\nint main(int argc, char * argv[])\n{\n    @autoreleasepool {\n        return UIApplicationMain(argc, argv, nil, NSStringFromClass([CASAppDelegate class]));\n    }\n}\n"
  },
  {
    "path": "Tests/NSObject+MASSubscriptSupport.h",
    "content": "//\n//  NSObject+MASSubscriptSupport.h\n//  Masonry\n//\n//  Created by Jonas Budelmann on 28/08/13.\n//  Copyright (c) 2013 Jonas Budelmann. All rights reserved.\n//\n\n#import <Foundation/Foundation.h>\n\n@interface NSObject (MASSubscriptSupport)\n\n- (id)objectAtIndexedSubscript:(NSUInteger)idx;\n- (void)setObject:(id)obj atIndexedSubscript:(NSUInteger)idx;\n- (void)setObject:(id)obj forKeyedSubscript:(id <NSCopying>)key;\n- (id)objectForKeyedSubscript:(id)key;\n\n@end\n"
  },
  {
    "path": "Tests/Specs/MASCompositeConstraintSpec.m",
    "content": "//\n//  MASCompositeConstraintSpec.m\n//  Masonry\n//\n//  Created by Jonas Budelmann on 22/07/13.\n//  Copyright (c) 2013 cloudling. All rights reserved.\n//\n\n#import \"MASCompositeConstraint.h\"\n#import \"MASViewConstraint.h\"\n#import \"MASConstraintDelegateMock.h\"\n#import \"View+MASAdditions.h\"\n\n@interface MASCompositeConstraint () <MASConstraintDelegate>\n\n@property (nonatomic, strong) NSMutableArray *childConstraints;\n\n@end\n\n@interface MASViewConstraint ()\n\n@property (nonatomic, weak) MASLayoutConstraint *layoutConstraint;\n@property (nonatomic, assign) CGFloat layoutConstant;\n@property (nonatomic, assign) MASLayoutPriority layoutPriority;\n@property (nonatomic, assign) CGFloat layoutMultiplier;\n\n@end\n\nSpecBegin(MASCompositeConstraint) {\n    MASConstraintDelegateMock *delegate;\n    MAS_VIEW *superview;\n    MAS_VIEW *view;\n    MASCompositeConstraint *composite;\n}\n\n- (void)setUp {\n    delegate = MASConstraintDelegateMock.new;\n    view = MAS_VIEW.new;\n    superview = MAS_VIEW.new;\n    [superview addSubview:view];\n}\n\n- (void)testCompleteChildren {\n    NSArray *children = @[\n        [[MASViewConstraint alloc] initWithFirstViewAttribute:view.mas_width],\n        [[MASViewConstraint alloc] initWithFirstViewAttribute:view.mas_height]\n    ];\n    composite = [[MASCompositeConstraint alloc] initWithChildren:children];\n    composite.delegate = delegate;\n    \n    MAS_VIEW *newView = MAS_VIEW.new;\n\n    //first equality statement\n    composite.greaterThanOrEqualTo(newView).sizeOffset(CGSizeMake(90, 30)).multipliedBy(3).priorityLow();\n    \n    expect(composite.childConstraints).to.haveCountOf(2);\n\n    MASViewConstraint *viewConstraint = composite.childConstraints[0];\n    expect(viewConstraint.secondViewAttribute.view).to.beIdenticalTo(newView);\n    expect(viewConstraint.secondViewAttribute.layoutAttribute).to.equal(NSLayoutAttributeWidth);\n    expect(viewConstraint.layoutConstant).to.equal(90);\n    expect(viewConstraint.layoutPriority).to.equal(MASLayoutPriorityDefaultLow);\n\n    viewConstraint = composite.childConstraints[1];\n    expect(viewConstraint.secondViewAttribute.view).to.beIdenticalTo(newView);\n    expect(viewConstraint.secondViewAttribute.layoutAttribute).to.equal(NSLayoutAttributeHeight);\n    expect(viewConstraint.layoutConstant).to.equal(30);\n    expect(viewConstraint.layoutPriority).to.equal(MASLayoutPriorityDefaultLow);\n}\n\n- (void)testDoNotRemoveOnInstall {\n    NSArray *children = @[\n        [[MASViewConstraint alloc] initWithFirstViewAttribute:view.mas_centerX],\n        [[MASViewConstraint alloc] initWithFirstViewAttribute:view.mas_centerY]\n    ];\n    composite = [[MASCompositeConstraint alloc] initWithChildren:children];\n    composite.delegate = delegate;\n    MAS_VIEW *newView = MAS_VIEW.new;\n    [superview addSubview:newView];\n\n    //first equality statement\n    composite.equalTo(newView).centerOffset(CGPointMake(90, 30)).dividedBy(2).priorityHigh();\n    [composite install];\n\n    expect(composite.childConstraints).to.haveCountOf(2);\n    \n    MASViewConstraint *viewConstraint = composite.childConstraints[0];\n    expect([viewConstraint layoutConstant]).to.equal(90);\n    expect([viewConstraint layoutMultiplier]).to.equal(0.5);\n    expect([viewConstraint layoutPriority]).to.equal(MASLayoutPriorityDefaultHigh);\n\n    viewConstraint = composite.childConstraints[1];\n    expect([viewConstraint layoutConstant]).to.equal(30);\n    expect([viewConstraint layoutMultiplier]).to.equal(0.5);\n    expect([viewConstraint layoutPriority]).to.equal(MASLayoutPriorityDefaultHigh);\n}\n\n- (void)testSpawnChildCompositeConstraints {\n    NSArray *children = @[\n        [[MASViewConstraint alloc] initWithFirstViewAttribute:view.mas_width],\n        [[MASViewConstraint alloc] initWithFirstViewAttribute:view.mas_height]\n    ];\n    composite = [[MASCompositeConstraint alloc] initWithChildren:children];\n    composite.delegate = delegate;\n    MAS_VIEW *otherView = MAS_VIEW.new;\n    [superview addSubview:otherView];\n    composite.lessThanOrEqualTo(@[@2, otherView]);\n\n    expect(composite.childConstraints).to.haveCountOf(2);\n    expect(composite.childConstraints[0]).to.beKindOf(MASCompositeConstraint.class);\n    expect(composite.childConstraints[1]).to.beKindOf(MASCompositeConstraint.class);\n}\n\n- (void)testModifyInsetsOnAppropriateChildren {\n    NSArray *children = @[\n        [[MASViewConstraint alloc] initWithFirstViewAttribute:view.mas_right],\n        [[MASViewConstraint alloc] initWithFirstViewAttribute:view.mas_top],\n        [[MASViewConstraint alloc] initWithFirstViewAttribute:view.mas_bottom],\n        [[MASViewConstraint alloc] initWithFirstViewAttribute:view.mas_left],\n        [[MASViewConstraint alloc] initWithFirstViewAttribute:view.mas_baseline],\n        [[MASViewConstraint alloc] initWithFirstViewAttribute:view.mas_width],\n    ];\n    composite = [[MASCompositeConstraint alloc] initWithChildren:children];\n    composite.delegate = delegate;\n\n    composite.with.insets((MASEdgeInsets){1, 2, 3, 4});\n\n    expect([children[0] layoutConstant]).to.equal(-4);\n    expect([children[1] layoutConstant]).to.equal(1);\n    expect([children[2] layoutConstant]).to.equal(-3);\n    expect([children[3] layoutConstant]).to.equal(2);\n    expect([children[4] layoutConstant]).to.equal(0);\n    expect([children[5] layoutConstant]).to.equal(0);\n};\n\n- (void)testModifyInsetOnAppropriateChildren {\n    NSArray *children = @[\n                          [[MASViewConstraint alloc] initWithFirstViewAttribute:view.mas_right],\n                          [[MASViewConstraint alloc] initWithFirstViewAttribute:view.mas_top],\n                          [[MASViewConstraint alloc] initWithFirstViewAttribute:view.mas_bottom],\n                          [[MASViewConstraint alloc] initWithFirstViewAttribute:view.mas_left],\n                          [[MASViewConstraint alloc] initWithFirstViewAttribute:view.mas_baseline],\n                          [[MASViewConstraint alloc] initWithFirstViewAttribute:view.mas_width],\n                          ];\n    composite = [[MASCompositeConstraint alloc] initWithChildren:children];\n    composite.delegate = delegate;\n    \n    composite.with.inset(1);\n    \n    expect([children[0] layoutConstant]).to.equal(-1);\n    expect([children[1] layoutConstant]).to.equal(1);\n    expect([children[2] layoutConstant]).to.equal(-1);\n    expect([children[3] layoutConstant]).to.equal(1);\n    expect([children[4] layoutConstant]).to.equal(0);\n    expect([children[5] layoutConstant]).to.equal(0);\n};\n\n- (void)testUninstall {\n    NSArray *children = @[\n        [[MASViewConstraint alloc] initWithFirstViewAttribute:view.mas_leading],\n        [[MASViewConstraint alloc] initWithFirstViewAttribute:view.mas_trailing]\n    ];\n    composite = [[MASCompositeConstraint alloc] initWithChildren:children];\n    composite.delegate = delegate;\n    MAS_VIEW *newView = MAS_VIEW.new;\n    [superview addSubview:newView];\n\n    //first equality statement\n    composite.equalTo(newView);\n    [composite install];\n\n    expect(superview.constraints).to.haveCountOf(2);\n    [composite uninstall];\n    expect(superview.constraints).to.haveCountOf(0);\n}\n\n- (void)testActivateDeactivate {\n    NSArray *children = @[\n                          [[MASViewConstraint alloc] initWithFirstViewAttribute:view.mas_leading],\n                          [[MASViewConstraint alloc] initWithFirstViewAttribute:view.mas_trailing]\n                          ];\n    composite = [[MASCompositeConstraint alloc] initWithChildren:children];\n    composite.delegate = delegate;\n    MAS_VIEW *newView = MAS_VIEW.new;\n    [superview addSubview:newView];\n    \n    //first equality statement\n    composite.equalTo(newView);\n    [composite install];\n    \n    expect(superview.constraints).to.haveCountOf(2);\n    [composite deactivate];\n    expect(superview.constraints).to.haveCountOf(0);\n    [composite activate];\n    expect(superview.constraints).to.haveCountOf(2);\n}\n\n- (void)testAttributeChainingShouldCallDelegate {\n    NSArray *children = @[\n        [[MASViewConstraint alloc] initWithFirstViewAttribute:view.mas_left],\n        [[MASViewConstraint alloc] initWithFirstViewAttribute:view.mas_right]\n    ];\n    composite = [[MASCompositeConstraint alloc] initWithChildren:children];\n    composite.delegate = delegate;\n    expect(composite.childConstraints.count).to.equal(2);\n    \n    MASConstraint *result = (id)composite.and.bottom;\n    expect(result).to.beIdenticalTo(composite);\n    expect(delegate.chainedConstraints).to.equal(@[composite]);\n    expect(composite.childConstraints.count).to.equal(3);\n    \n    MASViewConstraint *newChild = composite.childConstraints[2];\n    \n    expect(newChild.firstViewAttribute.layoutAttribute).to.equal(@(NSLayoutAttributeBottom));\n    expect(newChild.delegate).to.beIdenticalTo(composite);\n}\n\nSpecEnd\n"
  },
  {
    "path": "Tests/Specs/MASConstraintDelegateMock.h",
    "content": "//\n//  MASConstraintDelegate.h\n//  Masonry\n//\n//  Created by Jonas Budelmann on 28/07/13.\n//  Copyright (c) 2013 Jonas Budelmann. All rights reserved.\n//\n\n#import \"MASConstraint+Private.h\"\n\n@interface MASConstraintDelegateMock : NSObject <MASConstraintDelegate>\n\n@property (nonatomic, strong) NSMutableArray *constraints;\n@property (nonatomic, strong) NSMutableArray *chainedConstraints;\n\n@end\n"
  },
  {
    "path": "Tests/Specs/MASConstraintDelegateMock.m",
    "content": "//\n//  MASConstraintDelegate.m\n//  Masonry\n//\n//  Created by Jonas Budelmann on 28/07/13.\n//  Copyright (c) 2013 Jonas Budelmann. All rights reserved.\n//\n\n#import \"MASConstraintDelegateMock.h\"\n#import \"MASViewConstraint.h\"\n\n@implementation MASConstraintDelegateMock\n\n- (id)init {\n    self = [super init];\n    if (!self) return nil;\n\n    self.constraints = NSMutableArray.new;\n    self.chainedConstraints = NSMutableArray.new;\n\n    return self;\n}\n\n- (void)constraint:(MASConstraint *)constraint shouldBeReplacedWithConstraint:(MASConstraint *)replacementConstraint {\n    [self.constraints replaceObjectAtIndex:[self.constraints indexOfObject:constraint] withObject:replacementConstraint];\n}\n\n- (id)constraint:(MASConstraint *)constraint addConstraintWithLayoutAttribute:(NSLayoutAttribute)layoutAttribute {\n    [self.chainedConstraints addObject:constraint];\n    \n    MASViewConstraint *viewConstraint = [[MASViewConstraint alloc] initWithFirstViewAttribute:[[MASViewAttribute alloc] initWithView:nil layoutAttribute:layoutAttribute]];\n    return viewConstraint;\n}\n\n@end\n"
  },
  {
    "path": "Tests/Specs/MASConstraintMakerSpec.m",
    "content": "//\n//  MASConstraintMakerSpec.m\n//  Masonry\n//\n//  Created by Jonas Budelmann on 25/08/13.\n//  Copyright (c) 2013 Jonas Budelmann. All rights reserved.\n//\n\n#import \"MASConstraintMaker.h\"\n#import \"MASCompositeConstraint.h\"\n#import \"MASViewConstraint.h\"\n#import \"MASConstraint+Private.h\"\n\n@interface MASConstraintMaker () <MASConstraintDelegate>\n\n@property (nonatomic, weak) MAS_VIEW *view;\n@property (nonatomic, strong) NSMutableArray *constraints;\n\n@end\n\n@interface MASCompositeConstraint ()\n\n@property (nonatomic, strong) NSMutableArray *childConstraints;\n\n@end\n\nSpecBegin(MASConstraintMaker) {\n    __strong MASConstraintMaker *maker;\n    __strong MAS_VIEW *superview;\n    __strong MAS_VIEW *view;\n    __strong MASCompositeConstraint *composite;\n}\n\n- (void)setUp {\n    composite = nil;\n    view = MAS_VIEW.new;\n    superview = MAS_VIEW.new;\n    [superview addSubview:view];\n\n    maker = [[MASConstraintMaker alloc] initWithView:view];\n}\n\n- (void)testCreateSingleAttribute {\n    composite = (MASCompositeConstraint *)maker.attributes(MASAttributeHeight);\n    \n    expect(composite.childConstraints).to.haveCountOf(1);\n    \n    MASViewConstraint *viewConstraint = composite.childConstraints[0];\n    expect(viewConstraint.firstViewAttribute.view).to.beIdenticalTo(maker.view);\n    expect(viewConstraint.firstViewAttribute.layoutAttribute).to.equal(NSLayoutAttributeHeight);\n}\n\n- (void)testCreateAttributes {\n    composite = (MASCompositeConstraint *)maker.attributes(MASAttributeCenterX | MASAttributeWidth);\n    \n    expect(composite.childConstraints).to.haveCountOf(2);\n    \n    // children are ordered like MASAttribute, so the first is width\n    MASViewConstraint *viewConstraint = composite.childConstraints[0];\n    expect(viewConstraint.firstViewAttribute.view).to.beIdenticalTo(maker.view);\n    expect(viewConstraint.firstViewAttribute.layoutAttribute).to.equal(NSLayoutAttributeWidth);\n    \n    viewConstraint = composite.childConstraints[1];\n    expect(viewConstraint.firstViewAttribute.view).to.beIdenticalTo(maker.view);\n    expect(viewConstraint.firstViewAttribute.layoutAttribute).to.equal(NSLayoutAttributeCenterX);\n}\n\n- (void)testCreateCenterYAndCenterXChildren {\n    composite = (MASCompositeConstraint *)maker.center;\n\n    expect(composite.childConstraints).to.haveCountOf(2);\n\n    MASViewConstraint *viewConstraint = composite.childConstraints[0];\n    expect(viewConstraint.firstViewAttribute.view).to.beIdenticalTo(maker.view);\n    expect(viewConstraint.firstViewAttribute.layoutAttribute).to.equal(NSLayoutAttributeCenterX);\n\n    viewConstraint = composite.childConstraints[1];\n    expect(viewConstraint.firstViewAttribute.view).to.beIdenticalTo(maker.view);\n    expect(viewConstraint.firstViewAttribute.layoutAttribute).to.equal(NSLayoutAttributeCenterY);\n}\n\n- (void)testCreateAllEdges {\n    MAS_VIEW *newView = MAS_VIEW.new;\n    composite = (MASCompositeConstraint *)maker.edges;\n    composite.equalTo(newView);\n\n    expect(composite.childConstraints).to.haveCountOf(4);\n\n    MASViewConstraint *viewConstraint;\n    \n    //left\n    viewConstraint = composite.childConstraints[0];\n    expect(viewConstraint.firstViewAttribute.view).to.beIdenticalTo(maker.view);\n    expect(viewConstraint.firstViewAttribute.layoutAttribute).to.equal(NSLayoutAttributeLeft);\n    \n    //right\n    viewConstraint = composite.childConstraints[1];\n    expect(viewConstraint.firstViewAttribute.view).to.beIdenticalTo(maker.view);\n    expect(viewConstraint.firstViewAttribute.layoutAttribute).to.equal(NSLayoutAttributeRight);\n    \n    //top\n    viewConstraint = composite.childConstraints[2];\n    expect(viewConstraint.firstViewAttribute.view).to.beIdenticalTo(maker.view);\n    expect(viewConstraint.firstViewAttribute.layoutAttribute).to.equal(NSLayoutAttributeTop);\n\n    //bottom\n    viewConstraint = composite.childConstraints[3];\n    expect(viewConstraint.firstViewAttribute.view).to.beIdenticalTo(maker.view);\n    expect(viewConstraint.firstViewAttribute.layoutAttribute).to.equal(NSLayoutAttributeBottom);\n}\n\n- (void)testCreateWidthAndHeightChildren {\n    composite = (MASCompositeConstraint *)maker.size;\n    expect(composite.childConstraints).to.haveCountOf(2);\n\n    MASViewConstraint *viewConstraint = composite.childConstraints[0];\n    expect(viewConstraint.firstViewAttribute.view).to.beIdenticalTo(maker.view);\n    expect(viewConstraint.firstViewAttribute.layoutAttribute).to.equal(NSLayoutAttributeWidth);\n\n    viewConstraint = composite.childConstraints[1];\n    expect(viewConstraint.firstViewAttribute.view).to.beIdenticalTo(maker.view);\n    expect(viewConstraint.firstViewAttribute.layoutAttribute).to.equal(NSLayoutAttributeHeight);\n}\n\n- (void)testInstallConstraints {\n    MAS_VIEW *newView = MAS_VIEW.new;\n    [superview addSubview:newView];\n\n    maker.edges.equalTo(newView);\n    maker.centerX.equalTo(@[newView, @10]);\n\n    expect([maker install]).to.haveCountOf(2);\n}\n\n- (void)testUpdateConstraints {\n    MAS_VIEW *newView = MAS_VIEW.new;\n    [superview addSubview:newView];\n\n    maker.updateExisting = YES;\n    maker.left.equalTo(newView).offset(10);\n    [maker install];\n\n    NSLayoutConstraint *constraint1 = superview.constraints[0];\n    expect(constraint1.constant).to.equal(10);\n\n    maker.left.equalTo(newView).offset(20);\n    [maker install];\n\n    expect(superview.constraints).to.haveCountOf(1);\n    NSLayoutConstraint *constraint2 = superview.constraints[0];\n    expect(constraint2.constant).to.equal(20);\n\n    expect(constraint2).to.beIdenticalTo(constraint2);\n}\n\n- (void)testDoNotUpdateConstraints {\n    MAS_VIEW *newView = MAS_VIEW.new;\n    [superview addSubview:newView];\n\n    maker.updateExisting = YES;\n    maker.left.equalTo(newView).offset(10);\n    [maker install];\n\n    NSLayoutConstraint *constraint1 = superview.constraints[0];\n    expect(constraint1.constant).to.equal(10);\n\n    maker.right.equalTo(newView).offset(20);\n    [maker install];\n\n    expect(superview.constraints).to.haveCountOf(2);\n    NSLayoutConstraint *constraint2 = superview.constraints[1];\n    expect(constraint1.constant).to.equal(10);\n    expect(constraint2.constant).to.equal(20);\n}\n\n- (void)testRemoveConstraints {\n    MAS_VIEW *newView = MAS_VIEW.new;\n    [superview addSubview:newView];\n    \n    maker.left.equalTo(newView).offset(10);\n    maker.right.equalTo(newView).offset(20);\n    maker.width.equalTo(newView).offset(30);\n    [maker install];\n    \n    expect(superview.constraints).to.haveCountOf(3);\n    expect([MASViewConstraint installedConstraintsForView:view]).to.haveCountOf(3);\n    \n    maker.removeExisting = YES;\n    maker.height.equalTo(newView).offset(100);\n    [maker install];\n    \n    expect(superview.constraints).to.haveCountOf(1);\n    expect([MASViewConstraint installedConstraintsForView:view]).to.haveCountOf(1);\n    NSLayoutConstraint *constraint1 = superview.constraints[0];\n    expect(constraint1.constant).to.equal(100);\n}\n\n- (void)testCreateNewViewAttributes {\n    expect(maker.left).notTo.beIdenticalTo(maker.left);\n    expect(maker.right).notTo.beIdenticalTo(maker.right);\n    expect(maker.top).notTo.beIdenticalTo(maker.top);\n    expect(maker.bottom).notTo.beIdenticalTo(maker.bottom);\n    expect(maker.baseline).notTo.beIdenticalTo(maker.baseline);\n    expect(maker.leading).notTo.beIdenticalTo(maker.leading);\n    expect(maker.trailing).notTo.beIdenticalTo(maker.trailing);\n    expect(maker.width).notTo.beIdenticalTo(maker.width);\n    expect(maker.height).notTo.beIdenticalTo(maker.height);\n    expect(maker.centerX).notTo.beIdenticalTo(maker.centerX);\n    expect(maker.centerY).notTo.beIdenticalTo(maker.centerY);\n}\n\n- (void)testAttributeChainingWithComposite {\n    composite = (MASCompositeConstraint *)maker.size;\n    \n    expect(maker.constraints.count).to.equal(1);\n    expect(composite.childConstraints.count).to.equal(2);\n    composite = (id)composite.left;\n    expect(maker.constraints.count).to.equal(1);\n    expect(composite.childConstraints.count).to.equal(3);\n    \n    \n    MASViewConstraint *viewConstraint = composite.childConstraints[2];\n    expect(viewConstraint.firstViewAttribute.view).to.beIdenticalTo(maker.view);\n    expect(viewConstraint.firstViewAttribute.layoutAttribute).to.equal(NSLayoutAttributeLeft);\n    expect(viewConstraint.delegate).to.beIdenticalTo(composite);\n}\n\n- (void)testAttributeChainingWithViewConstraint {\n    MASViewConstraint *viewConstraint = (MASViewConstraint *)maker.width;\n    expect(maker.constraints.count).to.equal(1);\n    expect(viewConstraint).to.beIdenticalTo(maker.constraints[0]);\n    expect(viewConstraint.delegate).to.beIdenticalTo(maker);\n    \n    composite = (id)viewConstraint.height;\n    expect(composite).to.beKindOf(MASCompositeConstraint.class);\n    \n    expect(maker.constraints.count).to.equal(1);\n    expect(composite).to.beIdenticalTo(maker.constraints[0]);\n    expect(composite.delegate).to.beIdenticalTo(maker);\n    expect(viewConstraint.delegate).to.beIdenticalTo(composite);\n    \n    MASViewConstraint *childConstraint = composite.childConstraints[0];\n    expect(childConstraint.firstViewAttribute.view).to.beIdenticalTo(maker.view);\n    expect(childConstraint.firstViewAttribute.layoutAttribute).to.equal(NSLayoutAttributeWidth);\n    expect(childConstraint.delegate).to.beIdenticalTo(composite);\n    expect(childConstraint).to.beIdenticalTo(viewConstraint);\n    \n    childConstraint = composite.childConstraints[1];\n    expect(childConstraint.firstViewAttribute.view).to.beIdenticalTo(maker.view);\n    expect(childConstraint.firstViewAttribute.layoutAttribute).to.equal(NSLayoutAttributeHeight);\n    expect(childConstraint.delegate).to.beIdenticalTo(composite);\n}\n\nSpecEnd"
  },
  {
    "path": "Tests/Specs/MASViewAttributeSpec.m",
    "content": "//\n//  MASViewAttributeSpec.m\n//  Masonry\n//\n//  Created by Craig Siemens on 2013-10-09.\n//  Copyright 2013 Jonas Budelmann. All rights reserved.\n//\n\n#import \"MASViewAttribute.h\"\n\nSpecBegin(MASViewAttributeSpec){\n    MAS_VIEW *view;\n    MASViewAttribute *viewAttribute;\n}\n\n- (void)setUp {\n    view = [MAS_VIEW new];\n    viewAttribute = [[MASViewAttribute alloc] initWithView:view layoutAttribute:NSLayoutAttributeLeft];\n}\n\n- (void)testIsEqual {\n    //should return YES whe the view and layoutAttribute are the same\n    MASViewAttribute *otherViewAttribute = [[MASViewAttribute alloc] initWithView:viewAttribute.view layoutAttribute:viewAttribute.layoutAttribute];\n    expect([viewAttribute isEqual:otherViewAttribute]).to.equal(YES);\n\n    //should return NO when the view is different but the layoutAttribute is the same\n    MAS_VIEW *otherView = [MAS_VIEW new];\n    otherViewAttribute = [[MASViewAttribute alloc] initWithView:otherView layoutAttribute:viewAttribute.layoutAttribute];\n    expect([viewAttribute isEqual:otherViewAttribute]).to.equal(NO);\n\n\n    //should return NO when the view is the same but the layoutAttribute is different\n    otherViewAttribute = [[MASViewAttribute alloc] initWithView:viewAttribute.view layoutAttribute:NSLayoutAttributeRight];\n    expect([viewAttribute isEqual:otherViewAttribute]).to.equal(NO);\n\n    //should return NO when the view is different and the layoutAttribute is different\n    otherViewAttribute = [[MASViewAttribute alloc] initWithView:otherView layoutAttribute:NSLayoutAttributeRight];\n    expect([viewAttribute isEqual:otherViewAttribute]).to.equal(NO);\n\n    //should return NO when non view attribute passed\", ^{\n    expect([viewAttribute isEqual:NSArray.new]).to.equal(NO);\n}\n\n- (void)testHashing {\n    //should return the same hash when the view and layoutAttribute are the same\n    MASViewAttribute *otherViewAttribute = [[MASViewAttribute alloc] initWithView:viewAttribute.view layoutAttribute:viewAttribute.layoutAttribute];\n    expect([viewAttribute hash]).to.equal([otherViewAttribute hash]);\n\n    //should return a different hash when the view is different but the layoutAttribute is the same\n    MAS_VIEW *otherView = [MAS_VIEW new];\n    otherViewAttribute = [[MASViewAttribute alloc] initWithView:otherView layoutAttribute:viewAttribute.layoutAttribute];\n    expect([viewAttribute hash]).toNot.equal([otherViewAttribute hash]);\n\n    //should return a different hash when the view is the same but the layoutAttribute is different\n    otherViewAttribute = [[MASViewAttribute alloc] initWithView:viewAttribute.view layoutAttribute:NSLayoutAttributeRight];\n    expect([viewAttribute hash]).toNot.equal([otherViewAttribute hash]);\n\n    //should return a different hash when the view is different and the layoutAttribute is different\n    otherViewAttribute = [[MASViewAttribute alloc] initWithView:otherView layoutAttribute:NSLayoutAttributeRight];\n    expect([viewAttribute hash]).toNot.equal([otherViewAttribute hash]);\n}\n\nSpecEnd\n"
  },
  {
    "path": "Tests/Specs/MASViewConstraintSpec.m",
    "content": "//\n//  MASViewConstraintSpec.m\n//  Masonry\n//\n//  Created by Jonas Budelmann on 21/07/13.\n//  Copyright (c) 2013 cloudling. All rights reserved.\n//\n\n#import \"MASViewConstraint.h\"\n#import \"MASConstraint+Private.h\"\n#import \"MASConstraint.h\"\n#import \"View+MASAdditions.h\"\n#import \"MASConstraintDelegateMock.h\"\n#import \"MASCompositeConstraint.h\"\n\n@interface MASViewConstraint ()\n\n@property (nonatomic, weak) MASLayoutConstraint *layoutConstraint;\n@property (nonatomic, assign) NSLayoutRelation layoutRelation;\n@property (nonatomic, assign) MASLayoutPriority layoutPriority;\n@property (nonatomic, assign) CGFloat layoutMultiplier;\n@property (nonatomic, assign) CGFloat layoutConstant;\n@property (nonatomic, assign) BOOL hasLayoutRelation;\n\n@end\n\n@interface MASCompositeConstraint () <MASConstraintDelegate>\n\n@property (nonatomic, strong) NSMutableArray *childConstraints;\n\n@end\n\nSpecBegin(MASViewConstraint) {\n    MASConstraintDelegateMock *delegate;\n    MAS_VIEW *superview;\n    MASViewConstraint *constraint;\n    MAS_VIEW *otherView;\n}\n\n- (void)setUp {\n    superview = MAS_VIEW.new;\n    delegate = MASConstraintDelegateMock.new;\n\n    MAS_VIEW *view = MAS_VIEW.new;\n    constraint = [[MASViewConstraint alloc] initWithFirstViewAttribute:view.mas_width];\n    constraint.delegate = delegate;\n\n    [superview addSubview:view];\n\n    otherView = MAS_VIEW.new;\n    [superview addSubview:otherView];\n}\n\n\n- (void)testRelationCreateEqualConstraint {\n    MASViewAttribute *secondViewAttribute = otherView.mas_top;\n    MASViewConstraint *newConstraint = (id)constraint.equalTo(secondViewAttribute);\n\n    expect(newConstraint).to.beIdenticalTo(constraint);\n    expect(constraint.secondViewAttribute).to.beIdenticalTo(secondViewAttribute);\n    expect(constraint.layoutRelation).to.equal(NSLayoutRelationEqual);\n}\n\n- (void)testRelationCreateGreaterThanOrEqualConstraint {\n    MASViewAttribute *secondViewAttribute = otherView.mas_top;\n    MASViewConstraint *newConstraint = (id)constraint.greaterThanOrEqualTo(secondViewAttribute);\n\n    expect(newConstraint).to.beIdenticalTo(constraint);\n    expect(constraint.secondViewAttribute).to.beIdenticalTo(secondViewAttribute);\n    expect(constraint.layoutRelation).to.equal(NSLayoutRelationGreaterThanOrEqual);\n}\n\n- (void)testRelationCreateLessThanOrEqualConstraint {\n    MASViewAttribute *secondViewAttribute = otherView.mas_top;\n    MASViewConstraint *newConstraint = (id)constraint.lessThanOrEqualTo(secondViewAttribute);\n\n    expect(newConstraint).to.beIdenticalTo(constraint);\n    expect(constraint.secondViewAttribute).to.beIdenticalTo(secondViewAttribute);\n    expect(constraint.layoutRelation).to.equal(NSLayoutRelationLessThanOrEqual);\n}\n\n- (void)testRelationNotAllowUpdateOfEqual {\n    MASViewAttribute *secondViewAttribute = otherView.mas_top;\n    constraint.lessThanOrEqualTo(secondViewAttribute);\n\n    expect(^{\n        constraint.equalTo(secondViewAttribute);\n    }).to.raise(@\"NSInternalInconsistencyException\");\n}\n\n- (void)testRelationNotAllowUpdateOfLessThanOrEqual{\n    MASViewAttribute *secondViewAttribute = otherView.mas_top;\n    constraint.equalTo(secondViewAttribute);\n\n    expect(^{\n        constraint.lessThanOrEqualTo(secondViewAttribute);\n    }).to.raise(@\"NSInternalInconsistencyException\");\n}\n\n- (void)testRelationNotAllowUpdateOfGreaterThanOrEqual {\n    MASViewAttribute *secondViewAttribute = otherView.mas_top;\n    constraint.greaterThanOrEqualTo(secondViewAttribute);\n\n    expect(^{\n        constraint.greaterThanOrEqualTo(secondViewAttribute);\n    }).to.raise(@\"NSInternalInconsistencyException\");\n}\n\n\n- (void)testRelationAcceptsView {\n    MAS_VIEW *view = MAS_VIEW.new;\n    constraint.equalTo(view);\n\n    expect(constraint.secondViewAttribute.view).to.beIdenticalTo(view);\n    expect(constraint.firstViewAttribute.layoutAttribute).to.equal(constraint.secondViewAttribute.layoutAttribute);\n}\n\n- (void)testRelationAcceptsNumber {\n    constraint.equalTo(@42);\n    \n    expect(constraint.secondViewAttribute.view).to.beNil();\n    expect(constraint.layoutConstant).to.equal(42);\n}\n\n- (void)testRelationAcceptsValueWithCGPoint {\n    CGPoint point = CGPointMake(10, 20);\n    NSValue *value = [NSValue value:&point withObjCType:@encode(CGPoint)];\n    \n    MASViewConstraint *centerX = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_centerX];\n    centerX.equalTo(value);\n    expect(centerX.layoutConstant).to.equal(10);\n    \n    MASViewConstraint *centerY = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_centerY];\n    centerY.equalTo(value);\n    expect(centerY.layoutConstant).to.equal(20);\n    \n    MASViewConstraint *width = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_width];\n    width.equalTo(value);\n    expect(width.layoutConstant).to.equal(0);\n}\n\n- (void)testRelationAcceptsValueWithCGSize {\n    CGSize size = CGSizeMake(30, 40);\n    NSValue *value = [NSValue value:&size withObjCType:@encode(CGSize)];\n    \n    MASViewConstraint *width = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_width];\n    width.equalTo(value);\n    expect(width.layoutConstant).to.equal(30);\n\n    MASViewConstraint *height = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_height];\n    height.equalTo(value);\n    expect(height.layoutConstant).to.equal(40);\n    \n    MASViewConstraint *centerX = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_centerX];\n    centerX.equalTo(value);\n    expect(centerX.layoutConstant).to.equal(0);\n}\n\n- (void)testRelationAcceptsValueWithEdgeInsets {\n    MASEdgeInsets insets = (MASEdgeInsets){10, 20, 30, 40};\n    NSValue *value = [NSValue value:&insets withObjCType:@encode(MASEdgeInsets)];\n    \n    MASViewConstraint *top = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_top];\n    top.equalTo(value);\n    expect(top.layoutConstant).to.equal(10);\n    \n    MASViewConstraint *left = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_left];\n    left.equalTo(value);\n    expect(left.layoutConstant).to.equal(20);\n\n    MASViewConstraint *leading = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_leading];\n    leading.equalTo(value);\n    expect(leading.layoutConstant).to.equal(20);\n\n    MASViewConstraint *bottom = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_bottom];\n    bottom.equalTo(value);\n    expect(bottom.layoutConstant).to.equal(-30);\n\n    MASViewConstraint *right = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_right];\n    right.equalTo(value);\n    expect(right.layoutConstant).to.equal(-40);\n\n    MASViewConstraint *trailing = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_trailing];\n    trailing.equalTo(value);\n    expect(trailing.layoutConstant).to.equal(-40);\n    \n    MASViewConstraint *centerX = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_centerX];\n    centerX.equalTo(value);\n    expect(centerX.layoutConstant).to.equal(0);\n}\n\n\n- (void)testRelationCreatesCompositeWithArrayOfViews {\n    NSArray *views = @[MAS_VIEW.new, MAS_VIEW.new, MAS_VIEW.new];\n    [delegate.constraints addObject:constraint];\n\n    MASCompositeConstraint *composite = (id)constraint.equalTo(views).priorityMedium().offset(-10);\n\n    expect(delegate.constraints).to.haveCountOf(1);\n    expect(delegate.constraints[0]).to.beKindOf(MASCompositeConstraint.class);\n    for (MASViewConstraint *childConstraint in composite.childConstraints) {\n        NSUInteger index = [composite.childConstraints indexOfObject:childConstraint];\n        expect(childConstraint.secondViewAttribute.view).to.beIdenticalTo((MAS_VIEW *)views[index]);\n        expect(childConstraint.firstViewAttribute.layoutAttribute).to.equal(NSLayoutAttributeWidth);\n        expect(childConstraint.secondViewAttribute.layoutAttribute).to.equal(NSLayoutAttributeWidth);\n        expect(childConstraint.layoutPriority).to.equal(MASLayoutPriorityDefaultMedium);\n        expect(childConstraint.layoutConstant).to.equal(-10);\n    }\n}\n\n- (void)testRelationCreatesCompositeWithArrayOfAttributes {\n    NSArray *viewAttributes = @[MAS_VIEW.new.mas_height, MAS_VIEW.new.mas_left];\n    [delegate.constraints addObject:constraint];\n\n    MASCompositeConstraint *composite = (id)constraint.equalTo(viewAttributes).priority(60).offset(10);\n\n    expect(delegate.constraints).to.haveCountOf(1);\n    expect(delegate.constraints[0]).to.beKindOf(MASCompositeConstraint.class);\n    for (MASViewConstraint *childConstraint in composite.childConstraints) {\n        NSUInteger index = [composite.childConstraints indexOfObject:childConstraint];\n        expect(childConstraint.secondViewAttribute.view).to.beIdenticalTo([viewAttributes[index] view]);\n        expect(childConstraint.firstViewAttribute.layoutAttribute).to.equal(NSLayoutAttributeWidth);\n        expect(childConstraint.secondViewAttribute.layoutAttribute).to.equal([viewAttributes[index] layoutAttribute]);\n        expect(childConstraint.layoutPriority).to.equal(60);\n        expect(childConstraint.layoutConstant).to.equal(10);\n    }\n}\n\n- (void)testRelationComplainsWithUnsupportedArgument {\n    expect(^{\n        constraint.equalTo(@{});\n    }).to.raise(@\"NSInternalInconsistencyException\");\n}\n\n\n- (void)testRelationAcceptsAutoboxedScalar {\n    constraint.mas_equalTo(42);\n    expect(constraint.layoutConstant).to.equal(42);\n}\n\n- (void)testRelationAcceptsAutoboxedCGPoint {\n    MASViewConstraint *centerX = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_centerX];\n    centerX.mas_equalTo(CGPointMake(10, 20));\n    expect(centerX.layoutConstant).to.equal(10);\n    \n    MASViewConstraint *centerY = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_centerY];\n    centerY.mas_equalTo(CGPointMake(10, 20));\n    expect(centerY.layoutConstant).to.equal(20);\n}\n\n- (void)testRelationAcceptsAutoboxedCGSize {\n    MASViewConstraint *width = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_width];\n    width.mas_equalTo(CGSizeMake(30, 40));\n    expect(width.layoutConstant).to.equal(30);\n    \n    MASViewConstraint *height = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_height];\n    height.mas_equalTo(CGSizeMake(30, 40));\n    expect(height.layoutConstant).to.equal(40);\n}\n\n- (void)testRelationAcceptsAutoboxedEdgeInsets {\n    MASEdgeInsets insets = (MASEdgeInsets){10, 20, 30, 40};\n    \n    MASViewConstraint *top = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_top];\n    top.mas_equalTo(insets);\n    expect(top.layoutConstant).to.equal(10);\n    \n    MASViewConstraint *left = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_left];\n    left.mas_equalTo(insets);\n    expect(left.layoutConstant).to.equal(20);\n    \n    MASViewConstraint *bottom = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_bottom];\n    bottom.mas_equalTo(insets);\n    expect(bottom.layoutConstant).to.equal(-30);\n    \n    MASViewConstraint *right = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_right];\n    right.mas_equalTo(insets);\n    expect(right.layoutConstant).to.equal(-40);\n}\n\n- (void)testRelationAutoboxingComplainsWithUnsupportedArgument {\n    expect(^{\n        constraint.mas_equalTo(@{});\n    }).to.raise(@\"NSInternalInconsistencyException\");\n}\n\n\n- (void)testPriorityHigh {\n    constraint.equalTo(otherView);\n    constraint.with.priorityHigh();\n    [constraint install];\n\n    expect(constraint.layoutPriority).to.equal(MASLayoutPriorityDefaultHigh);\n    expect(constraint.layoutConstraint.priority).to.equal(MASLayoutPriorityDefaultHigh);\n}\n\n\n- (void)testPriorityLow {\n    constraint.equalTo(otherView);\n    constraint.with.priorityLow();\n    [constraint install];\n\n    expect(constraint.layoutPriority).to.equal(MASLayoutPriorityDefaultLow);\n    expect(constraint.layoutConstraint.priority).to.equal(MASLayoutPriorityDefaultLow);\n}\n\n\n- (void)testPriorityMedium {\n    constraint.equalTo(otherView);\n    constraint.with.priorityMedium();\n    [constraint install];\n\n    expect(constraint.layoutPriority).to.equal(MASLayoutPriorityDefaultMedium);\n    expect(constraint.layoutConstraint.priority).to.equal(MASLayoutPriorityDefaultMedium);\n}\n\n\n- (void)testMultiplierNotUpdate {\n    [constraint install];\n\n    expect(^{\n        constraint.multipliedBy(0.9);\n    }).to.raise(@\"NSInternalInconsistencyException\");\n}\n\n\n- (void)testMultiplierWithMultipliedBy {\n    constraint.equalTo(otherView);\n    constraint.multipliedBy(5);\n    [constraint install];\n\n    expect(constraint.layoutMultiplier).to.equal(5);\n    expect(constraint.layoutConstraint.multiplier).to.equal(5);\n}\n\n- (void)testMultiplierWithDividedBy {\n    constraint.equalTo(otherView);\n    constraint.dividedBy(10);\n    [constraint install];\n\n    expect(constraint.layoutMultiplier).to.equal(0.1);\n    expect(constraint.layoutConstraint.multiplier).to.beCloseTo(0.1);\n}\n\n- (void)testConstantUpdateAfterConstraintCreated {\n    [constraint install];\n    constraint.offset(10);\n\n    expect(constraint.layoutConstant).to.equal(10);\n    expect(constraint.layoutConstraint.constant).to.equal(10);\n}\n\n\n- (void)testConstantUpdateSidesOffset {\n    MASViewConstraint *centerY = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_centerY];\n    centerY.with.insets((MASEdgeInsets){10, 10, 10, 10});\n    expect(centerY.layoutConstant).to.equal(0);\n\n    MASViewConstraint *top = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_top];\n    top.insets((MASEdgeInsets){15, 10, 10, 10});\n    expect(top.layoutConstant).to.equal(15);\n\n    MASViewConstraint *left = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_left];\n    left.insets((MASEdgeInsets){10, 15, 10, 10});\n    expect(left.layoutConstant).to.equal(15);\n\n    MASViewConstraint *bottom = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_bottom];\n    bottom.insets((MASEdgeInsets){10, 10, 15, 10});\n    expect(bottom.layoutConstant).to.equal(-15);\n\n    MASViewConstraint *right = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_right];\n    right.insets((MASEdgeInsets){10, 10, 10, 15});\n    expect(right.layoutConstant).to.equal(-15);\n}\n\n- (void)testConstantUpdateCenterOffsetOnly {\n    MASViewConstraint *width = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_width];\n    width.centerOffset(CGPointMake(-20, -10));\n    expect(width.layoutConstant).to.equal(0);\n\n    MASViewConstraint *centerX = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_centerX];\n    centerX.centerOffset(CGPointMake(-20, -10));\n    expect(centerX.layoutConstant).to.equal(-20);\n\n    MASViewConstraint *centerY = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_centerY];\n    centerY.centerOffset(CGPointMake(-20, -10));\n    expect(centerY.layoutConstant).to.equal(-10);\n}\n\n- (void)testConstantUpdateSizeOffsetOnly {\n    MASViewConstraint *bottom = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_bottom];\n    bottom.sizeOffset(CGSizeMake(-40, 55));\n    expect(bottom.layoutConstant).to.equal(0);\n\n    MASViewConstraint *width = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_width];\n    width.sizeOffset(CGSizeMake(-40, 55));\n    expect(width.layoutConstant).to.equal(-40);\n\n    MASViewConstraint *height = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_height];\n    height.sizeOffset(CGSizeMake(-40, 55));\n    expect(height.layoutConstant).to.equal(55);\n}\n\n\n- (void)testAutoboxedConstantUpdateOffset {\n    constraint.mas_offset(42);\n    expect(constraint.layoutConstant).to.equal(42);\n}\n\n- (void)testAutoboxedConstantUpdateSidesOffset {\n    MASEdgeInsets insets = (MASEdgeInsets){10, 20, 30, 40};\n    \n    MASViewConstraint *centerY = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_centerY];\n    centerY.mas_offset(insets);\n    expect(centerY.layoutConstant).to.equal(0);\n    \n    MASViewConstraint *top = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_top];\n    top.mas_offset(insets);\n    expect(top.layoutConstant).to.equal(10);\n    \n    MASViewConstraint *left = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_left];\n    left.mas_offset(insets);\n    expect(left.layoutConstant).to.equal(20);\n    \n    MASViewConstraint *bottom = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_bottom];\n    bottom.mas_offset(insets);\n    expect(bottom.layoutConstant).to.equal(-30);\n    \n    MASViewConstraint *right = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_right];\n    right.mas_offset(insets);\n    expect(right.layoutConstant).to.equal(-40);\n}\n\n- (void)testAutoboxedConstantUpdateCenterOffset {\n    MASViewConstraint *centerX = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_centerX];\n    centerX.mas_offset(CGPointMake(-20, -10));\n    expect(centerX.layoutConstant).to.equal(-20);\n    \n    MASViewConstraint *centerY = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_centerY];\n    centerY.mas_offset(CGPointMake(-20, -10));\n    expect(centerY.layoutConstant).to.equal(-10);\n}\n\n- (void)testAutoboxedConstantUpdateSizeOffset {\n    MASViewConstraint *width = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_width];\n    width.mas_offset(CGSizeMake(-40, 55));\n    expect(width.layoutConstant).to.equal(-40);\n    \n    MASViewConstraint *height = [[MASViewConstraint alloc] initWithFirstViewAttribute:otherView.mas_height];\n    height.mas_offset(CGSizeMake(-40, 55));\n    expect(height.layoutConstant).to.equal(55);\n}\n\n\n- (void)testInstallLayoutConstraintOnCommit {\n    MASViewAttribute *secondViewAttribute = otherView.mas_height;\n    constraint.equalTo(secondViewAttribute);\n    constraint.multipliedBy(0.5);\n    constraint.offset(10);\n    constraint.priority(345);\n    [constraint install];\n\n    expect(constraint.layoutConstraint.firstAttribute).to.equal(NSLayoutAttributeWidth);\n    expect(constraint.layoutConstraint.secondAttribute).to.equal(NSLayoutAttributeHeight);\n    expect(constraint.layoutConstraint.firstItem).to.beIdenticalTo(constraint.firstViewAttribute.view);\n    expect(constraint.layoutConstraint.secondItem).to.beIdenticalTo(constraint.secondViewAttribute.view);\n    expect(constraint.layoutConstraint.relation).to.equal(NSLayoutRelationEqual);\n    expect(constraint.layoutConstraint.constant).to.equal(10);\n    expect(constraint.layoutConstraint.priority).to.equal(345);\n    expect(constraint.layoutConstraint.multiplier).to.equal(0.5);\n\n    expect(superview.constraints[0]).to.beIdenticalTo(constraint.layoutConstraint);\n}\n\n\n- (void)testInstallRelativeToSuperview {\n    MAS_VIEW *view = MAS_VIEW.new;\n    constraint = [[MASViewConstraint alloc] initWithFirstViewAttribute:view.mas_baseline];\n    constraint.delegate = delegate;\n    [superview addSubview:view];\n\n    constraint.equalTo(@10);\n    [constraint install];\n\n    expect(constraint.layoutConstraint.firstAttribute).to.equal(NSLayoutAttributeBaseline);\n    expect(constraint.layoutConstraint.secondAttribute).to.equal(NSLayoutAttributeBaseline);\n    expect(constraint.layoutConstraint.firstItem).to.beIdenticalTo(constraint.firstViewAttribute.view);\n    expect(constraint.layoutConstraint.secondItem).to.beIdenticalTo(superview);\n    expect(constraint.layoutConstraint.relation).to.equal(NSLayoutRelationEqual);\n    expect(constraint.layoutConstraint.constant).to.equal(10);\n    expect(superview.constraints[0]).to.beIdenticalTo(constraint.layoutConstraint);\n}\n\n- (void)testInstallWidthAsConstant {\n    constraint.equalTo(@10);\n    [constraint install];\n\n    expect(constraint.layoutConstraint.firstAttribute).to.equal(NSLayoutAttributeWidth);\n    expect(constraint.layoutConstraint.secondAttribute).to.equal(NSLayoutAttributeNotAnAttribute);\n    expect(constraint.layoutConstraint.firstItem).to.beIdenticalTo(constraint.firstViewAttribute.view);\n    expect(constraint.layoutConstraint.secondItem).to.beNil();\n    expect(constraint.layoutConstraint.relation).to.equal(NSLayoutRelationEqual);\n    expect(constraint.layoutConstraint.constant).to.equal(10);\n    expect(constraint.firstViewAttribute.view.constraints[0]).to.beIdenticalTo(constraint.layoutConstraint);\n}\n\n\n- (void)testUninstallConstraint {\n    MASViewAttribute *secondViewAttribute = otherView.mas_height;\n    constraint.equalTo(secondViewAttribute);\n    [constraint install];\n\n    expect(superview.constraints).to.haveCountOf(1);\n    expect(superview.constraints[0]).to.equal(constraint.layoutConstraint);\n\n    [constraint uninstall];\n    expect(superview.constraints).to.haveCountOf(0);\n}\n\n- (void)testAttributeChainingShouldNotHaveRelation {\n    MASViewAttribute *secondViewAttribute = otherView.mas_top;\n    constraint.lessThanOrEqualTo(secondViewAttribute);\n    \n    expect(^{\n        __unused id result = constraint.bottom;\n    }).to.raise(@\"NSInternalInconsistencyException\");\n}\n\n- (void)testAttributeChainingShouldCallDelegate {\n    MASViewConstraint *result = (id)constraint.and.bottom;\n    expect(result.firstViewAttribute.layoutAttribute).to.equal(@(NSLayoutAttributeBottom));\n    expect(delegate.chainedConstraints).to.equal(@[constraint]);\n}\n\nSpecEnd"
  },
  {
    "path": "Tests/Specs/NSArray+MASAdditionsSpec.m",
    "content": "//\n//  NSArray+MASAdditionsSpec.m\n//  Masonry\n//\n//  Created by Daniel Hammond on 11/26/13.\n//\n\n#import \"NSArray+MASAdditions.h\"\n#import \"MASViewConstraint.h\"\n\nSpecBegin(NSArray_MASAdditions)\n\n- (void)testShouldFailWhenArrayContainsNonViews {\n    NSArray *array = @[ MAS_VIEW.new, [NSObject new] ];\n    expect(^{\n        [array mas_makeConstraints:^(MASConstraintMaker *make) {}];\n    }).to.raise(@\"NSInternalInconsistencyException\");\n}\n\n- (void)testShouldCreateConstraintsForEachView {\n    MAS_VIEW *superView = MAS_VIEW.new;\n    \n    MAS_VIEW *subject1 = MAS_VIEW.new;\n    [superView addSubview:subject1];\n    \n    MAS_VIEW *subject2 = MAS_VIEW.new;\n    [superView addSubview:subject2];\n    \n    NSArray *views = @[ subject1, subject2 ];\n    \n    NSArray *constraints = [views mas_makeConstraints:^(MASConstraintMaker *make) {\n        expect(make.updateExisting).to.beFalsy();\n        make.width.equalTo(superView);\n    }];\n    \n    expect(constraints).to.haveCountOf(views.count);\n    \n    for (MASViewConstraint *constraint in constraints) {\n        MASViewAttribute *firstAttribute = [constraint firstViewAttribute];\n        expect([views indexOfObject:firstAttribute.view]).toNot.equal(NSNotFound);\n        expect(firstAttribute.layoutAttribute).to.equal(NSLayoutAttributeWidth);\n        MASViewAttribute *second = [constraint secondViewAttribute];\n        expect(second.view).to.equal(superView);\n        expect(second.layoutAttribute).to.equal(NSLayoutAttributeWidth);\n    }\n}\n\n- (void)testShouldSetUpdateExistingForArray {\n    NSArray *views = @[ MAS_VIEW.new ];\n    [views mas_updateConstraints:^(MASConstraintMaker *make) {\n        expect(make.updateExisting).to.beTruthy();\n    }];\n}\n\n- (void)testShouldSetRemoveExistingForArray {\n    NSArray *views = @[ MAS_VIEW.new ];\n    [views mas_remakeConstraints:^(MASConstraintMaker *make) {\n        expect(make.removeExisting).to.beTruthy();\n    }];\n}\n\n- (void)testDistributeViewsWithFixedSpacingShouldFailWhenArrayContainsLessTwoViews {\n    MAS_VIEW *superView = MAS_VIEW.new;\n    \n    MAS_VIEW *subject1 = MAS_VIEW.new;\n    [superView addSubview:subject1];\n    \n    MAS_VIEW *subject2 = MAS_VIEW.new;\n    [superView addSubview:subject2];\n    NSArray *views = @[ subject1];\n    expect(^{\n        [views mas_distributeViewsAlongAxis:MASAxisTypeHorizontal withFixedSpacing:10.0 leadSpacing:5.0 tailSpacing:5.0];\n    }).to.raiseAny();\n    \n}\n\n- (void)testDistributeViewsWithFixedItemLengthShouldFailWhenArrayContainsLessTwoViews {\n    MAS_VIEW *superView = MAS_VIEW.new;\n    \n    MAS_VIEW *subject1 = MAS_VIEW.new;\n    [superView addSubview:subject1];\n    \n    MAS_VIEW *subject2 = MAS_VIEW.new;\n    [superView addSubview:subject2];\n    NSArray *views = @[ subject1];\n    expect(^{\n        [views mas_distributeViewsAlongAxis:MASAxisTypeHorizontal withFixedItemLength:10.0 leadSpacing:5.0 tailSpacing:5.0];\n    }).to.raiseAny();\n    \n}\n\n- (void)testDistributeViewsWithFixedSpacingShouldHaveCorrectNumberOfConstraints {\n    MAS_VIEW *superView = MAS_VIEW.new;\n    \n    MAS_VIEW *subject1 = MAS_VIEW.new;\n    [superView addSubview:subject1];\n    \n    MAS_VIEW *subject2 = MAS_VIEW.new;\n    [superView addSubview:subject2];\n    \n    MAS_VIEW *subject3 = MAS_VIEW.new;\n    [superView addSubview:subject3];\n    \n    NSArray *views = @[ subject1,subject2,subject3 ];\n\n    [views mas_distributeViewsAlongAxis:MASAxisTypeHorizontal withFixedSpacing:10.0 leadSpacing:5.0 tailSpacing:5.0];\n    \n    //left view\n    NSArray *arr1 = [MASViewConstraint installedConstraintsForView:subject1];\n    expect(arr1).to.haveCountOf(1);\n   \n    //middle view\n    NSArray *arr2 = [MASViewConstraint installedConstraintsForView:subject2];\n    expect(arr2).to.haveCountOf(2);\n    \n    //right view\n    NSArray *arr3 = [MASViewConstraint installedConstraintsForView:subject3];\n    expect(arr3).to.haveCountOf(3);\n}\n\n- (void)testDistributeViewsWithFixedItemLengthShouldHaveCorrectNumberOfConstraints {\n    MAS_VIEW *superView = MAS_VIEW.new;\n    \n    MAS_VIEW *subject1 = MAS_VIEW.new;\n    [superView addSubview:subject1];\n    \n    MAS_VIEW *subject2 = MAS_VIEW.new;\n    [superView addSubview:subject2];\n    \n    MAS_VIEW *subject3 = MAS_VIEW.new;\n    [superView addSubview:subject3];\n    \n    NSArray *views = @[ subject1,subject2,subject3 ];\n   \n    [views mas_distributeViewsAlongAxis:MASAxisTypeHorizontal withFixedItemLength:30.0 leadSpacing:5.0 tailSpacing:5.0];\n    \n    //left view\n    NSArray *arr1 = [MASViewConstraint installedConstraintsForView:subject1];\n    expect(arr1).to.haveCountOf(2);\n    \n    //middle view\n    NSArray *arr2 = [MASViewConstraint installedConstraintsForView:subject2];\n    expect(arr2).to.haveCountOf(2);\n    \n    //right view\n    NSArray *arr3 = [MASViewConstraint installedConstraintsForView:subject3];\n    expect(arr3).to.haveCountOf(2);\n}\n\n\nSpecEnd\n"
  },
  {
    "path": "Tests/Specs/NSLayoutConstraint+MASDebugAdditionsSpec.m",
    "content": "//\n//  NSLayoutConstraint+MASDebugAdditionsSpec.m\n//  Masonry\n//\n//  Created by Jonas Budelmann on 8/09/13.\n//  Copyright (c) 2013 Jonas Budelmann. All rights reserved.\n//\n\n#import \"NSLayoutConstraint+MASDebugAdditions.h\"\n#import \"View+MASAdditions.h\"\n#import \"MASLayoutConstraint.h\"\n#import \"MASCompositeConstraint.h\"\n#import \"MASViewConstraint.h\"\n\nSpecBegin(NSLayoutConstraint_MASDebugAdditions)\n\n- (void)testDisplayViewKey {\n    MAS_VIEW *newView = MAS_VIEW.new;\n    newView.mas_key = @\"newView\";\n\n    MASLayoutConstraint *layoutConstraint = [MASLayoutConstraint constraintWithItem:newView attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationGreaterThanOrEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1 constant:300];\n\n    layoutConstraint.priority = MASLayoutPriorityDefaultLow;\n\n    NSString *description = [NSString stringWithFormat:@\"<MASLayoutConstraint:%p %@:newView.width >= 300 ^low>\", layoutConstraint, MAS_VIEW.class];\n    expect([layoutConstraint description]).to.equal(description);\n}\n\n- (void)testDisplayLayoutConstraintKey {\n    MAS_VIEW *newView1 = MAS_VIEW.new;\n    newView1.mas_key = @\"newView1\";\n    MAS_VIEW *newView2 = MAS_VIEW.new;\n    newView2.mas_key = @\"newView2\";\n\n    MASLayoutConstraint *layoutConstraint = [MASLayoutConstraint constraintWithItem:newView1 attribute:NSLayoutAttributeBaseline relatedBy:NSLayoutRelationEqual toItem:newView2 attribute:NSLayoutAttributeTop multiplier:2 constant:300];\n    layoutConstraint.mas_key = @\"helloConstraint\";\n\n    NSString *description = [NSString stringWithFormat:@\"<MASLayoutConstraint:helloConstraint %@:newView1.baseline == %@:newView2.top * 2 + 300>\", MAS_VIEW.class, MAS_VIEW.class];\n    expect([layoutConstraint description]).to.equal(description);\n}\n\n- (void)testDisplayConstraintKey {\n    MAS_VIEW *superview = MAS_VIEW.new;\n    MAS_VIEW *newView1 = MAS_VIEW.new;\n    newView1.mas_key = @\"newView1\";\n    MAS_VIEW *newView2 = MAS_VIEW.new;\n    newView2.mas_key = @\"newView2\";\n    [superview addSubview:newView1];\n    [superview addSubview:newView2];\n\n    [newView1 mas_makeConstraints:^(MASConstraintMaker *make) {\n        make.left.greaterThanOrEqualTo(@[newView2, @10]).key(@\"left\");\n    }];\n\n\n    NSString *description = [NSString stringWithFormat:@\"<MASLayoutConstraint:left[0] %@:newView1.left >= %@:newView2.left>\", MAS_VIEW.class, MAS_VIEW.class];\n    expect([superview.constraints[0] description]).to.equal(description);\n}\n\nSpecEnd"
  },
  {
    "path": "Tests/Specs/View+MASAdditionsSpec.m",
    "content": "//\n//  View+MASAdditionsSpec.m\n//  Masonry\n//\n//  Created by Jonas Budelmann on 8/09/13.\n//  Copyright (c) 2013 Jonas Budelmann. All rights reserved.\n//\n\n#import \"View+MASAdditions.h\"\n\nSpecBegin(View_MASAdditions)\n\n- (void)testSetTranslatesAutoresizingMaskIntoConstraints {\n    MAS_VIEW *newView = MAS_VIEW.new;\n    [newView mas_makeConstraints:^(MASConstraintMaker *make) {\n        expect(make.updateExisting).to.beFalsy();\n    }];\n\n    expect(newView.translatesAutoresizingMaskIntoConstraints).to.beFalsy();\n}\n\n- (void)testSetUpdateExisting {\n    MAS_VIEW *newView = MAS_VIEW.new;\n    [newView mas_updateConstraints:^(MASConstraintMaker *make) {\n        expect(make.updateExisting).to.beTruthy();\n    }];\n\n    expect(newView.translatesAutoresizingMaskIntoConstraints).to.beFalsy();\n}\n\n- (void)testSetRemoveExisting {\n    MAS_VIEW *newView = MAS_VIEW.new;\n    [newView mas_remakeConstraints:^(MASConstraintMaker *make) {\n        expect(make.removeExisting).to.beTruthy();\n    }];\n    \n    expect(newView.translatesAutoresizingMaskIntoConstraints).to.beFalsy();\n}\n\nSpecEnd"
  },
  {
    "path": "Tests/Specs/ViewController+MASAdditionsSpec.m",
    "content": "//\n//  ViewController+MASAdditionsSpec.m\n//  Masonry\n//\n//  Created by Craig Siemens on 2015-06-23.\n//\n//\n\n#import \"ViewController+MASAdditions.h\"\n#import \"View+MASAdditions.h\"\n\nSpecBegin(ViewController_MASAdditions)\n\n- (void)testLayoutGuideConstraints {\n#ifdef MAS_VIEW_CONTROLLER\n    MAS_VIEW_CONTROLLER *vc = [MAS_VIEW_CONTROLLER new];\n    MAS_VIEW *view = [MAS_VIEW new];\n    \n    [vc.view addSubview:view];\n    \n    [view mas_makeConstraints:^(MASConstraintMaker *make) {\n        make.top.equalTo(vc.mas_topLayoutGuide);\n        make.bottom.equalTo(vc.mas_bottomLayoutGuide);\n    }];\n    \n    expect(vc.view.constraints).to.haveCountOf(6);\n#endif\n}\n\nSpecEnd"
  },
  {
    "path": "Tests/XCTest+Spec.h",
    "content": "//\n//  Spec.h\n//  ClassyTests\n//\n//  Created by Jonas Budelmann on 18/10/13.\n//  Copyright (c) 2013 Jonas Budelmann. All rights reserved.\n//\n\n#import <XCTest/XCTest.h>\n#import <Foundation/Foundation.h>\n\n// declare XCTestCase subclass interface and implementation\n#define SpecBegin(name)                 \\\n@interface name##Spec : XCTestCase @end \\\n@implementation name##Spec\n\n// close XCTestCase\n#define SpecEnd \\\n@end"
  },
  {
    "path": "script/coveralls.sh",
    "content": "#!/bin/bash\n\nsource script/env.sh\ndeclare -r gcov_dir=\"${OBJECT_FILE_DIR_normal}/${CURRENT_ARCH}/\"\n\n## ======\n\ngenerateGcov()\n{\n\t#  doesn't set output dir to gcov...\n\tcd \"${gcov_dir}\"\n\tfor file in ${gcov_dir}/*.gcda\n\tdo\n\t\tgcov-4.2 \"${file}\" -o \"${gcov_dir}\"\n\tdone\n\tcd -\n}\n\ncopyGcovToProjectDir()\n{\n\tcp -r \"${gcov_dir}\" gcov\n}\n\nremoveGcov()\n{\n\trm -r gcov\n}\n\nmain()\n{\n# generate + copy\n\tgenerateGcov\n\tcopyGcovToProjectDir\n# post\n\tcoveralls ${@+\"$@\"}\n# clean up\n\tremoveGcov\n}\n\nmain ${@+\"$@\"}"
  },
  {
    "path": "script/exportenv.sh",
    "content": "export | egrep '( BUILT_PRODUCTS_DIR)|(CURRENT_ARCH)|(OBJECT_FILE_DIR_normal)|(SRCROOT)|(OBJROOT)' > script/env.sh"
  }
]