@nuxt/devtools 2.0.0-beta.6 → 2.0.0-beta.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/module-main.mjs +64 -41
- package/dist/chunks/vscode.mjs +3 -3
- package/dist/client/200.html +12 -12
- package/dist/client/404.html +12 -12
- package/dist/client/_nuxt/__blank-fuqjhiyy.js +1 -0
- package/dist/client/_nuxt/analyze-build-hln29g2i.js +1 -0
- package/dist/client/_nuxt/{assets-i4bvlgci.js → assets-b6uq8g4q.js} +1 -1
- package/dist/client/_nuxt/builds/latest.json +1 -1
- package/dist/client/_nuxt/builds/meta/a2070649-1b94-4b72-833e-c8b7aebeedfd.json +1 -0
- package/dist/client/_nuxt/{code-diff.vue-chf1o0v7.js → code-diff.vue-l6vwnnx9.js} +1 -1
- package/dist/client/_nuxt/{code-snippets.vue-hxyuj6ui.js → code-snippets.vue-itd505en.js} +1 -1
- package/dist/client/_nuxt/{components-7h2s0u6i.js → components-ex1azxgr.js} +1 -1
- package/dist/client/_nuxt/{composable-item.vue-dwwp2e3t.js → composable-item.vue-g0zoeh4b.js} +1 -1
- package/dist/client/_nuxt/{custom-_name_-ow029zsw.js → custom-_name_-dvf8mod6.js} +1 -1
- package/dist/client/_nuxt/{data-schema-button.vue-b64arzc9.js → data-schema-button.vue-chmssum7.js} +1 -1
- package/dist/client/_nuxt/{data-schema-drawer-nqlgg9ub.js → data-schema-drawer-ae0s9izl.js} +1 -1
- package/dist/client/_nuxt/{default-od9xk3i8.js → default-fhkw3irs.js} +1 -1
- package/dist/client/_nuxt/{error-404-emoo7i9n.js → error-404-eboai2a4.js} +1 -1
- package/dist/client/_nuxt/{error-500-bnd90stn.js → error-500-kvham2jx.js} +1 -1
- package/dist/client/_nuxt/{error-hvjvz7bb.js → error-emnwkrjd.js} +1 -1
- package/dist/client/_nuxt/{filepath-item.vue-o2x3r4mb.js → filepath-item.vue-bisii3l4.js} +1 -1
- package/dist/client/_nuxt/{full-gu478kwj.js → full-lzp51slp.js} +1 -1
- package/dist/client/_nuxt/{help-fab.vue-d0qw1y0l.js → help-fab.vue-jkf9agm3.js} +1 -1
- package/dist/client/_nuxt/{lvn8yg5y.js → hjpmj1xu.js} +4 -4
- package/dist/client/_nuxt/{hooks-be8h22ma.js → hooks-dwvu2u7q.js} +1 -1
- package/dist/client/_nuxt/{imports-ej7bqi7g.js → imports-n2wrqcb0.js} +1 -1
- package/dist/client/_nuxt/{index-hf04rw44.js → index-codugfas.js} +1 -1
- package/dist/client/_nuxt/{index-dp93fptz.js → index-o0lbgjvm.js} +1 -1
- package/dist/client/_nuxt/{launch-page.vue-md30bztg.js → launch-page.vue-6pn8vnpe.js} +1 -1
- package/dist/client/_nuxt/{modules-jy4a69z1.js → modules-hxnj5jth.js} +1 -1
- package/dist/client/_nuxt/{nbadge-fy79f44l.js → nbadge-pfavq5ao.js} +1 -1
- package/dist/client/_nuxt/{ncheckbox.vue-ljrefath.js → ncheckbox.vue-gfdtqnpm.js} +1 -1
- package/dist/client/_nuxt/{ndrawer.vue-e6lqkyxc.js → ndrawer.vue-c5d7jii6.js} +1 -1
- package/dist/client/_nuxt/{ndropdown.vue-c3opi1gp.js → ndropdown.vue-o80xuhl9.js} +1 -1
- package/dist/client/_nuxt/{nlink.vue-jlvd66yj.js → nlink.vue-jqcqrruu.js} +1 -1
- package/dist/client/_nuxt/{nnavbar.vue-sum5lgt2.js → nnavbar.vue-dbvriqjm.js} +1 -1
- package/dist/client/_nuxt/{none-fbcytjfn.js → none-by6k7p34.js} +1 -1
- package/dist/client/_nuxt/{nsection-block-b09uerue.js → nsection-block-padrvv1c.js} +1 -1
- package/dist/client/_nuxt/{nselect-tabs.vue-nfqgvjai.js → nselect-tabs.vue-el7lub08.js} +1 -1
- package/dist/client/_nuxt/{nselect.vue-mvh9aew6.js → nselect.vue-dxksqbxz.js} +1 -1
- package/dist/client/_nuxt/{open-graph-hl5cn95y.js → open-graph-mfgex6v6.js} +1 -1
- package/dist/client/_nuxt/{overview-mjoc7v5t.js → overview-mb2zzitf.js} +1 -1
- package/dist/client/_nuxt/{pages-k9ocivz6.js → pages-gkjutz4r.js} +1 -1
- package/dist/client/_nuxt/{payload-ee5t5ip4.js → payload-ea8d0krx.js} +1 -1
- package/dist/client/_nuxt/{pinia-f1we73u1.js → pinia-nqtom0ao.js} +1 -1
- package/dist/client/_nuxt/{plugins-issumwyw.js → plugins-h6j0tuq2.js} +1 -1
- package/dist/client/_nuxt/{render-tree-bjvhpbpc.js → render-tree-jy6tezjo.js} +1 -1
- package/dist/client/_nuxt/{runtime-configs-nb5124jk.js → runtime-configs-cs4asm90.js} +1 -1
- package/dist/client/_nuxt/{server-discovery-kd9v3yc1.js → server-discovery-bl7z7nb1.js} +1 -1
- package/dist/client/_nuxt/{server-route-inputs.vue-ict4a0p6.js → server-route-inputs.vue-mu2fane3.js} +1 -1
- package/dist/client/_nuxt/{server-routes-ghc8bhp0.js → server-routes-mxasuxos.js} +1 -1
- package/dist/client/_nuxt/{server-tasks-is4nim0j.js → server-tasks-f00daaf8.js} +1 -1
- package/dist/client/_nuxt/{settings-kwfwhzgd.js → settings-kwdictg4.js} +1 -1
- package/dist/client/_nuxt/{stacktrace-list.vue-hjxubmlb.js → stacktrace-list.vue-f9r30ugc.js} +1 -1
- package/dist/client/_nuxt/{state-components-i9weouul.js → state-components-d4iulvg3.js} +1 -1
- package/dist/client/_nuxt/{state-editor.vue-g4uzwplw.js → state-editor.vue-o88ak5ml.js} +1 -1
- package/dist/client/_nuxt/{state-modules-f09jaaet.js → state-modules-h52b8di8.js} +1 -1
- package/dist/client/_nuxt/{storage-egx93wrl.js → storage-eynssv88.js} +1 -1
- package/dist/client/_nuxt/{terminals-js231j61.js → terminals-5bmriywh.js} +1 -1
- package/dist/client/_nuxt/{timeline-ncc5nlf8.js → timeline-iaxiq1nj.js} +1 -1
- package/dist/client/_nuxt/{virtual-files-h2lqclmn.js → virtual-files-nnwwbhtv.js} +1 -1
- package/dist/client/index.html +12 -12
- package/dist/module.json +1 -1
- package/package.json +4 -4
- package/dist/client/_nuxt/__blank-lg13rweu.js +0 -1
- package/dist/client/_nuxt/analyze-build-jr9f6rw3.js +0 -1
- package/dist/client/_nuxt/builds/meta/2f14ccb8-5536-4d60-997c-5186e19df195.json +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as S}from"./duration-display.vue-dzttyi5n.js";import{a5 as T,a6 as F,f as B}from"./
|
|
1
|
+
import{_ as S}from"./duration-display.vue-dzttyi5n.js";import{a5 as T,a6 as F,f as B}from"./hjpmj1xu.js";import{p as $,f as H,q as w,U as u,W as h,X as o,a9 as l,a0 as p,F as y,ae as P,a8 as m,$ as V,u as x,a3 as _,P as C,a2 as f,Z as N}from"./vendor/json-editor-vue-kcahofzr.js";import{_ as D}from"./nsection-block-padrvv1c.js";import{_ as E}from"./help-fab.vue-jkf9agm3.js";import"./vendor/unocss-mstcul8h.js";import"./vendor/shiki-ja073547.js";import"./nicon-title.vue-hzhi6u0u.js";const O={"w-full":""},j={border:"b base"},L={"select-none":"","ws-nowrap":"",p1:"","text-right":"","font-bold":""},z={colspan:"2",p1:"",pl5:"","text-left":"","font-bold":""},A={"ws-nowrap":"",p1:"","text-center":"","font-bold":""},U={"ws-nowrap":"",p1:"","text-center":"","font-bold":""},Y={"ws-nowrap":"",p1:"","text-right":"","font-bold":""},q={"w-0":"","ws-nowrap":"","text-center":"","text-sm":"",op25:""},R={"text-sm":""},W={"ws-nowrap":""},X={"text-sm":""},Z={"w-0":"","text-center":"","text-sm":""},G={"w-0":"","text-center":"","text-sm":""},J={"w-0":"","text-right":"","text-sm":""},K=$({__name:"HooksTable",props:{hooks:{}},setup(k){const a=k,r=H("duration"),n=H("asc"),d={duration:(e,t)=>(t.duration??Number.POSITIVE_INFINITY)-(e.duration??Number.POSITIVE_INFINITY),name:(e,t)=>e.name.localeCompare(t.name),listener:(e,t)=>t.listeners-e.listeners,start:(e,t)=>t.start-e.start,executions:(e,t)=>t.executions.length-e.executions.length},g=w(()=>a.hooks.map(e=>e.start).sort((e,t)=>e-t)),b=w(()=>{const e=d[r.value],t=[...a.hooks].sort(e);return n.value==="desc"&&t.reverse(),t});function c(e){const t=e.split(":");return t.length===1?"":`${t[0]}:`}function v(e){const t=e.split(":");return t.length===1?e:t.slice(1).join(":")}function i(e){r.value===e?n.value=n.value==="asc"?"desc":"asc":r.value=e}return(e,t)=>{const I=S;return u(),h("table",O,[o("thead",j,[o("tr",null,[o("th",L,[o("button",{onClick:t[0]||(t[0]=s=>i("start"))},[t[5]||(t[5]=l(" Order ")),o("div",{"ml--1":"","text-xs":"",class:p([r.value==="start"?"op50":"op0",n.value==="asc"?"carbon-arrow-down":"carbon-arrow-up"])},null,2)])]),o("th",z,[o("button",{onClick:t[1]||(t[1]=s=>i("name"))},[t[6]||(t[6]=l(" Hook name ")),o("div",{"ml--1":"","text-xs":"",class:p([r.value==="name"?"op50":"op0",n.value==="asc"?"carbon-arrow-down":"carbon-arrow-up"])},null,2)])]),o("th",A,[o("button",{onClick:t[2]||(t[2]=s=>i("listener"))},[t[7]||(t[7]=l(" Listeners ")),o("div",{"ml--1":"","text-xs":"",class:p([r.value==="listener"?"op50":"op0",n.value==="asc"?"carbon-arrow-down":"carbon-arrow-up"])},null,2)])]),o("th",U,[o("button",{onClick:t[3]||(t[3]=s=>i("executions"))},[t[8]||(t[8]=l(" Executions ")),o("div",{"ml--1":"","text-xs":"",class:p([r.value==="executions"?"op50":"op0",n.value==="asc"?"carbon-arrow-down":"carbon-arrow-up"])},null,2)])]),o("th",Y,[o("button",{onClick:t[4]||(t[4]=s=>i("duration"))},[t[9]||(t[9]=l(" Duration ")),o("div",{"ml--1":"","text-xs":"",class:p([r.value==="duration"?"op50":"op0",n.value==="asc"?"carbon-arrow-down":"carbon-arrow-up"])},null,2)])])])]),o("tbody",null,[(u(!0),h(y,null,P(b.value,s=>(u(),h("tr",{key:s.name,border:"b dashed transparent hover:base"},[o("td",q,m(g.value.indexOf(s.start)),1),o("td",{"w-0":"","ws-nowrap":"","text-right":"",style:V({color:("getHashColorFromString"in e?e.getHashColorFromString:x(T))(c(s.name))})},[o("code",R,m(c(s.name)),1)],4),o("td",W,[o("code",X,m(v(s.name)),1)]),o("td",Z,m(s.listeners),1),o("td",G,m(s.executions.length+1),1),o("td",J,[_(I,{duration:s.duration},null,8,["duration"])])]))),128))])])}}}),M={class:"markdown-body"},Q={__name:"hooks",setup(k,{expose:a}){return a({frontmatter:{}}),(n,d)=>(u(),h("div",M,d[0]||(d[0]=[o("h1",null,"Hooks",-1),o("p",null,[l("Hooks are an advanced API which can be used for module development or other advanced use cases. The hooking API can be used to expand almost every aspect of Nuxt. Under the hood it is powered by "),o("a",{href:"https://github.com/unjs/hookable",target:"_blank",rel:"noopener"},"unjs/hookable"),l(".")],-1),o("p",null,[o("a",{href:"https://nuxt.com/docs/guide/going-further/hooks",target:"_blank",rel:"noopener"},"Learn more about hooks"),l(".")],-1)])))}},it=$({__name:"hooks",setup(k){const a=F(),r=B(),n=w(()=>r.value?.metrics.clientHooks());return(d,g)=>{const b=K,c=D,v=Q,i=E;return u(),h(y,null,[o("div",null,[n.value?.length?(u(),C(c,{key:0,icon:"carbon-ibm-cloud-direct-link-1-dedicated-hosting",text:"Client Hooks",description:`Total hooks: ${n.value.length}`,padding:"pl4 pr6"},{default:f(()=>[_(b,{hooks:n.value},null,8,["hooks"])]),_:1},8,["description"])):N("",!0),x(a)?.length?(u(),C(c,{key:1,icon:"carbon-ibm-cloud-direct-link-2-dedicated",text:"Server Hooks",description:`Total hooks: ${x(a)?.length}`,padding:"pl4 pr6"},{default:f(()=>[_(b,{hooks:x(a)},null,8,["hooks"])]),_:1},8,["description"])):N("",!0)]),_(i,null,{default:f(()=>[_(v)]),_:1})],64)}}});export{it as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a7 as D,Y as F,a8 as S,K as z,O as T,X as E,H as P}from"./
|
|
1
|
+
import{a7 as D,Y as F,a8 as S,K as z,O as T,X as E,H as P}from"./hjpmj1xu.js";import{_ as j}from"./nselect-tabs.vue-el7lub08.js";import{_ as L}from"./nnavbar.vue-dbvriqjm.js";import{_ as U}from"./filepath-item.vue-bisii3l4.js";import{_ as X}from"./composable-item.vue-g0zoeh4b.js";import{p as N,U as a,W as l,F as y,ae as M,a3 as i,X as d,P as x,u as _,Z as b,q as g,a8 as Y,f as A,a2 as h}from"./vendor/json-editor-vue-kcahofzr.js";import{_ as q}from"./nsection-block-padrvv1c.js";import{_ as K}from"./help-fab.vue-jkf9agm3.js";import{D as B}from"./constants-b32h69zq.js";import"./vendor/unocss-mstcul8h.js";import"./vendor/shiki-ja073547.js";import"./nmarkdown.vue-jpbjhala.js";import"./client-kpmlv67d.js";import"./nicon-title.vue-hzhi6u0u.js";const O={flex:"~ wrap gap2",p2:"",pl4:""},W=N({__name:"ComposableTree",props:{map:{},root:{},metadata:{}},setup($){return(n,m)=>{const s=U,e=X;return a(),l("div",null,[(a(!0),l(y,null,M(n.map.entries(),([o,v])=>(a(),l("div",{key:o},[i(s,{filepath:o,op50:"","hover:underline":""},null,8,["filepath"]),d("div",O,[(a(!0),l(y,null,M(v,w=>(a(),x(e,{key:w.as,item:w,metadata:n.metadata,filepath:o.match(/^[\w@]/)?void 0:o},null,8,["item","metadata","filepath"]))),128))])]))),128))])}}}),Z={key:0,flex:"~ col gap-2 items-start"},G=N({__name:"HelpImportsDirs",setup($){const n=D();return(m,s)=>{const e=U;return _(n)?.dirs?(a(),l("div",Z,[(a(!0),l(y,null,M(_(n).dirs,o=>(a(),x(e,{key:o,filepath:o,"text-primary":""},null,8,["filepath"]))),128))])):b("",!0)}}}),J={flex:"~ gap-2 wrap",mb6:""},Q=N({__name:"HelpImportsModules",setup($){const n=D(),m=g(()=>[...new Set(n.value?.imports.map(s=>F(s.from)).filter(s=>!!s&&!S(s)))]);return(s,e)=>(a(),l("div",J,[(a(!0),l(y,null,M(m.value,o=>(a(),l("code",{key:o,rounded:"","bg-primary:5":"",p:"x2 y0.5","text-primary":""},Y(o),1))),128))]))}}),R={class:"markdown-body"},ee={__name:"imports",setup($,{expose:n}){return n({frontmatter:{}}),(s,e)=>{const o=G,v=Q;return a(),l("div",R,[e[0]||(e[0]=d("h1",null,"Auto imports",-1)),e[1]||(e[1]=d("p",null,"Nuxt auto-imports helper functions, composables and Vue APIs to be used across your application without explicitly importing them. Based on the directory structure, every Nuxt application can also use auto-imports for its own components, composables and plugins. Components, composables or plugins can use these functions.",-1)),e[2]||(e[2]=d("hr",null,null,-1)),e[3]||(e[3]=d("p",null,"According to your config, exports of files under the following folders will be registed as auto-imports entry:",-1)),i(o),e[4]||(e[4]=d("p",null,"Meanwhile, modules could also provide auto-imports for their own components. You have auto-imports from the following modules as well:",-1)),i(v),e[5]||(e[5]=d("hr",null,null,-1)),e[6]||(e[6]=d("p",null,[d("a",{href:"https://nuxt.com/docs/guide/concepts/auto-imports",target:"_blank",rel:"noopener"},"Learn more in the documentation")],-1))])}}},oe={key:0,relative:"","h-full":"","of-auto":""},te={key:0,flex:"~ gap-2 items-center"},be=N({__name:"imports",setup($){const n=z(),m=A("all"),s=A(""),e=D(),o=g(()=>e.value?.metadata),v=g(()=>e.value?.imports.filter(p=>p.as||p.name).sort((p,u)=>(p.as||p.name).localeCompare(u.as||u.name))||[]),w=g(()=>new T(v.value,{keys:["from","as","name"]})),r=g(()=>{const p=new Map,u=new Map,I=new Map;let f=s.value?w.value.search(s.value).map(t=>t.item):v.value;m.value==="using"&&o.value?f=f.filter(t=>(t.as||t.name)in o.value.injectionUsage):m.value==="not-used"&&o.value&&(f=f.filter(t=>!((t.as||t.name)in o.value.injectionUsage)));const k={user:0,lib:0,builtin:0};return f.forEach(t=>{const c=E(t.from)?S(F(t.from))?I:u:p;c.has(t.from)||c.set(t.from,[]),c.get(t.from).push(t),k[c===p?"user":c===u?"lib":"builtin"]++}),{user:p,lib:u,builtin:I,count:k}});return(p,u)=>{const I=P,f=j,k=L,t=W,c=q,V=ee,H=K;return a(),l(y,null,[_(n)?(a(),l("div",oe,[i(k,{search:s.value,"onUpdate:search":u[1]||(u[1]=C=>s.value=C),pb3:""},{default:h(()=>[o.value?(a(),l("div",te,[i(I,{icon:"carbon-filter",op50:""}),i(f,{modelValue:m.value,"onUpdate:modelValue":u[0]||(u[0]=C=>m.value=C),n:"primary sm",options:[{label:"All",value:"all"},{label:"Using",value:"using"},{label:"Not used",value:"not-used"}]},null,8,["modelValue"])])):b("",!0)]),_:1},8,["search"]),r.value.user.size?(a(),x(c,{key:0,open:r.value.count.user<=_(B),icon:"carbon-function",text:"User composables",description:`${r.value.count.user} composables from ${r.value.user.size} modules`},{default:h(()=>[i(t,{map:r.value.user,root:_(n).rootDir,metadata:o.value},null,8,["map","root","metadata"])]),_:1},8,["open","description"])):b("",!0),r.value.builtin.size?(a(),x(c,{key:1,open:r.value.count.builtin<=_(B),icon:"simple-icons-nuxtdotjs",text:"Built-in composables",description:`${r.value.count.builtin} composables`},{default:h(()=>[i(t,{map:r.value.builtin,root:_(n).rootDir,metadata:o.value},null,8,["map","root","metadata"])]),_:1},8,["open","description"])):b("",!0),r.value.lib.size?(a(),x(c,{key:2,open:r.value.count.lib<=_(B),icon:"carbon-3d-mpr-toggle",text:"Composables from libraries",description:`${r.value.count.lib} composables from ${r.value.lib.size} packages`},{default:h(()=>[i(t,{map:r.value.lib,root:_(n).rootDir,metadata:o.value},null,8,["map","root","metadata"])]),_:1},8,["open","description"])):b("",!0)])):b("",!0),i(H,null,{default:h(()=>[i(V)]),_:1})],64)}}});export{be as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as y,g,h as N,t as b,i as k,j as h,_ as w}from"./
|
|
1
|
+
import{f as y,g,h as N,t as b,i as k,j as h,_ as w}from"./hjpmj1xu.js";import{_ as C}from"./nlink.vue-jqcqrruu.js";import{_ as V}from"./ncheckbox.vue-gfdtqnpm.js";import{p as B,f as L,P as u,a2 as o,U as m,X as t,a3 as n,a9 as l,u as P,Z as T}from"./vendor/json-editor-vue-kcahofzr.js";import"./vendor/unocss-mstcul8h.js";import"./vendor/shiki-ja073547.js";const j={flex:"~ auto col gap3","items-center":"","justify-center":"","text-center":""},D={"max-w-190":"","text-lg":""},$={mb6:"",op50:""},E={p4:""},F={flex:"~ col gap-2",mxa:""},Z=B({__name:"index",setup(G){const p=y(),s=L(!0),{showPanel:a}=g("ui");function d(){b.value=s.value,k.value=!1}function f(){a.value=!1,p.value.devtools.close()}return(S,e)=>{const _=h,r=C,i=w,x=V,v=N;return m(),u(v,{flex:"~ col",relative:"","h-screen":"","w-full":""},{default:o(()=>[t("div",j,[e[7]||(e[7]=t("p",{my2:"","text-3em":"","text-primary":"","font-bold":"","font-stylish":""}," 👋 Hi there, welcome to Nuxt DevTools! ",-1)),t("p",D,[n(_,{"mr-0.5":"","inline-block":"","h-5":"","translate-y--1.1":"","align-mid":""}),e[1]||(e[1]=l(" is a set of visual tools that help you to know your Nuxt app better, and enhance your development experience with Nuxt. Enjoy!")),e[2]||(e[2]=t("br",null,null,-1))]),t("p",$,[e[4]||(e[4]=l(" Learn more at ")),n(r,{href:"https://devtools.nuxt.com/",target:"_blank",rel:"noopener noreferrer",n:"primary"},{default:o(()=>e[3]||(e[3]=[l(" devtools.nuxt.com ")])),_:1})]),n(i,{to:"/modules/overview",n:"lg primary",onClick:d},{default:o(()=>e[5]||(e[5]=[t("span",null,"Get Started",-1)])),_:1}),P(a)!==!1?(m(),u(i,{key:0,n:"borderless orange",onClick:f},{default:o(()=>e[6]||(e[6]=[t("span",null,"Always hide the floating panel",-1)])),_:1})):T("",!0)]),t("div",E,[t("div",F,[n(x,{modelValue:s.value,"onUpdate:modelValue":e[0]||(e[0]=c=>s.value=c),n:"green6"},{default:o(()=>[e[8]||(e[8]=t("span",{op50:""},"Send anonymous statistics, help us improving DevTools",-1)),n(r,{href:"https://github.com/nuxt/devtools#anonymous-usage-analytics",target:"_blank",ml1:"",op35:"",textContent:"Learn more"})]),_:1},8,["modelValue"])])])]),_:1})}}});export{Z as default};
|