tributes[0].value)&&!n.attributes[0].value.value.includes(` `)&&!s&&!d(n.attributes[0]))return y(["<",r("name"),r("typeParameters")," ",...e.map(r,"attributes"),n.selfClosing?" />":">"]);let u=(o=n.attributes)==null?void 0:o.some(p=>p.value&&Q(p.value)&&p.value.value.includes(` `)),i=t.singleAttributePerLine&&n.attributes.length>1?C:A;return y(["<",r("name"),r("typeParameters"),E(e.map(()=>[i,r()],"attributes")),...ep(n,t,s)],{shouldBreak:u})}function ep(e,t,r){return e.selfClosing?[A,"/>"]:tp(e,t,r)?[">"]:[F,">"]}function tp(e,t,r){let n=e.attributes.length>0&&d(w(!1,e.attributes,-1),x.Trailing);return e.attributes.length===0&&!r||(t.bracketSameLine||t.jsxBracketSameLine)&&(!r||e.attributes.length>0)&&!n}function rp(e,t,r){let{node:n}=e,s=[];s.push(""),s}function np(e,t){let{node:r}=e,n=d(r),s=d(r,x.Line),u=r.type==="JSXOpeningFragment";return[u?"<":""]}function sp(e,t,r){let n=pe(e,$o(e,t,r),t);return Ko(e,n,t)}function up(e,t){let{node:r}=e,n=d(r,x.Line);return[M(e,t,{indent:n}),n?C:""]}function ip(e,t,r){let{node:n}=e;return["{",e.call(({node:s})=>{let u=["...",r()];return!d(s)||!zn(e)?u:[E([F,pe(e,u,t)]),F]},n.type==="JSXSpreadAttribute"?"argument":"expression"),"}"]}function hu(e,t,r){let{node:n}=e;if(n.type.startsWith("JSX"))switch(n.type){case"JSXAttribute":return zo(e,t,r);case"JSXIdentifier":return n.name;case"JSXNamespacedName":return B(":",[r("namespace"),r("name")]);case"JSXMemberExpression":return B(".",[r("object"),r("property")]);case"JSXSpreadAttribute":case"JSXSpreadChild":return ip(e,t,r);case"JSXExpressionContainer":return Qo(e,t,r);case"JSXFragment":case"JSXElement":return sp(e,t,r);case"JSXOpeningElement":return Zo(e,t,r);case"JSXClosingElement":return rp(e,t,r);case"JSXOpeningFragment":case"JSXClosingFragment":return np(e,t);case"JSXEmptyExpression":return up(e,t);case"JSXText":throw new Error("JSXText should be handled by JSXElement");default:throw new Oe(n,"JSX")}}function ap(e){if(e.children.length===0)return!0;if(e.children.length>1)return!1;let t=e.children[0];return t.type==="JSXText"&&!Zt(t)}function Zt(e){return e.type==="JSXText"&&(Pr.hasNonWhitespaceCharacter(oe(e))||!/\n/.test(oe(e)))}function op(e){return e.type==="JSXExpressionContainer"&&Q(e.expression)&&e.expression.value===" "&&!d(e.expression)}function Su(e){let{node:t,parent:r}=e;if(!Y(t)||!Y(r))return!1;let{index:n,siblings:s}=e,u;for(let i=n;i>0;i--){let a=s[i-1];if(!(a.type==="JSXText"&&!Zt(a))){u=a;break}}return(u==null?void 0:u.type)==="JSXExpressionContainer"&&u.expression.type==="JSXEmptyExpression"&&dt(u.expression)}function pp(e){return dt(e.node)||Su(e)}var kr=pp;var cp=0;function Ir(e,t,r){var _;let{node:n,parent:s,grandparent:u,key:i}=e,a=i!=="body"&&(s.type==="IfStatement"||s.type==="WhileStatement"||s.type==="SwitchStatement"||s.type==="DoWhileStatement"),o=n.operator==="|>"&&((_=e.root.extra)==null?void 0:_.__isUsingHackPipeline),p=Zn(e,r,t,!1,a);if(a)return p;if(o)return y(p);if(k(s)&&s.callee===n||s.type==="UnaryExpression"||J(s)&&!s.computed)return y([E([F,...p]),F]);let m=s.type==="ReturnStatement"||s.type==="ThrowStatement"||s.type==="JSXExpressionContainer"&&u.type==="JSXAttribute"||n.operator!=="|"&&s.type==="JsExpressionRoot"||n.type!=="NGPipeExpression"&&(s.type==="NGRoot"&&t.parser==="__ng_binding"||s.type==="NGMicrosyntaxExpression"&&u.type==="NGMicrosyntax"&&u.body.length===1)||n===s.body&&s.type==="ArrowFunctionExpression"||n!==s.body&&s.type==="ForStatement"||s.type==="ConditionalExpression"&&u.type!=="ReturnStatement"&&u.type!=="ThrowStatement"&&!k(u)||s.type==="TemplateLiteral",D=s.type==="AssignmentExpression"||s.type==="VariableDeclarator"||s.type==="ClassProperty"||s.type==="PropertyDefinition"||s.type==="TSAbstractPropertyDefinition"||s.type==="ClassPrivateProperty"||fe(s),c=ce(n.left)&&Vt(n.operator,n.left.operator);if(m||Ot(n)&&!c||!Ot(n)&&D)return y(p);if(p.length===0)return"";let f=Y(n.right),l=p.findIndex(R=>typeof R!="string"&&!Array.isArray(R)&&R.type===ue),h=p.slice(0,l===-1?1:l+1),g=p.slice(h.length,f?-1:void 0),S=Symbol("logicalChain-"+ ++cp),I=y([...h,E(g)],{id:S});if(!f)return I;let v=w(!1,p,-1);return y([I,mt(v,{groupId:S})])}function Zn(e,t,r,n,s){var h;let{node:u}=e;if(!ce(u))return[y(t())];let i=[];Vt(u.operator,u.left.operator)?i=e.call(g=>Zn(g,t,r,!0,s),"left"):i.push(y(t("left")));let a=Ot(u),o=(u.operator==="|>"||u.type==="NGPipeExpression"||lp(e,r))&&!Ie(r.originalText,u.right),p=u.type==="NGPipeExpression"?"|":u.operator,m=u.type==="NGPipeExpression"&&u.arguments.length>0?y(E([F,": ",B([A,": "],e.map(()=>De(2,y(t())),"arguments"))])):"",D;if(a)D=[p," ",t("right"),m];else{let S=p==="|>"&&((h=e.root.extra)==null?void 0:h.__isUsingHackPipeline)?e.call(I=>Zn(I,t,r,!0,s),"right"):t("right");D=[o?A:"",p,o?" ":A,S,m]}let{parent:c}=e,f=d(u.left,x.Trailing|x.Line),l=f||!(s&&u.type==="LogicalExpression")&&c.type!==u.type&&u.left.type!==u.type&&u.right.type!==u.type;if(i.push(o?"":" ",l?y(D,{shouldBreak:f}):D),n&&d(u)){let g=Bt(pe(e,i,r));return Array.isArray(g)||g.type===ye?mr(g):[g]}return i}function Ot(e){return e.type!=="LogicalExpression"?!1:!!(ee(e.right)&&e.right.properties.length>0||G(e.right)&&e.right.elements.length>0||Y(e.right))}var Bu=e=>e.type==="BinaryExpression"&&e.operator==="|";function lp(e,t){return(t.parser==="__vue_expression"||t.parser==="__vue_ts_expression")&&Bu(e.node)&&!e.hasAncestor(r=>!Bu(r)&&r.type!=="JsExpressionRoot")}var at=class extends Error{name="ArgExpansionBailout"};function mp(e,t,r,n){let{node:s}=e;return d(s,x.Dangling)?y([r,M(e,t,{indent:!0}),F,n]):[r,n]}function vt(e,t,r){let{node:n}=e,s=[],u=n.type==="TupleExpression"?"#[":"[",i="]",a=n.type==="TupleTypeAnnotation"&&n.types?"types":n.type==="TSTupleType"||n.type==="TupleTypeAnnotation"?"elementTypes":"elements",o=n[a];if(o.length===0)s.push(mp(e,t,u,i));else{let p=w(!1,o,-1),m=(p==null?void 0:p.type)!=="RestElement",D=p===null,c=Symbol("array"),f=!t.__inJestEach&&o.length>1&&o.every((g,S,I)=>{let v=g==null?void 0:g.type;if(!G(g)&&!ee(g))return!1;let _=I[S+1];if(_&&v!==_.type)return!1;let R=G(g)?"elements":"properties";return g[R]&&g[R].length>1}),l=es(n,t),h=m?D?",":le(t)?l?P(",","",{groupId:c}):P(","):"":"";s.push(y([u,E([F,l?Dp(e,t,r,h):[yp(e,t,a,r),h],M(e,t)]),F,i],{shouldBreak:f,id:c}))}return s.push($(e),q(e,r)),s}function es(e,t){return G(e)&&e.elements.length>1&&e.elements.every(r=>r&&(he(r)||Ar(r)&&!d(r.argument))&&!d(r,x.Trailing|x.Line,n=>!z(t.originalText,U(n),{backwards:!0})))}function bu({node:e},{originalText:t}){let r=s=>bt(t,Pt(t,s)),n=s=>t[s]===","?s:n(r(s+1));return kt(t,n(O(e)))}function yp(e,t,r,n){let s=[];return e.each(({node:u,isLast:i})=>{s.push(u?y(n()):""),i||s.push([",",A,u&&bu(e,t)?F:""])},r),s}function Dp(e,t,r,n){let s=[];return e.each(({isLast:u,next:i})=>{s.push([r(),u?n:","]),u||s.push(bu(e,t)?[C,C]:d(i,x.Leading|x.Line)?C:A)},"elements"),St(s)}function fp(e,t,r){let{node:n}=e,s=Ce(n);if(s.length===0)return["(",M(e,t),")"];if(Cp(s))return["(",r(["arguments",0]),", ",r(["arguments",1]),")"];let u=!1,i=s.length-1,a=[];Sr(e,({node:c},f)=>{let l=r();f===i||(me(c,t)?(u=!0,l=[l,",",C,C]):l=[l,",",A]),a.push(l)});let p=!(n.type==="ImportExpression"||n.callee.type==="Import")&&le(t,"all")?",":"";function m(){return y(["(",E([A,...a]),p,A,")"],{shouldBreak:!0})}if(u||e.parent.type!=="Decorator"&&tu(s))return m();if(Fp(s)){let c=a.slice(1);if(c.some(K))return m();let f;try{f=r(Mn(n,0),{expandFirstArg:!0})}catch(l){if(l instanceof at)return m();throw l}return K(f)?[Te,qe([["(",y(f,{shouldBreak:!0}),", ",...c,")"],m()])]:qe([["(",f,", ",...c,")"],["(",y(f,{shouldBreak:!0}),", ",...c,")"],m()])}if(Ep(s,a,t)){let c=a.slice(0,-1);if(c.some(K))return m();let f;try{f=r(Mn(n,-1),{expandLastArg:!0})}catch(l){if(l instanceof at)return m();throw l}return K(f)?[Te,qe([["(",...c,y(f,{shouldBreak:!0}),")"],m()])]:qe([["(",...c,f,")"],["(",...c,y(f,{shouldBreak:!0}),")"],m()])}let D=["(",E([F,...a]),P(p),F,")"];return hr(e)?D:y(D,{shouldBreak:a.some(K)||u})}function er(e,t=!1){return ee(e)&&(e.properties.length>0||d(e))||G(e)&&(e.elements.length>0||d(e))||e.type==="TSTypeAssertion"&&er(e.expression)||Le(e)&&er(e.expression)||e.type==="FunctionExpression"||e.type==="ArrowFunctionExpression"&&(!e.returnType||!e.returnType.typeAnnotation||e.returnType.typeAnnotation.type!=="TSTypeReference"||dp(e.body))&&(e.body.type==="BlockStatement"||e.body.type==="ArrowFunctionExpression"&&er(e.body,!0)||ee(e.body)||G(e.body)||!t&&(k(e.body)||e.body.type==="ConditionalExpression")||Y(e.body))||e.type==="DoExpression"||e.type==="ModuleExpression"}function Ep(e,t,r){var u,i;let n=w(!1,e,-1);if(e.length===1){let a=w(!1,t,-1);if((u=a.label)!=null&&u.embed&&((i=a.label)==null?void 0:i.hug)!==!1)return!0}let s=w(!1,e,-2);return!d(n,x.Leading)&&!d(n,x.Trailing)&&er(n)&&(!s||s.type!==n.type)&&(e.length!==2||s.type!=="ArrowFunctionExpression"||!G(n))&&!(e.length>1&&es(n,r))}function Fp(e){if(e.length!==2)return!1;let[t,r]=e;return t.type==="ModuleExpression"&&Ap(r)?!0:!d(t)&&(t.type==="FunctionExpression"||t.type==="ArrowFunctionExpression"&&t.body.type==="BlockStatement")&&r.type!=="FunctionExpression"&&r.type!=="ArrowFunctionExpression"&&r.type!=="ConditionalExpression"&&Pu(r)&&!er(r)}function Pu(e){var t;if(e.type==="ParenthesizedExpression")return Pu(e.expression);if(Le(e)||e.type==="TypeCastExpression"){let{typeAnnotation:r}=e;return r.type==="TypeAnnotation"&&(r=r.typeAnnotation),r.type==="TSArrayType"&&(r=r.elementType,r.type==="TSArrayType"&&(r=r.elementType)),(r.type==="GenericTypeAnnotation"||r.type==="TSTypeReference")&&((t=r.typeParameters)==null?void 0:t.params.length)===1&&(r=r.typeParameters.params[0]),wt(r)&&ge(e.expression,1)}return it(e)&&Ce(e).length>1?!1:ce(e)?ge(e.left,1)&&ge(e.right,1):wn(e)||ge(e)}function Cp(e){return e.length===2&&e[0].type==="ArrowFunctionExpression"&&X(e[0]).length===0&&e[0].body.type==="BlockStatement"&&e[1].type==="ArrayExpression"&&!e.some(t=>d(t))}function dp(e){return e.type==="BlockStatement"&&(e.body.some(t=>t.type!=="EmptyStatement")||d(e,x.Dangling))}function Ap(e){return e.type==="ObjectExpression"&&e.properties.length===1&&fe(e.properties[0])&&e.properties[0].key.type==="Identifier"&&e.properties[0].key.name==="type"&&Q(e.properties[0].value)&&e.properties[0].value.value==="module"}var tr=fp;function ku(e,t,r){var p;let n=r("object"),s=ts(e,t,r),{node:u,parent:i}=e,a=e.findAncestor(m=>!(J(m)||m.type==="TSNonNullExpression")),o=a&&(a.type==="NewExpression"||a.type==="BindExpression"||a.type==="AssignmentExpression"&&a.left.type!=="Identifier")||u.computed||u.object.type==="Identifier"&&u.property.type==="Identifier"&&!J(i)||(i.type==="AssignmentExpression"||i.type==="VariableDeclarator")&&(k(u.object)&&u.object.arguments.length>0||u.object.type==="TSNonNullExpression"&&k(u.object.expression)&&u.object.expression.arguments.length>0||((p=n.label)==null?void 0:p.memberChain));return et(n.label,[n,o?s:y(E([F,s]))])}function ts(e,t,r){let n=r("property"),{node:s}=e,u=$(e);return s.computed?!s.property||he(s.property)?[u,"[",n,"]"]:y([u,"[",E([F,n]),F,"]"]):[u,".",n]}function Tp(e,t,r){let{parent:n}=e,s=!n||n.type==="ExpressionStatement",u=[];function i(L){let{originalText:W}=t,se=Xe(W,O(L));return W.charAt(se)===")"?se!==!1&&kt(W,se+1):me(L,t)}function a(L){let{node:W}=L;k(W)&&(Dt(W.callee)||k(W.callee))?(u.unshift({node:W,printed:[pe(L,[$(L),Ve(L,t,r),tr(L,t,r)],t),i(W)?C:""]}),L.call(se=>a(se),"callee")):Dt(W)?(u.unshift({node:W,needsParens:we(L,t),printed:pe(L,J(W)?ts(L,t,r):Lr(L,t,r),t)}),L.call(se=>a(se),"object")):W.type==="TSNonNullExpression"?(u.unshift({node:W,printed:pe(L,"!",t)}),L.call(se=>a(se),"expression")):u.unshift({node:W,printed:r()})}let{node:o}=e;u.unshift({node:o,printed:[$(e),Ve(e,t,r),tr(e,t,r)]}),o.callee&&e.call(L=>a(L),"callee");let p=[],m=[u[0]],D=1;for(;D0&&p.push(m);function f(L){return/^[A-Z]|^[$_]+$/.test(L)}function l(L){return L.length<=t.tabWidth}function h(L){var An;let W=(An=L[1][0])==null?void 0:An.node.computed;if(L[0].length===1){let ar=L[0][0].node;return ar.type==="ThisExpression"||ar.type==="Identifier"&&(f(ar.name)||s&&l(ar.name)||W)}let se=w(!1,L[0],-1).node;return J(se)&&se.property.type==="Identifier"&&(f(se.property.name)||W)}let g=p.length>=2&&!d(p[1][0].node)&&h(p);function S(L){let W=L.map(se=>se.printed);return L.length>0&&w(!1,L,-1).needsParens?["(",...W,")"]:W}function I(L){return L.length===0?"":E(y([C,B(C,L.map(S))]))}let v=p.map(S),_=v,R=g?3:2,T=p.flat(),N=T.slice(1,-1).some(L=>d(L.node,x.Leading))||T.slice(0,-1).some(L=>d(L.node,x.Trailing))||p[R]&&d(p[R][0].node,x.Leading);if(p.length<=R&&!N)return hr(e)?_:y(_);let Se=w(!1,p[g?1:0],-1).node,V=!k(Se)&&i(Se),Be=[S(p[0]),g?p.slice(1,2).map(S):"",V?C:"",I(p.slice(g?2:1))],Ee=u.map(({node:L})=>L).filter(k);function Cn(){let L=w(!1,w(!1,p,-1),-1).node,W=w(!1,v,-1);return k(L)&&K(W)&&Ee.slice(0,-1).some(se=>se.arguments.some(It))}let dn;return N||Ee.length>2&&Ee.some(L=>!L.arguments.every(W=>ge(W)))||v.slice(0,-1).some(K)||Cn()?dn=y(Be):dn=[K(_)||V?Te:"",qe([_,Be])],et({memberChain:!0},dn)}var Iu=Tp;function wr(e,t,r){var D;let{node:n,parent:s}=e,u=n.type==="NewExpression",i=n.type==="ImportExpression",a=$(e),o=Ce(n),p=o.length===1&&xr(o[0],t.originalText);if(p||o.length>0&&!u&&!i&&(xp(n,s)||Ct(n,s))){let c=[];if(Sr(e,()=>{c.push(r())}),!(p&&((D=c[0].label)!=null&&D.embed)))return[u?"new ":"",r("callee"),a,Ve(e,t,r),"(",B(", ",c),")"]}if(!i&&!u&&Dt(n.callee)&&!e.call(c=>we(c,t),"callee"))return Iu(e,t,r);let m=[u?"new ":"",i?"import":r("callee"),a,Ve(e,t,r),tr(e,t,r)];return i||k(n.callee)?y(m):m}function xp(e,t){if(e.callee.type!=="Identifier")return!1;if(e.callee.name==="require"){let r=Ce(e);return r.length===1&&Q(r[0])||r.length>1}if(e.callee.name==="define"){let r=Ce(e);return t.type==="ExpressionStatement"&&(r.length===1||r.length===2&&r[0].type==="ArrayExpression"||r.length===3&&Q(r[0])&&r[1].type==="ArrayExpression")}return!1}function gp(e,t,r){let n=t==='"'?"'":'"',u=H(!1,e,/\\(.)|(["'])/gs,(i,a,o)=>a===n?a:o===t?"\\"+o:o||(r&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(a)?a:"\\"+a));return t+u+t}var Lu=gp;function hp(e,t){let r=e.slice(1,-1),n=t.parser==="json"||t.parser==="json5"&&t.quoteProps==="preserve"&&!t.singleQuote?'"':t.__isInHtmlAttribute?"'":br(r,t.singleQuote);return Lu(r,n,!(t.parser==="css"||t.parser==="less"||t.parser==="scss"||t.__embeddedInHtml))}var Tt=hp;function Sp(e){return e.toLowerCase().replace(/^([+-]?[\d.]+e)(?:\+|(-))?0*(?=\d)/,"$1$2").replace(/^([+-]?[\d.]+)e[+-]?0+$/,"$1").replace(/^([+-])?\./,"$10.").replace(/(\.\d+?)0+(?=e|$)/,"$1").replace(/\.(?=e|$)/,"")}var He=Sp;function vu(e,t){let{node:r}=e;switch(r.type){case"RegExpLiteral":return wu(r);case"BigIntLiteral":return Or(r.extra.raw);case"NumericLiteral":return He(r.extra.raw);case"StringLiteral":return xe(Tt(r.extra.raw,t));case"NullLiteral":return"null";case"BooleanLiteral":return String(r.value);case"DecimalLiteral":return He(r.value)+"m";case"DirectiveLiteral":return Ou(r.extra.raw,t);case"Literal":{if(r.regex)return wu(r.regex);if(r.bigint)return Or(r.raw);if(r.decimal)return He(r.decimal)+"m";let{value:n}=r;return typeof n=="number"?He(r.raw):typeof n=="string"?Bp(e)?Ou(r.raw,t):xe(Tt(r.raw,t)):String(n)}}}function Bp(e){if(e.key!=="expression")return;let{parent:t}=e;return t.type==="ExpressionStatement"&&t.directive}function Or(e){return e.toLowerCase()}function wu({pattern:e,flags:t}){return t=[...t].sort().join(""),`/${e}/${t}`}function Ou(e,t){let r=e.slice(1,-1);if(r.includes('"')||r.includes("'"))return e;let n=t.singleQuote?"'":'"';return n+r+n}var vr=j(["Literal","BigIntLiteral","BooleanLiteral","DecimalLiteral","DirectiveLiteral","NullLiteral","NumericLiteral","RegExpLiteral","StringLiteral"]);function ft(e,t,r,n,s,u){let i=bp(e,t,r,n,u),a=u?r(u,{assignmentLayout:i}):"";switch(i){case"break-after-operator":return y([y(n),s,y(E([A,a]))]);case"never-break-after-operator":return y([y(n),s," ",a]);case"fluid":{let o=Symbol("assignment");return y([y(n),s,y(E(A),{id:o}),Ae,mt(a,{groupId:o})])}case"break-lhs":return y([n,s," ",y(a)]);case"chain":return[y(n),s,A,a];case"chain-tail":return[y(n),s,E([A,a])];case"chain-tail-arrow-chain":return[y(n),s,a];case"only-left":return n}}function ju(e,t,r){let{node:n}=e;return ft(e,t,r,r("left"),[" ",n.operator],"right")}function Mu(e,t,r){return ft(e,t,r,r("id")," =","init")}function bp(e,t,r,n,s){let{node:u}=e,i=u[s];if(!i)return"only-left";let a=!_r(i);if(e.match(_r,Ru,D=>!a||D.type!=="ExpressionStatement"&&D.type!=="VariableDeclaration"))return a?i.type==="ArrowFunctionExpression"&&i.body.type==="ArrowFunctionExpression"?"chain-tail-arrow-chain":"chain-tail":"chain";if(!a&&_r(i.right)||Ie(t.originalText,i))return"break-after-operator";if(i.type==="CallExpression"&&i.callee.name==="require"||t.parser==="json5"||t.parser==="json")return"never-break-after-operator";if(kp(u)||Ip(u)||Op(u)||rs(u)&&Rs(n))return"break-lhs";let m=Mp(u,n,t);return e.call(()=>Pp(e,t,r,m),s)?"break-after-operator":m||i.type==="TemplateLiteral"||i.type==="TaggedTemplateExpression"||i.type==="BooleanLiteral"||he(i)||i.type==="ClassExpression"?"never-break-after-operator":"fluid"}function Pp(e,t,r,n){let s=e.node;if(ce(s)&&!Ot(s))return!0;switch(s.type){case"StringLiteralTypeAnnotation":case"SequenceExpression":return!0;case"ConditionalExpression":{let{test:a}=s;return ce(a)&&!Ot(a)}case"ClassExpression":return b(s.decorators)}if(n)return!1;let u=s,i=[];for(;;)if(u.type==="UnaryExpression"||u.type==="AwaitExpression"||u.type==="YieldExpression"&&u.argument!==null)u=u.argument,i.push("argument");else if(u.type==="TSNonNullExpression")u=u.expression,i.push("expression");else break;return!!(Q(u)||e.call(()=>Ju(e,t,r),...i))}function kp(e){if(Ru(e)){let t=e.left||e.id;return t.type==="ObjectPattern"&&t.properties.length>2&&t.properties.some(r=>{var n;return fe(r)&&(!r.shorthand||((n=r.value)==null?void 0:n.type)==="AssignmentPattern")})}return!1}function _r(e){return e.type==="AssignmentExpression"}function Ru(e){return _r(e)||e.type==="VariableDeclarator"}function Ip(e){let t=wp(e);if(b(t)){let r=e.type==="TSTypeAliasDeclaration"?"constraint":"bound";if(t.length>1&&t.some(n=>n[r]||n.default))return!0}return!1}var Lp=j(["TSTypeAliasDeclaration","TypeAlias"]);function wp(e){var t;if(Lp(e))return(t=e.typeParameters)==null?void 0:t.params}function Op(e){if(e.type!=="VariableDeclarator")return!1;let{typeAnnotation:t}=e.id;if(!t||!t.typeAnnotation)return!1;let r=_u(t.typeAnnotation);return b(r)&&r.length>1&&r.some(n=>b(_u(n))||n.type==="TSConditionalType")}function rs(e){var t;return e.type==="VariableDeclarator"&&((t=e.init)==null?void 0:t.type)==="ArrowFunctionExpression"}var vp=j(["TSTypeReference","GenericTypeAnnotation"]);function _u(e){var t;if(vp(e))return(t=e.typeParameters)==null?void 0:t.params}function Ju(e,t,r,n=!1){var i;let{node:s}=e,u=()=>Ju(e,t,r,!0);if(s.type==="ChainExpression"||s.type==="TSNonNullExpression")return e.call(u,"expression");if(k(s)){if((i=wr(e,t,r).label)!=null&&i.memberChain)return!1;let o=Ce(s);return!(o.length===0||o.length===1&&jp(o[0],t))||Rp(s,r)?!1:e.call(u,"callee")}return J(s)?e.call(u,"object"):n&&(s.type==="Identifier"||s.type==="ThisExpression")}var _p=.25;function jp(e,{printWidth:t}){if(d(e))return!1;let r=t*_p;if(e.type==="ThisExpression"||e.type==="Identifier"&&e.name.length<=r||Ar(e)&&!d(e.argument))return!0;let n=e.type==="Literal"&&"regex"in e&&e.regex.pattern||e.type==="RegExpLiteral"&&e.pattern;return n?n.length<=r:Q(e)?oe(e).length<=r:e.type==="TemplateLiteral"?e.expressions.length===0&&e.quasis[0].value.raw.length<=r&&!e.quasis[0].value.raw.includes(` `):vr(e)}function Mp(e,t,r){if(!fe(e))return!1;t=Bt(t);let n=3;return typeof t=="string"&&tt(t)1)return!0;if(r.length===1){let s=r[0];if(s.type==="TSUnionType"||s.type==="UnionTypeAnnotation"||s.type==="TSIntersectionType"||s.type==="IntersectionTypeAnnotation"||s.type==="TSTypeLiteral"||s.type==="ObjectTypeAnnotation")return!0}let n=e.typeParameters?"typeParameters":"typeArguments";if(K(t(n)))return!0}return!1}function Jp(e){var t;return(t=e.typeParameters??e.typeArguments)==null?void 0:t.params}function ot(e,t,r,n,s){let u=e.node,i=X(u),a=s?Ve(e,r,t):"";if(i.length===0)return[a,"(",M(e,r,{filter:l=>$e(r.originalText,O(l))===")"}),")"];let{parent:o}=e,p=Ct(o),m=ns(u),D=[];if(uu(e,(l,h)=>{let g=h===i.length-1;g&&u.rest&&D.push("..."),D.push(t()),!g&&(D.push(","),p||m?D.push(" "):me(i[h],r)?D.push(C,C):D.push(A))}),n&&!Up(e)){if(K(a)||K(D))throw new at;return y([Ut(a),"(",Ut(D),")"])}let c=i.every(l=>!b(l.decorators));return m&&c?[a,"(",...D,")"]:p?[a,"(",...D,")"]:(Tr(o)||Zs(o)||o.type==="TypeAlias"||o.type==="UnionTypeAnnotation"||o.type==="TSUnionType"||o.type==="IntersectionTypeAnnotation"||o.type==="FunctionTypeAnnotation"&&o.returnType===u)&&i.length===1&&i[0].name===null&&u.this!==i[0]&&i[0].typeAnnotation&&u.typeParameters===null&&wt(i[0].typeAnnotation)&&!u.rest?r.arrowParens==="always"?["(",...D,")"]:D:[a,"(",E([F,...D]),P(!su(u)&&le(r,"all")?",":""),F,")"]}function ns(e){if(!e)return!1;let t=X(e);if(t.length!==1)return!1;let[r]=t;return!d(r)&&(r.type==="ObjectPattern"||r.type==="ArrayPattern"||r.type==="Identifier"&&r.typeAnnotation&&(r.typeAnnotation.type==="TypeAnnotation"||r.typeAnnotation.type==="TSTypeAnnotation")&&ke(r.typeAnnotation.typeAnnotation)||r.type==="FunctionTypeParam"&&ke(r.typeAnnotation)&&r!==e.rest||r.type==="AssignmentPattern"&&(r.left.type==="ObjectPattern"||r.left.type==="ArrayPattern")&&(r.right.type==="Identifier"||ee(r.right)&&r.right.properties.length===0||G(r.right)&&r.right.elements.length===0))}function Np(e){let t;return e.returnType?(t=e.returnType,t.typeAnnotation&&(t=t.typeAnnotation)):e.typeAnnotation&&(t=e.typeAnnotation),t}function xt(e,t){var s;let r=Np(e);if(!r)return!1;let n=(s=e.typeParameters)==null?void 0:s.params;if(n){if(n.length>1)return!1;if(n.length===1){let u=n[0];if(u.constraint||u.default)return!1}}return X(e).length===1&&(ke(r)||K(t))}function Up(e){return e.match(t=>t.type==="ArrowFunctionExpression"&&t.body.type==="BlockStatement",(t,r)=>{if(t.type==="CallExpression"&&r==="arguments"&&t.arguments.length===1&&t.callee.type==="CallExpression"){let n=t.callee.callee;return n.type==="Identifier"||n.type==="MemberExpression"&&!n.computed&&n.object.type==="Identifier"&&n.property.type==="Identifier"}return!1},(t,r)=>t.type==="VariableDeclarator"&&r==="init"||t.type==="ExportDefaultDeclaration"&&r==="declaration"||t.type==="TSExportAssignment"&&r==="expression"||t.type==="AssignmentExpression"&&r==="right"&&t.left.type==="MemberExpression"&&t.left.object.type==="Identifier"&&t.left.object.name==="module"&&t.left.property.type==="Identifier"&&t.left.property.name==="exports",t=>t.type!=="VariableDeclaration"||t.kind==="const"&&t.declarations.length===1)}function Nu(e){let t=X(e);return t.length>1&&t.some(r=>r.type==="TSParameterProperty")}function ss(e){if(wt(e)||ke(e))return!0;if(e.type==="UnionTypeAnnotation"||e.type==="TSUnionType"){let t=e.types.filter(s=>s.type==="VoidTypeAnnotation"||s.type==="TSVoidKeyword"||s.type==="NullLiteralTypeAnnotation"||s.type==="TSNullKeyword").length,r=e.types.some(s=>s.type==="ObjectTypeAnnotation"||s.type==="TSTypeLiteral"||s.type==="GenericTypeAnnotation"||s.type==="TSTypeReference"),n=e.types.some(s=>d(s));if(e.types.length-1===t&&r&&!n)return!0}return!1}function Uu(e,t,r){let n=t.semi?";":"",{node:s}=e,u=[Z(e),"opaque type ",r("id"),r("typeParameters")];return s.supertype&&u.push(": ",r("supertype")),s.impltype&&u.push(" = ",r("impltype")),u.push(n),u}function jr(e,t,r){let n=t.semi?";":"",{node:s}=e,u=[Z(e)];u.push("type ",r("id"),r("typeParameters"));let i=s.type==="TSTypeAliasDeclaration"?"typeAnnotation":"right";return[ft(e,t,r,u," =",i),n]}function Mr(e,t,r){let n=!1;return y(e.map(({isFirst:s,previous:u,node:i,index:a})=>{let o=r();if(s)return o;let p=ke(i),m=ke(u);return m&&p?[" & ",n?E(o):o]:!m&&!p?E([" &",A,o]):(a>1&&(n=!0),[" & ",a>1?E(o):o])},"types"))}function Rr(e,t,r){let{node:n}=e,{parent:s}=e,u=s.type!=="TypeParameterInstantiation"&&s.type!=="TSTypeParameterInstantiation"&&s.type!=="GenericTypeAnnotation"&&s.type!=="TSTypeReference"&&s.type!=="TSTypeAssertion"&&s.type!=="TupleTypeAnnotation"&&s.type!=="TSTupleType"&&!(s.type==="FunctionTypeParam"&&!s.name&&e.grandparent.this!==s)&&!((s.type==="TypeAlias"||s.type==="VariableDeclarator"||s.type==="TSTypeAliasDeclaration")&&Ie(t.originalText,n)),i=ss(n),a=e.map(m=>{let D=r();return i||(D=De(2,D)),pe(m,D,t)},"types");if(i)return B(" | ",a);let o=u&&!Ie(t.originalText,n),p=[P([o?A:"","| "]),B([A,"| "],a)];return we(e,t)?y([E(p),F]):(s.type==="TupleTypeAnnotation"||s.type==="TSTupleType")&&s[s.type==="TupleTypeAnnotation"&&s.types?"types":"elementTypes"].length>1?y([E([P(["(",F]),p]),F,P(")")]):y(u?E(p):p)}function Gp(e){var n;let{node:t,parent:r}=e;return t.type==="FunctionTypeAnnotation"&&(Tr(r)||!((r.type==="ObjectTypeProperty"||r.type==="ObjectTypeInternalSlot")&&!r.variance&&!r.optional&&yt(r,t)||r.type==="ObjectTypeCallProperty"||((n=e.getParentNode(2))==null?void 0:n.type)==="DeclareFunction"))}function Jr(e,t,r){let{node:n}=e,s=[_t(e)];(n.type==="TSConstructorType"||n.type==="TSConstructSignatureDeclaration")&&s.push("new ");let u=ot(e,r,t,!1,!0),i=[];return n.type==="FunctionTypeAnnotation"?i.push(Gp(e)?" => ":": ",r("returnType")):i.push(q(e,r,n.returnType?"returnType":"typeAnnotation")),xt(n,i)&&(u=y(u)),s.push(u,i),y(s)}function Nr(e,t,r){return[r("objectType"),$(e),"[",r("indexType"),"]"]}function Ur(e,t,r){return["infer ",r("typeParameter")]}function us(e,t,r){let{node:n}=e;return[n.postfix?"":r,q(e,t),n.postfix?r:""]}function Gr(e,t,r){let{node:n}=e;return["...",...n.type==="TupleTypeSpreadElement"&&n.label?[r("label"),": "]:[],r("typeAnnotation")]}function qr(e,t,r){let{node:n}=e;return[n.variance?r("variance"):"",r("label"),n.optional?"?":"",": ",r("elementType")]}var qp=new WeakSet;function q(e,t,r="typeAnnotation"){let{node:{[r]:n}}=e;if(!n)return"";let s=!1;if(n.type==="TSTypeAnnotation"||n.type==="TypeAnnotation"){let u=e.call(Gu,r);(u==="=>"||u===":"&&d(n,x.Leading))&&(s=!0),qp.add(n)}return s?[" ",t(r)]:t(r)}var Gu=e=>e.match(t=>t.type==="TSTypeAnnotation",(t,r)=>(r==="returnType"||r==="typeAnnotation")&&(t.type==="TSFunctionType"||t.type==="TSConstructorType"))?"=>":e.match(t=>t.type==="TSTypeAnnotation",(t,r)=>r==="typeAnnotation"&&(t.type==="TSJSDocNullableType"||t.type==="TSJSDocNonNullableType"||t.type==="TSTypePredicate"))||e.match(t=>t.type==="TypeAnnotation",(t,r)=>r==="typeAnnotation"&&t.type==="Identifier",(t,r)=>r==="id"&&t.type==="DeclareFunction")||e.match(t=>t.type==="TypeAnnotation",(t,r)=>r==="bound"&&t.type==="TypeParameter"&&t.usesExtendsBound)?"":":";function Wr(e,t,r){let n=Gu(e);return n?[n," ",r("typeAnnotation")]:r("typeAnnotation")}function Yr(e){return[e("elementType"),"[]"]}function Xr({node:e},t){return["typeof ",...e.type==="TSTypeQuery"?[t("exprName"),t("typeParameters")]:[t("argument")]]}function $r(e,t){let{node:r}=e;return[r.asserts?"asserts ":"",t("parameterName"),r.typeAnnotation?[" is ",q(e,t)]:""]}function $(e){let{node:t}=e;return!t.optional||t.type==="Identifier"&&t===e.parent.key?"":k(t)||J(t)&&t.computed||t.type==="OptionalIndexedAccessType"?"?.":"?"}function Vr(e){return e.node.definite||e.match(void 0,(t,r)=>r==="id"&&t.type==="VariableDeclarator"&&t.definite)?"!":""}var Wp=new Set(["DeclareClass","DeclareFunction","DeclareVariable","DeclareExportDeclaration","DeclareExportAllDeclaration","DeclareOpaqueType","DeclareTypeAlias","DeclareEnum","DeclareInterface"]);function Z(e){let{node:t}=e;return t.declare||Wp.has(t.type)&&e.parent.type!=="DeclareExportDeclaration"?"declare ":""}var Yp=new Set(["TSAbstractMethodDefinition","TSAbstractPropertyDefinition","TSAbstractAccessorProperty"]);function _t({node:e}){return e.abstract||Yp.has(e.type)?"abstract ":""}function Ve(e,t,r){let n=e.node;return n.typeArguments?r("typeArguments"):n.typeParameters?r("typeParameters"):""}function Lr(e,t,r){return["::",r("callee")]}function pt(e,t,r){return e.type==="EmptyStatement"?";":e.type==="BlockStatement"||r?[" ",t]:E([A,t])}function Hr(e,t){return["...",t("argument"),q(e,t)]}function jt(e){return e.accessibility?e.accessibility+" ":""}function is(e,t,r){let{node:n}=e;return y([B(A,e.map(r,"decorators")),Yu(n,t)?C:A])}function qu(e,t,r){return Xu(e.node)?[B(C,e.map(r,"declaration","decorators")),C]:""}function Wu(e,t,r){let{node:n,parent:s}=e,{decorators:u}=n;if(!b(u)||Xu(s)||kr(e))return"";let i=n.type==="ClassExpression"||n.type==="ClassDeclaration"||Yu(n,t);return[e.key==="declaration"&&Qs(s)?C:i?Te:"",B(A,e.map(r,"decorators")),A]}function Yu(e,t){return e.decorators.some(r=>z(t.originalText,O(r)))}function Xu(e){var r;if(e.type!=="ExportDefaultDeclaration"&&e.type!=="ExportNamedDeclaration"&&e.type!=="DeclareExportDeclaration")return!1;let t=(r=e.declaration)==null?void 0:r.decorators;return b(t)&&yt(e,t[0])}function $u(e,t,r){let{node:n}=e;return["import",n.module?" module":"",os(n),Ku(e,t,r),Hu(e,t,r),Qu(e,t,r),t.semi?";":""]}var Vu=e=>e.type==="ExportDefaultDeclaration"||e.type==="DeclareExportDeclaration"&&e.default;function Kr(e,t,r){let{node:n}=e,s=[qu(e,t,r),Z(e),"export",Vu(n)?" default":""],{declaration:u,exported:i}=n;return d(n,x.Dangling)&&(s.push(" ",M(e,t)),gr(n)&&s.push(C)),u?s.push(" ",r("declaration")):(s.push(Vp(n)),n.type==="ExportAllDeclaration"||n.type==="DeclareExportAllDeclaration"?(s.push(" *"),i&&s.push(" as ",r("exported"))):s.push(Ku(e,t,r)),s.push(Hu(e,t,r),Qu(e,t,r))),s.push($p(n,t)),s}var Xp=j(["ClassDeclaration","FunctionDeclaration","TSInterfaceDeclaration","DeclareClass","DeclareFunction","TSDeclareFunction","EnumDeclaration"]);function $p(e,t){return t.semi&&(!e.declaration||Vu(e)&&!Xp(e.declaration))?";":""}function as(e,t=!0){return e&&e!=="value"?`${t?" ":""}${e}${t?"":" "}`:""}function os(e,t){return as(e.importKind,t)}function Vp(e){return as(e.exportKind)}function Hu(e,t,r){let{node:n}=e;if(!n.source)return"";let s=[];return zu(n,t)||s.push(" from"),s.push(" ",r("source")),s}function Ku(e,t,r){let{node:n}=e;if(zu(n,t))return"";let s=[" "];if(b(n.specifiers)){let u=[],i=[];e.each(()=>{let a=e.node.type;if(a==="ExportNamespaceSpecifier"||a==="ExportDefaultSpecifier"||a==="ImportNamespaceSpecifier"||a==="ImportDefaultSpecifier")u.push(r());else if(a==="ExportSpecifier"||a==="ImportSpecifier")i.push(r());else throw new Oe(n,"specifier")},"specifiers"),s.push(B(", ",u)),i.length>0&&(u.length>0&&s.push(", "),i.length>1||u.length>0||n.specifiers.some(o=>d(o))?s.push(y(["{",E([t.bracketSpacing?A:F,B([",",A],i)]),P(le(t)?",":""),t.bracketSpacing?A:F,"}"])):s.push(["{",t.bracketSpacing?" ":"",...i,t.bracketSpacing?" ":"","}"]))}else s.push("{}");return s}function zu(e,t){let{type:r,importKind:n,source:s,specifiers:u}=e;return r!=="ImportDeclaration"||b(u)||n==="type"?!1:!/{\s*}/.test(t.originalText.slice(U(e),U(s)))}function Qu(e,t,r){var i;let{node:n}=e,s=b(n.attributes)?"attributes":b(n.assertions)?"assertions":void 0;return s?[` ${s==="assertions"||(i=n.extra)!=null&&i.deprecatedAssertSyntax?"assert":"with"} {`,t.bracketSpacing?" ":"",B(", ",e.map(r,s)),t.bracketSpacing?" ":"","}"]:""}function Zu(e,t,r){let{node:n}=e,{type:s}=n,u=s.startsWith("Import"),i=u?"imported":"local",a=u?"local":"exported",o=n[i],p=n[a],m="",D="";return s==="ExportNamespaceSpecifier"||s==="ImportNamespaceSpecifier"?m="*":o&&(m=r(i)),p&&!Hp(n)&&(D=r(a)),[as(s==="ImportSpecifier"?n.importKind:n.exportKind,!1),m,m&&D?" as ":"",D]}function Hp(e){if(e.type!=="ImportSpecifier"&&e.type!=="ExportSpecifier")return!1;let{local:t,[e.type==="ImportSpecifier"?"imported":"exported"]:r}=e;if(t.type!==r.type||!Xs(t,r))return!1;if(Q(t))return t.value===r.value&&oe(t)===oe(r);switch(t.type){case"Identifier":return t.name===r.name;default:return!1}}function Kp(e){let t=[e];for(let r=0;rc[V]===n),l=c.type===n.type&&!f,h,g,S=0;do g=h||n,h=e.getParentNode(S),S++;while(h&&h.type===n.type&&a.every(V=>h[V]!==g));let I=h||c,v=g;if(s&&(Y(n[a[0]])||Y(o)||Y(p)||Kp(v))){D=!0,l=!0;let V=Ee=>[P("("),E([F,Ee]),F,P(")")],Be=Ee=>Ee.type==="NullLiteral"||Ee.type==="Literal"&&Ee.value===null||Ee.type==="Identifier"&&Ee.name==="undefined";m.push(" ? ",Be(o)?r(u):V(r(u))," : ",p.type===n.type||Be(p)?r(i):V(r(i)))}else{let V=[A,"? ",o.type===n.type?P("","("):"",De(2,r(u)),o.type===n.type?P("",")"):"",A,": ",p.type===n.type?r(i):De(2,r(i))];m.push(c.type!==n.type||c[i]===n||f?V:t.useTabs?Os(E(V)):De(Math.max(0,t.tabWidth-2),V))}let _=[u,i,...a].some(V=>d(n[V],Be=>ae(Be)&&rt(t.originalText,U(Be),O(Be)))),R=V=>c===I?y(V,{shouldBreak:_}):_?[V,Te]:V,T=!D&&(J(c)||c.type==="NGPipeExpression"&&c.left===n)&&!c.computed,N=Zp(e),Se=R([zp(e,t,r),l?m:E(m),s&&T&&!N?F:""]);return f||N?y([E([F,Se]),F]):Se}function ec(e,t,r=0){let n=0;for(let s=r;s0&&o(i),f()}function c(){a>0&&p(a),f()}function f(){i=0,a=0}}function cs(e){let t=0,r=0,n=e.length;e:for(;n--;){let s=e[n];if(s===rr){r++;continue}for(let u=s.length-1;u>=0;u--){let i=s[u];if(i===" "||i===" ")t++;else{e[n]=s.slice(0,u+1);break e}}}if(t>0||r>0)for(e.length=n+1;r-- >0;)e.push(rr);return t}function zr(e,t,r,n,s,u){if(r===Number.POSITIVE_INFINITY)return!0;let i=t.length,a=[e],o=[];for(;r>=0;){if(a.length===0){if(i===0)return!0;a.push(t[--i]);continue}let{mode:p,doc:m}=a.pop();switch(Ze(m)){case Ke:o.push(m),r-=tt(m);break;case je:case ye:{let D=mr(m);for(let c=D.length-1;c>=0;c--)a.push({mode:p,doc:D[c]});break}case Me:case Re:case Je:case be:a.push({mode:p,doc:m.contents});break;case Qe:r+=cs(o);break;case ue:{if(u&&m.break)return!1;let D=m.break?de:p,c=m.expandedStates&&D===de?w(!1,m.expandedStates,-1):m.contents;a.push({mode:D,doc:c});break}case Fe:{let c=(m.groupId?s[m.groupId]||nt:p)===de?m.breakContents:m.flatContents;c&&a.push({mode:p,doc:c});break}case ie:if(p===de||m.hard)return!0;m.soft||(o.push(" "),r--);break;case Ne:n=!0;break;case Ue:if(n)return!1;break}}return!1}function ls(e,t){let r={},n=t.printWidth,s=ri(t.endOfLine),u=0,i=[{ind:ni(),mode:de,doc:e}],a=[],o=!1,p=[],m=0;for(Ms(e);i.length>0;){let{ind:c,mode:f,doc:l}=i.pop();switch(Ze(l)){case Ke:{let h=s!==` `?H(!1,l,` `,s):l;a.push(h),i.length>0&&(u+=tt(h));break}case je:for(let h=l.length-1;h>=0;h--)i.push({ind:c,mode:f,doc:l[h]});break;case ze:if(m>=2)throw new Error("There are too many 'cursor' in doc.");a.push(rr),m++;break;case Me:i.push({ind:rc(c,t),mode:f,doc:l.contents});break;case Re:i.push({ind:nc(c,l.n,t),mode:f,doc:l.contents});break;case Qe:u-=cs(a);break;case ue:switch(f){case nt:if(!o){i.push({ind:c,mode:l.break?de:nt,doc:l.contents});break}case de:{o=!1;let h={ind:c,mode:nt,doc:l.contents},g=n-u,S=p.length>0;if(!l.break&&zr(h,i,g,S,r))i.push(h);else if(l.expandedStates){let I=w(!1,l.expandedStates,-1);if(l.break){i.push({ind:c,mode:de,doc:I});break}else for(let v=1;v=l.expandedStates.length){i.push({ind:c,mode:de,doc:I});break}else{let _=l.expandedStates[v],R={ind:c,mode:nt,doc:_};if(zr(R,i,g,S,r)){i.push(R);break}}}else i.push({ind:c,mode:de,doc:l.contents});break}}l.id&&(r[l.id]=w(!1,i,-1).mode);break;case ye:{let h=n-u,{parts:g}=l;if(g.length===0)break;let[S,I]=g,v={ind:c,mode:nt,doc:S},_={ind:c,mode:de,doc:S},R=zr(v,[],h,p.length>0,r,!0);if(g.length===1){R?i.push(v):i.push(_);break}let T={ind:c,mode:nt,doc:I},N={ind:c,mode:de,doc:I};if(g.length===2){R?i.push(T,v):i.push(N,_);break}g.splice(0,2);let Se={ind:c,mode:f,doc:St(g)},V=g[0];zr({ind:c,mode:nt,doc:[S,I,V]},[],h,p.length>0,r,!0)?i.push(Se,T,v):R?i.push(Se,N,v):i.push(Se,N,_);break}case Fe:case Je:{let h=l.groupId?r[l.groupId]:f;if(h===de){let g=l.type===Fe?l.breakContents:l.negate?l.contents:E(l.contents);g&&i.push({ind:c,mode:f,doc:g})}if(h===nt){let g=l.type===Fe?l.flatContents:l.negate?E(l.contents):l.contents;g&&i.push({ind:c,mode:f,doc:g})}break}case Ne:p.push({ind:c,mode:f,doc:l.contents});break;case Ue:p.length>0&&i.push({ind:c,mode:f,doc:Sn});break;case ie:switch(f){case nt:if(l.hard)o=!0;else{l.soft||(a.push(" "),u+=1);break}case de:if(p.length>0){i.push({ind:c,mode:f,doc:l},...p.reverse()),p.length=0;break}l.literal?c.root?(a.push(s,c.root.value),u=c.root.length):(a.push(s),u=0):(u-=cs(a),a.push(s+c.value),u=c.length);break}break;case be:i.push({ind:c,mode:f,doc:l.contents});break;case Pe:break;default:throw new lt(l)}i.length===0&&p.length>0&&(i.push(...p.reverse()),p.length=0)}let D=a.indexOf(rr);if(D!==-1){let c=a.indexOf(rr,D+1),f=a.slice(0,D).join(""),l=a.slice(D+1,c).join(""),h=a.slice(c+1).join("");return{formatted:f+l+h,cursorNodeStart:f.length,cursorNodeText:l}}return{formatted:a.join("")}}function Qr(e,t,r){let{node:n}=e;if(n.type==="TemplateLiteral"&&ic(e)){let m=sc(e,r,t);if(m)return m}let u="expressions";n.type==="TSTemplateLiteralType"&&(u="types");let i=[],a=e.map(t,u),o=eu(n);o&&(a=a.map(m=>ls(m,{...r,printWidth:Number.POSITIVE_INFINITY}).formatted)),i.push(Ae,"`");let p=0;return e.each(({index:m,node:D})=>{if(i.push(t()),D.tail)return;let{tabWidth:c}=r,f=D.value.raw,l=f.includes(` `)?ti(f,c):p;p=l;let h=a[m];if(!o){let S=n[u][m];(d(S)||J(S)||S.type==="ConditionalExpression"||S.type==="SequenceExpression"||Le(S)||ce(S))&&(h=[E([F,h]),F])}let g=l===0&&f.endsWith(` `)?De(Number.NEGATIVE_INFINITY,h):vs(h,l,c);i.push(y(["${",g,Ae,"}"]))},"quasis"),i.push("`"),i}function si(e){let t=e("quasi");return et(t.label&&{tagged:!0,...t.label},[e("tag"),e("typeParameters"),Ae,t])}function sc(e,t,r){let{node:n}=e,s=n.quasis[0].value.raw.trim().split(/\s*\|\s*/);if(s.length>1||s.some(u=>u.length>0)){t.__inJestEach=!0;let u=e.map(r,"expressions");t.__inJestEach=!1;let i=[],a=u.map(c=>"${"+ls(c,{...t,printWidth:Number.POSITIVE_INFINITY,endOfLine:"lf"}).formatted+"}"),o=[{hasLineBreak:!1,cells:[]}];for(let c=1;cc.cells.length)),m=Array.from({length:p}).fill(0),D=[{cells:s},...o.filter(c=>c.cells.length>0)];for(let{cells:c}of D.filter(f=>!f.hasLineBreak))for(let[f,l]of c.entries())m[f]=Math.max(m[f],tt(l));return i.push(Ae,"`",E([C,B(C,D.map(c=>B(" | ",c.cells.map((f,l)=>c.hasLineBreak?f:f+" ".repeat(m[l]-tt(f))))))]),C,"`"),i}}function uc(e,t){let{node:r}=e,n=t();return d(r)&&(n=y([E([F,n]),F])),["${",n,Ae,"}"]}function Rt(e,t){return e.map(r=>uc(r,t),"expressions")}function Zr(e,t){return ut(e,r=>typeof r=="string"?t?H(!1,r,/(\\*)`/g,"$1$1\\`"):ms(r):r)}function ms(e){return H(!1,e,/([\\`]|\${)/g,"\\$1")}function ic({node:e,parent:t}){let r=/^[fx]?(?:describe|it|test)$/;return t.type==="TaggedTemplateExpression"&&t.quasi===e&&t.tag.type==="MemberExpression"&&t.tag.property.type==="Identifier"&&t.tag.property.name==="each"&&(t.tag.object.type==="Identifier"&&r.test(t.tag.object.name)||t.tag.object.type==="MemberExpression"&&t.tag.object.property.type==="Identifier"&&(t.tag.object.property.name==="only"||t.tag.object.property.name==="skip")&&t.tag.object.object.type==="Identifier"&&r.test(t.tag.object.object.name))}function ac(e){let t=new WeakMap;return function(r){return t.has(r)||t.set(r,Symbol(e)),t.get(r)}}var en=ac;function oc(e){switch(e){case null:return"";case"PlusOptional":return"+?";case"MinusOptional":return"-?";case"Optional":return"?"}}function ui(e,t,r){let{node:n}=e;return y([n.variance?r("variance"):"","[",E([r("keyTparam")," in ",r("sourceType")]),"]",oc(n.optional),": ",r("propType")])}function ys(e,t){return e==="+"||e==="-"?e+t:t}function ii(e,t,r){let{node:n}=e,s=rt(t.originalText,U(n),U(n.typeParameter));return y(["{",E([t.bracketSpacing?A:F,y([r("typeParameter"),n.optional?ys(n.optional,"?"):"",n.typeAnnotation?": ":"",r("typeAnnotation")]),t.semi?P(";"):""]),M(e,t),t.bracketSpacing?A:F,"}"],{shouldBreak:s})}var nr=en("typeParameters");function pc(e,t,r){let{node:n}=e;return X(n).length===1&&n.type.startsWith("TS")&&!n[r][0].constraint&&e.parent.type==="ArrowFunctionExpression"&&!(t.filepath&&/\.ts$/.test(t.filepath))}function gt(e,t,r,n){let{node:s}=e;if(!s[n])return"";if(!Array.isArray(s[n]))return r(n);let u=e.getNode(2),i=u&&Ct(u),a=e.match(m=>!(m[n].length===1&&ke(m[n][0])),void 0,(m,D)=>D==="typeAnnotation",m=>m.type==="Identifier",rs);if(s[n].length===0||!a&&(i||s[n].length===1&&(s[n][0].type==="NullableTypeAnnotation"||ss(s[n][0]))))return["<",B(", ",e.map(r,n)),cc(e,t),">"];let p=s.type==="TSTypeParameterInstantiation"?"":pc(e,t,n)?",":le(t)?P(","):"";return y(["<",E([F,B([",",A],e.map(r,n))]),p,F,">"],{id:nr(s)})}function cc(e,t){let{node:r}=e;if(!d(r,x.Dangling))return"";let n=!d(r,x.Line),s=M(e,t,{indent:!n});return n?s:[s,C]}function tn(e,t,r){let{node:n,parent:s}=e,u=[n.type==="TSTypeParameter"&&n.const?"const ":""],i=n.type==="TSTypeParameter"?r("name"):n.name;if(s.type==="TSMappedType")return s.readonly&&u.push(ys(s.readonly,"readonly")," "),u.push("[",i),n.constraint&&u.push(" in ",r("constraint")),s.nameType&&u.push(" as ",e.callParent(()=>r("nameType"))),u.push("]"),u;if(n.variance&&u.push(r("variance")),n.in&&u.push("in "),n.out&&u.push("out "),u.push(i),n.bound&&(n.usesExtendsBound&&u.push(" extends "),u.push(q(e,r,"bound"))),n.constraint){let a=Symbol("constraint");u.push(" extends",y(E(A),{id:a}),Ae,mt(r("constraint"),{groupId:a}))}return n.default&&u.push(" = ",r("default")),y(u)}var ai=new Proxy(()=>{},{get:()=>ai}),rn=ai;var nn=new WeakMap;function ct(e,t,r){let{node:n}=e;if(n.computed)return["[",r("key"),"]"];let{parent:s}=e,{key:u}=n;if(t.quoteProps==="consistent"&&!nn.has(s)){let i=(s.properties||s.body||s.members).some(a=>!a.computed&&a.key&&Q(a.key)&&!_n(a,t));nn.set(s,i)}if((u.type==="Identifier"||he(u)&&jn(He(oe(u)))&&String(u.value)===He(oe(u))&&!(t.parser==="typescript"||t.parser==="babel-ts"))&&(t.parser==="json"||t.quoteProps==="consistent"&&nn.get(s))){let i=Tt(JSON.stringify(u.type==="Identifier"?u.name:u.value.toString()),t);return e.call(a=>pe(a,i,t),"key")}return _n(n,t)&&(t.quoteProps==="as-needed"||t.quoteProps==="consistent"&&!nn.get(s))?e.call(i=>pe(i,/^\d/.test(u.value)?He(u.value):u.value,t),"key"):r("key")}function oi(e,t,r){let{node:n}=e;return n.shorthand?r("value"):ft(e,t,r,ct(e,t,r),":","value")}var lc=e=>e.type==="ObjectMethod"||e.type==="ClassMethod"||e.type==="ClassPrivateMethod"||e.type==="MethodDefinition"||e.type==="TSAbstractMethodDefinition"||e.type==="TSDeclareMethod"||(e.type==="Property"||e.type==="ObjectProperty")&&(e.method||e.kind==="get"||e.kind==="set"),mc=e=>e.node.type==="FunctionExpression"&&e.key==="value"&&lc(e.parent);function sn(e,t,r,n){if(mc(e))return un(e,r,t);let{node:s}=e,u=!1;if((s.type==="FunctionDeclaration"||s.type==="FunctionExpression")&&(n!=null&&n.expandLastArg)){let{parent:m}=e;k(m)&&(Ce(m).length>1||X(s).every(D=>D.type==="Identifier"&&!D.typeAnnotation))&&(u=!0)}let i=[Z(e),s.async?"async ":"",`function${s.generator?"*":""} `,s.id?t("id"):""],a=ot(e,t,r,u),o=on(e,t),p=xt(s,o);return i.push(Ve(e,r,t),y([p?y(a):a,o]),s.body?" ":"",t("body")),r.semi&&(s.declare||!s.body)&&i.push(";"),i}function sr(e,t,r){let{node:n}=e,{kind:s}=n,u=n.value||n,i=[];return!s||s==="init"||s==="method"||s==="constructor"?u.async&&i.push("async "):(rn.ok(s==="get"||s==="set"),i.push(s," ")),u.generator&&i.push("*"),i.push(ct(e,t,r),n.optional||n.key.optional?"?":"",n===u?un(e,t,r):r("value")),i}function un(e,t,r){let{node:n}=e,s=ot(e,r,t),u=on(e,r),i=Nu(n),a=xt(n,u),o=[Ve(e,t,r),y([i?y(s,{shouldBreak:!0}):a?y(s):s,u])];return n.body?o.push(" ",r("body")):o.push(t.semi?";":""),o}function yc(e){let t=X(e);return t.length===1&&!e.typeParameters&&!d(e,x.Dangling)&&t[0].type==="Identifier"&&!t[0].typeAnnotation&&!d(t[0])&&!t[0].optional&&!e.predicate&&!e.returnType}function an(e,t){if(t.arrowParens==="always")return!1;if(t.arrowParens==="avoid"){let{node:r}=e;return yc(r)}return!1}function on(e,t){let{node:r}=e,s=[q(e,t,"returnType")];return r.predicate&&s.push(t("predicate")),s}function pi(e,t,r){let{node:n}=e,s=t.semi?";":"",u=[];if(n.argument){let o=r("argument");Dc(t,n.argument)?o=["(",E([C,o]),C,")"]:(ce(n.argument)||n.argument.type==="SequenceExpression")&&(o=y([P("("),E([F,o]),F,P(")")])),u.push(" ",o)}let i=d(n,x.Dangling),a=s&&i&&d(n,x.Last|x.Line);return a&&u.push(s),i&&u.push(" ",M(e,t)),a||u.push(s),u}function ci(e,t,r){return["return",pi(e,t,r)]}function li(e,t,r){return["throw",pi(e,t,r)]}function Dc(e,t){if(Ie(e.originalText,t)||d(t,x.Leading,r=>rt(e.originalText,U(r),O(r)))&&!Y(t))return!0;if(Lt(t)){let r=t,n;for(;n=zs(r);)if(r=n,Ie(e.originalText,r))return!0}return!1}var mi=j(["ClassProperty","PropertyDefinition","ClassPrivateProperty","ClassAccessorProperty","AccessorProperty","TSAbstractPropertyDefinition","TSAbstractAccessorProperty"]);function pn(e,t,r){let{node:n}=e,s=[Z(e),_t(e),"class"],u=d(n.id,x.Trailing)||d(n.typeParameters,x.Trailing)||d(n.superClass)||b(n.extends)||b(n.mixins)||b(n.implements),i=[],a=[];if(n.id&&i.push(" ",r("id")),i.push(r("typeParameters")),n.superClass){let o=[Ec(e,t,r),r("superTypeParameters")],p=e.call(m=>["extends ",pe(m,o,t)],"superClass");u?a.push(A,y(p)):a.push(" ",p)}else a.push(Ds(e,t,r,"extends"));if(a.push(Ds(e,t,r,"mixins"),Ds(e,t,r,"implements")),u){let o;Di(n)?o=[...i,E(a)]:o=E([...i,a]),s.push(y(o,{id:yi(n)}))}else s.push(...i,...a);return s.push(" ",r("body")),s}var yi=en("heritageGroup");function fs(e){return P(C,"",{groupId:yi(e)})}function fc(e){return["extends","mixins","implements"].reduce((t,r)=>t+(Array.isArray(e[r])?e[r].length:0),e.superClass?1:0)>1}function Di(e){return e.typeParameters&&!d(e.typeParameters,x.Trailing|x.Line)&&!fc(e)}function Ds(e,t,r,n){let{node:s}=e;if(!b(s[n]))return"";let u=M(e,t,{marker:n});return[Di(s)?P(" ",A,{groupId:nr(s.typeParameters)}):A,u,u&&C,n,y(E([A,B([",",A],e.map(r,n))]))]}function Ec(e,t,r){let n=r("superClass"),{parent:s}=e;return s.type==="AssignmentExpression"?y(P(["(",E([F,n]),F,")"],n)):n}function cn(e,t,r){let{node:n}=e,s=[];return b(n.decorators)&&s.push(is(e,t,r)),s.push(jt(n)),n.static&&s.push("static "),s.push(_t(e)),n.override&&s.push("override "),s.push(sr(e,t,r)),s}function ln(e,t,r){let{node:n}=e,s=[],u=t.semi?";":"";b(n.decorators)&&s.push(is(e,t,r)),s.push(jt(n),Z(e)),n.static&&s.push("static "),s.push(_t(e)),n.override&&s.push("override "),n.readonly&&s.push("readonly "),n.variance&&s.push(r("variance")),(n.type==="ClassAccessorProperty"||n.type==="AccessorProperty"||n.type==="TSAbstractAccessorProperty")&&s.push("accessor "),s.push(ct(e,t,r),$(e),Vr(e),q(e,r));let i=n.type==="TSAbstractPropertyDefinition"||n.type==="TSAbstractAccessorProperty";return[ft(e,t,r,s," =",i?void 0:"value"),u]}function fi(e,t,r){let{node:n}=e,s=[];return e.each(({node:u,next:i,isLast:a})=>{s.push(r()),!t.semi&&mi(u)&&Fc(u,i)&&s.push(";"),a||(s.push(C),me(u,t)&&s.push(C))},"body"),d(n,x.Dangling)&&s.push(M(e,t)),[b(n.body)?fs(e.parent):"","{",s.length>0?[E([C,s]),C]:"","}"]}function Fc(e,t){var s;let{type:r,name:n}=e.key;if(!e.computed&&r==="Identifier"&&(n==="static"||n==="get"||n==="set")&&!e.value&&!e.typeAnnotation)return!0;if(!t||t.static||t.accessibility)return!1;if(!t.computed){let u=(s=t.key)==null?void 0:s.name;if(u==="in"||u==="instanceof")return!0}if(mi(t)&&t.variance&&!t.static&&!t.declare)return!0;switch(t.type){case"ClassProperty":case"PropertyDefinition":case"TSAbstractPropertyDefinition":return t.computed;case"MethodDefinition":case"TSAbstractMethodDefinition":case"ClassMethod":case"ClassPrivateMethod":{if((t.value?t.value.async:t.async)||t.kind==="get"||t.kind==="set")return!1;let i=t.value?t.value.generator:t.generator;return!!(t.computed||i)}case"TSIndexSignature":return!0}return!1}function Et(e,t,r){var R;let n=t.semi?";":"",{node:s}=e,u=s.type==="ObjectTypeAnnotation",i=s.type==="TSEnumDeclaration"||s.type==="EnumBooleanBody"||s.type==="EnumNumberBody"||s.type==="EnumStringBody"||s.type==="EnumSymbolBody",a=[s.type==="TSTypeLiteral"||i?"members":s.type==="TSInterfaceBody"?"body":"properties"];u&&a.push("indexers","callProperties","internalSlots");let o=a.flatMap(T=>e.map(({node:N})=>({node:N,printed:r(),loc:U(N)}),T));a.length>1&&o.sort((T,N)=>T.loc-N.loc);let{parent:p,key:m}=e,D=u&&m==="body"&&(p.type==="InterfaceDeclaration"||p.type==="DeclareInterface"||p.type==="DeclareClass"),c=s.type==="TSInterfaceBody"||i||D||s.type==="ObjectPattern"&&p.type!=="FunctionDeclaration"&&p.type!=="FunctionExpression"&&p.type!=="ArrowFunctionExpression"&&p.type!=="ObjectMethod"&&p.type!=="ClassMethod"&&p.type!=="ClassPrivateMethod"&&p.type!=="AssignmentPattern"&&p.type!=="CatchClause"&&s.properties.some(T=>T.value&&(T.value.type==="ObjectPattern"||T.value.type==="ArrayPattern"))||s.type!=="ObjectPattern"&&o.length>0&&rt(t.originalText,U(s),o[0].loc),f=D?";":s.type==="TSInterfaceBody"||s.type==="TSTypeLiteral"?P(n,";"):",",l=s.type==="RecordExpression"?"#{":s.exact?"{|":"{",h=s.exact?"|}":"}",g=[],S=o.map(T=>{let N=[...g,y(T.printed)];return g=[f,A],(T.node.type==="TSPropertySignature"||T.node.type==="TSMethodSignature"||T.node.type==="TSConstructSignatureDeclaration"||T.node.type==="TSCallSignatureDeclaration")&&d(T.node,x.PrettierIgnore)&&g.shift(),me(T.node,t)&&g.push(C),N});if(s.inexact||s.hasUnknownMembers){let T;if(d(s,x.Dangling)){let N=d(s,x.Line);T=[M(e,t),N||z(t.originalText,O(w(!1,Kt(s),-1)))?C:A,"..."]}else T=["..."];S.push([...g,...T])}let I=(R=w(!1,o,-1))==null?void 0:R.node,v=!(s.inexact||s.hasUnknownMembers||I&&(I.type==="RestElement"||(I.type==="TSPropertySignature"||I.type==="TSCallSignatureDeclaration"||I.type==="TSMethodSignature"||I.type==="TSConstructSignatureDeclaration")&&d(I,x.PrettierIgnore))),_;if(S.length===0){if(!d(s,x.Dangling))return[l,h,q(e,r)];_=y([l,M(e,t,{indent:!0}),F,h,$(e),q(e,r)])}else _=[D&&b(s.properties)?fs(p):"",l,E([t.bracketSpacing?A:F,...S]),P(v&&(f!==","||le(t))?f:""),t.bracketSpacing?A:F,h,$(e),q(e,r)];return e.match(T=>T.type==="ObjectPattern"&&!b(T.decorators),Es)||ke(s)&&(e.match(void 0,(T,N)=>N==="typeAnnotation",(T,N)=>N==="typeAnnotation",Es)||e.match(void 0,(T,N)=>T.type==="FunctionTypeParam"&&N==="typeAnnotation",Es))||!c&&e.match(T=>T.type==="ObjectPattern",T=>T.type==="AssignmentExpression"||T.type==="VariableDeclarator")?_:y(_,{shouldBreak:c})}function Es(e,t){return(t==="params"||t==="parameters"||t==="this"||t==="rest")&&ns(e)}var Fs=new WeakMap;function Ei(e){return Fs.has(e)||Fs.set(e,e.type==="ConditionalExpression"&&!re(e,t=>t.type==="ObjectExpression")),Fs.get(e)}var Fi=e=>e.type==="SequenceExpression";function Ci(e,t,r,n={}){let s=[],u,i=[],a=!1,o=!n.expandLastArg&&e.node.body.type==="ArrowFunctionExpression",p;(function g(){let{node:S}=e,I=Cc(e,t,r,n);if(s.length===0)s.push(I);else{let{leading:v,trailing:_}=Nn(e,t);s.push([v,I]),i.unshift(_)}o&&(a||(a=S.returnType&&X(S).length>0||S.typeParameters||X(S).some(v=>v.type!=="Identifier"))),!o||S.body.type!=="ArrowFunctionExpression"?(u=r("body",n),p=S.body):e.call(g,"body")})();let m=!Ie(t.originalText,p)&&(Fi(p)||dc(p,u,t)||!a&&Ei(p)),D=e.key==="callee"&&it(e.parent),c=Symbol("arrow-chain"),f=Ac(e,n,{signatureDocs:s,shouldBreak:a}),l,h=!1;return o&&(D||n.assignmentLayout)&&(h=!0,l=n.assignmentLayout==="chain-tail-arrow-chain"||D&&!m),u=Tc(e,t,n,{bodyDoc:u,bodyComments:i,functionBody:p,shouldPutBodyOnSameLine:m}),y([y(h?E([F,f]):f,{shouldBreak:l,id:c})," =>",o?mt(u,{groupId:c}):y(u),o&&D?P(F,"",{groupId:c}):""])}function Cc(e,t,r,n){let{node:s}=e,u=[];if(s.async&&u.push("async "),an(e,t))u.push(r(["params",0]));else{let a=n.expandLastArg||n.expandFirstArg,o=on(e,r);if(a){if(K(o))throw new at;o=y(Ut(o))}u.push(y([ot(e,r,t,a,!0),o]))}let i=M(e,t,{filter(a){let o=Xe(t.originalText,O(a));return o!==!1&&t.originalText.slice(o,o+2)==="=>"}});return i&&u.push(" ",i),u}function dc(e,t,r){var n,s;return G(e)||ee(e)||e.type==="ArrowFunctionExpression"||e.type==="DoExpression"||e.type==="BlockStatement"||Y(e)||((n=t.label)==null?void 0:n.hug)!==!1&&(((s=t.label)==null?void 0:s.embed)||xr(e,r.originalText))}function Ac(e,t,{signatureDocs:r,shouldBreak:n}){if(r.length===1)return r[0];let{parent:s,key:u}=e;return u!=="callee"&&it(s)||ce(s)?y([r[0]," =>",E([A,B([" =>",A],r.slice(1))])],{shouldBreak:n}):u==="callee"&&it(s)||t.assignmentLayout?y(B([" =>",A],r),{shouldBreak:n}):y(E(B([" =>",A],r)),{shouldBreak:n})}function Tc(e,t,r,{bodyDoc:n,bodyComments:s,functionBody:u,shouldPutBodyOnSameLine:i}){let{node:a,parent:o}=e,p=r.expandLastArg&&le(t,"all")?P(","):"",m=(r.expandLastArg||o.type==="JSXExpressionContainer")&&!d(a)?F:"";return i&&Ei(u)?[" ",y([P("","("),E([F,n]),P("",")"),p,m]),s]:(Fi(u)&&(n=y(["(",E([F,n]),F,")"])),i?[" ",n,s]:[E([A,n,s]),p,m])}function ur(e,t,r,n){let{node:s}=e,u=[],i=xc(s[n]);return e.each(({node:a})=>{a.type!=="EmptyStatement"&&(u.push(r()),a!==i&&(u.push(C),me(a,t)&&u.push(C)))},n),u}function xc(e){for(let t=e.length-1;t>=0;t--){let r=e[t];if(r.type!=="EmptyStatement")return r}}function mn(e,t,r){let{node:n}=e,s=[];n.type==="StaticBlock"&&s.push("static "),s.push("{");let u=Cs(e,t,r);if(u)s.push(E([C,u]),C);else{let{parent:i}=e,a=e.grandparent;i.type==="ArrowFunctionExpression"||i.type==="FunctionExpression"||i.type==="FunctionDeclaration"||i.type==="ObjectMethod"||i.type==="ClassMethod"||i.type==="ClassPrivateMethod"||i.type==="ForStatement"||i.type==="WhileStatement"||i.type==="DoWhileStatement"||i.type==="DoExpression"||i.type==="CatchClause"&&!a.finalizer||i.type==="TSModuleDeclaration"||i.type==="TSDeclareFunction"||n.type==="StaticBlock"||s.push(C)}return s.push("}"),s}function Cs(e,t,r){var o;let{node:n}=e,s=b(n.directives),u=n.body.some(p=>p.type!=="EmptyStatement"),i=d(n,x.Dangling);if(!s&&!u&&!i)return"";let a=[];return s&&(a.push(ur(e,t,r,"directives")),(u||i)&&(a.push(C),me(w(!1,n.directives,-1),t)&&a.push(C))),u&&a.push(ur(e,t,r,"body")),i&&a.push(M(e,t)),n.type==="Program"&&((o=e.parent)==null?void 0:o.type)!=="ModuleExpression"&&a.push(C),a}function di(e,t){if(t.semi||ds(e,t)||Ts(e,t))return!1;let{node:r,key:n,parent:s}=e;return!!(r.type==="ExpressionStatement"&&(n==="body"&&(s.type==="Program"||s.type==="BlockStatement"||s.type==="StaticBlock"||s.type==="TSModuleBlock")||n==="consequent"&&s.type==="SwitchCase")&&e.call(()=>Ai(e,t),"expression"))}function Ai(e,t){let{node:r}=e;switch(r.type){case"ParenthesizedExpression":case"TypeCastExpression":case"ArrayExpression":case"ArrayPattern":case"TemplateLiteral":case"TemplateElement":case"RegExpLiteral":return!0;case"ArrowFunctionExpression":if(!an(e,t))return!0;break;case"UnaryExpression":{let{prefix:n,operator:s}=r;if(n&&(s==="+"||s==="-"))return!0;break}case"BindExpression":if(!r.object)return!0;break;case"Literal":if(r.regex)return!0;break;default:if(Y(r))return!0}return we(e,t)?!0:Lt(r)?e.call(()=>Ai(e,t),...dr(r)):!1}function ds({node:e,parent:t},r){return(r.parentParser==="markdown"||r.parentParser==="mdx")&&e.type==="ExpressionStatement"&&Y(e.expression)&&t.type==="Program"&&t.body.length===1}function As(e){switch(e.type){case"MemberExpression":switch(e.property.type){case"Identifier":case"NumericLiteral":case"StringLiteral":return As(e.object)}return!1;case"Identifier":return!0;default:return!1}}function Ts({node:e,parent:t},r){return(r.parser==="__vue_event_binding"||r.parser==="__vue_ts_event_binding")&&e.type==="ExpressionStatement"&&t.type==="Program"&&t.body.length===1}function Ti(e,t,r){let n=[r("expression")];return Ts(e,t)?As(e.node.expression)&&n.push(";"):ds(e,t)||t.semi&&n.push(";"),d(e.node,x.Dangling,({marker:s})=>s===zt)&&n.push(" ",M(e,t,{marker:zt})),n}function xi(e,t,r){if(t.__isVueBindings||t.__isVueForBindingLeft){let n=e.map(r,"program","body",0,"params");if(n.length===1)return n[0];let s=B([",",A],n);return t.__isVueForBindingLeft?["(",E([F,y(s)]),F,")"]:s}if(t.__isEmbeddedTypescriptGenericParameters){let n=e.map(r,"program","body",0,"typeParameters","params");return B([",",A],n)}}function gi(e,t,r,n){let{node:s}=e;if(vr(s))return vu(e,t);let u=t.semi?";":"",i=[];switch(s.type){case"JsExpressionRoot":return r("node");case"JsonRoot":return[r("node"),C];case"File":return xi(e,t,r)??r("program");case"Program":return Cs(e,t,r);case"EmptyStatement":return"";case"ExpressionStatement":return Ti(e,t,r);case"ChainExpression":return r("expression");case"ParenthesizedExpression":return!d(s.expression)&&(ee(s.expression)||G(s.expression))?["(",r("expression"),")"]:y(["(",E([F,r("expression")]),F,")"]);case"AssignmentExpression":return ju(e,t,r);case"VariableDeclarator":return Mu(e,t,r);case"BinaryExpression":case"LogicalExpression":return Ir(e,t,r);case"AssignmentPattern":return[r("left")," = ",r("right")];case"OptionalMemberExpression":case"MemberExpression":return ku(e,t,r);case"MetaProperty":return[r("meta"),".",r("property")];case"BindExpression":return s.object&&i.push(r("object")),i.push(y(E([F,Lr(e,t,r)]))),i;case"Identifier":return[s.name,$(e),Vr(e),q(e,r)];case"V8IntrinsicIdentifier":return["%",s.name];case"SpreadElement":case"SpreadElementPattern":case"SpreadPropertyPattern":case"RestElement":return Hr(e,r);case"FunctionDeclaration":case"FunctionExpression":return sn(e,r,t,n);case"ArrowFunctionExpression":return Ci(e,t,r,n);case"YieldExpression":return i.push("yield"),s.delegate&&i.push("*"),s.argument&&i.push(" ",r("argument")),i;case"AwaitExpression":if(i.push("await"),s.argument){i.push(" ",r("argument"));let{parent:a}=e;if(k(a)&&a.callee===s||J(a)&&a.object===s){i=[E([F,...i]),F];let o=e.findAncestor(p=>p.type==="AwaitExpression"||p.type==="BlockStatement");if((o==null?void 0:o.type)!=="AwaitExpression"||!re(o.argument,p=>p===s))return y(i)}}return i;case"ExportDefaultDeclaration":case"ExportNamedDeclaration":case"ExportAllDeclaration":return Kr(e,t,r);case"ImportDeclaration":return $u(e,t,r);case"ImportSpecifier":case"ExportSpecifier":case"ImportNamespaceSpecifier":case"ExportNamespaceSpecifier":case"ImportDefaultSpecifier":case"ExportDefaultSpecifier":return Zu(e,t,r);case"ImportAttribute":return[r("key"),": ",r("value")];case"Import":return"import";case"BlockStatement":case"StaticBlock":return mn(e,t,r);case"ClassBody":return fi(e,t,r);case"ThrowStatement":return li(e,t,r);case"ReturnStatement":return ci(e,t,r);case"NewExpression":case"ImportExpression":case"OptionalCallExpression":case"CallExpression":return wr(e,t,r);case"ObjectExpression":case"ObjectPattern":case"RecordExpression":return Et(e,t,r);case"ObjectProperty":case"Property":return s.method||s.kind==="get"||s.kind==="set"?sr(e,t,r):oi(e,t,r);case"ObjectMethod":return sr(e,t,r);case"Decorator":return["@",r("expression")];case"ArrayExpression":case"ArrayPattern":case"TupleExpression":return vt(e,t,r);case"SequenceExpression":{let{parent:a}=e;if(a.type==="ExpressionStatement"||a.type==="ForStatement"){let o=[];return e.each(({isFirst:p})=>{p?o.push(r()):o.push(",",E([A,r()]))},"expressions"),y(o)}return y(B([",",A],e.map(r,"expressions")))}case"ThisExpression":return"this";case"Super":return"super";case"Directive":return[r("value"),u];case"UnaryExpression":return i.push(s.operator),/[a-z]$/.test(s.operator)&&i.push(" "),d(s.argument)?i.push(y(["(",E([F,r("argument")]),F,")"])):i.push(r("argument")),i;case"UpdateExpression":return i.push(r("argument"),s.operator),s.prefix&&i.reverse(),i;case"ConditionalExpression":return Mt(e,t,r);case"VariableDeclaration":{let a=e.map(r,"declarations"),o=e.parent,p=o.type==="ForStatement"||o.type==="ForInStatement"||o.type==="ForOfStatement",m=s.declarations.some(c=>c.init),D;return a.length===1&&!d(s.declarations[0])?D=a[0]:a.length>0&&(D=E(a[0])),i=[Z(e),s.kind,D?[" ",D]:"",E(a.slice(1).map(c=>[",",m&&!p?C:A,c]))],p&&o.body!==s||i.push(u),y(i)}case"WithStatement":return y(["with (",r("object"),")",pt(s.body,r("body"))]);case"IfStatement":{let a=pt(s.consequent,r("consequent")),o=y(["if (",y([E([F,r("test")]),F]),")",a]);if(i.push(o),s.alternate){let p=d(s.consequent,x.Trailing|x.Line)||gr(s),m=s.consequent.type==="BlockStatement"&&!p;i.push(m?" ":C),d(s,x.Dangling)&&i.push(M(e,t),p?C:" "),i.push("else",y(pt(s.alternate,r("alternate"),s.alternate.type==="IfStatement")))}return i}case"ForStatement":{let a=pt(s.body,r("body")),o=M(e,t),p=o?[o,F]:"";return!s.init&&!s.test&&!s.update?[p,y(["for (;;)",a])]:[p,y(["for (",y([E([F,r("init"),";",A,r("test"),";",A,r("update")]),F]),")",a])]}case"WhileStatement":return y(["while (",y([E([F,r("test")]),F]),")",pt(s.body,r("body"))]);case"ForInStatement":return y(["for (",r("left")," in ",r("right"),")",pt(s.body,r("body"))]);case"ForOfStatement":return y(["for",s.await?" await":""," (",r("left")," of ",r("right"),")",pt(s.body,r("body"))]);case"DoWhileStatement":{let a=pt(s.body,r("body"));return i=[y(["do",a])],s.body.type==="BlockStatement"?i.push(" "):i.push(C),i.push("while (",y([E([F,r("test")]),F]),")",u),i}case"DoExpression":return[s.async?"async ":"","do ",r("body")];case"BreakStatement":case"ContinueStatement":return i.push(s.type==="BreakStatement"?"break":"continue"),s.label&&i.push(" ",r("label")),i.push(u),i;case"LabeledStatement":return s.body.type==="EmptyStatement"?[r("label"),":;"]:[r("label"),": ",r("body")];case"TryStatement":return["try ",r("block"),s.handler?[" ",r("handler")]:"",s.finalizer?[" finally ",r("finalizer")]:""];case"CatchClause":if(s.param){let a=d(s.param,p=>!ae(p)||p.leading&&z(t.originalText,O(p))||p.trailing&&z(t.originalText,U(p),{backwards:!0})),o=r("param");return["catch ",a?["(",E([F,o]),F,") "]:["(",o,") "],r("body")]}return["catch ",r("body")];case"SwitchStatement":return[y(["switch (",E([F,r("discriminant")]),F,")"])," {",s.cases.length>0?E([C,B(C,e.map(({node:a,isLast:o})=>[r(),!o&&me(a,t)?C:""],"cases"))]):"",C,"}"];case"SwitchCase":{s.test?i.push("case ",r("test"),":"):i.push("default:"),d(s,x.Dangling)&&i.push(" ",M(e,t));let a=s.consequent.filter(o=>o.type!=="EmptyStatement");if(a.length>0){let o=ur(e,t,r,"consequent");i.push(a.length===1&&a[0].type==="BlockStatement"?[" ",o]:E([C,o]))}return i}case"DebuggerStatement":return["debugger",u];case"ClassDeclaration":case"ClassExpression":return pn(e,t,r);case"ClassMethod":case"ClassPrivateMethod":case"MethodDefinition":return cn(e,t,r);case"ClassProperty":case"PropertyDefinition":case"ClassPrivateProperty":case"ClassAccessorProperty":case"AccessorProperty":return ln(e,t,r);case"TemplateElement":return xe(s.value.raw);case"TemplateLiteral":return Qr(e,r,t);case"TaggedTemplateExpression":return si(r);case"PrivateIdentifier":return["#",s.name];case"PrivateName":return["#",r("id")];case"TopicReference":return"%";case"ArgumentPlaceholder":return"?";case"ModuleExpression":{i.push("module {");let a=r("body");return a&&i.push(E([C,a]),C),i.push("}"),i}case"InterpreterDirective":default:throw new Oe(s,"ESTree")}}function Si(e,t,r){let{node:n}=e;if(n.type.startsWith("NG"))switch(n.type){case"NGRoot":return[r("node"),d(n.node)?" //"+Kt(n.node)[0].value.trimEnd():""];case"NGPipeExpression":return Ir(e,t,r);case"NGChainedExpression":return y(B([";",A],e.map(()=>hc(e)?r():["(",r(),")"],"expressions")));case"NGEmptyExpression":return"";case"NGMicrosyntax":return e.map(()=>[e.isFirst?"":hi(e)?" ":[";",A],r()],"body");case"NGMicrosyntaxKey":return/^[$_a-z][\w$]*(?:-[$_a-z][\w$])*$/i.test(n.name)?n.name:JSON.stringify(n.name);case"NGMicrosyntaxExpression":return[r("expression"),n.alias===null?"":[" as ",r("alias")]];case"NGMicrosyntaxKeyedExpression":{let{index:s,parent:u}=e,i=hi(e)||(s===1&&(n.key.name==="then"||n.key.name==="else")||s===2&&n.key.name==="else"&&u.body[s-1].type==="NGMicrosyntaxKeyedExpression"&&u.body[s-1].key.name==="then")&&u.body[0].type==="NGMicrosyntaxExpression";return[r("key"),i?" ":": ",r("expression")]}case"NGMicrosyntaxLet":return["let ",r("key"),n.value===null?"":[" = ",r("value")]];case"NGMicrosyntaxAs":return[r("key")," as ",r("alias")];default:throw new Oe(n,"Angular")}}function hi({node:e,index:t,parent:r}){return e.type==="NGMicrosyntaxKeyedExpression"&&e.key.name==="of"&&t===1&&r.body[0].type==="NGMicrosyntaxLet"&&r.body[0].value===null}var gc=j(["CallExpression","OptionalCallExpression","AssignmentExpression"]);function hc({node:e}){return Xt(e,gc)}function yn(e,t,r){let{node:n}=e,s=[Z(e),"interface"],u=[],i=[];n.type!=="InterfaceTypeAnnotation"&&u.push(" ",r("id"),r("typeParameters"));let a=n.typeParameters&&!d(n.typeParameters,x.Trailing|x.Line);return b(n.extends)&&i.push(a?P(" ",A,{groupId:nr(n.typeParameters)}):A,"extends ",(n.extends.length===1?ru:E)(B([",",A],e.map(r,"extends")))),d(n.id,x.Trailing)||b(n.extends)?a?s.push(y([...u,E(i)])):s.push(y(E([...u,...i]))):s.push(...u,...i),s.push(" ",r("body")),y(s)}function Bi(e,t,r){return Et(e,r,t)}function Dn(e,t){let{node:r}=e,n=t("id");r.computed&&(n=["[",n,"]"]);let s="";return r.initializer&&(s=t("initializer")),r.init&&(s=t("init")),s?[n," = ",s]:n}function bi(e,t,r){let{node:n}=e,s;if(n.type==="EnumSymbolBody"||n.explicitType)switch(n.type){case"EnumBooleanBody":s="boolean";break;case"EnumNumberBody":s="number";break;case"EnumStringBody":s="string";break;case"EnumSymbolBody":s="symbol";break}return[s?`of ${s} `:"",Bi(e,t,r)]}function fn(e,t,r){let{node:n}=e;return[Z(e),n.const?"const ":"","enum ",t("id")," ",n.type==="TSEnumDeclaration"?Bi(e,t,r):t("body")]}function Pi(e,t,r){let{node:n}=e;if(Er(n))return n.type.slice(0,-14).toLowerCase();let s=t.semi?";":"";switch(n.type){case"DeclareClass":return pn(e,t,r);case"DeclareFunction":return[Z(e),"function ",r("id"),r("predicate"),s];case"DeclareModule":return["declare module ",r("id")," ",r("body")];case"DeclareModuleExports":return["declare module.exports",q(e,r),s];case"DeclareVariable":return[Z(e),n.kind??"var"," ",r("id"),s];case"DeclareExportDeclaration":case"DeclareExportAllDeclaration":return Kr(e,t,r);case"DeclareOpaqueType":case"OpaqueType":return Uu(e,t,r);case"DeclareTypeAlias":case"TypeAlias":return jr(e,t,r);case"IntersectionTypeAnnotation":return Mr(e,t,r);case"UnionTypeAnnotation":return Rr(e,t,r);case"ConditionalTypeAnnotation":return Mt(e,t,r);case"InferTypeAnnotation":return Ur(e,t,r);case"FunctionTypeAnnotation":return Jr(e,t,r);case"TupleTypeAnnotation":return vt(e,t,r);case"TupleTypeLabeledElement":return qr(e,t,r);case"TupleTypeSpreadElement":return Gr(e,t,r);case"GenericTypeAnnotation":return[r("id"),gt(e,t,r,"typeParameters")];case"IndexedAccessType":case"OptionalIndexedAccessType":return Nr(e,t,r);case"TypeAnnotation":return Wr(e,t,r);case"TypeParameter":return tn(e,t,r);case"TypeofTypeAnnotation":return Xr(e,r);case"ExistsTypeAnnotation":return"*";case"ArrayTypeAnnotation":return Yr(r);case"DeclareEnum":case"EnumDeclaration":return fn(e,r,t);case"EnumBooleanBody":case"EnumNumberBody":case"EnumStringBody":case"EnumSymbolBody":return bi(e,r,t);case"EnumBooleanMember":case"EnumNumberMember":case"EnumStringMember":case"EnumDefaultedMember":return Dn(e,r);case"FunctionTypeParam":{let u=n.name?r("name"):e.parent.this===n?"this":"";return[u,$(e),u?": ":"",r("typeAnnotation")]}case"DeclareInterface":case"InterfaceDeclaration":case"InterfaceTypeAnnotation":return yn(e,t,r);case"ClassImplements":case"InterfaceExtends":return[r("id"),r("typeParameters")];case"NullableTypeAnnotation":return["?",r("typeAnnotation")];case"Variance":{let{kind:u}=n;return rn.ok(u==="plus"||u==="minus"),u==="plus"?"+":"-"}case"KeyofTypeAnnotation":return["keyof ",r("argument")];case"ObjectTypeCallProperty":return[n.static?"static ":"",r("value")];case"ObjectTypeMappedTypeProperty":return ui(e,t,r);case"ObjectTypeIndexer":return[n.static?"static ":"",n.variance?r("variance"):"","[",r("id"),n.id?": ":"",r("key"),"]: ",r("value")];case"ObjectTypeProperty":{let u="";return n.proto?u="proto ":n.static&&(u="static "),[u,On(n)?n.kind+" ":"",n.variance?r("variance"):"",ct(e,t,r),$(e),vn(n)?"":": ",r("value")]}case"ObjectTypeAnnotation":return Et(e,t,r);case"ObjectTypeInternalSlot":return[n.static?"static ":"","[[",r("id"),"]]",$(e),n.method?"":": ",r("value")];case"ObjectTypeSpreadProperty":return Hr(e,r);case"QualifiedTypeofIdentifier":case"QualifiedTypeIdentifier":return[r("qualification"),".",r("id")];case"NullLiteralTypeAnnotation":return"null";case"BooleanLiteralTypeAnnotation":return String(n.value);case"StringLiteralTypeAnnotation":return xe(Tt(oe(n),t));case"NumberLiteralTypeAnnotation":return He(n.raw??n.extra.raw);case"BigIntLiteralTypeAnnotation":return Or(n.raw??n.extra.raw);case"TypeCastExpression":return["(",r("expression"),q(e,r),")"];case"TypePredicate":return $r(e,r);case"TypeParameterDeclaration":case"TypeParameterInstantiation":return gt(e,t,r,"params");case"InferredPredicate":case"DeclaredPredicate":return[e.key==="predicate"&&e.parent.type!=="DeclareFunction"&&!e.parent.returnType?": ":" ","%checks",...n.type==="DeclaredPredicate"?["(",r("value"),")"]:[]]}}function ki(e,t,r){var i;let{node:n}=e;if(!n.type.startsWith("TS"))return;if(Fr(n))return n.type.slice(2,-7).toLowerCase();let s=t.semi?";":"",u=[];switch(n.type){case"TSThisType":return"this";case"TSTypeAssertion":{let a=!(G(n.expression)||ee(n.expression)),o=y(["<",E([F,r("typeAnnotation")]),F,">"]),p=[P("("),E([F,r("expression")]),F,P(")")];return a?qe([[o,r("expression")],[o,y(p,{shouldBreak:!0})],[o,r("expression")]]):y([o,r("expression")])}case"TSDeclareFunction":return sn(e,r,t);case"TSExportAssignment":return["export = ",r("expression"),s];case"TSModuleBlock":return mn(e,t,r);case"TSInterfaceBody":case"TSTypeLiteral":return Et(e,t,r);case"TSTypeAliasDeclaration":return jr(e,t,r);case"TSQualifiedName":return[r("left"),".",r("right")];case"TSAbstractMethodDefinition":case"TSDeclareMethod":return cn(e,t,r);case"TSAbstractAccessorProperty":case"TSAbstractPropertyDefinition":return ln(e,t,r);case"TSInterfaceHeritage":case"TSClassImplements":case"TSExpressionWithTypeArguments":case"TSInstantiationExpression":return[r("expression"),r("typeParameters")];case"TSTemplateLiteralType":return Qr(e,r,t);case"TSNamedTupleMember":return qr(e,t,r);case"TSRestType":return Gr(e,t,r);case"TSOptionalType":return[r("typeAnnotation"),"?"];case"TSInterfaceDeclaration":return yn(e,t,r);case"TSTypeParameterDeclaration":case"TSTypeParameterInstantiation":return gt(e,t,r,"params");case"TSTypeParameter":return tn(e,t,r);case"TSAsExpression":case"TSSatisfiesExpression":{let a=n.type==="TSAsExpression"?"as":"satisfies";u.push(r("expression"),` ${a} `,r("typeAnnotation"));let{parent:o}=e;return k(o)&&o.callee===n||J(o)&&o.object===n?y([E([F,...u]),F]):u}case"TSArrayType":return Yr(r);case"TSPropertySignature":return[n.readonly?"readonly ":"",ct(e,t,r),$(e),q(e,r)];case"TSParameterProperty":return[jt(n),n.static?"static ":"",n.override?"override ":"",n.readonly?"readonly ":"",r("parameter")];case"TSTypeQuery":return Xr(e,r);case"TSIndexSignature":{let a=n.parameters.length>1?P(le(t)?",":""):"",o=y([E([F,B([", ",F],e.map(r,"parameters"))]),a,F]),p=e.parent.type==="ClassBody"&&e.key==="body";return[p&&n.static?"static ":"",n.readonly?"readonly ":"","[",n.parameters?o:"","]",q(e,r),p?s:""]}case"TSTypePredicate":return $r(e,r);case"TSNonNullExpression":return[r("expression"),"!"];case"TSImportType":return[n.isTypeOf?"typeof ":"","import(",r("argument"),")",n.qualifier?[".",r("qualifier")]:"",gt(e,t,r,n.typeArguments?"typeArguments":"typeParameters")];case"TSLiteralType":return r("literal");case"TSIndexedAccessType":return Nr(e,t,r);case"TSTypeOperator":return[n.operator," ",r("typeAnnotation")];case"TSMappedType":return ii(e,t,r);case"TSMethodSignature":{let a=n.kind&&n.kind!=="method"?`${n.kind} `:"";u.push(jt(n),a,n.computed?"[":"",r("key"),n.computed?"]":"",$(e));let o=ot(e,r,t,!1,!0),p=n.returnType?"returnType":"typeAnnotation",m=n[p],D=m?q(e,r,p):"",c=xt(n,D);return u.push(c?y(o):o),m&&u.push(y(D)),y(u)}case"TSNamespaceExportDeclaration":return["export as namespace ",r("id"),t.semi?";":""];case"TSEnumDeclaration":return fn(e,r,t);case"TSEnumMember":return Dn(e,r);case"TSImportEqualsDeclaration":return[n.isExport?"export ":"","import ",os(n,!1),r("id")," = ",r("moduleReference"),t.semi?";":""];case"TSExternalModuleReference":return["require(",r("expression"),")"];case"TSModuleDeclaration":{let{parent:a}=e,o=a.type==="TSModuleDeclaration",p=((i=n.body)==null?void 0:i.type)==="TSModuleDeclaration";if(o)u.push(".");else if(u.push(Z(e)),!(n.kind==="global"||n.global)){let D=n.kind??(Q(n.id)||/(?:^|\s)module(?:\s|$)/.test(t.originalText.slice(U(n),U(n.id)))?"module":"namespace");u.push(D," ")}return u.push(r("id")),p?u.push(r("body")):n.body?u.push(" ",y(r("body"))):u.push(s),u}case"TSConditionalType":return Mt(e,t,r);case"TSInferType":return Ur(e,t,r);case"TSIntersectionType":return Mr(e,t,r);case"TSUnionType":return Rr(e,t,r);case"TSFunctionType":case"TSCallSignatureDeclaration":case"TSConstructorType":case"TSConstructSignatureDeclaration":return Jr(e,t,r);case"TSTupleType":return vt(e,t,r);case"TSTypeReference":return[r("typeName"),gt(e,t,r,"typeParameters")];case"TSTypeAnnotation":return Wr(e,t,r);case"TSEmptyBodyFunctionExpression":return un(e,t,r);case"TSJSDocAllType":return"*";case"TSJSDocUnknownType":return"?";case"TSJSDocNullableType":return us(e,r,"?");case"TSJSDocNonNullableType":return us(e,r,"!");case"TSParenthesizedType":default:throw new Oe(n,"TypeScript")}}function Sc(e,t,r,n){if(kr(e))return ks(e,t);for(let s of[Si,hu,Pi,ki,gi]){let u=s(e,t,r,n);if(u!==void 0)return u}}var Bc=j(["ClassMethod","ClassPrivateMethod","ClassProperty","ClassAccessorProperty","AccessorProperty","TSAbstractAccessorProperty","PropertyDefinition","TSAbstractPropertyDefinition","ClassPrivateProperty","MethodDefinition","TSAbstractMethodDefinition","TSDeclareMethod"]);function bc(e,t,r,n){var D;e.isRoot&&((D=t.__onHtmlBindingRoot)==null||D.call(t,e.node,t));let s=Sc(e,t,r,n);if(!s)return"";let{node:u}=e;if(Bc(u))return s;let i=b(u.decorators),a=Wu(e,t,r),o=u.type==="ClassExpression";if(i&&!o)return Gt(s,c=>y([a,c]));let p=we(e,t),m=di(e,t);return!a&&!p&&!m?s:Gt(s,c=>[m?";":"",p?"(":"",p&&o&&i?[E([A,a,c]),A]:[a,c],p?")":""])}var Ii=bc;var Li=[(e,t)=>e.type==="ObjectExpression"&&t==="properties",(e,t)=>e.type==="CallExpression"&&e.callee.type==="Identifier"&&e.callee.name==="Component"&&t==="arguments",(e,t)=>e.type==="Decorator"&&t==="expression"];function wi(e){return e.match(t=>t.type==="TemplateLiteral",(t,r)=>G(t)&&r==="elements",(t,r)=>fe(t)&&t.key.type==="Identifier"&&t.key.name==="styles"&&r==="value",...Li)}function Oi(e){return e.match(t=>t.type==="TemplateLiteral",(t,r)=>fe(t)&&t.key.type==="Identifier"&&t.key.name==="template"&&r==="value",...Li)}function En(e,t){return d(e,x.Block|x.Leading,({value:r})=>r===` ${t} `)}async function Pc(e,t,r){let{node:n}=r,s=n.quasis.map(m=>m.value.raw),u=0,i=s.reduce((m,D,c)=>c===0?D:m+"@prettier-placeholder-"+u+++"-id"+D,""),a=await e(i,{parser:"scss"}),o=Rt(r,t),p=kc(a,o);if(!p)throw new Error("Couldn't insert all the expressions");return["`",E([C,p]),F,"`"]}function kc(e,t){if(!b(t))return e;let r=0,n=ut(Bt(e),s=>typeof s!="string"||!s.includes("@prettier-placeholder")?s:s.split(/@prettier-placeholder-(\d+)-id/).map((u,i)=>i%2===0?xe(u):(r++,t[u])));return t.length===r?n:null}function Ic({node:e,parent:t,grandparent:r}){return r&&e.quasis&&t.type==="JSXExpressionContainer"&&r.type==="JSXElement"&&r.openingElement.name.name==="style"&&r.openingElement.attributes.some(n=>n.name.name==="jsx")||(t==null?void 0:t.type)==="TaggedTemplateExpression"&&t.tag.type==="Identifier"&&t.tag.name==="css"||(t==null?void 0:t.type)==="TaggedTemplateExpression"&&t.tag.type==="MemberExpression"&&t.tag.object.name==="css"&&(t.tag.property.name==="global"||t.tag.property.name==="resolve")}function Fn(e){return e.type==="Identifier"&&e.name==="styled"}function vi(e){return/^[A-Z]/.test(e.object.name)&&e.property.name==="extend"}function Lc({parent:e}){if(!e||e.type!=="TaggedTemplateExpression")return!1;let t=e.tag.type==="ParenthesizedExpression"?e.tag.expression:e.tag;switch(t.type){case"MemberExpression":return Fn(t.object)||vi(t);case"CallExpression":return Fn(t.callee)||t.callee.type==="MemberExpression"&&(t.callee.object.type==="MemberExpression"&&(Fn(t.callee.object.object)||vi(t.callee.object))||t.callee.object.type==="CallExpression"&&Fn(t.callee.object.callee));case"Identifier":return t.name==="css";default:return!1}}function wc({parent:e,grandparent:t}){return(t==null?void 0:t.type)==="JSXAttribute"&&e.type==="JSXExpressionContainer"&&t.name.type==="JSXIdentifier"&&t.name.name==="css"}function Oc(e){if(Ic(e)||Lc(e)||wc(e)||wi(e))return Pc}var _i=Oc;async function vc(e,t,r){let{node:n}=r,s=n.quasis.length,u=Rt(r,t),i=[];for(let a=0;a2&&c[0].trim()===""&&c[1].trim()==="",g=f>2&&c[f-1].trim()===""&&c[f-2].trim()==="",S=c.every(v=>/^\s*(?:#[^\n\r]*)?$/.test(v));if(!m&&/#[^\n\r]*$/.test(c[f-1]))return null;let I=null;S?I=_c(c):I=await e(D,{parser:"graphql"}),I?(I=Zr(I,!1),!p&&h&&i.push(""),i.push(I),!m&&g&&i.push("")):!p&&!m&&h&&i.push(""),l&&i.push(l)}return["`",E([C,B(C,i)]),C,"`"]}function _c(e){let t=[],r=!1,n=e.map(s=>s.trim());for(let[s,u]of n.entries())u!==""&&(n[s-1]===""&&r?t.push([C,u]):t.push(u),r=!0);return t.length===0?null:B(C,t)}function jc({node:e,parent:t}){return En(e,"GraphQL")||t&&(t.type==="TaggedTemplateExpression"&&(t.tag.type==="MemberExpression"&&t.tag.object.name==="graphql"&&t.tag.property.name==="experimental"||t.tag.type==="Identifier"&&(t.tag.name==="gql"||t.tag.name==="graphql"))||t.type==="CallExpression"&&t.callee.type==="Identifier"&&t.callee.name==="graphql")}function Mc(e){if(jc(e))return vc}var ji=Mc;var xs=0;async function Mi(e,t,r,n,s){let{node:u}=n,i=xs;xs=xs+1>>>0;let a=S=>`PRETTIER_HTML_PLACEHOLDER_${S}_${i}_IN_JS`,o=u.quasis.map((S,I,v)=>I===v.length-1?S.value.cooked:S.value.cooked+a(I)).join(""),p=Rt(n,r),m=new RegExp(a("(\\d+)"),"g"),D=0,c=await t(o,{parser:e,__onHtmlRoot(S){D=S.children.length}}),f=ut(c,S=>{if(typeof S!="string")return S;let I=[],v=S.split(m);for(let _=0;_1?E(y(f)):y(f),h,"`"]))}function Rc(e){return En(e.node,"HTML")||e.match(t=>t.type==="TemplateLiteral",(t,r)=>t.type==="TaggedTemplateExpression"&&t.tag.type==="Identifier"&&t.tag.name==="html"&&r==="quasi")}var Jc=Mi.bind(void 0,"html"),Nc=Mi.bind(void 0,"angular");function Uc(e){if(Rc(e))return Jc;if(Oi(e))return Nc}var Ri=Uc;async function Gc(e,t,r){let{node:n}=r,s=H(!1,n.quasis[0].value.raw,/((?:\\\\)*)\\`/g,(o,p)=>"\\".repeat(p.length/2)+"`"),u=qc(s),i=u!=="";i&&(s=H(!1,s,new RegExp(`^${u}`,"gm"),""));let a=Zr(await e(s,{parser:"markdown",__inJsTemplate:!0}),!0);return["`",i?E([F,a]):[lr,ws(a)],F,"`"]}function qc(e){let t=e.match(/^([^\S\n]*)\S/m);return t===null?"":t[1]}function Wc(e){if(Yc(e))return Gc}function Yc({node:e,parent:t}){return(t==null?void 0:t.type)==="TaggedTemplateExpression"&&e.quasis.length===1&&t.tag.type==="Identifier"&&(t.tag.name==="md"||t.tag.name==="markdown")}var Ji=Wc;function Xc(e){let{node:t}=e;if(t.type!=="TemplateLiteral"||$c(t))return;let r;for(let n of[_i,ji,Ri,Ji])if(r=n(e),!!r)return t.quasis.length===1&&t.quasis[0].value.raw.trim()===""?"``":async(...s)=>{let u=await r(...s);return u&&et({embed:!0,...u.label},u)}}function $c({quasis:e}){return e.some(({value:{cooked:t}})=>t===null)}var Ni=Xc;var Vc=new Set(["range","raw","comments","leadingComments","trailingComments","innerComments","extra","start","end","loc","flags","errors","tokens"]),Jt=e=>{for(let t of e.quasis)delete t.value};function Ui(e,t,r){var s,u;if(e.type==="Program"&&delete t.sourceType,(e.type==="BigIntLiteral"||e.type==="BigIntLiteralTypeAnnotation")&&t.value&&(t.value=t.value.toLowerCase()),(e.type==="BigIntLiteral"||e.type==="Literal")&&t.bigint&&(t.bigint=t.bigint.toLowerCase()),e.type==="DecimalLiteral"&&(t.value=Number(t.value)),e.type==="Literal"&&t.decimal&&(t.decimal=Number(t.decimal)),e.type==="EmptyStatement"||e.type==="JSXText"||e.type==="JSXExpressionContainer"&&(e.expression.type==="Literal"||e.expression.type==="StringLiteral")&&e.expression.value===" ")return null;if((e.type==="Property"||e.type==="ObjectProperty"||e.type==="MethodDefinition"||e.type==="ClassProperty"||e.type==="ClassMethod"||e.type==="PropertyDefinition"||e.type==="TSDeclareMethod"||e.type==="TSPropertySignature"||e.type==="ObjectTypeProperty")&&typeof e.key=="object"&&e.key&&(e.key.type==="Literal"||e.key.type==="NumericLiteral"||e.key.type==="StringLiteral"||e.key.type==="Identifier")&&delete t.key,e.type==="JSXElement"&&e.openingElement.name.name==="style"&&e.openingElement.attributes.some(i=>i.type==="JSXAttribute"&&i.name.name==="jsx"))for(let{type:i,expression:a}of t.children)i==="JSXExpressionContainer"&&a.type==="TemplateLiteral"&&Jt(a);e.type==="JSXAttribute"&&e.name.name==="css"&&e.value.type==="JSXExpressionContainer"&&e.value.expression.type==="TemplateLiteral"&&Jt(t.value.expression),e.type==="JSXAttribute"&&((s=e.value)==null?void 0:s.type)==="Literal"&&/["']|"|'/.test(e.value.value)&&(t.value.value=H(!1,t.value.value,/["']|"|'/g,'"'));let n=e.expression||e.callee;if(e.type==="Decorator"&&n.type==="CallExpression"&&n.callee.name==="Component"&&n.arguments.length===1){let i=e.expression.arguments[0].properties;for(let[a,o]of t.expression.arguments[0].properties.entries())switch(i[a].key.name){case"styles":G(o.value)&&Jt(o.value.elements[0]);break;case"template":o.value.type==="TemplateLiteral"&&Jt(o.value);break}}if(e.type==="TaggedTemplateExpression"&&(e.tag.type==="MemberExpression"||e.tag.type==="Identifier"&&(e.tag.name==="gql"||e.tag.name==="graphql"||e.tag.name==="css"||e.tag.name==="md"||e.tag.name==="markdown"||e.tag.name==="html")||e.tag.type==="CallExpression")&&Jt(t.quasi),e.type==="TemplateLiteral"&&((u=e.leadingComments)!=null&&u.some(a=>ae(a)&&["GraphQL","HTML"].some(o=>a.value===` ${o} `))||r.type==="CallExpression"&&r.callee.name==="graphql"||!e.leadingComments)&&Jt(t),(e.type==="TSIntersectionType"||e.type==="TSUnionType")&&e.types.length===1)return t.types[0];e.type==="ChainExpression"&&e.expression.type==="TSNonNullExpression"&&([t.type,t.expression.type]=[t.expression.type,t.type])}Ui.ignoredProperties=Vc;var Gi=Ui;var Ft=ma(Hi(),1);function sl(e){if(!e.startsWith("#!"))return"";let t=e.indexOf(` `);return t===-1?e:e.slice(0,t)}var Ki=sl;function ul(e){let t=Ki(e);t&&(e=e.slice(t.length+1));let r=(0,Ft.extract)(e),{pragmas:n,comments:s}=(0,Ft.parseWithComments)(r);return{shebang:t,text:e,pragmas:n,comments:s}}function zi(e){let{shebang:t,text:r,pragmas:n,comments:s}=ul(e),u=(0,Ft.strip)(r),i=(0,Ft.print)({pragmas:{format:"",...n},comments:s.trimStart()});return(t?`${t} `:"")+i+(u.startsWith(` `)?` `:` `)+u}var il={avoidAstMutation:!0};var Qi=[{linguistLanguageId:183,name:"JavaScript",type:"programming",tmScope:"source.js",aceMode:"javascript",codemirrorMode:"javascript",codemirrorMimeType:"text/javascript",color:"#f1e05a",aliases:["js","node"],extensions:[".js","._js",".bones",".cjs",".es",".es6",".frag",".gs",".jake",".javascript",".jsb",".jscad",".jsfl",".jslib",".jsm",".jspre",".jss",".mjs",".njs",".pac",".sjs",".ssjs",".xsjs",".xsjslib",".wxs"],filenames:["Jakefile"],interpreters:["chakra","d8","gjs","js","node","nodejs","qjs","rhino","v8","v8-shell","zx"],parsers:["babel","acorn","espree","meriyah","babel-flow","babel-ts","flow","typescript"],vscodeLanguageIds:["javascript","mongo"]},{linguistLanguageId:183,name:"Flow",type:"programming",tmScope:"source.js",aceMode:"javascript",codemirrorMode:"javascript",codemirrorMimeType:"text/javascript",color:"#f1e05a",aliases:[],extensions:[".js.flow"],filenames:[],interpreters:["chakra","d8","gjs","js","node","nodejs","qjs","rhino","v8","v8-shell"],parsers:["flow","babel-flow"],vscodeLanguageIds:["javascript"]},{linguistLanguageId:183,name:"JSX",type:"programming",tmScope:"source.js.jsx",aceMode:"javascript",codemirrorMode:"jsx",codemirrorMimeType:"text/jsx",color:void 0,aliases:void 0,extensions:[".jsx"],filenames:void 0,interpreters:void 0,parsers:["babel","babel-flow","babel-ts","flow","typescript","espree","meriyah"],vscodeLanguageIds:["javascriptreact"],group:"JavaScript"},{linguistLanguageId:378,name:"TypeScript",type:"programming",color:"#3178c6",aliases:["ts"],interpreters:["deno","ts-node"],extensions:[".ts",".cts",".mts"],tmScope:"source.ts",aceMode:"typescript",codemirrorMode:"javascript",codemirrorMimeType:"application/typescript",parsers:["typescript","babel-ts"],vscodeLanguageIds:["typescript"]},{linguistLanguageId:94901924,name:"TSX",type:"programming",color:"#3178c6",group:"TypeScript",extensions:[".tsx"],tmScope:"source.tsx",aceMode:"javascript",codemirrorMode:"jsx",codemirrorMimeType:"text/jsx",parsers:["typescript","babel-ts"],vscodeLanguageIds:["typescriptreact"]}];var hs={};or(hs,{getVisitorKeys:()=>ea,massageAstNode:()=>ra,print:()=>pl});var al={JsonRoot:["node"],ArrayExpression:["elements"],ObjectExpression:["properties"],ObjectProperty:["key","value"],UnaryExpression:["argument"],NullLiteral:[],BooleanLiteral:[],StringLiteral:[],NumericLiteral:[],Identifier:[],TemplateLiteral:["quasis"],TemplateElement:[]},Zi=al;var ol=Dr(Zi),ea=ol;function pl(e,t,r){let{node:n}=e;switch(n.type){case"JsonRoot":return[r("node"),C];case"ArrayExpression":{if(n.elements.length===0)return"[]";let s=e.map(()=>e.node===null?"null":r(),"elements");return["[",E([C,B([",",C],s)]),C,"]"]}case"ObjectExpression":return n.properties.length===0?"{}":["{",E([C,B([",",C],e.map(r,"properties"))]),C,"}"];case"ObjectProperty":return[r("key"),": ",r("value")];case"UnaryExpression":return[n.operator==="+"?"":n.operator,r("argument")];case"NullLiteral":return"null";case"BooleanLiteral":return n.value?"true":"false";case"StringLiteral":return JSON.stringify(n.value);case"NumericLiteral":return ta(e)?JSON.stringify(String(n.value)):JSON.stringify(n.value);case"Identifier":return ta(e)?JSON.stringify(n.name):n.name;case"TemplateLiteral":return r(["quasis",0]);case"TemplateElement":return JSON.stringify(n.value.cooked);default:throw new Oe(n,"JSON")}}function ta(e){return e.key==="key"&&e.parent.type==="ObjectProperty"}var cl=new Set(["start","end","extra","loc","comments","leadingComments","trailingComments","innerComments","errors","range","tokens"]);function ra(e,t){let{type:r}=e;if(r==="ObjectProperty"){let{key:n}=e;n.type==="Identifier"?t.key={type:"StringLiteral",value:n.name}:n.type==="NumericLiteral"&&(t.key={type:"StringLiteral",value:String(n.value)});return}if(r==="UnaryExpression"&&e.operator==="+")return t.argument;if(r==="ArrayExpression"){for(let[n,s]of e.elements.entries())s===null&&t.elements.splice(n,0,{type:"NullLiteral"});return}if(r==="TemplateLiteral")return{type:"StringLiteral",value:e.quasis[0].value.cooked}}ra.ignoredProperties=cl;var na=[{linguistLanguageId:174,name:"JSON.stringify",type:"data",color:"#292929",tmScope:"source.json",aceMode:"json",codemirrorMode:"javascript",codemirrorMimeType:"application/json",aliases:["geojson","jsonl","topojson"],extensions:[".importmap"],filenames:["package.json","package-lock.json","composer.json"],parsers:["json-stringify"],vscodeLanguageIds:["json"]},{linguistLanguageId:174,name:"JSON",type:"data",color:"#292929",tmScope:"source.json",aceMode:"json",codemirrorMode:"javascript",codemirrorMimeType:"application/json",aliases:["geojson","jsonl","topojson"],extensions:[".json",".4DForm",".4DProject",".avsc",".geojson",".gltf",".har",".ice",".JSON-tmLanguage",".mcmeta",".tfstate",".tfstate.backup",".topojson",".webapp",".webmanifest",".yy",".yyp"],filenames:[".all-contributorsrc",".arcconfig",".auto-changelog",".c8rc",".htmlhintrc",".imgbotconfig",".nycrc",".tern-config",".tern-project",".watchmanconfig","Pipfile.lock","composer.lock","flake.lock","mcmod.info"],parsers:["json"],vscodeLanguageIds:["json"]},{linguistLanguageId:423,name:"JSON with Comments",type:"data",color:"#292929",group:"JSON",tmScope:"source.js",aceMode:"javascript",codemirrorMode:"javascript",codemirrorMimeType:"text/javascript",aliases:["jsonc"],extensions:[".jsonc",".code-snippets",".sublime-build",".sublime-commands",".sublime-completions",".sublime-keymap",".sublime-macro",".sublime-menu",".sublime-mousemap",".sublime-project",".sublime-settings",".sublime-theme",".sublime-workspace",".sublime_metrics",".sublime_session"],filenames:[".babelrc",".devcontainer.json",".eslintrc.json",".jscsrc",".jshintrc",".jslintrc",".swcrc","api-extractor.json","devcontainer.json","jsconfig.json","language-configuration.json","tsconfig.json","tslint.json",".eslintrc"],parsers:["json"],vscodeLanguageIds:["jsonc"]},{linguistLanguageId:175,name:"JSON5",type:"data",color:"#267CB9",extensions:[".json5"],tmScope:"source.js",aceMode:"javascript",codemirrorMode:"javascript",codemirrorMimeType:"application/json",parsers:["json5"],vscodeLanguageIds:["json5"]}];var ir={bracketSpacing:{category:"Common",type:"boolean",default:!0,description:"Print spaces between brackets.",oppositeDescription:"Do not print spaces between brackets."},singleQuote:{category:"Common",type:"boolean",default:!1,description:"Use single quotes instead of double quotes."},proseWrap:{category:"Common",type:"choice",default:"preserve",description:"How to wrap prose.",choices:[{value:"always",description:"Wrap prose if it exceeds the print width."},{value:"never",description:"Do not wrap prose."},{value:"preserve",description:"Wrap prose as-is."}]},bracketSameLine:{category:"Common",type:"boolean",default:!1,description:"Put > of opening tags on the last line instead of on a new line."},singleAttributePerLine:{category:"Common",type:"boolean",default:!1,description:"Enforce single attribute per line in HTML, Vue and JSX."}};var Nt="JavaScript",ll={arrowParens:{category:Nt,type:"choice",default:"always",description:"Include parentheses around a sole arrow function parameter.",choices:[{value:"always",description:"Always include parens. Example: `(x) => x`"},{value:"avoid",description:"Omit parens when possible. Example: `x => x`"}]},bracketSameLine:ir.bracketSameLine,bracketSpacing:ir.bracketSpacing,jsxBracketSameLine:{category:Nt,type:"boolean",description:"Put > on the last line instead of at a new line.",deprecated:"2.4.0"},semi:{category:Nt,type:"boolean",default:!0,description:"Print semicolons.",oppositeDescription:"Do not print semicolons, except at the beginning of lines which may need them."},singleQuote:ir.singleQuote,jsxSingleQuote:{category:Nt,type:"boolean",default:!1,description:"Use single quotes in JSX."},quoteProps:{category:Nt,type:"choice",default:"as-needed",description:"Change when properties in objects are quoted.",choices:[{value:"as-needed",description:"Only add quotes around object properties where required."},{value:"consistent",description:"If at least one property in an object requires quotes, quote all properties."},{value:"preserve",description:"Respect the input use of quotes in object properties."}]},trailingComma:{category:Nt,type:"choice",default:"all",description:"Print trailing commas wherever possible when multi-line.",choices:[{value:"all",description:"Trailing commas wherever possible (including function arguments)."},{value:"es5",description:"Trailing commas where valid in ES5 (objects, arrays, etc.)"},{value:"none",description:"No trailing commas."}]},singleAttributePerLine:ir.singleAttributePerLine},sa=ll;var ml={estree:gs,"estree-json":hs},yl=[...Qi,...na];var FA=Ss;export{FA as default,yl as languages,sa as options,ml as printers};