vendor/assets/javascripts/mathquill.js in mathquill_rails_dev-0.9.3.4 vs vendor/assets/javascripts/mathquill.js in mathquill_rails_dev-0.9.3.5

- old
+ new

@@ -1,3 +1,3 @@ -!function(){function t(){}function e(t){var e=t.length-1;return function(){var n=ke.call(arguments,0,e),i=ke.call(arguments,e);return t.apply(this,n.concat([i]))}}function n(t){return e(function(e,n){"function"!=typeof e&&(e=Oe(e));var i=function(t){return e.apply(t,[t].concat(n))};return t.call(this,i)})}function i(t){var e=ke.call(arguments,1);return function(){return t.apply(this,e)}}function s(t,e){if(!e)throw new Error("prayer failed: "+t)}function r(t){s("a direction was passed",t===Ce||t===je)}function o(t,e,n){s("a parent is always present",t),s("leftward is properly set up",function(){return e?e[je]===n&&e.parent===t:t.ends[Ce]===n}()),s("rightward is properly set up",function(){return n?n[Ce]===e&&n.parent===t:t.ends[je]===e}())}function a(t){if(!t||!t.nodeType)return null;var e=Qe(t).children(".mq-root-block").attr(we);return e?Te.byId[e].controller.API:null}function l(t){function e(e,n){var i=a(e);return i instanceof t||!e||!e.nodeType?i:t(Qe(e),n)}return e.prototype=t.prototype,e}function c(t){var e,n="workingGroupChange moveOutOf deleteOutOf selectOutOf upOutOf downOutOf reflow".split(" ");for(e=0;e<n.length;e+=1)(function(e){t[e]=function(t){this.controller.handle(e,t)}})(n[e])}function h(t,e,n){return ye(A,{ctrlSeq:t,htmlTemplate:"<"+e+" "+n+">&0</"+e+">"})}function u(t){var e=this.parent,n=t;do{if(n[je])return t.insLeftOf(e);n=n.parent.parent}while(n!==e);t.insRightOf(e)}function p(t,e){t.jQadd=function(){e.jQadd.apply(this,arguments),this.delimjQs=this.jQ.children(":first").add(this.jQ.children(":last")),this.contentjQ=this.jQ.children(":eq(1)")},t.reflow=function(){var t=this.contentjQ.outerHeight()/parseInt(this.contentjQ.css("fontSize"),10);V(this.delimjQs,qe(1+.2*(t-1),1.2),1.05*t)}}function f(t,e){var e=e||t,n=fe[t],s=fe[e];_e[t]=i(pe,Ce,t,n,e,s),_e[n]=i(pe,je,t,n,e,s)}var d,m,g,b,v,w,q,x,k,O,y,C,j,Q,S,T,A,D,_,L,E,R,I,z,B,P,M,F,$,N,G,U,W,H,V,X,Z,K,Y,J,te,ee,ne,ie,se,re,oe,ae,le,ce,he,ue,pe,fe,de,me,ge,be=window.jQuery,ve="mathquill-command-id",we="mathquill-block-id",qe=Math.min,xe=Math.max,ke=[].slice,Oe=e(function(t,n){return e(function(e,i){return t in e?e[t].apply(e,n.concat(i)):void 0})}),ye=function(t,e,n){function i(t){return"object"==typeof t}function s(t){return"function"==typeof t}function r(){}return function o(a,l){function c(){var t=new h;return s(t.init)&&t.init.apply(t,arguments),t}function h(){}var u,p,f;return l===n&&(l=a,a=Object),c.Bare=h,u=r[t]=a[t],p=h[t]=c[t]=c.p=new r,p.constructor=c,c.mixin=function(e){return h[t]=c[t]=o(c,e)[t],c},(c.open=function(t){if(f={},s(t)?f=t.call(c,p,u,c,a):i(t)&&(f=t),i(f))for(var n in f)e.call(f,n)&&(p[n]=f[n]);return s(p.init)||(p.init=a),c})(l)}}("prototype",{}.hasOwnProperty),Ce=a.L=-1,je=a.R=1,Qe=ye(be,function(t){t.insDirOf=function(t,e){return t===Ce?this.insertBefore(e.first()):this.insertAfter(e.last())},t.insAtDirEnd=function(t,e){return t===Ce?this.prependTo(e):this.appendTo(e)}}),Se=ye(function(t){t.parent=0,t[Ce]=0,t[je]=0,t.init=function(t,e,n){this.parent=t,this[Ce]=e,this[je]=n},this.copy=function(t){return Se(t.parent,t[Ce],t[je])}}),Te=ye(function(t){function e(){return i+=1}t[Ce]=0,t[je]=0,t.parent=0;var i=0;this.byId={},t.init=function(){this.id=e(),Te.byId[this.id]=this,this.ends={},this.ends[Ce]=0,this.ends[je]=0},t.dispose=function(){delete Te.byId[this.id]},t.toString=function(){return"{{ MathQuill Node #"+this.id+" }}"},t.jQ=Qe(),t.jQadd=function(t){return this.jQ=this.jQ.add(t)},t.jQize=function(t){function e(t){var n,i;for(t.getAttribute&&(n=t.getAttribute("mathquill-command-id"),i=t.getAttribute("mathquill-block-id"),n&&Te.byId[n].jQadd(t),i&&Te.byId[i].jQadd(t)),t=t.firstChild;t;t=t.nextSibling)e(t)}var n;for(t=Qe(t||this.html()),n=0;n<t.length;n+=1)e(t[n]);return t},t.createDir=function(t,e){r(t);var n=this;return n.jQize(),n.jQ.insDirOf(t,e.jQ),e[t]=n.adopt(e.parent,e[Ce],e[je]),n},t.createLeftOf=function(t){return this.createDir(Ce,t)},t.selectChildren=function(t,e){return Ee(t,e)},t.bubble=n(function(t){var e,n;for(e=this;e&&(n=t(e),n!==!1);e=e.parent);return this}),t.postOrder=n(function(t){return function e(n){n.eachChild(e),t(n)}(this),this}),t.isEmpty=function(){return 0===this.ends[Ce]&&0===this.ends[je]},t.children=function(){return Ae(this.ends[Ce],this.ends[je])},t.eachChild=function(){var t=this.children();return t.each.apply(t,arguments),this},t.foldChildren=function(t,e){return this.children().fold(t,e)},t.withDirAdopt=function(t,e,n,i){return Ae(this,this).withDirAdopt(t,e,n,i),this},t.adopt=function(t,e,n){return Ae(this,this).adopt(t,e,n),this},t.disown=function(){return Ae(this,this).disown(),this},t.remove=function(){return this.jQ.remove(),this.postOrder("dispose"),this.disown()}}),Ae=ye(function(t){t.init=function(t,e,n){n===d&&(n=Ce),r(n),s("no half-empty fragments",!t==!e),this.ends={},t&&(s("withDir is passed to Fragment",t instanceof Te),s("oppDir is passed to Fragment",e instanceof Te),s("withDir and oppDir have the same parent",t.parent===e.parent),this.ends[n]=t,this.ends[-n]=e,this.jQ=this.fold(this.jQ,function(t,e){return t.add(e.jQ)}))},t.jQ=Qe(),t.withDirAdopt=function(t,e,n,i){return t===Ce?this.adopt(e,n,i):this.adopt(e,i,n)},t.adopt=function(t,e,n){var i,s,r;return o(t,e,n),i=this,i.disowned=!1,(s=i.ends[Ce])?(r=i.ends[je],e||(t.ends[Ce]=s),n?n[Ce]=r:t.ends[je]=r,i.ends[je][je]=n,i.each(function(n){n[Ce]=e,n.parent=t,e&&(e[je]=n),e=n}),i):this},t.disown=function(){var t,e,n=this,i=n.ends[Ce];return!i||n.disowned?n:(n.disowned=!0,t=n.ends[je],e=i.parent,o(e,i[Ce],i),o(e,t,t[je]),i[Ce]?i[Ce][je]=t[je]:e.ends[Ce]=t[je],t[je]?t[je][Ce]=i[Ce]:e.ends[je]=i[Ce],n)},t.remove=function(){return this.jQ.remove(),this.each("postOrder","dispose"),this.disown()},t.each=n(function(t){var e,n=this,i=n.ends[Ce];if(!i)return n;for(;i!==n.ends[je][je]&&(e=t(i),e!==!1);i=i[je]);return n}),t.fold=function(t,e){return this.each(function(n){t=e.call(this,t,n)}),t}}),De={},_e={},Le=ye(Se,function(t){t.init=function(t,e){this.parent=t,this.options=e;var n=this.jQ=this._jQ=Qe('<span class="mq-cursor">&zwj;</span>');this.blink=function(){n.toggleClass("mq-blink")},this.upDownCache={}},t.show=function(){return this.jQ=this._jQ.removeClass("mq-blink"),"intervalId"in this?clearInterval(this.intervalId):(this[je]?this.jQ.insertBefore(this.selection&&this.selection.ends[Ce][Ce]===this[Ce]?this.selection.jQ:this[je].jQ.first()):this.jQ.appendTo(this.parent.jQ),this.parent.focus()),this.intervalId=setInterval(this.blink,500),this},t.hide=function(){return"intervalId"in this&&clearInterval(this.intervalId),delete this.intervalId,this.jQ.detach(),this.jQ=Qe(),this},t.withDirInsertAt=function(t,e,n,i){e!==this.parent&&this.parent.blur&&this.parent.blur(),this.parent=e,this[t]=n,this[-t]=i},t.insDirOf=function(t,e){return r(t),this.withDirInsertAt(t,e.parent,e[t],e),this.parent.jQ.addClass("mq-hasCursor"),this.jQ.insDirOf(t,e.jQ),this},t.insLeftOf=function(t){return this.insDirOf(Ce,t)},t.insRightOf=function(t){return this.insDirOf(je,t)},t.insAtDirEnd=function(t,e){return r(t),this.withDirInsertAt(t,e,0,e.ends[t]),this.jQ.insAtDirEnd(t,e.jQ),e.focus(),this},t.insAtLeftEnd=function(t){return this.insAtDirEnd(Ce,t)},t.insAtRightEnd=function(t){return this.insAtDirEnd(je,t)},t.jumpUpDown=function(t,e){var n,i,s=this;s.upDownCache[t.id]=Se.copy(s),n=s.upDownCache[e.id],n?n[je]?s.insLeftOf(n[je]):s.insAtRightEnd(n.parent):(i=s.offset().left,e.seek(i,s))},t.offset=function(){var t=this,e=t.jQ.removeClass("mq-cursor").offset();return t.jQ.addClass("mq-cursor"),e},t.unwrapGramp=function(){var t=this.parent.parent,e=t.parent,n=t[je],i=this,s=t[Ce];if(t.disown().eachChild(function(i){i.isEmpty()||(i.children().adopt(e,s,n).each(function(e){e.jQ.insertBefore(t.jQ.first())}),s=i.ends[je])}),!this[je])if(this[Ce])this[je]=this[Ce][je];else for(;!this[je];){if(this.parent=this.parent[je],!this.parent){this[je]=t[je],this.parent=e;break}this[je]=this.parent.ends[Ce]}this[je]?this.insLeftOf(this[je]):this.insAtRightEnd(e),t.jQ.remove(),t[Ce].siblingDeleted&&t[Ce].siblingDeleted(i.options,je),t[je].siblingDeleted&&t[je].siblingDeleted(i.options,Ce)},t.startSelection=function(){var t,e=this.anticursor=Se.copy(this),n=e.ancestors={};for(t=e;t.parent;t=t.parent)n[t.parent.id]=t},t.endSelection=function(){delete this.anticursor},t.select=function(){var t,e,n,i,r,o,a,l=this.anticursor;if(this[Ce]===l[Ce]&&this.parent===l.parent)return!1;for(t=this;t.parent;t=t.parent)if(t.parent.id in l.ancestors){e=t.parent;break}if(s("cursor and anticursor in the same tree",e),n=l.ancestors[e.id],o=je,t[Ce]!==n)for(a=t;a;a=a[je])if(a[je]===n[je]){o=Ce,i=t,r=n;break}return o===je&&(i=n,r=t),i instanceof Se&&(i=i[je]),r instanceof Se&&(r=r[Ce]),this.hide().selection=e.selectChildren(i,r),this.insDirOf(o,this.selection.ends[o]),this.selectionChanged(),!0},t.clearSelection=function(){return this.selection&&(this.selection.clear(),delete this.selection,this.selectionChanged()),this},t.deleteSelection=function(){this.selection&&(this[Ce]=this.selection.ends[Ce][Ce],this[je]=this.selection.ends[je][je],this.selection.remove(),this.selectionChanged(),delete this.selection)},t.replaceSelection=function(){var t=this.selection;return t&&(this[Ce]=t.ends[Ce][Ce],this[je]=t.ends[je][je],delete this.selection),t}}),Ee=ye(Ae,function(t,e){t.init=function(){e.init.apply(this,arguments),this.jQ=this.jQ.wrapAll('<span class="mq-selection"></span>').parent()},t.adopt=function(){return this.jQ.replaceWith(this.jQ=this.jQ.children()),e.adopt.apply(this,arguments)},t.clear=function(){return this.jQ.replaceWith(this.jQ[0].childNodes),this},t.join=function(t){return this.fold("",function(e,n){return e+n[t]()})}}),Re=ye(function(t){t.init=function(t,e,n){this.API=t,this.root=e,this.container=n,t.__controller=e.controller=this,this.cursor=e.cursor=Le(e,t.__options)},t.handle=function(t,e){var n=this.API.__options.handlers;n&&n[t]&&(e===Ce||e===je?n[t](e,this.API):n[t](this.API))};var e=[];this.onNotify=function(t){e.push(t)},t.notify=function(){for(var t=0;t<e.length;t+=1)e[t].apply(this.cursor,arguments);return this}});a.noConflict=function(){return window.MathQuill=m,a},m=window.MathQuill,window.MathQuill=a,g=ye(),b={},a.__options=g.p,v=ye(function(t){t.init=function(){throw"wtf don't call me, I'm 'abstract'"},t.initRoot=function(t,e,n){var i,s;this.__options=g(),this.config(n),i=Re(this,t,e),i.createTextarea(),s=e.contents().detach(),t.jQ=Qe('<span class="mq-root-block"/>').attr(we,t.id).appendTo(e),this.latex(s.text()),this.revert=function(){return e.empty().unbind(".mathquill").removeClass("mq-editable-field mq-math-mode mq-text-mode").append(s)}},t.config=a.config=function(t){var e,n,i;for(e in t)t.hasOwnProperty(e)&&(n=t[e],i=b[e],this.__options[e]=i?i(n):n);return this},t.el=function(){return this.__controller.container[0]},t.text=function(){return this.__controller.exportText(this.__options)},t.latex=function(t){return arguments.length>0?(this.__controller.renderLatexMath(t),this.__controller.blurred&&this.__controller.cursor.hide().parent.blur(),this):this.__controller.exportLatex()},t.html=function(){return this.__controller.root.jQ.html().replace(/ mathquill-(?:command|block)-id="?\d+"?/g,"").replace(/<span class="?mq-cursor( mq-blink)?"?>.?<\/span>/i,"").replace(/ mq-hasCursor|mq-hasCursor ?/,"").replace(/ class=(""|(?= |>))/g,"")},t.reflow=function(){return this.__controller.root.postOrder("reflow"),this}}),a.prototype=v.prototype,a.StaticMath=l(ye(v,function(t,e){t.init=function(t){this.initRoot(S(),t.addClass("mq-math-mode")),this.__controller.delegateMouseEvents(),this.__controller.staticMathTextareaEvents()},t.latex=function(){var t=e.latex.apply(this,arguments);return arguments.length>0&&this.__controller.root.postOrder("registerInnerField",this.innerFields=[]),t}})),w=a.EditableField=ye(v,function(e){e.initRootAndEvents=function(t,e,n){this.initRoot(t,e,n),this.__controller.editable=!0,this.__controller.delegateMouseEvents(),this.__controller.editablesTextareaEvents()},e.focus=function(){return this.__controller.textarea.focus(),this},e.blur=function(){return this.__controller.textarea.blur(),this},e.write=function(t){return this.__controller.writeLatex(t),this.__controller.blurred&&this.__controller.cursor.hide().parent.blur(),this},e.cmd=function(t){var e,n=this.__controller.notify(),i=n.cursor.show();return/^\\[a-z]+$/i.test(t)?(t=t.slice(1),e=De[t],e&&(t=e(t),i.selection&&t.replaces(i.replaceSelection()),t.createLeftOf(i))):i.parent.write(i,t,i.replaceSelection()),n.blurred&&i.hide().parent.blur(),this},e.select=function(){var t=this.__controller;for(t.notify("move").cursor.insAtRightEnd(t.root);t.cursor[Ce];)t.selectLeft();return this},e.clearSelection=function(){return this.__controller.cursor.clearSelection(),this},e.moveToDirEnd=function(t){return this.__controller.notify("move").cursor.insAtDirEnd(t,this.__controller.root),this},e.moveToLeftEnd=function(){return this.moveToDirEnd(Ce)},e.moveToRightEnd=function(){return this.moveToDirEnd(je)},e.keystroke=function(e){var n;for(e=e.replace(/^\s+|\s+$/g,"").split(/\s+/),n=0;n<e.length;n+=1)this.__controller.keystroke(e[n],{preventDefault:t});return this},e.typedText=function(t){for(var e=0;e<t.length;e+=1)this.__controller.typedText(t.charAt(e));return this}}),q=ye(function(t,e,n){function i(t,e){throw t=t?"'"+t+"'":"EOF","Parse Error: "+e+" at "+t}var r,o,a,l,c,h,u,p,f,d,m,g,b;t.init=function(t){this._=t},t.parse=function(t){function e(t,e){return e}return this.skip(b)._(t,e,i)},t.or=function(t){s("or is passed a parser",t instanceof n);var e=this;return n(function(n,i,s){function r(){return t._(n,i,s)}return e._(n,i,r)})},t.then=function(t){var e=this;return n(function(i,r,o){function a(e,i){var a=t instanceof n?t:t(i);return s("a parser is returned",a instanceof n),a._(e,r,o)}return e._(i,a,o)})},t.many=function(){var t=this;return n(function(e,n){function i(t,n){return e=t,r.push(n),!0}function s(){return!1}for(var r=[];t._(e,i,s););return n(e,r)})},t.times=function(t,e){arguments.length<2&&(e=t);var i=this;return n(function(n,s,r){function o(t,e){return u.push(e),n=t,!0}function a(t,e){return c=e,n=t,!1}function l(){return!1}var c,h,u=[],p=!0;for(h=0;t>h;h+=1)if(p=i._(n,o,a),!p)return r(n,c);for(;e>h&&p;h+=1)p=i._(n,o,l);return s(n,u)})},t.result=function(t){return this.then(a(t))},t.atMost=function(t){return this.times(0,t)},t.atLeast=function(t){var e=this;return e.times(t).then(function(t){return e.many().map(function(e){return t.concat(e)})})},t.map=function(t){return this.then(function(e){return a(t(e))})},t.skip=function(t){return this.then(function(e){return t.result(e)})},r=this.string=function(t){var e=t.length,i="expected '"+t+"'";return n(function(n,s,r){var o=n.slice(0,e);return o===t?s(n.slice(e),o):r(n,i)})},o=this.regex=function(t){s("regexp parser is anchored","^"===t.toString().charAt(1));var e="expected "+t;return n(function(n,i,s){var r,o=t.exec(n);return o?(r=o[0],i(n.slice(r.length),r)):s(n,e)})},a=n.succeed=function(t){return n(function(e,n){return n(e,t)})},l=n.fail=function(t){return n(function(e,n,i){return i(e,t)})},c=n.letter=o(/^[a-z]/i),h=n.letters=o(/^[a-z]*/i),u=n.digit=o(/^[0-9]/),p=n.digits=o(/^[0-9]*/),f=n.whitespace=o(/^\s+/),d=n.optWhitespace=o(/^\s*/),m=n.any=n(function(t,e,n){return t?e(t.slice(1),t.charAt(0)):n(t,"expected any character")}),g=n.all=n(function(t,e){return e("",t)}),b=n.eof=n(function(t,e,n){return t?n(t,"expected EOF"):e(t,t)})}),x=function(){function e(t){var e,i=t.which||t.keyCode,s=n[i],r=[];return t.ctrlKey&&r.push("Ctrl"),t.originalEvent&&t.originalEvent.metaKey&&r.push("Meta"),t.altKey&&r.push("Alt"),t.shiftKey&&r.push("Shift"),e=s||String.fromCharCode(i),r.length||s?(r.push(e),r.join("-")):e}var n={8:"Backspace",9:"Tab",10:"Enter",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Esc",32:"Spacebar",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",45:"Insert",46:"Del",144:"NumLock"};return function(n,i){function s(t){q=t,clearTimeout(d),d=setTimeout(t)}function r(e){q(),q=t,clearTimeout(d),v.val(e),e&&v[0].select(),m=!!e}function o(){var t=v[0];return"selectionStart"in t?t.selectionStart!==t.selectionEnd:!1}function a(){i.keystroke(e(g),g)}function l(e){g=e,b=null,a(),m&&s(function(){v[0].select(),q=t,clearTimeout(d)})}function c(t){g&&b&&a(),b=t,s(h)}function h(){if(!o()){var t=v.val();1===t.length?(v.val(""),i.typedText(t)):t&&v[0].select()}}function u(){g=b=null}function p(){v.focus(),s(f)}function f(){var t=v.val();v.val(""),t&&i.paste(t)}var d,m,g=null,b=null,v=be(n),w=be(i.container||v),q=t;return w.bind("keydown keypress input keyup focusout paste",function(){q()}),m=!1,w.bind({keydown:l,keypress:c,focusout:u,paste:p}),{select:r}}}(),Re.open(function(t){t.exportText=function(t){return this.root.foldChildren("",function(e,n){return e+n.text(t)}).replace(/\\operatorname\{(.*?)\}/g,"$1").replace(/\\/g,"").replace(/\* *\*/g,"*").replace(/ *_/g,"_").replace(/\* *$/,"")}}),Re.open(function(t){t.focusBlurEvents=function(){function t(){clearTimeout(n),r.selection&&r.selection.jQ.addClass("mq-blur"),e()}function e(){r.hide().parent.blur(),i.container.removeClass("mq-focused"),Qe(window).off("blur",t)}var n,i=this,s=i.root,r=i.cursor;i.textarea.focus(function(){i.blurred=!1,clearTimeout(n),i.container.addClass("mq-focused"),r.parent||r.insAtRightEnd(s),r.selection?(r.selection.jQ.removeClass("mq-blur"),i.selectionChanged()):r.show()}).blur(function(){i.blurred=!0,n=setTimeout(function(){s.postOrder("intentionalBlur"),r.clearSelection(),e()}),Qe(window).on("blur",t)}),i.blurred=!0,r.hide().parent.blur()}}),Re.open(function(t){t.keystroke=function(t,e){this.cursor.parent.keystroke(t,e,this)}}),Te.open(function(t){t.keystroke=function(t,e,n){var i=n.cursor;switch(t){case"Ctrl-Shift-Backspace":case"Ctrl-Backspace":for(;i[Ce]||i.selection;)n.backspace();break;case"Shift-Backspace":case"Backspace":n.backspace();break;case"Esc":case"Tab":return void n.escapeDir(je,t,e);case"Shift-Tab":case"Shift-Esc":return void n.escapeDir(Ce,t,e);case"End":n.notify("move").cursor.insAtRightEnd(i.parent);break;case"Ctrl-End":n.notify("move").cursor.insAtRightEnd(n.root);break;case"Shift-End":for(;i[je];)n.selectRight();break;case"Ctrl-Shift-End":for(;i[je]||i.parent!==n.root;)n.selectRight();break;case"Home":n.notify("move").cursor.insAtLeftEnd(i.parent);break;case"Ctrl-Home":n.notify("move").cursor.insAtLeftEnd(n.root);break;case"Shift-Home":for(;i[Ce];)n.selectLeft();break;case"Ctrl-Shift-Home":for(;i[Ce]||i.parent!==n.root;)n.selectLeft();break;case"Left":n.moveLeft();break;case"Shift-Left":n.selectLeft();break;case"Ctrl-Left":break;case"Right":n.moveRight();break;case"Shift-Right":n.selectRight();break;case"Ctrl-Right":break;case"Up":n.moveUp();break;case"Down":n.moveDown();break;case"Shift-Up":if(i[Ce])for(;i[Ce];)n.selectLeft();else n.selectLeft();case"Shift-Down":if(i[je])for(;i[je];)n.selectRight();else n.selectRight();case"Ctrl-Up":break;case"Ctrl-Down":break;case"Ctrl-Shift-Del":case"Ctrl-Del":for(;i[je]||i.selection;)n.deleteForward();break;case"Shift-Del":case"Del":n.deleteForward();break;case"Meta-A":case"Ctrl-A":for(n.notify("move").cursor.insAtRightEnd(n.root);i[Ce];)n.selectLeft();break;default:return}e.preventDefault(),n.scrollHoriz()},t.moveOutOf=t.moveTowards=t.deleteOutOf=t.deleteTowards=t.unselectInto=t.selectOutOf=t.selectTowards=function(){s("overridden or never called on this node")}}),Re.open(function(t){function e(t,e){var n=t.notify("upDown").cursor,i=e+"Into",s=e+"OutOf";return n[je][i]?n.insAtLeftEnd(n[je][i]):n[Ce][i]?n.insAtRightEnd(n[Ce][i]):n.parent.bubble(function(t){var e=t[s];return e&&("function"==typeof e&&(e=t[s](n)),e instanceof Te&&n.jumpUpDown(t,e),e!==!0)?!1:void 0}),n.parent.bubble("workingGroupChange"),t}this.onNotify(function(t){("move"===t||"upDown"===t)&&this.show().clearSelection()}),t.escapeDir=function(t,e,n){r(t);var i=this.cursor;return i.parent!==this.root&&n.preventDefault(),i.parent!==this.root?(i.parent.moveOutOf(t,i),i.parent.bubble("workingGroupChange"),this.notify("move")):void 0},b.leftRightIntoCmdGoes=function(t){if(t&&"up"!==t&&"down"!==t)throw'"up" or "down" required for leftRightIntoCmdGoes option, got "'+t+'"';return t},t.moveDir=function(t){r(t);var e=this.cursor,n=e.options.leftRightIntoCmdGoes;return e.selection?e.insDirOf(t,e.selection.ends[t]):e[t]?e[t].moveTowards(t,e,n):e.parent.moveOutOf(t,e,n),e.parent.bubble("workingGroupChange"),this.notify("move")},t.moveLeft=function(){return this.moveDir(Ce)},t.moveRight=function(){return this.moveDir(je)},t.moveUp=function(){return e(this,"up")},t.moveDown=function(){return e(this,"down")},this.onNotify(function(t){"upDown"!==t&&(this.upDownCache={})}),this.onNotify(function(t){"edit"===t&&this.show().deleteSelection()}),t.deleteDir=function(t){var e,n;return r(t),e=this.cursor,n=e.selection,this.notify("edit"),n||(e[t]?e[t].deleteTowards(t,e):e.parent.deleteOutOf(t,e)),e[Ce].siblingDeleted&&e[Ce].siblingDeleted(e.options,je),e[je].siblingDeleted&&e[je].siblingDeleted(e.options,Ce),e.parent.bubble("reflow"),e.parent.bubble("workingGroupChange"),this},t.backspace=function(){return this.deleteDir(Ce)},t.deleteForward=function(){return this.deleteDir(je)},this.onNotify(function(t){"select"!==t&&this.endSelection()}),t.selectDir=function(t){var e,n=this.notify("select").cursor,i=n.selection;r(t),n.anticursor||n.startSelection(),e=n[t],e?i&&i.ends[t]===e&&n.anticursor[-t]!==e?e.unselectInto(t,n):e.selectTowards(t,n):n.parent.selectOutOf(t,n),n.clearSelection(),n.select()||n.show()},t.selectLeft=function(){return this.selectDir(Ce)},t.selectRight=function(){return this.selectDir(je)}}),k=function(){function t(t){var e=S();return t.adopt(e,0,0),e}function e(t){var e,n=t[0]||S();for(e=1;e<t.length;e+=1)t[e].children().adopt(n,n.ends[je],0);return n}var n=q.string,i=q.regex,s=q.letter,r=q.any,o=q.optWhitespace,a=q.succeed,l=q.fail,c=s.map(function(t){return I(t)}),h=i(/^[^${}\\_^]/).map(function(t){return j(t)}),u=i(/^[^\\a-eg-zA-Z]/).or(n("\\").then(i(/^[a-z]+/i).or(i(/^\s+/).result(" ")).or(r))).then(function(t){var e=De[t];return e?e(t).parser():l("unknown command: \\"+t)}),p=u.or(c).or(h),f=n("{").then(function(){return m}).skip(n("}")),d=o.then(f.or(p.map(t))),m=d.many().map(e).skip(o),g=n("[").then(d.then(function(t){return"]"!==t.join("latex")?a(t):l()}).many().map(e).skip(o)).skip(n("]")),b=m;return b.block=d,b.optBlock=g,b}(),Re.open(function(t){t.exportLatex=function(){return this.root.latex().replace(/(\\[a-z]+) (?![a-z])/gi,"$1")},t.writeLatex=function(t){var e,n=this.notify("edit").cursor,i=q.all,s=q.eof,r=k.skip(s).or(i.result(!1)).parse(t);return r&&!r.isEmpty()&&(r.children().adopt(n.parent,n[Ce],n[je]),e=r.jQize(),e.insertBefore(n.jQ),n[Ce]=r.ends[je],r.finalizeInsert(n.options,n),r.ends[je][je].siblingCreated&&r.ends[je][je].siblingCreated(n.options,Ce),r.ends[Ce][Ce].siblingCreated&&r.ends[Ce][Ce].siblingCreated(n.options,je),n.parent.bubble("reflow")),this},t.renderLatexMath=function(t){var e,n,i=this.root,s=this.cursor,r=q.all,o=q.eof,a=k.skip(o).or(r.result(!1)).parse(t);i.eachChild("postOrder","dispose"),i.ends[Ce]=i.ends[je]=0,a&&a.children().adopt(i,0,0),e=i.jQ,a?(n=a.join("html"),e.html(n),i.jQize(e.children()),i.finalizeInsert(s.options)):e.empty(),delete s.selection,s.insAtRightEnd(i)},t.renderLatexText=function(t){var e,n,i,s,r,o,a,l,c,h,u=this.root,p=this.cursor;if(u.jQ.children().slice(1).remove(),u.eachChild("postOrder","dispose"),u.ends[Ce]=u.ends[je]=0,delete p.selection,p.show().insAtRightEnd(u),e=q.regex,n=q.string,i=q.eof,s=q.all,r=n("$").then(k).skip(n("$").or(i)).map(function(t){var e,n=_(p);return n.createBlocks(),e=n.ends[Ce],t.children().adopt(e,0,0),n}),o=n("\\$").result("$"),a=o.or(e(/^[^$]/)).map(j),l=r.or(a).many(),c=l.skip(i).or(s.result(!1)).parse(t)){for(h=0;h<c.length;h+=1)c[h].adopt(u,u.ends[je],0);u.jQize().appendTo(u.jQ),u.finalizeInsert(p.options)}}}),Re.open(function(e){e.delegateMouseEvents=function(){var e=this.root.jQ;this.container.bind("contextmenu.mathquill",function(t){for(var n=Qe(t.target).closest(".mq-root-block"),i=Te.byId[n.attr(we)||e.attr(we)],s=i.controller,r=s.cursor,o=s.seek(Qe(t.target),t.pageX,t.pageY).cursor.parent;!(o instanceof y);)if(o=o.parent,"undefined"==typeof o){o=i;break}return o.contextMenu(r,t),t.preventDefault(),!1}),this.container.bind("mousedown.mathquill",function(n){function i(t){o=Qe(t.target)}function s(t){h.anticursor||h.startSelection(),c.seek(o,t.pageX,t.pageY).cursor.select(),o=d}function r(t){h.blink=u,h.selection||(c.editable?h.show():p.detach()),a.unbind("mousemove",i),Qe(t.target.ownerDocument).unbind("mousemove",s).unbind("mouseup",r)}var o,a=Qe(n.target).closest(".mq-root-block"),l=Te.byId[a.attr(we)||e.attr(we)],c=l.controller,h=c.cursor,u=h.blink,p=c.textareaSpan,f=c.textarea;c.blurred&&(c.editable||a.prepend(p),f.focus()),n.preventDefault(),n.target.unselectable=!0,h.blink=t,c.seek(Qe(n.target),n.pageX,n.pageY).cursor.startSelection(),a.mousemove(i),Qe(n.target.ownerDocument).mousemove(s).mouseup(r)})}}),Re.open(function(t){t.seek=function(t,e){var n,i,r,o=this.notify("select").cursor;return t&&(n=t.attr(we)||t.attr(ve),n||(i=t.parent(),n=i.attr(we)||i.attr(ve))),r=n?Te.byId[n]:this.root,s("nodeId is the id of some Node that exists",r),o.clearSelection().show(),r.seek(e,o),this.scrollHoriz(),o.parent.bubble("workingGroupChange"),this}}),Re.open(function(t){t.scrollHoriz=function(){var t,e,n,i,s,r=this.cursor,o=r.selection,a=this.root.jQ[0].getBoundingClientRect();if(o)if(n=o.jQ[0].getBoundingClientRect(),i=n.left-(a.left+20),s=n.right-(a.right-20),o.ends[Ce]===r[je])if(0>i)e=i;else{if(!(s>0))return;e=n.left-s<a.left+20?i:s}else if(s>0)e=s;else{if(!(0>i))return;e=n.right-i>a.right-20?s:i}else if(t=r.jQ[0].getBoundingClientRect().left,t>a.right-20)e=t-(a.right-20);else{if(!(t<a.left+20))return;e=t-(a.left+20)}this.root.jQ.stop().animate({scrollLeft:"+="+e},100)}}),Re.open(function(t){g.p.substituteTextarea=function(){return Qe("<textarea>")[0]},t.createTextarea=function(){var t,e=this.textareaSpan=Qe('<span class="mq-textarea"></span>'),n=this.API.__options.substituteTextarea();if(!n.nodeType)throw"substituteTextarea() must return a DOM element, got "+n;n=this.textarea=Qe(n).appendTo(e),t=this,t.cursor.selectionChanged=function(){t.selectionChanged()},t.container.bind("copy",function(){t.setTextareaSelection()})},t.selectionChanged=function(){var t=this;X(t.container[0]),t.textareaSelectionTimeout===d&&(t.textareaSelectionTimeout=setTimeout(function(){t.setTextareaSelection()}))},t.setTextareaSelection=function(){this.textareaSelectionTimeout=d;var t="";this.cursor.selection&&(t=this.cursor.selection.join("latex"),this.API.__options.statelessClipboard&&(t="$"+t+"$")),this.selectFn(t)},t.staticMathTextareaEvents=function(){function t(){s.detach(),e.blurred=!0}var e=this,n=(e.root,e.cursor),i=e.textarea,s=e.textareaSpan;this.container.prepend('<span class="mq-selectable">$'+e.exportLatex()+"$</span>"),e.blurred=!0,i.bind("cut paste",!1).focus(function(){e.blurred=!1}).blur(function(){n.selection&&n.selection.clear(),setTimeout(t)}),e.selectFn=function(t){i.val(t),t&&i.select()}},t.editablesTextareaEvents=function(){var t=this,e=(t.root,t.cursor),n=t.textarea,i=t.textareaSpan,s=x(n,this);this.selectFn=function(t){s.select(t)},this.container.prepend(i).on("cut",function(){e.selection&&setTimeout(function(){t.notify("edit"),e.parent.bubble("reflow")})}),this.focusBlurEvents()},t.typedText=function(t){if("\n"===t)return this.handle("enter");var e=this.notify().cursor;e.parent.write(e,t,e.show().replaceSelection()),this.scrollHoriz()},t.paste=function(t){this.API.__options.statelessClipboard&&(t="$"===t.slice(0,1)&&"$"===t.slice(-1)?t.slice(1,-1):"\\text{"+t+"}"),this.writeLatex(t).cursor.show()}}),O=ye(Te,function(t){t.finalizeInsert=function(t,e){var n=this;n.postOrder("finalizeTree",t),n.postOrder("contactWeld",e),n.postOrder("blur"),n.postOrder("reflow"),n[je].siblingCreated&&n[je].siblingCreated(t,Ce),n[Ce].siblingCreated&&n[Ce].siblingCreated(t,je),n.bubble("reflow")},t.contextMenu=function(){},t.showPopupMenu=function(t,e){var n,i;for(1==Qe("#mq-popup-menu").length&&Qe("#mq-popup-menu").remove(),n=Qe("<ul></ul>").attr("id","mq-popup-menu").appendTo("body"),i=0;i<t.length;i++)Qe("<li></li>").attr("mq-menu-id",i).html(t[i].text).appendTo(n);n.menu({select:function(e,i){var s=1*i.item.attr("mq-menu-id");t[s].handler(e),n.hide()}}),n.position({my:"left top",of:e}),n.show(),Qe(document).bind("click",function(t){n.hide(),Qe(this).unbind(t)})}}),y=ye(O,function(t,e){t.init=function(t,n,i){var s=this;e.init.call(s),s.ctrlSeq||(s.ctrlSeq=t),n&&(s.htmlTemplate=n),i&&(s.textTemplate=i)},t.replaces=function(t){t.disown(),this.replacedFragment=t},t.isEmpty=function(){return this.foldChildren(!0,function(t,e){return t&&e.isEmpty()})},t.parser=function(){var t=k.block,e=this;return t.times(e.numBlocks()).map(function(t){e.blocks=t;for(var n=0;n<t.length;n+=1)t[n].adopt(e,e.ends[je],0);return e})},t.createLeftOf=function(t){var n,i=this;if(t.options.enableMatrixShortcuts&&"undefined"!=typeof t.parent&&"undefined"!=typeof t.parent&&t.parent.parent instanceof ue){if(","==i.ctrlSeq)return t.parent.parent.moveOrInsertColumn(t);if(";"==i.ctrlSeq)return t.parent.parent.insertRow(t);if(":"==i.ctrlSeq)return t.parent.parent.deleteRow(t);if("<"==i.ctrlSeq)return t.parent.parent.deleteColumn(t);if(">"==i.ctrlSeq)return t.parent.parent.insertColumn(t)}n=i.replacedFragment,i.createBlocks(),e.createLeftOf.call(i,t),n&&(n.adopt(i.ends[Ce],0,0),n.jQ.appendTo(i.ends[Ce].jQ)),i.finalizeInsert(t.options),i.placeCursor(t),(this instanceof Q||this instanceof oe||this instanceof se||this instanceof le)&&this.bubble("workingGroupChange")},t.createBlocks=function(){var t,e,n=this,i=n.numBlocks(),s=n.blocks=Array(i);for(t=0;i>t;t+=1)e=s[t]=S(),e.adopt(n,n.ends[je],0)},t.placeCursor=function(t){t.insAtRightEnd(this.foldChildren(this.ends[Ce],function(t,e){return t.isEmpty()?t:e}))},t.moveTowards=function(t,e,n){var i=n&&this[n+"Into"];e.insAtDirEnd(-t,i||this.ends[-t])},t.deleteTowards=function(t,e){e.startSelection(),this.selectTowards(t,e),e.select()},t.selectTowards=function(t,e){e[-t]=this,e[t]=this[t]},t.selectChildren=function(){return Ee(this,this)},t.unselectInto=function(t,e){e.insAtDirEnd(-t,e.anticursor.ancestors[this.id])},t.seek=function(t,e){function n(t){var e={};return e[Ce]=t.jQ.offset().left,e[je]=e[Ce]+t.jQ.outerWidth(),e}var i,s=this,r=n(s);return t<r[Ce]?e.insLeftOf(s):t>r[je]?e.insRightOf(s):(i=r[Ce],void s.eachChild(function(o){var a=n(o);return t<a[Ce]?(t-i<a[Ce]-t?o[Ce]?e.insAtRightEnd(o[Ce]):e.insLeftOf(s):e.insAtLeftEnd(o),!1):t>a[je]?void(o[je]?i=a[je]:r[je]-t<t-a[je]?e.insRightOf(s):e.insAtRightEnd(o)):(o.seek(t,e),!1)}))},t.numBlocks=function(){var t=this.htmlTemplate.match(/&\d+/g);return t?t.length:0},t.html=function(){var t,e,n,i=this,r=i.blocks,o=" mathquill-command-id="+i.id,a=i.htmlTemplate.match(/<[^<>]+>|[^<>]+/g);for(s("no unmatched angle brackets",a.join("")===this.htmlTemplate),t=0,e=a[0];e;t+=1,e=a[t])if("/>"===e.slice(-2))a[t]=e.slice(0,-2)+o+"/>";else if("<"===e.charAt(0)){s("not an unmatched top-level close tag","/"!==e.charAt(1)),a[t]=e.slice(0,-1)+o+">",n=1;do t+=1,e=a[t],s("no missing close tags",e),"</"===e.slice(0,2)?n-=1:"<"===e.charAt(0)&&"/>"!==e.slice(-2)&&(n+=1);while(n>0)}return a.join("").replace(/>&(\d+)/g,function(t,e){return" mathquill-block-id="+r[e].id+">"+r[e].join("html")})},t.latex=function(){return this.foldChildren(this.ctrlSeq,function(t,e){return t+"{"+(e.latex()||" ")+"}"})},t.textTemplate=[""],t.text=function(t){var e=this,n=0;return e.foldChildren(e.textTemplate[n],function(i,s){n+=1;var r=s.text(t);return i&&"("===e.textTemplate[n]&&"("===r[0]&&")"===r.slice(-1)?i+r.slice(1,-1)+e.textTemplate[n]:i+s.text(t)+(e.textTemplate[n]||"")})}}),C=ye(y,function(e,n){e.init=function(t,e,i){i||(i=t&&t.length>1?t.slice(1):t),n.init.call(this,t,e,[i])},e.parser=function(){return q.succeed(this)},e.numBlocks=function(){return 0},e.replaces=function(t){t.remove() -},e.createBlocks=t,e.moveTowards=function(t,e){e.jQ.insDirOf(t,this.jQ),e[-t]=this,e[t]=this[t]},e.deleteTowards=function(t,e){e[t]=this.remove()[t]},e.seek=function(t,e){t-this.jQ.offset().left<this.jQ.outerWidth()/2?e.insLeftOf(this):e.insRightOf(this)},e.latex=function(){return this.ctrlSeq},e.text=function(){return this.textTemplate},e.placeCursor=t,e.isEmpty=function(){return!0}}),j=ye(C,function(t,e){t.init=function(t,n){e.init.call(this,t,"<span>"+(n||t)+"</span>")}}),Q=ye(C,function(t,e){t.init=function(t,n,i){e.init.call(this,t,'<span class="mq-binary-operator">'+n+"</span>",i)}}),S=ye(O,function(t,e){t.join=function(t){return this.foldChildren("",function(e,n){return e+n[t]()})},t.html=function(){return this.join("html")},t.latex=function(){return this.join("latex")},t.text=function(t){return 0===this.ends[Ce]&&0===this.ends[je]?"":this.ends[Ce]===this.ends[je]?this.ends[Ce].text(t):this.foldChildren("",function(e,n){return e+n.text(t)})},t.keystroke=function(t,n,i){return!i.API.__options.spaceBehavesLikeTab||"Spacebar"!==t&&"Shift-Spacebar"!==t?e.keystroke.apply(this,arguments):(n.preventDefault(),void i.escapeDir("Shift-Spacebar"===t?Ce:je,t,n))},t.moveOutOf=function(t,e,n){var i=n&&this.parent[n+"Into"];!i&&this[t]?e.insAtDirEnd(-t,this[t]):e.insDirOf(t,this.parent)},t.selectOutOf=function(t,e){e.insDirOf(t,this.parent)},t.deleteOutOf=function(t,e){e.unwrapGramp()},t.seek=function(t,e){var n=this.ends[je];if(!n||n.jQ.offset().left+n.jQ.outerWidth()<t)return e.insAtRightEnd(this);if(t<this.ends[Ce].jQ.offset().left)return e.insAtLeftEnd(this);for(;t<n.jQ.offset().left;)n=n[Ce];return n.seek(t,e)},t.write=function(t,e,n){var i;i=e.match(/^[a-eg-zA-Z]$/)?I(e):(i=_e[e]||De[e])?i(e):j(e),n&&i.replaces(n),i.createLeftOf(t)},t.focus=function(){return this.jQ.addClass("mq-hasCursor"),this.jQ.removeClass("mq-empty"),this},t.blur=function(){return this.jQ.removeClass("mq-hasCursor"),this.isEmpty()&&this.jQ.addClass("mq-empty"),this}}),T=ye(S,c),a.MathField=l(ye(w,function(t){t.init=function(t,e){t.addClass("mq-editable-field mq-math-mode"),this.initRootAndEvents(T(),t,e)}})),A=ye(Te,function(t,e){function n(t){var e,n;return t.jQ[0].normalize(),e=t.jQ[0].firstChild,n=D(e.data),n.jQadd(e),t.children().disown(),n.adopt(t,0,0)}t.ctrlSeq="\\text",t.replaces=function(t){t instanceof Ae?this.replacedText=t.remove().jQ.text():"string"==typeof t&&(this.replacedText=t)},t.jQadd=function(t){e.jQadd.call(this,t),this.ends[Ce]&&this.ends[Ce].jQadd(this.jQ[0].firstChild)},t.createLeftOf=function(t){var n,i=this;if(e.createLeftOf.call(this,t),i[je].siblingCreated&&i[je].siblingCreated(t.options,Ce),i[Ce].siblingCreated&&i[Ce].siblingCreated(t.options,je),i.bubble("reflow"),t.insAtRightEnd(i),i.replacedText)for(n=0;n<i.replacedText.length;n+=1)i.write(t,i.replacedText.charAt(n))},t.parser=function(){var t=this,e=q.string,n=q.regex,i=q.optWhitespace;return i.then(e("{")).then(n(/^[^}]*/)).skip(e("}")).map(function(e){return D(e).adopt(t,0,0),t})},t.textContents=function(){return this.foldChildren("",function(t,e){return t+e.text})},t.text=function(t){return t.dropTextFieldsOnTextOutput?"":'"'+this.textContents()+'"'},t.latex=function(){return"\\text{"+this.textContents()+"}"},t.html=function(){return'<span class="mq-text-mode" mathquill-command-id='+this.id+">"+this.textContents()+"</span>"},t.moveTowards=function(t,e){e.insAtDirEnd(-t,this)},t.moveOutOf=function(t,e){e.insDirOf(t,this)},t.unselectInto=t.moveTowards,t.selectTowards=y.prototype.selectTowards,t.deleteTowards=y.prototype.deleteTowards,t.selectOutOf=function(t,e){e.insDirOf(t,this)},t.deleteOutOf=function(t,e){this.isEmpty()&&e.insRightOf(this)},t.write=function(t,n,i){var s,r;i&&i.remove(),"$"!==n?t[Ce]?t[Ce].appendText(n):D(n).createLeftOf(t):this.isEmpty()?(t.insRightOf(this),j("\\$","$").createLeftOf(t)):t[je]?t[Ce]?(s=A(),r=this.ends[Ce],r.disown(),r.adopt(s,0,0),t.insLeftOf(this),e.createLeftOf.call(s,t)):t.insLeftOf(this):t.insRightOf(this)},t.seek=function(t,e){var i,s,r,o,a,l,c,h;for(e.hide(),i=n(this),s=this.jQ.width()/this.text.length,r=Math.round((t-this.jQ.offset().left)/s),0>=r?e.insAtLeftEnd(this):r>=i.text.length?e.insAtRightEnd(this):e.insLeftOf(i.splitRight(r)),o=t-e.show().offset().left,a=o&&0>o?Ce:je,l=a;e[a]&&o*l>0;)e[a].moveTowards(a,e),l=o,o=t-e.offset().left;-a*l>a*o&&e[-a].moveTowards(-a,e),e.anticursor?e.anticursor.parent===this&&(c=e[Ce]&&e[Ce].text.length,this.anticursorPosition===c?e.anticursor=Se.copy(e):(this.anticursorPosition<c?(h=e[Ce].splitRight(this.anticursorPosition),e[Ce]=h):h=e[je].splitRight(this.anticursorPosition-c),e.anticursor=Se(this,h[Ce],h))):this.anticursorPosition=e[Ce]&&e[Ce].text.length},t.blur=function(){S.prototype.blur.call(this),n(this)},t.focus=S.prototype.focus}),D=ye(Te,function(t,e){function n(t,e){return e.charAt(t===Ce?0:-1+e.length)}t.init=function(t){e.init.call(this),this.text=t},t.jQadd=function(t){this.dom=t,this.jQ=Qe(t)},t.jQize=function(){return this.jQadd(document.createTextNode(this.text))},t.appendText=function(t){this.text+=t,this.dom.appendData(t)},t.prependText=function(t){this.text=t+this.text,this.dom.insertData(0,t)},t.insTextAtDirEnd=function(t,e){r(e),e===je?this.appendText(t):this.prependText(t)},t.splitRight=function(t){var e=D(this.text.slice(t)).adopt(this.parent,this,this[je]);return e.jQadd(this.dom.splitText(t)),this.text=this.text.slice(0,t),e},t.moveTowards=function(t,e){var i,s;return r(t),i=n(-t,this.text),s=this[-t],s?s.insTextAtDirEnd(i,t):D(i).createDir(-t,e),this.deleteTowards(t,e)},t.latex=function(){return this.text},t.deleteTowards=function(t,e){this.text.length>1?t===je?(this.dom.deleteData(0,1),this.text=this.text.slice(1)):(this.dom.deleteData(-1+this.text.length,1),this.text=this.text.slice(0,-1)):(this.remove(),this.jQ.remove(),e[t]=this[t])},t.selectTowards=function(t,e){var i,s,o,a;return r(t),i=e.anticursor,s=n(-t,this.text),i[t]===this?(o=D(s).createDir(t,e),i[t]=o,e.insDirOf(t,o)):(a=this[-t],a?a.insTextAtDirEnd(s,t):(o=D(s).createDir(-t,e),o.jQ.insDirOf(-t,e.selection.jQ)),1===this.text.length&&i[-t]===this&&(i[-t]=this[-t])),this.deleteTowards(t,e)}}),_e.$=De.text=De.textnormal=De.textrm=De.textup=De.textmd=A,De.em=De.italic=De.italics=De.emph=De.textit=De.textsl=h("\\textit","i",'class="mq-text-mode"'),De.strong=De.bold=De.textbf=h("\\textbf","b",'class="mq-text-mode"'),De.sf=De.textsf=h("\\textsf","span",'class="mq-sans-serif mq-text-mode"'),De.tt=De.texttt=h("\\texttt","span",'class="mq-monospace mq-text-mode"'),De.textsc=h("\\textsc","span",'style="font-variant:small-caps" class="mq-text-mode"'),De.uppercase=h("\\uppercase","span",'style="text-transform:uppercase" class="mq-text-mode"'),De.lowercase=h("\\lowercase","span",'style="text-transform:lowercase" class="mq-text-mode"'),_=ye(y,function(t,e){t.init=function(t){e.init.call(this,"$"),this.cursor=t},t.htmlTemplate='<span class="mq-math-mode">&0</span>',t.createBlocks=function(){e.createBlocks.call(this),this.ends[Ce].cursor=this.cursor,this.ends[Ce].write=function(t,e,n){"$"!==e?S.prototype.write.call(this,t,e,n):this.isEmpty()?(t.insRightOf(this.parent),this.parent.deleteTowards(dir,t),j("\\$","$").createLeftOf(t.show())):t[je]?t[Ce]?S.prototype.write.call(this,t,e,n):t.insLeftOf(this.parent):t.insRightOf(this.parent)}},t.latex=function(){return"$"+this.ends[Ce].latex()+"$"}}),L=ye(T,function(t,e){t.keystroke=function(t){return"Spacebar"!==t&&"Shift-Spacebar"!==t?e.keystroke.apply(this,arguments):void 0},t.write=function(t,e,n){if(n&&n.remove(),"$"===e)_(t).createLeftOf(t);else{var i;"<"===e?i="&lt;":">"===e&&(i="&gt;"),j(e,i).createLeftOf(t)}}}),a.TextField=l(ye(w,function(t){t.init=function(t){t.addClass("mq-editable-field mq-text-mode"),this.initRootAndEvents(L(),t)},t.latex=function(t){return arguments.length>0?(this.__controller.renderLatexText(t),this.__controller.blurred&&this.__controller.cursor.hide().parent.blur(),this):this.__controller.exportLatex()}})),E=_e["\\"]=ye(y,function(t,e){t.ctrlSeq="\\",t.replaces=function(t){this._replacedFragment=t.disown(),this.isEmpty=function(){return!1}},t.htmlTemplate='<span class="mq-latex-command-input mq-non-leaf">\\<span>&0</span></span>',t.textTemplate=["\\"],t.createBlocks=function(){e.createBlocks.call(this),this.ends[Ce].focus=function(){return this.parent.jQ.addClass("mq-hasCursor"),this.isEmpty()&&this.parent.jQ.removeClass("mq-empty"),this},this.ends[Ce].blur=function(){return this.parent.jQ.removeClass("mq-hasCursor"),this.isEmpty()&&this.parent.jQ.addClass("mq-empty"),this},this.ends[Ce].write=function(t,e,n){return n&&n.remove(),0==this.parent.ends[Ce].latex().indexOf("matrix")?void(/^matrix\dx\d$/.test(this.parent.ends[Ce].latex())?(this.parent.renderCommand(t),"\\"===e&&this.isEmpty()||this.parent.parent.write(t,e)):j(e).createLeftOf(t)):void(e.match(/[a-z]/i)?j(e).createLeftOf(t):(this.parent.renderCommand(t),"\\"===e&&this.isEmpty()||this.parent.parent.write(t,e)))},this.ends[Ce].keystroke=function(t,n,i){return"Tab"===t||"Enter"===t||"Spacebar"===t?(this.parent.renderCommand(i.cursor),void n.preventDefault()):e.keystroke.apply(this,arguments)}},t.createLeftOf=function(t){if(e.createLeftOf.call(this,t),this._replacedFragment){var n=this.jQ[0];this.jQ=this._replacedFragment.jQ.addClass("mq-blur").bind("mousedown mousemove",function(t){return Qe(t.target=n).trigger(t),!1}).insertBefore(this.jQ).add(this.jQ)}},t.latex=function(){return"\\"+this.ends[Ce].latex()+" "},t.renderCommand=function(t){var e,n;this.jQ=this.jQ.last(),this.remove(),this[je]?t.insLeftOf(this[je]):t.insAtRightEnd(this.parent),e=this.ends[Ce].latex(),e||(e=" "),n=De[e],n?(n=n(e),this._replacedFragment&&n.replaces(this._replacedFragment),n.createLeftOf(t)):(n=A(),n.replaces(e),n.createLeftOf(t),t.insRightOf(n),this._replacedFragment&&this._replacedFragment.remove())}}),De.notin=De.sim=De.cong=De.equiv=De.oplus=De.otimes=ye(Q,function(t,e){t.init=function(t){e.init.call(this,"\\"+t+" ","&"+t+";")}}),De["≠"]=De.ne=De.neq=i(Q,"\\ne ","&ne;"),De.ast=De.star=De.loast=De.lowast=i(Q,"\\ast ","&lowast;"),De.therefor=De.therefore=i(Q,"\\therefore ","&there4;"),De.cuz=De.because=i(Q,"\\because ","&#8757;"),De.prop=De.propto=i(Q,"\\propto ","&prop;"),De["≈"]=De.asymp=De.approx=i(Q,"\\approx ","&asymp;"),De.isin=De["in"]=i(Q,"\\in ","&isin;"),De.ni=De.contains=i(Q,"\\ni ","&ni;"),De.notni=De.niton=De.notcontains=De.doesnotcontain=i(Q,"\\not\\ni ","&#8716;"),De.sub=De.subset=i(Q,"\\subset ","&sub;"),De.sup=De.supset=De.superset=i(Q,"\\supset ","&sup;"),De.nsub=De.notsub=De.nsubset=De.notsubset=i(Q,"\\not\\subset ","&#8836;"),De.nsup=De.notsup=De.nsupset=De.notsupset=De.nsuperset=De.notsuperset=i(Q,"\\not\\supset ","&#8837;"),De.sube=De.subeq=De.subsete=De.subseteq=i(Q,"\\subseteq ","&sube;"),De.supe=De.supeq=De.supsete=De.supseteq=De.supersete=De.superseteq=i(Q,"\\supseteq ","&supe;"),De.nsube=De.nsubeq=De.notsube=De.notsubeq=De.nsubsete=De.nsubseteq=De.notsubsete=De.notsubseteq=i(Q,"\\not\\subseteq ","&#8840;"),De.nsupe=De.nsupeq=De.notsupe=De.notsupeq=De.nsupsete=De.nsupseteq=De.notsupsete=De.notsupseteq=De.nsupersete=De.nsuperseteq=De.notsupersete=De.notsuperseteq=i(Q,"\\not\\supseteq ","&#8841;"),De.N=De.naturals=De.Naturals=i(j,"\\mathbb{N}","&#8469;"),De.P=De.primes=De.Primes=De.projective=De.Projective=De.probability=De.Probability=i(j,"\\mathbb{P}","&#8473;"),De.Z=De.integers=De.Integers=i(j,"\\mathbb{Z}","&#8484;"),De.Q=De.rationals=De.Rationals=i(j,"\\mathbb{Q}","&#8474;"),De.R=De.reals=De.Reals=i(j,"\\mathbb{R}","&#8477;"),De.C=De.complex=De.Complex=De.complexes=De.Complexes=De.complexplane=De.Complexplane=De.ComplexPlane=i(j,"\\mathbb{C}","&#8450;"),De.H=De.Hamiltonian=De.quaternions=De.Quaternions=i(j,"\\mathbb{H}","&#8461;"),De.quad=De.emsp=i(j,"\\quad "," "),De.qquad=i(j,"\\qquad "," "),De.diamond=i(j,"\\diamond ","&#9671;"),De.bigtriangleup=i(j,"\\bigtriangleup ","&#9651;"),De.ominus=i(j,"\\ominus ","&#8854;"),De.uplus=i(j,"\\uplus ","&#8846;"),De.bigtriangledown=i(j,"\\bigtriangledown ","&#9661;"),De.sqcap=i(j,"\\sqcap ","&#8851;"),De.triangleleft=i(j,"\\triangleleft ","&#8882;"),De.sqcup=i(j,"\\sqcup ","&#8852;"),De.triangleright=i(j,"\\triangleright ","&#8883;"),De.odot=i(j,"\\odot ","&#8857;"),De.bigcirc=i(j,"\\bigcirc ","&#9711;"),De.dagger=i(j,"\\dagger ","&#0134;"),De.ddagger=i(j,"\\ddagger ","&#135;"),De.wr=i(j,"\\wr ","&#8768;"),De.amalg=i(j,"\\amalg ","&#8720;"),De.models=i(j,"\\models ","&#8872;"),De.prec=i(j,"\\prec ","&#8826;"),De.succ=i(j,"\\succ ","&#8827;"),De.preceq=i(j,"\\preceq ","&#8828;"),De.succeq=i(j,"\\succeq ","&#8829;"),De.simeq=i(j,"\\simeq ","&#8771;"),De.mid=i(j,"\\mid ","&#8739;"),De.ll=i(j,"\\ll ","&#8810;"),De.gg=i(j,"\\gg ","&#8811;"),De.parallel=i(j,"\\parallel ","&#8741;"),De.bowtie=i(j,"\\bowtie ","&#8904;"),De.sqsubset=i(j,"\\sqsubset ","&#8847;"),De.sqsupset=i(j,"\\sqsupset ","&#8848;"),De.smile=i(j,"\\smile ","&#8995;"),De.sqsubseteq=i(j,"\\sqsubseteq ","&#8849;"),De.sqsupseteq=i(j,"\\sqsupseteq ","&#8850;"),De.doteq=i(j,"\\doteq ","&#8784;"),De.frown=i(j,"\\frown ","&#8994;"),De.vdash=i(j,"\\vdash ","&#8870;"),De.dashv=i(j,"\\dashv ","&#8867;"),De.longleftarrow=i(j,"\\longleftarrow ","&#8592;"),De.longrightarrow=i(j,"\\longrightarrow ","&#8594;"),De.Longleftarrow=i(j,"\\Longleftarrow ","&#8656;"),De.Longrightarrow=i(j,"\\Longrightarrow ","&#8658;"),De.longleftrightarrow=i(j,"\\longleftrightarrow ","&#8596;"),De.updownarrow=i(j,"\\updownarrow ","&#8597;"),De.Longleftrightarrow=i(j,"\\Longleftrightarrow ","&#8660;"),De.Updownarrow=i(j,"\\Updownarrow ","&#8661;"),De.mapsto=i(j,"\\mapsto ","&#8614;"),De.nearrow=i(j,"\\nearrow ","&#8599;"),De.hookleftarrow=i(j,"\\hookleftarrow ","&#8617;"),De.hookrightarrow=i(j,"\\hookrightarrow ","&#8618;"),De.searrow=i(j,"\\searrow ","&#8600;"),De.leftharpoonup=i(j,"\\leftharpoonup ","&#8636;"),De.rightharpoonup=i(j,"\\rightharpoonup ","&#8640;"),De.swarrow=i(j,"\\swarrow ","&#8601;"),De.leftharpoondown=i(j,"\\leftharpoondown ","&#8637;"),De.rightharpoondown=i(j,"\\rightharpoondown ","&#8641;"),De.nwarrow=i(j,"\\nwarrow ","&#8598;"),De.ldots=i(j,"\\ldots ","&#8230;"),De.cdots=i(j,"\\cdots ","&#8943;"),De.vdots=i(j,"\\vdots ","&#8942;"),De.ddots=i(j,"\\ddots ","&#8944;"),De.surd=i(j,"\\surd ","&#8730;"),De.triangle=i(j,"\\triangle ","&#9653;"),De.ell=i(j,"\\ell ","&#8467;"),De.top=i(j,"\\top ","&#8868;"),De.flat=i(j,"\\flat ","&#9837;"),De.natural=i(j,"\\natural ","&#9838;"),De.sharp=i(j,"\\sharp ","&#9839;"),De.wp=i(j,"\\wp ","&#8472;"),De.bot=i(j,"\\bot ","&#8869;"),De.clubsuit=i(j,"\\clubsuit ","&#9827;"),De.diamondsuit=i(j,"\\diamondsuit ","&#9826;"),De.heartsuit=i(j,"\\heartsuit ","&#9825;"),De.spadesuit=i(j,"\\spadesuit ","&#9824;"),De.oint=i(j,"\\oint ","&#8750;"),De.bigcap=i(j,"\\bigcap ","&#8745;"),De.bigcup=i(j,"\\bigcup ","&#8746;"),De.bigsqcup=i(j,"\\bigsqcup ","&#8852;"),De.bigvee=i(j,"\\bigvee ","&#8744;"),De.bigwedge=i(j,"\\bigwedge ","&#8743;"),De.bigodot=i(j,"\\bigodot ","&#8857;"),De.bigotimes=i(j,"\\bigotimes ","&#8855;"),De.bigoplus=i(j,"\\bigoplus ","&#8853;"),De.biguplus=i(j,"\\biguplus ","&#8846;"),De.lfloor=i(j,"\\lfloor ","&#8970;"),De.rfloor=i(j,"\\rfloor ","&#8971;"),De.lceil=i(j,"\\lceil ","&#8968;"),De.rceil=i(j,"\\rceil ","&#8969;"),De.opencurlybrace=De.lbrace=i(j,"\\lbrace ","{"),De.closecurlybrace=De.rbrace=i(j,"\\rbrace ","}"),De["∫"]=De["int"]=De.integral=i(C,"\\int ","<big>&int;</big>"),De.caret=i(j,"\\text{^}","^"),De.underscore=i(j,"\\_","_"),De.slash=i(j,"/"),De.vert=i(j,"|"),De.perp=De.perpendicular=i(j,"\\perp ","&perp;"),De.nabla=De.del=i(j,"\\nabla ","&nabla;"),De.hbar=i(j,"\\hbar ","&#8463;"),De.AA=De.Angstrom=De.angstrom=i(j,"\\text\\AA ","&#8491;"),De.ring=De.circ=De.circle=i(j,"\\circ ","&#8728;"),De.bull=De.bullet=i(j,"\\bullet ","&bull;"),De.setminus=De.smallsetminus=i(j,"\\setminus ","&#8726;"),De.not=De["¬"]=De.neg=i(j,"\\neg ","&not;"),De["…"]=De.dots=De.ellip=De.hellip=De.ellipsis=De.hellipsis=i(j,"\\dots ","&hellip;"),De.converges=De.darr=De.dnarr=De.dnarrow=De.downarrow=i(j,"\\downarrow ","&darr;"),De.dArr=De.dnArr=De.dnArrow=De.Downarrow=i(j,"\\Downarrow ","&dArr;"),De.diverges=De.uarr=De.uparrow=i(j,"\\uparrow ","&uarr;"),De.uArr=De.Uparrow=i(j,"\\Uparrow ","&uArr;"),De.to=i(Q,"\\to ","&rarr;"),De.rarr=De.rightarrow=i(j,"\\rightarrow ","&rarr;"),De.implies=i(Q,"\\Rightarrow ","&rArr;"),De.rArr=De.Rightarrow=i(j,"\\Rightarrow ","&rArr;"),De.gets=i(Q,"\\gets ","&larr;"),De.larr=De.leftarrow=i(j,"\\leftarrow ","&larr;"),De.impliedby=i(Q,"\\Leftarrow ","&lArr;"),De.lArr=De.Leftarrow=i(j,"\\Leftarrow ","&lArr;"),De.harr=De.lrarr=De.leftrightarrow=i(j,"\\leftrightarrow ","&harr;"),De.iff=i(Q,"\\Leftrightarrow ","&hArr;"),De.hArr=De.lrArr=De.Leftrightarrow=i(j,"\\Leftrightarrow ","&hArr;"),De.Re=De.Real=De.real=i(j,"\\Re ","&real;"),De.Im=De.imag=De.image=De.imagin=De.imaginary=De.Imaginary=i(j,"\\Im ","&image;"),De.part=De.partial=i(j,"\\partial ","&part;"),De.infty=De.infin=De.infinity=i(j,"\\infty ","&infin;"),De.alef=De.alefsym=De.aleph=De.alephsym=i(j,"\\aleph ","&alefsym;"),De.xist=De.xists=De.exist=De.exists=i(j,"\\exists ","&exist;"),De.and=De.land=De.wedge=i(j,"\\wedge ","&and;"),De.or=De.lor=De.vee=i(j,"\\vee ","&or;"),De.o=De.O=De.empty=De.emptyset=De.oslash=De.Oslash=De.nothing=De.varnothing=i(Q,"\\varnothing ","&empty;"),De.cup=De.union=i(Q,"\\cup ","&cup;"),De.cap=De.intersect=De.intersection=i(Q,"\\cap ","&cap;"),De.deg=De.degree=i(j,"^\\circ ","&deg;"),De.ang=De.angle=i(j,"\\angle ","&ang;"),R=ye(C,function(t,e){t.init=function(t,n){e.init.call(this,t,"<var>"+(n||t)+"</var>")},t.text=function(){var t,e,n=this.ctrlSeq;for(!this[Ce]||this[Ce]instanceof R||this[Ce]instanceof Q||","===this[Ce].ctrlSeq||(n="*"+n),!this[Ce]||this[Ce]instanceof Q||"\\"!=this.ctrlSeq[0]||(n="*"+n),t=!1,e=this;e instanceof I;e=e[Ce])if("\\"==e.ctrlSeq[0]){t=!0;break}return!this[je]||this[je]instanceof Q||this[je]instanceof R||"^"===this[je].ctrlSeq||","===this[je].ctrlSeq||"_"===this[je].ctrlSeq||t||(n+="*"),n}}),g.p.autoCommands={_maxLength:0},b.autoCommands=function(t){var e,n,i,s,r;if(!/^[a-z]+(?: [a-z]+)*$/i.test(t))throw'"'+t+'" not a space-delimited list of only letters';for(e=t.split(" "),n={},i=0,s=0;s<e.length;s+=1){if(r=e[s],r.length<2)throw'autocommand "'+r+'" not minimum length of 2';if(De[r]===P)throw'"'+r+'" is a built-in operator name';n[r]=1,i=xe(i,r.length)}return n._maxLength=i,n},I=ye(R,function(t,e){function n(t){return t instanceof C&&!(t instanceof Q)}t.init=function(t){return e.init.call(this,this.letter=t)},t.createLeftOf=function(t){var n,i,s,r=t.options.autoCommands,o=r._maxLength;if(o>0){for(n=this.letter,i=t[Ce],s=1;i instanceof I&&o>s;)n=i.letter+n,i=i[Ce],s+=1;for(;n.length;){if(r.hasOwnProperty(n)){for(s=2,i=t[Ce];s<n.length;s+=1,i=i[Ce]);return Ae(i,t[Ce]).remove(),t[Ce]=i[Ce],De[n](n).createLeftOf(t)}if(t.options.autoCommandFullWordOnly)break;n=n.slice(1)}}e.createLeftOf.apply(this,arguments)},t.italicize=function(t){return this.jQ.toggleClass("mq-operator-name",!t),this},t.finalizeTree=t.siblingDeleted=t.siblingCreated=function(t,e){t.autoOnBrackets||e!==Ce&&this[je]instanceof I||this.autoUnItalicize(t,!0)},t.autoUnItalicize=function(t,e){var i,s,r,o,a,l,c,h,u,p,f,d=t.autoOperatorNames;if(0!==d._maxLength){for(i=this.letter,s=this[Ce];s instanceof I;s=s[Ce])i=s.letter+i;for(r=this[je];r instanceof I;r=r[je])i+=r.letter;Ae(s[je]||this.parent.ends[Ce],r[Ce]||this.parent.ends[je]).each(function(t){t.italicize(!0).jQ.removeClass("mq-first mq-last"),t.ctrlSeq=t.letter});t:for(o=0,a=s[je]||this.parent.ends[Ce];o<i.length;o+=1,a=a[je])for(l=qe(d._maxLength,i.length-o);l>0;l-=1)if(c=i.slice(o,o+l),t.autoAllFunctions||d.hasOwnProperty(c)){for(h=0,u=a;l>h;h+=1,u=u[je])e&&u.italicize(!1),p=u;f=z.hasOwnProperty(c),a.ctrlSeq=(f?"\\":"\\operatorname{")+a.ctrlSeq,p.ctrlSeq+=f?" ":"}",B.hasOwnProperty(c)&&p[Ce][Ce][Ce].jQ.addClass("mq-last"),n(a[Ce])&&a.jQ.addClass("mq-first"),n(p[je])&&p.jQ.addClass("mq-last"),o+=l-1,a=p;continue t}}}}),z={},B={limsup:1,liminf:1,projlim:1,injlim:1},function(){var t,e,n,i=g.p.autoOperatorNames={_maxLength:9},s="arg deg det dim exp gcd hom inf ker lg lim ln log max min sup limsup liminf injlim projlim Pr".split(" ");for(t=0;t<s.length;t+=1)z[s[t]]=i[s[t]]=1;for(e="sin cos tan arcsin arccos arctan sinh cosh tanh sec csc cot coth".split(" "),t=0;t<e.length;t+=1)z[e[t]]=1;for(n="sin cos tan sec cosec csc cotan cot ctg".split(" "),t=0;t<n.length;t+=1)i[n[t]]=i["arc"+n[t]]=i[n[t]+"h"]=i["ar"+n[t]+"h"]=i["arc"+n[t]+"h"]=1}(),b.autoOperatorNames=function(t){var e,n,i,s,r;if(!/^[a-z]+(?: [a-z]+)*$/i.test(t))throw'"'+t+'" not a space-delimited list of only letters';for(e=t.split(" "),n={},i=0,s=0;s<e.length;s+=1){if(r=e[s],r.length<2)throw'"'+r+'" not minimum length of 2';n[r]=1,i=xe(i,r.length)}return n._maxLength=i,n},P=ye(C,function(t){t.init=function(t){this.ctrlSeq=t},t.createLeftOf=function(t){var e,n=this.ctrlSeq;for(e=0;e<n.length;e+=1)I(n.charAt(e)).createLeftOf(t)},t.parser=function(){var t,e=this.ctrlSeq,n=S();for(t=0;t<e.length;t+=1)I(e.charAt(t)).adopt(n,n.ends[je],0);return q.succeed(n.children())}});for(M in z)z.hasOwnProperty(M)&&(De[M]=P);De.operatorname=ye(y,function(e){e.createLeftOf=t,e.numBlocks=function(){return 1},e.parser=function(){return k.block.map(function(t){return t.children()})}}),De.f=ye(I,function(t,e){t.init=function(){C.p.init.call(this,this.letter="f",'<var class="mq-florin">&fnof;</var>')},t.italicize=function(t){return this.jQ.html(t?"&fnof;":"f").toggleClass("mq-florin",t),e.italicize.apply(this,arguments)}}),De[" "]=De.space=i(j,"\\ "," "),De["'"]=De.prime=i(j,"'","&prime;"),De.backslash=i(j,"\\backslash ","\\"),_e["\\"]||(_e["\\"]=De.backslash),De.$=i(j,"\\$","$"),F=ye(C,function(t,e){t.init=function(t,n){e.init.call(this,t,'<span class="mq-nonSymbola">'+(n||t)+"</span>")}}),De["@"]=F,De["&"]=i(F,"\\&","&amp;"),De["%"]=i(F,"\\%","%"),De.alpha=De.beta=De.gamma=De.delta=De.zeta=De.eta=De.theta=De.iota=De.kappa=De.mu=De.nu=De.xi=De.rho=De.sigma=De.tau=De.chi=De.psi=De.omega=ye(R,function(t,e){t.init=function(t){e.init.call(this,"\\"+t+" ","&"+t+";")}}),De.phi=i(R,"\\phi ","&#981;"),De.phiv=De.varphi=i(R,"\\varphi ","&phi;"),De.epsilon=i(R,"\\epsilon ","&#1013;"),De.epsiv=De.varepsilon=i(R,"\\varepsilon ","&epsilon;"),De.piv=De.varpi=i(R,"\\varpi ","&piv;"),De.sigmaf=De.sigmav=De.varsigma=i(R,"\\varsigma ","&sigmaf;"),De.thetav=De.vartheta=De.thetasym=i(R,"\\vartheta ","&thetasym;"),De.upsilon=De.upsi=i(R,"\\upsilon ","&upsilon;"),De.gammad=De.Gammad=De.digamma=i(R,"\\digamma ","&#989;"),De.kappav=De.varkappa=i(R,"\\varkappa ","&#1008;"),De.rhov=De.varrho=i(R,"\\varrho ","&#1009;"),De.pi=De["π"]=i(F,"\\pi ","&pi;"),De.lambda=i(F,"\\lambda ","&lambda;"),De.Upsilon=De.Upsi=De.upsih=De.Upsih=i(C,"\\Upsilon ",'<var style="font-family: serif">&upsih;</var>'),De.Gamma=De.Delta=De.Theta=De.Lambda=De.Xi=De.Pi=De.Sigma=De.Phi=De.Psi=De.Omega=De.forall=ye(j,function(t,e){t.init=function(t){e.init.call(this,"\\"+t+" ","&"+t+";")}}),$=ye(y,function(t){t.init=function(t){this.latex=t},t.createLeftOf=function(t){var e=k.parse(this.latex);e.children().adopt(t.parent,t[Ce],t[je]),t[Ce]=e.ends[je],e.jQize().insertBefore(t.jQ),e.finalizeInsert(t.options,t),e.ends[je][je].siblingCreated&&e.ends[je][je].siblingCreated(t.options,Ce),e.ends[Ce][Ce].siblingCreated&&e.ends[Ce][Ce].siblingCreated(t.options,je),t.parent.bubble("reflow")},t.parser=function(){var t=k.parse(this.latex).children();return q.succeed(t)}}),De["¹"]=i($,"^1"),De["²"]=i($,"^2"),De["³"]=i($,"^3"),De["¼"]=i($,"\\frac14"),De["½"]=i($,"\\frac12"),De["¾"]=i($,"\\frac34"),N=ye(Q,function(t){t.init=j.prototype.init,t.contactWeld=t.siblingCreated=t.siblingDeleted=function(t,e){return e!==je?(this.jQ[0].className=!this[Ce]||this[Ce]instanceof Q?"":"mq-binary-operator",this):void 0}}),De["+"]=i(N,"+","+"),De["–"]=De["-"]=i(N,"-","&minus;"),De["±"]=De.pm=De.plusmn=De.plusminus=i(N,"\\pm ","&plusmn;"),De.mp=De.mnplus=De.minusplus=i(N,"\\mp ","&#8723;"),_e["*"]=De.sdot=De.cdot=i(Q,"\\cdot ","&middot;","*"),G=ye(Q,function(t,e){t.init=function(t,n){this.data=t,this.strict=n;var i=n?"Strict":"";e.init.call(this,t["ctrlSeq"+i],t["html"+i],t["text"+i])},t.swap=function(t){this.strict=t;var e=t?"Strict":"";this.ctrlSeq=this.data["ctrlSeq"+e],this.jQ.html(this.data["html"+e]),this.textTemplate=[this.data["text"+e]]},t.deleteTowards=function(t){return t!==Ce||this.strict?void e.deleteTowards.apply(this,arguments):void this.swap(!0)}}),U={ctrlSeq:"\\le ",html:"&le;",text:"≤",ctrlSeqStrict:"<",htmlStrict:"&lt;",textStrict:"<"},W={ctrlSeq:"\\ge ",html:"&ge;",text:"≥",ctrlSeqStrict:">",htmlStrict:"&gt;",textStrict:">"},De["<"]=De.lt=i(G,U,!0),De[">"]=De.gt=i(G,W,!0),De["≤"]=De.le=De.leq=i(G,U,!1),De["≥"]=De.ge=De.geq=i(G,W,!1),H=ye(Q,function(t,e){t.init=function(){e.init.call(this,"=","=")},t.createLeftOf=function(t){return t[Ce]instanceof G&&t[Ce].strict?void t[Ce].swap(!1):void e.createLeftOf.apply(this,arguments)}}),De["="]=H,De.times=i(Q,"\\times ","&times;","[x]"),De["÷"]=De.div=De.divide=De.divides=i(Q,"\\div ","&divide;","[/]"),X=t,Z=document.createElement("div"),K=Z.style,Y={transform:1,WebkitTransform:1,MozTransform:1,OTransform:1,msTransform:1};for(te in Y)if(te in K){J=te;break}J?V=function(t,e,n){t.css(J,"scale("+e+","+n+")")}:"filter"in K?(X=function(t){t.className=t.className},V=function(t,e,n){function i(){t.css("marginRight",(s.width()-1)*(e-1)/e+"px")}var s,r;e/=1+(n-1)/2,t.css("fontSize",n+"em"),t.hasClass("mq-matrixed-container")||t.addClass("mq-matrixed-container").wrapInner('<span class="mq-matrixed"></span>'),s=t.children().css("filter","progid:DXImageTransform.Microsoft.Matrix(M11="+e+",SizingMethod='auto expand')"),i(),r=setInterval(i),Qe(window).load(function(){clearTimeout(r),i()})}):V=function(t,e,n){t.css("fontSize",n+"em")},ee=ye(y,function(t,e){t.init=function(t,n,i){e.init.call(this,t,"<"+n+" "+i+">&0</"+n+">")}}),De.mathrm=i(ee,"\\mathrm","span",'class="mq-roman mq-font"'),De.mathit=i(ee,"\\mathit","i",'class="mq-font"'),De.mathbf=i(ee,"\\mathbf","b",'class="mq-font"'),De.mathsf=i(ee,"\\mathsf","span",'class="mq-sans-serif mq-font"'),De.mathtt=i(ee,"\\mathtt","span",'class="mq-monospace mq-font"'),De.underline=i(ee,"\\underline","span",'class="mq-non-leaf mq-underline"'),De.overline=De.bar=i(ee,"\\overline","span",'class="mq-non-leaf mq-overline"'),ne=De.textcolor=ye(y,function(t,e){t.setColor=function(t){this.color=t,this.htmlTemplate='<span class="mq-textcolor" style="color:'+t+'">&0</span>'},t.latex=function(){return"\\textcolor{"+this.color+"}{"+this.blocks[0].latex()+"}"},t.parser=function(){var t=this,n=q.optWhitespace,i=q.string,s=q.regex;return n.then(i("{")).then(s(/^[#\w\s.,()%-]*/)).skip(i("}")).then(function(n){return t.setColor(n),e.parser.call(t)})}}),ie=De["class"]=ye(y,function(t,e){t.parser=function(){var t=this,n=q.string,i=q.regex;return q.optWhitespace.then(n("{")).then(i(/^[-\w\s\\\xA0-\xFF]*/)).skip(n("}")).then(function(n){return t.htmlTemplate='<span class="mq-class '+n+'">&0</span>',e.parser.call(t)})}}),se=ye(y,function(t,e){t.ctrlSeq="_{...}^{...}",t.createLeftOf=function(t){return t[Ce]||!t.options.supSubsRequireOperand?e.createLeftOf.apply(this,arguments):void 0},t.contactWeld=function(t){var e,n,i,s,r,o;for(e=Ce;e;e=e===Ce?je:!1)if(this[e]instanceof se){for(n="sub";n;n="sub"===n?"sup":!1)i=this[n],s=this[e][n],i&&(s?i.isEmpty()?o=Se(s,0,s.ends[Ce]):(i.jQ.children().insAtDirEnd(-e,s.jQ),r=i.children().disown(),o=Se(s,r.ends[je],s.ends[Ce]),e===Ce?r.adopt(s,s.ends[je],0):r.adopt(s,0,s.ends[Ce])):this[e].addBlock(i.disown()),this.placeCursor=function(t,n){return function(i){i.insAtDirEnd(-e,t||n)}}(s,i));this.remove(),t&&t[Ce]===this&&(e===je&&o?o[Ce]?t.insRightOf(o[Ce]):t.insAtLeftEnd(o.parent):t.insRightOf(this[e]));break}this.respace()},g.p.charsThatBreakOutOfSupSub="",t.finalizeTree=function(){var t=this.supsub;this.ends[Ce].write=function(e,n){e.options.charsThatBreakOutOfSupSub.indexOf(n)>-1&&e.insRightOf(this.parent),"sub"==t&&e.options.noOperatorsInSubscript&&!RegExp(/[A-Za-z0-9]/).test(n)&&e.insRightOf(this.parent),S.p.write.apply(this,arguments)}},t.latex=function(){function t(t,e){var n=e&&e.latex();return e?t+(1===n.length?n:"{"+(n||" ")+"}"):""}return t("_",this.sub)+t("^",this.sup)},t.text=function(t){var e="";return this.sub&&(e+=t.noOperatorsInSubscript?"_"+(this.sub&&this.sub.ends[Ce]===this.sub.ends[je]?this.sub.ends[Ce].text(t):this.sub.foldChildren("",function(e,n){return e+n.text(t)})):"_"+(this.sub&&this.sub.ends[Ce]===this.sub.ends[je]?this.sub.ends[Ce].text(t):"("+this.sub.foldChildren("",function(e,n){return e+n.text(t)})+")")),this.sup&&(e+="^"+(this.sup&&this.sup.ends[Ce]===this.sup.ends[je]?this.sup.ends[Ce].text(t):"("+this.sup.foldChildren("",function(e,n){return e+n.text(t)})+")")),e},t.respace=t.siblingCreated=t.siblingDeleted=function(t,e){e!==je&&this.jQ.toggleClass("mq-limit","\\int "===this[Ce].ctrlSeq)},t.addBlock=function(t){"sub"===this.supsub?(this.sup=this.upInto=this.sub.upOutOf=t,t.adopt(this,this.sub,0).downOutOf=this.sub,t.jQ=Qe('<span class="mq-sup"/>').append(t.jQ.children()).attr(we,t.id).prependTo(this.jQ)):(this.sub=this.downInto=this.sup.downOutOf=t,t.adopt(this,0,this.sup).upOutOf=this.sup,t.jQ=Qe('<span class="mq-sub"></span>').append(t.jQ.children()).attr(we,t.id).appendTo(this.jQ.removeClass("mq-sup-only")),this.jQ.append('<span style="display:inline-block;width:0">&nbsp;</span>'));for(var e=0;2>e;e+=1)(function(t,e,n,i){t[e].deleteOutOf=function(s,r){r.insDirOf(s,this.parent),this.isEmpty()||(r[-s]=this.ends[s],this.children().disown().withDirAdopt(s,r.parent,r[s],this.parent).jQ.insDirOf(s,this.parent.jQ)),t.supsub=n,delete t[e],delete t[i+"Into"],t[n][i+"OutOf"]=u,delete t[n].deleteOutOf,"sub"===e&&Qe(t.jQ.addClass("mq-sup-only")[0].lastChild).remove(),this.remove()}})(this,"sub sup".split(" ")[e],"sup sub".split(" ")[e],"down up".split(" ")[e])}}),re=ye(y,function(t,e){t.init=function(t,e){var n;n=g.p.autoParensSummationNotation?'<span><span class="mq-large-operator mq-non-leaf"><span class="mq-to"><span>&1</span></span><big>'+e+'</big><span class="mq-from"><span>&0</span></span></span><span class="mq-non-leaf"><span class="mq-scaled mq-paren">(</span><span class="mq-non-leaf">&2</span><span class="mq-scaled mq-paren">)</span></span></span>':'<span class="mq-large-operator mq-non-leaf"><span class="mq-to"><span>&1</span></span><big>'+e+'</big><span class="mq-from"><span>&0</span></span></span>',C.prototype.init.call(this,t,n)},t.createLeftOf=function(t){e.createLeftOf.apply(this,arguments),t.options.sumStartsWithNEquals&&(I("n").createLeftOf(t),H().createLeftOf(t))},t.reflow=function(){var t,e,n;g.p.autoParensSummationNotation&&(t=this.jQ.children(":last").children(":first").add(this.jQ.children(":last").children(":last")),e=this.jQ.children(":last").children(":eq(1)"),n=e.outerHeight()/parseInt(e.css("fontSize"),10),V(t,qe(1+.2*(n-1),1.2),1.05*n))},t.latex=function(){function t(t){return 1===t.length?t:"{"+(t||" ")+"}"}return g.p.autoParensSummationNotation?this.ctrlSeq+"_{"+this.blocks[0].latex()+"}^{"+this.blocks[1].latex()+"}\\left({"+this.blocks[2].latex()+"}\\right)":this.ctrlSeq+"_"+t(this.ends[Ce].latex())+"^"+t(this.ends[je].latex())},t.text=function(t){return g.p.autoParensSummationNotation?" "+this.ctrlSeq+'("'+this.blocks[0].text(t).replace("=",'" , ')+" , "+this.blocks[1].text(t)+","+this.blocks[2].text(t)+")":" "+this.ctrlSeq+'("'+this.ends[Ce].text(t).replace("=",'" , ')+" , "+this.ends[je].text(t)+")"},t.parser=function(){var t,e,n=q.string,i=q.optWhitespace,s=(q.whitespace,q.succeed),r=k.block,o=this;for(t=o.blocks=g.p.autoParensSummationNotation?[S(),S(),S()]:[S(),S()],e=0;e<t.length;e+=1)t[e].adopt(o,o.ends[je],0);return g.p.autoParensSummationNotation?i.then(n("_")).then(function(){var e=t[0];return r.then(function(t){return t.children().adopt(e,e.ends[je],0),s(o)})}).then(i).then(n("^")).then(function(){var e=t[1];return r.then(function(t){return t.children().adopt(e,e.ends[je],0),s(o)})}).then(n("\\left(")).then(function(){var e=t[2];return r.then(function(t){return t.children().adopt(e,e.ends[je],0),s(o) -})}).then(n("\\right)")).result(o):i.then(n("_").or(n("^"))).then(function(e){var n=t["_"===e?0:1];return r.then(function(t){return t.children().adopt(n,n.ends[je],0),s(o)})}).many().result(o)},t.finalizeTree=function(){this.downInto=this.ends[Ce],this.upInto=this.ends[je],this.ends[Ce].upOutOf=this.ends[je],this.ends[je].downOutOf=this.ends[Ce]}}),De["∑"]=De.sum=De.summation=i(re,"\\sum ","&sum;"),De["∏"]=De.prod=De.product=i(re,"\\prod ","&prod;"),De.coprod=De.coproduct=i(re,"\\coprod ","&#8720;"),De.subscript=De._=ye(se,function(t,e){t.supsub="sub",t.ctrlSeq="_",t.htmlTemplate='<span class="mq-supsub mq-non-leaf"><span class="mq-sub">&0</span><span style="display:inline-block;width:0">&nbsp;</span></span>',t.textTemplate=["_"],t.finalizeTree=function(){this.downInto=this.sub=this.ends[Ce],this.sub.upOutOf=u,e.finalizeTree.call(this)}}),De.superscript=De.supscript=De["^"]=ye(se,function(t,e){t.supsub="sup",t.ctrlSeq="^",t.htmlTemplate='<span class="mq-supsub mq-non-leaf mq-sup-only"><span class="mq-sup">&0</span></span>',t.textTemplate=["^"],t.finalizeTree=function(){this.upInto=this.sup=this.ends[je],this.sup.downOutOf=u,e.finalizeTree.call(this)}}),oe=De.frac=De.dfrac=De.cfrac=De.fraction=ye(y,function(t){t.ctrlSeq="\\frac",t.htmlTemplate='<span class="mq-fraction mq-non-leaf"><span class="mq-numerator">&0</span><span class="mq-denominator">&1</span><span style="display:inline-block;width:0">&nbsp;</span></span>',t.textTemplate=["((",")/(","))"],t.finalizeTree=function(){this.upInto=this.ends[je].upOutOf=this.ends[Ce],this.downInto=this.ends[Ce].downOutOf=this.ends[je]}}),ae=De.over=_e["/"]=ye(oe,function(e,n){e.createLeftOf=function(e){if(!this.replacedFragment){for(var i=e[Ce];i&&!(i instanceof Q||i instanceof(De.text||t)||i instanceof re||"\\ "===i.ctrlSeq||/^[,;:]$/.test(i.ctrlSeq));)i=i[Ce];i instanceof re&&i[je]instanceof se&&(i=i[je],i[je]instanceof se&&i[je].ctrlSeq!=i.ctrlSeq&&(i=i[je])),i!==e[Ce]&&(this.replaces(Ae(i[je]||e.parent.ends[Ce],e[Ce])),e[Ce]=i)}n.createLeftOf.call(this,e)}}),le=De.sqrt=De["√"]=ye(y,function(t,e){t.ctrlSeq="\\sqrt",t.htmlTemplate='<span class="mq-non-leaf"><span class="mq-scaled mq-sqrt-prefix">&radic;</span><span class="mq-non-leaf mq-sqrt-stem">&0</span></span>',t.textTemplate=[" sqrt(",")"],t.parser=function(){return k.optBlock.then(function(t){return k.block.map(function(e){var n=he();return n.blocks=[t,e],t.adopt(n,0,0),e.adopt(n,t,0),n})}).or(e.parser.call(this))},t.reflow=function(){var t=this.ends[je].jQ;V(t.prev(),1,t.innerHeight()/+t.css("fontSize").slice(0,-2)-.1)}}),ce=De.vec=ye(y,function(t){t.ctrlSeq="\\vec",t.htmlTemplate='<span class="mq-non-leaf"><span class="mq-vector-prefix">&rarr;</span><span class="mq-vector-stem">&0</span></span>',t.textTemplate=["vec(",")"]}),he=De.nthroot=ye(le,function(t){t.htmlTemplate='<sup class="mq-nthroot mq-non-leaf">&0</sup><span class="mq-scaled"><span class="mq-sqrt-prefix mq-scaled">&radic;</span><span class="mq-sqrt-stem mq-non-leaf">&1</span></span>',t.textTemplate=["sqrt[","](",")"],t.latex=function(){return"\\sqrt["+this.ends[Ce].latex()+"]{"+this.ends[je].latex()+"}"},t.text=function(t){return" "+this.ends[je].text(t)+"^(1/"+this.ends[Ce].text(t)+")"}}),ue=De.begin=ye(y,function(t,e){t.numBlocks=function(){return this.col*this.row},t.init=function(t,n,i){var s,r,o,a;for(this.col=n,this.row=i,this.ctrlSeq=t,s="",r=0;i>r;r++){for(o="",a=0;n>a;a++)o+='<span class="mq-cell">&'+(r*n+a)+"</span>";s+='<span class="mq-row">'+o+"</span>"}switch(this.ctrlSeq){case"\\pmatrix":s='<span class="mq-scaled mq-paren">(</span><span class="mq-matrix">'+s+'</span><span class="mq-scaled mq-paren">)</span>';break;case"\\bmatrix":s='<span class="mq-scaled mq-paren">[</span><span class="mq-matrix">'+s+'</span><span class="mq-scaled mq-paren">]</span>';break;case"\\Bmatrix":s='<span class="mq-scaled mq-paren">{</span><span class="mq-matrix">'+s+'</span><span class="mq-scaled mq-paren">}</span>';break;case"\\vmatrix":s='<span class="mq-scaled mq-paren">|</span><span class="mq-matrix">'+s+'</span><span class="mq-scaled mq-paren">|</span>';break;case"\\Vmatrix":s='<span class="mq-scaled mq-paren">||</span><span class="mq-matrix">'+s+'</span><span class="mq-scaled mq-paren">||</span>';break;default:s='<span class="mq-matrix">'+s+"</span>"}e.init.call(this,this.ctrlSeq,'<span class="mq-matrix-outer mq-non-leaf">'+s+"</span>",["text"])},t.reflow=function(){var t=this.jQ.children(".mq-paren"),e=this.jQ.children(".mq-matrix").first(),n=e.outerHeight()/(1.133333*parseInt(e.css("fontSize"),10));V(t,qe(1+.2*(n-1),1.2),1.05*n),t.css("position","relative"),t.css("top",Math.round(.6*n)+"px")},t.contextMenu=function(t,e){var n=this,i=[{text:"Insert Column Before",handler:function(){n.insertColumn(t,Ce)}},{text:"Insert Column After",handler:function(){n.insertColumn(t,je)}},{text:"Insert Row Before",handler:function(){n.insertRow(t,Ce)}},{text:"Insert Row After",handler:function(){n.insertRow(t,je)}}];this.col>1&&i.push({text:"Delete Column",handler:function(){n.deleteColumn(t)}}),this.row>1&&i.push({text:"Delete Row",handler:function(){n.deleteRow(t)}}),this.showPopupMenu(i,e)},t.latex=function(){var t="",e=1,n=this.col,i=this.numBlocks(),s=this.ctrlSeq.substring(1,this.ctrlSeq.length);return this.eachChild(function(s){s.ends[Ce]&&(t+=s.latex()),e!=i&&(t+=e%n==0?" \\\\ ":" & "),e++}),"\\begin{"+s+"}"+t+"\\end{"+s+"}"},t.text=function(t){var e,n,i=[];for(this.eachChild(function(e){i.push(e.ends[Ce]?e.text(t):0)}),e="",n=0;n<i.length;n++)n>0&&n%this.col==0?e+="],[":n>0&&(e+=","),e+=i[n];return this.row>1?"[["+e+"]]":"["+e+"]"},t.parser=function(){{var t=(k.block,q.string,q.regex);q.optWhitespace}return t(/^\{[pbvBV]?matrix\}[\s\S]*?\\end\{[pbvBV]?matrix\}/).map(function(t){var e,n,i,s,r,o,a,l,c;for("}"==t.substring(7,1)?(e=t.substring(1,7),t=t.substring(8,t.length-12).trim()):(e=t.substring(1,8),t=t.substring(9,t.length-13).trim()),n=t.split(/\\\\/).map(function(t){return t.trim()}),i=n.length,s=0,r=[],n.forEach(function(t){var e=t.split(/&/);s=Math.max(s,e.length),r=r.concat(e)}),o=ue("\\"+e,s,i),a=o.blocks=Array(o.numBlocks()),l=0;l<a.length;l++)c=a[l]=k.parse(r[l]),c.adopt(o,o.ends[je],0);return o})},t.finalizeTree=function(){var t,e,n;for(t=0;t<this.row;t++)for(e=0;e<this.col;e++)n=this.blocks[t*this.col+e],n.upOutOf=0==t&&0!=e?this.blocks[this.row*this.col-this.row+e-1]:this.blocks[(t-1)*this.col+e],n.downOutOf=t+1==this.row&&e+1!=this.col?this.blocks[e+1]:this.blocks[(t+1)*this.col+e]},t.cursorRowCol=function(t){for(var e=0,n=0,i=t.parent;0!==i[Ce];)e++,e==this.col&&(e=0,n++),i=i[Ce];return{row:n,col:e}},t.deleteRow=function(t){var e,n,i;if(1!=this.row){for(e=this.cursorRowCol(t),n=e.row*this.col,i=0;i<this.col;i++)this.blocks[n].remove(),this.blocks.splice(n,1);n>0&&n<this.blocks.length?(this.blocks[n][Ce]=this.blocks[n-1],this.blocks[n-1][je]=this.blocks[n]):0==n?this.blocks[n][Ce]=0:this.blocks[n-1][je]=0,this.jQ.children(".mq-matrix").first().children(".mq-row").eq(e.row).remove(),this.row--,this.finalizeTree(),t.insAtLeftEnd(this.blocks[e.row>0?(e.row-1)*this.col+e.col:e.col]),this.reflow(),this.bubble("workingGroupChange")}},t.deleteColumn=function(t){var e,n,i;if(1!=this.col){for(e=this.cursorRowCol(t),n=e.col,i=0;i<this.row;i++)this.blocks[n].remove(),this.blocks.splice(n,1),n>0&&n<this.blocks.length?(this.blocks[n][Ce]=this.blocks[n-1],this.blocks[n-1][je]=this.blocks[n]):0==n?this.blocks[n][Ce]=0:this.blocks[n-1][je]=0,n+=this.col-1;this.col--,this.finalizeTree(),t.insAtLeftEnd(this.blocks[e.col<this.col?e.row*this.col+e.col:e.row*this.col+e.col-1]),this.reflow(),this.bubble("workingGroupChange")}},t.insertRow=function(t,e){var n,i,s,r,o=this.cursorRowCol(t);for(n="undefined"==typeof e?0===t[Ce]&&0!==t[je]:e==Ce?!0:!1,i=o.row*this.col+(n?0:this.col),n?this.jQ.children(".mq-matrix").first().children(".mq-row").eq(o.row).before('<span class="mq-row"></span>'):this.jQ.children(".mq-matrix").first().children(".mq-row").eq(o.row).after('<span class="mq-row"></span>'),s=0;s<this.col;s++)r=S(),r.adopt(this,i+s>0?this.blocks[i+s-1]:0,i+s>0?this.blocks[i+s-1][je]:this.ends[Ce]),r.jQ=Qe('<span class="mq-cell mq-empty" '+we+'="'+r.id+'"></span>'),i+s>0&&(this.blocks[i+s-1][je]=r),this.blocks.splice(i+s,0,r),this.jQ.children(".mq-matrix").first().children(".mq-row").eq(o.row+(n?0:1)).append(r.jQ);i+s<this.blocks.length&&(this.blocks[i+s][Ce]=r,r[je]=this.blocks[i+s]),this.row++,this.finalizeTree(),t.insAtLeftEnd(this.blocks[i]),this.reflow(),this.bubble("workingGroupChange")},t.insertColumn=function(t,e){var n,i,s,r=this.cursorRowCol(t);for(n="undefined"==typeof e?0===t[Ce]&&0!==t[je]:e==Ce?!0:!1,i=this.row-1;i>=0;i--)s=S(),n?(s.adopt(this,i*this.col+r.col-1>=0?this.blocks[i*this.col+r.col-1]:0,this.blocks[i*this.col+r.col]),s.jQ=Qe('<span class="mq-cell mq-empty" '+we+'="'+s.id+'"></span>'),i*this.col+r.col-1>=0&&(this.blocks[i*this.col+r.col-1][je]=s),this.blocks[i*this.col+r.col][Ce]=s,this.blocks.splice(i*this.col+r.col,0,s),this.jQ.children(".mq-matrix").first().children(".mq-row").eq(i).children(".mq-cell").eq(r.col).before(s.jQ)):(s.adopt(this,this.blocks[i*this.col+r.col],i*this.col+r.col+1<this.row*this.col?this.blocks[i*this.col+r.col+1]:0),s.jQ=Qe('<span class="mq-cell mq-empty" '+we+'="'+s.id+'"></span>'),this.blocks[i*this.col+r.col][je]=s,i*this.col+r.col+1<this.row*this.col&&(this.blocks[i*this.col+r.col+1][Ce]=s),this.blocks.splice(i*this.col+r.col+1,0,s),this.jQ.children(".mq-matrix").first().children(".mq-row").eq(i).children(".mq-cell").eq(r.col).after(s.jQ));this.col++,this.finalizeTree(),t.insAtLeftEnd(t.parent[n?Ce:je]),this.reflow(),this.bubble("workingGroupChange")},t.moveOrInsertColumn=function(t){var e=this.cursorRowCol(t);return e.col+1==this.col?this.insertColumn(t):(t.insAtLeftEnd(t.parent[je]),void this.bubble("workingGroupChange"))}}),De.matrix=i(ue,"\\matrix",1,1),De.bmatrix=i(ue,"\\bmatrix",1,1),De.Bmatrix=i(ue,"\\Bmatrix",1,1),De.vmatrix=i(ue,"\\vmatrix",1,1),De.Vmatrix=i(ue,"\\Vmatrix",1,1),De.pmatrix=i(ue,"\\pmatrix",1,1),pe=ye(ye(y,p),function(e,n){e.init=function(t,e,i,s,r){n.init.call(this,"\\left"+s,d,[e,i]),this.side=t,this.sides={},this.sides[Ce]={ch:e,ctrlSeq:s},this.sides[je]={ch:i,ctrlSeq:r}},e.numBlocks=function(){return 1},e.html=function(){return this.htmlTemplate='<span class="mq-non-leaf"><span class="mq-scaled mq-paren'+(this.side===je?" mq-ghost":"")+'">'+this.sides[Ce].ch+'</span><span class="mq-non-leaf">&0</span><span class="mq-scaled mq-paren'+(this.side===Ce?" mq-ghost":"")+'">'+this.sides[je].ch+"</span></span>",n.html.call(this)},e.latex=function(){return"\\left"+this.sides[Ce].ctrlSeq+this.ends[Ce].latex()+"\\right"+this.sides[je].ctrlSeq},e.oppBrack=function(t,e){return t instanceof pe&&t.side&&t.side!==-e&&("|"===this.sides[this.side].ch||t.side===-this.side)&&t},e.closeOpposing=function(t){t.side=0,t.sides[this.side]=this.sides[this.side],t.delimjQs.eq(this.side===Ce?0:1).removeClass("mq-ghost").html(this.sides[this.side].ch)},e.createLeftOf=function(t){var e,i,s,r,o,a;if(!this.replacedFragment&&(e=this.oppBrack(t[Ce],Ce)||this.oppBrack(t[je],je)||this.oppBrack(t.parent.parent),!e&&t.options.enableMatrixShortcuts&&"\\left["===this.ctrlSeq&&0===t[Ce]&&0===t[je]&&"undefined"!=typeof t.parent.parent&&t.parent.parent.ctrlSeq===this.ctrlSeq)){if(i=t.parent.parent[Ce],s=t.parent.parent.parent,t.parent.parent.unwrap(),0!==i?t.insRightOf(i):t.insAtLeftEnd(s),t.options.autoOnBrackets)for(r=t[Ce];r instanceof I;)r.jQ.hasClass("mq-operator-name")&&r.italicize(!0),r.ctrlSeq=r.ctrlSeq.replace("\\","").replace("operatorname{","").replace("}","").trim(),r=r[Ce];return o=ue("\\bmatrix",1,1),void o.createLeftOf(t)}e?(a=this.side=-e.side,this.closeOpposing(e),e===t.parent.parent&&t[a]&&(Ae(t[a],t.parent.ends[a],-a).disown().withDirAdopt(-a,e.parent,e,e[a]).jQ.insDirOf(a,e.jQ),e.bubble("reflow"))):(e=this,a=e.side,e.replacedFragment?e.side=0:t[-a]&&(e.replaces(Ae(t[-a],t.parent.ends[-a],a)),t[-a]=0),n.createLeftOf.call(e,t)),a===Ce?t.insAtLeftEnd(e.ends[Ce]):t.insRightOf(e),t.parent.bubble("workingGroupChange")},e.placeCursor=t,e.unwrap=function(){this.ends[Ce].children().disown().adopt(this.parent,this,this[je]).jQ.insertAfter(this.jQ),this.remove()},e.deleteSide=function(t,e,n){var i,s=this.parent,r=this[t],o=s.ends[t];return t===this.side?(this.unwrap(),void(r?n.insDirOf(-t,r):n.insAtDirEnd(t,s))):(this.side=-t,void(this.oppBrack(this.ends[Ce].ends[this.side],t)?(this.closeOpposing(this.ends[Ce].ends[this.side]),i=this.ends[Ce].ends[t],this.unwrap(),i.siblingCreated&&i.siblingCreated(n.options,t),r?n.insDirOf(-t,r):n.insAtDirEnd(t,s)):(this.oppBrack(this.parent.parent,t)?(this.parent.parent.closeOpposing(this),this.parent.parent.unwrap()):(this.sides[t]={ch:fe[this.sides[this.side].ch],ctrlSeq:fe[this.sides[this.side].ctrlSeq]},this.delimjQs.removeClass("mq-ghost").eq(t===Ce?0:1).addClass("mq-ghost").html(this.sides[t].ch)),r?(i=this.ends[Ce].ends[t],Ae(r,o,-t).disown().withDirAdopt(-t,this.ends[Ce],i,0).jQ.insAtDirEnd(t,this.ends[Ce].jQ.removeClass("mq-empty")),i.siblingCreated&&i.siblingCreated(n.options,t),n.insDirOf(-t,r)):e?n.insDirOf(t,this):n.insAtDirEnd(t,this.ends[Ce]))))},e.deleteTowards=function(t,e){this.deleteSide(-t,!1,e)},e.finalizeTree=function(t){this.ends[Ce].deleteOutOf=function(t,e){this.parent.deleteSide(t,!0,e)},t.autoOnBrackets&&this[Ce]instanceof I&&this[Ce].autoUnItalicize(t,"\\left["!==this.ctrlSeq),this.finalizeTree=this.intentionalBlur=function(){this.delimjQs.eq(this.side===Ce?1:0).removeClass("mq-ghost"),this.side=0}},e.siblingCreated=function(t,e){e===-this.side&&this.finalizeTree()}}),fe={"(":")",")":"(","[":"]","]":"[","{":"}","}":"{","\\{":"\\}","\\}":"\\{","&lang;":"&rang;","&rang;":"&lang;","\\langle ":"\\rangle ","\\rangle ":"\\langle ","|":"|"},f("("),f("["),f("{","\\{"),De.langle=i(pe,Ce,"&lang;","&rang;","\\langle ","\\rangle "),De.rangle=i(pe,je,"&lang;","&rang;","\\langle ","\\rangle "),_e["|"]=i(pe,Ce,"|","|","|","|"),De.left=ye(y,function(t){t.parser=function(){var t=q.regex,e=q.string,n=(q.succeed,q.optWhitespace);return n.then(t(/^(?:[([|]|\\\{)/)).then(function(i){var s="\\"===i.charAt(0)?i.slice(1):i;return k.then(function(r){return e("\\right").skip(n).then(t(/^(?:[\])|]|\\\})/)).map(function(t){var e="\\"===t.charAt(0)?t.slice(1):t,n=pe(0,s,e,i,t);return n.blocks=[r],r.adopt(n,0,0),n})})})}}),De.right=ye(y,function(t){t.parser=function(){return q.fail("unmatched \\right")}}),de=De.binom=De.binomial=ye(ye(y,p),function(t){t.ctrlSeq="\\binom",t.htmlTemplate='<span class="mq-non-leaf"><span class="mq-paren mq-scaled">(</span><span class="mq-non-leaf"><span class="mq-array mq-non-leaf"><span>&0</span><span>&1</span></span></span><span class="mq-paren mq-scaled">)</span></span>',t.textTemplate=["choose(",",",")"]}),me=De.choose=ye(de,function(t){t.createLeftOf=ae.prototype.createLeftOf}),ge=ye(a.MathField,function(t){t.init=function(t,e){c(t),this.__options=g();var n=Re(this,t,e);n.editable=!0,n.createTextarea(),n.editablesTextareaEvents(),n.cursor.insAtRightEnd(t)}}),De.MathQuillMathField=ye(y,function(t,e){t.ctrlSeq="\\MathQuillMathField",t.htmlTemplate='<span class="mq-editable-field"><span class="mq-root-block">&0</span></span>',t.parser=function(){var t=this,n=q.string,i=q.regex,s=q.succeed;return n("[").then(i(/^[a-z][a-z0-9]*/i)).skip(n("]")).map(function(e){t.name=e}).or(s()).then(e.parser.call(t))},t.finalizeTree=function(){ge(this.ends[Ce],this.jQ)},t.registerInnerField=function(t){t.push(t[this.name]=this.ends[Ce].controller.API)},t.latex=function(){return this.ends[Ce].latex()},t.text=function(t){return this.ends[Ce].text(t)}})}(); +!function(){function t(){}function e(t){var e=t.length-1;return function(){var n=ye.call(arguments,0,e),i=ye.call(arguments,e);return t.apply(this,n.concat([i]))}}function n(t){return e(function(e,n){"function"!=typeof e&&(e=Ce(e));var i=function(t){return e.apply(t,[t].concat(n))};return t.call(this,i)})}function i(t){var e=ye.call(arguments,1);return function(){return t.apply(this,e)}}function s(t,e){if(!e)throw new Error("prayer failed: "+t)}function r(t){s("a direction was passed",t===Se||t===Qe)}function o(t,e,n){s("a parent is always present",t),s("leftward is properly set up",function(){return e?e[Qe]===n&&e.parent===t:t.ends[Se]===n}()),s("rightward is properly set up",function(){return n?n[Se]===e&&n.parent===t:t.ends[Qe]===e}())}function a(t){if(!t||!t.nodeType)return null;var e=Te(t).children(".mq-root-block").attr(xe);return e?De.byId[e].controller.API:null}function l(t){function e(e,n){var i=a(e);return i instanceof t||!e||!e.nodeType?i:t(Te(e),n)}return e.prototype=t.prototype,e}function c(t){var e,n="workingGroupChange moveOutOf deleteOutOf selectOutOf upOutOf downOutOf reflow".split(" ");for(e=0;e<n.length;e+=1)(function(e){t[e]=function(t){this.controller.handle(e,t)}})(n[e])}function h(t,e,n){return je(A,{ctrlSeq:t,htmlTemplate:"<"+e+" "+n+">&0</"+e+">"})}function u(t){var e=this.parent,n=t;do{if(n[Qe])return t.insLeftOf(e);n=n.parent.parent}while(n!==e);t.insRightOf(e)}function p(t,e){t.jQadd=function(){e.jQadd.apply(this,arguments),this.delimjQs=this.jQ.children(":first").add(this.jQ.children(":last")),this.contentjQ=this.jQ.children(":eq(1)")},t.reflow=function(){var t=this.contentjQ.outerHeight()/parseInt(this.contentjQ.css("fontSize"),10);Z(this.delimjQs,ke(1+.2*(t-1),1.2),1.05*t)}}function f(t,e){var e=e||t,n=me[t],s=me[e];Ee[t]=i(de,Se,t,n,e,s),Ee[n]=i(de,Qe,t,n,e,s)}var d,m,g,b,v,q,w,x,k,O,y,C,j,S,Q,T,A,D,_,L,E,R,I,z,B,P,M,F,$,N,G,U,W,H,V,X,Z,K,Y,J,te,ee,ne,ie,se,re,oe,ae,le,ce,he,ue,pe,fe,de,me,ge,be,ve,qe=window.jQuery,we="mathquill-command-id",xe="mathquill-block-id",ke=Math.min,Oe=Math.max,ye=[].slice,Ce=e(function(t,n){return e(function(e,i){return t in e?e[t].apply(e,n.concat(i)):void 0})}),je=function(t,e,n){function i(t){return"object"==typeof t}function s(t){return"function"==typeof t}function r(){}return function o(a,l){function c(){var t=new h;return s(t.init)&&t.init.apply(t,arguments),t}function h(){}var u,p,f;return l===n&&(l=a,a=Object),c.Bare=h,u=r[t]=a[t],p=h[t]=c[t]=c.p=new r,p.constructor=c,c.mixin=function(e){return h[t]=c[t]=o(c,e)[t],c},(c.open=function(t){if(f={},s(t)?f=t.call(c,p,u,c,a):i(t)&&(f=t),i(f))for(var n in f)e.call(f,n)&&(p[n]=f[n]);return s(p.init)||(p.init=a),c})(l)}}("prototype",{}.hasOwnProperty),Se=a.L=-1,Qe=a.R=1,Te=je(qe,function(t){t.insDirOf=function(t,e){return t===Se?this.insertBefore(e.first()):this.insertAfter(e.last())},t.insAtDirEnd=function(t,e){return t===Se?this.prependTo(e):this.appendTo(e)}}),Ae=je(function(t){t.parent=0,t[Se]=0,t[Qe]=0,t.init=function(t,e,n){this.parent=t,this[Se]=e,this[Qe]=n},this.copy=function(t){return Ae(t.parent,t[Se],t[Qe])}}),De=je(function(t){function e(){return i+=1}t[Se]=0,t[Qe]=0,t.parent=0;var i=0;this.byId={},t.init=function(){this.id=e(),De.byId[this.id]=this,this.ends={},this.ends[Se]=0,this.ends[Qe]=0},t.dispose=function(){delete De.byId[this.id]},t.toString=function(){return"{{ MathQuill Node #"+this.id+" }}"},t.jQ=Te(),t.jQadd=function(t){return this.jQ=this.jQ.add(t)},t.jQize=function(t){function e(t){var n,i;for(t.getAttribute&&(n=t.getAttribute("mathquill-command-id"),i=t.getAttribute("mathquill-block-id"),n&&De.byId[n].jQadd(t),i&&De.byId[i].jQadd(t)),t=t.firstChild;t;t=t.nextSibling)e(t)}var n;for(t=Te(t||this.html()),n=0;n<t.length;n+=1)e(t[n]);return t},t.createDir=function(t,e){r(t);var n=this;return n.jQize(),n.jQ.insDirOf(t,e.jQ),e[t]=n.adopt(e.parent,e[Se],e[Qe]),n},t.createLeftOf=function(t){return this.createDir(Se,t)},t.selectChildren=function(t,e){return Ie(t,e)},t.bubble=n(function(t){var e,n;for(e=this;e&&(n=t(e),n!==!1);e=e.parent);return this}),t.postOrder=n(function(t){return function e(n){n.eachChild(e),t(n)}(this),this}),t.isEmpty=function(){return 0===this.ends[Se]&&0===this.ends[Qe]},t.children=function(){return _e(this.ends[Se],this.ends[Qe])},t.eachChild=function(){var t=this.children();return t.each.apply(t,arguments),this},t.foldChildren=function(t,e){return this.children().fold(t,e)},t.withDirAdopt=function(t,e,n,i){return _e(this,this).withDirAdopt(t,e,n,i),this},t.adopt=function(t,e,n){return _e(this,this).adopt(t,e,n),this},t.disown=function(){return _e(this,this).disown(),this},t.remove=function(){return this.jQ.remove(),this.postOrder("dispose"),this.disown()}}),_e=je(function(t){t.init=function(t,e,n){n===d&&(n=Se),r(n),s("no half-empty fragments",!t==!e),this.ends={},t&&(s("withDir is passed to Fragment",t instanceof De),s("oppDir is passed to Fragment",e instanceof De),s("withDir and oppDir have the same parent",t.parent===e.parent),this.ends[n]=t,this.ends[-n]=e,this.jQ=this.fold(this.jQ,function(t,e){return t.add(e.jQ)}))},t.jQ=Te(),t.withDirAdopt=function(t,e,n,i){return t===Se?this.adopt(e,n,i):this.adopt(e,i,n)},t.adopt=function(t,e,n){var i,s,r;return o(t,e,n),i=this,i.disowned=!1,(s=i.ends[Se])?(r=i.ends[Qe],e||(t.ends[Se]=s),n?n[Se]=r:t.ends[Qe]=r,i.ends[Qe][Qe]=n,i.each(function(n){n[Se]=e,n.parent=t,e&&(e[Qe]=n),e=n}),i):this},t.disown=function(){var t,e,n=this,i=n.ends[Se];return!i||n.disowned?n:(n.disowned=!0,t=n.ends[Qe],e=i.parent,o(e,i[Se],i),o(e,t,t[Qe]),i[Se]?i[Se][Qe]=t[Qe]:e.ends[Se]=t[Qe],t[Qe]?t[Qe][Se]=i[Se]:e.ends[Qe]=i[Se],n)},t.remove=function(){return this.jQ.remove(),this.each("postOrder","dispose"),this.disown()},t.each=n(function(t){var e,n=this,i=n.ends[Se];if(!i)return n;for(;i!==n.ends[Qe][Qe]&&(e=t(i),e!==!1);i=i[Qe]);return n}),t.fold=function(t,e){return this.each(function(n){t=e.call(this,t,n)}),t}}),Le={},Ee={},Re=je(Ae,function(t){t.init=function(t,e){this.parent=t,this.options=e;var n=this.jQ=this._jQ=Te('<span class="mq-cursor">&zwj;</span>');this.blink=function(){n.toggleClass("mq-blink")},this.upDownCache={}},t.show=function(){return this.jQ=this._jQ.removeClass("mq-blink"),"intervalId"in this?clearInterval(this.intervalId):(this[Qe]?this.jQ.insertBefore(this.selection&&this.selection.ends[Se][Se]===this[Se]?this.selection.jQ:this[Qe].jQ.first()):this.jQ.appendTo(this.parent.jQ),this.parent.focus()),this.intervalId=setInterval(this.blink,500),this},t.hide=function(){return"intervalId"in this&&clearInterval(this.intervalId),delete this.intervalId,this.jQ.detach(),this.jQ=Te(),this},t.withDirInsertAt=function(t,e,n,i){e!==this.parent&&this.parent.blur&&this.parent.blur(),this.parent=e,this[t]=n,this[-t]=i},t.insDirOf=function(t,e){return r(t),this.withDirInsertAt(t,e.parent,e[t],e),this.parent.jQ.addClass("mq-hasCursor"),this.jQ.insDirOf(t,e.jQ),this},t.insLeftOf=function(t){return this.insDirOf(Se,t)},t.insRightOf=function(t){return this.insDirOf(Qe,t)},t.insAtDirEnd=function(t,e){return r(t),this.withDirInsertAt(t,e,0,e.ends[t]),this.jQ.insAtDirEnd(t,e.jQ),e.focus(),this},t.insAtLeftEnd=function(t){return this.insAtDirEnd(Se,t)},t.insAtRightEnd=function(t){return this.insAtDirEnd(Qe,t)},t.jumpUpDown=function(t,e){var n,i,s=this;s.upDownCache[t.id]=Ae.copy(s),n=s.upDownCache[e.id],n?n[Qe]?s.insLeftOf(n[Qe]):s.insAtRightEnd(n.parent):(i=s.offset().left,e.seek(i,s))},t.offset=function(){var t=this,e=t.jQ.removeClass("mq-cursor").offset();return t.jQ.addClass("mq-cursor"),e},t.unwrapGramp=function(){var t=this.parent.parent,e=t.parent,n=t[Qe],i=this,s=t[Se];if(t.disown().eachChild(function(i){i.isEmpty()||(i.children().adopt(e,s,n).each(function(e){e.jQ.insertBefore(t.jQ.first())}),s=i.ends[Qe])}),!this[Qe])if(this[Se])this[Qe]=this[Se][Qe];else for(;!this[Qe];){if(this.parent=this.parent[Qe],!this.parent){this[Qe]=t[Qe],this.parent=e;break}this[Qe]=this.parent.ends[Se]}this[Qe]?this.insLeftOf(this[Qe]):this.insAtRightEnd(e),t.jQ.remove(),t[Se].siblingDeleted&&t[Se].siblingDeleted(i.options,Qe),t[Qe].siblingDeleted&&t[Qe].siblingDeleted(i.options,Se)},t.startSelection=function(){var t,e=this.anticursor=Ae.copy(this),n=e.ancestors={};for(t=e;t.parent;t=t.parent)n[t.parent.id]=t},t.endSelection=function(){delete this.anticursor},t.select=function(){var t,e,n,i,r,o,a,l=this.anticursor;if(this[Se]===l[Se]&&this.parent===l.parent)return!1;for(t=this;t.parent;t=t.parent)if(t.parent.id in l.ancestors){e=t.parent;break}if(s("cursor and anticursor in the same tree",e),n=l.ancestors[e.id],o=Qe,t[Se]!==n)for(a=t;a;a=a[Qe])if(a[Qe]===n[Qe]){o=Se,i=t,r=n;break}return o===Qe&&(i=n,r=t),i instanceof Ae&&(i=i[Qe]),r instanceof Ae&&(r=r[Se]),this.hide().selection=e.selectChildren(i,r),this.insDirOf(o,this.selection.ends[o]),this.selectionChanged(),!0},t.clearSelection=function(){return this.selection&&(this.selection.clear(),delete this.selection,this.selectionChanged()),this},t.deleteSelection=function(){this.selection&&(this[Se]=this.selection.ends[Se][Se],this[Qe]=this.selection.ends[Qe][Qe],this.selection.remove(),this.selectionChanged(),delete this.selection)},t.replaceSelection=function(){var t=this.selection;return t&&(this[Se]=t.ends[Se][Se],this[Qe]=t.ends[Qe][Qe],delete this.selection),t}}),Ie=je(_e,function(t,e){t.init=function(){e.init.apply(this,arguments),this.jQ=this.jQ.wrapAll('<span class="mq-selection"></span>').parent()},t.adopt=function(){return this.jQ.replaceWith(this.jQ=this.jQ.children()),e.adopt.apply(this,arguments)},t.clear=function(){return this.jQ.replaceWith(this.jQ[0].childNodes),this},t.join=function(t){return this.fold("",function(e,n){return e+n[t]()})}}),ze=je(function(t){t.init=function(t,e,n){this.API=t,this.root=e,this.container=n,t.__controller=e.controller=this,this.cursor=e.cursor=Re(e,t.__options)},t.handle=function(t,e){var n=this.API.__options.handlers;n&&n[t]&&(e===Se||e===Qe?n[t](e,this.API):n[t](this.API))};var e=[];this.onNotify=function(t){e.push(t)},t.notify=function(){for(var t=0;t<e.length;t+=1)e[t].apply(this.cursor,arguments);return this}});a.noConflict=function(){return window.MathQuill=m,a},m=window.MathQuill,window.MathQuill=a,g=je(),b={},a.__options=g.p,v=je(function(t){t.init=function(){throw"wtf don't call me, I'm 'abstract'"},t.initRoot=function(t,e,n){var i,s;this.__options=g(),this.config(n),i=ze(this,t,e),i.createTextarea(),s=e.contents().detach(),t.jQ=Te('<span class="mq-root-block"/>').attr(xe,t.id).appendTo(e),this.latex(s.text()),this.revert=function(){return e.empty().unbind(".mathquill").removeClass("mq-editable-field mq-math-mode mq-text-mode").append(s)}},t.config=a.config=function(t){var e,n,i;for(e in t)t.hasOwnProperty(e)&&(n=t[e],i=b[e],this.__options[e]=i?i(n):n);return this},t.el=function(){return this.__controller.container[0]},t.text=function(){return this.__controller.exportText(this.__options)},t.latex=function(t){return arguments.length>0?(this.__controller.renderLatexMath(t),this.__controller.blurred&&this.__controller.cursor.hide().parent.blur(),this):this.__controller.exportLatex()},t.html=function(){return this.__controller.root.jQ.html().replace(/ mathquill-(?:command|block)-id="?\d+"?/g,"").replace(/<span class="?mq-cursor( mq-blink)?"?>.?<\/span>/i,"").replace(/ mq-hasCursor|mq-hasCursor ?/,"").replace(/ class=(""|(?= |>))/g,"")},t.reflow=function(){return this.__controller.root.postOrder("reflow"),this}}),a.prototype=v.prototype,a.StaticMath=l(je(v,function(t,e){t.init=function(t){this.initRoot(Q(),t.addClass("mq-math-mode")),this.__controller.delegateMouseEvents(),this.__controller.staticMathTextareaEvents()},t.latex=function(){var t=e.latex.apply(this,arguments);return arguments.length>0&&this.__controller.root.postOrder("registerInnerField",this.innerFields=[]),t}})),q=a.EditableField=je(v,function(e){e.initRootAndEvents=function(t,e,n){this.initRoot(t,e,n),this.__controller.editable=!0,this.__controller.delegateMouseEvents(),this.__controller.editablesTextareaEvents()},e.focus=function(){return this.__controller.textarea.focus(),this},e.blur=function(){return this.__controller.textarea.blur(),this},e.write=function(t){return this.__controller.writeLatex(t),this.__controller.blurred&&this.__controller.cursor.hide().parent.blur(),this},e.cmd=function(t){var e,n=this.__controller.notify(),i=n.cursor.show();return/^\\[a-z]+$/i.test(t)?(t=t.slice(1),e=Le[t],e&&(t=e(t),i.selection&&t.replaces(i.replaceSelection()),t.createLeftOf(i))):i.parent.write(i,t,i.replaceSelection()),n.blurred&&i.hide().parent.blur(),this},e.select=function(){var t=this.__controller;for(t.notify("move").cursor.insAtRightEnd(t.root);t.cursor[Se];)t.selectLeft();return this},e.clearSelection=function(){return this.__controller.cursor.clearSelection(),this},e.moveToDirEnd=function(t){return this.__controller.notify("move").cursor.insAtDirEnd(t,this.__controller.root),this},e.moveToLeftEnd=function(){return this.moveToDirEnd(Se)},e.moveToRightEnd=function(){return this.moveToDirEnd(Qe)},e.keystroke=function(e){var n;for(e=e.replace(/^\s+|\s+$/g,"").split(/\s+/),n=0;n<e.length;n+=1)this.__controller.keystroke(e[n],{preventDefault:t});return this},e.typedText=function(t){for(var e=0;e<t.length;e+=1)this.__controller.typedText(t.charAt(e));return this}}),w=je(function(t,e,n){function i(t,e){throw t=t?"'"+t+"'":"EOF","Parse Error: "+e+" at "+t}var r,o,a,l,c,h,u,p,f,d,m,g,b;t.init=function(t){this._=t},t.parse=function(t){function e(t,e){return e}return this.skip(b)._(t,e,i)},t.or=function(t){s("or is passed a parser",t instanceof n);var e=this;return n(function(n,i,s){function r(){return t._(n,i,s)}return e._(n,i,r)})},t.then=function(t){var e=this;return n(function(i,r,o){function a(e,i){var a=t instanceof n?t:t(i);return s("a parser is returned",a instanceof n),a._(e,r,o)}return e._(i,a,o)})},t.many=function(){var t=this;return n(function(e,n){function i(t,n){return e=t,r.push(n),!0}function s(){return!1}for(var r=[];t._(e,i,s););return n(e,r)})},t.times=function(t,e){arguments.length<2&&(e=t);var i=this;return n(function(n,s,r){function o(t,e){return u.push(e),n=t,!0}function a(t,e){return c=e,n=t,!1}function l(){return!1}var c,h,u=[],p=!0;for(h=0;t>h;h+=1)if(p=i._(n,o,a),!p)return r(n,c);for(;e>h&&p;h+=1)p=i._(n,o,l);return s(n,u)})},t.result=function(t){return this.then(a(t))},t.atMost=function(t){return this.times(0,t)},t.atLeast=function(t){var e=this;return e.times(t).then(function(t){return e.many().map(function(e){return t.concat(e)})})},t.map=function(t){return this.then(function(e){return a(t(e))})},t.skip=function(t){return this.then(function(e){return t.result(e)})},r=this.string=function(t){var e=t.length,i="expected '"+t+"'";return n(function(n,s,r){var o=n.slice(0,e);return o===t?s(n.slice(e),o):r(n,i)})},o=this.regex=function(t){s("regexp parser is anchored","^"===t.toString().charAt(1));var e="expected "+t;return n(function(n,i,s){var r,o=t.exec(n);return o?(r=o[0],i(n.slice(r.length),r)):s(n,e)})},a=n.succeed=function(t){return n(function(e,n){return n(e,t)})},l=n.fail=function(t){return n(function(e,n,i){return i(e,t)})},c=n.letter=o(/^[a-z]/i),h=n.letters=o(/^[a-z]*/i),u=n.digit=o(/^[0-9]/),p=n.digits=o(/^[0-9]*/),f=n.whitespace=o(/^\s+/),d=n.optWhitespace=o(/^\s*/),m=n.any=n(function(t,e,n){return t?e(t.slice(1),t.charAt(0)):n(t,"expected any character")}),g=n.all=n(function(t,e){return e("",t)}),b=n.eof=n(function(t,e,n){return t?n(t,"expected EOF"):e(t,t)})}),x=function(){function e(t){var e,i=t.which||t.keyCode,s=n[i],r=[];return t.ctrlKey&&r.push("Ctrl"),t.originalEvent&&t.originalEvent.metaKey&&r.push("Meta"),t.altKey&&r.push("Alt"),t.shiftKey&&r.push("Shift"),e=s||String.fromCharCode(i),r.length||s?(r.push(e),r.join("-")):e}var n={8:"Backspace",9:"Tab",10:"Enter",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Esc",32:"Spacebar",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",45:"Insert",46:"Del",144:"NumLock"};return function(n,i){function s(t){w=t,clearTimeout(d),d=setTimeout(t)}function r(e){w(),w=t,clearTimeout(d),v.val(e),e&&v[0].select(),m=!!e}function o(){var t=v[0];return"selectionStart"in t?t.selectionStart!==t.selectionEnd:!1}function a(){i.keystroke(e(g),g)}function l(e){g=e,b=null,a(),m&&s(function(){v[0].select(),w=t,clearTimeout(d)})}function c(t){g&&b&&a(),b=t,s(h)}function h(){if(!o()){var t=v.val();1===t.length?(v.val(""),i.typedText(t)):t&&v[0].select()}}function u(){g=b=null}function p(){v.focus(),s(f)}function f(){var t=v.val();v.val(""),t&&i.paste(t)}var d,m,g=null,b=null,v=qe(n),q=qe(i.container||v),w=t;return q.bind("keydown keypress input keyup focusout paste",function(){w()}),m=!1,q.bind({keydown:l,keypress:c,focusout:u,paste:p}),{select:r}}}(),ze.open(function(t){t.exportText=function(t){return this.root.foldChildren("",function(e,n){return e+n.text(t)}).replace(/\\operatorname\{(.*?)\}/g,"$1").replace(/\\/g,"").replace(/\* *\*/g,"*").replace(/ *_/g,"_").replace(/\* *$/,"")}}),ze.open(function(t){t.focusBlurEvents=function(){function t(){clearTimeout(n),r.selection&&r.selection.jQ.addClass("mq-blur"),e()}function e(){r.hide().parent.blur(),i.container.removeClass("mq-focused"),Te(window).off("blur",t)}var n,i=this,s=i.root,r=i.cursor;i.textarea.focus(function(){i.blurred=!1,clearTimeout(n),i.container.addClass("mq-focused"),r.parent||r.insAtRightEnd(s),r.selection?(r.selection.jQ.removeClass("mq-blur"),i.selectionChanged()):r.show()}).blur(function(){i.blurred=!0,n=setTimeout(function(){s.postOrder("intentionalBlur"),r.clearSelection(),e()}),Te(window).on("blur",t)}),i.blurred=!0,r.hide().parent.blur()}}),ze.open(function(t){t.keystroke=function(t,e){this.cursor.parent.keystroke(t,e,this)}}),De.open(function(t){t.keystroke=function(t,e,n){var i=n.cursor;switch(t){case"Ctrl-Shift-Backspace":case"Ctrl-Backspace":for(;i[Se]||i.selection;)n.backspace();break;case"Shift-Backspace":case"Backspace":n.backspace();break;case"Esc":case"Tab":return void n.escapeDir(Qe,t,e);case"Shift-Tab":case"Shift-Esc":return void n.escapeDir(Se,t,e);case"End":n.notify("move").cursor.insAtRightEnd(i.parent);break;case"Ctrl-End":n.notify("move").cursor.insAtRightEnd(n.root);break;case"Shift-End":for(;i[Qe];)n.selectRight();break;case"Ctrl-Shift-End":for(;i[Qe]||i.parent!==n.root;)n.selectRight();break;case"Home":n.notify("move").cursor.insAtLeftEnd(i.parent);break;case"Ctrl-Home":n.notify("move").cursor.insAtLeftEnd(n.root);break;case"Shift-Home":for(;i[Se];)n.selectLeft();break;case"Ctrl-Shift-Home":for(;i[Se]||i.parent!==n.root;)n.selectLeft();break;case"Left":n.moveLeft();break;case"Shift-Left":n.selectLeft();break;case"Ctrl-Left":break;case"Right":n.moveRight();break;case"Shift-Right":n.selectRight();break;case"Ctrl-Right":break;case"Up":n.moveUp();break;case"Down":n.moveDown();break;case"Shift-Up":if(i[Se])for(;i[Se];)n.selectLeft();else n.selectLeft();case"Shift-Down":if(i[Qe])for(;i[Qe];)n.selectRight();else n.selectRight();case"Ctrl-Up":break;case"Ctrl-Down":break;case"Ctrl-Shift-Del":case"Ctrl-Del":for(;i[Qe]||i.selection;)n.deleteForward();break;case"Shift-Del":case"Del":n.deleteForward();break;case"Meta-A":case"Ctrl-A":for(n.notify("move").cursor.insAtRightEnd(n.root);i[Se];)n.selectLeft();break;default:return}e.preventDefault(),n.scrollHoriz()},t.moveOutOf=t.moveTowards=t.deleteOutOf=t.deleteTowards=t.unselectInto=t.selectOutOf=t.selectTowards=function(){s("overridden or never called on this node")}}),ze.open(function(t){function e(t,e){var n=t.notify("upDown").cursor,i=e+"Into",s=e+"OutOf";return n[Qe][i]?n.insAtLeftEnd(n[Qe][i]):n[Se][i]?n.insAtRightEnd(n[Se][i]):n.parent.bubble(function(t){var e=t[s];return e&&("function"==typeof e&&(e=t[s](n)),e instanceof De&&n.jumpUpDown(t,e),e!==!0)?!1:void 0}),n.parent.bubble("workingGroupChange"),t}this.onNotify(function(t){("move"===t||"upDown"===t)&&this.show().clearSelection()}),t.escapeDir=function(t,e,n){r(t);var i=this.cursor;return i.parent!==this.root&&n.preventDefault(),i.parent!==this.root?(i.parent.moveOutOf(t,i),i.parent.bubble("workingGroupChange"),this.notify("move")):void 0},b.leftRightIntoCmdGoes=function(t){if(t&&"up"!==t&&"down"!==t)throw'"up" or "down" required for leftRightIntoCmdGoes option, got "'+t+'"';return t},t.moveDir=function(t){r(t);var e=this.cursor,n=e.options.leftRightIntoCmdGoes;return e.selection?e.insDirOf(t,e.selection.ends[t]):e[t]?e[t].moveTowards(t,e,n):e.parent.moveOutOf(t,e,n),e.parent.bubble("workingGroupChange"),this.notify("move")},t.moveLeft=function(){return this.moveDir(Se)},t.moveRight=function(){return this.moveDir(Qe)},t.moveUp=function(){return e(this,"up")},t.moveDown=function(){return e(this,"down")},this.onNotify(function(t){"upDown"!==t&&(this.upDownCache={})}),this.onNotify(function(t){"edit"===t&&this.show().deleteSelection()}),t.deleteDir=function(t){var e,n;return r(t),e=this.cursor,n=e.selection,this.notify("edit"),n||(e[t]?e[t].deleteTowards(t,e):e.parent.deleteOutOf(t,e)),e[Se].siblingDeleted&&e[Se].siblingDeleted(e.options,Qe),e[Qe].siblingDeleted&&e[Qe].siblingDeleted(e.options,Se),e.parent.bubble("reflow"),e.parent.bubble("workingGroupChange"),this},t.backspace=function(){return this.deleteDir(Se)},t.deleteForward=function(){return this.deleteDir(Qe)},this.onNotify(function(t){"select"!==t&&this.endSelection()}),t.selectDir=function(t){var e,n=this.notify("select").cursor,i=n.selection;r(t),n.anticursor||n.startSelection(),e=n[t],e?i&&i.ends[t]===e&&n.anticursor[-t]!==e?e.unselectInto(t,n):e.selectTowards(t,n):n.parent.selectOutOf(t,n),n.clearSelection(),n.select()||n.show()},t.selectLeft=function(){return this.selectDir(Se)},t.selectRight=function(){return this.selectDir(Qe)}}),k=function(){function t(t){var e=Q();return t.adopt(e,0,0),e}function e(t){var e,n=t[0]||Q();for(e=1;e<t.length;e+=1)t[e].children().adopt(n,n.ends[Qe],0);return n}var n=w.string,i=w.regex,s=w.letter,r=w.any,o=w.optWhitespace,a=w.succeed,l=w.fail,c=s.map(function(t){return I(t)}),h=i(/^[^${}\\_^]/).map(function(t){return j(t)}),u=i(/^[^\\a-eg-zA-Z]/).or(n("\\").then(i(/^[a-z]+/i).or(i(/^\s+/).result(" ")).or(r))).then(function(t){var e=Le[t];return e?e(t).parser():l("unknown command: \\"+t)}),p=u.or(c).or(h),f=n("{").then(function(){return m}).skip(n("}")),d=o.then(f.or(p.map(t))),m=d.many().map(e).skip(o),g=n("[").then(d.then(function(t){return"]"!==t.join("latex")?a(t):l()}).many().map(e).skip(o)).skip(n("]")),b=m;return b.block=d,b.optBlock=g,b}(),ze.open(function(t){t.exportLatex=function(){return this.root.latex().replace(/(\\[a-z]+) (?![a-z])/gi,"$1")},t.writeLatex=function(t){var e,n=this.notify("edit").cursor,i=w.all,s=w.eof,r=k.skip(s).or(i.result(!1)).parse(t);return r&&!r.isEmpty()&&(r.children().adopt(n.parent,n[Se],n[Qe]),e=r.jQize(),e.insertBefore(n.jQ),n[Se]=r.ends[Qe],r.finalizeInsert(n.options,n),r.ends[Qe][Qe].siblingCreated&&r.ends[Qe][Qe].siblingCreated(n.options,Se),r.ends[Se][Se].siblingCreated&&r.ends[Se][Se].siblingCreated(n.options,Qe),n.parent.bubble("reflow")),this},t.renderLatexMath=function(t){var e,n,i=this.root,s=this.cursor,r=w.all,o=w.eof,a=k.skip(o).or(r.result(!1)).parse(t);i.eachChild("postOrder","dispose"),i.ends[Se]=i.ends[Qe]=0,a&&a.children().adopt(i,0,0),e=i.jQ,a?(n=a.join("html"),e.html(n),i.jQize(e.children()),i.finalizeInsert(s.options)):e.empty(),delete s.selection,s.insAtRightEnd(i)},t.renderLatexText=function(t){var e,n,i,s,r,o,a,l,c,h,u=this.root,p=this.cursor;if(u.jQ.children().slice(1).remove(),u.eachChild("postOrder","dispose"),u.ends[Se]=u.ends[Qe]=0,delete p.selection,p.show().insAtRightEnd(u),e=w.regex,n=w.string,i=w.eof,s=w.all,r=n("$").then(k).skip(n("$").or(i)).map(function(t){var e,n=_(p);return n.createBlocks(),e=n.ends[Se],t.children().adopt(e,0,0),n}),o=n("\\$").result("$"),a=o.or(e(/^[^$]/)).map(j),l=r.or(a).many(),c=l.skip(i).or(s.result(!1)).parse(t)){for(h=0;h<c.length;h+=1)c[h].adopt(u,u.ends[Qe],0);u.jQize().appendTo(u.jQ),u.finalizeInsert(p.options)}}}),ze.open(function(e){e.delegateMouseEvents=function(){var e=this.root.jQ;this.container.bind("contextmenu.mathquill",function(t){for(var n=Te(t.target).closest(".mq-root-block"),i=De.byId[n.attr(xe)||e.attr(xe)],s=i.controller,r=s.cursor,o=s.seek(Te(t.target),t.pageX,t.pageY).cursor.parent;!(o instanceof y);)if(o=o.parent,"undefined"==typeof o){o=i;break}return o.contextMenu(r,t),t.preventDefault(),!1}),this.container.bind("mousedown.mathquill",function(n){function i(t){o=Te(t.target)}function s(t){h.anticursor||h.startSelection(),c.seek(o,t.pageX,t.pageY).cursor.select(),o=d}function r(t){h.blink=u,h.selection||(c.editable?h.show():p.detach()),a.unbind("mousemove",i),Te(t.target.ownerDocument).unbind("mousemove",s).unbind("mouseup",r)}var o,a=Te(n.target).closest(".mq-root-block"),l=De.byId[a.attr(xe)||e.attr(xe)],c=l.controller,h=c.cursor,u=h.blink,p=c.textareaSpan,f=c.textarea;c.blurred&&(c.editable||a.prepend(p),f.focus()),n.preventDefault(),n.target.unselectable=!0,h.blink=t,c.seek(Te(n.target),n.pageX,n.pageY).cursor.startSelection(),a.mousemove(i),Te(n.target.ownerDocument).mousemove(s).mouseup(r)})}}),ze.open(function(t){t.seek=function(t,e){var n,i,r,o=this.notify("select").cursor;return t&&(n=t.attr(xe)||t.attr(we),n||(i=t.parent(),n=i.attr(xe)||i.attr(we))),r=n?De.byId[n]:this.root,s("nodeId is the id of some Node that exists",r),o.clearSelection().show(),r.seek(e,o),this.scrollHoriz(),o.parent.bubble("workingGroupChange"),this}}),ze.open(function(t){t.scrollHoriz=function(){var t,e,n,i,s,r=this.cursor,o=r.selection,a=this.root.jQ[0].getBoundingClientRect();if(o)if(n=o.jQ[0].getBoundingClientRect(),i=n.left-(a.left+20),s=n.right-(a.right-20),o.ends[Se]===r[Qe])if(0>i)e=i;else{if(!(s>0))return;e=n.left-s<a.left+20?i:s}else if(s>0)e=s;else{if(!(0>i))return;e=n.right-i>a.right-20?s:i}else if(t=r.jQ[0].getBoundingClientRect().left,t>a.right-20)e=t-(a.right-20);else{if(!(t<a.left+20))return;e=t-(a.left+20)}this.root.jQ.stop().animate({scrollLeft:"+="+e},100)}}),ze.open(function(t){g.p.substituteTextarea=function(){return Te("<textarea>")[0]},t.createTextarea=function(){var t,e=this.textareaSpan=Te('<span class="mq-textarea"></span>'),n=this.API.__options.substituteTextarea();if(!n.nodeType)throw"substituteTextarea() must return a DOM element, got "+n;n=this.textarea=Te(n).appendTo(e),t=this,t.cursor.selectionChanged=function(){t.selectionChanged()},t.container.bind("copy",function(){t.setTextareaSelection()})},t.selectionChanged=function(){var t=this;K(t.container[0]),t.textareaSelectionTimeout===d&&(t.textareaSelectionTimeout=setTimeout(function(){t.setTextareaSelection()}))},t.setTextareaSelection=function(){this.textareaSelectionTimeout=d;var t="";this.cursor.selection&&(t=this.cursor.selection.join("latex"),this.API.__options.statelessClipboard&&(t="$"+t+"$")),this.selectFn(t)},t.staticMathTextareaEvents=function(){function t(){s.detach(),e.blurred=!0}var e=this,n=(e.root,e.cursor),i=e.textarea,s=e.textareaSpan;this.container.prepend('<span class="mq-selectable">$'+e.exportLatex()+"$</span>"),e.blurred=!0,i.bind("cut paste",!1).focus(function(){e.blurred=!1}).blur(function(){n.selection&&n.selection.clear(),setTimeout(t)}),e.selectFn=function(t){i.val(t),t&&i.select()}},t.editablesTextareaEvents=function(){var t=this,e=(t.root,t.cursor),n=t.textarea,i=t.textareaSpan,s=x(n,this);this.selectFn=function(t){s.select(t)},this.container.prepend(i).on("cut",function(){e.selection&&setTimeout(function(){t.notify("edit"),e.parent.bubble("reflow")})}),this.focusBlurEvents()},t.typedText=function(t){if("\n"===t)return this.handle("enter");var e=this.notify().cursor;e.parent.write(e,t,e.show().replaceSelection()),this.scrollHoriz()},t.paste=function(t){this.API.__options.statelessClipboard&&(t="$"===t.slice(0,1)&&"$"===t.slice(-1)?t.slice(1,-1):"\\text{"+t+"}"),this.writeLatex(t).cursor.show()}}),O=je(De,function(t){t.finalizeInsert=function(t,e){var n=this;n.postOrder("finalizeTree",t),n.postOrder("contactWeld",e),n.postOrder("blur"),n.postOrder("reflow"),n[Qe].siblingCreated&&n[Qe].siblingCreated(t,Se),n[Se].siblingCreated&&n[Se].siblingCreated(t,Qe),n.bubble("reflow")},t.contextMenu=function(){},t.showPopupMenu=function(t,e){var n,i;for(1==Te("#mq-popup-menu").length&&Te("#mq-popup-menu").remove(),n=Te("<ul></ul>").attr("id","mq-popup-menu").appendTo("body"),i=0;i<t.length;i++)Te("<li></li>").attr("mq-menu-id",i).html(t[i].text).appendTo(n);n.menu({select:function(e,i){var s=1*i.item.attr("mq-menu-id");t[s].handler(e),n.hide()}}),n.position({my:"left top",of:e}),n.show(),Te(document).bind("click",function(t){n.hide(),Te(this).unbind(t)})}}),y=je(O,function(t,e){t.init=function(t,n,i){var s=this;e.init.call(s),s.ctrlSeq||(s.ctrlSeq=t),n&&(s.htmlTemplate=n),i&&(s.textTemplate=i)},t.replaces=function(t){t.disown(),this.replacedFragment=t},t.isEmpty=function(){return this.foldChildren(!0,function(t,e){return t&&e.isEmpty()})},t.parser=function(){var t=k.block,e=this;return t.times(e.numBlocks()).map(function(t){e.blocks=t;for(var n=0;n<t.length;n+=1)t[n].adopt(e,e.ends[Qe],0);return e})},t.createLeftOf=function(t){var n,i=this;if(t.options.enableMatrixShortcuts&&"undefined"!=typeof t.parent&&"undefined"!=typeof t.parent&&t.parent.parent instanceof fe){if(","==i.ctrlSeq)return t.parent.parent.moveOrInsertColumn(t);if(";"==i.ctrlSeq)return t.parent.parent.insertRow(t);if(":"==i.ctrlSeq)return t.parent.parent.deleteRow(t);if("<"==i.ctrlSeq)return t.parent.parent.deleteColumn(t);if(">"==i.ctrlSeq)return t.parent.parent.insertColumn(t)}n=i.replacedFragment,i.createBlocks(),e.createLeftOf.call(i,t),n&&(n.adopt(i.ends[Se],0,0),n.jQ.appendTo(i.ends[Se].jQ)),i.finalizeInsert(t.options),i.placeCursor(t),(this instanceof S||this instanceof le||this instanceof oe||this instanceof he)&&this.bubble("workingGroupChange")},t.createBlocks=function(){var t,e,n=this,i=n.numBlocks(),s=n.blocks=Array(i);for(t=0;i>t;t+=1)e=s[t]=Q(),e.adopt(n,n.ends[Qe],0)},t.placeCursor=function(t){t.insAtRightEnd(this.foldChildren(this.ends[Se],function(t,e){return t.isEmpty()?t:e}))},t.moveTowards=function(t,e,n){var i=n&&this[n+"Into"];e.insAtDirEnd(-t,i||this.ends[-t])},t.deleteTowards=function(t,e){e.startSelection(),this.selectTowards(t,e),e.select()},t.selectTowards=function(t,e){e[-t]=this,e[t]=this[t]},t.selectChildren=function(){return Ie(this,this)},t.unselectInto=function(t,e){e.insAtDirEnd(-t,e.anticursor.ancestors[this.id])},t.seek=function(t,e){function n(t){var e={};return e[Se]=t.jQ.offset().left,e[Qe]=e[Se]+t.jQ.outerWidth(),e}var i,s=this,r=n(s);return t<r[Se]?e.insLeftOf(s):t>r[Qe]?e.insRightOf(s):(i=r[Se],void s.eachChild(function(o){var a=n(o);return t<a[Se]?(t-i<a[Se]-t?o[Se]?e.insAtRightEnd(o[Se]):e.insLeftOf(s):e.insAtLeftEnd(o),!1):t>a[Qe]?void(o[Qe]?i=a[Qe]:r[Qe]-t<t-a[Qe]?e.insRightOf(s):e.insAtRightEnd(o)):(o.seek(t,e),!1)}))},t.numBlocks=function(){var t=this.htmlTemplate.match(/&\d+/g);return t?t.length:0},t.html=function(){var t,e,n,i=this,r=i.blocks,o=" mathquill-command-id="+i.id,a=i.htmlTemplate.match(/<[^<>]+>|[^<>]+/g);for(s("no unmatched angle brackets",a.join("")===this.htmlTemplate),t=0,e=a[0];e;t+=1,e=a[t])if("/>"===e.slice(-2))a[t]=e.slice(0,-2)+o+"/>";else if("<"===e.charAt(0)){s("not an unmatched top-level close tag","/"!==e.charAt(1)),a[t]=e.slice(0,-1)+o+">",n=1;do t+=1,e=a[t],s("no missing close tags",e),"</"===e.slice(0,2)?n-=1:"<"===e.charAt(0)&&"/>"!==e.slice(-2)&&(n+=1);while(n>0)}return a.join("").replace(/>&(\d+)/g,function(t,e){return" mathquill-block-id="+r[e].id+">"+r[e].join("html")})},t.latex=function(){return this.foldChildren(this.ctrlSeq,function(t,e){return t+"{"+(e.latex()||" ")+"}"})},t.textTemplate=[""],t.text=function(t){var e=this,n=0;return e.foldChildren(e.textTemplate[n],function(i,s){n+=1;var r=s.text(t);return i&&"("===e.textTemplate[n]&&"("===r[0]&&")"===r.slice(-1)?i+r.slice(1,-1)+e.textTemplate[n]:i+s.text(t)+(e.textTemplate[n]||"")})}}),C=je(y,function(e,n){e.init=function(t,e,i){i||(i=t&&t.length>1?t.slice(1):t),n.init.call(this,t,e,[i])},e.parser=function(){return w.succeed(this)},e.numBlocks=function(){return 0},e.replaces=function(t){t.remove() +},e.createBlocks=t,e.moveTowards=function(t,e){e.jQ.insDirOf(t,this.jQ),e[-t]=this,e[t]=this[t]},e.deleteTowards=function(t,e){e[t]=this.remove()[t]},e.seek=function(t,e){t-this.jQ.offset().left<this.jQ.outerWidth()/2?e.insLeftOf(this):e.insRightOf(this)},e.latex=function(){return this.ctrlSeq},e.text=function(){return this.textTemplate},e.placeCursor=t,e.isEmpty=function(){return!0}}),j=je(C,function(t,e){t.init=function(t,n){e.init.call(this,t,"<span>"+(n||t)+"</span>")}}),S=je(C,function(t,e){t.init=function(t,n,i){e.init.call(this,t,'<span class="mq-binary-operator">'+n+"</span>",i)}}),Q=je(O,function(t,e){t.join=function(t){return this.foldChildren("",function(e,n){return e+n[t]()})},t.html=function(){return this.join("html")},t.latex=function(){return this.join("latex")},t.text=function(t){return 0===this.ends[Se]&&0===this.ends[Qe]?"":this.ends[Se]===this.ends[Qe]?this.ends[Se].text(t):this.foldChildren("",function(e,n){return e+n.text(t)})},t.keystroke=function(t,n,i){return!i.API.__options.spaceBehavesLikeTab||"Spacebar"!==t&&"Shift-Spacebar"!==t?e.keystroke.apply(this,arguments):(n.preventDefault(),void i.escapeDir("Shift-Spacebar"===t?Se:Qe,t,n))},t.moveOutOf=function(t,e,n){var i=n&&this.parent[n+"Into"];!i&&this[t]?e.insAtDirEnd(-t,this[t]):e.insDirOf(t,this.parent)},t.selectOutOf=function(t,e){e.insDirOf(t,this.parent)},t.deleteOutOf=function(t,e){e.unwrapGramp()},t.seek=function(t,e){var n=this.ends[Qe];if(!n||n.jQ.offset().left+n.jQ.outerWidth()<t)return e.insAtRightEnd(this);if(t<this.ends[Se].jQ.offset().left)return e.insAtLeftEnd(this);for(;t<n.jQ.offset().left;)n=n[Se];return n.seek(t,e)},t.write=function(t,e,n){var i;i=e.match(/^[a-eg-zA-Z]$/)?I(e):(i=Ee[e]||Le[e])?i(e):j(e),n&&i.replaces(n),i.createLeftOf(t)},t.focus=function(){return this.jQ.addClass("mq-hasCursor"),this.jQ.removeClass("mq-empty"),this},t.blur=function(){return this.jQ.removeClass("mq-hasCursor"),this.isEmpty()&&this.jQ.addClass("mq-empty"),this}}),T=je(Q,c),a.MathField=l(je(q,function(t){t.init=function(t,e){t.addClass("mq-editable-field mq-math-mode"),this.initRootAndEvents(T(),t,e)}})),A=je(De,function(t,e){function n(t){var e,n;return t.jQ[0].normalize(),e=t.jQ[0].firstChild,n=D(e.data),n.jQadd(e),t.children().disown(),n.adopt(t,0,0)}t.ctrlSeq="\\text",t.replaces=function(t){t instanceof _e?this.replacedText=t.remove().jQ.text():"string"==typeof t&&(this.replacedText=t)},t.jQadd=function(t){e.jQadd.call(this,t),this.ends[Se]&&this.ends[Se].jQadd(this.jQ[0].firstChild)},t.createLeftOf=function(t){var n,i=this;if(e.createLeftOf.call(this,t),i[Qe].siblingCreated&&i[Qe].siblingCreated(t.options,Se),i[Se].siblingCreated&&i[Se].siblingCreated(t.options,Qe),i.bubble("reflow"),t.insAtRightEnd(i),i.replacedText)for(n=0;n<i.replacedText.length;n+=1)i.write(t,i.replacedText.charAt(n))},t.parser=function(){var t=this,e=w.string,n=w.regex,i=w.optWhitespace;return i.then(e("{")).then(n(/^[^}]*/)).skip(e("}")).map(function(e){return D(e).adopt(t,0,0),t})},t.textContents=function(){return this.foldChildren("",function(t,e){return t+e.text})},t.text=function(t){return t.dropTextFieldsOnTextOutput?"":'"'+this.textContents()+'"'},t.latex=function(){return"\\text{"+this.textContents()+"}"},t.html=function(){return'<span class="mq-text-mode" mathquill-command-id='+this.id+">"+this.textContents()+"</span>"},t.moveTowards=function(t,e){e.insAtDirEnd(-t,this)},t.moveOutOf=function(t,e){e.insDirOf(t,this)},t.unselectInto=t.moveTowards,t.selectTowards=y.prototype.selectTowards,t.deleteTowards=y.prototype.deleteTowards,t.selectOutOf=function(t,e){e.insDirOf(t,this)},t.deleteOutOf=function(t,e){this.isEmpty()&&e.insRightOf(this)},t.write=function(t,n,i){var s,r;i&&i.remove(),"$"!==n?t[Se]?t[Se].appendText(n):D(n).createLeftOf(t):this.isEmpty()?(t.insRightOf(this),j("\\$","$").createLeftOf(t)):t[Qe]?t[Se]?(s=A(),r=this.ends[Se],r.disown(),r.adopt(s,0,0),t.insLeftOf(this),e.createLeftOf.call(s,t)):t.insLeftOf(this):t.insRightOf(this)},t.seek=function(t,e){var i,s,r,o,a,l,c,h;for(e.hide(),i=n(this),s=this.jQ.width()/this.text.length,r=Math.round((t-this.jQ.offset().left)/s),0>=r?e.insAtLeftEnd(this):r>=i.text.length?e.insAtRightEnd(this):e.insLeftOf(i.splitRight(r)),o=t-e.show().offset().left,a=o&&0>o?Se:Qe,l=a;e[a]&&o*l>0;)e[a].moveTowards(a,e),l=o,o=t-e.offset().left;-a*l>a*o&&e[-a].moveTowards(-a,e),e.anticursor?e.anticursor.parent===this&&(c=e[Se]&&e[Se].text.length,this.anticursorPosition===c?e.anticursor=Ae.copy(e):(this.anticursorPosition<c?(h=e[Se].splitRight(this.anticursorPosition),e[Se]=h):h=e[Qe].splitRight(this.anticursorPosition-c),e.anticursor=Ae(this,h[Se],h))):this.anticursorPosition=e[Se]&&e[Se].text.length},t.blur=function(){Q.prototype.blur.call(this),n(this)},t.focus=Q.prototype.focus}),D=je(De,function(t,e){function n(t,e){return e.charAt(t===Se?0:-1+e.length)}t.init=function(t){e.init.call(this),this.text=t},t.jQadd=function(t){this.dom=t,this.jQ=Te(t)},t.jQize=function(){return this.jQadd(document.createTextNode(this.text))},t.appendText=function(t){this.text+=t,this.dom.appendData(t)},t.prependText=function(t){this.text=t+this.text,this.dom.insertData(0,t)},t.insTextAtDirEnd=function(t,e){r(e),e===Qe?this.appendText(t):this.prependText(t)},t.splitRight=function(t){var e=D(this.text.slice(t)).adopt(this.parent,this,this[Qe]);return e.jQadd(this.dom.splitText(t)),this.text=this.text.slice(0,t),e},t.moveTowards=function(t,e){var i,s;return r(t),i=n(-t,this.text),s=this[-t],s?s.insTextAtDirEnd(i,t):D(i).createDir(-t,e),this.deleteTowards(t,e)},t.latex=function(){return this.text},t.deleteTowards=function(t,e){this.text.length>1?t===Qe?(this.dom.deleteData(0,1),this.text=this.text.slice(1)):(this.dom.deleteData(-1+this.text.length,1),this.text=this.text.slice(0,-1)):(this.remove(),this.jQ.remove(),e[t]=this[t])},t.selectTowards=function(t,e){var i,s,o,a;return r(t),i=e.anticursor,s=n(-t,this.text),i[t]===this?(o=D(s).createDir(t,e),i[t]=o,e.insDirOf(t,o)):(a=this[-t],a?a.insTextAtDirEnd(s,t):(o=D(s).createDir(-t,e),o.jQ.insDirOf(-t,e.selection.jQ)),1===this.text.length&&i[-t]===this&&(i[-t]=this[-t])),this.deleteTowards(t,e)}}),Ee.$=Le.text=Le.textnormal=Le.textrm=Le.textup=Le.textmd=A,Le.em=Le.italic=Le.italics=Le.emph=Le.textit=Le.textsl=h("\\textit","i",'class="mq-text-mode"'),Le.strong=Le.bold=Le.textbf=h("\\textbf","b",'class="mq-text-mode"'),Le.sf=Le.textsf=h("\\textsf","span",'class="mq-sans-serif mq-text-mode"'),Le.tt=Le.texttt=h("\\texttt","span",'class="mq-monospace mq-text-mode"'),Le.textsc=h("\\textsc","span",'style="font-variant:small-caps" class="mq-text-mode"'),Le.uppercase=h("\\uppercase","span",'style="text-transform:uppercase" class="mq-text-mode"'),Le.lowercase=h("\\lowercase","span",'style="text-transform:lowercase" class="mq-text-mode"'),_=je(y,function(t,e){t.init=function(t){e.init.call(this,"$"),this.cursor=t},t.htmlTemplate='<span class="mq-math-mode">&0</span>',t.createBlocks=function(){e.createBlocks.call(this),this.ends[Se].cursor=this.cursor,this.ends[Se].write=function(t,e,n){"$"!==e?Q.prototype.write.call(this,t,e,n):this.isEmpty()?(t.insRightOf(this.parent),this.parent.deleteTowards(dir,t),j("\\$","$").createLeftOf(t.show())):t[Qe]?t[Se]?Q.prototype.write.call(this,t,e,n):t.insLeftOf(this.parent):t.insRightOf(this.parent)}},t.latex=function(){return"$"+this.ends[Se].latex()+"$"}}),L=je(T,function(t,e){t.keystroke=function(t){return"Spacebar"!==t&&"Shift-Spacebar"!==t?e.keystroke.apply(this,arguments):void 0},t.write=function(t,e,n){if(n&&n.remove(),"$"===e)_(t).createLeftOf(t);else{var i;"<"===e?i="&lt;":">"===e&&(i="&gt;"),j(e,i).createLeftOf(t)}}}),a.TextField=l(je(q,function(t){t.init=function(t){t.addClass("mq-editable-field mq-text-mode"),this.initRootAndEvents(L(),t)},t.latex=function(t){return arguments.length>0?(this.__controller.renderLatexText(t),this.__controller.blurred&&this.__controller.cursor.hide().parent.blur(),this):this.__controller.exportLatex()}})),E=Ee["\\"]=je(y,function(t,e){t.ctrlSeq="\\",t.replaces=function(t){this._replacedFragment=t.disown(),this.isEmpty=function(){return!1}},t.htmlTemplate='<span class="mq-latex-command-input mq-non-leaf">\\<span>&0</span></span>',t.textTemplate=["\\"],t.createBlocks=function(){e.createBlocks.call(this),this.ends[Se].focus=function(){return this.parent.jQ.addClass("mq-hasCursor"),this.isEmpty()&&this.parent.jQ.removeClass("mq-empty"),this},this.ends[Se].blur=function(){return this.parent.jQ.removeClass("mq-hasCursor"),this.isEmpty()&&this.parent.jQ.addClass("mq-empty"),this},this.ends[Se].write=function(t,e,n){return n&&n.remove(),0==this.parent.ends[Se].latex().indexOf("matrix")?void(/^matrix\dx\d$/.test(this.parent.ends[Se].latex())?(this.parent.renderCommand(t),"\\"===e&&this.isEmpty()||this.parent.parent.write(t,e)):j(e).createLeftOf(t)):void(e.match(/[a-z]/i)?j(e).createLeftOf(t):(this.parent.renderCommand(t),"\\"===e&&this.isEmpty()||this.parent.parent.write(t,e)))},this.ends[Se].keystroke=function(t,n,i){return"Tab"===t||"Enter"===t||"Spacebar"===t?(this.parent.renderCommand(i.cursor),void n.preventDefault()):e.keystroke.apply(this,arguments)}},t.createLeftOf=function(t){if(e.createLeftOf.call(this,t),this._replacedFragment){var n=this.jQ[0];this.jQ=this._replacedFragment.jQ.addClass("mq-blur").bind("mousedown mousemove",function(t){return Te(t.target=n).trigger(t),!1}).insertBefore(this.jQ).add(this.jQ)}},t.latex=function(){return"\\"+this.ends[Se].latex()+" "},t.renderCommand=function(t){var e,n;this.jQ=this.jQ.last(),this.remove(),this[Qe]?t.insLeftOf(this[Qe]):t.insAtRightEnd(this.parent),e=this.ends[Se].latex(),e||(e=" "),n=Le[e],n?(n=n(e),this._replacedFragment&&n.replaces(this._replacedFragment),n.createLeftOf(t)):(n=A(),n.replaces(e),n.createLeftOf(t),t.insRightOf(n),this._replacedFragment&&this._replacedFragment.remove())}}),Le.notin=Le.sim=Le.cong=Le.equiv=Le.oplus=Le.otimes=je(S,function(t,e){t.init=function(t){e.init.call(this,"\\"+t+" ","&"+t+";")}}),Le.ast=Le.star=Le.loast=Le.lowast=i(S,"\\ast ","&lowast;"),Le.therefor=Le.therefore=i(S,"\\therefore ","&there4;"),Le.cuz=Le.because=i(S,"\\because ","&#8757;"),Le.prop=Le.propto=i(S,"\\propto ","&prop;"),Le["≈"]=Le.asymp=Le.approx=i(S,"\\approx ","&asymp;"),Le.isin=Le["in"]=i(S,"\\in ","&isin;"),Le.ni=Le.contains=i(S,"\\ni ","&ni;"),Le.notni=Le.niton=Le.notcontains=Le.doesnotcontain=i(S,"\\not\\ni ","&#8716;"),Le.sub=Le.subset=i(S,"\\subset ","&sub;"),Le.sup=Le.supset=Le.superset=i(S,"\\supset ","&sup;"),Le.nsub=Le.notsub=Le.nsubset=Le.notsubset=i(S,"\\not\\subset ","&#8836;"),Le.nsup=Le.notsup=Le.nsupset=Le.notsupset=Le.nsuperset=Le.notsuperset=i(S,"\\not\\supset ","&#8837;"),Le.sube=Le.subeq=Le.subsete=Le.subseteq=i(S,"\\subseteq ","&sube;"),Le.supe=Le.supeq=Le.supsete=Le.supseteq=Le.supersete=Le.superseteq=i(S,"\\supseteq ","&supe;"),Le.nsube=Le.nsubeq=Le.notsube=Le.notsubeq=Le.nsubsete=Le.nsubseteq=Le.notsubsete=Le.notsubseteq=i(S,"\\not\\subseteq ","&#8840;"),Le.nsupe=Le.nsupeq=Le.notsupe=Le.notsupeq=Le.nsupsete=Le.nsupseteq=Le.notsupsete=Le.notsupseteq=Le.nsupersete=Le.nsuperseteq=Le.notsupersete=Le.notsuperseteq=i(S,"\\not\\supseteq ","&#8841;"),Le.N=Le.naturals=Le.Naturals=i(j,"\\mathbb{N}","&#8469;"),Le.P=Le.primes=Le.Primes=Le.projective=Le.Projective=Le.probability=Le.Probability=i(j,"\\mathbb{P}","&#8473;"),Le.Z=Le.integers=Le.Integers=i(j,"\\mathbb{Z}","&#8484;"),Le.Q=Le.rationals=Le.Rationals=i(j,"\\mathbb{Q}","&#8474;"),Le.R=Le.reals=Le.Reals=i(j,"\\mathbb{R}","&#8477;"),Le.C=Le.complex=Le.Complex=Le.complexes=Le.Complexes=Le.complexplane=Le.Complexplane=Le.ComplexPlane=i(j,"\\mathbb{C}","&#8450;"),Le.H=Le.Hamiltonian=Le.quaternions=Le.Quaternions=i(j,"\\mathbb{H}","&#8461;"),Le.quad=Le.emsp=i(j,"\\quad "," "),Le.qquad=i(j,"\\qquad "," "),Le.diamond=i(j,"\\diamond ","&#9671;"),Le.bigtriangleup=i(j,"\\bigtriangleup ","&#9651;"),Le.ominus=i(j,"\\ominus ","&#8854;"),Le.uplus=i(j,"\\uplus ","&#8846;"),Le.bigtriangledown=i(j,"\\bigtriangledown ","&#9661;"),Le.sqcap=i(j,"\\sqcap ","&#8851;"),Le.triangleleft=i(j,"\\triangleleft ","&#8882;"),Le.sqcup=i(j,"\\sqcup ","&#8852;"),Le.triangleright=i(j,"\\triangleright ","&#8883;"),Le.odot=i(j,"\\odot ","&#8857;"),Le.bigcirc=i(j,"\\bigcirc ","&#9711;"),Le.dagger=i(j,"\\dagger ","&#0134;"),Le.ddagger=i(j,"\\ddagger ","&#135;"),Le.wr=i(j,"\\wr ","&#8768;"),Le.amalg=i(j,"\\amalg ","&#8720;"),Le.models=i(j,"\\models ","&#8872;"),Le.prec=i(j,"\\prec ","&#8826;"),Le.succ=i(j,"\\succ ","&#8827;"),Le.preceq=i(j,"\\preceq ","&#8828;"),Le.succeq=i(j,"\\succeq ","&#8829;"),Le.simeq=i(j,"\\simeq ","&#8771;"),Le.mid=i(j,"\\mid ","&#8739;"),Le.ll=i(j,"\\ll ","&#8810;"),Le.gg=i(j,"\\gg ","&#8811;"),Le.parallel=i(j,"\\parallel ","&#8741;"),Le.bowtie=i(j,"\\bowtie ","&#8904;"),Le.sqsubset=i(j,"\\sqsubset ","&#8847;"),Le.sqsupset=i(j,"\\sqsupset ","&#8848;"),Le.smile=i(j,"\\smile ","&#8995;"),Le.sqsubseteq=i(j,"\\sqsubseteq ","&#8849;"),Le.sqsupseteq=i(j,"\\sqsupseteq ","&#8850;"),Le.doteq=i(j,"\\doteq ","&#8784;"),Le.frown=i(j,"\\frown ","&#8994;"),Le.vdash=i(j,"\\vdash ","&#8870;"),Le.dashv=i(j,"\\dashv ","&#8867;"),Le.longleftarrow=i(j,"\\longleftarrow ","&#8592;"),Le.longrightarrow=i(j,"\\longrightarrow ","&#8594;"),Le.Longleftarrow=i(j,"\\Longleftarrow ","&#8656;"),Le.Longrightarrow=i(j,"\\Longrightarrow ","&#8658;"),Le.longleftrightarrow=i(j,"\\longleftrightarrow ","&#8596;"),Le.updownarrow=i(j,"\\updownarrow ","&#8597;"),Le.Longleftrightarrow=i(j,"\\Longleftrightarrow ","&#8660;"),Le.Updownarrow=i(j,"\\Updownarrow ","&#8661;"),Le.mapsto=i(j,"\\mapsto ","&#8614;"),Le.nearrow=i(j,"\\nearrow ","&#8599;"),Le.hookleftarrow=i(j,"\\hookleftarrow ","&#8617;"),Le.hookrightarrow=i(j,"\\hookrightarrow ","&#8618;"),Le.searrow=i(j,"\\searrow ","&#8600;"),Le.leftharpoonup=i(j,"\\leftharpoonup ","&#8636;"),Le.rightharpoonup=i(j,"\\rightharpoonup ","&#8640;"),Le.swarrow=i(j,"\\swarrow ","&#8601;"),Le.leftharpoondown=i(j,"\\leftharpoondown ","&#8637;"),Le.rightharpoondown=i(j,"\\rightharpoondown ","&#8641;"),Le.nwarrow=i(j,"\\nwarrow ","&#8598;"),Le.ldots=i(j,"\\ldots ","&#8230;"),Le.cdots=i(j,"\\cdots ","&#8943;"),Le.vdots=i(j,"\\vdots ","&#8942;"),Le.ddots=i(j,"\\ddots ","&#8944;"),Le.surd=i(j,"\\surd ","&#8730;"),Le.triangle=i(j,"\\triangle ","&#9653;"),Le.ell=i(j,"\\ell ","&#8467;"),Le.top=i(j,"\\top ","&#8868;"),Le.flat=i(j,"\\flat ","&#9837;"),Le.natural=i(j,"\\natural ","&#9838;"),Le.sharp=i(j,"\\sharp ","&#9839;"),Le.wp=i(j,"\\wp ","&#8472;"),Le.bot=i(j,"\\bot ","&#8869;"),Le.clubsuit=i(j,"\\clubsuit ","&#9827;"),Le.diamondsuit=i(j,"\\diamondsuit ","&#9826;"),Le.heartsuit=i(j,"\\heartsuit ","&#9825;"),Le.spadesuit=i(j,"\\spadesuit ","&#9824;"),Le.oint=i(j,"\\oint ","&#8750;"),Le.bigcap=i(j,"\\bigcap ","&#8745;"),Le.bigcup=i(j,"\\bigcup ","&#8746;"),Le.bigsqcup=i(j,"\\bigsqcup ","&#8852;"),Le.bigvee=i(j,"\\bigvee ","&#8744;"),Le.bigwedge=i(j,"\\bigwedge ","&#8743;"),Le.bigodot=i(j,"\\bigodot ","&#8857;"),Le.bigotimes=i(j,"\\bigotimes ","&#8855;"),Le.bigoplus=i(j,"\\bigoplus ","&#8853;"),Le.biguplus=i(j,"\\biguplus ","&#8846;"),Le.lfloor=i(j,"\\lfloor ","&#8970;"),Le.rfloor=i(j,"\\rfloor ","&#8971;"),Le.lceil=i(j,"\\lceil ","&#8968;"),Le.rceil=i(j,"\\rceil ","&#8969;"),Le.opencurlybrace=Le.lbrace=i(j,"\\lbrace ","{"),Le.closecurlybrace=Le.rbrace=i(j,"\\rbrace ","}"),Le["∫"]=Le["int"]=Le.integral=i(C,"\\int ","<big>&int;</big>"),Le.caret=i(j,"\\text{^}","^"),Le.underscore=i(j,"\\_","_"),Le.slash=i(j,"/"),Le.vert=i(j,"|"),Le.perp=Le.perpendicular=i(j,"\\perp ","&perp;"),Le.nabla=Le.del=i(j,"\\nabla ","&nabla;"),Le.hbar=i(j,"\\hbar ","&#8463;"),Le.AA=Le.Angstrom=Le.angstrom=i(j,"\\text\\AA ","&#8491;"),Le.ring=Le.circ=Le.circle=i(j,"\\circ ","&#8728;"),Le.bull=Le.bullet=i(j,"\\bullet ","&bull;"),Le.setminus=Le.smallsetminus=i(j,"\\setminus ","&#8726;"),Le.not=Le["¬"]=Le.neg=i(j,"\\neg ","&not;"),Le["…"]=Le.dots=Le.ellip=Le.hellip=Le.ellipsis=Le.hellipsis=i(j,"\\dots ","&hellip;"),Le.converges=Le.darr=Le.dnarr=Le.dnarrow=Le.downarrow=i(j,"\\downarrow ","&darr;"),Le.dArr=Le.dnArr=Le.dnArrow=Le.Downarrow=i(j,"\\Downarrow ","&dArr;"),Le.diverges=Le.uarr=Le.uparrow=i(j,"\\uparrow ","&uarr;"),Le.uArr=Le.Uparrow=i(j,"\\Uparrow ","&uArr;"),Le.to=i(S,"\\to ","&rarr;"),Le.rarr=Le.rightarrow=i(j,"\\rightarrow ","&rarr;"),Le.implies=i(S,"\\Rightarrow ","&rArr;"),Le.rArr=Le.Rightarrow=i(j,"\\Rightarrow ","&rArr;"),Le.gets=i(S,"\\gets ","&larr;"),Le.larr=Le.leftarrow=i(j,"\\leftarrow ","&larr;"),Le.impliedby=i(S,"\\Leftarrow ","&lArr;"),Le.lArr=Le.Leftarrow=i(j,"\\Leftarrow ","&lArr;"),Le.harr=Le.lrarr=Le.leftrightarrow=i(j,"\\leftrightarrow ","&harr;"),Le.iff=i(S,"\\Leftrightarrow ","&hArr;"),Le.hArr=Le.lrArr=Le.Leftrightarrow=i(j,"\\Leftrightarrow ","&hArr;"),Le.Re=Le.Real=Le.real=i(j,"\\Re ","&real;"),Le.Im=Le.imag=Le.image=Le.imagin=Le.imaginary=Le.Imaginary=i(j,"\\Im ","&image;"),Le.part=Le.partial=i(j,"\\partial ","&part;"),Le.infty=Le.infin=Le.infinity=i(j,"\\infty ","&infin;"),Le.alef=Le.alefsym=Le.aleph=Le.alephsym=i(j,"\\aleph ","&alefsym;"),Le.xist=Le.xists=Le.exist=Le.exists=i(j,"\\exists ","&exist;"),Le.and=Le.land=Le.wedge=i(j,"\\wedge ","&and;"),Le.or=Le.lor=Le.vee=i(j,"\\vee ","&or;"),Le.o=Le.O=Le.empty=Le.emptyset=Le.oslash=Le.Oslash=Le.nothing=Le.varnothing=i(S,"\\varnothing ","&empty;"),Le.cup=Le.union=i(S,"\\cup ","&cup;"),Le.cap=Le.intersect=Le.intersection=i(S,"\\cap ","&cap;"),Le.deg=Le.degree=i(j,"^\\circ ","&deg;"),Le.ang=Le.angle=i(j,"\\angle ","&ang;"),R=je(C,function(t,e){t.init=function(t,n){e.init.call(this,t,"<var>"+(n||t)+"</var>")},t.text=function(){var t,e,n=this.ctrlSeq;for(!this[Se]||this[Se]instanceof R||this[Se]instanceof S||","===this[Se].ctrlSeq||(n="*"+n),!this[Se]||this[Se]instanceof S||"\\"!=this.ctrlSeq[0]||(n="*"+n),t=!1,e=this;e instanceof I;e=e[Se])if("\\"==e.ctrlSeq[0]){t=!0;break}return!this[Qe]||this[Qe]instanceof S||this[Qe]instanceof R||"^"===this[Qe].ctrlSeq||","===this[Qe].ctrlSeq||"_"===this[Qe].ctrlSeq||"."===this[Qe].ctrlSeq||t||(n+="*"),n}}),g.p.autoCommands={_maxLength:0},b.autoCommands=function(t){var e,n,i,s,r;if(!/^[a-z]+(?: [a-z]+)*$/i.test(t))throw'"'+t+'" not a space-delimited list of only letters';for(e=t.split(" "),n={},i=0,s=0;s<e.length;s+=1){if(r=e[s],r.length<2)throw'autocommand "'+r+'" not minimum length of 2';if(Le[r]===P)throw'"'+r+'" is a built-in operator name';n[r]=1,i=Oe(i,r.length)}return n._maxLength=i,n},I=je(R,function(t,e){function n(t){return t instanceof C&&!(t instanceof S)}t.init=function(t){return e.init.call(this,this.letter=t)},t.createLeftOf=function(t){var n,i,s,r=t.options.autoCommands,o=r._maxLength;if(o>0){for(n=this.letter,i=t[Se],s=1;i instanceof I&&o>s;)n=i.letter+n,i=i[Se],s+=1;for(;n.length;){if(r.hasOwnProperty(n)){for(s=2,i=t[Se];s<n.length;s+=1,i=i[Se]);return _e(i,t[Se]).remove(),t[Se]=i[Se],Le[n](n).createLeftOf(t)}if(t.options.autoCommandFullWordOnly)break;n=n.slice(1)}}e.createLeftOf.apply(this,arguments)},t.italicize=function(t){return this.jQ.toggleClass("mq-operator-name",!t),this},t.finalizeTree=t.siblingDeleted=t.siblingCreated=function(t,e){t.autoOnBrackets||e!==Se&&this[Qe]instanceof I||this.autoUnItalicize(t,!0)},t.autoUnItalicize=function(t,e){var i,s,r,o,a,l,c,h,u,p,f,d=t.autoOperatorNames;if(0!==d._maxLength){for(i=this.letter,s=this[Se];s instanceof I;s=s[Se])i=s.letter+i;for(r=this[Qe];r instanceof I;r=r[Qe])i+=r.letter;_e(s[Qe]||this.parent.ends[Se],r[Se]||this.parent.ends[Qe]).each(function(t){t.italicize(!0).jQ.removeClass("mq-first mq-last"),t.ctrlSeq=t.letter});t:for(o=0,a=s[Qe]||this.parent.ends[Se];o<i.length;o+=1,a=a[Qe])for(l=ke(d._maxLength,i.length-o);l>0;l-=1)if(c=i.slice(o,o+l),t.autoAllFunctions||d.hasOwnProperty(c)){for(h=0,u=a;l>h;h+=1,u=u[Qe])e&&u.italicize(!1),p=u;f=z.hasOwnProperty(c),a.ctrlSeq=(f?"\\":"\\operatorname{")+a.ctrlSeq,p.ctrlSeq+=f?" ":"}",B.hasOwnProperty(c)&&p[Se][Se][Se].jQ.addClass("mq-last"),n(a[Se])&&a.jQ.addClass("mq-first"),n(p[Qe])&&p.jQ.addClass("mq-last"),o+=l-1,a=p;continue t}}}}),z={},B={limsup:1,liminf:1,projlim:1,injlim:1},function(){var t,e,n,i=g.p.autoOperatorNames={_maxLength:9},s="arg deg det dim exp gcd hom inf ker lg lim ln log max min sup limsup liminf injlim projlim Pr".split(" ");for(t=0;t<s.length;t+=1)z[s[t]]=i[s[t]]=1;for(e="sin cos tan arcsin arccos arctan sinh cosh tanh sec csc cot coth".split(" "),t=0;t<e.length;t+=1)z[e[t]]=1;for(n="sin cos tan sec cosec csc cotan cot ctg".split(" "),t=0;t<n.length;t+=1)i[n[t]]=i["arc"+n[t]]=i[n[t]+"h"]=i["ar"+n[t]+"h"]=i["arc"+n[t]+"h"]=1}(),b.autoOperatorNames=function(t){var e,n,i,s,r;if(!/^[a-z]+(?: [a-z]+)*$/i.test(t))throw'"'+t+'" not a space-delimited list of only letters';for(e=t.split(" "),n={},i=0,s=0;s<e.length;s+=1){if(r=e[s],r.length<2)throw'"'+r+'" not minimum length of 2';n[r]=1,i=Oe(i,r.length)}return n._maxLength=i,n},P=je(C,function(t){t.init=function(t){this.ctrlSeq=t},t.createLeftOf=function(t){var e,n=this.ctrlSeq;for(e=0;e<n.length;e+=1)I(n.charAt(e)).createLeftOf(t)},t.parser=function(){var t,e=this.ctrlSeq,n=Q();for(t=0;t<e.length;t+=1)I(e.charAt(t)).adopt(n,n.ends[Qe],0);return w.succeed(n.children())}});for(M in z)z.hasOwnProperty(M)&&(Le[M]=P);Le.operatorname=je(y,function(e){e.createLeftOf=t,e.numBlocks=function(){return 1},e.parser=function(){return k.block.map(function(t){return t.children()})}}),Le.f=je(I,function(t,e){t.init=function(){C.p.init.call(this,this.letter="f",'<var class="mq-florin">&fnof;</var>')},t.italicize=function(t){return this.jQ.html(t?"&fnof;":"f").toggleClass("mq-florin",t),e.italicize.apply(this,arguments)}}),Le[" "]=Le.space=i(j,"\\ "," "),Le["'"]=Le.prime=i(j,"'","&prime;"),Le.backslash=i(j,"\\backslash ","\\"),Ee["\\"]||(Ee["\\"]=Le.backslash),Le.$=i(j,"\\$","$"),F=je(C,function(t,e){t.init=function(t,n){e.init.call(this,t,'<span class="mq-nonSymbola">'+(n||t)+"</span>")}}),Le["@"]=F,Le["&"]=i(F,"\\&","&amp;"),Le["%"]=i(F,"\\%","%"),Le.alpha=Le.beta=Le.gamma=Le.delta=Le.zeta=Le.eta=Le.theta=Le.iota=Le.kappa=Le.mu=Le.nu=Le.xi=Le.rho=Le.sigma=Le.tau=Le.chi=Le.psi=Le.omega=je(R,function(t,e){t.init=function(t){e.init.call(this,"\\"+t+" ","&"+t+";")}}),Le.phi=i(R,"\\phi ","&#981;"),Le.phiv=Le.varphi=i(R,"\\varphi ","&phi;"),Le.epsilon=i(R,"\\epsilon ","&#1013;"),Le.epsiv=Le.varepsilon=i(R,"\\varepsilon ","&epsilon;"),Le.piv=Le.varpi=i(R,"\\varpi ","&piv;"),Le.sigmaf=Le.sigmav=Le.varsigma=i(R,"\\varsigma ","&sigmaf;"),Le.thetav=Le.vartheta=Le.thetasym=i(R,"\\vartheta ","&thetasym;"),Le.upsilon=Le.upsi=i(R,"\\upsilon ","&upsilon;"),Le.gammad=Le.Gammad=Le.digamma=i(R,"\\digamma ","&#989;"),Le.kappav=Le.varkappa=i(R,"\\varkappa ","&#1008;"),Le.rhov=Le.varrho=i(R,"\\varrho ","&#1009;"),Le.pi=Le["π"]=i(F,"\\pi ","&pi;"),Le.lambda=i(F,"\\lambda ","&lambda;"),Le.Upsilon=Le.Upsi=Le.upsih=Le.Upsih=i(C,"\\Upsilon ",'<var style="font-family: serif">&upsih;</var>'),Le.Gamma=Le.Delta=Le.Theta=Le.Lambda=Le.Xi=Le.Pi=Le.Sigma=Le.Phi=Le.Psi=Le.Omega=Le.forall=je(j,function(t,e){t.init=function(t){e.init.call(this,"\\"+t+" ","&"+t+";")}}),$=je(y,function(t){t.init=function(t){this.latex=t},t.createLeftOf=function(t){var e=k.parse(this.latex);e.children().adopt(t.parent,t[Se],t[Qe]),t[Se]=e.ends[Qe],e.jQize().insertBefore(t.jQ),e.finalizeInsert(t.options,t),e.ends[Qe][Qe].siblingCreated&&e.ends[Qe][Qe].siblingCreated(t.options,Se),e.ends[Se][Se].siblingCreated&&e.ends[Se][Se].siblingCreated(t.options,Qe),t.parent.bubble("reflow")},t.parser=function(){var t=k.parse(this.latex).children();return w.succeed(t)}}),Le["¹"]=i($,"^1"),Le["²"]=i($,"^2"),Le["³"]=i($,"^3"),Le["¼"]=i($,"\\frac14"),Le["½"]=i($,"\\frac12"),Le["¾"]=i($,"\\frac34"),N=je(S,function(t){t.init=j.prototype.init,t.contactWeld=t.siblingCreated=t.siblingDeleted=function(t,e){return e!==Qe?(this.jQ[0].className=!this[Se]||this[Se]instanceof S?"":"mq-binary-operator",this):void 0}}),Le["+"]=i(N,"+","+"),Le["–"]=Le["-"]=i(N,"-","&minus;"),Le["±"]=Le.pm=Le.plusmn=Le.plusminus=i(N,"\\pm ","&plusmn;"),Le.mp=Le.mnplus=Le.minusplus=i(N,"\\mp ","&#8723;"),Ee["*"]=Le.sdot=Le.cdot=i(S,"\\cdot ","&middot;","*"),G=je(S,function(t,e){t.init=function(t,n){this.data=t,this.strict=n;var i=n?"Strict":"";e.init.call(this,t["ctrlSeq"+i],t["html"+i],t["text"+i])},t.swap=function(t){this.strict=t;var e=t?"Strict":"";this.ctrlSeq=this.data["ctrlSeq"+e],this.jQ.html(this.data["html"+e]),this.textTemplate=[this.data["text"+e]]},t.deleteTowards=function(t){return t!==Se||this.strict?void e.deleteTowards.apply(this,arguments):void this.swap(!0)}}),U={ctrlSeq:"\\le ",html:"&le;",text:" <= ",ctrlSeqStrict:"<",htmlStrict:"&lt;",textStrict:" < "},W={ctrlSeq:"\\ge ",html:"&ge;",text:" >= ",ctrlSeqStrict:">",htmlStrict:"&gt;",textStrict:" > "},H={ctrlSeq:"\\ne ",html:"&ne;",text:" != ",ctrlSeqStrict:"!",htmlStrict:"!",textStrict:"!"},Le["<"]=Le.lt=i(G,U,!0),Le[">"]=Le.gt=i(G,W,!0),Le["≤"]=Le.le=Le.leq=i(G,U,!1),Le["≥"]=Le.ge=Le.geq=i(G,W,!1),Le["!"]=i(G,H,!0),Le["≠"]=Le.ne=Le.neq=i(G,H,!1),V=je(G,function(t,e){t.init=function(t,n){e.init.call(this,t,n)},t.createLeftOf=function(t){return(t[Se]instanceof G||t[Se]instanceof V)&&t[Se].strict?void t[Se].swap(!1):void e.createLeftOf.apply(this,arguments)}}),X={ctrlSeq:"\\eq ",html:"==",text:" == ",ctrlSeqStrict:"=",htmlStrict:"=",textStrict:" = "},Le["="]=i(V,X,!0),Le.times=i(S,"\\times ","&times;","[x]"),Le["÷"]=Le.div=Le.divide=Le.divides=i(S,"\\div ","&divide;","[/]"),K=t,Y=document.createElement("div"),J=Y.style,te={transform:1,WebkitTransform:1,MozTransform:1,OTransform:1,msTransform:1};for(ne in te)if(ne in J){ee=ne;break}ee?Z=function(t,e,n){t.css(ee,"scale("+e+","+n+")")}:"filter"in J?(K=function(t){t.className=t.className},Z=function(t,e,n){function i(){t.css("marginRight",(s.width()-1)*(e-1)/e+"px")}var s,r;e/=1+(n-1)/2,t.css("fontSize",n+"em"),t.hasClass("mq-matrixed-container")||t.addClass("mq-matrixed-container").wrapInner('<span class="mq-matrixed"></span>'),s=t.children().css("filter","progid:DXImageTransform.Microsoft.Matrix(M11="+e+",SizingMethod='auto expand')"),i(),r=setInterval(i),Te(window).load(function(){clearTimeout(r),i()})}):Z=function(t,e,n){t.css("fontSize",n+"em")},ie=je(y,function(t,e){t.init=function(t,n,i){e.init.call(this,t,"<"+n+" "+i+">&0</"+n+">")}}),Le.mathrm=i(ie,"\\mathrm","span",'class="mq-roman mq-font"'),Le.mathit=i(ie,"\\mathit","i",'class="mq-font"'),Le.mathbf=i(ie,"\\mathbf","b",'class="mq-font"'),Le.mathsf=i(ie,"\\mathsf","span",'class="mq-sans-serif mq-font"'),Le.mathtt=i(ie,"\\mathtt","span",'class="mq-monospace mq-font"'),Le.underline=i(ie,"\\underline","span",'class="mq-non-leaf mq-underline"'),Le.overline=Le.bar=i(ie,"\\overline","span",'class="mq-non-leaf mq-overline"'),se=Le.textcolor=je(y,function(t,e){t.setColor=function(t){this.color=t,this.htmlTemplate='<span class="mq-textcolor" style="color:'+t+'">&0</span>'},t.latex=function(){return"\\textcolor{"+this.color+"}{"+this.blocks[0].latex()+"}"},t.parser=function(){var t=this,n=w.optWhitespace,i=w.string,s=w.regex;return n.then(i("{")).then(s(/^[#\w\s.,()%-]*/)).skip(i("}")).then(function(n){return t.setColor(n),e.parser.call(t)})}}),re=Le["class"]=je(y,function(t,e){t.parser=function(){var t=this,n=w.string,i=w.regex;return w.optWhitespace.then(n("{")).then(i(/^[-\w\s\\\xA0-\xFF]*/)).skip(n("}")).then(function(n){return t.htmlTemplate='<span class="mq-class '+n+'">&0</span>',e.parser.call(t)})}}),oe=je(y,function(t,e){t.ctrlSeq="_{...}^{...}",t.createLeftOf=function(t){return t[Se]||!t.options.supSubsRequireOperand?e.createLeftOf.apply(this,arguments):void 0},t.contactWeld=function(t){var e,n,i,s,r,o;for(e=Se;e;e=e===Se?Qe:!1)if(this[e]instanceof oe){for(n="sub";n;n="sub"===n?"sup":!1)i=this[n],s=this[e][n],i&&(s?i.isEmpty()?o=Ae(s,0,s.ends[Se]):(i.jQ.children().insAtDirEnd(-e,s.jQ),r=i.children().disown(),o=Ae(s,r.ends[Qe],s.ends[Se]),e===Se?r.adopt(s,s.ends[Qe],0):r.adopt(s,0,s.ends[Se])):this[e].addBlock(i.disown()),this.placeCursor=function(t,n){return function(i){i.insAtDirEnd(-e,t||n)}}(s,i));this.remove(),t&&t[Se]===this&&(e===Qe&&o?o[Se]?t.insRightOf(o[Se]):t.insAtLeftEnd(o.parent):t.insRightOf(this[e]));break}this.respace()},g.p.charsThatBreakOutOfSupSub="",t.finalizeTree=function(){var t=this.supsub;this.ends[Se].write=function(e,n){e.options.charsThatBreakOutOfSupSub.indexOf(n)>-1&&e.insRightOf(this.parent),"sub"==t&&e.options.noOperatorsInSubscript&&!RegExp(/[A-Za-z0-9]/).test(n)&&e.insRightOf(this.parent),Q.p.write.apply(this,arguments)}},t.latex=function(){function t(t,e){var n=e&&e.latex();return e?t+(1===n.length?n:"{"+(n||" ")+"}"):""}return t("_",this.sub)+t("^",this.sup)},t.text=function(t){var e="";return this.sub&&(e+=t.noOperatorsInSubscript?"_"+(this.sub&&this.sub.ends[Se]===this.sub.ends[Qe]?this.sub.ends[Se].text(t):this.sub.foldChildren("",function(e,n){return e+n.text(t)})):"_"+(this.sub&&this.sub.ends[Se]===this.sub.ends[Qe]?this.sub.ends[Se].text(t):"("+this.sub.foldChildren("",function(e,n){return e+n.text(t)})+")")),this.sup&&(e+="^"+(this.sup&&this.sup.ends[Se]===this.sup.ends[Qe]?this.sup.ends[Se].text(t):"("+this.sup.foldChildren("",function(e,n){return e+n.text(t)})+")")),e},t.respace=t.siblingCreated=t.siblingDeleted=function(t,e){e!==Qe&&this.jQ.toggleClass("mq-limit","\\int "===this[Se].ctrlSeq)},t.addBlock=function(t){"sub"===this.supsub?(this.sup=this.upInto=this.sub.upOutOf=t,t.adopt(this,this.sub,0).downOutOf=this.sub,t.jQ=Te('<span class="mq-sup"/>').append(t.jQ.children()).attr(xe,t.id).prependTo(this.jQ)):(this.sub=this.downInto=this.sup.downOutOf=t,t.adopt(this,0,this.sup).upOutOf=this.sup,t.jQ=Te('<span class="mq-sub"></span>').append(t.jQ.children()).attr(xe,t.id).appendTo(this.jQ.removeClass("mq-sup-only")),this.jQ.append('<span style="display:inline-block;width:0">&nbsp;</span>'));for(var e=0;2>e;e+=1)(function(t,e,n,i){t[e].deleteOutOf=function(s,r){r.insDirOf(s,this.parent),this.isEmpty()||(r[-s]=this.ends[s],this.children().disown().withDirAdopt(s,r.parent,r[s],this.parent).jQ.insDirOf(s,this.parent.jQ)),t.supsub=n,delete t[e],delete t[i+"Into"],t[n][i+"OutOf"]=u,delete t[n].deleteOutOf,"sub"===e&&Te(t.jQ.addClass("mq-sup-only")[0].lastChild).remove(),this.remove()}})(this,"sub sup".split(" ")[e],"sup sub".split(" ")[e],"down up".split(" ")[e])}}),ae=je(y,function(t,e){t.init=function(t,e){var n;n=g.p.autoParensSummationNotation?'<span><span class="mq-large-operator mq-non-leaf"><span class="mq-to"><span>&1</span></span><big>'+e+'</big><span class="mq-from"><span>&0</span></span></span><span class="mq-non-leaf"><span class="mq-scaled mq-paren">(</span><span class="mq-non-leaf">&2</span><span class="mq-scaled mq-paren">)</span></span></span>':'<span class="mq-large-operator mq-non-leaf"><span class="mq-to"><span>&1</span></span><big>'+e+'</big><span class="mq-from"><span>&0</span></span></span>',C.prototype.init.call(this,t,n)},t.createLeftOf=function(t){e.createLeftOf.apply(this,arguments),t.options.sumStartsWithNEquals&&(I("n").createLeftOf(t),V().createLeftOf(t))},t.reflow=function(){var t,e,n;g.p.autoParensSummationNotation&&(t=this.jQ.children(":last").children(":first").add(this.jQ.children(":last").children(":last")),e=this.jQ.children(":last").children(":eq(1)"),n=e.outerHeight()/parseInt(e.css("fontSize"),10),Z(t,ke(1+.2*(n-1),1.2),1.05*n))},t.latex=function(){function t(t){return 1===t.length?t:"{"+(t||" ")+"}"}return g.p.autoParensSummationNotation?this.ctrlSeq+"_{"+this.blocks[0].latex()+"}^{"+this.blocks[1].latex()+"}\\left({"+this.blocks[2].latex()+"}\\right)":this.ctrlSeq+"_"+t(this.ends[Se].latex())+"^"+t(this.ends[Qe].latex())},t.text=function(t){return g.p.autoParensSummationNotation?" "+this.ctrlSeq+'("'+this.blocks[0].text(t).replace("=",'" , ')+" , "+this.blocks[1].text(t)+","+this.blocks[2].text(t)+")":" "+this.ctrlSeq+'("'+this.ends[Se].text(t).replace("=",'" , ')+" , "+this.ends[Qe].text(t)+")"},t.parser=function(){var t,e,n=w.string,i=w.optWhitespace,s=(w.whitespace,w.succeed),r=k.block,o=this;for(t=o.blocks=g.p.autoParensSummationNotation?[Q(),Q(),Q()]:[Q(),Q()],e=0;e<t.length;e+=1)t[e].adopt(o,o.ends[Qe],0);return g.p.autoParensSummationNotation?i.then(n("_")).then(function(){var e=t[0];return r.then(function(t){return t.children().adopt(e,e.ends[Qe],0),s(o) +})}).then(i).then(n("^")).then(function(){var e=t[1];return r.then(function(t){return t.children().adopt(e,e.ends[Qe],0),s(o)})}).then(n("\\left(")).then(function(){var e=t[2];return r.then(function(t){return t.children().adopt(e,e.ends[Qe],0),s(o)})}).then(n("\\right)")).result(o):i.then(n("_").or(n("^"))).then(function(e){var n=t["_"===e?0:1];return r.then(function(t){return t.children().adopt(n,n.ends[Qe],0),s(o)})}).many().result(o)},t.finalizeTree=function(){this.downInto=this.ends[Se],this.upInto=this.ends[Qe],this.ends[Se].upOutOf=this.ends[Qe],this.ends[Qe].downOutOf=this.ends[Se]}}),Le["∑"]=Le.sum=Le.summation=i(ae,"\\sum ","&sum;"),Le["∏"]=Le.prod=Le.product=i(ae,"\\prod ","&prod;"),Le.coprod=Le.coproduct=i(ae,"\\coprod ","&#8720;"),Le.subscript=Le._=je(oe,function(t,e){t.supsub="sub",t.ctrlSeq="_",t.htmlTemplate='<span class="mq-supsub mq-non-leaf"><span class="mq-sub">&0</span><span style="display:inline-block;width:0">&nbsp;</span></span>',t.textTemplate=["_"],t.finalizeTree=function(){this.downInto=this.sub=this.ends[Se],this.sub.upOutOf=u,e.finalizeTree.call(this)}}),Le.superscript=Le.supscript=Le["^"]=je(oe,function(t,e){t.supsub="sup",t.ctrlSeq="^",t.htmlTemplate='<span class="mq-supsub mq-non-leaf mq-sup-only"><span class="mq-sup">&0</span></span>',t.textTemplate=["^"],t.finalizeTree=function(){this.upInto=this.sup=this.ends[Qe],this.sup.downOutOf=u,e.finalizeTree.call(this)}}),le=Le.frac=Le.dfrac=Le.cfrac=Le.fraction=je(y,function(t){t.ctrlSeq="\\frac",t.htmlTemplate='<span class="mq-fraction mq-non-leaf"><span class="mq-numerator">&0</span><span class="mq-denominator">&1</span><span style="display:inline-block;width:0">&nbsp;</span></span>',t.textTemplate=["((",")/(","))"],t.finalizeTree=function(){this.upInto=this.ends[Qe].upOutOf=this.ends[Se],this.downInto=this.ends[Se].downOutOf=this.ends[Qe]}}),ce=Le.over=Ee["/"]=je(le,function(e,n){e.createLeftOf=function(e){if(!this.replacedFragment){for(var i=e[Se];i&&!(i instanceof S||i instanceof(Le.text||t)||i instanceof ae||"\\ "===i.ctrlSeq||/^[,;:]$/.test(i.ctrlSeq));)i=i[Se];i instanceof ae&&i[Qe]instanceof oe&&(i=i[Qe],i[Qe]instanceof oe&&i[Qe].ctrlSeq!=i.ctrlSeq&&(i=i[Qe])),i!==e[Se]&&(this.replaces(_e(i[Qe]||e.parent.ends[Se],e[Se])),e[Se]=i)}n.createLeftOf.call(this,e)}}),he=Le.sqrt=Le["√"]=je(y,function(t,e){t.ctrlSeq="\\sqrt",t.htmlTemplate='<span class="mq-non-leaf"><span class="mq-scaled mq-sqrt-prefix">&radic;</span><span class="mq-non-leaf mq-sqrt-stem">&0</span></span>',t.textTemplate=[" sqrt(",")"],t.parser=function(){return k.optBlock.then(function(t){return k.block.map(function(e){var n=pe();return n.blocks=[t,e],t.adopt(n,0,0),e.adopt(n,t,0),n})}).or(e.parser.call(this))},t.reflow=function(){var t=this.ends[Qe].jQ;Z(t.prev(),1,t.innerHeight()/+t.css("fontSize").slice(0,-2)-.1)}}),ue=Le.vec=je(y,function(t){t.ctrlSeq="\\vec",t.htmlTemplate='<span class="mq-non-leaf"><span class="mq-vector-prefix">&rarr;</span><span class="mq-vector-stem">&0</span></span>',t.textTemplate=["vec(",")"]}),pe=Le.nthroot=je(he,function(t){t.htmlTemplate='<sup class="mq-nthroot mq-non-leaf">&0</sup><span class="mq-scaled"><span class="mq-sqrt-prefix mq-scaled">&radic;</span><span class="mq-sqrt-stem mq-non-leaf">&1</span></span>',t.textTemplate=["sqrt[","](",")"],t.latex=function(){return"\\sqrt["+this.ends[Se].latex()+"]{"+this.ends[Qe].latex()+"}"},t.text=function(t){return" "+this.ends[Qe].text(t)+"^(1/"+this.ends[Se].text(t)+")"}}),fe=Le.begin=je(y,function(t,e){t.numBlocks=function(){return this.col*this.row},t.init=function(t,n,i){var s,r,o,a;for(this.col=n,this.row=i,this.ctrlSeq=t,s="",r=0;i>r;r++){for(o="",a=0;n>a;a++)o+='<span class="mq-cell">&'+(r*n+a)+"</span>";s+='<span class="mq-row">'+o+"</span>"}switch(this.ctrlSeq){case"\\pmatrix":s='<span class="mq-scaled mq-paren">(</span><span class="mq-matrix">'+s+'</span><span class="mq-scaled mq-paren">)</span>';break;case"\\bmatrix":s='<span class="mq-scaled mq-paren">[</span><span class="mq-matrix">'+s+'</span><span class="mq-scaled mq-paren">]</span>';break;case"\\Bmatrix":s='<span class="mq-scaled mq-paren">{</span><span class="mq-matrix">'+s+'</span><span class="mq-scaled mq-paren">}</span>';break;case"\\vmatrix":s='<span class="mq-scaled mq-paren">|</span><span class="mq-matrix">'+s+'</span><span class="mq-scaled mq-paren">|</span>';break;case"\\Vmatrix":s='<span class="mq-scaled mq-paren">||</span><span class="mq-matrix">'+s+'</span><span class="mq-scaled mq-paren">||</span>';break;default:s='<span class="mq-matrix">'+s+"</span>"}e.init.call(this,this.ctrlSeq,'<span class="mq-matrix-outer mq-non-leaf">'+s+"</span>",["text"])},t.reflow=function(){var t=this.jQ.children(".mq-paren"),e=this.jQ.children(".mq-matrix").first(),n=e.outerHeight()/(1.133333*parseInt(e.css("fontSize"),10));Z(t,ke(1+.2*(n-1),1.2),1.05*n),t.css("position","relative"),t.css("top",Math.round(.6*n)+"px")},t.contextMenu=function(t,e){var n=this,i=[{text:"Insert Column Before",handler:function(){n.insertColumn(t,Se)}},{text:"Insert Column After",handler:function(){n.insertColumn(t,Qe)}},{text:"Insert Row Before",handler:function(){n.insertRow(t,Se)}},{text:"Insert Row After",handler:function(){n.insertRow(t,Qe)}}];this.col>1&&i.push({text:"Delete Column",handler:function(){n.deleteColumn(t)}}),this.row>1&&i.push({text:"Delete Row",handler:function(){n.deleteRow(t)}}),this.showPopupMenu(i,e)},t.latex=function(){var t="",e=1,n=this.col,i=this.numBlocks(),s=this.ctrlSeq.substring(1,this.ctrlSeq.length);return this.eachChild(function(s){s.ends[Se]&&(t+=s.latex()),e!=i&&(t+=e%n==0?" \\\\ ":" & "),e++}),"\\begin{"+s+"}"+t+"\\end{"+s+"}"},t.text=function(t){var e,n,i=[];for(this.eachChild(function(e){i.push(e.ends[Se]?e.text(t):0)}),e="",n=0;n<i.length;n++)n>0&&n%this.col==0?e+="],[":n>0&&(e+=","),e+=i[n];return this.row>1?"[["+e+"]]":"["+e+"]"},t.parser=function(){{var t=(k.block,w.string,w.regex);w.optWhitespace}return t(/^\{[pbvBV]?matrix\}[\s\S]*?\\end\{[pbvBV]?matrix\}/).map(function(t){var e,n,i,s,r,o,a,l,c;for("}"==t.substring(7,1)?(e=t.substring(1,7),t=t.substring(8,t.length-12).trim()):(e=t.substring(1,8),t=t.substring(9,t.length-13).trim()),n=t.split(/\\\\/).map(function(t){return t.trim()}),i=n.length,s=0,r=[],n.forEach(function(t){var e=t.split(/&/);s=Math.max(s,e.length),r=r.concat(e)}),o=fe("\\"+e,s,i),a=o.blocks=Array(o.numBlocks()),l=0;l<a.length;l++)c=a[l]=k.parse(r[l]),c.adopt(o,o.ends[Qe],0);return o})},t.finalizeTree=function(){var t,e,n;for(t=0;t<this.row;t++)for(e=0;e<this.col;e++)n=this.blocks[t*this.col+e],n.upOutOf=0==t&&0!=e?this.blocks[this.row*this.col-this.row+e-1]:this.blocks[(t-1)*this.col+e],n.downOutOf=t+1==this.row&&e+1!=this.col?this.blocks[e+1]:this.blocks[(t+1)*this.col+e]},t.cursorRowCol=function(t){for(var e=0,n=0,i=t.parent;0!==i[Se];)e++,e==this.col&&(e=0,n++),i=i[Se];return{row:n,col:e}},t.deleteRow=function(t){var e,n,i;if(1!=this.row){for(e=this.cursorRowCol(t),n=e.row*this.col,i=0;i<this.col;i++)this.blocks[n].remove(),this.blocks.splice(n,1);n>0&&n<this.blocks.length?(this.blocks[n][Se]=this.blocks[n-1],this.blocks[n-1][Qe]=this.blocks[n]):0==n?this.blocks[n][Se]=0:this.blocks[n-1][Qe]=0,this.jQ.children(".mq-matrix").first().children(".mq-row").eq(e.row).remove(),this.row--,this.finalizeTree(),t.insAtLeftEnd(this.blocks[e.row>0?(e.row-1)*this.col+e.col:e.col]),this.reflow(),this.bubble("workingGroupChange")}},t.deleteColumn=function(t){var e,n,i;if(1!=this.col){for(e=this.cursorRowCol(t),n=e.col,i=0;i<this.row;i++)this.blocks[n].remove(),this.blocks.splice(n,1),n>0&&n<this.blocks.length?(this.blocks[n][Se]=this.blocks[n-1],this.blocks[n-1][Qe]=this.blocks[n]):0==n?this.blocks[n][Se]=0:this.blocks[n-1][Qe]=0,n+=this.col-1;this.col--,this.finalizeTree(),t.insAtLeftEnd(this.blocks[e.col<this.col?e.row*this.col+e.col:e.row*this.col+e.col-1]),this.reflow(),this.bubble("workingGroupChange")}},t.insertRow=function(t,e){var n,i,s,r,o=this.cursorRowCol(t);for(n="undefined"==typeof e?0===t[Se]&&0!==t[Qe]:e==Se?!0:!1,i=o.row*this.col+(n?0:this.col),n?this.jQ.children(".mq-matrix").first().children(".mq-row").eq(o.row).before('<span class="mq-row"></span>'):this.jQ.children(".mq-matrix").first().children(".mq-row").eq(o.row).after('<span class="mq-row"></span>'),s=0;s<this.col;s++)r=Q(),r.adopt(this,i+s>0?this.blocks[i+s-1]:0,i+s>0?this.blocks[i+s-1][Qe]:this.ends[Se]),r.jQ=Te('<span class="mq-cell mq-empty" '+xe+'="'+r.id+'"></span>'),i+s>0&&(this.blocks[i+s-1][Qe]=r),this.blocks.splice(i+s,0,r),this.jQ.children(".mq-matrix").first().children(".mq-row").eq(o.row+(n?0:1)).append(r.jQ);i+s<this.blocks.length&&(this.blocks[i+s][Se]=r,r[Qe]=this.blocks[i+s]),this.row++,this.finalizeTree(),t.insAtLeftEnd(this.blocks[i]),this.reflow(),this.bubble("workingGroupChange")},t.insertColumn=function(t,e){var n,i,s,r=this.cursorRowCol(t);for(n="undefined"==typeof e?0===t[Se]&&0!==t[Qe]:e==Se?!0:!1,i=this.row-1;i>=0;i--)s=Q(),n?(s.adopt(this,i*this.col+r.col-1>=0?this.blocks[i*this.col+r.col-1]:0,this.blocks[i*this.col+r.col]),s.jQ=Te('<span class="mq-cell mq-empty" '+xe+'="'+s.id+'"></span>'),i*this.col+r.col-1>=0&&(this.blocks[i*this.col+r.col-1][Qe]=s),this.blocks[i*this.col+r.col][Se]=s,this.blocks.splice(i*this.col+r.col,0,s),this.jQ.children(".mq-matrix").first().children(".mq-row").eq(i).children(".mq-cell").eq(r.col).before(s.jQ)):(s.adopt(this,this.blocks[i*this.col+r.col],i*this.col+r.col+1<this.row*this.col?this.blocks[i*this.col+r.col+1]:0),s.jQ=Te('<span class="mq-cell mq-empty" '+xe+'="'+s.id+'"></span>'),this.blocks[i*this.col+r.col][Qe]=s,i*this.col+r.col+1<this.row*this.col&&(this.blocks[i*this.col+r.col+1][Se]=s),this.blocks.splice(i*this.col+r.col+1,0,s),this.jQ.children(".mq-matrix").first().children(".mq-row").eq(i).children(".mq-cell").eq(r.col).after(s.jQ));this.col++,this.finalizeTree(),t.insAtLeftEnd(t.parent[n?Se:Qe]),this.reflow(),this.bubble("workingGroupChange")},t.moveOrInsertColumn=function(t){var e=this.cursorRowCol(t);return e.col+1==this.col?this.insertColumn(t):(t.insAtLeftEnd(t.parent[Qe]),void this.bubble("workingGroupChange"))}}),Le.matrix=i(fe,"\\matrix",1,1),Le.bmatrix=i(fe,"\\bmatrix",1,1),Le.Bmatrix=i(fe,"\\Bmatrix",1,1),Le.vmatrix=i(fe,"\\vmatrix",1,1),Le.Vmatrix=i(fe,"\\Vmatrix",1,1),Le.pmatrix=i(fe,"\\pmatrix",1,1),de=je(je(y,p),function(e,n){e.init=function(t,e,i,s,r){n.init.call(this,"\\left"+s,d,[e,i]),this.side=t,this.sides={},this.sides[Se]={ch:e,ctrlSeq:s},this.sides[Qe]={ch:i,ctrlSeq:r}},e.numBlocks=function(){return 1},e.html=function(){return this.htmlTemplate='<span class="mq-non-leaf"><span class="mq-scaled mq-paren'+(this.side===Qe?" mq-ghost":"")+'">'+this.sides[Se].ch+'</span><span class="mq-non-leaf">&0</span><span class="mq-scaled mq-paren'+(this.side===Se?" mq-ghost":"")+'">'+this.sides[Qe].ch+"</span></span>",n.html.call(this)},e.latex=function(){return"\\left"+this.sides[Se].ctrlSeq+this.ends[Se].latex()+"\\right"+this.sides[Qe].ctrlSeq},e.oppBrack=function(t,e){return t instanceof de&&t.side&&t.side!==-e&&("|"===this.sides[this.side].ch||t.side===-this.side)&&t},e.closeOpposing=function(t){t.side=0,t.sides[this.side]=this.sides[this.side],t.delimjQs.eq(this.side===Se?0:1).removeClass("mq-ghost").html(this.sides[this.side].ch)},e.createLeftOf=function(t){var e,i,s,r,o,a;if(!this.replacedFragment&&(e=this.oppBrack(t[Se],Se)||this.oppBrack(t[Qe],Qe)||this.oppBrack(t.parent.parent),!e&&t.options.enableMatrixShortcuts&&"\\left["===this.ctrlSeq&&0===t[Se]&&0===t[Qe]&&"undefined"!=typeof t.parent.parent&&t.parent.parent.ctrlSeq===this.ctrlSeq)){if(i=t.parent.parent[Se],s=t.parent.parent.parent,t.parent.parent.unwrap(),0!==i?t.insRightOf(i):t.insAtLeftEnd(s),t.options.autoOnBrackets)for(r=t[Se];r instanceof I;)r.jQ.hasClass("mq-operator-name")&&r.italicize(!0),r.ctrlSeq=r.ctrlSeq.replace("\\","").replace("operatorname{","").replace("}","").trim(),r=r[Se];return o=fe("\\bmatrix",1,1),void o.createLeftOf(t)}e?(a=this.side=-e.side,this.closeOpposing(e),e===t.parent.parent&&t[a]&&(_e(t[a],t.parent.ends[a],-a).disown().withDirAdopt(-a,e.parent,e,e[a]).jQ.insDirOf(a,e.jQ),e.bubble("reflow"))):(e=this,a=e.side,e.replacedFragment?e.side=0:t[-a]&&(e.replaces(_e(t[-a],t.parent.ends[-a],a)),t[-a]=0),n.createLeftOf.call(e,t)),a===Se?t.insAtLeftEnd(e.ends[Se]):t.insRightOf(e),t.parent.bubble("workingGroupChange")},e.placeCursor=t,e.unwrap=function(){this.ends[Se].children().disown().adopt(this.parent,this,this[Qe]).jQ.insertAfter(this.jQ),this.remove()},e.deleteSide=function(t,e,n){var i,s=this.parent,r=this[t],o=s.ends[t];return t===this.side?(this.unwrap(),void(r?n.insDirOf(-t,r):n.insAtDirEnd(t,s))):(this.side=-t,void(this.oppBrack(this.ends[Se].ends[this.side],t)?(this.closeOpposing(this.ends[Se].ends[this.side]),i=this.ends[Se].ends[t],this.unwrap(),i.siblingCreated&&i.siblingCreated(n.options,t),r?n.insDirOf(-t,r):n.insAtDirEnd(t,s)):(this.oppBrack(this.parent.parent,t)?(this.parent.parent.closeOpposing(this),this.parent.parent.unwrap()):(this.sides[t]={ch:me[this.sides[this.side].ch],ctrlSeq:me[this.sides[this.side].ctrlSeq]},this.delimjQs.removeClass("mq-ghost").eq(t===Se?0:1).addClass("mq-ghost").html(this.sides[t].ch)),r?(i=this.ends[Se].ends[t],_e(r,o,-t).disown().withDirAdopt(-t,this.ends[Se],i,0).jQ.insAtDirEnd(t,this.ends[Se].jQ.removeClass("mq-empty")),i.siblingCreated&&i.siblingCreated(n.options,t),n.insDirOf(-t,r)):e?n.insDirOf(t,this):n.insAtDirEnd(t,this.ends[Se]))))},e.deleteTowards=function(t,e){this.deleteSide(-t,!1,e)},e.finalizeTree=function(t){this.ends[Se].deleteOutOf=function(t,e){this.parent.deleteSide(t,!0,e)},t.autoOnBrackets&&this[Se]instanceof I&&this[Se].autoUnItalicize(t,"\\left["!==this.ctrlSeq),this.finalizeTree=this.intentionalBlur=function(){this.delimjQs.eq(this.side===Se?1:0).removeClass("mq-ghost"),this.side=0}},e.siblingCreated=function(t,e){e===-this.side&&this.finalizeTree()}}),me={"(":")",")":"(","[":"]","]":"[","{":"}","}":"{","\\{":"\\}","\\}":"\\{","&lang;":"&rang;","&rang;":"&lang;","\\langle ":"\\rangle ","\\rangle ":"\\langle ","|":"|"},f("("),f("["),f("{","\\{"),Le.langle=i(de,Se,"&lang;","&rang;","\\langle ","\\rangle "),Le.rangle=i(de,Qe,"&lang;","&rang;","\\langle ","\\rangle "),Ee["|"]=i(de,Se,"|","|","|","|"),Le.left=je(y,function(t){t.parser=function(){var t=w.regex,e=w.string,n=(w.succeed,w.optWhitespace);return n.then(t(/^(?:[([|]|\\\{)/)).then(function(i){var s="\\"===i.charAt(0)?i.slice(1):i;return k.then(function(r){return e("\\right").skip(n).then(t(/^(?:[\])|]|\\\})/)).map(function(t){var e="\\"===t.charAt(0)?t.slice(1):t,n=de(0,s,e,i,t);return n.blocks=[r],r.adopt(n,0,0),n})})})}}),Le.right=je(y,function(t){t.parser=function(){return w.fail("unmatched \\right")}}),ge=Le.binom=Le.binomial=je(je(y,p),function(t){t.ctrlSeq="\\binom",t.htmlTemplate='<span class="mq-non-leaf"><span class="mq-paren mq-scaled">(</span><span class="mq-non-leaf"><span class="mq-array mq-non-leaf"><span>&0</span><span>&1</span></span></span><span class="mq-paren mq-scaled">)</span></span>',t.textTemplate=["choose(",",",")"]}),be=Le.choose=je(ge,function(t){t.createLeftOf=ce.prototype.createLeftOf}),ve=je(a.MathField,function(t){t.init=function(t,e){c(t),this.__options=g();var n=ze(this,t,e);n.editable=!0,n.createTextarea(),n.editablesTextareaEvents(),n.cursor.insAtRightEnd(t)}}),Le.MathQuillMathField=je(y,function(t,e){t.ctrlSeq="\\MathQuillMathField",t.htmlTemplate='<span class="mq-editable-field"><span class="mq-root-block">&0</span></span>',t.parser=function(){var t=this,n=w.string,i=w.regex,s=w.succeed;return n("[").then(i(/^[a-z][a-z0-9]*/i)).skip(n("]")).map(function(e){t.name=e}).or(s()).then(e.parser.call(t))},t.finalizeTree=function(){ve(this.ends[Se],this.jQ)},t.registerInnerField=function(t){t.push(t[this.name]=this.ends[Se].controller.API)},t.latex=function(){return this.ends[Se].latex()},t.text=function(t){return this.ends[Se].text(t)}})}(); \ No newline at end of file