| (function() { | 
|     function require(path, parent, orig) { | 
|         var resolved = require.resolve(path); | 
|         if (null == resolved) { | 
|             orig = orig || path; | 
|             parent = parent || "root"; | 
|             var err = new Error('Failed to require "' + orig + '" from "' | 
|                     + parent + '"'); | 
|             err.path = orig; | 
|             err.parent = parent; | 
|             err.require = true; | 
|             throw err | 
|         } | 
|         var module = require.modules[resolved]; | 
|         if (!module._resolving && !module.exports) { | 
|             var mod = {}; | 
|             mod.exports = {}; | 
|             mod.client = mod.component = true; | 
|             module._resolving = true; | 
|             module.call(this, mod.exports, require.relative(resolved), mod); | 
|             delete module._resolving; | 
|             module.exports = mod.exports | 
|         } | 
|         return module.exports | 
|     } | 
|     require.modules = {}; | 
|     require.aliases = {}; | 
|     require.resolve = function(path) { | 
|         if (path.charAt(0) === "/") | 
|             path = path.slice(1); | 
|         var paths = [ path, path + ".js", path + ".json", path + "/index.js", | 
|                 path + "/index.json" ]; | 
|         for (var i = 0; i < paths.length; i++) { | 
|             var path = paths[i]; | 
|             if (require.modules.hasOwnProperty(path)) | 
|                 return path; | 
|             if (require.aliases.hasOwnProperty(path)) | 
|                 return require.aliases[path] | 
|         } | 
|     }; | 
|     require.normalize = function(curr, path) { | 
|         var segs = []; | 
|         if ("." != path.charAt(0)) | 
|             return path; | 
|         curr = curr.split("/"); | 
|         path = path.split("/"); | 
|         for (var i = 0; i < path.length; ++i) { | 
|             if (".." == path[i]) { | 
|                 curr.pop() | 
|             } else if ("." != path[i] && "" != path[i]) { | 
|                 segs.push(path[i]) | 
|             } | 
|         } | 
|         return curr.concat(segs).join("/") | 
|     }; | 
|     require.register = function(path, definition) { | 
|         require.modules[path] = definition | 
|     }; | 
|     require.alias = function(from, to) { | 
|         if (!require.modules.hasOwnProperty(from)) { | 
|             throw new Error('Failed to alias "' + from + '", it does not exist') | 
|         } | 
|         require.aliases[to] = from | 
|     }; | 
|     require.relative = function(parent) { | 
|         var p = require.normalize(parent, ".."); | 
|         function lastIndexOf(arr, obj) { | 
|             var i = arr.length; | 
|             while (i--) { | 
|                 if (arr[i] === obj) | 
|                     return i | 
|             } | 
|             return -1 | 
|         } | 
|         function localRequire(path) { | 
|             var resolved = localRequire.resolve(path); | 
|             return require(resolved, parent, path) | 
|         } | 
|         localRequire.resolve = function(path) { | 
|             var c = path.charAt(0); | 
|             if ("/" == c) | 
|                 return path.slice(1); | 
|             if ("." == c) | 
|                 return require.normalize(p, path); | 
|             var segs = parent.split("/"); | 
|             var i = lastIndexOf(segs, "deps") + 1; | 
|             if (!i) | 
|                 i = 0; | 
|             path = segs.slice(0, i + 1).join("/") + "/deps/" + path; | 
|             return path | 
|         }; | 
|         localRequire.exists = function(path) { | 
|             return require.modules.hasOwnProperty(localRequire.resolve(path)) | 
|         }; | 
|         return localRequire | 
|     }; | 
|     require.register("abpetkov-transitionize/transitionize.js", function( | 
|             exports, require, module) { | 
|         module.exports = Transitionize; | 
|         function Transitionize(element, props) { | 
|             if (!(this instanceof Transitionize)) | 
|                 return new Transitionize(element, props); | 
|             this.element = element; | 
|             this.props = props || {}; | 
|             this.init() | 
|         } | 
|         Transitionize.prototype.isSafari = function() { | 
|             return /Safari/.test(navigator.userAgent) | 
|                     && /Apple Computer/.test(navigator.vendor) | 
|         }; | 
|         Transitionize.prototype.init = function() { | 
|             var transitions = []; | 
|             for ( var key in this.props) { | 
|                 transitions.push(key + " " + this.props[key]) | 
|             } | 
|             this.element.style.transition = transitions.join(", "); | 
|             if (this.isSafari()) | 
|                 this.element.style.webkitTransition = transitions.join(", ") | 
|         } | 
|     }); | 
|     require | 
|             .register( | 
|                     "ftlabs-fastclick/lib/fastclick.js", | 
|                     function(exports, require, module) { | 
|                         function FastClick(layer) { | 
|                             "use strict"; | 
|                             var oldOnClick, self = this; | 
|                             this.trackingClick = false; | 
|                             this.trackingClickStart = 0; | 
|                             this.targetElement = null; | 
|                             this.touchStartX = 0; | 
|                             this.touchStartY = 0; | 
|                             this.lastTouchIdentifier = 0; | 
|                             this.touchBoundary = 10; | 
|                             this.layer = layer; | 
|                             if (!layer || !layer.nodeType) { | 
|                                 throw new TypeError( | 
|                                         "Layer must be a document node") | 
|                             } | 
|                             this.onClick = function() { | 
|                                 return FastClick.prototype.onClick.apply(self, | 
|                                         arguments) | 
|                             }; | 
|                             this.onMouse = function() { | 
|                                 return FastClick.prototype.onMouse.apply(self, | 
|                                         arguments) | 
|                             }; | 
|                             this.onTouchStart = function() { | 
|                                 return FastClick.prototype.onTouchStart.apply( | 
|                                         self, arguments) | 
|                             }; | 
|                             this.onTouchMove = function() { | 
|                                 return FastClick.prototype.onTouchMove.apply( | 
|                                         self, arguments) | 
|                             }; | 
|                             this.onTouchEnd = function() { | 
|                                 return FastClick.prototype.onTouchEnd.apply( | 
|                                         self, arguments) | 
|                             }; | 
|                             this.onTouchCancel = function() { | 
|                                 return FastClick.prototype.onTouchCancel.apply( | 
|                                         self, arguments) | 
|                             }; | 
|                             if (FastClick.notNeeded(layer)) { | 
|                                 return | 
|                             } | 
|                             if (this.deviceIsAndroid) { | 
|                                 layer.addEventListener("mouseover", | 
|                                         this.onMouse, true); | 
|                                 layer.addEventListener("mousedown", | 
|                                         this.onMouse, true); | 
|                                 layer.addEventListener("mouseup", this.onMouse, | 
|                                         true) | 
|                             } | 
|                             layer.addEventListener("click", this.onClick, true); | 
|                             layer.addEventListener("touchstart", | 
|                                     this.onTouchStart, false); | 
|                             layer.addEventListener("touchmove", | 
|                                     this.onTouchMove, false); | 
|                             layer.addEventListener("touchend", this.onTouchEnd, | 
|                                     false); | 
|                             layer.addEventListener("touchcancel", | 
|                                     this.onTouchCancel, false); | 
|                             if (!Event.prototype.stopImmediatePropagation) { | 
|                                 layer.removeEventListener = function(type, | 
|                                         callback, capture) { | 
|                                     var rmv = Node.prototype.removeEventListener; | 
|                                     if (type === "click") { | 
|                                         rmv.call(layer, type, callback.hijacked | 
|                                                 || callback, capture) | 
|                                     } else { | 
|                                         rmv | 
|                                                 .call(layer, type, callback, | 
|                                                         capture) | 
|                                     } | 
|                                 }; | 
|                                 layer.addEventListener = function(type, | 
|                                         callback, capture) { | 
|                                     var adv = Node.prototype.addEventListener; | 
|                                     if (type === "click") { | 
|                                         adv | 
|                                                 .call( | 
|                                                         layer, | 
|                                                         type, | 
|                                                         callback.hijacked | 
|                                                                 || (callback.hijacked = function( | 
|                                                                         event) { | 
|                                                                     if (!event.propagationStopped) { | 
|                                                                         callback(event) | 
|                                                                     } | 
|                                                                 }), capture) | 
|                                     } else { | 
|                                         adv | 
|                                                 .call(layer, type, callback, | 
|                                                         capture) | 
|                                     } | 
|                                 } | 
|                             } | 
|                             if (typeof layer.onclick === "function") { | 
|                                 oldOnClick = layer.onclick; | 
|                                 layer.addEventListener("click", | 
|                                         function(event) { | 
|                                             oldOnClick(event) | 
|                                         }, false); | 
|                                 layer.onclick = null | 
|                             } | 
|                         } | 
|                         FastClick.prototype.deviceIsAndroid = navigator.userAgent | 
|                                 .indexOf("Android") > 0; | 
|                         FastClick.prototype.deviceIsIOS = /iP(ad|hone|od)/ | 
|                                 .test(navigator.userAgent); | 
|                         FastClick.prototype.deviceIsIOS4 = FastClick.prototype.deviceIsIOS | 
|                                 && /OS 4_\d(_\d)?/.test(navigator.userAgent); | 
|                         FastClick.prototype.deviceIsIOSWithBadTarget = FastClick.prototype.deviceIsIOS | 
|                                 && /OS ([6-9]|\d{2})_\d/ | 
|                                         .test(navigator.userAgent); | 
|                         FastClick.prototype.needsClick = function(target) { | 
|                             "use strict"; | 
|                             switch (target.nodeName.toLowerCase()) { | 
|                             case "button": | 
|                             case "select": | 
|                             case "textarea": | 
|                                 if (target.disabled) { | 
|                                     return true | 
|                                 } | 
|                                 break; | 
|                             case "input": | 
|                                 if (this.deviceIsIOS && target.type === "file" | 
|                                         || target.disabled) { | 
|                                     return true | 
|                                 } | 
|                                 break; | 
|                             case "label": | 
|                             case "video": | 
|                                 return true | 
|                             } | 
|                             return /\bneedsclick\b/.test(target.className) | 
|                         }; | 
|                         FastClick.prototype.needsFocus = function(target) { | 
|                             "use strict"; | 
|                             switch (target.nodeName.toLowerCase()) { | 
|                             case "textarea": | 
|                                 return true; | 
|                             case "select": | 
|                                 return !this.deviceIsAndroid; | 
|                             case "input": | 
|                                 switch (target.type) { | 
|                                 case "button": | 
|                                 case "checkbox": | 
|                                 case "file": | 
|                                 case "image": | 
|                                 case "radio": | 
|                                 case "submit": | 
|                                     return false | 
|                                 } | 
|                                 return !target.disabled && !target.readOnly; | 
|                             default: | 
|                                 return /\bneedsfocus\b/.test(target.className) | 
|                             } | 
|                         }; | 
|                         FastClick.prototype.sendClick = function(targetElement, | 
|                                 event) { | 
|                             "use strict"; | 
|                             var clickEvent, touch; | 
|                             if (document.activeElement | 
|                                     && document.activeElement !== targetElement) { | 
|                                 document.activeElement.blur() | 
|                             } | 
|                             touch = event.changedTouches[0]; | 
|                             clickEvent = document.createEvent("MouseEvents"); | 
|                             clickEvent.initMouseEvent(this | 
|                                     .determineEventType(targetElement), true, | 
|                                     true, window, 1, touch.screenX, | 
|                                     touch.screenY, touch.clientX, | 
|                                     touch.clientY, false, false, false, false, | 
|                                     0, null); | 
|                             clickEvent.forwardedTouchEvent = true; | 
|                             targetElement.dispatchEvent(clickEvent) | 
|                         }; | 
|                         FastClick.prototype.determineEventType = function( | 
|                                 targetElement) { | 
|                             "use strict"; | 
|                             if (this.deviceIsAndroid | 
|                                     && targetElement.tagName.toLowerCase() === "select") { | 
|                                 return "mousedown" | 
|                             } | 
|                             return "click" | 
|                         }; | 
|                         FastClick.prototype.focus = function(targetElement) { | 
|                             "use strict"; | 
|                             var length; | 
|                             if (this.deviceIsIOS | 
|                                     && targetElement.setSelectionRange | 
|                                     && targetElement.type.indexOf("date") !== 0 | 
|                                     && targetElement.type !== "time") { | 
|                                 length = targetElement.value.length; | 
|                                 targetElement.setSelectionRange(length, length) | 
|                             } else { | 
|                                 targetElement.focus() | 
|                             } | 
|                         }; | 
|                         FastClick.prototype.updateScrollParent = function( | 
|                                 targetElement) { | 
|                             "use strict"; | 
|                             var scrollParent, parentElement; | 
|                             scrollParent = targetElement.fastClickScrollParent; | 
|                             if (!scrollParent | 
|                                     || !scrollParent.contains(targetElement)) { | 
|                                 parentElement = targetElement; | 
|                                 do { | 
|                                     if (parentElement.scrollHeight > parentElement.offsetHeight) { | 
|                                         scrollParent = parentElement; | 
|                                         targetElement.fastClickScrollParent = parentElement; | 
|                                         break | 
|                                     } | 
|                                     parentElement = parentElement.parentElement | 
|                                 } while (parentElement) | 
|                             } | 
|                             if (scrollParent) { | 
|                                 scrollParent.fastClickLastScrollTop = scrollParent.scrollTop | 
|                             } | 
|                         }; | 
|                         FastClick.prototype.getTargetElementFromEventTarget = function( | 
|                                 eventTarget) { | 
|                             "use strict"; | 
|                             if (eventTarget.nodeType === Node.TEXT_NODE) { | 
|                                 return eventTarget.parentNode | 
|                             } | 
|                             return eventTarget | 
|                         }; | 
|                         FastClick.prototype.onTouchStart = function(event) { | 
|                             "use strict"; | 
|                             var targetElement, touch, selection; | 
|                             if (event.targetTouches.length > 1) { | 
|                                 return true | 
|                             } | 
|                             targetElement = this | 
|                                     .getTargetElementFromEventTarget(event.target); | 
|                             touch = event.targetTouches[0]; | 
|                             if (this.deviceIsIOS) { | 
|                                 selection = window.getSelection(); | 
|                                 if (selection.rangeCount | 
|                                         && !selection.isCollapsed) { | 
|                                     return true | 
|                                 } | 
|                                 if (!this.deviceIsIOS4) { | 
|                                     if (touch.identifier === this.lastTouchIdentifier) { | 
|                                         event.preventDefault(); | 
|                                         return false | 
|                                     } | 
|                                     this.lastTouchIdentifier = touch.identifier; | 
|                                     this.updateScrollParent(targetElement) | 
|                                 } | 
|                             } | 
|                             this.trackingClick = true; | 
|                             this.trackingClickStart = event.timeStamp; | 
|                             this.targetElement = targetElement; | 
|                             this.touchStartX = touch.pageX; | 
|                             this.touchStartY = touch.pageY; | 
|                             if (event.timeStamp - this.lastClickTime < 200) { | 
|                                 event.preventDefault() | 
|                             } | 
|                             return true | 
|                         }; | 
|                         FastClick.prototype.touchHasMoved = function(event) { | 
|                             "use strict"; | 
|                             var touch = event.changedTouches[0], boundary = this.touchBoundary; | 
|                             if (Math.abs(touch.pageX - this.touchStartX) > boundary | 
|                                     || Math.abs(touch.pageY - this.touchStartY) > boundary) { | 
|                                 return true | 
|                             } | 
|                             return false | 
|                         }; | 
|                         FastClick.prototype.onTouchMove = function(event) { | 
|                             "use strict"; | 
|                             if (!this.trackingClick) { | 
|                                 return true | 
|                             } | 
|                             if (this.targetElement !== this | 
|                                     .getTargetElementFromEventTarget(event.target) | 
|                                     || this.touchHasMoved(event)) { | 
|                                 this.trackingClick = false; | 
|                                 this.targetElement = null | 
|                             } | 
|                             return true | 
|                         }; | 
|                         FastClick.prototype.findControl = function(labelElement) { | 
|                             "use strict"; | 
|                             if (labelElement.control !== undefined) { | 
|                                 return labelElement.control | 
|                             } | 
|                             if (labelElement.htmlFor) { | 
|                                 return document | 
|                                         .getElementById(labelElement.htmlFor) | 
|                             } | 
|                             return labelElement | 
|                                     .querySelector("button, input:not([type=hidden]), keygen, meter, output, progress, select, textarea") | 
|                         }; | 
|                         FastClick.prototype.onTouchEnd = function(event) { | 
|                             "use strict"; | 
|                             var forElement, trackingClickStart, targetTagName, scrollParent, touch, targetElement = this.targetElement; | 
|                             if (!this.trackingClick) { | 
|                                 return true | 
|                             } | 
|                             if (event.timeStamp - this.lastClickTime < 200) { | 
|                                 this.cancelNextClick = true; | 
|                                 return true | 
|                             } | 
|                             this.cancelNextClick = false; | 
|                             this.lastClickTime = event.timeStamp; | 
|                             trackingClickStart = this.trackingClickStart; | 
|                             this.trackingClick = false; | 
|                             this.trackingClickStart = 0; | 
|                             if (this.deviceIsIOSWithBadTarget) { | 
|                                 touch = event.changedTouches[0]; | 
|                                 targetElement = document.elementFromPoint( | 
|                                         touch.pageX - window.pageXOffset, | 
|                                         touch.pageY - window.pageYOffset) | 
|                                         || targetElement; | 
|                                 targetElement.fastClickScrollParent = this.targetElement.fastClickScrollParent | 
|                             } | 
|                             targetTagName = targetElement.tagName.toLowerCase(); | 
|                             if (targetTagName === "label") { | 
|                                 forElement = this.findControl(targetElement); | 
|                                 if (forElement) { | 
|                                     this.focus(targetElement); | 
|                                     if (this.deviceIsAndroid) { | 
|                                         return false | 
|                                     } | 
|                                     targetElement = forElement | 
|                                 } | 
|                             } else if (this.needsFocus(targetElement)) { | 
|                                 if (event.timeStamp - trackingClickStart > 100 | 
|                                         || this.deviceIsIOS | 
|                                         && window.top !== window | 
|                                         && targetTagName === "input") { | 
|                                     this.targetElement = null; | 
|                                     return false | 
|                                 } | 
|                                 this.focus(targetElement); | 
|                                 if (!this.deviceIsIOS4 | 
|                                         || targetTagName !== "select") { | 
|                                     this.targetElement = null; | 
|                                     event.preventDefault() | 
|                                 } | 
|                                 return false | 
|                             } | 
|                             if (this.deviceIsIOS && !this.deviceIsIOS4) { | 
|                                 scrollParent = targetElement.fastClickScrollParent; | 
|                                 if (scrollParent | 
|                                         && scrollParent.fastClickLastScrollTop !== scrollParent.scrollTop) { | 
|                                     return true | 
|                                 } | 
|                             } | 
|                             if (!this.needsClick(targetElement)) { | 
|                                 event.preventDefault(); | 
|                                 this.sendClick(targetElement, event) | 
|                             } | 
|                             return false | 
|                         }; | 
|                         FastClick.prototype.onTouchCancel = function() { | 
|                             "use strict"; | 
|                             this.trackingClick = false; | 
|                             this.targetElement = null | 
|                         }; | 
|                         FastClick.prototype.onMouse = function(event) { | 
|                             "use strict"; | 
|                             if (!this.targetElement) { | 
|                                 return true | 
|                             } | 
|                             if (event.forwardedTouchEvent) { | 
|                                 return true | 
|                             } | 
|                             if (!event.cancelable) { | 
|                                 return true | 
|                             } | 
|                             if (!this.needsClick(this.targetElement) | 
|                                     || this.cancelNextClick) { | 
|                                 if (event.stopImmediatePropagation) { | 
|                                     event.stopImmediatePropagation() | 
|                                 } else { | 
|                                     event.propagationStopped = true | 
|                                 } | 
|                                 event.stopPropagation(); | 
|                                 event.preventDefault(); | 
|                                 return false | 
|                             } | 
|                             return true | 
|                         }; | 
|                         FastClick.prototype.onClick = function(event) { | 
|                             "use strict"; | 
|                             var permitted; | 
|                             if (this.trackingClick) { | 
|                                 this.targetElement = null; | 
|                                 this.trackingClick = false; | 
|                                 return true | 
|                             } | 
|                             if (event.target.type === "submit" | 
|                                     && event.detail === 0) { | 
|                                 return true | 
|                             } | 
|                             permitted = this.onMouse(event); | 
|                             if (!permitted) { | 
|                                 this.targetElement = null | 
|                             } | 
|                             return permitted | 
|                         }; | 
|                         FastClick.prototype.destroy = function() { | 
|                             "use strict"; | 
|                             var layer = this.layer; | 
|                             if (this.deviceIsAndroid) { | 
|                                 layer.removeEventListener("mouseover", | 
|                                         this.onMouse, true); | 
|                                 layer.removeEventListener("mousedown", | 
|                                         this.onMouse, true); | 
|                                 layer.removeEventListener("mouseup", | 
|                                         this.onMouse, true) | 
|                             } | 
|                             layer.removeEventListener("click", this.onClick, | 
|                                     true); | 
|                             layer.removeEventListener("touchstart", | 
|                                     this.onTouchStart, false); | 
|                             layer.removeEventListener("touchmove", | 
|                                     this.onTouchMove, false); | 
|                             layer.removeEventListener("touchend", | 
|                                     this.onTouchEnd, false); | 
|                             layer.removeEventListener("touchcancel", | 
|                                     this.onTouchCancel, false) | 
|                         }; | 
|                         FastClick.notNeeded = function(layer) { | 
|                             "use strict"; | 
|                             var metaViewport; | 
|                             var chromeVersion; | 
|                             if (typeof window.ontouchstart === "undefined") { | 
|                                 return true | 
|                             } | 
|                             chromeVersion = +(/Chrome\/([0-9]+)/ | 
|                                     .exec(navigator.userAgent) || [ , 0 ])[1]; | 
|                             if (chromeVersion) { | 
|                                 if (FastClick.prototype.deviceIsAndroid) { | 
|                                     metaViewport = document | 
|                                             .querySelector("meta[name=viewport]"); | 
|                                     if (metaViewport) { | 
|                                         if (metaViewport.content | 
|                                                 .indexOf("user-scalable=no") !== -1) { | 
|                                             return true | 
|                                         } | 
|                                         if (chromeVersion > 31 | 
|                                                 && window.innerWidth <= window.screen.width) { | 
|                                             return true | 
|                                         } | 
|                                     } | 
|                                 } else { | 
|                                     return true | 
|                                 } | 
|                             } | 
|                             if (layer.style.msTouchAction === "none") { | 
|                                 return true | 
|                             } | 
|                             return false | 
|                         }; | 
|                         FastClick.attach = function(layer) { | 
|                             "use strict"; | 
|                             return new FastClick(layer) | 
|                         }; | 
|                         if (typeof define !== "undefined" && define.amd) { | 
|                             define(function() { | 
|                                 "use strict"; | 
|                                 return FastClick | 
|                             }) | 
|                         } else if (typeof module !== "undefined" | 
|                                 && module.exports) { | 
|                             module.exports = FastClick.attach; | 
|                             module.exports.FastClick = FastClick | 
|                         } else { | 
|                             window.FastClick = FastClick | 
|                         } | 
|                     }); | 
|     require | 
|             .register( | 
|                     "switchery/switchery.js", | 
|                     function(exports, require, module) { | 
|                         var transitionize = require("transitionize"), fastclick = require("fastclick"); | 
|                         module.exports = Switchery; | 
|                         var defaults = { | 
|                             color : "#64bd63", | 
|                             secondaryColor : "#dfdfdf", | 
|                             className : "switchery", | 
|                             disabled : false, | 
|                             disabledOpacity : .5, | 
|                             speed : "0.4s" | 
|                         }; | 
|                         function Switchery(element, options) { | 
|                             if (!(this instanceof Switchery)) | 
|                                 return new Switchery(element, options); | 
|                             this.element = element; | 
|                             this.options = options || {}; | 
|                             for ( var i in defaults) { | 
|                                 if (this.options[i] == null) { | 
|                                     this.options[i] = defaults[i] | 
|                                 } | 
|                             } | 
|                             if (this.element != null | 
|                                     && this.element.type == "checkbox") | 
|                                 this.init() | 
|                         } | 
|                         Switchery.prototype.hide = function() { | 
|                             this.element.style.display = "none" | 
|                         }; | 
|                         Switchery.prototype.show = function() { | 
|                             var switcher = this.create(); | 
|                             this.insertAfter(this.element, switcher) | 
|                         }; | 
|                         Switchery.prototype.create = function() { | 
|                             this.switcher = document.createElement("span"); | 
|                             this.jack = document.createElement("small"); | 
|                             this.switcher.appendChild(this.jack); | 
|                             this.switcher.className = this.options.className; | 
|                             return this.switcher | 
|                         }; | 
|                         Switchery.prototype.insertAfter = function(reference, | 
|                                 target) { | 
|                             reference.parentNode.insertBefore(target, | 
|                                     reference.nextSibling) | 
|                         }; | 
|                         Switchery.prototype.isChecked = function() { | 
|                             return this.element.checked | 
|                         }; | 
|                         Switchery.prototype.isDisabled = function() { | 
|                             return this.options.disabled | 
|                                     || this.element.disabled | 
|                         }; | 
|                         Switchery.prototype.setPosition = function(clicked) { | 
|                             var checked = this.isChecked(), switcher = this.switcher, jack = this.jack; | 
|                             if (clicked && checked) | 
|                                 checked = false; | 
|                             else if (clicked && !checked) | 
|                                 checked = true; | 
|                             if (checked === true) { | 
|                                 this.element.checked = true; | 
|                                 if (window.getComputedStyle) | 
|                                     jack.style.left = parseInt(window | 
|                                             .getComputedStyle(switcher).width) | 
|                                             - parseInt(window | 
|                                                     .getComputedStyle(jack).width) | 
|                                             + "px"; | 
|                                 else | 
|                                     jack.style.left = parseInt(switcher.currentStyle["width"]) | 
|                                             - parseInt(jack.currentStyle["width"]) | 
|                                             + "px"; | 
|                                 if (this.options.color) | 
|                                     this.colorize(); | 
|                                 this.setSpeed() | 
|                             } else { | 
|                                 jack.style.left = 0; | 
|                                 this.element.checked = false; | 
|                                 this.switcher.style.boxShadow = "inset 0 0 0 0 " | 
|                                         + this.options.secondaryColor; | 
|                                 this.switcher.style.borderColor = this.options.secondaryColor; | 
|                                 this.switcher.style.backgroundColor = ""; | 
|                                 this.setSpeed() | 
|                             } | 
|                         }; | 
|                         Switchery.prototype.setSpeed = function() { | 
|                             var switcherProp = {}, jackProp = { | 
|                                 left : this.options.speed.replace(/[a-z]/, "") | 
|                                         / 2 + "s" | 
|                             }; | 
|                             if (this.isChecked()) { | 
|                                 switcherProp = { | 
|                                     border : this.options.speed, | 
|                                     "box-shadow" : this.options.speed, | 
|                                     "background-color" : this.options.speed | 
|                                             .replace(/[a-z]/, "") | 
|                                             * 3 + "s" | 
|                                 } | 
|                             } else { | 
|                                 switcherProp = { | 
|                                     border : this.options.speed, | 
|                                     "box-shadow" : this.options.speed | 
|                                 } | 
|                             } | 
|                             transitionize(this.switcher, switcherProp); | 
|                             transitionize(this.jack, jackProp) | 
|                         }; | 
|                         Switchery.prototype.setAttributes = function() { | 
|                             var id = this.element.getAttribute("id"), name = this.element | 
|                                     .getAttribute("name"); | 
|                             if (id) | 
|                                 this.switcher.setAttribute("id", id); | 
|                             if (name) | 
|                                 this.switcher.setAttribute("name", name) | 
|                         }; | 
|                         Switchery.prototype.colorize = function() { | 
|                             this.switcher.style.backgroundColor = this.options.color; | 
|                             this.switcher.style.borderColor = this.options.color; | 
|                             this.switcher.style.boxShadow = "inset 0 0 0 16px " | 
|                                     + this.options.color | 
|                         }; | 
|                         Switchery.prototype.handleOnchange = function(state) { | 
|                             if (typeof Event === "function" | 
|                                     || !document.fireEvent) { | 
|                                 var event = document.createEvent("HTMLEvents"); | 
|                                 event.initEvent("change", true, true); | 
|                                 this.element.dispatchEvent(event) | 
|                             } else { | 
|                                 this.element.fireEvent("onchange") | 
|                             } | 
|                         }; | 
|                         Switchery.prototype.handleChange = function() { | 
|                             var self = this, el = this.element; | 
|                             if (el.addEventListener) { | 
|                                 el.addEventListener("change", function() { | 
|                                     self.setPosition() | 
|                                 }) | 
|                             } else { | 
|                                 el.attachEvent("onchange", function() { | 
|                                     self.setPosition() | 
|                                 }) | 
|                             } | 
|                         }; | 
|                         Switchery.prototype.handleClick = function() { | 
|                             var self = this, switcher = this.switcher; | 
|                             if (this.isDisabled() === false) { | 
|                                 fastclick(switcher); | 
|                                 if (switcher.addEventListener) { | 
|                                     switcher | 
|                                             .addEventListener( | 
|                                                     "click", | 
|                                                     function() { | 
|                                                         self.setPosition(true); | 
|                                                         self | 
|                                                                 .handleOnchange(self.element.checked) | 
|                                                     }) | 
|                                 } else { | 
|                                     switcher | 
|                                             .attachEvent( | 
|                                                     "onclick", | 
|                                                     function() { | 
|                                                         self.setPosition(true); | 
|                                                         self | 
|                                                                 .handleOnchange(self.element.checked) | 
|                                                     }) | 
|                                 } | 
|                             } else { | 
|                                 this.element.disabled = true; | 
|                                 this.switcher.style.opacity = this.options.disabledOpacity | 
|                             } | 
|                         }; | 
|                         Switchery.prototype.disableLabel = function() { | 
|                             var parent = this.element.parentNode, labels = document | 
|                                     .getElementsByTagName("label"), attached = null; | 
|                             for (var i = 0; i < labels.length; i++) { | 
|                                 if (labels[i].getAttribute("for") === this.element.id) { | 
|                                     attached = true | 
|                                 } | 
|                             } | 
|                             if (attached === true | 
|                                     || parent.tagName.toLowerCase() === "label") { | 
|                                 if (parent.addEventListener) { | 
|                                     parent.addEventListener("click", | 
|                                             function(e) { | 
|                                                 e.preventDefault() | 
|                                             }) | 
|                                 } else { | 
|                                     parent.attachEvent("onclick", function(e) { | 
|                                         e.returnValue = false | 
|                                     }) | 
|                                 } | 
|                             } | 
|                         }; | 
|                         Switchery.prototype.markAsSwitched = function() { | 
|                             this.element.setAttribute("data-switchery", true) | 
|                         }; | 
|                         Switchery.prototype.markedAsSwitched = function() { | 
|                             return this.element.getAttribute("data-switchery") | 
|                         }; | 
|                         Switchery.prototype.init = function() { | 
|                             this.hide(); | 
|                             this.show(); | 
|                             this.setPosition(); | 
|                             this.setAttributes(); | 
|                             this.markAsSwitched(); | 
|                             this.disableLabel(); | 
|                             this.handleChange(); | 
|                             this.handleClick() | 
|                         } | 
|                     }); | 
|     require.alias("abpetkov-transitionize/transitionize.js", | 
|             "switchery/deps/transitionize/transitionize.js"); | 
|     require.alias("abpetkov-transitionize/transitionize.js", | 
|             "switchery/deps/transitionize/index.js"); | 
|     require.alias("abpetkov-transitionize/transitionize.js", | 
|             "transitionize/index.js"); | 
|     require.alias("abpetkov-transitionize/transitionize.js", | 
|             "abpetkov-transitionize/index.js"); | 
|     require.alias("ftlabs-fastclick/lib/fastclick.js", | 
|             "switchery/deps/fastclick/lib/fastclick.js"); | 
|     require.alias("ftlabs-fastclick/lib/fastclick.js", | 
|             "switchery/deps/fastclick/index.js"); | 
|     require.alias("ftlabs-fastclick/lib/fastclick.js", "fastclick/index.js"); | 
|     require.alias("ftlabs-fastclick/lib/fastclick.js", | 
|             "ftlabs-fastclick/index.js"); | 
|     require.alias("switchery/switchery.js", "switchery/index.js"); | 
|     if (typeof exports == "object") { | 
|         module.exports = require("switchery") | 
|     } else if (typeof define == "function" && define.amd) { | 
|         define(function() { | 
|             return require("switchery") | 
|         }) | 
|     } else { | 
|         this["Switchery"] = require("switchery") | 
|     } | 
| })(); |