{"version":3,"sources":["selectize.js"],"names":["root","factory","define","amd","exports","module","Sifter","this","items","settings","diacritics","prototype","tokenize","query","trim","String","toLowerCase","length","i","n","regex","letter","tokens","words","split","escape_regex","DIACRITICS","hasOwnProperty","replace","RegExp","push","string","iterator","object","callback","is_array","Array","forEach","key","apply","getScoreFunction","search","options","fields","token_count","nesting","prepareSearch","field_count","scoreValue","value","token","score","pos","scoreObject","data","getattr","sum","conjunction","getSortFunction","self","field","fields_count","multiplier","multipliers","get_field","implicit_score","sort","sort_empty","name","result","id","unshift","direction","splice","a","b","cmp","option_fields","extend","option_sort","option_sort_empty","total","fn_sort","fn_score","item","filter","limit","slice","asciifold","k","arguments","obj","names","shift","str","isArray","$","Object","toString","call","c","d","e","f","g","h","j","l","o","p","q","r","s","t","u","v","w","x","y","z","chunk","foreignletters","lookup","substring","charAt","regexp","foreignletter","MicroPlugin","mixin","Interface","plugins","initializePlugins","queue","requested","loaded","utils","require","loadPlugin","plugin","Error","fn","vArg","Selectize","jQuery","highlight","$element","pattern","node","skip","nodeType","match","spannode","document","createElement","className","middlebit","splitText","middleclone","cloneNode","appendChild","parentNode","replaceChild","childNodes","test","tagName","each","removeHighlight","find","firstChild","nodeName","parent","normalize","end","MicroEvent","on","event","fct","_events","off","indexOf","trigger","destObject","props","IS_MAC","navigator","userAgent","KEY_CMD","KEY_CTRL","SUPPORTS_VALIDITY_API","window","validity","isset","hash_key","escape_html","hook","before","method","original","after","debounce_events","types","type","event_args","getSelection","input","start","selectionStart","selectionEnd","selection","focus","sel","createRange","selLen","text","moveStart","autoGrow","$input","currentWidth","update","keyCode","printable","placeholder","width","character","$parent","metaKey","altKey","force","val","shiftKey","fromCharCode","toUpperCase","attr","$testInput","css","position","top","left","padding","whiteSpace","appendTo","$from","$to","properties","styles","transferStyles","triggerHandler","dir","selectize","delay","timeout","computedStyle","getComputedStyle","getPropertyValue","currentStyle","parents","order","tabIndex","tagType","rtl","eventNS","count","highlightedValue","isBlurring","isOpen","isDisabled","isRequired","is","isInvalid","isLocked","isFocused","isInputHidden","isSetup","isShiftDown","isCmdDown","isCtrlDown","ignoreFocus","ignoreBlur","ignoreHover","hasOptions","currentResults","lastValue","caretPos","loading","loadedSearches","$activeOption","$activeItems","optgroups","userOptions","renderCache","onSearchChange","loadThrottle","args","clearTimeout","setTimeout","sifter","registerOption","registerOptionGroup","mode","maxItems","hideSelected","setupCallbacks","setupTemplates","setup","message","console","error","component","explanation","group","groupEnd","logError","$wrapper","$control","$control_input","$dropdown","$dropdown_content","$dropdown_parent","inputMode","classes","classes_plugins","inputId","selector","$window","$document","addClass","wrapperClass","inputClass","dropdownParent","dropdownClass","hide","dropdownContentClass","copyClassesToDropdown","style","join","splitOn","delimiter","delimiterEscaped","stopImmediatePropagation","onOptionHover","onOptionSelect","onItemSelect","child","target","currentTarget","mousedown","onMouseDown","click","onClick","stopPropagation","keydown","onKeyDown","keyup","onKeyUp","keypress","onKeyPress","resize","positionDropdown","blur","onBlur","onFocus","paste","onPaste","has","revertSettings","$children","children","detach","tabindex","setValue","preventDefault","refreshState","updateOriginalInput","refreshItems","updatePlaceholder","disable","onChange","preload","field_label","labelField","field_optgroup","optgroupLabelField","templates","optgroup","html","optgroup_header","escape","option","option_create","render","callbacks","initialize","change","item_add","item_remove","clear","option_add","option_remove","option_clear","optgroup_add","optgroup_remove","optgroup_clear","dropdown_open","dropdown_close","load","defaultPrevented","isDefaultPrevented","close","open","setActiveItem","isFull","pastedText","splitInput","createItem","which","create","selectAll","ctrlKey","$next","getAdjacentOption","setActiveOption","$prev","advanceSelection","selectOnTab","deleteSelection","refreshOptions","wasFocused","showInput","openOnFocus","dest","activeElement","deactivate","setTextboxValue","setCaret","createOnBlur","$target","hasClass","closeAfterSelect","lastQuery","addItem","getOption","loadingClass","results","Math","max","addOption","removeClass","getValue","silent","addItems","$item","eventName","idx","begin","swap","$last","hideInput","$option","scroll","animate","height_menu","height_item","scroll_top","scroll_bottom","height","outerHeight","scrollTop","offset","stop","scrollDuration","opacity","getSearchOptions","sortField","searchField","searchConjunction","calculateScore","triggerDropdown","groups","groups_order","option_html","html_children","has_create_option","$active","$active_before","$create","tmp","active_before","maxOptions","min","optgroupField","createDocumentFragment","lockOptgroupOrder","$order","innerHTML","dom","canCreate","prepend","addPrecedence","valueField","optgroupValueField","addOptionGroup","removeOptionGroup","clearOptionGroups","updateOption","$item_new","value_new","index_item","cache_items","cache_options","order_old","getItem","replaceWith","removeOption","removeItem","clearOptions","getElementWithValue","$options","index","eq","$els","getAttribute","values","buffer","isPending","control","insertBefore","value_next","wasFull","insertAtCaret","remove","persist","caret","lock","called","unlock","output","refreshValidityState","refreshClasses","invalid","prop","toggleClass","isEmptyObject","opts","label","removeAttr","visibility","display","getBoundingClientRect","$el","el","option_select","$option_select","$tail","onDelete","pop","tail","valueLength","advanceCaret","$adj","$child","append","enable","destroy","show","removeData","undefined","body","templateName","cache","disabledField","clearCache","createFilter","defaults","allowEmptyOption","dataAttr","settings_user","attr_data","field_value","field_disabled","field_optgroup_label","field_optgroup_value","tag_name","settings_element","optionsMap","readData","JSON","parse","arr","addGroup","$optgroup","init_select","data_raw","init_textbox","support","sortable","forcePlaceholderSize","disabled","ui","helper","overflow","active","title","headerClass","titleRowClass","labelClass","closeClass","$dropdown_header","equalizeWidth","equalizeHeight","closest","prev","next","getScrollbarWidth","div","doc","offsetWidth","clientWidth","removeChild","equalizeSizes","height_max","width_last","width_parent","$optgroups","innerWidth","round","thisRef","render_item","html_container","html_element","context","singleClose"],"mappings":"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","file":"selectize.js","sourcesContent":["/**\n * sifter.js\n * Copyright (c) 2013 Brian Reavis & contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this\n * file except in compliance with the License. You may obtain a copy of the License at:\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF\n * ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n *\n * @author Brian Reavis \n */\n\n(function(root, factory) {\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine('sifter', factory);\n\t} else if (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t} else {\n\t\troot.Sifter = factory();\n\t}\n}(this, function() {\n\n\t/**\n\t * Textually searches arrays and hashes of objects\n\t * by property (or multiple properties). Designed\n\t * specifically for autocomplete.\n\t *\n\t * @constructor\n\t * @param {array|object} items\n\t * @param {object} items\n\t */\n\tvar Sifter = function(items, settings) {\n\t\tthis.items = items;\n\t\tthis.settings = settings || {diacritics: true};\n\t};\n\n\t/**\n\t * Splits a search string into an array of individual\n\t * regexps to be used to match results.\n\t *\n\t * @param {string} query\n\t * @returns {array}\n\t */\n\tSifter.prototype.tokenize = function(query) {\n\t\tquery = trim(String(query || '').toLowerCase());\n\t\tif (!query || !query.length) return [];\n\n\t\tvar i, n, regex, letter;\n\t\tvar tokens = [];\n\t\tvar words = query.split(/ +/);\n\n\t\tfor (i = 0, n = words.length; i < n; i++) {\n\t\t\tregex = escape_regex(words[i]);\n\t\t\tif (this.settings.diacritics) {\n\t\t\t\tfor (letter in DIACRITICS) {\n\t\t\t\t\tif (DIACRITICS.hasOwnProperty(letter)) {\n\t\t\t\t\t\tregex = regex.replace(new RegExp(letter, 'g'), DIACRITICS[letter]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttokens.push({\n\t\t\t\tstring : words[i],\n\t\t\t\tregex : new RegExp(regex, 'i')\n\t\t\t});\n\t\t}\n\n\t\treturn tokens;\n\t};\n\n\t/**\n\t * Iterates over arrays and hashes.\n\t *\n\t * ```\n\t * this.iterator(this.items, function(item, id) {\n\t * // invoked for each item\n\t * });\n\t * ```\n\t *\n\t * @param {array|object} object\n\t */\n\tSifter.prototype.iterator = function(object, callback) {\n\t\tvar iterator;\n\t\tif (is_array(object)) {\n\t\t\titerator = Array.prototype.forEach || function(callback) {\n\t\t\t\tfor (var i = 0, n = this.length; i < n; i++) {\n\t\t\t\t\tcallback(this[i], i, this);\n\t\t\t\t}\n\t\t\t};\n\t\t} else {\n\t\t\titerator = function(callback) {\n\t\t\t\tfor (var key in this) {\n\t\t\t\t\tif (this.hasOwnProperty(key)) {\n\t\t\t\t\t\tcallback(this[key], key, this);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\n\t\titerator.apply(object, [callback]);\n\t};\n\n\t/**\n\t * Returns a function to be used to score individual results.\n\t *\n\t * Good matches will have a higher score than poor matches.\n\t * If an item is not a match, 0 will be returned by the function.\n\t *\n\t * @param {object|string} search\n\t * @param {object} options (optional)\n\t * @returns {function}\n\t */\n\tSifter.prototype.getScoreFunction = function(search, options) {\n\t\tvar self, fields, tokens, token_count, nesting;\n\n\t\tself = this;\n\t\tsearch = self.prepareSearch(search, options);\n\t\ttokens = search.tokens;\n\t\tfields = search.options.fields;\n\t\ttoken_count = tokens.length;\n\t\tnesting = search.options.nesting;\n\n\t\t/**\n\t\t * Calculates how close of a match the\n\t\t * given value is against a search token.\n\t\t *\n\t\t * @param {mixed} value\n\t\t * @param {object} token\n\t\t * @return {number}\n\t\t */\n\t\tvar scoreValue = function(value, token) {\n\t\t\tvar score, pos;\n\n\t\t\tif (!value) return 0;\n\t\t\tvalue = String(value || '');\n\t\t\tpos = value.search(token.regex);\n\t\t\tif (pos === -1) return 0;\n\t\t\tscore = token.string.length / value.length;\n\t\t\tif (pos === 0) score += 0.5;\n\t\t\treturn score;\n\t\t};\n\n\t\t/**\n\t\t * Calculates the score of an object\n\t\t * against the search query.\n\t\t *\n\t\t * @param {object} token\n\t\t * @param {object} data\n\t\t * @return {number}\n\t\t */\n\t\tvar scoreObject = (function() {\n\t\t\tvar field_count = fields.length;\n\t\t\tif (!field_count) {\n\t\t\t\treturn function() { return 0; };\n\t\t\t}\n\t\t\tif (field_count === 1) {\n\t\t\t\treturn function(token, data) {\n\t\t\t\t\treturn scoreValue(getattr(data, fields[0], nesting), token);\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn function(token, data) {\n\t\t\t\tfor (var i = 0, sum = 0; i < field_count; i++) {\n\t\t\t\t\tsum += scoreValue(getattr(data, fields[i], nesting), token);\n\t\t\t\t}\n\t\t\t\treturn sum / field_count;\n\t\t\t};\n\t\t})();\n\n\t\tif (!token_count) {\n\t\t\treturn function() { return 0; };\n\t\t}\n\t\tif (token_count === 1) {\n\t\t\treturn function(data) {\n\t\t\t\treturn scoreObject(tokens[0], data);\n\t\t\t};\n\t\t}\n\n\t\tif (search.options.conjunction === 'and') {\n\t\t\treturn function(data) {\n\t\t\t\tvar score;\n\t\t\t\tfor (var i = 0, sum = 0; i < token_count; i++) {\n\t\t\t\t\tscore = scoreObject(tokens[i], data);\n\t\t\t\t\tif (score <= 0) return 0;\n\t\t\t\t\tsum += score;\n\t\t\t\t}\n\t\t\t\treturn sum / token_count;\n\t\t\t};\n\t\t} else {\n\t\t\treturn function(data) {\n\t\t\t\tfor (var i = 0, sum = 0; i < token_count; i++) {\n\t\t\t\t\tsum += scoreObject(tokens[i], data);\n\t\t\t\t}\n\t\t\t\treturn sum / token_count;\n\t\t\t};\n\t\t}\n\t};\n\n\t/**\n\t * Returns a function that can be used to compare two\n\t * results, for sorting purposes. If no sorting should\n\t * be performed, `null` will be returned.\n\t *\n\t * @param {string|object} search\n\t * @param {object} options\n\t * @return function(a,b)\n\t */\n\tSifter.prototype.getSortFunction = function(search, options) {\n\t\tvar i, n, self, field, fields, fields_count, multiplier, multipliers, get_field, implicit_score, sort;\n\n\t\tself = this;\n\t\tsearch = self.prepareSearch(search, options);\n\t\tsort = (!search.query && options.sort_empty) || options.sort;\n\n\t\t/**\n\t\t * Fetches the specified sort field value\n\t\t * from a search result item.\n\t\t *\n\t\t * @param {string} name\n\t\t * @param {object} result\n\t\t * @return {mixed}\n\t\t */\n\t\tget_field = function(name, result) {\n\t\t\tif (name === '$score') return result.score;\n\t\t\treturn getattr(self.items[result.id], name, options.nesting);\n\t\t};\n\n\t\t// parse options\n\t\tfields = [];\n\t\tif (sort) {\n\t\t\tfor (i = 0, n = sort.length; i < n; i++) {\n\t\t\t\tif (search.query || sort[i].field !== '$score') {\n\t\t\t\t\tfields.push(sort[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// the \"$score\" field is implied to be the primary\n\t\t// sort field, unless it's manually specified\n\t\tif (search.query) {\n\t\t\timplicit_score = true;\n\t\t\tfor (i = 0, n = fields.length; i < n; i++) {\n\t\t\t\tif (fields[i].field === '$score') {\n\t\t\t\t\timplicit_score = false;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (implicit_score) {\n\t\t\t\tfields.unshift({field: '$score', direction: 'desc'});\n\t\t\t}\n\t\t} else {\n\t\t\tfor (i = 0, n = fields.length; i < n; i++) {\n\t\t\t\tif (fields[i].field === '$score') {\n\t\t\t\t\tfields.splice(i, 1);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tmultipliers = [];\n\t\tfor (i = 0, n = fields.length; i < n; i++) {\n\t\t\tmultipliers.push(fields[i].direction === 'desc' ? -1 : 1);\n\t\t}\n\n\t\t// build function\n\t\tfields_count = fields.length;\n\t\tif (!fields_count) {\n\t\t\treturn null;\n\t\t} else if (fields_count === 1) {\n\t\t\tfield = fields[0].field;\n\t\t\tmultiplier = multipliers[0];\n\t\t\treturn function(a, b) {\n\t\t\t\treturn multiplier * cmp(\n\t\t\t\t\tget_field(field, a),\n\t\t\t\t\tget_field(field, b)\n\t\t\t\t);\n\t\t\t};\n\t\t} else {\n\t\t\treturn function(a, b) {\n\t\t\t\tvar i, result, a_value, b_value, field;\n\t\t\t\tfor (i = 0; i < fields_count; i++) {\n\t\t\t\t\tfield = fields[i].field;\n\t\t\t\t\tresult = multipliers[i] * cmp(\n\t\t\t\t\t\tget_field(field, a),\n\t\t\t\t\t\tget_field(field, b)\n\t\t\t\t\t);\n\t\t\t\t\tif (result) return result;\n\t\t\t\t}\n\t\t\t\treturn 0;\n\t\t\t};\n\t\t}\n\t};\n\n\t/**\n\t * Parses a search query and returns an object\n\t * with tokens and fields ready to be populated\n\t * with results.\n\t *\n\t * @param {string} query\n\t * @param {object} options\n\t * @returns {object}\n\t */\n\tSifter.prototype.prepareSearch = function(query, options) {\n\t\tif (typeof query === 'object') return query;\n\n\t\toptions = extend({}, options);\n\n\t\tvar option_fields = options.fields;\n\t\tvar option_sort = options.sort;\n\t\tvar option_sort_empty = options.sort_empty;\n\n\t\tif (option_fields && !is_array(option_fields)) options.fields = [option_fields];\n\t\tif (option_sort && !is_array(option_sort)) options.sort = [option_sort];\n\t\tif (option_sort_empty && !is_array(option_sort_empty)) options.sort_empty = [option_sort_empty];\n\n\t\treturn {\n\t\t\toptions : options,\n\t\t\tquery : String(query || '').toLowerCase(),\n\t\t\ttokens : this.tokenize(query),\n\t\t\ttotal : 0,\n\t\t\titems : []\n\t\t};\n\t};\n\n\t/**\n\t * Searches through all items and returns a sorted array of matches.\n\t *\n\t * The `options` parameter can contain:\n\t *\n\t * - fields {string|array}\n\t * - sort {array}\n\t * - score {function}\n\t * - filter {bool}\n\t * - limit {integer}\n\t *\n\t * Returns an object containing:\n\t *\n\t * - options {object}\n\t * - query {string}\n\t * - tokens {array}\n\t * - total {int}\n\t * - items {array}\n\t *\n\t * @param {string} query\n\t * @param {object} options\n\t * @returns {object}\n\t */\n\tSifter.prototype.search = function(query, options) {\n\t\tvar self = this, value, score, search, calculateScore;\n\t\tvar fn_sort;\n\t\tvar fn_score;\n\n\t\tsearch = this.prepareSearch(query, options);\n\t\toptions = search.options;\n\t\tquery = search.query;\n\n\t\t// generate result scoring function\n\t\tfn_score = options.score || self.getScoreFunction(search);\n\n\t\t// perform search and sort\n\t\tif (query.length) {\n\t\t\tself.iterator(self.items, function(item, id) {\n\t\t\t\tscore = fn_score(item);\n\t\t\t\tif (options.filter === false || score > 0) {\n\t\t\t\t\tsearch.items.push({'score': score, 'id': id});\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tself.iterator(self.items, function(item, id) {\n\t\t\t\tsearch.items.push({'score': 1, 'id': id});\n\t\t\t});\n\t\t}\n\n\t\tfn_sort = self.getSortFunction(search, options);\n\t\tif (fn_sort) search.items.sort(fn_sort);\n\n\t\t// apply limits\n\t\tsearch.total = search.items.length;\n\t\tif (typeof options.limit === 'number') {\n\t\t\tsearch.items = search.items.slice(0, options.limit);\n\t\t}\n\n\t\treturn search;\n\t};\n\n\t// utilities\n\t// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n\n\tvar cmp = function(a, b) {\n\t\tif (typeof a === 'number' && typeof b === 'number') {\n\t\t\treturn a > b ? 1 : (a < b ? -1 : 0);\n\t\t}\n\t\ta = asciifold(String(a || ''));\n\t\tb = asciifold(String(b || ''));\n\t\tif (a > b) return 1;\n\t\tif (b > a) return -1;\n\t\treturn 0;\n\t};\n\n\tvar extend = function(a, b) {\n\t\tvar i, n, k, object;\n\t\tfor (i = 1, n = arguments.length; i < n; i++) {\n\t\t\tobject = arguments[i];\n\t\t\tif (!object) continue;\n\t\t\tfor (k in object) {\n\t\t\t\tif (object.hasOwnProperty(k)) {\n\t\t\t\t\ta[k] = object[k];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn a;\n\t};\n\n\t/**\n\t * A property getter resolving dot-notation\n\t * @param {Object} obj The root object to fetch property on\n\t * @param {String} name The optionally dotted property name to fetch\n\t * @param {Boolean} nesting Handle nesting or not\n\t * @return {Object} The resolved property value\n\t */\n\tvar getattr = function(obj, name, nesting) {\n\t if (!obj || !name) return;\n\t if (!nesting) return obj[name];\n\t var names = name.split(\".\");\n\t while(names.length && (obj = obj[names.shift()]));\n\t return obj;\n\t};\n\n\tvar trim = function(str) {\n\t\treturn (str + '').replace(/^\\s+|\\s+$|/g, '');\n\t};\n\n\tvar escape_regex = function(str) {\n\t\treturn (str + '').replace(/([.?*+^$[\\]\\\\(){}|-])/g, '\\\\$1');\n\t};\n\n\tvar is_array = Array.isArray || (typeof $ !== 'undefined' && $.isArray) || function(object) {\n\t\treturn Object.prototype.toString.call(object) === '[object Array]';\n\t};\n\n\tvar DIACRITICS = {\n\t\t'a': '[aḀḁĂăÂâǍǎȺⱥȦȧẠạÄäÀàÁáĀāÃãÅåąĄÃąĄ]',\n\t\t'b': '[b␢βΒB฿𐌁ᛒ]',\n\t\t'c': '[cĆćĈĉČčĊċC̄c̄ÇçḈḉȻȼƇƈɕᴄCc]',\n\t\t'd': '[dĎďḊḋḐḑḌḍḒḓḎḏĐđD̦d̦ƉɖƊɗƋƌᵭᶁᶑȡᴅDdð]',\n\t\t'e': '[eÉéÈèÊêḘḙĚěĔĕẼẽḚḛẺẻĖėËëĒēȨȩĘęᶒɆɇȄȅẾếỀềỄễỂểḜḝḖḗḔḕȆȇẸẹỆệⱸᴇEeɘǝƏƐε]',\n\t\t'f': '[fƑƒḞḟ]',\n\t\t'g': '[gɢ₲ǤǥĜĝĞğĢģƓɠĠġ]',\n\t\t'h': '[hĤĥĦħḨḩẖẖḤḥḢḣɦʰǶƕ]',\n\t\t'i': '[iÍíÌìĬĭÎîǏǐÏïḮḯĨĩĮįĪīỈỉȈȉȊȋỊịḬḭƗɨɨ̆ᵻᶖİiIıɪIi]',\n\t\t'j': '[jȷĴĵɈɉʝɟʲ]',\n\t\t'k': '[kƘƙꝀꝁḰḱǨǩḲḳḴḵκϰ₭]',\n\t\t'l': '[lŁłĽľĻļĹĺḶḷḸḹḼḽḺḻĿŀȽƚⱠⱡⱢɫɬᶅɭȴʟLl]',\n\t\t'n': '[nŃńǸǹŇňÑñṄṅŅņṆṇṊṋṈṉN̈n̈ƝɲȠƞᵰᶇɳȵɴNnŊŋ]',\n\t\t'o': '[oØøÖöÓóÒòÔôǑǒŐőŎŏȮȯỌọƟɵƠơỎỏŌōÕõǪǫȌȍՕօ]',\n\t\t'p': '[pṔṕṖṗⱣᵽƤƥᵱ]',\n\t\t'q': '[qꝖꝗʠɊɋꝘꝙq̃]',\n\t\t'r': '[rŔŕɌɍŘřŖŗṘṙȐȑȒȓṚṛⱤɽ]',\n\t\t's': '[sŚśṠṡṢṣꞨꞩŜŝŠšŞşȘșS̈s̈]',\n\t\t't': '[tŤťṪṫŢţṬṭƮʈȚțṰṱṮṯƬƭ]',\n\t\t'u': '[uŬŭɄʉỤụÜüÚúÙùÛûǓǔŰűŬŭƯưỦủŪūŨũŲųȔȕ∪]',\n\t\t'v': '[vṼṽṾṿƲʋꝞꝟⱱʋ]',\n\t\t'w': '[wẂẃẀẁŴŵẄẅẆẇẈẉ]',\n\t\t'x': '[xẌẍẊẋχ]',\n\t\t'y': '[yÝýỲỳŶŷŸÿỸỹẎẏỴỵɎɏƳƴ]',\n\t\t'z': '[zŹźẐẑŽžŻżẒẓẔẕƵƶ]'\n\t};\n\n\tvar asciifold = (function() {\n\t\tvar i, n, k, chunk;\n\t\tvar foreignletters = '';\n\t\tvar lookup = {};\n\t\tfor (k in DIACRITICS) {\n\t\t\tif (DIACRITICS.hasOwnProperty(k)) {\n\t\t\t\tchunk = DIACRITICS[k].substring(2, DIACRITICS[k].length - 1);\n\t\t\t\tforeignletters += chunk;\n\t\t\t\tfor (i = 0, n = chunk.length; i < n; i++) {\n\t\t\t\t\tlookup[chunk.charAt(i)] = k;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tvar regexp = new RegExp('[' + foreignletters + ']', 'g');\n\t\treturn function(str) {\n\t\t\treturn str.replace(regexp, function(foreignletter) {\n\t\t\t\treturn lookup[foreignletter];\n\t\t\t}).toLowerCase();\n\t\t};\n\t})();\n\n\n\t// export\n\t// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n\n\treturn Sifter;\n}));\n\n\n\n/**\n * microplugin.js\n * Copyright (c) 2013 Brian Reavis & contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this\n * file except in compliance with the License. You may obtain a copy of the License at:\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF\n * ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n *\n * @author Brian Reavis \n */\n\n(function(root, factory) {\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine('microplugin', factory);\n\t} else if (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t} else {\n\t\troot.MicroPlugin = factory();\n\t}\n}(this, function() {\n\tvar MicroPlugin = {};\n\n\tMicroPlugin.mixin = function(Interface) {\n\t\tInterface.plugins = {};\n\n\t\t/**\n\t\t * Initializes the listed plugins (with options).\n\t\t * Acceptable formats:\n\t\t *\n\t\t * List (without options):\n\t\t * ['a', 'b', 'c']\n\t\t *\n\t\t * List (with options):\n\t\t * [{'name': 'a', options: {}}, {'name': 'b', options: {}}]\n\t\t *\n\t\t * Hash (with options):\n\t\t * {'a': { ... }, 'b': { ... }, 'c': { ... }}\n\t\t *\n\t\t * @param {mixed} plugins\n\t\t */\n\t\tInterface.prototype.initializePlugins = function(plugins) {\n\t\t\tvar i, n, key;\n\t\t\tvar self = this;\n\t\t\tvar queue = [];\n\n\t\t\tself.plugins = {\n\t\t\t\tnames : [],\n\t\t\t\tsettings : {},\n\t\t\t\trequested : {},\n\t\t\t\tloaded : {}\n\t\t\t};\n\n\t\t\tif (utils.isArray(plugins)) {\n\t\t\t\tfor (i = 0, n = plugins.length; i < n; i++) {\n\t\t\t\t\tif (typeof plugins[i] === 'string') {\n\t\t\t\t\t\tqueue.push(plugins[i]);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tself.plugins.settings[plugins[i].name] = plugins[i].options;\n\t\t\t\t\t\tqueue.push(plugins[i].name);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (plugins) {\n\t\t\t\tfor (key in plugins) {\n\t\t\t\t\tif (plugins.hasOwnProperty(key)) {\n\t\t\t\t\t\tself.plugins.settings[key] = plugins[key];\n\t\t\t\t\t\tqueue.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\twhile (queue.length) {\n\t\t\t\tself.require(queue.shift());\n\t\t\t}\n\t\t};\n\n\t\tInterface.prototype.loadPlugin = function(name) {\n\t\t\tvar self = this;\n\t\t\tvar plugins = self.plugins;\n\t\t\tvar plugin = Interface.plugins[name];\n\n\t\t\tif (!Interface.plugins.hasOwnProperty(name)) {\n\t\t\t\tthrow new Error('Unable to find \"' + name + '\" plugin');\n\t\t\t}\n\n\t\t\tplugins.requested[name] = true;\n\t\t\tplugins.loaded[name] = plugin.fn.apply(self, [self.plugins.settings[name] || {}]);\n\t\t\tplugins.names.push(name);\n\t\t};\n\n\t\t/**\n\t\t * Initializes a plugin.\n\t\t *\n\t\t * @param {string} name\n\t\t */\n\t\tInterface.prototype.require = function(name) {\n\t\t\tvar self = this;\n\t\t\tvar plugins = self.plugins;\n\n\t\t\tif (!self.plugins.loaded.hasOwnProperty(name)) {\n\t\t\t\tif (plugins.requested[name]) {\n\t\t\t\t\tthrow new Error('Plugin has circular dependency (\"' + name + '\")');\n\t\t\t\t}\n\t\t\t\tself.loadPlugin(name);\n\t\t\t}\n\n\t\t\treturn plugins.loaded[name];\n\t\t};\n\n\t\t/**\n\t\t * Registers a plugin.\n\t\t *\n\t\t * @param {string} name\n\t\t * @param {function} fn\n\t\t */\n\t\tInterface.define = function(name, fn) {\n\t\t\tInterface.plugins[name] = {\n\t\t\t\t'name' : name,\n\t\t\t\t'fn' : fn\n\t\t\t};\n\t\t};\n\t};\n\n\tvar utils = {\n\t\tisArray: Array.isArray || function(vArg) {\n\t\t\treturn Object.prototype.toString.call(vArg) === '[object Array]';\n\t\t}\n\t};\n\n\treturn MicroPlugin;\n}));\n\n/**\n * selectize.js (v0.12.6)\n * Copyright (c) 2013–2015 Brian Reavis & contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this\n * file except in compliance with the License. You may obtain a copy of the License at:\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF\n * ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n *\n * @author Brian Reavis \n */\n\n/*jshint curly:false */\n/*jshint browser:true */\n\n(function(root, factory) {\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine('selectize', ['jquery','sifter','microplugin'], factory);\n\t} else if (typeof exports === 'object') {\n\t\tmodule.exports = factory(require('jquery'), require('sifter'), require('microplugin'));\n\t} else {\n\t\troot.Selectize = factory(root.jQuery, root.Sifter, root.MicroPlugin);\n\t}\n}(this, function($, Sifter, MicroPlugin) {\n\t'use strict';\n\n\tvar highlight = function($element, pattern) {\n\t\tif (typeof pattern === 'string' && !pattern.length) return;\n\t\tvar regex = (typeof pattern === 'string') ? new RegExp(pattern, 'i') : pattern;\n\t\n\t\tvar highlight = function(node) {\n\t\t\tvar skip = 0;\n\t\t\t// Wrap matching part of text node with highlighting , e.g.\n\t\t\t// Soccer -> Soccer for regex = /soc/i\n\t\t\tif (node.nodeType === 3) {\n\t\t\t\tvar pos = node.data.search(regex);\n\t\t\t\tif (pos >= 0 && node.data.length > 0) {\n\t\t\t\t\tvar match = node.data.match(regex);\n\t\t\t\t\tvar spannode = document.createElement('span');\n\t\t\t\t\tspannode.className = 'highlight';\n\t\t\t\t\tvar middlebit = node.splitText(pos);\n\t\t\t\t\tvar endbit = middlebit.splitText(match[0].length);\n\t\t\t\t\tvar middleclone = middlebit.cloneNode(true);\n\t\t\t\t\tspannode.appendChild(middleclone);\n\t\t\t\t\tmiddlebit.parentNode.replaceChild(spannode, middlebit);\n\t\t\t\t\tskip = 1;\n\t\t\t\t}\n\t\t\t} \n\t\t\t// Recurse element node, looking for child text nodes to highlight, unless element \n\t\t\t// is childless,