define( [

"./core",
"./core/nodeName"

], function( jQuery, nodeName ) {

“use strict”;

jQuery.fn.extend( {

bind: function( types, data, fn ) {
        return this.on( types, null, data, fn );
},
unbind: function( types, fn ) {
        return this.off( types, null, fn );
},

delegate: function( selector, types, data, fn ) {
        return this.on( types, selector, data, fn );
},
undelegate: function( selector, types, fn ) {

        // ( namespace ) or ( selector, types [, fn] )
        return arguments.length === 1 ?
                this.off( selector, "**" ) :
                this.off( types, selector || "**", fn );
}

} );

jQuery.holdReady = function( hold ) {

if ( hold ) {
        jQuery.readyWait++;
} else {
        jQuery.ready( true );
}

}; jQuery.isArray = Array.isArray; jQuery.parseJSON = JSON.parse; jQuery.nodeName = nodeName;

} );