Просмотр исходного кода

Merge pull request #417 from micha030201/master

Better emoji support
Peter Justin 7 лет назад
Родитель
Сommit
1a403677b9

+ 0 - 36
flaskbb/cli/main.py

@@ -248,42 +248,6 @@ def upgrade(all_latest, fixture, force):
         )
 
 
-@flaskbb.command("download-emojis")
-@with_appcontext
-def download_emoji():
-    """Downloads emojis from emoji-cheat-sheet.com.
-    This command is probably going to be removed in future version.
-    """
-    click.secho("[+] Downloading emojis...", fg="cyan")
-    HOSTNAME = "https://api.github.com"
-    REPO = "/repos/arvida/emoji-cheat-sheet.com/contents/public/graphics/emojis"  # noqa
-    FULL_URL = "{}{}".format(HOSTNAME, REPO)
-    DOWNLOAD_PATH = os.path.join(current_app.static_folder, "emoji")
-    response = requests.get(FULL_URL)
-
-    cached_count = 0
-    count = 0
-    for image in response.json():
-        if not os.path.exists(os.path.abspath(DOWNLOAD_PATH)):
-            raise FlaskBBCLIError(
-                "{} does not exist.".format(os.path.abspath(DOWNLOAD_PATH)),
-                fg="red")
-
-        full_path = os.path.join(DOWNLOAD_PATH, image["name"])
-        if not os.path.exists(full_path):
-            count += 1
-            f = open(full_path, 'wb')
-            f.write(requests.get(image["download_url"]).content)
-            f.close()
-            if count == cached_count + 50:
-                cached_count = count
-                click.secho("[+] {} out of {} Emojis downloaded...".format(
-                            cached_count, len(response.json())), fg="cyan")
-
-    click.secho("[+] Finished downloading {} Emojis.".format(count),
-                fg="green")
-
-
 @flaskbb.command("celery", add_help_option=False,
                  context_settings={"ignore_unknown_options": True,
                                    "allow_extra_args": True})

+ 1 - 1
flaskbb/static/js/scripts.min.js

@@ -1 +1 @@
-if(function(t,e){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=t.document?e(t,!0):function(t){if(!t.document)throw new Error("jQuery requires a window with a document");return e(t)}:e(t)}("undefined"!=typeof window?window:this,function(t,e){"use strict";var n=[],i=t.document,o=Object.getPrototypeOf,r=n.slice,s=n.concat,a=n.push,l=n.indexOf,c={},u=c.toString,h=c.hasOwnProperty,d=h.toString,p=d.call(Object),f={},g=function(t){return"function"==typeof t&&"number"!=typeof t.nodeType},m=function(t){return null!=t&&t===t.window},v={type:!0,src:!0,noModule:!0};function y(t,e,n){var o,r=(e=e||i).createElement("script");if(r.text=t,n)for(o in v)n[o]&&(r[o]=n[o]);e.head.appendChild(r).parentNode.removeChild(r)}function b(t){return null==t?t+"":"object"==typeof t||"function"==typeof t?c[u.call(t)]||"object":typeof t}var x=function(t,e){return new x.fn.init(t,e)},w=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function _(t){var e=!!t&&"length"in t&&t.length,n=b(t);return!g(t)&&!m(t)&&("array"===n||0===e||"number"==typeof e&&e>0&&e-1 in t)}x.fn=x.prototype={jquery:"3.3.1",constructor:x,length:0,toArray:function(){return r.call(this)},get:function(t){return null==t?r.call(this):t<0?this[t+this.length]:this[t]},pushStack:function(t){var e=x.merge(this.constructor(),t);return e.prevObject=this,e},each:function(t){return x.each(this,t)},map:function(t){return this.pushStack(x.map(this,function(e,n){return t.call(e,n,e)}))},slice:function(){return this.pushStack(r.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(t){var e=this.length,n=+t+(t<0?e:0);return this.pushStack(n>=0&&n<e?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:a,sort:n.sort,splice:n.splice},x.extend=x.fn.extend=function(){var t,e,n,i,o,r,s=arguments[0]||{},a=1,l=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[a]||{},a++),"object"==typeof s||g(s)||(s={}),a===l&&(s=this,a--);a<l;a++)if(null!=(t=arguments[a]))for(e in t)n=s[e],s!==(i=t[e])&&(c&&i&&(x.isPlainObject(i)||(o=Array.isArray(i)))?(o?(o=!1,r=n&&Array.isArray(n)?n:[]):r=n&&x.isPlainObject(n)?n:{},s[e]=x.extend(c,r,i)):void 0!==i&&(s[e]=i));return s},x.extend({expando:"jQuery"+("3.3.1"+Math.random()).replace(/\D/g,""),isReady:!0,error:function(t){throw new Error(t)},noop:function(){},isPlainObject:function(t){var e,n;return!(!t||"[object Object]"!==u.call(t)||(e=o(t))&&("function"!=typeof(n=h.call(e,"constructor")&&e.constructor)||d.call(n)!==p))},isEmptyObject:function(t){var e;for(e in t)return!1;return!0},globalEval:function(t){y(t)},each:function(t,e){var n,i=0;if(_(t))for(n=t.length;i<n&&!1!==e.call(t[i],i,t[i]);i++);else for(i in t)if(!1===e.call(t[i],i,t[i]))break;return t},trim:function(t){return null==t?"":(t+"").replace(w,"")},makeArray:function(t,e){var n=e||[];return null!=t&&(_(Object(t))?x.merge(n,"string"==typeof t?[t]:t):a.call(n,t)),n},inArray:function(t,e,n){return null==e?-1:l.call(e,t,n)},merge:function(t,e){for(var n=+e.length,i=0,o=t.length;i<n;i++)t[o++]=e[i];return t.length=o,t},grep:function(t,e,n){for(var i=[],o=0,r=t.length,s=!n;o<r;o++)!e(t[o],o)!==s&&i.push(t[o]);return i},map:function(t,e,n){var i,o,r=0,a=[];if(_(t))for(i=t.length;r<i;r++)null!=(o=e(t[r],r,n))&&a.push(o);else for(r in t)null!=(o=e(t[r],r,n))&&a.push(o);return s.apply([],a)},guid:1,support:f}),"function"==typeof Symbol&&(x.fn[Symbol.iterator]=n[Symbol.iterator]),x.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(t,e){c["[object "+e+"]"]=e.toLowerCase()});var k=function(t){var e,n,i,o,r,s,a,l,c,u,h,d,p,f,g,m,v,y,b,x="sizzle"+1*new Date,w=t.document,_=0,k=0,$=st(),C=st(),T=st(),S=function(t,e){return t===e&&(h=!0),0},E={}.hasOwnProperty,D=[],N=D.pop,A=D.push,j=D.push,O=D.slice,I=function(t,e){for(var n=0,i=t.length;n<i;n++)if(t[n]===e)return n;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",P="[\\x20\\t\\r\\n\\f]",q="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",R="\\["+P+"*("+q+")(?:"+P+"*([*^$|!~]?=)"+P+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+q+"))|)"+P+"*\\]",H=":("+q+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+R+")*)|.*)\\)|)",B=new RegExp(P+"+","g"),z=new RegExp("^"+P+"+|((?:^|[^\\\\])(?:\\\\.)*)"+P+"+$","g"),F=new RegExp("^"+P+"*,"+P+"*"),M=new RegExp("^"+P+"*([>+~]|"+P+")"+P+"*"),W=new RegExp("="+P+"*([^\\]'\"]*?)"+P+"*\\]","g"),U=new RegExp(H),K=new RegExp("^"+q+"$"),Q={ID:new RegExp("^#("+q+")"),CLASS:new RegExp("^\\.("+q+")"),TAG:new RegExp("^("+q+"|[*])"),ATTR:new RegExp("^"+R),PSEUDO:new RegExp("^"+H),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+P+"*(even|odd|(([+-]|)(\\d*)n|)"+P+"*(?:([+-]|)"+P+"*(\\d+)|))"+P+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+P+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+P+"*((?:-\\d)?\\d*)"+P+"*\\)|)(?=[^-]|$)","i")},V=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,G=/^[^{]+\{\s*\[native \w/,X=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,J=/[+~]/,Z=new RegExp("\\\\([\\da-f]{1,6}"+P+"?|("+P+")|.)","ig"),tt=function(t,e,n){var i="0x"+e-65536;return i!=i||n?e:i<0?String.fromCharCode(i+65536):String.fromCharCode(i>>10|55296,1023&i|56320)},et=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,nt=function(t,e){return e?"\0"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t},it=function(){d()},ot=yt(function(t){return!0===t.disabled&&("form"in t||"label"in t)},{dir:"parentNode",next:"legend"});try{j.apply(D=O.call(w.childNodes),w.childNodes),D[w.childNodes.length].nodeType}catch(t){j={apply:D.length?function(t,e){A.apply(t,O.call(e))}:function(t,e){for(var n=t.length,i=0;t[n++]=e[i++];);t.length=n-1}}}function rt(t,e,i,o){var r,a,c,u,h,f,v,y=e&&e.ownerDocument,_=e?e.nodeType:9;if(i=i||[],"string"!=typeof t||!t||1!==_&&9!==_&&11!==_)return i;if(!o&&((e?e.ownerDocument||e:w)!==p&&d(e),e=e||p,g)){if(11!==_&&(h=X.exec(t)))if(r=h[1]){if(9===_){if(!(c=e.getElementById(r)))return i;if(c.id===r)return i.push(c),i}else if(y&&(c=y.getElementById(r))&&b(e,c)&&c.id===r)return i.push(c),i}else{if(h[2])return j.apply(i,e.getElementsByTagName(t)),i;if((r=h[3])&&n.getElementsByClassName&&e.getElementsByClassName)return j.apply(i,e.getElementsByClassName(r)),i}if(n.qsa&&!T[t+" "]&&(!m||!m.test(t))){if(1!==_)y=e,v=t;else if("object"!==e.nodeName.toLowerCase()){for((u=e.getAttribute("id"))?u=u.replace(et,nt):e.setAttribute("id",u=x),a=(f=s(t)).length;a--;)f[a]="#"+u+" "+vt(f[a]);v=f.join(","),y=J.test(t)&&gt(e.parentNode)||e}if(v)try{return j.apply(i,y.querySelectorAll(v)),i}catch(t){}finally{u===x&&e.removeAttribute("id")}}}return l(t.replace(z,"$1"),e,i,o)}function st(){var t=[];return function e(n,o){return t.push(n+" ")>i.cacheLength&&delete e[t.shift()],e[n+" "]=o}}function at(t){return t[x]=!0,t}function lt(t){var e=p.createElement("fieldset");try{return!!t(e)}catch(t){return!1}finally{e.parentNode&&e.parentNode.removeChild(e),e=null}}function ct(t,e){for(var n=t.split("|"),o=n.length;o--;)i.attrHandle[n[o]]=e}function ut(t,e){var n=e&&t,i=n&&1===t.nodeType&&1===e.nodeType&&t.sourceIndex-e.sourceIndex;if(i)return i;if(n)for(;n=n.nextSibling;)if(n===e)return-1;return t?1:-1}function ht(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function dt(t){return function(e){var n=e.nodeName.toLowerCase();return("input"===n||"button"===n)&&e.type===t}}function pt(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ot(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ft(t){return at(function(e){return e=+e,at(function(n,i){for(var o,r=t([],n.length,e),s=r.length;s--;)n[o=r[s]]&&(n[o]=!(i[o]=n[o]))})})}function gt(t){return t&&void 0!==t.getElementsByTagName&&t}for(e in n=rt.support={},r=rt.isXML=function(t){var e=t&&(t.ownerDocument||t).documentElement;return!!e&&"HTML"!==e.nodeName},d=rt.setDocument=function(t){var e,o,s=t?t.ownerDocument||t:w;return s!==p&&9===s.nodeType&&s.documentElement?(f=(p=s).documentElement,g=!r(p),w!==p&&(o=p.defaultView)&&o.top!==o&&(o.addEventListener?o.addEventListener("unload",it,!1):o.attachEvent&&o.attachEvent("onunload",it)),n.attributes=lt(function(t){return t.className="i",!t.getAttribute("className")}),n.getElementsByTagName=lt(function(t){return t.appendChild(p.createComment("")),!t.getElementsByTagName("*").length}),n.getElementsByClassName=G.test(p.getElementsByClassName),n.getById=lt(function(t){return f.appendChild(t).id=x,!p.getElementsByName||!p.getElementsByName(x).length}),n.getById?(i.filter.ID=function(t){var e=t.replace(Z,tt);return function(t){return t.getAttribute("id")===e}},i.find.ID=function(t,e){if(void 0!==e.getElementById&&g){var n=e.getElementById(t);return n?[n]:[]}}):(i.filter.ID=function(t){var e=t.replace(Z,tt);return function(t){var n=void 0!==t.getAttributeNode&&t.getAttributeNode("id");return n&&n.value===e}},i.find.ID=function(t,e){if(void 0!==e.getElementById&&g){var n,i,o,r=e.getElementById(t);if(r){if((n=r.getAttributeNode("id"))&&n.value===t)return[r];for(o=e.getElementsByName(t),i=0;r=o[i++];)if((n=r.getAttributeNode("id"))&&n.value===t)return[r]}return[]}}),i.find.TAG=n.getElementsByTagName?function(t,e){return void 0!==e.getElementsByTagName?e.getElementsByTagName(t):n.qsa?e.querySelectorAll(t):void 0}:function(t,e){var n,i=[],o=0,r=e.getElementsByTagName(t);if("*"===t){for(;n=r[o++];)1===n.nodeType&&i.push(n);return i}return r},i.find.CLASS=n.getElementsByClassName&&function(t,e){if(void 0!==e.getElementsByClassName&&g)return e.getElementsByClassName(t)},v=[],m=[],(n.qsa=G.test(p.querySelectorAll))&&(lt(function(t){f.appendChild(t).innerHTML="<a id='"+x+"'></a><select id='"+x+"-\r\\' msallowcapture=''><option selected=''></option></select>",t.querySelectorAll("[msallowcapture^='']").length&&m.push("[*^$]="+P+"*(?:''|\"\")"),t.querySelectorAll("[selected]").length||m.push("\\["+P+"*(?:value|"+L+")"),t.querySelectorAll("[id~="+x+"-]").length||m.push("~="),t.querySelectorAll(":checked").length||m.push(":checked"),t.querySelectorAll("a#"+x+"+*").length||m.push(".#.+[+~]")}),lt(function(t){t.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var e=p.createElement("input");e.setAttribute("type","hidden"),t.appendChild(e).setAttribute("name","D"),t.querySelectorAll("[name=d]").length&&m.push("name"+P+"*[*^$|!~]?="),2!==t.querySelectorAll(":enabled").length&&m.push(":enabled",":disabled"),f.appendChild(t).disabled=!0,2!==t.querySelectorAll(":disabled").length&&m.push(":enabled",":disabled"),t.querySelectorAll("*,:x"),m.push(",.*:")})),(n.matchesSelector=G.test(y=f.matches||f.webkitMatchesSelector||f.mozMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&lt(function(t){n.disconnectedMatch=y.call(t,"*"),y.call(t,"[s!='']:x"),v.push("!=",H)}),m=m.length&&new RegExp(m.join("|")),v=v.length&&new RegExp(v.join("|")),e=G.test(f.compareDocumentPosition),b=e||G.test(f.contains)?function(t,e){var n=9===t.nodeType?t.documentElement:t,i=e&&e.parentNode;return t===i||!(!i||1!==i.nodeType||!(n.contains?n.contains(i):t.compareDocumentPosition&&16&t.compareDocumentPosition(i)))}:function(t,e){if(e)for(;e=e.parentNode;)if(e===t)return!0;return!1},S=e?function(t,e){if(t===e)return h=!0,0;var i=!t.compareDocumentPosition-!e.compareDocumentPosition;return i||(1&(i=(t.ownerDocument||t)===(e.ownerDocument||e)?t.compareDocumentPosition(e):1)||!n.sortDetached&&e.compareDocumentPosition(t)===i?t===p||t.ownerDocument===w&&b(w,t)?-1:e===p||e.ownerDocument===w&&b(w,e)?1:u?I(u,t)-I(u,e):0:4&i?-1:1)}:function(t,e){if(t===e)return h=!0,0;var n,i=0,o=t.parentNode,r=e.parentNode,s=[t],a=[e];if(!o||!r)return t===p?-1:e===p?1:o?-1:r?1:u?I(u,t)-I(u,e):0;if(o===r)return ut(t,e);for(n=t;n=n.parentNode;)s.unshift(n);for(n=e;n=n.parentNode;)a.unshift(n);for(;s[i]===a[i];)i++;return i?ut(s[i],a[i]):s[i]===w?-1:a[i]===w?1:0},p):p},rt.matches=function(t,e){return rt(t,null,null,e)},rt.matchesSelector=function(t,e){if((t.ownerDocument||t)!==p&&d(t),e=e.replace(W,"='$1']"),n.matchesSelector&&g&&!T[e+" "]&&(!v||!v.test(e))&&(!m||!m.test(e)))try{var i=y.call(t,e);if(i||n.disconnectedMatch||t.document&&11!==t.document.nodeType)return i}catch(t){}return rt(e,p,null,[t]).length>0},rt.contains=function(t,e){return(t.ownerDocument||t)!==p&&d(t),b(t,e)},rt.attr=function(t,e){(t.ownerDocument||t)!==p&&d(t);var o=i.attrHandle[e.toLowerCase()],r=o&&E.call(i.attrHandle,e.toLowerCase())?o(t,e,!g):void 0;return void 0!==r?r:n.attributes||!g?t.getAttribute(e):(r=t.getAttributeNode(e))&&r.specified?r.value:null},rt.escape=function(t){return(t+"").replace(et,nt)},rt.error=function(t){throw new Error("Syntax error, unrecognized expression: "+t)},rt.uniqueSort=function(t){var e,i=[],o=0,r=0;if(h=!n.detectDuplicates,u=!n.sortStable&&t.slice(0),t.sort(S),h){for(;e=t[r++];)e===t[r]&&(o=i.push(r));for(;o--;)t.splice(i[o],1)}return u=null,t},o=rt.getText=function(t){var e,n="",i=0,r=t.nodeType;if(r){if(1===r||9===r||11===r){if("string"==typeof t.textContent)return t.textContent;for(t=t.firstChild;t;t=t.nextSibling)n+=o(t)}else if(3===r||4===r)return t.nodeValue}else for(;e=t[i++];)n+=o(e);return n},(i=rt.selectors={cacheLength:50,createPseudo:at,match:Q,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(t){return t[1]=t[1].replace(Z,tt),t[3]=(t[3]||t[4]||t[5]||"").replace(Z,tt),"~="===t[2]&&(t[3]=" "+t[3]+" "),t.slice(0,4)},CHILD:function(t){return t[1]=t[1].toLowerCase(),"nth"===t[1].slice(0,3)?(t[3]||rt.error(t[0]),t[4]=+(t[4]?t[5]+(t[6]||1):2*("even"===t[3]||"odd"===t[3])),t[5]=+(t[7]+t[8]||"odd"===t[3])):t[3]&&rt.error(t[0]),t},PSEUDO:function(t){var e,n=!t[6]&&t[2];return Q.CHILD.test(t[0])?null:(t[3]?t[2]=t[4]||t[5]||"":n&&U.test(n)&&(e=s(n,!0))&&(e=n.indexOf(")",n.length-e)-n.length)&&(t[0]=t[0].slice(0,e),t[2]=n.slice(0,e)),t.slice(0,3))}},filter:{TAG:function(t){var e=t.replace(Z,tt).toLowerCase();return"*"===t?function(){return!0}:function(t){return t.nodeName&&t.nodeName.toLowerCase()===e}},CLASS:function(t){var e=$[t+" "];return e||(e=new RegExp("(^|"+P+")"+t+"("+P+"|$)"))&&$(t,function(t){return e.test("string"==typeof t.className&&t.className||void 0!==t.getAttribute&&t.getAttribute("class")||"")})},ATTR:function(t,e,n){return function(i){var o=rt.attr(i,t);return null==o?"!="===e:!e||(o+="","="===e?o===n:"!="===e?o!==n:"^="===e?n&&0===o.indexOf(n):"*="===e?n&&o.indexOf(n)>-1:"$="===e?n&&o.slice(-n.length)===n:"~="===e?(" "+o.replace(B," ")+" ").indexOf(n)>-1:"|="===e&&(o===n||o.slice(0,n.length+1)===n+"-"))}},CHILD:function(t,e,n,i,o){var r="nth"!==t.slice(0,3),s="last"!==t.slice(-4),a="of-type"===e;return 1===i&&0===o?function(t){return!!t.parentNode}:function(e,n,l){var c,u,h,d,p,f,g=r!==s?"nextSibling":"previousSibling",m=e.parentNode,v=a&&e.nodeName.toLowerCase(),y=!l&&!a,b=!1;if(m){if(r){for(;g;){for(d=e;d=d[g];)if(a?d.nodeName.toLowerCase()===v:1===d.nodeType)return!1;f=g="only"===t&&!f&&"nextSibling"}return!0}if(f=[s?m.firstChild:m.lastChild],s&&y){for(b=(p=(c=(u=(h=(d=m)[x]||(d[x]={}))[d.uniqueID]||(h[d.uniqueID]={}))[t]||[])[0]===_&&c[1])&&c[2],d=p&&m.childNodes[p];d=++p&&d&&d[g]||(b=p=0)||f.pop();)if(1===d.nodeType&&++b&&d===e){u[t]=[_,p,b];break}}else if(y&&(b=p=(c=(u=(h=(d=e)[x]||(d[x]={}))[d.uniqueID]||(h[d.uniqueID]={}))[t]||[])[0]===_&&c[1]),!1===b)for(;(d=++p&&d&&d[g]||(b=p=0)||f.pop())&&((a?d.nodeName.toLowerCase()!==v:1!==d.nodeType)||!++b||(y&&((u=(h=d[x]||(d[x]={}))[d.uniqueID]||(h[d.uniqueID]={}))[t]=[_,b]),d!==e)););return(b-=o)===i||b%i==0&&b/i>=0}}},PSEUDO:function(t,e){var n,o=i.pseudos[t]||i.setFilters[t.toLowerCase()]||rt.error("unsupported pseudo: "+t);return o[x]?o(e):o.length>1?(n=[t,t,"",e],i.setFilters.hasOwnProperty(t.toLowerCase())?at(function(t,n){for(var i,r=o(t,e),s=r.length;s--;)t[i=I(t,r[s])]=!(n[i]=r[s])}):function(t){return o(t,0,n)}):o}},pseudos:{not:at(function(t){var e=[],n=[],i=a(t.replace(z,"$1"));return i[x]?at(function(t,e,n,o){for(var r,s=i(t,null,o,[]),a=t.length;a--;)(r=s[a])&&(t[a]=!(e[a]=r))}):function(t,o,r){return e[0]=t,i(e,null,r,n),e[0]=null,!n.pop()}}),has:at(function(t){return function(e){return rt(t,e).length>0}}),contains:at(function(t){return t=t.replace(Z,tt),function(e){return(e.textContent||e.innerText||o(e)).indexOf(t)>-1}}),lang:at(function(t){return K.test(t||"")||rt.error("unsupported lang: "+t),t=t.replace(Z,tt).toLowerCase(),function(e){var n;do{if(n=g?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(n=n.toLowerCase())===t||0===n.indexOf(t+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var n=t.location&&t.location.hash;return n&&n.slice(1)===e.id},root:function(t){return t===f},focus:function(t){return t===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(t.type||t.href||~t.tabIndex)},enabled:pt(!1),disabled:pt(!0),checked:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&!!t.checked||"option"===e&&!!t.selected},selected:function(t){return t.parentNode&&t.parentNode.selectedIndex,!0===t.selected},empty:function(t){for(t=t.firstChild;t;t=t.nextSibling)if(t.nodeType<6)return!1;return!0},parent:function(t){return!i.pseudos.empty(t)},header:function(t){return Y.test(t.nodeName)},input:function(t){return V.test(t.nodeName)},button:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&"button"===t.type||"button"===e},text:function(t){var e;return"input"===t.nodeName.toLowerCase()&&"text"===t.type&&(null==(e=t.getAttribute("type"))||"text"===e.toLowerCase())},first:ft(function(){return[0]}),last:ft(function(t,e){return[e-1]}),eq:ft(function(t,e,n){return[n<0?n+e:n]}),even:ft(function(t,e){for(var n=0;n<e;n+=2)t.push(n);return t}),odd:ft(function(t,e){for(var n=1;n<e;n+=2)t.push(n);return t}),lt:ft(function(t,e,n){for(var i=n<0?n+e:n;--i>=0;)t.push(i);return t}),gt:ft(function(t,e,n){for(var i=n<0?n+e:n;++i<e;)t.push(i);return t})}}).pseudos.nth=i.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[e]=ht(e);for(e in{submit:!0,reset:!0})i.pseudos[e]=dt(e);function mt(){}function vt(t){for(var e=0,n=t.length,i="";e<n;e++)i+=t[e].value;return i}function yt(t,e,n){var i=e.dir,o=e.next,r=o||i,s=n&&"parentNode"===r,a=k++;return e.first?function(e,n,o){for(;e=e[i];)if(1===e.nodeType||s)return t(e,n,o);return!1}:function(e,n,l){var c,u,h,d=[_,a];if(l){for(;e=e[i];)if((1===e.nodeType||s)&&t(e,n,l))return!0}else for(;e=e[i];)if(1===e.nodeType||s)if(u=(h=e[x]||(e[x]={}))[e.uniqueID]||(h[e.uniqueID]={}),o&&o===e.nodeName.toLowerCase())e=e[i]||e;else{if((c=u[r])&&c[0]===_&&c[1]===a)return d[2]=c[2];if(u[r]=d,d[2]=t(e,n,l))return!0}return!1}}function bt(t){return t.length>1?function(e,n,i){for(var o=t.length;o--;)if(!t[o](e,n,i))return!1;return!0}:t[0]}function xt(t,e,n,i,o){for(var r,s=[],a=0,l=t.length,c=null!=e;a<l;a++)(r=t[a])&&(n&&!n(r,i,o)||(s.push(r),c&&e.push(a)));return s}function wt(t,e,n,i,o,r){return i&&!i[x]&&(i=wt(i)),o&&!o[x]&&(o=wt(o,r)),at(function(r,s,a,l){var c,u,h,d=[],p=[],f=s.length,g=r||function(t,e,n){for(var i=0,o=e.length;i<o;i++)rt(t,e[i],n);return n}(e||"*",a.nodeType?[a]:a,[]),m=!t||!r&&e?g:xt(g,d,t,a,l),v=n?o||(r?t:f||i)?[]:s:m;if(n&&n(m,v,a,l),i)for(c=xt(v,p),i(c,[],a,l),u=c.length;u--;)(h=c[u])&&(v[p[u]]=!(m[p[u]]=h));if(r){if(o||t){if(o){for(c=[],u=v.length;u--;)(h=v[u])&&c.push(m[u]=h);o(null,v=[],c,l)}for(u=v.length;u--;)(h=v[u])&&(c=o?I(r,h):d[u])>-1&&(r[c]=!(s[c]=h))}}else v=xt(v===s?v.splice(f,v.length):v),o?o(null,s,v,l):j.apply(s,v)})}function _t(t){for(var e,n,o,r=t.length,s=i.relative[t[0].type],a=s||i.relative[" "],l=s?1:0,u=yt(function(t){return t===e},a,!0),h=yt(function(t){return I(e,t)>-1},a,!0),d=[function(t,n,i){var o=!s&&(i||n!==c)||((e=n).nodeType?u(t,n,i):h(t,n,i));return e=null,o}];l<r;l++)if(n=i.relative[t[l].type])d=[yt(bt(d),n)];else{if((n=i.filter[t[l].type].apply(null,t[l].matches))[x]){for(o=++l;o<r&&!i.relative[t[o].type];o++);return wt(l>1&&bt(d),l>1&&vt(t.slice(0,l-1).concat({value:" "===t[l-2].type?"*":""})).replace(z,"$1"),n,l<o&&_t(t.slice(l,o)),o<r&&_t(t=t.slice(o)),o<r&&vt(t))}d.push(n)}return bt(d)}return mt.prototype=i.filters=i.pseudos,i.setFilters=new mt,s=rt.tokenize=function(t,e){var n,o,r,s,a,l,c,u=C[t+" "];if(u)return e?0:u.slice(0);for(a=t,l=[],c=i.preFilter;a;){for(s in n&&!(o=F.exec(a))||(o&&(a=a.slice(o[0].length)||a),l.push(r=[])),n=!1,(o=M.exec(a))&&(n=o.shift(),r.push({value:n,type:o[0].replace(z," ")}),a=a.slice(n.length)),i.filter)!(o=Q[s].exec(a))||c[s]&&!(o=c[s](o))||(n=o.shift(),r.push({value:n,type:s,matches:o}),a=a.slice(n.length));if(!n)break}return e?a.length:a?rt.error(t):C(t,l).slice(0)},a=rt.compile=function(t,e){var n,o,r,a,l,u,h=[],f=[],m=T[t+" "];if(!m){for(e||(e=s(t)),n=e.length;n--;)(m=_t(e[n]))[x]?h.push(m):f.push(m);(m=T(t,(o=f,r=h,a=r.length>0,l=o.length>0,u=function(t,e,n,s,u){var h,f,m,v=0,y="0",b=t&&[],x=[],w=c,k=t||l&&i.find.TAG("*",u),$=_+=null==w?1:Math.random()||.1,C=k.length;for(u&&(c=e===p||e||u);y!==C&&null!=(h=k[y]);y++){if(l&&h){for(f=0,e||h.ownerDocument===p||(d(h),n=!g);m=o[f++];)if(m(h,e||p,n)){s.push(h);break}u&&(_=$)}a&&((h=!m&&h)&&v--,t&&b.push(h))}if(v+=y,a&&y!==v){for(f=0;m=r[f++];)m(b,x,e,n);if(t){if(v>0)for(;y--;)b[y]||x[y]||(x[y]=N.call(s));x=xt(x)}j.apply(s,x),u&&!t&&x.length>0&&v+r.length>1&&rt.uniqueSort(s)}return u&&(_=$,c=w),b},a?at(u):u))).selector=t}return m},l=rt.select=function(t,e,n,o){var r,l,c,u,h,d="function"==typeof t&&t,p=!o&&s(t=d.selector||t);if(n=n||[],1===p.length){if((l=p[0]=p[0].slice(0)).length>2&&"ID"===(c=l[0]).type&&9===e.nodeType&&g&&i.relative[l[1].type]){if(!(e=(i.find.ID(c.matches[0].replace(Z,tt),e)||[])[0]))return n;d&&(e=e.parentNode),t=t.slice(l.shift().value.length)}for(r=Q.needsContext.test(t)?0:l.length;r--&&(c=l[r],!i.relative[u=c.type]);)if((h=i.find[u])&&(o=h(c.matches[0].replace(Z,tt),J.test(l[0].type)&&gt(e.parentNode)||e))){if(l.splice(r,1),!(t=o.length&&vt(l)))return j.apply(n,o),n;break}}return(d||a(t,p))(o,e,!g,n,!e||J.test(t)&&gt(e.parentNode)||e),n},n.sortStable=x.split("").sort(S).join("")===x,n.detectDuplicates=!!h,d(),n.sortDetached=lt(function(t){return 1&t.compareDocumentPosition(p.createElement("fieldset"))}),lt(function(t){return t.innerHTML="<a href='#'></a>","#"===t.firstChild.getAttribute("href")})||ct("type|href|height|width",function(t,e,n){if(!n)return t.getAttribute(e,"type"===e.toLowerCase()?1:2)}),n.attributes&&lt(function(t){return t.innerHTML="<input/>",t.firstChild.setAttribute("value",""),""===t.firstChild.getAttribute("value")})||ct("value",function(t,e,n){if(!n&&"input"===t.nodeName.toLowerCase())return t.defaultValue}),lt(function(t){return null==t.getAttribute("disabled")})||ct(L,function(t,e,n){var i;if(!n)return!0===t[e]?e.toLowerCase():(i=t.getAttributeNode(e))&&i.specified?i.value:null}),rt}(t);x.find=k,x.expr=k.selectors,x.expr[":"]=x.expr.pseudos,x.uniqueSort=x.unique=k.uniqueSort,x.text=k.getText,x.isXMLDoc=k.isXML,x.contains=k.contains,x.escapeSelector=k.escape;var $=function(t,e,n){for(var i=[],o=void 0!==n;(t=t[e])&&9!==t.nodeType;)if(1===t.nodeType){if(o&&x(t).is(n))break;i.push(t)}return i},C=function(t,e){for(var n=[];t;t=t.nextSibling)1===t.nodeType&&t!==e&&n.push(t);return n},T=x.expr.match.needsContext;function S(t,e){return t.nodeName&&t.nodeName.toLowerCase()===e.toLowerCase()}var E=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(t,e,n){return g(e)?x.grep(t,function(t,i){return!!e.call(t,i,t)!==n}):e.nodeType?x.grep(t,function(t){return t===e!==n}):"string"!=typeof e?x.grep(t,function(t){return l.call(e,t)>-1!==n}):x.filter(e,t,n)}x.filter=function(t,e,n){var i=e[0];return n&&(t=":not("+t+")"),1===e.length&&1===i.nodeType?x.find.matchesSelector(i,t)?[i]:[]:x.find.matches(t,x.grep(e,function(t){return 1===t.nodeType}))},x.fn.extend({find:function(t){var e,n,i=this.length,o=this;if("string"!=typeof t)return this.pushStack(x(t).filter(function(){for(e=0;e<i;e++)if(x.contains(o[e],this))return!0}));for(n=this.pushStack([]),e=0;e<i;e++)x.find(t,o[e],n);return i>1?x.uniqueSort(n):n},filter:function(t){return this.pushStack(D(this,t||[],!1))},not:function(t){return this.pushStack(D(this,t||[],!0))},is:function(t){return!!D(this,"string"==typeof t&&T.test(t)?x(t):t||[],!1).length}});var N,A=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(x.fn.init=function(t,e,n){var o,r;if(!t)return this;if(n=n||N,"string"==typeof t){if(!(o="<"===t[0]&&">"===t[t.length-1]&&t.length>=3?[null,t,null]:A.exec(t))||!o[1]&&e)return!e||e.jquery?(e||n).find(t):this.constructor(e).find(t);if(o[1]){if(e=e instanceof x?e[0]:e,x.merge(this,x.parseHTML(o[1],e&&e.nodeType?e.ownerDocument||e:i,!0)),E.test(o[1])&&x.isPlainObject(e))for(o in e)g(this[o])?this[o](e[o]):this.attr(o,e[o]);return this}return(r=i.getElementById(o[2]))&&(this[0]=r,this.length=1),this}return t.nodeType?(this[0]=t,this.length=1,this):g(t)?void 0!==n.ready?n.ready(t):t(x):x.makeArray(t,this)}).prototype=x.fn,N=x(i);var j=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function I(t,e){for(;(t=t[e])&&1!==t.nodeType;);return t}x.fn.extend({has:function(t){var e=x(t,this),n=e.length;return this.filter(function(){for(var t=0;t<n;t++)if(x.contains(this,e[t]))return!0})},closest:function(t,e){var n,i=0,o=this.length,r=[],s="string"!=typeof t&&x(t);if(!T.test(t))for(;i<o;i++)for(n=this[i];n&&n!==e;n=n.parentNode)if(n.nodeType<11&&(s?s.index(n)>-1:1===n.nodeType&&x.find.matchesSelector(n,t))){r.push(n);break}return this.pushStack(r.length>1?x.uniqueSort(r):r)},index:function(t){return t?"string"==typeof t?l.call(x(t),this[0]):l.call(this,t.jquery?t[0]:t):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(t,e){return this.pushStack(x.uniqueSort(x.merge(this.get(),x(t,e))))},addBack:function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}}),x.each({parent:function(t){var e=t.parentNode;return e&&11!==e.nodeType?e:null},parents:function(t){return $(t,"parentNode")},parentsUntil:function(t,e,n){return $(t,"parentNode",n)},next:function(t){return I(t,"nextSibling")},prev:function(t){return I(t,"previousSibling")},nextAll:function(t){return $(t,"nextSibling")},prevAll:function(t){return $(t,"previousSibling")},nextUntil:function(t,e,n){return $(t,"nextSibling",n)},prevUntil:function(t,e,n){return $(t,"previousSibling",n)},siblings:function(t){return C((t.parentNode||{}).firstChild,t)},children:function(t){return C(t.firstChild)},contents:function(t){return S(t,"iframe")?t.contentDocument:(S(t,"template")&&(t=t.content||t),x.merge([],t.childNodes))}},function(t,e){x.fn[t]=function(n,i){var o=x.map(this,e,n);return"Until"!==t.slice(-5)&&(i=n),i&&"string"==typeof i&&(o=x.filter(i,o)),this.length>1&&(O[t]||x.uniqueSort(o),j.test(t)&&o.reverse()),this.pushStack(o)}});var L=/[^\x20\t\r\n\f]+/g;function P(t){return t}function q(t){throw t}function R(t,e,n,i){var o;try{t&&g(o=t.promise)?o.call(t).done(e).fail(n):t&&g(o=t.then)?o.call(t,e,n):e.apply(void 0,[t].slice(i))}catch(t){n.apply(void 0,[t])}}x.Callbacks=function(t){var e,n;t="string"==typeof t?(e=t,n={},x.each(e.match(L)||[],function(t,e){n[e]=!0}),n):x.extend({},t);var i,o,r,s,a=[],l=[],c=-1,u=function(){for(s=s||t.once,r=i=!0;l.length;c=-1)for(o=l.shift();++c<a.length;)!1===a[c].apply(o[0],o[1])&&t.stopOnFalse&&(c=a.length,o=!1);t.memory||(o=!1),i=!1,s&&(a=o?[]:"")},h={add:function(){return a&&(o&&!i&&(c=a.length-1,l.push(o)),function e(n){x.each(n,function(n,i){g(i)?t.unique&&h.has(i)||a.push(i):i&&i.length&&"string"!==b(i)&&e(i)})}(arguments),o&&!i&&u()),this},remove:function(){return x.each(arguments,function(t,e){for(var n;(n=x.inArray(e,a,n))>-1;)a.splice(n,1),n<=c&&c--}),this},has:function(t){return t?x.inArray(t,a)>-1:a.length>0},empty:function(){return a&&(a=[]),this},disable:function(){return s=l=[],a=o="",this},disabled:function(){return!a},lock:function(){return s=l=[],o||i||(a=o=""),this},locked:function(){return!!s},fireWith:function(t,e){return s||(e=[t,(e=e||[]).slice?e.slice():e],l.push(e),i||u()),this},fire:function(){return h.fireWith(this,arguments),this},fired:function(){return!!r}};return h},x.extend({Deferred:function(e){var n=[["notify","progress",x.Callbacks("memory"),x.Callbacks("memory"),2],["resolve","done",x.Callbacks("once memory"),x.Callbacks("once memory"),0,"resolved"],["reject","fail",x.Callbacks("once memory"),x.Callbacks("once memory"),1,"rejected"]],i="pending",o={state:function(){return i},always:function(){return r.done(arguments).fail(arguments),this},catch:function(t){return o.then(null,t)},pipe:function(){var t=arguments;return x.Deferred(function(e){x.each(n,function(n,i){var o=g(t[i[4]])&&t[i[4]];r[i[1]](function(){var t=o&&o.apply(this,arguments);t&&g(t.promise)?t.promise().progress(e.notify).done(e.resolve).fail(e.reject):e[i[0]+"With"](this,o?[t]:arguments)})}),t=null}).promise()},then:function(e,i,o){var r=0;function s(e,n,i,o){return function(){var a=this,l=arguments,c=function(){var t,c;if(!(e<r)){if((t=i.apply(a,l))===n.promise())throw new TypeError("Thenable self-resolution");c=t&&("object"==typeof t||"function"==typeof t)&&t.then,g(c)?o?c.call(t,s(r,n,P,o),s(r,n,q,o)):(r++,c.call(t,s(r,n,P,o),s(r,n,q,o),s(r,n,P,n.notifyWith))):(i!==P&&(a=void 0,l=[t]),(o||n.resolveWith)(a,l))}},u=o?c:function(){try{c()}catch(t){x.Deferred.exceptionHook&&x.Deferred.exceptionHook(t,u.stackTrace),e+1>=r&&(i!==q&&(a=void 0,l=[t]),n.rejectWith(a,l))}};e?u():(x.Deferred.getStackHook&&(u.stackTrace=x.Deferred.getStackHook()),t.setTimeout(u))}}return x.Deferred(function(t){n[0][3].add(s(0,t,g(o)?o:P,t.notifyWith)),n[1][3].add(s(0,t,g(e)?e:P)),n[2][3].add(s(0,t,g(i)?i:q))}).promise()},promise:function(t){return null!=t?x.extend(t,o):o}},r={};return x.each(n,function(t,e){var s=e[2],a=e[5];o[e[1]]=s.add,a&&s.add(function(){i=a},n[3-t][2].disable,n[3-t][3].disable,n[0][2].lock,n[0][3].lock),s.add(e[3].fire),r[e[0]]=function(){return r[e[0]+"With"](this===r?void 0:this,arguments),this},r[e[0]+"With"]=s.fireWith}),o.promise(r),e&&e.call(r,r),r},when:function(t){var e=arguments.length,n=e,i=Array(n),o=r.call(arguments),s=x.Deferred(),a=function(t){return function(n){i[t]=this,o[t]=arguments.length>1?r.call(arguments):n,--e||s.resolveWith(i,o)}};if(e<=1&&(R(t,s.done(a(n)).resolve,s.reject,!e),"pending"===s.state()||g(o[n]&&o[n].then)))return s.then();for(;n--;)R(o[n],a(n),s.reject);return s.promise()}});var H=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;x.Deferred.exceptionHook=function(e,n){t.console&&t.console.warn&&e&&H.test(e.name)&&t.console.warn("jQuery.Deferred exception: "+e.message,e.stack,n)},x.readyException=function(e){t.setTimeout(function(){throw e})};var B=x.Deferred();function z(){i.removeEventListener("DOMContentLoaded",z),t.removeEventListener("load",z),x.ready()}x.fn.ready=function(t){return B.then(t).catch(function(t){x.readyException(t)}),this},x.extend({isReady:!1,readyWait:1,ready:function(t){(!0===t?--x.readyWait:x.isReady)||(x.isReady=!0,!0!==t&&--x.readyWait>0||B.resolveWith(i,[x]))}}),x.ready.then=B.then,"complete"===i.readyState||"loading"!==i.readyState&&!i.documentElement.doScroll?t.setTimeout(x.ready):(i.addEventListener("DOMContentLoaded",z),t.addEventListener("load",z));var F=function(t,e,n,i,o,r,s){var a=0,l=t.length,c=null==n;if("object"===b(n))for(a in o=!0,n)F(t,e,a,n[a],!0,r,s);else if(void 0!==i&&(o=!0,g(i)||(s=!0),c&&(s?(e.call(t,i),e=null):(c=e,e=function(t,e,n){return c.call(x(t),n)})),e))for(;a<l;a++)e(t[a],n,s?i:i.call(t[a],a,e(t[a],n)));return o?t:c?e.call(t):l?e(t[0],n):r},M=/^-ms-/,W=/-([a-z])/g;function U(t,e){return e.toUpperCase()}function K(t){return t.replace(M,"ms-").replace(W,U)}var Q=function(t){return 1===t.nodeType||9===t.nodeType||!+t.nodeType};function V(){this.expando=x.expando+V.uid++}V.uid=1,V.prototype={cache:function(t){var e=t[this.expando];return e||(e={},Q(t)&&(t.nodeType?t[this.expando]=e:Object.defineProperty(t,this.expando,{value:e,configurable:!0}))),e},set:function(t,e,n){var i,o=this.cache(t);if("string"==typeof e)o[K(e)]=n;else for(i in e)o[K(i)]=e[i];return o},get:function(t,e){return void 0===e?this.cache(t):t[this.expando]&&t[this.expando][K(e)]},access:function(t,e,n){return void 0===e||e&&"string"==typeof e&&void 0===n?this.get(t,e):(this.set(t,e,n),void 0!==n?n:e)},remove:function(t,e){var n,i=t[this.expando];if(void 0!==i){if(void 0!==e){n=(e=Array.isArray(e)?e.map(K):(e=K(e))in i?[e]:e.match(L)||[]).length;for(;n--;)delete i[e[n]]}(void 0===e||x.isEmptyObject(i))&&(t.nodeType?t[this.expando]=void 0:delete t[this.expando])}},hasData:function(t){var e=t[this.expando];return void 0!==e&&!x.isEmptyObject(e)}};var Y=new V,G=new V,X=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,J=/[A-Z]/g;function Z(t,e,n){var i,o;if(void 0===n&&1===t.nodeType)if(i="data-"+e.replace(J,"-$&").toLowerCase(),"string"==typeof(n=t.getAttribute(i))){try{n="true"===(o=n)||"false"!==o&&("null"===o?null:o===+o+""?+o:X.test(o)?JSON.parse(o):o)}catch(t){}G.set(t,e,n)}else n=void 0;return n}x.extend({hasData:function(t){return G.hasData(t)||Y.hasData(t)},data:function(t,e,n){return G.access(t,e,n)},removeData:function(t,e){G.remove(t,e)},_data:function(t,e,n){return Y.access(t,e,n)},_removeData:function(t,e){Y.remove(t,e)}}),x.fn.extend({data:function(t,e){var n,i,o,r=this[0],s=r&&r.attributes;if(void 0===t){if(this.length&&(o=G.get(r),1===r.nodeType&&!Y.get(r,"hasDataAttrs"))){for(n=s.length;n--;)s[n]&&0===(i=s[n].name).indexOf("data-")&&(i=K(i.slice(5)),Z(r,i,o[i]));Y.set(r,"hasDataAttrs",!0)}return o}return"object"==typeof t?this.each(function(){G.set(this,t)}):F(this,function(e){var n;if(r&&void 0===e){if(void 0!==(n=G.get(r,t)))return n;if(void 0!==(n=Z(r,t)))return n}else this.each(function(){G.set(this,t,e)})},null,e,arguments.length>1,null,!0)},removeData:function(t){return this.each(function(){G.remove(this,t)})}}),x.extend({queue:function(t,e,n){var i;if(t)return e=(e||"fx")+"queue",i=Y.get(t,e),n&&(!i||Array.isArray(n)?i=Y.access(t,e,x.makeArray(n)):i.push(n)),i||[]},dequeue:function(t,e){e=e||"fx";var n=x.queue(t,e),i=n.length,o=n.shift(),r=x._queueHooks(t,e);"inprogress"===o&&(o=n.shift(),i--),o&&("fx"===e&&n.unshift("inprogress"),delete r.stop,o.call(t,function(){x.dequeue(t,e)},r)),!i&&r&&r.empty.fire()},_queueHooks:function(t,e){var n=e+"queueHooks";return Y.get(t,n)||Y.access(t,n,{empty:x.Callbacks("once memory").add(function(){Y.remove(t,[e+"queue",n])})})}}),x.fn.extend({queue:function(t,e){var n=2;return"string"!=typeof t&&(e=t,t="fx",n--),arguments.length<n?x.queue(this[0],t):void 0===e?this:this.each(function(){var n=x.queue(this,t,e);x._queueHooks(this,t),"fx"===t&&"inprogress"!==n[0]&&x.dequeue(this,t)})},dequeue:function(t){return this.each(function(){x.dequeue(this,t)})},clearQueue:function(t){return this.queue(t||"fx",[])},promise:function(t,e){var n,i=1,o=x.Deferred(),r=this,s=this.length,a=function(){--i||o.resolveWith(r,[r])};for("string"!=typeof t&&(e=t,t=void 0),t=t||"fx";s--;)(n=Y.get(r[s],t+"queueHooks"))&&n.empty&&(i++,n.empty.add(a));return a(),o.promise(e)}});var tt=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,et=new RegExp("^(?:([+-])=|)("+tt+")([a-z%]*)$","i"),nt=["Top","Right","Bottom","Left"],it=function(t,e){return"none"===(t=e||t).style.display||""===t.style.display&&x.contains(t.ownerDocument,t)&&"none"===x.css(t,"display")},ot=function(t,e,n,i){var o,r,s={};for(r in e)s[r]=t.style[r],t.style[r]=e[r];for(r in o=n.apply(t,i||[]),e)t.style[r]=s[r];return o};function rt(t,e,n,i){var o,r,s=20,a=i?function(){return i.cur()}:function(){return x.css(t,e,"")},l=a(),c=n&&n[3]||(x.cssNumber[e]?"":"px"),u=(x.cssNumber[e]||"px"!==c&&+l)&&et.exec(x.css(t,e));if(u&&u[3]!==c){for(l/=2,c=c||u[3],u=+l||1;s--;)x.style(t,e,u+c),(1-r)*(1-(r=a()/l||.5))<=0&&(s=0),u/=r;u*=2,x.style(t,e,u+c),n=n||[]}return n&&(u=+u||+l||0,o=n[1]?u+(n[1]+1)*n[2]:+n[2],i&&(i.unit=c,i.start=u,i.end=o)),o}var st={};function at(t,e){for(var n,i,o=[],r=0,s=t.length;r<s;r++)(i=t[r]).style&&(n=i.style.display,e?("none"===n&&(o[r]=Y.get(i,"display")||null,o[r]||(i.style.display="")),""===i.style.display&&it(i)&&(o[r]=(l=void 0,c=void 0,void 0,h=void 0,c=(a=i).ownerDocument,u=a.nodeName,(h=st[u])||(l=c.body.appendChild(c.createElement(u)),h=x.css(l,"display"),l.parentNode.removeChild(l),"none"===h&&(h="block"),st[u]=h,h)))):"none"!==n&&(o[r]="none",Y.set(i,"display",n)));var a,l,c,u,h;for(r=0;r<s;r++)null!=o[r]&&(t[r].style.display=o[r]);return t}x.fn.extend({show:function(){return at(this,!0)},hide:function(){return at(this)},toggle:function(t){return"boolean"==typeof t?t?this.show():this.hide():this.each(function(){it(this)?x(this).show():x(this).hide()})}});var lt=/^(?:checkbox|radio)$/i,ct=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,ut=/^$|^module$|\/(?:java|ecma)script/i,ht={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function dt(t,e){var n;return n=void 0!==t.getElementsByTagName?t.getElementsByTagName(e||"*"):void 0!==t.querySelectorAll?t.querySelectorAll(e||"*"):[],void 0===e||e&&S(t,e)?x.merge([t],n):n}function pt(t,e){for(var n=0,i=t.length;n<i;n++)Y.set(t[n],"globalEval",!e||Y.get(e[n],"globalEval"))}ht.optgroup=ht.option,ht.tbody=ht.tfoot=ht.colgroup=ht.caption=ht.thead,ht.th=ht.td;var ft,gt,mt=/<|&#?\w+;/;function vt(t,e,n,i,o){for(var r,s,a,l,c,u,h=e.createDocumentFragment(),d=[],p=0,f=t.length;p<f;p++)if((r=t[p])||0===r)if("object"===b(r))x.merge(d,r.nodeType?[r]:r);else if(mt.test(r)){for(s=s||h.appendChild(e.createElement("div")),a=(ct.exec(r)||["",""])[1].toLowerCase(),l=ht[a]||ht._default,s.innerHTML=l[1]+x.htmlPrefilter(r)+l[2],u=l[0];u--;)s=s.lastChild;x.merge(d,s.childNodes),(s=h.firstChild).textContent=""}else d.push(e.createTextNode(r));for(h.textContent="",p=0;r=d[p++];)if(i&&x.inArray(r,i)>-1)o&&o.push(r);else if(c=x.contains(r.ownerDocument,r),s=dt(h.appendChild(r),"script"),c&&pt(s),n)for(u=0;r=s[u++];)ut.test(r.type||"")&&n.push(r);return h}ft=i.createDocumentFragment().appendChild(i.createElement("div")),(gt=i.createElement("input")).setAttribute("type","radio"),gt.setAttribute("checked","checked"),gt.setAttribute("name","t"),ft.appendChild(gt),f.checkClone=ft.cloneNode(!0).cloneNode(!0).lastChild.checked,ft.innerHTML="<textarea>x</textarea>",f.noCloneChecked=!!ft.cloneNode(!0).lastChild.defaultValue;var yt=i.documentElement,bt=/^key/,xt=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,wt=/^([^.]*)(?:\.(.+)|)/;function _t(){return!0}function kt(){return!1}function $t(){try{return i.activeElement}catch(t){}}function Ct(t,e,n,i,o,r){var s,a;if("object"==typeof e){for(a in"string"!=typeof n&&(i=i||n,n=void 0),e)Ct(t,a,n,i,e[a],r);return t}if(null==i&&null==o?(o=n,i=n=void 0):null==o&&("string"==typeof n?(o=i,i=void 0):(o=i,i=n,n=void 0)),!1===o)o=kt;else if(!o)return t;return 1===r&&(s=o,(o=function(t){return x().off(t),s.apply(this,arguments)}).guid=s.guid||(s.guid=x.guid++)),t.each(function(){x.event.add(this,e,o,i,n)})}x.event={global:{},add:function(t,e,n,i,o){var r,s,a,l,c,u,h,d,p,f,g,m=Y.get(t);if(m)for(n.handler&&(n=(r=n).handler,o=r.selector),o&&x.find.matchesSelector(yt,o),n.guid||(n.guid=x.guid++),(l=m.events)||(l=m.events={}),(s=m.handle)||(s=m.handle=function(e){return void 0!==x&&x.event.triggered!==e.type?x.event.dispatch.apply(t,arguments):void 0}),c=(e=(e||"").match(L)||[""]).length;c--;)p=g=(a=wt.exec(e[c])||[])[1],f=(a[2]||"").split(".").sort(),p&&(h=x.event.special[p]||{},p=(o?h.delegateType:h.bindType)||p,h=x.event.special[p]||{},u=x.extend({type:p,origType:g,data:i,handler:n,guid:n.guid,selector:o,needsContext:o&&x.expr.match.needsContext.test(o),namespace:f.join(".")},r),(d=l[p])||((d=l[p]=[]).delegateCount=0,h.setup&&!1!==h.setup.call(t,i,f,s)||t.addEventListener&&t.addEventListener(p,s)),h.add&&(h.add.call(t,u),u.handler.guid||(u.handler.guid=n.guid)),o?d.splice(d.delegateCount++,0,u):d.push(u),x.event.global[p]=!0)},remove:function(t,e,n,i,o){var r,s,a,l,c,u,h,d,p,f,g,m=Y.hasData(t)&&Y.get(t);if(m&&(l=m.events)){for(c=(e=(e||"").match(L)||[""]).length;c--;)if(p=g=(a=wt.exec(e[c])||[])[1],f=(a[2]||"").split(".").sort(),p){for(h=x.event.special[p]||{},d=l[p=(i?h.delegateType:h.bindType)||p]||[],a=a[2]&&new RegExp("(^|\\.)"+f.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=r=d.length;r--;)u=d[r],!o&&g!==u.origType||n&&n.guid!==u.guid||a&&!a.test(u.namespace)||i&&i!==u.selector&&("**"!==i||!u.selector)||(d.splice(r,1),u.selector&&d.delegateCount--,h.remove&&h.remove.call(t,u));s&&!d.length&&(h.teardown&&!1!==h.teardown.call(t,f,m.handle)||x.removeEvent(t,p,m.handle),delete l[p])}else for(p in l)x.event.remove(t,p+e[c],n,i,!0);x.isEmptyObject(l)&&Y.remove(t,"handle events")}},dispatch:function(t){var e,n,i,o,r,s,a=x.event.fix(t),l=new Array(arguments.length),c=(Y.get(this,"events")||{})[a.type]||[],u=x.event.special[a.type]||{};for(l[0]=a,e=1;e<arguments.length;e++)l[e]=arguments[e];if(a.delegateTarget=this,!u.preDispatch||!1!==u.preDispatch.call(this,a)){for(s=x.event.handlers.call(this,a,c),e=0;(o=s[e++])&&!a.isPropagationStopped();)for(a.currentTarget=o.elem,n=0;(r=o.handlers[n++])&&!a.isImmediatePropagationStopped();)a.rnamespace&&!a.rnamespace.test(r.namespace)||(a.handleObj=r,a.data=r.data,void 0!==(i=((x.event.special[r.origType]||{}).handle||r.handler).apply(o.elem,l))&&!1===(a.result=i)&&(a.preventDefault(),a.stopPropagation()));return u.postDispatch&&u.postDispatch.call(this,a),a.result}},handlers:function(t,e){var n,i,o,r,s,a=[],l=e.delegateCount,c=t.target;if(l&&c.nodeType&&!("click"===t.type&&t.button>=1))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&("click"!==t.type||!0!==c.disabled)){for(r=[],s={},n=0;n<l;n++)void 0===s[o=(i=e[n]).selector+" "]&&(s[o]=i.needsContext?x(o,this).index(c)>-1:x.find(o,this,null,[c]).length),s[o]&&r.push(i);r.length&&a.push({elem:c,handlers:r})}return c=this,l<e.length&&a.push({elem:c,handlers:e.slice(l)}),a},addProp:function(t,e){Object.defineProperty(x.Event.prototype,t,{enumerable:!0,configurable:!0,get:g(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(t){return t[x.expando]?t:new x.Event(t)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==$t()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===$t()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&S(this,"input"))return this.click(),!1},_default:function(t){return S(t.target,"a")}},beforeunload:{postDispatch:function(t){void 0!==t.result&&t.originalEvent&&(t.originalEvent.returnValue=t.result)}}}},x.removeEvent=function(t,e,n){t.removeEventListener&&t.removeEventListener(e,n)},x.Event=function(t,e){if(!(this instanceof x.Event))return new x.Event(t,e);t&&t.type?(this.originalEvent=t,this.type=t.type,this.isDefaultPrevented=t.defaultPrevented||void 0===t.defaultPrevented&&!1===t.returnValue?_t:kt,this.target=t.target&&3===t.target.nodeType?t.target.parentNode:t.target,this.currentTarget=t.currentTarget,this.relatedTarget=t.relatedTarget):this.type=t,e&&x.extend(this,e),this.timeStamp=t&&t.timeStamp||Date.now(),this[x.expando]=!0},x.Event.prototype={constructor:x.Event,isDefaultPrevented:kt,isPropagationStopped:kt,isImmediatePropagationStopped:kt,isSimulated:!1,preventDefault:function(){var t=this.originalEvent;this.isDefaultPrevented=_t,t&&!this.isSimulated&&t.preventDefault()},stopPropagation:function(){var t=this.originalEvent;this.isPropagationStopped=_t,t&&!this.isSimulated&&t.stopPropagation()},stopImmediatePropagation:function(){var t=this.originalEvent;this.isImmediatePropagationStopped=_t,t&&!this.isSimulated&&t.stopImmediatePropagation(),this.stopPropagation()}},x.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(t){var e=t.button;return null==t.which&&bt.test(t.type)?null!=t.charCode?t.charCode:t.keyCode:!t.which&&void 0!==e&&xt.test(t.type)?1&e?1:2&e?3:4&e?2:0:t.which}},x.event.addProp),x.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(t,e){x.event.special[t]={delegateType:e,bindType:e,handle:function(t){var n,i=t.relatedTarget,o=t.handleObj;return i&&(i===this||x.contains(this,i))||(t.type=o.origType,n=o.handler.apply(this,arguments),t.type=e),n}}}),x.fn.extend({on:function(t,e,n,i){return Ct(this,t,e,n,i)},one:function(t,e,n,i){return Ct(this,t,e,n,i,1)},off:function(t,e,n){var i,o;if(t&&t.preventDefault&&t.handleObj)return i=t.handleObj,x(t.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof t){for(o in t)this.off(o,e,t[o]);return this}return!1!==e&&"function"!=typeof e||(n=e,e=void 0),!1===n&&(n=kt),this.each(function(){x.event.remove(this,t,n,e)})}});var Tt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,St=/<script|<style|<link/i,Et=/checked\s*(?:[^=]|=\s*.checked.)/i,Dt=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Nt(t,e){return S(t,"table")&&S(11!==e.nodeType?e:e.firstChild,"tr")&&x(t).children("tbody")[0]||t}function At(t){return t.type=(null!==t.getAttribute("type"))+"/"+t.type,t}function jt(t){return"true/"===(t.type||"").slice(0,5)?t.type=t.type.slice(5):t.removeAttribute("type"),t}function Ot(t,e){var n,i,o,r,s,a,l,c;if(1===e.nodeType){if(Y.hasData(t)&&(r=Y.access(t),s=Y.set(e,r),c=r.events))for(o in delete s.handle,s.events={},c)for(n=0,i=c[o].length;n<i;n++)x.event.add(e,o,c[o][n]);G.hasData(t)&&(a=G.access(t),l=x.extend({},a),G.set(e,l))}}function It(t,e,n,i){e=s.apply([],e);var o,r,a,l,c,u,h=0,d=t.length,p=d-1,m=e[0],v=g(m);if(v||d>1&&"string"==typeof m&&!f.checkClone&&Et.test(m))return t.each(function(o){var r=t.eq(o);v&&(e[0]=m.call(this,o,r.html())),It(r,e,n,i)});if(d&&(r=(o=vt(e,t[0].ownerDocument,!1,t,i)).firstChild,1===o.childNodes.length&&(o=r),r||i)){for(l=(a=x.map(dt(o,"script"),At)).length;h<d;h++)c=o,h!==p&&(c=x.clone(c,!0,!0),l&&x.merge(a,dt(c,"script"))),n.call(t[h],c,h);if(l)for(u=a[a.length-1].ownerDocument,x.map(a,jt),h=0;h<l;h++)c=a[h],ut.test(c.type||"")&&!Y.access(c,"globalEval")&&x.contains(u,c)&&(c.src&&"module"!==(c.type||"").toLowerCase()?x._evalUrl&&x._evalUrl(c.src):y(c.textContent.replace(Dt,""),u,c))}return t}function Lt(t,e,n){for(var i,o=e?x.filter(e,t):t,r=0;null!=(i=o[r]);r++)n||1!==i.nodeType||x.cleanData(dt(i)),i.parentNode&&(n&&x.contains(i.ownerDocument,i)&&pt(dt(i,"script")),i.parentNode.removeChild(i));return t}x.extend({htmlPrefilter:function(t){return t.replace(Tt,"<$1></$2>")},clone:function(t,e,n){var i,o,r,s,a,l,c,u=t.cloneNode(!0),h=x.contains(t.ownerDocument,t);if(!(f.noCloneChecked||1!==t.nodeType&&11!==t.nodeType||x.isXMLDoc(t)))for(s=dt(u),i=0,o=(r=dt(t)).length;i<o;i++)a=r[i],l=s[i],void 0,"input"===(c=l.nodeName.toLowerCase())&&lt.test(a.type)?l.checked=a.checked:"input"!==c&&"textarea"!==c||(l.defaultValue=a.defaultValue);if(e)if(n)for(r=r||dt(t),s=s||dt(u),i=0,o=r.length;i<o;i++)Ot(r[i],s[i]);else Ot(t,u);return(s=dt(u,"script")).length>0&&pt(s,!h&&dt(t,"script")),u},cleanData:function(t){for(var e,n,i,o=x.event.special,r=0;void 0!==(n=t[r]);r++)if(Q(n)){if(e=n[Y.expando]){if(e.events)for(i in e.events)o[i]?x.event.remove(n,i):x.removeEvent(n,i,e.handle);n[Y.expando]=void 0}n[G.expando]&&(n[G.expando]=void 0)}}}),x.fn.extend({detach:function(t){return Lt(this,t,!0)},remove:function(t){return Lt(this,t)},text:function(t){return F(this,function(t){return void 0===t?x.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=t)})},null,t,arguments.length)},append:function(){return It(this,arguments,function(t){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Nt(this,t).appendChild(t)})},prepend:function(){return It(this,arguments,function(t){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var e=Nt(this,t);e.insertBefore(t,e.firstChild)}})},before:function(){return It(this,arguments,function(t){this.parentNode&&this.parentNode.insertBefore(t,this)})},after:function(){return It(this,arguments,function(t){this.parentNode&&this.parentNode.insertBefore(t,this.nextSibling)})},empty:function(){for(var t,e=0;null!=(t=this[e]);e++)1===t.nodeType&&(x.cleanData(dt(t,!1)),t.textContent="");return this},clone:function(t,e){return t=null!=t&&t,e=null==e?t:e,this.map(function(){return x.clone(this,t,e)})},html:function(t){return F(this,function(t){var e=this[0]||{},n=0,i=this.length;if(void 0===t&&1===e.nodeType)return e.innerHTML;if("string"==typeof t&&!St.test(t)&&!ht[(ct.exec(t)||["",""])[1].toLowerCase()]){t=x.htmlPrefilter(t);try{for(;n<i;n++)1===(e=this[n]||{}).nodeType&&(x.cleanData(dt(e,!1)),e.innerHTML=t);e=0}catch(t){}}e&&this.empty().append(t)},null,t,arguments.length)},replaceWith:function(){var t=[];return It(this,arguments,function(e){var n=this.parentNode;x.inArray(this,t)<0&&(x.cleanData(dt(this)),n&&n.replaceChild(e,this))},t)}}),x.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(t,e){x.fn[t]=function(t){for(var n,i=[],o=x(t),r=o.length-1,s=0;s<=r;s++)n=s===r?this:this.clone(!0),x(o[s])[e](n),a.apply(i,n.get());return this.pushStack(i)}});var Pt=new RegExp("^("+tt+")(?!px)[a-z%]+$","i"),qt=function(e){var n=e.ownerDocument.defaultView;return n&&n.opener||(n=t),n.getComputedStyle(e)},Rt=new RegExp(nt.join("|"),"i");function Ht(t,e,n){var i,o,r,s,a=t.style;return(n=n||qt(t))&&(""!==(s=n.getPropertyValue(e)||n[e])||x.contains(t.ownerDocument,t)||(s=x.style(t,e)),!f.pixelBoxStyles()&&Pt.test(s)&&Rt.test(e)&&(i=a.width,o=a.minWidth,r=a.maxWidth,a.minWidth=a.maxWidth=a.width=s,s=n.width,a.width=i,a.minWidth=o,a.maxWidth=r)),void 0!==s?s+"":s}function Bt(t,e){return{get:function(){if(!t())return(this.get=e).apply(this,arguments);delete this.get}}}!function(){function e(){if(u){c.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",u.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",yt.appendChild(c).appendChild(u);var e=t.getComputedStyle(u);o="1%"!==e.top,l=12===n(e.marginLeft),u.style.right="60%",a=36===n(e.right),r=36===n(e.width),u.style.position="absolute",s=36===u.offsetWidth||"absolute",yt.removeChild(c),u=null}}function n(t){return Math.round(parseFloat(t))}var o,r,s,a,l,c=i.createElement("div"),u=i.createElement("div");u.style&&(u.style.backgroundClip="content-box",u.cloneNode(!0).style.backgroundClip="",f.clearCloneStyle="content-box"===u.style.backgroundClip,x.extend(f,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),a},pixelPosition:function(){return e(),o},reliableMarginLeft:function(){return e(),l},scrollboxSize:function(){return e(),s}}))}();var zt=/^(none|table(?!-c[ea]).+)/,Ft=/^--/,Mt={position:"absolute",visibility:"hidden",display:"block"},Wt={letterSpacing:"0",fontWeight:"400"},Ut=["Webkit","Moz","ms"],Kt=i.createElement("div").style;function Qt(t){var e=x.cssProps[t];return e||(e=x.cssProps[t]=function(t){if(t in Kt)return t;for(var e=t[0].toUpperCase()+t.slice(1),n=Ut.length;n--;)if((t=Ut[n]+e)in Kt)return t}(t)||t),e}function Vt(t,e,n){var i=et.exec(e);return i?Math.max(0,i[2]-(n||0))+(i[3]||"px"):e}function Yt(t,e,n,i,o,r){var s="width"===e?1:0,a=0,l=0;if(n===(i?"border":"content"))return 0;for(;s<4;s+=2)"margin"===n&&(l+=x.css(t,n+nt[s],!0,o)),i?("content"===n&&(l-=x.css(t,"padding"+nt[s],!0,o)),"margin"!==n&&(l-=x.css(t,"border"+nt[s]+"Width",!0,o))):(l+=x.css(t,"padding"+nt[s],!0,o),"padding"!==n?l+=x.css(t,"border"+nt[s]+"Width",!0,o):a+=x.css(t,"border"+nt[s]+"Width",!0,o));return!i&&r>=0&&(l+=Math.max(0,Math.ceil(t["offset"+e[0].toUpperCase()+e.slice(1)]-r-l-a-.5))),l}function Gt(t,e,n){var i=qt(t),o=Ht(t,e,i),r="border-box"===x.css(t,"boxSizing",!1,i),s=r;if(Pt.test(o)){if(!n)return o;o="auto"}return s=s&&(f.boxSizingReliable()||o===t.style[e]),("auto"===o||!parseFloat(o)&&"inline"===x.css(t,"display",!1,i))&&(o=t["offset"+e[0].toUpperCase()+e.slice(1)],s=!0),(o=parseFloat(o)||0)+Yt(t,e,n||(r?"border":"content"),s,i,o)+"px"}function Xt(t,e,n,i,o){return new Xt.prototype.init(t,e,n,i,o)}x.extend({cssHooks:{opacity:{get:function(t,e){if(e){var n=Ht(t,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(t,e,n,i){if(t&&3!==t.nodeType&&8!==t.nodeType&&t.style){var o,r,s,a=K(e),l=Ft.test(e),c=t.style;if(l||(e=Qt(a)),s=x.cssHooks[e]||x.cssHooks[a],void 0===n)return s&&"get"in s&&void 0!==(o=s.get(t,!1,i))?o:c[e];"string"==(r=typeof n)&&(o=et.exec(n))&&o[1]&&(n=rt(t,e,o),r="number"),null!=n&&n==n&&("number"===r&&(n+=o&&o[3]||(x.cssNumber[a]?"":"px")),f.clearCloneStyle||""!==n||0!==e.indexOf("background")||(c[e]="inherit"),s&&"set"in s&&void 0===(n=s.set(t,n,i))||(l?c.setProperty(e,n):c[e]=n))}},css:function(t,e,n,i){var o,r,s,a=K(e);return Ft.test(e)||(e=Qt(a)),(s=x.cssHooks[e]||x.cssHooks[a])&&"get"in s&&(o=s.get(t,!0,n)),void 0===o&&(o=Ht(t,e,i)),"normal"===o&&e in Wt&&(o=Wt[e]),""===n||n?(r=parseFloat(o),!0===n||isFinite(r)?r||0:o):o}}),x.each(["height","width"],function(t,e){x.cssHooks[e]={get:function(t,n,i){if(n)return!zt.test(x.css(t,"display"))||t.getClientRects().length&&t.getBoundingClientRect().width?Gt(t,e,i):ot(t,Mt,function(){return Gt(t,e,i)})},set:function(t,n,i){var o,r=qt(t),s="border-box"===x.css(t,"boxSizing",!1,r),a=i&&Yt(t,e,i,s,r);return s&&f.scrollboxSize()===r.position&&(a-=Math.ceil(t["offset"+e[0].toUpperCase()+e.slice(1)]-parseFloat(r[e])-Yt(t,e,"border",!1,r)-.5)),a&&(o=et.exec(n))&&"px"!==(o[3]||"px")&&(t.style[e]=n,n=x.css(t,e)),Vt(0,n,a)}}}),x.cssHooks.marginLeft=Bt(f.reliableMarginLeft,function(t,e){if(e)return(parseFloat(Ht(t,"marginLeft"))||t.getBoundingClientRect().left-ot(t,{marginLeft:0},function(){return t.getBoundingClientRect().left}))+"px"}),x.each({margin:"",padding:"",border:"Width"},function(t,e){x.cssHooks[t+e]={expand:function(n){for(var i=0,o={},r="string"==typeof n?n.split(" "):[n];i<4;i++)o[t+nt[i]+e]=r[i]||r[i-2]||r[0];return o}},"margin"!==t&&(x.cssHooks[t+e].set=Vt)}),x.fn.extend({css:function(t,e){return F(this,function(t,e,n){var i,o,r={},s=0;if(Array.isArray(e)){for(i=qt(t),o=e.length;s<o;s++)r[e[s]]=x.css(t,e[s],!1,i);return r}return void 0!==n?x.style(t,e,n):x.css(t,e)},t,e,arguments.length>1)}}),x.Tween=Xt,Xt.prototype={constructor:Xt,init:function(t,e,n,i,o,r){this.elem=t,this.prop=n,this.easing=o||x.easing._default,this.options=e,this.start=this.now=this.cur(),this.end=i,this.unit=r||(x.cssNumber[n]?"":"px")},cur:function(){var t=Xt.propHooks[this.prop];return t&&t.get?t.get(this):Xt.propHooks._default.get(this)},run:function(t){var e,n=Xt.propHooks[this.prop];return this.options.duration?this.pos=e=x.easing[this.easing](t,this.options.duration*t,0,1,this.options.duration):this.pos=e=t,this.now=(this.end-this.start)*e+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Xt.propHooks._default.set(this),this}},Xt.prototype.init.prototype=Xt.prototype,Xt.propHooks={_default:{get:function(t){var e;return 1!==t.elem.nodeType||null!=t.elem[t.prop]&&null==t.elem.style[t.prop]?t.elem[t.prop]:(e=x.css(t.elem,t.prop,""))&&"auto"!==e?e:0},set:function(t){x.fx.step[t.prop]?x.fx.step[t.prop](t):1!==t.elem.nodeType||null==t.elem.style[x.cssProps[t.prop]]&&!x.cssHooks[t.prop]?t.elem[t.prop]=t.now:x.style(t.elem,t.prop,t.now+t.unit)}}},Xt.propHooks.scrollTop=Xt.propHooks.scrollLeft={set:function(t){t.elem.nodeType&&t.elem.parentNode&&(t.elem[t.prop]=t.now)}},x.easing={linear:function(t){return t},swing:function(t){return.5-Math.cos(t*Math.PI)/2},_default:"swing"},x.fx=Xt.prototype.init,x.fx.step={};var Jt,Zt,te,ee,ne=/^(?:toggle|show|hide)$/,ie=/queueHooks$/;function oe(){Zt&&(!1===i.hidden&&t.requestAnimationFrame?t.requestAnimationFrame(oe):t.setTimeout(oe,x.fx.interval),x.fx.tick())}function re(){return t.setTimeout(function(){Jt=void 0}),Jt=Date.now()}function se(t,e){var n,i=0,o={height:t};for(e=e?1:0;i<4;i+=2-e)o["margin"+(n=nt[i])]=o["padding"+n]=t;return e&&(o.opacity=o.width=t),o}function ae(t,e,n){for(var i,o=(le.tweeners[e]||[]).concat(le.tweeners["*"]),r=0,s=o.length;r<s;r++)if(i=o[r].call(n,e,t))return i}function le(t,e,n){var i,o,r=0,s=le.prefilters.length,a=x.Deferred().always(function(){delete l.elem}),l=function(){if(o)return!1;for(var e=Jt||re(),n=Math.max(0,c.startTime+c.duration-e),i=1-(n/c.duration||0),r=0,s=c.tweens.length;r<s;r++)c.tweens[r].run(i);return a.notifyWith(t,[c,i,n]),i<1&&s?n:(s||a.notifyWith(t,[c,1,0]),a.resolveWith(t,[c]),!1)},c=a.promise({elem:t,props:x.extend({},e),opts:x.extend(!0,{specialEasing:{},easing:x.easing._default},n),originalProperties:e,originalOptions:n,startTime:Jt||re(),duration:n.duration,tweens:[],createTween:function(e,n){var i=x.Tween(t,c.opts,e,n,c.opts.specialEasing[e]||c.opts.easing);return c.tweens.push(i),i},stop:function(e){var n=0,i=e?c.tweens.length:0;if(o)return this;for(o=!0;n<i;n++)c.tweens[n].run(1);return e?(a.notifyWith(t,[c,1,0]),a.resolveWith(t,[c,e])):a.rejectWith(t,[c,e]),this}}),u=c.props;for(function(t,e){var n,i,o,r,s;for(n in t)if(o=e[i=K(n)],r=t[n],Array.isArray(r)&&(o=r[1],r=t[n]=r[0]),n!==i&&(t[i]=r,delete t[n]),(s=x.cssHooks[i])&&"expand"in s)for(n in r=s.expand(r),delete t[i],r)n in t||(t[n]=r[n],e[n]=o);else e[i]=o}(u,c.opts.specialEasing);r<s;r++)if(i=le.prefilters[r].call(c,t,u,c.opts))return g(i.stop)&&(x._queueHooks(c.elem,c.opts.queue).stop=i.stop.bind(i)),i;return x.map(u,ae,c),g(c.opts.start)&&c.opts.start.call(t,c),c.progress(c.opts.progress).done(c.opts.done,c.opts.complete).fail(c.opts.fail).always(c.opts.always),x.fx.timer(x.extend(l,{elem:t,anim:c,queue:c.opts.queue})),c}x.Animation=x.extend(le,{tweeners:{"*":[function(t,e){var n=this.createTween(t,e);return rt(n.elem,t,et.exec(e),n),n}]},tweener:function(t,e){g(t)?(e=t,t=["*"]):t=t.match(L);for(var n,i=0,o=t.length;i<o;i++)n=t[i],le.tweeners[n]=le.tweeners[n]||[],le.tweeners[n].unshift(e)},prefilters:[function(t,e,n){var i,o,r,s,a,l,c,u,h="width"in e||"height"in e,d=this,p={},f=t.style,g=t.nodeType&&it(t),m=Y.get(t,"fxshow");for(i in n.queue||(null==(s=x._queueHooks(t,"fx")).unqueued&&(s.unqueued=0,a=s.empty.fire,s.empty.fire=function(){s.unqueued||a()}),s.unqueued++,d.always(function(){d.always(function(){s.unqueued--,x.queue(t,"fx").length||s.empty.fire()})})),e)if(o=e[i],ne.test(o)){if(delete e[i],r=r||"toggle"===o,o===(g?"hide":"show")){if("show"!==o||!m||void 0===m[i])continue;g=!0}p[i]=m&&m[i]||x.style(t,i)}if((l=!x.isEmptyObject(e))||!x.isEmptyObject(p))for(i in h&&1===t.nodeType&&(n.overflow=[f.overflow,f.overflowX,f.overflowY],null==(c=m&&m.display)&&(c=Y.get(t,"display")),"none"===(u=x.css(t,"display"))&&(c?u=c:(at([t],!0),c=t.style.display||c,u=x.css(t,"display"),at([t]))),("inline"===u||"inline-block"===u&&null!=c)&&"none"===x.css(t,"float")&&(l||(d.done(function(){f.display=c}),null==c&&(u=f.display,c="none"===u?"":u)),f.display="inline-block")),n.overflow&&(f.overflow="hidden",d.always(function(){f.overflow=n.overflow[0],f.overflowX=n.overflow[1],f.overflowY=n.overflow[2]})),l=!1,p)l||(m?"hidden"in m&&(g=m.hidden):m=Y.access(t,"fxshow",{display:c}),r&&(m.hidden=!g),g&&at([t],!0),d.done(function(){for(i in g||at([t]),Y.remove(t,"fxshow"),p)x.style(t,i,p[i])})),l=ae(g?m[i]:0,i,d),i in m||(m[i]=l.start,g&&(l.end=l.start,l.start=0))}],prefilter:function(t,e){e?le.prefilters.unshift(t):le.prefilters.push(t)}}),x.speed=function(t,e,n){var i=t&&"object"==typeof t?x.extend({},t):{complete:n||!n&&e||g(t)&&t,duration:t,easing:n&&e||e&&!g(e)&&e};return x.fx.off?i.duration=0:"number"!=typeof i.duration&&(i.duration in x.fx.speeds?i.duration=x.fx.speeds[i.duration]:i.duration=x.fx.speeds._default),null!=i.queue&&!0!==i.queue||(i.queue="fx"),i.old=i.complete,i.complete=function(){g(i.old)&&i.old.call(this),i.queue&&x.dequeue(this,i.queue)},i},x.fn.extend({fadeTo:function(t,e,n,i){return this.filter(it).css("opacity",0).show().end().animate({opacity:e},t,n,i)},animate:function(t,e,n,i){var o=x.isEmptyObject(t),r=x.speed(e,n,i),s=function(){var e=le(this,x.extend({},t),r);(o||Y.get(this,"finish"))&&e.stop(!0)};return s.finish=s,o||!1===r.queue?this.each(s):this.queue(r.queue,s)},stop:function(t,e,n){var i=function(t){var e=t.stop;delete t.stop,e(n)};return"string"!=typeof t&&(n=e,e=t,t=void 0),e&&!1!==t&&this.queue(t||"fx",[]),this.each(function(){var e=!0,o=null!=t&&t+"queueHooks",r=x.timers,s=Y.get(this);if(o)s[o]&&s[o].stop&&i(s[o]);else for(o in s)s[o]&&s[o].stop&&ie.test(o)&&i(s[o]);for(o=r.length;o--;)r[o].elem!==this||null!=t&&r[o].queue!==t||(r[o].anim.stop(n),e=!1,r.splice(o,1));!e&&n||x.dequeue(this,t)})},finish:function(t){return!1!==t&&(t=t||"fx"),this.each(function(){var e,n=Y.get(this),i=n[t+"queue"],o=n[t+"queueHooks"],r=x.timers,s=i?i.length:0;for(n.finish=!0,x.queue(this,t,[]),o&&o.stop&&o.stop.call(this,!0),e=r.length;e--;)r[e].elem===this&&r[e].queue===t&&(r[e].anim.stop(!0),r.splice(e,1));for(e=0;e<s;e++)i[e]&&i[e].finish&&i[e].finish.call(this);delete n.finish})}}),x.each(["toggle","show","hide"],function(t,e){var n=x.fn[e];x.fn[e]=function(t,i,o){return null==t||"boolean"==typeof t?n.apply(this,arguments):this.animate(se(e,!0),t,i,o)}}),x.each({slideDown:se("show"),slideUp:se("hide"),slideToggle:se("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(t,e){x.fn[t]=function(t,n,i){return this.animate(e,t,n,i)}}),x.timers=[],x.fx.tick=function(){var t,e=0,n=x.timers;for(Jt=Date.now();e<n.length;e++)(t=n[e])()||n[e]!==t||n.splice(e--,1);n.length||x.fx.stop(),Jt=void 0},x.fx.timer=function(t){x.timers.push(t),x.fx.start()},x.fx.interval=13,x.fx.start=function(){Zt||(Zt=!0,oe())},x.fx.stop=function(){Zt=null},x.fx.speeds={slow:600,fast:200,_default:400},x.fn.delay=function(e,n){return e=x.fx&&x.fx.speeds[e]||e,n=n||"fx",this.queue(n,function(n,i){var o=t.setTimeout(n,e);i.stop=function(){t.clearTimeout(o)}})},te=i.createElement("input"),ee=i.createElement("select").appendChild(i.createElement("option")),te.type="checkbox",f.checkOn=""!==te.value,f.optSelected=ee.selected,(te=i.createElement("input")).value="t",te.type="radio",f.radioValue="t"===te.value;var ce,ue=x.expr.attrHandle;x.fn.extend({attr:function(t,e){return F(this,x.attr,t,e,arguments.length>1)},removeAttr:function(t){return this.each(function(){x.removeAttr(this,t)})}}),x.extend({attr:function(t,e,n){var i,o,r=t.nodeType;if(3!==r&&8!==r&&2!==r)return void 0===t.getAttribute?x.prop(t,e,n):(1===r&&x.isXMLDoc(t)||(o=x.attrHooks[e.toLowerCase()]||(x.expr.match.bool.test(e)?ce:void 0)),void 0!==n?null===n?void x.removeAttr(t,e):o&&"set"in o&&void 0!==(i=o.set(t,n,e))?i:(t.setAttribute(e,n+""),n):o&&"get"in o&&null!==(i=o.get(t,e))?i:null==(i=x.find.attr(t,e))?void 0:i)},attrHooks:{type:{set:function(t,e){if(!f.radioValue&&"radio"===e&&S(t,"input")){var n=t.value;return t.setAttribute("type",e),n&&(t.value=n),e}}}},removeAttr:function(t,e){var n,i=0,o=e&&e.match(L);if(o&&1===t.nodeType)for(;n=o[i++];)t.removeAttribute(n)}}),ce={set:function(t,e,n){return!1===e?x.removeAttr(t,n):t.setAttribute(n,n),n}},x.each(x.expr.match.bool.source.match(/\w+/g),function(t,e){var n=ue[e]||x.find.attr;ue[e]=function(t,e,i){var o,r,s=e.toLowerCase();return i||(r=ue[s],ue[s]=o,o=null!=n(t,e,i)?s:null,ue[s]=r),o}});var he=/^(?:input|select|textarea|button)$/i,de=/^(?:a|area)$/i;function pe(t){return(t.match(L)||[]).join(" ")}function fe(t){return t.getAttribute&&t.getAttribute("class")||""}function ge(t){return Array.isArray(t)?t:"string"==typeof t&&t.match(L)||[]}x.fn.extend({prop:function(t,e){return F(this,x.prop,t,e,arguments.length>1)},removeProp:function(t){return this.each(function(){delete this[x.propFix[t]||t]})}}),x.extend({prop:function(t,e,n){var i,o,r=t.nodeType;if(3!==r&&8!==r&&2!==r)return 1===r&&x.isXMLDoc(t)||(e=x.propFix[e]||e,o=x.propHooks[e]),void 0!==n?o&&"set"in o&&void 0!==(i=o.set(t,n,e))?i:t[e]=n:o&&"get"in o&&null!==(i=o.get(t,e))?i:t[e]},propHooks:{tabIndex:{get:function(t){var e=x.find.attr(t,"tabindex");return e?parseInt(e,10):he.test(t.nodeName)||de.test(t.nodeName)&&t.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),f.optSelected||(x.propHooks.selected={get:function(t){var e=t.parentNode;return e&&e.parentNode&&e.parentNode.selectedIndex,null},set:function(t){var e=t.parentNode;e&&(e.selectedIndex,e.parentNode&&e.parentNode.selectedIndex)}}),x.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){x.propFix[this.toLowerCase()]=this}),x.fn.extend({addClass:function(t){var e,n,i,o,r,s,a,l=0;if(g(t))return this.each(function(e){x(this).addClass(t.call(this,e,fe(this)))});if((e=ge(t)).length)for(;n=this[l++];)if(o=fe(n),i=1===n.nodeType&&" "+pe(o)+" "){for(s=0;r=e[s++];)i.indexOf(" "+r+" ")<0&&(i+=r+" ");o!==(a=pe(i))&&n.setAttribute("class",a)}return this},removeClass:function(t){var e,n,i,o,r,s,a,l=0;if(g(t))return this.each(function(e){x(this).removeClass(t.call(this,e,fe(this)))});if(!arguments.length)return this.attr("class","");if((e=ge(t)).length)for(;n=this[l++];)if(o=fe(n),i=1===n.nodeType&&" "+pe(o)+" "){for(s=0;r=e[s++];)for(;i.indexOf(" "+r+" ")>-1;)i=i.replace(" "+r+" "," ");o!==(a=pe(i))&&n.setAttribute("class",a)}return this},toggleClass:function(t,e){var n=typeof t,i="string"===n||Array.isArray(t);return"boolean"==typeof e&&i?e?this.addClass(t):this.removeClass(t):g(t)?this.each(function(n){x(this).toggleClass(t.call(this,n,fe(this),e),e)}):this.each(function(){var e,o,r,s;if(i)for(o=0,r=x(this),s=ge(t);e=s[o++];)r.hasClass(e)?r.removeClass(e):r.addClass(e);else void 0!==t&&"boolean"!==n||((e=fe(this))&&Y.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===t?"":Y.get(this,"__className__")||""))})},hasClass:function(t){var e,n,i=0;for(e=" "+t+" ";n=this[i++];)if(1===n.nodeType&&(" "+pe(fe(n))+" ").indexOf(e)>-1)return!0;return!1}});var me=/\r/g;x.fn.extend({val:function(t){var e,n,i,o=this[0];return arguments.length?(i=g(t),this.each(function(n){var o;1===this.nodeType&&(null==(o=i?t.call(this,n,x(this).val()):t)?o="":"number"==typeof o?o+="":Array.isArray(o)&&(o=x.map(o,function(t){return null==t?"":t+""})),(e=x.valHooks[this.type]||x.valHooks[this.nodeName.toLowerCase()])&&"set"in e&&void 0!==e.set(this,o,"value")||(this.value=o))})):o?(e=x.valHooks[o.type]||x.valHooks[o.nodeName.toLowerCase()])&&"get"in e&&void 0!==(n=e.get(o,"value"))?n:"string"==typeof(n=o.value)?n.replace(me,""):null==n?"":n:void 0}}),x.extend({valHooks:{option:{get:function(t){var e=x.find.attr(t,"value");return null!=e?e:pe(x.text(t))}},select:{get:function(t){var e,n,i,o=t.options,r=t.selectedIndex,s="select-one"===t.type,a=s?null:[],l=s?r+1:o.length;for(i=r<0?l:s?r:0;i<l;i++)if(((n=o[i]).selected||i===r)&&!n.disabled&&(!n.parentNode.disabled||!S(n.parentNode,"optgroup"))){if(e=x(n).val(),s)return e;a.push(e)}return a},set:function(t,e){for(var n,i,o=t.options,r=x.makeArray(e),s=o.length;s--;)((i=o[s]).selected=x.inArray(x.valHooks.option.get(i),r)>-1)&&(n=!0);return n||(t.selectedIndex=-1),r}}}}),x.each(["radio","checkbox"],function(){x.valHooks[this]={set:function(t,e){if(Array.isArray(e))return t.checked=x.inArray(x(t).val(),e)>-1}},f.checkOn||(x.valHooks[this].get=function(t){return null===t.getAttribute("value")?"on":t.value})}),f.focusin="onfocusin"in t;var ve=/^(?:focusinfocus|focusoutblur)$/,ye=function(t){t.stopPropagation()};x.extend(x.event,{trigger:function(e,n,o,r){var s,a,l,c,u,d,p,f,v=[o||i],y=h.call(e,"type")?e.type:e,b=h.call(e,"namespace")?e.namespace.split("."):[];if(a=f=l=o=o||i,3!==o.nodeType&&8!==o.nodeType&&!ve.test(y+x.event.triggered)&&(y.indexOf(".")>-1&&(y=(b=y.split(".")).shift(),b.sort()),u=y.indexOf(":")<0&&"on"+y,(e=e[x.expando]?e:new x.Event(y,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=b.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=o),n=null==n?[e]:x.makeArray(n,[e]),p=x.event.special[y]||{},r||!p.trigger||!1!==p.trigger.apply(o,n))){if(!r&&!p.noBubble&&!m(o)){for(c=p.delegateType||y,ve.test(c+y)||(a=a.parentNode);a;a=a.parentNode)v.push(a),l=a;l===(o.ownerDocument||i)&&v.push(l.defaultView||l.parentWindow||t)}for(s=0;(a=v[s++])&&!e.isPropagationStopped();)f=a,e.type=s>1?c:p.bindType||y,(d=(Y.get(a,"events")||{})[e.type]&&Y.get(a,"handle"))&&d.apply(a,n),(d=u&&a[u])&&d.apply&&Q(a)&&(e.result=d.apply(a,n),!1===e.result&&e.preventDefault());return e.type=y,r||e.isDefaultPrevented()||p._default&&!1!==p._default.apply(v.pop(),n)||!Q(o)||u&&g(o[y])&&!m(o)&&((l=o[u])&&(o[u]=null),x.event.triggered=y,e.isPropagationStopped()&&f.addEventListener(y,ye),o[y](),e.isPropagationStopped()&&f.removeEventListener(y,ye),x.event.triggered=void 0,l&&(o[u]=l)),e.result}},simulate:function(t,e,n){var i=x.extend(new x.Event,n,{type:t,isSimulated:!0});x.event.trigger(i,null,e)}}),x.fn.extend({trigger:function(t,e){return this.each(function(){x.event.trigger(t,e,this)})},triggerHandler:function(t,e){var n=this[0];if(n)return x.event.trigger(t,e,n,!0)}}),f.focusin||x.each({focus:"focusin",blur:"focusout"},function(t,e){var n=function(t){x.event.simulate(e,t.target,x.event.fix(t))};x.event.special[e]={setup:function(){var i=this.ownerDocument||this,o=Y.access(i,e);o||i.addEventListener(t,n,!0),Y.access(i,e,(o||0)+1)},teardown:function(){var i=this.ownerDocument||this,o=Y.access(i,e)-1;o?Y.access(i,e,o):(i.removeEventListener(t,n,!0),Y.remove(i,e))}}});var be=t.location,xe=Date.now(),we=/\?/;x.parseXML=function(e){var n;if(!e||"string"!=typeof e)return null;try{n=(new t.DOMParser).parseFromString(e,"text/xml")}catch(t){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||x.error("Invalid XML: "+e),n};var _e=/\[\]$/,ke=/\r?\n/g,$e=/^(?:submit|button|image|reset|file)$/i,Ce=/^(?:input|select|textarea|keygen)/i;function Te(t,e,n,i){var o;if(Array.isArray(e))x.each(e,function(e,o){n||_e.test(t)?i(t,o):Te(t+"["+("object"==typeof o&&null!=o?e:"")+"]",o,n,i)});else if(n||"object"!==b(e))i(t,e);else for(o in e)Te(t+"["+o+"]",e[o],n,i)}x.param=function(t,e){var n,i=[],o=function(t,e){var n=g(e)?e():e;i[i.length]=encodeURIComponent(t)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(t)||t.jquery&&!x.isPlainObject(t))x.each(t,function(){o(this.name,this.value)});else for(n in t)Te(n,t[n],e,o);return i.join("&")},x.fn.extend({serialize:function(){return x.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var t=x.prop(this,"elements");return t?x.makeArray(t):this}).filter(function(){var t=this.type;return this.name&&!x(this).is(":disabled")&&Ce.test(this.nodeName)&&!$e.test(t)&&(this.checked||!lt.test(t))}).map(function(t,e){var n=x(this).val();return null==n?null:Array.isArray(n)?x.map(n,function(t){return{name:e.name,value:t.replace(ke,"\r\n")}}):{name:e.name,value:n.replace(ke,"\r\n")}}).get()}});var Se=/%20/g,Ee=/#.*$/,De=/([?&])_=[^&]*/,Ne=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ae=/^(?:GET|HEAD)$/,je=/^\/\//,Oe={},Ie={},Le="*/".concat("*"),Pe=i.createElement("a");function qe(t){return function(e,n){"string"!=typeof e&&(n=e,e="*");var i,o=0,r=e.toLowerCase().match(L)||[];if(g(n))for(;i=r[o++];)"+"===i[0]?(i=i.slice(1)||"*",(t[i]=t[i]||[]).unshift(n)):(t[i]=t[i]||[]).push(n)}}function Re(t,e,n,i){var o={},r=t===Ie;function s(a){var l;return o[a]=!0,x.each(t[a]||[],function(t,a){var c=a(e,n,i);return"string"!=typeof c||r||o[c]?r?!(l=c):void 0:(e.dataTypes.unshift(c),s(c),!1)}),l}return s(e.dataTypes[0])||!o["*"]&&s("*")}function He(t,e){var n,i,o=x.ajaxSettings.flatOptions||{};for(n in e)void 0!==e[n]&&((o[n]?t:i||(i={}))[n]=e[n]);return i&&x.extend(!0,t,i),t}Pe.href=be.href,x.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:be.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(be.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Le,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":x.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(t,e){return e?He(He(t,x.ajaxSettings),e):He(x.ajaxSettings,t)},ajaxPrefilter:qe(Oe),ajaxTransport:qe(Ie),ajax:function(e,n){"object"==typeof e&&(n=e,e=void 0),n=n||{};var o,r,s,a,l,c,u,h,d,p,f=x.ajaxSetup({},n),g=f.context||f,m=f.context&&(g.nodeType||g.jquery)?x(g):x.event,v=x.Deferred(),y=x.Callbacks("once memory"),b=f.statusCode||{},w={},_={},k="canceled",$={readyState:0,getResponseHeader:function(t){var e;if(u){if(!a)for(a={};e=Ne.exec(s);)a[e[1].toLowerCase()]=e[2];e=a[t.toLowerCase()]}return null==e?null:e},getAllResponseHeaders:function(){return u?s:null},setRequestHeader:function(t,e){return null==u&&(t=_[t.toLowerCase()]=_[t.toLowerCase()]||t,w[t]=e),this},overrideMimeType:function(t){return null==u&&(f.mimeType=t),this},statusCode:function(t){var e;if(t)if(u)$.always(t[$.status]);else for(e in t)b[e]=[b[e],t[e]];return this},abort:function(t){var e=t||k;return o&&o.abort(e),C(0,e),this}};if(v.promise($),f.url=((e||f.url||be.href)+"").replace(je,be.protocol+"//"),f.type=n.method||n.type||f.method||f.type,f.dataTypes=(f.dataType||"*").toLowerCase().match(L)||[""],null==f.crossDomain){c=i.createElement("a");try{c.href=f.url,c.href=c.href,f.crossDomain=Pe.protocol+"//"+Pe.host!=c.protocol+"//"+c.host}catch(t){f.crossDomain=!0}}if(f.data&&f.processData&&"string"!=typeof f.data&&(f.data=x.param(f.data,f.traditional)),Re(Oe,f,n,$),u)return $;for(d in(h=x.event&&f.global)&&0==x.active++&&x.event.trigger("ajaxStart"),f.type=f.type.toUpperCase(),f.hasContent=!Ae.test(f.type),r=f.url.replace(Ee,""),f.hasContent?f.data&&f.processData&&0===(f.contentType||"").indexOf("application/x-www-form-urlencoded")&&(f.data=f.data.replace(Se,"+")):(p=f.url.slice(r.length),f.data&&(f.processData||"string"==typeof f.data)&&(r+=(we.test(r)?"&":"?")+f.data,delete f.data),!1===f.cache&&(r=r.replace(De,"$1"),p=(we.test(r)?"&":"?")+"_="+xe+++p),f.url=r+p),f.ifModified&&(x.lastModified[r]&&$.setRequestHeader("If-Modified-Since",x.lastModified[r]),x.etag[r]&&$.setRequestHeader("If-None-Match",x.etag[r])),(f.data&&f.hasContent&&!1!==f.contentType||n.contentType)&&$.setRequestHeader("Content-Type",f.contentType),$.setRequestHeader("Accept",f.dataTypes[0]&&f.accepts[f.dataTypes[0]]?f.accepts[f.dataTypes[0]]+("*"!==f.dataTypes[0]?", "+Le+"; q=0.01":""):f.accepts["*"]),f.headers)$.setRequestHeader(d,f.headers[d]);if(f.beforeSend&&(!1===f.beforeSend.call(g,$,f)||u))return $.abort();if(k="abort",y.add(f.complete),$.done(f.success),$.fail(f.error),o=Re(Ie,f,n,$)){if($.readyState=1,h&&m.trigger("ajaxSend",[$,f]),u)return $;f.async&&f.timeout>0&&(l=t.setTimeout(function(){$.abort("timeout")},f.timeout));try{u=!1,o.send(w,C)}catch(t){if(u)throw t;C(-1,t)}}else C(-1,"No Transport");function C(e,n,i,a){var c,d,p,w,_,k=n;u||(u=!0,l&&t.clearTimeout(l),o=void 0,s=a||"",$.readyState=e>0?4:0,c=e>=200&&e<300||304===e,i&&(w=function(t,e,n){for(var i,o,r,s,a=t.contents,l=t.dataTypes;"*"===l[0];)l.shift(),void 0===i&&(i=t.mimeType||e.getResponseHeader("Content-Type"));if(i)for(o in a)if(a[o]&&a[o].test(i)){l.unshift(o);break}if(l[0]in n)r=l[0];else{for(o in n){if(!l[0]||t.converters[o+" "+l[0]]){r=o;break}s||(s=o)}r=r||s}if(r)return r!==l[0]&&l.unshift(r),n[r]}(f,$,i)),w=function(t,e,n,i){var o,r,s,a,l,c={},u=t.dataTypes.slice();if(u[1])for(s in t.converters)c[s.toLowerCase()]=t.converters[s];for(r=u.shift();r;)if(t.responseFields[r]&&(n[t.responseFields[r]]=e),!l&&i&&t.dataFilter&&(e=t.dataFilter(e,t.dataType)),l=r,r=u.shift())if("*"===r)r=l;else if("*"!==l&&l!==r){if(!(s=c[l+" "+r]||c["* "+r]))for(o in c)if((a=o.split(" "))[1]===r&&(s=c[l+" "+a[0]]||c["* "+a[0]])){!0===s?s=c[o]:!0!==c[o]&&(r=a[0],u.unshift(a[1]));break}if(!0!==s)if(s&&t.throws)e=s(e);else try{e=s(e)}catch(t){return{state:"parsererror",error:s?t:"No conversion from "+l+" to "+r}}}return{state:"success",data:e}}(f,w,$,c),c?(f.ifModified&&((_=$.getResponseHeader("Last-Modified"))&&(x.lastModified[r]=_),(_=$.getResponseHeader("etag"))&&(x.etag[r]=_)),204===e||"HEAD"===f.type?k="nocontent":304===e?k="notmodified":(k=w.state,d=w.data,c=!(p=w.error))):(p=k,!e&&k||(k="error",e<0&&(e=0))),$.status=e,$.statusText=(n||k)+"",c?v.resolveWith(g,[d,k,$]):v.rejectWith(g,[$,k,p]),$.statusCode(b),b=void 0,h&&m.trigger(c?"ajaxSuccess":"ajaxError",[$,f,c?d:p]),y.fireWith(g,[$,k]),h&&(m.trigger("ajaxComplete",[$,f]),--x.active||x.event.trigger("ajaxStop")))}return $},getJSON:function(t,e,n){return x.get(t,e,n,"json")},getScript:function(t,e){return x.get(t,void 0,e,"script")}}),x.each(["get","post"],function(t,e){x[e]=function(t,n,i,o){return g(n)&&(o=o||i,i=n,n=void 0),x.ajax(x.extend({url:t,type:e,dataType:o,data:n,success:i},x.isPlainObject(t)&&t))}}),x._evalUrl=function(t){return x.ajax({url:t,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,throws:!0})},x.fn.extend({wrapAll:function(t){var e;return this[0]&&(g(t)&&(t=t.call(this[0])),e=x(t,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&e.insertBefore(this[0]),e.map(function(){for(var t=this;t.firstElementChild;)t=t.firstElementChild;return t}).append(this)),this},wrapInner:function(t){return g(t)?this.each(function(e){x(this).wrapInner(t.call(this,e))}):this.each(function(){var e=x(this),n=e.contents();n.length?n.wrapAll(t):e.append(t)})},wrap:function(t){var e=g(t);return this.each(function(n){x(this).wrapAll(e?t.call(this,n):t)})},unwrap:function(t){return this.parent(t).not("body").each(function(){x(this).replaceWith(this.childNodes)}),this}}),x.expr.pseudos.hidden=function(t){return!x.expr.pseudos.visible(t)},x.expr.pseudos.visible=function(t){return!!(t.offsetWidth||t.offsetHeight||t.getClientRects().length)},x.ajaxSettings.xhr=function(){try{return new t.XMLHttpRequest}catch(t){}};var Be={0:200,1223:204},ze=x.ajaxSettings.xhr();f.cors=!!ze&&"withCredentials"in ze,f.ajax=ze=!!ze,x.ajaxTransport(function(e){var n,i;if(f.cors||ze&&!e.crossDomain)return{send:function(o,r){var s,a=e.xhr();if(a.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(s in e.xhrFields)a[s]=e.xhrFields[s];for(s in e.mimeType&&a.overrideMimeType&&a.overrideMimeType(e.mimeType),e.crossDomain||o["X-Requested-With"]||(o["X-Requested-With"]="XMLHttpRequest"),o)a.setRequestHeader(s,o[s]);n=function(t){return function(){n&&(n=i=a.onload=a.onerror=a.onabort=a.ontimeout=a.onreadystatechange=null,"abort"===t?a.abort():"error"===t?"number"!=typeof a.status?r(0,"error"):r(a.status,a.statusText):r(Be[a.status]||a.status,a.statusText,"text"!==(a.responseType||"text")||"string"!=typeof a.responseText?{binary:a.response}:{text:a.responseText},a.getAllResponseHeaders()))}},a.onload=n(),i=a.onerror=a.ontimeout=n("error"),void 0!==a.onabort?a.onabort=i:a.onreadystatechange=function(){4===a.readyState&&t.setTimeout(function(){n&&i()})},n=n("abort");try{a.send(e.hasContent&&e.data||null)}catch(t){if(n)throw t}},abort:function(){n&&n()}}}),x.ajaxPrefilter(function(t){t.crossDomain&&(t.contents.script=!1)}),x.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(t){return x.globalEval(t),t}}}),x.ajaxPrefilter("script",function(t){void 0===t.cache&&(t.cache=!1),t.crossDomain&&(t.type="GET")}),x.ajaxTransport("script",function(t){var e,n;if(t.crossDomain)return{send:function(o,r){e=x("<script>").prop({charset:t.scriptCharset,src:t.url}).on("load error",n=function(t){e.remove(),n=null,t&&r("error"===t.type?404:200,t.type)}),i.head.appendChild(e[0])},abort:function(){n&&n()}}});var Fe,Me=[],We=/(=)\?(?=&|$)|\?\?/;x.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var t=Me.pop()||x.expando+"_"+xe++;return this[t]=!0,t}}),x.ajaxPrefilter("json jsonp",function(e,n,i){var o,r,s,a=!1!==e.jsonp&&(We.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&We.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return o=e.jsonpCallback=g(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(We,"$1"+o):!1!==e.jsonp&&(e.url+=(we.test(e.url)?"&":"?")+e.jsonp+"="+o),e.converters["script json"]=function(){return s||x.error(o+" was not called"),s[0]},e.dataTypes[0]="json",r=t[o],t[o]=function(){s=arguments},i.always(function(){void 0===r?x(t).removeProp(o):t[o]=r,e[o]&&(e.jsonpCallback=n.jsonpCallback,Me.push(o)),s&&g(r)&&r(s[0]),s=r=void 0}),"script"}),f.createHTMLDocument=((Fe=i.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Fe.childNodes.length),x.parseHTML=function(t,e,n){return"string"!=typeof t?[]:("boolean"==typeof e&&(n=e,e=!1),e||(f.createHTMLDocument?((o=(e=i.implementation.createHTMLDocument("")).createElement("base")).href=i.location.href,e.head.appendChild(o)):e=i),s=!n&&[],(r=E.exec(t))?[e.createElement(r[1])]:(r=vt([t],e,s),s&&s.length&&x(s).remove(),x.merge([],r.childNodes)));var o,r,s},x.fn.load=function(t,e,n){var i,o,r,s=this,a=t.indexOf(" ");return a>-1&&(i=pe(t.slice(a)),t=t.slice(0,a)),g(e)?(n=e,e=void 0):e&&"object"==typeof e&&(o="POST"),s.length>0&&x.ajax({url:t,type:o||"GET",dataType:"html",data:e}).done(function(t){r=arguments,s.html(i?x("<div>").append(x.parseHTML(t)).find(i):t)}).always(n&&function(t,e){s.each(function(){n.apply(this,r||[t.responseText,e,t])})}),this},x.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(t,e){x.fn[e]=function(t){return this.on(e,t)}}),x.expr.pseudos.animated=function(t){return x.grep(x.timers,function(e){return t===e.elem}).length},x.offset={setOffset:function(t,e,n){var i,o,r,s,a,l,c=x.css(t,"position"),u=x(t),h={};"static"===c&&(t.style.position="relative"),a=u.offset(),r=x.css(t,"top"),l=x.css(t,"left"),("absolute"===c||"fixed"===c)&&(r+l).indexOf("auto")>-1?(s=(i=u.position()).top,o=i.left):(s=parseFloat(r)||0,o=parseFloat(l)||0),g(e)&&(e=e.call(t,n,x.extend({},a))),null!=e.top&&(h.top=e.top-a.top+s),null!=e.left&&(h.left=e.left-a.left+o),"using"in e?e.using.call(t,h):u.css(h)}},x.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){x.offset.setOffset(this,t,e)});var e,n,i=this[0];return i?i.getClientRects().length?(e=i.getBoundingClientRect(),n=i.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var t,e,n,i=this[0],o={top:0,left:0};if("fixed"===x.css(i,"position"))e=i.getBoundingClientRect();else{for(e=this.offset(),n=i.ownerDocument,t=i.offsetParent||n.documentElement;t&&(t===n.body||t===n.documentElement)&&"static"===x.css(t,"position");)t=t.parentNode;t&&t!==i&&1===t.nodeType&&((o=x(t).offset()).top+=x.css(t,"borderTopWidth",!0),o.left+=x.css(t,"borderLeftWidth",!0))}return{top:e.top-o.top-x.css(i,"marginTop",!0),left:e.left-o.left-x.css(i,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var t=this.offsetParent;t&&"static"===x.css(t,"position");)t=t.offsetParent;return t||yt})}}),x.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,e){var n="pageYOffset"===e;x.fn[t]=function(i){return F(this,function(t,i,o){var r;if(m(t)?r=t:9===t.nodeType&&(r=t.defaultView),void 0===o)return r?r[e]:t[i];r?r.scrollTo(n?r.pageXOffset:o,n?o:r.pageYOffset):t[i]=o},t,i,arguments.length)}}),x.each(["top","left"],function(t,e){x.cssHooks[e]=Bt(f.pixelPosition,function(t,n){if(n)return n=Ht(t,e),Pt.test(n)?x(t).position()[e]+"px":n})}),x.each({Height:"height",Width:"width"},function(t,e){x.each({padding:"inner"+t,content:e,"":"outer"+t},function(n,i){x.fn[i]=function(o,r){var s=arguments.length&&(n||"boolean"!=typeof o),a=n||(!0===o||!0===r?"margin":"border");return F(this,function(e,n,o){var r;return m(e)?0===i.indexOf("outer")?e["inner"+t]:e.document.documentElement["client"+t]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+t],r["scroll"+t],e.body["offset"+t],r["offset"+t],r["client"+t])):void 0===o?x.css(e,n,a):x.style(e,n,o,a)},e,s?o:void 0,s)}})}),x.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(t,e){x.fn[e]=function(t,n){return arguments.length>0?this.on(e,null,t,n):this.trigger(e)}}),x.fn.extend({hover:function(t,e){return this.mouseenter(t).mouseleave(e||t)}}),x.fn.extend({bind:function(t,e,n){return this.on(t,null,e,n)},unbind:function(t,e){return this.off(t,null,e)},delegate:function(t,e,n,i){return this.on(e,t,n,i)},undelegate:function(t,e,n){return 1===arguments.length?this.off(t,"**"):this.off(e,t||"**",n)}}),x.proxy=function(t,e){var n,i,o;if("string"==typeof e&&(n=t[e],e=t,t=n),g(t))return i=r.call(arguments,2),(o=function(){return t.apply(e||this,i.concat(r.call(arguments)))}).guid=t.guid=t.guid||x.guid++,o},x.holdReady=function(t){t?x.readyWait++:x.ready(!0)},x.isArray=Array.isArray,x.parseJSON=JSON.parse,x.nodeName=S,x.isFunction=g,x.isWindow=m,x.camelCase=K,x.type=b,x.now=Date.now,x.isNumeric=function(t){var e=x.type(t);return("number"===e||"string"===e)&&!isNaN(t-parseFloat(t))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return x});var Ue=t.jQuery,Ke=t.$;return x.noConflict=function(e){return t.$===x&&(t.$=Ke),e&&t.jQuery===x&&(t.jQuery=Ue),x},e||(t.jQuery=t.$=x),x}),"undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");!function(t){"use strict";var e=jQuery.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1||e[0]>3)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(),function(t){"use strict";t.fn.emulateTransitionEnd=function(e){var n=!1,i=this;t(this).one("bsTransitionEnd",function(){n=!0});return setTimeout(function(){n||t(i).trigger(t.support.transition.end)},e),this},t(function(){t.support.transition=function(){var t=document.createElement("bootstrap"),e={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var n in e)if(void 0!==t.style[n])return{end:e[n]};return!1}(),t.support.transition&&(t.event.special.bsTransitionEnd={bindType:t.support.transition.end,delegateType:t.support.transition.end,handle:function(e){if(t(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}})})}(jQuery),function(t){"use strict";var e='[data-dismiss="alert"]',n=function(n){t(n).on("click",e,this.close)};n.VERSION="3.3.7",n.TRANSITION_DURATION=150,n.prototype.close=function(e){function i(){s.detach().trigger("closed.bs.alert").remove()}var o=t(this),r=o.attr("data-target");r||(r=(r=o.attr("href"))&&r.replace(/.*(?=#[^\s]*$)/,""));var s=t("#"===r?[]:r);e&&e.preventDefault(),s.length||(s=o.closest(".alert")),s.trigger(e=t.Event("close.bs.alert")),e.isDefaultPrevented()||(s.removeClass("in"),t.support.transition&&s.hasClass("fade")?s.one("bsTransitionEnd",i).emulateTransitionEnd(n.TRANSITION_DURATION):i())};var i=t.fn.alert;t.fn.alert=function(e){return this.each(function(){var i=t(this),o=i.data("bs.alert");o||i.data("bs.alert",o=new n(this)),"string"==typeof e&&o[e].call(i)})},t.fn.alert.Constructor=n,t.fn.alert.noConflict=function(){return t.fn.alert=i,this},t(document).on("click.bs.alert.data-api",e,n.prototype.close)}(jQuery),function(t){"use strict";function e(e){return this.each(function(){var i=t(this),o=i.data("bs.button"),r="object"==typeof e&&e;o||i.data("bs.button",o=new n(this,r)),"toggle"==e?o.toggle():e&&o.setState(e)})}var n=function(e,i){this.$element=t(e),this.options=t.extend({},n.DEFAULTS,i),this.isLoading=!1};n.VERSION="3.3.7",n.DEFAULTS={loadingText:"loading..."},n.prototype.setState=function(e){var n="disabled",i=this.$element,o=i.is("input")?"val":"html",r=i.data();e+="Text",null==r.resetText&&i.data("resetText",i[o]()),setTimeout(t.proxy(function(){i[o](null==r[e]?this.options[e]:r[e]),"loadingText"==e?(this.isLoading=!0,i.addClass(n).attr(n,n).prop(n,!0)):this.isLoading&&(this.isLoading=!1,i.removeClass(n).removeAttr(n).prop(n,!1))},this),0)},n.prototype.toggle=function(){var t=!0,e=this.$element.closest('[data-toggle="buttons"]');if(e.length){var n=this.$element.find("input");"radio"==n.prop("type")?(n.prop("checked")&&(t=!1),e.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==n.prop("type")&&(n.prop("checked")!==this.$element.hasClass("active")&&(t=!1),this.$element.toggleClass("active")),n.prop("checked",this.$element.hasClass("active")),t&&n.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var i=t.fn.button;t.fn.button=e,t.fn.button.Constructor=n,t.fn.button.noConflict=function(){return t.fn.button=i,this},t(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(n){var i=t(n.target).closest(".btn");e.call(i,"toggle"),t(n.target).is('input[type="radio"], input[type="checkbox"]')||(n.preventDefault(),i.is("input,button")?i.trigger("focus"):i.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(e){t(e.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(e.type))})}(jQuery),function(t){"use strict";function e(e){return this.each(function(){var i=t(this),o=i.data("bs.carousel"),r=t.extend({},n.DEFAULTS,i.data(),"object"==typeof e&&e),s="string"==typeof e?e:r.slide;o||i.data("bs.carousel",o=new n(this,r)),"number"==typeof e?o.to(e):s?o[s]():r.interval&&o.pause().cycle()})}var n=function(e,n){this.$element=t(e),this.$indicators=this.$element.find(".carousel-indicators"),this.options=n,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",t.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",t.proxy(this.pause,this)).on("mouseleave.bs.carousel",t.proxy(this.cycle,this))};n.VERSION="3.3.7",n.TRANSITION_DURATION=600,n.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},n.prototype.keydown=function(t){if(!/input|textarea/i.test(t.target.tagName)){switch(t.which){case 37:this.prev();break;case 39:this.next();break;default:return}t.preventDefault()}},n.prototype.cycle=function(e){return e||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(t.proxy(this.next,this),this.options.interval)),this},n.prototype.getItemIndex=function(t){return this.$items=t.parent().children(".item"),this.$items.index(t||this.$active)},n.prototype.getItemForDirection=function(t,e){var n=this.getItemIndex(e);if(("prev"==t&&0===n||"next"==t&&n==this.$items.length-1)&&!this.options.wrap)return e;var i=(n+("prev"==t?-1:1))%this.$items.length;return this.$items.eq(i)},n.prototype.to=function(t){var e=this,n=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(t>this.$items.length-1||t<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){e.to(t)}):n==t?this.pause().cycle():this.slide(t>n?"next":"prev",this.$items.eq(t))},n.prototype.pause=function(e){return e||(this.paused=!0),this.$element.find(".next, .prev").length&&t.support.transition&&(this.$element.trigger(t.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},n.prototype.next=function(){if(!this.sliding)return this.slide("next")},n.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},n.prototype.slide=function(e,i){var o=this.$element.find(".item.active"),r=i||this.getItemForDirection(e,o),s=this.interval,a="next"==e?"left":"right",l=this;if(r.hasClass("active"))return this.sliding=!1;var c=r[0],u=t.Event("slide.bs.carousel",{relatedTarget:c,direction:a});if(this.$element.trigger(u),!u.isDefaultPrevented()){if(this.sliding=!0,s&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var h=t(this.$indicators.children()[this.getItemIndex(r)]);h&&h.addClass("active")}var d=t.Event("slid.bs.carousel",{relatedTarget:c,direction:a});return t.support.transition&&this.$element.hasClass("slide")?(r.addClass(e),r[0].offsetWidth,o.addClass(a),r.addClass(a),o.one("bsTransitionEnd",function(){r.removeClass([e,a].join(" ")).addClass("active"),o.removeClass(["active",a].join(" ")),l.sliding=!1,setTimeout(function(){l.$element.trigger(d)},0)}).emulateTransitionEnd(n.TRANSITION_DURATION)):(o.removeClass("active"),r.addClass("active"),this.sliding=!1,this.$element.trigger(d)),s&&this.cycle(),this}};var i=t.fn.carousel;t.fn.carousel=e,t.fn.carousel.Constructor=n,t.fn.carousel.noConflict=function(){return t.fn.carousel=i,this};var o=function(n){var i,o=t(this),r=t(o.attr("data-target")||(i=o.attr("href"))&&i.replace(/.*(?=#[^\s]+$)/,""));if(r.hasClass("carousel")){var s=t.extend({},r.data(),o.data()),a=o.attr("data-slide-to");a&&(s.interval=!1),e.call(r,s),a&&r.data("bs.carousel").to(a),n.preventDefault()}};t(document).on("click.bs.carousel.data-api","[data-slide]",o).on("click.bs.carousel.data-api","[data-slide-to]",o),t(window).on("load",function(){t('[data-ride="carousel"]').each(function(){var n=t(this);e.call(n,n.data())})})}(jQuery),function(t){"use strict";function e(e){var n,i=e.attr("data-target")||(n=e.attr("href"))&&n.replace(/.*(?=#[^\s]+$)/,"");return t(i)}function n(e){return this.each(function(){var n=t(this),o=n.data("bs.collapse"),r=t.extend({},i.DEFAULTS,n.data(),"object"==typeof e&&e);!o&&r.toggle&&/show|hide/.test(e)&&(r.toggle=!1),o||n.data("bs.collapse",o=new i(this,r)),"string"==typeof e&&o[e]()})}var i=function(e,n){this.$element=t(e),this.options=t.extend({},i.DEFAULTS,n),this.$trigger=t('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};i.VERSION="3.3.7",i.TRANSITION_DURATION=350,i.DEFAULTS={toggle:!0},i.prototype.dimension=function(){return this.$element.hasClass("width")?"width":"height"},i.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var e,o=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(o&&o.length&&(e=o.data("bs.collapse"),e&&e.transitioning))){var r=t.Event("show.bs.collapse");if(this.$element.trigger(r),!r.isDefaultPrevented()){o&&o.length&&(n.call(o,"hide"),e||o.data("bs.collapse",null));var s=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[s](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var a=function(){this.$element.removeClass("collapsing").addClass("collapse in")[s](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!t.support.transition)return a.call(this);var l=t.camelCase(["scroll",s].join("-"));this.$element.one("bsTransitionEnd",t.proxy(a,this)).emulateTransitionEnd(i.TRANSITION_DURATION)[s](this.$element[0][l])}}}},i.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var e=t.Event("hide.bs.collapse");if(this.$element.trigger(e),!e.isDefaultPrevented()){var n=this.dimension();this.$element[n](this.$element[n]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var o=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return t.support.transition?void this.$element[n](0).one("bsTransitionEnd",t.proxy(o,this)).emulateTransitionEnd(i.TRANSITION_DURATION):o.call(this)}}},i.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},i.prototype.getParent=function(){return t(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(t.proxy(function(n,i){var o=t(i);this.addAriaAndCollapsedClass(e(o),o)},this)).end()},i.prototype.addAriaAndCollapsedClass=function(t,e){var n=t.hasClass("in");t.attr("aria-expanded",n),e.toggleClass("collapsed",!n).attr("aria-expanded",n)};var o=t.fn.collapse;t.fn.collapse=n,t.fn.collapse.Constructor=i,t.fn.collapse.noConflict=function(){return t.fn.collapse=o,this},t(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(i){var o=t(this);o.attr("data-target")||i.preventDefault();var r=e(o),s=r.data("bs.collapse")?"toggle":o.data();n.call(r,s)})}(jQuery),function(t){"use strict";function e(e){var n=e.attr("data-target");n||(n=(n=e.attr("href"))&&/#[A-Za-z]/.test(n)&&n.replace(/.*(?=#[^\s]*$)/,""));var i=n&&t(n);return i&&i.length?i:e.parent()}function n(n){n&&3===n.which||(t(i).remove(),t(o).each(function(){var i=t(this),o=e(i),r={relatedTarget:this};o.hasClass("open")&&(n&&"click"==n.type&&/input|textarea/i.test(n.target.tagName)&&t.contains(o[0],n.target)||(o.trigger(n=t.Event("hide.bs.dropdown",r)),n.isDefaultPrevented()||(i.attr("aria-expanded","false"),o.removeClass("open").trigger(t.Event("hidden.bs.dropdown",r)))))}))}var i=".dropdown-backdrop",o='[data-toggle="dropdown"]',r=function(e){t(e).on("click.bs.dropdown",this.toggle)};r.VERSION="3.3.7",r.prototype.toggle=function(i){var o=t(this);if(!o.is(".disabled, :disabled")){var r=e(o),s=r.hasClass("open");if(n(),!s){"ontouchstart"in document.documentElement&&!r.closest(".navbar-nav").length&&t(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(t(this)).on("click",n);var a={relatedTarget:this};if(r.trigger(i=t.Event("show.bs.dropdown",a)),i.isDefaultPrevented())return;o.trigger("focus").attr("aria-expanded","true"),r.toggleClass("open").trigger(t.Event("shown.bs.dropdown",a))}return!1}},r.prototype.keydown=function(n){if(/(38|40|27|32)/.test(n.which)&&!/input|textarea/i.test(n.target.tagName)){var i=t(this);if(n.preventDefault(),n.stopPropagation(),!i.is(".disabled, :disabled")){var r=e(i),s=r.hasClass("open");if(!s&&27!=n.which||s&&27==n.which)return 27==n.which&&r.find(o).trigger("focus"),i.trigger("click");var a=r.find(".dropdown-menu li:not(.disabled):visible a");if(a.length){var l=a.index(n.target);38==n.which&&l>0&&l--,40==n.which&&l<a.length-1&&l++,~l||(l=0),a.eq(l).trigger("focus")}}}};var s=t.fn.dropdown;t.fn.dropdown=function(e){return this.each(function(){var n=t(this),i=n.data("bs.dropdown");i||n.data("bs.dropdown",i=new r(this)),"string"==typeof e&&i[e].call(n)})},t.fn.dropdown.Constructor=r,t.fn.dropdown.noConflict=function(){return t.fn.dropdown=s,this},t(document).on("click.bs.dropdown.data-api",n).on("click.bs.dropdown.data-api",".dropdown form",function(t){t.stopPropagation()}).on("click.bs.dropdown.data-api",o,r.prototype.toggle).on("keydown.bs.dropdown.data-api",o,r.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",r.prototype.keydown)}(jQuery),function(t){"use strict";function e(e,i){return this.each(function(){var o=t(this),r=o.data("bs.modal"),s=t.extend({},n.DEFAULTS,o.data(),"object"==typeof e&&e);r||o.data("bs.modal",r=new n(this,s)),"string"==typeof e?r[e](i):s.show&&r.show(i)})}var n=function(e,n){this.options=n,this.$body=t(document.body),this.$element=t(e),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,t.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};n.VERSION="3.3.7",n.TRANSITION_DURATION=300,n.BACKDROP_TRANSITION_DURATION=150,n.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},n.prototype.toggle=function(t){return this.isShown?this.hide():this.show(t)},n.prototype.show=function(e){var i=this,o=t.Event("show.bs.modal",{relatedTarget:e});this.$element.trigger(o),this.isShown||o.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',t.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){i.$element.one("mouseup.dismiss.bs.modal",function(e){t(e.target).is(i.$element)&&(i.ignoreBackdropClick=!0)})}),this.backdrop(function(){var o=t.support.transition&&i.$element.hasClass("fade");i.$element.parent().length||i.$element.appendTo(i.$body),i.$element.show().scrollTop(0),i.adjustDialog(),o&&i.$element[0].offsetWidth,i.$element.addClass("in"),i.enforceFocus();var r=t.Event("shown.bs.modal",{relatedTarget:e});o?i.$dialog.one("bsTransitionEnd",function(){i.$element.trigger("focus").trigger(r)}).emulateTransitionEnd(n.TRANSITION_DURATION):i.$element.trigger("focus").trigger(r)}))},n.prototype.hide=function(e){e&&e.preventDefault(),e=t.Event("hide.bs.modal"),this.$element.trigger(e),this.isShown&&!e.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),t(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),t.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",t.proxy(this.hideModal,this)).emulateTransitionEnd(n.TRANSITION_DURATION):this.hideModal())},n.prototype.enforceFocus=function(){t(document).off("focusin.bs.modal").on("focusin.bs.modal",t.proxy(function(t){document===t.target||this.$element[0]===t.target||this.$element.has(t.target).length||this.$element.trigger("focus")},this))},n.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",t.proxy(function(t){27==t.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},n.prototype.resize=function(){this.isShown?t(window).on("resize.bs.modal",t.proxy(this.handleUpdate,this)):t(window).off("resize.bs.modal")},n.prototype.hideModal=function(){var t=this;this.$element.hide(),this.backdrop(function(){t.$body.removeClass("modal-open"),t.resetAdjustments(),t.resetScrollbar(),t.$element.trigger("hidden.bs.modal")})},n.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},n.prototype.backdrop=function(e){var i=this,o=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var r=t.support.transition&&o;if(this.$backdrop=t(document.createElement("div")).addClass("modal-backdrop "+o).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",t.proxy(function(t){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(t.target===t.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),r&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!e)return;r?this.$backdrop.one("bsTransitionEnd",e).emulateTransitionEnd(n.BACKDROP_TRANSITION_DURATION):e()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var s=function(){i.removeBackdrop(),e&&e()};t.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",s).emulateTransitionEnd(n.BACKDROP_TRANSITION_DURATION):s()}else e&&e()},n.prototype.handleUpdate=function(){this.adjustDialog()},n.prototype.adjustDialog=function(){var t=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&t?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!t?this.scrollbarWidth:""})},n.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},n.prototype.checkScrollbar=function(){var t=window.innerWidth;if(!t){var e=document.documentElement.getBoundingClientRect();t=e.right-Math.abs(e.left)}this.bodyIsOverflowing=document.body.clientWidth<t,this.scrollbarWidth=this.measureScrollbar()},n.prototype.setScrollbar=function(){var t=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",t+this.scrollbarWidth)},n.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},n.prototype.measureScrollbar=function(){var t=document.createElement("div");t.className="modal-scrollbar-measure",this.$body.append(t);var e=t.offsetWidth-t.clientWidth;return this.$body[0].removeChild(t),e};var i=t.fn.modal;t.fn.modal=e,t.fn.modal.Constructor=n,t.fn.modal.noConflict=function(){return t.fn.modal=i,this},t(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(n){var i=t(this),o=i.attr("href"),r=t(i.attr("data-target")||o&&o.replace(/.*(?=#[^\s]+$)/,"")),s=r.data("bs.modal")?"toggle":t.extend({remote:!/#/.test(o)&&o},r.data(),i.data());i.is("a")&&n.preventDefault(),r.one("show.bs.modal",function(t){t.isDefaultPrevented()||r.one("hidden.bs.modal",function(){i.is(":visible")&&i.trigger("focus")})}),e.call(r,s,this)})}(jQuery),function(t){"use strict";var e=function(t,e){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",t,e)};e.VERSION="3.3.7",e.TRANSITION_DURATION=150,e.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},e.prototype.init=function(e,n,i){if(this.enabled=!0,this.type=e,this.$element=t(n),this.options=this.getOptions(i),this.$viewport=this.options.viewport&&t(t.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var o=this.options.trigger.split(" "),r=o.length;r--;){var s=o[r];if("click"==s)this.$element.on("click."+this.type,this.options.selector,t.proxy(this.toggle,this));else if("manual"!=s){var a="hover"==s?"mouseenter":"focusin",l="hover"==s?"mouseleave":"focusout";this.$element.on(a+"."+this.type,this.options.selector,t.proxy(this.enter,this)),this.$element.on(l+"."+this.type,this.options.selector,t.proxy(this.leave,this))}}this.options.selector?this._options=t.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},e.prototype.getDefaults=function(){return e.DEFAULTS},e.prototype.getOptions=function(e){return(e=t.extend({},this.getDefaults(),this.$element.data(),e)).delay&&"number"==typeof e.delay&&(e.delay={show:e.delay,hide:e.delay}),e},e.prototype.getDelegateOptions=function(){var e={},n=this.getDefaults();return this._options&&t.each(this._options,function(t,i){n[t]!=i&&(e[t]=i)}),e},e.prototype.enter=function(e){var n=e instanceof this.constructor?e:t(e.currentTarget).data("bs."+this.type);return n||(n=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,n)),e instanceof t.Event&&(n.inState["focusin"==e.type?"focus":"hover"]=!0),n.tip().hasClass("in")||"in"==n.hoverState?void(n.hoverState="in"):(clearTimeout(n.timeout),n.hoverState="in",n.options.delay&&n.options.delay.show?void(n.timeout=setTimeout(function(){"in"==n.hoverState&&n.show()},n.options.delay.show)):n.show())},e.prototype.isInStateTrue=function(){for(var t in this.inState)if(this.inState[t])return!0;return!1},e.prototype.leave=function(e){var n=e instanceof this.constructor?e:t(e.currentTarget).data("bs."+this.type);if(n||(n=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,n)),e instanceof t.Event&&(n.inState["focusout"==e.type?"focus":"hover"]=!1),!n.isInStateTrue())return clearTimeout(n.timeout),n.hoverState="out",n.options.delay&&n.options.delay.hide?void(n.timeout=setTimeout(function(){"out"==n.hoverState&&n.hide()},n.options.delay.hide)):n.hide()},e.prototype.show=function(){var n=t.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(n);var i=t.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(n.isDefaultPrevented()||!i)return;var o=this,r=this.tip(),s=this.getUID(this.type);this.setContent(),r.attr("id",s),this.$element.attr("aria-describedby",s),this.options.animation&&r.addClass("fade");var a="function"==typeof this.options.placement?this.options.placement.call(this,r[0],this.$element[0]):this.options.placement,l=/\s?auto?\s?/i,c=l.test(a);c&&(a=a.replace(l,"")||"top"),r.detach().css({top:0,left:0,display:"block"}).addClass(a).data("bs."+this.type,this),this.options.container?r.appendTo(this.options.container):r.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var u=this.getPosition(),h=r[0].offsetWidth,d=r[0].offsetHeight;if(c){var p=a,f=this.getPosition(this.$viewport);a="bottom"==a&&u.bottom+d>f.bottom?"top":"top"==a&&u.top-d<f.top?"bottom":"right"==a&&u.right+h>f.width?"left":"left"==a&&u.left-h<f.left?"right":a,r.removeClass(p).addClass(a)}var g=this.getCalculatedOffset(a,u,h,d);this.applyPlacement(g,a);var m=function(){var t=o.hoverState;o.$element.trigger("shown.bs."+o.type),o.hoverState=null,"out"==t&&o.leave(o)};t.support.transition&&this.$tip.hasClass("fade")?r.one("bsTransitionEnd",m).emulateTransitionEnd(e.TRANSITION_DURATION):m()}},e.prototype.applyPlacement=function(e,n){var i=this.tip(),o=i[0].offsetWidth,r=i[0].offsetHeight,s=parseInt(i.css("margin-top"),10),a=parseInt(i.css("margin-left"),10);isNaN(s)&&(s=0),isNaN(a)&&(a=0),e.top+=s,e.left+=a,t.offset.setOffset(i[0],t.extend({using:function(t){i.css({top:Math.round(t.top),left:Math.round(t.left)})}},e),0),i.addClass("in");var l=i[0].offsetWidth,c=i[0].offsetHeight;"top"==n&&c!=r&&(e.top=e.top+r-c);var u=this.getViewportAdjustedDelta(n,e,l,c);u.left?e.left+=u.left:e.top+=u.top;var h=/top|bottom/.test(n),d=h?2*u.left-o+l:2*u.top-r+c,p=h?"offsetWidth":"offsetHeight";i.offset(e),this.replaceArrow(d,i[0][p],h)},e.prototype.replaceArrow=function(t,e,n){this.arrow().css(n?"left":"top",50*(1-t/e)+"%").css(n?"top":"left","")},e.prototype.setContent=function(){var t=this.tip(),e=this.getTitle();t.find(".tooltip-inner")[this.options.html?"html":"text"](e),t.removeClass("fade in top bottom left right")},e.prototype.hide=function(n){function i(){"in"!=o.hoverState&&r.detach(),o.$element&&o.$element.removeAttr("aria-describedby").trigger("hidden.bs."+o.type),n&&n()}var o=this,r=t(this.$tip),s=t.Event("hide.bs."+this.type);if(this.$element.trigger(s),!s.isDefaultPrevented())return r.removeClass("in"),t.support.transition&&r.hasClass("fade")?r.one("bsTransitionEnd",i).emulateTransitionEnd(e.TRANSITION_DURATION):i(),this.hoverState=null,this},e.prototype.fixTitle=function(){var t=this.$element;(t.attr("title")||"string"!=typeof t.attr("data-original-title"))&&t.attr("data-original-title",t.attr("title")||"").attr("title","")},e.prototype.hasContent=function(){return this.getTitle()},e.prototype.getPosition=function(e){var n=(e=e||this.$element)[0],i="BODY"==n.tagName,o=n.getBoundingClientRect();null==o.width&&(o=t.extend({},o,{width:o.right-o.left,height:o.bottom-o.top}));var r=window.SVGElement&&n instanceof window.SVGElement,s=i?{top:0,left:0}:r?null:e.offset(),a={scroll:i?document.documentElement.scrollTop||document.body.scrollTop:e.scrollTop()},l=i?{width:t(window).width(),height:t(window).height()}:null;return t.extend({},o,a,l,s)},e.prototype.getCalculatedOffset=function(t,e,n,i){return"bottom"==t?{top:e.top+e.height,left:e.left+e.width/2-n/2}:"top"==t?{top:e.top-i,left:e.left+e.width/2-n/2}:"left"==t?{top:e.top+e.height/2-i/2,left:e.left-n}:{top:e.top+e.height/2-i/2,left:e.left+e.width}},e.prototype.getViewportAdjustedDelta=function(t,e,n,i){var o={top:0,left:0};if(!this.$viewport)return o;var r=this.options.viewport&&this.options.viewport.padding||0,s=this.getPosition(this.$viewport);if(/right|left/.test(t)){var a=e.top-r-s.scroll,l=e.top+r-s.scroll+i;a<s.top?o.top=s.top-a:l>s.top+s.height&&(o.top=s.top+s.height-l)}else{var c=e.left-r,u=e.left+r+n;c<s.left?o.left=s.left-c:u>s.right&&(o.left=s.left+s.width-u)}return o},e.prototype.getTitle=function(){var t=this.$element,e=this.options;return t.attr("data-original-title")||("function"==typeof e.title?e.title.call(t[0]):e.title)},e.prototype.getUID=function(t){do{t+=~~(1e6*Math.random())}while(document.getElementById(t));return t},e.prototype.tip=function(){if(!this.$tip&&(this.$tip=t(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},e.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},e.prototype.enable=function(){this.enabled=!0},e.prototype.disable=function(){this.enabled=!1},e.prototype.toggleEnabled=function(){this.enabled=!this.enabled},e.prototype.toggle=function(e){var n=this;e&&((n=t(e.currentTarget).data("bs."+this.type))||(n=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,n))),e?(n.inState.click=!n.inState.click,n.isInStateTrue()?n.enter(n):n.leave(n)):n.tip().hasClass("in")?n.leave(n):n.enter(n)},e.prototype.destroy=function(){var t=this;clearTimeout(this.timeout),this.hide(function(){t.$element.off("."+t.type).removeData("bs."+t.type),t.$tip&&t.$tip.detach(),t.$tip=null,t.$arrow=null,t.$viewport=null,t.$element=null})};var n=t.fn.tooltip;t.fn.tooltip=function(n){return this.each(function(){var i=t(this),o=i.data("bs.tooltip"),r="object"==typeof n&&n;!o&&/destroy|hide/.test(n)||(o||i.data("bs.tooltip",o=new e(this,r)),"string"==typeof n&&o[n]())})},t.fn.tooltip.Constructor=e,t.fn.tooltip.noConflict=function(){return t.fn.tooltip=n,this}}(jQuery),function(t){"use strict";var e=function(t,e){this.init("popover",t,e)};if(!t.fn.tooltip)throw new Error("Popover requires tooltip.js");e.VERSION="3.3.7",e.DEFAULTS=t.extend({},t.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),e.prototype=t.extend({},t.fn.tooltip.Constructor.prototype),e.prototype.constructor=e,e.prototype.getDefaults=function(){return e.DEFAULTS},e.prototype.setContent=function(){var t=this.tip(),e=this.getTitle(),n=this.getContent();t.find(".popover-title")[this.options.html?"html":"text"](e),t.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof n?"html":"append":"text"](n),t.removeClass("fade top bottom left right in"),t.find(".popover-title").html()||t.find(".popover-title").hide()},e.prototype.hasContent=function(){return this.getTitle()||this.getContent()},e.prototype.getContent=function(){var t=this.$element,e=this.options;return t.attr("data-content")||("function"==typeof e.content?e.content.call(t[0]):e.content)},e.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var n=t.fn.popover;t.fn.popover=function(n){return this.each(function(){var i=t(this),o=i.data("bs.popover"),r="object"==typeof n&&n;!o&&/destroy|hide/.test(n)||(o||i.data("bs.popover",o=new e(this,r)),"string"==typeof n&&o[n]())})},t.fn.popover.Constructor=e,t.fn.popover.noConflict=function(){return t.fn.popover=n,this}}(jQuery),function(t){"use strict";function e(n,i){this.$body=t(document.body),this.$scrollElement=t(t(n).is(document.body)?window:n),this.options=t.extend({},e.DEFAULTS,i),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",t.proxy(this.process,this)),this.refresh(),this.process()}function n(n){return this.each(function(){var i=t(this),o=i.data("bs.scrollspy"),r="object"==typeof n&&n;o||i.data("bs.scrollspy",o=new e(this,r)),"string"==typeof n&&o[n]()})}e.VERSION="3.3.7",e.DEFAULTS={offset:10},e.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},e.prototype.refresh=function(){var e=this,n="offset",i=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),t.isWindow(this.$scrollElement[0])||(n="position",i=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var e=t(this),o=e.data("target")||e.attr("href"),r=/^#./.test(o)&&t(o);return r&&r.length&&r.is(":visible")&&[[r[n]().top+i,o]]||null}).sort(function(t,e){return t[0]-e[0]}).each(function(){e.offsets.push(this[0]),e.targets.push(this[1])})},e.prototype.process=function(){var t,e=this.$scrollElement.scrollTop()+this.options.offset,n=this.getScrollHeight(),i=this.options.offset+n-this.$scrollElement.height(),o=this.offsets,r=this.targets,s=this.activeTarget;if(this.scrollHeight!=n&&this.refresh(),e>=i)return s!=(t=r[r.length-1])&&this.activate(t);if(s&&e<o[0])return this.activeTarget=null,this.clear();for(t=o.length;t--;)s!=r[t]&&e>=o[t]&&(void 0===o[t+1]||e<o[t+1])&&this.activate(r[t])},e.prototype.activate=function(e){this.activeTarget=e,this.clear();var n=this.selector+'[data-target="'+e+'"],'+this.selector+'[href="'+e+'"]',i=t(n).parents("li").addClass("active");i.parent(".dropdown-menu").length&&(i=i.closest("li.dropdown").addClass("active")),i.trigger("activate.bs.scrollspy")},e.prototype.clear=function(){t(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var i=t.fn.scrollspy;t.fn.scrollspy=n,t.fn.scrollspy.Constructor=e,t.fn.scrollspy.noConflict=function(){return t.fn.scrollspy=i,this},t(window).on("load.bs.scrollspy.data-api",function(){t('[data-spy="scroll"]').each(function(){var e=t(this);n.call(e,e.data())})})}(jQuery),function(t){"use strict";function e(e){return this.each(function(){var i=t(this),o=i.data("bs.tab");o||i.data("bs.tab",o=new n(this)),"string"==typeof e&&o[e]()})}var n=function(e){this.element=t(e)};n.VERSION="3.3.7",n.TRANSITION_DURATION=150,n.prototype.show=function(){var e=this.element,n=e.closest("ul:not(.dropdown-menu)"),i=e.data("target");if(i||(i=(i=e.attr("href"))&&i.replace(/.*(?=#[^\s]*$)/,"")),!e.parent("li").hasClass("active")){var o=n.find(".active:last a"),r=t.Event("hide.bs.tab",{relatedTarget:e[0]}),s=t.Event("show.bs.tab",{relatedTarget:o[0]});if(o.trigger(r),e.trigger(s),!s.isDefaultPrevented()&&!r.isDefaultPrevented()){var a=t(i);this.activate(e.closest("li"),n),this.activate(a,a.parent(),function(){o.trigger({type:"hidden.bs.tab",relatedTarget:e[0]}),e.trigger({type:"shown.bs.tab",relatedTarget:o[0]})})}}},n.prototype.activate=function(e,i,o){function r(){s.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),e.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),a?(e[0].offsetWidth,e.addClass("in")):e.removeClass("fade"),e.parent(".dropdown-menu").length&&e.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),o&&o()}var s=i.find("> .active"),a=o&&t.support.transition&&(s.length&&s.hasClass("fade")||!!i.find("> .fade").length);s.length&&a?s.one("bsTransitionEnd",r).emulateTransitionEnd(n.TRANSITION_DURATION):r(),s.removeClass("in")};var i=t.fn.tab;t.fn.tab=e,t.fn.tab.Constructor=n,t.fn.tab.noConflict=function(){return t.fn.tab=i,this};var o=function(n){n.preventDefault(),e.call(t(this),"show")};t(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',o).on("click.bs.tab.data-api",'[data-toggle="pill"]',o)}(jQuery),function(t){"use strict";function e(e){return this.each(function(){var i=t(this),o=i.data("bs.affix"),r="object"==typeof e&&e;o||i.data("bs.affix",o=new n(this,r)),"string"==typeof e&&o[e]()})}var n=function(e,i){this.options=t.extend({},n.DEFAULTS,i),this.$target=t(this.options.target).on("scroll.bs.affix.data-api",t.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",t.proxy(this.checkPositionWithEventLoop,this)),this.$element=t(e),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};n.VERSION="3.3.7",n.RESET="affix affix-top affix-bottom",n.DEFAULTS={offset:0,target:window},n.prototype.getState=function(t,e,n,i){var o=this.$target.scrollTop(),r=this.$element.offset(),s=this.$target.height();if(null!=n&&"top"==this.affixed)return o<n&&"top";if("bottom"==this.affixed)return null!=n?!(o+this.unpin<=r.top)&&"bottom":!(o+s<=t-i)&&"bottom";var a=null==this.affixed,l=a?o:r.top;return null!=n&&o<=n?"top":null!=i&&l+(a?s:e)>=t-i&&"bottom"},n.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(n.RESET).addClass("affix");var t=this.$target.scrollTop(),e=this.$element.offset();return this.pinnedOffset=e.top-t},n.prototype.checkPositionWithEventLoop=function(){setTimeout(t.proxy(this.checkPosition,this),1)},n.prototype.checkPosition=function(){if(this.$element.is(":visible")){var e=this.$element.height(),i=this.options.offset,o=i.top,r=i.bottom,s=Math.max(t(document).height(),t(document.body).height());"object"!=typeof i&&(r=o=i),"function"==typeof o&&(o=i.top(this.$element)),"function"==typeof r&&(r=i.bottom(this.$element));var a=this.getState(s,e,o,r);if(this.affixed!=a){null!=this.unpin&&this.$element.css("top","");var l="affix"+(a?"-"+a:""),c=t.Event(l+".bs.affix");if(this.$element.trigger(c),c.isDefaultPrevented())return;this.affixed=a,this.unpin="bottom"==a?this.getPinnedOffset():null,this.$element.removeClass(n.RESET).addClass(l).trigger(l.replace("affix","affixed")+".bs.affix")}"bottom"==a&&this.$element.offset({top:s-e-r})}};var i=t.fn.affix;t.fn.affix=e,t.fn.affix.Constructor=n,t.fn.affix.noConflict=function(){return t.fn.affix=i,this},t(window).on("load",function(){t('[data-spy="affix"]').each(function(){var n=t(this),i=n.data();i.offset=i.offset||{},null!=i.offsetBottom&&(i.offset.bottom=i.offsetBottom),null!=i.offsetTop&&(i.offset.top=i.offsetTop),e.call(n,i)})})}(jQuery),function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof exports?t(require("jquery")):t(jQuery)}(function(t){"use strict";var e=function(e,n){t.each(["autofocus","savable","hideable","width","height","resize","iconlibrary","language","footer","fullscreen","hiddenButtons","disabledButtons"],function(i,o){void 0!==t(e).data(o)&&((n="object"==typeof n?n:{})[o]=t(e).data(o))}),this.$ns="bootstrap-markdown",this.$element=t(e),this.$editable={el:null,type:null,attrKeys:[],attrValues:[],content:null},this.$options=t.extend(!0,{},t.fn.markdown.defaults,n,this.$element.data("options")),this.$oldContent=null,this.$isPreview=!1,this.$isFullscreen=!1,this.$editor=null,this.$textarea=null,this.$handler=[],this.$callback=[],this.$nextTab=[],this.showEditor()};e.prototype={constructor:e,__alterButtons:function(e,n){var i=this.$handler,o="all"==e,r=this;t.each(i,function(t,i){!1===(!o&&i.indexOf(e)<0)&&n(r.$editor.find('button[data-handler="'+i+'"]'))})},__buildButtons:function(e,n){var i,o=this.$ns,r=this.$handler,s=this.$callback;for(i=0;i<e.length;i++){var a,l=e[i];for(a=0;a<l.length;a++){var c,u=l[a].data,h=t("<div/>",{class:"btn-group"});for(c=0;c<u.length;c++){var d,p,f=u[c],g=o+"-"+f.name,m=this.__getIcon(f.icon),v=f.btnText?f.btnText:"",y=f.btnClass?f.btnClass:"btn",b=f.tabIndex?f.tabIndex:"-1",x=void 0!==f.hotkey?f.hotkey:"",w=void 0!==jQuery.hotkeys&&""!==x?" ("+x+")":"";(d=t("<button></button>")).text(" "+this.__localize(v)).addClass("btn-default btn-sm").addClass(y),y.match(/btn\-(primary|success|info|warning|danger|link)/)&&d.removeClass("btn-default"),d.attr({type:"button",title:this.__localize(f.title)+w,tabindex:b,"data-provider":o,"data-handler":g,"data-hotkey":x}),!0===f.toggle&&d.attr("data-toggle","button"),(p=t("<span/>")).addClass(m),p.prependTo(d),h.append(d),r.push(g),s.push(f.callback)}n.append(h)}}return n},__setListener:function(){var e=void 0!==this.$textarea.attr("rows"),n=this.$textarea.val().split("\n").length>5?this.$textarea.val().split("\n").length:"5",i=e?this.$textarea.attr("rows"):n;this.$textarea.attr("rows",i),this.$options.resize&&this.$textarea.css("resize",this.$options.resize),this.$textarea.on({focus:t.proxy(this.focus,this),keyup:t.proxy(this.keyup,this),change:t.proxy(this.change,this),select:t.proxy(this.select,this)}),this.eventSupported("keydown")&&this.$textarea.on("keydown",t.proxy(this.keydown,this)),this.eventSupported("keypress")&&this.$textarea.on("keypress",t.proxy(this.keypress,this)),this.$textarea.data("markdown",this)},__handle:function(e){var n=t(e.currentTarget),i=this.$handler,o=this.$callback,r=n.attr("data-handler"),s=o[i.indexOf(r)];t(e.currentTarget).focus(),s(this),this.change(this),r.indexOf("cmdSave")<0&&this.$textarea.focus(),e.preventDefault()},__localize:function(e){var n=t.fn.markdown.messages,i=this.$options.language;return void 0!==n&&void 0!==n[i]&&void 0!==n[i][e]?n[i][e]:e},__getIcon:function(t){return"object"==typeof t?t[this.$options.iconlibrary]:t},setFullscreen:function(e){var n=this.$editor,i=this.$textarea;!0===e?(n.addClass("md-fullscreen-mode"),t("body").addClass("md-nooverflow"),this.$options.onFullscreen(this)):(n.removeClass("md-fullscreen-mode"),t("body").removeClass("md-nooverflow"),1==this.$isPreview&&this.hidePreview().showPreview()),this.$isFullscreen=e,i.focus()},showEditor:function(){var e,n=this,i=this.$ns,o=this.$element,r=(o.css("height"),o.css("width"),this.$editable),s=this.$handler,a=this.$callback,l=this.$options,c=t("<div/>",{class:"md-editor",click:function(){n.focus()}});if(null===this.$editor){var u=t("<div/>",{class:"md-header btn-toolbar"}),h=[];if(l.buttons.length>0&&(h=h.concat(l.buttons[0])),l.additionalButtons.length>0&&t.each(l.additionalButtons[0],function(e,n){var i=t.grep(h,function(t,e){return t.name===n.name});i.length>0?i[0].data=i[0].data.concat(n.data):h.push(l.additionalButtons[0][e])}),l.reorderButtonGroups.length>0&&(h=h.filter(function(t){return l.reorderButtonGroups.indexOf(t.name)>-1}).sort(function(t,e){return l.reorderButtonGroups.indexOf(t.name)<l.reorderButtonGroups.indexOf(e.name)?-1:l.reorderButtonGroups.indexOf(t.name)>l.reorderButtonGroups.indexOf(e.name)?1:0})),h.length>0&&(u=this.__buildButtons([h],u)),l.fullscreen.enable&&u.append('<div class="md-controls"><a class="md-control md-control-fullscreen" href="#"><span class="'+this.__getIcon(l.fullscreen.icons.fullscreenOn)+'"></span></a></div>').on("click",".md-control-fullscreen",function(t){t.preventDefault(),n.setFullscreen(!0)}),c.append(u),o.is("textarea"))o.before(c),(e=o).addClass("md-input"),c.append(e);else{var d="function"==typeof toMarkdown?toMarkdown(o.html()):o.html(),p=t.trim(d);e=t("<textarea/>",{class:"md-input",val:p}),c.append(e),r.el=o,r.type=o.prop("tagName").toLowerCase(),r.content=o.html(),t(o[0].attributes).each(function(){r.attrKeys.push(this.nodeName),r.attrValues.push(this.nodeValue)}),o.replaceWith(c)}var f,g=t("<div/>",{class:"md-footer"}),m=!1;if(l.savable){m=!0;var v="cmdSave";s.push(v),a.push(l.onSave),g.append('<button class="btn btn-success" data-provider="'+i+'" data-handler="'+v+'"><i class="icon icon-white icon-ok"></i> '+this.__localize("Save")+"</button>")}if(f="function"==typeof l.footer?l.footer(this):l.footer,""!==t.trim(f)&&(m=!0,g.append(f)),m&&c.append(g),l.width&&"inherit"!==l.width&&(jQuery.isNumeric(l.width)?(c.css("display","table"),e.css("width",l.width+"px")):c.addClass(l.width)),l.height&&"inherit"!==l.height)if(jQuery.isNumeric(l.height)){var y=l.height;u&&(y=Math.max(0,y-u.outerHeight())),g&&(y=Math.max(0,y-g.outerHeight())),e.css("height",y+"px")}else c.addClass(l.height);this.$editor=c,this.$textarea=e,this.$editable=r,this.$oldContent=this.getContent(),this.__setListener(),this.$editor.attr("id",(new Date).getTime()),this.$editor.on("click",'[data-provider="bootstrap-markdown"]',t.proxy(this.__handle,this)),(this.$element.is(":disabled")||this.$element.is("[readonly]"))&&(this.$editor.addClass("md-editor-disabled"),this.disableButtons("all")),this.eventSupported("keydown")&&"object"==typeof jQuery.hotkeys&&u.find('[data-provider="bootstrap-markdown"]').each(function(){var n=t(this),i=n.attr("data-hotkey");""!==i.toLowerCase()&&e.bind("keydown",i,function(){return n.trigger("click"),!1})}),"preview"===l.initialstate?this.showPreview():"fullscreen"===l.initialstate&&l.fullscreen.enable&&this.setFullscreen(!0)}else this.$editor.show();return l.autofocus&&(this.$textarea.focus(),this.$editor.addClass("active")),l.fullscreen.enable&&!1!==l.fullscreen&&(this.$editor.append('<div class="md-fullscreen-controls"><a href="#" class="exit-fullscreen" title="Exit fullscreen"><span class="'+this.__getIcon(l.fullscreen.icons.fullscreenOff)+'"></span></a></div>'),this.$editor.on("click",".exit-fullscreen",function(t){t.preventDefault(),n.setFullscreen(!1)})),this.hideButtons(l.hiddenButtons),this.disableButtons(l.disabledButtons),l.onShow(this),this},parseContent:function(t){t=t||this.$textarea.val();return this.$options.parser?this.$options.parser(t):"object"==typeof markdown?markdown.toHTML(t):"function"==typeof marked?marked(t):t},showPreview:function(){var e,n,i=this.$options,o=this.$textarea,r=o.next(),s=t("<div/>",{class:"md-preview","data-provider":"markdown-preview"});return 1==this.$isPreview?this:(this.$isPreview=!0,this.disableButtons("all").enableButtons("cmdPreview"),e="string"==typeof(n=i.onPreview(this))?n:this.parseContent(),s.html(e),r&&"md-footer"==r.attr("class")?s.insertBefore(r):o.parent().append(s),s.css({width:o.outerWidth()+"px",height:o.outerHeight()+"px"}),this.$options.resize&&s.css("resize",this.$options.resize),o.hide(),s.data("markdown",this),(this.$element.is(":disabled")||this.$element.is("[readonly]"))&&(this.$editor.addClass("md-editor-disabled"),this.disableButtons("all")),this)},hidePreview:function(){return this.$isPreview=!1,this.$editor.find('div[data-provider="markdown-preview"]').remove(),this.enableButtons("all"),this.disableButtons(this.$options.disabledButtons),this.$textarea.show(),this.__setListener(),this},isDirty:function(){return this.$oldContent!=this.getContent()},getContent:function(){return this.$textarea.val()},setContent:function(t){return this.$textarea.val(t),this},findSelection:function(t){var e;if((e=this.getContent().indexOf(t))>=0&&t.length>0){var n,i=this.getSelection();return this.setSelection(e,e+t.length),n=this.getSelection(),this.setSelection(i.start,i.end),n}return null},getSelection:function(){var t=this.$textarea[0];return("selectionStart"in t&&function(){var e=t.selectionEnd-t.selectionStart;return{start:t.selectionStart,end:t.selectionEnd,length:e,text:t.value.substr(t.selectionStart,e)}}||function(){return null})()},setSelection:function(t,e){var n=this.$textarea[0];return("selectionStart"in n&&function(){n.selectionStart=t,n.selectionEnd=e}||function(){return null})()},replaceSelection:function(t){var e=this.$textarea[0];return("selectionStart"in e&&function(){return e.value=e.value.substr(0,e.selectionStart)+t+e.value.substr(e.selectionEnd,e.value.length),e.selectionStart=e.value.length,this}||function(){return e.value+=t,jQuery(e)})()},getNextTab:function(){if(0===this.$nextTab.length)return null;var t,e=this.$nextTab.shift();return"function"==typeof e?t=e():"object"==typeof e&&e.length>0&&(t=e),t},setNextTab:function(t,e){if("string"==typeof t){var n=this;this.$nextTab.push(function(){return n.findSelection(t)})}else if("number"==typeof t&&"number"==typeof e){var i=this.getSelection();this.setSelection(t,e),this.$nextTab.push(this.getSelection()),this.setSelection(i.start,i.end)}},__parseButtonNameParam:function(t){return"string"==typeof t?t.split(" "):t},enableButtons:function(e){var n=this.__parseButtonNameParam(e),i=this;return t.each(n,function(t,e){i.__alterButtons(n[t],function(t){t.removeAttr("disabled")})}),this},disableButtons:function(e){var n=this.__parseButtonNameParam(e),i=this;return t.each(n,function(t,e){i.__alterButtons(n[t],function(t){t.attr("disabled","disabled")})}),this},hideButtons:function(e){var n=this.__parseButtonNameParam(e),i=this;return t.each(n,function(t,e){i.__alterButtons(n[t],function(t){t.addClass("hidden")})}),this},showButtons:function(e){var n=this.__parseButtonNameParam(e),i=this;return t.each(n,function(t,e){i.__alterButtons(n[t],function(t){t.removeClass("hidden")})}),this},eventSupported:function(t){var e=t in this.$element;return e||(this.$element.setAttribute(t,"return;"),e="function"==typeof this.$element[t]),e},keyup:function(t){var e=!1;switch(t.keyCode){case 40:case 38:case 16:case 17:case 18:break;case 9:var n;if(null!==(n=this.getNextTab())){var i=this;setTimeout(function(){i.setSelection(n.start,n.end)},500),e=!0}else{var o=this.getSelection();o.start==o.end&&o.end==this.getContent().length?e=!1:(this.setSelection(this.getContent().length,this.getContent().length),e=!0)}break;case 13:e=!1;break;case 27:this.$isFullscreen&&this.setFullscreen(!1),e=!1;break;default:e=!1}e&&(t.stopPropagation(),t.preventDefault()),this.$options.onChange(this)},change:function(t){return this.$options.onChange(this),this},select:function(t){return this.$options.onSelect(this),this},focus:function(e){var n=this.$options,i=(n.hideable,this.$editor);return i.addClass("active"),t(document).find(".md-editor").each(function(){var e;t(this).attr("id")!==i.attr("id")&&(null===(e=t(this).find("textarea").data("markdown"))&&(e=t(this).find('div[data-provider="markdown-preview"]').data("markdown")),e&&e.blur())}),n.onFocus(this),this},blur:function(e){var n=this.$options,i=n.hideable,o=this.$editor,r=this.$editable;if(o.hasClass("active")||0===this.$element.parent().length){if(o.removeClass("active"),i)if(null!==r.el){var s=t("<"+r.type+"/>"),a=this.getContent(),l=this.parseContent(a);t(r.attrKeys).each(function(t,e){s.attr(r.attrKeys[t],r.attrValues[t])}),s.html(l),o.replaceWith(s)}else o.hide();n.onBlur(this)}return this}};var n=t.fn.markdown;t.fn.markdown=function(n){return this.each(function(){var i=t(this),o=i.data("markdown"),r="object"==typeof n&&n;o||i.data("markdown",o=new e(this,r))})},t.fn.markdown.messages={},t.fn.markdown.defaults={autofocus:!1,hideable:!1,savable:!1,width:"inherit",height:"inherit",resize:"none",iconlibrary:"glyph",language:"en",initialstate:"editor",parser:null,buttons:[[{name:"groupFont",data:[{name:"cmdBold",hotkey:"Ctrl+B",title:"Bold",icon:{glyph:"glyphicon glyphicon-bold",fa:"fa fa-bold","fa-3":"icon-bold"},callback:function(t){var e,n,i=t.getSelection(),o=t.getContent();e=0===i.length?t.__localize("strong text"):i.text,"**"===o.substr(i.start-2,2)&&"**"===o.substr(i.end,2)?(t.setSelection(i.start-2,i.end+2),t.replaceSelection(e),n=i.start-2):(t.replaceSelection("**"+e+"**"),n=i.start+2),t.setSelection(n,n+e.length)}},{name:"cmdItalic",title:"Italic",hotkey:"Ctrl+I",icon:{glyph:"glyphicon glyphicon-italic",fa:"fa fa-italic","fa-3":"icon-italic"},callback:function(t){var e,n,i=t.getSelection(),o=t.getContent();e=0===i.length?t.__localize("emphasized text"):i.text,"_"===o.substr(i.start-1,1)&&"_"===o.substr(i.end,1)?(t.setSelection(i.start-1,i.end+1),t.replaceSelection(e),n=i.start-1):(t.replaceSelection("_"+e+"_"),n=i.start+1),t.setSelection(n,n+e.length)}},{name:"cmdHeading",title:"Heading",hotkey:"Ctrl+H",icon:{glyph:"glyphicon glyphicon-header",fa:"fa fa-header","fa-3":"icon-font"},callback:function(t){var e,n,i,o,r=t.getSelection(),s=t.getContent();e=0===r.length?t.__localize("heading text"):r.text+"\n",i=4,"### "===s.substr(r.start-i,i)||(i=3,"###"===s.substr(r.start-i,i))?(t.setSelection(r.start-i,r.end),t.replaceSelection(e),n=r.start-i):r.start>0&&((o=s.substr(r.start-1,1))&&"\n"!=o)?(t.replaceSelection("\n\n### "+e),n=r.start+6):(t.replaceSelection("### "+e),n=r.start+4),t.setSelection(n,n+e.length)}}]},{name:"groupLink",data:[{name:"cmdUrl",title:"URL/Link",hotkey:"Ctrl+L",icon:{glyph:"glyphicon glyphicon-link",fa:"fa fa-link","fa-3":"icon-link"},callback:function(e){var n,i,o,r=e.getSelection();e.getContent();n=0===r.length?e.__localize("enter link description here"):r.text,o=prompt(e.__localize("Insert Hyperlink"),"http://");var s=new RegExp("^((http|https)://|(mailto:)|(//))[a-z0-9]","i");if(null!==o&&""!==o&&"http://"!==o&&s.test(o)){var a=t("<div>"+o+"</div>").text();e.replaceSelection("["+n+"]("+a+")"),i=r.start+1,e.setSelection(i,i+n.length)}}},{name:"cmdImage",title:"Image",hotkey:"Ctrl+G",icon:{glyph:"glyphicon glyphicon-picture",fa:"fa fa-picture-o","fa-3":"icon-picture"},callback:function(e){var n,i,o,r=e.getSelection();e.getContent();n=0===r.length?e.__localize("enter image description here"):r.text,o=prompt(e.__localize("Insert Image Hyperlink"),"http://");var s=new RegExp("^((http|https)://|(//))[a-z0-9]","i");if(null!==o&&""!==o&&"http://"!==o&&s.test(o)){var a=t("<div>"+o+"</div>").text();e.replaceSelection("!["+n+"]("+a+' "'+e.__localize("enter image title here")+'")'),i=r.start+2,e.setNextTab(e.__localize("enter image title here")),e.setSelection(i,i+n.length)}}}]},{name:"groupMisc",data:[{name:"cmdList",hotkey:"Ctrl+U",title:"Unordered List",icon:{glyph:"glyphicon glyphicon-list",fa:"fa fa-list","fa-3":"icon-list-ul"},callback:function(e){var n,i,o=e.getSelection();e.getContent();if(0===o.length)n=e.__localize("list text here"),e.replaceSelection("- "+n),i=o.start+2;else if(o.text.indexOf("\n")<0)n=o.text,e.replaceSelection("- "+n),i=o.start+2;else{var r=[];n=(r=o.text.split("\n"))[0],t.each(r,function(t,e){r[t]="- "+e}),e.replaceSelection("\n\n"+r.join("\n")),i=o.start+4}e.setSelection(i,i+n.length)}},{name:"cmdListO",hotkey:"Ctrl+O",title:"Ordered List",icon:{glyph:"glyphicon glyphicon-th-list",fa:"fa fa-list-ol","fa-3":"icon-list-ol"},callback:function(e){var n,i,o=e.getSelection();e.getContent();if(0===o.length)n=e.__localize("list text here"),e.replaceSelection("1. "+n),i=o.start+3;else if(o.text.indexOf("\n")<0)n=o.text,e.replaceSelection("1. "+n),i=o.start+3;else{var r=[];n=(r=o.text.split("\n"))[0],t.each(r,function(t,e){r[t]="1. "+e}),e.replaceSelection("\n\n"+r.join("\n")),i=o.start+5}e.setSelection(i,i+n.length)}},{name:"cmdCode",hotkey:"Ctrl+K",title:"Code",icon:{glyph:"glyphicon glyphicon-asterisk",fa:"fa fa-code","fa-3":"icon-code"},callback:function(t){var e,n,i=t.getSelection(),o=t.getContent();e=0===i.length?t.__localize("code text here"):i.text,"```\n"===o.substr(i.start-4,4)&&"\n```"===o.substr(i.end,4)?(t.setSelection(i.start-4,i.end+4),t.replaceSelection(e),n=i.start-4):"`"===o.substr(i.start-1,1)&&"`"===o.substr(i.end,1)?(t.setSelection(i.start-1,i.end+1),t.replaceSelection(e),n=i.start-1):o.indexOf("\n")>-1?(t.replaceSelection("```\n"+e+"\n```"),n=i.start+4):(t.replaceSelection("`"+e+"`"),n=i.start+1),t.setSelection(n,n+e.length)}},{name:"cmdQuote",hotkey:"Ctrl+Q",title:"Quote",icon:{glyph:"glyphicon glyphicon-comment",fa:"fa fa-quote-left","fa-3":"icon-quote-left"},callback:function(e){var n,i,o=e.getSelection();e.getContent();if(0===o.length)n=e.__localize("quote here"),e.replaceSelection("> "+n),i=o.start+2;else if(o.text.indexOf("\n")<0)n=o.text,e.replaceSelection("> "+n),i=o.start+2;else{var r=[];n=(r=o.text.split("\n"))[0],t.each(r,function(t,e){r[t]="> "+e}),e.replaceSelection("\n\n"+r.join("\n")),i=o.start+4}e.setSelection(i,i+n.length)}}]},{name:"groupUtil",data:[{name:"cmdPreview",toggle:!0,hotkey:"Ctrl+P",title:"Preview",btnText:"Preview",btnClass:"btn btn-primary btn-sm",icon:{glyph:"glyphicon glyphicon-search",fa:"fa fa-search","fa-3":"icon-search"},callback:function(t){!1===t.$isPreview?t.showPreview():t.hidePreview()}}]}]],additionalButtons:[],reorderButtonGroups:[],hiddenButtons:[],disabledButtons:[],footer:"",fullscreen:{enable:!0,icons:{fullscreenOn:{fa:"fa fa-expand",glyph:"glyphicon glyphicon-fullscreen","fa-3":"icon-resize-full"},fullscreenOff:{fa:"fa fa-compress",glyph:"glyphicon glyphicon-fullscreen","fa-3":"icon-resize-small"}}},onShow:function(t){},onPreview:function(t){},onSave:function(t){},onBlur:function(t){},onFocus:function(t){},onChange:function(t){},onFullscreen:function(t){},onSelect:function(t){}},t.fn.markdown.Constructor=e,t.fn.markdown.noConflict=function(){return t.fn.markdown=n,this};var i=function(t){var e=t;e.data("markdown")?e.data("markdown").showEditor():e.markdown()};t(document).on("click.markdown.data-api",'[data-provide="markdown-editable"]',function(e){i(t(this)),e.preventDefault()}).on("click focusin",function(e){var n;n=t(document.activeElement),t(document).find(".md-editor").each(function(){var e=t(this),i=n.closest(".md-editor")[0]===this,o=e.find("textarea").data("markdown")||e.find('div[data-provider="markdown-preview"]').data("markdown");o&&!i&&o.blur()})}).ready(function(){t('textarea[data-provide="markdown"]').each(function(){i(t(this))})})}),function(){"use strict";var t={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:h,hr:/^( *[-*_]){3,} *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,nptable:h,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,blockquote:/^( *>[^\n]+(\n(?!def)[^\n]+)*\n*)+/,list:/^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/,def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,table:h,paragraph:/^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/,text:/^[^\n]+/};function e(e){this.tokens=[],this.tokens.links={},this.options=e||p.defaults,this.rules=t.normal,this.options.gfm&&(this.options.tables?this.rules=t.tables:this.rules=t.gfm)}t.bullet=/(?:[*+-]|\d+\.)/,t.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,t.item=a(t.item,"gm")(/bull/g,t.bullet)(),t.list=a(t.list)(/bull/g,t.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+t.def.source+")")(),t.blockquote=a(t.blockquote)("def",t.def)(),t._tag="(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|[^\\w\\s@]*@)\\b",t.html=a(t.html)("comment",/<!--[\s\S]*?-->/)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/<tag(?:"[^"]*"|'[^']*'|[^'">])*?>/)(/tag/g,t._tag)(),t.paragraph=a(t.paragraph)("hr",t.hr)("heading",t.heading)("lheading",t.lheading)("blockquote",t.blockquote)("tag","<"+t._tag)("def",t.def)(),t.normal=d({},t),t.gfm=d({},t.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),t.gfm.paragraph=a(t.paragraph)("(?!","(?!"+t.gfm.fences.source.replace("\\1","\\2")+"|"+t.list.source.replace("\\1","\\3")+"|")(),t.tables=d({},t.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),e.rules=t,e.lex=function(t,n){return new e(n).lex(t)},e.prototype.lex=function(t){return t=t.replace(/\r\n|\r/g,"\n").replace(/\t/g,"    ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(t,!0)},e.prototype.token=function(e,n,i){var o,r,s,a,l,c,u,h,d;for(e=e.replace(/^ +$/gm,"");e;)if((s=this.rules.newline.exec(e))&&(e=e.substring(s[0].length),s[0].length>1&&this.tokens.push({type:"space"})),s=this.rules.code.exec(e))e=e.substring(s[0].length),s=s[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",text:this.options.pedantic?s:s.replace(/\n+$/,"")});else if(s=this.rules.fences.exec(e))e=e.substring(s[0].length),this.tokens.push({type:"code",lang:s[2],text:s[3]||""});else if(s=this.rules.heading.exec(e))e=e.substring(s[0].length),this.tokens.push({type:"heading",depth:s[1].length,text:s[2]});else if(n&&(s=this.rules.nptable.exec(e))){for(e=e.substring(s[0].length),c={type:"table",header:s[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:s[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:s[3].replace(/\n$/,"").split("\n")},h=0;h<c.align.length;h++)/^ *-+: *$/.test(c.align[h])?c.align[h]="right":/^ *:-+: *$/.test(c.align[h])?c.align[h]="center":/^ *:-+ *$/.test(c.align[h])?c.align[h]="left":c.align[h]=null;for(h=0;h<c.cells.length;h++)c.cells[h]=c.cells[h].split(/ *\| */);this.tokens.push(c)}else if(s=this.rules.lheading.exec(e))e=e.substring(s[0].length),this.tokens.push({type:"heading",depth:"="===s[2]?1:2,text:s[1]});else if(s=this.rules.hr.exec(e))e=e.substring(s[0].length),this.tokens.push({type:"hr"});else if(s=this.rules.blockquote.exec(e))e=e.substring(s[0].length),this.tokens.push({type:"blockquote_start"}),s=s[0].replace(/^ *> ?/gm,""),this.token(s,n,!0),this.tokens.push({type:"blockquote_end"});else if(s=this.rules.list.exec(e)){for(e=e.substring(s[0].length),a=s[2],this.tokens.push({type:"list_start",ordered:a.length>1}),o=!1,d=(s=s[0].match(this.rules.item)).length,h=0;h<d;h++)u=(c=s[h]).length,~(c=c.replace(/^ *([*+-]|\d+\.) +/,"")).indexOf("\n ")&&(u-=c.length,c=this.options.pedantic?c.replace(/^ {1,4}/gm,""):c.replace(new RegExp("^ {1,"+u+"}","gm"),"")),this.options.smartLists&&h!==d-1&&(a===(l=t.bullet.exec(s[h+1])[0])||a.length>1&&l.length>1||(e=s.slice(h+1).join("\n")+e,h=d-1)),r=o||/\n\n(?!\s*$)/.test(c),h!==d-1&&(o="\n"===c.charAt(c.length-1),r||(r=o)),this.tokens.push({type:r?"loose_item_start":"list_item_start"}),this.token(c,!1,i),this.tokens.push({type:"list_item_end"});this.tokens.push({type:"list_end"})}else if(s=this.rules.html.exec(e))e=e.substring(s[0].length),this.tokens.push({type:this.options.sanitize?"paragraph":"html",pre:!this.options.sanitizer&&("pre"===s[1]||"script"===s[1]||"style"===s[1]),text:s[0]});else if(!i&&n&&(s=this.rules.def.exec(e)))e=e.substring(s[0].length),this.tokens.links[s[1].toLowerCase()]={href:s[2],title:s[3]};else if(n&&(s=this.rules.table.exec(e))){for(e=e.substring(s[0].length),c={type:"table",header:s[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:s[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:s[3].replace(/(?: *\| *)?\n$/,"").split("\n")},h=0;h<c.align.length;h++)/^ *-+: *$/.test(c.align[h])?c.align[h]="right":/^ *:-+: *$/.test(c.align[h])?c.align[h]="center":/^ *:-+ *$/.test(c.align[h])?c.align[h]="left":c.align[h]=null;for(h=0;h<c.cells.length;h++)c.cells[h]=c.cells[h].replace(/^ *\| *| *\| *$/g,"").split(/ *\| */);this.tokens.push(c)}else if(n&&(s=this.rules.paragraph.exec(e)))e=e.substring(s[0].length),this.tokens.push({type:"paragraph",text:"\n"===s[1].charAt(s[1].length-1)?s[1].slice(0,-1):s[1]});else if(s=this.rules.text.exec(e))e=e.substring(s[0].length),this.tokens.push({type:"text",text:s[0]});else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0));return this.tokens};var n={escape:/^\\([\\`*{}\[\]()#+\-.!_>])/,autolink:/^<([^ <>]+(@|:\/)[^ <>]+)>/,url:h,tag:/^<!--[\s\S]*?-->|^<\/?\w+(?:"[^"]*"|'[^']*'|[^<'">])*?>/,link:/^!?\[(inside)\]\(href\)/,reflink:/^!?\[(inside)\]\s*\[([^\]]*)\]/,nolink:/^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,strong:/^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,em:/^\b_((?:[^_]|__)+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,code:/^(`+)([\s\S]*?[^`])\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:h,text:/^[\s\S]+?(?=[\\<!\[_*`]| {2,}\n|$)/};function i(t,e){if(this.options=e||p.defaults,this.links=t,this.rules=n.normal,this.renderer=this.options.renderer||new o,this.renderer.options=this.options,!this.links)throw new Error("Tokens array requires a `links` property.");this.options.gfm?this.options.breaks?this.rules=n.breaks:this.rules=n.gfm:this.options.pedantic&&(this.rules=n.pedantic)}function o(t){this.options=t||{}}function r(t){this.tokens=[],this.token=null,this.options=t||p.defaults,this.options.renderer=this.options.renderer||new o,this.renderer=this.options.renderer,this.renderer.options=this.options}function s(t,e){return t.replace(e?/&/g:/&(?!#?\w+;)/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function a(t,e){return t=t.source,e=e||"",function n(i,o){return i?(o=(o=o.source||o).replace(/(^|[^\[])\^/g,"$1"),t=t.replace(i,o),n):new RegExp(t,e)}}function l(t,e){return c[" "+t]||(/^[^:]+:\/*[^/]*$/.test(t)?c[" "+t]=t+"/":c[" "+t]=t.replace(/[^/]*$/,"")),t=c[" "+t],"//"===e.slice(0,2)?t.replace(/:[\s\S]*/,":")+e:"/"===e.charAt(0)?t.replace(/(:\/*[^/]*)[\s\S]*/,"$1")+e:t+e}n._inside=/(?:\[[^\]]*\]|\\[\[\]]|[^\[\]]|\](?=[^\[]*\]))*/,n._href=/\s*<?([\s\S]*?)>?(?:\s+['"]([\s\S]*?)['"])?\s*/,n.link=a(n.link)("inside",n._inside)("href",n._href)(),n.reflink=a(n.reflink)("inside",n._inside)(),n.normal=d({},n),n.pedantic=d({},n.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),n.gfm=d({},n.normal,{escape:a(n.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:a(n.text)("]|","~]|")("|","|https?://|")()}),n.breaks=d({},n.gfm,{br:a(n.br)("{2,}","*")(),text:a(n.gfm.text)("{2,}","*")()}),i.rules=n,i.output=function(t,e,n){return new i(e,n).output(t)},i.prototype.output=function(t){for(var e,n,i,o,r="";t;)if(o=this.rules.escape.exec(t))t=t.substring(o[0].length),r+=o[1];else if(o=this.rules.autolink.exec(t))t=t.substring(o[0].length),"@"===o[2]?(n=s(":"===o[1].charAt(6)?this.mangle(o[1].substring(7)):this.mangle(o[1])),i=this.mangle("mailto:")+n):i=n=s(o[1]),r+=this.renderer.link(i,null,n);else if(this.inLink||!(o=this.rules.url.exec(t))){if(o=this.rules.tag.exec(t))!this.inLink&&/^<a /i.test(o[0])?this.inLink=!0:this.inLink&&/^<\/a>/i.test(o[0])&&(this.inLink=!1),t=t.substring(o[0].length),r+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(o[0]):s(o[0]):o[0];else if(o=this.rules.link.exec(t))t=t.substring(o[0].length),this.inLink=!0,r+=this.outputLink(o,{href:o[2],title:o[3]}),this.inLink=!1;else if((o=this.rules.reflink.exec(t))||(o=this.rules.nolink.exec(t))){if(t=t.substring(o[0].length),e=(o[2]||o[1]).replace(/\s+/g," "),!(e=this.links[e.toLowerCase()])||!e.href){r+=o[0].charAt(0),t=o[0].substring(1)+t;continue}this.inLink=!0,r+=this.outputLink(o,e),this.inLink=!1}else if(o=this.rules.strong.exec(t))t=t.substring(o[0].length),r+=this.renderer.strong(this.output(o[2]||o[1]));else if(o=this.rules.em.exec(t))t=t.substring(o[0].length),r+=this.renderer.em(this.output(o[2]||o[1]));else if(o=this.rules.code.exec(t))t=t.substring(o[0].length),r+=this.renderer.codespan(s(o[2].trim(),!0));else if(o=this.rules.br.exec(t))t=t.substring(o[0].length),r+=this.renderer.br();else if(o=this.rules.del.exec(t))t=t.substring(o[0].length),r+=this.renderer.del(this.output(o[1]));else if(o=this.rules.text.exec(t))t=t.substring(o[0].length),r+=this.renderer.text(s(this.smartypants(o[0])));else if(t)throw new Error("Infinite loop on byte: "+t.charCodeAt(0))}else t=t.substring(o[0].length),i=n=s(o[1]),r+=this.renderer.link(i,null,n);return r},i.prototype.outputLink=function(t,e){var n=s(e.href),i=e.title?s(e.title):null;return"!"!==t[0].charAt(0)?this.renderer.link(n,i,this.output(t[1])):this.renderer.image(n,i,s(t[1]))},i.prototype.smartypants=function(t){return this.options.smartypants?t.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…"):t},i.prototype.mangle=function(t){if(!this.options.mangle)return t;for(var e,n="",i=t.length,o=0;o<i;o++)e=t.charCodeAt(o),Math.random()>.5&&(e="x"+e.toString(16)),n+="&#"+e+";";return n},o.prototype.code=function(t,e,n){if(this.options.highlight){var i=this.options.highlight(t,e);null!=i&&i!==t&&(n=!0,t=i)}return e?'<pre><code class="'+this.options.langPrefix+s(e,!0)+'">'+(n?t:s(t,!0))+"\n</code></pre>\n":"<pre><code>"+(n?t:s(t,!0))+"\n</code></pre>"},o.prototype.blockquote=function(t){return"<blockquote>\n"+t+"</blockquote>\n"},o.prototype.html=function(t){return t},o.prototype.heading=function(t,e,n){return"<h"+e+' id="'+this.options.headerPrefix+n.toLowerCase().replace(/[^\w]+/g,"-")+'">'+t+"</h"+e+">\n"},o.prototype.hr=function(){return this.options.xhtml?"<hr/>\n":"<hr>\n"},o.prototype.list=function(t,e){var n=e?"ol":"ul";return"<"+n+">\n"+t+"</"+n+">\n"},o.prototype.listitem=function(t){return"<li>"+t+"</li>\n"},o.prototype.paragraph=function(t){return"<p>"+t+"</p>\n"},o.prototype.table=function(t,e){return"<table>\n<thead>\n"+t+"</thead>\n<tbody>\n"+e+"</tbody>\n</table>\n"},o.prototype.tablerow=function(t){return"<tr>\n"+t+"</tr>\n"},o.prototype.tablecell=function(t,e){var n=e.header?"th":"td";return(e.align?"<"+n+' style="text-align:'+e.align+'">':"<"+n+">")+t+"</"+n+">\n"},o.prototype.strong=function(t){return"<strong>"+t+"</strong>"},o.prototype.em=function(t){return"<em>"+t+"</em>"},o.prototype.codespan=function(t){return"<code>"+t+"</code>"},o.prototype.br=function(){return this.options.xhtml?"<br/>":"<br>"},o.prototype.del=function(t){return"<del>"+t+"</del>"},o.prototype.link=function(t,e,n){if(this.options.sanitize){try{var i=decodeURIComponent((o=t,o.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,function(t,e){return"colon"===(e=e.toLowerCase())?":":"#"===e.charAt(0)?"x"===e.charAt(1)?String.fromCharCode(parseInt(e.substring(2),16)):String.fromCharCode(+e.substring(1)):""}))).replace(/[^\w:]/g,"").toLowerCase()}catch(t){return n}if(0===i.indexOf("javascript:")||0===i.indexOf("vbscript:")||0===i.indexOf("data:"))return n}var o;this.options.baseUrl&&!u.test(t)&&(t=l(this.options.baseUrl,t));var r='<a href="'+t+'"';return e&&(r+=' title="'+e+'"'),r+=">"+n+"</a>"},o.prototype.image=function(t,e,n){this.options.baseUrl&&!u.test(t)&&(t=l(this.options.baseUrl,t));var i='<img src="'+t+'" alt="'+n+'"';return e&&(i+=' title="'+e+'"'),i+=this.options.xhtml?"/>":">"},o.prototype.text=function(t){return t},r.parse=function(t,e,n){return new r(e,n).parse(t)},r.prototype.parse=function(t){this.inline=new i(t.links,this.options,this.renderer),this.tokens=t.reverse();for(var e="";this.next();)e+=this.tok();return e},r.prototype.next=function(){return this.token=this.tokens.pop()},r.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},r.prototype.parseText=function(){for(var t=this.token.text;"text"===this.peek().type;)t+="\n"+this.next().text;return this.inline.output(t)},r.prototype.tok=function(){switch(this.token.type){case"space":return"";case"hr":return this.renderer.hr();case"heading":return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,this.token.text);case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var t,e,n,i,o="",r="";for(n="",t=0;t<this.token.header.length;t++)({header:!0,align:this.token.align[t]}),n+=this.renderer.tablecell(this.inline.output(this.token.header[t]),{header:!0,align:this.token.align[t]});for(o+=this.renderer.tablerow(n),t=0;t<this.token.cells.length;t++){for(e=this.token.cells[t],n="",i=0;i<e.length;i++)n+=this.renderer.tablecell(this.inline.output(e[i]),{header:!1,align:this.token.align[i]});r+=this.renderer.tablerow(n)}return this.renderer.table(o,r);case"blockquote_start":for(r="";"blockquote_end"!==this.next().type;)r+=this.tok();return this.renderer.blockquote(r);case"list_start":r="";for(var s=this.token.ordered;"list_end"!==this.next().type;)r+=this.tok();return this.renderer.list(r,s);case"list_item_start":for(r="";"list_item_end"!==this.next().type;)r+="text"===this.token.type?this.parseText():this.tok();return this.renderer.listitem(r);case"loose_item_start":for(r="";"list_item_end"!==this.next().type;)r+=this.tok();return this.renderer.listitem(r);case"html":var a=this.token.pre||this.options.pedantic?this.token.text:this.inline.output(this.token.text);return this.renderer.html(a);case"paragraph":return this.renderer.paragraph(this.inline.output(this.token.text));case"text":return this.renderer.paragraph(this.parseText())}};var c={},u=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function h(){}function d(t){for(var e,n,i=1;i<arguments.length;i++)for(n in e=arguments[i])Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t}function p(t,n,i){if(i||"function"==typeof n){i||(i=n,n=null);var o,a,l=(n=d({},p.defaults,n||{})).highlight,c=0;try{o=e.lex(t,n)}catch(t){return i(t)}a=o.length;var u=function(t){if(t)return n.highlight=l,i(t);var e;try{e=r.parse(o,n)}catch(e){t=e}return n.highlight=l,t?i(t):i(null,e)};if(!l||l.length<3)return u();if(delete n.highlight,!a)return u();for(;c<o.length;c++)!function(t){"code"!==t.type?--a||u():l(t.text,t.lang,function(e,n){return e?u(e):null==n||n===t.text?--a||u():(t.text=n,t.escaped=!0,void(--a||u()))})}(o[c])}else try{return n&&(n=d({},p.defaults,n)),r.parse(e.lex(t,n),n)}catch(t){if(t.message+="\nPlease report this to https://github.com/chjj/marked.",(n||p.defaults).silent)return"<p>An error occurred:</p><pre>"+s(t.message+"",!0)+"</pre>";throw t}}h.exec=h,p.options=p.setOptions=function(t){return d(p.defaults,t),p},p.defaults={gfm:!0,tables:!0,breaks:!1,pedantic:!1,sanitize:!1,sanitizer:null,mangle:!0,smartLists:!1,silent:!1,highlight:null,langPrefix:"lang-",smartypants:!1,headerPrefix:"",renderer:new o,xhtml:!1,baseUrl:null},p.Parser=r,p.parser=r.parse,p.Renderer=o,p.Lexer=e,p.lexer=e.lex,p.InlineLexer=i,p.inlineLexer=i.output,p.parse=p,"undefined"!=typeof module&&"object"==typeof exports?module.exports=p:"function"==typeof define&&define.amd?define(function(){return p}):this.marked=p}.call(function(){return this||("undefined"!=typeof window?window:global)}()),function(t){if("function"==typeof define&&define.amd)define(["jquery"],t);else if("object"==typeof module&&module.exports){var e=require("jquery");module.exports=t(e)}else t(jQuery)}(function(t){if(void 0===t)throw new Error("jQuery.textcomplete requires jQuery");return function(t){"use strict";var e=1;t.fn.textcomplete=function(n,i){var o=Array.prototype.slice.call(arguments);return this.each(function(){var r=t(this),s=r.data("textComplete");if(s||(i||(i={}),i._oid=e++,s=new t.fn.textcomplete.Completer(this,i),r.data("textComplete",s)),"string"==typeof n){if(!s)return;o.shift(),s[n].apply(s,o),"destroy"===n&&r.removeData("textComplete")}else t.each(n,function(e){t.each(["header","footer","placement","maxCount"],function(t){var n;e[t]&&(s.option[t]=e[t],n=t+"as a strategy param is deprecated. Use option.",console.warn&&console.warn(n),delete e[t])})}),s.register(t.fn.textcomplete.Strategy.parse(n,{el:this,$el:r}))})}}(t),function(t){"use strict";function e(n,i){if(this.$el=t(n),this.id="textcomplete"+r++,this.strategies=[],this.views=[],this.option=t.extend({},e.defaults,i),!(this.$el.is("input[type=text]")||this.$el.is("input[type=search]")||this.$el.is("textarea")||n.isContentEditable||"true"==n.contentEditable))throw new Error("textcomplete must be called on a Textarea or a ContentEditable.");if(n===n.ownerDocument.activeElement)this.initialize();else{var o=this;this.$el.one("focus."+this.id,function(){o.initialize()}),this.option.adapter&&"CKEditor"!=this.option.adapter||"undefined"==typeof CKEDITOR||!this.$el.is("textarea")||CKEDITOR.on("instanceReady",function(e){-1==t.inArray(e.editor.id,s)&&(s.push(e.editor.id),e.editor.on("focus",function(n){o.$el=t(e.editor.editable().$),o.option.adapter||(o.option.adapter=t.fn.textcomplete.CKEditor),o.option.ckeditor_instance=e.editor,o.initialize()}))})}}var n,i,o,r=0,s=[];e.defaults={appendTo:"body",className:"",dropdownClassName:"dropdown-menu textcomplete-dropdown",maxCount:10,zIndex:"100",rightEdgeOffset:30},t.extend(e.prototype,{id:null,option:null,strategies:null,adapter:null,dropdown:null,$el:null,$iframe:null,initialize:function(){var e,n,i=this.$el.get(0);if(this.$el.prop("ownerDocument")!==document&&window.frames.length)for(var o=0;o<window.frames.length;o++)if(this.$el.prop("ownerDocument")===window.frames[o].document){this.$iframe=t(window.frames[o].frameElement);break}this.dropdown=new t.fn.textcomplete.Dropdown(i,this,this.option),this.option.adapter?e=this.option.adapter:(n=this.$el.is("textarea")||this.$el.is("input[type=text]")||this.$el.is("input[type=search]")?"number"==typeof i.selectionEnd?"Textarea":"IETextarea":"ContentEditable",e=t.fn.textcomplete[n]),this.adapter=new e(i,this,this.option)},destroy:function(){this.$el.off("."+this.id),this.adapter&&this.adapter.destroy(),this.dropdown&&this.dropdown.destroy(),this.$el=this.adapter=this.dropdown=null},deactivate:function(){this.dropdown&&this.dropdown.deactivate()},trigger:function(t,e){this.dropdown||this.initialize(),null!=t||(t=this.adapter.getTextFromHeadToCaret());var n=this._extractSearchQuery(t);if(n.length){var i=n[1];if(e&&this._term===i&&""!==i)return;this._term=i,this._search.apply(this,n)}else this._term=null,this.dropdown.deactivate()},fire:function(t){var e=Array.prototype.slice.call(arguments,1);return this.$el.trigger(t,e),this},register:function(t){Array.prototype.push.apply(this.strategies,t)},select:function(t,e,n){this._term=null,this.adapter.select(t,e,n),this.fire("change").fire("textComplete:select",t,e),this.adapter.focus()},_clearAtNext:!0,_term:null,_extractSearchQuery:function(e){for(var n=0;n<this.strategies.length;n++){var i=this.strategies[n],o=i.context(e);if(o||""===o){var r=t.isFunction(i.match)?i.match(e):i.match;a=o,"[object String]"===Object.prototype.toString.call(a)&&(e=o);var s=e.match(r);if(s)return[i,s[i.index],s]}}var a;return[]},_search:(n=function(t,e,n,i){var o=this;e.search(n,function(i,r){o.dropdown.shown||o.dropdown.activate(),o._clearAtNext&&(o.dropdown.clear(),o._clearAtNext=!1),o.dropdown.setPosition(o.adapter.getCaretPosition()),o.dropdown.render(o._zip(i,e,n)),r||(t(),o._clearAtNext=!0)},i)},function(){var t=Array.prototype.slice.call(arguments);if(i)o=t;else{i=!0;var e=this;t.unshift(function t(){if(o){var r=o;o=void 0,r.unshift(t),n.apply(e,r)}else i=!1}),n.apply(this,t)}}),_zip:function(e,n,i){return t.map(e,function(t){return{value:t,strategy:n,term:i}})}}),t.fn.textcomplete.Completer=e}(t),function(t){"use strict";function e(n,i,r){this.$el=e.createElement(r),this.completer=i,this.id=i.id+"dropdown",this._data=[],this.$inputEl=t(n),this.option=r,r.listPosition&&(this.setPosition=r.listPosition),r.height&&this.$el.height(r.height);var s=this;t.each(["maxCount","placement","footer","header","noResultsMessage","className"],function(t,e){null!=r[e]&&(s[e]=r[e])}),this._bindEvents(n),o[this.id]=this}var n=t(window),i=function(t,e){var n,i,o=e.strategy.idProperty;for(n=0;n<t.length;n++)if((i=t[n]).strategy===e.strategy)if(o){if(i.value[o]===e.value[o])return!0}else if(i.value===e.value)return!0;return!1},o={};t(document).on("click",function(e){var n=e.originalEvent&&e.originalEvent.keepTextCompleteDropdown;t.each(o,function(t,e){t!==n&&e.deactivate()})});var r={SKIP_DEFAULT:0,KEY_UP:1,KEY_DOWN:2,KEY_ENTER:3,KEY_PAGEUP:4,KEY_PAGEDOWN:5,KEY_ESCAPE:6};t.extend(e,{createElement:function(e){var n=e.appendTo;return n instanceof t||(n=t(n)),t("<ul></ul>").addClass(e.dropdownClassName).attr("id","textcomplete-dropdown-"+e._oid).css({display:"none",left:0,position:"absolute",zIndex:e.zIndex}).appendTo(n)}}),t.extend(e.prototype,{$el:null,$inputEl:null,completer:null,footer:null,header:null,id:null,maxCount:null,placement:"",shown:!1,data:[],className:"",destroy:function(){this.deactivate(),this.$el.off("."+this.id),this.$inputEl.off("."+this.id),this.clear(),this.$el.remove(),this.$el=this.$inputEl=this.completer=null,delete o[this.id]},render:function(e){var n=this._buildContents(e),i=t.map(e,function(t){return t.value});if(e.length){var o=e[0].strategy;o.id?this.$el.attr("data-strategy",o.id):this.$el.removeAttr("data-strategy"),this._renderHeader(i),this._renderFooter(i),n&&(this._renderContents(n),this._fitToBottom(),this._fitToRight(),this._activateIndexedItem()),this._setScroll()}else this.noResultsMessage?this._renderNoResultsMessage(i):this.shown&&this.deactivate()},setPosition:function(e){var i="absolute";return this.$inputEl.add(this.$inputEl.parents()).each(function(){return"absolute"!==t(this).css("position")&&("fixed"===t(this).css("position")?(e.top-=n.scrollTop(),e.left-=n.scrollLeft(),i="fixed",!1):void 0)}),this.$el.css(this._applyPlacement(e)),this.$el.css({position:i}),this},clear:function(){this.$el.html(""),this.data=[],this._index=0,this._$header=this._$footer=this._$noResultsMessage=null},activate:function(){return this.shown||(this.clear(),this.$el.show(),this.className&&this.$el.addClass(this.className),this.completer.fire("textComplete:show"),this.shown=!0),this},deactivate:function(){return this.shown&&(this.$el.hide(),this.className&&this.$el.removeClass(this.className),this.completer.fire("textComplete:hide"),this.shown=!1),this},isUp:function(t){return 38===t.keyCode||t.ctrlKey&&80===t.keyCode},isDown:function(t){return 40===t.keyCode||t.ctrlKey&&78===t.keyCode},isEnter:function(t){return!(t.ctrlKey||t.altKey||t.metaKey||t.shiftKey)&&(13===t.keyCode||9===t.keyCode||!0===this.option.completeOnSpace&&32===t.keyCode)},isPageup:function(t){return 33===t.keyCode},isPagedown:function(t){return 34===t.keyCode},isEscape:function(t){return 27===t.keyCode},_data:null,_index:null,_$header:null,_$noResultsMessage:null,_$footer:null,_bindEvents:function(){this.$el.on("mousedown."+this.id,".textcomplete-item",t.proxy(this._onClick,this)),this.$el.on("touchstart."+this.id,".textcomplete-item",t.proxy(this._onClick,this)),this.$el.on("mouseover."+this.id,".textcomplete-item",t.proxy(this._onMouseover,this)),this.$inputEl.on("keydown."+this.id,t.proxy(this._onKeydown,this))},_onClick:function(e){var n=t(e.target);e.preventDefault(),e.originalEvent.keepTextCompleteDropdown=this.id,n.hasClass("textcomplete-item")||(n=n.closest(".textcomplete-item"));var i=this.data[parseInt(n.data("index"),10)];this.completer.select(i.value,i.strategy,e);var o=this;setTimeout(function(){o.deactivate(),"touchstart"===e.type&&o.$inputEl.focus()},0)},_onMouseover:function(e){var n=t(e.target);e.preventDefault(),n.hasClass("textcomplete-item")||(n=n.closest(".textcomplete-item")),this._index=parseInt(n.data("index"),10),this._activateIndexedItem()},_onKeydown:function(e){var n;if(this.shown)switch(t.isFunction(this.option.onKeydown)&&(n=this.option.onKeydown(e,r)),null==n&&(n=this._defaultKeydown(e)),n){case r.KEY_UP:e.preventDefault(),this._up();break;case r.KEY_DOWN:e.preventDefault(),this._down();break;case r.KEY_ENTER:e.preventDefault(),this._enter(e);break;case r.KEY_PAGEUP:e.preventDefault(),this._pageup();break;case r.KEY_PAGEDOWN:e.preventDefault(),this._pagedown();break;case r.KEY_ESCAPE:e.preventDefault(),this.deactivate()}},_defaultKeydown:function(t){return this.isUp(t)?r.KEY_UP:this.isDown(t)?r.KEY_DOWN:this.isEnter(t)?r.KEY_ENTER:this.isPageup(t)?r.KEY_PAGEUP:this.isPagedown(t)?r.KEY_PAGEDOWN:this.isEscape(t)?r.KEY_ESCAPE:void 0},_up:function(){0===this._index?this._index=this.data.length-1:this._index-=1,this._activateIndexedItem(),this._setScroll()},_down:function(){this._index===this.data.length-1?this._index=0:this._index+=1,this._activateIndexedItem(),this._setScroll()},_enter:function(t){var e=this.data[parseInt(this._getActiveElement().data("index"),10)];this.completer.select(e.value,e.strategy,t),this.deactivate()},_pageup:function(){var e=0,n=this._getActiveElement().position().top-this.$el.innerHeight();this.$el.children().each(function(i){return t(this).position().top+t(this).outerHeight()>n?(e=i,!1):void 0}),this._index=e,this._activateIndexedItem(),this._setScroll()},_pagedown:function(){var e=this.data.length-1,n=this._getActiveElement().position().top+this.$el.innerHeight();this.$el.children().each(function(i){return t(this).position().top>n?(e=i,!1):void 0}),this._index=e,this._activateIndexedItem(),this._setScroll()},_activateIndexedItem:function(){this.$el.find(".textcomplete-item.active").removeClass("active"),this._getActiveElement().addClass("active")},_getActiveElement:function(){return this.$el.children(".textcomplete-item:nth("+this._index+")")},_setScroll:function(){var t=this._getActiveElement(),e=t.position().top,n=t.outerHeight(),i=this.$el.innerHeight(),o=this.$el.scrollTop();0===this._index||this._index==this.data.length-1||0>e?this.$el.scrollTop(e+o):e+n>i&&this.$el.scrollTop(e+n+o-i)},_buildContents:function(t){var e,n,o,r="";for(n=0;n<t.length&&this.data.length!==this.maxCount;n++)e=t[n],i(this.data,e)||(o=this.data.length,this.data.push(e),r+='<li class="textcomplete-item" data-index="'+o+'"><a>',r+=e.strategy.template(e.value,e.term),r+="</a></li>");return r},_renderHeader:function(e){if(this.header){this._$header||(this._$header=t('<li class="textcomplete-header"></li>').prependTo(this.$el));var n=t.isFunction(this.header)?this.header(e):this.header;this._$header.html(n)}},_renderFooter:function(e){if(this.footer){this._$footer||(this._$footer=t('<li class="textcomplete-footer"></li>').appendTo(this.$el));var n=t.isFunction(this.footer)?this.footer(e):this.footer;this._$footer.html(n)}},_renderNoResultsMessage:function(e){if(this.noResultsMessage){this._$noResultsMessage||(this._$noResultsMessage=t('<li class="textcomplete-no-results-message"></li>').appendTo(this.$el));var n=t.isFunction(this.noResultsMessage)?this.noResultsMessage(e):this.noResultsMessage;this._$noResultsMessage.html(n)}},_renderContents:function(t){this._$footer?this._$footer.before(t):this.$el.append(t)},_fitToBottom:function(){var t=n.scrollTop()+n.height(),e=this.$el.height();this.$el.position().top+e>t&&(this.completer.$iframe||this.$el.offset({top:t-e}))},_fitToRight:function(){for(var t,e=this.option.rightEdgeOffset,i=this.$el.offset().left,o=this.$el.width(),r=n.width()-e;i+o>r&&(this.$el.offset({left:i-e}),!((t=this.$el.offset().left)>=i));)i=t},_applyPlacement:function(t){return-1!==this.placement.indexOf("top")?t={top:"auto",bottom:this.$el.parent().height()-t.top+t.lineHeight,left:t.left}:(t.bottom="auto",delete t.lineHeight),-1!==this.placement.indexOf("absleft")?t.left=0:-1!==this.placement.indexOf("absright")&&(t.right=0,t.left="auto"),t}}),t.fn.textcomplete.Dropdown=e,t.extend(t.fn.textcomplete,r)}(t),function(t){"use strict";function e(e){t.extend(this,e),this.cache&&(this.search=n(this.search))}var n=function(t){var e={};return function(n,i){e[n]?i(e[n]):t.call(this,n,function(t){e[n]=(e[n]||[]).concat(t),i.apply(null,arguments)})}};e.parse=function(n,i){return t.map(n,function(t){var n=new e(t);return n.el=i.el,n.$el=i.$el,n})},t.extend(e.prototype,{match:null,replace:null,search:null,id:null,cache:!1,context:function(){return!0},index:2,template:function(t){return t},idProperty:null}),t.fn.textcomplete.Strategy=e}(t),function(t){"use strict";function e(){}var n=Date.now||function(){return(new Date).getTime()};t.extend(e.prototype,{id:null,completer:null,el:null,$el:null,option:null,initialize:function(e,i,o){var r,s,a,l,c,u,h,d;this.el=e,this.$el=t(e),this.id=i.id+this.constructor.name,this.completer=i,this.option=o,this.option.debounce&&(this._onKeyup=(r=this._onKeyup,s=this.option.debounce,d=function(){var t=n()-u;s>t?a=setTimeout(d,s-t):(a=null,h=r.apply(c,l),c=l=null)},function(){return c=this,l=arguments,u=n(),a||(a=setTimeout(d,s)),h})),this._bindEvents()},destroy:function(){this.$el.off("."+this.id),this.$el=this.el=this.completer=null},select:function(){throw new Error("Not implemented")},getCaretPosition:function(){var e=this._getCaretRelativePosition(),n=this.$el.offset(),i=this.option.appendTo;if(i){i instanceof t||(i=t(i));var o=i.offsetParent().offset();n.top-=o.top,n.left-=o.left}return e.top+=n.top,e.left+=n.left,e},focus:function(){this.$el.focus()},_bindEvents:function(){this.$el.on("keyup."+this.id,t.proxy(this._onKeyup,this))},_onKeyup:function(t){this._skipSearch(t)||this.completer.trigger(this.getTextFromHeadToCaret(),!0)},_skipSearch:function(t){switch(t.keyCode){case 9:case 13:case 16:case 17:case 18:case 33:case 34:case 40:case 38:case 27:return!0}if(t.ctrlKey)switch(t.keyCode){case 78:case 80:return!0}}}),t.fn.textcomplete.Adapter=e}(t),function(t){"use strict";function e(t,e,n){this.initialize(t,e,n)}t.extend(e.prototype,t.fn.textcomplete.Adapter.prototype,{select:function(e,n,i){var o,r=this.getTextFromHeadToCaret(),s=this.el.value.substring(this.el.selectionEnd),a=n.replace(e,i);void 0!==a&&(t.isArray(a)&&(s=a[1]+s,a=a[0]),o=t.isFunction(n.match)?n.match(r):n.match,r=r.replace(o,a),this.$el.val(r+s),this.el.selectionStart=this.el.selectionEnd=r.length)},getTextFromHeadToCaret:function(){return this.el.value.substring(0,this.el.selectionEnd)},_getCaretRelativePosition:function(){var e=t.fn.textcomplete.getCaretCoordinates(this.el,this.el.selectionStart);return{top:e.top+this._calculateLineHeight()-this.$el.scrollTop(),left:e.left-this.$el.scrollLeft(),lineHeight:this._calculateLineHeight()}},_calculateLineHeight:function(){var t=parseInt(this.$el.css("line-height"),10);if(isNaN(t)){var e=this.el.parentNode,n=document.createElement(this.el.nodeName),i=this.el.style;n.setAttribute("style","margin:0px;padding:0px;font-family:"+i.fontFamily+";font-size:"+i.fontSize),n.innerHTML="test",e.appendChild(n),t=n.clientHeight,e.removeChild(n)}return t}}),t.fn.textcomplete.Textarea=e}(t),function(t){"use strict";function e(e,i,o){this.initialize(e,i,o),t("<span>"+n+"</span>").css({position:"absolute",top:-9999,left:-9999}).insertBefore(e)}var n="吶";t.extend(e.prototype,t.fn.textcomplete.Textarea.prototype,{select:function(e,n,i){var o,r=this.getTextFromHeadToCaret(),s=this.el.value.substring(r.length),a=n.replace(e,i);if(void 0!==a){t.isArray(a)&&(s=a[1]+s,a=a[0]),o=t.isFunction(n.match)?n.match(r):n.match,r=r.replace(o,a),this.$el.val(r+s),this.el.focus();var l=this.el.createTextRange();l.collapse(!0),l.moveEnd("character",r.length),l.moveStart("character",r.length),l.select()}},getTextFromHeadToCaret:function(){this.el.focus();var t=document.selection.createRange();t.moveStart("character",-this.el.value.length);var e=t.text.split(n);return 1===e.length?e[0]:e[1]}}),t.fn.textcomplete.IETextarea=e}(t),function(t){"use strict";function e(t,e,n){this.initialize(t,e,n)}t.extend(e.prototype,t.fn.textcomplete.Adapter.prototype,{select:function(e,n,i){var o=this.getTextFromHeadToCaret(),r=this.el.ownerDocument.getSelection(),s=r.getRangeAt(0),a=s.cloneRange();a.selectNodeContents(s.startContainer);var l,c=a.toString().substring(s.startOffset),u=n.replace(e,i);if(void 0!==u){t.isArray(u)&&(c=u[1]+c,u=u[0]),l=t.isFunction(n.match)?n.match(o):n.match,o=o.replace(l,u).replace(/ $/,"&nbsp"),s.selectNodeContents(s.startContainer),s.deleteContents();var h=this.el.ownerDocument.createElement("div");h.innerHTML=o;var d=this.el.ownerDocument.createElement("div");d.innerHTML=c;for(var p,f,g=this.el.ownerDocument.createDocumentFragment();p=h.firstChild;)f=g.appendChild(p);for(;p=d.firstChild;)g.appendChild(p);s.insertNode(g),s.setStartAfter(f),s.collapse(!0),r.removeAllRanges(),r.addRange(s)}},_getCaretRelativePosition:function(){var e=this.el.ownerDocument.getSelection().getRangeAt(0).cloneRange(),n=e.endContainer.parentNode,i=this.el.ownerDocument.createElement("span");e.insertNode(i),e.selectNodeContents(i),e.deleteContents(),setTimeout(function(){n.normalize()},0);var o=t(i),r=o.offset();if(r.left-=this.$el.offset().left,r.top+=o.height()-this.$el.offset().top,r.lineHeight=o.height(),this.completer.$iframe){var s=this.completer.$iframe.offset();r.top+=s.top,r.left+=s.left,r.top-=t(this.completer.$iframe[0].contentWindow.document).scrollTop()}return o.remove(),r},getTextFromHeadToCaret:function(){var t=this.el.ownerDocument.getSelection().getRangeAt(0),e=t.cloneRange();return e.selectNodeContents(t.startContainer),e.toString().substring(0,t.startOffset)}}),t.fn.textcomplete.ContentEditable=e}(t),function(t){"use strict";function e(t,e,n){this.initialize(t,e,n)}t.extend(e.prototype,t.fn.textcomplete.ContentEditable.prototype,{_bindEvents:function(){var e=this;this.option.ckeditor_instance.on("key",function(t){var n=t.data;return e._onKeyup(n),(!e.completer.dropdown.shown||!e._skipSearch(n))&&void 0},null,null,1),this.$el.on("keyup."+this.id,t.proxy(this._onKeyup,this))}}),t.fn.textcomplete.CKEditor=e}(t),function(t){var e=["direction","boxSizing","width","height","overflowX","overflowY","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderStyle","paddingTop","paddingRight","paddingBottom","paddingLeft","fontStyle","fontVariant","fontWeight","fontStretch","fontSize","fontSizeAdjust","lineHeight","fontFamily","textAlign","textTransform","textIndent","textDecoration","letterSpacing","wordSpacing","tabSize","MozTabSize"],n="undefined"!=typeof window,i=n&&null!=window.mozInnerScreenX;t.fn.textcomplete.getCaretCoordinates=function(t,o,r){if(!n)throw new Error("textarea-caret-position#getCaretCoordinates should only be called in a browser");var s=r&&r.debug||!1;if(s){var a=document.querySelector("#input-textarea-caret-position-mirror-div");a&&a.parentNode.removeChild(a)}var l=document.createElement("div");l.id="input-textarea-caret-position-mirror-div",document.body.appendChild(l);var c=l.style,u=window.getComputedStyle?getComputedStyle(t):t.currentStyle;c.whiteSpace="pre-wrap","INPUT"!==t.nodeName&&(c.wordWrap="break-word"),c.position="absolute",s||(c.visibility="hidden"),e.forEach(function(t){c[t]=u[t]}),i?t.scrollHeight>parseInt(u.height)&&(c.overflowY="scroll"):c.overflow="hidden",l.textContent=t.value.substring(0,o),"INPUT"===t.nodeName&&(l.textContent=l.textContent.replace(/\s/g," "));var h=document.createElement("span");h.textContent=t.value.substring(o)||".",l.appendChild(h);var d={top:h.offsetTop+parseInt(u.borderTopWidth),left:h.offsetLeft+parseInt(u.borderLeftWidth)};return s?h.style.backgroundColor="#aaa":document.body.removeChild(l),d}}(t),t}),marked.setOptions({gfm:!0,tables:!0,breaks:!0,pedantic:!1,sanitize:!0,smartLists:!0,smartypants:!1}),$(".flaskbb-editor").markdown({iconlibrary:"fa",additionalButtons:[[{name:"groupHelp",data:[{name:"cmdHelp",toggle:!1,title:"Help",icon:"fa fa-question",btnClass:"btn btn-success",callback:function(t){$("#editor-help").modal("show")}}]}]]}),$(".flaskbb-editor").textcomplete([{match:/\B:([\-+\w]*)$/,search:function(t,e){e($.map(emojies,function(e){return 0===e.indexOf(t)?e:null}))},template:function(t){return'<img class="emoji" src="/static/emoji/'+t+'.png"></img>'+t},replace:function(t){return":"+t+": "},index:1}],{onKeydown:function(t,e){if(t.ctrlKey&&74===t.keyCode)return e.KEY_ENTER}});var emojies=["+1","-1","100","1234","8ball","a","ab","abc","abcd","accept","aerial_tramway","airplane","alarm_clock","alien","ambulance","anchor","angel","anger","angry","anguished","ant","apple","aquarius","aries","arrow_backward","arrow_double_down","arrow_double_up","arrow_down","arrow_down_small","arrow_forward","arrow_heading_down","arrow_heading_up","arrow_left","arrow_lower_left","arrow_lower_right","arrow_right","arrow_right_hook","arrow_up","arrow_up_down","arrow_up_small","arrow_upper_left","arrow_upper_right","arrows_clockwise","arrows_counterclockwise","art","articulated_lorry","astonished","athletic_shoe","atm","b","baby","baby_bottle","baby_chick","baby_symbol","back","baggage_claim","balloon","ballot_box_with_check","bamboo","banana","bangbang","bank","bar_chart","barber","baseball","basketball","bath","bathtub","battery","bear","bee","beer","beers","beetle","beginner","bell","bento","bicyclist","bike","bikini","bird","birthday","black_circle","black_joker","black_large_square","black_medium_small_square","black_medium_square","black_nib","black_small_square","black_square_button","blossom","blowfish","blue_book","blue_car","blue_heart","blush","boar","boat","bomb","book","bookmark","bookmark_tabs","books","boom","boot","bouquet","bow","bowling","bowtie","boy","bread","bride_with_veil","bridge_at_night","briefcase","broken_heart","bug","bulb","bullettrain_front","bullettrain_side","bus","busstop","bust_in_silhouette","busts_in_silhouette","cactus","cake","calendar","calling","camel","camera","cancer","candy","capital_abcd","capricorn","car","card_index","carousel_horse","cat","cat2","cd","chart","chart_with_downwards_trend","chart_with_upwards_trend","checkered_flag","cherries","cherry_blossom","chestnut","chicken","children_crossing","chocolate_bar","christmas_tree","church","cinema","circus_tent","city_sunrise","city_sunset","cl","clap","clapper","clipboard","clock1","clock10","clock1030","clock11","clock1130","clock12","clock1230","clock130","clock2","clock230","clock3","clock330","clock4","clock430","clock5","clock530","clock6","clock630","clock7","clock730","clock8","clock830","clock9","clock930","closed_book","closed_lock_with_key","closed_umbrella","cloud","clubs","cn","cocktail","coffee","cold_sweat","collision","computer","confetti_ball","confounded","confused","congratulations","construction","construction_worker","convenience_store","cookie","cool","cop","copyright","corn","couple","couple_with_heart","couplekiss","cow","cow2","credit_card","crescent_moon","crocodile","crossed_flags","crown","cry","crying_cat_face","crystal_ball","cupid","curly_loop","currency_exchange","curry","custard","customs","cyclone","dancer","dancers","dango","dart","dash","date","de","deciduous_tree","department_store","diamond_shape_with_a_dot_inside","diamonds","disappointed","disappointed_relieved","dizzy","dizzy_face","do_not_litter","dog","dog2","dollar","dolls","dolphin","door","doughnut","dragon","dragon_face","dress","dromedary_camel","droplet","dvd","e-mail","ear","ear_of_rice","earth_africa","earth_americas","earth_asia","egg","eggplant","eight","eight_pointed_black_star","eight_spoked_asterisk","electric_plug","elephant","email","end","envelope","envelope_with_arrow","es","euro","european_castle","european_post_office","evergreen_tree","exclamation","expressionless","eyeglasses","eyes","facepunch","factory","fallen_leaf","family","fast_forward","fax","fearful","feelsgood","feet","ferris_wheel","file_folder","finnadie","fire","fire_engine","fireworks","first_quarter_moon","first_quarter_moon_with_face","fish","fish_cake","fishing_pole_and_fish","fist","five","flags","flashlight","floppy_disk","flower_playing_cards","flushed","foggy","football","footprints","fork_and_knife","fountain","four","four_leaf_clover","fr","free","fried_shrimp","fries","frog","frowning","fu","fuelpump","full_moon","full_moon_with_face","game_die","gb","gem","gemini","ghost","gift","gift_heart","girl","globe_with_meridians","goat","goberserk","godmode","golf","grapes","green_apple","green_book","green_heart","grey_exclamation","grey_question","grimacing","grin","grinning","guardsman","guitar","gun","haircut","hamburger","hammer","hamster","hand","handbag","hankey","hash","hatched_chick","hatching_chick","headphones","hear_no_evil","heart","heart_decoration","heart_eyes","heart_eyes_cat","heartbeat","heartpulse","hearts","heavy_check_mark","heavy_division_sign","heavy_dollar_sign","heavy_exclamation_mark","heavy_minus_sign","heavy_multiplication_x","heavy_plus_sign","helicopter","herb","hibiscus","high_brightness","high_heel","hocho","honey_pot","honeybee","horse","horse_racing","hospital","hotel","hotsprings","hourglass","hourglass_flowing_sand","house","house_with_garden","hurtrealbad","hushed","ice_cream","icecream","id","ideograph_advantage","imp","inbox_tray","incoming_envelope","information_desk_person","information_source","innocent","interrobang","iphone","it","izakaya_lantern","jack_o_lantern","japan","japanese_castle","japanese_goblin","japanese_ogre","jeans","joy","joy_cat","jp","key","keycap_ten","kimono","kiss","kissing","kissing_cat","kissing_closed_eyes","kissing_heart","kissing_smiling_eyes","koala","koko","kr","lantern","large_blue_circle","large_blue_diamond","large_orange_diamond","last_quarter_moon","last_quarter_moon_with_face","laughing","leaves","ledger","left_luggage","left_right_arrow","leftwards_arrow_with_hook","lemon","leo","leopard","libra","light_rail","link","lips","lipstick","lock","lock_with_ink_pen","lollipop","loop","loudspeaker","love_hotel","love_letter","low_brightness","m","mag","mag_right","mahjong","mailbox","mailbox_closed","mailbox_with_mail","mailbox_with_no_mail","man","man_with_gua_pi_mao","man_with_turban","mans_shoe","maple_leaf","mask","massage","meat_on_bone","mega","melon","memo","mens","metal","metro","microphone","microscope","milky_way","minibus","minidisc","mobile_phone_off","money_with_wings","moneybag","monkey","monkey_face","monorail","moon","mortar_board","mount_fuji","mountain_bicyclist","mountain_cableway","mountain_railway","mouse","mouse2","movie_camera","moyai","muscle","mushroom","musical_keyboard","musical_note","musical_score","mute","nail_care","name_badge","neckbeard","necktie","negative_squared_cross_mark","neutral_face","new","new_moon","new_moon_with_face","newspaper","ng","nine","no_bell","no_bicycles","no_entry","no_entry_sign","no_good","no_mobile_phones","no_mouth","no_pedestrians","no_smoking","non-potable_water","nose","notebook","notebook_with_decorative_cover","notes","nut_and_bolt","o","o2","ocean","octocat","octopus","oden","office","ok","ok_hand","ok_woman","older_man","older_woman","on","oncoming_automobile","oncoming_bus","oncoming_police_car","oncoming_taxi","one","open_book","open_file_folder","open_hands","open_mouth","ophiuchus","orange_book","outbox_tray","ox","package","page_facing_up","page_with_curl","pager","palm_tree","panda_face","paperclip","parking","part_alternation_mark","partly_sunny","passport_control","paw_prints","peach","pear","pencil","pencil2","penguin","pensive","performing_arts","persevere","person_frowning","person_with_blond_hair","person_with_pouting_face","phone","pig","pig2","pig_nose","pill","pineapple","pisces","pizza","point_down","point_left","point_right","point_up","point_up_2","police_car","poodle","poop","post_office","postal_horn","postbox","potable_water","pouch","poultry_leg","pound","pouting_cat","pray","princess","punch","purple_heart","purse","pushpin","put_litter_in_its_place","question","rabbit","rabbit2","racehorse","radio","radio_button","rage","rage1","rage2","rage3","rage4","railway_car","rainbow","raised_hand","raised_hands","raising_hand","ram","ramen","rat","recycle","red_car","red_circle","registered","relaxed","relieved","repeat","repeat_one","restroom","revolving_hearts","rewind","ribbon","rice","rice_ball","rice_cracker","rice_scene","ring","rocket","roller_coaster","rooster","rose","rotating_light","round_pushpin","rowboat","ru","rugby_football","runner","running","running_shirt_with_sash","sa","sagittarius","sailboat","sake","sandal","santa","satellite","satisfied","saxophone","school","school_satchel","scissors","scorpius","scream","scream_cat","scroll","seat","secret","see_no_evil","seedling","seven","shaved_ice","sheep","shell","ship","shipit","shirt","shit","shoe","shower","signal_strength","six","six_pointed_star","ski","skull","sleeping","sleepy","slot_machine","small_blue_diamond","small_orange_diamond","small_red_triangle","small_red_triangle_down","smile","smile_cat","smiley","smiley_cat","smiling_imp","smirk","smirk_cat","smoking","snail","snake","snowboarder","snowflake","snowman","sob","soccer","soon","sos","sound","space_invader","spades","spaghetti","sparkle","sparkler","sparkles","sparkling_heart","speak_no_evil","speaker","speech_balloon","speedboat","squirrel","star","star2","stars","station","statue_of_liberty","steam_locomotive","stew","straight_ruler","strawberry","stuck_out_tongue","stuck_out_tongue_closed_eyes","stuck_out_tongue_winking_eye","sun_with_face","sunflower","sunglasses","sunny","sunrise","sunrise_over_mountains","surfer","sushi","suspect","suspension_railway","sweat","sweat_drops","sweat_smile","sweet_potato","swimmer","symbols","syringe","tada","tanabata_tree","tangerine","taurus","taxi","tea","telephone","telephone_receiver","telescope","tennis","tent","thought_balloon","three","thumbsdown","thumbsup","ticket","tiger","tiger2","tired_face","tm","toilet","tokyo_tower","tomato","tongue","top","tophat","tractor","traffic_light","train","train2","tram","triangular_flag_on_post","triangular_ruler","trident","triumph","trolleybus","trollface","trophy","tropical_drink","tropical_fish","truck","trumpet","tshirt","tulip","turtle","tv","twisted_rightwards_arrows","two","two_hearts","two_men_holding_hands","two_women_holding_hands","u5272","u5408","u55b6","u6307","u6708","u6709","u6e80","u7121","u7533","u7981","u7a7a","uk","umbrella","unamused","underage","unlock","up","us","v","vertical_traffic_light","vhs","vibration_mode","video_camera","video_game","violin","virgo","volcano","vs","walking","waning_crescent_moon","waning_gibbous_moon","warning","watch","water_buffalo","watermelon","wave","wavy_dash","waxing_crescent_moon","waxing_gibbous_moon","wc","weary","wedding","whale","whale2","wheelchair","white_check_mark","white_circle","white_flower","white_large_square","white_medium_small_square","white_medium_square","white_small_square","white_square_button","wind_chime","wine_glass","wink","wolf","woman","womans_clothes","womans_hat","womens","worried","wrench","x","yellow_heart","yen","yum","zap","zero","zzz"],csrftoken=$("meta[name=csrf-token]").attr("content"),show_management_search=function(){var t=$(".management-body").find(".search-form");t.slideToggle(function(){"none"!=t.css("display")&&t.find("input").focus()})},flash_message=function(t){var e=$("#flashed-messages"),n='<div class="alert alert-'+t.category+'">';"success"==t.category?n+='<span class="glyphicon glyphicon-ok-sign"></span>&nbsp;':"error"==t.category?n+='<span class="glyphicon glyphicon-exclamation-sign"></span>&nbsp;':n+='<span class="glyphicon glyphicon-info-sign"></span>&nbsp;',n+='<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>'+t.message+"</div>",e.append(n)},BulkActions=function(){this.execute=function(t){var e=$("input.action-checkbox:checked").length,n={ids:[]};return 0!==e&&($("input.action-checkbox:checked").each(function(t,e){n.ids.push($(e).val())}),this.confirm(t,n),!1)},this.confirm=function(t,e){$(".confirmModal").modal({keyboard:!1}).one("click",".confirmBtn",function(){$(".confirmModal").modal("hide"),send_data(t,e)}).on("hidden.bs.modal",function(){$(".confirmBtn").unbind()})}},send_data=function(t,e){$.ajax({url:t,method:"POST",data:JSON.stringify(e),dataType:"json",contentType:"application/json",beforeSend:function(t,e){/^(GET|HEAD|OPTIONS|TRACE)$/i.test(e.type)||this.crossDomain||t.setRequestHeader("X-CSRFToken",csrftoken)}}).done(function(t){flash_message(t),$.each(t.data,function(t,e){var n=$("#"+e.type+"-"+e.id);e.reverse?(n.attr("action",e.reverse_url),"ban"==e.type?reverse_html='<span class="fa fa-flag text-success" data-toggle="tooltip" data-placement="top" title="'+e.reverse_name+'"></span>':"unban"==e.type&&(reverse_html='<span class="fa fa-flag text-warning" data-toggle="tooltip" data-placement="top" title="'+e.reverse_name+'"></span>'),n.find("button").html(reverse_html)):"delete"==e.type&&n.parents(".row").remove()})}).fail(function(t){flash_message(t)})};$(document).ready(function(){$(".action-checkall").change(function(){$("input.action-checkbox").prop("checked",this.checked)}),$(".reply-btn").click(function(t){t.preventDefault();var e=$(this).attr("data-message-id");$.get("/message/message/"+e+"/raw",function(t){var e=$(".flaskbb-editor");e.val((e.val()+"\n"+t).trim()+"\n"),e.selectionStart=e.selectionEnd=e.val().length,e[0].scrollTop=e[0].scrollHeight,window.location.href="#content"})}),$(".quote-btn").click(function(t){t.preventDefault();var e=$(this).attr("data-post-id");$.get("/post/"+e+"/raw",function(t){var e=$(".flaskbb-editor");e.val((e.val()+"\n"+t).trim()+"\n"),e.selectionStart=e.selectionEnd=e.val().length,e[0].scrollTop=e[0].scrollHeight,window.location.href="#content"})}),$('button[name="confirmDialog"]').on("click",function(t){var e=$(this).closest("form");t.preventDefault(),$(".confirmModal").modal({keyboard:!0}).one("click",".confirmBtn",function(){e.trigger("submit")}).on("hidden.bs.modal",function(){$(".confirmBtn").unbind()})})});
+if(function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var n=[],i=e.document,o=Object.getPrototypeOf,a=n.slice,r=n.concat,s=n.push,l=n.indexOf,_={},u=_.toString,d=_.hasOwnProperty,c=d.toString,h=c.call(Object),m={},p=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},f=function(e){return null!=e&&e===e.window},g={type:!0,src:!0,noModule:!0};function k(e,t,n){var o,a=(t=t||i).createElement("script");if(a.text=e,n)for(o in g)n[o]&&(a[o]=n[o]);t.head.appendChild(a).parentNode.removeChild(a)}function b(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?_[u.call(e)]||"object":typeof e}var w=function(e,t){return new w.fn.init(e,t)},y=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function v(e){var t=!!e&&"length"in e&&e.length,n=b(e);return!p(e)&&!f(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}w.fn=w.prototype={jquery:"3.3.1",constructor:w,length:0,toArray:function(){return a.call(this)},get:function(e){return null==e?a.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(a.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:s,sort:n.sort,splice:n.splice},w.extend=w.fn.extend=function(){var e,t,n,i,o,a,r=arguments[0]||{},s=1,l=arguments.length,_=!1;for("boolean"==typeof r&&(_=r,r=arguments[s]||{},s++),"object"==typeof r||p(r)||(r={}),s===l&&(r=this,s--);s<l;s++)if(null!=(e=arguments[s]))for(t in e)n=r[t],r!==(i=e[t])&&(_&&i&&(w.isPlainObject(i)||(o=Array.isArray(i)))?(o?(o=!1,a=n&&Array.isArray(n)?n:[]):a=n&&w.isPlainObject(n)?n:{},r[t]=w.extend(_,a,i)):void 0!==i&&(r[t]=i));return r},w.extend({expando:"jQuery"+("3.3.1"+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==u.call(e)||(t=o(e))&&("function"!=typeof(n=d.call(t,"constructor")&&t.constructor)||c.call(n)!==h))},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e){k(e)},each:function(e,t){var n,i=0;if(v(e))for(n=e.length;i<n&&!1!==t.call(e[i],i,e[i]);i++);else for(i in e)if(!1===t.call(e[i],i,e[i]))break;return e},trim:function(e){return null==e?"":(e+"").replace(y,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(v(Object(e))?w.merge(n,"string"==typeof e?[e]:e):s.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:l.call(t,e,n)},merge:function(e,t){for(var n=+t.length,i=0,o=e.length;i<n;i++)e[o++]=t[i];return e.length=o,e},grep:function(e,t,n){for(var i=[],o=0,a=e.length,r=!n;o<a;o++)!t(e[o],o)!==r&&i.push(e[o]);return i},map:function(e,t,n){var i,o,a=0,s=[];if(v(e))for(i=e.length;a<i;a++)null!=(o=t(e[a],a,n))&&s.push(o);else for(a in e)null!=(o=t(e[a],a,n))&&s.push(o);return r.apply([],s)},guid:1,support:m}),"function"==typeof Symbol&&(w.fn[Symbol.iterator]=n[Symbol.iterator]),w.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){_["[object "+t+"]"]=t.toLowerCase()});var x=function(e){var t,n,i,o,a,r,s,l,_,u,d,c,h,m,p,f,g,k,b,w="sizzle"+1*new Date,y=e.document,v=0,x=0,C=re(),$=re(),T=re(),S=function(e,t){return e===t&&(d=!0),0},E={}.hasOwnProperty,N=[],A=N.pop,D=N.push,j=N.push,O=N.slice,I=function(e,t){for(var n=0,i=e.length;n<i;n++)if(e[n]===t)return n;return-1},P="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",q="\\["+L+"*("+R+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+R+"))|)"+L+"*\\]",H=":("+R+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+q+")*)|.*)\\)|)",B=new RegExp(L+"+","g"),z=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),M=new RegExp("^"+L+"*,"+L+"*"),F=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),K=new RegExp(H),W=new RegExp("^"+R+"$"),G={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+q),PSEUDO:new RegExp("^"+H),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+P+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},V=/^(?:input|select|textarea|button)$/i,Q=/^h\d$/i,J=/^[^{]+\{\s*\[native \w/,Y=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,X=/[+~]/,Z=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),ee=function(e,t,n){var i="0x"+t-65536;return i!=i||n?t:i<0?String.fromCharCode(i+65536):String.fromCharCode(i>>10|55296,1023&i|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},ie=function(){c()},oe=ke(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{j.apply(N=O.call(y.childNodes),y.childNodes),N[y.childNodes.length].nodeType}catch(e){j={apply:N.length?function(e,t){D.apply(e,O.call(t))}:function(e,t){for(var n=e.length,i=0;e[n++]=t[i++];);e.length=n-1}}}function ae(e,t,i,o){var a,s,_,u,d,m,g,k=t&&t.ownerDocument,v=t?t.nodeType:9;if(i=i||[],"string"!=typeof e||!e||1!==v&&9!==v&&11!==v)return i;if(!o&&((t?t.ownerDocument||t:y)!==h&&c(t),t=t||h,p)){if(11!==v&&(d=Y.exec(e)))if(a=d[1]){if(9===v){if(!(_=t.getElementById(a)))return i;if(_.id===a)return i.push(_),i}else if(k&&(_=k.getElementById(a))&&b(t,_)&&_.id===a)return i.push(_),i}else{if(d[2])return j.apply(i,t.getElementsByTagName(e)),i;if((a=d[3])&&n.getElementsByClassName&&t.getElementsByClassName)return j.apply(i,t.getElementsByClassName(a)),i}if(n.qsa&&!T[e+" "]&&(!f||!f.test(e))){if(1!==v)k=t,g=e;else if("object"!==t.nodeName.toLowerCase()){for((u=t.getAttribute("id"))?u=u.replace(te,ne):t.setAttribute("id",u=w),s=(m=r(e)).length;s--;)m[s]="#"+u+" "+ge(m[s]);g=m.join(","),k=X.test(e)&&pe(t.parentNode)||t}if(g)try{return j.apply(i,k.querySelectorAll(g)),i}catch(e){}finally{u===w&&t.removeAttribute("id")}}}return l(e.replace(z,"$1"),t,i,o)}function re(){var e=[];return function t(n,o){return e.push(n+" ")>i.cacheLength&&delete t[e.shift()],t[n+" "]=o}}function se(e){return e[w]=!0,e}function le(e){var t=h.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function _e(e,t){for(var n=e.split("|"),o=n.length;o--;)i.attrHandle[n[o]]=t}function ue(e,t){var n=t&&e,i=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(i)return i;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function de(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function ce(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function he(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&oe(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function me(e){return se(function(t){return t=+t,se(function(n,i){for(var o,a=e([],n.length,t),r=a.length;r--;)n[o=a[r]]&&(n[o]=!(i[o]=n[o]))})})}function pe(e){return e&&void 0!==e.getElementsByTagName&&e}for(t in n=ae.support={},a=ae.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},c=ae.setDocument=function(e){var t,o,r=e?e.ownerDocument||e:y;return r!==h&&9===r.nodeType&&r.documentElement?(m=(h=r).documentElement,p=!a(h),y!==h&&(o=h.defaultView)&&o.top!==o&&(o.addEventListener?o.addEventListener("unload",ie,!1):o.attachEvent&&o.attachEvent("onunload",ie)),n.attributes=le(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=le(function(e){return e.appendChild(h.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=J.test(h.getElementsByClassName),n.getById=le(function(e){return m.appendChild(e).id=w,!h.getElementsByName||!h.getElementsByName(w).length}),n.getById?(i.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute("id")===t}},i.find.ID=function(e,t){if(void 0!==t.getElementById&&p){var n=t.getElementById(e);return n?[n]:[]}}):(i.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},i.find.ID=function(e,t){if(void 0!==t.getElementById&&p){var n,i,o,a=t.getElementById(e);if(a){if((n=a.getAttributeNode("id"))&&n.value===e)return[a];for(o=t.getElementsByName(e),i=0;a=o[i++];)if((n=a.getAttributeNode("id"))&&n.value===e)return[a]}return[]}}),i.find.TAG=n.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,i=[],o=0,a=t.getElementsByTagName(e);if("*"===e){for(;n=a[o++];)1===n.nodeType&&i.push(n);return i}return a},i.find.CLASS=n.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&p)return t.getElementsByClassName(e)},g=[],f=[],(n.qsa=J.test(h.querySelectorAll))&&(le(function(e){m.appendChild(e).innerHTML="<a id='"+w+"'></a><select id='"+w+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&f.push("[*^$]="+L+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||f.push("\\["+L+"*(?:value|"+P+")"),e.querySelectorAll("[id~="+w+"-]").length||f.push("~="),e.querySelectorAll(":checked").length||f.push(":checked"),e.querySelectorAll("a#"+w+"+*").length||f.push(".#.+[+~]")}),le(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=h.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&f.push("name"+L+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&f.push(":enabled",":disabled"),m.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&f.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),f.push(",.*:")})),(n.matchesSelector=J.test(k=m.matches||m.webkitMatchesSelector||m.mozMatchesSelector||m.oMatchesSelector||m.msMatchesSelector))&&le(function(e){n.disconnectedMatch=k.call(e,"*"),k.call(e,"[s!='']:x"),g.push("!=",H)}),f=f.length&&new RegExp(f.join("|")),g=g.length&&new RegExp(g.join("|")),t=J.test(m.compareDocumentPosition),b=t||J.test(m.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,i=t&&t.parentNode;return e===i||!(!i||1!==i.nodeType||!(n.contains?n.contains(i):e.compareDocumentPosition&&16&e.compareDocumentPosition(i)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},S=t?function(e,t){if(e===t)return d=!0,0;var i=!e.compareDocumentPosition-!t.compareDocumentPosition;return i||(1&(i=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===i?e===h||e.ownerDocument===y&&b(y,e)?-1:t===h||t.ownerDocument===y&&b(y,t)?1:u?I(u,e)-I(u,t):0:4&i?-1:1)}:function(e,t){if(e===t)return d=!0,0;var n,i=0,o=e.parentNode,a=t.parentNode,r=[e],s=[t];if(!o||!a)return e===h?-1:t===h?1:o?-1:a?1:u?I(u,e)-I(u,t):0;if(o===a)return ue(e,t);for(n=e;n=n.parentNode;)r.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;r[i]===s[i];)i++;return i?ue(r[i],s[i]):r[i]===y?-1:s[i]===y?1:0},h):h},ae.matches=function(e,t){return ae(e,null,null,t)},ae.matchesSelector=function(e,t){if((e.ownerDocument||e)!==h&&c(e),t=t.replace(U,"='$1']"),n.matchesSelector&&p&&!T[t+" "]&&(!g||!g.test(t))&&(!f||!f.test(t)))try{var i=k.call(e,t);if(i||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return i}catch(e){}return ae(t,h,null,[e]).length>0},ae.contains=function(e,t){return(e.ownerDocument||e)!==h&&c(e),b(e,t)},ae.attr=function(e,t){(e.ownerDocument||e)!==h&&c(e);var o=i.attrHandle[t.toLowerCase()],a=o&&E.call(i.attrHandle,t.toLowerCase())?o(e,t,!p):void 0;return void 0!==a?a:n.attributes||!p?e.getAttribute(t):(a=e.getAttributeNode(t))&&a.specified?a.value:null},ae.escape=function(e){return(e+"").replace(te,ne)},ae.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},ae.uniqueSort=function(e){var t,i=[],o=0,a=0;if(d=!n.detectDuplicates,u=!n.sortStable&&e.slice(0),e.sort(S),d){for(;t=e[a++];)t===e[a]&&(o=i.push(a));for(;o--;)e.splice(i[o],1)}return u=null,e},o=ae.getText=function(e){var t,n="",i=0,a=e.nodeType;if(a){if(1===a||9===a||11===a){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===a||4===a)return e.nodeValue}else for(;t=e[i++];)n+=o(t);return n},(i=ae.selectors={cacheLength:50,createPseudo:se,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Z,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Z,ee),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||ae.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&ae.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&K.test(n)&&(t=r(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Z,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=C[e+" "];return t||(t=new RegExp("(^|"+L+")"+e+"("+L+"|$)"))&&C(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(i){var o=ae.attr(i,e);return null==o?"!="===t:!t||(o+="","="===t?o===n:"!="===t?o!==n:"^="===t?n&&0===o.indexOf(n):"*="===t?n&&o.indexOf(n)>-1:"$="===t?n&&o.slice(-n.length)===n:"~="===t?(" "+o.replace(B," ")+" ").indexOf(n)>-1:"|="===t&&(o===n||o.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,i,o){var a="nth"!==e.slice(0,3),r="last"!==e.slice(-4),s="of-type"===t;return 1===i&&0===o?function(e){return!!e.parentNode}:function(t,n,l){var _,u,d,c,h,m,p=a!==r?"nextSibling":"previousSibling",f=t.parentNode,g=s&&t.nodeName.toLowerCase(),k=!l&&!s,b=!1;if(f){if(a){for(;p;){for(c=t;c=c[p];)if(s?c.nodeName.toLowerCase()===g:1===c.nodeType)return!1;m=p="only"===e&&!m&&"nextSibling"}return!0}if(m=[r?f.firstChild:f.lastChild],r&&k){for(b=(h=(_=(u=(d=(c=f)[w]||(c[w]={}))[c.uniqueID]||(d[c.uniqueID]={}))[e]||[])[0]===v&&_[1])&&_[2],c=h&&f.childNodes[h];c=++h&&c&&c[p]||(b=h=0)||m.pop();)if(1===c.nodeType&&++b&&c===t){u[e]=[v,h,b];break}}else if(k&&(b=h=(_=(u=(d=(c=t)[w]||(c[w]={}))[c.uniqueID]||(d[c.uniqueID]={}))[e]||[])[0]===v&&_[1]),!1===b)for(;(c=++h&&c&&c[p]||(b=h=0)||m.pop())&&((s?c.nodeName.toLowerCase()!==g:1!==c.nodeType)||!++b||(k&&((u=(d=c[w]||(c[w]={}))[c.uniqueID]||(d[c.uniqueID]={}))[e]=[v,b]),c!==t)););return(b-=o)===i||b%i==0&&b/i>=0}}},PSEUDO:function(e,t){var n,o=i.pseudos[e]||i.setFilters[e.toLowerCase()]||ae.error("unsupported pseudo: "+e);return o[w]?o(t):o.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?se(function(e,n){for(var i,a=o(e,t),r=a.length;r--;)e[i=I(e,a[r])]=!(n[i]=a[r])}):function(e){return o(e,0,n)}):o}},pseudos:{not:se(function(e){var t=[],n=[],i=s(e.replace(z,"$1"));return i[w]?se(function(e,t,n,o){for(var a,r=i(e,null,o,[]),s=e.length;s--;)(a=r[s])&&(e[s]=!(t[s]=a))}):function(e,o,a){return t[0]=e,i(t,null,a,n),t[0]=null,!n.pop()}}),has:se(function(e){return function(t){return ae(e,t).length>0}}),contains:se(function(e){return e=e.replace(Z,ee),function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:se(function(e){return W.test(e||"")||ae.error("unsupported lang: "+e),e=e.replace(Z,ee).toLowerCase(),function(t){var n;do{if(n=p?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===m},focus:function(e){return e===h.activeElement&&(!h.hasFocus||h.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:he(!1),disabled:he(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!i.pseudos.empty(e)},header:function(e){return Q.test(e.nodeName)},input:function(e){return V.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:me(function(){return[0]}),last:me(function(e,t){return[t-1]}),eq:me(function(e,t,n){return[n<0?n+t:n]}),even:me(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:me(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:me(function(e,t,n){for(var i=n<0?n+t:n;--i>=0;)e.push(i);return e}),gt:me(function(e,t,n){for(var i=n<0?n+t:n;++i<t;)e.push(i);return e})}}).pseudos.nth=i.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[t]=de(t);for(t in{submit:!0,reset:!0})i.pseudos[t]=ce(t);function fe(){}function ge(e){for(var t=0,n=e.length,i="";t<n;t++)i+=e[t].value;return i}function ke(e,t,n){var i=t.dir,o=t.next,a=o||i,r=n&&"parentNode"===a,s=x++;return t.first?function(t,n,o){for(;t=t[i];)if(1===t.nodeType||r)return e(t,n,o);return!1}:function(t,n,l){var _,u,d,c=[v,s];if(l){for(;t=t[i];)if((1===t.nodeType||r)&&e(t,n,l))return!0}else for(;t=t[i];)if(1===t.nodeType||r)if(u=(d=t[w]||(t[w]={}))[t.uniqueID]||(d[t.uniqueID]={}),o&&o===t.nodeName.toLowerCase())t=t[i]||t;else{if((_=u[a])&&_[0]===v&&_[1]===s)return c[2]=_[2];if(u[a]=c,c[2]=e(t,n,l))return!0}return!1}}function be(e){return e.length>1?function(t,n,i){for(var o=e.length;o--;)if(!e[o](t,n,i))return!1;return!0}:e[0]}function we(e,t,n,i,o){for(var a,r=[],s=0,l=e.length,_=null!=t;s<l;s++)(a=e[s])&&(n&&!n(a,i,o)||(r.push(a),_&&t.push(s)));return r}function ye(e,t,n,i,o,a){return i&&!i[w]&&(i=ye(i)),o&&!o[w]&&(o=ye(o,a)),se(function(a,r,s,l){var _,u,d,c=[],h=[],m=r.length,p=a||function(e,t,n){for(var i=0,o=t.length;i<o;i++)ae(e,t[i],n);return n}(t||"*",s.nodeType?[s]:s,[]),f=!e||!a&&t?p:we(p,c,e,s,l),g=n?o||(a?e:m||i)?[]:r:f;if(n&&n(f,g,s,l),i)for(_=we(g,h),i(_,[],s,l),u=_.length;u--;)(d=_[u])&&(g[h[u]]=!(f[h[u]]=d));if(a){if(o||e){if(o){for(_=[],u=g.length;u--;)(d=g[u])&&_.push(f[u]=d);o(null,g=[],_,l)}for(u=g.length;u--;)(d=g[u])&&(_=o?I(a,d):c[u])>-1&&(a[_]=!(r[_]=d))}}else g=we(g===r?g.splice(m,g.length):g),o?o(null,r,g,l):j.apply(r,g)})}function ve(e){for(var t,n,o,a=e.length,r=i.relative[e[0].type],s=r||i.relative[" "],l=r?1:0,u=ke(function(e){return e===t},s,!0),d=ke(function(e){return I(t,e)>-1},s,!0),c=[function(e,n,i){var o=!r&&(i||n!==_)||((t=n).nodeType?u(e,n,i):d(e,n,i));return t=null,o}];l<a;l++)if(n=i.relative[e[l].type])c=[ke(be(c),n)];else{if((n=i.filter[e[l].type].apply(null,e[l].matches))[w]){for(o=++l;o<a&&!i.relative[e[o].type];o++);return ye(l>1&&be(c),l>1&&ge(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(z,"$1"),n,l<o&&ve(e.slice(l,o)),o<a&&ve(e=e.slice(o)),o<a&&ge(e))}c.push(n)}return be(c)}return fe.prototype=i.filters=i.pseudos,i.setFilters=new fe,r=ae.tokenize=function(e,t){var n,o,a,r,s,l,_,u=$[e+" "];if(u)return t?0:u.slice(0);for(s=e,l=[],_=i.preFilter;s;){for(r in n&&!(o=M.exec(s))||(o&&(s=s.slice(o[0].length)||s),l.push(a=[])),n=!1,(o=F.exec(s))&&(n=o.shift(),a.push({value:n,type:o[0].replace(z," ")}),s=s.slice(n.length)),i.filter)!(o=G[r].exec(s))||_[r]&&!(o=_[r](o))||(n=o.shift(),a.push({value:n,type:r,matches:o}),s=s.slice(n.length));if(!n)break}return t?s.length:s?ae.error(e):$(e,l).slice(0)},s=ae.compile=function(e,t){var n,o,a,s,l,u,d=[],m=[],f=T[e+" "];if(!f){for(t||(t=r(e)),n=t.length;n--;)(f=ve(t[n]))[w]?d.push(f):m.push(f);(f=T(e,(o=m,a=d,s=a.length>0,l=o.length>0,u=function(e,t,n,r,u){var d,m,f,g=0,k="0",b=e&&[],w=[],y=_,x=e||l&&i.find.TAG("*",u),C=v+=null==y?1:Math.random()||.1,$=x.length;for(u&&(_=t===h||t||u);k!==$&&null!=(d=x[k]);k++){if(l&&d){for(m=0,t||d.ownerDocument===h||(c(d),n=!p);f=o[m++];)if(f(d,t||h,n)){r.push(d);break}u&&(v=C)}s&&((d=!f&&d)&&g--,e&&b.push(d))}if(g+=k,s&&k!==g){for(m=0;f=a[m++];)f(b,w,t,n);if(e){if(g>0)for(;k--;)b[k]||w[k]||(w[k]=A.call(r));w=we(w)}j.apply(r,w),u&&!e&&w.length>0&&g+a.length>1&&ae.uniqueSort(r)}return u&&(v=C,_=y),b},s?se(u):u))).selector=e}return f},l=ae.select=function(e,t,n,o){var a,l,_,u,d,c="function"==typeof e&&e,h=!o&&r(e=c.selector||e);if(n=n||[],1===h.length){if((l=h[0]=h[0].slice(0)).length>2&&"ID"===(_=l[0]).type&&9===t.nodeType&&p&&i.relative[l[1].type]){if(!(t=(i.find.ID(_.matches[0].replace(Z,ee),t)||[])[0]))return n;c&&(t=t.parentNode),e=e.slice(l.shift().value.length)}for(a=G.needsContext.test(e)?0:l.length;a--&&(_=l[a],!i.relative[u=_.type]);)if((d=i.find[u])&&(o=d(_.matches[0].replace(Z,ee),X.test(l[0].type)&&pe(t.parentNode)||t))){if(l.splice(a,1),!(e=o.length&&ge(l)))return j.apply(n,o),n;break}}return(c||s(e,h))(o,t,!p,n,!t||X.test(e)&&pe(t.parentNode)||t),n},n.sortStable=w.split("").sort(S).join("")===w,n.detectDuplicates=!!d,c(),n.sortDetached=le(function(e){return 1&e.compareDocumentPosition(h.createElement("fieldset"))}),le(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||_e("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&le(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||_e("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),le(function(e){return null==e.getAttribute("disabled")})||_e(P,function(e,t,n){var i;if(!n)return!0===e[t]?t.toLowerCase():(i=e.getAttributeNode(t))&&i.specified?i.value:null}),ae}(e);w.find=x,w.expr=x.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=x.uniqueSort,w.text=x.getText,w.isXMLDoc=x.isXML,w.contains=x.contains,w.escapeSelector=x.escape;var C=function(e,t,n){for(var i=[],o=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(o&&w(e).is(n))break;i.push(e)}return i},$=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},T=w.expr.match.needsContext;function S(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var E=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function N(e,t,n){return p(t)?w.grep(e,function(e,i){return!!t.call(e,i,e)!==n}):t.nodeType?w.grep(e,function(e){return e===t!==n}):"string"!=typeof t?w.grep(e,function(e){return l.call(t,e)>-1!==n}):w.filter(t,e,n)}w.filter=function(e,t,n){var i=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===i.nodeType?w.find.matchesSelector(i,e)?[i]:[]:w.find.matches(e,w.grep(t,function(e){return 1===e.nodeType}))},w.fn.extend({find:function(e){var t,n,i=this.length,o=this;if("string"!=typeof e)return this.pushStack(w(e).filter(function(){for(t=0;t<i;t++)if(w.contains(o[t],this))return!0}));for(n=this.pushStack([]),t=0;t<i;t++)w.find(e,o[t],n);return i>1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(N(this,e||[],!1))},not:function(e){return this.pushStack(N(this,e||[],!0))},is:function(e){return!!N(this,"string"==typeof e&&T.test(e)?w(e):e||[],!1).length}});var A,D=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var o,a;if(!e)return this;if(n=n||A,"string"==typeof e){if(!(o="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:D.exec(e))||!o[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(o[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(o[1],t&&t.nodeType?t.ownerDocument||t:i,!0)),E.test(o[1])&&w.isPlainObject(t))for(o in t)p(this[o])?this[o](t[o]):this.attr(o,t[o]);return this}return(a=i.getElementById(o[2]))&&(this[0]=a,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):p(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,A=w(i);var j=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function I(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(w.contains(this,t[e]))return!0})},closest:function(e,t){var n,i=0,o=this.length,a=[],r="string"!=typeof e&&w(e);if(!T.test(e))for(;i<o;i++)for(n=this[i];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(r?r.index(n)>-1:1===n.nodeType&&w.find.matchesSelector(n,e))){a.push(n);break}return this.pushStack(a.length>1?w.uniqueSort(a):a)},index:function(e){return e?"string"==typeof e?l.call(w(e),this[0]):l.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return C(e,"parentNode")},parentsUntil:function(e,t,n){return C(e,"parentNode",n)},next:function(e){return I(e,"nextSibling")},prev:function(e){return I(e,"previousSibling")},nextAll:function(e){return C(e,"nextSibling")},prevAll:function(e){return C(e,"previousSibling")},nextUntil:function(e,t,n){return C(e,"nextSibling",n)},prevUntil:function(e,t,n){return C(e,"previousSibling",n)},siblings:function(e){return $((e.parentNode||{}).firstChild,e)},children:function(e){return $(e.firstChild)},contents:function(e){return S(e,"iframe")?e.contentDocument:(S(e,"template")&&(e=e.content||e),w.merge([],e.childNodes))}},function(e,t){w.fn[e]=function(n,i){var o=w.map(this,t,n);return"Until"!==e.slice(-5)&&(i=n),i&&"string"==typeof i&&(o=w.filter(i,o)),this.length>1&&(O[e]||w.uniqueSort(o),j.test(e)&&o.reverse()),this.pushStack(o)}});var P=/[^\x20\t\r\n\f]+/g;function L(e){return e}function R(e){throw e}function q(e,t,n,i){var o;try{e&&p(o=e.promise)?o.call(e).done(t).fail(n):e&&p(o=e.then)?o.call(e,t,n):t.apply(void 0,[e].slice(i))}catch(e){n.apply(void 0,[e])}}w.Callbacks=function(e){var t,n;e="string"==typeof e?(t=e,n={},w.each(t.match(P)||[],function(e,t){n[t]=!0}),n):w.extend({},e);var i,o,a,r,s=[],l=[],_=-1,u=function(){for(r=r||e.once,a=i=!0;l.length;_=-1)for(o=l.shift();++_<s.length;)!1===s[_].apply(o[0],o[1])&&e.stopOnFalse&&(_=s.length,o=!1);e.memory||(o=!1),i=!1,r&&(s=o?[]:"")},d={add:function(){return s&&(o&&!i&&(_=s.length-1,l.push(o)),function t(n){w.each(n,function(n,i){p(i)?e.unique&&d.has(i)||s.push(i):i&&i.length&&"string"!==b(i)&&t(i)})}(arguments),o&&!i&&u()),this},remove:function(){return w.each(arguments,function(e,t){for(var n;(n=w.inArray(t,s,n))>-1;)s.splice(n,1),n<=_&&_--}),this},has:function(e){return e?w.inArray(e,s)>-1:s.length>0},empty:function(){return s&&(s=[]),this},disable:function(){return r=l=[],s=o="",this},disabled:function(){return!s},lock:function(){return r=l=[],o||i||(s=o=""),this},locked:function(){return!!r},fireWith:function(e,t){return r||(t=[e,(t=t||[]).slice?t.slice():t],l.push(t),i||u()),this},fire:function(){return d.fireWith(this,arguments),this},fired:function(){return!!a}};return d},w.extend({Deferred:function(t){var n=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],i="pending",o={state:function(){return i},always:function(){return a.done(arguments).fail(arguments),this},catch:function(e){return o.then(null,e)},pipe:function(){var e=arguments;return w.Deferred(function(t){w.each(n,function(n,i){var o=p(e[i[4]])&&e[i[4]];a[i[1]](function(){var e=o&&o.apply(this,arguments);e&&p(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[i[0]+"With"](this,o?[e]:arguments)})}),e=null}).promise()},then:function(t,i,o){var a=0;function r(t,n,i,o){return function(){var s=this,l=arguments,_=function(){var e,_;if(!(t<a)){if((e=i.apply(s,l))===n.promise())throw new TypeError("Thenable self-resolution");_=e&&("object"==typeof e||"function"==typeof e)&&e.then,p(_)?o?_.call(e,r(a,n,L,o),r(a,n,R,o)):(a++,_.call(e,r(a,n,L,o),r(a,n,R,o),r(a,n,L,n.notifyWith))):(i!==L&&(s=void 0,l=[e]),(o||n.resolveWith)(s,l))}},u=o?_:function(){try{_()}catch(e){w.Deferred.exceptionHook&&w.Deferred.exceptionHook(e,u.stackTrace),t+1>=a&&(i!==R&&(s=void 0,l=[e]),n.rejectWith(s,l))}};t?u():(w.Deferred.getStackHook&&(u.stackTrace=w.Deferred.getStackHook()),e.setTimeout(u))}}return w.Deferred(function(e){n[0][3].add(r(0,e,p(o)?o:L,e.notifyWith)),n[1][3].add(r(0,e,p(t)?t:L)),n[2][3].add(r(0,e,p(i)?i:R))}).promise()},promise:function(e){return null!=e?w.extend(e,o):o}},a={};return w.each(n,function(e,t){var r=t[2],s=t[5];o[t[1]]=r.add,s&&r.add(function(){i=s},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),r.add(t[3].fire),a[t[0]]=function(){return a[t[0]+"With"](this===a?void 0:this,arguments),this},a[t[0]+"With"]=r.fireWith}),o.promise(a),t&&t.call(a,a),a},when:function(e){var t=arguments.length,n=t,i=Array(n),o=a.call(arguments),r=w.Deferred(),s=function(e){return function(n){i[e]=this,o[e]=arguments.length>1?a.call(arguments):n,--t||r.resolveWith(i,o)}};if(t<=1&&(q(e,r.done(s(n)).resolve,r.reject,!t),"pending"===r.state()||p(o[n]&&o[n].then)))return r.then();for(;n--;)q(o[n],s(n),r.reject);return r.promise()}});var H=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&H.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout(function(){throw t})};var B=w.Deferred();function z(){i.removeEventListener("DOMContentLoaded",z),e.removeEventListener("load",z),w.ready()}w.fn.ready=function(e){return B.then(e).catch(function(e){w.readyException(e)}),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||B.resolveWith(i,[w]))}}),w.ready.then=B.then,"complete"===i.readyState||"loading"!==i.readyState&&!i.documentElement.doScroll?e.setTimeout(w.ready):(i.addEventListener("DOMContentLoaded",z),e.addEventListener("load",z));var M=function(e,t,n,i,o,a,r){var s=0,l=e.length,_=null==n;if("object"===b(n))for(s in o=!0,n)M(e,t,s,n[s],!0,a,r);else if(void 0!==i&&(o=!0,p(i)||(r=!0),_&&(r?(t.call(e,i),t=null):(_=t,t=function(e,t,n){return _.call(w(e),n)})),t))for(;s<l;s++)t(e[s],n,r?i:i.call(e[s],s,t(e[s],n)));return o?e:_?t.call(e):l?t(e[0],n):a},F=/^-ms-/,U=/-([a-z])/g;function K(e,t){return t.toUpperCase()}function W(e){return e.replace(F,"ms-").replace(U,K)}var G=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function V(){this.expando=w.expando+V.uid++}V.uid=1,V.prototype={cache:function(e){var t=e[this.expando];return t||(t={},G(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var i,o=this.cache(e);if("string"==typeof t)o[W(t)]=n;else for(i in t)o[W(i)]=t[i];return o},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][W(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,i=e[this.expando];if(void 0!==i){if(void 0!==t){n=(t=Array.isArray(t)?t.map(W):(t=W(t))in i?[t]:t.match(P)||[]).length;for(;n--;)delete i[t[n]]}(void 0===t||w.isEmptyObject(i))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!w.isEmptyObject(t)}};var Q=new V,J=new V,Y=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,X=/[A-Z]/g;function Z(e,t,n){var i,o;if(void 0===n&&1===e.nodeType)if(i="data-"+t.replace(X,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(i))){try{n="true"===(o=n)||"false"!==o&&("null"===o?null:o===+o+""?+o:Y.test(o)?JSON.parse(o):o)}catch(e){}J.set(e,t,n)}else n=void 0;return n}w.extend({hasData:function(e){return J.hasData(e)||Q.hasData(e)},data:function(e,t,n){return J.access(e,t,n)},removeData:function(e,t){J.remove(e,t)},_data:function(e,t,n){return Q.access(e,t,n)},_removeData:function(e,t){Q.remove(e,t)}}),w.fn.extend({data:function(e,t){var n,i,o,a=this[0],r=a&&a.attributes;if(void 0===e){if(this.length&&(o=J.get(a),1===a.nodeType&&!Q.get(a,"hasDataAttrs"))){for(n=r.length;n--;)r[n]&&0===(i=r[n].name).indexOf("data-")&&(i=W(i.slice(5)),Z(a,i,o[i]));Q.set(a,"hasDataAttrs",!0)}return o}return"object"==typeof e?this.each(function(){J.set(this,e)}):M(this,function(t){var n;if(a&&void 0===t){if(void 0!==(n=J.get(a,e)))return n;if(void 0!==(n=Z(a,e)))return n}else this.each(function(){J.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){J.remove(this,e)})}}),w.extend({queue:function(e,t,n){var i;if(e)return t=(t||"fx")+"queue",i=Q.get(e,t),n&&(!i||Array.isArray(n)?i=Q.access(e,t,w.makeArray(n)):i.push(n)),i||[]},dequeue:function(e,t){t=t||"fx";var n=w.queue(e,t),i=n.length,o=n.shift(),a=w._queueHooks(e,t);"inprogress"===o&&(o=n.shift(),i--),o&&("fx"===t&&n.unshift("inprogress"),delete a.stop,o.call(e,function(){w.dequeue(e,t)},a)),!i&&a&&a.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Q.get(e,n)||Q.access(e,n,{empty:w.Callbacks("once memory").add(function(){Q.remove(e,[t+"queue",n])})})}}),w.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?w.queue(this[0],e):void 0===t?this:this.each(function(){var n=w.queue(this,e,t);w._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&w.dequeue(this,e)})},dequeue:function(e){return this.each(function(){w.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,i=1,o=w.Deferred(),a=this,r=this.length,s=function(){--i||o.resolveWith(a,[a])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";r--;)(n=Q.get(a[r],e+"queueHooks"))&&n.empty&&(i++,n.empty.add(s));return s(),o.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],ie=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&w.contains(e.ownerDocument,e)&&"none"===w.css(e,"display")},oe=function(e,t,n,i){var o,a,r={};for(a in t)r[a]=e.style[a],e.style[a]=t[a];for(a in o=n.apply(e,i||[]),t)e.style[a]=r[a];return o};function ae(e,t,n,i){var o,a,r=20,s=i?function(){return i.cur()}:function(){return w.css(e,t,"")},l=s(),_=n&&n[3]||(w.cssNumber[t]?"":"px"),u=(w.cssNumber[t]||"px"!==_&&+l)&&te.exec(w.css(e,t));if(u&&u[3]!==_){for(l/=2,_=_||u[3],u=+l||1;r--;)w.style(e,t,u+_),(1-a)*(1-(a=s()/l||.5))<=0&&(r=0),u/=a;u*=2,w.style(e,t,u+_),n=n||[]}return n&&(u=+u||+l||0,o=n[1]?u+(n[1]+1)*n[2]:+n[2],i&&(i.unit=_,i.start=u,i.end=o)),o}var re={};function se(e,t){for(var n,i,o=[],a=0,r=e.length;a<r;a++)(i=e[a]).style&&(n=i.style.display,t?("none"===n&&(o[a]=Q.get(i,"display")||null,o[a]||(i.style.display="")),""===i.style.display&&ie(i)&&(o[a]=(l=void 0,_=void 0,void 0,d=void 0,_=(s=i).ownerDocument,u=s.nodeName,(d=re[u])||(l=_.body.appendChild(_.createElement(u)),d=w.css(l,"display"),l.parentNode.removeChild(l),"none"===d&&(d="block"),re[u]=d,d)))):"none"!==n&&(o[a]="none",Q.set(i,"display",n)));var s,l,_,u,d;for(a=0;a<r;a++)null!=o[a]&&(e[a].style.display=o[a]);return e}w.fn.extend({show:function(){return se(this,!0)},hide:function(){return se(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ie(this)?w(this).show():w(this).hide()})}});var le=/^(?:checkbox|radio)$/i,_e=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,ue=/^$|^module$|\/(?:java|ecma)script/i,de={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ce(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&S(e,t)?w.merge([e],n):n}function he(e,t){for(var n=0,i=e.length;n<i;n++)Q.set(e[n],"globalEval",!t||Q.get(t[n],"globalEval"))}de.optgroup=de.option,de.tbody=de.tfoot=de.colgroup=de.caption=de.thead,de.th=de.td;var me,pe,fe=/<|&#?\w+;/;function ge(e,t,n,i,o){for(var a,r,s,l,_,u,d=t.createDocumentFragment(),c=[],h=0,m=e.length;h<m;h++)if((a=e[h])||0===a)if("object"===b(a))w.merge(c,a.nodeType?[a]:a);else if(fe.test(a)){for(r=r||d.appendChild(t.createElement("div")),s=(_e.exec(a)||["",""])[1].toLowerCase(),l=de[s]||de._default,r.innerHTML=l[1]+w.htmlPrefilter(a)+l[2],u=l[0];u--;)r=r.lastChild;w.merge(c,r.childNodes),(r=d.firstChild).textContent=""}else c.push(t.createTextNode(a));for(d.textContent="",h=0;a=c[h++];)if(i&&w.inArray(a,i)>-1)o&&o.push(a);else if(_=w.contains(a.ownerDocument,a),r=ce(d.appendChild(a),"script"),_&&he(r),n)for(u=0;a=r[u++];)ue.test(a.type||"")&&n.push(a);return d}me=i.createDocumentFragment().appendChild(i.createElement("div")),(pe=i.createElement("input")).setAttribute("type","radio"),pe.setAttribute("checked","checked"),pe.setAttribute("name","t"),me.appendChild(pe),m.checkClone=me.cloneNode(!0).cloneNode(!0).lastChild.checked,me.innerHTML="<textarea>x</textarea>",m.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var ke=i.documentElement,be=/^key/,we=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ye=/^([^.]*)(?:\.(.+)|)/;function ve(){return!0}function xe(){return!1}function Ce(){try{return i.activeElement}catch(e){}}function $e(e,t,n,i,o,a){var r,s;if("object"==typeof t){for(s in"string"!=typeof n&&(i=i||n,n=void 0),t)$e(e,s,n,i,t[s],a);return e}if(null==i&&null==o?(o=n,i=n=void 0):null==o&&("string"==typeof n?(o=i,i=void 0):(o=i,i=n,n=void 0)),!1===o)o=xe;else if(!o)return e;return 1===a&&(r=o,(o=function(e){return w().off(e),r.apply(this,arguments)}).guid=r.guid||(r.guid=w.guid++)),e.each(function(){w.event.add(this,t,o,i,n)})}w.event={global:{},add:function(e,t,n,i,o){var a,r,s,l,_,u,d,c,h,m,p,f=Q.get(e);if(f)for(n.handler&&(n=(a=n).handler,o=a.selector),o&&w.find.matchesSelector(ke,o),n.guid||(n.guid=w.guid++),(l=f.events)||(l=f.events={}),(r=f.handle)||(r=f.handle=function(t){return void 0!==w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),_=(t=(t||"").match(P)||[""]).length;_--;)h=p=(s=ye.exec(t[_])||[])[1],m=(s[2]||"").split(".").sort(),h&&(d=w.event.special[h]||{},h=(o?d.delegateType:d.bindType)||h,d=w.event.special[h]||{},u=w.extend({type:h,origType:p,data:i,handler:n,guid:n.guid,selector:o,needsContext:o&&w.expr.match.needsContext.test(o),namespace:m.join(".")},a),(c=l[h])||((c=l[h]=[]).delegateCount=0,d.setup&&!1!==d.setup.call(e,i,m,r)||e.addEventListener&&e.addEventListener(h,r)),d.add&&(d.add.call(e,u),u.handler.guid||(u.handler.guid=n.guid)),o?c.splice(c.delegateCount++,0,u):c.push(u),w.event.global[h]=!0)},remove:function(e,t,n,i,o){var a,r,s,l,_,u,d,c,h,m,p,f=Q.hasData(e)&&Q.get(e);if(f&&(l=f.events)){for(_=(t=(t||"").match(P)||[""]).length;_--;)if(h=p=(s=ye.exec(t[_])||[])[1],m=(s[2]||"").split(".").sort(),h){for(d=w.event.special[h]||{},c=l[h=(i?d.delegateType:d.bindType)||h]||[],s=s[2]&&new RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"),r=a=c.length;a--;)u=c[a],!o&&p!==u.origType||n&&n.guid!==u.guid||s&&!s.test(u.namespace)||i&&i!==u.selector&&("**"!==i||!u.selector)||(c.splice(a,1),u.selector&&c.delegateCount--,d.remove&&d.remove.call(e,u));r&&!c.length&&(d.teardown&&!1!==d.teardown.call(e,m,f.handle)||w.removeEvent(e,h,f.handle),delete l[h])}else for(h in l)w.event.remove(e,h+t[_],n,i,!0);w.isEmptyObject(l)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,i,o,a,r,s=w.event.fix(e),l=new Array(arguments.length),_=(Q.get(this,"events")||{})[s.type]||[],u=w.event.special[s.type]||{};for(l[0]=s,t=1;t<arguments.length;t++)l[t]=arguments[t];if(s.delegateTarget=this,!u.preDispatch||!1!==u.preDispatch.call(this,s)){for(r=w.event.handlers.call(this,s,_),t=0;(o=r[t++])&&!s.isPropagationStopped();)for(s.currentTarget=o.elem,n=0;(a=o.handlers[n++])&&!s.isImmediatePropagationStopped();)s.rnamespace&&!s.rnamespace.test(a.namespace)||(s.handleObj=a,s.data=a.data,void 0!==(i=((w.event.special[a.origType]||{}).handle||a.handler).apply(o.elem,l))&&!1===(s.result=i)&&(s.preventDefault(),s.stopPropagation()));return u.postDispatch&&u.postDispatch.call(this,s),s.result}},handlers:function(e,t){var n,i,o,a,r,s=[],l=t.delegateCount,_=e.target;if(l&&_.nodeType&&!("click"===e.type&&e.button>=1))for(;_!==this;_=_.parentNode||this)if(1===_.nodeType&&("click"!==e.type||!0!==_.disabled)){for(a=[],r={},n=0;n<l;n++)void 0===r[o=(i=t[n]).selector+" "]&&(r[o]=i.needsContext?w(o,this).index(_)>-1:w.find(o,this,null,[_]).length),r[o]&&a.push(i);a.length&&s.push({elem:_,handlers:a})}return _=this,l<t.length&&s.push({elem:_,handlers:t.slice(l)}),s},addProp:function(e,t){Object.defineProperty(w.Event.prototype,e,{enumerable:!0,configurable:!0,get:p(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[w.expando]?e:new w.Event(e)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==Ce()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===Ce()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&S(this,"input"))return this.click(),!1},_default:function(e){return S(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},w.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},w.Event=function(e,t){if(!(this instanceof w.Event))return new w.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?ve:xe,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&w.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[w.expando]=!0},w.Event.prototype={constructor:w.Event,isDefaultPrevented:xe,isPropagationStopped:xe,isImmediatePropagationStopped:xe,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=ve,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=ve,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=ve,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},w.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&be.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&we.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},w.event.addProp),w.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){w.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,i=e.relatedTarget,o=e.handleObj;return i&&(i===this||w.contains(this,i))||(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),w.fn.extend({on:function(e,t,n,i){return $e(this,e,t,n,i)},one:function(e,t,n,i){return $e(this,e,t,n,i,1)},off:function(e,t,n){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,w(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,t,e[o]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=xe),this.each(function(){w.event.remove(this,e,n,t)})}});var Te=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,Se=/<script|<style|<link/i,Ee=/checked\s*(?:[^=]|=\s*.checked.)/i,Ne=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Ae(e,t){return S(e,"table")&&S(11!==t.nodeType?t:t.firstChild,"tr")&&w(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function je(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,i,o,a,r,s,l,_;if(1===t.nodeType){if(Q.hasData(e)&&(a=Q.access(e),r=Q.set(t,a),_=a.events))for(o in delete r.handle,r.events={},_)for(n=0,i=_[o].length;n<i;n++)w.event.add(t,o,_[o][n]);J.hasData(e)&&(s=J.access(e),l=w.extend({},s),J.set(t,l))}}function Ie(e,t,n,i){t=r.apply([],t);var o,a,s,l,_,u,d=0,c=e.length,h=c-1,f=t[0],g=p(f);if(g||c>1&&"string"==typeof f&&!m.checkClone&&Ee.test(f))return e.each(function(o){var a=e.eq(o);g&&(t[0]=f.call(this,o,a.html())),Ie(a,t,n,i)});if(c&&(a=(o=ge(t,e[0].ownerDocument,!1,e,i)).firstChild,1===o.childNodes.length&&(o=a),a||i)){for(l=(s=w.map(ce(o,"script"),De)).length;d<c;d++)_=o,d!==h&&(_=w.clone(_,!0,!0),l&&w.merge(s,ce(_,"script"))),n.call(e[d],_,d);if(l)for(u=s[s.length-1].ownerDocument,w.map(s,je),d=0;d<l;d++)_=s[d],ue.test(_.type||"")&&!Q.access(_,"globalEval")&&w.contains(u,_)&&(_.src&&"module"!==(_.type||"").toLowerCase()?w._evalUrl&&w._evalUrl(_.src):k(_.textContent.replace(Ne,""),u,_))}return e}function Pe(e,t,n){for(var i,o=t?w.filter(t,e):e,a=0;null!=(i=o[a]);a++)n||1!==i.nodeType||w.cleanData(ce(i)),i.parentNode&&(n&&w.contains(i.ownerDocument,i)&&he(ce(i,"script")),i.parentNode.removeChild(i));return e}w.extend({htmlPrefilter:function(e){return e.replace(Te,"<$1></$2>")},clone:function(e,t,n){var i,o,a,r,s,l,_,u=e.cloneNode(!0),d=w.contains(e.ownerDocument,e);if(!(m.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||w.isXMLDoc(e)))for(r=ce(u),i=0,o=(a=ce(e)).length;i<o;i++)s=a[i],l=r[i],void 0,"input"===(_=l.nodeName.toLowerCase())&&le.test(s.type)?l.checked=s.checked:"input"!==_&&"textarea"!==_||(l.defaultValue=s.defaultValue);if(t)if(n)for(a=a||ce(e),r=r||ce(u),i=0,o=a.length;i<o;i++)Oe(a[i],r[i]);else Oe(e,u);return(r=ce(u,"script")).length>0&&he(r,!d&&ce(e,"script")),u},cleanData:function(e){for(var t,n,i,o=w.event.special,a=0;void 0!==(n=e[a]);a++)if(G(n)){if(t=n[Q.expando]){if(t.events)for(i in t.events)o[i]?w.event.remove(n,i):w.removeEvent(n,i,t.handle);n[Q.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),w.fn.extend({detach:function(e){return Pe(this,e,!0)},remove:function(e){return Pe(this,e)},text:function(e){return M(this,function(e){return void 0===e?w.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Ie(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Ae(this,e).appendChild(e)})},prepend:function(){return Ie(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Ae(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(w.cleanData(ce(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return w.clone(this,e,t)})},html:function(e){return M(this,function(e){var t=this[0]||{},n=0,i=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Se.test(e)&&!de[(_e.exec(e)||["",""])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n<i;n++)1===(t=this[n]||{}).nodeType&&(w.cleanData(ce(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return Ie(this,arguments,function(t){var n=this.parentNode;w.inArray(this,e)<0&&(w.cleanData(ce(this)),n&&n.replaceChild(t,this))},e)}}),w.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){w.fn[e]=function(e){for(var n,i=[],o=w(e),a=o.length-1,r=0;r<=a;r++)n=r===a?this:this.clone(!0),w(o[r])[t](n),s.apply(i,n.get());return this.pushStack(i)}});var Le=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Re=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)},qe=new RegExp(ne.join("|"),"i");function He(e,t,n){var i,o,a,r,s=e.style;return(n=n||Re(e))&&(""!==(r=n.getPropertyValue(t)||n[t])||w.contains(e.ownerDocument,e)||(r=w.style(e,t)),!m.pixelBoxStyles()&&Le.test(r)&&qe.test(t)&&(i=s.width,o=s.minWidth,a=s.maxWidth,s.minWidth=s.maxWidth=s.width=r,r=n.width,s.width=i,s.minWidth=o,s.maxWidth=a)),void 0!==r?r+"":r}function Be(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function t(){if(u){_.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",u.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",ke.appendChild(_).appendChild(u);var t=e.getComputedStyle(u);o="1%"!==t.top,l=12===n(t.marginLeft),u.style.right="60%",s=36===n(t.right),a=36===n(t.width),u.style.position="absolute",r=36===u.offsetWidth||"absolute",ke.removeChild(_),u=null}}function n(e){return Math.round(parseFloat(e))}var o,a,r,s,l,_=i.createElement("div"),u=i.createElement("div");u.style&&(u.style.backgroundClip="content-box",u.cloneNode(!0).style.backgroundClip="",m.clearCloneStyle="content-box"===u.style.backgroundClip,w.extend(m,{boxSizingReliable:function(){return t(),a},pixelBoxStyles:function(){return t(),s},pixelPosition:function(){return t(),o},reliableMarginLeft:function(){return t(),l},scrollboxSize:function(){return t(),r}}))}();var ze=/^(none|table(?!-c[ea]).+)/,Me=/^--/,Fe={position:"absolute",visibility:"hidden",display:"block"},Ue={letterSpacing:"0",fontWeight:"400"},Ke=["Webkit","Moz","ms"],We=i.createElement("div").style;function Ge(e){var t=w.cssProps[e];return t||(t=w.cssProps[e]=function(e){if(e in We)return e;for(var t=e[0].toUpperCase()+e.slice(1),n=Ke.length;n--;)if((e=Ke[n]+t)in We)return e}(e)||e),t}function Ve(e,t,n){var i=te.exec(t);return i?Math.max(0,i[2]-(n||0))+(i[3]||"px"):t}function Qe(e,t,n,i,o,a){var r="width"===t?1:0,s=0,l=0;if(n===(i?"border":"content"))return 0;for(;r<4;r+=2)"margin"===n&&(l+=w.css(e,n+ne[r],!0,o)),i?("content"===n&&(l-=w.css(e,"padding"+ne[r],!0,o)),"margin"!==n&&(l-=w.css(e,"border"+ne[r]+"Width",!0,o))):(l+=w.css(e,"padding"+ne[r],!0,o),"padding"!==n?l+=w.css(e,"border"+ne[r]+"Width",!0,o):s+=w.css(e,"border"+ne[r]+"Width",!0,o));return!i&&a>=0&&(l+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-a-l-s-.5))),l}function Je(e,t,n){var i=Re(e),o=He(e,t,i),a="border-box"===w.css(e,"boxSizing",!1,i),r=a;if(Le.test(o)){if(!n)return o;o="auto"}return r=r&&(m.boxSizingReliable()||o===e.style[t]),("auto"===o||!parseFloat(o)&&"inline"===w.css(e,"display",!1,i))&&(o=e["offset"+t[0].toUpperCase()+t.slice(1)],r=!0),(o=parseFloat(o)||0)+Qe(e,t,n||(a?"border":"content"),r,i,o)+"px"}function Ye(e,t,n,i,o){return new Ye.prototype.init(e,t,n,i,o)}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=He(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,r,s=W(t),l=Me.test(t),_=e.style;if(l||(t=Ge(s)),r=w.cssHooks[t]||w.cssHooks[s],void 0===n)return r&&"get"in r&&void 0!==(o=r.get(e,!1,i))?o:_[t];"string"==(a=typeof n)&&(o=te.exec(n))&&o[1]&&(n=ae(e,t,o),a="number"),null!=n&&n==n&&("number"===a&&(n+=o&&o[3]||(w.cssNumber[s]?"":"px")),m.clearCloneStyle||""!==n||0!==t.indexOf("background")||(_[t]="inherit"),r&&"set"in r&&void 0===(n=r.set(e,n,i))||(l?_.setProperty(t,n):_[t]=n))}},css:function(e,t,n,i){var o,a,r,s=W(t);return Me.test(t)||(t=Ge(s)),(r=w.cssHooks[t]||w.cssHooks[s])&&"get"in r&&(o=r.get(e,!0,n)),void 0===o&&(o=He(e,t,i)),"normal"===o&&t in Ue&&(o=Ue[t]),""===n||n?(a=parseFloat(o),!0===n||isFinite(a)?a||0:o):o}}),w.each(["height","width"],function(e,t){w.cssHooks[t]={get:function(e,n,i){if(n)return!ze.test(w.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Je(e,t,i):oe(e,Fe,function(){return Je(e,t,i)})},set:function(e,n,i){var o,a=Re(e),r="border-box"===w.css(e,"boxSizing",!1,a),s=i&&Qe(e,t,i,r,a);return r&&m.scrollboxSize()===a.position&&(s-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(a[t])-Qe(e,t,"border",!1,a)-.5)),s&&(o=te.exec(n))&&"px"!==(o[3]||"px")&&(e.style[t]=n,n=w.css(e,t)),Ve(0,n,s)}}}),w.cssHooks.marginLeft=Be(m.reliableMarginLeft,function(e,t){if(t)return(parseFloat(He(e,"marginLeft"))||e.getBoundingClientRect().left-oe(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),w.each({margin:"",padding:"",border:"Width"},function(e,t){w.cssHooks[e+t]={expand:function(n){for(var i=0,o={},a="string"==typeof n?n.split(" "):[n];i<4;i++)o[e+ne[i]+t]=a[i]||a[i-2]||a[0];return o}},"margin"!==e&&(w.cssHooks[e+t].set=Ve)}),w.fn.extend({css:function(e,t){return M(this,function(e,t,n){var i,o,a={},r=0;if(Array.isArray(t)){for(i=Re(e),o=t.length;r<o;r++)a[t[r]]=w.css(e,t[r],!1,i);return a}return void 0!==n?w.style(e,t,n):w.css(e,t)},e,t,arguments.length>1)}}),w.Tween=Ye,Ye.prototype={constructor:Ye,init:function(e,t,n,i,o,a){this.elem=e,this.prop=n,this.easing=o||w.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=i,this.unit=a||(w.cssNumber[n]?"":"px")},cur:function(){var e=Ye.propHooks[this.prop];return e&&e.get?e.get(this):Ye.propHooks._default.get(this)},run:function(e){var t,n=Ye.propHooks[this.prop];return this.options.duration?this.pos=t=w.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Ye.propHooks._default.set(this),this}},Ye.prototype.init.prototype=Ye.prototype,Ye.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=w.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){w.fx.step[e.prop]?w.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[w.cssProps[e.prop]]&&!w.cssHooks[e.prop]?e.elem[e.prop]=e.now:w.style(e.elem,e.prop,e.now+e.unit)}}},Ye.propHooks.scrollTop=Ye.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},w.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},w.fx=Ye.prototype.init,w.fx.step={};var Xe,Ze,et,tt,nt=/^(?:toggle|show|hide)$/,it=/queueHooks$/;function ot(){Ze&&(!1===i.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(ot):e.setTimeout(ot,w.fx.interval),w.fx.tick())}function at(){return e.setTimeout(function(){Xe=void 0}),Xe=Date.now()}function rt(e,t){var n,i=0,o={height:e};for(t=t?1:0;i<4;i+=2-t)o["margin"+(n=ne[i])]=o["padding"+n]=e;return t&&(o.opacity=o.width=e),o}function st(e,t,n){for(var i,o=(lt.tweeners[t]||[]).concat(lt.tweeners["*"]),a=0,r=o.length;a<r;a++)if(i=o[a].call(n,t,e))return i}function lt(e,t,n){var i,o,a=0,r=lt.prefilters.length,s=w.Deferred().always(function(){delete l.elem}),l=function(){if(o)return!1;for(var t=Xe||at(),n=Math.max(0,_.startTime+_.duration-t),i=1-(n/_.duration||0),a=0,r=_.tweens.length;a<r;a++)_.tweens[a].run(i);return s.notifyWith(e,[_,i,n]),i<1&&r?n:(r||s.notifyWith(e,[_,1,0]),s.resolveWith(e,[_]),!1)},_=s.promise({elem:e,props:w.extend({},t),opts:w.extend(!0,{specialEasing:{},easing:w.easing._default},n),originalProperties:t,originalOptions:n,startTime:Xe||at(),duration:n.duration,tweens:[],createTween:function(t,n){var i=w.Tween(e,_.opts,t,n,_.opts.specialEasing[t]||_.opts.easing);return _.tweens.push(i),i},stop:function(t){var n=0,i=t?_.tweens.length:0;if(o)return this;for(o=!0;n<i;n++)_.tweens[n].run(1);return t?(s.notifyWith(e,[_,1,0]),s.resolveWith(e,[_,t])):s.rejectWith(e,[_,t]),this}}),u=_.props;for(function(e,t){var n,i,o,a,r;for(n in e)if(o=t[i=W(n)],a=e[n],Array.isArray(a)&&(o=a[1],a=e[n]=a[0]),n!==i&&(e[i]=a,delete e[n]),(r=w.cssHooks[i])&&"expand"in r)for(n in a=r.expand(a),delete e[i],a)n in e||(e[n]=a[n],t[n]=o);else t[i]=o}(u,_.opts.specialEasing);a<r;a++)if(i=lt.prefilters[a].call(_,e,u,_.opts))return p(i.stop)&&(w._queueHooks(_.elem,_.opts.queue).stop=i.stop.bind(i)),i;return w.map(u,st,_),p(_.opts.start)&&_.opts.start.call(e,_),_.progress(_.opts.progress).done(_.opts.done,_.opts.complete).fail(_.opts.fail).always(_.opts.always),w.fx.timer(w.extend(l,{elem:e,anim:_,queue:_.opts.queue})),_}w.Animation=w.extend(lt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return ae(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){p(e)?(t=e,e=["*"]):e=e.match(P);for(var n,i=0,o=e.length;i<o;i++)n=e[i],lt.tweeners[n]=lt.tweeners[n]||[],lt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var i,o,a,r,s,l,_,u,d="width"in t||"height"in t,c=this,h={},m=e.style,p=e.nodeType&&ie(e),f=Q.get(e,"fxshow");for(i in n.queue||(null==(r=w._queueHooks(e,"fx")).unqueued&&(r.unqueued=0,s=r.empty.fire,r.empty.fire=function(){r.unqueued||s()}),r.unqueued++,c.always(function(){c.always(function(){r.unqueued--,w.queue(e,"fx").length||r.empty.fire()})})),t)if(o=t[i],nt.test(o)){if(delete t[i],a=a||"toggle"===o,o===(p?"hide":"show")){if("show"!==o||!f||void 0===f[i])continue;p=!0}h[i]=f&&f[i]||w.style(e,i)}if((l=!w.isEmptyObject(t))||!w.isEmptyObject(h))for(i in d&&1===e.nodeType&&(n.overflow=[m.overflow,m.overflowX,m.overflowY],null==(_=f&&f.display)&&(_=Q.get(e,"display")),"none"===(u=w.css(e,"display"))&&(_?u=_:(se([e],!0),_=e.style.display||_,u=w.css(e,"display"),se([e]))),("inline"===u||"inline-block"===u&&null!=_)&&"none"===w.css(e,"float")&&(l||(c.done(function(){m.display=_}),null==_&&(u=m.display,_="none"===u?"":u)),m.display="inline-block")),n.overflow&&(m.overflow="hidden",c.always(function(){m.overflow=n.overflow[0],m.overflowX=n.overflow[1],m.overflowY=n.overflow[2]})),l=!1,h)l||(f?"hidden"in f&&(p=f.hidden):f=Q.access(e,"fxshow",{display:_}),a&&(f.hidden=!p),p&&se([e],!0),c.done(function(){for(i in p||se([e]),Q.remove(e,"fxshow"),h)w.style(e,i,h[i])})),l=st(p?f[i]:0,i,c),i in f||(f[i]=l.start,p&&(l.end=l.start,l.start=0))}],prefilter:function(e,t){t?lt.prefilters.unshift(e):lt.prefilters.push(e)}}),w.speed=function(e,t,n){var i=e&&"object"==typeof e?w.extend({},e):{complete:n||!n&&t||p(e)&&e,duration:e,easing:n&&t||t&&!p(t)&&t};return w.fx.off?i.duration=0:"number"!=typeof i.duration&&(i.duration in w.fx.speeds?i.duration=w.fx.speeds[i.duration]:i.duration=w.fx.speeds._default),null!=i.queue&&!0!==i.queue||(i.queue="fx"),i.old=i.complete,i.complete=function(){p(i.old)&&i.old.call(this),i.queue&&w.dequeue(this,i.queue)},i},w.fn.extend({fadeTo:function(e,t,n,i){return this.filter(ie).css("opacity",0).show().end().animate({opacity:t},e,n,i)},animate:function(e,t,n,i){var o=w.isEmptyObject(e),a=w.speed(t,n,i),r=function(){var t=lt(this,w.extend({},e),a);(o||Q.get(this,"finish"))&&t.stop(!0)};return r.finish=r,o||!1===a.queue?this.each(r):this.queue(a.queue,r)},stop:function(e,t,n){var i=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&!1!==e&&this.queue(e||"fx",[]),this.each(function(){var t=!0,o=null!=e&&e+"queueHooks",a=w.timers,r=Q.get(this);if(o)r[o]&&r[o].stop&&i(r[o]);else for(o in r)r[o]&&r[o].stop&&it.test(o)&&i(r[o]);for(o=a.length;o--;)a[o].elem!==this||null!=e&&a[o].queue!==e||(a[o].anim.stop(n),t=!1,a.splice(o,1));!t&&n||w.dequeue(this,e)})},finish:function(e){return!1!==e&&(e=e||"fx"),this.each(function(){var t,n=Q.get(this),i=n[e+"queue"],o=n[e+"queueHooks"],a=w.timers,r=i?i.length:0;for(n.finish=!0,w.queue(this,e,[]),o&&o.stop&&o.stop.call(this,!0),t=a.length;t--;)a[t].elem===this&&a[t].queue===e&&(a[t].anim.stop(!0),a.splice(t,1));for(t=0;t<r;t++)i[t]&&i[t].finish&&i[t].finish.call(this);delete n.finish})}}),w.each(["toggle","show","hide"],function(e,t){var n=w.fn[t];w.fn[t]=function(e,i,o){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(rt(t,!0),e,i,o)}}),w.each({slideDown:rt("show"),slideUp:rt("hide"),slideToggle:rt("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){w.fn[e]=function(e,n,i){return this.animate(t,e,n,i)}}),w.timers=[],w.fx.tick=function(){var e,t=0,n=w.timers;for(Xe=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||w.fx.stop(),Xe=void 0},w.fx.timer=function(e){w.timers.push(e),w.fx.start()},w.fx.interval=13,w.fx.start=function(){Ze||(Ze=!0,ot())},w.fx.stop=function(){Ze=null},w.fx.speeds={slow:600,fast:200,_default:400},w.fn.delay=function(t,n){return t=w.fx&&w.fx.speeds[t]||t,n=n||"fx",this.queue(n,function(n,i){var o=e.setTimeout(n,t);i.stop=function(){e.clearTimeout(o)}})},et=i.createElement("input"),tt=i.createElement("select").appendChild(i.createElement("option")),et.type="checkbox",m.checkOn=""!==et.value,m.optSelected=tt.selected,(et=i.createElement("input")).value="t",et.type="radio",m.radioValue="t"===et.value;var _t,ut=w.expr.attrHandle;w.fn.extend({attr:function(e,t){return M(this,w.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){w.removeAttr(this,e)})}}),w.extend({attr:function(e,t,n){var i,o,a=e.nodeType;if(3!==a&&8!==a&&2!==a)return void 0===e.getAttribute?w.prop(e,t,n):(1===a&&w.isXMLDoc(e)||(o=w.attrHooks[t.toLowerCase()]||(w.expr.match.bool.test(t)?_t:void 0)),void 0!==n?null===n?void w.removeAttr(e,t):o&&"set"in o&&void 0!==(i=o.set(e,n,t))?i:(e.setAttribute(t,n+""),n):o&&"get"in o&&null!==(i=o.get(e,t))?i:null==(i=w.find.attr(e,t))?void 0:i)},attrHooks:{type:{set:function(e,t){if(!m.radioValue&&"radio"===t&&S(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,i=0,o=t&&t.match(P);if(o&&1===e.nodeType)for(;n=o[i++];)e.removeAttribute(n)}}),_t={set:function(e,t,n){return!1===t?w.removeAttr(e,n):e.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\w+/g),function(e,t){var n=ut[t]||w.find.attr;ut[t]=function(e,t,i){var o,a,r=t.toLowerCase();return i||(a=ut[r],ut[r]=o,o=null!=n(e,t,i)?r:null,ut[r]=a),o}});var dt=/^(?:input|select|textarea|button)$/i,ct=/^(?:a|area)$/i;function ht(e){return(e.match(P)||[]).join(" ")}function mt(e){return e.getAttribute&&e.getAttribute("class")||""}function pt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}w.fn.extend({prop:function(e,t){return M(this,w.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[w.propFix[e]||e]})}}),w.extend({prop:function(e,t,n){var i,o,a=e.nodeType;if(3!==a&&8!==a&&2!==a)return 1===a&&w.isXMLDoc(e)||(t=w.propFix[t]||t,o=w.propHooks[t]),void 0!==n?o&&"set"in o&&void 0!==(i=o.set(e,n,t))?i:e[t]=n:o&&"get"in o&&null!==(i=o.get(e,t))?i:e[t]},propHooks:{tabIndex:{get:function(e){var t=w.find.attr(e,"tabindex");return t?parseInt(t,10):dt.test(e.nodeName)||ct.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),m.optSelected||(w.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),w.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){w.propFix[this.toLowerCase()]=this}),w.fn.extend({addClass:function(e){var t,n,i,o,a,r,s,l=0;if(p(e))return this.each(function(t){w(this).addClass(e.call(this,t,mt(this)))});if((t=pt(e)).length)for(;n=this[l++];)if(o=mt(n),i=1===n.nodeType&&" "+ht(o)+" "){for(r=0;a=t[r++];)i.indexOf(" "+a+" ")<0&&(i+=a+" ");o!==(s=ht(i))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,i,o,a,r,s,l=0;if(p(e))return this.each(function(t){w(this).removeClass(e.call(this,t,mt(this)))});if(!arguments.length)return this.attr("class","");if((t=pt(e)).length)for(;n=this[l++];)if(o=mt(n),i=1===n.nodeType&&" "+ht(o)+" "){for(r=0;a=t[r++];)for(;i.indexOf(" "+a+" ")>-1;)i=i.replace(" "+a+" "," ");o!==(s=ht(i))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,i="string"===n||Array.isArray(e);return"boolean"==typeof t&&i?t?this.addClass(e):this.removeClass(e):p(e)?this.each(function(n){w(this).toggleClass(e.call(this,n,mt(this),t),t)}):this.each(function(){var t,o,a,r;if(i)for(o=0,a=w(this),r=pt(e);t=r[o++];)a.hasClass(t)?a.removeClass(t):a.addClass(t);else void 0!==e&&"boolean"!==n||((t=mt(this))&&Q.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":Q.get(this,"__className__")||""))})},hasClass:function(e){var t,n,i=0;for(t=" "+e+" ";n=this[i++];)if(1===n.nodeType&&(" "+ht(mt(n))+" ").indexOf(t)>-1)return!0;return!1}});var ft=/\r/g;w.fn.extend({val:function(e){var t,n,i,o=this[0];return arguments.length?(i=p(e),this.each(function(n){var o;1===this.nodeType&&(null==(o=i?e.call(this,n,w(this).val()):e)?o="":"number"==typeof o?o+="":Array.isArray(o)&&(o=w.map(o,function(e){return null==e?"":e+""})),(t=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,o,"value")||(this.value=o))})):o?(t=w.valHooks[o.type]||w.valHooks[o.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(o,"value"))?n:"string"==typeof(n=o.value)?n.replace(ft,""):null==n?"":n:void 0}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,"value");return null!=t?t:ht(w.text(e))}},select:{get:function(e){var t,n,i,o=e.options,a=e.selectedIndex,r="select-one"===e.type,s=r?null:[],l=r?a+1:o.length;for(i=a<0?l:r?a:0;i<l;i++)if(((n=o[i]).selected||i===a)&&!n.disabled&&(!n.parentNode.disabled||!S(n.parentNode,"optgroup"))){if(t=w(n).val(),r)return t;s.push(t)}return s},set:function(e,t){for(var n,i,o=e.options,a=w.makeArray(t),r=o.length;r--;)((i=o[r]).selected=w.inArray(w.valHooks.option.get(i),a)>-1)&&(n=!0);return n||(e.selectedIndex=-1),a}}}}),w.each(["radio","checkbox"],function(){w.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=w.inArray(w(e).val(),t)>-1}},m.checkOn||(w.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),m.focusin="onfocusin"in e;var gt=/^(?:focusinfocus|focusoutblur)$/,kt=function(e){e.stopPropagation()};w.extend(w.event,{trigger:function(t,n,o,a){var r,s,l,_,u,c,h,m,g=[o||i],k=d.call(t,"type")?t.type:t,b=d.call(t,"namespace")?t.namespace.split("."):[];if(s=m=l=o=o||i,3!==o.nodeType&&8!==o.nodeType&&!gt.test(k+w.event.triggered)&&(k.indexOf(".")>-1&&(k=(b=k.split(".")).shift(),b.sort()),u=k.indexOf(":")<0&&"on"+k,(t=t[w.expando]?t:new w.Event(k,"object"==typeof t&&t)).isTrigger=a?2:3,t.namespace=b.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=o),n=null==n?[t]:w.makeArray(n,[t]),h=w.event.special[k]||{},a||!h.trigger||!1!==h.trigger.apply(o,n))){if(!a&&!h.noBubble&&!f(o)){for(_=h.delegateType||k,gt.test(_+k)||(s=s.parentNode);s;s=s.parentNode)g.push(s),l=s;l===(o.ownerDocument||i)&&g.push(l.defaultView||l.parentWindow||e)}for(r=0;(s=g[r++])&&!t.isPropagationStopped();)m=s,t.type=r>1?_:h.bindType||k,(c=(Q.get(s,"events")||{})[t.type]&&Q.get(s,"handle"))&&c.apply(s,n),(c=u&&s[u])&&c.apply&&G(s)&&(t.result=c.apply(s,n),!1===t.result&&t.preventDefault());return t.type=k,a||t.isDefaultPrevented()||h._default&&!1!==h._default.apply(g.pop(),n)||!G(o)||u&&p(o[k])&&!f(o)&&((l=o[u])&&(o[u]=null),w.event.triggered=k,t.isPropagationStopped()&&m.addEventListener(k,kt),o[k](),t.isPropagationStopped()&&m.removeEventListener(k,kt),w.event.triggered=void 0,l&&(o[u]=l)),t.result}},simulate:function(e,t,n){var i=w.extend(new w.Event,n,{type:e,isSimulated:!0});w.event.trigger(i,null,t)}}),w.fn.extend({trigger:function(e,t){return this.each(function(){w.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return w.event.trigger(e,t,n,!0)}}),m.focusin||w.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){w.event.simulate(t,e.target,w.event.fix(e))};w.event.special[t]={setup:function(){var i=this.ownerDocument||this,o=Q.access(i,t);o||i.addEventListener(e,n,!0),Q.access(i,t,(o||0)+1)},teardown:function(){var i=this.ownerDocument||this,o=Q.access(i,t)-1;o?Q.access(i,t,o):(i.removeEventListener(e,n,!0),Q.remove(i,t))}}});var bt=e.location,wt=Date.now(),yt=/\?/;w.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||w.error("Invalid XML: "+t),n};var vt=/\[\]$/,xt=/\r?\n/g,Ct=/^(?:submit|button|image|reset|file)$/i,$t=/^(?:input|select|textarea|keygen)/i;function Tt(e,t,n,i){var o;if(Array.isArray(t))w.each(t,function(t,o){n||vt.test(e)?i(e,o):Tt(e+"["+("object"==typeof o&&null!=o?t:"")+"]",o,n,i)});else if(n||"object"!==b(t))i(e,t);else for(o in t)Tt(e+"["+o+"]",t[o],n,i)}w.param=function(e,t){var n,i=[],o=function(e,t){var n=p(t)?t():t;i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!w.isPlainObject(e))w.each(e,function(){o(this.name,this.value)});else for(n in e)Tt(n,e[n],t,o);return i.join("&")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=w.prop(this,"elements");return e?w.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!w(this).is(":disabled")&&$t.test(this.nodeName)&&!Ct.test(e)&&(this.checked||!le.test(e))}).map(function(e,t){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,function(e){return{name:t.name,value:e.replace(xt,"\r\n")}}):{name:t.name,value:n.replace(xt,"\r\n")}}).get()}});var St=/%20/g,Et=/#.*$/,Nt=/([?&])_=[^&]*/,At=/^(.*?):[ \t]*([^\r\n]*)$/gm,Dt=/^(?:GET|HEAD)$/,jt=/^\/\//,Ot={},It={},Pt="*/".concat("*"),Lt=i.createElement("a");function Rt(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var i,o=0,a=t.toLowerCase().match(P)||[];if(p(n))for(;i=a[o++];)"+"===i[0]?(i=i.slice(1)||"*",(e[i]=e[i]||[]).unshift(n)):(e[i]=e[i]||[]).push(n)}}function qt(e,t,n,i){var o={},a=e===It;function r(s){var l;return o[s]=!0,w.each(e[s]||[],function(e,s){var _=s(t,n,i);return"string"!=typeof _||a||o[_]?a?!(l=_):void 0:(t.dataTypes.unshift(_),r(_),!1)}),l}return r(t.dataTypes[0])||!o["*"]&&r("*")}function Ht(e,t){var n,i,o=w.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((o[n]?e:i||(i={}))[n]=t[n]);return i&&w.extend(!0,e,i),e}Lt.href=bt.href,w.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:bt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(bt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Pt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":w.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Ht(Ht(e,w.ajaxSettings),t):Ht(w.ajaxSettings,e)},ajaxPrefilter:Rt(Ot),ajaxTransport:Rt(It),ajax:function(t,n){"object"==typeof t&&(n=t,t=void 0),n=n||{};var o,a,r,s,l,_,u,d,c,h,m=w.ajaxSetup({},n),p=m.context||m,f=m.context&&(p.nodeType||p.jquery)?w(p):w.event,g=w.Deferred(),k=w.Callbacks("once memory"),b=m.statusCode||{},y={},v={},x="canceled",C={readyState:0,getResponseHeader:function(e){var t;if(u){if(!s)for(s={};t=At.exec(r);)s[t[1].toLowerCase()]=t[2];t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return u?r:null},setRequestHeader:function(e,t){return null==u&&(e=v[e.toLowerCase()]=v[e.toLowerCase()]||e,y[e]=t),this},overrideMimeType:function(e){return null==u&&(m.mimeType=e),this},statusCode:function(e){var t;if(e)if(u)C.always(e[C.status]);else for(t in e)b[t]=[b[t],e[t]];return this},abort:function(e){var t=e||x;return o&&o.abort(t),$(0,t),this}};if(g.promise(C),m.url=((t||m.url||bt.href)+"").replace(jt,bt.protocol+"//"),m.type=n.method||n.type||m.method||m.type,m.dataTypes=(m.dataType||"*").toLowerCase().match(P)||[""],null==m.crossDomain){_=i.createElement("a");try{_.href=m.url,_.href=_.href,m.crossDomain=Lt.protocol+"//"+Lt.host!=_.protocol+"//"+_.host}catch(e){m.crossDomain=!0}}if(m.data&&m.processData&&"string"!=typeof m.data&&(m.data=w.param(m.data,m.traditional)),qt(Ot,m,n,C),u)return C;for(c in(d=w.event&&m.global)&&0==w.active++&&w.event.trigger("ajaxStart"),m.type=m.type.toUpperCase(),m.hasContent=!Dt.test(m.type),a=m.url.replace(Et,""),m.hasContent?m.data&&m.processData&&0===(m.contentType||"").indexOf("application/x-www-form-urlencoded")&&(m.data=m.data.replace(St,"+")):(h=m.url.slice(a.length),m.data&&(m.processData||"string"==typeof m.data)&&(a+=(yt.test(a)?"&":"?")+m.data,delete m.data),!1===m.cache&&(a=a.replace(Nt,"$1"),h=(yt.test(a)?"&":"?")+"_="+wt+++h),m.url=a+h),m.ifModified&&(w.lastModified[a]&&C.setRequestHeader("If-Modified-Since",w.lastModified[a]),w.etag[a]&&C.setRequestHeader("If-None-Match",w.etag[a])),(m.data&&m.hasContent&&!1!==m.contentType||n.contentType)&&C.setRequestHeader("Content-Type",m.contentType),C.setRequestHeader("Accept",m.dataTypes[0]&&m.accepts[m.dataTypes[0]]?m.accepts[m.dataTypes[0]]+("*"!==m.dataTypes[0]?", "+Pt+"; q=0.01":""):m.accepts["*"]),m.headers)C.setRequestHeader(c,m.headers[c]);if(m.beforeSend&&(!1===m.beforeSend.call(p,C,m)||u))return C.abort();if(x="abort",k.add(m.complete),C.done(m.success),C.fail(m.error),o=qt(It,m,n,C)){if(C.readyState=1,d&&f.trigger("ajaxSend",[C,m]),u)return C;m.async&&m.timeout>0&&(l=e.setTimeout(function(){C.abort("timeout")},m.timeout));try{u=!1,o.send(y,$)}catch(e){if(u)throw e;$(-1,e)}}else $(-1,"No Transport");function $(t,n,i,s){var _,c,h,y,v,x=n;u||(u=!0,l&&e.clearTimeout(l),o=void 0,r=s||"",C.readyState=t>0?4:0,_=t>=200&&t<300||304===t,i&&(y=function(e,t,n){for(var i,o,a,r,s=e.contents,l=e.dataTypes;"*"===l[0];)l.shift(),void 0===i&&(i=e.mimeType||t.getResponseHeader("Content-Type"));if(i)for(o in s)if(s[o]&&s[o].test(i)){l.unshift(o);break}if(l[0]in n)a=l[0];else{for(o in n){if(!l[0]||e.converters[o+" "+l[0]]){a=o;break}r||(r=o)}a=a||r}if(a)return a!==l[0]&&l.unshift(a),n[a]}(m,C,i)),y=function(e,t,n,i){var o,a,r,s,l,_={},u=e.dataTypes.slice();if(u[1])for(r in e.converters)_[r.toLowerCase()]=e.converters[r];for(a=u.shift();a;)if(e.responseFields[a]&&(n[e.responseFields[a]]=t),!l&&i&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=a,a=u.shift())if("*"===a)a=l;else if("*"!==l&&l!==a){if(!(r=_[l+" "+a]||_["* "+a]))for(o in _)if((s=o.split(" "))[1]===a&&(r=_[l+" "+s[0]]||_["* "+s[0]])){!0===r?r=_[o]:!0!==_[o]&&(a=s[0],u.unshift(s[1]));break}if(!0!==r)if(r&&e.throws)t=r(t);else try{t=r(t)}catch(e){return{state:"parsererror",error:r?e:"No conversion from "+l+" to "+a}}}return{state:"success",data:t}}(m,y,C,_),_?(m.ifModified&&((v=C.getResponseHeader("Last-Modified"))&&(w.lastModified[a]=v),(v=C.getResponseHeader("etag"))&&(w.etag[a]=v)),204===t||"HEAD"===m.type?x="nocontent":304===t?x="notmodified":(x=y.state,c=y.data,_=!(h=y.error))):(h=x,!t&&x||(x="error",t<0&&(t=0))),C.status=t,C.statusText=(n||x)+"",_?g.resolveWith(p,[c,x,C]):g.rejectWith(p,[C,x,h]),C.statusCode(b),b=void 0,d&&f.trigger(_?"ajaxSuccess":"ajaxError",[C,m,_?c:h]),k.fireWith(p,[C,x]),d&&(f.trigger("ajaxComplete",[C,m]),--w.active||w.event.trigger("ajaxStop")))}return C},getJSON:function(e,t,n){return w.get(e,t,n,"json")},getScript:function(e,t){return w.get(e,void 0,t,"script")}}),w.each(["get","post"],function(e,t){w[t]=function(e,n,i,o){return p(n)&&(o=o||i,i=n,n=void 0),w.ajax(w.extend({url:e,type:t,dataType:o,data:n,success:i},w.isPlainObject(e)&&e))}}),w._evalUrl=function(e){return w.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,throws:!0})},w.fn.extend({wrapAll:function(e){var t;return this[0]&&(p(e)&&(e=e.call(this[0])),t=w(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return p(e)?this.each(function(t){w(this).wrapInner(e.call(this,t))}):this.each(function(){var t=w(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=p(e);return this.each(function(n){w(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){w(this).replaceWith(this.childNodes)}),this}}),w.expr.pseudos.hidden=function(e){return!w.expr.pseudos.visible(e)},w.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},w.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Bt={0:200,1223:204},zt=w.ajaxSettings.xhr();m.cors=!!zt&&"withCredentials"in zt,m.ajax=zt=!!zt,w.ajaxTransport(function(t){var n,i;if(m.cors||zt&&!t.crossDomain)return{send:function(o,a){var r,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(r in t.xhrFields)s[r]=t.xhrFields[r];for(r in t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||o["X-Requested-With"]||(o["X-Requested-With"]="XMLHttpRequest"),o)s.setRequestHeader(r,o[r]);n=function(e){return function(){n&&(n=i=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?a(0,"error"):a(s.status,s.statusText):a(Bt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),i=s.onerror=s.ontimeout=n("error"),void 0!==s.onabort?s.onabort=i:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&i()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),w.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),w.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return w.globalEval(e),e}}}),w.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),w.ajaxTransport("script",function(e){var t,n;if(e.crossDomain)return{send:function(o,a){t=w("<script>").prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&a("error"===e.type?404:200,e.type)}),i.head.appendChild(t[0])},abort:function(){n&&n()}}});var Mt,Ft=[],Ut=/(=)\?(?=&|$)|\?\?/;w.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Ft.pop()||w.expando+"_"+wt++;return this[e]=!0,e}}),w.ajaxPrefilter("json jsonp",function(t,n,i){var o,a,r,s=!1!==t.jsonp&&(Ut.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(t.data)&&"data");if(s||"jsonp"===t.dataTypes[0])return o=t.jsonpCallback=p(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(Ut,"$1"+o):!1!==t.jsonp&&(t.url+=(yt.test(t.url)?"&":"?")+t.jsonp+"="+o),t.converters["script json"]=function(){return r||w.error(o+" was not called"),r[0]},t.dataTypes[0]="json",a=e[o],e[o]=function(){r=arguments},i.always(function(){void 0===a?w(e).removeProp(o):e[o]=a,t[o]&&(t.jsonpCallback=n.jsonpCallback,Ft.push(o)),r&&p(a)&&a(r[0]),r=a=void 0}),"script"}),m.createHTMLDocument=((Mt=i.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Mt.childNodes.length),w.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(m.createHTMLDocument?((o=(t=i.implementation.createHTMLDocument("")).createElement("base")).href=i.location.href,t.head.appendChild(o)):t=i),r=!n&&[],(a=E.exec(e))?[t.createElement(a[1])]:(a=ge([e],t,r),r&&r.length&&w(r).remove(),w.merge([],a.childNodes)));var o,a,r},w.fn.load=function(e,t,n){var i,o,a,r=this,s=e.indexOf(" ");return s>-1&&(i=ht(e.slice(s)),e=e.slice(0,s)),p(t)?(n=t,t=void 0):t&&"object"==typeof t&&(o="POST"),r.length>0&&w.ajax({url:e,type:o||"GET",dataType:"html",data:t}).done(function(e){a=arguments,r.html(i?w("<div>").append(w.parseHTML(e)).find(i):e)}).always(n&&function(e,t){r.each(function(){n.apply(this,a||[e.responseText,t,e])})}),this},w.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){w.fn[t]=function(e){return this.on(t,e)}}),w.expr.pseudos.animated=function(e){return w.grep(w.timers,function(t){return e===t.elem}).length},w.offset={setOffset:function(e,t,n){var i,o,a,r,s,l,_=w.css(e,"position"),u=w(e),d={};"static"===_&&(e.style.position="relative"),s=u.offset(),a=w.css(e,"top"),l=w.css(e,"left"),("absolute"===_||"fixed"===_)&&(a+l).indexOf("auto")>-1?(r=(i=u.position()).top,o=i.left):(r=parseFloat(a)||0,o=parseFloat(l)||0),p(t)&&(t=t.call(e,n,w.extend({},s))),null!=t.top&&(d.top=t.top-s.top+r),null!=t.left&&(d.left=t.left-s.left+o),"using"in t?t.using.call(e,d):u.css(d)}},w.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){w.offset.setOffset(this,e,t)});var t,n,i=this[0];return i?i.getClientRects().length?(t=i.getBoundingClientRect(),n=i.ownerDocument.defaultView,{top:t.top+n.pageYOffset,left:t.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,i=this[0],o={top:0,left:0};if("fixed"===w.css(i,"position"))t=i.getBoundingClientRect();else{for(t=this.offset(),n=i.ownerDocument,e=i.offsetParent||n.documentElement;e&&(e===n.body||e===n.documentElement)&&"static"===w.css(e,"position");)e=e.parentNode;e&&e!==i&&1===e.nodeType&&((o=w(e).offset()).top+=w.css(e,"borderTopWidth",!0),o.left+=w.css(e,"borderLeftWidth",!0))}return{top:t.top-o.top-w.css(i,"marginTop",!0),left:t.left-o.left-w.css(i,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===w.css(e,"position");)e=e.offsetParent;return e||ke})}}),w.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t;w.fn[e]=function(i){return M(this,function(e,i,o){var a;if(f(e)?a=e:9===e.nodeType&&(a=e.defaultView),void 0===o)return a?a[t]:e[i];a?a.scrollTo(n?a.pageXOffset:o,n?o:a.pageYOffset):e[i]=o},e,i,arguments.length)}}),w.each(["top","left"],function(e,t){w.cssHooks[t]=Be(m.pixelPosition,function(e,n){if(n)return n=He(e,t),Le.test(n)?w(e).position()[t]+"px":n})}),w.each({Height:"height",Width:"width"},function(e,t){w.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,i){w.fn[i]=function(o,a){var r=arguments.length&&(n||"boolean"!=typeof o),s=n||(!0===o||!0===a?"margin":"border");return M(this,function(t,n,o){var a;return f(t)?0===i.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(a=t.documentElement,Math.max(t.body["scroll"+e],a["scroll"+e],t.body["offset"+e],a["offset"+e],a["client"+e])):void 0===o?w.css(t,n,s):w.style(t,n,o,s)},t,r?o:void 0,r)}})}),w.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){w.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),w.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),w.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,i){return this.on(t,e,n,i)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),w.proxy=function(e,t){var n,i,o;if("string"==typeof t&&(n=e[t],t=e,e=n),p(e))return i=a.call(arguments,2),(o=function(){return e.apply(t||this,i.concat(a.call(arguments)))}).guid=e.guid=e.guid||w.guid++,o},w.holdReady=function(e){e?w.readyWait++:w.ready(!0)},w.isArray=Array.isArray,w.parseJSON=JSON.parse,w.nodeName=S,w.isFunction=p,w.isWindow=f,w.camelCase=W,w.type=b,w.now=Date.now,w.isNumeric=function(e){var t=w.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return w});var Kt=e.jQuery,Wt=e.$;return w.noConflict=function(t){return e.$===w&&(e.$=Wt),t&&e.jQuery===w&&(e.jQuery=Kt),w},t||(e.jQuery=e.$=w),w}),"undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");!function(e){"use strict";var t=jQuery.fn.jquery.split(" ")[0].split(".");if(t[0]<2&&t[1]<9||1==t[0]&&9==t[1]&&t[2]<1||t[0]>3)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(),function(e){"use strict";e.fn.emulateTransitionEnd=function(t){var n=!1,i=this;e(this).one("bsTransitionEnd",function(){n=!0});return setTimeout(function(){n||e(i).trigger(e.support.transition.end)},t),this},e(function(){e.support.transition=function(){var e=document.createElement("bootstrap"),t={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var n in t)if(void 0!==e.style[n])return{end:t[n]};return!1}(),e.support.transition&&(e.event.special.bsTransitionEnd={bindType:e.support.transition.end,delegateType:e.support.transition.end,handle:function(t){if(e(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}})})}(jQuery),function(e){"use strict";var t='[data-dismiss="alert"]',n=function(n){e(n).on("click",t,this.close)};n.VERSION="3.3.7",n.TRANSITION_DURATION=150,n.prototype.close=function(t){function i(){r.detach().trigger("closed.bs.alert").remove()}var o=e(this),a=o.attr("data-target");a||(a=(a=o.attr("href"))&&a.replace(/.*(?=#[^\s]*$)/,""));var r=e("#"===a?[]:a);t&&t.preventDefault(),r.length||(r=o.closest(".alert")),r.trigger(t=e.Event("close.bs.alert")),t.isDefaultPrevented()||(r.removeClass("in"),e.support.transition&&r.hasClass("fade")?r.one("bsTransitionEnd",i).emulateTransitionEnd(n.TRANSITION_DURATION):i())};var i=e.fn.alert;e.fn.alert=function(t){return this.each(function(){var i=e(this),o=i.data("bs.alert");o||i.data("bs.alert",o=new n(this)),"string"==typeof t&&o[t].call(i)})},e.fn.alert.Constructor=n,e.fn.alert.noConflict=function(){return e.fn.alert=i,this},e(document).on("click.bs.alert.data-api",t,n.prototype.close)}(jQuery),function(e){"use strict";function t(t){return this.each(function(){var i=e(this),o=i.data("bs.button"),a="object"==typeof t&&t;o||i.data("bs.button",o=new n(this,a)),"toggle"==t?o.toggle():t&&o.setState(t)})}var n=function(t,i){this.$element=e(t),this.options=e.extend({},n.DEFAULTS,i),this.isLoading=!1};n.VERSION="3.3.7",n.DEFAULTS={loadingText:"loading..."},n.prototype.setState=function(t){var n="disabled",i=this.$element,o=i.is("input")?"val":"html",a=i.data();t+="Text",null==a.resetText&&i.data("resetText",i[o]()),setTimeout(e.proxy(function(){i[o](null==a[t]?this.options[t]:a[t]),"loadingText"==t?(this.isLoading=!0,i.addClass(n).attr(n,n).prop(n,!0)):this.isLoading&&(this.isLoading=!1,i.removeClass(n).removeAttr(n).prop(n,!1))},this),0)},n.prototype.toggle=function(){var e=!0,t=this.$element.closest('[data-toggle="buttons"]');if(t.length){var n=this.$element.find("input");"radio"==n.prop("type")?(n.prop("checked")&&(e=!1),t.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==n.prop("type")&&(n.prop("checked")!==this.$element.hasClass("active")&&(e=!1),this.$element.toggleClass("active")),n.prop("checked",this.$element.hasClass("active")),e&&n.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var i=e.fn.button;e.fn.button=t,e.fn.button.Constructor=n,e.fn.button.noConflict=function(){return e.fn.button=i,this},e(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(n){var i=e(n.target).closest(".btn");t.call(i,"toggle"),e(n.target).is('input[type="radio"], input[type="checkbox"]')||(n.preventDefault(),i.is("input,button")?i.trigger("focus"):i.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(t){e(t.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(t.type))})}(jQuery),function(e){"use strict";function t(t){return this.each(function(){var i=e(this),o=i.data("bs.carousel"),a=e.extend({},n.DEFAULTS,i.data(),"object"==typeof t&&t),r="string"==typeof t?t:a.slide;o||i.data("bs.carousel",o=new n(this,a)),"number"==typeof t?o.to(t):r?o[r]():a.interval&&o.pause().cycle()})}var n=function(t,n){this.$element=e(t),this.$indicators=this.$element.find(".carousel-indicators"),this.options=n,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",e.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",e.proxy(this.pause,this)).on("mouseleave.bs.carousel",e.proxy(this.cycle,this))};n.VERSION="3.3.7",n.TRANSITION_DURATION=600,n.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},n.prototype.keydown=function(e){if(!/input|textarea/i.test(e.target.tagName)){switch(e.which){case 37:this.prev();break;case 39:this.next();break;default:return}e.preventDefault()}},n.prototype.cycle=function(t){return t||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(e.proxy(this.next,this),this.options.interval)),this},n.prototype.getItemIndex=function(e){return this.$items=e.parent().children(".item"),this.$items.index(e||this.$active)},n.prototype.getItemForDirection=function(e,t){var n=this.getItemIndex(t);if(("prev"==e&&0===n||"next"==e&&n==this.$items.length-1)&&!this.options.wrap)return t;var i=(n+("prev"==e?-1:1))%this.$items.length;return this.$items.eq(i)},n.prototype.to=function(e){var t=this,n=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(e>this.$items.length-1||e<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){t.to(e)}):n==e?this.pause().cycle():this.slide(e>n?"next":"prev",this.$items.eq(e))},n.prototype.pause=function(t){return t||(this.paused=!0),this.$element.find(".next, .prev").length&&e.support.transition&&(this.$element.trigger(e.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},n.prototype.next=function(){if(!this.sliding)return this.slide("next")},n.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},n.prototype.slide=function(t,i){var o=this.$element.find(".item.active"),a=i||this.getItemForDirection(t,o),r=this.interval,s="next"==t?"left":"right",l=this;if(a.hasClass("active"))return this.sliding=!1;var _=a[0],u=e.Event("slide.bs.carousel",{relatedTarget:_,direction:s});if(this.$element.trigger(u),!u.isDefaultPrevented()){if(this.sliding=!0,r&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var d=e(this.$indicators.children()[this.getItemIndex(a)]);d&&d.addClass("active")}var c=e.Event("slid.bs.carousel",{relatedTarget:_,direction:s});return e.support.transition&&this.$element.hasClass("slide")?(a.addClass(t),a[0].offsetWidth,o.addClass(s),a.addClass(s),o.one("bsTransitionEnd",function(){a.removeClass([t,s].join(" ")).addClass("active"),o.removeClass(["active",s].join(" ")),l.sliding=!1,setTimeout(function(){l.$element.trigger(c)},0)}).emulateTransitionEnd(n.TRANSITION_DURATION)):(o.removeClass("active"),a.addClass("active"),this.sliding=!1,this.$element.trigger(c)),r&&this.cycle(),this}};var i=e.fn.carousel;e.fn.carousel=t,e.fn.carousel.Constructor=n,e.fn.carousel.noConflict=function(){return e.fn.carousel=i,this};var o=function(n){var i,o=e(this),a=e(o.attr("data-target")||(i=o.attr("href"))&&i.replace(/.*(?=#[^\s]+$)/,""));if(a.hasClass("carousel")){var r=e.extend({},a.data(),o.data()),s=o.attr("data-slide-to");s&&(r.interval=!1),t.call(a,r),s&&a.data("bs.carousel").to(s),n.preventDefault()}};e(document).on("click.bs.carousel.data-api","[data-slide]",o).on("click.bs.carousel.data-api","[data-slide-to]",o),e(window).on("load",function(){e('[data-ride="carousel"]').each(function(){var n=e(this);t.call(n,n.data())})})}(jQuery),function(e){"use strict";function t(t){var n,i=t.attr("data-target")||(n=t.attr("href"))&&n.replace(/.*(?=#[^\s]+$)/,"");return e(i)}function n(t){return this.each(function(){var n=e(this),o=n.data("bs.collapse"),a=e.extend({},i.DEFAULTS,n.data(),"object"==typeof t&&t);!o&&a.toggle&&/show|hide/.test(t)&&(a.toggle=!1),o||n.data("bs.collapse",o=new i(this,a)),"string"==typeof t&&o[t]()})}var i=function(t,n){this.$element=e(t),this.options=e.extend({},i.DEFAULTS,n),this.$trigger=e('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};i.VERSION="3.3.7",i.TRANSITION_DURATION=350,i.DEFAULTS={toggle:!0},i.prototype.dimension=function(){return this.$element.hasClass("width")?"width":"height"},i.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var t,o=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(o&&o.length&&((t=o.data("bs.collapse"))&&t.transitioning))){var a=e.Event("show.bs.collapse");if(this.$element.trigger(a),!a.isDefaultPrevented()){o&&o.length&&(n.call(o,"hide"),t||o.data("bs.collapse",null));var r=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[r](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var s=function(){this.$element.removeClass("collapsing").addClass("collapse in")[r](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!e.support.transition)return s.call(this);var l=e.camelCase(["scroll",r].join("-"));this.$element.one("bsTransitionEnd",e.proxy(s,this)).emulateTransitionEnd(i.TRANSITION_DURATION)[r](this.$element[0][l])}}}},i.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var t=e.Event("hide.bs.collapse");if(this.$element.trigger(t),!t.isDefaultPrevented()){var n=this.dimension();this.$element[n](this.$element[n]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var o=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return e.support.transition?void this.$element[n](0).one("bsTransitionEnd",e.proxy(o,this)).emulateTransitionEnd(i.TRANSITION_DURATION):o.call(this)}}},i.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},i.prototype.getParent=function(){return e(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(e.proxy(function(n,i){var o=e(i);this.addAriaAndCollapsedClass(t(o),o)},this)).end()},i.prototype.addAriaAndCollapsedClass=function(e,t){var n=e.hasClass("in");e.attr("aria-expanded",n),t.toggleClass("collapsed",!n).attr("aria-expanded",n)};var o=e.fn.collapse;e.fn.collapse=n,e.fn.collapse.Constructor=i,e.fn.collapse.noConflict=function(){return e.fn.collapse=o,this},e(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(i){var o=e(this);o.attr("data-target")||i.preventDefault();var a=t(o),r=a.data("bs.collapse")?"toggle":o.data();n.call(a,r)})}(jQuery),function(e){"use strict";function t(t){var n=t.attr("data-target");n||(n=(n=t.attr("href"))&&/#[A-Za-z]/.test(n)&&n.replace(/.*(?=#[^\s]*$)/,""));var i=n&&e(n);return i&&i.length?i:t.parent()}function n(n){n&&3===n.which||(e(i).remove(),e(o).each(function(){var i=e(this),o=t(i),a={relatedTarget:this};o.hasClass("open")&&(n&&"click"==n.type&&/input|textarea/i.test(n.target.tagName)&&e.contains(o[0],n.target)||(o.trigger(n=e.Event("hide.bs.dropdown",a)),n.isDefaultPrevented()||(i.attr("aria-expanded","false"),o.removeClass("open").trigger(e.Event("hidden.bs.dropdown",a)))))}))}var i=".dropdown-backdrop",o='[data-toggle="dropdown"]',a=function(t){e(t).on("click.bs.dropdown",this.toggle)};a.VERSION="3.3.7",a.prototype.toggle=function(i){var o=e(this);if(!o.is(".disabled, :disabled")){var a=t(o),r=a.hasClass("open");if(n(),!r){"ontouchstart"in document.documentElement&&!a.closest(".navbar-nav").length&&e(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(e(this)).on("click",n);var s={relatedTarget:this};if(a.trigger(i=e.Event("show.bs.dropdown",s)),i.isDefaultPrevented())return;o.trigger("focus").attr("aria-expanded","true"),a.toggleClass("open").trigger(e.Event("shown.bs.dropdown",s))}return!1}},a.prototype.keydown=function(n){if(/(38|40|27|32)/.test(n.which)&&!/input|textarea/i.test(n.target.tagName)){var i=e(this);if(n.preventDefault(),n.stopPropagation(),!i.is(".disabled, :disabled")){var a=t(i),r=a.hasClass("open");if(!r&&27!=n.which||r&&27==n.which)return 27==n.which&&a.find(o).trigger("focus"),i.trigger("click");var s=a.find(".dropdown-menu li:not(.disabled):visible a");if(s.length){var l=s.index(n.target);38==n.which&&l>0&&l--,40==n.which&&l<s.length-1&&l++,~l||(l=0),s.eq(l).trigger("focus")}}}};var r=e.fn.dropdown;e.fn.dropdown=function(t){return this.each(function(){var n=e(this),i=n.data("bs.dropdown");i||n.data("bs.dropdown",i=new a(this)),"string"==typeof t&&i[t].call(n)})},e.fn.dropdown.Constructor=a,e.fn.dropdown.noConflict=function(){return e.fn.dropdown=r,this},e(document).on("click.bs.dropdown.data-api",n).on("click.bs.dropdown.data-api",".dropdown form",function(e){e.stopPropagation()}).on("click.bs.dropdown.data-api",o,a.prototype.toggle).on("keydown.bs.dropdown.data-api",o,a.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",a.prototype.keydown)}(jQuery),function(e){"use strict";function t(t,i){return this.each(function(){var o=e(this),a=o.data("bs.modal"),r=e.extend({},n.DEFAULTS,o.data(),"object"==typeof t&&t);a||o.data("bs.modal",a=new n(this,r)),"string"==typeof t?a[t](i):r.show&&a.show(i)})}var n=function(t,n){this.options=n,this.$body=e(document.body),this.$element=e(t),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,e.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};n.VERSION="3.3.7",n.TRANSITION_DURATION=300,n.BACKDROP_TRANSITION_DURATION=150,n.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},n.prototype.toggle=function(e){return this.isShown?this.hide():this.show(e)},n.prototype.show=function(t){var i=this,o=e.Event("show.bs.modal",{relatedTarget:t});this.$element.trigger(o),this.isShown||o.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',e.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){i.$element.one("mouseup.dismiss.bs.modal",function(t){e(t.target).is(i.$element)&&(i.ignoreBackdropClick=!0)})}),this.backdrop(function(){var o=e.support.transition&&i.$element.hasClass("fade");i.$element.parent().length||i.$element.appendTo(i.$body),i.$element.show().scrollTop(0),i.adjustDialog(),o&&i.$element[0].offsetWidth,i.$element.addClass("in"),i.enforceFocus();var a=e.Event("shown.bs.modal",{relatedTarget:t});o?i.$dialog.one("bsTransitionEnd",function(){i.$element.trigger("focus").trigger(a)}).emulateTransitionEnd(n.TRANSITION_DURATION):i.$element.trigger("focus").trigger(a)}))},n.prototype.hide=function(t){t&&t.preventDefault(),t=e.Event("hide.bs.modal"),this.$element.trigger(t),this.isShown&&!t.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),e(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),e.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",e.proxy(this.hideModal,this)).emulateTransitionEnd(n.TRANSITION_DURATION):this.hideModal())},n.prototype.enforceFocus=function(){e(document).off("focusin.bs.modal").on("focusin.bs.modal",e.proxy(function(e){document===e.target||this.$element[0]===e.target||this.$element.has(e.target).length||this.$element.trigger("focus")},this))},n.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",e.proxy(function(e){27==e.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},n.prototype.resize=function(){this.isShown?e(window).on("resize.bs.modal",e.proxy(this.handleUpdate,this)):e(window).off("resize.bs.modal")},n.prototype.hideModal=function(){var e=this;this.$element.hide(),this.backdrop(function(){e.$body.removeClass("modal-open"),e.resetAdjustments(),e.resetScrollbar(),e.$element.trigger("hidden.bs.modal")})},n.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},n.prototype.backdrop=function(t){var i=this,o=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var a=e.support.transition&&o;if(this.$backdrop=e(document.createElement("div")).addClass("modal-backdrop "+o).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",e.proxy(function(e){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(e.target===e.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),a&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!t)return;a?this.$backdrop.one("bsTransitionEnd",t).emulateTransitionEnd(n.BACKDROP_TRANSITION_DURATION):t()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var r=function(){i.removeBackdrop(),t&&t()};e.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",r).emulateTransitionEnd(n.BACKDROP_TRANSITION_DURATION):r()}else t&&t()},n.prototype.handleUpdate=function(){this.adjustDialog()},n.prototype.adjustDialog=function(){var e=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&e?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!e?this.scrollbarWidth:""})},n.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},n.prototype.checkScrollbar=function(){var e=window.innerWidth;if(!e){var t=document.documentElement.getBoundingClientRect();e=t.right-Math.abs(t.left)}this.bodyIsOverflowing=document.body.clientWidth<e,this.scrollbarWidth=this.measureScrollbar()},n.prototype.setScrollbar=function(){var e=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",e+this.scrollbarWidth)},n.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},n.prototype.measureScrollbar=function(){var e=document.createElement("div");e.className="modal-scrollbar-measure",this.$body.append(e);var t=e.offsetWidth-e.clientWidth;return this.$body[0].removeChild(e),t};var i=e.fn.modal;e.fn.modal=t,e.fn.modal.Constructor=n,e.fn.modal.noConflict=function(){return e.fn.modal=i,this},e(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(n){var i=e(this),o=i.attr("href"),a=e(i.attr("data-target")||o&&o.replace(/.*(?=#[^\s]+$)/,"")),r=a.data("bs.modal")?"toggle":e.extend({remote:!/#/.test(o)&&o},a.data(),i.data());i.is("a")&&n.preventDefault(),a.one("show.bs.modal",function(e){e.isDefaultPrevented()||a.one("hidden.bs.modal",function(){i.is(":visible")&&i.trigger("focus")})}),t.call(a,r,this)})}(jQuery),function(e){"use strict";var t=function(e,t){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",e,t)};t.VERSION="3.3.7",t.TRANSITION_DURATION=150,t.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},t.prototype.init=function(t,n,i){if(this.enabled=!0,this.type=t,this.$element=e(n),this.options=this.getOptions(i),this.$viewport=this.options.viewport&&e(e.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var o=this.options.trigger.split(" "),a=o.length;a--;){var r=o[a];if("click"==r)this.$element.on("click."+this.type,this.options.selector,e.proxy(this.toggle,this));else if("manual"!=r){var s="hover"==r?"mouseenter":"focusin",l="hover"==r?"mouseleave":"focusout";this.$element.on(s+"."+this.type,this.options.selector,e.proxy(this.enter,this)),this.$element.on(l+"."+this.type,this.options.selector,e.proxy(this.leave,this))}}this.options.selector?this._options=e.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},t.prototype.getDefaults=function(){return t.DEFAULTS},t.prototype.getOptions=function(t){return(t=e.extend({},this.getDefaults(),this.$element.data(),t)).delay&&"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),t},t.prototype.getDelegateOptions=function(){var t={},n=this.getDefaults();return this._options&&e.each(this._options,function(e,i){n[e]!=i&&(t[e]=i)}),t},t.prototype.enter=function(t){var n=t instanceof this.constructor?t:e(t.currentTarget).data("bs."+this.type);return n||(n=new this.constructor(t.currentTarget,this.getDelegateOptions()),e(t.currentTarget).data("bs."+this.type,n)),t instanceof e.Event&&(n.inState["focusin"==t.type?"focus":"hover"]=!0),n.tip().hasClass("in")||"in"==n.hoverState?void(n.hoverState="in"):(clearTimeout(n.timeout),n.hoverState="in",n.options.delay&&n.options.delay.show?void(n.timeout=setTimeout(function(){"in"==n.hoverState&&n.show()},n.options.delay.show)):n.show())},t.prototype.isInStateTrue=function(){for(var e in this.inState)if(this.inState[e])return!0;return!1},t.prototype.leave=function(t){var n=t instanceof this.constructor?t:e(t.currentTarget).data("bs."+this.type);if(n||(n=new this.constructor(t.currentTarget,this.getDelegateOptions()),e(t.currentTarget).data("bs."+this.type,n)),t instanceof e.Event&&(n.inState["focusout"==t.type?"focus":"hover"]=!1),!n.isInStateTrue())return clearTimeout(n.timeout),n.hoverState="out",n.options.delay&&n.options.delay.hide?void(n.timeout=setTimeout(function(){"out"==n.hoverState&&n.hide()},n.options.delay.hide)):n.hide()},t.prototype.show=function(){var n=e.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(n);var i=e.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(n.isDefaultPrevented()||!i)return;var o=this,a=this.tip(),r=this.getUID(this.type);this.setContent(),a.attr("id",r),this.$element.attr("aria-describedby",r),this.options.animation&&a.addClass("fade");var s="function"==typeof this.options.placement?this.options.placement.call(this,a[0],this.$element[0]):this.options.placement,l=/\s?auto?\s?/i,_=l.test(s);_&&(s=s.replace(l,"")||"top"),a.detach().css({top:0,left:0,display:"block"}).addClass(s).data("bs."+this.type,this),this.options.container?a.appendTo(this.options.container):a.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var u=this.getPosition(),d=a[0].offsetWidth,c=a[0].offsetHeight;if(_){var h=s,m=this.getPosition(this.$viewport);s="bottom"==s&&u.bottom+c>m.bottom?"top":"top"==s&&u.top-c<m.top?"bottom":"right"==s&&u.right+d>m.width?"left":"left"==s&&u.left-d<m.left?"right":s,a.removeClass(h).addClass(s)}var p=this.getCalculatedOffset(s,u,d,c);this.applyPlacement(p,s);var f=function(){var e=o.hoverState;o.$element.trigger("shown.bs."+o.type),o.hoverState=null,"out"==e&&o.leave(o)};e.support.transition&&this.$tip.hasClass("fade")?a.one("bsTransitionEnd",f).emulateTransitionEnd(t.TRANSITION_DURATION):f()}},t.prototype.applyPlacement=function(t,n){var i=this.tip(),o=i[0].offsetWidth,a=i[0].offsetHeight,r=parseInt(i.css("margin-top"),10),s=parseInt(i.css("margin-left"),10);isNaN(r)&&(r=0),isNaN(s)&&(s=0),t.top+=r,t.left+=s,e.offset.setOffset(i[0],e.extend({using:function(e){i.css({top:Math.round(e.top),left:Math.round(e.left)})}},t),0),i.addClass("in");var l=i[0].offsetWidth,_=i[0].offsetHeight;"top"==n&&_!=a&&(t.top=t.top+a-_);var u=this.getViewportAdjustedDelta(n,t,l,_);u.left?t.left+=u.left:t.top+=u.top;var d=/top|bottom/.test(n),c=d?2*u.left-o+l:2*u.top-a+_,h=d?"offsetWidth":"offsetHeight";i.offset(t),this.replaceArrow(c,i[0][h],d)},t.prototype.replaceArrow=function(e,t,n){this.arrow().css(n?"left":"top",50*(1-e/t)+"%").css(n?"top":"left","")},t.prototype.setContent=function(){var e=this.tip(),t=this.getTitle();e.find(".tooltip-inner")[this.options.html?"html":"text"](t),e.removeClass("fade in top bottom left right")},t.prototype.hide=function(n){function i(){"in"!=o.hoverState&&a.detach(),o.$element&&o.$element.removeAttr("aria-describedby").trigger("hidden.bs."+o.type),n&&n()}var o=this,a=e(this.$tip),r=e.Event("hide.bs."+this.type);if(this.$element.trigger(r),!r.isDefaultPrevented())return a.removeClass("in"),e.support.transition&&a.hasClass("fade")?a.one("bsTransitionEnd",i).emulateTransitionEnd(t.TRANSITION_DURATION):i(),this.hoverState=null,this},t.prototype.fixTitle=function(){var e=this.$element;(e.attr("title")||"string"!=typeof e.attr("data-original-title"))&&e.attr("data-original-title",e.attr("title")||"").attr("title","")},t.prototype.hasContent=function(){return this.getTitle()},t.prototype.getPosition=function(t){var n=(t=t||this.$element)[0],i="BODY"==n.tagName,o=n.getBoundingClientRect();null==o.width&&(o=e.extend({},o,{width:o.right-o.left,height:o.bottom-o.top}));var a=window.SVGElement&&n instanceof window.SVGElement,r=i?{top:0,left:0}:a?null:t.offset(),s={scroll:i?document.documentElement.scrollTop||document.body.scrollTop:t.scrollTop()},l=i?{width:e(window).width(),height:e(window).height()}:null;return e.extend({},o,s,l,r)},t.prototype.getCalculatedOffset=function(e,t,n,i){return"bottom"==e?{top:t.top+t.height,left:t.left+t.width/2-n/2}:"top"==e?{top:t.top-i,left:t.left+t.width/2-n/2}:"left"==e?{top:t.top+t.height/2-i/2,left:t.left-n}:{top:t.top+t.height/2-i/2,left:t.left+t.width}},t.prototype.getViewportAdjustedDelta=function(e,t,n,i){var o={top:0,left:0};if(!this.$viewport)return o;var a=this.options.viewport&&this.options.viewport.padding||0,r=this.getPosition(this.$viewport);if(/right|left/.test(e)){var s=t.top-a-r.scroll,l=t.top+a-r.scroll+i;s<r.top?o.top=r.top-s:l>r.top+r.height&&(o.top=r.top+r.height-l)}else{var _=t.left-a,u=t.left+a+n;_<r.left?o.left=r.left-_:u>r.right&&(o.left=r.left+r.width-u)}return o},t.prototype.getTitle=function(){var e=this.$element,t=this.options;return e.attr("data-original-title")||("function"==typeof t.title?t.title.call(e[0]):t.title)},t.prototype.getUID=function(e){for(;e+=~~(1e6*Math.random()),document.getElementById(e););return e},t.prototype.tip=function(){if(!this.$tip&&(this.$tip=e(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},t.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},t.prototype.enable=function(){this.enabled=!0},t.prototype.disable=function(){this.enabled=!1},t.prototype.toggleEnabled=function(){this.enabled=!this.enabled},t.prototype.toggle=function(t){var n=this;t&&((n=e(t.currentTarget).data("bs."+this.type))||(n=new this.constructor(t.currentTarget,this.getDelegateOptions()),e(t.currentTarget).data("bs."+this.type,n))),t?(n.inState.click=!n.inState.click,n.isInStateTrue()?n.enter(n):n.leave(n)):n.tip().hasClass("in")?n.leave(n):n.enter(n)},t.prototype.destroy=function(){var e=this;clearTimeout(this.timeout),this.hide(function(){e.$element.off("."+e.type).removeData("bs."+e.type),e.$tip&&e.$tip.detach(),e.$tip=null,e.$arrow=null,e.$viewport=null,e.$element=null})};var n=e.fn.tooltip;e.fn.tooltip=function(n){return this.each(function(){var i=e(this),o=i.data("bs.tooltip"),a="object"==typeof n&&n;!o&&/destroy|hide/.test(n)||(o||i.data("bs.tooltip",o=new t(this,a)),"string"==typeof n&&o[n]())})},e.fn.tooltip.Constructor=t,e.fn.tooltip.noConflict=function(){return e.fn.tooltip=n,this}}(jQuery),function(e){"use strict";var t=function(e,t){this.init("popover",e,t)};if(!e.fn.tooltip)throw new Error("Popover requires tooltip.js");t.VERSION="3.3.7",t.DEFAULTS=e.extend({},e.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),t.prototype=e.extend({},e.fn.tooltip.Constructor.prototype),t.prototype.constructor=t,t.prototype.getDefaults=function(){return t.DEFAULTS},t.prototype.setContent=function(){var e=this.tip(),t=this.getTitle(),n=this.getContent();e.find(".popover-title")[this.options.html?"html":"text"](t),e.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof n?"html":"append":"text"](n),e.removeClass("fade top bottom left right in"),e.find(".popover-title").html()||e.find(".popover-title").hide()},t.prototype.hasContent=function(){return this.getTitle()||this.getContent()},t.prototype.getContent=function(){var e=this.$element,t=this.options;return e.attr("data-content")||("function"==typeof t.content?t.content.call(e[0]):t.content)},t.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var n=e.fn.popover;e.fn.popover=function(n){return this.each(function(){var i=e(this),o=i.data("bs.popover"),a="object"==typeof n&&n;!o&&/destroy|hide/.test(n)||(o||i.data("bs.popover",o=new t(this,a)),"string"==typeof n&&o[n]())})},e.fn.popover.Constructor=t,e.fn.popover.noConflict=function(){return e.fn.popover=n,this}}(jQuery),function(e){"use strict";function t(n,i){this.$body=e(document.body),this.$scrollElement=e(e(n).is(document.body)?window:n),this.options=e.extend({},t.DEFAULTS,i),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",e.proxy(this.process,this)),this.refresh(),this.process()}function n(n){return this.each(function(){var i=e(this),o=i.data("bs.scrollspy"),a="object"==typeof n&&n;o||i.data("bs.scrollspy",o=new t(this,a)),"string"==typeof n&&o[n]()})}t.VERSION="3.3.7",t.DEFAULTS={offset:10},t.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},t.prototype.refresh=function(){var t=this,n="offset",i=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),e.isWindow(this.$scrollElement[0])||(n="position",i=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var t=e(this),o=t.data("target")||t.attr("href"),a=/^#./.test(o)&&e(o);return a&&a.length&&a.is(":visible")&&[[a[n]().top+i,o]]||null}).sort(function(e,t){return e[0]-t[0]}).each(function(){t.offsets.push(this[0]),t.targets.push(this[1])})},t.prototype.process=function(){var e,t=this.$scrollElement.scrollTop()+this.options.offset,n=this.getScrollHeight(),i=this.options.offset+n-this.$scrollElement.height(),o=this.offsets,a=this.targets,r=this.activeTarget;if(this.scrollHeight!=n&&this.refresh(),t>=i)return r!=(e=a[a.length-1])&&this.activate(e);if(r&&t<o[0])return this.activeTarget=null,this.clear();for(e=o.length;e--;)r!=a[e]&&t>=o[e]&&(void 0===o[e+1]||t<o[e+1])&&this.activate(a[e])},t.prototype.activate=function(t){this.activeTarget=t,this.clear();var n=this.selector+'[data-target="'+t+'"],'+this.selector+'[href="'+t+'"]',i=e(n).parents("li").addClass("active");i.parent(".dropdown-menu").length&&(i=i.closest("li.dropdown").addClass("active")),i.trigger("activate.bs.scrollspy")},t.prototype.clear=function(){e(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var i=e.fn.scrollspy;e.fn.scrollspy=n,e.fn.scrollspy.Constructor=t,e.fn.scrollspy.noConflict=function(){return e.fn.scrollspy=i,this},e(window).on("load.bs.scrollspy.data-api",function(){e('[data-spy="scroll"]').each(function(){var t=e(this);n.call(t,t.data())})})}(jQuery),function(e){"use strict";function t(t){return this.each(function(){var i=e(this),o=i.data("bs.tab");o||i.data("bs.tab",o=new n(this)),"string"==typeof t&&o[t]()})}var n=function(t){this.element=e(t)};n.VERSION="3.3.7",n.TRANSITION_DURATION=150,n.prototype.show=function(){var t=this.element,n=t.closest("ul:not(.dropdown-menu)"),i=t.data("target");if(i||(i=(i=t.attr("href"))&&i.replace(/.*(?=#[^\s]*$)/,"")),!t.parent("li").hasClass("active")){var o=n.find(".active:last a"),a=e.Event("hide.bs.tab",{relatedTarget:t[0]}),r=e.Event("show.bs.tab",{relatedTarget:o[0]});if(o.trigger(a),t.trigger(r),!r.isDefaultPrevented()&&!a.isDefaultPrevented()){var s=e(i);this.activate(t.closest("li"),n),this.activate(s,s.parent(),function(){o.trigger({type:"hidden.bs.tab",relatedTarget:t[0]}),t.trigger({type:"shown.bs.tab",relatedTarget:o[0]})})}}},n.prototype.activate=function(t,i,o){function a(){r.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),t.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),s?(t[0].offsetWidth,t.addClass("in")):t.removeClass("fade"),t.parent(".dropdown-menu").length&&t.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),o&&o()}var r=i.find("> .active"),s=o&&e.support.transition&&(r.length&&r.hasClass("fade")||!!i.find("> .fade").length);r.length&&s?r.one("bsTransitionEnd",a).emulateTransitionEnd(n.TRANSITION_DURATION):a(),r.removeClass("in")};var i=e.fn.tab;e.fn.tab=t,e.fn.tab.Constructor=n,e.fn.tab.noConflict=function(){return e.fn.tab=i,this};var o=function(n){n.preventDefault(),t.call(e(this),"show")};e(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',o).on("click.bs.tab.data-api",'[data-toggle="pill"]',o)}(jQuery),function(e){"use strict";function t(t){return this.each(function(){var i=e(this),o=i.data("bs.affix"),a="object"==typeof t&&t;o||i.data("bs.affix",o=new n(this,a)),"string"==typeof t&&o[t]()})}var n=function(t,i){this.options=e.extend({},n.DEFAULTS,i),this.$target=e(this.options.target).on("scroll.bs.affix.data-api",e.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",e.proxy(this.checkPositionWithEventLoop,this)),this.$element=e(t),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};n.VERSION="3.3.7",n.RESET="affix affix-top affix-bottom",n.DEFAULTS={offset:0,target:window},n.prototype.getState=function(e,t,n,i){var o=this.$target.scrollTop(),a=this.$element.offset(),r=this.$target.height();if(null!=n&&"top"==this.affixed)return o<n&&"top";if("bottom"==this.affixed)return null!=n?!(o+this.unpin<=a.top)&&"bottom":!(o+r<=e-i)&&"bottom";var s=null==this.affixed,l=s?o:a.top;return null!=n&&o<=n?"top":null!=i&&l+(s?r:t)>=e-i&&"bottom"},n.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(n.RESET).addClass("affix");var e=this.$target.scrollTop(),t=this.$element.offset();return this.pinnedOffset=t.top-e},n.prototype.checkPositionWithEventLoop=function(){setTimeout(e.proxy(this.checkPosition,this),1)},n.prototype.checkPosition=function(){if(this.$element.is(":visible")){var t=this.$element.height(),i=this.options.offset,o=i.top,a=i.bottom,r=Math.max(e(document).height(),e(document.body).height());"object"!=typeof i&&(a=o=i),"function"==typeof o&&(o=i.top(this.$element)),"function"==typeof a&&(a=i.bottom(this.$element));var s=this.getState(r,t,o,a);if(this.affixed!=s){null!=this.unpin&&this.$element.css("top","");var l="affix"+(s?"-"+s:""),_=e.Event(l+".bs.affix");if(this.$element.trigger(_),_.isDefaultPrevented())return;this.affixed=s,this.unpin="bottom"==s?this.getPinnedOffset():null,this.$element.removeClass(n.RESET).addClass(l).trigger(l.replace("affix","affixed")+".bs.affix")}"bottom"==s&&this.$element.offset({top:r-t-a})}};var i=e.fn.affix;e.fn.affix=t,e.fn.affix.Constructor=n,e.fn.affix.noConflict=function(){return e.fn.affix=i,this},e(window).on("load",function(){e('[data-spy="affix"]').each(function(){var n=e(this),i=n.data();i.offset=i.offset||{},null!=i.offsetBottom&&(i.offset.bottom=i.offsetBottom),null!=i.offsetTop&&(i.offset.top=i.offsetTop),t.call(n,i)})})}(jQuery),function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof exports?e(require("jquery")):e(jQuery)}(function(e){"use strict";var t=function(t,n){e.each(["autofocus","savable","hideable","width","height","resize","iconlibrary","language","footer","fullscreen","hiddenButtons","disabledButtons"],function(i,o){void 0!==e(t).data(o)&&((n="object"==typeof n?n:{})[o]=e(t).data(o))}),this.$ns="bootstrap-markdown",this.$element=e(t),this.$editable={el:null,type:null,attrKeys:[],attrValues:[],content:null},this.$options=e.extend(!0,{},e.fn.markdown.defaults,n,this.$element.data("options")),this.$oldContent=null,this.$isPreview=!1,this.$isFullscreen=!1,this.$editor=null,this.$textarea=null,this.$handler=[],this.$callback=[],this.$nextTab=[],this.showEditor()};t.prototype={constructor:t,__alterButtons:function(t,n){var i=this.$handler,o="all"==t,a=this;e.each(i,function(e,i){!1===(!o&&i.indexOf(t)<0)&&n(a.$editor.find('button[data-handler="'+i+'"]'))})},__buildButtons:function(t,n){var i,o=this.$ns,a=this.$handler,r=this.$callback;for(i=0;i<t.length;i++){var s,l=t[i];for(s=0;s<l.length;s++){var _,u=l[s].data,d=e("<div/>",{class:"btn-group"});for(_=0;_<u.length;_++){var c,h,m=u[_],p=o+"-"+m.name,f=this.__getIcon(m.icon),g=m.btnText?m.btnText:"",k=m.btnClass?m.btnClass:"btn",b=m.tabIndex?m.tabIndex:"-1",w=void 0!==m.hotkey?m.hotkey:"",y=void 0!==jQuery.hotkeys&&""!==w?" ("+w+")":"";(c=e("<button></button>")).text(" "+this.__localize(g)).addClass("btn-default btn-sm").addClass(k),k.match(/btn\-(primary|success|info|warning|danger|link)/)&&c.removeClass("btn-default"),c.attr({type:"button",title:this.__localize(m.title)+y,tabindex:b,"data-provider":o,"data-handler":p,"data-hotkey":w}),!0===m.toggle&&c.attr("data-toggle","button"),(h=e("<span/>")).addClass(f),h.prependTo(c),d.append(c),a.push(p),r.push(m.callback)}n.append(d)}}return n},__setListener:function(){var t=void 0!==this.$textarea.attr("rows"),n=this.$textarea.val().split("\n").length>5?this.$textarea.val().split("\n").length:"5",i=t?this.$textarea.attr("rows"):n;this.$textarea.attr("rows",i),this.$options.resize&&this.$textarea.css("resize",this.$options.resize),this.$textarea.on({focus:e.proxy(this.focus,this),keyup:e.proxy(this.keyup,this),change:e.proxy(this.change,this),select:e.proxy(this.select,this)}),this.eventSupported("keydown")&&this.$textarea.on("keydown",e.proxy(this.keydown,this)),this.eventSupported("keypress")&&this.$textarea.on("keypress",e.proxy(this.keypress,this)),this.$textarea.data("markdown",this)},__handle:function(t){var n=e(t.currentTarget),i=this.$handler,o=this.$callback,a=n.attr("data-handler"),r=o[i.indexOf(a)];e(t.currentTarget).focus(),r(this),this.change(this),a.indexOf("cmdSave")<0&&this.$textarea.focus(),t.preventDefault()},__localize:function(t){var n=e.fn.markdown.messages,i=this.$options.language;return void 0!==n&&void 0!==n[i]&&void 0!==n[i][t]?n[i][t]:t},__getIcon:function(e){return"object"==typeof e?e[this.$options.iconlibrary]:e},setFullscreen:function(t){var n=this.$editor,i=this.$textarea;!0===t?(n.addClass("md-fullscreen-mode"),e("body").addClass("md-nooverflow"),this.$options.onFullscreen(this)):(n.removeClass("md-fullscreen-mode"),e("body").removeClass("md-nooverflow"),1==this.$isPreview&&this.hidePreview().showPreview()),this.$isFullscreen=t,i.focus()},showEditor:function(){var t,n=this,i=this.$ns,o=this.$element,a=(o.css("height"),o.css("width"),this.$editable),r=this.$handler,s=this.$callback,l=this.$options,_=e("<div/>",{class:"md-editor",click:function(){n.focus()}});if(null===this.$editor){var u=e("<div/>",{class:"md-header btn-toolbar"}),d=[];if(l.buttons.length>0&&(d=d.concat(l.buttons[0])),l.additionalButtons.length>0&&e.each(l.additionalButtons[0],function(t,n){var i=e.grep(d,function(e,t){return e.name===n.name});i.length>0?i[0].data=i[0].data.concat(n.data):d.push(l.additionalButtons[0][t])}),l.reorderButtonGroups.length>0&&(d=d.filter(function(e){return l.reorderButtonGroups.indexOf(e.name)>-1}).sort(function(e,t){return l.reorderButtonGroups.indexOf(e.name)<l.reorderButtonGroups.indexOf(t.name)?-1:l.reorderButtonGroups.indexOf(e.name)>l.reorderButtonGroups.indexOf(t.name)?1:0})),d.length>0&&(u=this.__buildButtons([d],u)),l.fullscreen.enable&&u.append('<div class="md-controls"><a class="md-control md-control-fullscreen" href="#"><span class="'+this.__getIcon(l.fullscreen.icons.fullscreenOn)+'"></span></a></div>').on("click",".md-control-fullscreen",function(e){e.preventDefault(),n.setFullscreen(!0)}),_.append(u),o.is("textarea"))o.before(_),(t=o).addClass("md-input"),_.append(t);else{var c="function"==typeof toMarkdown?toMarkdown(o.html()):o.html(),h=e.trim(c);t=e("<textarea/>",{class:"md-input",val:h}),_.append(t),a.el=o,a.type=o.prop("tagName").toLowerCase(),a.content=o.html(),e(o[0].attributes).each(function(){a.attrKeys.push(this.nodeName),a.attrValues.push(this.nodeValue)}),o.replaceWith(_)}var m,p=e("<div/>",{class:"md-footer"}),f=!1;if(l.savable){f=!0;var g="cmdSave";r.push(g),s.push(l.onSave),p.append('<button class="btn btn-success" data-provider="'+i+'" data-handler="'+g+'"><i class="icon icon-white icon-ok"></i> '+this.__localize("Save")+"</button>")}if(m="function"==typeof l.footer?l.footer(this):l.footer,""!==e.trim(m)&&(f=!0,p.append(m)),f&&_.append(p),l.width&&"inherit"!==l.width&&(jQuery.isNumeric(l.width)?(_.css("display","table"),t.css("width",l.width+"px")):_.addClass(l.width)),l.height&&"inherit"!==l.height)if(jQuery.isNumeric(l.height)){var k=l.height;u&&(k=Math.max(0,k-u.outerHeight())),p&&(k=Math.max(0,k-p.outerHeight())),t.css("height",k+"px")}else _.addClass(l.height);this.$editor=_,this.$textarea=t,this.$editable=a,this.$oldContent=this.getContent(),this.__setListener(),this.$editor.attr("id",(new Date).getTime()),this.$editor.on("click",'[data-provider="bootstrap-markdown"]',e.proxy(this.__handle,this)),(this.$element.is(":disabled")||this.$element.is("[readonly]"))&&(this.$editor.addClass("md-editor-disabled"),this.disableButtons("all")),this.eventSupported("keydown")&&"object"==typeof jQuery.hotkeys&&u.find('[data-provider="bootstrap-markdown"]').each(function(){var n=e(this),i=n.attr("data-hotkey");""!==i.toLowerCase()&&t.bind("keydown",i,function(){return n.trigger("click"),!1})}),"preview"===l.initialstate?this.showPreview():"fullscreen"===l.initialstate&&l.fullscreen.enable&&this.setFullscreen(!0)}else this.$editor.show();return l.autofocus&&(this.$textarea.focus(),this.$editor.addClass("active")),l.fullscreen.enable&&!1!==l.fullscreen&&(this.$editor.append('<div class="md-fullscreen-controls"><a href="#" class="exit-fullscreen" title="Exit fullscreen"><span class="'+this.__getIcon(l.fullscreen.icons.fullscreenOff)+'"></span></a></div>'),this.$editor.on("click",".exit-fullscreen",function(e){e.preventDefault(),n.setFullscreen(!1)})),this.hideButtons(l.hiddenButtons),this.disableButtons(l.disabledButtons),l.onShow(this),this},parseContent:function(e){e=e||this.$textarea.val();return this.$options.parser?this.$options.parser(e):"object"==typeof markdown?markdown.toHTML(e):"function"==typeof marked?marked(e):e},showPreview:function(){var t,n,i=this.$options,o=this.$textarea,a=o.next(),r=e("<div/>",{class:"md-preview","data-provider":"markdown-preview"});return 1==this.$isPreview?this:(this.$isPreview=!0,this.disableButtons("all").enableButtons("cmdPreview"),t="string"==typeof(n=i.onPreview(this))?n:this.parseContent(),r.html(t),a&&"md-footer"==a.attr("class")?r.insertBefore(a):o.parent().append(r),r.css({width:o.outerWidth()+"px",height:o.outerHeight()+"px"}),this.$options.resize&&r.css("resize",this.$options.resize),o.hide(),r.data("markdown",this),(this.$element.is(":disabled")||this.$element.is("[readonly]"))&&(this.$editor.addClass("md-editor-disabled"),this.disableButtons("all")),this)},hidePreview:function(){return this.$isPreview=!1,this.$editor.find('div[data-provider="markdown-preview"]').remove(),this.enableButtons("all"),this.disableButtons(this.$options.disabledButtons),this.$textarea.show(),this.__setListener(),this},isDirty:function(){return this.$oldContent!=this.getContent()},getContent:function(){return this.$textarea.val()},setContent:function(e){return this.$textarea.val(e),this},findSelection:function(e){var t;if((t=this.getContent().indexOf(e))>=0&&e.length>0){var n,i=this.getSelection();return this.setSelection(t,t+e.length),n=this.getSelection(),this.setSelection(i.start,i.end),n}return null},getSelection:function(){var e=this.$textarea[0];return("selectionStart"in e&&function(){var t=e.selectionEnd-e.selectionStart;return{start:e.selectionStart,end:e.selectionEnd,length:t,text:e.value.substr(e.selectionStart,t)}}||function(){return null})()},setSelection:function(e,t){var n=this.$textarea[0];return("selectionStart"in n&&function(){n.selectionStart=e,n.selectionEnd=t}||function(){return null})()},replaceSelection:function(e){var t=this.$textarea[0];return("selectionStart"in t&&function(){return t.value=t.value.substr(0,t.selectionStart)+e+t.value.substr(t.selectionEnd,t.value.length),t.selectionStart=t.value.length,this}||function(){return t.value+=e,jQuery(t)})()},getNextTab:function(){if(0===this.$nextTab.length)return null;var e,t=this.$nextTab.shift();return"function"==typeof t?e=t():"object"==typeof t&&t.length>0&&(e=t),e},setNextTab:function(e,t){if("string"==typeof e){var n=this;this.$nextTab.push(function(){return n.findSelection(e)})}else if("number"==typeof e&&"number"==typeof t){var i=this.getSelection();this.setSelection(e,t),this.$nextTab.push(this.getSelection()),this.setSelection(i.start,i.end)}},__parseButtonNameParam:function(e){return"string"==typeof e?e.split(" "):e},enableButtons:function(t){var n=this.__parseButtonNameParam(t),i=this;return e.each(n,function(e,t){i.__alterButtons(n[e],function(e){e.removeAttr("disabled")})}),this},disableButtons:function(t){var n=this.__parseButtonNameParam(t),i=this;return e.each(n,function(e,t){i.__alterButtons(n[e],function(e){e.attr("disabled","disabled")})}),this},hideButtons:function(t){var n=this.__parseButtonNameParam(t),i=this;return e.each(n,function(e,t){i.__alterButtons(n[e],function(e){e.addClass("hidden")})}),this},showButtons:function(t){var n=this.__parseButtonNameParam(t),i=this;return e.each(n,function(e,t){i.__alterButtons(n[e],function(e){e.removeClass("hidden")})}),this},eventSupported:function(e){var t=e in this.$element;return t||(this.$element.setAttribute(e,"return;"),t="function"==typeof this.$element[e]),t},keyup:function(e){var t=!1;switch(e.keyCode){case 40:case 38:case 16:case 17:case 18:break;case 9:var n;if(null!==(n=this.getNextTab())){var i=this;setTimeout(function(){i.setSelection(n.start,n.end)},500),t=!0}else{var o=this.getSelection();o.start==o.end&&o.end==this.getContent().length?t=!1:(this.setSelection(this.getContent().length,this.getContent().length),t=!0)}break;case 13:t=!1;break;case 27:this.$isFullscreen&&this.setFullscreen(!1),t=!1;break;default:t=!1}t&&(e.stopPropagation(),e.preventDefault()),this.$options.onChange(this)},change:function(e){return this.$options.onChange(this),this},select:function(e){return this.$options.onSelect(this),this},focus:function(t){var n=this.$options,i=(n.hideable,this.$editor);return i.addClass("active"),e(document).find(".md-editor").each(function(){var t;e(this).attr("id")!==i.attr("id")&&(null===(t=e(this).find("textarea").data("markdown"))&&(t=e(this).find('div[data-provider="markdown-preview"]').data("markdown")),t&&t.blur())}),n.onFocus(this),this},blur:function(t){var n=this.$options,i=n.hideable,o=this.$editor,a=this.$editable;if(o.hasClass("active")||0===this.$element.parent().length){if(o.removeClass("active"),i)if(null!==a.el){var r=e("<"+a.type+"/>"),s=this.getContent(),l=this.parseContent(s);e(a.attrKeys).each(function(e,t){r.attr(a.attrKeys[e],a.attrValues[e])}),r.html(l),o.replaceWith(r)}else o.hide();n.onBlur(this)}return this}};var n=e.fn.markdown;e.fn.markdown=function(n){return this.each(function(){var i=e(this),o=i.data("markdown"),a="object"==typeof n&&n;o||i.data("markdown",o=new t(this,a))})},e.fn.markdown.messages={},e.fn.markdown.defaults={autofocus:!1,hideable:!1,savable:!1,width:"inherit",height:"inherit",resize:"none",iconlibrary:"glyph",language:"en",initialstate:"editor",parser:null,buttons:[[{name:"groupFont",data:[{name:"cmdBold",hotkey:"Ctrl+B",title:"Bold",icon:{glyph:"glyphicon glyphicon-bold",fa:"fa fa-bold","fa-3":"icon-bold"},callback:function(e){var t,n,i=e.getSelection(),o=e.getContent();t=0===i.length?e.__localize("strong text"):i.text,"**"===o.substr(i.start-2,2)&&"**"===o.substr(i.end,2)?(e.setSelection(i.start-2,i.end+2),e.replaceSelection(t),n=i.start-2):(e.replaceSelection("**"+t+"**"),n=i.start+2),e.setSelection(n,n+t.length)}},{name:"cmdItalic",title:"Italic",hotkey:"Ctrl+I",icon:{glyph:"glyphicon glyphicon-italic",fa:"fa fa-italic","fa-3":"icon-italic"},callback:function(e){var t,n,i=e.getSelection(),o=e.getContent();t=0===i.length?e.__localize("emphasized text"):i.text,"_"===o.substr(i.start-1,1)&&"_"===o.substr(i.end,1)?(e.setSelection(i.start-1,i.end+1),e.replaceSelection(t),n=i.start-1):(e.replaceSelection("_"+t+"_"),n=i.start+1),e.setSelection(n,n+t.length)}},{name:"cmdHeading",title:"Heading",hotkey:"Ctrl+H",icon:{glyph:"glyphicon glyphicon-header",fa:"fa fa-header","fa-3":"icon-font"},callback:function(e){var t,n,i,o,a=e.getSelection(),r=e.getContent();t=0===a.length?e.__localize("heading text"):a.text+"\n",i=4,"### "===r.substr(a.start-i,i)||(i=3,"###"===r.substr(a.start-i,i))?(e.setSelection(a.start-i,a.end),e.replaceSelection(t),n=a.start-i):a.start>0&&((o=r.substr(a.start-1,1))&&"\n"!=o)?(e.replaceSelection("\n\n### "+t),n=a.start+6):(e.replaceSelection("### "+t),n=a.start+4),e.setSelection(n,n+t.length)}}]},{name:"groupLink",data:[{name:"cmdUrl",title:"URL/Link",hotkey:"Ctrl+L",icon:{glyph:"glyphicon glyphicon-link",fa:"fa fa-link","fa-3":"icon-link"},callback:function(t){var n,i,o,a=t.getSelection();t.getContent();n=0===a.length?t.__localize("enter link description here"):a.text,o=prompt(t.__localize("Insert Hyperlink"),"http://");var r=new RegExp("^((http|https)://|(mailto:)|(//))[a-z0-9]","i");if(null!==o&&""!==o&&"http://"!==o&&r.test(o)){var s=e("<div>"+o+"</div>").text();t.replaceSelection("["+n+"]("+s+")"),i=a.start+1,t.setSelection(i,i+n.length)}}},{name:"cmdImage",title:"Image",hotkey:"Ctrl+G",icon:{glyph:"glyphicon glyphicon-picture",fa:"fa fa-picture-o","fa-3":"icon-picture"},callback:function(t){var n,i,o,a=t.getSelection();t.getContent();n=0===a.length?t.__localize("enter image description here"):a.text,o=prompt(t.__localize("Insert Image Hyperlink"),"http://");var r=new RegExp("^((http|https)://|(//))[a-z0-9]","i");if(null!==o&&""!==o&&"http://"!==o&&r.test(o)){var s=e("<div>"+o+"</div>").text();t.replaceSelection("!["+n+"]("+s+' "'+t.__localize("enter image title here")+'")'),i=a.start+2,t.setNextTab(t.__localize("enter image title here")),t.setSelection(i,i+n.length)}}}]},{name:"groupMisc",data:[{name:"cmdList",hotkey:"Ctrl+U",title:"Unordered List",icon:{glyph:"glyphicon glyphicon-list",fa:"fa fa-list","fa-3":"icon-list-ul"},callback:function(t){var n,i,o=t.getSelection();t.getContent();if(0===o.length)n=t.__localize("list text here"),t.replaceSelection("- "+n),i=o.start+2;else if(o.text.indexOf("\n")<0)n=o.text,t.replaceSelection("- "+n),i=o.start+2;else{var a=[];n=(a=o.text.split("\n"))[0],e.each(a,function(e,t){a[e]="- "+t}),t.replaceSelection("\n\n"+a.join("\n")),i=o.start+4}t.setSelection(i,i+n.length)}},{name:"cmdListO",hotkey:"Ctrl+O",title:"Ordered List",icon:{glyph:"glyphicon glyphicon-th-list",fa:"fa fa-list-ol","fa-3":"icon-list-ol"},callback:function(t){var n,i,o=t.getSelection();t.getContent();if(0===o.length)n=t.__localize("list text here"),t.replaceSelection("1. "+n),i=o.start+3;else if(o.text.indexOf("\n")<0)n=o.text,t.replaceSelection("1. "+n),i=o.start+3;else{var a=[];n=(a=o.text.split("\n"))[0],e.each(a,function(e,t){a[e]="1. "+t}),t.replaceSelection("\n\n"+a.join("\n")),i=o.start+5}t.setSelection(i,i+n.length)}},{name:"cmdCode",hotkey:"Ctrl+K",title:"Code",icon:{glyph:"glyphicon glyphicon-asterisk",fa:"fa fa-code","fa-3":"icon-code"},callback:function(e){var t,n,i=e.getSelection(),o=e.getContent();t=0===i.length?e.__localize("code text here"):i.text,"```\n"===o.substr(i.start-4,4)&&"\n```"===o.substr(i.end,4)?(e.setSelection(i.start-4,i.end+4),e.replaceSelection(t),n=i.start-4):"`"===o.substr(i.start-1,1)&&"`"===o.substr(i.end,1)?(e.setSelection(i.start-1,i.end+1),e.replaceSelection(t),n=i.start-1):o.indexOf("\n")>-1?(e.replaceSelection("```\n"+t+"\n```"),n=i.start+4):(e.replaceSelection("`"+t+"`"),n=i.start+1),e.setSelection(n,n+t.length)}},{name:"cmdQuote",hotkey:"Ctrl+Q",title:"Quote",icon:{glyph:"glyphicon glyphicon-comment",fa:"fa fa-quote-left","fa-3":"icon-quote-left"},callback:function(t){var n,i,o=t.getSelection();t.getContent();if(0===o.length)n=t.__localize("quote here"),t.replaceSelection("> "+n),i=o.start+2;else if(o.text.indexOf("\n")<0)n=o.text,t.replaceSelection("> "+n),i=o.start+2;else{var a=[];n=(a=o.text.split("\n"))[0],e.each(a,function(e,t){a[e]="> "+t}),t.replaceSelection("\n\n"+a.join("\n")),i=o.start+4}t.setSelection(i,i+n.length)}}]},{name:"groupUtil",data:[{name:"cmdPreview",toggle:!0,hotkey:"Ctrl+P",title:"Preview",btnText:"Preview",btnClass:"btn btn-primary btn-sm",icon:{glyph:"glyphicon glyphicon-search",fa:"fa fa-search","fa-3":"icon-search"},callback:function(e){!1===e.$isPreview?e.showPreview():e.hidePreview()}}]}]],additionalButtons:[],reorderButtonGroups:[],hiddenButtons:[],disabledButtons:[],footer:"",fullscreen:{enable:!0,icons:{fullscreenOn:{fa:"fa fa-expand",glyph:"glyphicon glyphicon-fullscreen","fa-3":"icon-resize-full"},fullscreenOff:{fa:"fa fa-compress",glyph:"glyphicon glyphicon-fullscreen","fa-3":"icon-resize-small"}}},onShow:function(e){},onPreview:function(e){},onSave:function(e){},onBlur:function(e){},onFocus:function(e){},onChange:function(e){},onFullscreen:function(e){},onSelect:function(e){}},e.fn.markdown.Constructor=t,e.fn.markdown.noConflict=function(){return e.fn.markdown=n,this};var i=function(e){var t=e;t.data("markdown")?t.data("markdown").showEditor():t.markdown()};e(document).on("click.markdown.data-api",'[data-provide="markdown-editable"]',function(t){i(e(this)),t.preventDefault()}).on("click focusin",function(t){var n;n=e(document.activeElement),e(document).find(".md-editor").each(function(){var t=e(this),i=n.closest(".md-editor")[0]===this,o=t.find("textarea").data("markdown")||t.find('div[data-provider="markdown-preview"]').data("markdown");o&&!i&&o.blur()})}).ready(function(){e('textarea[data-provide="markdown"]').each(function(){i(e(this))})})}),function(){"use strict";var e={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:h,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,nptable:h,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/,def:/^ {0,3}\[(label)\]: *\n? *<?([^\s>]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,table:h,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,paragraph:/^([^\n]+(?:\n?(?!hr|heading|lheading| {0,3}>|tag)[^\n]+)+)/,text:/^[^\n]+/};function t(t){this.tokens=[],this.tokens.links={},this.options=t||p.defaults,this.rules=e.normal,this.options.gfm&&(this.options.tables?this.rules=e.tables:this.rules=e.gfm)}e._label=/(?:\\[\[\]]|[^\[\]])+/,e._title=/(?:"(?:\\"|[^"]|"[^"\n]*")*"|'\n?(?:[^'\n]+\n?)*'|\([^()]*\))/,e.def=_(e.def)("label",e._label)("title",e._title)(),e.bullet=/(?:[*+-]|\d+\.)/,e.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,e.item=_(e.item,"gm")(/bull/g,e.bullet)(),e.list=_(e.list)(/bull/g,e.bullet)("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))")("def","\\n+(?="+e.def.source+")")(),e._tag="(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b",e.html=_(e.html)("comment",/<!--[\s\S]*?-->/)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/<tag(?:"[^"]*"|'[^']*'|\s[^'"\/>]*)*?\/?>/)(/tag/g,e._tag)(),e.paragraph=_(e.paragraph)("hr",e.hr)("heading",e.heading)("lheading",e.lheading)("tag","<"+e._tag)(),e.blockquote=_(e.blockquote)("paragraph",e.paragraph)(),e.normal=m({},e),e.gfm=m({},e.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\n? *\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),e.gfm.paragraph=_(e.paragraph)("(?!","(?!"+e.gfm.fences.source.replace("\\1","\\2")+"|"+e.list.source.replace("\\1","\\3")+"|")(),e.tables=m({},e.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),t.rules=e,t.lex=function(e,n){return new t(n).lex(e)},t.prototype.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g,"    ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(e,!0)},t.prototype.token=function(t,n){var i,o,a,r,s,l,_,u,d,c;for(t=t.replace(/^ +$/gm,"");t;)if((a=this.rules.newline.exec(t))&&(t=t.substring(a[0].length),a[0].length>1&&this.tokens.push({type:"space"})),a=this.rules.code.exec(t))t=t.substring(a[0].length),a=a[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",text:this.options.pedantic?a:a.replace(/\n+$/,"")});else if(a=this.rules.fences.exec(t))t=t.substring(a[0].length),this.tokens.push({type:"code",lang:a[2],text:a[3]||""});else if(a=this.rules.heading.exec(t))t=t.substring(a[0].length),this.tokens.push({type:"heading",depth:a[1].length,text:a[2]});else if(n&&(a=this.rules.nptable.exec(t))){for(t=t.substring(a[0].length),l={type:"table",header:a[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:a[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:a[3].replace(/\n$/,"").split("\n")},u=0;u<l.align.length;u++)/^ *-+: *$/.test(l.align[u])?l.align[u]="right":/^ *:-+: *$/.test(l.align[u])?l.align[u]="center":/^ *:-+ *$/.test(l.align[u])?l.align[u]="left":l.align[u]=null;for(u=0;u<l.cells.length;u++)l.cells[u]=l.cells[u].split(/ *\| */);this.tokens.push(l)}else if(a=this.rules.hr.exec(t))t=t.substring(a[0].length),this.tokens.push({type:"hr"});else if(a=this.rules.blockquote.exec(t))t=t.substring(a[0].length),this.tokens.push({type:"blockquote_start"}),a=a[0].replace(/^ *> ?/gm,""),this.token(a,n),this.tokens.push({type:"blockquote_end"});else if(a=this.rules.list.exec(t)){for(t=t.substring(a[0].length),r=a[2],this.tokens.push({type:"list_start",ordered:r.length>1}),i=!1,c=(a=a[0].match(this.rules.item)).length,u=0;u<c;u++)_=(l=a[u]).length,~(l=l.replace(/^ *([*+-]|\d+\.) +/,"")).indexOf("\n ")&&(_-=l.length,l=this.options.pedantic?l.replace(/^ {1,4}/gm,""):l.replace(new RegExp("^ {1,"+_+"}","gm"),"")),this.options.smartLists&&u!==c-1&&(r===(s=e.bullet.exec(a[u+1])[0])||r.length>1&&s.length>1||(t=a.slice(u+1).join("\n")+t,u=c-1)),o=i||/\n\n(?!\s*$)/.test(l),u!==c-1&&(i="\n"===l.charAt(l.length-1),o||(o=i)),this.tokens.push({type:o?"loose_item_start":"list_item_start"}),this.token(l,!1),this.tokens.push({type:"list_item_end"});this.tokens.push({type:"list_end"})}else if(a=this.rules.html.exec(t))t=t.substring(a[0].length),this.tokens.push({type:this.options.sanitize?"paragraph":"html",pre:!this.options.sanitizer&&("pre"===a[1]||"script"===a[1]||"style"===a[1]),text:a[0]});else if(n&&(a=this.rules.def.exec(t)))t=t.substring(a[0].length),a[3]&&(a[3]=a[3].substring(1,a[3].length-1)),d=a[1].toLowerCase(),this.tokens.links[d]||(this.tokens.links[d]={href:a[2],title:a[3]});else if(n&&(a=this.rules.table.exec(t))){for(t=t.substring(a[0].length),l={type:"table",header:a[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:a[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:a[3].replace(/(?: *\| *)?\n$/,"").split("\n")},u=0;u<l.align.length;u++)/^ *-+: *$/.test(l.align[u])?l.align[u]="right":/^ *:-+: *$/.test(l.align[u])?l.align[u]="center":/^ *:-+ *$/.test(l.align[u])?l.align[u]="left":l.align[u]=null;for(u=0;u<l.cells.length;u++)l.cells[u]=l.cells[u].replace(/^ *\| *| *\| *$/g,"").split(/ *\| */);this.tokens.push(l)}else if(a=this.rules.lheading.exec(t))t=t.substring(a[0].length),this.tokens.push({type:"heading",depth:"="===a[2]?1:2,text:a[1]});else if(n&&(a=this.rules.paragraph.exec(t)))t=t.substring(a[0].length),this.tokens.push({type:"paragraph",text:"\n"===a[1].charAt(a[1].length-1)?a[1].slice(0,-1):a[1]});else if(a=this.rules.text.exec(t))t=t.substring(a[0].length),this.tokens.push({type:"text",text:a[0]});else if(t)throw new Error("Infinite loop on byte: "+t.charCodeAt(0));return this.tokens};var n={escape:/^\\([\\`*{}\[\]()#+\-.!_>])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:h,tag:/^<!--[\s\S]*?-->|^<\/?[a-zA-Z0-9\-]+(?:"[^"]*"|'[^']*'|\s[^<'">\/]*)*?\/?>/,link:/^!?\[(inside)\]\(href\)/,reflink:/^!?\[(inside)\]\s*\[([^\]]*)\]/,nolink:/^!?\[((?:\[[^\]]*\]|\\[\[\]]|[^\[\]])*)\]/,strong:/^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,em:/^_([^\s_](?:[^_]|__)+?[^\s_])_\b|^\*((?:\*\*|[^*])+?)\*(?!\*)/,code:/^(`+)\s*([\s\S]*?[^`]?)\s*\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:h,text:/^[\s\S]+?(?=[\\<!\[`*]|\b_| {2,}\n|$)/};function i(e,t){if(this.options=t||p.defaults,this.links=e,this.rules=n.normal,this.renderer=this.options.renderer||new o,this.renderer.options=this.options,!this.links)throw new Error("Tokens array requires a `links` property.");this.options.gfm?this.options.breaks?this.rules=n.breaks:this.rules=n.gfm:this.options.pedantic&&(this.rules=n.pedantic)}function o(e){this.options=e||{}}function a(){}function r(e){this.tokens=[],this.token=null,this.options=e||p.defaults,this.options.renderer=this.options.renderer||new o,this.renderer=this.options.renderer,this.renderer.options=this.options}function s(e,t){return e.replace(t?/&/g:/&(?!#?\w+;)/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function l(e){return e.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,function(e,t){return"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""})}function _(e,t){return e=e.source,t=t||"",function n(i,o){return i?(o=(o=o.source||o).replace(/(^|[^\[])\^/g,"$1"),e=e.replace(i,o),n):new RegExp(e,t)}}function u(e,t){return d[" "+e]||(/^[^:]+:\/*[^/]*$/.test(e)?d[" "+e]=e+"/":d[" "+e]=e.replace(/[^/]*$/,"")),e=d[" "+e],"//"===t.slice(0,2)?e.replace(/:[\s\S]*/,":")+t:"/"===t.charAt(0)?e.replace(/(:\/*[^/]*)[\s\S]*/,"$1")+t:e+t}n._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,n._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,n.autolink=_(n.autolink)("scheme",n._scheme)("email",n._email)(),n._inside=/(?:\[[^\]]*\]|\\[\[\]]|[^\[\]]|\](?=[^\[]*\]))*/,n._href=/\s*<?([\s\S]*?)>?(?:\s+['"]([\s\S]*?)['"])?\s*/,n.link=_(n.link)("inside",n._inside)("href",n._href)(),n.reflink=_(n.reflink)("inside",n._inside)(),n.normal=m({},n),n.pedantic=m({},n.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),n.gfm=m({},n.normal,{escape:_(n.escape)("])","~|])")(),url:_(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/)("email",n._email)(),_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:_(n.text)("]|","~]|")("|","|https?://|ftp://|www\\.|[a-zA-Z0-9.!#$%&'*+/=?^_`{\\|}~-]+@|")()}),n.breaks=m({},n.gfm,{br:_(n.br)("{2,}","*")(),text:_(n.gfm.text)("{2,}","*")()}),i.rules=n,i.output=function(e,t,n){return new i(t,n).output(e)},i.prototype.output=function(e){for(var t,n,i,o,a="";e;)if(o=this.rules.escape.exec(e))e=e.substring(o[0].length),a+=o[1];else if(o=this.rules.autolink.exec(e))e=e.substring(o[0].length),i="@"===o[2]?"mailto:"+(n=s(this.mangle(o[1]))):n=s(o[1]),a+=this.renderer.link(i,null,n);else if(this.inLink||!(o=this.rules.url.exec(e))){if(o=this.rules.tag.exec(e))!this.inLink&&/^<a /i.test(o[0])?this.inLink=!0:this.inLink&&/^<\/a>/i.test(o[0])&&(this.inLink=!1),e=e.substring(o[0].length),a+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(o[0]):s(o[0]):o[0];else if(o=this.rules.link.exec(e))e=e.substring(o[0].length),this.inLink=!0,a+=this.outputLink(o,{href:o[2],title:o[3]}),this.inLink=!1;else if((o=this.rules.reflink.exec(e))||(o=this.rules.nolink.exec(e))){if(e=e.substring(o[0].length),t=(o[2]||o[1]).replace(/\s+/g," "),!(t=this.links[t.toLowerCase()])||!t.href){a+=o[0].charAt(0),e=o[0].substring(1)+e;continue}this.inLink=!0,a+=this.outputLink(o,t),this.inLink=!1}else if(o=this.rules.strong.exec(e))e=e.substring(o[0].length),a+=this.renderer.strong(this.output(o[2]||o[1]));else if(o=this.rules.em.exec(e))e=e.substring(o[0].length),a+=this.renderer.em(this.output(o[2]||o[1]));else if(o=this.rules.code.exec(e))e=e.substring(o[0].length),a+=this.renderer.codespan(s(o[2].trim(),!0));else if(o=this.rules.br.exec(e))e=e.substring(o[0].length),a+=this.renderer.br();else if(o=this.rules.del.exec(e))e=e.substring(o[0].length),a+=this.renderer.del(this.output(o[1]));else if(o=this.rules.text.exec(e))e=e.substring(o[0].length),a+=this.renderer.text(s(this.smartypants(o[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else o[0]=this.rules._backpedal.exec(o[0])[0],e=e.substring(o[0].length),"@"===o[2]?i="mailto:"+(n=s(o[0])):(n=s(o[0]),i="www."===o[1]?"http://"+n:n),a+=this.renderer.link(i,null,n);return a},i.prototype.outputLink=function(e,t){var n=s(t.href),i=t.title?s(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,i,this.output(e[1])):this.renderer.image(n,i,s(e[1]))},i.prototype.smartypants=function(e){return this.options.smartypants?e.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…"):e},i.prototype.mangle=function(e){if(!this.options.mangle)return e;for(var t,n="",i=e.length,o=0;o<i;o++)t=e.charCodeAt(o),Math.random()>.5&&(t="x"+t.toString(16)),n+="&#"+t+";";return n},o.prototype.code=function(e,t,n){if(this.options.highlight){var i=this.options.highlight(e,t);null!=i&&i!==e&&(n=!0,e=i)}return t?'<pre><code class="'+this.options.langPrefix+s(t,!0)+'">'+(n?e:s(e,!0))+"\n</code></pre>\n":"<pre><code>"+(n?e:s(e,!0))+"\n</code></pre>"},o.prototype.blockquote=function(e){return"<blockquote>\n"+e+"</blockquote>\n"},o.prototype.html=function(e){return e},o.prototype.heading=function(e,t,n){return"<h"+t+' id="'+this.options.headerPrefix+n.toLowerCase().replace(/[^\w]+/g,"-")+'">'+e+"</h"+t+">\n"},o.prototype.hr=function(){return this.options.xhtml?"<hr/>\n":"<hr>\n"},o.prototype.list=function(e,t){var n=t?"ol":"ul";return"<"+n+">\n"+e+"</"+n+">\n"},o.prototype.listitem=function(e){return"<li>"+e+"</li>\n"},o.prototype.paragraph=function(e){return"<p>"+e+"</p>\n"},o.prototype.table=function(e,t){return"<table>\n<thead>\n"+e+"</thead>\n<tbody>\n"+t+"</tbody>\n</table>\n"},o.prototype.tablerow=function(e){return"<tr>\n"+e+"</tr>\n"},o.prototype.tablecell=function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' style="text-align:'+t.align+'">':"<"+n+">")+e+"</"+n+">\n"},o.prototype.strong=function(e){return"<strong>"+e+"</strong>"},o.prototype.em=function(e){return"<em>"+e+"</em>"},o.prototype.codespan=function(e){return"<code>"+e+"</code>"},o.prototype.br=function(){return this.options.xhtml?"<br/>":"<br>"},o.prototype.del=function(e){return"<del>"+e+"</del>"},o.prototype.link=function(e,t,n){if(this.options.sanitize){try{var i=decodeURIComponent(l(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return n}if(0===i.indexOf("javascript:")||0===i.indexOf("vbscript:")||0===i.indexOf("data:"))return n}this.options.baseUrl&&!c.test(e)&&(e=u(this.options.baseUrl,e));var o='<a href="'+e+'"';return t&&(o+=' title="'+t+'"'),o+=">"+n+"</a>"},o.prototype.image=function(e,t,n){this.options.baseUrl&&!c.test(e)&&(e=u(this.options.baseUrl,e));var i='<img src="'+e+'" alt="'+n+'"';return t&&(i+=' title="'+t+'"'),i+=this.options.xhtml?"/>":">"},o.prototype.text=function(e){return e},a.prototype.strong=a.prototype.em=a.prototype.codespan=a.prototype.del=a.prototype.text=function(e){return e},a.prototype.link=a.prototype.image=function(e,t,n){return""+n},a.prototype.br=function(){return""},r.parse=function(e,t){return new r(t).parse(e)},r.prototype.parse=function(e){this.inline=new i(e.links,this.options),this.inlineText=new i(e.links,m({},this.options,{renderer:new a})),this.tokens=e.reverse();for(var t="";this.next();)t+=this.tok();return t},r.prototype.next=function(){return this.token=this.tokens.pop()},r.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},r.prototype.parseText=function(){for(var e=this.token.text;"text"===this.peek().type;)e+="\n"+this.next().text;return this.inline.output(e)},r.prototype.tok=function(){switch(this.token.type){case"space":return"";case"hr":return this.renderer.hr();case"heading":return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,l(this.inlineText.output(this.token.text)));case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var e,t,n,i,o="",a="";for(n="",e=0;e<this.token.header.length;e++)n+=this.renderer.tablecell(this.inline.output(this.token.header[e]),{header:!0,align:this.token.align[e]});for(o+=this.renderer.tablerow(n),e=0;e<this.token.cells.length;e++){for(t=this.token.cells[e],n="",i=0;i<t.length;i++)n+=this.renderer.tablecell(this.inline.output(t[i]),{header:!1,align:this.token.align[i]});a+=this.renderer.tablerow(n)}return this.renderer.table(o,a);case"blockquote_start":for(a="";"blockquote_end"!==this.next().type;)a+=this.tok();return this.renderer.blockquote(a);case"list_start":a="";for(var r=this.token.ordered;"list_end"!==this.next().type;)a+=this.tok();return this.renderer.list(a,r);case"list_item_start":for(a="";"list_item_end"!==this.next().type;)a+="text"===this.token.type?this.parseText():this.tok();return this.renderer.listitem(a);case"loose_item_start":for(a="";"list_item_end"!==this.next().type;)a+=this.tok();return this.renderer.listitem(a);case"html":var s=this.token.pre||this.options.pedantic?this.token.text:this.inline.output(this.token.text);return this.renderer.html(s);case"paragraph":return this.renderer.paragraph(this.inline.output(this.token.text));case"text":return this.renderer.paragraph(this.parseText())}};var d={},c=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function h(){}function m(e){for(var t,n,i=1;i<arguments.length;i++)for(n in t=arguments[i])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}function p(e,n,i){if(null==e)throw new Error("marked(): input parameter is undefined or null");if("string"!=typeof e)throw new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected");if(i||"function"==typeof n){i||(i=n,n=null);var o,a,l=(n=m({},p.defaults,n||{})).highlight,_=0;try{o=t.lex(e,n)}catch(e){return i(e)}a=o.length;var u=function(e){if(e)return n.highlight=l,i(e);var t;try{t=r.parse(o,n)}catch(t){e=t}return n.highlight=l,e?i(e):i(null,t)};if(!l||l.length<3)return u();if(delete n.highlight,!a)return u();for(;_<o.length;_++)!function(e){"code"!==e.type?--a||u():l(e.text,e.lang,function(t,n){return t?u(t):null==n||n===e.text?--a||u():(e.text=n,e.escaped=!0,void(--a||u()))})}(o[_])}else try{return n&&(n=m({},p.defaults,n)),r.parse(t.lex(e,n),n)}catch(e){if(e.message+="\nPlease report this to https://github.com/chjj/marked.",(n||p.defaults).silent)return"<p>An error occurred:</p><pre>"+s(e.message+"",!0)+"</pre>";throw e}}h.exec=h,p.options=p.setOptions=function(e){return m(p.defaults,e),p},p.defaults={gfm:!0,tables:!0,breaks:!1,pedantic:!1,sanitize:!1,sanitizer:null,mangle:!0,smartLists:!1,silent:!1,highlight:null,langPrefix:"lang-",smartypants:!1,headerPrefix:"",renderer:new o,xhtml:!1,baseUrl:null},p.Parser=r,p.parser=r.parse,p.Renderer=o,p.TextRenderer=a,p.Lexer=t,p.lexer=t.lex,p.InlineLexer=i,p.inlineLexer=i.output,p.parse=p,"undefined"!=typeof module&&"object"==typeof exports?module.exports=p:"function"==typeof define&&define.amd?define(function(){return p}):this.marked=p}.call(function(){return this||("undefined"!=typeof window?window:global)}()),function(e){if("function"==typeof define&&define.amd)define(["jquery"],e);else if("object"==typeof module&&module.exports){var t=require("jquery");module.exports=e(t)}else e(jQuery)}(function(e){if(void 0===e)throw new Error("jQuery.textcomplete requires jQuery");return function(e){"use strict";var t=1;e.fn.textcomplete=function(n,i){var o=Array.prototype.slice.call(arguments);return this.each(function(){var a=e(this),r=a.data("textComplete");if(r||(i||(i={}),i._oid=t++,r=new e.fn.textcomplete.Completer(this,i),a.data("textComplete",r)),"string"==typeof n){if(!r)return;o.shift(),r[n].apply(r,o),"destroy"===n&&a.removeData("textComplete")}else e.each(n,function(t){e.each(["header","footer","placement","maxCount"],function(e){var n;t[e]&&(r.option[e]=t[e],n=e+"as a strategy param is deprecated. Use option.",console.warn&&console.warn(n),delete t[e])})}),r.register(e.fn.textcomplete.Strategy.parse(n,{el:this,$el:a}))})}}(e),function(e){"use strict";function t(n,i){if(this.$el=e(n),this.id="textcomplete"+a++,this.strategies=[],this.views=[],this.option=e.extend({},t.defaults,i),!(this.$el.is("input[type=text]")||this.$el.is("input[type=search]")||this.$el.is("textarea")||n.isContentEditable||"true"==n.contentEditable))throw new Error("textcomplete must be called on a Textarea or a ContentEditable.");if(n===n.ownerDocument.activeElement)this.initialize();else{var o=this;this.$el.one("focus."+this.id,function(){o.initialize()}),this.option.adapter&&"CKEditor"!=this.option.adapter||"undefined"==typeof CKEDITOR||!this.$el.is("textarea")||CKEDITOR.on("instanceReady",function(t){-1==e.inArray(t.editor.id,r)&&(r.push(t.editor.id),t.editor.on("focus",function(n){o.$el=e(t.editor.editable().$),o.option.adapter||(o.option.adapter=e.fn.textcomplete.CKEditor),o.option.ckeditor_instance=t.editor,o.initialize()}))})}}var n,i,o,a=0,r=[];t.defaults={appendTo:"body",className:"",dropdownClassName:"dropdown-menu textcomplete-dropdown",maxCount:10,zIndex:"100",rightEdgeOffset:30},e.extend(t.prototype,{id:null,option:null,strategies:null,adapter:null,dropdown:null,$el:null,$iframe:null,initialize:function(){var t,n,i=this.$el.get(0);if(this.$el.prop("ownerDocument")!==document&&window.frames.length)for(var o=0;o<window.frames.length;o++)if(this.$el.prop("ownerDocument")===window.frames[o].document){this.$iframe=e(window.frames[o].frameElement);break}this.dropdown=new e.fn.textcomplete.Dropdown(i,this,this.option),this.option.adapter?t=this.option.adapter:(n=this.$el.is("textarea")||this.$el.is("input[type=text]")||this.$el.is("input[type=search]")?"number"==typeof i.selectionEnd?"Textarea":"IETextarea":"ContentEditable",t=e.fn.textcomplete[n]),this.adapter=new t(i,this,this.option)},destroy:function(){this.$el.off("."+this.id),this.adapter&&this.adapter.destroy(),this.dropdown&&this.dropdown.destroy(),this.$el=this.adapter=this.dropdown=null},deactivate:function(){this.dropdown&&this.dropdown.deactivate()},trigger:function(e,t){this.dropdown||this.initialize(),null!=e||(e=this.adapter.getTextFromHeadToCaret());var n=this._extractSearchQuery(e);if(n.length){var i=n[1];if(t&&this._term===i&&""!==i)return;this._term=i,this._search.apply(this,n)}else this._term=null,this.dropdown.deactivate()},fire:function(e){var t=Array.prototype.slice.call(arguments,1);return this.$el.trigger(e,t),this},register:function(e){Array.prototype.push.apply(this.strategies,e)},select:function(e,t,n){this._term=null,this.adapter.select(e,t,n),this.fire("change").fire("textComplete:select",e,t),this.adapter.focus()},_clearAtNext:!0,_term:null,_extractSearchQuery:function(t){for(var n=0;n<this.strategies.length;n++){var i=this.strategies[n],o=i.context(t);if(o||""===o){var a=e.isFunction(i.match)?i.match(t):i.match;s=o,"[object String]"===Object.prototype.toString.call(s)&&(t=o);var r=t.match(a);if(r)return[i,r[i.index],r]}}var s;return[]},_search:(n=function(e,t,n,i){var o=this;t.search(n,function(i,a){o.dropdown.shown||o.dropdown.activate(),o._clearAtNext&&(o.dropdown.clear(),o._clearAtNext=!1),o.dropdown.setPosition(o.adapter.getCaretPosition()),o.dropdown.render(o._zip(i,t,n)),a||(e(),o._clearAtNext=!0)},i)},function(){var e=Array.prototype.slice.call(arguments);if(i)o=e;else{i=!0;var t=this;e.unshift(function e(){if(o){var a=o;o=void 0,a.unshift(e),n.apply(t,a)}else i=!1}),n.apply(this,e)}}),_zip:function(t,n,i){return e.map(t,function(e){return{value:e,strategy:n,term:i}})}}),e.fn.textcomplete.Completer=t}(e),function(e){"use strict";function t(n,i,a){this.$el=t.createElement(a),this.completer=i,this.id=i.id+"dropdown",this._data=[],this.$inputEl=e(n),this.option=a,a.listPosition&&(this.setPosition=a.listPosition),a.height&&this.$el.height(a.height);var r=this;e.each(["maxCount","placement","footer","header","noResultsMessage","className"],function(e,t){null!=a[t]&&(r[t]=a[t])}),this._bindEvents(n),o[this.id]=this}var n=e(window),i=function(e,t){var n,i,o=t.strategy.idProperty;for(n=0;n<e.length;n++)if((i=e[n]).strategy===t.strategy)if(o){if(i.value[o]===t.value[o])return!0}else if(i.value===t.value)return!0;return!1},o={};e(document).on("click",function(t){var n=t.originalEvent&&t.originalEvent.keepTextCompleteDropdown;e.each(o,function(e,t){e!==n&&t.deactivate()})});var a={SKIP_DEFAULT:0,KEY_UP:1,KEY_DOWN:2,KEY_ENTER:3,KEY_PAGEUP:4,KEY_PAGEDOWN:5,KEY_ESCAPE:6};e.extend(t,{createElement:function(t){var n=t.appendTo;return n instanceof e||(n=e(n)),e("<ul></ul>").addClass(t.dropdownClassName).attr("id","textcomplete-dropdown-"+t._oid).css({display:"none",left:0,position:"absolute",zIndex:t.zIndex}).appendTo(n)}}),e.extend(t.prototype,{$el:null,$inputEl:null,completer:null,footer:null,header:null,id:null,maxCount:null,placement:"",shown:!1,data:[],className:"",destroy:function(){this.deactivate(),this.$el.off("."+this.id),this.$inputEl.off("."+this.id),this.clear(),this.$el.remove(),this.$el=this.$inputEl=this.completer=null,delete o[this.id]},render:function(t){var n=this._buildContents(t),i=e.map(t,function(e){return e.value});if(t.length){var o=t[0].strategy;o.id?this.$el.attr("data-strategy",o.id):this.$el.removeAttr("data-strategy"),this._renderHeader(i),this._renderFooter(i),n&&(this._renderContents(n),this._fitToBottom(),this._fitToRight(),this._activateIndexedItem()),this._setScroll()}else this.noResultsMessage?this._renderNoResultsMessage(i):this.shown&&this.deactivate()},setPosition:function(t){var i="absolute";return this.$inputEl.add(this.$inputEl.parents()).each(function(){return"absolute"!==e(this).css("position")&&("fixed"===e(this).css("position")?(t.top-=n.scrollTop(),t.left-=n.scrollLeft(),i="fixed",!1):void 0)}),this.$el.css(this._applyPlacement(t)),this.$el.css({position:i}),this},clear:function(){this.$el.html(""),this.data=[],this._index=0,this._$header=this._$footer=this._$noResultsMessage=null},activate:function(){return this.shown||(this.clear(),this.$el.show(),this.className&&this.$el.addClass(this.className),this.completer.fire("textComplete:show"),this.shown=!0),this},deactivate:function(){return this.shown&&(this.$el.hide(),this.className&&this.$el.removeClass(this.className),this.completer.fire("textComplete:hide"),this.shown=!1),this},isUp:function(e){return 38===e.keyCode||e.ctrlKey&&80===e.keyCode},isDown:function(e){return 40===e.keyCode||e.ctrlKey&&78===e.keyCode},isEnter:function(e){return!(e.ctrlKey||e.altKey||e.metaKey||e.shiftKey)&&(13===e.keyCode||9===e.keyCode||!0===this.option.completeOnSpace&&32===e.keyCode)},isPageup:function(e){return 33===e.keyCode},isPagedown:function(e){return 34===e.keyCode},isEscape:function(e){return 27===e.keyCode},_data:null,_index:null,_$header:null,_$noResultsMessage:null,_$footer:null,_bindEvents:function(){this.$el.on("mousedown."+this.id,".textcomplete-item",e.proxy(this._onClick,this)),this.$el.on("touchstart."+this.id,".textcomplete-item",e.proxy(this._onClick,this)),this.$el.on("mouseover."+this.id,".textcomplete-item",e.proxy(this._onMouseover,this)),this.$inputEl.on("keydown."+this.id,e.proxy(this._onKeydown,this))},_onClick:function(t){var n=e(t.target);t.preventDefault(),t.originalEvent.keepTextCompleteDropdown=this.id,n.hasClass("textcomplete-item")||(n=n.closest(".textcomplete-item"));var i=this.data[parseInt(n.data("index"),10)];this.completer.select(i.value,i.strategy,t);var o=this;setTimeout(function(){o.deactivate(),"touchstart"===t.type&&o.$inputEl.focus()},0)},_onMouseover:function(t){var n=e(t.target);t.preventDefault(),n.hasClass("textcomplete-item")||(n=n.closest(".textcomplete-item")),this._index=parseInt(n.data("index"),10),this._activateIndexedItem()},_onKeydown:function(t){var n;if(this.shown)switch(e.isFunction(this.option.onKeydown)&&(n=this.option.onKeydown(t,a)),null==n&&(n=this._defaultKeydown(t)),n){case a.KEY_UP:t.preventDefault(),this._up();break;case a.KEY_DOWN:t.preventDefault(),this._down();break;case a.KEY_ENTER:t.preventDefault(),this._enter(t);break;case a.KEY_PAGEUP:t.preventDefault(),this._pageup();break;case a.KEY_PAGEDOWN:t.preventDefault(),this._pagedown();break;case a.KEY_ESCAPE:t.preventDefault(),this.deactivate()}},_defaultKeydown:function(e){return this.isUp(e)?a.KEY_UP:this.isDown(e)?a.KEY_DOWN:this.isEnter(e)?a.KEY_ENTER:this.isPageup(e)?a.KEY_PAGEUP:this.isPagedown(e)?a.KEY_PAGEDOWN:this.isEscape(e)?a.KEY_ESCAPE:void 0},_up:function(){0===this._index?this._index=this.data.length-1:this._index-=1,this._activateIndexedItem(),this._setScroll()},_down:function(){this._index===this.data.length-1?this._index=0:this._index+=1,this._activateIndexedItem(),this._setScroll()},_enter:function(e){var t=this.data[parseInt(this._getActiveElement().data("index"),10)];this.completer.select(t.value,t.strategy,e),this.deactivate()},_pageup:function(){var t=0,n=this._getActiveElement().position().top-this.$el.innerHeight();this.$el.children().each(function(i){return e(this).position().top+e(this).outerHeight()>n?(t=i,!1):void 0}),this._index=t,this._activateIndexedItem(),this._setScroll()},_pagedown:function(){var t=this.data.length-1,n=this._getActiveElement().position().top+this.$el.innerHeight();this.$el.children().each(function(i){return e(this).position().top>n?(t=i,!1):void 0}),this._index=t,this._activateIndexedItem(),this._setScroll()},_activateIndexedItem:function(){this.$el.find(".textcomplete-item.active").removeClass("active"),this._getActiveElement().addClass("active")},_getActiveElement:function(){return this.$el.children(".textcomplete-item:nth("+this._index+")")},_setScroll:function(){var e=this._getActiveElement(),t=e.position().top,n=e.outerHeight(),i=this.$el.innerHeight(),o=this.$el.scrollTop();0===this._index||this._index==this.data.length-1||0>t?this.$el.scrollTop(t+o):t+n>i&&this.$el.scrollTop(t+n+o-i)},_buildContents:function(e){var t,n,o,a="";for(n=0;n<e.length&&this.data.length!==this.maxCount;n++)t=e[n],i(this.data,t)||(o=this.data.length,this.data.push(t),a+='<li class="textcomplete-item" data-index="'+o+'"><a>',a+=t.strategy.template(t.value,t.term),a+="</a></li>");return a},_renderHeader:function(t){if(this.header){this._$header||(this._$header=e('<li class="textcomplete-header"></li>').prependTo(this.$el));var n=e.isFunction(this.header)?this.header(t):this.header;this._$header.html(n)}},_renderFooter:function(t){if(this.footer){this._$footer||(this._$footer=e('<li class="textcomplete-footer"></li>').appendTo(this.$el));var n=e.isFunction(this.footer)?this.footer(t):this.footer;this._$footer.html(n)}},_renderNoResultsMessage:function(t){if(this.noResultsMessage){this._$noResultsMessage||(this._$noResultsMessage=e('<li class="textcomplete-no-results-message"></li>').appendTo(this.$el));var n=e.isFunction(this.noResultsMessage)?this.noResultsMessage(t):this.noResultsMessage;this._$noResultsMessage.html(n)}},_renderContents:function(e){this._$footer?this._$footer.before(e):this.$el.append(e)},_fitToBottom:function(){var e=n.scrollTop()+n.height(),t=this.$el.height();this.$el.position().top+t>e&&(this.completer.$iframe||this.$el.offset({top:e-t}))},_fitToRight:function(){for(var e,t=this.option.rightEdgeOffset,i=this.$el.offset().left,o=this.$el.width(),a=n.width()-t;i+o>a&&(this.$el.offset({left:i-t}),!((e=this.$el.offset().left)>=i));)i=e},_applyPlacement:function(e){return-1!==this.placement.indexOf("top")?e={top:"auto",bottom:this.$el.parent().height()-e.top+e.lineHeight,left:e.left}:(e.bottom="auto",delete e.lineHeight),-1!==this.placement.indexOf("absleft")?e.left=0:-1!==this.placement.indexOf("absright")&&(e.right=0,e.left="auto"),e}}),e.fn.textcomplete.Dropdown=t,e.extend(e.fn.textcomplete,a)}(e),function(e){"use strict";function t(t){e.extend(this,t),this.cache&&(this.search=n(this.search))}var n=function(e){var t={};return function(n,i){t[n]?i(t[n]):e.call(this,n,function(e){t[n]=(t[n]||[]).concat(e),i.apply(null,arguments)})}};t.parse=function(n,i){return e.map(n,function(e){var n=new t(e);return n.el=i.el,n.$el=i.$el,n})},e.extend(t.prototype,{match:null,replace:null,search:null,id:null,cache:!1,context:function(){return!0},index:2,template:function(e){return e},idProperty:null}),e.fn.textcomplete.Strategy=t}(e),function(e){"use strict";function t(){}var n=Date.now||function(){return(new Date).getTime()};e.extend(t.prototype,{id:null,completer:null,el:null,$el:null,option:null,initialize:function(t,i,o){var a,r,s,l,_,u,d,c;this.el=t,this.$el=e(t),this.id=i.id+this.constructor.name,this.completer=i,this.option=o,this.option.debounce&&(this._onKeyup=(a=this._onKeyup,r=this.option.debounce,c=function(){var e=n()-u;r>e?s=setTimeout(c,r-e):(s=null,d=a.apply(_,l),_=l=null)},function(){return _=this,l=arguments,u=n(),s||(s=setTimeout(c,r)),d})),this._bindEvents()},destroy:function(){this.$el.off("."+this.id),this.$el=this.el=this.completer=null},select:function(){throw new Error("Not implemented")},getCaretPosition:function(){var t=this._getCaretRelativePosition(),n=this.$el.offset(),i=this.option.appendTo;if(i){i instanceof e||(i=e(i));var o=i.offsetParent().offset();n.top-=o.top,n.left-=o.left}return t.top+=n.top,t.left+=n.left,t},focus:function(){this.$el.focus()},_bindEvents:function(){this.$el.on("keyup."+this.id,e.proxy(this._onKeyup,this))},_onKeyup:function(e){this._skipSearch(e)||this.completer.trigger(this.getTextFromHeadToCaret(),!0)},_skipSearch:function(e){switch(e.keyCode){case 9:case 13:case 16:case 17:case 18:case 33:case 34:case 40:case 38:case 27:return!0}if(e.ctrlKey)switch(e.keyCode){case 78:case 80:return!0}}}),e.fn.textcomplete.Adapter=t}(e),function(e){"use strict";function t(e,t,n){this.initialize(e,t,n)}e.extend(t.prototype,e.fn.textcomplete.Adapter.prototype,{select:function(t,n,i){var o,a=this.getTextFromHeadToCaret(),r=this.el.value.substring(this.el.selectionEnd),s=n.replace(t,i);void 0!==s&&(e.isArray(s)&&(r=s[1]+r,s=s[0]),o=e.isFunction(n.match)?n.match(a):n.match,a=a.replace(o,s),this.$el.val(a+r),this.el.selectionStart=this.el.selectionEnd=a.length)},getTextFromHeadToCaret:function(){return this.el.value.substring(0,this.el.selectionEnd)},_getCaretRelativePosition:function(){var t=e.fn.textcomplete.getCaretCoordinates(this.el,this.el.selectionStart);return{top:t.top+this._calculateLineHeight()-this.$el.scrollTop(),left:t.left-this.$el.scrollLeft(),lineHeight:this._calculateLineHeight()}},_calculateLineHeight:function(){var e=parseInt(this.$el.css("line-height"),10);if(isNaN(e)){var t=this.el.parentNode,n=document.createElement(this.el.nodeName),i=this.el.style;n.setAttribute("style","margin:0px;padding:0px;font-family:"+i.fontFamily+";font-size:"+i.fontSize),n.innerHTML="test",t.appendChild(n),e=n.clientHeight,t.removeChild(n)}return e}}),e.fn.textcomplete.Textarea=t}(e),function(e){"use strict";function t(t,i,o){this.initialize(t,i,o),e("<span>"+n+"</span>").css({position:"absolute",top:-9999,left:-9999}).insertBefore(t)}var n="吶";e.extend(t.prototype,e.fn.textcomplete.Textarea.prototype,{select:function(t,n,i){var o,a=this.getTextFromHeadToCaret(),r=this.el.value.substring(a.length),s=n.replace(t,i);if(void 0!==s){e.isArray(s)&&(r=s[1]+r,s=s[0]),o=e.isFunction(n.match)?n.match(a):n.match,a=a.replace(o,s),this.$el.val(a+r),this.el.focus();var l=this.el.createTextRange();l.collapse(!0),l.moveEnd("character",a.length),l.moveStart("character",a.length),l.select()}},getTextFromHeadToCaret:function(){this.el.focus();var e=document.selection.createRange();e.moveStart("character",-this.el.value.length);var t=e.text.split(n);return 1===t.length?t[0]:t[1]}}),e.fn.textcomplete.IETextarea=t}(e),function(e){"use strict";function t(e,t,n){this.initialize(e,t,n)}e.extend(t.prototype,e.fn.textcomplete.Adapter.prototype,{select:function(t,n,i){var o=this.getTextFromHeadToCaret(),a=this.el.ownerDocument.getSelection(),r=a.getRangeAt(0),s=r.cloneRange();s.selectNodeContents(r.startContainer);var l,_=s.toString().substring(r.startOffset),u=n.replace(t,i);if(void 0!==u){e.isArray(u)&&(_=u[1]+_,u=u[0]),l=e.isFunction(n.match)?n.match(o):n.match,o=o.replace(l,u).replace(/ $/,"&nbsp"),r.selectNodeContents(r.startContainer),r.deleteContents();var d=this.el.ownerDocument.createElement("div");d.innerHTML=o;var c=this.el.ownerDocument.createElement("div");c.innerHTML=_;for(var h,m,p=this.el.ownerDocument.createDocumentFragment();h=d.firstChild;)m=p.appendChild(h);for(;h=c.firstChild;)p.appendChild(h);r.insertNode(p),r.setStartAfter(m),r.collapse(!0),a.removeAllRanges(),a.addRange(r)}},_getCaretRelativePosition:function(){var t=this.el.ownerDocument.getSelection().getRangeAt(0).cloneRange(),n=t.endContainer.parentNode,i=this.el.ownerDocument.createElement("span");t.insertNode(i),t.selectNodeContents(i),t.deleteContents(),setTimeout(function(){n.normalize()},0);var o=e(i),a=o.offset();if(a.left-=this.$el.offset().left,a.top+=o.height()-this.$el.offset().top,a.lineHeight=o.height(),this.completer.$iframe){var r=this.completer.$iframe.offset();a.top+=r.top,a.left+=r.left,a.top-=e(this.completer.$iframe[0].contentWindow.document).scrollTop()}return o.remove(),a},getTextFromHeadToCaret:function(){var e=this.el.ownerDocument.getSelection().getRangeAt(0),t=e.cloneRange();return t.selectNodeContents(e.startContainer),t.toString().substring(0,e.startOffset)}}),e.fn.textcomplete.ContentEditable=t}(e),function(e){"use strict";function t(e,t,n){this.initialize(e,t,n)}e.extend(t.prototype,e.fn.textcomplete.ContentEditable.prototype,{_bindEvents:function(){var t=this;this.option.ckeditor_instance.on("key",function(e){var n=e.data;return t._onKeyup(n),(!t.completer.dropdown.shown||!t._skipSearch(n))&&void 0},null,null,1),this.$el.on("keyup."+this.id,e.proxy(this._onKeyup,this))}}),e.fn.textcomplete.CKEditor=t}(e),function(e){var t=["direction","boxSizing","width","height","overflowX","overflowY","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderStyle","paddingTop","paddingRight","paddingBottom","paddingLeft","fontStyle","fontVariant","fontWeight","fontStretch","fontSize","fontSizeAdjust","lineHeight","fontFamily","textAlign","textTransform","textIndent","textDecoration","letterSpacing","wordSpacing","tabSize","MozTabSize"],n="undefined"!=typeof window,i=n&&null!=window.mozInnerScreenX;e.fn.textcomplete.getCaretCoordinates=function(e,o,a){if(!n)throw new Error("textarea-caret-position#getCaretCoordinates should only be called in a browser");var r=a&&a.debug||!1;if(r){var s=document.querySelector("#input-textarea-caret-position-mirror-div");s&&s.parentNode.removeChild(s)}var l=document.createElement("div");l.id="input-textarea-caret-position-mirror-div",document.body.appendChild(l);var _=l.style,u=window.getComputedStyle?getComputedStyle(e):e.currentStyle;_.whiteSpace="pre-wrap","INPUT"!==e.nodeName&&(_.wordWrap="break-word"),_.position="absolute",r||(_.visibility="hidden"),t.forEach(function(e){_[e]=u[e]}),i?e.scrollHeight>parseInt(u.height)&&(_.overflowY="scroll"):_.overflow="hidden",l.textContent=e.value.substring(0,o),"INPUT"===e.nodeName&&(l.textContent=l.textContent.replace(/\s/g," "));var d=document.createElement("span");d.textContent=e.value.substring(o)||".",l.appendChild(d);var c={top:d.offsetTop+parseInt(u.borderTopWidth),left:d.offsetLeft+parseInt(u.borderLeftWidth)};return r?d.style.backgroundColor="#aaa":document.body.removeChild(l),c}}(e),e}),marked.setOptions({gfm:!0,tables:!0,breaks:!0,pedantic:!1,sanitize:!0,smartLists:!0,smartypants:!1}),$(".flaskbb-editor").markdown({iconlibrary:"fa",additionalButtons:[[{name:"groupHelp",data:[{name:"cmdHelp",toggle:!1,title:"Help",icon:"fa fa-question",btnClass:"btn btn-success",callback:function(e){$("#editor-help").modal("show")}}]}]],onPreview:function(e){return parse_emoji(e.getContent())}}),$(".flaskbb-editor").textcomplete([{match:/\B:([\-+\w]*)$/,search:function(e,t){t($.map(emojies,function(t){return-1!==t[0].indexOf(e)?{character:t[1],name:t[0]}:null}))},template:function(e){return parse_emoji(e.character)+" "+e.name},replace:function(e){return e.character+" "},index:1}],{onKeydown:function(e,t){if(e.ctrlKey&&74===e.keyCode)return t.KEY_ENTER}});var emojies=[["grinning_face","😀"],["beaming_face_with_smiling_eyes","😁"],["face_with_tears_of_joy","😂"],["rolling_on_the_floor_laughing","🤣"],["grinning_face_with_big_eyes","😃"],["grinning_face_with_smiling_eyes","😄"],["grinning_face_with_sweat","😅"],["grinning_squinting_face","😆"],["winking_face","😉"],["smiling_face_with_smiling_eyes","😊"],["face_savoring_food","😋"],["smiling_face_with_sunglasses","😎"],["smiling_face_with_heart-eyes","😍"],["face_blowing_a_kiss","😘"],["kissing_face","😗"],["kissing_face_with_smiling_eyes","😙"],["kissing_face_with_closed_eyes","😚"],["smiling_face","☺️"],["slightly_smiling_face","🙂"],["hugging_face","🤗"],["star-struck","🤩"],["thinking_face","🤔"],["face_with_raised_eyebrow","🤨"],["neutral_face","😐"],["expressionless_face","😑"],["face_without_mouth","😶"],["face_with_rolling_eyes","🙄"],["smirking_face","😏"],["persevering_face","😣"],["sad_but_relieved_face","😥"],["face_with_open_mouth","😮"],["zipper-mouth_face","🤐"],["hushed_face","😯"],["sleepy_face","😪"],["tired_face","😫"],["sleeping_face","😴"],["relieved_face","😌"],["face_with_tongue","😛"],["winking_face_with_tongue","😜"],["squinting_face_with_tongue","😝"],["drooling_face","🤤"],["unamused_face","😒"],["downcast_face_with_sweat","😓"],["pensive_face","😔"],["confused_face","😕"],["upside-down_face","🙃"],["money-mouth_face","🤑"],["astonished_face","😲"],["frowning_face","☹️"],["slightly_frowning_face","🙁"],["confounded_face","😖"],["disappointed_face","😞"],["worried_face","😟"],["face_with_steam_from_nose","😤"],["crying_face","😢"],["loudly_crying_face","😭"],["frowning_face_with_open_mouth","😦"],["anguished_face","😧"],["fearful_face","😨"],["weary_face","😩"],["exploding_head","🤯"],["grimacing_face","😬"],["anxious_face_with_sweat","😰"],["face_screaming_in_fear","😱"],["flushed_face","😳"],["crazy_face","🤪"],["dizzy_face","😵"],["pouting_face","😡"],["angry_face","😠"],["face_with_symbols_on_mouth","🤬"],["face_with_medical_mask","😷"],["face_with_thermometer","🤒"],["face_with_head-bandage","🤕"],["nauseated_face","🤢"],["face_vomiting","🤮"],["sneezing_face","🤧"],["smiling_face_with_halo","😇"],["cowboy_hat_face","🤠"],["clown_face","🤡"],["lying_face","🤥"],["shushing_face","🤫"],["face_with_hand_over_mouth","🤭"],["face_with_monocle","🧐"],["nerd_face","🤓"],["smiling_face_with_horns","😈"],["angry_face_with_horns","👿"],["ogre","👹"],["goblin","👺"],["skull","💀"],["skull_and_crossbones","☠️"],["ghost","👻"],["alien","👽"],["alien_monster","👾"],["robot_face","🤖"],["pile_of_poo","💩"],["grinning_cat_face","😺"],["grinning_cat_face_with_smiling_eyes","😸"],["cat_face_with_tears_of_joy","😹"],["smiling_cat_face_with_heart-eyes","😻"],["cat_face_with_wry_smile","😼"],["kissing_cat_face","😽"],["weary_cat_face","🙀"],["crying_cat_face","😿"],["pouting_cat_face","😾"],["see-no-evil_monkey","🙈"],["hear-no-evil_monkey","🙉"],["speak-no-evil_monkey","🙊"],["baby","👶"],["baby_light_skin_tone","👶🏻"],["baby_medium-light_skin_tone","👶🏼"],["baby_medium_skin_tone","👶🏽"],["baby_medium-dark_skin_tone","👶🏾"],["baby_dark_skin_tone","👶🏿"],["child","🧒"],["child_light_skin_tone","🧒🏻"],["child_medium-light_skin_tone","🧒🏼"],["child_medium_skin_tone","🧒🏽"],["child_medium-dark_skin_tone","🧒🏾"],["child_dark_skin_tone","🧒🏿"],["boy","👦"],["boy_light_skin_tone","👦🏻"],["boy_medium-light_skin_tone","👦🏼"],["boy_medium_skin_tone","👦🏽"],["boy_medium-dark_skin_tone","👦🏾"],["boy_dark_skin_tone","👦🏿"],["girl","👧"],["girl_light_skin_tone","👧🏻"],["girl_medium-light_skin_tone","👧🏼"],["girl_medium_skin_tone","👧🏽"],["girl_medium-dark_skin_tone","👧🏾"],["girl_dark_skin_tone","👧🏿"],["adult","🧑"],["adult_light_skin_tone","🧑🏻"],["adult_medium-light_skin_tone","🧑🏼"],["adult_medium_skin_tone","🧑🏽"],["adult_medium-dark_skin_tone","🧑🏾"],["adult_dark_skin_tone","🧑🏿"],["man","👨"],["man_light_skin_tone","👨🏻"],["man_medium-light_skin_tone","👨🏼"],["man_medium_skin_tone","👨🏽"],["man_medium-dark_skin_tone","👨🏾"],["man_dark_skin_tone","👨🏿"],["woman","👩"],["woman_light_skin_tone","👩🏻"],["woman_medium-light_skin_tone","👩🏼"],["woman_medium_skin_tone","👩🏽"],["woman_medium-dark_skin_tone","👩🏾"],["woman_dark_skin_tone","👩🏿"],["older_adult","🧓"],["older_adult_light_skin_tone","🧓🏻"],["older_adult_medium-light_skin_tone","🧓🏼"],["older_adult_medium_skin_tone","🧓🏽"],["older_adult_medium-dark_skin_tone","🧓🏾"],["older_adult_dark_skin_tone","🧓🏿"],["old_man","👴"],["old_man_light_skin_tone","👴🏻"],["old_man_medium-light_skin_tone","👴🏼"],["old_man_medium_skin_tone","👴🏽"],["old_man_medium-dark_skin_tone","👴🏾"],["old_man_dark_skin_tone","👴🏿"],["old_woman","👵"],["old_woman_light_skin_tone","👵🏻"],["old_woman_medium-light_skin_tone","👵🏼"],["old_woman_medium_skin_tone","👵🏽"],["old_woman_medium-dark_skin_tone","👵🏾"],["old_woman_dark_skin_tone","👵🏿"],["man_health_worker","👨‍⚕️"],["man_health_worker_light_skin_tone","👨🏻‍⚕️"],["man_health_worker_medium-light_skin_tone","👨🏼‍⚕️"],["man_health_worker_medium_skin_tone","👨🏽‍⚕️"],["man_health_worker_medium-dark_skin_tone","👨🏾‍⚕️"],["man_health_worker_dark_skin_tone","👨🏿‍⚕️"],["woman_health_worker","👩‍⚕️"],["woman_health_worker_light_skin_tone","👩🏻‍⚕️"],["woman_health_worker_medium-light_skin_tone","👩🏼‍⚕️"],["woman_health_worker_medium_skin_tone","👩🏽‍⚕️"],["woman_health_worker_medium-dark_skin_tone","👩🏾‍⚕️"],["woman_health_worker_dark_skin_tone","👩🏿‍⚕️"],["man_student","👨‍🎓"],["man_student_light_skin_tone","👨🏻‍🎓"],["man_student_medium-light_skin_tone","👨🏼‍🎓"],["man_student_medium_skin_tone","👨🏽‍🎓"],["man_student_medium-dark_skin_tone","👨🏾‍🎓"],["man_student_dark_skin_tone","👨🏿‍🎓"],["woman_student","👩‍🎓"],["woman_student_light_skin_tone","👩🏻‍🎓"],["woman_student_medium-light_skin_tone","👩🏼‍🎓"],["woman_student_medium_skin_tone","👩🏽‍🎓"],["woman_student_medium-dark_skin_tone","👩🏾‍🎓"],["woman_student_dark_skin_tone","👩🏿‍🎓"],["man_teacher","👨‍🏫"],["man_teacher_light_skin_tone","👨🏻‍🏫"],["man_teacher_medium-light_skin_tone","👨🏼‍🏫"],["man_teacher_medium_skin_tone","👨🏽‍🏫"],["man_teacher_medium-dark_skin_tone","👨🏾‍🏫"],["man_teacher_dark_skin_tone","👨🏿‍🏫"],["woman_teacher","👩‍🏫"],["woman_teacher_light_skin_tone","👩🏻‍🏫"],["woman_teacher_medium-light_skin_tone","👩🏼‍🏫"],["woman_teacher_medium_skin_tone","👩🏽‍🏫"],["woman_teacher_medium-dark_skin_tone","👩🏾‍🏫"],["woman_teacher_dark_skin_tone","👩🏿‍🏫"],["man_judge","👨‍⚖️"],["man_judge_light_skin_tone","👨🏻‍⚖️"],["man_judge_medium-light_skin_tone","👨🏼‍⚖️"],["man_judge_medium_skin_tone","👨🏽‍⚖️"],["man_judge_medium-dark_skin_tone","👨🏾‍⚖️"],["man_judge_dark_skin_tone","👨🏿‍⚖️"],["woman_judge","👩‍⚖️"],["woman_judge_light_skin_tone","👩🏻‍⚖️"],["woman_judge_medium-light_skin_tone","👩🏼‍⚖️"],["woman_judge_medium_skin_tone","👩🏽‍⚖️"],["woman_judge_medium-dark_skin_tone","👩🏾‍⚖️"],["woman_judge_dark_skin_tone","👩🏿‍⚖️"],["man_farmer","👨‍🌾"],["man_farmer_light_skin_tone","👨🏻‍🌾"],["man_farmer_medium-light_skin_tone","👨🏼‍🌾"],["man_farmer_medium_skin_tone","👨🏽‍🌾"],["man_farmer_medium-dark_skin_tone","👨🏾‍🌾"],["man_farmer_dark_skin_tone","👨🏿‍🌾"],["woman_farmer","👩‍🌾"],["woman_farmer_light_skin_tone","👩🏻‍🌾"],["woman_farmer_medium-light_skin_tone","👩🏼‍🌾"],["woman_farmer_medium_skin_tone","👩🏽‍🌾"],["woman_farmer_medium-dark_skin_tone","👩🏾‍🌾"],["woman_farmer_dark_skin_tone","👩🏿‍🌾"],["man_cook","👨‍🍳"],["man_cook_light_skin_tone","👨🏻‍🍳"],["man_cook_medium-light_skin_tone","👨🏼‍🍳"],["man_cook_medium_skin_tone","👨🏽‍🍳"],["man_cook_medium-dark_skin_tone","👨🏾‍🍳"],["man_cook_dark_skin_tone","👨🏿‍🍳"],["woman_cook","👩‍🍳"],["woman_cook_light_skin_tone","👩🏻‍🍳"],["woman_cook_medium-light_skin_tone","👩🏼‍🍳"],["woman_cook_medium_skin_tone","👩🏽‍🍳"],["woman_cook_medium-dark_skin_tone","👩🏾‍🍳"],["woman_cook_dark_skin_tone","👩🏿‍🍳"],["man_mechanic","👨‍🔧"],["man_mechanic_light_skin_tone","👨🏻‍🔧"],["man_mechanic_medium-light_skin_tone","👨🏼‍🔧"],["man_mechanic_medium_skin_tone","👨🏽‍🔧"],["man_mechanic_medium-dark_skin_tone","👨🏾‍🔧"],["man_mechanic_dark_skin_tone","👨🏿‍🔧"],["woman_mechanic","👩‍🔧"],["woman_mechanic_light_skin_tone","👩🏻‍🔧"],["woman_mechanic_medium-light_skin_tone","👩🏼‍🔧"],["woman_mechanic_medium_skin_tone","👩🏽‍🔧"],["woman_mechanic_medium-dark_skin_tone","👩🏾‍🔧"],["woman_mechanic_dark_skin_tone","👩🏿‍🔧"],["man_factory_worker","👨‍🏭"],["man_factory_worker_light_skin_tone","👨🏻‍🏭"],["man_factory_worker_medium-light_skin_tone","👨🏼‍🏭"],["man_factory_worker_medium_skin_tone","👨🏽‍🏭"],["man_factory_worker_medium-dark_skin_tone","👨🏾‍🏭"],["man_factory_worker_dark_skin_tone","👨🏿‍🏭"],["woman_factory_worker","👩‍🏭"],["woman_factory_worker_light_skin_tone","👩🏻‍🏭"],["woman_factory_worker_medium-light_skin_tone","👩🏼‍🏭"],["woman_factory_worker_medium_skin_tone","👩🏽‍🏭"],["woman_factory_worker_medium-dark_skin_tone","👩🏾‍🏭"],["woman_factory_worker_dark_skin_tone","👩🏿‍🏭"],["man_office_worker","👨‍💼"],["man_office_worker_light_skin_tone","👨🏻‍💼"],["man_office_worker_medium-light_skin_tone","👨🏼‍💼"],["man_office_worker_medium_skin_tone","👨🏽‍💼"],["man_office_worker_medium-dark_skin_tone","👨🏾‍💼"],["man_office_worker_dark_skin_tone","👨🏿‍💼"],["woman_office_worker","👩‍💼"],["woman_office_worker_light_skin_tone","👩🏻‍💼"],["woman_office_worker_medium-light_skin_tone","👩🏼‍💼"],["woman_office_worker_medium_skin_tone","👩🏽‍💼"],["woman_office_worker_medium-dark_skin_tone","👩🏾‍💼"],["woman_office_worker_dark_skin_tone","👩🏿‍💼"],["man_scientist","👨‍🔬"],["man_scientist_light_skin_tone","👨🏻‍🔬"],["man_scientist_medium-light_skin_tone","👨🏼‍🔬"],["man_scientist_medium_skin_tone","👨🏽‍🔬"],["man_scientist_medium-dark_skin_tone","👨🏾‍🔬"],["man_scientist_dark_skin_tone","👨🏿‍🔬"],["woman_scientist","👩‍🔬"],["woman_scientist_light_skin_tone","👩🏻‍🔬"],["woman_scientist_medium-light_skin_tone","👩🏼‍🔬"],["woman_scientist_medium_skin_tone","👩🏽‍🔬"],["woman_scientist_medium-dark_skin_tone","👩🏾‍🔬"],["woman_scientist_dark_skin_tone","👩🏿‍🔬"],["man_technologist","👨‍💻"],["man_technologist_light_skin_tone","👨🏻‍💻"],["man_technologist_medium-light_skin_tone","👨🏼‍💻"],["man_technologist_medium_skin_tone","👨🏽‍💻"],["man_technologist_medium-dark_skin_tone","👨🏾‍💻"],["man_technologist_dark_skin_tone","👨🏿‍💻"],["woman_technologist","👩‍💻"],["woman_technologist_light_skin_tone","👩🏻‍💻"],["woman_technologist_medium-light_skin_tone","👩🏼‍💻"],["woman_technologist_medium_skin_tone","👩🏽‍💻"],["woman_technologist_medium-dark_skin_tone","👩🏾‍💻"],["woman_technologist_dark_skin_tone","👩🏿‍💻"],["man_singer","👨‍🎤"],["man_singer_light_skin_tone","👨🏻‍🎤"],["man_singer_medium-light_skin_tone","👨🏼‍🎤"],["man_singer_medium_skin_tone","👨🏽‍🎤"],["man_singer_medium-dark_skin_tone","👨🏾‍🎤"],["man_singer_dark_skin_tone","👨🏿‍🎤"],["woman_singer","👩‍🎤"],["woman_singer_light_skin_tone","👩🏻‍🎤"],["woman_singer_medium-light_skin_tone","👩🏼‍🎤"],["woman_singer_medium_skin_tone","👩🏽‍🎤"],["woman_singer_medium-dark_skin_tone","👩🏾‍🎤"],["woman_singer_dark_skin_tone","👩🏿‍🎤"],["man_artist","👨‍🎨"],["man_artist_light_skin_tone","👨🏻‍🎨"],["man_artist_medium-light_skin_tone","👨🏼‍🎨"],["man_artist_medium_skin_tone","👨🏽‍🎨"],["man_artist_medium-dark_skin_tone","👨🏾‍🎨"],["man_artist_dark_skin_tone","👨🏿‍🎨"],["woman_artist","👩‍🎨"],["woman_artist_light_skin_tone","👩🏻‍🎨"],["woman_artist_medium-light_skin_tone","👩🏼‍🎨"],["woman_artist_medium_skin_tone","👩🏽‍🎨"],["woman_artist_medium-dark_skin_tone","👩🏾‍🎨"],["woman_artist_dark_skin_tone","👩🏿‍🎨"],["man_pilot","👨‍✈️"],["man_pilot_light_skin_tone","👨🏻‍✈️"],["man_pilot_medium-light_skin_tone","👨🏼‍✈️"],["man_pilot_medium_skin_tone","👨🏽‍✈️"],["man_pilot_medium-dark_skin_tone","👨🏾‍✈️"],["man_pilot_dark_skin_tone","👨🏿‍✈️"],["woman_pilot","👩‍✈️"],["woman_pilot_light_skin_tone","👩🏻‍✈️"],["woman_pilot_medium-light_skin_tone","👩🏼‍✈️"],["woman_pilot_medium_skin_tone","👩🏽‍✈️"],["woman_pilot_medium-dark_skin_tone","👩🏾‍✈️"],["woman_pilot_dark_skin_tone","👩🏿‍✈️"],["man_astronaut","👨‍🚀"],["man_astronaut_light_skin_tone","👨🏻‍🚀"],["man_astronaut_medium-light_skin_tone","👨🏼‍🚀"],["man_astronaut_medium_skin_tone","👨🏽‍🚀"],["man_astronaut_medium-dark_skin_tone","👨🏾‍🚀"],["man_astronaut_dark_skin_tone","👨🏿‍🚀"],["woman_astronaut","👩‍🚀"],["woman_astronaut_light_skin_tone","👩🏻‍🚀"],["woman_astronaut_medium-light_skin_tone","👩🏼‍🚀"],["woman_astronaut_medium_skin_tone","👩🏽‍🚀"],["woman_astronaut_medium-dark_skin_tone","👩🏾‍🚀"],["woman_astronaut_dark_skin_tone","👩🏿‍🚀"],["man_firefighter","👨‍🚒"],["man_firefighter_light_skin_tone","👨🏻‍🚒"],["man_firefighter_medium-light_skin_tone","👨🏼‍🚒"],["man_firefighter_medium_skin_tone","👨🏽‍🚒"],["man_firefighter_medium-dark_skin_tone","👨🏾‍🚒"],["man_firefighter_dark_skin_tone","👨🏿‍🚒"],["woman_firefighter","👩‍🚒"],["woman_firefighter_light_skin_tone","👩🏻‍🚒"],["woman_firefighter_medium-light_skin_tone","👩🏼‍🚒"],["woman_firefighter_medium_skin_tone","👩🏽‍🚒"],["woman_firefighter_medium-dark_skin_tone","👩🏾‍🚒"],["woman_firefighter_dark_skin_tone","👩🏿‍🚒"],["police_officer","👮"],["police_officer_light_skin_tone","👮🏻"],["police_officer_medium-light_skin_tone","👮🏼"],["police_officer_medium_skin_tone","👮🏽"],["police_officer_medium-dark_skin_tone","👮🏾"],["police_officer_dark_skin_tone","👮🏿"],["man_police_officer","👮‍♂️"],["man_police_officer_light_skin_tone","👮🏻‍♂️"],["man_police_officer_medium-light_skin_tone","👮🏼‍♂️"],["man_police_officer_medium_skin_tone","👮🏽‍♂️"],["man_police_officer_medium-dark_skin_tone","👮🏾‍♂️"],["man_police_officer_dark_skin_tone","👮🏿‍♂️"],["woman_police_officer","👮‍♀️"],["woman_police_officer_light_skin_tone","👮🏻‍♀️"],["woman_police_officer_medium-light_skin_tone","👮🏼‍♀️"],["woman_police_officer_medium_skin_tone","👮🏽‍♀️"],["woman_police_officer_medium-dark_skin_tone","👮🏾‍♀️"],["woman_police_officer_dark_skin_tone","👮🏿‍♀️"],["detective","🕵️"],["detective_light_skin_tone","🕵🏻"],["detective_medium-light_skin_tone","🕵🏼"],["detective_medium_skin_tone","🕵🏽"],["detective_medium-dark_skin_tone","🕵🏾"],["detective_dark_skin_tone","🕵🏿"],["man_detective","🕵️‍♂️"],["man_detective_light_skin_tone","🕵🏻‍♂️"],["man_detective_medium-light_skin_tone","🕵🏼‍♂️"],["man_detective_medium_skin_tone","🕵🏽‍♂️"],["man_detective_medium-dark_skin_tone","🕵🏾‍♂️"],["man_detective_dark_skin_tone","🕵🏿‍♂️"],["woman_detective","🕵️‍♀️"],["woman_detective_light_skin_tone","🕵🏻‍♀️"],["woman_detective_medium-light_skin_tone","🕵🏼‍♀️"],["woman_detective_medium_skin_tone","🕵🏽‍♀️"],["woman_detective_medium-dark_skin_tone","🕵🏾‍♀️"],["woman_detective_dark_skin_tone","🕵🏿‍♀️"],["guard","💂"],["guard_light_skin_tone","💂🏻"],["guard_medium-light_skin_tone","💂🏼"],["guard_medium_skin_tone","💂🏽"],["guard_medium-dark_skin_tone","💂🏾"],["guard_dark_skin_tone","💂🏿"],["man_guard","💂‍♂️"],["man_guard_light_skin_tone","💂🏻‍♂️"],["man_guard_medium-light_skin_tone","💂🏼‍♂️"],["man_guard_medium_skin_tone","💂🏽‍♂️"],["man_guard_medium-dark_skin_tone","💂🏾‍♂️"],["man_guard_dark_skin_tone","💂🏿‍♂️"],["woman_guard","💂‍♀️"],["woman_guard_light_skin_tone","💂🏻‍♀️"],["woman_guard_medium-light_skin_tone","💂🏼‍♀️"],["woman_guard_medium_skin_tone","💂🏽‍♀️"],["woman_guard_medium-dark_skin_tone","💂🏾‍♀️"],["woman_guard_dark_skin_tone","💂🏿‍♀️"],["construction_worker","👷"],["construction_worker_light_skin_tone","👷🏻"],["construction_worker_medium-light_skin_tone","👷🏼"],["construction_worker_medium_skin_tone","👷🏽"],["construction_worker_medium-dark_skin_tone","👷🏾"],["construction_worker_dark_skin_tone","👷🏿"],["man_construction_worker","👷‍♂️"],["man_construction_worker_light_skin_tone","👷🏻‍♂️"],["man_construction_worker_medium-light_skin_tone","👷🏼‍♂️"],["man_construction_worker_medium_skin_tone","👷🏽‍♂️"],["man_construction_worker_medium-dark_skin_tone","👷🏾‍♂️"],["man_construction_worker_dark_skin_tone","👷🏿‍♂️"],["woman_construction_worker","👷‍♀️"],["woman_construction_worker_light_skin_tone","👷🏻‍♀️"],["woman_construction_worker_medium-light_skin_tone","👷🏼‍♀️"],["woman_construction_worker_medium_skin_tone","👷🏽‍♀️"],["woman_construction_worker_medium-dark_skin_tone","👷🏾‍♀️"],["woman_construction_worker_dark_skin_tone","👷🏿‍♀️"],["prince","🤴"],["prince_light_skin_tone","🤴🏻"],["prince_medium-light_skin_tone","🤴🏼"],["prince_medium_skin_tone","🤴🏽"],["prince_medium-dark_skin_tone","🤴🏾"],["prince_dark_skin_tone","🤴🏿"],["princess","👸"],["princess_light_skin_tone","👸🏻"],["princess_medium-light_skin_tone","👸🏼"],["princess_medium_skin_tone","👸🏽"],["princess_medium-dark_skin_tone","👸🏾"],["princess_dark_skin_tone","👸🏿"],["person_wearing_turban","👳"],["person_wearing_turban_light_skin_tone","👳🏻"],["person_wearing_turban_medium-light_skin_tone","👳🏼"],["person_wearing_turban_medium_skin_tone","👳🏽"],["person_wearing_turban_medium-dark_skin_tone","👳🏾"],["person_wearing_turban_dark_skin_tone","👳🏿"],["man_wearing_turban","👳‍♂️"],["man_wearing_turban_light_skin_tone","👳🏻‍♂️"],["man_wearing_turban_medium-light_skin_tone","👳🏼‍♂️"],["man_wearing_turban_medium_skin_tone","👳🏽‍♂️"],["man_wearing_turban_medium-dark_skin_tone","👳🏾‍♂️"],["man_wearing_turban_dark_skin_tone","👳🏿‍♂️"],["woman_wearing_turban","👳‍♀️"],["woman_wearing_turban_light_skin_tone","👳🏻‍♀️"],["woman_wearing_turban_medium-light_skin_tone","👳🏼‍♀️"],["woman_wearing_turban_medium_skin_tone","👳🏽‍♀️"],["woman_wearing_turban_medium-dark_skin_tone","👳🏾‍♀️"],["woman_wearing_turban_dark_skin_tone","👳🏿‍♀️"],["man_with_Chinese_cap","👲"],["man_with_Chinese_cap_light_skin_tone","👲🏻"],["man_with_Chinese_cap_medium-light_skin_tone","👲🏼"],["man_with_Chinese_cap_medium_skin_tone","👲🏽"],["man_with_Chinese_cap_medium-dark_skin_tone","👲🏾"],["man_with_Chinese_cap_dark_skin_tone","👲🏿"],["woman_with_headscarf","🧕"],["woman_with_headscarf_light_skin_tone","🧕🏻"],["woman_with_headscarf_medium-light_skin_tone","🧕🏼"],["woman_with_headscarf_medium_skin_tone","🧕🏽"],["woman_with_headscarf_medium-dark_skin_tone","🧕🏾"],["woman_with_headscarf_dark_skin_tone","🧕🏿"],["bearded_person","🧔"],["bearded_person_light_skin_tone","🧔🏻"],["bearded_person_medium-light_skin_tone","🧔🏼"],["bearded_person_medium_skin_tone","🧔🏽"],["bearded_person_medium-dark_skin_tone","🧔🏾"],["bearded_person_dark_skin_tone","🧔🏿"],["blond-haired_person","👱"],["blond-haired_person_light_skin_tone","👱🏻"],["blond-haired_person_medium-light_skin_tone","👱🏼"],["blond-haired_person_medium_skin_tone","👱🏽"],["blond-haired_person_medium-dark_skin_tone","👱🏾"],["blond-haired_person_dark_skin_tone","👱🏿"],["blond-haired_man","👱‍♂️"],["blond-haired_man_light_skin_tone","👱🏻‍♂️"],["blond-haired_man_medium-light_skin_tone","👱🏼‍♂️"],["blond-haired_man_medium_skin_tone","👱🏽‍♂️"],["blond-haired_man_medium-dark_skin_tone","👱🏾‍♂️"],["blond-haired_man_dark_skin_tone","👱🏿‍♂️"],["blond-haired_woman","👱‍♀️"],["blond-haired_woman_light_skin_tone","👱🏻‍♀️"],["blond-haired_woman_medium-light_skin_tone","👱🏼‍♀️"],["blond-haired_woman_medium_skin_tone","👱🏽‍♀️"],["blond-haired_woman_medium-dark_skin_tone","👱🏾‍♀️"],["blond-haired_woman_dark_skin_tone","👱🏿‍♀️"],["man_in_tuxedo","🤵"],["man_in_tuxedo_light_skin_tone","🤵🏻"],["man_in_tuxedo_medium-light_skin_tone","🤵🏼"],["man_in_tuxedo_medium_skin_tone","🤵🏽"],["man_in_tuxedo_medium-dark_skin_tone","🤵🏾"],["man_in_tuxedo_dark_skin_tone","🤵🏿"],["bride_with_veil","👰"],["bride_with_veil_light_skin_tone","👰🏻"],["bride_with_veil_medium-light_skin_tone","👰🏼"],["bride_with_veil_medium_skin_tone","👰🏽"],["bride_with_veil_medium-dark_skin_tone","👰🏾"],["bride_with_veil_dark_skin_tone","👰🏿"],["pregnant_woman","🤰"],["pregnant_woman_light_skin_tone","🤰🏻"],["pregnant_woman_medium-light_skin_tone","🤰🏼"],["pregnant_woman_medium_skin_tone","🤰🏽"],["pregnant_woman_medium-dark_skin_tone","🤰🏾"],["pregnant_woman_dark_skin_tone","🤰🏿"],["breast-feeding","🤱"],["breast-feeding_light_skin_tone","🤱🏻"],["breast-feeding_medium-light_skin_tone","🤱🏼"],["breast-feeding_medium_skin_tone","🤱🏽"],["breast-feeding_medium-dark_skin_tone","🤱🏾"],["breast-feeding_dark_skin_tone","🤱🏿"],["baby_angel","👼"],["baby_angel_light_skin_tone","👼🏻"],["baby_angel_medium-light_skin_tone","👼🏼"],["baby_angel_medium_skin_tone","👼🏽"],["baby_angel_medium-dark_skin_tone","👼🏾"],["baby_angel_dark_skin_tone","👼🏿"],["Santa_Claus","🎅"],["Santa_Claus_light_skin_tone","🎅🏻"],["Santa_Claus_medium-light_skin_tone","🎅🏼"],["Santa_Claus_medium_skin_tone","🎅🏽"],["Santa_Claus_medium-dark_skin_tone","🎅🏾"],["Santa_Claus_dark_skin_tone","🎅🏿"],["Mrs._Claus","🤶"],["Mrs._Claus_light_skin_tone","🤶🏻"],["Mrs._Claus_medium-light_skin_tone","🤶🏼"],["Mrs._Claus_medium_skin_tone","🤶🏽"],["Mrs._Claus_medium-dark_skin_tone","🤶🏾"],["Mrs._Claus_dark_skin_tone","🤶🏿"],["mage","🧙"],["mage_light_skin_tone","🧙🏻"],["mage_medium-light_skin_tone","🧙🏼"],["mage_medium_skin_tone","🧙🏽"],["mage_medium-dark_skin_tone","🧙🏾"],["mage_dark_skin_tone","🧙🏿"],["woman_mage","🧙‍♀️"],["woman_mage_light_skin_tone","🧙🏻‍♀️"],["woman_mage_medium-light_skin_tone","🧙🏼‍♀️"],["woman_mage_medium_skin_tone","🧙🏽‍♀️"],["woman_mage_medium-dark_skin_tone","🧙🏾‍♀️"],["woman_mage_dark_skin_tone","🧙🏿‍♀️"],["man_mage","🧙‍♂️"],["man_mage_light_skin_tone","🧙🏻‍♂️"],["man_mage_medium-light_skin_tone","🧙🏼‍♂️"],["man_mage_medium_skin_tone","🧙🏽‍♂️"],["man_mage_medium-dark_skin_tone","🧙🏾‍♂️"],["man_mage_dark_skin_tone","🧙🏿‍♂️"],["fairy","🧚"],["fairy_light_skin_tone","🧚🏻"],["fairy_medium-light_skin_tone","🧚🏼"],["fairy_medium_skin_tone","🧚🏽"],["fairy_medium-dark_skin_tone","🧚🏾"],["fairy_dark_skin_tone","🧚🏿"],["woman_fairy","🧚‍♀️"],["woman_fairy_light_skin_tone","🧚🏻‍♀️"],["woman_fairy_medium-light_skin_tone","🧚🏼‍♀️"],["woman_fairy_medium_skin_tone","🧚🏽‍♀️"],["woman_fairy_medium-dark_skin_tone","🧚🏾‍♀️"],["woman_fairy_dark_skin_tone","🧚🏿‍♀️"],["man_fairy","🧚‍♂️"],["man_fairy_light_skin_tone","🧚🏻‍♂️"],["man_fairy_medium-light_skin_tone","🧚🏼‍♂️"],["man_fairy_medium_skin_tone","🧚🏽‍♂️"],["man_fairy_medium-dark_skin_tone","🧚🏾‍♂️"],["man_fairy_dark_skin_tone","🧚🏿‍♂️"],["vampire","🧛"],["vampire_light_skin_tone","🧛🏻"],["vampire_medium-light_skin_tone","🧛🏼"],["vampire_medium_skin_tone","🧛🏽"],["vampire_medium-dark_skin_tone","🧛🏾"],["vampire_dark_skin_tone","🧛🏿"],["woman_vampire","🧛‍♀️"],["woman_vampire_light_skin_tone","🧛🏻‍♀️"],["woman_vampire_medium-light_skin_tone","🧛🏼‍♀️"],["woman_vampire_medium_skin_tone","🧛🏽‍♀️"],["woman_vampire_medium-dark_skin_tone","🧛🏾‍♀️"],["woman_vampire_dark_skin_tone","🧛🏿‍♀️"],["man_vampire","🧛‍♂️"],["man_vampire_light_skin_tone","🧛🏻‍♂️"],["man_vampire_medium-light_skin_tone","🧛🏼‍♂️"],["man_vampire_medium_skin_tone","🧛🏽‍♂️"],["man_vampire_medium-dark_skin_tone","🧛🏾‍♂️"],["man_vampire_dark_skin_tone","🧛🏿‍♂️"],["merperson","🧜"],["merperson_light_skin_tone","🧜🏻"],["merperson_medium-light_skin_tone","🧜🏼"],["merperson_medium_skin_tone","🧜🏽"],["merperson_medium-dark_skin_tone","🧜🏾"],["merperson_dark_skin_tone","🧜🏿"],["mermaid","🧜‍♀️"],["mermaid_light_skin_tone","🧜🏻‍♀️"],["mermaid_medium-light_skin_tone","🧜🏼‍♀️"],["mermaid_medium_skin_tone","🧜🏽‍♀️"],["mermaid_medium-dark_skin_tone","🧜🏾‍♀️"],["mermaid_dark_skin_tone","🧜🏿‍♀️"],["merman","🧜‍♂️"],["merman_light_skin_tone","🧜🏻‍♂️"],["merman_medium-light_skin_tone","🧜🏼‍♂️"],["merman_medium_skin_tone","🧜🏽‍♂️"],["merman_medium-dark_skin_tone","🧜🏾‍♂️"],["merman_dark_skin_tone","🧜🏿‍♂️"],["elf","🧝"],["elf_light_skin_tone","🧝🏻"],["elf_medium-light_skin_tone","🧝🏼"],["elf_medium_skin_tone","🧝🏽"],["elf_medium-dark_skin_tone","🧝🏾"],["elf_dark_skin_tone","🧝🏿"],["woman_elf","🧝‍♀️"],["woman_elf_light_skin_tone","🧝🏻‍♀️"],["woman_elf_medium-light_skin_tone","🧝🏼‍♀️"],["woman_elf_medium_skin_tone","🧝🏽‍♀️"],["woman_elf_medium-dark_skin_tone","🧝🏾‍♀️"],["woman_elf_dark_skin_tone","🧝🏿‍♀️"],["man_elf","🧝‍♂️"],["man_elf_light_skin_tone","🧝🏻‍♂️"],["man_elf_medium-light_skin_tone","🧝🏼‍♂️"],["man_elf_medium_skin_tone","🧝🏽‍♂️"],["man_elf_medium-dark_skin_tone","🧝🏾‍♂️"],["man_elf_dark_skin_tone","🧝🏿‍♂️"],["genie","🧞"],["woman_genie","🧞‍♀️"],["man_genie","🧞‍♂️"],["zombie","🧟"],["woman_zombie","🧟‍♀️"],["man_zombie","🧟‍♂️"],["person_frowning","🙍"],["person_frowning_light_skin_tone","🙍🏻"],["person_frowning_medium-light_skin_tone","🙍🏼"],["person_frowning_medium_skin_tone","🙍🏽"],["person_frowning_medium-dark_skin_tone","🙍🏾"],["person_frowning_dark_skin_tone","🙍🏿"],["man_frowning","🙍‍♂️"],["man_frowning_light_skin_tone","🙍🏻‍♂️"],["man_frowning_medium-light_skin_tone","🙍🏼‍♂️"],["man_frowning_medium_skin_tone","🙍🏽‍♂️"],["man_frowning_medium-dark_skin_tone","🙍🏾‍♂️"],["man_frowning_dark_skin_tone","🙍🏿‍♂️"],["woman_frowning","🙍‍♀️"],["woman_frowning_light_skin_tone","🙍🏻‍♀️"],["woman_frowning_medium-light_skin_tone","🙍🏼‍♀️"],["woman_frowning_medium_skin_tone","🙍🏽‍♀️"],["woman_frowning_medium-dark_skin_tone","🙍🏾‍♀️"],["woman_frowning_dark_skin_tone","🙍🏿‍♀️"],["person_pouting","🙎"],["person_pouting_light_skin_tone","🙎🏻"],["person_pouting_medium-light_skin_tone","🙎🏼"],["person_pouting_medium_skin_tone","🙎🏽"],["person_pouting_medium-dark_skin_tone","🙎🏾"],["person_pouting_dark_skin_tone","🙎🏿"],["man_pouting","🙎‍♂️"],["man_pouting_light_skin_tone","🙎🏻‍♂️"],["man_pouting_medium-light_skin_tone","🙎🏼‍♂️"],["man_pouting_medium_skin_tone","🙎🏽‍♂️"],["man_pouting_medium-dark_skin_tone","🙎🏾‍♂️"],["man_pouting_dark_skin_tone","🙎🏿‍♂️"],["woman_pouting","🙎‍♀️"],["woman_pouting_light_skin_tone","🙎🏻‍♀️"],["woman_pouting_medium-light_skin_tone","🙎🏼‍♀️"],["woman_pouting_medium_skin_tone","🙎🏽‍♀️"],["woman_pouting_medium-dark_skin_tone","🙎🏾‍♀️"],["woman_pouting_dark_skin_tone","🙎🏿‍♀️"],["person_gesturing_NO","🙅"],["person_gesturing_NO_light_skin_tone","🙅🏻"],["person_gesturing_NO_medium-light_skin_tone","🙅🏼"],["person_gesturing_NO_medium_skin_tone","🙅🏽"],["person_gesturing_NO_medium-dark_skin_tone","🙅🏾"],["person_gesturing_NO_dark_skin_tone","🙅🏿"],["man_gesturing_NO","🙅‍♂️"],["man_gesturing_NO_light_skin_tone","🙅🏻‍♂️"],["man_gesturing_NO_medium-light_skin_tone","🙅🏼‍♂️"],["man_gesturing_NO_medium_skin_tone","🙅🏽‍♂️"],["man_gesturing_NO_medium-dark_skin_tone","🙅🏾‍♂️"],["man_gesturing_NO_dark_skin_tone","🙅🏿‍♂️"],["woman_gesturing_NO","🙅‍♀️"],["woman_gesturing_NO_light_skin_tone","🙅🏻‍♀️"],["woman_gesturing_NO_medium-light_skin_tone","🙅🏼‍♀️"],["woman_gesturing_NO_medium_skin_tone","🙅🏽‍♀️"],["woman_gesturing_NO_medium-dark_skin_tone","🙅🏾‍♀️"],["woman_gesturing_NO_dark_skin_tone","🙅🏿‍♀️"],["person_gesturing_OK","🙆"],["person_gesturing_OK_light_skin_tone","🙆🏻"],["person_gesturing_OK_medium-light_skin_tone","🙆🏼"],["person_gesturing_OK_medium_skin_tone","🙆🏽"],["person_gesturing_OK_medium-dark_skin_tone","🙆🏾"],["person_gesturing_OK_dark_skin_tone","🙆🏿"],["man_gesturing_OK","🙆‍♂️"],["man_gesturing_OK_light_skin_tone","🙆🏻‍♂️"],["man_gesturing_OK_medium-light_skin_tone","🙆🏼‍♂️"],["man_gesturing_OK_medium_skin_tone","🙆🏽‍♂️"],["man_gesturing_OK_medium-dark_skin_tone","🙆🏾‍♂️"],["man_gesturing_OK_dark_skin_tone","🙆🏿‍♂️"],["woman_gesturing_OK","🙆‍♀️"],["woman_gesturing_OK_light_skin_tone","🙆🏻‍♀️"],["woman_gesturing_OK_medium-light_skin_tone","🙆🏼‍♀️"],["woman_gesturing_OK_medium_skin_tone","🙆🏽‍♀️"],["woman_gesturing_OK_medium-dark_skin_tone","🙆🏾‍♀️"],["woman_gesturing_OK_dark_skin_tone","🙆🏿‍♀️"],["person_tipping_hand","💁"],["person_tipping_hand_light_skin_tone","💁🏻"],["person_tipping_hand_medium-light_skin_tone","💁🏼"],["person_tipping_hand_medium_skin_tone","💁🏽"],["person_tipping_hand_medium-dark_skin_tone","💁🏾"],["person_tipping_hand_dark_skin_tone","💁🏿"],["man_tipping_hand","💁‍♂️"],["man_tipping_hand_light_skin_tone","💁🏻‍♂️"],["man_tipping_hand_medium-light_skin_tone","💁🏼‍♂️"],["man_tipping_hand_medium_skin_tone","💁🏽‍♂️"],["man_tipping_hand_medium-dark_skin_tone","💁🏾‍♂️"],["man_tipping_hand_dark_skin_tone","💁🏿‍♂️"],["woman_tipping_hand","💁‍♀️"],["woman_tipping_hand_light_skin_tone","💁🏻‍♀️"],["woman_tipping_hand_medium-light_skin_tone","💁🏼‍♀️"],["woman_tipping_hand_medium_skin_tone","💁🏽‍♀️"],["woman_tipping_hand_medium-dark_skin_tone","💁🏾‍♀️"],["woman_tipping_hand_dark_skin_tone","💁🏿‍♀️"],["person_raising_hand","🙋"],["person_raising_hand_light_skin_tone","🙋🏻"],["person_raising_hand_medium-light_skin_tone","🙋🏼"],["person_raising_hand_medium_skin_tone","🙋🏽"],["person_raising_hand_medium-dark_skin_tone","🙋🏾"],["person_raising_hand_dark_skin_tone","🙋🏿"],["man_raising_hand","🙋‍♂️"],["man_raising_hand_light_skin_tone","🙋🏻‍♂️"],["man_raising_hand_medium-light_skin_tone","🙋🏼‍♂️"],["man_raising_hand_medium_skin_tone","🙋🏽‍♂️"],["man_raising_hand_medium-dark_skin_tone","🙋🏾‍♂️"],["man_raising_hand_dark_skin_tone","🙋🏿‍♂️"],["woman_raising_hand","🙋‍♀️"],["woman_raising_hand_light_skin_tone","🙋🏻‍♀️"],["woman_raising_hand_medium-light_skin_tone","🙋🏼‍♀️"],["woman_raising_hand_medium_skin_tone","🙋🏽‍♀️"],["woman_raising_hand_medium-dark_skin_tone","🙋🏾‍♀️"],["woman_raising_hand_dark_skin_tone","🙋🏿‍♀️"],["person_bowing","🙇"],["person_bowing_light_skin_tone","🙇🏻"],["person_bowing_medium-light_skin_tone","🙇🏼"],["person_bowing_medium_skin_tone","🙇🏽"],["person_bowing_medium-dark_skin_tone","🙇🏾"],["person_bowing_dark_skin_tone","🙇🏿"],["man_bowing","🙇‍♂️"],["man_bowing_light_skin_tone","🙇🏻‍♂️"],["man_bowing_medium-light_skin_tone","🙇🏼‍♂️"],["man_bowing_medium_skin_tone","🙇🏽‍♂️"],["man_bowing_medium-dark_skin_tone","🙇🏾‍♂️"],["man_bowing_dark_skin_tone","🙇🏿‍♂️"],["woman_bowing","🙇‍♀️"],["woman_bowing_light_skin_tone","🙇🏻‍♀️"],["woman_bowing_medium-light_skin_tone","🙇🏼‍♀️"],["woman_bowing_medium_skin_tone","🙇🏽‍♀️"],["woman_bowing_medium-dark_skin_tone","🙇🏾‍♀️"],["woman_bowing_dark_skin_tone","🙇🏿‍♀️"],["person_facepalming","🤦"],["person_facepalming_light_skin_tone","🤦🏻"],["person_facepalming_medium-light_skin_tone","🤦🏼"],["person_facepalming_medium_skin_tone","🤦🏽"],["person_facepalming_medium-dark_skin_tone","🤦🏾"],["person_facepalming_dark_skin_tone","🤦🏿"],["man_facepalming","🤦‍♂️"],["man_facepalming_light_skin_tone","🤦🏻‍♂️"],["man_facepalming_medium-light_skin_tone","🤦🏼‍♂️"],["man_facepalming_medium_skin_tone","🤦🏽‍♂️"],["man_facepalming_medium-dark_skin_tone","🤦🏾‍♂️"],["man_facepalming_dark_skin_tone","🤦🏿‍♂️"],["woman_facepalming","🤦‍♀️"],["woman_facepalming_light_skin_tone","🤦🏻‍♀️"],["woman_facepalming_medium-light_skin_tone","🤦🏼‍♀️"],["woman_facepalming_medium_skin_tone","🤦🏽‍♀️"],["woman_facepalming_medium-dark_skin_tone","🤦🏾‍♀️"],["woman_facepalming_dark_skin_tone","🤦🏿‍♀️"],["person_shrugging","🤷"],["person_shrugging_light_skin_tone","🤷🏻"],["person_shrugging_medium-light_skin_tone","🤷🏼"],["person_shrugging_medium_skin_tone","🤷🏽"],["person_shrugging_medium-dark_skin_tone","🤷🏾"],["person_shrugging_dark_skin_tone","🤷🏿"],["man_shrugging","🤷‍♂️"],["man_shrugging_light_skin_tone","🤷🏻‍♂️"],["man_shrugging_medium-light_skin_tone","🤷🏼‍♂️"],["man_shrugging_medium_skin_tone","🤷🏽‍♂️"],["man_shrugging_medium-dark_skin_tone","🤷🏾‍♂️"],["man_shrugging_dark_skin_tone","🤷🏿‍♂️"],["woman_shrugging","🤷‍♀️"],["woman_shrugging_light_skin_tone","🤷🏻‍♀️"],["woman_shrugging_medium-light_skin_tone","🤷🏼‍♀️"],["woman_shrugging_medium_skin_tone","🤷🏽‍♀️"],["woman_shrugging_medium-dark_skin_tone","🤷🏾‍♀️"],["woman_shrugging_dark_skin_tone","🤷🏿‍♀️"],["person_getting_massage","💆"],["person_getting_massage_light_skin_tone","💆🏻"],["person_getting_massage_medium-light_skin_tone","💆🏼"],["person_getting_massage_medium_skin_tone","💆🏽"],["person_getting_massage_medium-dark_skin_tone","💆🏾"],["person_getting_massage_dark_skin_tone","💆🏿"],["man_getting_massage","💆‍♂️"],["man_getting_massage_light_skin_tone","💆🏻‍♂️"],["man_getting_massage_medium-light_skin_tone","💆🏼‍♂️"],["man_getting_massage_medium_skin_tone","💆🏽‍♂️"],["man_getting_massage_medium-dark_skin_tone","💆🏾‍♂️"],["man_getting_massage_dark_skin_tone","💆🏿‍♂️"],["woman_getting_massage","💆‍♀️"],["woman_getting_massage_light_skin_tone","💆🏻‍♀️"],["woman_getting_massage_medium-light_skin_tone","💆🏼‍♀️"],["woman_getting_massage_medium_skin_tone","💆🏽‍♀️"],["woman_getting_massage_medium-dark_skin_tone","💆🏾‍♀️"],["woman_getting_massage_dark_skin_tone","💆🏿‍♀️"],["person_getting_haircut","💇"],["person_getting_haircut_light_skin_tone","💇🏻"],["person_getting_haircut_medium-light_skin_tone","💇🏼"],["person_getting_haircut_medium_skin_tone","💇🏽"],["person_getting_haircut_medium-dark_skin_tone","💇🏾"],["person_getting_haircut_dark_skin_tone","💇🏿"],["man_getting_haircut","💇‍♂️"],["man_getting_haircut_light_skin_tone","💇🏻‍♂️"],["man_getting_haircut_medium-light_skin_tone","💇🏼‍♂️"],["man_getting_haircut_medium_skin_tone","💇🏽‍♂️"],["man_getting_haircut_medium-dark_skin_tone","💇🏾‍♂️"],["man_getting_haircut_dark_skin_tone","💇🏿‍♂️"],["woman_getting_haircut","💇‍♀️"],["woman_getting_haircut_light_skin_tone","💇🏻‍♀️"],["woman_getting_haircut_medium-light_skin_tone","💇🏼‍♀️"],["woman_getting_haircut_medium_skin_tone","💇🏽‍♀️"],["woman_getting_haircut_medium-dark_skin_tone","💇🏾‍♀️"],["woman_getting_haircut_dark_skin_tone","💇🏿‍♀️"],["person_walking","🚶"],["person_walking_light_skin_tone","🚶🏻"],["person_walking_medium-light_skin_tone","🚶🏼"],["person_walking_medium_skin_tone","🚶🏽"],["person_walking_medium-dark_skin_tone","🚶🏾"],["person_walking_dark_skin_tone","🚶🏿"],["man_walking","🚶‍♂️"],["man_walking_light_skin_tone","🚶🏻‍♂️"],["man_walking_medium-light_skin_tone","🚶🏼‍♂️"],["man_walking_medium_skin_tone","🚶🏽‍♂️"],["man_walking_medium-dark_skin_tone","🚶🏾‍♂️"],["man_walking_dark_skin_tone","🚶🏿‍♂️"],["woman_walking","🚶‍♀️"],["woman_walking_light_skin_tone","🚶🏻‍♀️"],["woman_walking_medium-light_skin_tone","🚶🏼‍♀️"],["woman_walking_medium_skin_tone","🚶🏽‍♀️"],["woman_walking_medium-dark_skin_tone","🚶🏾‍♀️"],["woman_walking_dark_skin_tone","🚶🏿‍♀️"],["person_running","🏃"],["person_running_light_skin_tone","🏃🏻"],["person_running_medium-light_skin_tone","🏃🏼"],["person_running_medium_skin_tone","🏃🏽"],["person_running_medium-dark_skin_tone","🏃🏾"],["person_running_dark_skin_tone","🏃🏿"],["man_running","🏃‍♂️"],["man_running_light_skin_tone","🏃🏻‍♂️"],["man_running_medium-light_skin_tone","🏃🏼‍♂️"],["man_running_medium_skin_tone","🏃🏽‍♂️"],["man_running_medium-dark_skin_tone","🏃🏾‍♂️"],["man_running_dark_skin_tone","🏃🏿‍♂️"],["woman_running","🏃‍♀️"],["woman_running_light_skin_tone","🏃🏻‍♀️"],["woman_running_medium-light_skin_tone","🏃🏼‍♀️"],["woman_running_medium_skin_tone","🏃🏽‍♀️"],["woman_running_medium-dark_skin_tone","🏃🏾‍♀️"],["woman_running_dark_skin_tone","🏃🏿‍♀️"],["woman_dancing","💃"],["woman_dancing_light_skin_tone","💃🏻"],["woman_dancing_medium-light_skin_tone","💃🏼"],["woman_dancing_medium_skin_tone","💃🏽"],["woman_dancing_medium-dark_skin_tone","💃🏾"],["woman_dancing_dark_skin_tone","💃🏿"],["man_dancing","🕺"],["man_dancing_light_skin_tone","🕺🏻"],["man_dancing_medium-light_skin_tone","🕺🏼"],["man_dancing_medium_skin_tone","🕺🏽"],["man_dancing_medium-dark_skin_tone","🕺🏾"],["man_dancing_dark_skin_tone","🕺🏿"],["people_with_bunny_ears","👯"],["men_with_bunny_ears","👯‍♂️"],["women_with_bunny_ears","👯‍♀️"],["person_in_steamy_room","🧖"],["person_in_steamy_room_light_skin_tone","🧖🏻"],["person_in_steamy_room_medium-light_skin_tone","🧖🏼"],["person_in_steamy_room_medium_skin_tone","🧖🏽"],["person_in_steamy_room_medium-dark_skin_tone","🧖🏾"],["person_in_steamy_room_dark_skin_tone","🧖🏿"],["woman_in_steamy_room","🧖‍♀️"],["woman_in_steamy_room_light_skin_tone","🧖🏻‍♀️"],["woman_in_steamy_room_medium-light_skin_tone","🧖🏼‍♀️"],["woman_in_steamy_room_medium_skin_tone","🧖🏽‍♀️"],["woman_in_steamy_room_medium-dark_skin_tone","🧖🏾‍♀️"],["woman_in_steamy_room_dark_skin_tone","🧖🏿‍♀️"],["man_in_steamy_room","🧖‍♂️"],["man_in_steamy_room_light_skin_tone","🧖🏻‍♂️"],["man_in_steamy_room_medium-light_skin_tone","🧖🏼‍♂️"],["man_in_steamy_room_medium_skin_tone","🧖🏽‍♂️"],["man_in_steamy_room_medium-dark_skin_tone","🧖🏾‍♂️"],["man_in_steamy_room_dark_skin_tone","🧖🏿‍♂️"],["person_climbing","🧗"],["person_climbing_light_skin_tone","🧗🏻"],["person_climbing_medium-light_skin_tone","🧗🏼"],["person_climbing_medium_skin_tone","🧗🏽"],["person_climbing_medium-dark_skin_tone","🧗🏾"],["person_climbing_dark_skin_tone","🧗🏿"],["woman_climbing","🧗‍♀️"],["woman_climbing_light_skin_tone","🧗🏻‍♀️"],["woman_climbing_medium-light_skin_tone","🧗🏼‍♀️"],["woman_climbing_medium_skin_tone","🧗🏽‍♀️"],["woman_climbing_medium-dark_skin_tone","🧗🏾‍♀️"],["woman_climbing_dark_skin_tone","🧗🏿‍♀️"],["man_climbing","🧗‍♂️"],["man_climbing_light_skin_tone","🧗🏻‍♂️"],["man_climbing_medium-light_skin_tone","🧗🏼‍♂️"],["man_climbing_medium_skin_tone","🧗🏽‍♂️"],["man_climbing_medium-dark_skin_tone","🧗🏾‍♂️"],["man_climbing_dark_skin_tone","🧗🏿‍♂️"],["person_in_lotus_position","🧘"],["person_in_lotus_position_light_skin_tone","🧘🏻"],["person_in_lotus_position_medium-light_skin_tone","🧘🏼"],["person_in_lotus_position_medium_skin_tone","🧘🏽"],["person_in_lotus_position_medium-dark_skin_tone","🧘🏾"],["person_in_lotus_position_dark_skin_tone","🧘🏿"],["woman_in_lotus_position","🧘‍♀️"],["woman_in_lotus_position_light_skin_tone","🧘🏻‍♀️"],["woman_in_lotus_position_medium-light_skin_tone","🧘🏼‍♀️"],["woman_in_lotus_position_medium_skin_tone","🧘🏽‍♀️"],["woman_in_lotus_position_medium-dark_skin_tone","🧘🏾‍♀️"],["woman_in_lotus_position_dark_skin_tone","🧘🏿‍♀️"],["man_in_lotus_position","🧘‍♂️"],["man_in_lotus_position_light_skin_tone","🧘🏻‍♂️"],["man_in_lotus_position_medium-light_skin_tone","🧘🏼‍♂️"],["man_in_lotus_position_medium_skin_tone","🧘🏽‍♂️"],["man_in_lotus_position_medium-dark_skin_tone","🧘🏾‍♂️"],["man_in_lotus_position_dark_skin_tone","🧘🏿‍♂️"],["person_taking_bath","🛀"],["person_taking_bath_light_skin_tone","🛀🏻"],["person_taking_bath_medium-light_skin_tone","🛀🏼"],["person_taking_bath_medium_skin_tone","🛀🏽"],["person_taking_bath_medium-dark_skin_tone","🛀🏾"],["person_taking_bath_dark_skin_tone","🛀🏿"],["person_in_bed","🛌"],["person_in_bed_light_skin_tone","🛌🏻"],["person_in_bed_medium-light_skin_tone","🛌🏼"],["person_in_bed_medium_skin_tone","🛌🏽"],["person_in_bed_medium-dark_skin_tone","🛌🏾"],["person_in_bed_dark_skin_tone","🛌🏿"],["man_in_suit_levitating","🕴️"],["man_in_suit_levitating_light_skin_tone","🕴🏻"],["man_in_suit_levitating_medium-light_skin_tone","🕴🏼"],["man_in_suit_levitating_medium_skin_tone","🕴🏽"],["man_in_suit_levitating_medium-dark_skin_tone","🕴🏾"],["man_in_suit_levitating_dark_skin_tone","🕴🏿"],["speaking_head","🗣️"],["bust_in_silhouette","👤"],["busts_in_silhouette","👥"],["person_fencing","🤺"],["horse_racing","🏇"],["horse_racing_light_skin_tone","🏇🏻"],["horse_racing_medium-light_skin_tone","🏇🏼"],["horse_racing_medium_skin_tone","🏇🏽"],["horse_racing_medium-dark_skin_tone","🏇🏾"],["horse_racing_dark_skin_tone","🏇🏿"],["skier","⛷️"],["snowboarder","🏂"],["snowboarder_light_skin_tone","🏂🏻"],["snowboarder_medium-light_skin_tone","🏂🏼"],["snowboarder_medium_skin_tone","🏂🏽"],["snowboarder_medium-dark_skin_tone","🏂🏾"],["snowboarder_dark_skin_tone","🏂🏿"],["person_golfing","🏌️"],["person_golfing_light_skin_tone","🏌🏻"],["person_golfing_medium-light_skin_tone","🏌🏼"],["person_golfing_medium_skin_tone","🏌🏽"],["person_golfing_medium-dark_skin_tone","🏌🏾"],["person_golfing_dark_skin_tone","🏌🏿"],["man_golfing","🏌️‍♂️"],["man_golfing_light_skin_tone","🏌🏻‍♂️"],["man_golfing_medium-light_skin_tone","🏌🏼‍♂️"],["man_golfing_medium_skin_tone","🏌🏽‍♂️"],["man_golfing_medium-dark_skin_tone","🏌🏾‍♂️"],["man_golfing_dark_skin_tone","🏌🏿‍♂️"],["woman_golfing","🏌️‍♀️"],["woman_golfing_light_skin_tone","🏌🏻‍♀️"],["woman_golfing_medium-light_skin_tone","🏌🏼‍♀️"],["woman_golfing_medium_skin_tone","🏌🏽‍♀️"],["woman_golfing_medium-dark_skin_tone","🏌🏾‍♀️"],["woman_golfing_dark_skin_tone","🏌🏿‍♀️"],["person_surfing","🏄"],["person_surfing_light_skin_tone","🏄🏻"],["person_surfing_medium-light_skin_tone","🏄🏼"],["person_surfing_medium_skin_tone","🏄🏽"],["person_surfing_medium-dark_skin_tone","🏄🏾"],["person_surfing_dark_skin_tone","🏄🏿"],["man_surfing","🏄‍♂️"],["man_surfing_light_skin_tone","🏄🏻‍♂️"],["man_surfing_medium-light_skin_tone","🏄🏼‍♂️"],["man_surfing_medium_skin_tone","🏄🏽‍♂️"],["man_surfing_medium-dark_skin_tone","🏄🏾‍♂️"],["man_surfing_dark_skin_tone","🏄🏿‍♂️"],["woman_surfing","🏄‍♀️"],["woman_surfing_light_skin_tone","🏄🏻‍♀️"],["woman_surfing_medium-light_skin_tone","🏄🏼‍♀️"],["woman_surfing_medium_skin_tone","🏄🏽‍♀️"],["woman_surfing_medium-dark_skin_tone","🏄🏾‍♀️"],["woman_surfing_dark_skin_tone","🏄🏿‍♀️"],["person_rowing_boat","🚣"],["person_rowing_boat_light_skin_tone","🚣🏻"],["person_rowing_boat_medium-light_skin_tone","🚣🏼"],["person_rowing_boat_medium_skin_tone","🚣🏽"],["person_rowing_boat_medium-dark_skin_tone","🚣🏾"],["person_rowing_boat_dark_skin_tone","🚣🏿"],["man_rowing_boat","🚣‍♂️"],["man_rowing_boat_light_skin_tone","🚣🏻‍♂️"],["man_rowing_boat_medium-light_skin_tone","🚣🏼‍♂️"],["man_rowing_boat_medium_skin_tone","🚣🏽‍♂️"],["man_rowing_boat_medium-dark_skin_tone","🚣🏾‍♂️"],["man_rowing_boat_dark_skin_tone","🚣🏿‍♂️"],["woman_rowing_boat","🚣‍♀️"],["woman_rowing_boat_light_skin_tone","🚣🏻‍♀️"],["woman_rowing_boat_medium-light_skin_tone","🚣🏼‍♀️"],["woman_rowing_boat_medium_skin_tone","🚣🏽‍♀️"],["woman_rowing_boat_medium-dark_skin_tone","🚣🏾‍♀️"],["woman_rowing_boat_dark_skin_tone","🚣🏿‍♀️"],["person_swimming","🏊"],["person_swimming_light_skin_tone","🏊🏻"],["person_swimming_medium-light_skin_tone","🏊🏼"],["person_swimming_medium_skin_tone","🏊🏽"],["person_swimming_medium-dark_skin_tone","🏊🏾"],["person_swimming_dark_skin_tone","🏊🏿"],["man_swimming","🏊‍♂️"],["man_swimming_light_skin_tone","🏊🏻‍♂️"],["man_swimming_medium-light_skin_tone","🏊🏼‍♂️"],["man_swimming_medium_skin_tone","🏊🏽‍♂️"],["man_swimming_medium-dark_skin_tone","🏊🏾‍♂️"],["man_swimming_dark_skin_tone","🏊🏿‍♂️"],["woman_swimming","🏊‍♀️"],["woman_swimming_light_skin_tone","🏊🏻‍♀️"],["woman_swimming_medium-light_skin_tone","🏊🏼‍♀️"],["woman_swimming_medium_skin_tone","🏊🏽‍♀️"],["woman_swimming_medium-dark_skin_tone","🏊🏾‍♀️"],["woman_swimming_dark_skin_tone","🏊🏿‍♀️"],["person_bouncing_ball","⛹️"],["person_bouncing_ball_light_skin_tone","⛹🏻"],["person_bouncing_ball_medium-light_skin_tone","⛹🏼"],["person_bouncing_ball_medium_skin_tone","⛹🏽"],["person_bouncing_ball_medium-dark_skin_tone","⛹🏾"],["person_bouncing_ball_dark_skin_tone","⛹🏿"],["man_bouncing_ball","⛹️‍♂️"],["man_bouncing_ball_light_skin_tone","⛹🏻‍♂️"],["man_bouncing_ball_medium-light_skin_tone","⛹🏼‍♂️"],["man_bouncing_ball_medium_skin_tone","⛹🏽‍♂️"],["man_bouncing_ball_medium-dark_skin_tone","⛹🏾‍♂️"],["man_bouncing_ball_dark_skin_tone","⛹🏿‍♂️"],["woman_bouncing_ball","⛹️‍♀️"],["woman_bouncing_ball_light_skin_tone","⛹🏻‍♀️"],["woman_bouncing_ball_medium-light_skin_tone","⛹🏼‍♀️"],["woman_bouncing_ball_medium_skin_tone","⛹🏽‍♀️"],["woman_bouncing_ball_medium-dark_skin_tone","⛹🏾‍♀️"],["woman_bouncing_ball_dark_skin_tone","⛹🏿‍♀️"],["person_lifting_weights","🏋️"],["person_lifting_weights_light_skin_tone","🏋🏻"],["person_lifting_weights_medium-light_skin_tone","🏋🏼"],["person_lifting_weights_medium_skin_tone","🏋🏽"],["person_lifting_weights_medium-dark_skin_tone","🏋🏾"],["person_lifting_weights_dark_skin_tone","🏋🏿"],["man_lifting_weights","🏋️‍♂️"],["man_lifting_weights_light_skin_tone","🏋🏻‍♂️"],["man_lifting_weights_medium-light_skin_tone","🏋🏼‍♂️"],["man_lifting_weights_medium_skin_tone","🏋🏽‍♂️"],["man_lifting_weights_medium-dark_skin_tone","🏋🏾‍♂️"],["man_lifting_weights_dark_skin_tone","🏋🏿‍♂️"],["woman_lifting_weights","🏋️‍♀️"],["woman_lifting_weights_light_skin_tone","🏋🏻‍♀️"],["woman_lifting_weights_medium-light_skin_tone","🏋🏼‍♀️"],["woman_lifting_weights_medium_skin_tone","🏋🏽‍♀️"],["woman_lifting_weights_medium-dark_skin_tone","🏋🏾‍♀️"],["woman_lifting_weights_dark_skin_tone","🏋🏿‍♀️"],["person_biking","🚴"],["person_biking_light_skin_tone","🚴🏻"],["person_biking_medium-light_skin_tone","🚴🏼"],["person_biking_medium_skin_tone","🚴🏽"],["person_biking_medium-dark_skin_tone","🚴🏾"],["person_biking_dark_skin_tone","🚴🏿"],["man_biking","🚴‍♂️"],["man_biking_light_skin_tone","🚴🏻‍♂️"],["man_biking_medium-light_skin_tone","🚴🏼‍♂️"],["man_biking_medium_skin_tone","🚴🏽‍♂️"],["man_biking_medium-dark_skin_tone","🚴🏾‍♂️"],["man_biking_dark_skin_tone","🚴🏿‍♂️"],["woman_biking","🚴‍♀️"],["woman_biking_light_skin_tone","🚴🏻‍♀️"],["woman_biking_medium-light_skin_tone","🚴🏼‍♀️"],["woman_biking_medium_skin_tone","🚴🏽‍♀️"],["woman_biking_medium-dark_skin_tone","🚴🏾‍♀️"],["woman_biking_dark_skin_tone","🚴🏿‍♀️"],["person_mountain_biking","🚵"],["person_mountain_biking_light_skin_tone","🚵🏻"],["person_mountain_biking_medium-light_skin_tone","🚵🏼"],["person_mountain_biking_medium_skin_tone","🚵🏽"],["person_mountain_biking_medium-dark_skin_tone","🚵🏾"],["person_mountain_biking_dark_skin_tone","🚵🏿"],["man_mountain_biking","🚵‍♂️"],["man_mountain_biking_light_skin_tone","🚵🏻‍♂️"],["man_mountain_biking_medium-light_skin_tone","🚵🏼‍♂️"],["man_mountain_biking_medium_skin_tone","🚵🏽‍♂️"],["man_mountain_biking_medium-dark_skin_tone","🚵🏾‍♂️"],["man_mountain_biking_dark_skin_tone","🚵🏿‍♂️"],["woman_mountain_biking","🚵‍♀️"],["woman_mountain_biking_light_skin_tone","🚵🏻‍♀️"],["woman_mountain_biking_medium-light_skin_tone","🚵🏼‍♀️"],["woman_mountain_biking_medium_skin_tone","🚵🏽‍♀️"],["woman_mountain_biking_medium-dark_skin_tone","🚵🏾‍♀️"],["woman_mountain_biking_dark_skin_tone","🚵🏿‍♀️"],["racing_car","🏎️"],["motorcycle","🏍️"],["person_cartwheeling","🤸"],["person_cartwheeling_light_skin_tone","🤸🏻"],["person_cartwheeling_medium-light_skin_tone","🤸🏼"],["person_cartwheeling_medium_skin_tone","🤸🏽"],["person_cartwheeling_medium-dark_skin_tone","🤸🏾"],["person_cartwheeling_dark_skin_tone","🤸🏿"],["man_cartwheeling","🤸‍♂️"],["man_cartwheeling_light_skin_tone","🤸🏻‍♂️"],["man_cartwheeling_medium-light_skin_tone","🤸🏼‍♂️"],["man_cartwheeling_medium_skin_tone","🤸🏽‍♂️"],["man_cartwheeling_medium-dark_skin_tone","🤸🏾‍♂️"],["man_cartwheeling_dark_skin_tone","🤸🏿‍♂️"],["woman_cartwheeling","🤸‍♀️"],["woman_cartwheeling_light_skin_tone","🤸🏻‍♀️"],["woman_cartwheeling_medium-light_skin_tone","🤸🏼‍♀️"],["woman_cartwheeling_medium_skin_tone","🤸🏽‍♀️"],["woman_cartwheeling_medium-dark_skin_tone","🤸🏾‍♀️"],["woman_cartwheeling_dark_skin_tone","🤸🏿‍♀️"],["people_wrestling","🤼"],["men_wrestling","🤼‍♂️"],["women_wrestling","🤼‍♀️"],["person_playing_water_polo","🤽"],["person_playing_water_polo_light_skin_tone","🤽🏻"],["person_playing_water_polo_medium-light_skin_tone","🤽🏼"],["person_playing_water_polo_medium_skin_tone","🤽🏽"],["person_playing_water_polo_medium-dark_skin_tone","🤽🏾"],["person_playing_water_polo_dark_skin_tone","🤽🏿"],["man_playing_water_polo","🤽‍♂️"],["man_playing_water_polo_light_skin_tone","🤽🏻‍♂️"],["man_playing_water_polo_medium-light_skin_tone","🤽🏼‍♂️"],["man_playing_water_polo_medium_skin_tone","🤽🏽‍♂️"],["man_playing_water_polo_medium-dark_skin_tone","🤽🏾‍♂️"],["man_playing_water_polo_dark_skin_tone","🤽🏿‍♂️"],["woman_playing_water_polo","🤽‍♀️"],["woman_playing_water_polo_light_skin_tone","🤽🏻‍♀️"],["woman_playing_water_polo_medium-light_skin_tone","🤽🏼‍♀️"],["woman_playing_water_polo_medium_skin_tone","🤽🏽‍♀️"],["woman_playing_water_polo_medium-dark_skin_tone","🤽🏾‍♀️"],["woman_playing_water_polo_dark_skin_tone","🤽🏿‍♀️"],["person_playing_handball","🤾"],["person_playing_handball_light_skin_tone","🤾🏻"],["person_playing_handball_medium-light_skin_tone","🤾🏼"],["person_playing_handball_medium_skin_tone","🤾🏽"],["person_playing_handball_medium-dark_skin_tone","🤾🏾"],["person_playing_handball_dark_skin_tone","🤾🏿"],["man_playing_handball","🤾‍♂️"],["man_playing_handball_light_skin_tone","🤾🏻‍♂️"],["man_playing_handball_medium-light_skin_tone","🤾🏼‍♂️"],["man_playing_handball_medium_skin_tone","🤾🏽‍♂️"],["man_playing_handball_medium-dark_skin_tone","🤾🏾‍♂️"],["man_playing_handball_dark_skin_tone","🤾🏿‍♂️"],["woman_playing_handball","🤾‍♀️"],["woman_playing_handball_light_skin_tone","🤾🏻‍♀️"],["woman_playing_handball_medium-light_skin_tone","🤾🏼‍♀️"],["woman_playing_handball_medium_skin_tone","🤾🏽‍♀️"],["woman_playing_handball_medium-dark_skin_tone","🤾🏾‍♀️"],["woman_playing_handball_dark_skin_tone","🤾🏿‍♀️"],["person_juggling","🤹"],["person_juggling_light_skin_tone","🤹🏻"],["person_juggling_medium-light_skin_tone","🤹🏼"],["person_juggling_medium_skin_tone","🤹🏽"],["person_juggling_medium-dark_skin_tone","🤹🏾"],["person_juggling_dark_skin_tone","🤹🏿"],["man_juggling","🤹‍♂️"],["man_juggling_light_skin_tone","🤹🏻‍♂️"],["man_juggling_medium-light_skin_tone","🤹🏼‍♂️"],["man_juggling_medium_skin_tone","🤹🏽‍♂️"],["man_juggling_medium-dark_skin_tone","🤹🏾‍♂️"],["man_juggling_dark_skin_tone","🤹🏿‍♂️"],["woman_juggling","🤹‍♀️"],["woman_juggling_light_skin_tone","🤹🏻‍♀️"],["woman_juggling_medium-light_skin_tone","🤹🏼‍♀️"],["woman_juggling_medium_skin_tone","🤹🏽‍♀️"],["woman_juggling_medium-dark_skin_tone","🤹🏾‍♀️"],["woman_juggling_dark_skin_tone","🤹🏿‍♀️"],["man_and_woman_holding_hands","👫"],["two_men_holding_hands","👬"],["two_women_holding_hands","👭"],["kiss","💏"],["kiss_woman,_man","👩‍❤️‍💋‍👨"],["kiss_man,_man","👨‍❤️‍💋‍👨"],["kiss_woman,_woman","👩‍❤️‍💋‍👩"],["couple_with_heart","💑"],["couple_with_heart_woman,_man","👩‍❤️‍👨"],["couple_with_heart_man,_man","👨‍❤️‍👨"],["couple_with_heart_woman,_woman","👩‍❤️‍👩"],["family","👪"],["family_man,_woman,_boy","👨‍👩‍👦"],["family_man,_woman,_girl","👨‍👩‍👧"],["family_man,_woman,_girl,_boy","👨‍👩‍👧‍👦"],["family_man,_woman,_boy,_boy","👨‍👩‍👦‍👦"],["family_man,_woman,_girl,_girl","👨‍👩‍👧‍👧"],["family_man,_man,_boy","👨‍👨‍👦"],["family_man,_man,_girl","👨‍👨‍👧"],["family_man,_man,_girl,_boy","👨‍👨‍👧‍👦"],["family_man,_man,_boy,_boy","👨‍👨‍👦‍👦"],["family_man,_man,_girl,_girl","👨‍👨‍👧‍👧"],["family_woman,_woman,_boy","👩‍👩‍👦"],["family_woman,_woman,_girl","👩‍👩‍👧"],["family_woman,_woman,_girl,_boy","👩‍👩‍👧‍👦"],["family_woman,_woman,_boy,_boy","👩‍👩‍👦‍👦"],["family_woman,_woman,_girl,_girl","👩‍👩‍👧‍👧"],["family_man,_boy","👨‍👦"],["family_man,_boy,_boy","👨‍👦‍👦"],["family_man,_girl","👨‍👧"],["family_man,_girl,_boy","👨‍👧‍👦"],["family_man,_girl,_girl","👨‍👧‍👧"],["family_woman,_boy","👩‍👦"],["family_woman,_boy,_boy","👩‍👦‍👦"],["family_woman,_girl","👩‍👧"],["family_woman,_girl,_boy","👩‍👧‍👦"],["family_woman,_girl,_girl","👩‍👧‍👧"],["selfie","🤳"],["selfie_light_skin_tone","🤳🏻"],["selfie_medium-light_skin_tone","🤳🏼"],["selfie_medium_skin_tone","🤳🏽"],["selfie_medium-dark_skin_tone","🤳🏾"],["selfie_dark_skin_tone","🤳🏿"],["flexed_biceps","💪"],["flexed_biceps_light_skin_tone","💪🏻"],["flexed_biceps_medium-light_skin_tone","💪🏼"],["flexed_biceps_medium_skin_tone","💪🏽"],["flexed_biceps_medium-dark_skin_tone","💪🏾"],["flexed_biceps_dark_skin_tone","💪🏿"],["backhand_index_pointing_left","👈"],["backhand_index_pointing_left_light_skin_tone","👈🏻"],["backhand_index_pointing_left_medium-light_skin_tone","👈🏼"],["backhand_index_pointing_left_medium_skin_tone","👈🏽"],["backhand_index_pointing_left_medium-dark_skin_tone","👈🏾"],["backhand_index_pointing_left_dark_skin_tone","👈🏿"],["backhand_index_pointing_right","👉"],["backhand_index_pointing_right_light_skin_tone","👉🏻"],["backhand_index_pointing_right_medium-light_skin_tone","👉🏼"],["backhand_index_pointing_right_medium_skin_tone","👉🏽"],["backhand_index_pointing_right_medium-dark_skin_tone","👉🏾"],["backhand_index_pointing_right_dark_skin_tone","👉🏿"],["index_pointing_up","☝️"],["index_pointing_up_light_skin_tone","☝🏻"],["index_pointing_up_medium-light_skin_tone","☝🏼"],["index_pointing_up_medium_skin_tone","☝🏽"],["index_pointing_up_medium-dark_skin_tone","☝🏾"],["index_pointing_up_dark_skin_tone","☝🏿"],["backhand_index_pointing_up","👆"],["backhand_index_pointing_up_light_skin_tone","👆🏻"],["backhand_index_pointing_up_medium-light_skin_tone","👆🏼"],["backhand_index_pointing_up_medium_skin_tone","👆🏽"],["backhand_index_pointing_up_medium-dark_skin_tone","👆🏾"],["backhand_index_pointing_up_dark_skin_tone","👆🏿"],["middle_finger","🖕"],["middle_finger_light_skin_tone","🖕🏻"],["middle_finger_medium-light_skin_tone","🖕🏼"],["middle_finger_medium_skin_tone","🖕🏽"],["middle_finger_medium-dark_skin_tone","🖕🏾"],["middle_finger_dark_skin_tone","🖕🏿"],["backhand_index_pointing_down","👇"],["backhand_index_pointing_down_light_skin_tone","👇🏻"],["backhand_index_pointing_down_medium-light_skin_tone","👇🏼"],["backhand_index_pointing_down_medium_skin_tone","👇🏽"],["backhand_index_pointing_down_medium-dark_skin_tone","👇🏾"],["backhand_index_pointing_down_dark_skin_tone","👇🏿"],["victory_hand","✌️"],["victory_hand_light_skin_tone","✌🏻"],["victory_hand_medium-light_skin_tone","✌🏼"],["victory_hand_medium_skin_tone","✌🏽"],["victory_hand_medium-dark_skin_tone","✌🏾"],["victory_hand_dark_skin_tone","✌🏿"],["crossed_fingers","🤞"],["crossed_fingers_light_skin_tone","🤞🏻"],["crossed_fingers_medium-light_skin_tone","🤞🏼"],["crossed_fingers_medium_skin_tone","🤞🏽"],["crossed_fingers_medium-dark_skin_tone","🤞🏾"],["crossed_fingers_dark_skin_tone","🤞🏿"],["vulcan_salute","🖖"],["vulcan_salute_light_skin_tone","🖖🏻"],["vulcan_salute_medium-light_skin_tone","🖖🏼"],["vulcan_salute_medium_skin_tone","🖖🏽"],["vulcan_salute_medium-dark_skin_tone","🖖🏾"],["vulcan_salute_dark_skin_tone","🖖🏿"],["sign_of_the_horns","🤘"],["sign_of_the_horns_light_skin_tone","🤘🏻"],["sign_of_the_horns_medium-light_skin_tone","🤘🏼"],["sign_of_the_horns_medium_skin_tone","🤘🏽"],["sign_of_the_horns_medium-dark_skin_tone","🤘🏾"],["sign_of_the_horns_dark_skin_tone","🤘🏿"],["call_me_hand","🤙"],["call_me_hand_light_skin_tone","🤙🏻"],["call_me_hand_medium-light_skin_tone","🤙🏼"],["call_me_hand_medium_skin_tone","🤙🏽"],["call_me_hand_medium-dark_skin_tone","🤙🏾"],["call_me_hand_dark_skin_tone","🤙🏿"],["hand_with_fingers_splayed","🖐️"],["hand_with_fingers_splayed_light_skin_tone","🖐🏻"],["hand_with_fingers_splayed_medium-light_skin_tone","🖐🏼"],["hand_with_fingers_splayed_medium_skin_tone","🖐🏽"],["hand_with_fingers_splayed_medium-dark_skin_tone","🖐🏾"],["hand_with_fingers_splayed_dark_skin_tone","🖐🏿"],["raised_hand","✋"],["raised_hand_light_skin_tone","✋🏻"],["raised_hand_medium-light_skin_tone","✋🏼"],["raised_hand_medium_skin_tone","✋🏽"],["raised_hand_medium-dark_skin_tone","✋🏾"],["raised_hand_dark_skin_tone","✋🏿"],["OK_hand","👌"],["OK_hand_light_skin_tone","👌🏻"],["OK_hand_medium-light_skin_tone","👌🏼"],["OK_hand_medium_skin_tone","👌🏽"],["OK_hand_medium-dark_skin_tone","👌🏾"],["OK_hand_dark_skin_tone","👌🏿"],["thumbs_up","👍"],["thumbs_up_light_skin_tone","👍🏻"],["thumbs_up_medium-light_skin_tone","👍🏼"],["thumbs_up_medium_skin_tone","👍🏽"],["thumbs_up_medium-dark_skin_tone","👍🏾"],["thumbs_up_dark_skin_tone","👍🏿"],["thumbs_down","👎"],["thumbs_down_light_skin_tone","👎🏻"],["thumbs_down_medium-light_skin_tone","👎🏼"],["thumbs_down_medium_skin_tone","👎🏽"],["thumbs_down_medium-dark_skin_tone","👎🏾"],["thumbs_down_dark_skin_tone","👎🏿"],["raised_fist","✊"],["raised_fist_light_skin_tone","✊🏻"],["raised_fist_medium-light_skin_tone","✊🏼"],["raised_fist_medium_skin_tone","✊🏽"],["raised_fist_medium-dark_skin_tone","✊🏾"],["raised_fist_dark_skin_tone","✊🏿"],["oncoming_fist","👊"],["oncoming_fist_light_skin_tone","👊🏻"],["oncoming_fist_medium-light_skin_tone","👊🏼"],["oncoming_fist_medium_skin_tone","👊🏽"],["oncoming_fist_medium-dark_skin_tone","👊🏾"],["oncoming_fist_dark_skin_tone","👊🏿"],["left-facing_fist","🤛"],["left-facing_fist_light_skin_tone","🤛🏻"],["left-facing_fist_medium-light_skin_tone","🤛🏼"],["left-facing_fist_medium_skin_tone","🤛🏽"],["left-facing_fist_medium-dark_skin_tone","🤛🏾"],["left-facing_fist_dark_skin_tone","🤛🏿"],["right-facing_fist","🤜"],["right-facing_fist_light_skin_tone","🤜🏻"],["right-facing_fist_medium-light_skin_tone","🤜🏼"],["right-facing_fist_medium_skin_tone","🤜🏽"],["right-facing_fist_medium-dark_skin_tone","🤜🏾"],["right-facing_fist_dark_skin_tone","🤜🏿"],["raised_back_of_hand","🤚"],["raised_back_of_hand_light_skin_tone","🤚🏻"],["raised_back_of_hand_medium-light_skin_tone","🤚🏼"],["raised_back_of_hand_medium_skin_tone","🤚🏽"],["raised_back_of_hand_medium-dark_skin_tone","🤚🏾"],["raised_back_of_hand_dark_skin_tone","🤚🏿"],["waving_hand","👋"],["waving_hand_light_skin_tone","👋🏻"],["waving_hand_medium-light_skin_tone","👋🏼"],["waving_hand_medium_skin_tone","👋🏽"],["waving_hand_medium-dark_skin_tone","👋🏾"],["waving_hand_dark_skin_tone","👋🏿"],["love-you_gesture","🤟"],["love-you_gesture_light_skin_tone","🤟🏻"],["love-you_gesture_medium-light_skin_tone","🤟🏼"],["love-you_gesture_medium_skin_tone","🤟🏽"],["love-you_gesture_medium-dark_skin_tone","🤟🏾"],["love-you_gesture_dark_skin_tone","🤟🏿"],["writing_hand","✍️"],["writing_hand_light_skin_tone","✍🏻"],["writing_hand_medium-light_skin_tone","✍🏼"],["writing_hand_medium_skin_tone","✍🏽"],["writing_hand_medium-dark_skin_tone","✍🏾"],["writing_hand_dark_skin_tone","✍🏿"],["clapping_hands","👏"],["clapping_hands_light_skin_tone","👏🏻"],["clapping_hands_medium-light_skin_tone","👏🏼"],["clapping_hands_medium_skin_tone","👏🏽"],["clapping_hands_medium-dark_skin_tone","👏🏾"],["clapping_hands_dark_skin_tone","👏🏿"],["open_hands","👐"],["open_hands_light_skin_tone","👐🏻"],["open_hands_medium-light_skin_tone","👐🏼"],["open_hands_medium_skin_tone","👐🏽"],["open_hands_medium-dark_skin_tone","👐🏾"],["open_hands_dark_skin_tone","👐🏿"],["raising_hands","🙌"],["raising_hands_light_skin_tone","🙌🏻"],["raising_hands_medium-light_skin_tone","🙌🏼"],["raising_hands_medium_skin_tone","🙌🏽"],["raising_hands_medium-dark_skin_tone","🙌🏾"],["raising_hands_dark_skin_tone","🙌🏿"],["palms_up_together","🤲"],["palms_up_together_light_skin_tone","🤲🏻"],["palms_up_together_medium-light_skin_tone","🤲🏼"],["palms_up_together_medium_skin_tone","🤲🏽"],["palms_up_together_medium-dark_skin_tone","🤲🏾"],["palms_up_together_dark_skin_tone","🤲🏿"],["folded_hands","🙏"],["folded_hands_light_skin_tone","🙏🏻"],["folded_hands_medium-light_skin_tone","🙏🏼"],["folded_hands_medium_skin_tone","🙏🏽"],["folded_hands_medium-dark_skin_tone","🙏🏾"],["folded_hands_dark_skin_tone","🙏🏿"],["handshake","🤝"],["nail_polish","💅"],["nail_polish_light_skin_tone","💅🏻"],["nail_polish_medium-light_skin_tone","💅🏼"],["nail_polish_medium_skin_tone","💅🏽"],["nail_polish_medium-dark_skin_tone","💅🏾"],["nail_polish_dark_skin_tone","💅🏿"],["ear","👂"],["ear_light_skin_tone","👂🏻"],["ear_medium-light_skin_tone","👂🏼"],["ear_medium_skin_tone","👂🏽"],["ear_medium-dark_skin_tone","👂🏾"],["ear_dark_skin_tone","👂🏿"],["nose","👃"],["nose_light_skin_tone","👃🏻"],["nose_medium-light_skin_tone","👃🏼"],["nose_medium_skin_tone","👃🏽"],["nose_medium-dark_skin_tone","👃🏾"],["nose_dark_skin_tone","👃🏿"],["footprints","👣"],["eyes","👀"],["eye","👁️"],["eye_in_speech_bubble","👁️‍🗨️"],["brain","🧠"],["tongue","👅"],["mouth","👄"],["kiss_mark","💋"],["heart_with_arrow","💘"],["red_heart","❤️"],["beating_heart","💓"],["broken_heart","💔"],["two_hearts","💕"],["sparkling_heart","💖"],["growing_heart","💗"],["blue_heart","💙"],["green_heart","💚"],["yellow_heart","💛"],["orange_heart","🧡"],["purple_heart","💜"],["black_heart","🖤"],["heart_with_ribbon","💝"],["revolving_hearts","💞"],["heart_decoration","💟"],["heavy_heart_exclamation","❣️"],["love_letter","💌"],["zzz","💤"],["anger_symbol","💢"],["bomb","💣"],["collision","💥"],["sweat_droplets","💦"],["dashing_away","💨"],["dizzy","💫"],["speech_balloon","💬"],["left_speech_bubble","🗨️"],["right_anger_bubble","🗯️"],["thought_balloon","💭"],["hole","🕳️"],["glasses","👓"],["sunglasses","🕶️"],["necktie","👔"],["t-shirt","👕"],["jeans","👖"],["scarf","🧣"],["gloves","🧤"],["coat","🧥"],["socks","🧦"],["dress","👗"],["kimono","👘"],["bikini","👙"],["woman’s_clothes","👚"],["purse","👛"],["handbag","👜"],["clutch_bag","👝"],["shopping_bags","🛍️"],["school_backpack","🎒"],["man’s_shoe","👞"],["running_shoe","👟"],["high-heeled_shoe","👠"],["woman’s_sandal","👡"],["woman’s_boot","👢"],["crown","👑"],["woman’s_hat","👒"],["top_hat","🎩"],["graduation_cap","🎓"],["billed_cap","🧢"],["rescue_worker’s_helmet","⛑️"],["prayer_beads","📿"],["lipstick","💄"],["ring","💍"],["gem_stone","💎"],["monkey_face","🐵"],["monkey","🐒"],["gorilla","🦍"],["dog_face","🐶"],["dog","🐕"],["poodle","🐩"],["wolf_face","🐺"],["fox_face","🦊"],["cat_face","🐱"],["cat","🐈"],["lion_face","🦁"],["tiger_face","🐯"],["tiger","🐅"],["leopard","🐆"],["horse_face","🐴"],["horse","🐎"],["unicorn_face","🦄"],["zebra","🦓"],["deer","🦌"],["cow_face","🐮"],["ox","🐂"],["water_buffalo","🐃"],["cow","🐄"],["pig_face","🐷"],["pig","🐖"],["boar","🐗"],["pig_nose","🐽"],["ram","🐏"],["ewe","🐑"],["goat","🐐"],["camel","🐪"],["two-hump_camel","🐫"],["giraffe","🦒"],["elephant","🐘"],["rhinoceros","🦏"],["mouse_face","🐭"],["mouse","🐁"],["rat","🐀"],["hamster_face","🐹"],["rabbit_face","🐰"],["rabbit","🐇"],["chipmunk","🐿️"],["hedgehog","🦔"],["bat","🦇"],["bear_face","🐻"],["koala","🐨"],["panda_face","🐼"],["paw_prints","🐾"],["turkey","🦃"],["chicken","🐔"],["rooster","🐓"],["hatching_chick","🐣"],["baby_chick","🐤"],["front-facing_baby_chick","🐥"],["bird","🐦"],["penguin","🐧"],["dove","🕊️"],["eagle","🦅"],["duck","🦆"],["owl","🦉"],["frog_face","🐸"],["crocodile","🐊"],["turtle","🐢"],["lizard","🦎"],["snake","🐍"],["dragon_face","🐲"],["dragon","🐉"],["sauropod","🦕"],["T-Rex","🦖"],["spouting_whale","🐳"],["whale","🐋"],["dolphin","🐬"],["fish","🐟"],["tropical_fish","🐠"],["blowfish","🐡"],["shark","🦈"],["octopus","🐙"],["spiral_shell","🐚"],["crab","🦀"],["shrimp","🦐"],["squid","🦑"],["snail","🐌"],["butterfly","🦋"],["bug","🐛"],["ant","🐜"],["honeybee","🐝"],["lady_beetle","🐞"],["cricket","🦗"],["spider","🕷️"],["spider_web","🕸️"],["scorpion","🦂"],["bouquet","💐"],["cherry_blossom","🌸"],["white_flower","💮"],["rosette","🏵️"],["rose","🌹"],["wilted_flower","🥀"],["hibiscus","🌺"],["sunflower","🌻"],["blossom","🌼"],["tulip","🌷"],["seedling","🌱"],["evergreen_tree","🌲"],["deciduous_tree","🌳"],["palm_tree","🌴"],["cactus","🌵"],["sheaf_of_rice","🌾"],["herb","🌿"],["shamrock","☘️"],["four_leaf_clover","🍀"],["maple_leaf","🍁"],["fallen_leaf","🍂"],["leaf_fluttering_in_wind","🍃"],["grapes","🍇"],["melon","🍈"],["watermelon","🍉"],["tangerine","🍊"],["lemon","🍋"],["banana","🍌"],["pineapple","🍍"],["red_apple","🍎"],["green_apple","🍏"],["pear","🍐"],["peach","🍑"],["cherries","🍒"],["strawberry","🍓"],["kiwi_fruit","🥝"],["tomato","🍅"],["coconut","🥥"],["avocado","🥑"],["eggplant","🍆"],["potato","🥔"],["carrot","🥕"],["ear_of_corn","🌽"],["hot_pepper","🌶️"],["cucumber","🥒"],["broccoli","🥦"],["mushroom","🍄"],["peanuts","🥜"],["chestnut","🌰"],["bread","🍞"],["croissant","🥐"],["baguette_bread","🥖"],["pretzel","🥨"],["pancakes","🥞"],["cheese_wedge","🧀"],["meat_on_bone","🍖"],["poultry_leg","🍗"],["cut_of_meat","🥩"],["bacon","🥓"],["hamburger","🍔"],["french_fries","🍟"],["pizza","🍕"],["hot_dog","🌭"],["sandwich","🥪"],["taco","🌮"],["burrito","🌯"],["stuffed_flatbread","🥙"],["egg","🥚"],["cooking","🍳"],["shallow_pan_of_food","🥘"],["pot_of_food","🍲"],["bowl_with_spoon","🥣"],["green_salad","🥗"],["popcorn","🍿"],["canned_food","🥫"],["bento_box","🍱"],["rice_cracker","🍘"],["rice_ball","🍙"],["cooked_rice","🍚"],["curry_rice","🍛"],["steaming_bowl","🍜"],["spaghetti","🍝"],["roasted_sweet_potato","🍠"],["oden","🍢"],["sushi","🍣"],["fried_shrimp","🍤"],["fish_cake_with_swirl","🍥"],["dango","🍡"],["dumpling","🥟"],["fortune_cookie","🥠"],["takeout_box","🥡"],["soft_ice_cream","🍦"],["shaved_ice","🍧"],["ice_cream","🍨"],["doughnut","🍩"],["cookie","🍪"],["birthday_cake","🎂"],["shortcake","🍰"],["pie","🥧"],["chocolate_bar","🍫"],["candy","🍬"],["lollipop","🍭"],["custard","🍮"],["honey_pot","🍯"],["baby_bottle","🍼"],["glass_of_milk","🥛"],["hot_beverage","☕"],["teacup_without_handle","🍵"],["sake","🍶"],["bottle_with_popping_cork","🍾"],["wine_glass","🍷"],["cocktail_glass","🍸"],["tropical_drink","🍹"],["beer_mug","🍺"],["clinking_beer_mugs","🍻"],["clinking_glasses","🥂"],["tumbler_glass","🥃"],["cup_with_straw","🥤"],["chopsticks","🥢"],["fork_and_knife_with_plate","🍽️"],["fork_and_knife","🍴"],["spoon","🥄"],["kitchen_knife","🔪"],["amphora","🏺"],["globe_showing_Europe-Africa","🌍"],["globe_showing_Americas","🌎"],["globe_showing_Asia-Australia","🌏"],["globe_with_meridians","🌐"],["world_map","🗺️"],["map_of_Japan","🗾"],["snow-capped_mountain","🏔️"],["mountain","⛰️"],["volcano","🌋"],["mount_fuji","🗻"],["camping","🏕️"],["beach_with_umbrella","🏖️"],["desert","🏜️"],["desert_island","🏝️"],["national_park","🏞️"],["stadium","🏟️"],["classical_building","🏛️"],["building_construction","🏗️"],["houses","🏘️"],["cityscape","🏙️"],["derelict_house","🏚️"],["house","🏠"],["house_with_garden","🏡"],["office_building","🏢"],["Japanese_post_office","🏣"],["post_office","🏤"],["hospital","🏥"],["bank","🏦"],["hotel","🏨"],["love_hotel","🏩"],["convenience_store","🏪"],["school","🏫"],["department_store","🏬"],["factory","🏭"],["Japanese_castle","🏯"],["castle","🏰"],["wedding","💒"],["Tokyo_tower","🗼"],["Statue_of_Liberty","🗽"],["church","⛪"],["mosque","🕌"],["synagogue","🕍"],["shinto_shrine","⛩️"],["kaaba","🕋"],["fountain","⛲"],["tent","⛺"],["foggy","🌁"],["night_with_stars","🌃"],["sunrise_over_mountains","🌄"],["sunrise","🌅"],["cityscape_at_dusk","🌆"],["sunset","🌇"],["bridge_at_night","🌉"],["hot_springs","♨️"],["milky_way","🌌"],["carousel_horse","🎠"],["ferris_wheel","🎡"],["roller_coaster","🎢"],["barber_pole","💈"],["circus_tent","🎪"],["performing_arts","🎭"],["framed_picture","🖼️"],["artist_palette","🎨"],["slot_machine","🎰"],["locomotive","🚂"],["railway_car","🚃"],["high-speed_train","🚄"],["bullet_train","🚅"],["train","🚆"],["metro","🚇"],["light_rail","🚈"],["station","🚉"],["tram","🚊"],["monorail","🚝"],["mountain_railway","🚞"],["tram_car","🚋"],["bus","🚌"],["oncoming_bus","🚍"],["trolleybus","🚎"],["minibus","🚐"],["ambulance","🚑"],["fire_engine","🚒"],["police_car","🚓"],["oncoming_police_car","🚔"],["taxi","🚕"],["oncoming_taxi","🚖"],["automobile","🚗"],["oncoming_automobile","🚘"],["sport_utility_vehicle","🚙"],["delivery_truck","🚚"],["articulated_lorry","🚛"],["tractor","🚜"],["bicycle","🚲"],["kick_scooter","🛴"],["motor_scooter","🛵"],["bus_stop","🚏"],["motorway","🛣️"],["railway_track","🛤️"],["fuel_pump","⛽"],["police_car_light","🚨"],["horizontal_traffic_light","🚥"],["vertical_traffic_light","🚦"],["construction","🚧"],["stop_sign","🛑"],["anchor","⚓"],["sailboat","⛵"],["canoe","🛶"],["speedboat","🚤"],["passenger_ship","🛳️"],["ferry","⛴️"],["motor_boat","🛥️"],["ship","🚢"],["airplane","✈️"],["small_airplane","🛩️"],["airplane_departure","🛫"],["airplane_arrival","🛬"],["seat","💺"],["helicopter","🚁"],["suspension_railway","🚟"],["mountain_cableway","🚠"],["aerial_tramway","🚡"],["satellite","🛰️"],["rocket","🚀"],["flying_saucer","🛸"],["bellhop_bell","🛎️"],["door","🚪"],["bed","🛏️"],["couch_and_lamp","🛋️"],["toilet","🚽"],["shower","🚿"],["bathtub","🛁"],["hourglass_done","⌛"],["hourglass_not_done","⏳"],["watch","⌚"],["alarm_clock","⏰"],["stopwatch","⏱️"],["timer_clock","⏲️"],["mantelpiece_clock","🕰️"],["twelve_o’clock","🕛"],["twelve-thirty","🕧"],["one_o’clock","🕐"],["one-thirty","🕜"],["two_o’clock","🕑"],["two-thirty","🕝"],["three_o’clock","🕒"],["three-thirty","🕞"],["four_o’clock","🕓"],["four-thirty","🕟"],["five_o’clock","🕔"],["five-thirty","🕠"],["six_o’clock","🕕"],["six-thirty","🕡"],["seven_o’clock","🕖"],["seven-thirty","🕢"],["eight_o’clock","🕗"],["eight-thirty","🕣"],["nine_o’clock","🕘"],["nine-thirty","🕤"],["ten_o’clock","🕙"],["ten-thirty","🕥"],["eleven_o’clock","🕚"],["eleven-thirty","🕦"],["new_moon","🌑"],["waxing_crescent_moon","🌒"],["first_quarter_moon","🌓"],["waxing_gibbous_moon","🌔"],["full_moon","🌕"],["waning_gibbous_moon","🌖"],["last_quarter_moon","🌗"],["waning_crescent_moon","🌘"],["crescent_moon","🌙"],["new_moon_face","🌚"],["first_quarter_moon_face","🌛"],["last_quarter_moon_face","🌜"],["thermometer","🌡️"],["sun","☀️"],["full_moon_face","🌝"],["sun_with_face","🌞"],["white_medium_star","⭐"],["glowing_star","🌟"],["shooting_star","🌠"],["cloud","☁️"],["sun_behind_cloud","⛅"],["cloud_with_lightning_and_rain","⛈️"],["sun_behind_small_cloud","🌤️"],["sun_behind_large_cloud","🌥️"],["sun_behind_rain_cloud","🌦️"],["cloud_with_rain","🌧️"],["cloud_with_snow","🌨️"],["cloud_with_lightning","🌩️"],["tornado","🌪️"],["fog","🌫️"],["wind_face","🌬️"],["cyclone","🌀"],["rainbow","🌈"],["closed_umbrella","🌂"],["umbrella","☂️"],["umbrella_with_rain_drops","☔"],["umbrella_on_ground","⛱️"],["high_voltage","⚡"],["snowflake","❄️"],["snowman","☃️"],["snowman_without_snow","⛄"],["comet","☄️"],["fire","🔥"],["droplet","💧"],["water_wave","🌊"],["jack-o-lantern","🎃"],["Christmas_tree","🎄"],["fireworks","🎆"],["sparkler","🎇"],["sparkles","✨"],["balloon","🎈"],["party_popper","🎉"],["confetti_ball","🎊"],["tanabata_tree","🎋"],["pine_decoration","🎍"],["Japanese_dolls","🎎"],["carp_streamer","🎏"],["wind_chime","🎐"],["moon_viewing_ceremony","🎑"],["ribbon","🎀"],["wrapped_gift","🎁"],["reminder_ribbon","🎗️"],["admission_tickets","🎟️"],["ticket","🎫"],["military_medal","🎖️"],["trophy","🏆"],["sports_medal","🏅"],["1st_place_medal","🥇"],["2nd_place_medal","🥈"],["3rd_place_medal","🥉"],["soccer_ball","⚽"],["baseball","⚾"],["basketball","🏀"],["volleyball","🏐"],["american_football","🏈"],["rugby_football","🏉"],["tennis","🎾"],["pool_8_ball","🎱"],["bowling","🎳"],["cricket_game","🏏"],["field_hockey","🏑"],["ice_hockey","🏒"],["ping_pong","🏓"],["badminton","🏸"],["boxing_glove","🥊"],["martial_arts_uniform","🥋"],["goal_net","🥅"],["direct_hit","🎯"],["flag_in_hole","⛳"],["ice_skate","⛸️"],["fishing_pole","🎣"],["running_shirt","🎽"],["skis","🎿"],["sled","🛷"],["curling_stone","🥌"],["video_game","🎮"],["joystick","🕹️"],["game_die","🎲"],["spade_suit","♠️"],["heart_suit","♥️"],["diamond_suit","♦️"],["club_suit","♣️"],["joker","🃏"],["mahjong_red_dragon","🀄"],["flower_playing_cards","🎴"],["muted_speaker","🔇"],["speaker_low_volume","🔈"],["speaker_medium_volume","🔉"],["speaker_high_volume","🔊"],["loudspeaker","📢"],["megaphone","📣"],["postal_horn","📯"],["bell","🔔"],["bell_with_slash","🔕"],["musical_score","🎼"],["musical_note","🎵"],["musical_notes","🎶"],["studio_microphone","🎙️"],["level_slider","🎚️"],["control_knobs","🎛️"],["microphone","🎤"],["headphone","🎧"],["radio","📻"],["saxophone","🎷"],["guitar","🎸"],["musical_keyboard","🎹"],["trumpet","🎺"],["violin","🎻"],["drum","🥁"],["mobile_phone","📱"],["mobile_phone_with_arrow","📲"],["telephone","☎️"],["telephone_receiver","📞"],["pager","📟"],["fax_machine","📠"],["battery","🔋"],["electric_plug","🔌"],["laptop_computer","💻"],["desktop_computer","🖥️"],["printer","🖨️"],["keyboard","⌨️"],["computer_mouse","🖱️"],["trackball","🖲️"],["computer_disk","💽"],["floppy_disk","💾"],["optical_disk","💿"],["dvd","📀"],["movie_camera","🎥"],["film_frames","🎞️"],["film_projector","📽️"],["clapper_board","🎬"],["television","📺"],["camera","📷"],["camera_with_flash","📸"],["video_camera","📹"],["videocassette","📼"],["magnifying_glass_tilted_left","🔍"],["magnifying_glass_tilted_right","🔎"],["microscope","🔬"],["telescope","🔭"],["satellite_antenna","📡"],["candle","🕯️"],["light_bulb","💡"],["flashlight","🔦"],["red_paper_lantern","🏮"],["notebook_with_decorative_cover","📔"],["closed_book","📕"],["open_book","📖"],["green_book","📗"],["blue_book","📘"],["orange_book","📙"],["books","📚"],["notebook","📓"],["ledger","📒"],["page_with_curl","📃"],["scroll","📜"],["page_facing_up","📄"],["newspaper","📰"],["rolled-up_newspaper","🗞️"],["bookmark_tabs","📑"],["bookmark","🔖"],["label","🏷️"],["money_bag","💰"],["yen_banknote","💴"],["dollar_banknote","💵"],["euro_banknote","💶"],["pound_banknote","💷"],["money_with_wings","💸"],["credit_card","💳"],["chart_increasing_with_yen","💹"],["currency_exchange","💱"],["heavy_dollar_sign","💲"],["envelope","✉️"],["e-mail","📧"],["incoming_envelope","📨"],["envelope_with_arrow","📩"],["outbox_tray","📤"],["inbox_tray","📥"],["package","📦"],["closed_mailbox_with_raised_flag","📫"],["closed_mailbox_with_lowered_flag","📪"],["open_mailbox_with_raised_flag","📬"],["open_mailbox_with_lowered_flag","📭"],["postbox","📮"],["ballot_box_with_ballot","🗳️"],["pencil","✏️"],["black_nib","✒️"],["fountain_pen","🖋️"],["pen","🖊️"],["paintbrush","🖌️"],["crayon","🖍️"],["memo","📝"],["briefcase","💼"],["file_folder","📁"],["open_file_folder","📂"],["card_index_dividers","🗂️"],["calendar","📅"],["tear-off_calendar","📆"],["spiral_notepad","🗒️"],["spiral_calendar","🗓️"],["card_index","📇"],["chart_increasing","📈"],["chart_decreasing","📉"],["bar_chart","📊"],["clipboard","📋"],["pushpin","📌"],["round_pushpin","📍"],["paperclip","📎"],["linked_paperclips","🖇️"],["straight_ruler","📏"],["triangular_ruler","📐"],["scissors","✂️"],["card_file_box","🗃️"],["file_cabinet","🗄️"],["wastebasket","🗑️"],["locked","🔒"],["unlocked","🔓"],["locked_with_pen","🔏"],["locked_with_key","🔐"],["key","🔑"],["old_key","🗝️"],["hammer","🔨"],["pick","⛏️"],["hammer_and_pick","⚒️"],["hammer_and_wrench","🛠️"],["dagger","🗡️"],["crossed_swords","⚔️"],["pistol","🔫"],["bow_and_arrow","🏹"],["shield","🛡️"],["wrench","🔧"],["nut_and_bolt","🔩"],["gear","⚙️"],["clamp","🗜️"],["alembic","⚗️"],["balance_scale","⚖️"],["link","🔗"],["chains","⛓️"],["syringe","💉"],["pill","💊"],["cigarette","🚬"],["coffin","⚰️"],["funeral_urn","⚱️"],["moai","🗿"],["oil_drum","🛢️"],["crystal_ball","🔮"],["shopping_cart","🛒"],["ATM_sign","🏧"],["litter_in_bin_sign","🚮"],["potable_water","🚰"],["wheelchair_symbol","♿"],["men’s_room","🚹"],["women’s_room","🚺"],["restroom","🚻"],["baby_symbol","🚼"],["water_closet","🚾"],["passport_control","🛂"],["customs","🛃"],["baggage_claim","🛄"],["left_luggage","🛅"],["warning","⚠️"],["children_crossing","🚸"],["no_entry","⛔"],["prohibited","🚫"],["no_bicycles","🚳"],["no_smoking","🚭"],["no_littering","🚯"],["non-potable_water","🚱"],["no_pedestrians","🚷"],["no_mobile_phones","📵"],["no_one_under_eighteen","🔞"],["radioactive","☢️"],["biohazard","☣️"],["up_arrow","⬆️"],["up-right_arrow","↗️"],["right_arrow","➡️"],["down-right_arrow","↘️"],["down_arrow","⬇️"],["down-left_arrow","↙️"],["left_arrow","⬅️"],["up-left_arrow","↖️"],["up-down_arrow","↕️"],["left-right_arrow","↔️"],["right_arrow_curving_left","↩️"],["left_arrow_curving_right","↪️"],["right_arrow_curving_up","⤴️"],["right_arrow_curving_down","⤵️"],["clockwise_vertical_arrows","🔃"],["counterclockwise_arrows_button","🔄"],["BACK_arrow","🔙"],["END_arrow","🔚"],["ON!_arrow","🔛"],["SOON_arrow","🔜"],["TOP_arrow","🔝"],["place_of_worship","🛐"],["atom_symbol","⚛️"],["om","🕉️"],["star_of_David","✡️"],["wheel_of_dharma","☸️"],["yin_yang","☯️"],["latin_cross","✝️"],["orthodox_cross","☦️"],["star_and_crescent","☪️"],["peace_symbol","☮️"],["menorah","🕎"],["dotted_six-pointed_star","🔯"],["Aries","♈"],["Taurus","♉"],["Gemini","♊"],["Cancer","♋"],["Leo","♌"],["Virgo","♍"],["Libra","♎"],["Scorpius","♏"],["Sagittarius","♐"],["Capricorn","♑"],["Aquarius","♒"],["Pisces","♓"],["Ophiuchus","⛎"],["shuffle_tracks_button","🔀"],["repeat_button","🔁"],["repeat_single_button","🔂"],["play_button","▶️"],["fast-forward_button","⏩"],["next_track_button","⏭️"],["play_or_pause_button","⏯️"],["reverse_button","◀️"],["fast_reverse_button","⏪"],["last_track_button","⏮️"],["up_button","🔼"],["fast_up_button","⏫"],["down_button","🔽"],["fast_down_button","⏬"],["pause_button","⏸️"],["stop_button","⏹️"],["record_button","⏺️"],["eject_button","⏏️"],["cinema","🎦"],["dim_button","🔅"],["bright_button","🔆"],["antenna_bars","📶"],["vibration_mode","📳"],["mobile_phone_off","📴"],["female_sign","♀️"],["male_sign","♂️"],["medical_symbol","⚕️"],["recycling_symbol","♻️"],["fleur-de-lis","⚜️"],["trident_emblem","🔱"],["name_badge","📛"],["Japanese_symbol_for_beginner","🔰"],["heavy_large_circle","⭕"],["white_heavy_check_mark","✅"],["ballot_box_with_check","☑️"],["heavy_check_mark","✔️"],["heavy_multiplication_x","✖️"],["cross_mark","❌"],["cross_mark_button","❎"],["heavy_plus_sign","➕"],["heavy_minus_sign","➖"],["heavy_division_sign","➗"],["curly_loop","➰"],["double_curly_loop","➿"],["part_alternation_mark","〽️"],["eight-spoked_asterisk","✳️"],["eight-pointed_star","✴️"],["sparkle","❇️"],["double_exclamation_mark","‼️"],["exclamation_question_mark","⁉️"],["question_mark","❓"],["white_question_mark","❔"],["white_exclamation_mark","❕"],["exclamation_mark","❗"],["wavy_dash","〰️"],["copyright","©️"],["registered","®️"],["trade_mark","™️"],["keycap_#","#️⃣"],["keycap_*","*️⃣"],["keycap_0","0️⃣"],["keycap_1","1️⃣"],["keycap_2","2️⃣"],["keycap_3","3️⃣"],["keycap_4","4️⃣"],["keycap_5","5️⃣"],["keycap_6","6️⃣"],["keycap_7","7️⃣"],["keycap_8","8️⃣"],["keycap_9","9️⃣"],["keycap_10","🔟"],["hundred_points","💯"],["input_latin_uppercase","🔠"],["input_latin_lowercase","🔡"],["input_numbers","🔢"],["input_symbols","🔣"],["input_latin_letters","🔤"],["A_button_(blood_type)","🅰️"],["AB_button_(blood_type)","🆎"],["B_button_(blood_type)","🅱️"],["CL_button","🆑"],["COOL_button","🆒"],["FREE_button","🆓"],["information","ℹ️"],["ID_button","🆔"],["circled_M","Ⓜ️"],["NEW_button","🆕"],["NG_button","🆖"],["O_button_(blood_type)","🅾️"],["OK_button","🆗"],["P_button","🅿️"],["SOS_button","🆘"],["UP!_button","🆙"],["VS_button","🆚"],["Japanese_“here”_button","🈁"],["Japanese_“service_charge”_button","🈂️"],["Japanese_“monthly_amount”_button","🈷️"],["Japanese_“not_free_of_charge”_button","🈶"],["Japanese_“reserved”_button","🈯"],["Japanese_“bargain”_button","🉐"],["Japanese_“discount”_button","🈹"],["Japanese_“free_of_charge”_button","🈚"],["Japanese_“prohibited”_button","🈲"],["Japanese_“acceptable”_button","🉑"],["Japanese_“application”_button","🈸"],["Japanese_“passing_grade”_button","🈴"],["Japanese_“vacancy”_button","🈳"],["Japanese_“congratulations”_button","㊗️"],["Japanese_“secret”_button","㊙️"],["Japanese_“open_for_business”_button","🈺"],["Japanese_“no_vacancy”_button","🈵"],["black_small_square","▪️"],["white_small_square","▫️"],["white_medium_square","◻️"],["black_medium_square","◼️"],["white_medium-small_square","◽"],["black_medium-small_square","◾"],["black_large_square","⬛"],["white_large_square","⬜"],["large_orange_diamond","🔶"],["large_blue_diamond","🔷"],["small_orange_diamond","🔸"],["small_blue_diamond","🔹"],["red_triangle_pointed_up","🔺"],["red_triangle_pointed_down","🔻"],["diamond_with_a_dot","💠"],["radio_button","🔘"],["black_square_button","🔲"],["white_square_button","🔳"],["white_circle","⚪"],["black_circle","⚫"],["red_circle","🔴"],["blue_circle","🔵"],["chequered_flag","🏁"],["triangular_flag","🚩"],["crossed_flags","🎌"],["black_flag","🏴"],["white_flag","🏳️"],["rainbow_flag","🏳️‍🌈"],["Ascension_Island","🇦🇨"],["Andorra","🇦🇩"],["United_Arab_Emirates","🇦🇪"],["Afghanistan","🇦🇫"],["Antigua_&_Barbuda","🇦🇬"],["Anguilla","🇦🇮"],["Albania","🇦🇱"],["Armenia","🇦🇲"],["Angola","🇦🇴"],["Antarctica","🇦🇶"],["Argentina","🇦🇷"],["American_Samoa","🇦🇸"],["Austria","🇦🇹"],["Australia","🇦🇺"],["Aruba","🇦🇼"],["Åland_Islands","🇦🇽"],["Azerbaijan","🇦🇿"],["Bosnia_&_Herzegovina","🇧🇦"],["Barbados","🇧🇧"],["Bangladesh","🇧🇩"],["Belgium","🇧🇪"],["Burkina_Faso","🇧🇫"],["Bulgaria","🇧🇬"],["Bahrain","🇧🇭"],["Burundi","🇧🇮"],["Benin","🇧🇯"],["St._Barthélemy","🇧🇱"],["Bermuda","🇧🇲"],["Brunei","🇧🇳"],["Bolivia","🇧🇴"],["Caribbean_Netherlands","🇧🇶"],["Brazil","🇧🇷"],["Bahamas","🇧🇸"],["Bhutan","🇧🇹"],["Bouvet_Island","🇧🇻"],["Botswana","🇧🇼"],["Belarus","🇧🇾"],["Belize","🇧🇿"],["Canada","🇨🇦"],["Cocos_(Keeling)_Islands","🇨🇨"],["Congo_-_Kinshasa","🇨🇩"],["Central_African_Republic","🇨🇫"],["Congo_-_Brazzaville","🇨🇬"],["Switzerland","🇨🇭"],["Côte_d’Ivoire","🇨🇮"],["Cook_Islands","🇨🇰"],["Chile","🇨🇱"],["Cameroon","🇨🇲"],["China","🇨🇳"],["Colombia","🇨🇴"],["Clipperton_Island","🇨🇵"],["Costa_Rica","🇨🇷"],["Cuba","🇨🇺"],["Cape_Verde","🇨🇻"],["Curaçao","🇨🇼"],["Christmas_Island","🇨🇽"],["Cyprus","🇨🇾"],["Czechia","🇨🇿"],["Germany","🇩🇪"],["Diego_Garcia","🇩🇬"],["Djibouti","🇩🇯"],["Denmark","🇩🇰"],["Dominica","🇩🇲"],["Dominican_Republic","🇩🇴"],["Algeria","🇩🇿"],["Ceuta_&_Melilla","🇪🇦"],["Ecuador","🇪🇨"],["Estonia","🇪🇪"],["Egypt","🇪🇬"],["Western_Sahara","🇪🇭"],["Eritrea","🇪🇷"],["Spain","🇪🇸"],["Ethiopia","🇪🇹"],["European_Union","🇪🇺"],["Finland","🇫🇮"],["Fiji","🇫🇯"],["Falkland_Islands","🇫🇰"],["Micronesia","🇫🇲"],["Faroe_Islands","🇫🇴"],["France","🇫🇷"],["Gabon","🇬🇦"],["United_Kingdom","🇬🇧"],["Grenada","🇬🇩"],["Georgia","🇬🇪"],["French_Guiana","🇬🇫"],["Guernsey","🇬🇬"],["Ghana","🇬🇭"],["Gibraltar","🇬🇮"],["Greenland","🇬🇱"],["Gambia","🇬🇲"],["Guinea","🇬🇳"],["Guadeloupe","🇬🇵"],["Equatorial_Guinea","🇬🇶"],["Greece","🇬🇷"],["South_Georgia_&_South_Sandwich_Islands","🇬🇸"],["Guatemala","🇬🇹"],["Guam","🇬🇺"],["Guinea-Bissau","🇬🇼"],["Guyana","🇬🇾"],["Hong_Kong_SAR_China","🇭🇰"],["Heard_&_McDonald_Islands","🇭🇲"],["Honduras","🇭🇳"],["Croatia","🇭🇷"],["Haiti","🇭🇹"],["Hungary","🇭🇺"],["Canary_Islands","🇮🇨"],["Indonesia","🇮🇩"],["Ireland","🇮🇪"],["Israel","🇮🇱"],["Isle_of_Man","🇮🇲"],["India","🇮🇳"],["British_Indian_Ocean_Territory","🇮🇴"],["Iraq","🇮🇶"],["Iran","🇮🇷"],["Iceland","🇮🇸"],["Italy","🇮🇹"],["Jersey","🇯🇪"],["Jamaica","🇯🇲"],["Jordan","🇯🇴"],["Japan","🇯🇵"],["Kenya","🇰🇪"],["Kyrgyzstan","🇰🇬"],["Cambodia","🇰🇭"],["Kiribati","🇰🇮"],["Comoros","🇰🇲"],["St._Kitts_&_Nevis","🇰🇳"],["North_Korea","🇰🇵"],["South_Korea","🇰🇷"],["Kuwait","🇰🇼"],["Cayman_Islands","🇰🇾"],["Kazakhstan","🇰🇿"],["Laos","🇱🇦"],["Lebanon","🇱🇧"],["St._Lucia","🇱🇨"],["Liechtenstein","🇱🇮"],["Sri_Lanka","🇱🇰"],["Liberia","🇱🇷"],["Lesotho","🇱🇸"],["Lithuania","🇱🇹"],["Luxembourg","🇱🇺"],["Latvia","🇱🇻"],["Libya","🇱🇾"],["Morocco","🇲🇦"],["Monaco","🇲🇨"],["Moldova","🇲🇩"],["Montenegro","🇲🇪"],["St._Martin","🇲🇫"],["Madagascar","🇲🇬"],["Marshall_Islands","🇲🇭"],["Macedonia","🇲🇰"],["Mali","🇲🇱"],["Myanmar_(Burma)","🇲🇲"],["Mongolia","🇲🇳"],["Macau_SAR_China","🇲🇴"],["Northern_Mariana_Islands","🇲🇵"],["Martinique","🇲🇶"],["Mauritania","🇲🇷"],["Montserrat","🇲🇸"],["Malta","🇲🇹"],["Mauritius","🇲🇺"],["Maldives","🇲🇻"],["Malawi","🇲🇼"],["Mexico","🇲🇽"],["Malaysia","🇲🇾"],["Mozambique","🇲🇿"],["Namibia","🇳🇦"],["New_Caledonia","🇳🇨"],["Niger","🇳🇪"],["Norfolk_Island","🇳🇫"],["Nigeria","🇳🇬"],["Nicaragua","🇳🇮"],["Netherlands","🇳🇱"],["Norway","🇳🇴"],["Nepal","🇳🇵"],["Nauru","🇳🇷"],["Niue","🇳🇺"],["New_Zealand","🇳🇿"],["Oman","🇴🇲"],["Panama","🇵🇦"],["Peru","🇵🇪"],["French_Polynesia","🇵🇫"],["Papua_New_Guinea","🇵🇬"],["Philippines","🇵🇭"],["Pakistan","🇵🇰"],["Poland","🇵🇱"],["St._Pierre_&_Miquelon","🇵🇲"],["Pitcairn_Islands","🇵🇳"],["Puerto_Rico","🇵🇷"],["Palestinian_Territories","🇵🇸"],["Portugal","🇵🇹"],["Palau","🇵🇼"],["Paraguay","🇵🇾"],["Qatar","🇶🇦"],["Réunion","🇷🇪"],["Romania","🇷🇴"],["Serbia","🇷🇸"],["Russia","🇷🇺"],["Rwanda","🇷🇼"],["Saudi_Arabia","🇸🇦"],["Solomon_Islands","🇸🇧"],["Seychelles","🇸🇨"],["Sudan","🇸🇩"],["Sweden","🇸🇪"],["Singapore","🇸🇬"],["St._Helena","🇸🇭"],["Slovenia","🇸🇮"],["Svalbard_&_Jan_Mayen","🇸🇯"],["Slovakia","🇸🇰"],["Sierra_Leone","🇸🇱"],["San_Marino","🇸🇲"],["Senegal","🇸🇳"],["Somalia","🇸🇴"],["Suriname","🇸🇷"],["South_Sudan","🇸🇸"],["São_Tomé_&_Príncipe","🇸🇹"],["El_Salvador","🇸🇻"],["Sint_Maarten","🇸🇽"],["Syria","🇸🇾"],["Swaziland","🇸🇿"],["Tristan_da_Cunha","🇹🇦"],["Turks_&_Caicos_Islands","🇹🇨"],["Chad","🇹🇩"],["French_Southern_Territories","🇹🇫"],["Togo","🇹🇬"],["Thailand","🇹🇭"],["Tajikistan","🇹🇯"],["Tokelau","🇹🇰"],["Timor-Leste","🇹🇱"],["Turkmenistan","🇹🇲"],["Tunisia","🇹🇳"],["Tonga","🇹🇴"],["Turkey","🇹🇷"],["Trinidad_&_Tobago","🇹🇹"],["Tuvalu","🇹🇻"],["Taiwan","🇹🇼"],["Tanzania","🇹🇿"],["Ukraine","🇺🇦"],["Uganda","🇺🇬"],["U.S._Outlying_Islands","🇺🇲"],["United_Nations","🇺🇳"],["United_States","🇺🇸"],["Uruguay","🇺🇾"],["Uzbekistan","🇺🇿"],["Vatican_City","🇻🇦"],["St._Vincent_&_Grenadines","🇻🇨"],["Venezuela","🇻🇪"],["British_Virgin_Islands","🇻🇬"],["U.S._Virgin_Islands","🇻🇮"],["Vietnam","🇻🇳"],["Vanuatu","🇻🇺"],["Wallis_&_Futuna","🇼🇫"],["Samoa","🇼🇸"],["Kosovo","🇽🇰"],["Yemen","🇾🇪"],["Mayotte","🇾🇹"],["South_Africa","🇿🇦"],["Zambia","🇿🇲"],["Zimbabwe","🇿🇼"],["England","🏴󠁧󠁢󠁥󠁮󠁧󠁿"],["Scotland","🏴󠁧󠁢󠁳󠁣󠁴󠁿"],["Wales","🏴󠁧󠁢󠁷󠁬󠁳󠁿"]],csrftoken=$("meta[name=csrf-token]").attr("content"),show_management_search=function(){var e=$(".management-body").find(".search-form");e.slideToggle(function(){"none"!=e.css("display")&&e.find("input").focus()})},flash_message=function(e){var t=$("#flashed-messages"),n='<div class="alert alert-'+e.category+'">';"success"==e.category?n+='<span class="glyphicon glyphicon-ok-sign"></span>&nbsp;':"error"==e.category?n+='<span class="glyphicon glyphicon-exclamation-sign"></span>&nbsp;':n+='<span class="glyphicon glyphicon-info-sign"></span>&nbsp;',n+='<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>'+e.message+"</div>",t.append(n)},BulkActions=function(){this.execute=function(e){var t=$("input.action-checkbox:checked").length,n={ids:[]};return 0!==t&&($("input.action-checkbox:checked").each(function(e,t){n.ids.push($(t).val())}),this.confirm(e,n),!1)},this.confirm=function(e,t){$(".confirmModal").modal({keyboard:!1}).one("click",".confirmBtn",function(){$(".confirmModal").modal("hide"),send_data(e,t)}).on("hidden.bs.modal",function(){$(".confirmBtn").unbind()})}},send_data=function(e,t){$.ajax({url:e,method:"POST",data:JSON.stringify(t),dataType:"json",contentType:"application/json",beforeSend:function(e,t){/^(GET|HEAD|OPTIONS|TRACE)$/i.test(t.type)||this.crossDomain||e.setRequestHeader("X-CSRFToken",csrftoken)}}).done(function(e){flash_message(e),$.each(e.data,function(e,t){var n=$("#"+t.type+"-"+t.id);t.reverse?(n.attr("action",t.reverse_url),"ban"==t.type?reverse_html='<span class="fa fa-flag text-success" data-toggle="tooltip" data-placement="top" title="'+t.reverse_name+'"></span>':"unban"==t.type&&(reverse_html='<span class="fa fa-flag text-warning" data-toggle="tooltip" data-placement="top" title="'+t.reverse_name+'"></span>'),n.find("button").html(reverse_html)):"delete"==t.type&&n.parents(".row").remove()})}).fail(function(e){flash_message(e)})},parse_emoji=function(e){return twemoji.parse(e,{callback:function(e,t,n){switch(e){case"a9":case"ae":case"2122":return!1}return"".concat(t.base,t.size,"/",e,t.ext)},folder:"svg",ext:".svg"})};$(document).ready(function(){$(".action-checkall").change(function(){$("input.action-checkbox").prop("checked",this.checked)}),$(".reply-btn").click(function(e){e.preventDefault();var t=$(this).attr("data-message-id");$.get("/message/message/"+t+"/raw",function(e){var t=$(".flaskbb-editor");t.val((t.val()+"\n"+e).trim()+"\n"),t.selectionStart=t.selectionEnd=t.val().length,t[0].scrollTop=t[0].scrollHeight,window.location.href="#content"})}),$(".quote-btn").click(function(e){e.preventDefault();var t=$(this).attr("data-post-id");$.get("/post/"+t+"/raw",function(e){var t=$(".flaskbb-editor");t.val((t.val()+"\n"+e).trim()+"\n"),t.selectionStart=t.selectionEnd=t.val().length,t[0].scrollTop=t[0].scrollHeight,window.location.href="#content"})}),$('button[name="confirmDialog"]').on("click",function(e){var t=$(this).closest("form");e.preventDefault(),$(".confirmModal").modal({keyboard:!0}).one("click",".confirmBtn",function(){t.trigger("submit")}).on("hidden.bs.modal",function(){$(".confirmBtn").unbind()})}),parse_emoji(document.body)});

+ 1 - 1
flaskbb/templates/editor_help.html

@@ -10,7 +10,7 @@
                 <div class="cheatsheet">
                     <h2>Emojis</h2>
                     <div class="emojis">
-                        A full list of available emojis can be found <a href="http://www.emoji-cheat-sheet.com/">here</a>.
+                        To enter emoji, type a colon and let the editor autocomplete the emoji short name for you. A full list of available emoji can be found <a href="https://unicode.org/emoji/charts/full-emoji-list.html">here</a>.
                     </div>
 
                     <h2>Typography</h2>

+ 2 - 0
flaskbb/templates/layout.html

@@ -26,6 +26,8 @@
         <link rel="stylesheet" href="{{ url_for('static', filename='css/styles.css') }}">
         <!-- lato font -->
         <link href="https://fonts.googleapis.com/css?family=Lato:300,400,700,300italic,400italic,700italic" rel="stylesheet" type="text/css">
+        <!-- emoji -->
+        <script src="https://twemoji.maxcdn.com/2/twemoji.min.js?2.5"></script>
         {% endblock %}
 
         {# for extra stylesheets. e.q. a template has to add something #}

+ 29 - 0
flaskbb/themes/aurora/build_emoji_set.py

@@ -0,0 +1,29 @@
+import sys
+import re
+
+import requests
+
+
+URL = 'https://unicode.org/Public/emoji/{}/emoji-test.txt'.format(sys.argv[1])
+
+
+def get_annotations():
+    resp = requests.get(URL)
+    resp.raise_for_status()
+    for line in resp.text.split('\n'):
+        match = re.match('(.+?); fully-qualified +?# .+? (.+)', line)
+        if match is not None:
+            yield (
+                ''.join(chr(int(h, 16))
+                        for h in
+                        match.group(1).strip().split(' ')),
+                match.group(2)
+            )
+
+
+with open('src/js/emoji.js', 'w') as f:
+    f.write('var emojies = [\n')
+    for character, name in get_annotations():
+        name = name.replace(':', '').replace(' ', '_')
+        f.write('    ["{}", "{}"],\n'.format(name, character))
+    f.write('];\n')

+ 8 - 5
flaskbb/themes/aurora/src/js/editor.js

@@ -25,22 +25,25 @@ $(".flaskbb-editor").markdown({
                 }
             }]
         }]
-    ]
+    ],
+    onPreview: function(e) {
+        return parse_emoji(e.getContent());
+    }
 });
 
 $('.flaskbb-editor').textcomplete([
     { // emoji strategy
         match: /\B:([\-+\w]*)$/,
         search: function (term, callback) {
-            callback($.map(emojies, function (emoji) {
-                return emoji.indexOf(term) === 0 ? emoji : null;
+            callback($.map(emojies, function (value) {
+                return value[0].indexOf(term) !== -1 ? {character: value[1], name: value[0]} : null;
             }));
         },
         template: function (value) {
-            return '<img class="emoji" src="/static/emoji/' + value + '.png"></img>' + value;
+            return parse_emoji(value.character) + ' ' + value.name;
         },
         replace: function (value) {
-            return ':' + value + ': ';
+            return value.character + ' ';
         },
         index: 1
     },

+ 2623 - 162
flaskbb/themes/aurora/src/js/emoji.js

@@ -1,164 +1,2625 @@
 var emojies = [
-    '+1', '-1', '100', '1234', '8ball', 'a', 'ab', 'abc', 'abcd', 'accept',
-    'aerial_tramway', 'airplane', 'alarm_clock', 'alien', 'ambulance', 'anchor',
-    'angel', 'anger', 'angry', 'anguished', 'ant', 'apple', 'aquarius', 'aries',
-    'arrow_backward', 'arrow_double_down', 'arrow_double_up', 'arrow_down',
-    'arrow_down_small', 'arrow_forward', 'arrow_heading_down',
-    'arrow_heading_up', 'arrow_left', 'arrow_lower_left', 'arrow_lower_right',
-    'arrow_right', 'arrow_right_hook', 'arrow_up', 'arrow_up_down',
-    'arrow_up_small', 'arrow_upper_left', 'arrow_upper_right',
-    'arrows_clockwise', 'arrows_counterclockwise', 'art', 'articulated_lorry',
-    'astonished', 'athletic_shoe', 'atm', 'b', 'baby', 'baby_bottle',
-    'baby_chick', 'baby_symbol', 'back', 'baggage_claim', 'balloon',
-    'ballot_box_with_check', 'bamboo', 'banana', 'bangbang', 'bank', 'bar_chart',
-    'barber', 'baseball', 'basketball', 'bath', 'bathtub', 'battery', 'bear',
-    'bee', 'beer', 'beers', 'beetle', 'beginner', 'bell', 'bento', 'bicyclist',
-    'bike', 'bikini', 'bird', 'birthday', 'black_circle', 'black_joker',
-    'black_large_square', 'black_medium_small_square', 'black_medium_square',
-    'black_nib', 'black_small_square', 'black_square_button', 'blossom',
-    'blowfish', 'blue_book', 'blue_car', 'blue_heart', 'blush', 'boar', 'boat',
-    'bomb', 'book', 'bookmark', 'bookmark_tabs', 'books', 'boom', 'boot',
-    'bouquet', 'bow', 'bowling', 'bowtie', 'boy', 'bread', 'bride_with_veil',
-    'bridge_at_night', 'briefcase', 'broken_heart', 'bug', 'bulb',
-    'bullettrain_front', 'bullettrain_side', 'bus', 'busstop',
-    'bust_in_silhouette', 'busts_in_silhouette', 'cactus', 'cake', 'calendar',
-    'calling', 'camel', 'camera', 'cancer', 'candy', 'capital_abcd', 'capricorn',
-    'car', 'card_index', 'carousel_horse', 'cat', 'cat2', 'cd', 'chart',
-    'chart_with_downwards_trend', 'chart_with_upwards_trend', 'checkered_flag',
-    'cherries', 'cherry_blossom', 'chestnut', 'chicken', 'children_crossing',
-    'chocolate_bar', 'christmas_tree', 'church', 'cinema', 'circus_tent',
-    'city_sunrise', 'city_sunset', 'cl', 'clap', 'clapper', 'clipboard',
-    'clock1', 'clock10', 'clock1030', 'clock11', 'clock1130', 'clock12',
-    'clock1230', 'clock130', 'clock2', 'clock230', 'clock3', 'clock330',
-    'clock4', 'clock430', 'clock5', 'clock530', 'clock6', 'clock630', 'clock7',
-    'clock730', 'clock8', 'clock830', 'clock9', 'clock930', 'closed_book',
-    'closed_lock_with_key', 'closed_umbrella', 'cloud', 'clubs', 'cn',
-    'cocktail', 'coffee', 'cold_sweat', 'collision', 'computer', 'confetti_ball',
-    'confounded', 'confused', 'congratulations', 'construction',
-    'construction_worker', 'convenience_store', 'cookie', 'cool', 'cop',
-    'copyright', 'corn', 'couple', 'couple_with_heart', 'couplekiss', 'cow',
-    'cow2', 'credit_card', 'crescent_moon', 'crocodile', 'crossed_flags',
-    'crown', 'cry', 'crying_cat_face', 'crystal_ball', 'cupid', 'curly_loop',
-    'currency_exchange', 'curry', 'custard', 'customs', 'cyclone', 'dancer',
-    'dancers', 'dango', 'dart', 'dash', 'date', 'de', 'deciduous_tree',
-    'department_store', 'diamond_shape_with_a_dot_inside', 'diamonds',
-    'disappointed', 'disappointed_relieved', 'dizzy', 'dizzy_face',
-    'do_not_litter', 'dog', 'dog2', 'dollar', 'dolls', 'dolphin', 'door',
-    'doughnut', 'dragon', 'dragon_face', 'dress', 'dromedary_camel', 'droplet',
-    'dvd', 'e-mail', 'ear', 'ear_of_rice', 'earth_africa', 'earth_americas',
-    'earth_asia', 'egg', 'eggplant', 'eight', 'eight_pointed_black_star',
-    'eight_spoked_asterisk', 'electric_plug', 'elephant', 'email', 'end',
-    'envelope', 'envelope_with_arrow', 'es', 'euro', 'european_castle',
-    'european_post_office', 'evergreen_tree', 'exclamation', 'expressionless',
-    'eyeglasses', 'eyes', 'facepunch', 'factory', 'fallen_leaf', 'family',
-    'fast_forward', 'fax', 'fearful', 'feelsgood', 'feet', 'ferris_wheel',
-    'file_folder', 'finnadie', 'fire', 'fire_engine', 'fireworks',
-    'first_quarter_moon', 'first_quarter_moon_with_face', 'fish', 'fish_cake',
-    'fishing_pole_and_fish', 'fist', 'five', 'flags', 'flashlight',
-    'floppy_disk', 'flower_playing_cards', 'flushed', 'foggy', 'football',
-    'footprints', 'fork_and_knife', 'fountain', 'four', 'four_leaf_clover', 'fr',
-    'free', 'fried_shrimp', 'fries', 'frog', 'frowning', 'fu', 'fuelpump',
-    'full_moon', 'full_moon_with_face', 'game_die', 'gb', 'gem', 'gemini',
-    'ghost', 'gift', 'gift_heart', 'girl', 'globe_with_meridians', 'goat',
-    'goberserk', 'godmode', 'golf', 'grapes', 'green_apple', 'green_book',
-    'green_heart', 'grey_exclamation', 'grey_question', 'grimacing', 'grin',
-    'grinning', 'guardsman', 'guitar', 'gun', 'haircut', 'hamburger', 'hammer',
-    'hamster', 'hand', 'handbag', 'hankey', 'hash', 'hatched_chick',
-    'hatching_chick', 'headphones', 'hear_no_evil', 'heart', 'heart_decoration',
-    'heart_eyes', 'heart_eyes_cat', 'heartbeat', 'heartpulse', 'hearts',
-    'heavy_check_mark', 'heavy_division_sign', 'heavy_dollar_sign',
-    'heavy_exclamation_mark', 'heavy_minus_sign', 'heavy_multiplication_x',
-    'heavy_plus_sign', 'helicopter', 'herb', 'hibiscus', 'high_brightness',
-    'high_heel', 'hocho', 'honey_pot', 'honeybee', 'horse', 'horse_racing',
-    'hospital', 'hotel', 'hotsprings', 'hourglass', 'hourglass_flowing_sand',
-    'house', 'house_with_garden', 'hurtrealbad', 'hushed', 'ice_cream',
-    'icecream', 'id', 'ideograph_advantage', 'imp', 'inbox_tray',
-    'incoming_envelope', 'information_desk_person', 'information_source',
-    'innocent', 'interrobang', 'iphone', 'it', 'izakaya_lantern',
-    'jack_o_lantern', 'japan', 'japanese_castle', 'japanese_goblin',
-    'japanese_ogre', 'jeans', 'joy', 'joy_cat', 'jp', 'key', 'keycap_ten',
-    'kimono', 'kiss', 'kissing', 'kissing_cat', 'kissing_closed_eyes',
-    'kissing_heart', 'kissing_smiling_eyes', 'koala', 'koko', 'kr', 'lantern',
-    'large_blue_circle', 'large_blue_diamond', 'large_orange_diamond',
-    'last_quarter_moon', 'last_quarter_moon_with_face', 'laughing', 'leaves',
-    'ledger', 'left_luggage', 'left_right_arrow', 'leftwards_arrow_with_hook',
-    'lemon', 'leo', 'leopard', 'libra', 'light_rail', 'link', 'lips', 'lipstick',
-    'lock', 'lock_with_ink_pen', 'lollipop', 'loop', 'loudspeaker', 'love_hotel',
-    'love_letter', 'low_brightness', 'm', 'mag', 'mag_right', 'mahjong',
-    'mailbox', 'mailbox_closed', 'mailbox_with_mail', 'mailbox_with_no_mail',
-    'man', 'man_with_gua_pi_mao', 'man_with_turban', 'mans_shoe', 'maple_leaf',
-    'mask', 'massage', 'meat_on_bone', 'mega', 'melon', 'memo', 'mens', 'metal',
-    'metro', 'microphone', 'microscope', 'milky_way', 'minibus', 'minidisc',
-    'mobile_phone_off', 'money_with_wings', 'moneybag', 'monkey', 'monkey_face',
-    'monorail', 'moon', 'mortar_board', 'mount_fuji', 'mountain_bicyclist',
-    'mountain_cableway', 'mountain_railway', 'mouse', 'mouse2', 'movie_camera',
-    'moyai', 'muscle', 'mushroom', 'musical_keyboard', 'musical_note',
-    'musical_score', 'mute', 'nail_care', 'name_badge', 'neckbeard', 'necktie',
-    'negative_squared_cross_mark', 'neutral_face', 'new', 'new_moon',
-    'new_moon_with_face', 'newspaper', 'ng', 'nine', 'no_bell', 'no_bicycles',
-    'no_entry', 'no_entry_sign', 'no_good', 'no_mobile_phones', 'no_mouth',
-    'no_pedestrians', 'no_smoking', 'non-potable_water', 'nose', 'notebook',
-    'notebook_with_decorative_cover', 'notes', 'nut_and_bolt', 'o', 'o2',
-    'ocean', 'octocat', 'octopus', 'oden', 'office', 'ok', 'ok_hand', 'ok_woman',
-    'older_man', 'older_woman', 'on', 'oncoming_automobile', 'oncoming_bus',
-    'oncoming_police_car', 'oncoming_taxi', 'one', 'open_book',
-    'open_file_folder', 'open_hands', 'open_mouth', 'ophiuchus', 'orange_book',
-    'outbox_tray', 'ox', 'package', 'page_facing_up', 'page_with_curl', 'pager',
-    'palm_tree', 'panda_face', 'paperclip', 'parking', 'part_alternation_mark',
-    'partly_sunny', 'passport_control', 'paw_prints', 'peach', 'pear', 'pencil',
-    'pencil2', 'penguin', 'pensive', 'performing_arts', 'persevere',
-    'person_frowning', 'person_with_blond_hair', 'person_with_pouting_face',
-    'phone', 'pig', 'pig2', 'pig_nose', 'pill', 'pineapple', 'pisces', 'pizza',
-    'point_down', 'point_left', 'point_right', 'point_up', 'point_up_2',
-    'police_car', 'poodle', 'poop', 'post_office', 'postal_horn', 'postbox',
-    'potable_water', 'pouch', 'poultry_leg', 'pound', 'pouting_cat', 'pray',
-    'princess', 'punch', 'purple_heart', 'purse', 'pushpin',
-    'put_litter_in_its_place', 'question', 'rabbit', 'rabbit2', 'racehorse',
-    'radio', 'radio_button', 'rage', 'rage1', 'rage2', 'rage3', 'rage4',
-    'railway_car', 'rainbow', 'raised_hand', 'raised_hands', 'raising_hand',
-    'ram', 'ramen', 'rat', 'recycle', 'red_car', 'red_circle', 'registered',
-    'relaxed', 'relieved', 'repeat', 'repeat_one', 'restroom',
-    'revolving_hearts', 'rewind', 'ribbon', 'rice', 'rice_ball', 'rice_cracker',
-    'rice_scene', 'ring', 'rocket', 'roller_coaster', 'rooster', 'rose',
-    'rotating_light', 'round_pushpin', 'rowboat', 'ru', 'rugby_football',
-    'runner', 'running', 'running_shirt_with_sash', 'sa', 'sagittarius',
-    'sailboat', 'sake', 'sandal', 'santa', 'satellite', 'satisfied', 'saxophone',
-    'school', 'school_satchel', 'scissors', 'scorpius', 'scream', 'scream_cat',
-    'scroll', 'seat', 'secret', 'see_no_evil', 'seedling', 'seven', 'shaved_ice',
-    'sheep', 'shell', 'ship', 'shipit', 'shirt', 'shit', 'shoe', 'shower',
-    'signal_strength', 'six', 'six_pointed_star', 'ski', 'skull', 'sleeping',
-    'sleepy', 'slot_machine', 'small_blue_diamond', 'small_orange_diamond',
-    'small_red_triangle', 'small_red_triangle_down', 'smile', 'smile_cat',
-    'smiley', 'smiley_cat', 'smiling_imp', 'smirk', 'smirk_cat', 'smoking',
-    'snail', 'snake', 'snowboarder', 'snowflake', 'snowman', 'sob', 'soccer',
-    'soon', 'sos', 'sound', 'space_invader', 'spades', 'spaghetti', 'sparkle',
-    'sparkler', 'sparkles', 'sparkling_heart', 'speak_no_evil', 'speaker',
-    'speech_balloon', 'speedboat', 'squirrel', 'star', 'star2', 'stars',
-    'station', 'statue_of_liberty', 'steam_locomotive', 'stew', 'straight_ruler',
-    'strawberry', 'stuck_out_tongue', 'stuck_out_tongue_closed_eyes',
-    'stuck_out_tongue_winking_eye', 'sun_with_face', 'sunflower', 'sunglasses',
-    'sunny', 'sunrise', 'sunrise_over_mountains', 'surfer', 'sushi', 'suspect',
-    'suspension_railway', 'sweat', 'sweat_drops', 'sweat_smile', 'sweet_potato',
-    'swimmer', 'symbols', 'syringe', 'tada', 'tanabata_tree', 'tangerine',
-    'taurus', 'taxi', 'tea', 'telephone', 'telephone_receiver', 'telescope',
-    'tennis', 'tent', 'thought_balloon', 'three', 'thumbsdown', 'thumbsup',
-    'ticket', 'tiger', 'tiger2', 'tired_face', 'tm', 'toilet', 'tokyo_tower',
-    'tomato', 'tongue', 'top', 'tophat', 'tractor', 'traffic_light', 'train',
-    'train2', 'tram', 'triangular_flag_on_post', 'triangular_ruler', 'trident',
-    'triumph', 'trolleybus', 'trollface', 'trophy', 'tropical_drink',
-    'tropical_fish', 'truck', 'trumpet', 'tshirt', 'tulip', 'turtle', 'tv',
-    'twisted_rightwards_arrows', 'two', 'two_hearts', 'two_men_holding_hands',
-    'two_women_holding_hands', 'u5272', 'u5408', 'u55b6', 'u6307', 'u6708',
-    'u6709', 'u6e80', 'u7121', 'u7533', 'u7981', 'u7a7a', 'uk', 'umbrella',
-    'unamused', 'underage', 'unlock', 'up', 'us', 'v', 'vertical_traffic_light',
-    'vhs', 'vibration_mode', 'video_camera', 'video_game', 'violin', 'virgo',
-    'volcano', 'vs', 'walking', 'waning_crescent_moon', 'waning_gibbous_moon',
-    'warning', 'watch', 'water_buffalo', 'watermelon', 'wave', 'wavy_dash',
-    'waxing_crescent_moon', 'waxing_gibbous_moon', 'wc', 'weary', 'wedding',
-    'whale', 'whale2', 'wheelchair', 'white_check_mark', 'white_circle',
-    'white_flower', 'white_large_square', 'white_medium_small_square',
-    'white_medium_square', 'white_small_square', 'white_square_button',
-    'wind_chime', 'wine_glass', 'wink', 'wolf', 'woman', 'womans_clothes',
-    'womans_hat', 'womens', 'worried', 'wrench', 'x', 'yellow_heart', 'yen',
-    'yum', 'zap', 'zero', 'zzz'
+    ["grinning_face", "😀"],
+    ["beaming_face_with_smiling_eyes", "😁"],
+    ["face_with_tears_of_joy", "😂"],
+    ["rolling_on_the_floor_laughing", "🤣"],
+    ["grinning_face_with_big_eyes", "😃"],
+    ["grinning_face_with_smiling_eyes", "😄"],
+    ["grinning_face_with_sweat", "😅"],
+    ["grinning_squinting_face", "😆"],
+    ["winking_face", "😉"],
+    ["smiling_face_with_smiling_eyes", "😊"],
+    ["face_savoring_food", "😋"],
+    ["smiling_face_with_sunglasses", "😎"],
+    ["smiling_face_with_heart-eyes", "😍"],
+    ["face_blowing_a_kiss", "😘"],
+    ["kissing_face", "😗"],
+    ["kissing_face_with_smiling_eyes", "😙"],
+    ["kissing_face_with_closed_eyes", "😚"],
+    ["smiling_face", "☺️"],
+    ["slightly_smiling_face", "🙂"],
+    ["hugging_face", "🤗"],
+    ["star-struck", "🤩"],
+    ["thinking_face", "🤔"],
+    ["face_with_raised_eyebrow", "🤨"],
+    ["neutral_face", "😐"],
+    ["expressionless_face", "😑"],
+    ["face_without_mouth", "😶"],
+    ["face_with_rolling_eyes", "🙄"],
+    ["smirking_face", "😏"],
+    ["persevering_face", "😣"],
+    ["sad_but_relieved_face", "😥"],
+    ["face_with_open_mouth", "😮"],
+    ["zipper-mouth_face", "🤐"],
+    ["hushed_face", "😯"],
+    ["sleepy_face", "😪"],
+    ["tired_face", "😫"],
+    ["sleeping_face", "😴"],
+    ["relieved_face", "😌"],
+    ["face_with_tongue", "😛"],
+    ["winking_face_with_tongue", "😜"],
+    ["squinting_face_with_tongue", "😝"],
+    ["drooling_face", "🤤"],
+    ["unamused_face", "😒"],
+    ["downcast_face_with_sweat", "😓"],
+    ["pensive_face", "😔"],
+    ["confused_face", "😕"],
+    ["upside-down_face", "🙃"],
+    ["money-mouth_face", "🤑"],
+    ["astonished_face", "😲"],
+    ["frowning_face", "☹️"],
+    ["slightly_frowning_face", "🙁"],
+    ["confounded_face", "😖"],
+    ["disappointed_face", "😞"],
+    ["worried_face", "😟"],
+    ["face_with_steam_from_nose", "😤"],
+    ["crying_face", "😢"],
+    ["loudly_crying_face", "😭"],
+    ["frowning_face_with_open_mouth", "😦"],
+    ["anguished_face", "😧"],
+    ["fearful_face", "😨"],
+    ["weary_face", "😩"],
+    ["exploding_head", "🤯"],
+    ["grimacing_face", "😬"],
+    ["anxious_face_with_sweat", "😰"],
+    ["face_screaming_in_fear", "😱"],
+    ["flushed_face", "😳"],
+    ["crazy_face", "🤪"],
+    ["dizzy_face", "😵"],
+    ["pouting_face", "😡"],
+    ["angry_face", "😠"],
+    ["face_with_symbols_on_mouth", "🤬"],
+    ["face_with_medical_mask", "😷"],
+    ["face_with_thermometer", "🤒"],
+    ["face_with_head-bandage", "🤕"],
+    ["nauseated_face", "🤢"],
+    ["face_vomiting", "🤮"],
+    ["sneezing_face", "🤧"],
+    ["smiling_face_with_halo", "😇"],
+    ["cowboy_hat_face", "🤠"],
+    ["clown_face", "🤡"],
+    ["lying_face", "🤥"],
+    ["shushing_face", "🤫"],
+    ["face_with_hand_over_mouth", "🤭"],
+    ["face_with_monocle", "🧐"],
+    ["nerd_face", "🤓"],
+    ["smiling_face_with_horns", "😈"],
+    ["angry_face_with_horns", "👿"],
+    ["ogre", "👹"],
+    ["goblin", "👺"],
+    ["skull", "💀"],
+    ["skull_and_crossbones", "☠️"],
+    ["ghost", "👻"],
+    ["alien", "👽"],
+    ["alien_monster", "👾"],
+    ["robot_face", "🤖"],
+    ["pile_of_poo", "💩"],
+    ["grinning_cat_face", "😺"],
+    ["grinning_cat_face_with_smiling_eyes", "😸"],
+    ["cat_face_with_tears_of_joy", "😹"],
+    ["smiling_cat_face_with_heart-eyes", "😻"],
+    ["cat_face_with_wry_smile", "😼"],
+    ["kissing_cat_face", "😽"],
+    ["weary_cat_face", "🙀"],
+    ["crying_cat_face", "😿"],
+    ["pouting_cat_face", "😾"],
+    ["see-no-evil_monkey", "🙈"],
+    ["hear-no-evil_monkey", "🙉"],
+    ["speak-no-evil_monkey", "🙊"],
+    ["baby", "👶"],
+    ["baby_light_skin_tone", "👶🏻"],
+    ["baby_medium-light_skin_tone", "👶🏼"],
+    ["baby_medium_skin_tone", "👶🏽"],
+    ["baby_medium-dark_skin_tone", "👶🏾"],
+    ["baby_dark_skin_tone", "👶🏿"],
+    ["child", "🧒"],
+    ["child_light_skin_tone", "🧒🏻"],
+    ["child_medium-light_skin_tone", "🧒🏼"],
+    ["child_medium_skin_tone", "🧒🏽"],
+    ["child_medium-dark_skin_tone", "🧒🏾"],
+    ["child_dark_skin_tone", "🧒🏿"],
+    ["boy", "👦"],
+    ["boy_light_skin_tone", "👦🏻"],
+    ["boy_medium-light_skin_tone", "👦🏼"],
+    ["boy_medium_skin_tone", "👦🏽"],
+    ["boy_medium-dark_skin_tone", "👦🏾"],
+    ["boy_dark_skin_tone", "👦🏿"],
+    ["girl", "👧"],
+    ["girl_light_skin_tone", "👧🏻"],
+    ["girl_medium-light_skin_tone", "👧🏼"],
+    ["girl_medium_skin_tone", "👧🏽"],
+    ["girl_medium-dark_skin_tone", "👧🏾"],
+    ["girl_dark_skin_tone", "👧🏿"],
+    ["adult", "🧑"],
+    ["adult_light_skin_tone", "🧑🏻"],
+    ["adult_medium-light_skin_tone", "🧑🏼"],
+    ["adult_medium_skin_tone", "🧑🏽"],
+    ["adult_medium-dark_skin_tone", "🧑🏾"],
+    ["adult_dark_skin_tone", "🧑🏿"],
+    ["man", "👨"],
+    ["man_light_skin_tone", "👨🏻"],
+    ["man_medium-light_skin_tone", "👨🏼"],
+    ["man_medium_skin_tone", "👨🏽"],
+    ["man_medium-dark_skin_tone", "👨🏾"],
+    ["man_dark_skin_tone", "👨🏿"],
+    ["woman", "👩"],
+    ["woman_light_skin_tone", "👩🏻"],
+    ["woman_medium-light_skin_tone", "👩🏼"],
+    ["woman_medium_skin_tone", "👩🏽"],
+    ["woman_medium-dark_skin_tone", "👩🏾"],
+    ["woman_dark_skin_tone", "👩🏿"],
+    ["older_adult", "🧓"],
+    ["older_adult_light_skin_tone", "🧓🏻"],
+    ["older_adult_medium-light_skin_tone", "🧓🏼"],
+    ["older_adult_medium_skin_tone", "🧓🏽"],
+    ["older_adult_medium-dark_skin_tone", "🧓🏾"],
+    ["older_adult_dark_skin_tone", "🧓🏿"],
+    ["old_man", "👴"],
+    ["old_man_light_skin_tone", "👴🏻"],
+    ["old_man_medium-light_skin_tone", "👴🏼"],
+    ["old_man_medium_skin_tone", "👴🏽"],
+    ["old_man_medium-dark_skin_tone", "👴🏾"],
+    ["old_man_dark_skin_tone", "👴🏿"],
+    ["old_woman", "👵"],
+    ["old_woman_light_skin_tone", "👵🏻"],
+    ["old_woman_medium-light_skin_tone", "👵🏼"],
+    ["old_woman_medium_skin_tone", "👵🏽"],
+    ["old_woman_medium-dark_skin_tone", "👵🏾"],
+    ["old_woman_dark_skin_tone", "👵🏿"],
+    ["man_health_worker", "👨‍⚕️"],
+    ["man_health_worker_light_skin_tone", "👨🏻‍⚕️"],
+    ["man_health_worker_medium-light_skin_tone", "👨🏼‍⚕️"],
+    ["man_health_worker_medium_skin_tone", "👨🏽‍⚕️"],
+    ["man_health_worker_medium-dark_skin_tone", "👨🏾‍⚕️"],
+    ["man_health_worker_dark_skin_tone", "👨🏿‍⚕️"],
+    ["woman_health_worker", "👩‍⚕️"],
+    ["woman_health_worker_light_skin_tone", "👩🏻‍⚕️"],
+    ["woman_health_worker_medium-light_skin_tone", "👩🏼‍⚕️"],
+    ["woman_health_worker_medium_skin_tone", "👩🏽‍⚕️"],
+    ["woman_health_worker_medium-dark_skin_tone", "👩🏾‍⚕️"],
+    ["woman_health_worker_dark_skin_tone", "👩🏿‍⚕️"],
+    ["man_student", "👨‍🎓"],
+    ["man_student_light_skin_tone", "👨🏻‍🎓"],
+    ["man_student_medium-light_skin_tone", "👨🏼‍🎓"],
+    ["man_student_medium_skin_tone", "👨🏽‍🎓"],
+    ["man_student_medium-dark_skin_tone", "👨🏾‍🎓"],
+    ["man_student_dark_skin_tone", "👨🏿‍🎓"],
+    ["woman_student", "👩‍🎓"],
+    ["woman_student_light_skin_tone", "👩🏻‍🎓"],
+    ["woman_student_medium-light_skin_tone", "👩🏼‍🎓"],
+    ["woman_student_medium_skin_tone", "👩🏽‍🎓"],
+    ["woman_student_medium-dark_skin_tone", "👩🏾‍🎓"],
+    ["woman_student_dark_skin_tone", "👩🏿‍🎓"],
+    ["man_teacher", "👨‍🏫"],
+    ["man_teacher_light_skin_tone", "👨🏻‍🏫"],
+    ["man_teacher_medium-light_skin_tone", "👨🏼‍🏫"],
+    ["man_teacher_medium_skin_tone", "👨🏽‍🏫"],
+    ["man_teacher_medium-dark_skin_tone", "👨🏾‍🏫"],
+    ["man_teacher_dark_skin_tone", "👨🏿‍🏫"],
+    ["woman_teacher", "👩‍🏫"],
+    ["woman_teacher_light_skin_tone", "👩🏻‍🏫"],
+    ["woman_teacher_medium-light_skin_tone", "👩🏼‍🏫"],
+    ["woman_teacher_medium_skin_tone", "👩🏽‍🏫"],
+    ["woman_teacher_medium-dark_skin_tone", "👩🏾‍🏫"],
+    ["woman_teacher_dark_skin_tone", "👩🏿‍🏫"],
+    ["man_judge", "👨‍⚖️"],
+    ["man_judge_light_skin_tone", "👨🏻‍⚖️"],
+    ["man_judge_medium-light_skin_tone", "👨🏼‍⚖️"],
+    ["man_judge_medium_skin_tone", "👨🏽‍⚖️"],
+    ["man_judge_medium-dark_skin_tone", "👨🏾‍⚖️"],
+    ["man_judge_dark_skin_tone", "👨🏿‍⚖️"],
+    ["woman_judge", "👩‍⚖️"],
+    ["woman_judge_light_skin_tone", "👩🏻‍⚖️"],
+    ["woman_judge_medium-light_skin_tone", "👩🏼‍⚖️"],
+    ["woman_judge_medium_skin_tone", "👩🏽‍⚖️"],
+    ["woman_judge_medium-dark_skin_tone", "👩🏾‍⚖️"],
+    ["woman_judge_dark_skin_tone", "👩🏿‍⚖️"],
+    ["man_farmer", "👨‍🌾"],
+    ["man_farmer_light_skin_tone", "👨🏻‍🌾"],
+    ["man_farmer_medium-light_skin_tone", "👨🏼‍🌾"],
+    ["man_farmer_medium_skin_tone", "👨🏽‍🌾"],
+    ["man_farmer_medium-dark_skin_tone", "👨🏾‍🌾"],
+    ["man_farmer_dark_skin_tone", "👨🏿‍🌾"],
+    ["woman_farmer", "👩‍🌾"],
+    ["woman_farmer_light_skin_tone", "👩🏻‍🌾"],
+    ["woman_farmer_medium-light_skin_tone", "👩🏼‍🌾"],
+    ["woman_farmer_medium_skin_tone", "👩🏽‍🌾"],
+    ["woman_farmer_medium-dark_skin_tone", "👩🏾‍🌾"],
+    ["woman_farmer_dark_skin_tone", "👩🏿‍🌾"],
+    ["man_cook", "👨‍🍳"],
+    ["man_cook_light_skin_tone", "👨🏻‍🍳"],
+    ["man_cook_medium-light_skin_tone", "👨🏼‍🍳"],
+    ["man_cook_medium_skin_tone", "👨🏽‍🍳"],
+    ["man_cook_medium-dark_skin_tone", "👨🏾‍🍳"],
+    ["man_cook_dark_skin_tone", "👨🏿‍🍳"],
+    ["woman_cook", "👩‍🍳"],
+    ["woman_cook_light_skin_tone", "👩🏻‍🍳"],
+    ["woman_cook_medium-light_skin_tone", "👩🏼‍🍳"],
+    ["woman_cook_medium_skin_tone", "👩🏽‍🍳"],
+    ["woman_cook_medium-dark_skin_tone", "👩🏾‍🍳"],
+    ["woman_cook_dark_skin_tone", "👩🏿‍🍳"],
+    ["man_mechanic", "👨‍🔧"],
+    ["man_mechanic_light_skin_tone", "👨🏻‍🔧"],
+    ["man_mechanic_medium-light_skin_tone", "👨🏼‍🔧"],
+    ["man_mechanic_medium_skin_tone", "👨🏽‍🔧"],
+    ["man_mechanic_medium-dark_skin_tone", "👨🏾‍🔧"],
+    ["man_mechanic_dark_skin_tone", "👨🏿‍🔧"],
+    ["woman_mechanic", "👩‍🔧"],
+    ["woman_mechanic_light_skin_tone", "👩🏻‍🔧"],
+    ["woman_mechanic_medium-light_skin_tone", "👩🏼‍🔧"],
+    ["woman_mechanic_medium_skin_tone", "👩🏽‍🔧"],
+    ["woman_mechanic_medium-dark_skin_tone", "👩🏾‍🔧"],
+    ["woman_mechanic_dark_skin_tone", "👩🏿‍🔧"],
+    ["man_factory_worker", "👨‍🏭"],
+    ["man_factory_worker_light_skin_tone", "👨🏻‍🏭"],
+    ["man_factory_worker_medium-light_skin_tone", "👨🏼‍🏭"],
+    ["man_factory_worker_medium_skin_tone", "👨🏽‍🏭"],
+    ["man_factory_worker_medium-dark_skin_tone", "👨🏾‍🏭"],
+    ["man_factory_worker_dark_skin_tone", "👨🏿‍🏭"],
+    ["woman_factory_worker", "👩‍🏭"],
+    ["woman_factory_worker_light_skin_tone", "👩🏻‍🏭"],
+    ["woman_factory_worker_medium-light_skin_tone", "👩🏼‍🏭"],
+    ["woman_factory_worker_medium_skin_tone", "👩🏽‍🏭"],
+    ["woman_factory_worker_medium-dark_skin_tone", "👩🏾‍🏭"],
+    ["woman_factory_worker_dark_skin_tone", "👩🏿‍🏭"],
+    ["man_office_worker", "👨‍💼"],
+    ["man_office_worker_light_skin_tone", "👨🏻‍💼"],
+    ["man_office_worker_medium-light_skin_tone", "👨🏼‍💼"],
+    ["man_office_worker_medium_skin_tone", "👨🏽‍💼"],
+    ["man_office_worker_medium-dark_skin_tone", "👨🏾‍💼"],
+    ["man_office_worker_dark_skin_tone", "👨🏿‍💼"],
+    ["woman_office_worker", "👩‍💼"],
+    ["woman_office_worker_light_skin_tone", "👩🏻‍💼"],
+    ["woman_office_worker_medium-light_skin_tone", "👩🏼‍💼"],
+    ["woman_office_worker_medium_skin_tone", "👩🏽‍💼"],
+    ["woman_office_worker_medium-dark_skin_tone", "👩🏾‍💼"],
+    ["woman_office_worker_dark_skin_tone", "👩🏿‍💼"],
+    ["man_scientist", "👨‍🔬"],
+    ["man_scientist_light_skin_tone", "👨🏻‍🔬"],
+    ["man_scientist_medium-light_skin_tone", "👨🏼‍🔬"],
+    ["man_scientist_medium_skin_tone", "👨🏽‍🔬"],
+    ["man_scientist_medium-dark_skin_tone", "👨🏾‍🔬"],
+    ["man_scientist_dark_skin_tone", "👨🏿‍🔬"],
+    ["woman_scientist", "👩‍🔬"],
+    ["woman_scientist_light_skin_tone", "👩🏻‍🔬"],
+    ["woman_scientist_medium-light_skin_tone", "👩🏼‍🔬"],
+    ["woman_scientist_medium_skin_tone", "👩🏽‍🔬"],
+    ["woman_scientist_medium-dark_skin_tone", "👩🏾‍🔬"],
+    ["woman_scientist_dark_skin_tone", "👩🏿‍🔬"],
+    ["man_technologist", "👨‍💻"],
+    ["man_technologist_light_skin_tone", "👨🏻‍💻"],
+    ["man_technologist_medium-light_skin_tone", "👨🏼‍💻"],
+    ["man_technologist_medium_skin_tone", "👨🏽‍💻"],
+    ["man_technologist_medium-dark_skin_tone", "👨🏾‍💻"],
+    ["man_technologist_dark_skin_tone", "👨🏿‍💻"],
+    ["woman_technologist", "👩‍💻"],
+    ["woman_technologist_light_skin_tone", "👩🏻‍💻"],
+    ["woman_technologist_medium-light_skin_tone", "👩🏼‍💻"],
+    ["woman_technologist_medium_skin_tone", "👩🏽‍💻"],
+    ["woman_technologist_medium-dark_skin_tone", "👩🏾‍💻"],
+    ["woman_technologist_dark_skin_tone", "👩🏿‍💻"],
+    ["man_singer", "👨‍🎤"],
+    ["man_singer_light_skin_tone", "👨🏻‍🎤"],
+    ["man_singer_medium-light_skin_tone", "👨🏼‍🎤"],
+    ["man_singer_medium_skin_tone", "👨🏽‍🎤"],
+    ["man_singer_medium-dark_skin_tone", "👨🏾‍🎤"],
+    ["man_singer_dark_skin_tone", "👨🏿‍🎤"],
+    ["woman_singer", "👩‍🎤"],
+    ["woman_singer_light_skin_tone", "👩🏻‍🎤"],
+    ["woman_singer_medium-light_skin_tone", "👩🏼‍🎤"],
+    ["woman_singer_medium_skin_tone", "👩🏽‍🎤"],
+    ["woman_singer_medium-dark_skin_tone", "👩🏾‍🎤"],
+    ["woman_singer_dark_skin_tone", "👩🏿‍🎤"],
+    ["man_artist", "👨‍🎨"],
+    ["man_artist_light_skin_tone", "👨🏻‍🎨"],
+    ["man_artist_medium-light_skin_tone", "👨🏼‍🎨"],
+    ["man_artist_medium_skin_tone", "👨🏽‍🎨"],
+    ["man_artist_medium-dark_skin_tone", "👨🏾‍🎨"],
+    ["man_artist_dark_skin_tone", "👨🏿‍🎨"],
+    ["woman_artist", "👩‍🎨"],
+    ["woman_artist_light_skin_tone", "👩🏻‍🎨"],
+    ["woman_artist_medium-light_skin_tone", "👩🏼‍🎨"],
+    ["woman_artist_medium_skin_tone", "👩🏽‍🎨"],
+    ["woman_artist_medium-dark_skin_tone", "👩🏾‍🎨"],
+    ["woman_artist_dark_skin_tone", "👩🏿‍🎨"],
+    ["man_pilot", "👨‍✈️"],
+    ["man_pilot_light_skin_tone", "👨🏻‍✈️"],
+    ["man_pilot_medium-light_skin_tone", "👨🏼‍✈️"],
+    ["man_pilot_medium_skin_tone", "👨🏽‍✈️"],
+    ["man_pilot_medium-dark_skin_tone", "👨🏾‍✈️"],
+    ["man_pilot_dark_skin_tone", "👨🏿‍✈️"],
+    ["woman_pilot", "👩‍✈️"],
+    ["woman_pilot_light_skin_tone", "👩🏻‍✈️"],
+    ["woman_pilot_medium-light_skin_tone", "👩🏼‍✈️"],
+    ["woman_pilot_medium_skin_tone", "👩🏽‍✈️"],
+    ["woman_pilot_medium-dark_skin_tone", "👩🏾‍✈️"],
+    ["woman_pilot_dark_skin_tone", "👩🏿‍✈️"],
+    ["man_astronaut", "👨‍🚀"],
+    ["man_astronaut_light_skin_tone", "👨🏻‍🚀"],
+    ["man_astronaut_medium-light_skin_tone", "👨🏼‍🚀"],
+    ["man_astronaut_medium_skin_tone", "👨🏽‍🚀"],
+    ["man_astronaut_medium-dark_skin_tone", "👨🏾‍🚀"],
+    ["man_astronaut_dark_skin_tone", "👨🏿‍🚀"],
+    ["woman_astronaut", "👩‍🚀"],
+    ["woman_astronaut_light_skin_tone", "👩🏻‍🚀"],
+    ["woman_astronaut_medium-light_skin_tone", "👩🏼‍🚀"],
+    ["woman_astronaut_medium_skin_tone", "👩🏽‍🚀"],
+    ["woman_astronaut_medium-dark_skin_tone", "👩🏾‍🚀"],
+    ["woman_astronaut_dark_skin_tone", "👩🏿‍🚀"],
+    ["man_firefighter", "👨‍🚒"],
+    ["man_firefighter_light_skin_tone", "👨🏻‍🚒"],
+    ["man_firefighter_medium-light_skin_tone", "👨🏼‍🚒"],
+    ["man_firefighter_medium_skin_tone", "👨🏽‍🚒"],
+    ["man_firefighter_medium-dark_skin_tone", "👨🏾‍🚒"],
+    ["man_firefighter_dark_skin_tone", "👨🏿‍🚒"],
+    ["woman_firefighter", "👩‍🚒"],
+    ["woman_firefighter_light_skin_tone", "👩🏻‍🚒"],
+    ["woman_firefighter_medium-light_skin_tone", "👩🏼‍🚒"],
+    ["woman_firefighter_medium_skin_tone", "👩🏽‍🚒"],
+    ["woman_firefighter_medium-dark_skin_tone", "👩🏾‍🚒"],
+    ["woman_firefighter_dark_skin_tone", "👩🏿‍🚒"],
+    ["police_officer", "👮"],
+    ["police_officer_light_skin_tone", "👮🏻"],
+    ["police_officer_medium-light_skin_tone", "👮🏼"],
+    ["police_officer_medium_skin_tone", "👮🏽"],
+    ["police_officer_medium-dark_skin_tone", "👮🏾"],
+    ["police_officer_dark_skin_tone", "👮🏿"],
+    ["man_police_officer", "👮‍♂️"],
+    ["man_police_officer_light_skin_tone", "👮🏻‍♂️"],
+    ["man_police_officer_medium-light_skin_tone", "👮🏼‍♂️"],
+    ["man_police_officer_medium_skin_tone", "👮🏽‍♂️"],
+    ["man_police_officer_medium-dark_skin_tone", "👮🏾‍♂️"],
+    ["man_police_officer_dark_skin_tone", "👮🏿‍♂️"],
+    ["woman_police_officer", "👮‍♀️"],
+    ["woman_police_officer_light_skin_tone", "👮🏻‍♀️"],
+    ["woman_police_officer_medium-light_skin_tone", "👮🏼‍♀️"],
+    ["woman_police_officer_medium_skin_tone", "👮🏽‍♀️"],
+    ["woman_police_officer_medium-dark_skin_tone", "👮🏾‍♀️"],
+    ["woman_police_officer_dark_skin_tone", "👮🏿‍♀️"],
+    ["detective", "🕵️"],
+    ["detective_light_skin_tone", "🕵🏻"],
+    ["detective_medium-light_skin_tone", "🕵🏼"],
+    ["detective_medium_skin_tone", "🕵🏽"],
+    ["detective_medium-dark_skin_tone", "🕵🏾"],
+    ["detective_dark_skin_tone", "🕵🏿"],
+    ["man_detective", "🕵️‍♂️"],
+    ["man_detective_light_skin_tone", "🕵🏻‍♂️"],
+    ["man_detective_medium-light_skin_tone", "🕵🏼‍♂️"],
+    ["man_detective_medium_skin_tone", "🕵🏽‍♂️"],
+    ["man_detective_medium-dark_skin_tone", "🕵🏾‍♂️"],
+    ["man_detective_dark_skin_tone", "🕵🏿‍♂️"],
+    ["woman_detective", "🕵️‍♀️"],
+    ["woman_detective_light_skin_tone", "🕵🏻‍♀️"],
+    ["woman_detective_medium-light_skin_tone", "🕵🏼‍♀️"],
+    ["woman_detective_medium_skin_tone", "🕵🏽‍♀️"],
+    ["woman_detective_medium-dark_skin_tone", "🕵🏾‍♀️"],
+    ["woman_detective_dark_skin_tone", "🕵🏿‍♀️"],
+    ["guard", "💂"],
+    ["guard_light_skin_tone", "💂🏻"],
+    ["guard_medium-light_skin_tone", "💂🏼"],
+    ["guard_medium_skin_tone", "💂🏽"],
+    ["guard_medium-dark_skin_tone", "💂🏾"],
+    ["guard_dark_skin_tone", "💂🏿"],
+    ["man_guard", "💂‍♂️"],
+    ["man_guard_light_skin_tone", "💂🏻‍♂️"],
+    ["man_guard_medium-light_skin_tone", "💂🏼‍♂️"],
+    ["man_guard_medium_skin_tone", "💂🏽‍♂️"],
+    ["man_guard_medium-dark_skin_tone", "💂🏾‍♂️"],
+    ["man_guard_dark_skin_tone", "💂🏿‍♂️"],
+    ["woman_guard", "💂‍♀️"],
+    ["woman_guard_light_skin_tone", "💂🏻‍♀️"],
+    ["woman_guard_medium-light_skin_tone", "💂🏼‍♀️"],
+    ["woman_guard_medium_skin_tone", "💂🏽‍♀️"],
+    ["woman_guard_medium-dark_skin_tone", "💂🏾‍♀️"],
+    ["woman_guard_dark_skin_tone", "💂🏿‍♀️"],
+    ["construction_worker", "👷"],
+    ["construction_worker_light_skin_tone", "👷🏻"],
+    ["construction_worker_medium-light_skin_tone", "👷🏼"],
+    ["construction_worker_medium_skin_tone", "👷🏽"],
+    ["construction_worker_medium-dark_skin_tone", "👷🏾"],
+    ["construction_worker_dark_skin_tone", "👷🏿"],
+    ["man_construction_worker", "👷‍♂️"],
+    ["man_construction_worker_light_skin_tone", "👷🏻‍♂️"],
+    ["man_construction_worker_medium-light_skin_tone", "👷🏼‍♂️"],
+    ["man_construction_worker_medium_skin_tone", "👷🏽‍♂️"],
+    ["man_construction_worker_medium-dark_skin_tone", "👷🏾‍♂️"],
+    ["man_construction_worker_dark_skin_tone", "👷🏿‍♂️"],
+    ["woman_construction_worker", "👷‍♀️"],
+    ["woman_construction_worker_light_skin_tone", "👷🏻‍♀️"],
+    ["woman_construction_worker_medium-light_skin_tone", "👷🏼‍♀️"],
+    ["woman_construction_worker_medium_skin_tone", "👷🏽‍♀️"],
+    ["woman_construction_worker_medium-dark_skin_tone", "👷🏾‍♀️"],
+    ["woman_construction_worker_dark_skin_tone", "👷🏿‍♀️"],
+    ["prince", "🤴"],
+    ["prince_light_skin_tone", "🤴🏻"],
+    ["prince_medium-light_skin_tone", "🤴🏼"],
+    ["prince_medium_skin_tone", "🤴🏽"],
+    ["prince_medium-dark_skin_tone", "🤴🏾"],
+    ["prince_dark_skin_tone", "🤴🏿"],
+    ["princess", "👸"],
+    ["princess_light_skin_tone", "👸🏻"],
+    ["princess_medium-light_skin_tone", "👸🏼"],
+    ["princess_medium_skin_tone", "👸🏽"],
+    ["princess_medium-dark_skin_tone", "👸🏾"],
+    ["princess_dark_skin_tone", "👸🏿"],
+    ["person_wearing_turban", "👳"],
+    ["person_wearing_turban_light_skin_tone", "👳🏻"],
+    ["person_wearing_turban_medium-light_skin_tone", "👳🏼"],
+    ["person_wearing_turban_medium_skin_tone", "👳🏽"],
+    ["person_wearing_turban_medium-dark_skin_tone", "👳🏾"],
+    ["person_wearing_turban_dark_skin_tone", "👳🏿"],
+    ["man_wearing_turban", "👳‍♂️"],
+    ["man_wearing_turban_light_skin_tone", "👳🏻‍♂️"],
+    ["man_wearing_turban_medium-light_skin_tone", "👳🏼‍♂️"],
+    ["man_wearing_turban_medium_skin_tone", "👳🏽‍♂️"],
+    ["man_wearing_turban_medium-dark_skin_tone", "👳🏾‍♂️"],
+    ["man_wearing_turban_dark_skin_tone", "👳🏿‍♂️"],
+    ["woman_wearing_turban", "👳‍♀️"],
+    ["woman_wearing_turban_light_skin_tone", "👳🏻‍♀️"],
+    ["woman_wearing_turban_medium-light_skin_tone", "👳🏼‍♀️"],
+    ["woman_wearing_turban_medium_skin_tone", "👳🏽‍♀️"],
+    ["woman_wearing_turban_medium-dark_skin_tone", "👳🏾‍♀️"],
+    ["woman_wearing_turban_dark_skin_tone", "👳🏿‍♀️"],
+    ["man_with_Chinese_cap", "👲"],
+    ["man_with_Chinese_cap_light_skin_tone", "👲🏻"],
+    ["man_with_Chinese_cap_medium-light_skin_tone", "👲🏼"],
+    ["man_with_Chinese_cap_medium_skin_tone", "👲🏽"],
+    ["man_with_Chinese_cap_medium-dark_skin_tone", "👲🏾"],
+    ["man_with_Chinese_cap_dark_skin_tone", "👲🏿"],
+    ["woman_with_headscarf", "🧕"],
+    ["woman_with_headscarf_light_skin_tone", "🧕🏻"],
+    ["woman_with_headscarf_medium-light_skin_tone", "🧕🏼"],
+    ["woman_with_headscarf_medium_skin_tone", "🧕🏽"],
+    ["woman_with_headscarf_medium-dark_skin_tone", "🧕🏾"],
+    ["woman_with_headscarf_dark_skin_tone", "🧕🏿"],
+    ["bearded_person", "🧔"],
+    ["bearded_person_light_skin_tone", "🧔🏻"],
+    ["bearded_person_medium-light_skin_tone", "🧔🏼"],
+    ["bearded_person_medium_skin_tone", "🧔🏽"],
+    ["bearded_person_medium-dark_skin_tone", "🧔🏾"],
+    ["bearded_person_dark_skin_tone", "🧔🏿"],
+    ["blond-haired_person", "👱"],
+    ["blond-haired_person_light_skin_tone", "👱🏻"],
+    ["blond-haired_person_medium-light_skin_tone", "👱🏼"],
+    ["blond-haired_person_medium_skin_tone", "👱🏽"],
+    ["blond-haired_person_medium-dark_skin_tone", "👱🏾"],
+    ["blond-haired_person_dark_skin_tone", "👱🏿"],
+    ["blond-haired_man", "👱‍♂️"],
+    ["blond-haired_man_light_skin_tone", "👱🏻‍♂️"],
+    ["blond-haired_man_medium-light_skin_tone", "👱🏼‍♂️"],
+    ["blond-haired_man_medium_skin_tone", "👱🏽‍♂️"],
+    ["blond-haired_man_medium-dark_skin_tone", "👱🏾‍♂️"],
+    ["blond-haired_man_dark_skin_tone", "👱🏿‍♂️"],
+    ["blond-haired_woman", "👱‍♀️"],
+    ["blond-haired_woman_light_skin_tone", "👱🏻‍♀️"],
+    ["blond-haired_woman_medium-light_skin_tone", "👱🏼‍♀️"],
+    ["blond-haired_woman_medium_skin_tone", "👱🏽‍♀️"],
+    ["blond-haired_woman_medium-dark_skin_tone", "👱🏾‍♀️"],
+    ["blond-haired_woman_dark_skin_tone", "👱🏿‍♀️"],
+    ["man_in_tuxedo", "🤵"],
+    ["man_in_tuxedo_light_skin_tone", "🤵🏻"],
+    ["man_in_tuxedo_medium-light_skin_tone", "🤵🏼"],
+    ["man_in_tuxedo_medium_skin_tone", "🤵🏽"],
+    ["man_in_tuxedo_medium-dark_skin_tone", "🤵🏾"],
+    ["man_in_tuxedo_dark_skin_tone", "🤵🏿"],
+    ["bride_with_veil", "👰"],
+    ["bride_with_veil_light_skin_tone", "👰🏻"],
+    ["bride_with_veil_medium-light_skin_tone", "👰🏼"],
+    ["bride_with_veil_medium_skin_tone", "👰🏽"],
+    ["bride_with_veil_medium-dark_skin_tone", "👰🏾"],
+    ["bride_with_veil_dark_skin_tone", "👰🏿"],
+    ["pregnant_woman", "🤰"],
+    ["pregnant_woman_light_skin_tone", "🤰🏻"],
+    ["pregnant_woman_medium-light_skin_tone", "🤰🏼"],
+    ["pregnant_woman_medium_skin_tone", "🤰🏽"],
+    ["pregnant_woman_medium-dark_skin_tone", "🤰🏾"],
+    ["pregnant_woman_dark_skin_tone", "🤰🏿"],
+    ["breast-feeding", "🤱"],
+    ["breast-feeding_light_skin_tone", "🤱🏻"],
+    ["breast-feeding_medium-light_skin_tone", "🤱🏼"],
+    ["breast-feeding_medium_skin_tone", "🤱🏽"],
+    ["breast-feeding_medium-dark_skin_tone", "🤱🏾"],
+    ["breast-feeding_dark_skin_tone", "🤱🏿"],
+    ["baby_angel", "👼"],
+    ["baby_angel_light_skin_tone", "👼🏻"],
+    ["baby_angel_medium-light_skin_tone", "👼🏼"],
+    ["baby_angel_medium_skin_tone", "👼🏽"],
+    ["baby_angel_medium-dark_skin_tone", "👼🏾"],
+    ["baby_angel_dark_skin_tone", "👼🏿"],
+    ["Santa_Claus", "🎅"],
+    ["Santa_Claus_light_skin_tone", "🎅🏻"],
+    ["Santa_Claus_medium-light_skin_tone", "🎅🏼"],
+    ["Santa_Claus_medium_skin_tone", "🎅🏽"],
+    ["Santa_Claus_medium-dark_skin_tone", "🎅🏾"],
+    ["Santa_Claus_dark_skin_tone", "🎅🏿"],
+    ["Mrs._Claus", "🤶"],
+    ["Mrs._Claus_light_skin_tone", "🤶🏻"],
+    ["Mrs._Claus_medium-light_skin_tone", "🤶🏼"],
+    ["Mrs._Claus_medium_skin_tone", "🤶🏽"],
+    ["Mrs._Claus_medium-dark_skin_tone", "🤶🏾"],
+    ["Mrs._Claus_dark_skin_tone", "🤶🏿"],
+    ["mage", "🧙"],
+    ["mage_light_skin_tone", "🧙🏻"],
+    ["mage_medium-light_skin_tone", "🧙🏼"],
+    ["mage_medium_skin_tone", "🧙🏽"],
+    ["mage_medium-dark_skin_tone", "🧙🏾"],
+    ["mage_dark_skin_tone", "🧙🏿"],
+    ["woman_mage", "🧙‍♀️"],
+    ["woman_mage_light_skin_tone", "🧙🏻‍♀️"],
+    ["woman_mage_medium-light_skin_tone", "🧙🏼‍♀️"],
+    ["woman_mage_medium_skin_tone", "🧙🏽‍♀️"],
+    ["woman_mage_medium-dark_skin_tone", "🧙🏾‍♀️"],
+    ["woman_mage_dark_skin_tone", "🧙🏿‍♀️"],
+    ["man_mage", "🧙‍♂️"],
+    ["man_mage_light_skin_tone", "🧙🏻‍♂️"],
+    ["man_mage_medium-light_skin_tone", "🧙🏼‍♂️"],
+    ["man_mage_medium_skin_tone", "🧙🏽‍♂️"],
+    ["man_mage_medium-dark_skin_tone", "🧙🏾‍♂️"],
+    ["man_mage_dark_skin_tone", "🧙🏿‍♂️"],
+    ["fairy", "🧚"],
+    ["fairy_light_skin_tone", "🧚🏻"],
+    ["fairy_medium-light_skin_tone", "🧚🏼"],
+    ["fairy_medium_skin_tone", "🧚🏽"],
+    ["fairy_medium-dark_skin_tone", "🧚🏾"],
+    ["fairy_dark_skin_tone", "🧚🏿"],
+    ["woman_fairy", "🧚‍♀️"],
+    ["woman_fairy_light_skin_tone", "🧚🏻‍♀️"],
+    ["woman_fairy_medium-light_skin_tone", "🧚🏼‍♀️"],
+    ["woman_fairy_medium_skin_tone", "🧚🏽‍♀️"],
+    ["woman_fairy_medium-dark_skin_tone", "🧚🏾‍♀️"],
+    ["woman_fairy_dark_skin_tone", "🧚🏿‍♀️"],
+    ["man_fairy", "🧚‍♂️"],
+    ["man_fairy_light_skin_tone", "🧚🏻‍♂️"],
+    ["man_fairy_medium-light_skin_tone", "🧚🏼‍♂️"],
+    ["man_fairy_medium_skin_tone", "🧚🏽‍♂️"],
+    ["man_fairy_medium-dark_skin_tone", "🧚🏾‍♂️"],
+    ["man_fairy_dark_skin_tone", "🧚🏿‍♂️"],
+    ["vampire", "🧛"],
+    ["vampire_light_skin_tone", "🧛🏻"],
+    ["vampire_medium-light_skin_tone", "🧛🏼"],
+    ["vampire_medium_skin_tone", "🧛🏽"],
+    ["vampire_medium-dark_skin_tone", "🧛🏾"],
+    ["vampire_dark_skin_tone", "🧛🏿"],
+    ["woman_vampire", "🧛‍♀️"],
+    ["woman_vampire_light_skin_tone", "🧛🏻‍♀️"],
+    ["woman_vampire_medium-light_skin_tone", "🧛🏼‍♀️"],
+    ["woman_vampire_medium_skin_tone", "🧛🏽‍♀️"],
+    ["woman_vampire_medium-dark_skin_tone", "🧛🏾‍♀️"],
+    ["woman_vampire_dark_skin_tone", "🧛🏿‍♀️"],
+    ["man_vampire", "🧛‍♂️"],
+    ["man_vampire_light_skin_tone", "🧛🏻‍♂️"],
+    ["man_vampire_medium-light_skin_tone", "🧛🏼‍♂️"],
+    ["man_vampire_medium_skin_tone", "🧛🏽‍♂️"],
+    ["man_vampire_medium-dark_skin_tone", "🧛🏾‍♂️"],
+    ["man_vampire_dark_skin_tone", "🧛🏿‍♂️"],
+    ["merperson", "🧜"],
+    ["merperson_light_skin_tone", "🧜🏻"],
+    ["merperson_medium-light_skin_tone", "🧜🏼"],
+    ["merperson_medium_skin_tone", "🧜🏽"],
+    ["merperson_medium-dark_skin_tone", "🧜🏾"],
+    ["merperson_dark_skin_tone", "🧜🏿"],
+    ["mermaid", "🧜‍♀️"],
+    ["mermaid_light_skin_tone", "🧜🏻‍♀️"],
+    ["mermaid_medium-light_skin_tone", "🧜🏼‍♀️"],
+    ["mermaid_medium_skin_tone", "🧜🏽‍♀️"],
+    ["mermaid_medium-dark_skin_tone", "🧜🏾‍♀️"],
+    ["mermaid_dark_skin_tone", "🧜🏿‍♀️"],
+    ["merman", "🧜‍♂️"],
+    ["merman_light_skin_tone", "🧜🏻‍♂️"],
+    ["merman_medium-light_skin_tone", "🧜🏼‍♂️"],
+    ["merman_medium_skin_tone", "🧜🏽‍♂️"],
+    ["merman_medium-dark_skin_tone", "🧜🏾‍♂️"],
+    ["merman_dark_skin_tone", "🧜🏿‍♂️"],
+    ["elf", "🧝"],
+    ["elf_light_skin_tone", "🧝🏻"],
+    ["elf_medium-light_skin_tone", "🧝🏼"],
+    ["elf_medium_skin_tone", "🧝🏽"],
+    ["elf_medium-dark_skin_tone", "🧝🏾"],
+    ["elf_dark_skin_tone", "🧝🏿"],
+    ["woman_elf", "🧝‍♀️"],
+    ["woman_elf_light_skin_tone", "🧝🏻‍♀️"],
+    ["woman_elf_medium-light_skin_tone", "🧝🏼‍♀️"],
+    ["woman_elf_medium_skin_tone", "🧝🏽‍♀️"],
+    ["woman_elf_medium-dark_skin_tone", "🧝🏾‍♀️"],
+    ["woman_elf_dark_skin_tone", "🧝🏿‍♀️"],
+    ["man_elf", "🧝‍♂️"],
+    ["man_elf_light_skin_tone", "🧝🏻‍♂️"],
+    ["man_elf_medium-light_skin_tone", "🧝🏼‍♂️"],
+    ["man_elf_medium_skin_tone", "🧝🏽‍♂️"],
+    ["man_elf_medium-dark_skin_tone", "🧝🏾‍♂️"],
+    ["man_elf_dark_skin_tone", "🧝🏿‍♂️"],
+    ["genie", "🧞"],
+    ["woman_genie", "🧞‍♀️"],
+    ["man_genie", "🧞‍♂️"],
+    ["zombie", "🧟"],
+    ["woman_zombie", "🧟‍♀️"],
+    ["man_zombie", "🧟‍♂️"],
+    ["person_frowning", "🙍"],
+    ["person_frowning_light_skin_tone", "🙍🏻"],
+    ["person_frowning_medium-light_skin_tone", "🙍🏼"],
+    ["person_frowning_medium_skin_tone", "🙍🏽"],
+    ["person_frowning_medium-dark_skin_tone", "🙍🏾"],
+    ["person_frowning_dark_skin_tone", "🙍🏿"],
+    ["man_frowning", "🙍‍♂️"],
+    ["man_frowning_light_skin_tone", "🙍🏻‍♂️"],
+    ["man_frowning_medium-light_skin_tone", "🙍🏼‍♂️"],
+    ["man_frowning_medium_skin_tone", "🙍🏽‍♂️"],
+    ["man_frowning_medium-dark_skin_tone", "🙍🏾‍♂️"],
+    ["man_frowning_dark_skin_tone", "🙍🏿‍♂️"],
+    ["woman_frowning", "🙍‍♀️"],
+    ["woman_frowning_light_skin_tone", "🙍🏻‍♀️"],
+    ["woman_frowning_medium-light_skin_tone", "🙍🏼‍♀️"],
+    ["woman_frowning_medium_skin_tone", "🙍🏽‍♀️"],
+    ["woman_frowning_medium-dark_skin_tone", "🙍🏾‍♀️"],
+    ["woman_frowning_dark_skin_tone", "🙍🏿‍♀️"],
+    ["person_pouting", "🙎"],
+    ["person_pouting_light_skin_tone", "🙎🏻"],
+    ["person_pouting_medium-light_skin_tone", "🙎🏼"],
+    ["person_pouting_medium_skin_tone", "🙎🏽"],
+    ["person_pouting_medium-dark_skin_tone", "🙎🏾"],
+    ["person_pouting_dark_skin_tone", "🙎🏿"],
+    ["man_pouting", "🙎‍♂️"],
+    ["man_pouting_light_skin_tone", "🙎🏻‍♂️"],
+    ["man_pouting_medium-light_skin_tone", "🙎🏼‍♂️"],
+    ["man_pouting_medium_skin_tone", "🙎🏽‍♂️"],
+    ["man_pouting_medium-dark_skin_tone", "🙎🏾‍♂️"],
+    ["man_pouting_dark_skin_tone", "🙎🏿‍♂️"],
+    ["woman_pouting", "🙎‍♀️"],
+    ["woman_pouting_light_skin_tone", "🙎🏻‍♀️"],
+    ["woman_pouting_medium-light_skin_tone", "🙎🏼‍♀️"],
+    ["woman_pouting_medium_skin_tone", "🙎🏽‍♀️"],
+    ["woman_pouting_medium-dark_skin_tone", "🙎🏾‍♀️"],
+    ["woman_pouting_dark_skin_tone", "🙎🏿‍♀️"],
+    ["person_gesturing_NO", "🙅"],
+    ["person_gesturing_NO_light_skin_tone", "🙅🏻"],
+    ["person_gesturing_NO_medium-light_skin_tone", "🙅🏼"],
+    ["person_gesturing_NO_medium_skin_tone", "🙅🏽"],
+    ["person_gesturing_NO_medium-dark_skin_tone", "🙅🏾"],
+    ["person_gesturing_NO_dark_skin_tone", "🙅🏿"],
+    ["man_gesturing_NO", "🙅‍♂️"],
+    ["man_gesturing_NO_light_skin_tone", "🙅🏻‍♂️"],
+    ["man_gesturing_NO_medium-light_skin_tone", "🙅🏼‍♂️"],
+    ["man_gesturing_NO_medium_skin_tone", "🙅🏽‍♂️"],
+    ["man_gesturing_NO_medium-dark_skin_tone", "🙅🏾‍♂️"],
+    ["man_gesturing_NO_dark_skin_tone", "🙅🏿‍♂️"],
+    ["woman_gesturing_NO", "🙅‍♀️"],
+    ["woman_gesturing_NO_light_skin_tone", "🙅🏻‍♀️"],
+    ["woman_gesturing_NO_medium-light_skin_tone", "🙅🏼‍♀️"],
+    ["woman_gesturing_NO_medium_skin_tone", "🙅🏽‍♀️"],
+    ["woman_gesturing_NO_medium-dark_skin_tone", "🙅🏾‍♀️"],
+    ["woman_gesturing_NO_dark_skin_tone", "🙅🏿‍♀️"],
+    ["person_gesturing_OK", "🙆"],
+    ["person_gesturing_OK_light_skin_tone", "🙆🏻"],
+    ["person_gesturing_OK_medium-light_skin_tone", "🙆🏼"],
+    ["person_gesturing_OK_medium_skin_tone", "🙆🏽"],
+    ["person_gesturing_OK_medium-dark_skin_tone", "🙆🏾"],
+    ["person_gesturing_OK_dark_skin_tone", "🙆🏿"],
+    ["man_gesturing_OK", "🙆‍♂️"],
+    ["man_gesturing_OK_light_skin_tone", "🙆🏻‍♂️"],
+    ["man_gesturing_OK_medium-light_skin_tone", "🙆🏼‍♂️"],
+    ["man_gesturing_OK_medium_skin_tone", "🙆🏽‍♂️"],
+    ["man_gesturing_OK_medium-dark_skin_tone", "🙆🏾‍♂️"],
+    ["man_gesturing_OK_dark_skin_tone", "🙆🏿‍♂️"],
+    ["woman_gesturing_OK", "🙆‍♀️"],
+    ["woman_gesturing_OK_light_skin_tone", "🙆🏻‍♀️"],
+    ["woman_gesturing_OK_medium-light_skin_tone", "🙆🏼‍♀️"],
+    ["woman_gesturing_OK_medium_skin_tone", "🙆🏽‍♀️"],
+    ["woman_gesturing_OK_medium-dark_skin_tone", "🙆🏾‍♀️"],
+    ["woman_gesturing_OK_dark_skin_tone", "🙆🏿‍♀️"],
+    ["person_tipping_hand", "💁"],
+    ["person_tipping_hand_light_skin_tone", "💁🏻"],
+    ["person_tipping_hand_medium-light_skin_tone", "💁🏼"],
+    ["person_tipping_hand_medium_skin_tone", "💁🏽"],
+    ["person_tipping_hand_medium-dark_skin_tone", "💁🏾"],
+    ["person_tipping_hand_dark_skin_tone", "💁🏿"],
+    ["man_tipping_hand", "💁‍♂️"],
+    ["man_tipping_hand_light_skin_tone", "💁🏻‍♂️"],
+    ["man_tipping_hand_medium-light_skin_tone", "💁🏼‍♂️"],
+    ["man_tipping_hand_medium_skin_tone", "💁🏽‍♂️"],
+    ["man_tipping_hand_medium-dark_skin_tone", "💁🏾‍♂️"],
+    ["man_tipping_hand_dark_skin_tone", "💁🏿‍♂️"],
+    ["woman_tipping_hand", "💁‍♀️"],
+    ["woman_tipping_hand_light_skin_tone", "💁🏻‍♀️"],
+    ["woman_tipping_hand_medium-light_skin_tone", "💁🏼‍♀️"],
+    ["woman_tipping_hand_medium_skin_tone", "💁🏽‍♀️"],
+    ["woman_tipping_hand_medium-dark_skin_tone", "💁🏾‍♀️"],
+    ["woman_tipping_hand_dark_skin_tone", "💁🏿‍♀️"],
+    ["person_raising_hand", "🙋"],
+    ["person_raising_hand_light_skin_tone", "🙋🏻"],
+    ["person_raising_hand_medium-light_skin_tone", "🙋🏼"],
+    ["person_raising_hand_medium_skin_tone", "🙋🏽"],
+    ["person_raising_hand_medium-dark_skin_tone", "🙋🏾"],
+    ["person_raising_hand_dark_skin_tone", "🙋🏿"],
+    ["man_raising_hand", "🙋‍♂️"],
+    ["man_raising_hand_light_skin_tone", "🙋🏻‍♂️"],
+    ["man_raising_hand_medium-light_skin_tone", "🙋🏼‍♂️"],
+    ["man_raising_hand_medium_skin_tone", "🙋🏽‍♂️"],
+    ["man_raising_hand_medium-dark_skin_tone", "🙋🏾‍♂️"],
+    ["man_raising_hand_dark_skin_tone", "🙋🏿‍♂️"],
+    ["woman_raising_hand", "🙋‍♀️"],
+    ["woman_raising_hand_light_skin_tone", "🙋🏻‍♀️"],
+    ["woman_raising_hand_medium-light_skin_tone", "🙋🏼‍♀️"],
+    ["woman_raising_hand_medium_skin_tone", "🙋🏽‍♀️"],
+    ["woman_raising_hand_medium-dark_skin_tone", "🙋🏾‍♀️"],
+    ["woman_raising_hand_dark_skin_tone", "🙋🏿‍♀️"],
+    ["person_bowing", "🙇"],
+    ["person_bowing_light_skin_tone", "🙇🏻"],
+    ["person_bowing_medium-light_skin_tone", "🙇🏼"],
+    ["person_bowing_medium_skin_tone", "🙇🏽"],
+    ["person_bowing_medium-dark_skin_tone", "🙇🏾"],
+    ["person_bowing_dark_skin_tone", "🙇🏿"],
+    ["man_bowing", "🙇‍♂️"],
+    ["man_bowing_light_skin_tone", "🙇🏻‍♂️"],
+    ["man_bowing_medium-light_skin_tone", "🙇🏼‍♂️"],
+    ["man_bowing_medium_skin_tone", "🙇🏽‍♂️"],
+    ["man_bowing_medium-dark_skin_tone", "🙇🏾‍♂️"],
+    ["man_bowing_dark_skin_tone", "🙇🏿‍♂️"],
+    ["woman_bowing", "🙇‍♀️"],
+    ["woman_bowing_light_skin_tone", "🙇🏻‍♀️"],
+    ["woman_bowing_medium-light_skin_tone", "🙇🏼‍♀️"],
+    ["woman_bowing_medium_skin_tone", "🙇🏽‍♀️"],
+    ["woman_bowing_medium-dark_skin_tone", "🙇🏾‍♀️"],
+    ["woman_bowing_dark_skin_tone", "🙇🏿‍♀️"],
+    ["person_facepalming", "🤦"],
+    ["person_facepalming_light_skin_tone", "🤦🏻"],
+    ["person_facepalming_medium-light_skin_tone", "🤦🏼"],
+    ["person_facepalming_medium_skin_tone", "🤦🏽"],
+    ["person_facepalming_medium-dark_skin_tone", "🤦🏾"],
+    ["person_facepalming_dark_skin_tone", "🤦🏿"],
+    ["man_facepalming", "🤦‍♂️"],
+    ["man_facepalming_light_skin_tone", "🤦🏻‍♂️"],
+    ["man_facepalming_medium-light_skin_tone", "🤦🏼‍♂️"],
+    ["man_facepalming_medium_skin_tone", "🤦🏽‍♂️"],
+    ["man_facepalming_medium-dark_skin_tone", "🤦🏾‍♂️"],
+    ["man_facepalming_dark_skin_tone", "🤦🏿‍♂️"],
+    ["woman_facepalming", "🤦‍♀️"],
+    ["woman_facepalming_light_skin_tone", "🤦🏻‍♀️"],
+    ["woman_facepalming_medium-light_skin_tone", "🤦🏼‍♀️"],
+    ["woman_facepalming_medium_skin_tone", "🤦🏽‍♀️"],
+    ["woman_facepalming_medium-dark_skin_tone", "🤦🏾‍♀️"],
+    ["woman_facepalming_dark_skin_tone", "🤦🏿‍♀️"],
+    ["person_shrugging", "🤷"],
+    ["person_shrugging_light_skin_tone", "🤷🏻"],
+    ["person_shrugging_medium-light_skin_tone", "🤷🏼"],
+    ["person_shrugging_medium_skin_tone", "🤷🏽"],
+    ["person_shrugging_medium-dark_skin_tone", "🤷🏾"],
+    ["person_shrugging_dark_skin_tone", "🤷🏿"],
+    ["man_shrugging", "🤷‍♂️"],
+    ["man_shrugging_light_skin_tone", "🤷🏻‍♂️"],
+    ["man_shrugging_medium-light_skin_tone", "🤷🏼‍♂️"],
+    ["man_shrugging_medium_skin_tone", "🤷🏽‍♂️"],
+    ["man_shrugging_medium-dark_skin_tone", "🤷🏾‍♂️"],
+    ["man_shrugging_dark_skin_tone", "🤷🏿‍♂️"],
+    ["woman_shrugging", "🤷‍♀️"],
+    ["woman_shrugging_light_skin_tone", "🤷🏻‍♀️"],
+    ["woman_shrugging_medium-light_skin_tone", "🤷🏼‍♀️"],
+    ["woman_shrugging_medium_skin_tone", "🤷🏽‍♀️"],
+    ["woman_shrugging_medium-dark_skin_tone", "🤷🏾‍♀️"],
+    ["woman_shrugging_dark_skin_tone", "🤷🏿‍♀️"],
+    ["person_getting_massage", "💆"],
+    ["person_getting_massage_light_skin_tone", "💆🏻"],
+    ["person_getting_massage_medium-light_skin_tone", "💆🏼"],
+    ["person_getting_massage_medium_skin_tone", "💆🏽"],
+    ["person_getting_massage_medium-dark_skin_tone", "💆🏾"],
+    ["person_getting_massage_dark_skin_tone", "💆🏿"],
+    ["man_getting_massage", "💆‍♂️"],
+    ["man_getting_massage_light_skin_tone", "💆🏻‍♂️"],
+    ["man_getting_massage_medium-light_skin_tone", "💆🏼‍♂️"],
+    ["man_getting_massage_medium_skin_tone", "💆🏽‍♂️"],
+    ["man_getting_massage_medium-dark_skin_tone", "💆🏾‍♂️"],
+    ["man_getting_massage_dark_skin_tone", "💆🏿‍♂️"],
+    ["woman_getting_massage", "💆‍♀️"],
+    ["woman_getting_massage_light_skin_tone", "💆🏻‍♀️"],
+    ["woman_getting_massage_medium-light_skin_tone", "💆🏼‍♀️"],
+    ["woman_getting_massage_medium_skin_tone", "💆🏽‍♀️"],
+    ["woman_getting_massage_medium-dark_skin_tone", "💆🏾‍♀️"],
+    ["woman_getting_massage_dark_skin_tone", "💆🏿‍♀️"],
+    ["person_getting_haircut", "💇"],
+    ["person_getting_haircut_light_skin_tone", "💇🏻"],
+    ["person_getting_haircut_medium-light_skin_tone", "💇🏼"],
+    ["person_getting_haircut_medium_skin_tone", "💇🏽"],
+    ["person_getting_haircut_medium-dark_skin_tone", "💇🏾"],
+    ["person_getting_haircut_dark_skin_tone", "💇🏿"],
+    ["man_getting_haircut", "💇‍♂️"],
+    ["man_getting_haircut_light_skin_tone", "💇🏻‍♂️"],
+    ["man_getting_haircut_medium-light_skin_tone", "💇🏼‍♂️"],
+    ["man_getting_haircut_medium_skin_tone", "💇🏽‍♂️"],
+    ["man_getting_haircut_medium-dark_skin_tone", "💇🏾‍♂️"],
+    ["man_getting_haircut_dark_skin_tone", "💇🏿‍♂️"],
+    ["woman_getting_haircut", "💇‍♀️"],
+    ["woman_getting_haircut_light_skin_tone", "💇🏻‍♀️"],
+    ["woman_getting_haircut_medium-light_skin_tone", "💇🏼‍♀️"],
+    ["woman_getting_haircut_medium_skin_tone", "💇🏽‍♀️"],
+    ["woman_getting_haircut_medium-dark_skin_tone", "💇🏾‍♀️"],
+    ["woman_getting_haircut_dark_skin_tone", "💇🏿‍♀️"],
+    ["person_walking", "🚶"],
+    ["person_walking_light_skin_tone", "🚶🏻"],
+    ["person_walking_medium-light_skin_tone", "🚶🏼"],
+    ["person_walking_medium_skin_tone", "🚶🏽"],
+    ["person_walking_medium-dark_skin_tone", "🚶🏾"],
+    ["person_walking_dark_skin_tone", "🚶🏿"],
+    ["man_walking", "🚶‍♂️"],
+    ["man_walking_light_skin_tone", "🚶🏻‍♂️"],
+    ["man_walking_medium-light_skin_tone", "🚶🏼‍♂️"],
+    ["man_walking_medium_skin_tone", "🚶🏽‍♂️"],
+    ["man_walking_medium-dark_skin_tone", "🚶🏾‍♂️"],
+    ["man_walking_dark_skin_tone", "🚶🏿‍♂️"],
+    ["woman_walking", "🚶‍♀️"],
+    ["woman_walking_light_skin_tone", "🚶🏻‍♀️"],
+    ["woman_walking_medium-light_skin_tone", "🚶🏼‍♀️"],
+    ["woman_walking_medium_skin_tone", "🚶🏽‍♀️"],
+    ["woman_walking_medium-dark_skin_tone", "🚶🏾‍♀️"],
+    ["woman_walking_dark_skin_tone", "🚶🏿‍♀️"],
+    ["person_running", "🏃"],
+    ["person_running_light_skin_tone", "🏃🏻"],
+    ["person_running_medium-light_skin_tone", "🏃🏼"],
+    ["person_running_medium_skin_tone", "🏃🏽"],
+    ["person_running_medium-dark_skin_tone", "🏃🏾"],
+    ["person_running_dark_skin_tone", "🏃🏿"],
+    ["man_running", "🏃‍♂️"],
+    ["man_running_light_skin_tone", "🏃🏻‍♂️"],
+    ["man_running_medium-light_skin_tone", "🏃🏼‍♂️"],
+    ["man_running_medium_skin_tone", "🏃🏽‍♂️"],
+    ["man_running_medium-dark_skin_tone", "🏃🏾‍♂️"],
+    ["man_running_dark_skin_tone", "🏃🏿‍♂️"],
+    ["woman_running", "🏃‍♀️"],
+    ["woman_running_light_skin_tone", "🏃🏻‍♀️"],
+    ["woman_running_medium-light_skin_tone", "🏃🏼‍♀️"],
+    ["woman_running_medium_skin_tone", "🏃🏽‍♀️"],
+    ["woman_running_medium-dark_skin_tone", "🏃🏾‍♀️"],
+    ["woman_running_dark_skin_tone", "🏃🏿‍♀️"],
+    ["woman_dancing", "💃"],
+    ["woman_dancing_light_skin_tone", "💃🏻"],
+    ["woman_dancing_medium-light_skin_tone", "💃🏼"],
+    ["woman_dancing_medium_skin_tone", "💃🏽"],
+    ["woman_dancing_medium-dark_skin_tone", "💃🏾"],
+    ["woman_dancing_dark_skin_tone", "💃🏿"],
+    ["man_dancing", "🕺"],
+    ["man_dancing_light_skin_tone", "🕺🏻"],
+    ["man_dancing_medium-light_skin_tone", "🕺🏼"],
+    ["man_dancing_medium_skin_tone", "🕺🏽"],
+    ["man_dancing_medium-dark_skin_tone", "🕺🏾"],
+    ["man_dancing_dark_skin_tone", "🕺🏿"],
+    ["people_with_bunny_ears", "👯"],
+    ["men_with_bunny_ears", "👯‍♂️"],
+    ["women_with_bunny_ears", "👯‍♀️"],
+    ["person_in_steamy_room", "🧖"],
+    ["person_in_steamy_room_light_skin_tone", "🧖🏻"],
+    ["person_in_steamy_room_medium-light_skin_tone", "🧖🏼"],
+    ["person_in_steamy_room_medium_skin_tone", "🧖🏽"],
+    ["person_in_steamy_room_medium-dark_skin_tone", "🧖🏾"],
+    ["person_in_steamy_room_dark_skin_tone", "🧖🏿"],
+    ["woman_in_steamy_room", "🧖‍♀️"],
+    ["woman_in_steamy_room_light_skin_tone", "🧖🏻‍♀️"],
+    ["woman_in_steamy_room_medium-light_skin_tone", "🧖🏼‍♀️"],
+    ["woman_in_steamy_room_medium_skin_tone", "🧖🏽‍♀️"],
+    ["woman_in_steamy_room_medium-dark_skin_tone", "🧖🏾‍♀️"],
+    ["woman_in_steamy_room_dark_skin_tone", "🧖🏿‍♀️"],
+    ["man_in_steamy_room", "🧖‍♂️"],
+    ["man_in_steamy_room_light_skin_tone", "🧖🏻‍♂️"],
+    ["man_in_steamy_room_medium-light_skin_tone", "🧖🏼‍♂️"],
+    ["man_in_steamy_room_medium_skin_tone", "🧖🏽‍♂️"],
+    ["man_in_steamy_room_medium-dark_skin_tone", "🧖🏾‍♂️"],
+    ["man_in_steamy_room_dark_skin_tone", "🧖🏿‍♂️"],
+    ["person_climbing", "🧗"],
+    ["person_climbing_light_skin_tone", "🧗🏻"],
+    ["person_climbing_medium-light_skin_tone", "🧗🏼"],
+    ["person_climbing_medium_skin_tone", "🧗🏽"],
+    ["person_climbing_medium-dark_skin_tone", "🧗🏾"],
+    ["person_climbing_dark_skin_tone", "🧗🏿"],
+    ["woman_climbing", "🧗‍♀️"],
+    ["woman_climbing_light_skin_tone", "🧗🏻‍♀️"],
+    ["woman_climbing_medium-light_skin_tone", "🧗🏼‍♀️"],
+    ["woman_climbing_medium_skin_tone", "🧗🏽‍♀️"],
+    ["woman_climbing_medium-dark_skin_tone", "🧗🏾‍♀️"],
+    ["woman_climbing_dark_skin_tone", "🧗🏿‍♀️"],
+    ["man_climbing", "🧗‍♂️"],
+    ["man_climbing_light_skin_tone", "🧗🏻‍♂️"],
+    ["man_climbing_medium-light_skin_tone", "🧗🏼‍♂️"],
+    ["man_climbing_medium_skin_tone", "🧗🏽‍♂️"],
+    ["man_climbing_medium-dark_skin_tone", "🧗🏾‍♂️"],
+    ["man_climbing_dark_skin_tone", "🧗🏿‍♂️"],
+    ["person_in_lotus_position", "🧘"],
+    ["person_in_lotus_position_light_skin_tone", "🧘🏻"],
+    ["person_in_lotus_position_medium-light_skin_tone", "🧘🏼"],
+    ["person_in_lotus_position_medium_skin_tone", "🧘🏽"],
+    ["person_in_lotus_position_medium-dark_skin_tone", "🧘🏾"],
+    ["person_in_lotus_position_dark_skin_tone", "🧘🏿"],
+    ["woman_in_lotus_position", "🧘‍♀️"],
+    ["woman_in_lotus_position_light_skin_tone", "🧘🏻‍♀️"],
+    ["woman_in_lotus_position_medium-light_skin_tone", "🧘🏼‍♀️"],
+    ["woman_in_lotus_position_medium_skin_tone", "🧘🏽‍♀️"],
+    ["woman_in_lotus_position_medium-dark_skin_tone", "🧘🏾‍♀️"],
+    ["woman_in_lotus_position_dark_skin_tone", "🧘🏿‍♀️"],
+    ["man_in_lotus_position", "🧘‍♂️"],
+    ["man_in_lotus_position_light_skin_tone", "🧘🏻‍♂️"],
+    ["man_in_lotus_position_medium-light_skin_tone", "🧘🏼‍♂️"],
+    ["man_in_lotus_position_medium_skin_tone", "🧘🏽‍♂️"],
+    ["man_in_lotus_position_medium-dark_skin_tone", "🧘🏾‍♂️"],
+    ["man_in_lotus_position_dark_skin_tone", "🧘🏿‍♂️"],
+    ["person_taking_bath", "🛀"],
+    ["person_taking_bath_light_skin_tone", "🛀🏻"],
+    ["person_taking_bath_medium-light_skin_tone", "🛀🏼"],
+    ["person_taking_bath_medium_skin_tone", "🛀🏽"],
+    ["person_taking_bath_medium-dark_skin_tone", "🛀🏾"],
+    ["person_taking_bath_dark_skin_tone", "🛀🏿"],
+    ["person_in_bed", "🛌"],
+    ["person_in_bed_light_skin_tone", "🛌🏻"],
+    ["person_in_bed_medium-light_skin_tone", "🛌🏼"],
+    ["person_in_bed_medium_skin_tone", "🛌🏽"],
+    ["person_in_bed_medium-dark_skin_tone", "🛌🏾"],
+    ["person_in_bed_dark_skin_tone", "🛌🏿"],
+    ["man_in_suit_levitating", "🕴️"],
+    ["man_in_suit_levitating_light_skin_tone", "🕴🏻"],
+    ["man_in_suit_levitating_medium-light_skin_tone", "🕴🏼"],
+    ["man_in_suit_levitating_medium_skin_tone", "🕴🏽"],
+    ["man_in_suit_levitating_medium-dark_skin_tone", "🕴🏾"],
+    ["man_in_suit_levitating_dark_skin_tone", "🕴🏿"],
+    ["speaking_head", "🗣️"],
+    ["bust_in_silhouette", "👤"],
+    ["busts_in_silhouette", "👥"],
+    ["person_fencing", "🤺"],
+    ["horse_racing", "🏇"],
+    ["horse_racing_light_skin_tone", "🏇🏻"],
+    ["horse_racing_medium-light_skin_tone", "🏇🏼"],
+    ["horse_racing_medium_skin_tone", "🏇🏽"],
+    ["horse_racing_medium-dark_skin_tone", "🏇🏾"],
+    ["horse_racing_dark_skin_tone", "🏇🏿"],
+    ["skier", "⛷️"],
+    ["snowboarder", "🏂"],
+    ["snowboarder_light_skin_tone", "🏂🏻"],
+    ["snowboarder_medium-light_skin_tone", "🏂🏼"],
+    ["snowboarder_medium_skin_tone", "🏂🏽"],
+    ["snowboarder_medium-dark_skin_tone", "🏂🏾"],
+    ["snowboarder_dark_skin_tone", "🏂🏿"],
+    ["person_golfing", "🏌️"],
+    ["person_golfing_light_skin_tone", "🏌🏻"],
+    ["person_golfing_medium-light_skin_tone", "🏌🏼"],
+    ["person_golfing_medium_skin_tone", "🏌🏽"],
+    ["person_golfing_medium-dark_skin_tone", "🏌🏾"],
+    ["person_golfing_dark_skin_tone", "🏌🏿"],
+    ["man_golfing", "🏌️‍♂️"],
+    ["man_golfing_light_skin_tone", "🏌🏻‍♂️"],
+    ["man_golfing_medium-light_skin_tone", "🏌🏼‍♂️"],
+    ["man_golfing_medium_skin_tone", "🏌🏽‍♂️"],
+    ["man_golfing_medium-dark_skin_tone", "🏌🏾‍♂️"],
+    ["man_golfing_dark_skin_tone", "🏌🏿‍♂️"],
+    ["woman_golfing", "🏌️‍♀️"],
+    ["woman_golfing_light_skin_tone", "🏌🏻‍♀️"],
+    ["woman_golfing_medium-light_skin_tone", "🏌🏼‍♀️"],
+    ["woman_golfing_medium_skin_tone", "🏌🏽‍♀️"],
+    ["woman_golfing_medium-dark_skin_tone", "🏌🏾‍♀️"],
+    ["woman_golfing_dark_skin_tone", "🏌🏿‍♀️"],
+    ["person_surfing", "🏄"],
+    ["person_surfing_light_skin_tone", "🏄🏻"],
+    ["person_surfing_medium-light_skin_tone", "🏄🏼"],
+    ["person_surfing_medium_skin_tone", "🏄🏽"],
+    ["person_surfing_medium-dark_skin_tone", "🏄🏾"],
+    ["person_surfing_dark_skin_tone", "🏄🏿"],
+    ["man_surfing", "🏄‍♂️"],
+    ["man_surfing_light_skin_tone", "🏄🏻‍♂️"],
+    ["man_surfing_medium-light_skin_tone", "🏄🏼‍♂️"],
+    ["man_surfing_medium_skin_tone", "🏄🏽‍♂️"],
+    ["man_surfing_medium-dark_skin_tone", "🏄🏾‍♂️"],
+    ["man_surfing_dark_skin_tone", "🏄🏿‍♂️"],
+    ["woman_surfing", "🏄‍♀️"],
+    ["woman_surfing_light_skin_tone", "🏄🏻‍♀️"],
+    ["woman_surfing_medium-light_skin_tone", "🏄🏼‍♀️"],
+    ["woman_surfing_medium_skin_tone", "🏄🏽‍♀️"],
+    ["woman_surfing_medium-dark_skin_tone", "🏄🏾‍♀️"],
+    ["woman_surfing_dark_skin_tone", "🏄🏿‍♀️"],
+    ["person_rowing_boat", "🚣"],
+    ["person_rowing_boat_light_skin_tone", "🚣🏻"],
+    ["person_rowing_boat_medium-light_skin_tone", "🚣🏼"],
+    ["person_rowing_boat_medium_skin_tone", "🚣🏽"],
+    ["person_rowing_boat_medium-dark_skin_tone", "🚣🏾"],
+    ["person_rowing_boat_dark_skin_tone", "🚣🏿"],
+    ["man_rowing_boat", "🚣‍♂️"],
+    ["man_rowing_boat_light_skin_tone", "🚣🏻‍♂️"],
+    ["man_rowing_boat_medium-light_skin_tone", "🚣🏼‍♂️"],
+    ["man_rowing_boat_medium_skin_tone", "🚣🏽‍♂️"],
+    ["man_rowing_boat_medium-dark_skin_tone", "🚣🏾‍♂️"],
+    ["man_rowing_boat_dark_skin_tone", "🚣🏿‍♂️"],
+    ["woman_rowing_boat", "🚣‍♀️"],
+    ["woman_rowing_boat_light_skin_tone", "🚣🏻‍♀️"],
+    ["woman_rowing_boat_medium-light_skin_tone", "🚣🏼‍♀️"],
+    ["woman_rowing_boat_medium_skin_tone", "🚣🏽‍♀️"],
+    ["woman_rowing_boat_medium-dark_skin_tone", "🚣🏾‍♀️"],
+    ["woman_rowing_boat_dark_skin_tone", "🚣🏿‍♀️"],
+    ["person_swimming", "🏊"],
+    ["person_swimming_light_skin_tone", "🏊🏻"],
+    ["person_swimming_medium-light_skin_tone", "🏊🏼"],
+    ["person_swimming_medium_skin_tone", "🏊🏽"],
+    ["person_swimming_medium-dark_skin_tone", "🏊🏾"],
+    ["person_swimming_dark_skin_tone", "🏊🏿"],
+    ["man_swimming", "🏊‍♂️"],
+    ["man_swimming_light_skin_tone", "🏊🏻‍♂️"],
+    ["man_swimming_medium-light_skin_tone", "🏊🏼‍♂️"],
+    ["man_swimming_medium_skin_tone", "🏊🏽‍♂️"],
+    ["man_swimming_medium-dark_skin_tone", "🏊🏾‍♂️"],
+    ["man_swimming_dark_skin_tone", "🏊🏿‍♂️"],
+    ["woman_swimming", "🏊‍♀️"],
+    ["woman_swimming_light_skin_tone", "🏊🏻‍♀️"],
+    ["woman_swimming_medium-light_skin_tone", "🏊🏼‍♀️"],
+    ["woman_swimming_medium_skin_tone", "🏊🏽‍♀️"],
+    ["woman_swimming_medium-dark_skin_tone", "🏊🏾‍♀️"],
+    ["woman_swimming_dark_skin_tone", "🏊🏿‍♀️"],
+    ["person_bouncing_ball", "⛹️"],
+    ["person_bouncing_ball_light_skin_tone", "⛹🏻"],
+    ["person_bouncing_ball_medium-light_skin_tone", "⛹🏼"],
+    ["person_bouncing_ball_medium_skin_tone", "⛹🏽"],
+    ["person_bouncing_ball_medium-dark_skin_tone", "⛹🏾"],
+    ["person_bouncing_ball_dark_skin_tone", "⛹🏿"],
+    ["man_bouncing_ball", "⛹️‍♂️"],
+    ["man_bouncing_ball_light_skin_tone", "⛹🏻‍♂️"],
+    ["man_bouncing_ball_medium-light_skin_tone", "⛹🏼‍♂️"],
+    ["man_bouncing_ball_medium_skin_tone", "⛹🏽‍♂️"],
+    ["man_bouncing_ball_medium-dark_skin_tone", "⛹🏾‍♂️"],
+    ["man_bouncing_ball_dark_skin_tone", "⛹🏿‍♂️"],
+    ["woman_bouncing_ball", "⛹️‍♀️"],
+    ["woman_bouncing_ball_light_skin_tone", "⛹🏻‍♀️"],
+    ["woman_bouncing_ball_medium-light_skin_tone", "⛹🏼‍♀️"],
+    ["woman_bouncing_ball_medium_skin_tone", "⛹🏽‍♀️"],
+    ["woman_bouncing_ball_medium-dark_skin_tone", "⛹🏾‍♀️"],
+    ["woman_bouncing_ball_dark_skin_tone", "⛹🏿‍♀️"],
+    ["person_lifting_weights", "🏋️"],
+    ["person_lifting_weights_light_skin_tone", "🏋🏻"],
+    ["person_lifting_weights_medium-light_skin_tone", "🏋🏼"],
+    ["person_lifting_weights_medium_skin_tone", "🏋🏽"],
+    ["person_lifting_weights_medium-dark_skin_tone", "🏋🏾"],
+    ["person_lifting_weights_dark_skin_tone", "🏋🏿"],
+    ["man_lifting_weights", "🏋️‍♂️"],
+    ["man_lifting_weights_light_skin_tone", "🏋🏻‍♂️"],
+    ["man_lifting_weights_medium-light_skin_tone", "🏋🏼‍♂️"],
+    ["man_lifting_weights_medium_skin_tone", "🏋🏽‍♂️"],
+    ["man_lifting_weights_medium-dark_skin_tone", "🏋🏾‍♂️"],
+    ["man_lifting_weights_dark_skin_tone", "🏋🏿‍♂️"],
+    ["woman_lifting_weights", "🏋️‍♀️"],
+    ["woman_lifting_weights_light_skin_tone", "🏋🏻‍♀️"],
+    ["woman_lifting_weights_medium-light_skin_tone", "🏋🏼‍♀️"],
+    ["woman_lifting_weights_medium_skin_tone", "🏋🏽‍♀️"],
+    ["woman_lifting_weights_medium-dark_skin_tone", "🏋🏾‍♀️"],
+    ["woman_lifting_weights_dark_skin_tone", "🏋🏿‍♀️"],
+    ["person_biking", "🚴"],
+    ["person_biking_light_skin_tone", "🚴🏻"],
+    ["person_biking_medium-light_skin_tone", "🚴🏼"],
+    ["person_biking_medium_skin_tone", "🚴🏽"],
+    ["person_biking_medium-dark_skin_tone", "🚴🏾"],
+    ["person_biking_dark_skin_tone", "🚴🏿"],
+    ["man_biking", "🚴‍♂️"],
+    ["man_biking_light_skin_tone", "🚴🏻‍♂️"],
+    ["man_biking_medium-light_skin_tone", "🚴🏼‍♂️"],
+    ["man_biking_medium_skin_tone", "🚴🏽‍♂️"],
+    ["man_biking_medium-dark_skin_tone", "🚴🏾‍♂️"],
+    ["man_biking_dark_skin_tone", "🚴🏿‍♂️"],
+    ["woman_biking", "🚴‍♀️"],
+    ["woman_biking_light_skin_tone", "🚴🏻‍♀️"],
+    ["woman_biking_medium-light_skin_tone", "🚴🏼‍♀️"],
+    ["woman_biking_medium_skin_tone", "🚴🏽‍♀️"],
+    ["woman_biking_medium-dark_skin_tone", "🚴🏾‍♀️"],
+    ["woman_biking_dark_skin_tone", "🚴🏿‍♀️"],
+    ["person_mountain_biking", "🚵"],
+    ["person_mountain_biking_light_skin_tone", "🚵🏻"],
+    ["person_mountain_biking_medium-light_skin_tone", "🚵🏼"],
+    ["person_mountain_biking_medium_skin_tone", "🚵🏽"],
+    ["person_mountain_biking_medium-dark_skin_tone", "🚵🏾"],
+    ["person_mountain_biking_dark_skin_tone", "🚵🏿"],
+    ["man_mountain_biking", "🚵‍♂️"],
+    ["man_mountain_biking_light_skin_tone", "🚵🏻‍♂️"],
+    ["man_mountain_biking_medium-light_skin_tone", "🚵🏼‍♂️"],
+    ["man_mountain_biking_medium_skin_tone", "🚵🏽‍♂️"],
+    ["man_mountain_biking_medium-dark_skin_tone", "🚵🏾‍♂️"],
+    ["man_mountain_biking_dark_skin_tone", "🚵🏿‍♂️"],
+    ["woman_mountain_biking", "🚵‍♀️"],
+    ["woman_mountain_biking_light_skin_tone", "🚵🏻‍♀️"],
+    ["woman_mountain_biking_medium-light_skin_tone", "🚵🏼‍♀️"],
+    ["woman_mountain_biking_medium_skin_tone", "🚵🏽‍♀️"],
+    ["woman_mountain_biking_medium-dark_skin_tone", "🚵🏾‍♀️"],
+    ["woman_mountain_biking_dark_skin_tone", "🚵🏿‍♀️"],
+    ["racing_car", "🏎️"],
+    ["motorcycle", "🏍️"],
+    ["person_cartwheeling", "🤸"],
+    ["person_cartwheeling_light_skin_tone", "🤸🏻"],
+    ["person_cartwheeling_medium-light_skin_tone", "🤸🏼"],
+    ["person_cartwheeling_medium_skin_tone", "🤸🏽"],
+    ["person_cartwheeling_medium-dark_skin_tone", "🤸🏾"],
+    ["person_cartwheeling_dark_skin_tone", "🤸🏿"],
+    ["man_cartwheeling", "🤸‍♂️"],
+    ["man_cartwheeling_light_skin_tone", "🤸🏻‍♂️"],
+    ["man_cartwheeling_medium-light_skin_tone", "🤸🏼‍♂️"],
+    ["man_cartwheeling_medium_skin_tone", "🤸🏽‍♂️"],
+    ["man_cartwheeling_medium-dark_skin_tone", "🤸🏾‍♂️"],
+    ["man_cartwheeling_dark_skin_tone", "🤸🏿‍♂️"],
+    ["woman_cartwheeling", "🤸‍♀️"],
+    ["woman_cartwheeling_light_skin_tone", "🤸🏻‍♀️"],
+    ["woman_cartwheeling_medium-light_skin_tone", "🤸🏼‍♀️"],
+    ["woman_cartwheeling_medium_skin_tone", "🤸🏽‍♀️"],
+    ["woman_cartwheeling_medium-dark_skin_tone", "🤸🏾‍♀️"],
+    ["woman_cartwheeling_dark_skin_tone", "🤸🏿‍♀️"],
+    ["people_wrestling", "🤼"],
+    ["men_wrestling", "🤼‍♂️"],
+    ["women_wrestling", "🤼‍♀️"],
+    ["person_playing_water_polo", "🤽"],
+    ["person_playing_water_polo_light_skin_tone", "🤽🏻"],
+    ["person_playing_water_polo_medium-light_skin_tone", "🤽🏼"],
+    ["person_playing_water_polo_medium_skin_tone", "🤽🏽"],
+    ["person_playing_water_polo_medium-dark_skin_tone", "🤽🏾"],
+    ["person_playing_water_polo_dark_skin_tone", "🤽🏿"],
+    ["man_playing_water_polo", "🤽‍♂️"],
+    ["man_playing_water_polo_light_skin_tone", "🤽🏻‍♂️"],
+    ["man_playing_water_polo_medium-light_skin_tone", "🤽🏼‍♂️"],
+    ["man_playing_water_polo_medium_skin_tone", "🤽🏽‍♂️"],
+    ["man_playing_water_polo_medium-dark_skin_tone", "🤽🏾‍♂️"],
+    ["man_playing_water_polo_dark_skin_tone", "🤽🏿‍♂️"],
+    ["woman_playing_water_polo", "🤽‍♀️"],
+    ["woman_playing_water_polo_light_skin_tone", "🤽🏻‍♀️"],
+    ["woman_playing_water_polo_medium-light_skin_tone", "🤽🏼‍♀️"],
+    ["woman_playing_water_polo_medium_skin_tone", "🤽🏽‍♀️"],
+    ["woman_playing_water_polo_medium-dark_skin_tone", "🤽🏾‍♀️"],
+    ["woman_playing_water_polo_dark_skin_tone", "🤽🏿‍♀️"],
+    ["person_playing_handball", "🤾"],
+    ["person_playing_handball_light_skin_tone", "🤾🏻"],
+    ["person_playing_handball_medium-light_skin_tone", "🤾🏼"],
+    ["person_playing_handball_medium_skin_tone", "🤾🏽"],
+    ["person_playing_handball_medium-dark_skin_tone", "🤾🏾"],
+    ["person_playing_handball_dark_skin_tone", "🤾🏿"],
+    ["man_playing_handball", "🤾‍♂️"],
+    ["man_playing_handball_light_skin_tone", "🤾🏻‍♂️"],
+    ["man_playing_handball_medium-light_skin_tone", "🤾🏼‍♂️"],
+    ["man_playing_handball_medium_skin_tone", "🤾🏽‍♂️"],
+    ["man_playing_handball_medium-dark_skin_tone", "🤾🏾‍♂️"],
+    ["man_playing_handball_dark_skin_tone", "🤾🏿‍♂️"],
+    ["woman_playing_handball", "🤾‍♀️"],
+    ["woman_playing_handball_light_skin_tone", "🤾🏻‍♀️"],
+    ["woman_playing_handball_medium-light_skin_tone", "🤾🏼‍♀️"],
+    ["woman_playing_handball_medium_skin_tone", "🤾🏽‍♀️"],
+    ["woman_playing_handball_medium-dark_skin_tone", "🤾🏾‍♀️"],
+    ["woman_playing_handball_dark_skin_tone", "🤾🏿‍♀️"],
+    ["person_juggling", "🤹"],
+    ["person_juggling_light_skin_tone", "🤹🏻"],
+    ["person_juggling_medium-light_skin_tone", "🤹🏼"],
+    ["person_juggling_medium_skin_tone", "🤹🏽"],
+    ["person_juggling_medium-dark_skin_tone", "🤹🏾"],
+    ["person_juggling_dark_skin_tone", "🤹🏿"],
+    ["man_juggling", "🤹‍♂️"],
+    ["man_juggling_light_skin_tone", "🤹🏻‍♂️"],
+    ["man_juggling_medium-light_skin_tone", "🤹🏼‍♂️"],
+    ["man_juggling_medium_skin_tone", "🤹🏽‍♂️"],
+    ["man_juggling_medium-dark_skin_tone", "🤹🏾‍♂️"],
+    ["man_juggling_dark_skin_tone", "🤹🏿‍♂️"],
+    ["woman_juggling", "🤹‍♀️"],
+    ["woman_juggling_light_skin_tone", "🤹🏻‍♀️"],
+    ["woman_juggling_medium-light_skin_tone", "🤹🏼‍♀️"],
+    ["woman_juggling_medium_skin_tone", "🤹🏽‍♀️"],
+    ["woman_juggling_medium-dark_skin_tone", "🤹🏾‍♀️"],
+    ["woman_juggling_dark_skin_tone", "🤹🏿‍♀️"],
+    ["man_and_woman_holding_hands", "👫"],
+    ["two_men_holding_hands", "👬"],
+    ["two_women_holding_hands", "👭"],
+    ["kiss", "💏"],
+    ["kiss_woman,_man", "👩‍❤️‍💋‍👨"],
+    ["kiss_man,_man", "👨‍❤️‍💋‍👨"],
+    ["kiss_woman,_woman", "👩‍❤️‍💋‍👩"],
+    ["couple_with_heart", "💑"],
+    ["couple_with_heart_woman,_man", "👩‍❤️‍👨"],
+    ["couple_with_heart_man,_man", "👨‍❤️‍👨"],
+    ["couple_with_heart_woman,_woman", "👩‍❤️‍👩"],
+    ["family", "👪"],
+    ["family_man,_woman,_boy", "👨‍👩‍👦"],
+    ["family_man,_woman,_girl", "👨‍👩‍👧"],
+    ["family_man,_woman,_girl,_boy", "👨‍👩‍👧‍👦"],
+    ["family_man,_woman,_boy,_boy", "👨‍👩‍👦‍👦"],
+    ["family_man,_woman,_girl,_girl", "👨‍👩‍👧‍👧"],
+    ["family_man,_man,_boy", "👨‍👨‍👦"],
+    ["family_man,_man,_girl", "👨‍👨‍👧"],
+    ["family_man,_man,_girl,_boy", "👨‍👨‍👧‍👦"],
+    ["family_man,_man,_boy,_boy", "👨‍👨‍👦‍👦"],
+    ["family_man,_man,_girl,_girl", "👨‍👨‍👧‍👧"],
+    ["family_woman,_woman,_boy", "👩‍👩‍👦"],
+    ["family_woman,_woman,_girl", "👩‍👩‍👧"],
+    ["family_woman,_woman,_girl,_boy", "👩‍👩‍👧‍👦"],
+    ["family_woman,_woman,_boy,_boy", "👩‍👩‍👦‍👦"],
+    ["family_woman,_woman,_girl,_girl", "👩‍👩‍👧‍👧"],
+    ["family_man,_boy", "👨‍👦"],
+    ["family_man,_boy,_boy", "👨‍👦‍👦"],
+    ["family_man,_girl", "👨‍👧"],
+    ["family_man,_girl,_boy", "👨‍👧‍👦"],
+    ["family_man,_girl,_girl", "👨‍👧‍👧"],
+    ["family_woman,_boy", "👩‍👦"],
+    ["family_woman,_boy,_boy", "👩‍👦‍👦"],
+    ["family_woman,_girl", "👩‍👧"],
+    ["family_woman,_girl,_boy", "👩‍👧‍👦"],
+    ["family_woman,_girl,_girl", "👩‍👧‍👧"],
+    ["selfie", "🤳"],
+    ["selfie_light_skin_tone", "🤳🏻"],
+    ["selfie_medium-light_skin_tone", "🤳🏼"],
+    ["selfie_medium_skin_tone", "🤳🏽"],
+    ["selfie_medium-dark_skin_tone", "🤳🏾"],
+    ["selfie_dark_skin_tone", "🤳🏿"],
+    ["flexed_biceps", "💪"],
+    ["flexed_biceps_light_skin_tone", "💪🏻"],
+    ["flexed_biceps_medium-light_skin_tone", "💪🏼"],
+    ["flexed_biceps_medium_skin_tone", "💪🏽"],
+    ["flexed_biceps_medium-dark_skin_tone", "💪🏾"],
+    ["flexed_biceps_dark_skin_tone", "💪🏿"],
+    ["backhand_index_pointing_left", "👈"],
+    ["backhand_index_pointing_left_light_skin_tone", "👈🏻"],
+    ["backhand_index_pointing_left_medium-light_skin_tone", "👈🏼"],
+    ["backhand_index_pointing_left_medium_skin_tone", "👈🏽"],
+    ["backhand_index_pointing_left_medium-dark_skin_tone", "👈🏾"],
+    ["backhand_index_pointing_left_dark_skin_tone", "👈🏿"],
+    ["backhand_index_pointing_right", "👉"],
+    ["backhand_index_pointing_right_light_skin_tone", "👉🏻"],
+    ["backhand_index_pointing_right_medium-light_skin_tone", "👉🏼"],
+    ["backhand_index_pointing_right_medium_skin_tone", "👉🏽"],
+    ["backhand_index_pointing_right_medium-dark_skin_tone", "👉🏾"],
+    ["backhand_index_pointing_right_dark_skin_tone", "👉🏿"],
+    ["index_pointing_up", "☝️"],
+    ["index_pointing_up_light_skin_tone", "☝🏻"],
+    ["index_pointing_up_medium-light_skin_tone", "☝🏼"],
+    ["index_pointing_up_medium_skin_tone", "☝🏽"],
+    ["index_pointing_up_medium-dark_skin_tone", "☝🏾"],
+    ["index_pointing_up_dark_skin_tone", "☝🏿"],
+    ["backhand_index_pointing_up", "👆"],
+    ["backhand_index_pointing_up_light_skin_tone", "👆🏻"],
+    ["backhand_index_pointing_up_medium-light_skin_tone", "👆🏼"],
+    ["backhand_index_pointing_up_medium_skin_tone", "👆🏽"],
+    ["backhand_index_pointing_up_medium-dark_skin_tone", "👆🏾"],
+    ["backhand_index_pointing_up_dark_skin_tone", "👆🏿"],
+    ["middle_finger", "🖕"],
+    ["middle_finger_light_skin_tone", "🖕🏻"],
+    ["middle_finger_medium-light_skin_tone", "🖕🏼"],
+    ["middle_finger_medium_skin_tone", "🖕🏽"],
+    ["middle_finger_medium-dark_skin_tone", "🖕🏾"],
+    ["middle_finger_dark_skin_tone", "🖕🏿"],
+    ["backhand_index_pointing_down", "👇"],
+    ["backhand_index_pointing_down_light_skin_tone", "👇🏻"],
+    ["backhand_index_pointing_down_medium-light_skin_tone", "👇🏼"],
+    ["backhand_index_pointing_down_medium_skin_tone", "👇🏽"],
+    ["backhand_index_pointing_down_medium-dark_skin_tone", "👇🏾"],
+    ["backhand_index_pointing_down_dark_skin_tone", "👇🏿"],
+    ["victory_hand", "✌️"],
+    ["victory_hand_light_skin_tone", "✌🏻"],
+    ["victory_hand_medium-light_skin_tone", "✌🏼"],
+    ["victory_hand_medium_skin_tone", "✌🏽"],
+    ["victory_hand_medium-dark_skin_tone", "✌🏾"],
+    ["victory_hand_dark_skin_tone", "✌🏿"],
+    ["crossed_fingers", "🤞"],
+    ["crossed_fingers_light_skin_tone", "🤞🏻"],
+    ["crossed_fingers_medium-light_skin_tone", "🤞🏼"],
+    ["crossed_fingers_medium_skin_tone", "🤞🏽"],
+    ["crossed_fingers_medium-dark_skin_tone", "🤞🏾"],
+    ["crossed_fingers_dark_skin_tone", "🤞🏿"],
+    ["vulcan_salute", "🖖"],
+    ["vulcan_salute_light_skin_tone", "🖖🏻"],
+    ["vulcan_salute_medium-light_skin_tone", "🖖🏼"],
+    ["vulcan_salute_medium_skin_tone", "🖖🏽"],
+    ["vulcan_salute_medium-dark_skin_tone", "🖖🏾"],
+    ["vulcan_salute_dark_skin_tone", "🖖🏿"],
+    ["sign_of_the_horns", "🤘"],
+    ["sign_of_the_horns_light_skin_tone", "🤘🏻"],
+    ["sign_of_the_horns_medium-light_skin_tone", "🤘🏼"],
+    ["sign_of_the_horns_medium_skin_tone", "🤘🏽"],
+    ["sign_of_the_horns_medium-dark_skin_tone", "🤘🏾"],
+    ["sign_of_the_horns_dark_skin_tone", "🤘🏿"],
+    ["call_me_hand", "🤙"],
+    ["call_me_hand_light_skin_tone", "🤙🏻"],
+    ["call_me_hand_medium-light_skin_tone", "🤙🏼"],
+    ["call_me_hand_medium_skin_tone", "🤙🏽"],
+    ["call_me_hand_medium-dark_skin_tone", "🤙🏾"],
+    ["call_me_hand_dark_skin_tone", "🤙🏿"],
+    ["hand_with_fingers_splayed", "🖐️"],
+    ["hand_with_fingers_splayed_light_skin_tone", "🖐🏻"],
+    ["hand_with_fingers_splayed_medium-light_skin_tone", "🖐🏼"],
+    ["hand_with_fingers_splayed_medium_skin_tone", "🖐🏽"],
+    ["hand_with_fingers_splayed_medium-dark_skin_tone", "🖐🏾"],
+    ["hand_with_fingers_splayed_dark_skin_tone", "🖐🏿"],
+    ["raised_hand", "✋"],
+    ["raised_hand_light_skin_tone", "✋🏻"],
+    ["raised_hand_medium-light_skin_tone", "✋🏼"],
+    ["raised_hand_medium_skin_tone", "✋🏽"],
+    ["raised_hand_medium-dark_skin_tone", "✋🏾"],
+    ["raised_hand_dark_skin_tone", "✋🏿"],
+    ["OK_hand", "👌"],
+    ["OK_hand_light_skin_tone", "👌🏻"],
+    ["OK_hand_medium-light_skin_tone", "👌🏼"],
+    ["OK_hand_medium_skin_tone", "👌🏽"],
+    ["OK_hand_medium-dark_skin_tone", "👌🏾"],
+    ["OK_hand_dark_skin_tone", "👌🏿"],
+    ["thumbs_up", "👍"],
+    ["thumbs_up_light_skin_tone", "👍🏻"],
+    ["thumbs_up_medium-light_skin_tone", "👍🏼"],
+    ["thumbs_up_medium_skin_tone", "👍🏽"],
+    ["thumbs_up_medium-dark_skin_tone", "👍🏾"],
+    ["thumbs_up_dark_skin_tone", "👍🏿"],
+    ["thumbs_down", "👎"],
+    ["thumbs_down_light_skin_tone", "👎🏻"],
+    ["thumbs_down_medium-light_skin_tone", "👎🏼"],
+    ["thumbs_down_medium_skin_tone", "👎🏽"],
+    ["thumbs_down_medium-dark_skin_tone", "👎🏾"],
+    ["thumbs_down_dark_skin_tone", "👎🏿"],
+    ["raised_fist", "✊"],
+    ["raised_fist_light_skin_tone", "✊🏻"],
+    ["raised_fist_medium-light_skin_tone", "✊🏼"],
+    ["raised_fist_medium_skin_tone", "✊🏽"],
+    ["raised_fist_medium-dark_skin_tone", "✊🏾"],
+    ["raised_fist_dark_skin_tone", "✊🏿"],
+    ["oncoming_fist", "👊"],
+    ["oncoming_fist_light_skin_tone", "👊🏻"],
+    ["oncoming_fist_medium-light_skin_tone", "👊🏼"],
+    ["oncoming_fist_medium_skin_tone", "👊🏽"],
+    ["oncoming_fist_medium-dark_skin_tone", "👊🏾"],
+    ["oncoming_fist_dark_skin_tone", "👊🏿"],
+    ["left-facing_fist", "🤛"],
+    ["left-facing_fist_light_skin_tone", "🤛🏻"],
+    ["left-facing_fist_medium-light_skin_tone", "🤛🏼"],
+    ["left-facing_fist_medium_skin_tone", "🤛🏽"],
+    ["left-facing_fist_medium-dark_skin_tone", "🤛🏾"],
+    ["left-facing_fist_dark_skin_tone", "🤛🏿"],
+    ["right-facing_fist", "🤜"],
+    ["right-facing_fist_light_skin_tone", "🤜🏻"],
+    ["right-facing_fist_medium-light_skin_tone", "🤜🏼"],
+    ["right-facing_fist_medium_skin_tone", "🤜🏽"],
+    ["right-facing_fist_medium-dark_skin_tone", "🤜🏾"],
+    ["right-facing_fist_dark_skin_tone", "🤜🏿"],
+    ["raised_back_of_hand", "🤚"],
+    ["raised_back_of_hand_light_skin_tone", "🤚🏻"],
+    ["raised_back_of_hand_medium-light_skin_tone", "🤚🏼"],
+    ["raised_back_of_hand_medium_skin_tone", "🤚🏽"],
+    ["raised_back_of_hand_medium-dark_skin_tone", "🤚🏾"],
+    ["raised_back_of_hand_dark_skin_tone", "🤚🏿"],
+    ["waving_hand", "👋"],
+    ["waving_hand_light_skin_tone", "👋🏻"],
+    ["waving_hand_medium-light_skin_tone", "👋🏼"],
+    ["waving_hand_medium_skin_tone", "👋🏽"],
+    ["waving_hand_medium-dark_skin_tone", "👋🏾"],
+    ["waving_hand_dark_skin_tone", "👋🏿"],
+    ["love-you_gesture", "🤟"],
+    ["love-you_gesture_light_skin_tone", "🤟🏻"],
+    ["love-you_gesture_medium-light_skin_tone", "🤟🏼"],
+    ["love-you_gesture_medium_skin_tone", "🤟🏽"],
+    ["love-you_gesture_medium-dark_skin_tone", "🤟🏾"],
+    ["love-you_gesture_dark_skin_tone", "🤟🏿"],
+    ["writing_hand", "✍️"],
+    ["writing_hand_light_skin_tone", "✍🏻"],
+    ["writing_hand_medium-light_skin_tone", "✍🏼"],
+    ["writing_hand_medium_skin_tone", "✍🏽"],
+    ["writing_hand_medium-dark_skin_tone", "✍🏾"],
+    ["writing_hand_dark_skin_tone", "✍🏿"],
+    ["clapping_hands", "👏"],
+    ["clapping_hands_light_skin_tone", "👏🏻"],
+    ["clapping_hands_medium-light_skin_tone", "👏🏼"],
+    ["clapping_hands_medium_skin_tone", "👏🏽"],
+    ["clapping_hands_medium-dark_skin_tone", "👏🏾"],
+    ["clapping_hands_dark_skin_tone", "👏🏿"],
+    ["open_hands", "👐"],
+    ["open_hands_light_skin_tone", "👐🏻"],
+    ["open_hands_medium-light_skin_tone", "👐🏼"],
+    ["open_hands_medium_skin_tone", "👐🏽"],
+    ["open_hands_medium-dark_skin_tone", "👐🏾"],
+    ["open_hands_dark_skin_tone", "👐🏿"],
+    ["raising_hands", "🙌"],
+    ["raising_hands_light_skin_tone", "🙌🏻"],
+    ["raising_hands_medium-light_skin_tone", "🙌🏼"],
+    ["raising_hands_medium_skin_tone", "🙌🏽"],
+    ["raising_hands_medium-dark_skin_tone", "🙌🏾"],
+    ["raising_hands_dark_skin_tone", "🙌🏿"],
+    ["palms_up_together", "🤲"],
+    ["palms_up_together_light_skin_tone", "🤲🏻"],
+    ["palms_up_together_medium-light_skin_tone", "🤲🏼"],
+    ["palms_up_together_medium_skin_tone", "🤲🏽"],
+    ["palms_up_together_medium-dark_skin_tone", "🤲🏾"],
+    ["palms_up_together_dark_skin_tone", "🤲🏿"],
+    ["folded_hands", "🙏"],
+    ["folded_hands_light_skin_tone", "🙏🏻"],
+    ["folded_hands_medium-light_skin_tone", "🙏🏼"],
+    ["folded_hands_medium_skin_tone", "🙏🏽"],
+    ["folded_hands_medium-dark_skin_tone", "🙏🏾"],
+    ["folded_hands_dark_skin_tone", "🙏🏿"],
+    ["handshake", "🤝"],
+    ["nail_polish", "💅"],
+    ["nail_polish_light_skin_tone", "💅🏻"],
+    ["nail_polish_medium-light_skin_tone", "💅🏼"],
+    ["nail_polish_medium_skin_tone", "💅🏽"],
+    ["nail_polish_medium-dark_skin_tone", "💅🏾"],
+    ["nail_polish_dark_skin_tone", "💅🏿"],
+    ["ear", "👂"],
+    ["ear_light_skin_tone", "👂🏻"],
+    ["ear_medium-light_skin_tone", "👂🏼"],
+    ["ear_medium_skin_tone", "👂🏽"],
+    ["ear_medium-dark_skin_tone", "👂🏾"],
+    ["ear_dark_skin_tone", "👂🏿"],
+    ["nose", "👃"],
+    ["nose_light_skin_tone", "👃🏻"],
+    ["nose_medium-light_skin_tone", "👃🏼"],
+    ["nose_medium_skin_tone", "👃🏽"],
+    ["nose_medium-dark_skin_tone", "👃🏾"],
+    ["nose_dark_skin_tone", "👃🏿"],
+    ["footprints", "👣"],
+    ["eyes", "👀"],
+    ["eye", "👁️"],
+    ["eye_in_speech_bubble", "👁️‍🗨️"],
+    ["brain", "🧠"],
+    ["tongue", "👅"],
+    ["mouth", "👄"],
+    ["kiss_mark", "💋"],
+    ["heart_with_arrow", "💘"],
+    ["red_heart", "❤️"],
+    ["beating_heart", "💓"],
+    ["broken_heart", "💔"],
+    ["two_hearts", "💕"],
+    ["sparkling_heart", "💖"],
+    ["growing_heart", "💗"],
+    ["blue_heart", "💙"],
+    ["green_heart", "💚"],
+    ["yellow_heart", "💛"],
+    ["orange_heart", "🧡"],
+    ["purple_heart", "💜"],
+    ["black_heart", "🖤"],
+    ["heart_with_ribbon", "💝"],
+    ["revolving_hearts", "💞"],
+    ["heart_decoration", "💟"],
+    ["heavy_heart_exclamation", "❣️"],
+    ["love_letter", "💌"],
+    ["zzz", "💤"],
+    ["anger_symbol", "💢"],
+    ["bomb", "💣"],
+    ["collision", "💥"],
+    ["sweat_droplets", "💦"],
+    ["dashing_away", "💨"],
+    ["dizzy", "💫"],
+    ["speech_balloon", "💬"],
+    ["left_speech_bubble", "🗨️"],
+    ["right_anger_bubble", "🗯️"],
+    ["thought_balloon", "💭"],
+    ["hole", "🕳️"],
+    ["glasses", "👓"],
+    ["sunglasses", "🕶️"],
+    ["necktie", "👔"],
+    ["t-shirt", "👕"],
+    ["jeans", "👖"],
+    ["scarf", "🧣"],
+    ["gloves", "🧤"],
+    ["coat", "🧥"],
+    ["socks", "🧦"],
+    ["dress", "👗"],
+    ["kimono", "👘"],
+    ["bikini", "👙"],
+    ["woman’s_clothes", "👚"],
+    ["purse", "👛"],
+    ["handbag", "👜"],
+    ["clutch_bag", "👝"],
+    ["shopping_bags", "🛍️"],
+    ["school_backpack", "🎒"],
+    ["man’s_shoe", "👞"],
+    ["running_shoe", "👟"],
+    ["high-heeled_shoe", "👠"],
+    ["woman’s_sandal", "👡"],
+    ["woman’s_boot", "👢"],
+    ["crown", "👑"],
+    ["woman’s_hat", "👒"],
+    ["top_hat", "🎩"],
+    ["graduation_cap", "🎓"],
+    ["billed_cap", "🧢"],
+    ["rescue_worker’s_helmet", "⛑️"],
+    ["prayer_beads", "📿"],
+    ["lipstick", "💄"],
+    ["ring", "💍"],
+    ["gem_stone", "💎"],
+    ["monkey_face", "🐵"],
+    ["monkey", "🐒"],
+    ["gorilla", "🦍"],
+    ["dog_face", "🐶"],
+    ["dog", "🐕"],
+    ["poodle", "🐩"],
+    ["wolf_face", "🐺"],
+    ["fox_face", "🦊"],
+    ["cat_face", "🐱"],
+    ["cat", "🐈"],
+    ["lion_face", "🦁"],
+    ["tiger_face", "🐯"],
+    ["tiger", "🐅"],
+    ["leopard", "🐆"],
+    ["horse_face", "🐴"],
+    ["horse", "🐎"],
+    ["unicorn_face", "🦄"],
+    ["zebra", "🦓"],
+    ["deer", "🦌"],
+    ["cow_face", "🐮"],
+    ["ox", "🐂"],
+    ["water_buffalo", "🐃"],
+    ["cow", "🐄"],
+    ["pig_face", "🐷"],
+    ["pig", "🐖"],
+    ["boar", "🐗"],
+    ["pig_nose", "🐽"],
+    ["ram", "🐏"],
+    ["ewe", "🐑"],
+    ["goat", "🐐"],
+    ["camel", "🐪"],
+    ["two-hump_camel", "🐫"],
+    ["giraffe", "🦒"],
+    ["elephant", "🐘"],
+    ["rhinoceros", "🦏"],
+    ["mouse_face", "🐭"],
+    ["mouse", "🐁"],
+    ["rat", "🐀"],
+    ["hamster_face", "🐹"],
+    ["rabbit_face", "🐰"],
+    ["rabbit", "🐇"],
+    ["chipmunk", "🐿️"],
+    ["hedgehog", "🦔"],
+    ["bat", "🦇"],
+    ["bear_face", "🐻"],
+    ["koala", "🐨"],
+    ["panda_face", "🐼"],
+    ["paw_prints", "🐾"],
+    ["turkey", "🦃"],
+    ["chicken", "🐔"],
+    ["rooster", "🐓"],
+    ["hatching_chick", "🐣"],
+    ["baby_chick", "🐤"],
+    ["front-facing_baby_chick", "🐥"],
+    ["bird", "🐦"],
+    ["penguin", "🐧"],
+    ["dove", "🕊️"],
+    ["eagle", "🦅"],
+    ["duck", "🦆"],
+    ["owl", "🦉"],
+    ["frog_face", "🐸"],
+    ["crocodile", "🐊"],
+    ["turtle", "🐢"],
+    ["lizard", "🦎"],
+    ["snake", "🐍"],
+    ["dragon_face", "🐲"],
+    ["dragon", "🐉"],
+    ["sauropod", "🦕"],
+    ["T-Rex", "🦖"],
+    ["spouting_whale", "🐳"],
+    ["whale", "🐋"],
+    ["dolphin", "🐬"],
+    ["fish", "🐟"],
+    ["tropical_fish", "🐠"],
+    ["blowfish", "🐡"],
+    ["shark", "🦈"],
+    ["octopus", "🐙"],
+    ["spiral_shell", "🐚"],
+    ["crab", "🦀"],
+    ["shrimp", "🦐"],
+    ["squid", "🦑"],
+    ["snail", "🐌"],
+    ["butterfly", "🦋"],
+    ["bug", "🐛"],
+    ["ant", "🐜"],
+    ["honeybee", "🐝"],
+    ["lady_beetle", "🐞"],
+    ["cricket", "🦗"],
+    ["spider", "🕷️"],
+    ["spider_web", "🕸️"],
+    ["scorpion", "🦂"],
+    ["bouquet", "💐"],
+    ["cherry_blossom", "🌸"],
+    ["white_flower", "💮"],
+    ["rosette", "🏵️"],
+    ["rose", "🌹"],
+    ["wilted_flower", "🥀"],
+    ["hibiscus", "🌺"],
+    ["sunflower", "🌻"],
+    ["blossom", "🌼"],
+    ["tulip", "🌷"],
+    ["seedling", "🌱"],
+    ["evergreen_tree", "🌲"],
+    ["deciduous_tree", "🌳"],
+    ["palm_tree", "🌴"],
+    ["cactus", "🌵"],
+    ["sheaf_of_rice", "🌾"],
+    ["herb", "🌿"],
+    ["shamrock", "☘️"],
+    ["four_leaf_clover", "🍀"],
+    ["maple_leaf", "🍁"],
+    ["fallen_leaf", "🍂"],
+    ["leaf_fluttering_in_wind", "🍃"],
+    ["grapes", "🍇"],
+    ["melon", "🍈"],
+    ["watermelon", "🍉"],
+    ["tangerine", "🍊"],
+    ["lemon", "🍋"],
+    ["banana", "🍌"],
+    ["pineapple", "🍍"],
+    ["red_apple", "🍎"],
+    ["green_apple", "🍏"],
+    ["pear", "🍐"],
+    ["peach", "🍑"],
+    ["cherries", "🍒"],
+    ["strawberry", "🍓"],
+    ["kiwi_fruit", "🥝"],
+    ["tomato", "🍅"],
+    ["coconut", "🥥"],
+    ["avocado", "🥑"],
+    ["eggplant", "🍆"],
+    ["potato", "🥔"],
+    ["carrot", "🥕"],
+    ["ear_of_corn", "🌽"],
+    ["hot_pepper", "🌶️"],
+    ["cucumber", "🥒"],
+    ["broccoli", "🥦"],
+    ["mushroom", "🍄"],
+    ["peanuts", "🥜"],
+    ["chestnut", "🌰"],
+    ["bread", "🍞"],
+    ["croissant", "🥐"],
+    ["baguette_bread", "🥖"],
+    ["pretzel", "🥨"],
+    ["pancakes", "🥞"],
+    ["cheese_wedge", "🧀"],
+    ["meat_on_bone", "🍖"],
+    ["poultry_leg", "🍗"],
+    ["cut_of_meat", "🥩"],
+    ["bacon", "🥓"],
+    ["hamburger", "🍔"],
+    ["french_fries", "🍟"],
+    ["pizza", "🍕"],
+    ["hot_dog", "🌭"],
+    ["sandwich", "🥪"],
+    ["taco", "🌮"],
+    ["burrito", "🌯"],
+    ["stuffed_flatbread", "🥙"],
+    ["egg", "🥚"],
+    ["cooking", "🍳"],
+    ["shallow_pan_of_food", "🥘"],
+    ["pot_of_food", "🍲"],
+    ["bowl_with_spoon", "🥣"],
+    ["green_salad", "🥗"],
+    ["popcorn", "🍿"],
+    ["canned_food", "🥫"],
+    ["bento_box", "🍱"],
+    ["rice_cracker", "🍘"],
+    ["rice_ball", "🍙"],
+    ["cooked_rice", "🍚"],
+    ["curry_rice", "🍛"],
+    ["steaming_bowl", "🍜"],
+    ["spaghetti", "🍝"],
+    ["roasted_sweet_potato", "🍠"],
+    ["oden", "🍢"],
+    ["sushi", "🍣"],
+    ["fried_shrimp", "🍤"],
+    ["fish_cake_with_swirl", "🍥"],
+    ["dango", "🍡"],
+    ["dumpling", "🥟"],
+    ["fortune_cookie", "🥠"],
+    ["takeout_box", "🥡"],
+    ["soft_ice_cream", "🍦"],
+    ["shaved_ice", "🍧"],
+    ["ice_cream", "🍨"],
+    ["doughnut", "🍩"],
+    ["cookie", "🍪"],
+    ["birthday_cake", "🎂"],
+    ["shortcake", "🍰"],
+    ["pie", "🥧"],
+    ["chocolate_bar", "🍫"],
+    ["candy", "🍬"],
+    ["lollipop", "🍭"],
+    ["custard", "🍮"],
+    ["honey_pot", "🍯"],
+    ["baby_bottle", "🍼"],
+    ["glass_of_milk", "🥛"],
+    ["hot_beverage", "☕"],
+    ["teacup_without_handle", "🍵"],
+    ["sake", "🍶"],
+    ["bottle_with_popping_cork", "🍾"],
+    ["wine_glass", "🍷"],
+    ["cocktail_glass", "🍸"],
+    ["tropical_drink", "🍹"],
+    ["beer_mug", "🍺"],
+    ["clinking_beer_mugs", "🍻"],
+    ["clinking_glasses", "🥂"],
+    ["tumbler_glass", "🥃"],
+    ["cup_with_straw", "🥤"],
+    ["chopsticks", "🥢"],
+    ["fork_and_knife_with_plate", "🍽️"],
+    ["fork_and_knife", "🍴"],
+    ["spoon", "🥄"],
+    ["kitchen_knife", "🔪"],
+    ["amphora", "🏺"],
+    ["globe_showing_Europe-Africa", "🌍"],
+    ["globe_showing_Americas", "🌎"],
+    ["globe_showing_Asia-Australia", "🌏"],
+    ["globe_with_meridians", "🌐"],
+    ["world_map", "🗺️"],
+    ["map_of_Japan", "🗾"],
+    ["snow-capped_mountain", "🏔️"],
+    ["mountain", "⛰️"],
+    ["volcano", "🌋"],
+    ["mount_fuji", "🗻"],
+    ["camping", "🏕️"],
+    ["beach_with_umbrella", "🏖️"],
+    ["desert", "🏜️"],
+    ["desert_island", "🏝️"],
+    ["national_park", "🏞️"],
+    ["stadium", "🏟️"],
+    ["classical_building", "🏛️"],
+    ["building_construction", "🏗️"],
+    ["houses", "🏘️"],
+    ["cityscape", "🏙️"],
+    ["derelict_house", "🏚️"],
+    ["house", "🏠"],
+    ["house_with_garden", "🏡"],
+    ["office_building", "🏢"],
+    ["Japanese_post_office", "🏣"],
+    ["post_office", "🏤"],
+    ["hospital", "🏥"],
+    ["bank", "🏦"],
+    ["hotel", "🏨"],
+    ["love_hotel", "🏩"],
+    ["convenience_store", "🏪"],
+    ["school", "🏫"],
+    ["department_store", "🏬"],
+    ["factory", "🏭"],
+    ["Japanese_castle", "🏯"],
+    ["castle", "🏰"],
+    ["wedding", "💒"],
+    ["Tokyo_tower", "🗼"],
+    ["Statue_of_Liberty", "🗽"],
+    ["church", "⛪"],
+    ["mosque", "🕌"],
+    ["synagogue", "🕍"],
+    ["shinto_shrine", "⛩️"],
+    ["kaaba", "🕋"],
+    ["fountain", "⛲"],
+    ["tent", "⛺"],
+    ["foggy", "🌁"],
+    ["night_with_stars", "🌃"],
+    ["sunrise_over_mountains", "🌄"],
+    ["sunrise", "🌅"],
+    ["cityscape_at_dusk", "🌆"],
+    ["sunset", "🌇"],
+    ["bridge_at_night", "🌉"],
+    ["hot_springs", "♨️"],
+    ["milky_way", "🌌"],
+    ["carousel_horse", "🎠"],
+    ["ferris_wheel", "🎡"],
+    ["roller_coaster", "🎢"],
+    ["barber_pole", "💈"],
+    ["circus_tent", "🎪"],
+    ["performing_arts", "🎭"],
+    ["framed_picture", "🖼️"],
+    ["artist_palette", "🎨"],
+    ["slot_machine", "🎰"],
+    ["locomotive", "🚂"],
+    ["railway_car", "🚃"],
+    ["high-speed_train", "🚄"],
+    ["bullet_train", "🚅"],
+    ["train", "🚆"],
+    ["metro", "🚇"],
+    ["light_rail", "🚈"],
+    ["station", "🚉"],
+    ["tram", "🚊"],
+    ["monorail", "🚝"],
+    ["mountain_railway", "🚞"],
+    ["tram_car", "🚋"],
+    ["bus", "🚌"],
+    ["oncoming_bus", "🚍"],
+    ["trolleybus", "🚎"],
+    ["minibus", "🚐"],
+    ["ambulance", "🚑"],
+    ["fire_engine", "🚒"],
+    ["police_car", "🚓"],
+    ["oncoming_police_car", "🚔"],
+    ["taxi", "🚕"],
+    ["oncoming_taxi", "🚖"],
+    ["automobile", "🚗"],
+    ["oncoming_automobile", "🚘"],
+    ["sport_utility_vehicle", "🚙"],
+    ["delivery_truck", "🚚"],
+    ["articulated_lorry", "🚛"],
+    ["tractor", "🚜"],
+    ["bicycle", "🚲"],
+    ["kick_scooter", "🛴"],
+    ["motor_scooter", "🛵"],
+    ["bus_stop", "🚏"],
+    ["motorway", "🛣️"],
+    ["railway_track", "🛤️"],
+    ["fuel_pump", "⛽"],
+    ["police_car_light", "🚨"],
+    ["horizontal_traffic_light", "🚥"],
+    ["vertical_traffic_light", "🚦"],
+    ["construction", "🚧"],
+    ["stop_sign", "🛑"],
+    ["anchor", "⚓"],
+    ["sailboat", "⛵"],
+    ["canoe", "🛶"],
+    ["speedboat", "🚤"],
+    ["passenger_ship", "🛳️"],
+    ["ferry", "⛴️"],
+    ["motor_boat", "🛥️"],
+    ["ship", "🚢"],
+    ["airplane", "✈️"],
+    ["small_airplane", "🛩️"],
+    ["airplane_departure", "🛫"],
+    ["airplane_arrival", "🛬"],
+    ["seat", "💺"],
+    ["helicopter", "🚁"],
+    ["suspension_railway", "🚟"],
+    ["mountain_cableway", "🚠"],
+    ["aerial_tramway", "🚡"],
+    ["satellite", "🛰️"],
+    ["rocket", "🚀"],
+    ["flying_saucer", "🛸"],
+    ["bellhop_bell", "🛎️"],
+    ["door", "🚪"],
+    ["bed", "🛏️"],
+    ["couch_and_lamp", "🛋️"],
+    ["toilet", "🚽"],
+    ["shower", "🚿"],
+    ["bathtub", "🛁"],
+    ["hourglass_done", "⌛"],
+    ["hourglass_not_done", "⏳"],
+    ["watch", "⌚"],
+    ["alarm_clock", "⏰"],
+    ["stopwatch", "⏱️"],
+    ["timer_clock", "⏲️"],
+    ["mantelpiece_clock", "🕰️"],
+    ["twelve_o’clock", "🕛"],
+    ["twelve-thirty", "🕧"],
+    ["one_o’clock", "🕐"],
+    ["one-thirty", "🕜"],
+    ["two_o’clock", "🕑"],
+    ["two-thirty", "🕝"],
+    ["three_o’clock", "🕒"],
+    ["three-thirty", "🕞"],
+    ["four_o’clock", "🕓"],
+    ["four-thirty", "🕟"],
+    ["five_o’clock", "🕔"],
+    ["five-thirty", "🕠"],
+    ["six_o’clock", "🕕"],
+    ["six-thirty", "🕡"],
+    ["seven_o’clock", "🕖"],
+    ["seven-thirty", "🕢"],
+    ["eight_o’clock", "🕗"],
+    ["eight-thirty", "🕣"],
+    ["nine_o’clock", "🕘"],
+    ["nine-thirty", "🕤"],
+    ["ten_o’clock", "🕙"],
+    ["ten-thirty", "🕥"],
+    ["eleven_o’clock", "🕚"],
+    ["eleven-thirty", "🕦"],
+    ["new_moon", "🌑"],
+    ["waxing_crescent_moon", "🌒"],
+    ["first_quarter_moon", "🌓"],
+    ["waxing_gibbous_moon", "🌔"],
+    ["full_moon", "🌕"],
+    ["waning_gibbous_moon", "🌖"],
+    ["last_quarter_moon", "🌗"],
+    ["waning_crescent_moon", "🌘"],
+    ["crescent_moon", "🌙"],
+    ["new_moon_face", "🌚"],
+    ["first_quarter_moon_face", "🌛"],
+    ["last_quarter_moon_face", "🌜"],
+    ["thermometer", "🌡️"],
+    ["sun", "☀️"],
+    ["full_moon_face", "🌝"],
+    ["sun_with_face", "🌞"],
+    ["white_medium_star", "⭐"],
+    ["glowing_star", "🌟"],
+    ["shooting_star", "🌠"],
+    ["cloud", "☁️"],
+    ["sun_behind_cloud", "⛅"],
+    ["cloud_with_lightning_and_rain", "⛈️"],
+    ["sun_behind_small_cloud", "🌤️"],
+    ["sun_behind_large_cloud", "🌥️"],
+    ["sun_behind_rain_cloud", "🌦️"],
+    ["cloud_with_rain", "🌧️"],
+    ["cloud_with_snow", "🌨️"],
+    ["cloud_with_lightning", "🌩️"],
+    ["tornado", "🌪️"],
+    ["fog", "🌫️"],
+    ["wind_face", "🌬️"],
+    ["cyclone", "🌀"],
+    ["rainbow", "🌈"],
+    ["closed_umbrella", "🌂"],
+    ["umbrella", "☂️"],
+    ["umbrella_with_rain_drops", "☔"],
+    ["umbrella_on_ground", "⛱️"],
+    ["high_voltage", "⚡"],
+    ["snowflake", "❄️"],
+    ["snowman", "☃️"],
+    ["snowman_without_snow", "⛄"],
+    ["comet", "☄️"],
+    ["fire", "🔥"],
+    ["droplet", "💧"],
+    ["water_wave", "🌊"],
+    ["jack-o-lantern", "🎃"],
+    ["Christmas_tree", "🎄"],
+    ["fireworks", "🎆"],
+    ["sparkler", "🎇"],
+    ["sparkles", "✨"],
+    ["balloon", "🎈"],
+    ["party_popper", "🎉"],
+    ["confetti_ball", "🎊"],
+    ["tanabata_tree", "🎋"],
+    ["pine_decoration", "🎍"],
+    ["Japanese_dolls", "🎎"],
+    ["carp_streamer", "🎏"],
+    ["wind_chime", "🎐"],
+    ["moon_viewing_ceremony", "🎑"],
+    ["ribbon", "🎀"],
+    ["wrapped_gift", "🎁"],
+    ["reminder_ribbon", "🎗️"],
+    ["admission_tickets", "🎟️"],
+    ["ticket", "🎫"],
+    ["military_medal", "🎖️"],
+    ["trophy", "🏆"],
+    ["sports_medal", "🏅"],
+    ["1st_place_medal", "🥇"],
+    ["2nd_place_medal", "🥈"],
+    ["3rd_place_medal", "🥉"],
+    ["soccer_ball", "⚽"],
+    ["baseball", "⚾"],
+    ["basketball", "🏀"],
+    ["volleyball", "🏐"],
+    ["american_football", "🏈"],
+    ["rugby_football", "🏉"],
+    ["tennis", "🎾"],
+    ["pool_8_ball", "🎱"],
+    ["bowling", "🎳"],
+    ["cricket_game", "🏏"],
+    ["field_hockey", "🏑"],
+    ["ice_hockey", "🏒"],
+    ["ping_pong", "🏓"],
+    ["badminton", "🏸"],
+    ["boxing_glove", "🥊"],
+    ["martial_arts_uniform", "🥋"],
+    ["goal_net", "🥅"],
+    ["direct_hit", "🎯"],
+    ["flag_in_hole", "⛳"],
+    ["ice_skate", "⛸️"],
+    ["fishing_pole", "🎣"],
+    ["running_shirt", "🎽"],
+    ["skis", "🎿"],
+    ["sled", "🛷"],
+    ["curling_stone", "🥌"],
+    ["video_game", "🎮"],
+    ["joystick", "🕹️"],
+    ["game_die", "🎲"],
+    ["spade_suit", "♠️"],
+    ["heart_suit", "♥️"],
+    ["diamond_suit", "♦️"],
+    ["club_suit", "♣️"],
+    ["joker", "🃏"],
+    ["mahjong_red_dragon", "🀄"],
+    ["flower_playing_cards", "🎴"],
+    ["muted_speaker", "🔇"],
+    ["speaker_low_volume", "🔈"],
+    ["speaker_medium_volume", "🔉"],
+    ["speaker_high_volume", "🔊"],
+    ["loudspeaker", "📢"],
+    ["megaphone", "📣"],
+    ["postal_horn", "📯"],
+    ["bell", "🔔"],
+    ["bell_with_slash", "🔕"],
+    ["musical_score", "🎼"],
+    ["musical_note", "🎵"],
+    ["musical_notes", "🎶"],
+    ["studio_microphone", "🎙️"],
+    ["level_slider", "🎚️"],
+    ["control_knobs", "🎛️"],
+    ["microphone", "🎤"],
+    ["headphone", "🎧"],
+    ["radio", "📻"],
+    ["saxophone", "🎷"],
+    ["guitar", "🎸"],
+    ["musical_keyboard", "🎹"],
+    ["trumpet", "🎺"],
+    ["violin", "🎻"],
+    ["drum", "🥁"],
+    ["mobile_phone", "📱"],
+    ["mobile_phone_with_arrow", "📲"],
+    ["telephone", "☎️"],
+    ["telephone_receiver", "📞"],
+    ["pager", "📟"],
+    ["fax_machine", "📠"],
+    ["battery", "🔋"],
+    ["electric_plug", "🔌"],
+    ["laptop_computer", "💻"],
+    ["desktop_computer", "🖥️"],
+    ["printer", "🖨️"],
+    ["keyboard", "⌨️"],
+    ["computer_mouse", "🖱️"],
+    ["trackball", "🖲️"],
+    ["computer_disk", "💽"],
+    ["floppy_disk", "💾"],
+    ["optical_disk", "💿"],
+    ["dvd", "📀"],
+    ["movie_camera", "🎥"],
+    ["film_frames", "🎞️"],
+    ["film_projector", "📽️"],
+    ["clapper_board", "🎬"],
+    ["television", "📺"],
+    ["camera", "📷"],
+    ["camera_with_flash", "📸"],
+    ["video_camera", "📹"],
+    ["videocassette", "📼"],
+    ["magnifying_glass_tilted_left", "🔍"],
+    ["magnifying_glass_tilted_right", "🔎"],
+    ["microscope", "🔬"],
+    ["telescope", "🔭"],
+    ["satellite_antenna", "📡"],
+    ["candle", "🕯️"],
+    ["light_bulb", "💡"],
+    ["flashlight", "🔦"],
+    ["red_paper_lantern", "🏮"],
+    ["notebook_with_decorative_cover", "📔"],
+    ["closed_book", "📕"],
+    ["open_book", "📖"],
+    ["green_book", "📗"],
+    ["blue_book", "📘"],
+    ["orange_book", "📙"],
+    ["books", "📚"],
+    ["notebook", "📓"],
+    ["ledger", "📒"],
+    ["page_with_curl", "📃"],
+    ["scroll", "📜"],
+    ["page_facing_up", "📄"],
+    ["newspaper", "📰"],
+    ["rolled-up_newspaper", "🗞️"],
+    ["bookmark_tabs", "📑"],
+    ["bookmark", "🔖"],
+    ["label", "🏷️"],
+    ["money_bag", "💰"],
+    ["yen_banknote", "💴"],
+    ["dollar_banknote", "💵"],
+    ["euro_banknote", "💶"],
+    ["pound_banknote", "💷"],
+    ["money_with_wings", "💸"],
+    ["credit_card", "💳"],
+    ["chart_increasing_with_yen", "💹"],
+    ["currency_exchange", "💱"],
+    ["heavy_dollar_sign", "💲"],
+    ["envelope", "✉️"],
+    ["e-mail", "📧"],
+    ["incoming_envelope", "📨"],
+    ["envelope_with_arrow", "📩"],
+    ["outbox_tray", "📤"],
+    ["inbox_tray", "📥"],
+    ["package", "📦"],
+    ["closed_mailbox_with_raised_flag", "📫"],
+    ["closed_mailbox_with_lowered_flag", "📪"],
+    ["open_mailbox_with_raised_flag", "📬"],
+    ["open_mailbox_with_lowered_flag", "📭"],
+    ["postbox", "📮"],
+    ["ballot_box_with_ballot", "🗳️"],
+    ["pencil", "✏️"],
+    ["black_nib", "✒️"],
+    ["fountain_pen", "🖋️"],
+    ["pen", "🖊️"],
+    ["paintbrush", "🖌️"],
+    ["crayon", "🖍️"],
+    ["memo", "📝"],
+    ["briefcase", "💼"],
+    ["file_folder", "📁"],
+    ["open_file_folder", "📂"],
+    ["card_index_dividers", "🗂️"],
+    ["calendar", "📅"],
+    ["tear-off_calendar", "📆"],
+    ["spiral_notepad", "🗒️"],
+    ["spiral_calendar", "🗓️"],
+    ["card_index", "📇"],
+    ["chart_increasing", "📈"],
+    ["chart_decreasing", "📉"],
+    ["bar_chart", "📊"],
+    ["clipboard", "📋"],
+    ["pushpin", "📌"],
+    ["round_pushpin", "📍"],
+    ["paperclip", "📎"],
+    ["linked_paperclips", "🖇️"],
+    ["straight_ruler", "📏"],
+    ["triangular_ruler", "📐"],
+    ["scissors", "✂️"],
+    ["card_file_box", "🗃️"],
+    ["file_cabinet", "🗄️"],
+    ["wastebasket", "🗑️"],
+    ["locked", "🔒"],
+    ["unlocked", "🔓"],
+    ["locked_with_pen", "🔏"],
+    ["locked_with_key", "🔐"],
+    ["key", "🔑"],
+    ["old_key", "🗝️"],
+    ["hammer", "🔨"],
+    ["pick", "⛏️"],
+    ["hammer_and_pick", "⚒️"],
+    ["hammer_and_wrench", "🛠️"],
+    ["dagger", "🗡️"],
+    ["crossed_swords", "⚔️"],
+    ["pistol", "🔫"],
+    ["bow_and_arrow", "🏹"],
+    ["shield", "🛡️"],
+    ["wrench", "🔧"],
+    ["nut_and_bolt", "🔩"],
+    ["gear", "⚙️"],
+    ["clamp", "🗜️"],
+    ["alembic", "⚗️"],
+    ["balance_scale", "⚖️"],
+    ["link", "🔗"],
+    ["chains", "⛓️"],
+    ["syringe", "💉"],
+    ["pill", "💊"],
+    ["cigarette", "🚬"],
+    ["coffin", "⚰️"],
+    ["funeral_urn", "⚱️"],
+    ["moai", "🗿"],
+    ["oil_drum", "🛢️"],
+    ["crystal_ball", "🔮"],
+    ["shopping_cart", "🛒"],
+    ["ATM_sign", "🏧"],
+    ["litter_in_bin_sign", "🚮"],
+    ["potable_water", "🚰"],
+    ["wheelchair_symbol", "♿"],
+    ["men’s_room", "🚹"],
+    ["women’s_room", "🚺"],
+    ["restroom", "🚻"],
+    ["baby_symbol", "🚼"],
+    ["water_closet", "🚾"],
+    ["passport_control", "🛂"],
+    ["customs", "🛃"],
+    ["baggage_claim", "🛄"],
+    ["left_luggage", "🛅"],
+    ["warning", "⚠️"],
+    ["children_crossing", "🚸"],
+    ["no_entry", "⛔"],
+    ["prohibited", "🚫"],
+    ["no_bicycles", "🚳"],
+    ["no_smoking", "🚭"],
+    ["no_littering", "🚯"],
+    ["non-potable_water", "🚱"],
+    ["no_pedestrians", "🚷"],
+    ["no_mobile_phones", "📵"],
+    ["no_one_under_eighteen", "🔞"],
+    ["radioactive", "☢️"],
+    ["biohazard", "☣️"],
+    ["up_arrow", "⬆️"],
+    ["up-right_arrow", "↗️"],
+    ["right_arrow", "➡️"],
+    ["down-right_arrow", "↘️"],
+    ["down_arrow", "⬇️"],
+    ["down-left_arrow", "↙️"],
+    ["left_arrow", "⬅️"],
+    ["up-left_arrow", "↖️"],
+    ["up-down_arrow", "↕️"],
+    ["left-right_arrow", "↔️"],
+    ["right_arrow_curving_left", "↩️"],
+    ["left_arrow_curving_right", "↪️"],
+    ["right_arrow_curving_up", "⤴️"],
+    ["right_arrow_curving_down", "⤵️"],
+    ["clockwise_vertical_arrows", "🔃"],
+    ["counterclockwise_arrows_button", "🔄"],
+    ["BACK_arrow", "🔙"],
+    ["END_arrow", "🔚"],
+    ["ON!_arrow", "🔛"],
+    ["SOON_arrow", "🔜"],
+    ["TOP_arrow", "🔝"],
+    ["place_of_worship", "🛐"],
+    ["atom_symbol", "⚛️"],
+    ["om", "🕉️"],
+    ["star_of_David", "✡️"],
+    ["wheel_of_dharma", "☸️"],
+    ["yin_yang", "☯️"],
+    ["latin_cross", "✝️"],
+    ["orthodox_cross", "☦️"],
+    ["star_and_crescent", "☪️"],
+    ["peace_symbol", "☮️"],
+    ["menorah", "🕎"],
+    ["dotted_six-pointed_star", "🔯"],
+    ["Aries", "♈"],
+    ["Taurus", "♉"],
+    ["Gemini", "♊"],
+    ["Cancer", "♋"],
+    ["Leo", "♌"],
+    ["Virgo", "♍"],
+    ["Libra", "♎"],
+    ["Scorpius", "♏"],
+    ["Sagittarius", "♐"],
+    ["Capricorn", "♑"],
+    ["Aquarius", "♒"],
+    ["Pisces", "♓"],
+    ["Ophiuchus", "⛎"],
+    ["shuffle_tracks_button", "🔀"],
+    ["repeat_button", "🔁"],
+    ["repeat_single_button", "🔂"],
+    ["play_button", "▶️"],
+    ["fast-forward_button", "⏩"],
+    ["next_track_button", "⏭️"],
+    ["play_or_pause_button", "⏯️"],
+    ["reverse_button", "◀️"],
+    ["fast_reverse_button", "⏪"],
+    ["last_track_button", "⏮️"],
+    ["up_button", "🔼"],
+    ["fast_up_button", "⏫"],
+    ["down_button", "🔽"],
+    ["fast_down_button", "⏬"],
+    ["pause_button", "⏸️"],
+    ["stop_button", "⏹️"],
+    ["record_button", "⏺️"],
+    ["eject_button", "⏏️"],
+    ["cinema", "🎦"],
+    ["dim_button", "🔅"],
+    ["bright_button", "🔆"],
+    ["antenna_bars", "📶"],
+    ["vibration_mode", "📳"],
+    ["mobile_phone_off", "📴"],
+    ["female_sign", "♀️"],
+    ["male_sign", "♂️"],
+    ["medical_symbol", "⚕️"],
+    ["recycling_symbol", "♻️"],
+    ["fleur-de-lis", "⚜️"],
+    ["trident_emblem", "🔱"],
+    ["name_badge", "📛"],
+    ["Japanese_symbol_for_beginner", "🔰"],
+    ["heavy_large_circle", "⭕"],
+    ["white_heavy_check_mark", "✅"],
+    ["ballot_box_with_check", "☑️"],
+    ["heavy_check_mark", "✔️"],
+    ["heavy_multiplication_x", "✖️"],
+    ["cross_mark", "❌"],
+    ["cross_mark_button", "❎"],
+    ["heavy_plus_sign", "➕"],
+    ["heavy_minus_sign", "➖"],
+    ["heavy_division_sign", "➗"],
+    ["curly_loop", "➰"],
+    ["double_curly_loop", "➿"],
+    ["part_alternation_mark", "〽️"],
+    ["eight-spoked_asterisk", "✳️"],
+    ["eight-pointed_star", "✴️"],
+    ["sparkle", "❇️"],
+    ["double_exclamation_mark", "‼️"],
+    ["exclamation_question_mark", "⁉️"],
+    ["question_mark", "❓"],
+    ["white_question_mark", "❔"],
+    ["white_exclamation_mark", "❕"],
+    ["exclamation_mark", "❗"],
+    ["wavy_dash", "〰️"],
+    ["copyright", "©️"],
+    ["registered", "®️"],
+    ["trade_mark", "™️"],
+    ["keycap_#", "#️⃣"],
+    ["keycap_*", "*️⃣"],
+    ["keycap_0", "0️⃣"],
+    ["keycap_1", "1️⃣"],
+    ["keycap_2", "2️⃣"],
+    ["keycap_3", "3️⃣"],
+    ["keycap_4", "4️⃣"],
+    ["keycap_5", "5️⃣"],
+    ["keycap_6", "6️⃣"],
+    ["keycap_7", "7️⃣"],
+    ["keycap_8", "8️⃣"],
+    ["keycap_9", "9️⃣"],
+    ["keycap_10", "🔟"],
+    ["hundred_points", "💯"],
+    ["input_latin_uppercase", "🔠"],
+    ["input_latin_lowercase", "🔡"],
+    ["input_numbers", "🔢"],
+    ["input_symbols", "🔣"],
+    ["input_latin_letters", "🔤"],
+    ["A_button_(blood_type)", "🅰️"],
+    ["AB_button_(blood_type)", "🆎"],
+    ["B_button_(blood_type)", "🅱️"],
+    ["CL_button", "🆑"],
+    ["COOL_button", "🆒"],
+    ["FREE_button", "🆓"],
+    ["information", "ℹ️"],
+    ["ID_button", "🆔"],
+    ["circled_M", "Ⓜ️"],
+    ["NEW_button", "🆕"],
+    ["NG_button", "🆖"],
+    ["O_button_(blood_type)", "🅾️"],
+    ["OK_button", "🆗"],
+    ["P_button", "🅿️"],
+    ["SOS_button", "🆘"],
+    ["UP!_button", "🆙"],
+    ["VS_button", "🆚"],
+    ["Japanese_“here”_button", "🈁"],
+    ["Japanese_“service_charge”_button", "🈂️"],
+    ["Japanese_“monthly_amount”_button", "🈷️"],
+    ["Japanese_“not_free_of_charge”_button", "🈶"],
+    ["Japanese_“reserved”_button", "🈯"],
+    ["Japanese_“bargain”_button", "🉐"],
+    ["Japanese_“discount”_button", "🈹"],
+    ["Japanese_“free_of_charge”_button", "🈚"],
+    ["Japanese_“prohibited”_button", "🈲"],
+    ["Japanese_“acceptable”_button", "🉑"],
+    ["Japanese_“application”_button", "🈸"],
+    ["Japanese_“passing_grade”_button", "🈴"],
+    ["Japanese_“vacancy”_button", "🈳"],
+    ["Japanese_“congratulations”_button", "㊗️"],
+    ["Japanese_“secret”_button", "㊙️"],
+    ["Japanese_“open_for_business”_button", "🈺"],
+    ["Japanese_“no_vacancy”_button", "🈵"],
+    ["black_small_square", "▪️"],
+    ["white_small_square", "▫️"],
+    ["white_medium_square", "◻️"],
+    ["black_medium_square", "◼️"],
+    ["white_medium-small_square", "◽"],
+    ["black_medium-small_square", "◾"],
+    ["black_large_square", "⬛"],
+    ["white_large_square", "⬜"],
+    ["large_orange_diamond", "🔶"],
+    ["large_blue_diamond", "🔷"],
+    ["small_orange_diamond", "🔸"],
+    ["small_blue_diamond", "🔹"],
+    ["red_triangle_pointed_up", "🔺"],
+    ["red_triangle_pointed_down", "🔻"],
+    ["diamond_with_a_dot", "💠"],
+    ["radio_button", "🔘"],
+    ["black_square_button", "🔲"],
+    ["white_square_button", "🔳"],
+    ["white_circle", "⚪"],
+    ["black_circle", "⚫"],
+    ["red_circle", "🔴"],
+    ["blue_circle", "🔵"],
+    ["chequered_flag", "🏁"],
+    ["triangular_flag", "🚩"],
+    ["crossed_flags", "🎌"],
+    ["black_flag", "🏴"],
+    ["white_flag", "🏳️"],
+    ["rainbow_flag", "🏳️‍🌈"],
+    ["Ascension_Island", "🇦🇨"],
+    ["Andorra", "🇦🇩"],
+    ["United_Arab_Emirates", "🇦🇪"],
+    ["Afghanistan", "🇦🇫"],
+    ["Antigua_&_Barbuda", "🇦🇬"],
+    ["Anguilla", "🇦🇮"],
+    ["Albania", "🇦🇱"],
+    ["Armenia", "🇦🇲"],
+    ["Angola", "🇦🇴"],
+    ["Antarctica", "🇦🇶"],
+    ["Argentina", "🇦🇷"],
+    ["American_Samoa", "🇦🇸"],
+    ["Austria", "🇦🇹"],
+    ["Australia", "🇦🇺"],
+    ["Aruba", "🇦🇼"],
+    ["Åland_Islands", "🇦🇽"],
+    ["Azerbaijan", "🇦🇿"],
+    ["Bosnia_&_Herzegovina", "🇧🇦"],
+    ["Barbados", "🇧🇧"],
+    ["Bangladesh", "🇧🇩"],
+    ["Belgium", "🇧🇪"],
+    ["Burkina_Faso", "🇧🇫"],
+    ["Bulgaria", "🇧🇬"],
+    ["Bahrain", "🇧🇭"],
+    ["Burundi", "🇧🇮"],
+    ["Benin", "🇧🇯"],
+    ["St._Barthélemy", "🇧🇱"],
+    ["Bermuda", "🇧🇲"],
+    ["Brunei", "🇧🇳"],
+    ["Bolivia", "🇧🇴"],
+    ["Caribbean_Netherlands", "🇧🇶"],
+    ["Brazil", "🇧🇷"],
+    ["Bahamas", "🇧🇸"],
+    ["Bhutan", "🇧🇹"],
+    ["Bouvet_Island", "🇧🇻"],
+    ["Botswana", "🇧🇼"],
+    ["Belarus", "🇧🇾"],
+    ["Belize", "🇧🇿"],
+    ["Canada", "🇨🇦"],
+    ["Cocos_(Keeling)_Islands", "🇨🇨"],
+    ["Congo_-_Kinshasa", "🇨🇩"],
+    ["Central_African_Republic", "🇨🇫"],
+    ["Congo_-_Brazzaville", "🇨🇬"],
+    ["Switzerland", "🇨🇭"],
+    ["Côte_d’Ivoire", "🇨🇮"],
+    ["Cook_Islands", "🇨🇰"],
+    ["Chile", "🇨🇱"],
+    ["Cameroon", "🇨🇲"],
+    ["China", "🇨🇳"],
+    ["Colombia", "🇨🇴"],
+    ["Clipperton_Island", "🇨🇵"],
+    ["Costa_Rica", "🇨🇷"],
+    ["Cuba", "🇨🇺"],
+    ["Cape_Verde", "🇨🇻"],
+    ["Curaçao", "🇨🇼"],
+    ["Christmas_Island", "🇨🇽"],
+    ["Cyprus", "🇨🇾"],
+    ["Czechia", "🇨🇿"],
+    ["Germany", "🇩🇪"],
+    ["Diego_Garcia", "🇩🇬"],
+    ["Djibouti", "🇩🇯"],
+    ["Denmark", "🇩🇰"],
+    ["Dominica", "🇩🇲"],
+    ["Dominican_Republic", "🇩🇴"],
+    ["Algeria", "🇩🇿"],
+    ["Ceuta_&_Melilla", "🇪🇦"],
+    ["Ecuador", "🇪🇨"],
+    ["Estonia", "🇪🇪"],
+    ["Egypt", "🇪🇬"],
+    ["Western_Sahara", "🇪🇭"],
+    ["Eritrea", "🇪🇷"],
+    ["Spain", "🇪🇸"],
+    ["Ethiopia", "🇪🇹"],
+    ["European_Union", "🇪🇺"],
+    ["Finland", "🇫🇮"],
+    ["Fiji", "🇫🇯"],
+    ["Falkland_Islands", "🇫🇰"],
+    ["Micronesia", "🇫🇲"],
+    ["Faroe_Islands", "🇫🇴"],
+    ["France", "🇫🇷"],
+    ["Gabon", "🇬🇦"],
+    ["United_Kingdom", "🇬🇧"],
+    ["Grenada", "🇬🇩"],
+    ["Georgia", "🇬🇪"],
+    ["French_Guiana", "🇬🇫"],
+    ["Guernsey", "🇬🇬"],
+    ["Ghana", "🇬🇭"],
+    ["Gibraltar", "🇬🇮"],
+    ["Greenland", "🇬🇱"],
+    ["Gambia", "🇬🇲"],
+    ["Guinea", "🇬🇳"],
+    ["Guadeloupe", "🇬🇵"],
+    ["Equatorial_Guinea", "🇬🇶"],
+    ["Greece", "🇬🇷"],
+    ["South_Georgia_&_South_Sandwich_Islands", "🇬🇸"],
+    ["Guatemala", "🇬🇹"],
+    ["Guam", "🇬🇺"],
+    ["Guinea-Bissau", "🇬🇼"],
+    ["Guyana", "🇬🇾"],
+    ["Hong_Kong_SAR_China", "🇭🇰"],
+    ["Heard_&_McDonald_Islands", "🇭🇲"],
+    ["Honduras", "🇭🇳"],
+    ["Croatia", "🇭🇷"],
+    ["Haiti", "🇭🇹"],
+    ["Hungary", "🇭🇺"],
+    ["Canary_Islands", "🇮🇨"],
+    ["Indonesia", "🇮🇩"],
+    ["Ireland", "🇮🇪"],
+    ["Israel", "🇮🇱"],
+    ["Isle_of_Man", "🇮🇲"],
+    ["India", "🇮🇳"],
+    ["British_Indian_Ocean_Territory", "🇮🇴"],
+    ["Iraq", "🇮🇶"],
+    ["Iran", "🇮🇷"],
+    ["Iceland", "🇮🇸"],
+    ["Italy", "🇮🇹"],
+    ["Jersey", "🇯🇪"],
+    ["Jamaica", "🇯🇲"],
+    ["Jordan", "🇯🇴"],
+    ["Japan", "🇯🇵"],
+    ["Kenya", "🇰🇪"],
+    ["Kyrgyzstan", "🇰🇬"],
+    ["Cambodia", "🇰🇭"],
+    ["Kiribati", "🇰🇮"],
+    ["Comoros", "🇰🇲"],
+    ["St._Kitts_&_Nevis", "🇰🇳"],
+    ["North_Korea", "🇰🇵"],
+    ["South_Korea", "🇰🇷"],
+    ["Kuwait", "🇰🇼"],
+    ["Cayman_Islands", "🇰🇾"],
+    ["Kazakhstan", "🇰🇿"],
+    ["Laos", "🇱🇦"],
+    ["Lebanon", "🇱🇧"],
+    ["St._Lucia", "🇱🇨"],
+    ["Liechtenstein", "🇱🇮"],
+    ["Sri_Lanka", "🇱🇰"],
+    ["Liberia", "🇱🇷"],
+    ["Lesotho", "🇱🇸"],
+    ["Lithuania", "🇱🇹"],
+    ["Luxembourg", "🇱🇺"],
+    ["Latvia", "🇱🇻"],
+    ["Libya", "🇱🇾"],
+    ["Morocco", "🇲🇦"],
+    ["Monaco", "🇲🇨"],
+    ["Moldova", "🇲🇩"],
+    ["Montenegro", "🇲🇪"],
+    ["St._Martin", "🇲🇫"],
+    ["Madagascar", "🇲🇬"],
+    ["Marshall_Islands", "🇲🇭"],
+    ["Macedonia", "🇲🇰"],
+    ["Mali", "🇲🇱"],
+    ["Myanmar_(Burma)", "🇲🇲"],
+    ["Mongolia", "🇲🇳"],
+    ["Macau_SAR_China", "🇲🇴"],
+    ["Northern_Mariana_Islands", "🇲🇵"],
+    ["Martinique", "🇲🇶"],
+    ["Mauritania", "🇲🇷"],
+    ["Montserrat", "🇲🇸"],
+    ["Malta", "🇲🇹"],
+    ["Mauritius", "🇲🇺"],
+    ["Maldives", "🇲🇻"],
+    ["Malawi", "🇲🇼"],
+    ["Mexico", "🇲🇽"],
+    ["Malaysia", "🇲🇾"],
+    ["Mozambique", "🇲🇿"],
+    ["Namibia", "🇳🇦"],
+    ["New_Caledonia", "🇳🇨"],
+    ["Niger", "🇳🇪"],
+    ["Norfolk_Island", "🇳🇫"],
+    ["Nigeria", "🇳🇬"],
+    ["Nicaragua", "🇳🇮"],
+    ["Netherlands", "🇳🇱"],
+    ["Norway", "🇳🇴"],
+    ["Nepal", "🇳🇵"],
+    ["Nauru", "🇳🇷"],
+    ["Niue", "🇳🇺"],
+    ["New_Zealand", "🇳🇿"],
+    ["Oman", "🇴🇲"],
+    ["Panama", "🇵🇦"],
+    ["Peru", "🇵🇪"],
+    ["French_Polynesia", "🇵🇫"],
+    ["Papua_New_Guinea", "🇵🇬"],
+    ["Philippines", "🇵🇭"],
+    ["Pakistan", "🇵🇰"],
+    ["Poland", "🇵🇱"],
+    ["St._Pierre_&_Miquelon", "🇵🇲"],
+    ["Pitcairn_Islands", "🇵🇳"],
+    ["Puerto_Rico", "🇵🇷"],
+    ["Palestinian_Territories", "🇵🇸"],
+    ["Portugal", "🇵🇹"],
+    ["Palau", "🇵🇼"],
+    ["Paraguay", "🇵🇾"],
+    ["Qatar", "🇶🇦"],
+    ["Réunion", "🇷🇪"],
+    ["Romania", "🇷🇴"],
+    ["Serbia", "🇷🇸"],
+    ["Russia", "🇷🇺"],
+    ["Rwanda", "🇷🇼"],
+    ["Saudi_Arabia", "🇸🇦"],
+    ["Solomon_Islands", "🇸🇧"],
+    ["Seychelles", "🇸🇨"],
+    ["Sudan", "🇸🇩"],
+    ["Sweden", "🇸🇪"],
+    ["Singapore", "🇸🇬"],
+    ["St._Helena", "🇸🇭"],
+    ["Slovenia", "🇸🇮"],
+    ["Svalbard_&_Jan_Mayen", "🇸🇯"],
+    ["Slovakia", "🇸🇰"],
+    ["Sierra_Leone", "🇸🇱"],
+    ["San_Marino", "🇸🇲"],
+    ["Senegal", "🇸🇳"],
+    ["Somalia", "🇸🇴"],
+    ["Suriname", "🇸🇷"],
+    ["South_Sudan", "🇸🇸"],
+    ["São_Tomé_&_Príncipe", "🇸🇹"],
+    ["El_Salvador", "🇸🇻"],
+    ["Sint_Maarten", "🇸🇽"],
+    ["Syria", "🇸🇾"],
+    ["Swaziland", "🇸🇿"],
+    ["Tristan_da_Cunha", "🇹🇦"],
+    ["Turks_&_Caicos_Islands", "🇹🇨"],
+    ["Chad", "🇹🇩"],
+    ["French_Southern_Territories", "🇹🇫"],
+    ["Togo", "🇹🇬"],
+    ["Thailand", "🇹🇭"],
+    ["Tajikistan", "🇹🇯"],
+    ["Tokelau", "🇹🇰"],
+    ["Timor-Leste", "🇹🇱"],
+    ["Turkmenistan", "🇹🇲"],
+    ["Tunisia", "🇹🇳"],
+    ["Tonga", "🇹🇴"],
+    ["Turkey", "🇹🇷"],
+    ["Trinidad_&_Tobago", "🇹🇹"],
+    ["Tuvalu", "🇹🇻"],
+    ["Taiwan", "🇹🇼"],
+    ["Tanzania", "🇹🇿"],
+    ["Ukraine", "🇺🇦"],
+    ["Uganda", "🇺🇬"],
+    ["U.S._Outlying_Islands", "🇺🇲"],
+    ["United_Nations", "🇺🇳"],
+    ["United_States", "🇺🇸"],
+    ["Uruguay", "🇺🇾"],
+    ["Uzbekistan", "🇺🇿"],
+    ["Vatican_City", "🇻🇦"],
+    ["St._Vincent_&_Grenadines", "🇻🇨"],
+    ["Venezuela", "🇻🇪"],
+    ["British_Virgin_Islands", "🇻🇬"],
+    ["U.S._Virgin_Islands", "🇻🇮"],
+    ["Vietnam", "🇻🇳"],
+    ["Vanuatu", "🇻🇺"],
+    ["Wallis_&_Futuna", "🇼🇫"],
+    ["Samoa", "🇼🇸"],
+    ["Kosovo", "🇽🇰"],
+    ["Yemen", "🇾🇪"],
+    ["Mayotte", "🇾🇹"],
+    ["South_Africa", "🇿🇦"],
+    ["Zambia", "🇿🇲"],
+    ["Zimbabwe", "🇿🇼"],
+    ["England", "🏴󠁧󠁢󠁥󠁮󠁧󠁿"],
+    ["Scotland", "🏴󠁧󠁢󠁳󠁣󠁴󠁿"],
+    ["Wales", "🏴󠁧󠁢󠁷󠁬󠁳󠁿"],
 ];

+ 24 - 0
flaskbb/themes/aurora/src/js/flaskbb.js

@@ -107,6 +107,28 @@ var send_data = function(endpoint_url, data) {
     });
 };
 
+var parse_emoji = function(value) {
+    // use this instead of twemoji.parse
+    return twemoji.parse(
+        value,
+        {
+            callback: function(icon, options, variant) {
+                // exclude some characters
+                switch ( icon ) {
+                    case 'a9':      // © copyright
+                    case 'ae':      // ® registered trademark
+                    case '2122':    // ™ trademark
+                        return false;
+                }
+                return ''.concat(options.base, options.size, '/', icon, options.ext);
+            },
+            // use svg instead of the default png
+            folder: 'svg',
+            ext: '.svg'
+        }
+    )
+};
+
 $(document).ready(function () {
     // listen on the action-checkall checkbox to un/check all
     $('.action-checkall').change(function() {
@@ -155,4 +177,6 @@ $(document).ready(function () {
             }
         );
     });
+
+    parse_emoji(document.body);
 });

+ 4 - 48
flaskbb/utils/markup.py

@@ -3,13 +3,12 @@
     flaskbb.utils.markup
     ~~~~~~~~~~~~~~~~~~~~
 
-    A module for all markup related stuff like markdown and emojis.
+    A module for all markup related stuff.
 
     :copyright: (c) 2016 by the FlaskBB Team.
     :license: BSD, see LICENSE for more details.
 """
 import logging
-import os
 import re
 
 from flask import url_for
@@ -24,60 +23,18 @@ from pygments.util import ClassNotFound
 logger = logging.getLogger(__name__)
 
 
-_re_emoji = re.compile(r':([a-z0-9\+\-_]+):', re.I)
 _re_user = re.compile(r'@(\w+)', re.I)
 
-# base directory of flaskbb - used to collect the emojis
-_basedir = os.path.join(os.path.abspath(os.path.dirname(
-                        os.path.dirname(__file__))))
-
-
-def collect_emojis():
-    """Returns a dictionary containing all emojis with their
-    name and filename. If the folder doesn't exist it returns a empty
-    dictionary.
-    """
-    emojis = dict()
-    full_path = os.path.join(_basedir, "static", "emoji")
-    # return an empty dictionary if the path doesn't exist
-    if not os.path.exists(full_path):
-        return emojis
-
-    for emoji in os.listdir(full_path):
-        name, ending = emoji.split(".")
-        if ending in ["png", "gif", "jpg", "jpeg"]:
-            emojis[name] = emoji
-
-    return emojis
-
-EMOJIS = collect_emojis()
-
 
 class FlaskBBRenderer(mistune.Renderer):
-    """Markdown with some syntetic sugar such as @user gets linked to the
-    user's profile and emoji support.
+    """Markdown with some syntactic sugar, such as @user gettting linked
+    to the user's profile.
     """
     def __init__(self, **kwargs):
         super(FlaskBBRenderer, self).__init__(**kwargs)
 
     def paragraph(self, text):
-        """Rendering paragraph tags. Like ``<p>`` with emoji support."""
-
-        def emojify(match):
-            value = match.group(1)
-
-            if value in EMOJIS:
-                filename = url_for(
-                    "static",
-                    filename="emoji/{}".format(EMOJIS[value])
-                )
-
-                emoji = "<img class='{css}' alt='{alt}' src='{src}' />".format(
-                    css="emoji", alt=value,
-                    src=filename
-                )
-                return emoji
-            return match.group(0)
+        """Render paragraph tags, autolinking user handles."""
 
         def userify(match):
             value = match.group(1)
@@ -87,7 +44,6 @@ class FlaskBBRenderer(mistune.Renderer):
             )
             return user
 
-        text = _re_emoji.sub(emojify, text)
         text = _re_user.sub(userify, text)
 
         return '<p>%s</p>\n' % text.strip(' ')

+ 952 - 0
migrations/201802282131_232e68a03aa2_change_emoji_shortcodes_to_characters.py

@@ -0,0 +1,952 @@
+# -*- coding: utf-8 -*-
+"""change emoji shortcodes to characters
+
+Revision ID: 232e68a03aa2
+Revises: af3f5579c84d
+Create Date: 2018-02-28 21:31:35.260704
+
+"""
+from __future__ import unicode_literals
+
+from alembic import op
+import sqlalchemy as sa
+
+
+# revision identifiers, used by Alembic.
+revision = '232e68a03aa2'
+down_revision = 'af3f5579c84d'
+branch_labels = ()
+depends_on = None
+
+
+_emoji_replacement_mapping = {
+    # bowtie:               not in Unicode
+    # neckbeard:            not in Unicode
+    # shipit, squirrel:     GitHub inside joke? either way, not in Unicode
+    # trollface:            ancient meme, not in Unicode
+    # octocat:              that's a brand logo, of course it's not in Unicode
+    # flaskbb:              that's our logo! sadly not in Unicode though
+    # feelsgood:            doom reference, not in Unicode
+    # finnadie:             doom reference, not in Unicode
+    # goberserk:            doom reference, not in Unicode
+    # godmode:              doom reference, not in Unicode
+    # hurtrealbad:          doom reference, not in Unicode
+    # rage1:                doom reference, not in Unicode
+    # rage2:                doom reference, not in Unicode
+    # rage3:                doom reference, not in Unicode
+    # rage4:                doom reference, not in Unicode
+    # suspect:              doom reference, not in Unicode
+    '+1': '👍',
+    '-1': '👎',
+    '100': '💯',
+    '1234': '🔢',
+    '8ball': '🎱',
+    'a': '🅰️',
+    'ab': '🆎',
+    'abc': '🔤',
+    'abcd': '🔡',
+    'accept': '🉑',
+    'aerial_tramway': '🚡',
+    'airplane': '✈️',
+    'alarm_clock': '⏰',
+    'alien': '👽',
+    'ambulance': '🚑',
+    'anchor': '⚓️',
+    'angel': '👼',
+    'anger': '💢',
+    'angry': '😠',
+    'anguished': '😧',
+    'ant': '🐜',
+    'apple': '🍎',
+    'aquarius': '♒️',
+    'aries': '♈️',
+    'arrow_backward': '◀️',
+    'arrow_double_down': '⏬',
+    'arrow_double_up': '⏫',
+    'arrow_down': '⬇️',
+    'arrow_down_small': '🔽',
+    'arrow_forward': '▶️',
+    'arrow_heading_down': '⤵️',
+    'arrow_heading_up': '⤴️',
+    'arrow_left': '⬅️',
+    'arrow_lower_left': '↙️',
+    'arrow_lower_right': '↘️',
+    'arrow_right': '➡️',
+    'arrow_right_hook': '↪️',
+    'arrow_up': '⬆️',
+    'arrow_up_down': '↕️',
+    'arrow_up_small': '🔼',
+    'arrow_upper_left': '↖️',
+    'arrow_upper_right': '↗️',
+    'arrows_clockwise': '🔃',
+    'arrows_counterclockwise': '🔄',
+    'art': '🎨',
+    'articulated_lorry': '🚛',
+    'astonished': '😲',
+    'atm': '🏧',
+    'b': '🅱️',
+    'baby': '👶',
+    'baby_bottle': '🍼',
+    'baby_chick': '🐤',
+    'baby_symbol': '🚼',
+    'back': '🔙',
+    'baggage_claim': '🛄',
+    'balloon': '🎈',
+    'ballot_box_with_check': '☑️',
+    'bamboo': '🎍',
+    'banana': '🍌',
+    'bangbang': '‼️',
+    'bank': '🏦',
+    'bar_chart': '📊',
+    'barber': '💈',
+    'baseball': '⚾️',
+    'basketball': '🏀',
+    'bath': '🛀',
+    'bathtub': '🛁',
+    'battery': '🔋',
+    'bear': '🐻',
+    'bee': '🐝',
+    'beer': '🍺',
+    'beers': '🍻',
+    'beetle': '🐞',
+    'beginner': '🔰',
+    'bell': '🔔',
+    'bento': '🍱',
+    'bicyclist': '🚴',
+    'bike': '🚲',
+    'bikini': '👙',
+    'bird': '🐦',
+    'birthday': '🎂',
+    'black_circle': '⚫️',
+    'black_joker': '🃏',
+    'black_medium_small_square': '◾️',
+    'black_medium_square': '◼️',
+    'black_nib': '✒️',
+    'black_small_square': '▪️',
+    'black_square': '⬛',  # i assume that's black large square
+    'black_square_button': '🔲',
+    'blossom': '🌼',
+    'blowfish': '🐡',
+    'blue_book': '📘',
+    'blue_car': '🚙',
+    'blue_heart': '💙',
+    'blush': '😊',
+    'boar': '🐗',
+    'boat': '⛵️',
+    'bomb': '💣',
+    'book': '📖',
+    'bookmark': '🔖',
+    'bookmark_tabs': '📑',
+    'books': '📚',
+    'boom': '💥',
+    'boot': '👢',
+    'bouquet': '💐',
+    'bow': '🙇',
+    'bowling': '🎳',
+    'boy': '👦',
+    'bread': '🍞',
+    'bride_with_veil': '👰',
+    'bridge_at_night': '🌉',
+    'briefcase': '💼',
+    'broken_heart': '💔',
+    'bug': '🐛',
+    'bulb': '💡',
+    'bullettrain_front': '🚅',
+    'bullettrain_side': '🚄',
+    'bus': '🚌',
+    'busstop': '🚏',
+    'bust_in_silhouette': '👤',
+    'busts_in_silhouette': '👥',
+    'cactus': '🌵',
+    'cake': '🍰',
+    'calendar': '📆',
+    'calling': '📲',
+    'camel': '🐫',
+    'camera': '📷',
+    'cancer': '♋️',
+    'candy': '🍬',
+    'capital_abcd': '🔠',
+    'capricorn': '♑️',
+    'car': '🚗',
+    'card_index': '📇',
+    'carousel_horse': '🎠',
+    'cat': '🐱',
+    'cat2': '🐈',
+    'cd': '💿',
+    'chart': '💹',
+    'chart_with_downwards_trend': '📉',
+    'chart_with_upwards_trend': '📈',
+    'checkered_flag': '🏁',
+    'cherries': '🍒',
+    'cherry_blossom': '🌸',
+    'chestnut': '🌰',
+    'chicken': '🐔',
+    'children_crossing': '🚸',
+    'chocolate_bar': '🍫',
+    'christmas_tree': '🎄',
+    'church': '⛪️',
+    'cinema': '🎦',
+    'circus_tent': '🎪',
+    'city_sunrise': '🌇',
+    'city_sunset': '🌆',
+    'cl': '🆑',
+    'clap': '👏',
+    'clapper': '🎬',
+    'clipboard': '📋',
+    'clock1': '🕐',
+    'clock10': '🕙',
+    'clock1030': '🕥',
+    'clock11': '🕚',
+    'clock1130': '🕦',
+    'clock12': '🕛',
+    'clock1230': '🕧',
+    'clock130': '🕜',
+    'clock2': '🕑',
+    'clock230': '🕝',
+    'clock3': '🕒',
+    'clock330': '🕞',
+    'clock4': '🕓',
+    'clock430': '🕟',
+    'clock5': '🕔',
+    'clock530': '🕠',
+    'clock6': '🕕',
+    'clock630': '🕡',
+    'clock7': '🕖',
+    'clock730': '🕢',
+    'clock8': '🕗',
+    'clock830': '🕣',
+    'clock9': '🕘',
+    'clock930': '🕤',
+    'closed_book': '📕',
+    'closed_lock_with_key': '🔐',
+    'closed_umbrella': '🌂',
+    'cloud': '☁️',
+    'clubs': '♣️',
+    'cn': '🇨🇳',
+    'cocktail': '🍸',
+    'coffee': '☕️',
+    'cold_sweat': '😰',
+    'collision': '💥',
+    'computer': '💻',
+    'confetti_ball': '🎊',
+    'confounded': '😖',
+    'confused': '😕',
+    'congratulations': '㊗',
+    'construction': '🚧',
+    'construction_worker': '👷',
+    'convenience_store': '🏪',
+    'cookie': '🍪',
+    'cool': '🆒',
+    'cop': '👮',
+    'copyright': '©️',
+    'corn': '🌽',
+    'couple': '👫',
+    'couple_with_heart': '💑',
+    'couplekiss': '💏',  # kiss
+    'cow': '🐮',
+    'cow2': '🐄',
+    'credit_card': '💳',
+    'crescent_moon': '🌙',
+    'crocodile': '🐊',
+    'crossed_flags': '🎌',
+    'crown': '👑',
+    'cry': '😢',
+    'crying_cat_face': '😿',
+    'crystal_ball': '🔮',
+    'cupid': '💘',
+    'curly_loop': '➰',
+    'currency_exchange': '💱',
+    'curry': '🍛',
+    'custard': '🍮',
+    'customs': '🛃',
+    'cyclone': '🌀',
+    'dancer': '💃',
+    'dancers': '👯',
+    'dango': '🍡',
+    'dart': '🎯',
+    'dash': '💨',
+    'date': '📅',
+    'de': '🇩🇪',
+    'deciduous_tree': '🌳',
+    'department_store': '🏬',
+    'diamond_shape_with_a_dot_inside': '💠',
+    'diamonds': '♦️',
+    'disappointed': '😞',
+    'disappointed_relieved': '😥',
+    'dizzy': '💫',
+    'dizzy_face': '😵',
+    'do_not_litter': '🚯',
+    'dog': '🐶',
+    'dog2': '🐕',
+    'dollar': '💵',
+    'dolls': '🎎',
+    'dolphin': '🐬',
+    'donut': '🍩',  # it's doughnut, you 'muricans
+    'door': '🚪',
+    'doughnut': '🍩',
+    'dragon': '🐉',
+    'dragon_face': '🐲',
+    'dress': '👗',
+    'dromedary_camel': '🐪',
+    'droplet': '💧',
+    'dvd': '📀',
+    'e-mail': '📧',
+    'ear': '👂',
+    'ear_of_rice': '🌾',
+    'earth_africa': '🌍',
+    'earth_americas': '🌎',
+    'earth_asia': '🌏',
+    'egg': '🥚',
+    'eggplant': '🍆',
+    'eight': '8️⃣',
+    'eight_pointed_black_star': '✴️',
+    'eight_spoked_asterisk': '✳️',
+    'electric_plug': '🔌',
+    'elephant': '🐘',
+    'email': '✉️',
+    'end': '🔚',
+    'envelope': '✉️',
+    'es': '🇪🇸',
+    'euro': '💶',
+    'european_castle': '🏰',
+    'european_post_office': '🏤',
+    'evergreen_tree': '🌲',
+    'exclamation': '❗️',
+    'expressionless': '😑',
+    'eyeglasses': '👓',
+    'eyes': '👀',
+    'facepunch': '👊',
+    'factory': '🏭',
+    'fallen_leaf': '🍂',
+    'family': '👪',
+    'fast_forward': '⏩',
+    'fax': '📠',
+    'fearful': '😨',
+    'feet': '🐾',
+    'ferris_wheel': '🎡',
+    'file_folder': '📁',
+    'fire': '🔥',
+    'fire_engine': '🚒',
+    'fireworks': '🎆',
+    'first_quarter_moon': '🌓',
+    'first_quarter_moon_with_face': '🌛',
+    'fish': '🐟',
+    'fish_cake': '🍥',
+    'fishing_pole_and_fish': '🎣',
+    'fist': '✊',
+    'five': '5️⃣',
+    'flags': '🎏',
+    'flashlight': '🔦',
+    'floppy_disk': '💾',
+    'flower_playing_cards': '🎴',
+    'flushed': '😳',
+    'foggy': '🌁',
+    'football': '🏈',
+    'fork_and_knife': '🍴',
+    'fountain': '⛲️',
+    'four': '4️⃣',
+    'four_leaf_clover': '🍀',
+    'fr': '🇫🇷',
+    'free': '🆓',
+    'fried_shrimp': '🍤',
+    'fries': '🍟',
+    'frog': '🐸',
+    'frowning': '😦',
+    'fu': '🖕',
+    'fuelpump': '⛽️',
+    'full_moon': '🌕',
+    'full_moon_with_face': '🌝',
+    'game_die': '🎲',
+    'gb': '🇬🇧',
+    'gem': '💎',
+    'gemini': '♊️',
+    'ghost': '👻',
+    'gift': '🎁',
+    'gift_heart': '💝',
+    'girl': '👧',
+    'globe_with_meridians': '🌐',
+    'goat': '🐐',
+    'golf': '⛳️',
+    'grapes': '🍇',
+    'green_apple': '🍏',
+    'green_book': '📗',
+    'green_heart': '💚',
+    'grey_exclamation': '❕',
+    'grey_question': '❔',
+    'grimacing': '😬',
+    'grin': '😁',
+    'grinning': '😀',
+    'guardsman': '💂',
+    'guitar': '🎸',
+    'gun': '🔫',
+    'haircut': '💇',
+    'hamburger': '🍔',
+    'hammer': '🔨',
+    'hamster': '🐹',
+    'hand': '✋',
+    'handbag': '👜',
+    'hankey': '💩',
+    'hash': '#️⃣',
+    'hatched_chick': '🐥',
+    'hatching_chick': '🐣',
+    'headphones': '🎧',
+    'hear_no_evil': '🙉',
+    'heart': '❤️',
+    'heart_decoration': '💟',
+    'heart_eyes': '😍',
+    'heart_eyes_cat': '😻',
+    'heartbeat': '💓',
+    'heartpulse': '💗',
+    'hearts': '♥️',
+    'heavy_check_mark': '✔️',
+    'heavy_division_sign': '➗',
+    'heavy_dollar_sign': '💲',
+    'heavy_exclamation_mark': '❗️',
+    'heavy_minus_sign': '➖',
+    'heavy_multiplication_x': '✖️',
+    'heavy_plus_sign': '➕',
+    'helicopter': '🚁',
+    'herb': '🌿',
+    'hibiscus': '🌺',
+    'high_brightness': '🔆',
+    'high_heel': '👠',
+    'hocho': '🔪',
+    'honey_pot': '🍯',
+    'honeybee': '🐝',
+    'horse': '🐴',
+    'horse_racing': '🏇',
+    'hospital': '🏥',
+    'hotel': '🏨',
+    'hotsprings': '♨️',
+    'hourglass': '⌛️',
+    'hourglass_flowing_sand': '⏳',
+    'house': '🏠',
+    'house_with_garden': '🏡',
+    'hushed': '😯',
+    'ice_cream': '🍨',
+    'icecream': '🍦',
+    'id': '🆔',
+    'ideograph_advantage': '🉐',
+    'imp': '👿',
+    'inbox_tray': '📥',
+    'incoming_envelope': '📨',
+    'information_desk_person': '💁',
+    'information_source': 'ℹ️',
+    'innocent': '😇',
+    'interrobang': '⁉️',
+    'iphone': '📱',
+    'it': '🇮🇹',
+    'izakaya_lantern': '🏮',
+    'jack_o_lantern': '🎃',
+    'japan': '🗾',
+    'japanese_castle': '🏯',
+    'japanese_goblin': '👺',
+    'japanese_ogre': '👹',
+    'jeans': '👖',
+    'joy': '😂',
+    'joy_cat': '😹',
+    'jp': '🇯🇵',
+    'key': '🔑',
+    'keycap_ten': '🔟',
+    'kimono': '👘',
+    'kiss': '💋',
+    'kissing': '😗',
+    'kissing_cat': '😽',
+    'kissing_closed_eyes': '😚',
+    'kissing_face': '😗',  # aparently, the shortcode is just 'kissing'
+    'kissing_heart': '😘',
+    'kissing_smiling_eyes': '😙',
+    'koala': '🐨',
+    'koko': '🈁',
+    'kr': '🇰🇷',
+    'large_blue_circle': '🔵',
+    'large_blue_diamond': '🔷',
+    'large_orange_diamond': '🔶',
+    'last_quarter_moon': '🌗',
+    'last_quarter_moon_with_face': '🌜',
+    'laughing': '😆',
+    'leaves': '🍃',
+    'ledger': '📒',
+    'left_luggage': '🛅',
+    'left_right_arrow': '↔️',
+    'leftwards_arrow_with_hook': '↩️',
+    'lemon': '🍋',
+    'leo': '♌️',
+    'leopard': '🐆',
+    'libra': '♎️',
+    'light_rail': '🚈',
+    'link': '🔗',
+    'lips': '👄',
+    'lipstick': '💄',
+    'lock': '🔒',
+    'lock_with_ink_pen': '🔏',
+    'lollipop': '🍭',
+    'loop': '➿',
+    'loudspeaker': '📢',
+    'love_hotel': '🏩',
+    'love_letter': '💌',
+    'low_brightness': '🔅',
+    'm': 'Ⓜ️',
+    'mag': '🔍',
+    'mag_right': '🔎',
+    'mahjong': '🀄️',
+    'mailbox': '📫',
+    'mailbox_closed': '📪',
+    'mailbox_with_mail': '📬',
+    'mailbox_with_no_mail': '📭',
+    'man': '👨',
+    'man_with_gua_pi_mao': '👲',
+    'man_with_turban': '👳',
+    'mans_shoe': '👞',
+    'maple_leaf': '🍁',
+    'mask': '😷',
+    'massage': '💆',
+    'meat_on_bone': '🍖',
+    'mega': '📣',
+    'melon': '🍈',
+    'memo': '📝',
+    'mens': '🚹',
+    'metal': '🤘',
+    'metro': '🚇',
+    'microphone': '🎤',
+    'microscope': '🔬',
+    'milky_way': '🌌',
+    'minibus': '🚐',
+    'minidisc': '💽',
+    'mobile_phone_off': '📴',
+    'money_with_wings': '💸',
+    'moneybag': '💰',
+    'monkey': '🐒',
+    'monkey_face': '🐵',
+    'monorail': '🚝',
+    'mortar_board': '🎓',
+    'mount_fuji': '🗻',
+    'mountain_bicyclist': '🚵',
+    'mountain_cableway': '🚠',
+    'mountain_railway': '🚞',
+    'mouse': '🐭',
+    'mouse2': '🐁',
+    'movie_camera': '🎥',
+    'moyai': '🗿',
+    'muscle': '💪',
+    'mushroom': '🍄',
+    'musical_keyboard': '🎹',
+    'musical_note': '🎵',
+    'musical_score': '🎼',
+    'mute': '🔇',
+    'nail_care': '💅',
+    'name_badge': '📛',
+    'necktie': '👔',
+    'negative_squared_cross_mark': '❎',
+    'neutral_face': '😐',
+    'new': '🆕',
+    'new_moon': '🌑',
+    'new_moon_with_face': '🌚',
+    'newspaper': '📰',
+    'ng': '🆖',
+    'nine': '9️⃣',
+    'no_bell': '🔕',
+    'no_bicycles': '🚳',
+    'no_entry': '⛔️',
+    'no_entry_sign': '🚫',
+    'no_good': '🙅',
+    'no_mobile_phones': '📵',
+    'no_mouth': '😶',
+    'no_pedestrians': '🚷',
+    'no_smoking': '🚭',
+    'non-potable_water': '🚱',
+    'nose': '👃',
+    'notebook': '📓',
+    'notebook_with_decorative_cover': '📔',
+    'notes': '🎶',
+    'nut_and_bolt': '🔩',
+    'o': '⭕️',
+    'o2': '🅾️',
+    'ocean': '🌊',
+    'octopus': '🐙',
+    'oden': '🍢',
+    'office': '🏢',
+    'ok': '🆗',
+    'ok_hand': '👌',
+    'ok_woman': '🙆',
+    'older_man': '👴',
+    'older_woman': '👵',
+    'on': '🔛',
+    'oncoming_automobile': '🚘',
+    'oncoming_bus': '🚍',
+    'oncoming_police_car': '🚔',
+    'oncoming_taxi': '🚖',
+    'one': '1️⃣',
+    'open_file_folder': '📂',
+    'open_hands': '👐',
+    'open_mouth': '😮',
+    'ophiuchus': '⛎',
+    'orange_book': '📙',
+    'outbox_tray': '📤',
+    'ox': '🐂',
+    'package': '📦',
+    'page_facing_up': '📄',
+    'page_with_curl': '📃',
+    'pager': '📟',
+    'palm_tree': '🌴',
+    'panda_face': '🐼',
+    'paperclip': '📎',
+    'parking': '🅿️',
+    'part_alternation_mark': '〽',
+    'partly_sunny': '⛅️',
+    'passport_control': '🛂',
+    'paw_prints': '🐾',
+    'peach': '🍑',
+    'pear': '🍐',
+    'pencil': '📝',
+    'pencil2': '✏️',
+    'penguin': '🐧',
+    'pensive': '😔',
+    'performing_arts': '🎭',
+    'persevere': '😣',
+    'person_frowning': '🙍',
+    'person_with_blond_hair': '👱',
+    'person_with_pouting_face': '🙎',
+    'phone': '☎️',
+    'pig': '🐷',
+    'pig2': '🐖',
+    'pig_nose': '🐽',
+    'pill': '💊',
+    'pineapple': '🍍',
+    'pisces': '♓️',
+    'pizza': '🍕',
+    'plus1': '👍',  # an alias to +1
+    'point_down': '👇',
+    'point_left': '👈',
+    'point_right': '👉',
+    'point_up': '☝️',
+    'point_up_2': '👆',
+    'police_car': '🚓',
+    'poodle': '🐩',
+    'poop': '💩',
+    'post_office': '🏣',
+    'postal_horn': '📯',
+    'postbox': '📮',
+    'potable_water': '🚰',
+    'pouch': '👝',
+    'poultry_leg': '🍗',
+    'pound': '💷',
+    'pouting_cat': '😾',
+    'pray': '🙏',
+    'princess': '👸',
+    'punch': '👊',
+    'purple_heart': '💜',
+    'purse': '👛',
+    'pushpin': '📌',
+    'put_litter_in_its_place': '🚮',
+    'question': '❓',
+    'rabbit': '🐰',
+    'rabbit2': '🐇',
+    'racehorse': '🐎',
+    'radio': '📻',
+    'radio_button': '🔘',
+    'rage': '😡',
+    'railway_car': '🚃',
+    'rainbow': '🌈',
+    'raised_hand': '✋',
+    'raised_hands': '🙌',
+    'raising_hand': '🙋',
+    'ram': '🐏',
+    'ramen': '🍜',
+    'rat': '🐀',
+    'recycle': '♻️',
+    'red_car': '🚗',
+    'red_circle': '🔴',
+    'registered': '®️',
+    'relaxed': '☺️',
+    'relieved': '😌',
+    'repeat': '🔁',
+    'repeat_one': '🔂',
+    'restroom': '🚻',
+    'revolving_hearts': '💞',
+    'rewind': '⏪',
+    'ribbon': '🎀',
+    'rice': '🍚',
+    'rice_ball': '🍙',
+    'rice_cracker': '🍘',
+    'rice_scene': '🎑',
+    'ring': '💍',
+    'rocket': '🚀',
+    'roller_coaster': '🎢',
+    'rooster': '🐓',
+    'rose': '🌹',
+    'rotating_light': '🚨',
+    'round_pushpin': '📍',
+    'rowboat': '🚣',
+    'ru': '🇷🇺',
+    'rugby_football': '🏉',
+    'runner': '🏃',
+    'running': '🏃',
+    'running_shirt_with_sash': '🎽',
+    'sa': '🈂',
+    'sagittarius': '♐️',
+    'sailboat': '⛵️',
+    'sake': '🍶',
+    'sandal': '👡',
+    'santa': '🎅',
+    'satellite': '📡',
+    'satisfied': '😆',
+    'saxophone': '🎷',
+    'school': '🏫',
+    'school_satchel': '🎒',
+    'scissors': '✂️',
+    'scorpius': '♏️',
+    'scream': '😱',
+    'scream_cat': '🙀',
+    'scroll': '📜',
+    'seat': '💺',
+    'secret': '㊙',
+    'see_no_evil': '🙈',
+    'seedling': '🌱',
+    'seven': '7️⃣',
+    'shaved_ice': '🍧',
+    'sheep': '🐑',
+    'shell': '🐚',
+    'ship': '🚢',
+    'shirt': '👕',
+    'shit': '💩',
+    'shoe': '👞',
+    'shower': '🚿',
+    'signal_strength': '📶',
+    'simple_smile': '🙂',  # slightly smiling face
+    'six': '6️⃣',
+    'six_pointed_star': '🔯',
+    'ski': '🎿',
+    'skull': '💀',
+    'sleeping': '😴',
+    'sleepy': '😪',
+    'slot_machine': '🎰',
+    'small_blue_diamond': '🔹',
+    'small_orange_diamond': '🔸',
+    'small_red_triangle': '🔺',
+    'small_red_triangle_down': '🔻',
+    'smile': '😄',
+    'smile_cat': '😸',
+    'smiley': '😃',
+    'smiley_cat': '😺',
+    'smiling_imp': '😈',
+    'smirk': '😏',
+    'smirk_cat': '😼',
+    'smoking': '🚬',
+    'snail': '🐌',
+    'snake': '🐍',
+    'snowboarder': '🏂',
+    'snowflake': '❄️',
+    'snowman': '⛄️',
+    'sob': '😭',
+    'soccer': '⚽️',
+    'soon': '🔜',
+    'sos': '🆘',
+    'sound': '🔉',
+    'space_invader': '👾',
+    'spades': '♠️',
+    'spaghetti': '🍝',
+    'sparkle': '❇️',
+    'sparkler': '🎇',
+    'sparkles': '✨',
+    'sparkling_heart': '💖',
+    'speak_no_evil': '🙊',
+    'speaker': '🔈',
+    'speech_balloon': '💬',
+    'speedboat': '🚤',
+    'star': '⭐️',
+    'star2': '🌟',
+    'stars': '🌠',
+    'station': '🚉',
+    'statue_of_liberty': '🗽',
+    'steam_locomotive': '🚂',
+    'stew': '🍲',
+    'straight_ruler': '📏',
+    'strawberry': '🍓',
+    'stuck_out_tongue': '😛',
+    'stuck_out_tongue_closed_eyes': '😝',
+    'stuck_out_tongue_winking_eye': '😜',
+    'sun_with_face': '🌞',
+    'sunflower': '🌻',
+    'sunglasses': '😎',
+    'sunny': '☀️',
+    'sunrise': '🌅',
+    'sunrise_over_mountains': '🌄',
+    'surfer': '🏄',
+    'sushi': '🍣',
+    'suspension_railway': '🚟',
+    'sweat': '😓',
+    'sweat_drops': '💦',
+    'sweat_smile': '😅',
+    'sweet_potato': '🍠',
+    'swimmer': '🏊',
+    'symbols': '🔣',
+    'syringe': '💉',
+    'tada': '🎉',
+    'tanabata_tree': '🎋',
+    'tangerine': '🍊',
+    'taurus': '♉️',
+    'taxi': '🚕',
+    'tea': '🍵',
+    'telephone': '☎️',
+    'telephone_receiver': '📞',
+    'telescope': '🔭',
+    'tennis': '🎾',
+    'tent': '⛺️',
+    'thought_balloon': '💭',
+    'three': '3️⃣',
+    'thumbsdown': '👎',
+    'thumbsup': '👍',
+    'ticket': '🎫',
+    'tiger': '🐯',
+    'tiger2': '🐅',
+    'tired_face': '😫',
+    'tm': '™️',
+    'toilet': '🚽',
+    'tokyo_tower': '🗼',
+    'tomato': '🍅',
+    'tongue': '👅',
+    'top': '🔝',
+    'tophat': '🎩',
+    'tractor': '🚜',
+    'traffic_light': '🚥',
+    'train': '🚋',
+    'train2': '🚆',
+    'tram': '🚊',
+    'triangular_flag_on_post': '🚩',
+    'triangular_ruler': '📐',
+    'trident': '🔱',
+    'triumph': '😤',
+    'trolleybus': '🚎',
+    'trophy': '🏆',
+    'tropical_drink': '🍹',
+    'tropical_fish': '🐠',
+    'truck': '🚚',
+    'trumpet': '🎺',
+    'tshirt': '👕',
+    'tulip': '🌷',
+    'turtle': '🐢',
+    'tv': '📺',
+    'twisted_rightwards_arrows': '🔀',
+    'two': '2️⃣',
+    'two_hearts': '💕',
+    'two_men_holding_hands': '👬',
+    'two_women_holding_hands': '👭',
+    'u5272': '🈹',
+    'u5408': '🈴',
+    'u55b6': '🈺',
+    'u6307': '🈯',
+    'u6708': '🈷',
+    'u6709': '🈶',
+    'u6e80': '🈵',
+    'u7121': '🈚',
+    'u7533': '🈸',
+    'u7981': '🈲',
+    'u7a7a': '🈳',
+    'uk': '🇬🇧',
+    'umbrella': '☔️',
+    'unamused': '😒',
+    'underage': '🔞',
+    'unlock': '🔓',
+    'up': '🆙',
+    'us': '🇺🇸',
+    'v': '✌️',
+    'vertical_traffic_light': '🚦',
+    'vhs': '📼',
+    'vibration_mode': '📳',
+    'video_camera': '📹',
+    'video_game': '🎮',
+    'violin': '🎻',
+    'virgo': '♍️',
+    'volcano': '🌋',
+    'vs': '🆚',
+    'walking': '🚶',
+    'waning_crescent_moon': '🌘',
+    'waning_gibbous_moon': '🌖',
+    'warning': '⚠️',
+    'watch': '⌚️',
+    'water_buffalo': '🐃',
+    'watermelon': '🍉',
+    'wave': '👋',
+    'wavy_dash': '〰️',
+    'waxing_crescent_moon': '🌒',
+    'waxing_gibbous_moon': '🌔',
+    'wc': '🚾',
+    'weary': '😩',
+    'wedding': '💒',
+    'whale': '🐳',
+    'whale2': '🐋',
+    'wheelchair': '♿️',
+    'white_check_mark': '✅',
+    'white_circle': '⚪️',
+    'white_flower': '💮',
+    'white_large_square': '⬜️',
+    'white_medium_small_square': '◽️',
+    'white_medium_square': '◻️',
+    'white_small_square': '▫️',
+    'white_square_button': '🔳',
+    'wind_chime': '🎐',
+    'wine_glass': '🍷',
+    'wink': '😉',
+    'wolf': '🐺',
+    'woman': '👩',
+    'womans_clothes': '👚',
+    'womans_hat': '👒',
+    'womens': '🚺',
+    'worried': '😟',
+    'wrench': '🔧',
+    'x': '❌',
+    'yellow_heart': '💛',
+    'yen': '💴',
+    'yum': '😋',
+    'zap': '⚡️',
+    'zero': '0️⃣',
+    'zzz': '💤',
+}
+
+
+def _replace_emoji(line):
+    for shortcode, characters in _emoji_replacement_mapping.items():
+        line = line.replace(':{}:'.format(shortcode), characters)
+    return line
+
+
+def _unreplace_emoji(line):
+    # replace sequences before single characters
+    for shortcode, character in sorted(
+            _emoji_replacement_mapping.items(),
+            key=lambda t: len(t[1]),
+            reverse=True
+    ):
+        line = line.replace(character, ':{}:'.format(shortcode))
+    return line
+
+
+def do_the_thing(func):
+    conn = op.get_bind()
+
+    for table_name, column_name in (('posts', 'content'),
+                                    ('messages', 'message')):
+        table = sa.Table(
+            table_name,
+            sa.MetaData(),
+            sa.Column('id', sa.Integer, primary_key=True),
+            sa.Column(column_name, sa.String)
+        )
+        for row in conn.execute(table.select()):
+            content = getattr(row, column_name)
+            new_content = func(content)
+            if not new_content == content:
+                conn.execute(
+                    table.update().where(
+                        table.c.id == row.id
+                    ).values(**{column_name: new_content})
+                )
+
+
+def upgrade():
+    do_the_thing(_replace_emoji)
+
+
+def downgrade():
+    do_the_thing(_unreplace_emoji)

+ 2 - 7
tests/unit/utils/test_markup.py

@@ -1,15 +1,10 @@
-from flaskbb.utils.markup import collect_emojis, EMOJIS, markdown
-
-
-def test_collect_emojis():
-    assert collect_emojis() == EMOJIS
+from flaskbb.utils.markup import markdown
 
 
 def test_custom_renderer():
     # custom paragraph
-    p_plain = "@sh4nks is :developing: :flaskbb:."
+    p_plain = "@sh4nks is developing flaskbb."
     assert "/user/sh4nks" in markdown.render(p_plain)
-    assert "emoji/flaskbb.png" in markdown.render(p_plain)
 
     # custom block code with pygments highlighting (jus)
     b_plain = """