/*!

* Select2 <%= package.version %>
* https://select2.github.io
*
* Released under the MIT license
* https://github.com/select2/select2/blob/master/LICENSE.md
*/

(function (factory) {

if (typeof define === 'function' && define.amd) {
  // AMD. Register as an anonymous module.
  define(['jquery'], factory);
} else if (typeof module === 'object' && module.exports) {
  // Node/CommonJS
  module.exports = function (root, jQuery) {
    if (jQuery === undefined) {
      // require('jQuery') returns a factory that requires window to
      // build a jQuery instance, we normalize how we use modules
      // that require this pattern but the window provided is a noop
      // if it's defined (how jquery works)
      if (typeof window !== 'undefined') {
        jQuery = require('jquery');
      }
      else {
        jQuery = require('jquery')(root);
      }
    }
    factory(jQuery);
    return jQuery;
  };
} else {
  // Browser globals
  factory(jQuery);
}

} (function (jQuery) {

// This is needed so we can catch the AMD loader configuration and use it
// The inner file should be wrapped (by `banner.start.js`) in a function that
// returns the AMD loader references.
var S2 =