 
 extension UIButton {
 
-    struct uibutton_once {
+    struct _fy_uibutton_once {
         static var token: dispatch_once_t = 0
     }
 
     override public class func initialize() {
-        dispatch_once(&uibutton_once.token) {
+        dispatch_once(&_fy_uibutton_once.token) {
             _swizzle_layoutSubviews()
         }
     }


    override class func _swizzle_layoutSubviews() {
        let originalSelector = #selector(layoutSubviews)
        let swizzledSelector = #selector(_swizzle_imp_for_layoutSubviews)
        let originalMethod = class_getInstanceMethod(self, originalSelector)
        let swizzledMethod = class_getInstanceMethod(self, swizzledSelector)
        method_exchangeImplementations(originalMethod, swizzledMethod)
    }

    override func _swizzle_imp_for_layoutSubviews() {
        _swizzle_imp_for_layoutSubviews()
        ConstraintManager.layout(self)
    }
}

    }

    var ao: AssociateObject {
        if let _ao = objc_getAssociatedObject(self, &_fy_associatedKeys.ao) {
            return _ao as! AssociateObject
        }
        let _ao = AssociateObject()
        objc_setAssociatedObject(self, &_fy_associatedKeys.ao, _ao, .OBJC_ASSOCIATION_RETAIN)
        return _ao
    }

