(()=>{"use strict";var e={d:(t,a)=>{for(var r in a)e.o(a,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:a[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{MathtoolsUtil:()=>H});var a={};e.r(a),e.d(a,{LEGACYCONFIG:()=>W,LEGACYPRIORITY:()=>z,MathtoolsMethods:()=>K});var r={};e.r(r),e.d(r,{MathtoolsTagFormat:()=>ee});var o={};e.r(o),e.d(o,{MultlinedItem:()=>re});var n={};e.r(n),e.d(n,{MathtoolsConfiguration:()=>ne,fixPrescripts:()=>oe});const s=("undefined"!=typeof window?window:global).MathJax._.components.global,l=(s.GLOBAL,s.isObject,s.combineConfig,s.combineDefaults,s.combineWithMathJax),i=(s.MathJax,MathJax._.input.tex.HandlerTypes),m=i.ConfigurationType,c=i.HandlerType,d=MathJax._.input.tex.Configuration,h=d.Configuration,p=(d.ConfigurationHandler,d.ParserConfiguration,MathJax._.input.tex.Token),u=(p.Token,p.Macro),g=MathJax._.input.tex.NodeUtil.default,M=MathJax._.util.Options,x=(M.isObject,M.APPEND,M.REMOVE,M.OPTIONS,M.Expandable,M.expandable),w=(M.makeArray,M.keys,M.copy,M.insert,M.defaultOptions,M.userOptions,M.selectOptions,M.selectOptionsFromKeys,M.separateOptions,M.lookup),A=MathJax._.input.tex.newcommand.NewcommandConfiguration,f=A.NewcommandConfig,y=(A.NewcommandConfiguration,MathJax._.input.tex.newcommand.NewcommandUtil),b=y.NewcommandTables,P=(y.NewcommandPriority,y.NewcommandUtil),C=MathJax._.input.tex.ParseMethods.default,T=MathJax._.input.tex.TokenMap,k=(T.parseResult,T.AbstractTokenMap,T.RegExpMap,T.AbstractParseMap,T.CharacterMap,T.DelimiterMap),S=(T.MacroMap,T.CommandMap),v=T.EnvironmentMap,D=MathJax._.input.tex.TexConstants.TexConstant,E=MathJax._.input.tex.ParseUtil,N=(E.KeyValueDef,E.KeyValueTypes,E.ParseUtil),G=MathJax._.input.tex.UnitUtil.UnitUtil,R=MathJax._.input.tex.ams.AmsMethods.AmsMethods,I=MathJax._.input.tex.base.BaseMethods,O=(I.splitAlignArray,I.default),L=MathJax._.input.tex.TexParser.default,F=MathJax._.input.tex.TexError.default,B=MathJax._.core.MmlTree.MmlNode,_=B.TEXCLASS,J=(B.TEXCLASSNAMES,B.MATHVARIANTS,B.indentAttributes,B.AbstractMmlNode,B.AbstractMmlTokenNode,B.AbstractMmlLayoutNode,B.AbstractMmlBaseNode,B.AbstractMmlEmptyNode,B.TextNode,B.XMLNode,MathJax._.util.lengths),q=(J.BIGDIMEN,J.UNITS,J.RELUNITS,J.MATHSPACE,J.length2em),$=(J.percent,J.em),U=(J.px,MathJax._.input.tex.newcommand.NewcommandMethods.default),V=MathJax._.util.PrioritizedList.PrioritizedList,j=MathJax._.input.tex.base.BaseItems,X=(j.StartItem,j.StopItem,j.OpenItem,j.CloseItem,j.NullItem,j.PrimeItem,j.SubsupItem,j.OverItem,j.LeftItem,j.Middle,j.RightItem,j.BreakItem,j.BeginItem,j.EndItem,j.StyleItem,j.PositionItem,j.CellItem,j.MmlItem,j.FnItem,j.NotItem,j.NonscriptItem,j.DotsItem,j.ArrayItem,j.EqnArrayItem),H=(j.MstyleItem,j.EquationItem,{setDisplayLevel(e,t){if(!t)return;const[a,r]=w(t,{"\\displaystyle":[!0,0],"\\textstyle":[!1,0],"\\scriptstyle":[!1,1],"\\scriptscriptstyle":[!1,2]},[null,null]);null!==a&&(e.attributes.set("displaystyle",a),e.attributes.set("scriptlevel",r))},checkAlignment(e,t){const a=e.stack.Top();if(a.kind!==X.prototype.kind)throw new F("NotInAlignment","%1 can only be used in aligment environments",t);return a},addPairedDelims(e,t,a){if(e.configuration.handlers.get(c.MACRO).contains(t))throw new F("CommadExists","Command %1 already defined",`\\${t}`);P.addMacro(e,t,K.PairedDelimiters,a)},spreadLines(e,t){if(!e.isKind("mtable"))return;let a=e.attributes.get("rowspacing");const r=G.dimen2em(t);a=a.split(/ /).map((e=>G.em(Math.max(0,G.dimen2em(e)+r)))).join(" "),e.attributes.set("rowspacing",a)},plusOrMinus(e,t){if(!(t=t.trim()).match(/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)$/))throw new F("NotANumber","Argument to %1 is not a number",e);return t.match(/^[-+]/)?t:"+"+t},getScript(e,t,a){let r=G.trimSpaces(e.GetArgument(t));if(""===r)return e.create("node","none");const o=e.options.mathtools[`prescript-${a}-format`];o&&(r=`${o}{${r}}`);const n=new L(r,e.stack.env,e.configuration).mml();return n.isKind("TeXAtom")&&0===n.childNodes[0].childNodes.length?e.create("node","none"):n}}),W={[c.MACRO]:["mathtools-legacycolonsymbols"]},z=V.DEFAULTPRIORITY-1,K={MtMatrix(e,t,a,r){const o=e.GetBrackets(`\\begin{${t.getName()}}`,"c");return K.Array(e,t,a,r,o)},MtSmallMatrix:(e,t,a,r,o)=>(o||(o=e.GetBrackets(`\\begin{${t.getName()}}`,e.options.mathtools["smallmatrix-align"])),K.Array(e,t,a,r,o,G.em(1/3),".2em","S",1)),MtMultlined(e,t){const a=`\\begin{${t.getName()}}`;let r=e.options.mathtools["multlined-pos"]||"c",o=e.options.mathtools["multlined-width"]||"";if(!e.nextIsSpace()){const t=e.GetBrackets(a,r);if(t.match(/^[ctb]$/)?(r=t,o=e.nextIsSpace()?"":e.GetBrackets(a,"")):o=t,o&&!G.matchDimen(o)[0])throw new F("BadWidth","Width for %1 must be a dimension",a)}e.Push(t);const n=e.itemFactory.create("multlined",e,t);return n.arraydef={displaystyle:!0,rowspacing:".5em",width:o||"auto",columnwidth:"100%"},N.setArrayAlign(n,r)},HandleShove(e,t,a){const r=e.stack.Top();if("multline"!==r.kind&&"multlined"!==r.kind)throw new F("CommandInMultlined","%1 can only appear within the multline or multlined environments",t);if(r.Size())throw new F("CommandAtTheBeginingOfLine","%1 must come at the beginning of the line",t);r.setProperty("shove",a);const o=e.GetBrackets(t);let n=e.ParseArg(t);if(o){const t=e.create("node","mrow",[]),r=e.create("node","mspace",[],{width:o});"left"===a?(t.appendChild(r),t.appendChild(n)):(t.appendChild(n),t.appendChild(r)),n=t}e.Push(n)},SpreadLines(e,t){if(e.stack.env.closing===t.getName()){delete e.stack.env.closing;const t=e.stack.Pop(),a=t.toMml(),r=t.getProperty("spread");if(a.isInferred)for(const e of g.getChildren(a))H.spreadLines(e,r);else H.spreadLines(a,r);e.Push(a)}else{const a=e.GetDimen(`\\begin{${t.getName()}}`);t.setProperty("spread",a),t.setProperty("nestStart",!0),N.checkEqnEnv(e),e.Push(t)}},Cases(e,t,a,r,o){const n=e.itemFactory.create("array").setProperty("casesEnv",t.getName());return n.arraydef={rowspacing:".2em",columnspacing:"1em",columnalign:"left"},"D"===o&&(n.arraydef.displaystyle=!0),n.setProperties({open:a,close:r}),e.Push(t),n},MathLap(e,t,a,r){const o=e.GetBrackets(t,"").trim(),n=e.create("node","mstyle",[e.create("node","mpadded",[e.ParseArg(t)],Object.assign({width:0},"r"===a?{}:{lspace:"l"===a?"-1width":"-.5width"}))],{"data-cramped":r});H.setDisplayLevel(n,o),e.Push(e.create("node","TeXAtom",[n]))},Cramped(e,t){const a=e.GetBrackets(t,"").trim(),r=e.ParseArg(t),o=e.create("node","mstyle",[r],{"data-cramped":!0});H.setDisplayLevel(o,a),e.Push(o)},MtLap(e,t,a){const r=N.internalMath(e,e.GetArgument(t),0),o=e.create("node","mpadded",r,{width:0});"r"!==a&&g.setAttribute(o,"lspace","l"===a?"-1width":"-.5width"),e.Push(o)},MathMakeBox(e,t){const a=e.GetBrackets(t),r=e.GetBrackets(t,"c"),o=e.create("node","mpadded",[e.ParseArg(t)]);a&&g.setAttribute(o,"width",a);const n=w(r.toLowerCase(),{c:"center",r:"right"},"");n&&g.setAttribute(o,"data-align",n),r.toLowerCase()!==r&&g.setAttribute(o,"data-overflow","linebreak"),e.Push(o)},MathMBox(e,t){e.Push(e.create("node","mrow",[e.ParseArg(t)]))},UnderOverBracket(e,t){const a=q(e.GetBrackets(t,".1em"),.1),r=e.GetBrackets(t,".2em"),o=e.GetArgument(t),[n,s,l]="o"===t.charAt(1)?["over","accent","bottom"]:["under","accentunder","top"],i=$(a),m=new L(o,e.stack.env,e.configuration).mml(),c=new L(o,e.stack.env,e.configuration).mml(),d=e.create("node","mpadded",[e.create("node","mphantom",[c])],{style:`border: ${i} solid; border-${l}: none`,height:r,depth:0}),h=N.underOver(e,m,d,n,!0),p=g.getChildAt(g.getChildAt(h,0),0);g.setAttribute(p,s,!0),e.Push(h)},Aboxed(e,t,a="boxed",r=!0){const o=H.checkAlignment(e,t);o.row.length%2==1&&o.row.push(e.create("node","mtd",[]));const n=e.GetArgument(t),s=e.string.substring(e.i);e.string=n+"&&\\endAboxed",e.i=0;const l=e.GetUpTo(t,"&"),i=e.GetUpTo(t,"&");e.GetUpTo(t,"\\endAboxed");const[m,c]=r?["",""]:["$\\displaystyle{","}$"],d=N.substituteArgs(e,[l,i],`\\rlap{\\${a}{${m}#1{}#2${c}}}\\kern.267em\\phantom{#1}&\\phantom{{}#2}\\kern.267em`);e.string=d+s,e.i=0},MakeAboxedCommand(e,t){const a=e.GetStar(),r=P.GetCSname(e,t),o=P.GetCSname(e,t+"\\"+r),n=e.configuration.handlers;if(n.get(c.MACRO).lookup(r))throw new F("AlreadyDefined","%1 is already defined","\\"+r);n.retrieve(b.NEW_COMMAND).add(r,new u(r,K.Aboxed,[o,a])),e.Push(e.itemFactory.create("null"))},ArrowBetweenLines(e,t){const a=H.checkAlignment(e,t);if(a.Size()||a.row.length)throw new F("BetweenLines","%1 must be on a row by itself",t);const r=e.GetStar(),o=e.GetBrackets(t,"\\Updownarrow");r&&(a.EndEntry(),a.EndEntry());const n=new L(r?"\\quad"+o:o+"\\quad",e.stack.env,e.configuration).mml();e.Push(n),a.EndEntry(),a.EndRow()},VDotsWithin(e,t){const a="\\mmlToken{mi}{}"+e.GetArgument(t)+"\\mmlToken{mi}{}",r=new L(a,e.stack.env,e.configuration).mml(),o=e.create("node","mpadded",[e.create("node","mpadded",[e.create("node","mo",[e.create("text","\u22ee")])],{width:0,lspace:"-.5width"}),e.create("node","mphantom",[r])],{lspace:".5width"});e.Push(o)},ShortVDotsWithin(e,t){const a=e.stack.Top(),r=e.GetStar();a.EndEntry&&(K.FlushSpaceAbove(e,"\\MTFlushSpaceAbove"),r||a.EndEntry()),K.VDotsWithin(e,"\\vdotswithin"),a.EndEntry&&(r&&a.EndEntry(),K.FlushSpaceBelow(e,"\\MTFlushSpaceBelow"))},FlushSpaceAbove(e,t){const a=H.checkAlignment(e,t);a.table&&(a.setProperty("flushspaceabove",a.table.length),a.addRowSpacing("-"+e.options.mathtools.shortvdotsadjustabove))},FlushSpaceBelow(e,t){const a=H.checkAlignment(e,t);a.table&&(a.Size()&&a.EndEntry(),a.EndRow(),a.addRowSpacing("-"+e.options.mathtools.shortvdotsadjustbelow))},PairedDelimiters(e,t,a,r,o="#1",n=1,s="",l=""){const i=e.GetStar(),m=i?"":e.GetBrackets(t),[c,d,h]=i?["\\mathopen{\\left","\\right","}\\mathclose{}"]:m?[m+"l",m+"r",""]:["","",""],p=i?"\\middle":m||"";if(n){const a=[];for(let r=a.length;rN.addArgs(e,t,a)),""),e.i=0,N.checkMaxMacros(e)},DeclarePairedDelimiter(e,t){const a=P.GetCsNameArgument(e,t),r=e.GetArgument(t),o=e.GetArgument(t);H.addPairedDelims(e,a,[r,o]),e.Push(e.itemFactory.create("null"))},DeclarePairedDelimiterX(e,t){const a=P.GetCsNameArgument(e,t),r=P.GetArgCount(e,t),o=e.GetArgument(t),n=e.GetArgument(t),s=e.GetArgument(t);H.addPairedDelims(e,a,[o,n,s,r]),e.Push(e.itemFactory.create("null"))},DeclarePairedDelimiterXPP(e,t){const a=P.GetCsNameArgument(e,t),r=P.GetArgCount(e,t),o=e.GetArgument(t),n=e.GetArgument(t),s=e.GetArgument(t),l=e.GetArgument(t),i=e.GetArgument(t);H.addPairedDelims(e,a,[n,s,i,r,o,l]),e.Push(e.itemFactory.create("null"))},CenterColon(e,t,a,r=!1,o=!1){const n=e.options.mathtools;let s=e.create("token","mo",{},":");if(a&&(n.centercolon||r)){const t=n["centercolon-offset"];s=e.create("node","mpadded",[s],Object.assign({voffset:t,height:`+${t}`,depth:`-${t}`},o?{width:n["thincolon-dw"],lspace:n["thincolon-dx"]}:{}))}e.Push(s)},Relation(e,t,a,r){e.options.mathtools["use-unicode"]&&r?e.Push(e.create("token","mo",{texClass:_.REL},r)):(a="\\mathrel{"+a.replace(/:/g,"\\MTThinColon").replace(/-/g,"\\mathrel{-}")+"}",e.string=N.addArgs(e,a,e.string.substring(e.i)),e.i=0)},NArrow(e,t,a,r){e.Push(e.create("node","TeXAtom",[e.create("token","mtext",{},a),e.create("node","mpadded",[e.create("node","mpadded",[e.create("node","menclose",[e.create("node","mspace",[],{height:".2em",depth:0,width:".4em"})],{notation:"updiagonalstrike","data-thickness":".05em","data-padding":0})],{width:0,lspace:"-.5width",voffset:r}),e.create("node","mphantom",[e.create("token","mtext",{},a)])],{width:0,lspace:"-.5width"})],{texClass:_.REL}))},SplitFrac(e,t,a){const r=e.ParseArg(t),o=e.ParseArg(t);e.Push(e.create("node","mstyle",[e.create("node","mfrac",[e.create("node","mstyle",[r,e.create("token","mi"),e.create("token","mspace",{width:"1em"})],{scriptlevel:0}),e.create("node","mstyle",[e.create("token","mspace",{width:"1em"}),e.create("token","mi"),o],{scriptlevel:0})],{linethickness:0,numalign:"left",denomalign:"right"})],{displaystyle:a,scriptlevel:0}))},XMathStrut(e,t){let a=e.GetBrackets(t),r=e.GetArgument(t);r=H.plusOrMinus(t,r),a=H.plusOrMinus(t,a||r),e.Push(e.create("node","TeXAtom",[e.create("node","mpadded",[e.create("node","mphantom",[e.create("token","mo",{stretchy:!1},"(")])],{width:0,height:r+"height",depth:a+"depth"})],{texClass:_.ORD}))},Prescript(e,t){const a=H.getScript(e,t,"sup"),r=H.getScript(e,t,"sub"),o=H.getScript(e,t,"arg");if(g.isType(a,"none")&&g.isType(r,"none"))return void e.Push(o);const n=e.create("node","mmultiscripts",[o]);g.getChildren(n).push(null,null),g.appendChildren(n,[e.create("node","mprescripts"),r,a]),n.setProperty("fixPrescript",!0),e.Push(n)},NewTagForm(e,t,a=!1){const r=e.tags;if(!("mtFormats"in r))throw new F("TagsNotMT","%1 can only be used with ams or mathtools tags",t);const o=e.GetArgument(t).trim();if(!o)throw new F("InvalidTagFormID","Tag form name can't be empty");const n=e.GetBrackets(t,""),s=e.GetArgument(t),l=e.GetArgument(t);if(!a&&r.mtFormats.has(o))throw new F("DuplicateTagForm","Duplicate tag form: %1",o);r.mtFormats.set(o,[s,l,n]),e.Push(e.itemFactory.create("null"))},UseTagForm(e,t){const a=e.tags;if(!("mtFormats"in a))throw new F("TagsNotMT","%1 can only be used with ams or mathtools tags",t);const r=e.GetArgument(t).trim();if(!r)return a.mtCurrent=null,void e.Push(e.itemFactory.create("null"));if(!a.mtFormats.has(r))throw new F("UndefinedTagForm","Undefined tag form: %1",r);a.mtCurrent=a.mtFormats.get(r),e.Push(e.itemFactory.create("null"))},SetOptions(e,t){const a=e.options.mathtools;if(!a["allow-mathtoolsset"])throw new F("ForbiddenMathtoolsSet","%1 is disabled",t);const r={};Object.keys(a).forEach((e=>{"pariedDelimiters"!==e&&"tagforms"!==e&&"allow-mathtoolsset"!==e&&(r[e]=1)}));const o=e.GetArgument(t),n=N.keyvalOptions(o,r,!0);for(const t of Object.keys(n))"legacycolonsymbols"===t&&a[t]!==n[t]&&(a[t]?e.configuration.handlers.remove(W,{}):e.configuration.handlers.add(W,{},z)),a[t]=n[t];e.Push(e.itemFactory.create("null"))},Array:O.Array,Macro:O.Macro,xArrow:R.xArrow,HandleRef:R.HandleRef,AmsEqnArray:R.AmsEqnArray,MacroWithTemplate:U.MacroWithTemplate};new S("mathtools-macros",{shoveleft:[K.HandleShove,D.Align.LEFT],shoveright:[K.HandleShove,D.Align.RIGHT],xleftrightarrow:[K.xArrow,8596,10,10],xLeftarrow:[K.xArrow,8656,12,7],xRightarrow:[K.xArrow,8658,7,12],xLeftrightarrow:[K.xArrow,8660,12,12],xhookleftarrow:[K.xArrow,8617,10,5],xhookrightarrow:[K.xArrow,8618,5,10],xmapsto:[K.xArrow,8614,10,10],xrightharpoondown:[K.xArrow,8641,5,10],xleftharpoondown:[K.xArrow,8637,10,5],xrightleftharpoons:[K.xArrow,8652,10,10],xrightharpoonup:[K.xArrow,8640,5,10],xleftharpoonup:[K.xArrow,8636,10,5],xleftrightharpoons:[K.xArrow,8651,10,10],xlongrightarrow:[K.xArrow,10230,7,12,1.45],xlongleftarrow:[K.xArrow,10229,12,7,1.45],xLongrightarrow:[K.xArrow,10233,7,12,1.45],xLongleftarrow:[K.xArrow,10232,12,7,1.45],mathllap:[K.MathLap,"l",!1],mathrlap:[K.MathLap,"r",!1],mathclap:[K.MathLap,"c",!1],clap:[K.MtLap,"c"],textllap:[K.MtLap,"l"],textrlap:[K.MtLap,"r"],textclap:[K.MtLap,"c"],cramped:K.Cramped,crampedllap:[K.MathLap,"l",!0],crampedrlap:[K.MathLap,"r",!0],crampedclap:[K.MathLap,"c",!0],crampedsubstack:[K.Macro,"\\begin{crampedsubarray}{c}#1\\end{crampedsubarray}",1],mathmbox:K.MathMBox,mathmakebox:K.MathMakeBox,overbracket:K.UnderOverBracket,underbracket:K.UnderOverBracket,refeq:K.HandleRef,MoveEqLeft:[K.Macro,"\\hspace{#1em}&\\hspace{-#1em}",1,"2"],Aboxed:K.Aboxed,MakeAboxedCommand:K.MakeAboxedCommand,ArrowBetweenLines:K.ArrowBetweenLines,vdotswithin:K.VDotsWithin,shortvdotswithin:K.ShortVDotsWithin,MTFlushSpaceAbove:K.FlushSpaceAbove,MTFlushSpaceBelow:K.FlushSpaceBelow,DeclarePairedDelimiter:K.DeclarePairedDelimiter,DeclarePairedDelimiterX:K.DeclarePairedDelimiterX,DeclarePairedDelimiterXPP:K.DeclarePairedDelimiterXPP,DeclarePairedDelimiters:K.DeclarePairedDelimiter,DeclarePairedDelimitersX:K.DeclarePairedDelimiterX,DeclarePairedDelimitersXPP:K.DeclarePairedDelimiterXPP,vcentercolon:[K.CenterColon,!0,!0],ordinarycolon:[K.CenterColon,!1],MTThinColon:[K.CenterColon,!0,!0,!0],coloneqq:[K.Relation,":=","\u2254"],Coloneqq:[K.Relation,"::=","\u2a74"],coloneq:[K.Relation,":=","\u2254"],Coloneq:[K.Relation,"::=","\u2a7a"],eqqcolon:[K.Relation,"=:","\u2255"],Eqqcolon:[K.Relation,"=::"],eqcolon:[K.Relation,"=:","\u2255"],Eqcolon:[K.Relation,"=::"],colonapprox:[K.Relation,":\\approx"],Colonapprox:[K.Relation,"::\\approx"],colonsim:[K.Relation,":\\sim"],Colonsim:[K.Relation,"::\\sim"],dblcolon:[K.Relation,"::","\u2237"],approxcolon:[K.Relation,"\\approx:"],Approxcolon:[K.Relation,"\\approx::"],simcolon:[K.Relation,"\\sim:"],Simcolon:[K.Relation,"\\sim::"],colondash:[K.Relation,":-"],Colondash:[K.Relation,"::-"],dashcolon:[K.Relation,"-:","\u2239"],Dashcolon:[K.Relation,"-::"],nuparrow:[K.NArrow,"\u2191",".06em"],ndownarrow:[K.NArrow,"\u2193",".25em"],bigtimes:[K.Macro,"\\mathop{\\Large\\kern-.1em\\boldsymbol{\\times}\\kern-.1em}"],splitfrac:[K.SplitFrac,!1],splitdfrac:[K.SplitFrac,!0],xmathstrut:K.XMathStrut,prescript:K.Prescript,newtagform:[K.NewTagForm,!1],renewtagform:[K.NewTagForm,!0],usetagform:K.UseTagForm,adjustlimits:[K.MacroWithTemplate,"\\mathop{{#1}\\vphantom{{#3}}}_{{#2}\\vphantom{{#4}}}\\mathop{{#3}\\vphantom{{#1}}}_{{#4}\\vphantom{{#2}}}",4,,"_",,"_"],mathtoolsset:K.SetOptions}),new S("mathtools-legacycolonsymbols",{coloneq:[K.Relation,":-"],Coloneq:[K.Relation,"::-"],eqcolon:[K.Relation,"-:","\u2239"],Eqcolon:[K.Relation,"-::"]}),new v("mathtools-environments",C.environment,{dcases:[K.Array,null,"\\{","","ll",null,".2em","D"],rcases:[K.Array,null,"","\\}","ll",null,".2em"],drcases:[K.Array,null,"","\\}","ll",null,".2em","D"],"dcases*":[K.Cases,null,"{","","D"],"rcases*":[K.Cases,null,"","}"],"drcases*":[K.Cases,null,"","}","D"],"cases*":[K.Cases,null,"{",""],"matrix*":[K.MtMatrix,null,null,null],"pmatrix*":[K.MtMatrix,null,"(",")"],"bmatrix*":[K.MtMatrix,null,"[","]"],"Bmatrix*":[K.MtMatrix,null,"\\{","\\}"],"vmatrix*":[K.MtMatrix,null,"\\vert","\\vert"],"Vmatrix*":[K.MtMatrix,null,"\\Vert","\\Vert"],"smallmatrix*":[K.MtSmallMatrix,null,null,null],psmallmatrix:[K.MtSmallMatrix,null,"(",")","c"],"psmallmatrix*":[K.MtSmallMatrix,null,"(",")"],bsmallmatrix:[K.MtSmallMatrix,null,"[","]","c"],"bsmallmatrix*":[K.MtSmallMatrix,null,"[","]"],Bsmallmatrix:[K.MtSmallMatrix,null,"\\{","\\}","c"],"Bsmallmatrix*":[K.MtSmallMatrix,null,"\\{","\\}"],vsmallmatrix:[K.MtSmallMatrix,null,"\\vert","\\vert","c"],"vsmallmatrix*":[K.MtSmallMatrix,null,"\\vert","\\vert"],Vsmallmatrix:[K.MtSmallMatrix,null,"\\Vert","\\Vert","c"],"Vsmallmatrix*":[K.MtSmallMatrix,null,"\\Vert","\\Vert"],crampedsubarray:[K.Array,null,null,null,null,"0em","0.1em","S'",1],multlined:K.MtMultlined,spreadlines:[K.SpreadLines,!0],lgathered:[K.AmsEqnArray,null,null,null,"l","t",null,".5em","D"],rgathered:[K.AmsEqnArray,null,null,null,"r","t",null,".5em","D"]}),new k("mathtools-delimiters",C.delimiter,{"\\lparen":"(","\\rparen":")"}),new S("mathtools-characters",{":":[K.CenterColon,!0]});const Y=MathJax._.input.tex.Tags,Q=(Y.Label,Y.TagInfo,Y.AbstractTags,Y.NoTags,Y.AllTags,Y.TagsFactory);let Z=0;function ee(e,t){const a=t.parseOptions.options.tags;"base"!==a&&Object.hasOwn(e.tags,a)&&Q.add(a,e.tags[a]);const r=Q.create(t.parseOptions.options.tags).constructor;Z++;const o="MathtoolsTags-"+Z;Q.add(o,class extends r{constructor(){super(),this.mtFormats=new Map,this.mtCurrent=null;const e=t.parseOptions.options.mathtools.tagforms;for(const t of Object.keys(e)){if(!Array.isArray(e[t])||3!==e[t].length)throw new F("InvalidTagFormDef",'The tag form definition for "%1" should be an array of three strings',t);this.mtFormats.set(t,e[t])}}formatTag(e){if(this.mtCurrent){const[t,a,r]=this.mtCurrent;return r?`${t}${r}{${e}}${a}`:`${t}${e}${a}`}return super.formatTag(e)}}),t.parseOptions.options.tags=o}const te=MathJax._.input.tex.ams.AmsItems,ae=te.MultlineItem;te.FlalignItem;class re extends ae{get kind(){return"multlined"}EndTable(){if((this.Size()||this.row.length)&&(this.EndEntry(),this.EndRow()),this.table.length>1){const e=this.factory.configuration.options.mathtools,t=e["multlined-gap"],a=e["firstline-afterskip"]||t,r=e["lastline-preskip"]||t,o=g.getChildren(this.table[0])[0];g.getAttribute(o,"columnalign")!==D.Align.RIGHT&&o.appendChild(this.create("node","mspace",[],{width:a}));const n=g.getChildren(this.table[this.table.length-1])[0];if(g.getAttribute(n,"columnalign")!==D.Align.LEFT){const e=g.getChildren(n)[0];e.childNodes.unshift(null);const t=this.create("node","mspace",[],{width:r});g.setChild(e,0,t)}}super.EndTable.call(this)}}function oe({data:e}){for(const t of e.getList("mmultiscripts")){if(!t.getProperty("fixPrescript"))continue;const a=g.getChildren(t);let r=0;for(const o of[1,2])a[o]||(g.setChild(t,o,e.nodeFactory.create("node","none")),r++);2===r&&a.splice(1,2)}}const ne=h.create("mathtools",{[m.HANDLER]:{macro:["mathtools-macros","mathtools-delimiters"],[c.ENVIRONMENT]:["mathtools-environments"],[c.DELIMITER]:["mathtools-delimiters"],[c.CHARACTER]:["mathtools-characters"]},[m.ITEMS]:{[re.prototype.kind]:re},[m.CONFIG]:function(e,t){f(e,t);const a=t.parseOptions,r=a.options.mathtools.pairedDelimiters,o=e.handlers.retrieve(b.NEW_COMMAND);for(const[e,t]of Object.entries(r))o.add(e,new u(e,K.PairedDelimiters,t));a.options.mathtools.legacycolonsymbols&&e.handlers.add(W,{},z),ee(e,t)},[m.POSTPROCESSORS]:[[oe,-6]],[m.OPTIONS]:{mathtools:{"multlined-gap":"1em","multlined-pos":"c","multlined-width":"","firstline-afterskip":"","lastline-preskip":"","smallmatrix-align":"c",shortvdotsadjustabove:".2em",shortvdotsadjustbelow:".2em",centercolon:!1,"centercolon-offset":".04em","thincolon-dx":"-.04em","thincolon-dw":"-.08em","use-unicode":!1,legacycolonsymbols:!1,"prescript-sub-format":"","prescript-sup-format":"","prescript-arg-format":"","allow-mathtoolsset":!0,pairedDelimiters:x({}),tagforms:x({})}}});MathJax.loader&&MathJax.loader.checkVersion("[tex]/mathtools","4.0.0","tex-extension"),l({_:{input:{tex:{mathtools:{MathtoolsConfiguration:n,MathtoolsItems:o,MathtoolsMethods:a,MathtoolsTags:r,MathtoolsUtil:t}}}}})})();