From 0f884b6d402c3901017feb677bcb01e3cb0078b4 Mon Sep 17 00:00:00 2001 From: Christian Bergschneider Date: Thu, 25 Jan 2024 08:49:31 +0100 Subject: [PATCH 1/9] move to astro --- .gitbook/assets/image (2).png | Bin 48244 -> 0 bytes .../screenshot-2021-02-12-at-04.57.33.png | Bin 8740 -> 0 bytes .../screenshot-2021-02-12-at-05.27.21.png | Bin 19271 -> 0 bytes .gitignore | 3 +- README.md | 55 +- SUMMARY.md | 53 - astro.config.mjs | 49 + book.json | 4 - expansion/scripting/wip-commands.md | 2 - package.json | 19 + pnpm-lock.yaml | 4575 +++++++++++++++++ public/logo.png | Bin 0 -> 5029 bytes .../assets/colored-text.png | Bin .../assets/command-error.png | Bin .../assets/command-framework.png | Bin {.gitbook => src}/assets/event-tree.gif | Bin {.gitbook => src}/assets/notification.png | Bin .../assets/perlin-terrain.png | Bin .../assets/rich_message_click.png | Bin .../assets/rich_message_hover.png | Bin .../assets/snowman-intersecting-front.png | Bin .../assets/snowman-no-terrain.png | Bin .../image (1).png => src/assets/snowman.png | Bin src/content/config.ts | 7 + .../content/docs/expansion}/extensions.md | 16 +- .../content/docs/expansion/scripting/index.md | 5 +- .../scripting/wip-java-interoperability.md | 5 +- .../content/docs/feature}/advancements.md | 4 +- .../content/docs/feature}/adventure.md | 4 +- .../content/docs/feature}/commands.md | 8 +- .../content/docs/feature}/entities/ai.md | 5 +- .../content/docs/feature/entities/index.md | 5 +- .../docs/feature}/events/implementation.md | 3 +- .../content/docs/feature/events/index.md | 7 +- .../docs/feature}/events/server-list-ping.md | 3 +- .../content/docs/feature}/inventories.md | 4 +- .../content/docs/feature}/items.md | 4 +- .../map-rendering/glfwmaprendering.md | 4 +- .../docs/feature/map-rendering/index.md | 4 +- .../content/docs/feature}/open-to-lan.md | 3 +- .../content/docs/feature}/permissions.md | 4 +- .../docs/feature}/player-capabilities.md | 6 +- .../content/docs/feature}/player-skin.md | 4 +- .../content/docs/feature}/player-uuid.md | 4 +- .../content/docs/feature}/query.md | 3 +- .../content/docs/feature}/schedulers.md | 4 +- {feature => src/content/docs/feature}/tags.md | 4 +- src/content/docs/index.md | 14 + .../content/docs/setup}/dependencies.md | 3 +- .../content/docs/setup}/your-first-server.md | 3 +- .../acquirable-api/index.md | 4 +- .../acquirable-api/inside-the-api.md | 3 +- .../thread-architecture}/thread-safety.md | 3 +- .../content/docs/world}/anvilloader.md | 1 + {world => src/content/docs/world}/batch.md | 4 +- {world => src/content/docs/world}/blocks.md | 4 +- .../content/docs/world}/chunk-management.md | 3 +- .../content/docs/world}/coordinates.md | 4 +- .../content/docs/world}/generation.md | 10 +- .../content/docs/world}/instances.md | 4 +- src/content/index.css | 29 + src/env.d.ts | 2 + tsconfig.json | 3 + 63 files changed, 4849 insertions(+), 125 deletions(-) delete mode 100644 .gitbook/assets/image (2).png delete mode 100644 .gitbook/assets/screenshot-2021-02-12-at-04.57.33.png delete mode 100644 .gitbook/assets/screenshot-2021-02-12-at-05.27.21.png delete mode 100644 SUMMARY.md create mode 100644 astro.config.mjs delete mode 100644 book.json delete mode 100644 expansion/scripting/wip-commands.md create mode 100644 package.json create mode 100644 pnpm-lock.yaml create mode 100644 public/logo.png rename .gitbook/assets/colored_text.png => src/assets/colored-text.png (100%) rename .gitbook/assets/Screenshot 2021-02-12 at 05.27.21.png => src/assets/command-error.png (100%) rename .gitbook/assets/Screenshot 2021-02-12 at 04.57.33.png => src/assets/command-framework.png (100%) rename {.gitbook => src}/assets/event-tree.gif (100%) rename {.gitbook => src}/assets/notification.png (100%) rename .gitbook/assets/image (4).png => src/assets/perlin-terrain.png (100%) rename {.gitbook => src}/assets/rich_message_click.png (100%) rename {.gitbook => src}/assets/rich_message_hover.png (100%) rename .gitbook/assets/image (3).png => src/assets/snowman-intersecting-front.png (100%) rename .gitbook/assets/image.png => src/assets/snowman-no-terrain.png (100%) rename .gitbook/assets/image (1).png => src/assets/snowman.png (100%) create mode 100644 src/content/config.ts rename {expansion => src/content/docs/expansion}/extensions.md (91%) rename expansion/scripting/README.md => src/content/docs/expansion/scripting/index.md (97%) rename {expansion => src/content/docs/expansion}/scripting/wip-java-interoperability.md (89%) rename {feature => src/content/docs/feature}/advancements.md (98%) rename {feature => src/content/docs/feature}/adventure.md (99%) rename {feature => src/content/docs/feature}/commands.md (96%) rename {feature => src/content/docs/feature}/entities/ai.md (96%) rename feature/entities/README.md => src/content/docs/feature/entities/index.md (98%) rename {feature => src/content/docs/feature}/events/implementation.md (98%) rename feature/events/README.md => src/content/docs/feature/events/index.md (96%) rename {feature => src/content/docs/feature}/events/server-list-ping.md (99%) rename {feature => src/content/docs/feature}/inventories.md (98%) rename {feature => src/content/docs/feature}/items.md (98%) rename {feature => src/content/docs/feature}/map-rendering/glfwmaprendering.md (99%) rename feature/map-rendering/README.md => src/content/docs/feature/map-rendering/index.md (99%) rename {feature => src/content/docs/feature}/open-to-lan.md (98%) rename {feature => src/content/docs/feature}/permissions.md (99%) rename {feature => src/content/docs/feature}/player-capabilities.md (97%) rename {feature => src/content/docs/feature}/player-skin.md (98%) rename {feature => src/content/docs/feature}/player-uuid.md (97%) rename {feature => src/content/docs/feature}/query.md (99%) rename {feature => src/content/docs/feature}/schedulers.md (97%) rename {feature => src/content/docs/feature}/tags.md (98%) create mode 100644 src/content/docs/index.md rename {setup => src/content/docs/setup}/dependencies.md (99%) rename {setup => src/content/docs/setup}/your-first-server.md (99%) rename thread-architecture/acquirable-api/README.md => src/content/docs/thread-architecture/acquirable-api/index.md (99%) rename {thread-architecture => src/content/docs/thread-architecture}/acquirable-api/inside-the-api.md (99%) rename {thread-architecture => src/content/docs/thread-architecture}/thread-safety.md (99%) rename {world => src/content/docs/world}/anvilloader.md (97%) rename {world => src/content/docs/world}/batch.md (99%) rename {world => src/content/docs/world}/blocks.md (99%) rename {world => src/content/docs/world}/chunk-management.md (98%) rename {world => src/content/docs/world}/coordinates.md (98%) rename {world => src/content/docs/world}/generation.md (97%) rename {world => src/content/docs/world}/instances.md (98%) create mode 100644 src/content/index.css create mode 100644 src/env.d.ts create mode 100644 tsconfig.json diff --git a/.gitbook/assets/image (2).png b/.gitbook/assets/image (2).png deleted file mode 100644 index 40e7b7b2ec39908d142b8e67a7984e2e1916de8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48244 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 G%l`{8@9hr& diff --git a/.gitbook/assets/screenshot-2021-02-12-at-04.57.33.png b/.gitbook/assets/screenshot-2021-02-12-at-04.57.33.png deleted file mode 100644 index 5135e45dfe9db072acb554469d9bf8e47bfffd92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8740 zcmZ{~2UJr**Djn;f?((^gkGf+LTI50fl#EQ2#OjYKoF%XU3zE<9qBcwNK=YRlOhlS zX#oTj5D}54(gZ<3ZhZg${qDN!u6tHy_MZLhGH1`4IXP!0$=cGGnF-1S005XxO$==T z02(L&0OUAFOO+7j316uV4Nnxx+SAn)0Fcgb#b7v0+hAPoD||>Ryxt!=T*Z?d0xr6-t{i!xK8iK zT_rt&ikXa>m;)P20Uwa2CSTS~?o_?Ts2{e-1-H=2hiD@Ink(y$9+LFp}F@4<&Lks=-x>70# zF-XsM*8$icxOEW{}y%qb?q?G=c-e8ZMs zfPFuZoHa7Z;b9D7T;>7q_nN-TSu{5b}aTTp~i8qQYE4LL4^N ztYnpC#6-9x#Cb$SxY*g*y@R||kZ>VEb^(4i2!vITpG{DJO-)DD@~SyZT?xX+%FoYA zz1+NAWR;~C78X1MJk0D&6cBRi>grYw7K*C!0s>r6C`VLORBUXludnajyLY|3yl{SQ zckX$5__^Wy-97!?O-xMUtEA*+8;I)=<>E)les3NA9C*<91=Px_@3Cl3z*we1j>D7@cM1?#nB7 z-v`|D@@>Ds{b|tky@D?<8TPKf&3M)OlSb`|ct$hO+|c1Z5SJ*g_U7t}m!|YwR+Rmr zX+?WUS4;YQa;%}JGo8GDr_|On>{+DPR&k#yp~PhNcA=$zBi4K5J@i^T_G4$(4RWB3 zH#5g?m4lxFlRoTMgaQ^*l5j`C;TqPJUv30U?c47?2%0G{GrduoVA-2LTFPNt+3M?7 z{k^v5c*_jGed9UQq_9eP@2=FHjJyi12)~)Rcahnn!Liv8DYp&rFOO5%-tJ~5ga0}~T zRUboDe(OCc>1~&9o}a%z2N`}?LZg=WE?*9~%5uKC(c$KEZx1gNHjwVy7ezuR~KW$WIl)Er8X{be{Oxm*=AIHzWT3& z;>-NjL{Mx8Fdwrf!^Wi4V4tjT;je*Xz3#IpxOm~OI||vU>c6-K@J7v}`z^56mMT{K zh0^D!h zpyw_fw$)-f-=#m*vXI3)Cgh`tt?T{Gt*eA!* z>kt$Md0$UP5y{KL=(L?Pz8u2}ddl5Sk_O^aIRuX_M-q)}6sti5SV2&aSb@?WSsFIp#vKYbIKMDjWiTNe2|NfNt*G(#5|SRjq&0)@st%YShA)utd^sB#vkLDale>mfGs;2c*6F zwmGr?V~Yu0Z{<4Y`RY5{sc#-FyhA(IaenvnJ>CotPWYA7u3Ku*(|&o6!Y+ayc^Na z*=A>|VO9umc4!jt!whs-(-FjK3p$+c+z#krg1louDPbWlL+^6)8__CKid~o$hQ`4j z#TWeFUMSwLyL3OZ#CAR`f5eD)kp7*sykc9CQxP*H{1I2Lk*A^=13|54_S~~&FQeZ# zJBCwV0Lbm$a{Ti58sfetDs_a*`TGi51rhAsO`S}726~K07_9ZB#C|ot6sZ=R5Mfx9 zc5`f2snbb=wev{QiTJeuF@Kc9zU@~tSidU@>CFQjVFL7#^roy2r5>IKoHIogSy6TkOE>dE3TPRX>5FYr8>S zaheVkP%xo~R^_;k4rs7hsW9ut@e#D!@|_k2CR$8dzWfcV`LZ^hbjFjT(z#v@YPAN%dj5IYGhl+3>5hNeYc%t6eXeJE=J#so zY+=5nG%v>}<3k$sdC}#=SVtyaDQ74#U$uf>1tq$o>P{zLE-Vfz-23eE9`jX{bREp= zL4$sgz7)1_3F*=)_vWssEaPhR1T*k!gh;8QsQYzWaBg6hpQ?F*<+^SCz(70_QuwXM z#NcW%_^zTk6R#<7IlSA%F5^i(3opMW?;~2YXictrP*%ZD(_4CMn?EhJO4lm z0tIz0M|^M>A6?{3EVLijAG{$FhL(*jh;v3dYhGG*K?Of`gF!D(j<@2jC{EFkHDk-s zXpe_)jV^Z&fYH31vwIu))A(d{tL29^E+*!vzCTU7FZab|9n;JP=b)_pLULr~r)YSsf=Em08FA>M zm{wZ!Ppov9Z_1^FMwCda{ zv9PnYEwh%`_O8i%A~cCRZ_sNV-8wt9D#k%*#D1mi&8rDpKR=MFGZxGTA~;ls@uI6g zOEUTjOd9b;ixbSu2&tzZ9&G;kG|ea()7`E;1IAiOGg&{GwlD`M`o?Z_ESGa?WRUVm zu?#vmt0nJ!t-^~atVclg=ft<9Bi*;jWg|1X;;btRx%Z0C6BvpUkk8>oi}QPL%sl9q zD;Ww2f+>Ur2gU4ja1i2ianMP}8wwjeA<642z zJUF|AlfZ+epz~B06xWia0>Q@!*z5ethLUC+B5BTKJZaxygYI3FTf0=xPs>-sI~~>` ztZoON0(lz}w7&T6z06M?kN4L6S@%_-lu%pL%9L${wG(f!YD*?^eQ*!^9(q9HFWS&IfN^bHIb;Y6O2g6$%o{k&{jCY?g=>laf zYdp_wbo`zxQYEOr`Kd$a*T-mwqvvDs``v$TsI}^HJ*|?cDhc-!#`B@qdg+%B8IWDiK0Zov`h-f{lV`eAug&nY2)rQa0jIG2&Sy zzU+z6od*Ia+K+c3a~K>ZNN?3XiZZplYn-fn>dtSdt&=(Dt|C~jqedY@yRlH*FFs25 zw44FXDFb)NkN|=H3}S`8MnWy4_R5z;yS3_74~HLZw#hLu^FH0ceU|Hz!L=N>YU5gd zbUmi5y{F7la3+HgO1C?UJ|eGm;zrZwvZVsB*h+zbPy&2CFSX6J6^&C1oGPyNU?PX> zoZDE|`gt4|YV+gX+}g>He08n$rA>1h>^x~H|ME{A!Qnox&qx~Lr-baeUvlhFjR_rP zn^7Y+Z(w}ZUr6-|W!pUW&2<|zIVXP%g|X?)4e4E;4OjXGy%l0>*W+Jh>iJ6O4jbd< zI_=%1d07F3Mrilm5?$=r4->8X^9mQ-LrZ9&5sMs9z#N*=!cjp98_(;H4bhs#YFFqZ zic`?In?33ZvH5)#ub!`nS$FvidGSy*aQFkwzKW$$Ixa}S~ z(JcKj+Xay>S&c=6Hm1b!rX%HEP;Zjd-j4h>baLAI?rJ*|6i+ zcU{$AHcLcr@6flz3VhngEUqI@{#vjUWL|u8p94zh{y+yEt^8{kId=2_@rLy!X0B@? zQQ^ZLLH?P37DjPz1>AY#%jBcl_3YF!iOzY6IEUau?_i$XrUf+wj`dMmr;KikTFeio zAco$eA4cQ$vuG4q2!1=nA{oE+6gcz9_vKa$If~pnTn}L0T4nt7%pE+#-Hi)L792@J~@fALYv}UnV7-R^rWTYt`?pO_RyGQ!&qaGVXyi-Jbh@8 z=1?(um(e{_&}1z9*ezn;+EaX5v6gu`DsArsp%p|4lnfipz_v?13qm%Zk??@@)HPrny|GLYVgX^MEHCCz5TrRE2vLd zmVa*kQhqVGzyD%Q^tIRGB`yI@1`=omT4h|7#!OmjFI=q$-#uk5*B5m-N5o`HP`2mI zGO%&uWyow1XrfrTu38*^i>23zFI1{B0&!mk7fiY%!FN?^_ZA6sll@!7lMg$^3C}+) zv-U2At0Mk()%?+7o4omMP0RF8iDrpX#|6=|FopigJBro_%eU`h%T4e?kWlO$(qQ*E z%&{krv?O#(3$mMTLnMSDCT>2IdwJy?vuE>nvvzwSz{E|uk#?~`;ZMIyAA)+f0z%Y3 zNfU1c-5kz-;wme0U88-NS{)M#+hTS&GN&mkGgmk_0Z#I>Ka0iLO5X~F%2X1 zc;{$#6yB2v<`jmht+e8p2;ri=&$|aK@S+tymw@6RLcKPG+W;*zgW!Qx$J&sTJhQ-) zm%AO9AXf&YKj!B_Py@Vevq46~XE1kJXhUeuPUNenZ5MKb6fyGY1o%&x6l?@+ngIL`g43<3z-ri8{BZB^SJJ z5MWP?TF#~my}To7NgY?GETnkA0c1=b1ojY3CgT_g7Skp*VDu9(NFAFkF22Ol8I@6^ zBr}tbP5wa*5rg^qpT6(6~~O8FT5h^3ef;8F>UP|eNOsPf7DZ1Lqd@&OGx zOOyoV6Nm1Hazwxi82L7elO9}y_!r1nzfJDJHK|Z`3LLc|ekrf$U(U#0w96ul!qhkK z@yYjj-!OSLQaz9;FMfOFruAET!j<&$)t2d=wNVCw3A{0+9>m*#p{_pV2I#AJaDY3e zRss7p@Dn}ZJYUj_mvm(Kab|x8dsEFt*r!q58g>iy((;MBwP_Y|!QgC# zmf;wbFeFNX^8tu!?bvcmtul5k%bDUJ4)NfHf7w3>Q$}TQcS|qk)|L|L?sMH10PEkf z)x}Cb;=86E9BO4tN1%CS_YUQ+`bYe`ACR>E+#!v?p>7ufJ4kpsA14vG@#8Yx3NEQE z_0;^!;97Ru<7qK6nvqaQ?oQ8a7&9Pe_Q0e#2xJsKj}Q^)Q!#O@c8*L(q)#AV;RhQb zc>8P9`PV+I${OG$M!E-QjkU7`ksgB>0{U}QIS>4!q^s~Hbk7gSbyF!$z3edUlJ{;2 zbLl3BbH?ZG>?UKT0KLMWtE2to)*25!3~D%a=bbVY?>>-wj{+Hx%W^?{od-9lve1Bm zIC7mVUj|O#VGJG$ftr$cW>8XyDP)$b4@W%NSrm5}7)#K}A0KDt^TU-Tt0t1~^S4`Q z^Fsvlc0&HY%<;F=lH1_OEJeqn`C_*b{A(8~_2od1EqI0Oxz zLbnWLmOl-=u~b4kslNtK>^VG^-fl@DA08iSepzaZoZ{Sw&)H%jzwL@(-`cAU@61tp zz8i1fIWWX~{fI;ER%o_T)9#8rzN_oa(6%QJ6A0z?*6@`_6q$&GdeQe9Egyi#TPVh; ztt*lR=}9HiOy746-1UFwrOap0e6v-Aa=C14=N)TwEv9z0ue7iBvh=HWWdMl;Okgqw zvN#reO+!%Lh5E0BLT@ciXMn?$E~|=4EFF>Rt+&{l*on`Ycdw*|zu^9TJmYY5P41S5 z+u`4R`{9Xh3?9r1^%Yu*!9$2EvC$O`U1b@GWZQ07PpJn^q$!OTA%V*a#Yp49SR0}1 zbO|Py`fVLLwiL2P-nWu16ui0P+e7s-<;s%ScU?V040Yk8oTa_O+VG|vR^+aNJ>IIx z0cJ81P~n#qL-w0$kVn|lq3sdgw&N|#B)>T^sAG@GC3su}qoM1wWRP#GBJ|a(y8F_1 z*vWB~O^>E}>a_RV6oYyNPgrgMelP0hx_Wv^M^rwZLJOi7!tL&Mjzn(1@_7L_4`IfE z70=Y3b@(eSdb=GW-ZAvPvf-+KB3JGgpikm~AVq0IzP(>?<|cw1o(vGk<eAoRCRI_*8=Tuf8Yq}9yIWlU-8PPbqnZ4utzjdkH$ww~5Z z$Ya1?o=_Z(mTsA{d~QTS4m)wHdAFPtp38l_^R>M$JdK)#B>sHbk^%3Uk0`p z_ViYs)-7xYEj8cIh`iVTK(lghS}_s78sXFQK`!ED*h6D93t}1s@~Afq!@e{v zE@oHK&#-8Om+kaYy9|%4NI_M|eWv~hQMXwx1)W_2wDZvuz9h+l~H z6Ln?BePtkB9BA=k1M9#y$|zzG4-Popy~`I#G?0{Ye8ddDG_uw8BR)ArsP%*Cq3xpp z`^@q5>n(%n4G-WhlwhG0vLseMp6~{TU?iIv;MJ%Lu=bO2$jdP`N-i4~9O}|}7Gn63 zg>M53#?2p2j4MBbtnk*(KY8rav4a<2-n9?U;@V}}In|xXibjWmWybaP2Ys108vsP! zvAUCroLi0Xle%a$2qrdw*_62`E=WKRlu?3#lsqG%dLOPCNEWk$OL~<=E z#Ij7eAZ%9m9WBZ1)^61%spJ$fbLeKsGm(!=r{2vo2fp#cD{{2ZF87rq8{MPn>prJ# zIg1)Y=`k!~7fBz|f#Xr0(zL_}{n+90;Bq4R9magTC5zN>8*YO56ob>|EvKA=1nDG^ ziv@`2Nw6eb8d0K;DA^nL9r>Xv`@NuFM>q7t>ECTlogk53oyFH=1!3I^@IHSUvCVc5 zik!TeBDSo|d}<-r<>q$L)xlOPb7%O5ddTsQSBpn?<;)QL(qs04BbBJ*58NW%>7Es zTnq`qRgk4 zt`DVuroy&} z>leaj@JGhNP!9n5KH{2)IDs4nMCcMp* zlMw#3tD|GTIs_WDDJCvNjQq12G9}GOF7(UE31oia9F%c^JNS!du%T!0$Q*2CU&$Vy z{fpE1=&IbA`^sV+c=4=v=&Y+5CT$HWLqEptd-uCAf^{zuGj=GTQ(0 zz<(G(-wtJJN~LzL{%&sG0XUz)sF9RDsz5T($RQBx9O#CmB2)r^!{EvaFoXhJ<+8E{ z5~hh%Rh5ImkT96yI_K~I!{DwD*3&)Y|7~!qx#kkpfa6~Tw_s0qq!G2Ua(54K3k0ZZ z3{HhzprVlfL9IQ5-R?LTdfuh>&(p^npsJ#Q9Z|XXf9p8@ZymTgBIBw>5mm?OfBakt zaPvp`+@-n+1gNRXi)g6Gi>Rr~i>OoSzXJR3?;oJ4DKDa|jG$I9<^NX7R1IZis--gQ zAE5jXP*%IxBJ59%BmFN9b)y*R>f;;Y@9BXH1fc%QiRkQ;F(2({&;uA}SSSMQtLYD;z{b#8H5u6__%4<-!Bre_Q8L~biY{d~_nXth2G9mydoPWt}y z#qA4<*Uu6t->8DYVERD&rM(1_8x3S#416R~*Sj)^Ej}rX+dbUix_U-rprITGkMjf0 zDfcO>6PITaO-QLI|6EnJ&u>CX{H_)7ti8gA^`w6(Sdhh4_2G)5^fIFkgJqso60anQ z0LLOP<>%ZY1`a~zkdVzFaG}B zrXwduXQfhHC%)HVI^Ku!vjIeT8>OtRK}6(zmxw4Zl!)jQI25=-MC1k~B3eTd5lLZ* zh!|hKuYW27oFKPQQ&J@Qd-^eI6Ao8kS1&wn@dYtAyodM*=KdxB37?pGp&xmZD+&ho zl)>&~xOlFAxJl}I=ZXRaMepr461@%QSK4%p90U0(G$cD}K8n&_w)I4D!P#XMAz8t} zFAVlP1GuYnH($SGzW!{YD}QmA118U1%ddDxy-rcqWmjMlRlbwaCZW=RCji;xQ~(>@4x$5O|fs>8DG=3MIx@t8DB}Pu4v#+Z2ekLyj6e6 z?mq8SVxZn{l@ARWUu)y0--IaIm|qceZoa!+^5Sm*$98)AJxqr3xNVxIbNLI$ZzD`b z4KF5}6HW21PaUb~j^RgJF2hc=x@<0UQIXasp1zV#KK?Xy`F^Ok@9#18PF2M;GeWa1 zwJ(!S`(xcp%g-BMTF$mr!*@(enUvG=Vfzku?c?{0?~Mv$EIIaE1fL6Ow!O*|b-jN# zRVE(&62#s!_mfR`hXzpN<6#xWM>?L9o9Vq3R%5zzT6b*=Mq-SP2iK0DCB#pPkG2UF z7;76>3rfRap|vbOe*{aC32~-@i#H!Wst0|%lE{|8udFVA_f^JY zS&o*CJUq0{F`q-*F96|rlTG_Vu~jFRKbk}w%1K%G4TWgXT++^e-BpjBFMO5@NL}cM z?W8m7!Ic3l9;c4*%owe)~#jNH0As3yG zuhuw*3US~t7^jf!&?}E{$P7*JfvlpmdXFVWBC?o7xj)>g zGzcC%W4Ys^%;-j(^N>ooy3m>unokWT#UrzB5O9WWw~NC?No}$oC!0kGW1Cm(yI62L z;t!TxTyNla!Xad*2i#(z51^!PtMXyf*}gw*@6pk8tqfbBeQohtj0UR4HJ-zN)MnTU z)1D0GKH;3T{aA-c7rzPq!;4#X-EwH5i4pJz`yniEN#1T@3m2`PH7Tihv7LBiW|HcY zN2mE)#EqG=i6oF1g#%aAeAj;glJbV;xXq0S*no;^iba3Pr+r!B?sW|%eAV5EUi;jg z@$SW;CHUKkdyS_d+RRV_C1pv#Ze?WThGgWHf|!}A#C@q;pGFC@3Hw|x=D9Ov*kXxiWv*!6q)eq8C3IWt$O$h)D4U<)OJTIM5Y^2X33C ztW@0*g>OR`HmjxHlMOS1;@ZGa^3&u35H#m(UgxgZ8pH1&6_hfnOhd(lvTc7)*F$!;hy0 z(0-nj>0TXeRqvHw1%gh=OJxAx~z9XwZQW4b0pzzdX~u??I8kyWP3+ zaqYv9RuM7S4^I9J^4*968^p9q1=kk(y$=4tmSUtC)*hamuGle+_Y(3NfaI7fB8g*9Qux4BTdB z3MGOXQGobq@z$mpnrG_#Wg)7rZua`epYv#ju*b0>?3J(M$NUFK>UYGKUyE-tL$U2$ zAN!FYL`(V?hv&aP36)WqC`=|03{g&} zPSJF@n9HscetE6U9y8#naMelklgy63x&P;(k#P<7b>`l$B$p^$;qlM~UL2fLcQ1dbJLU5g_zgK-U;8I*EIl{9kLel3O8fFe zh%gyMA(Nr78+lRhda}e>-%#ib$fw|n{M>g8>1RKGRkfHjTBF)&4^=m2WYK$56V0Gw ztsa)5uX$pkk!Rtg=AFX6&S#dU)VF0UX}jDL_GS-szY<>Mn6~^w_1r5lZGg-*h>Z-| zqqCC3r2n=R3`NWwQ37Tkt!e0)h;VG$`tj)Go+4u<2kKKB`mt;PyTy|qUrGtT-Z^j%sz))ey~ozAGaMvFy5dQ%5p6IP#ip6L+& z_RW4y;8UTN_}!Tl;PR$%RC6NifZI@-`Lml1(}%jJ;YNQ-dsd4p>>_N7{GHo2Y=uNp zZ42^@5~|+VI@h{d^Sbnjxz48uGmwFGU+}6{>f^G|<{0YsmCCQVXrJ89B_#d>xz(p< zy16aX1CN6kNKCniK`*RJ0*R$s!Msl+FfBTWpq?V#iVC-z*unKsL>^jNuv1BAH7(7h z{iHn6sYocWOdXfyoK8xP8HAyp)cNTP+kUorbnh&n0!2=E=(97*hCaJcN)GN{{q?23 zu1A^X(74Ij_`TpaDQCmpyKr5_s6(}-4_}_>Neg{?xxku5Ir-4oHHe4|>dO{R4#ZE{ z?g8Jmlv6TzoWU(vPH7a|?Fh?v4*-W1qX6r?>P|LIhavP-O>UxG?*rn?s=^L*eSZ_t zOfka0m0Vz8a^kMKWW2HEp553_T32!OI=ZKwLAu(giZFnn80!4=?Aw~J?a9=eqHdw& zJM}WJi&q0mMmR=oZC|bz@#kGvpn&r8yAhFMHk=7G_!Wh~(=V1#)HQ6pZs3TvnPG&7 ztk@gkdgT#)^SMhLM7o*`Ldn-EdJ91OlgU9_@<$B^@pW^hP`0cZ? zTZ!pa%2TYu1tYcj>(y(MpPrzSuA?IjlvhBXneh)j z^z2QdNAF?dQ6v#}emFuon{8+S3m#-Q&62eGM1|YA`)pcI0#n9<&#FHwbcB*t>E*cr zSKOrpLJARiB3P5Wnl@eC^2vf49@HPw+Bf_wQH;EX>@@C&6U_KUk!A8-jWL@S#`($> zZim*L^+M}kMMkmf;cuo5^ktqd=pwF{Gl5Qv?qBHjmI2F-LTJElJk!LWh`>j=BF|p8 zfiL(p`B@1MyAJOxey%(quEz=6X_#f*BgW+FdUwA2vTy=fcCOfRB|fA^XRR>EGwrYW z1qzpT{JL~>#F!jWO0NlT*r;nS*lmXF83ai_RD565y6kdygBg?-s`7WQOY9T(w(UvfOB3bT;Jb_t>nO+y zr5S)^a)l1=T;aF%fQ+ys2zIWC+Djxyl9N*)J(I8?)U&f&cI@~-7!s6OMT3TZA%xS6U^RXo7gHj&>Wx9 zb8@W>TdE}!Bv!LtV!0|WP~?0%MsZG-PLbaE0Z7P*pgSN}`uiI}M&$6@(U#t;e1zHt z+AVs*d{k9i-_6-*>hI11_?-?Be^|4)hyVP@%7Bs^Bk$UpA@2TwA(E!aoq>%cWgxmF zI;ouf|WNkZ|EVW25I`Z4uPnzF$4NPiMw=kLfd zqL@KNtB@Sz%j=IXg%;+AhGTdCas;c#9lgI3Q7_v*>TQ_y6}`{eTd+Jhu&$@a?Sw$?U$?3_KYPw=$ro^mG1y4E-4{Dt&f36EPS=N zPzuep`=EOaPI$(=oBBA$ z3xvAyu>IYx6o#J?+J}6W=Li8hs;QUbpORFpQunW=6S!PM)E_;DsWT2wadZhUJ17jy zis;?YTxm77f<6_AS_4%&mmn#QR-R=wCM>IF)8P^+wJ3+ znUsO}DAt-amCPUr5ZY5ML|=bT8S&*W#_+g&S!dEN3(!W5Cr&Rgeun^kxrx zz_ohqy1F_~3r0B&Hc5wRS<&6HWGgxlu_TZZtUX$W=wPUN#W&{UtPf$&C=*0v-H7ZM z5@_ISTM%VQlJx8Fgs45QRT~RB&Rb}%GDwurJ+amrUfR0+0uXN{ieNBVU+_m6g%ysP z#tuGd+rl3*FR5w$L>9&`;xMAKa@WvTl4tD+U0gj@A3M9b!Y`^5!31SX_;B@iy-y95 zhfsAOsMo<=m1AEo>{=(HV7tLzIhU+H&mc&q5@ z-QP>IbwXIjE!|~Ra+5AY;z4Kq-x0x$MV4vh+y)=r^Toy*k1+1EVk|c%n*|-d1w-8K z3_I|qm|c%P_cj<;IdsdM&k$<1r9~A^jVO(Q%%e zO-k|i@w;mPTR{mcpw7A>$5i1nk}DmgWh$gGJt6YYRt0*DH(I zB@dycyb%i!y4^lCSxF)Em)e7xu_!Wl-X_kv^eL~o=t)bz0x^Tlc`={`)Rd0Tx-h3A@z<_4c$wf`6HkropNL$$IWk5(t; zvZMJ!9`6uPa zG^vj0VD4>?Du`#0h|k4R&Xk^=*fJMmhx|fYGPt(6L%!A(xG#V@&jrs`5>VvcWsytT zrka*wHNZM6XdlE|dZvA4RO$BXepnio|Z)gePXc&>t@(Fn~&K1g$MPT_gr%#*7D?6>rOOoUg4{ilKa%L z?+axX9jUjev;7K>LznUtG8102$ZAAEcISxUIE*6{h498<_8w5+4Q``dyTQE9q8-pj zTO)P~=dyGK)yjF3KT~~r3zi?V!mv*ZpKH(T$K8U{IX4Z7>OL;ql&^HY*#ORxNOqcg6 z8~iRqDVcdVHw?Z3&6{n(fC&%XvjAUTlssAUl;^Zw{T`?2&S-qLMFm$aJ|Ty{F-IhL zuY%##Da#-Nlmss${XPOREJ=*sILM7YnuCVZr(Z$Gi9k6$ny+hFgN|GmSL)^GXp+t7 zKXY$RUPK;0>+WQ!rK=B<7->m|xhL>{lo}Av^A{4jKjIdYz0UV+LJM^CvHmT7kF~d@ zCEH8IO*CVaO^xmIRQ}7lIpoz=Cmzf3vZKwBP}PjbQv!Jm)wWI(5=Mi_e#AO9-e&Uw zki`H9%$4&4Hlt!nQ1-mY-IX@AK*(o?JUqyuWlg!GFo+}vF519hDt&I9BN5G2XGpv= zlrz!KNGfs~8$acbMj}Ry``?B@Z2YK!`XxLuS>J#bJD3}Gpvq)(gs$ztsM{Uaj5b+D z$zTUL(2EsXYR7;s(MehWZuqUA$OB}~0QuStJhI~^@FZw9ttwMnAkelN_=As5-~6!E5G$1**7z;Rb|r0noWUG)q&i{ zU&w6g0pc@WJ8 zJy5ZW>=RXPdZ8G>XU*l_+?(DF1ABszkZkacg+Og{TYeE1&MKj~RM>RsFlFaip^e## z-KW_$<0lsltHBaMOV1*5RgVf+SI*0$E>D=;V9lfmT!1Vqg`WU^#q{TVcXWFzKrh$XZw zfeqE9XrVB0c5N!GgYgy~1P&>{RECsb>9K<~`h0VF@71kAN|CK?!SlSPo^irl=l3I$ zopr=z1eqJT`E;na&VS^T-!Xss@wBd$`^SJ1_xb%yAy)RK(%!ZY(?&WukufN z1wQ9z%RCo3Cg>9h9LkTewZXQ8hO-ZW-=}$+qxee*7T~fiqnItz5-!<4#`q75%o$Qw*Vh;Es*O#QtK$EEElo(^d)Z~QY?FTOzUopBt$P#ET z#$l?JQIXgnwcHwfp%ev%--oT<3e?E(oDz?#T)EK#x+_-h{gF7}ja)~j@C!OpTp;YF zNjePR&d#PR99<}$kZvAYepLj4#M2;aw{b<-RH5eQELP;>7M%S83=+=xe?_`5U zfI<$j9ysrkeUtyjtu7*#8)^Uob<;B`OfD4D{TeNLXDGkm>XSE5cbZTMWW4pg>_JWh z^dw!y;^6Z4>zZG9c*3L2k#!D&x>}P5ce=8Wci)QYjmCYH+D)tNn>I7$QU#2aBgn;Q>yoW~}HTQ`*Jqz~}*)CVXz1BXFMml0Qk>`wNLkM&k@90k(h$JbS9f!WvA2&+;LId$$5-MIpFAigr>G zV3U?4s3b^z+l;xJYxzIS6YM=E1~-wATQF@|C_?Z^epL5`U^oT3)baBNeaQQK{G$64 zHMYa-*%;pl{!a^2A^Y|DL&2vnb0lToXSmQG+Iw~j)TGTPoZ&TDFoYGXUP8}AT1+)YjueDI*~*_>4~t;7pMLVTI*Ew$3Y;Md z@=e1UBzf<>Q7Td-)p6QPt9bgaSnrUY=Fe*_Aj}Qm8tlN!jHNqW1MDxZ&S2gie`m70 zmyz*?3CAn`P1~+cU!o7%NzHq1Ugoa!3BxLU|A)ArR0N8Ur9k$7%5*6CWU=Y4;uwZC z7-H~6fsr;4a**c^W0B;eukQsz)Jmu7flFk0A5h|~ z2OC(+o_yX_0m*QErVg>U)&T&)#HZb=;3IO=TGBZB~^^5oo$jV~$uzeYB4{k`j7zV#I2cqVO6mnOL2V+^Uv&U6!4 zpa6D41icDH!1}`rP2Ob~=T+kb({n_y#5PI0_M}_aj;|nZOp_q!F+nx1TTtoYB_#QU zV2I%eQlO|n6s=R@5A1$tZUP<|6lk0k zh~f1Yn(PDv5_BzhG_hGoNx?cJ zwjK8Yi7|2~K_T;T(C6MkAD=S98SZ7n23UVud%tT(j?>^D*3av}bn--TASlXa3htYL z|IsL7Zw)48tk}`j20+QAzRHsSw=Oh97gTEp4RL!m0?oP8AMBFN`Jyp8=H$oZzDIs#atrtgCl zA^!mwqqjaa0gDW}5(@BNB>!+6i7$ud=x2|bj9g;yZQ_dqFIG6YI62DoE0Ew5!NH>i zu@HbI9c)r=bu|b4hM5$8J@#`Y_XZBsDEzUE44$%Je!PE$2DR*PLithsc$E3T@Dv>^ zFlaK9yp;I+D9~+bt4NCNuyc2a_l3a~G!azREgZtHPHD!Tf1xgnO72EmqQhx2N=U9P#9s;k)a8 zg;w-u0CvvQipk0wyo2^+urlr)Xggo6 zOruoAVGQFZ4A*bLrJnOvxfLbtJN73#1VY@^_5&fQ=TPk6*8g(DB8%|9gL74)t|VaT z8IvbW+Ct4nf@nc2I-vNM6pIZ*A>tqu=Hc{*HV2u||I*1@Kumo2pcPZYNs{w*pQ~0- zf#$67)3EquC=V2Fc|$h8hk!Yn-U zh1uCJSGM8$zEK#;hBEg(3PCSUicadpunfU(!jYGp6%qV1D!eS33x{b_&3;^ytir%^ zpXjNYF(&1k1JC^-3^xx=MML5rTP_Ews`5$0j1y>%cdj+1yr8L%(C_bykG;-ae$wr0 zj7X`tJo%euV`hB=t;44c z6D~F_L+Fx7o6pt;j^*6PU*atS*7ozghdpsk<>G+Q*U7V#Wtg$Atsl?vU%Y)7rW50J z$ebwB``5_CD`pRLik6=$9anes`WS}Y^ed?6RhtQ8o4;Yy2RnklMtZUBr(>PM|CB6A zryy4o6lgt$!!JN`$s1$xe#m_BtD9+p*!YHkiSroNJMw39V0`J1!dF~fx6tk56%3Wt zW(GVPCf~&xn)-Q{<*~HG=^+rHvpoAPjG8kDlH!zCMFr)&hF;t!jXxqq>vV$jE2jS? z27!=*qvVdM=Tlf(zO)n!q+r@)MW@P`@Os0a?iY6*U{$;B*nXP!DH^PKI|kBuEf65f z0iTs@!IaUpVCb;%isC{HaJu@sfvVC6FwW*Pm4vtI)j*=zf#CukWdKFZ7FaSA%sce6 zVa+q2QosR_kgwUZ_qVF}QhA*Fb$B{8mr!GY z_-I$U=*MAZe22eM=H66ABl|vURC@ckmAa40E%}=9aL2=_)erI)TKsZ1P;%Mshbpx4 zQ(;Hv3pJVSIZM)e7uX}=ubc}b%=-A>$BN2fQlheZ(v$nxtUD=3#wo{DdxVR0?3~6S ztI)?D{TOHJsx}t)Tf@&S!e!*Y(!cuyHe)(XXIYH|=+keDJ8sBuJHplEiWJ%`FD$Jb zN&FQ!=95bxqz~W{B02si&;Roap$|}LAK+~8jR>M(2r$*Mf*bInUP?u6zyI*L1vOO+v9SpYSV}S<8Q(jRTEgX}y2k#ST)S z+gWa0#`6MboAYa~{{qB+GK)43zfj)-I**MqdYzboimB)`mrHvRK!f`~|1+&ikN}S4 zP!X^}43qm{uc8?~+IrKw-`j-}1R`8Dll_b2qn-Izz(h`1+GiQC>a~^!E+(lrU4H7x zpa~6hYLqEO^938?mD7UQGLM}DFlx5!e0z3&7Oe1<^Jz;$MxjJW%+uz-*sEF; z#S@>3abNWTd#zK66O&07Yw3}mc4rIom1Bjk^itoGIc2l``6}O|)+9jiV8>hEq9G~t zZarPKUS0=*kZc=DSqH&PlZv_Dl<0#9$XWOg1~~ft02v^!|Cxd;DtuRGIM*DZ&bDrW zmoePF0(bwzfE|RPH>O(c30O%q~YA5I6t_%5L7bu(Y8NIJGkw{2YbIPx1(Z#7EJz{2#Oa7q{rTg43Pn zc!!0K(XQc;itQ*O_y-|mqv>LAcZsgpKMod!1HnwxD5tcIR<}4=S?LK zg9>OXE#ZhY!#@)KU*E`Hq-=-&5?JxB9oS1PEqo$Vid5kJp#I6~c~j`5mNVW!nu7!H zWU$72&^j<(Aq(@rUHRpO{_gHnf9zl|MC*YU%hH)upUeaNW`Cv(cMf;@-UW{)yV54B zkS(?>pjHAw1%KfFYZqoT#QrXWCsXDg9&V+0b35~aA4|WC*IG9ZyYb^q>1=GaO2EC? z55<;AmbdmVRLn!&+=gt5h#0Y!3@3irl{kRa&KzfAcWx=^4W3 z78x}sevVD~vv!c!`BdZU&}gv38DRkh64HWLHdk^ANVQ;C%5NvDYsEmW?cN?aI`zfU z8a>!wETAV~O-1elai}o}`193gW^A@2U;2Q|5F$Bem6-3Hr|(k z16Y9Nask-hcT#lwcQt3iYjeyR7Ph@({ZFHSV?6t$3ACl~KcNfV&ya}wgf1aU6LUmf zhh_y3Its46zk2a!bT2aLlN%5gpAT6eKuDcV%!J4HK*&@sUKn@*Fbt(J3oLO7Zh|-A zJrS#{jA^0=sf0T#;iCGHd^emw$sO1F?A_oiaCxich0ixIEI4}LMGXjeDyPbEitZj? z&SMSR_mQuS*n|MK-!gmK`l$lb?k@e_7FRf{8g4)+x!iwj=||t`tzGps>q_EYw@?Pc zlN_WR)irU;V}9F1%aa%ek=Mw=xdn%Br-Bo&WW-zHu~W~g$fV`mS;qd>7rkG4670(s z@{NJ(&l$Uqg}N1gCh8|E{>Kt8o$TEvedjBwis1yQ$1=&+;5vrY z^zc4K6+$}L22%lBh~&YD?ncI1C`;9dFK6X_{=B>qj~IT6ohOEJz%C1yauNgxz32#xyBQH)wt^jDoUY<+f0jhCv=4MHN7R;} z!1`=JoWb}*a{`I3pZ)%}7IxJKmcOy3up=O6_dKH=PVVy7gWK>@jh2x)anidyg=%BU*W(xzLVg zNk3^H2+xhSGoV{5AqR@yK-f7Een=dcp%Jn`tnfPLt9M63ioyRy*9hz@asqE8P>^8; z*^!bjKzD&zB?jn1k_4gDb*chLhW74wV9n$70K*=XK%bj(For_x{!H_s1*rgX14)-N z7EXlHvBFqdgul{Ld_Z^uVRsQvhUH8hg+nG!-TwI(4l^G_7t`7ng1d2gp%gT4j_kVd z3+857qN$@geB{|R!w~bHEFxS7_k^85RipU(YruX0{`YdgNe=AKkca;(jKt&GzrS2i zzRR1-oxgw07^8fbM$%A8{SpfoH5q16PSesc+s*qw!TJH|e36aoXM=o#RX&Jr;;{N z`9@>v_w+?3(*n)ofjxmtIi6NyC&$=54>SM6I#|y#@OrJ_?XM^2uXKjKEUDq8OJpVR zW3!Smd#q{~f6A}+%l)0+@0as9JEE*{`g(iw8NOzVy>le-+rb?DEBKPTPn?_Iar8od zlT&wzZ}Xl`;c4;`-}JQx5Yq=hh>5w#tkQ1u!TOm{>vc%8T1!rpgR5%PmYDr z!`~cU%q~6-I*{38ypBnKtD;L`J8tax{qah9(gUGjGWbWq#J#Ohf_A-CRAo65zf85O zw(aMP*-OjD-r4uz@RE<|lCj-WQ@t+qb-VFm7iRm_l23v!O&+FTv3Tvub(7mbioZ1r zSD8P4@HY|`ZV^r>NveCd*tCC2iTb{=xu4nO$HKF8=E^d0xYfkC)#S#qB)tzs-4fc= zvO`H}(`GL` zOQHts__~EEz8*Clcm8(yyCHx&UzN^e%9#%L++6zuE-{mi**p2R9s!uYRVVWpjlx21 zuMaB8>wHbZ-yb6yYX#U}VMnii3`$+x(rdQSABx!Y+f46&v%^RGakG2b*=MOrzz5an zy|kLX+q1Obsf$?hOYJNY`7*LlA(08tjbox_C9jd)CEV$g+t2Hqp?Jt$e)~ftrpEC- z^Fozf1gg<%L2{PQ>p$MUGqGtLf ztTC|f8FHtsBTa?+8qH7lpAHp^HH@s)coAOma!CK13JQebFcz3sn`;j)+jr`{8vnD# zZ~*=RIv$uus<*-bw#I2l3cx)d6r~aVuU;$TpaLw_;0n-WAVvYhgCo74?+~yOz|i3T z&AN#YHGwTa|A!b=DfZ5W?=(rbZD=7c9xh5*4$c6vXT}8=wtoPJ^d1~(O zD41Jy#{VP?rb-x}n`1^~h|O%jc-4VN$BUR1L3l*ly}ujI49C zFOCIk4~16^vZN}dzGWVx##^`06s4;ga_{Cq2s;I=slco=65!zoShkJtP}Gb6CA%0B z>??)T(oHtFqlp~At^-(q>EOU5D-sWA4vA>MzH)v<`CsykNW%h?m{b6B3QU0u62tQv zQ~-7GhCl=Wb`QvdQN8sAb`eeH_}ItDM!Dy zhMR9H=nDlLkAAblgWo`W&a`5mT7=w;e=EYSM8z!pTq-8JmX4DcRjT?+|Ce3zaPp># zVXEy^jU_G8+J9*@fUnc?Y$WcU1X}s*J5*sR<)Ruud2T(~eL@TPo=z!?5K<*A9FpRk z(#BzQrct#d+c`)kL1!BE(ZQ>vl+0HgeG^RZ&sFA)w zQkVj5Fcek9oXA;aG^R@q*L#{sosE69HQfT%|Ip5ZRyGvOwRIzm^O-N?oX_}TU+w;! zh+^!2eq;Ci^-lrA(zkujX?M%-gj?XBY02LEb$sPIlO}lu3h$b9RA3(I z&i|Ab&BC@7{dE6+_NRG6O@H9juWP7DdtGxv*NlD5Ps=H6nE~!)FZkAalN9>*`)|lF z19lflGAOEoc`6bDN5i@J10g~d;g%m8^$AyR%>fa=OpGwj6|Dz&l(ionr&rTh2PiWt z4~ZcY#mf-JC!;lhy65pTyX7V6mdg{PM>2tsZWyWq4BQ*f0@rJ%CcF%SyleM;8oC$Q z!e5XusWXXFY})?f&DS~iK!yeN`PfdyMJQb`DHtY*-A!jdp9JS#`MX${2?n$*pdY)? zZnR%CMV!krm-K6QJ+i7Onn~4fZ)6H3Qzx+?d8OBk?Ec4%Qe@;^JG|fGvPk~eqRq^H z1BZ3_S!>4vuVsFHw6S4Mz|YT*%7h+NPK)8=#&f!#P@=nhRUm%*r*-T4GuT&>-eO<B>7q*%_FkUl0nUr{l%i`aLZL4Q`c;b45ish zN&Bb+6vCD4Y?fz+P%|{NN9!`BiH?c2CT z`w7omlWjLP)V;hX1wTA}Y)M&5##31cu0oN%NM#8)U&~0Um^@4}y0Bfk4O6IQP5rgM ze2lMk+a7Me_l}_<`Kv$#SkqpCQOR04fO}J~`WaA!!8{sSq(>4JP#Bhs`r4odz8X@o7OHl~l6X0_(s7rhV*nNTl3>dpB#c+iDr!2`%OuQHl&A=xnI%@hAgKIDcc6sy>@r{V19C^TK>qr?p*eA05Z7<6lh6G+CXVR=kos zm`t(e%a(_sto(VZAJ|Q0DbPNia{jEsFi{op+=JUPHHDn->x<@(CXzwvKe-@$*@DJL z3bDj-C&^=#Kt8m0^5@Si_?g4*+j0Bu-i@gN$M=o?Pk*Tunr)tn^Ql;xS}R6Sye_;b0-U);l zu>r+kjucuw4xoq4x0!@QZvtXY34sh#Y*dFqpolVg?D&^t26#2gK`Jr4GNuT)mRBCQ zS-JNTAO|66lV(?OVsz+H3=(fkb~(DOtTIUqD4q=r^fBzeY7r3(=+GGLTmRI@jlzFc z0>+A!{(apC2&Dj_GroH^4TsYB&DGfq<7yM*7k<|FJAFH~`wF0(Xc0w%-d_4D>^bB3 zbzo6VFp3H;cFljes2}q*afU(X^`n@0tPX1Lm|$Kgx1v8K>qFbBhgP>rIU0e7$7 zXjrx7-}YJ1E8BrS0l_h7TTFV|$;g_1N=P`wsPQuKqhqwZa2!=DKg+i2b}XP0U-#%7 zJ?d2zvwtfg^!cX$0{$=r7IXGv%z_tfPtzFY}wLxPIfFUSF(2phJKIfQg)!XSXu?9N7%B_ zdyB1@oWyK5V9L&(k${bcJX)Ft$W)oQ8X*8sO<@0V(>5^RH533%T^9NHK?HW|=H~h# zFoaAn5D);!W~06)i}0n{SUuMrEO;_ zmZT~MHoF)KJ~wgJ+>ZDek#v}C{6Xj>d1`Cv=(xx@rN~CFT6(VWl_SPEDu5T=CA2-s z@UnL#rQBYDW|>NM7FXW%TzUv+(a&xQmhc+MdaP~t^pqv?M#^8-bo@J6>oHaQctv9t zR4g`odz&S~D9T9I_Q<{!QwgX07j-<_fF_#|O8GJkrs)73<}H2)q#oAL3R;NN{&xis zo)Aw7U1dA}m{O4brSi}iTKLiN@&Dsl0rS5SkAR}p=SVUXRPVN6AU3>_6a_E2DbS0& znb^~j;Jd>Lb6R1LJ%geQV1Sm_j2aF_{oR(oftES^4unWl1*HfOVrHsMQ16Rqi)xi`dD+u~4ej+JXFF&7g%SP}jymEaJ9c#c` zBWb5CeV~~4#J&qAKqpn0h@$iaN#Q?!VnADO8~mKqvKOk+86y+F`987RCs)2~F`aQ< z-~R&OCg{#P-U3DWJHg>%u0*;44$cJS_mR}wEl%e>;DA5tauWErbDlOBXL8hssSMdu zf%t`qw0_K>C@FG+Txf1^v8#cj%i$+ODu)$XP}^rcWjAsHROevyt0UM}JI|o__+4$W z<0nP7rO9vW6e%H&_s(i6!=4aodE^r&K39p^ISdC2r=-dnRuB1Cp4&Q4JAVx7Sbje) zD*Pd7hG(zXK2rSgu3r%wPxv+bZNJy{O8v4v<`_6a81LF6IvDQuz}tCqXRS)%+n8ba zWA(9pU<&XyMCdUa08!stK}FLHVGyTUnhO|0gE_pWuyiY4+bElwd=QI(#t`B z>zpI;Z^Qs9_X$Mk*5#c#EtqRQ_@(go*$(f00BMJNQp$o-$60WmEHM!=>_W_uC= zD*=)2)9>e3forS4IdX*YiLlEiD9W4iavsIA4fE<51s0ZoKmmO@@;2wg3b2up$aa7ohA!9twC@u>-+`FjZMj{1iQf7C%c+{A zje_FB;l;OiI~9OpEhNR;BvQ>MRoQo>xG8ZAALf{&f-{#-V35V>l@*OW7yVysL7N>omj=Ec*k(LeAFTJ`C9nP&-Oxm_n9n(mlE=);Jrw!zzKgobrUkIWgyl%M+EP*fpWzJ)N;W0X& zZk@DXR)^zo7;0#noi_0qrvIMWv0u@{V#Z|xqB`atO0l|wE5R5TIms%l+ zLITWWwns&aADc?|>*T$c&b&_dbl&^=`4K@1e*$^#FFP^a!}<+=eX@u2nAKmvEk0?@ zyzf(4niVp~%7b!AHO_-CE?luCW0EB?Ohi9^0AeudsGYBN&(|0ou~Kg21Q**`G|>Gc zYWDV;6f#OJII&ii6Uu^2Z7+iJ+O-zRyE~f=HMD8!%l@B_ARAy#MR(lp^waa?(Xo%J z<93Op_VW*}6>axHG|3(Pe--cT7`g=n8Ug*0Y2R}8mg z&-=yAm8Ghv6t($Z6CSDTVupd+(~g0vfi%ZsFY{s?aAvi{xa1+Vu(N)+<)fdNQPPno z6lAH-_kXsD=xR8;Ia>b~wbk^6!hH0N7TfI72#_*TM_6GEOxjm#I|OrbBget&+sr1Z zT|vK1V{55y2KD0QM^agbDX{z#aE`I7do5V9=4NtFeIiNvNS{tUTL9e803c)q01`~; ziSZtn(u}`u^<4RN_rN|;aRE_RDY4!WtsH;*AeCe}3k33#JFiQOzJxxAykTL^j5-;5 zivtGd9uiDC=i+CZ^ZpW5H&BzWh5&T@ z&N^S_!gKfIyD4Bw0t|qAqyFt{x#0oHzVYl6aKMTKpn!Reu7acKu5zwQ$>w@bQKf3{ z(}M3T8OD@)8B#BNXC1~x2X%7K;N+QaM&v^!oLsHsU#eucw4EBDPCU@JgM*$^V&|?h zUK=kgJVGhC6`0+u*|WW8X3w3D`YSCb(CWdaZ8EYlnQl6?G1g`xwuxXl%Fn#W8_H3h zRF>C0Z9bfjiH=tmwKROl&2PD~F5?Wvd?0>?ea6%~)#L0ln%F4OLmD0-)1ZUlZX# z8C}JQsbIZD@nC>?ppPY=lNiIbP6>}DoK5;ESh~=b0Go`uSc0}F-VFG?nH#qygqwNa`+b|yu7>D?Y5 z;?*+DRg5I(o!RM`z}&Qr`)<3|u<;&t=BH-7e>qFdMzy%Rf`%QFP!%{TH|&(Qk6aXxLTR@iH0@fu!23@1bpQgW^$JrYM}nES^p3< zD7#q_l_qjtI>L|9pD}CqRZeyIGNN3Q;+R#y%PB66?%(maN+a=PJ?}5X)`epr+WYsj zSF&su?U^O(KL$3Gp_@S1kr(~vgs_?E@0tE5mlSCvyx+k|$+a?dFUY%dl((MFU$Fvm0c|tL)My$s4z!Fw@i&_OqaAGI44Hg= z-xz`p2_Vz&G7*3hk8Dr~op016Cj%mZSJt2;1u*Ob!wb77 z>&7SuMO*^{6bm7+r+2x#6eNv;Y{v>k{S πŸ§‘β€πŸš€ **Seasoned astronaut?** Delete this file. Have fun! + +## πŸš€ Project Structure + +Inside of your Astro + Starlight project, you'll see the following folders and files: + +``` +. +β”œβ”€β”€ public/ +β”œβ”€β”€ src/ +β”‚ β”œβ”€β”€ assets/ +β”‚ β”œβ”€β”€ content/ +β”‚ β”‚ β”œβ”€β”€ docs/ +β”‚ β”‚ └── config.ts +β”‚ └── env.d.ts +β”œβ”€β”€ astro.config.mjs +β”œβ”€β”€ package.json +└── tsconfig.json +``` + +Starlight looks for `.md` or `.mdx` files in the `src/content/docs/` directory. Each file is exposed as a route based on its file name. + +Images can be added to `src/assets/` and embedded in Markdown with a relative link. + +Static assets, like favicons, can be placed in the `public/` directory. + +## 🧞 Commands + +All commands are run from the root of the project, from a terminal: + +| Command | Action | +| :------------------------ | :----------------------------------------------- | +| `npm install` | Installs dependencies | +| `npm run dev` | Starts local dev server at `localhost:4321` | +| `npm run build` | Build your production site to `./dist/` | +| `npm run preview` | Preview your build locally, before deploying | +| `npm run astro ...` | Run CLI commands like `astro add`, `astro check` | +| `npm run astro -- --help` | Get help using the Astro CLI | + +## πŸ‘€ Want to learn more? + +Check out [Starlight’s docs](https://starlight.astro.build/), read [the Astro documentation](https://docs.astro.build), or jump into the [Astro Discord server](https://astro.build/chat). diff --git a/SUMMARY.md b/SUMMARY.md deleted file mode 100644 index a57b8a0..0000000 --- a/SUMMARY.md +++ /dev/null @@ -1,53 +0,0 @@ -# Table of contents - -* [Presentation](README.md) - -## Setup - -* [Dependencies](setup/dependencies.md) -* [Your first server](setup/your-first-server.md) - -## Thread Architecture - -* [Thread safety in the JVM](thread-architecture/thread-safety.md) -* [Acquirable API](thread-architecture/acquirable-api/README.md) - * [The inside](thread-architecture/acquirable-api/inside-the-api.md) - -## World -* [Instances](world/instances.md) -* [Chunk management](world/chunk-management.md) - * [Anvil Loader](world/anvilloader.md) -* [Blocks](world/blocks.md) -* [Coordinates](world/coordinates.md) -* [Generation](world/generation.md) -* [Batch](world/batch.md) - -## Feature - -* [Adventure](feature/adventure.md) -* [Player capabilities](feature/player-capabilities.md) -* [Events](feature/events/README.md) - * [Implementation](feature/events/implementation.md) - * [Server list ping](feature/events/server-list-ping.md) -* [Items](feature/items.md) -* [Entities](feature/entities/README.md) - * [AI](feature/entities/ai.md) -* [Tags](feature/tags.md) -* [Schedulers](feature/schedulers.md) -* [Commands](feature/commands.md) -* [Inventories](feature/inventories.md) -* [Player UUID](feature/player-uuid.md) -* [Player skin](feature/player-skin.md) -* [Permissions](feature/permissions.md) -* [Advancements](feature/advancements.md) -* [Map rendering](feature/map-rendering/README.md) - * [GLFWMapRendering](feature/map-rendering/glfwmaprendering.md) -* [Query system](feature/query.md) -* [Open to LAN](feature/open-to-lan.md) - -## Expansion - -* [Extensions](expansion/extensions.md) -* [Scripting](expansion/scripting/README.md) - * [WIP Commands](expansion/scripting/wip-commands.md) - * [WIP Java Interoperability](expansion/scripting/wip-java-interoperability.md) diff --git a/astro.config.mjs b/astro.config.mjs new file mode 100644 index 0000000..48c37b8 --- /dev/null +++ b/astro.config.mjs @@ -0,0 +1,49 @@ +import { defineConfig } from "astro/config"; +import starlight from "@astrojs/starlight"; + +// https://astro.build/config +export default defineConfig({ + site: "https://wiki.minestom.net", + integrations: [ + starlight({ + title: "Minestom Wiki", + logo: { + src: "./public/logo.png", + }, + social: { + github: "https://github.com/Minestom/Minestom", + discord: "https://minestom.net/discord", + }, + editLink: { + baseUrl: "https://github.com/Minestom/wiki/edit/master/", + }, + customCss: ["./src/content/index.css"], + sidebar: [ + { + label: "Presentation", + link: "/", + }, + { + label: "Setup", + autogenerate: { directory: "setup" }, + }, + { + label: "Thread Architecture", + autogenerate: { directory: "thread-architecture" }, + }, + { + label: "World", + autogenerate: { directory: "world" }, + }, + { + label: "Feature", + autogenerate: { directory: "feature" }, + }, + { + label: "Expansion", + autogenerate: { directory: "expansion" }, + } + ], + }), + ], +}); diff --git a/book.json b/book.json deleted file mode 100644 index 516eb6f..0000000 --- a/book.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "title": "Minestom Wiki", - "author": "Minestom Contributors" -} \ No newline at end of file diff --git a/expansion/scripting/wip-commands.md b/expansion/scripting/wip-commands.md deleted file mode 100644 index cc459c6..0000000 --- a/expansion/scripting/wip-commands.md +++ /dev/null @@ -1,2 +0,0 @@ -# WIP Commands - diff --git a/package.json b/package.json new file mode 100644 index 0000000..7760dd7 --- /dev/null +++ b/package.json @@ -0,0 +1,19 @@ +{ + "name": "", + "type": "module", + "version": "0.0.1", + "scripts": { + "dev": "astro dev", + "start": "astro dev", + "build": "astro check && astro build", + "preview": "astro preview", + "astro": "astro" + }, + "dependencies": { + "@astrojs/check": "^0.4.1", + "@astrojs/starlight": "^0.16.0", + "astro": "^4.2.1", + "sharp": "^0.32.5", + "typescript": "^5.3.3" + } +} \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..2d15f6b --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,4575 @@ +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +dependencies: + '@astrojs/check': + specifier: ^0.4.1 + version: 0.4.1(typescript@5.3.3) + '@astrojs/starlight': + specifier: ^0.16.0 + version: 0.16.0(astro@4.2.4) + astro: + specifier: ^4.2.1 + version: 4.2.4(typescript@5.3.3) + sharp: + specifier: ^0.32.5 + version: 0.32.6 + typescript: + specifier: ^5.3.3 + version: 5.3.3 + +packages: + + /@ampproject/remapping@2.2.1: + resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.22 + dev: false + + /@astrojs/check@0.4.1(typescript@5.3.3): + resolution: {integrity: sha512-XEsuU4TlWkgcsvdeessq5mXLXV1fejtxIioCPv/FfhTzb1bDYe2BtLiSBK+rFTyD9Hl686YOas9AGNMJcpoRsw==} + hasBin: true + peerDependencies: + typescript: ^5.0.0 + dependencies: + '@astrojs/language-server': 2.6.2(typescript@5.3.3) + chokidar: 3.5.3 + fast-glob: 3.3.2 + kleur: 4.1.5 + typescript: 5.3.3 + yargs: 17.7.2 + transitivePeerDependencies: + - prettier + - prettier-plugin-astro + dev: false + + /@astrojs/compiler@2.5.1: + resolution: {integrity: sha512-o2hKiFJXZOm1Gov+RGXSWnKlnb/UF7KRTx/Y2uazYe3+MrLY+sqLN+yB4EH2bElc0l1K9cDb4mZSejuq563rGQ==} + dev: false + + /@astrojs/internal-helpers@0.2.1: + resolution: {integrity: sha512-06DD2ZnItMwUnH81LBLco3tWjcZ1lGU9rLCCBaeUCGYe9cI0wKyY2W3kDyoW1I6GmcWgt1fu+D1CTvz+FIKf8A==} + dev: false + + /@astrojs/language-server@2.6.2(typescript@5.3.3): + resolution: {integrity: sha512-RYzPRhS/WBXK5JtfR+0+nGj+N3VbJd5jU/uSNUev9baUx/RLmUwDk1f6Oy8QDEfDDLAr76Ig8YeDD/nxPdBSLw==} + hasBin: true + peerDependencies: + prettier: ^3.0.0 + prettier-plugin-astro: '>=0.11.0' + peerDependenciesMeta: + prettier: + optional: true + prettier-plugin-astro: + optional: true + dependencies: + '@astrojs/compiler': 2.5.1 + '@jridgewell/sourcemap-codec': 1.4.15 + '@volar/kit': 1.11.1(typescript@5.3.3) + '@volar/language-core': 1.11.1 + '@volar/language-server': 1.11.1 + '@volar/language-service': 1.11.1 + '@volar/source-map': 1.11.1 + '@volar/typescript': 1.11.1 + fast-glob: 3.3.2 + muggle-string: 0.3.1 + volar-service-css: 0.0.17(@volar/language-service@1.11.1) + volar-service-emmet: 0.0.17(@volar/language-service@1.11.1) + volar-service-html: 0.0.17(@volar/language-service@1.11.1) + volar-service-prettier: 0.0.17(@volar/language-service@1.11.1) + volar-service-typescript: 0.0.17(@volar/language-service@1.11.1)(@volar/typescript@1.11.1) + volar-service-typescript-twoslash-queries: 0.0.17(@volar/language-service@1.11.1) + vscode-html-languageservice: 5.1.2 + vscode-uri: 3.0.8 + transitivePeerDependencies: + - typescript + dev: false + + /@astrojs/markdown-remark@4.2.0: + resolution: {integrity: sha512-qQB+LoxmIqzkhLXaQAzfzlBxZU1jeQYailsifurz89WeY0Q8ywIj8uQQSyqxb7rPPg3ZfdNdxsN9lF5UaCRn0w==} + dependencies: + '@astrojs/prism': 3.0.0 + github-slugger: 2.0.0 + import-meta-resolve: 4.0.0 + mdast-util-definitions: 6.0.0 + rehype-raw: 7.0.0 + rehype-stringify: 10.0.0 + remark-gfm: 4.0.0 + remark-parse: 11.0.0 + remark-rehype: 11.1.0 + remark-smartypants: 2.1.0 + shikiji: 0.9.19 + unified: 11.0.4 + unist-util-visit: 5.0.0 + vfile: 6.0.1 + transitivePeerDependencies: + - supports-color + dev: false + + /@astrojs/mdx@2.1.0(astro@4.2.4): + resolution: {integrity: sha512-QIH2BLYWz2/QVChE4W7Z8a2SOhDmMDvL89rOoZkZ8CnSneu03+VvUse1K8ObrC877SPSct9cNWe55K05vgQ+VQ==} + engines: {node: '>=18.14.1'} + peerDependencies: + astro: ^4.0.0 + dependencies: + '@astrojs/markdown-remark': 4.2.0 + '@mdx-js/mdx': 3.0.0 + acorn: 8.11.3 + astro: 4.2.4(typescript@5.3.3) + es-module-lexer: 1.4.1 + estree-util-visit: 2.0.0 + github-slugger: 2.0.0 + gray-matter: 4.0.3 + hast-util-to-html: 9.0.0 + kleur: 4.1.5 + rehype-raw: 7.0.0 + remark-gfm: 4.0.0 + remark-smartypants: 2.1.0 + source-map: 0.7.4 + unist-util-visit: 5.0.0 + vfile: 6.0.1 + transitivePeerDependencies: + - supports-color + dev: false + + /@astrojs/prism@3.0.0: + resolution: {integrity: sha512-g61lZupWq1bYbcBnYZqdjndShr/J3l/oFobBKPA3+qMat146zce3nz2kdO4giGbhYDt4gYdhmoBz0vZJ4sIurQ==} + engines: {node: '>=18.14.1'} + dependencies: + prismjs: 1.29.0 + dev: false + + /@astrojs/sitemap@3.0.5: + resolution: {integrity: sha512-60eLzNjMza3ABypiQPUC6ElOSZNZeY5CwSwgJ03hfeonl+Db9x12CCzBFdTw7A5Mq+O54xEZVUrR0tB+yWgX8w==} + dependencies: + sitemap: 7.1.1 + zod: 3.22.4 + dev: false + + /@astrojs/starlight@0.16.0(astro@4.2.4): + resolution: {integrity: sha512-zwSNiCqzZeiuivUp4Yhx+eMLGww8v8cRYoCYXg9myTXNUwphqPaVG3rp7dbaZ4y1MaejnjYWB444ZRItEgTDcQ==} + peerDependencies: + astro: ^4.0.0 + dependencies: + '@astrojs/mdx': 2.1.0(astro@4.2.4) + '@astrojs/sitemap': 3.0.5 + '@pagefind/default-ui': 1.0.4 + '@types/hast': 3.0.3 + '@types/mdast': 4.0.3 + astro: 4.2.4(typescript@5.3.3) + astro-expressive-code: 0.31.0(astro@4.2.4) + bcp-47: 2.1.0 + hast-util-select: 6.0.2 + hastscript: 8.0.0 + mdast-util-directive: 3.0.0 + pagefind: 1.0.4 + rehype: 13.0.1 + remark-directive: 3.0.0 + unified: 11.0.4 + unist-util-remove: 4.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.1 + transitivePeerDependencies: + - supports-color + dev: false + + /@astrojs/telemetry@3.0.4: + resolution: {integrity: sha512-A+0c7k/Xy293xx6odsYZuXiaHO0PL+bnDoXOc47sGDF5ffIKdKQGRPFl2NMlCF4L0NqN4Ynbgnaip+pPF0s7pQ==} + engines: {node: '>=18.14.1'} + dependencies: + ci-info: 3.9.0 + debug: 4.3.4 + dlv: 1.1.3 + dset: 3.1.3 + is-docker: 3.0.0 + is-wsl: 3.1.0 + which-pm-runs: 1.1.0 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/code-frame@7.23.5: + resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.23.4 + chalk: 2.4.2 + dev: false + + /@babel/compat-data@7.23.5: + resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} + engines: {node: '>=6.9.0'} + dev: false + + /@babel/core@7.23.7: + resolution: {integrity: sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.6 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7) + '@babel/helpers': 7.23.8 + '@babel/parser': 7.23.6 + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.7 + '@babel/types': 7.23.6 + convert-source-map: 2.0.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/generator@7.23.6: + resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.6 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.22 + jsesc: 2.5.2 + dev: false + + /@babel/helper-annotate-as-pure@7.22.5: + resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.6 + dev: false + + /@babel/helper-compilation-targets@7.23.6: + resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/compat-data': 7.23.5 + '@babel/helper-validator-option': 7.23.5 + browserslist: 4.22.2 + lru-cache: 5.1.1 + semver: 6.3.1 + dev: false + + /@babel/helper-environment-visitor@7.22.20: + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} + engines: {node: '>=6.9.0'} + dev: false + + /@babel/helper-function-name@7.23.0: + resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.22.15 + '@babel/types': 7.23.6 + dev: false + + /@babel/helper-hoist-variables@7.22.5: + resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.6 + dev: false + + /@babel/helper-module-imports@7.22.15: + resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.6 + dev: false + + /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + dev: false + + /@babel/helper-plugin-utils@7.22.5: + resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} + engines: {node: '>=6.9.0'} + dev: false + + /@babel/helper-simple-access@7.22.5: + resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.6 + dev: false + + /@babel/helper-split-export-declaration@7.22.6: + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.6 + dev: false + + /@babel/helper-string-parser@7.23.4: + resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} + engines: {node: '>=6.9.0'} + dev: false + + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + dev: false + + /@babel/helper-validator-option@7.23.5: + resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} + engines: {node: '>=6.9.0'} + dev: false + + /@babel/helpers@7.23.8: + resolution: {integrity: sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.7 + '@babel/types': 7.23.6 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/highlight@7.23.4: + resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: false + + /@babel/parser@7.23.6: + resolution: {integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.23.6 + dev: false + + /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.23.7): + resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.7) + '@babel/types': 7.23.6 + dev: false + + /@babel/template@7.22.15: + resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.23.5 + '@babel/parser': 7.23.6 + '@babel/types': 7.23.6 + dev: false + + /@babel/traverse@7.23.7: + resolution: {integrity: sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.23.6 + '@babel/types': 7.23.6 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/types@7.23.6: + resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + dev: false + + /@ctrl/tinycolor@3.6.1: + resolution: {integrity: sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==} + engines: {node: '>=10'} + dev: false + + /@emmetio/abbreviation@2.3.3: + resolution: {integrity: sha512-mgv58UrU3rh4YgbE/TzgLQwJ3pFsHHhCLqY20aJq+9comytTXUDNGG/SMtSeMJdkpxgXSXunBGLD8Boka3JyVA==} + dependencies: + '@emmetio/scanner': 1.0.4 + dev: false + + /@emmetio/css-abbreviation@2.1.8: + resolution: {integrity: sha512-s9yjhJ6saOO/uk1V74eifykk2CBYi01STTK3WlXWGOepyKa23ymJ053+DNQjpFcy1ingpaO7AxCcwLvHFY9tuw==} + dependencies: + '@emmetio/scanner': 1.0.4 + dev: false + + /@emmetio/scanner@1.0.4: + resolution: {integrity: sha512-IqRuJtQff7YHHBk4G8YZ45uB9BaAGcwQeVzgj/zj8/UdOhtQpEIupUhSk8dys6spFIWVZVeK20CzGEnqR5SbqA==} + dev: false + + /@esbuild/aix-ppc64@0.19.12: + resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: false + optional: true + + /@esbuild/android-arm64@0.19.12: + resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: false + optional: true + + /@esbuild/android-arm@0.19.12: + resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: false + optional: true + + /@esbuild/android-x64@0.19.12: + resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: false + optional: true + + /@esbuild/darwin-arm64@0.19.12: + resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@esbuild/darwin-x64@0.19.12: + resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@esbuild/freebsd-arm64@0.19.12: + resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: false + optional: true + + /@esbuild/freebsd-x64@0.19.12: + resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-arm64@0.19.12: + resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-arm@0.19.12: + resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-ia32@0.19.12: + resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-loong64@0.19.12: + resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-mips64el@0.19.12: + resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-ppc64@0.19.12: + resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-riscv64@0.19.12: + resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-s390x@0.19.12: + resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-x64@0.19.12: + resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/netbsd-x64@0.19.12: + resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: false + optional: true + + /@esbuild/openbsd-x64@0.19.12: + resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: false + optional: true + + /@esbuild/sunos-x64@0.19.12: + resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: false + optional: true + + /@esbuild/win32-arm64@0.19.12: + resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@esbuild/win32-ia32@0.19.12: + resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@esbuild/win32-x64@0.19.12: + resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@expressive-code/core@0.31.0: + resolution: {integrity: sha512-zeCuojWRYeFs0UDOhzpKMzpjI/tJPCQna4jcVp5SJLMn4qNtHXgVmz3AngoMFoFcAlK6meE3wxzy//0d6K4NPw==} + dependencies: + '@ctrl/tinycolor': 3.6.1 + hast-util-to-html: 8.0.4 + hastscript: 7.2.0 + postcss: 8.4.33 + postcss-nested: 6.0.1(postcss@8.4.33) + dev: false + + /@expressive-code/plugin-frames@0.31.0: + resolution: {integrity: sha512-eYWfK3i4w2gSpOGBFNnu05JKSXC90APgUNdam8y5i0Ie2CVAwpxDtEp0NRqugvEKC0aMJe6ZmHN5Hu2WAVJmig==} + dependencies: + '@expressive-code/core': 0.31.0 + hastscript: 7.2.0 + dev: false + + /@expressive-code/plugin-shiki@0.31.0: + resolution: {integrity: sha512-fU5wPPfV1LGcS+Z1wcEkzI1fzBq9IAdt0DN0ni8sT7E+gpkULda4GA4IFD9iWKCGIhSDsBbG+bjc9hrYoJsDIQ==} + dependencies: + '@expressive-code/core': 0.31.0 + shikiji: 0.8.7 + dev: false + + /@expressive-code/plugin-text-markers@0.31.0: + resolution: {integrity: sha512-32o3pPMBq6bVUfRsAfFyqNpHbD1Z3iftoX9yt95F5zakLMsmHzZL4f0jyNr8XpXe7qcTnl0kIijBkUpvS6Pxfg==} + dependencies: + '@expressive-code/core': 0.31.0 + hastscript: 7.2.0 + unist-util-visit-parents: 5.1.3 + dev: false + + /@jridgewell/gen-mapping@0.3.3: + resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.22 + dev: false + + /@jridgewell/resolve-uri@3.1.1: + resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} + engines: {node: '>=6.0.0'} + dev: false + + /@jridgewell/set-array@1.1.2: + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + engines: {node: '>=6.0.0'} + dev: false + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + dev: false + + /@jridgewell/trace-mapping@0.3.22: + resolution: {integrity: sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==} + dependencies: + '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: false + + /@mdx-js/mdx@3.0.0: + resolution: {integrity: sha512-Icm0TBKBLYqroYbNW3BPnzMGn+7mwpQOK310aZ7+fkCtiU3aqv2cdcX+nd0Ydo3wI5Rx8bX2Z2QmGb/XcAClCw==} + dependencies: + '@types/estree': 1.0.5 + '@types/estree-jsx': 1.0.3 + '@types/hast': 3.0.3 + '@types/mdx': 2.0.10 + collapse-white-space: 2.1.0 + devlop: 1.1.0 + estree-util-build-jsx: 3.0.1 + estree-util-is-identifier-name: 3.0.0 + estree-util-to-js: 2.0.0 + estree-walker: 3.0.3 + hast-util-to-estree: 3.1.0 + hast-util-to-jsx-runtime: 2.3.0 + markdown-extensions: 2.0.0 + periscopic: 3.1.0 + remark-mdx: 3.0.0 + remark-parse: 11.0.0 + remark-rehype: 11.1.0 + source-map: 0.7.4 + unified: 11.0.4 + unist-util-position-from-estree: 2.0.0 + unist-util-stringify-position: 4.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.1 + transitivePeerDependencies: + - supports-color + dev: false + + /@nodelib/fs.scandir@2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + dev: false + + /@nodelib/fs.stat@2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + dev: false + + /@nodelib/fs.walk@1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.16.0 + dev: false + + /@pagefind/darwin-arm64@1.0.4: + resolution: {integrity: sha512-2OcthvceX2xhm5XbgOmW+lT45oLuHqCmvFeFtxh1gsuP5cO8vcD8ZH8Laj4pXQFCcK6eAdSShx+Ztx/LsQWZFQ==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@pagefind/darwin-x64@1.0.4: + resolution: {integrity: sha512-xkdvp0D9Ld/ZKsjo/y1bgfhTEU72ITimd2PMMQtts7jf6JPIOJbsiErCvm37m/qMFuPGEq/8d+fZ4pydOj08HQ==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@pagefind/default-ui@1.0.4: + resolution: {integrity: sha512-edkcaPSKq67C49Vehjo+LQCpT615v4d7JRhfGzFPccePvdklaL+VXrfghN/uIfsdoG+HoLI1PcYy2iFcB9CTkw==} + dev: false + + /@pagefind/linux-arm64@1.0.4: + resolution: {integrity: sha512-jGBrcCzIrMnNxLKVtogaQyajVfTAXM59KlBEwg6vTn8NW4fQ6nuFbbhlG4dTIsaamjEM5e8ZBEAKZfTB/qd9xw==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@pagefind/linux-x64@1.0.4: + resolution: {integrity: sha512-LIn/QcvcEtLEBqKe5vpSbSC2O3fvqbRCWOTIklslqSORisCsvzsWbP6j+LYxE9q0oWIfkdMoWV1vrE/oCKRxHg==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@pagefind/windows-x64@1.0.4: + resolution: {integrity: sha512-QlBCVeZfj9fc9sbUgdOz76ZDbeK4xZihOBAFqGuRJeChfM8pnVeH9iqSnXgO3+m9oITugTf7PicyRUFAG76xeQ==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-android-arm-eabi@4.9.6: + resolution: {integrity: sha512-MVNXSSYN6QXOulbHpLMKYi60ppyO13W9my1qogeiAqtjb2yR4LSmfU2+POvDkLzhjYLXz9Rf9+9a3zFHW1Lecg==} + cpu: [arm] + os: [android] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-android-arm64@4.9.6: + resolution: {integrity: sha512-T14aNLpqJ5wzKNf5jEDpv5zgyIqcpn1MlwCrUXLrwoADr2RkWA0vOWP4XxbO9aiO3dvMCQICZdKeDrFl7UMClw==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-darwin-arm64@4.9.6: + resolution: {integrity: sha512-CqNNAyhRkTbo8VVZ5R85X73H3R5NX9ONnKbXuHisGWC0qRbTTxnF1U4V9NafzJbgGM0sHZpdO83pLPzq8uOZFw==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-darwin-x64@4.9.6: + resolution: {integrity: sha512-zRDtdJuRvA1dc9Mp6BWYqAsU5oeLixdfUvkTHuiYOHwqYuQ4YgSmi6+/lPvSsqc/I0Omw3DdICx4Tfacdzmhog==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-linux-arm-gnueabihf@4.9.6: + resolution: {integrity: sha512-oNk8YXDDnNyG4qlNb6is1ojTOGL/tRhbbKeE/YuccItzerEZT68Z9gHrY3ROh7axDc974+zYAPxK5SH0j/G+QQ==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.9.6: + resolution: {integrity: sha512-Z3O60yxPtuCYobrtzjo0wlmvDdx2qZfeAWTyfOjEDqd08kthDKexLpV97KfAeUXPosENKd8uyJMRDfFMxcYkDQ==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-linux-arm64-musl@4.9.6: + resolution: {integrity: sha512-gpiG0qQJNdYEVad+1iAsGAbgAnZ8j07FapmnIAQgODKcOTjLEWM9sRb+MbQyVsYCnA0Im6M6QIq6ax7liws6eQ==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.9.6: + resolution: {integrity: sha512-+uCOcvVmFUYvVDr27aiyun9WgZk0tXe7ThuzoUTAukZJOwS5MrGbmSlNOhx1j80GdpqbOty05XqSl5w4dQvcOA==} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-linux-x64-gnu@4.9.6: + resolution: {integrity: sha512-HUNqM32dGzfBKuaDUBqFB7tP6VMN74eLZ33Q9Y1TBqRDn+qDonkAUyKWwF9BR9unV7QUzffLnz9GrnKvMqC/fw==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-linux-x64-musl@4.9.6: + resolution: {integrity: sha512-ch7M+9Tr5R4FK40FHQk8VnML0Szi2KRujUgHXd/HjuH9ifH72GUmw6lStZBo3c3GB82vHa0ZoUfjfcM7JiiMrQ==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-win32-arm64-msvc@4.9.6: + resolution: {integrity: sha512-VD6qnR99dhmTQ1mJhIzXsRcTBvTjbfbGGwKAHcu+52cVl15AC/kplkhxzW/uT0Xl62Y/meBKDZvoJSJN+vTeGA==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-win32-ia32-msvc@4.9.6: + resolution: {integrity: sha512-J9AFDq/xiRI58eR2NIDfyVmTYGyIZmRcvcAoJ48oDld/NTR8wyiPUu2X/v1navJ+N/FGg68LEbX3Ejd6l8B7MQ==} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-win32-x64-msvc@4.9.6: + resolution: {integrity: sha512-jqzNLhNDvIZOrt69Ce4UjGRpXJBzhUBzawMwnaDAwyHriki3XollsewxWzOzz+4yOFDkuJHtTsZFwMxhYJWmLQ==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@types/acorn@4.0.6: + resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==} + dependencies: + '@types/estree': 1.0.5 + dev: false + + /@types/babel__core@7.20.5: + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + dependencies: + '@babel/parser': 7.23.6 + '@babel/types': 7.23.6 + '@types/babel__generator': 7.6.8 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.20.5 + dev: false + + /@types/babel__generator@7.6.8: + resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} + dependencies: + '@babel/types': 7.23.6 + dev: false + + /@types/babel__template@7.4.4: + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + dependencies: + '@babel/parser': 7.23.6 + '@babel/types': 7.23.6 + dev: false + + /@types/babel__traverse@7.20.5: + resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==} + dependencies: + '@babel/types': 7.23.6 + dev: false + + /@types/debug@4.1.12: + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + dependencies: + '@types/ms': 0.7.34 + dev: false + + /@types/estree-jsx@1.0.3: + resolution: {integrity: sha512-pvQ+TKeRHeiUGRhvYwRrQ/ISnohKkSJR14fT2yqyZ4e9K5vqc7hrtY2Y1Dw0ZwAzQ6DQsxsaCUuSIIi8v0Cq6w==} + dependencies: + '@types/estree': 1.0.5 + dev: false + + /@types/estree@1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + dev: false + + /@types/hast@2.3.9: + resolution: {integrity: sha512-pTHyNlaMD/oKJmS+ZZUyFUcsZeBZpC0lmGquw98CqRVNgAdJZJeD7GoeLiT6Xbx5rU9VCjSt0RwEvDgzh4obFw==} + dependencies: + '@types/unist': 2.0.10 + dev: false + + /@types/hast@3.0.3: + resolution: {integrity: sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==} + dependencies: + '@types/unist': 3.0.2 + dev: false + + /@types/mdast@4.0.3: + resolution: {integrity: sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==} + dependencies: + '@types/unist': 3.0.2 + dev: false + + /@types/mdx@2.0.10: + resolution: {integrity: sha512-Rllzc5KHk0Al5/WANwgSPl1/CwjqCy+AZrGd78zuK+jO9aDM6ffblZ+zIjgPNAaEBmlO0RYDvLNh7wD0zKVgEg==} + dev: false + + /@types/ms@0.7.34: + resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} + dev: false + + /@types/nlcst@1.0.4: + resolution: {integrity: sha512-ABoYdNQ/kBSsLvZAekMhIPMQ3YUZvavStpKYs7BjLLuKVmIMA0LUgZ7b54zzuWJRbHF80v1cNf4r90Vd6eMQDg==} + dependencies: + '@types/unist': 2.0.10 + dev: false + + /@types/node@17.0.45: + resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} + dev: false + + /@types/parse5@6.0.3: + resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==} + dev: false + + /@types/sax@1.2.7: + resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==} + dependencies: + '@types/node': 17.0.45 + dev: false + + /@types/unist@2.0.10: + resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} + dev: false + + /@types/unist@3.0.2: + resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} + dev: false + + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + dev: false + + /@volar/kit@1.11.1(typescript@5.3.3): + resolution: {integrity: sha512-nqO+Hl9f1ygOK/3M7Hpnw0lhKvuMFhh823nilStpkTmm5WfrUnE+4WaQkb3dC6LM3TZq74j2m88yxRC+Z3sZZw==} + peerDependencies: + typescript: '*' + dependencies: + '@volar/language-service': 1.11.1 + typesafe-path: 0.2.2 + typescript: 5.3.3 + vscode-languageserver-textdocument: 1.0.11 + vscode-uri: 3.0.8 + dev: false + + /@volar/language-core@1.11.1: + resolution: {integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==} + dependencies: + '@volar/source-map': 1.11.1 + dev: false + + /@volar/language-server@1.11.1: + resolution: {integrity: sha512-XYG4HcML2qimQV9UouQ7c1GuuqQw1NXoNDxAOAcfyYlz43P+HgzGQx4QEou+QMGHJeYIN86foDvkTN3fcopw9A==} + dependencies: + '@volar/language-core': 1.11.1 + '@volar/language-service': 1.11.1 + '@volar/typescript': 1.11.1 + '@vscode/l10n': 0.0.16 + path-browserify: 1.0.1 + request-light: 0.7.0 + vscode-languageserver: 9.0.1 + vscode-languageserver-protocol: 3.17.5 + vscode-languageserver-textdocument: 1.0.11 + vscode-uri: 3.0.8 + dev: false + + /@volar/language-service@1.11.1: + resolution: {integrity: sha512-dKo8z1UzQRPHnlXxwfONGrasS1wEWXMoLQiohZ8KgWqZALbekZCwdGImLZD4DeFGNjk3HTTdfeCzo3KjwohjEQ==} + dependencies: + '@volar/language-core': 1.11.1 + '@volar/source-map': 1.11.1 + vscode-languageserver-protocol: 3.17.5 + vscode-languageserver-textdocument: 1.0.11 + vscode-uri: 3.0.8 + dev: false + + /@volar/source-map@1.11.1: + resolution: {integrity: sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==} + dependencies: + muggle-string: 0.3.1 + dev: false + + /@volar/typescript@1.11.1: + resolution: {integrity: sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==} + dependencies: + '@volar/language-core': 1.11.1 + path-browserify: 1.0.1 + dev: false + + /@vscode/emmet-helper@2.9.2: + resolution: {integrity: sha512-MaGuyW+fa13q3aYsluKqclmh62Hgp0BpKIqS66fCxfOaBcVQ1OnMQxRRgQUYnCkxFISAQlkJ0qWWPyXjro1Qrg==} + dependencies: + emmet: 2.4.6 + jsonc-parser: 2.3.1 + vscode-languageserver-textdocument: 1.0.11 + vscode-languageserver-types: 3.17.5 + vscode-uri: 2.1.2 + dev: false + + /@vscode/l10n@0.0.16: + resolution: {integrity: sha512-JT5CvrIYYCrmB+dCana8sUqJEcGB1ZDXNLMQ2+42bW995WmNoenijWMUdZfwmuQUTQcEVVIa2OecZzTYWUW9Cg==} + dev: false + + /@vscode/l10n@0.0.18: + resolution: {integrity: sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ==} + dev: false + + /acorn-jsx@5.3.2(acorn@8.11.3): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.11.3 + dev: false + + /acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: false + + /ansi-align@3.0.1: + resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + dependencies: + string-width: 4.2.3 + dev: false + + /ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: false + + /ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + dev: false + + /ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + dev: false + + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: false + + /ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + dev: false + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: false + + /arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + dev: false + + /argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + dependencies: + sprintf-js: 1.0.3 + dev: false + + /argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: false + + /aria-query@5.3.0: + resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + dependencies: + dequal: 2.0.3 + dev: false + + /array-iterate@2.0.1: + resolution: {integrity: sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==} + dev: false + + /astring@1.8.6: + resolution: {integrity: sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==} + hasBin: true + dev: false + + /astro-expressive-code@0.31.0(astro@4.2.4): + resolution: {integrity: sha512-o6eFrRSYLnlM/2FKkO3MgkbmVxT8N6DJcKvbRf1wbUcRXpz7s1KfugbdsaGw3ABEWUBuQIBsRppcGGw2L816Vg==} + peerDependencies: + astro: ^3.3.0 || ^4.0.0-beta + dependencies: + astro: 4.2.4(typescript@5.3.3) + remark-expressive-code: 0.31.0 + dev: false + + /astro@4.2.4(typescript@5.3.3): + resolution: {integrity: sha512-z1f52lXkHf71M5HSLKrd5G1PH5/Zfq4kMp0iUT7Na5VHcPDma/NYFPFPewDxqV6UPmyxupj3xuooFaN3j8zaow==} + engines: {node: '>=18.14.1', npm: '>=6.14.0'} + hasBin: true + dependencies: + '@astrojs/compiler': 2.5.1 + '@astrojs/internal-helpers': 0.2.1 + '@astrojs/markdown-remark': 4.2.0 + '@astrojs/telemetry': 3.0.4 + '@babel/core': 7.23.7 + '@babel/generator': 7.23.6 + '@babel/parser': 7.23.6 + '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.7) + '@babel/traverse': 7.23.7 + '@babel/types': 7.23.6 + '@types/babel__core': 7.20.5 + acorn: 8.11.3 + aria-query: 5.3.0 + axobject-query: 4.0.0 + boxen: 7.1.1 + chokidar: 3.5.3 + ci-info: 4.0.0 + clsx: 2.1.0 + common-ancestor-path: 1.0.1 + cookie: 0.6.0 + debug: 4.3.4 + deterministic-object-hash: 2.0.2 + devalue: 4.3.2 + diff: 5.1.0 + dlv: 1.1.3 + dset: 3.1.3 + es-module-lexer: 1.4.1 + esbuild: 0.19.12 + estree-walker: 3.0.3 + execa: 8.0.1 + fast-glob: 3.3.2 + flattie: 1.1.0 + github-slugger: 2.0.0 + gray-matter: 4.0.3 + html-escaper: 3.0.3 + http-cache-semantics: 4.1.1 + js-yaml: 4.1.0 + kleur: 4.1.5 + magic-string: 0.30.5 + mdast-util-to-hast: 13.0.2 + mime: 3.0.0 + ora: 7.0.1 + p-limit: 5.0.0 + p-queue: 8.0.1 + path-to-regexp: 6.2.1 + preferred-pm: 3.1.2 + probe-image-size: 7.2.3 + prompts: 2.4.2 + rehype: 13.0.1 + resolve: 1.22.8 + semver: 7.5.4 + server-destroy: 1.0.1 + shikiji: 0.9.19 + string-width: 7.1.0 + strip-ansi: 7.1.0 + tsconfck: 3.0.1(typescript@5.3.3) + unist-util-visit: 5.0.0 + vfile: 6.0.1 + vite: 5.0.12 + vitefu: 0.2.5(vite@5.0.12) + which-pm: 2.1.1 + yargs-parser: 21.1.1 + zod: 3.22.4 + optionalDependencies: + sharp: 0.32.6 + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + - typescript + dev: false + + /axobject-query@4.0.0: + resolution: {integrity: sha512-+60uv1hiVFhHZeO+Lz0RYzsVHy5Wr1ayX0mwda9KPDVLNJgZ1T9Ny7VmFbLDzxsH0D87I86vgj3gFrjTJUYznw==} + dependencies: + dequal: 2.0.3 + dev: false + + /b4a@1.6.4: + resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==} + dev: false + + /bail@2.0.2: + resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} + dev: false + + /base-64@1.0.0: + resolution: {integrity: sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==} + dev: false + + /base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + dev: false + + /bcp-47-match@2.0.3: + resolution: {integrity: sha512-JtTezzbAibu8G0R9op9zb3vcWZd9JF6M0xOYGPn0fNCd7wOpRB1mU2mH9T8gaBGbAAyIIVgB2G7xG0GP98zMAQ==} + dev: false + + /bcp-47@2.1.0: + resolution: {integrity: sha512-9IIS3UPrvIa1Ej+lVDdDwO7zLehjqsaByECw0bu2RRGP73jALm6FYbzI5gWbgHLvNdkvfXB5YrSbocZdOS0c0w==} + dependencies: + is-alphabetical: 2.0.1 + is-alphanumerical: 2.0.1 + is-decimal: 2.0.1 + dev: false + + /binary-extensions@2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + dev: false + + /bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: false + + /bl@5.1.0: + resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==} + dependencies: + buffer: 6.0.3 + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: false + + /boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + dev: false + + /boxen@7.1.1: + resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==} + engines: {node: '>=14.16'} + dependencies: + ansi-align: 3.0.1 + camelcase: 7.0.1 + chalk: 5.3.0 + cli-boxes: 3.0.0 + string-width: 5.1.2 + type-fest: 2.19.0 + widest-line: 4.0.1 + wrap-ansi: 8.1.0 + dev: false + + /braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + dev: false + + /browserslist@4.22.2: + resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001579 + electron-to-chromium: 1.4.645 + node-releases: 2.0.14 + update-browserslist-db: 1.0.13(browserslist@4.22.2) + dev: false + + /buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: false + + /buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: false + + /camelcase@7.0.1: + resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} + engines: {node: '>=14.16'} + dev: false + + /caniuse-lite@1.0.30001579: + resolution: {integrity: sha512-u5AUVkixruKHJjw/pj9wISlcMpgFWzSrczLZbrqBSxukQixmg0SJ5sZTpvaFvxU0HoQKd4yoyAogyrAz9pzJnA==} + dev: false + + /ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + dev: false + + /chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: false + + /chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + dev: false + + /character-entities-html4@2.1.0: + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} + dev: false + + /character-entities-legacy@3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + dev: false + + /character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + dev: false + + /character-reference-invalid@2.0.1: + resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} + dev: false + + /chokidar@3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + dev: false + + /chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + dev: false + + /ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + dev: false + + /ci-info@4.0.0: + resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==} + engines: {node: '>=8'} + dev: false + + /cli-boxes@3.0.0: + resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} + engines: {node: '>=10'} + dev: false + + /cli-cursor@4.0.0: + resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + restore-cursor: 4.0.0 + dev: false + + /cli-spinners@2.9.2: + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} + dev: false + + /cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + dev: false + + /clsx@2.1.0: + resolution: {integrity: sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==} + engines: {node: '>=6'} + dev: false + + /collapse-white-space@2.1.0: + resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} + dev: false + + /color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + dev: false + + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: false + + /color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + dev: false + + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: false + + /color-string@1.9.1: + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + dependencies: + color-name: 1.1.4 + simple-swizzle: 0.2.2 + dev: false + + /color@4.2.3: + resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} + engines: {node: '>=12.5.0'} + dependencies: + color-convert: 2.0.1 + color-string: 1.9.1 + dev: false + + /comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + dev: false + + /common-ancestor-path@1.0.1: + resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==} + dev: false + + /convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + dev: false + + /cookie@0.6.0: + resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} + engines: {node: '>= 0.6'} + dev: false + + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: false + + /css-selector-parser@3.0.4: + resolution: {integrity: sha512-pnmS1dbKsz6KA4EW4BznyPL2xxkNDRg62hcD0v8g6DEw2W7hxOln5M953jsp9hmw5Dg57S6o/A8GOn37mbAgcQ==} + dev: false + + /cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + dev: false + + /debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.0.0 + dev: false + + /debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.3 + dev: false + + /debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: false + + /decode-named-character-reference@1.0.2: + resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} + dependencies: + character-entities: 2.0.2 + dev: false + + /decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} + dependencies: + mimic-response: 3.1.0 + dev: false + + /deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + dev: false + + /dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + dev: false + + /detect-libc@2.0.2: + resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} + engines: {node: '>=8'} + dev: false + + /deterministic-object-hash@2.0.2: + resolution: {integrity: sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ==} + engines: {node: '>=18'} + dependencies: + base-64: 1.0.0 + dev: false + + /devalue@4.3.2: + resolution: {integrity: sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==} + dev: false + + /devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + dependencies: + dequal: 2.0.3 + dev: false + + /diff@5.1.0: + resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} + engines: {node: '>=0.3.1'} + dev: false + + /direction@2.0.1: + resolution: {integrity: sha512-9S6m9Sukh1cZNknO1CWAr2QAWsbKLafQiyM5gZ7VgXHeuaoUwffKN4q6NC4A/Mf9iiPlOXQEKW/Mv/mh9/3YFA==} + hasBin: true + dev: false + + /dlv@1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + dev: false + + /dset@3.1.3: + resolution: {integrity: sha512-20TuZZHCEZ2O71q9/+8BwKwZ0QtD9D8ObhrihJPr+vLLYlSuAU3/zL4cSlgbfeoGHTjCSJBa7NGcrF9/Bx/WJQ==} + engines: {node: '>=4'} + dev: false + + /eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + dev: false + + /electron-to-chromium@1.4.645: + resolution: {integrity: sha512-EeS1oQDCmnYsRDRy2zTeC336a/4LZ6WKqvSaM1jLocEk5ZuyszkQtCpsqvuvaIXGOUjwtvF6LTcS8WueibXvSw==} + dev: false + + /emmet@2.4.6: + resolution: {integrity: sha512-dJfbdY/hfeTyf/Ef7Y7ubLYzkBvPQ912wPaeVYpAxvFxkEBf/+hJu4H6vhAvFN6HlxqedlfVn2x1S44FfQ97pg==} + dependencies: + '@emmetio/abbreviation': 2.3.3 + '@emmetio/css-abbreviation': 2.1.8 + dev: false + + /emoji-regex@10.3.0: + resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} + dev: false + + /emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + dev: false + + /emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + dev: false + + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + dev: false + + /entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + dev: false + + /es-module-lexer@1.4.1: + resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==} + dev: false + + /esbuild@0.19.12: + resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.19.12 + '@esbuild/android-arm': 0.19.12 + '@esbuild/android-arm64': 0.19.12 + '@esbuild/android-x64': 0.19.12 + '@esbuild/darwin-arm64': 0.19.12 + '@esbuild/darwin-x64': 0.19.12 + '@esbuild/freebsd-arm64': 0.19.12 + '@esbuild/freebsd-x64': 0.19.12 + '@esbuild/linux-arm': 0.19.12 + '@esbuild/linux-arm64': 0.19.12 + '@esbuild/linux-ia32': 0.19.12 + '@esbuild/linux-loong64': 0.19.12 + '@esbuild/linux-mips64el': 0.19.12 + '@esbuild/linux-ppc64': 0.19.12 + '@esbuild/linux-riscv64': 0.19.12 + '@esbuild/linux-s390x': 0.19.12 + '@esbuild/linux-x64': 0.19.12 + '@esbuild/netbsd-x64': 0.19.12 + '@esbuild/openbsd-x64': 0.19.12 + '@esbuild/sunos-x64': 0.19.12 + '@esbuild/win32-arm64': 0.19.12 + '@esbuild/win32-ia32': 0.19.12 + '@esbuild/win32-x64': 0.19.12 + dev: false + + /escalade@3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + dev: false + + /escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + dev: false + + /escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + dev: false + + /esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + dev: false + + /estree-util-attach-comments@3.0.0: + resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==} + dependencies: + '@types/estree': 1.0.5 + dev: false + + /estree-util-build-jsx@3.0.1: + resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==} + dependencies: + '@types/estree-jsx': 1.0.3 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + estree-walker: 3.0.3 + dev: false + + /estree-util-is-identifier-name@3.0.0: + resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==} + dev: false + + /estree-util-to-js@2.0.0: + resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==} + dependencies: + '@types/estree-jsx': 1.0.3 + astring: 1.8.6 + source-map: 0.7.4 + dev: false + + /estree-util-visit@2.0.0: + resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} + dependencies: + '@types/estree-jsx': 1.0.3 + '@types/unist': 3.0.2 + dev: false + + /estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + dependencies: + '@types/estree': 1.0.5 + dev: false + + /eventemitter3@5.0.1: + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + dev: false + + /execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.2.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + dev: false + + /expand-template@2.0.3: + resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} + engines: {node: '>=6'} + dev: false + + /expressive-code@0.31.0: + resolution: {integrity: sha512-rxKGYS8iRwNUbRNfyCyoe3XQvBLTtGdXbNKM+ODDWCn4VL2DVT1gD1M2N2Alg8HQHIWZJsZIMsYbziO0MRjPlw==} + dependencies: + '@expressive-code/core': 0.31.0 + '@expressive-code/plugin-frames': 0.31.0 + '@expressive-code/plugin-shiki': 0.31.0 + '@expressive-code/plugin-text-markers': 0.31.0 + dev: false + + /extend-shallow@2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} + dependencies: + is-extendable: 0.1.1 + dev: false + + /extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + dev: false + + /fast-fifo@1.3.2: + resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} + dev: false + + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + dev: false + + /fastq@1.16.0: + resolution: {integrity: sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==} + dependencies: + reusify: 1.0.4 + dev: false + + /fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: false + + /find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + dev: false + + /find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: false + + /find-yarn-workspace-root2@1.2.16: + resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} + dependencies: + micromatch: 4.0.5 + pkg-dir: 4.2.0 + dev: false + + /flattie@1.1.0: + resolution: {integrity: sha512-xU99gDEnciIwJdGcBmNHnzTJ/w5AT+VFJOu6sTB6WM8diOYNA3Sa+K1DiEBQ7XH4QikQq3iFW1U+jRVcotQnBw==} + engines: {node: '>=8'} + dev: false + + /fs-constants@1.0.0: + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + dev: false + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + dev: false + + /gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + dev: false + + /get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + dev: false + + /get-east-asian-width@1.2.0: + resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} + engines: {node: '>=18'} + dev: false + + /get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + dev: false + + /github-from-package@0.0.0: + resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} + dev: false + + /github-slugger@2.0.0: + resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} + dev: false + + /glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + dev: false + + /globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + dev: false + + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: false + + /gray-matter@4.0.3: + resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} + engines: {node: '>=6.0'} + dependencies: + js-yaml: 3.14.1 + kind-of: 6.0.3 + section-matter: 1.0.0 + strip-bom-string: 1.0.0 + dev: false + + /has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + dev: false + + /hasown@2.0.0: + resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 + dev: false + + /hast-util-from-html@2.0.1: + resolution: {integrity: sha512-RXQBLMl9kjKVNkJTIO6bZyb2n+cUH8LFaSSzo82jiLT6Tfc+Pt7VQCS+/h3YwG4jaNE2TA2sdJisGWR+aJrp0g==} + dependencies: + '@types/hast': 3.0.3 + devlop: 1.1.0 + hast-util-from-parse5: 8.0.1 + parse5: 7.1.2 + vfile: 6.0.1 + vfile-message: 4.0.2 + dev: false + + /hast-util-from-parse5@7.1.2: + resolution: {integrity: sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==} + dependencies: + '@types/hast': 2.3.9 + '@types/unist': 2.0.10 + hastscript: 7.2.0 + property-information: 6.4.0 + vfile: 5.3.7 + vfile-location: 4.1.0 + web-namespaces: 2.0.1 + dev: false + + /hast-util-from-parse5@8.0.1: + resolution: {integrity: sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==} + dependencies: + '@types/hast': 3.0.3 + '@types/unist': 3.0.2 + devlop: 1.1.0 + hastscript: 8.0.0 + property-information: 6.4.0 + vfile: 6.0.1 + vfile-location: 5.0.2 + web-namespaces: 2.0.1 + dev: false + + /hast-util-has-property@3.0.0: + resolution: {integrity: sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA==} + dependencies: + '@types/hast': 3.0.3 + dev: false + + /hast-util-parse-selector@3.1.1: + resolution: {integrity: sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==} + dependencies: + '@types/hast': 2.3.9 + dev: false + + /hast-util-parse-selector@4.0.0: + resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} + dependencies: + '@types/hast': 3.0.3 + dev: false + + /hast-util-raw@7.2.3: + resolution: {integrity: sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg==} + dependencies: + '@types/hast': 2.3.9 + '@types/parse5': 6.0.3 + hast-util-from-parse5: 7.1.2 + hast-util-to-parse5: 7.1.0 + html-void-elements: 2.0.1 + parse5: 6.0.1 + unist-util-position: 4.0.4 + unist-util-visit: 4.1.2 + vfile: 5.3.7 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + dev: false + + /hast-util-raw@9.0.2: + resolution: {integrity: sha512-PldBy71wO9Uq1kyaMch9AHIghtQvIwxBUkv823pKmkTM3oV1JxtsTNYdevMxvUHqcnOAuO65JKU2+0NOxc2ksA==} + dependencies: + '@types/hast': 3.0.3 + '@types/unist': 3.0.2 + '@ungap/structured-clone': 1.2.0 + hast-util-from-parse5: 8.0.1 + hast-util-to-parse5: 8.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.1.0 + parse5: 7.1.2 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.1 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + dev: false + + /hast-util-select@6.0.2: + resolution: {integrity: sha512-hT/SD/d/Meu+iobvgkffo1QecV8WeKWxwsNMzcTJsKw1cKTQKSR/7ArJeURLNJF9HDjp9nVoORyNNJxrvBye8Q==} + dependencies: + '@types/hast': 3.0.3 + '@types/unist': 3.0.2 + bcp-47-match: 2.0.3 + comma-separated-tokens: 2.0.3 + css-selector-parser: 3.0.4 + devlop: 1.1.0 + direction: 2.0.1 + hast-util-has-property: 3.0.0 + hast-util-to-string: 3.0.0 + hast-util-whitespace: 3.0.0 + not: 0.1.0 + nth-check: 2.1.1 + property-information: 6.4.0 + space-separated-tokens: 2.0.2 + unist-util-visit: 5.0.0 + zwitch: 2.0.4 + dev: false + + /hast-util-to-estree@3.1.0: + resolution: {integrity: sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==} + dependencies: + '@types/estree': 1.0.5 + '@types/estree-jsx': 1.0.3 + '@types/hast': 3.0.3 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-attach-comments: 3.0.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.0 + mdast-util-mdx-jsx: 3.0.0 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 6.4.0 + space-separated-tokens: 2.0.2 + style-to-object: 0.4.4 + unist-util-position: 5.0.0 + zwitch: 2.0.4 + transitivePeerDependencies: + - supports-color + dev: false + + /hast-util-to-html@8.0.4: + resolution: {integrity: sha512-4tpQTUOr9BMjtYyNlt0P50mH7xj0Ks2xpo8M943Vykljf99HW6EzulIoJP1N3eKOSScEHzyzi9dm7/cn0RfGwA==} + dependencies: + '@types/hast': 2.3.9 + '@types/unist': 2.0.10 + ccount: 2.0.1 + comma-separated-tokens: 2.0.3 + hast-util-raw: 7.2.3 + hast-util-whitespace: 2.0.1 + html-void-elements: 2.0.1 + property-information: 6.4.0 + space-separated-tokens: 2.0.2 + stringify-entities: 4.0.3 + zwitch: 2.0.4 + dev: false + + /hast-util-to-html@9.0.0: + resolution: {integrity: sha512-IVGhNgg7vANuUA2XKrT6sOIIPgaYZnmLx3l/CCOAK0PtgfoHrZwX7jCSYyFxHTrGmC6S9q8aQQekjp4JPZF+cw==} + dependencies: + '@types/hast': 3.0.3 + '@types/unist': 3.0.2 + ccount: 2.0.1 + comma-separated-tokens: 2.0.3 + hast-util-raw: 9.0.2 + hast-util-whitespace: 3.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.1.0 + property-information: 6.4.0 + space-separated-tokens: 2.0.2 + stringify-entities: 4.0.3 + zwitch: 2.0.4 + dev: false + + /hast-util-to-jsx-runtime@2.3.0: + resolution: {integrity: sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==} + dependencies: + '@types/estree': 1.0.5 + '@types/hast': 3.0.3 + '@types/unist': 3.0.2 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.0 + mdast-util-mdx-jsx: 3.0.0 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 6.4.0 + space-separated-tokens: 2.0.2 + style-to-object: 1.0.5 + unist-util-position: 5.0.0 + vfile-message: 4.0.2 + transitivePeerDependencies: + - supports-color + dev: false + + /hast-util-to-parse5@7.1.0: + resolution: {integrity: sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw==} + dependencies: + '@types/hast': 2.3.9 + comma-separated-tokens: 2.0.3 + property-information: 6.4.0 + space-separated-tokens: 2.0.2 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + dev: false + + /hast-util-to-parse5@8.0.0: + resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==} + dependencies: + '@types/hast': 3.0.3 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + property-information: 6.4.0 + space-separated-tokens: 2.0.2 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + dev: false + + /hast-util-to-string@3.0.0: + resolution: {integrity: sha512-OGkAxX1Ua3cbcW6EJ5pT/tslVb90uViVkcJ4ZZIMW/R33DX/AkcJcRrPebPwJkHYwlDHXz4aIwvAAaAdtrACFA==} + dependencies: + '@types/hast': 3.0.3 + dev: false + + /hast-util-whitespace@2.0.1: + resolution: {integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==} + dev: false + + /hast-util-whitespace@3.0.0: + resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} + dependencies: + '@types/hast': 3.0.3 + dev: false + + /hastscript@7.2.0: + resolution: {integrity: sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==} + dependencies: + '@types/hast': 2.3.9 + comma-separated-tokens: 2.0.3 + hast-util-parse-selector: 3.1.1 + property-information: 6.4.0 + space-separated-tokens: 2.0.2 + dev: false + + /hastscript@8.0.0: + resolution: {integrity: sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==} + dependencies: + '@types/hast': 3.0.3 + comma-separated-tokens: 2.0.3 + hast-util-parse-selector: 4.0.0 + property-information: 6.4.0 + space-separated-tokens: 2.0.2 + dev: false + + /html-escaper@3.0.3: + resolution: {integrity: sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==} + dev: false + + /html-void-elements@2.0.1: + resolution: {integrity: sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==} + dev: false + + /html-void-elements@3.0.0: + resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} + dev: false + + /http-cache-semantics@4.1.1: + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + dev: false + + /human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + dev: false + + /iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: false + + /ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + dev: false + + /import-meta-resolve@4.0.0: + resolution: {integrity: sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==} + dev: false + + /inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: false + + /ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + dev: false + + /inline-style-parser@0.1.1: + resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} + dev: false + + /inline-style-parser@0.2.2: + resolution: {integrity: sha512-EcKzdTHVe8wFVOGEYXiW9WmJXPjqi1T+234YpJr98RiFYKHV3cdy1+3mkTE+KHTHxFFLH51SfaGOoUdW+v7ViQ==} + dev: false + + /is-alphabetical@2.0.1: + resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} + dev: false + + /is-alphanumerical@2.0.1: + resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} + dependencies: + is-alphabetical: 2.0.1 + is-decimal: 2.0.1 + dev: false + + /is-arrayish@0.3.2: + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + dev: false + + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.2.0 + dev: false + + /is-buffer@2.0.5: + resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} + engines: {node: '>=4'} + dev: false + + /is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + dependencies: + hasown: 2.0.0 + dev: false + + /is-decimal@2.0.1: + resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} + dev: false + + /is-docker@3.0.0: + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + dev: false + + /is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + dev: false + + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + dev: false + + /is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + dev: false + + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: false + + /is-hexadecimal@2.0.1: + resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} + dev: false + + /is-inside-container@1.0.0: + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} + hasBin: true + dependencies: + is-docker: 3.0.0 + dev: false + + /is-interactive@2.0.0: + resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} + engines: {node: '>=12'} + dev: false + + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: false + + /is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + dev: false + + /is-reference@3.0.2: + resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} + dependencies: + '@types/estree': 1.0.5 + dev: false + + /is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: false + + /is-unicode-supported@1.3.0: + resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} + engines: {node: '>=12'} + dev: false + + /is-wsl@3.1.0: + resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} + engines: {node: '>=16'} + dependencies: + is-inside-container: 1.0.0 + dev: false + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: false + + /js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: false + + /js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + dev: false + + /js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: false + + /jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + dev: false + + /json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + dev: false + + /jsonc-parser@2.3.1: + resolution: {integrity: sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==} + dev: false + + /kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + dev: false + + /kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + dev: false + + /kleur@4.1.5: + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} + dev: false + + /load-yaml-file@0.2.0: + resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} + engines: {node: '>=6'} + dependencies: + graceful-fs: 4.2.11 + js-yaml: 3.14.1 + pify: 4.0.1 + strip-bom: 3.0.0 + dev: false + + /locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + dependencies: + p-locate: 4.1.0 + dev: false + + /locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + dev: false + + /lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: false + + /log-symbols@5.1.0: + resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==} + engines: {node: '>=12'} + dependencies: + chalk: 5.3.0 + is-unicode-supported: 1.3.0 + dev: false + + /longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + dev: false + + /lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + dependencies: + yallist: 3.1.1 + dev: false + + /lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + dev: false + + /magic-string@0.30.5: + resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + dev: false + + /markdown-extensions@2.0.0: + resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} + engines: {node: '>=16'} + dev: false + + /markdown-table@3.0.3: + resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} + dev: false + + /mdast-util-definitions@6.0.0: + resolution: {integrity: sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==} + dependencies: + '@types/mdast': 4.0.3 + '@types/unist': 3.0.2 + unist-util-visit: 5.0.0 + dev: false + + /mdast-util-directive@3.0.0: + resolution: {integrity: sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q==} + dependencies: + '@types/mdast': 4.0.3 + '@types/unist': 3.0.2 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + parse-entities: 4.0.1 + stringify-entities: 4.0.3 + unist-util-visit-parents: 6.0.1 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-find-and-replace@3.0.1: + resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} + dependencies: + '@types/mdast': 4.0.3 + escape-string-regexp: 5.0.0 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + dev: false + + /mdast-util-from-markdown@2.0.0: + resolution: {integrity: sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==} + dependencies: + '@types/mdast': 4.0.3 + '@types/unist': 3.0.2 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + mdast-util-to-string: 4.0.0 + micromark: 4.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-decode-string: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-stringify-position: 4.0.0 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-gfm-autolink-literal@2.0.0: + resolution: {integrity: sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==} + dependencies: + '@types/mdast': 4.0.3 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-find-and-replace: 3.0.1 + micromark-util-character: 2.0.1 + dev: false + + /mdast-util-gfm-footnote@2.0.0: + resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==} + dependencies: + '@types/mdast': 4.0.3 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + micromark-util-normalize-identifier: 2.0.0 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} + dependencies: + '@types/mdast': 4.0.3 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-gfm-table@2.0.0: + resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} + dependencies: + '@types/mdast': 4.0.3 + devlop: 1.1.0 + markdown-table: 3.0.3 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-gfm-task-list-item@2.0.0: + resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} + dependencies: + '@types/mdast': 4.0.3 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-gfm@3.0.0: + resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==} + dependencies: + mdast-util-from-markdown: 2.0.0 + mdast-util-gfm-autolink-literal: 2.0.0 + mdast-util-gfm-footnote: 2.0.0 + mdast-util-gfm-strikethrough: 2.0.0 + mdast-util-gfm-table: 2.0.0 + mdast-util-gfm-task-list-item: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-mdx-expression@2.0.0: + resolution: {integrity: sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==} + dependencies: + '@types/estree-jsx': 1.0.3 + '@types/hast': 3.0.3 + '@types/mdast': 4.0.3 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-mdx-jsx@3.0.0: + resolution: {integrity: sha512-XZuPPzQNBPAlaqsTTgRrcJnyFbSOBovSadFgbFu8SnuNgm+6Bdx1K+IWoitsmj6Lq6MNtI+ytOqwN70n//NaBA==} + dependencies: + '@types/estree-jsx': 1.0.3 + '@types/hast': 3.0.3 + '@types/mdast': 4.0.3 + '@types/unist': 3.0.2 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + parse-entities: 4.0.1 + stringify-entities: 4.0.3 + unist-util-remove-position: 5.0.0 + unist-util-stringify-position: 4.0.0 + vfile-message: 4.0.2 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-mdx@3.0.0: + resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==} + dependencies: + mdast-util-from-markdown: 2.0.0 + mdast-util-mdx-expression: 2.0.0 + mdast-util-mdx-jsx: 3.0.0 + mdast-util-mdxjs-esm: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-mdxjs-esm@2.0.1: + resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==} + dependencies: + '@types/estree-jsx': 1.0.3 + '@types/hast': 3.0.3 + '@types/mdast': 4.0.3 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-phrasing@4.0.0: + resolution: {integrity: sha512-xadSsJayQIucJ9n053dfQwVu1kuXg7jCTdYsMK8rqzKZh52nLfSH/k0sAxE0u+pj/zKZX+o5wB+ML5mRayOxFA==} + dependencies: + '@types/mdast': 4.0.3 + unist-util-is: 6.0.0 + dev: false + + /mdast-util-to-hast@13.0.2: + resolution: {integrity: sha512-U5I+500EOOw9e3ZrclN3Is3fRpw8c19SMyNZlZ2IS+7vLsNzb2Om11VpIVOR+/0137GhZsFEF6YiKD5+0Hr2Og==} + dependencies: + '@types/hast': 3.0.3 + '@types/mdast': 4.0.3 + '@ungap/structured-clone': 1.2.0 + devlop: 1.1.0 + micromark-util-sanitize-uri: 2.0.0 + trim-lines: 3.0.1 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + dev: false + + /mdast-util-to-hast@13.1.0: + resolution: {integrity: sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA==} + dependencies: + '@types/hast': 3.0.3 + '@types/mdast': 4.0.3 + '@ungap/structured-clone': 1.2.0 + devlop: 1.1.0 + micromark-util-sanitize-uri: 2.0.0 + trim-lines: 3.0.1 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.1 + dev: false + + /mdast-util-to-markdown@2.1.0: + resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==} + dependencies: + '@types/mdast': 4.0.3 + '@types/unist': 3.0.2 + longest-streak: 3.1.0 + mdast-util-phrasing: 4.0.0 + mdast-util-to-string: 4.0.0 + micromark-util-decode-string: 2.0.0 + unist-util-visit: 5.0.0 + zwitch: 2.0.4 + dev: false + + /mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + dependencies: + '@types/mdast': 4.0.3 + dev: false + + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: false + + /merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + dev: false + + /micromark-core-commonmark@2.0.0: + resolution: {integrity: sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==} + dependencies: + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-factory-destination: 2.0.0 + micromark-factory-label: 2.0.0 + micromark-factory-space: 2.0.0 + micromark-factory-title: 2.0.0 + micromark-factory-whitespace: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-chunked: 2.0.0 + micromark-util-classify-character: 2.0.0 + micromark-util-html-tag-name: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-subtokenize: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-extension-directive@3.0.0: + resolution: {integrity: sha512-61OI07qpQrERc+0wEysLHMvoiO3s2R56x5u7glHq2Yqq6EHbH4dW25G9GfDdGCDYqA21KE6DWgNSzxSwHc2hSg==} + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.0 + micromark-factory-whitespace: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + parse-entities: 4.0.1 + dev: false + + /micromark-extension-gfm-autolink-literal@2.0.0: + resolution: {integrity: sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==} + dependencies: + micromark-util-character: 2.0.1 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-extension-gfm-footnote@2.0.0: + resolution: {integrity: sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==} + dependencies: + devlop: 1.1.0 + micromark-core-commonmark: 2.0.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-extension-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==} + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-classify-character: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-extension-gfm-table@2.0.0: + resolution: {integrity: sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==} + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-extension-gfm-tagfilter@2.0.0: + resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} + dependencies: + micromark-util-types: 2.0.0 + dev: false + + /micromark-extension-gfm-task-list-item@2.0.1: + resolution: {integrity: sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==} + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-extension-gfm@3.0.0: + resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} + dependencies: + micromark-extension-gfm-autolink-literal: 2.0.0 + micromark-extension-gfm-footnote: 2.0.0 + micromark-extension-gfm-strikethrough: 2.0.0 + micromark-extension-gfm-table: 2.0.0 + micromark-extension-gfm-tagfilter: 2.0.0 + micromark-extension-gfm-task-list-item: 2.0.1 + micromark-util-combine-extensions: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-extension-mdx-expression@3.0.0: + resolution: {integrity: sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==} + dependencies: + '@types/estree': 1.0.5 + devlop: 1.1.0 + micromark-factory-mdx-expression: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-events-to-acorn: 2.0.2 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-extension-mdx-jsx@3.0.0: + resolution: {integrity: sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w==} + dependencies: + '@types/acorn': 4.0.6 + '@types/estree': 1.0.5 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + micromark-factory-mdx-expression: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + vfile-message: 4.0.2 + dev: false + + /micromark-extension-mdx-md@2.0.0: + resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==} + dependencies: + micromark-util-types: 2.0.0 + dev: false + + /micromark-extension-mdxjs-esm@3.0.0: + resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==} + dependencies: + '@types/estree': 1.0.5 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-events-to-acorn: 2.0.2 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.2 + dev: false + + /micromark-extension-mdxjs@3.0.0: + resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==} + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + micromark-extension-mdx-expression: 3.0.0 + micromark-extension-mdx-jsx: 3.0.0 + micromark-extension-mdx-md: 2.0.0 + micromark-extension-mdxjs-esm: 3.0.0 + micromark-util-combine-extensions: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-factory-destination@2.0.0: + resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==} + dependencies: + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-factory-label@2.0.0: + resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==} + dependencies: + devlop: 1.1.0 + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-factory-mdx-expression@2.0.1: + resolution: {integrity: sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg==} + dependencies: + '@types/estree': 1.0.5 + devlop: 1.1.0 + micromark-util-character: 2.0.1 + micromark-util-events-to-acorn: 2.0.2 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.2 + dev: false + + /micromark-factory-space@2.0.0: + resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==} + dependencies: + micromark-util-character: 2.0.1 + micromark-util-types: 2.0.0 + dev: false + + /micromark-factory-title@2.0.0: + resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==} + dependencies: + micromark-factory-space: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-factory-whitespace@2.0.0: + resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==} + dependencies: + micromark-factory-space: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-util-character@2.0.1: + resolution: {integrity: sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==} + dependencies: + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-util-chunked@2.0.0: + resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==} + dependencies: + micromark-util-symbol: 2.0.0 + dev: false + + /micromark-util-classify-character@2.0.0: + resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==} + dependencies: + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-util-combine-extensions@2.0.0: + resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==} + dependencies: + micromark-util-chunked: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-util-decode-numeric-character-reference@2.0.1: + resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==} + dependencies: + micromark-util-symbol: 2.0.0 + dev: false + + /micromark-util-decode-string@2.0.0: + resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==} + dependencies: + decode-named-character-reference: 1.0.2 + micromark-util-character: 2.0.1 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-symbol: 2.0.0 + dev: false + + /micromark-util-encode@2.0.0: + resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} + dev: false + + /micromark-util-events-to-acorn@2.0.2: + resolution: {integrity: sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==} + dependencies: + '@types/acorn': 4.0.6 + '@types/estree': 1.0.5 + '@types/unist': 3.0.2 + devlop: 1.1.0 + estree-util-visit: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + vfile-message: 4.0.2 + dev: false + + /micromark-util-html-tag-name@2.0.0: + resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==} + dev: false + + /micromark-util-normalize-identifier@2.0.0: + resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==} + dependencies: + micromark-util-symbol: 2.0.0 + dev: false + + /micromark-util-resolve-all@2.0.0: + resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==} + dependencies: + micromark-util-types: 2.0.0 + dev: false + + /micromark-util-sanitize-uri@2.0.0: + resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} + dependencies: + micromark-util-character: 2.0.1 + micromark-util-encode: 2.0.0 + micromark-util-symbol: 2.0.0 + dev: false + + /micromark-util-subtokenize@2.0.0: + resolution: {integrity: sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==} + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-util-symbol@2.0.0: + resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} + dev: false + + /micromark-util-types@2.0.0: + resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} + dev: false + + /micromark@4.0.0: + resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} + dependencies: + '@types/debug': 4.1.12 + debug: 4.3.4 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-chunked: 2.0.0 + micromark-util-combine-extensions: 2.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-encode: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-subtokenize: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + transitivePeerDependencies: + - supports-color + dev: false + + /micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + dev: false + + /mime@3.0.0: + resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} + engines: {node: '>=10.0.0'} + hasBin: true + dev: false + + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: false + + /mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + dev: false + + /mimic-response@3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} + dev: false + + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: false + + /mkdirp-classic@0.5.3: + resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} + dev: false + + /ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + dev: false + + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + dev: false + + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: false + + /muggle-string@0.3.1: + resolution: {integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==} + dev: false + + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: false + + /napi-build-utils@1.0.2: + resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} + dev: false + + /needle@2.9.1: + resolution: {integrity: sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==} + engines: {node: '>= 4.4.x'} + hasBin: true + dependencies: + debug: 3.2.7 + iconv-lite: 0.4.24 + sax: 1.3.0 + transitivePeerDependencies: + - supports-color + dev: false + + /nlcst-to-string@3.1.1: + resolution: {integrity: sha512-63mVyqaqt0cmn2VcI2aH6kxe1rLAmSROqHMA0i4qqg1tidkfExgpb0FGMikMCn86mw5dFtBtEANfmSSK7TjNHw==} + dependencies: + '@types/nlcst': 1.0.4 + dev: false + + /node-abi@3.54.0: + resolution: {integrity: sha512-p7eGEiQil0YUV3ItH4/tBb781L5impVmmx2E9FRKF7d18XXzp4PGT2tdYMFY6wQqgxD0IwNZOiSJ0/K0fSi/OA==} + engines: {node: '>=10'} + dependencies: + semver: 7.5.4 + dev: false + + /node-addon-api@6.1.0: + resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==} + dev: false + + /node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + dev: false + + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: false + + /not@0.1.0: + resolution: {integrity: sha512-5PDmaAsVfnWUgTUbJ3ERwn7u79Z0dYxN9ErxCpVJJqe2RK0PJ3z+iFUxuqjwtlDDegXvtWoxD/3Fzxox7tFGWA==} + dev: false + + /npm-run-path@5.2.0: + resolution: {integrity: sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + path-key: 4.0.0 + dev: false + + /nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + dependencies: + boolbase: 1.0.0 + dev: false + + /once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + dev: false + + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: false + + /onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + dependencies: + mimic-fn: 4.0.0 + dev: false + + /ora@7.0.1: + resolution: {integrity: sha512-0TUxTiFJWv+JnjWm4o9yvuskpEJLXTcng8MJuKd+SzAzp2o+OP3HWqNhB4OdJRt1Vsd9/mR0oyaEYlOnL7XIRw==} + engines: {node: '>=16'} + dependencies: + chalk: 5.3.0 + cli-cursor: 4.0.0 + cli-spinners: 2.9.2 + is-interactive: 2.0.0 + is-unicode-supported: 1.3.0 + log-symbols: 5.1.0 + stdin-discarder: 0.1.0 + string-width: 6.1.0 + strip-ansi: 7.1.0 + dev: false + + /p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + dependencies: + p-try: 2.2.0 + dev: false + + /p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + dev: false + + /p-limit@5.0.0: + resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} + engines: {node: '>=18'} + dependencies: + yocto-queue: 1.0.0 + dev: false + + /p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + dependencies: + p-limit: 2.3.0 + dev: false + + /p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + dev: false + + /p-queue@8.0.1: + resolution: {integrity: sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA==} + engines: {node: '>=18'} + dependencies: + eventemitter3: 5.0.1 + p-timeout: 6.1.2 + dev: false + + /p-timeout@6.1.2: + resolution: {integrity: sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ==} + engines: {node: '>=14.16'} + dev: false + + /p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + dev: false + + /pagefind@1.0.4: + resolution: {integrity: sha512-oRIizYe+zSI2Jw4zcMU0ebDZm27751hRFiSOBLwc1OIYMrsZKk+3m8p9EVaOmc6zZdtqwwdilNUNxXvBeHcP9w==} + hasBin: true + optionalDependencies: + '@pagefind/darwin-arm64': 1.0.4 + '@pagefind/darwin-x64': 1.0.4 + '@pagefind/linux-arm64': 1.0.4 + '@pagefind/linux-x64': 1.0.4 + '@pagefind/windows-x64': 1.0.4 + dev: false + + /parse-entities@4.0.1: + resolution: {integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==} + dependencies: + '@types/unist': 2.0.10 + character-entities: 2.0.2 + character-entities-legacy: 3.0.0 + character-reference-invalid: 2.0.1 + decode-named-character-reference: 1.0.2 + is-alphanumerical: 2.0.1 + is-decimal: 2.0.1 + is-hexadecimal: 2.0.1 + dev: false + + /parse-latin@5.0.1: + resolution: {integrity: sha512-b/K8ExXaWC9t34kKeDV8kGXBkXZ1HCSAZRYE7HR14eA1GlXX5L8iWhs8USJNhQU9q5ci413jCKF0gOyovvyRBg==} + dependencies: + nlcst-to-string: 3.1.1 + unist-util-modify-children: 3.1.1 + unist-util-visit-children: 2.0.2 + dev: false + + /parse5@6.0.1: + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} + dev: false + + /parse5@7.1.2: + resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + dependencies: + entities: 4.5.0 + dev: false + + /path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + dev: false + + /path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: false + + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: false + + /path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + dev: false + + /path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: false + + /path-to-regexp@6.2.1: + resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} + dev: false + + /periscopic@3.1.0: + resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} + dependencies: + '@types/estree': 1.0.5 + estree-walker: 3.0.3 + is-reference: 3.0.2 + dev: false + + /picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + dev: false + + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: false + + /pify@4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} + dev: false + + /pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + dev: false + + /postcss-nested@6.0.1(postcss@8.4.33): + resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + dependencies: + postcss: 8.4.33 + postcss-selector-parser: 6.0.15 + dev: false + + /postcss-selector-parser@6.0.15: + resolution: {integrity: sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + dev: false + + /postcss@8.4.33: + resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: false + + /prebuild-install@7.1.1: + resolution: {integrity: sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==} + engines: {node: '>=10'} + hasBin: true + dependencies: + detect-libc: 2.0.2 + expand-template: 2.0.3 + github-from-package: 0.0.0 + minimist: 1.2.8 + mkdirp-classic: 0.5.3 + napi-build-utils: 1.0.2 + node-abi: 3.54.0 + pump: 3.0.0 + rc: 1.2.8 + simple-get: 4.0.1 + tar-fs: 2.1.1 + tunnel-agent: 0.6.0 + dev: false + + /preferred-pm@3.1.2: + resolution: {integrity: sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q==} + engines: {node: '>=10'} + dependencies: + find-up: 5.0.0 + find-yarn-workspace-root2: 1.2.16 + path-exists: 4.0.0 + which-pm: 2.0.0 + dev: false + + /prismjs@1.29.0: + resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} + engines: {node: '>=6'} + dev: false + + /probe-image-size@7.2.3: + resolution: {integrity: sha512-HubhG4Rb2UH8YtV4ba0Vp5bQ7L78RTONYu/ujmCu5nBI8wGv24s4E9xSKBi0N1MowRpxk76pFCpJtW0KPzOK0w==} + dependencies: + lodash.merge: 4.6.2 + needle: 2.9.1 + stream-parser: 0.3.1 + transitivePeerDependencies: + - supports-color + dev: false + + /prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + dev: false + + /property-information@6.4.0: + resolution: {integrity: sha512-9t5qARVofg2xQqKtytzt+lZ4d1Qvj8t5B8fEwXK6qOfgRLgH/b13QlgEyDh033NOS31nXeFbYv7CLUDG1CeifQ==} + dev: false + + /pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: false + + /queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: false + + /queue-tick@1.0.1: + resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} + dev: false + + /rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 + dev: false + + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + dev: false + + /readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: false + + /rehype-parse@9.0.0: + resolution: {integrity: sha512-WG7nfvmWWkCR++KEkZevZb/uw41E8TsH4DsY9UxsTbIXCVGbAs4S+r8FrQ+OtH5EEQAs+5UxKC42VinkmpA1Yw==} + dependencies: + '@types/hast': 3.0.3 + hast-util-from-html: 2.0.1 + unified: 11.0.4 + dev: false + + /rehype-raw@7.0.0: + resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} + dependencies: + '@types/hast': 3.0.3 + hast-util-raw: 9.0.2 + vfile: 6.0.1 + dev: false + + /rehype-stringify@10.0.0: + resolution: {integrity: sha512-1TX1i048LooI9QoecrXy7nGFFbFSufxVRAfc6Y9YMRAi56l+oB0zP51mLSV312uRuvVLPV1opSlJmslozR1XHQ==} + dependencies: + '@types/hast': 3.0.3 + hast-util-to-html: 9.0.0 + unified: 11.0.4 + dev: false + + /rehype@13.0.1: + resolution: {integrity: sha512-AcSLS2mItY+0fYu9xKxOu1LhUZeBZZBx8//5HKzF+0XP+eP8+6a5MXn2+DW2kfXR6Dtp1FEXMVrjyKAcvcU8vg==} + dependencies: + '@types/hast': 3.0.3 + rehype-parse: 9.0.0 + rehype-stringify: 10.0.0 + unified: 11.0.4 + dev: false + + /remark-directive@3.0.0: + resolution: {integrity: sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA==} + dependencies: + '@types/mdast': 4.0.3 + mdast-util-directive: 3.0.0 + micromark-extension-directive: 3.0.0 + unified: 11.0.4 + transitivePeerDependencies: + - supports-color + dev: false + + /remark-expressive-code@0.31.0: + resolution: {integrity: sha512-ZnKXo9lB0kBUHZIlw2NdqMMgXriVVajEhtQfJ+MWeibMpyM1kuOa28jefNfNFd3FAoNPrc/A3M0fDRkYvWw9Gw==} + dependencies: + expressive-code: 0.31.0 + hast-util-to-html: 8.0.4 + unist-util-visit: 4.1.2 + dev: false + + /remark-gfm@4.0.0: + resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==} + dependencies: + '@types/mdast': 4.0.3 + mdast-util-gfm: 3.0.0 + micromark-extension-gfm: 3.0.0 + remark-parse: 11.0.0 + remark-stringify: 11.0.0 + unified: 11.0.4 + transitivePeerDependencies: + - supports-color + dev: false + + /remark-mdx@3.0.0: + resolution: {integrity: sha512-O7yfjuC6ra3NHPbRVxfflafAj3LTwx3b73aBvkEFU5z4PsD6FD4vrqJAkE5iNGLz71GdjXfgRqm3SQ0h0VuE7g==} + dependencies: + mdast-util-mdx: 3.0.0 + micromark-extension-mdxjs: 3.0.0 + transitivePeerDependencies: + - supports-color + dev: false + + /remark-parse@11.0.0: + resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} + dependencies: + '@types/mdast': 4.0.3 + mdast-util-from-markdown: 2.0.0 + micromark-util-types: 2.0.0 + unified: 11.0.4 + transitivePeerDependencies: + - supports-color + dev: false + + /remark-rehype@11.1.0: + resolution: {integrity: sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==} + dependencies: + '@types/hast': 3.0.3 + '@types/mdast': 4.0.3 + mdast-util-to-hast: 13.0.2 + unified: 11.0.4 + vfile: 6.0.1 + dev: false + + /remark-smartypants@2.1.0: + resolution: {integrity: sha512-qoF6Vz3BjU2tP6OfZqHOvCU0ACmu/6jhGaINSQRI9mM7wCxNQTKB3JUAN4SVoN2ybElEDTxBIABRep7e569iJw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + retext: 8.1.0 + retext-smartypants: 5.2.0 + unist-util-visit: 5.0.0 + dev: false + + /remark-stringify@11.0.0: + resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} + dependencies: + '@types/mdast': 4.0.3 + mdast-util-to-markdown: 2.1.0 + unified: 11.0.4 + dev: false + + /request-light@0.7.0: + resolution: {integrity: sha512-lMbBMrDoxgsyO+yB3sDcrDuX85yYt7sS8BfQd11jtbW/z5ZWgLZRcEGLsLoYw7I0WSUGQBs8CC8ScIxkTX1+6Q==} + dev: false + + /require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + dev: false + + /resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: false + + /restore-cursor@4.0.0: + resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + dev: false + + /retext-latin@3.1.0: + resolution: {integrity: sha512-5MrD1tuebzO8ppsja5eEu+ZbBeUNCjoEarn70tkXOS7Bdsdf6tNahsv2bY0Z8VooFF6cw7/6S+d3yI/TMlMVVQ==} + dependencies: + '@types/nlcst': 1.0.4 + parse-latin: 5.0.1 + unherit: 3.0.1 + unified: 10.1.2 + dev: false + + /retext-smartypants@5.2.0: + resolution: {integrity: sha512-Do8oM+SsjrbzT2UNIKgheP0hgUQTDDQYyZaIY3kfq0pdFzoPk+ZClYJ+OERNXveog4xf1pZL4PfRxNoVL7a/jw==} + dependencies: + '@types/nlcst': 1.0.4 + nlcst-to-string: 3.1.1 + unified: 10.1.2 + unist-util-visit: 4.1.2 + dev: false + + /retext-stringify@3.1.0: + resolution: {integrity: sha512-767TLOaoXFXyOnjx/EggXlb37ZD2u4P1n0GJqVdpipqACsQP+20W+BNpMYrlJkq7hxffnFk+jc6mAK9qrbuB8w==} + dependencies: + '@types/nlcst': 1.0.4 + nlcst-to-string: 3.1.1 + unified: 10.1.2 + dev: false + + /retext@8.1.0: + resolution: {integrity: sha512-N9/Kq7YTn6ZpzfiGW45WfEGJqFf1IM1q8OsRa1CGzIebCJBNCANDRmOrholiDRGKo/We7ofKR4SEvcGAWEMD3Q==} + dependencies: + '@types/nlcst': 1.0.4 + retext-latin: 3.1.0 + retext-stringify: 3.1.0 + unified: 10.1.2 + dev: false + + /reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + dev: false + + /rollup@4.9.6: + resolution: {integrity: sha512-05lzkCS2uASX0CiLFybYfVkwNbKZG5NFQ6Go0VWyogFTXXbR039UVsegViTntkk4OglHBdF54ccApXRRuXRbsg==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.9.6 + '@rollup/rollup-android-arm64': 4.9.6 + '@rollup/rollup-darwin-arm64': 4.9.6 + '@rollup/rollup-darwin-x64': 4.9.6 + '@rollup/rollup-linux-arm-gnueabihf': 4.9.6 + '@rollup/rollup-linux-arm64-gnu': 4.9.6 + '@rollup/rollup-linux-arm64-musl': 4.9.6 + '@rollup/rollup-linux-riscv64-gnu': 4.9.6 + '@rollup/rollup-linux-x64-gnu': 4.9.6 + '@rollup/rollup-linux-x64-musl': 4.9.6 + '@rollup/rollup-win32-arm64-msvc': 4.9.6 + '@rollup/rollup-win32-ia32-msvc': 4.9.6 + '@rollup/rollup-win32-x64-msvc': 4.9.6 + fsevents: 2.3.3 + dev: false + + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + dev: false + + /safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + dev: false + + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: false + + /sax@1.3.0: + resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==} + dev: false + + /section-matter@1.0.0: + resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} + engines: {node: '>=4'} + dependencies: + extend-shallow: 2.0.1 + kind-of: 6.0.3 + dev: false + + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + dev: false + + /semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: false + + /server-destroy@1.0.1: + resolution: {integrity: sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ==} + dev: false + + /sharp@0.32.6: + resolution: {integrity: sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==} + engines: {node: '>=14.15.0'} + requiresBuild: true + dependencies: + color: 4.2.3 + detect-libc: 2.0.2 + node-addon-api: 6.1.0 + prebuild-install: 7.1.1 + semver: 7.5.4 + simple-get: 4.0.1 + tar-fs: 3.0.4 + tunnel-agent: 0.6.0 + dev: false + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: false + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: false + + /shikiji-core@0.9.19: + resolution: {integrity: sha512-AFJu/vcNT21t0e6YrfadZ+9q86gvPum6iywRyt1OtIPjPFe25RQnYJyxHQPMLKCCWA992TPxmEmbNcOZCAJclw==} + dev: false + + /shikiji@0.8.7: + resolution: {integrity: sha512-j5usxwI0yHkDTHOuhuSJl9+wT5CNYeYO82dJMSJBlJ/NYT5SIebGcPoL6y9QOyH15wGrJC4LOP2nz5k8mUDGRQ==} + dependencies: + hast-util-to-html: 9.0.0 + dev: false + + /shikiji@0.9.19: + resolution: {integrity: sha512-Kw2NHWktdcdypCj1GkKpXH4o6Vxz8B8TykPlPuLHOGSV8VkhoCLcFOH4k19K4LXAQYRQmxg+0X/eM+m2sLhAkg==} + dependencies: + shikiji-core: 0.9.19 + dev: false + + /signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: false + + /signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + dev: false + + /simple-concat@1.0.1: + resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} + dev: false + + /simple-get@4.0.1: + resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} + dependencies: + decompress-response: 6.0.0 + once: 1.4.0 + simple-concat: 1.0.1 + dev: false + + /simple-swizzle@0.2.2: + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + dependencies: + is-arrayish: 0.3.2 + dev: false + + /sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + dev: false + + /sitemap@7.1.1: + resolution: {integrity: sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg==} + engines: {node: '>=12.0.0', npm: '>=5.6.0'} + hasBin: true + dependencies: + '@types/node': 17.0.45 + '@types/sax': 1.2.7 + arg: 5.0.2 + sax: 1.3.0 + dev: false + + /source-map-js@1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + dev: false + + /source-map@0.7.4: + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} + dev: false + + /space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + dev: false + + /sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + dev: false + + /stdin-discarder@0.1.0: + resolution: {integrity: sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + bl: 5.1.0 + dev: false + + /stream-parser@0.3.1: + resolution: {integrity: sha512-bJ/HgKq41nlKvlhccD5kaCr/P+Hu0wPNKPJOH7en+YrJu/9EgqUF+88w5Jb6KNcjOFMhfX4B2asfeAtIGuHObQ==} + dependencies: + debug: 2.6.9 + transitivePeerDependencies: + - supports-color + dev: false + + /streamx@2.15.6: + resolution: {integrity: sha512-q+vQL4AAz+FdfT137VF69Cc/APqUbxy+MDOImRrMvchJpigHj9GksgDU2LYbO9rx7RX6osWgxJB2WxhYv4SZAw==} + dependencies: + fast-fifo: 1.3.2 + queue-tick: 1.0.1 + dev: false + + /string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + dev: false + + /string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + dev: false + + /string-width@6.1.0: + resolution: {integrity: sha512-k01swCJAgQmuADB0YIc+7TuatfNvTBVOoaUWJjTB9R4VJzR5vNWzf5t42ESVZFPS8xTySF7CAdV4t/aaIm3UnQ==} + engines: {node: '>=16'} + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 10.3.0 + strip-ansi: 7.1.0 + dev: false + + /string-width@7.1.0: + resolution: {integrity: sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==} + engines: {node: '>=18'} + dependencies: + emoji-regex: 10.3.0 + get-east-asian-width: 1.2.0 + strip-ansi: 7.1.0 + dev: false + + /string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + dependencies: + safe-buffer: 5.2.1 + dev: false + + /stringify-entities@4.0.3: + resolution: {integrity: sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==} + dependencies: + character-entities-html4: 2.1.0 + character-entities-legacy: 3.0.0 + dev: false + + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: false + + /strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + dependencies: + ansi-regex: 6.0.1 + dev: false + + /strip-bom-string@1.0.0: + resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} + engines: {node: '>=0.10.0'} + dev: false + + /strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + dev: false + + /strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + dev: false + + /strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + dev: false + + /style-to-object@0.4.4: + resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==} + dependencies: + inline-style-parser: 0.1.1 + dev: false + + /style-to-object@1.0.5: + resolution: {integrity: sha512-rDRwHtoDD3UMMrmZ6BzOW0naTjMsVZLIjsGleSKS/0Oz+cgCfAPRspaqJuE8rDzpKha/nEvnM0IF4seEAZUTKQ==} + dependencies: + inline-style-parser: 0.2.2 + dev: false + + /supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + dev: false + + /supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: false + + /tar-fs@2.1.1: + resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} + dependencies: + chownr: 1.1.4 + mkdirp-classic: 0.5.3 + pump: 3.0.0 + tar-stream: 2.2.0 + dev: false + + /tar-fs@3.0.4: + resolution: {integrity: sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==} + dependencies: + mkdirp-classic: 0.5.3 + pump: 3.0.0 + tar-stream: 3.1.7 + dev: false + + /tar-stream@2.2.0: + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} + dependencies: + bl: 4.1.0 + end-of-stream: 1.4.4 + fs-constants: 1.0.0 + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: false + + /tar-stream@3.1.7: + resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} + dependencies: + b4a: 1.6.4 + fast-fifo: 1.3.2 + streamx: 2.15.6 + dev: false + + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + dev: false + + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: false + + /trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + dev: false + + /trough@2.1.0: + resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==} + dev: false + + /tsconfck@3.0.1(typescript@5.3.3): + resolution: {integrity: sha512-7ppiBlF3UEddCLeI1JRx5m2Ryq+xk4JrZuq4EuYXykipebaq1dV0Fhgr1hb7CkmHt32QSgOZlcqVLEtHBG4/mg==} + engines: {node: ^18 || >=20} + hasBin: true + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + dependencies: + typescript: 5.3.3 + dev: false + + /tunnel-agent@0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + dependencies: + safe-buffer: 5.2.1 + dev: false + + /type-fest@2.19.0: + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} + dev: false + + /typesafe-path@0.2.2: + resolution: {integrity: sha512-OJabfkAg1WLZSqJAJ0Z6Sdt3utnbzr/jh+NAHoyWHJe8CMSy79Gm085094M9nvTPy22KzTVn5Zq5mbapCI/hPA==} + dev: false + + /typescript-auto-import-cache@0.3.2: + resolution: {integrity: sha512-+laqe5SFL1vN62FPOOJSUDTZxtgsoOXjneYOXIpx5rQ4UMiN89NAtJLpqLqyebv9fgQ/IMeeTX+mQyRnwvJzvg==} + dependencies: + semver: 7.5.4 + dev: false + + /typescript@5.3.3: + resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} + engines: {node: '>=14.17'} + hasBin: true + dev: false + + /unherit@3.0.1: + resolution: {integrity: sha512-akOOQ/Yln8a2sgcLj4U0Jmx0R5jpIg2IUyRrWOzmEbjBtGzBdHtSeFKgoEcoH4KYIG/Pb8GQ/BwtYm0GCq1Sqg==} + dev: false + + /unified@10.1.2: + resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} + dependencies: + '@types/unist': 2.0.10 + bail: 2.0.2 + extend: 3.0.2 + is-buffer: 2.0.5 + is-plain-obj: 4.1.0 + trough: 2.1.0 + vfile: 5.3.7 + dev: false + + /unified@11.0.4: + resolution: {integrity: sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==} + dependencies: + '@types/unist': 3.0.2 + bail: 2.0.2 + devlop: 1.1.0 + extend: 3.0.2 + is-plain-obj: 4.1.0 + trough: 2.1.0 + vfile: 6.0.1 + dev: false + + /unist-util-is@5.2.1: + resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==} + dependencies: + '@types/unist': 2.0.10 + dev: false + + /unist-util-is@6.0.0: + resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + dependencies: + '@types/unist': 3.0.2 + dev: false + + /unist-util-modify-children@3.1.1: + resolution: {integrity: sha512-yXi4Lm+TG5VG+qvokP6tpnk+r1EPwyYL04JWDxLvgvPV40jANh7nm3udk65OOWquvbMDe+PL9+LmkxDpTv/7BA==} + dependencies: + '@types/unist': 2.0.10 + array-iterate: 2.0.1 + dev: false + + /unist-util-position-from-estree@2.0.0: + resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==} + dependencies: + '@types/unist': 3.0.2 + dev: false + + /unist-util-position@4.0.4: + resolution: {integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==} + dependencies: + '@types/unist': 2.0.10 + dev: false + + /unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + dependencies: + '@types/unist': 3.0.2 + dev: false + + /unist-util-remove-position@5.0.0: + resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==} + dependencies: + '@types/unist': 3.0.2 + unist-util-visit: 5.0.0 + dev: false + + /unist-util-remove@4.0.0: + resolution: {integrity: sha512-b4gokeGId57UVRX/eVKej5gXqGlc9+trkORhFJpu9raqZkZhU0zm8Doi05+HaiBsMEIJowL+2WtQ5ItjsngPXg==} + dependencies: + '@types/unist': 3.0.2 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + dev: false + + /unist-util-stringify-position@3.0.3: + resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==} + dependencies: + '@types/unist': 2.0.10 + dev: false + + /unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + dependencies: + '@types/unist': 3.0.2 + dev: false + + /unist-util-visit-children@2.0.2: + resolution: {integrity: sha512-+LWpMFqyUwLGpsQxpumsQ9o9DG2VGLFrpz+rpVXYIEdPy57GSy5HioC0g3bg/8WP9oCLlapQtklOzQ8uLS496Q==} + dependencies: + '@types/unist': 2.0.10 + dev: false + + /unist-util-visit-parents@5.1.3: + resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==} + dependencies: + '@types/unist': 2.0.10 + unist-util-is: 5.2.1 + dev: false + + /unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + dependencies: + '@types/unist': 3.0.2 + unist-util-is: 6.0.0 + dev: false + + /unist-util-visit@4.1.2: + resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==} + dependencies: + '@types/unist': 2.0.10 + unist-util-is: 5.2.1 + unist-util-visit-parents: 5.1.3 + dev: false + + /unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + dependencies: + '@types/unist': 3.0.2 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + dev: false + + /update-browserslist-db@1.0.13(browserslist@4.22.2): + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.22.2 + escalade: 3.1.1 + picocolors: 1.0.0 + dev: false + + /util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + dev: false + + /vfile-location@4.1.0: + resolution: {integrity: sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==} + dependencies: + '@types/unist': 2.0.10 + vfile: 5.3.7 + dev: false + + /vfile-location@5.0.2: + resolution: {integrity: sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==} + dependencies: + '@types/unist': 3.0.2 + vfile: 6.0.1 + dev: false + + /vfile-message@3.1.4: + resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==} + dependencies: + '@types/unist': 2.0.10 + unist-util-stringify-position: 3.0.3 + dev: false + + /vfile-message@4.0.2: + resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + dependencies: + '@types/unist': 3.0.2 + unist-util-stringify-position: 4.0.0 + dev: false + + /vfile@5.3.7: + resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==} + dependencies: + '@types/unist': 2.0.10 + is-buffer: 2.0.5 + unist-util-stringify-position: 3.0.3 + vfile-message: 3.1.4 + dev: false + + /vfile@6.0.1: + resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==} + dependencies: + '@types/unist': 3.0.2 + unist-util-stringify-position: 4.0.0 + vfile-message: 4.0.2 + dev: false + + /vite@5.0.12: + resolution: {integrity: sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + esbuild: 0.19.12 + postcss: 8.4.33 + rollup: 4.9.6 + optionalDependencies: + fsevents: 2.3.3 + dev: false + + /vitefu@0.2.5(vite@5.0.12): + resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==} + peerDependencies: + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 + peerDependenciesMeta: + vite: + optional: true + dependencies: + vite: 5.0.12 + dev: false + + /volar-service-css@0.0.17(@volar/language-service@1.11.1): + resolution: {integrity: sha512-bEDJykygMzn2+a9ud6KwZZLli9eqarxApAXZuf2CqJJh6Trw1elmbBCo9SlPfqMrIhpFnwV0Sa+Xoc9x5WPeGw==} + peerDependencies: + '@volar/language-service': ~1.11.0 + peerDependenciesMeta: + '@volar/language-service': + optional: true + dependencies: + '@volar/language-service': 1.11.1 + vscode-css-languageservice: 6.2.12 + vscode-uri: 3.0.8 + dev: false + + /volar-service-emmet@0.0.17(@volar/language-service@1.11.1): + resolution: {integrity: sha512-C6hVnuQL52MqaydkrblYUbzIo5ZmIGo1hR8wmpcCjs5uNcjqn8aPqZRfznhLiUSaPHpFC+zQxJwFcZI9/u2iKQ==} + peerDependencies: + '@volar/language-service': ~1.11.0 + peerDependenciesMeta: + '@volar/language-service': + optional: true + dependencies: + '@volar/language-service': 1.11.1 + '@vscode/emmet-helper': 2.9.2 + volar-service-html: 0.0.17(@volar/language-service@1.11.1) + dev: false + + /volar-service-html@0.0.17(@volar/language-service@1.11.1): + resolution: {integrity: sha512-OGkP+ZTo13j/+enafGe+esXvda/W4eU78YNLbbHxtV3rnX4odVrewenLJmXiECg6wdQz/PG8rLijZqQnDUYkfw==} + peerDependencies: + '@volar/language-service': ~1.11.0 + peerDependenciesMeta: + '@volar/language-service': + optional: true + dependencies: + '@volar/language-service': 1.11.1 + vscode-html-languageservice: 5.1.2 + vscode-uri: 3.0.8 + dev: false + + /volar-service-prettier@0.0.17(@volar/language-service@1.11.1): + resolution: {integrity: sha512-YYnzZ+OT0M3Bx+xKuoAfs/uVuxk7ofz4dkZDQqjwa9iC63Ay4YGqONtmHd+xsO3lufkEBXlAQCbofDeZbSz3YQ==} + peerDependencies: + '@volar/language-service': ~1.11.0 + prettier: ^2.2 || ^3.0 + peerDependenciesMeta: + '@volar/language-service': + optional: true + prettier: + optional: true + dependencies: + '@volar/language-service': 1.11.1 + dev: false + + /volar-service-typescript-twoslash-queries@0.0.17(@volar/language-service@1.11.1): + resolution: {integrity: sha512-6FHXK5AWeFzCL6uGmEcbkZmQsaQ0m9IjbeLdgOIQ4KGvauqT2aA1BhdfDJu6vRAFIfXe7xjEJ85keIlHl72tSA==} + peerDependencies: + '@volar/language-service': ~1.11.0 + peerDependenciesMeta: + '@volar/language-service': + optional: true + dependencies: + '@volar/language-service': 1.11.1 + dev: false + + /volar-service-typescript@0.0.17(@volar/language-service@1.11.1)(@volar/typescript@1.11.1): + resolution: {integrity: sha512-Krs8pOIo2yoBVoJ91hKT1czhWt9ek7EbuK3MxxgvDYdd4HYHOtHi1eOlb7bFnZMNgFcwsL48yQI9vbPm160s9A==} + peerDependencies: + '@volar/language-service': ~1.11.0 + '@volar/typescript': ~1.11.0 + peerDependenciesMeta: + '@volar/language-service': + optional: true + dependencies: + '@volar/language-service': 1.11.1 + '@volar/typescript': 1.11.1 + path-browserify: 1.0.1 + semver: 7.5.4 + typescript-auto-import-cache: 0.3.2 + vscode-languageserver-textdocument: 1.0.11 + vscode-nls: 5.2.0 + vscode-uri: 3.0.8 + dev: false + + /vscode-css-languageservice@6.2.12: + resolution: {integrity: sha512-PS9r7HgNjqzRl3v91sXpCyZPc8UDotNo6gntFNtGCKPhGA9Frk7g/VjX1Mbv3F00pn56D+rxrFzR9ep4cawOgA==} + dependencies: + '@vscode/l10n': 0.0.18 + vscode-languageserver-textdocument: 1.0.11 + vscode-languageserver-types: 3.17.5 + vscode-uri: 3.0.8 + dev: false + + /vscode-html-languageservice@5.1.2: + resolution: {integrity: sha512-wkWfEx/IIR3s2P5yD4aTGHiOb8IAzFxgkSt1uSC3itJ4oDAm23yG7o0L29JljUdnXDDgLafPAvhv8A2I/8riHw==} + dependencies: + '@vscode/l10n': 0.0.18 + vscode-languageserver-textdocument: 1.0.11 + vscode-languageserver-types: 3.17.5 + vscode-uri: 3.0.8 + dev: false + + /vscode-jsonrpc@8.2.0: + resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==} + engines: {node: '>=14.0.0'} + dev: false + + /vscode-languageserver-protocol@3.17.5: + resolution: {integrity: sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==} + dependencies: + vscode-jsonrpc: 8.2.0 + vscode-languageserver-types: 3.17.5 + dev: false + + /vscode-languageserver-textdocument@1.0.11: + resolution: {integrity: sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==} + dev: false + + /vscode-languageserver-types@3.17.5: + resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==} + dev: false + + /vscode-languageserver@9.0.1: + resolution: {integrity: sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==} + hasBin: true + dependencies: + vscode-languageserver-protocol: 3.17.5 + dev: false + + /vscode-nls@5.2.0: + resolution: {integrity: sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==} + dev: false + + /vscode-uri@2.1.2: + resolution: {integrity: sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==} + dev: false + + /vscode-uri@3.0.8: + resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} + dev: false + + /web-namespaces@2.0.1: + resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} + dev: false + + /which-pm-runs@1.1.0: + resolution: {integrity: sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==} + engines: {node: '>=4'} + dev: false + + /which-pm@2.0.0: + resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==} + engines: {node: '>=8.15'} + dependencies: + load-yaml-file: 0.2.0 + path-exists: 4.0.0 + dev: false + + /which-pm@2.1.1: + resolution: {integrity: sha512-xzzxNw2wMaoCWXiGE8IJ9wuPMU+EYhFksjHxrRT8kMT5SnocBPRg69YAMtyV4D12fP582RA+k3P8H9J5EMdIxQ==} + engines: {node: '>=8.15'} + dependencies: + load-yaml-file: 0.2.0 + path-exists: 4.0.0 + dev: false + + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: false + + /widest-line@4.0.1: + resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} + engines: {node: '>=12'} + dependencies: + string-width: 5.1.2 + dev: false + + /wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: false + + /wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + dev: false + + /wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + dev: false + + /y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + dev: false + + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: false + + /yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: false + + /yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + dev: false + + /yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + dependencies: + cliui: 8.0.1 + escalade: 3.1.1 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + dev: false + + /yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: false + + /yocto-queue@1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + dev: false + + /zod@3.22.4: + resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} + dev: false + + /zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + dev: false diff --git a/public/logo.png b/public/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..0cb1c2f7550561d05640632885cca57e608669ff GIT binary patch literal 5029 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 L8l&Fbbcp>QBj>iE literal 0 HcmV?d00001 diff --git a/.gitbook/assets/colored_text.png b/src/assets/colored-text.png similarity index 100% rename from .gitbook/assets/colored_text.png rename to src/assets/colored-text.png diff --git a/.gitbook/assets/Screenshot 2021-02-12 at 05.27.21.png b/src/assets/command-error.png similarity index 100% rename from .gitbook/assets/Screenshot 2021-02-12 at 05.27.21.png rename to src/assets/command-error.png diff --git a/.gitbook/assets/Screenshot 2021-02-12 at 04.57.33.png b/src/assets/command-framework.png similarity index 100% rename from .gitbook/assets/Screenshot 2021-02-12 at 04.57.33.png rename to src/assets/command-framework.png diff --git a/.gitbook/assets/event-tree.gif b/src/assets/event-tree.gif similarity index 100% rename from .gitbook/assets/event-tree.gif rename to src/assets/event-tree.gif diff --git a/.gitbook/assets/notification.png b/src/assets/notification.png similarity index 100% rename from .gitbook/assets/notification.png rename to src/assets/notification.png diff --git a/.gitbook/assets/image (4).png b/src/assets/perlin-terrain.png similarity index 100% rename from .gitbook/assets/image (4).png rename to src/assets/perlin-terrain.png diff --git a/.gitbook/assets/rich_message_click.png b/src/assets/rich_message_click.png similarity index 100% rename from .gitbook/assets/rich_message_click.png rename to src/assets/rich_message_click.png diff --git a/.gitbook/assets/rich_message_hover.png b/src/assets/rich_message_hover.png similarity index 100% rename from .gitbook/assets/rich_message_hover.png rename to src/assets/rich_message_hover.png diff --git a/.gitbook/assets/image (3).png b/src/assets/snowman-intersecting-front.png similarity index 100% rename from .gitbook/assets/image (3).png rename to src/assets/snowman-intersecting-front.png diff --git a/.gitbook/assets/image.png b/src/assets/snowman-no-terrain.png similarity index 100% rename from .gitbook/assets/image.png rename to src/assets/snowman-no-terrain.png diff --git a/.gitbook/assets/image (1).png b/src/assets/snowman.png similarity index 100% rename from .gitbook/assets/image (1).png rename to src/assets/snowman.png diff --git a/src/content/config.ts b/src/content/config.ts new file mode 100644 index 0000000..9df91b6 --- /dev/null +++ b/src/content/config.ts @@ -0,0 +1,7 @@ +import { defineCollection } from 'astro:content'; +import { docsSchema, i18nSchema } from '@astrojs/starlight/schema'; + +export const collections = { + docs: defineCollection({ schema: docsSchema() }), + i18n: defineCollection({ type: 'data', schema: i18nSchema() }), +}; diff --git a/expansion/extensions.md b/src/content/docs/expansion/extensions.md similarity index 91% rename from expansion/extensions.md rename to src/content/docs/expansion/extensions.md index b750476..7e19c29 100644 --- a/expansion/extensions.md +++ b/src/content/docs/expansion/extensions.md @@ -1,15 +1,7 @@ -# Extensions - -Summary: - -* [Writing your own extension for Minestom](extensions.md#writing-your-own-extension-for-minestom) -* [How extensions are loaded](extensions.md#how-extensions-are-loaded) -* [Dependencies](extensions.md#dependencies) -* [Callback order](extensions.md#callback-order) -* [Extension Isolation](extensions.md#extension-isolation) -* [Testing in a dev environment](extensions.md#testing-in-a-dev-environment) - -## Writing your own extension for Minestom +--- +title: Extensions +description: Learn how to extend Minestom using Extensions +--- _To test in a dev environment, see last section._ diff --git a/expansion/scripting/README.md b/src/content/docs/expansion/scripting/index.md similarity index 97% rename from expansion/scripting/README.md rename to src/content/docs/expansion/scripting/index.md index 927d7e9..0729b34 100644 --- a/expansion/scripting/README.md +++ b/src/content/docs/expansion/scripting/index.md @@ -1,4 +1,7 @@ -# Scripting +--- +title: Scripting +description: Scripting is the alternative to Extensions +--- ## Project diff --git a/expansion/scripting/wip-java-interoperability.md b/src/content/docs/expansion/scripting/wip-java-interoperability.md similarity index 89% rename from expansion/scripting/wip-java-interoperability.md rename to src/content/docs/expansion/scripting/wip-java-interoperability.md index 154e985..60c7c60 100644 --- a/expansion/scripting/wip-java-interoperability.md +++ b/src/content/docs/expansion/scripting/wip-java-interoperability.md @@ -1,4 +1,7 @@ -# WIP Java Interoperability +--- +title: WIP Java Interoperability +description: Scripts can be run using Java. +--- All scripts features are available through the `ScriptManager` class diff --git a/feature/advancements.md b/src/content/docs/feature/advancements.md similarity index 98% rename from feature/advancements.md rename to src/content/docs/feature/advancements.md index 073ed20..10d84b8 100644 --- a/feature/advancements.md +++ b/src/content/docs/feature/advancements.md @@ -1,4 +1,6 @@ -# Advancements +--- +title: Advancements +--- The advancement API is based around `AdvancementTab`s which represent a tree of `Advancement`s for one or more players. Each player viewing a single `AdvancementTab` will see the same progress as all of the others. If per player `Advancement`s are needed, individual `AdvancementTab`s will need to be created. diff --git a/feature/adventure.md b/src/content/docs/feature/adventure.md similarity index 99% rename from feature/adventure.md rename to src/content/docs/feature/adventure.md index 3d6bbf2..6777596 100644 --- a/feature/adventure.md +++ b/src/content/docs/feature/adventure.md @@ -1,4 +1,6 @@ -# Adventure +--- +title: Adventure +--- Adventure is a library for server-controllable user interface elements in Minecraft. For a guide on how to use Adventure, check out the [Adventure documentation](https://docs.adventure.kyori.net/). diff --git a/feature/commands.md b/src/content/docs/feature/commands.md similarity index 96% rename from feature/commands.md rename to src/content/docs/feature/commands.md index 0c24b25..8e75906 100644 --- a/feature/commands.md +++ b/src/content/docs/feature/commands.md @@ -1,4 +1,6 @@ -# Commands +--- +title: Commands +--- Commands are the main communication between the server and the players. In contrary to current alternatives, Minestom takes full advantage of auto-completion/suggestion and has therefore a fairly strict API. @@ -72,7 +74,7 @@ public class TestCommand extends Command { } ``` -![The command in action](../.gitbook/assets/screenshot-2021-02-12-at-04.57.33.png) +![The command in action](../../../assets/command-framework.png) ## Argument callback @@ -114,7 +116,7 @@ public class TestCommand extends Command { } ``` -![Argument callback detecting an invalid number](../.gitbook/assets/screenshot-2021-02-12-at-05.27.21.png) +![Argument callback detecting an invalid number](../../../assets/command-error.png) ## Command data diff --git a/feature/entities/ai.md b/src/content/docs/feature/entities/ai.md similarity index 96% rename from feature/entities/ai.md rename to src/content/docs/feature/entities/ai.md index 3e40a97..f91be35 100644 --- a/feature/entities/ai.md +++ b/src/content/docs/feature/entities/ai.md @@ -1,4 +1,7 @@ -# AI +--- +title: AI +description: How moving entities work. +--- ## Overview diff --git a/feature/entities/README.md b/src/content/docs/feature/entities/index.md similarity index 98% rename from feature/entities/README.md rename to src/content/docs/feature/entities/index.md index 4134c39..3173069 100644 --- a/feature/entities/README.md +++ b/src/content/docs/feature/entities/index.md @@ -1,4 +1,7 @@ -# Entities +--- +title: Entities +description: Entities are a central part of Minecraft. +--- ## Overview diff --git a/feature/events/implementation.md b/src/content/docs/feature/events/implementation.md similarity index 98% rename from feature/events/implementation.md rename to src/content/docs/feature/events/implementation.md index e80ad21..724ab8a 100644 --- a/feature/events/implementation.md +++ b/src/content/docs/feature/events/implementation.md @@ -1,9 +1,8 @@ --- +title: Implementation description: Explains how event nodes works under the hood --- -# Implementation - Understanding what happens when an event is called or when a new node is added can help you to make better decisions, especially when desiring great performance. ## Listener handle diff --git a/feature/events/README.md b/src/content/docs/feature/events/index.md similarity index 96% rename from feature/events/README.md rename to src/content/docs/feature/events/index.md index 69602a3..9175880 100644 --- a/feature/events/README.md +++ b/src/content/docs/feature/events/index.md @@ -1,4 +1,7 @@ -# Events +--- +title: Events +description: Learn how to access events in minestom +--- ## Overview @@ -10,7 +13,7 @@ Event listening is a fairly hard part to keep easy while having a clear understa * Name for identification * Priority -![Event tree with all nodes being executed](../../.gitbook/assets/event-tree.gif) +![Event tree with all nodes being executed](../../../../assets/event-tree.gif) The tree structure provides us many advantages: diff --git a/feature/events/server-list-ping.md b/src/content/docs/feature/events/server-list-ping.md similarity index 99% rename from feature/events/server-list-ping.md rename to src/content/docs/feature/events/server-list-ping.md index b731032..2974d9c 100644 --- a/feature/events/server-list-ping.md +++ b/src/content/docs/feature/events/server-list-ping.md @@ -1,9 +1,8 @@ --- +title: Server list ping description: Responding to all types of server list ping in one place. --- -# Server list ping - Minestom provides the ability to customise responses to five different server list ping types all in one place. Put simply, to listen to every type of server list ping event you just need to listen to the `ServerListPingEvent` and modify the `ResponseData` in the event. Regardless of the source of the ping, the response data will be formatted in the correct way for the corrosponding source. ## Ping types diff --git a/feature/inventories.md b/src/content/docs/feature/inventories.md similarity index 98% rename from feature/inventories.md rename to src/content/docs/feature/inventories.md index bc9ddfd..aa1c846 100644 --- a/feature/inventories.md +++ b/src/content/docs/feature/inventories.md @@ -1,4 +1,6 @@ -# Inventories +--- +title: Inventories +--- Inventories take a large place in Minecraft, they are used both for items storage and client<->server communication. diff --git a/feature/items.md b/src/content/docs/feature/items.md similarity index 98% rename from feature/items.md rename to src/content/docs/feature/items.md index 22209da..2911165 100644 --- a/feature/items.md +++ b/src/content/docs/feature/items.md @@ -1,4 +1,6 @@ -# Items +--- +title: Items +--- ## Overview diff --git a/feature/map-rendering/glfwmaprendering.md b/src/content/docs/feature/map-rendering/glfwmaprendering.md similarity index 99% rename from feature/map-rendering/glfwmaprendering.md rename to src/content/docs/feature/map-rendering/glfwmaprendering.md index ff36fa5..781c15c 100644 --- a/feature/map-rendering/glfwmaprendering.md +++ b/src/content/docs/feature/map-rendering/glfwmaprendering.md @@ -1,4 +1,6 @@ -# GLFWMapRendering +--- +title: GLFWMapRendering +--- _**This article requires being comfortable with**_ [_**Map Rendering**_](./) diff --git a/feature/map-rendering/README.md b/src/content/docs/feature/map-rendering/index.md similarity index 99% rename from feature/map-rendering/README.md rename to src/content/docs/feature/map-rendering/index.md index 19a99c7..6f058af 100644 --- a/feature/map-rendering/README.md +++ b/src/content/docs/feature/map-rendering/index.md @@ -1,4 +1,6 @@ -# Map rendering +--- +title: Map rendering +--- ## Introduction diff --git a/feature/open-to-lan.md b/src/content/docs/feature/open-to-lan.md similarity index 98% rename from feature/open-to-lan.md rename to src/content/docs/feature/open-to-lan.md index 2f21079..b49a05c 100644 --- a/feature/open-to-lan.md +++ b/src/content/docs/feature/open-to-lan.md @@ -1,9 +1,8 @@ --- +title: Open to LAN description: Allowing the server to show up in the LAN section of the server list. --- -# Open to LAN - By sending a series of packets to a multicast address, Minestom provides the ability to mimic being a single player world that is opened to LAN. This will make it show up in the server list of all open Minecraft instances running in your local network below the "_Scanning for games on your local network_" section. This does **not** actually open the server to anywhere other than your local network and it **not** a replacement for port forwarding or a proper network setup. It is mainly designed as a fun feature that can be useful during testing if you're spinning up a dynamic amount of servers and don't want to manually connect to each one of them. diff --git a/feature/permissions.md b/src/content/docs/feature/permissions.md similarity index 99% rename from feature/permissions.md rename to src/content/docs/feature/permissions.md index 1bae87f..a8d2a0e 100644 --- a/feature/permissions.md +++ b/src/content/docs/feature/permissions.md @@ -1,4 +1,6 @@ -# Permissions +--- +title: Permissions +--- Permissions are the feature allowing you to determine if a player is able to perform an action or not. diff --git a/feature/player-capabilities.md b/src/content/docs/feature/player-capabilities.md similarity index 97% rename from feature/player-capabilities.md rename to src/content/docs/feature/player-capabilities.md index 916b0b2..8b2deb1 100644 --- a/feature/player-capabilities.md +++ b/src/content/docs/feature/player-capabilities.md @@ -1,4 +1,6 @@ -# Player capabilities +--- +title: Player capabilities +--- Minestom features a number of interaction methods for players. Many of them are described below, however this list is not exhaustive. @@ -78,4 +80,4 @@ NotificationCenter.send(Notification, Collection); The example renders as the following: -![](../.gitbook/assets/notification.png) +![](../../../assets/notification.png) diff --git a/feature/player-skin.md b/src/content/docs/feature/player-skin.md similarity index 98% rename from feature/player-skin.md rename to src/content/docs/feature/player-skin.md index 1e99491..7ce83ae 100644 --- a/feature/player-skin.md +++ b/src/content/docs/feature/player-skin.md @@ -1,4 +1,6 @@ -# Player skin +--- +title: Player skin +--- There are three ways of defining a player skin: diff --git a/feature/player-uuid.md b/src/content/docs/feature/player-uuid.md similarity index 97% rename from feature/player-uuid.md rename to src/content/docs/feature/player-uuid.md index c8a57b5..b200c91 100644 --- a/feature/player-uuid.md +++ b/src/content/docs/feature/player-uuid.md @@ -1,4 +1,6 @@ -# Player UUID +--- +title: Player UUID +--- As UUID implies, it has to be a unique identifier. By default, this identifier is generated randomly at the connection so unique but not persistent. diff --git a/feature/query.md b/src/content/docs/feature/query.md similarity index 99% rename from feature/query.md rename to src/content/docs/feature/query.md index 8938a25..2653488 100644 --- a/feature/query.md +++ b/src/content/docs/feature/query.md @@ -1,9 +1,8 @@ --- +title: Query System description: Minestom's implementation of the GameSpy4 protocol. --- -# Query system - ## Overview Just like Vanilla servers, Minestom supports the GameSpy4 protocol server listener. This can be used to obtain information from the server using query software like [https://mcsrvstat.us/](https://mcsrvstat.us/) or Dinnerbone's [mcstatus](https://github.com/Dinnerbone/mcstatus) program. diff --git a/feature/schedulers.md b/src/content/docs/feature/schedulers.md similarity index 97% rename from feature/schedulers.md rename to src/content/docs/feature/schedulers.md index 44839f9..eb0630e 100644 --- a/feature/schedulers.md +++ b/src/content/docs/feature/schedulers.md @@ -1,4 +1,6 @@ -# Schedulers +--- +title: Schedulers +--- A `Scheduler` is an object able to schedule tasks based on a condition (time, tick rate, future, etc...) with a precision linked to its ticking rate. It is therefore important to remember that Minestom scheduling API does not aim to replace JDK's executor services which should still be used if you do not need our scheduling guarantee (execution in the caller thread, execution based on tick, less overhead). diff --git a/feature/tags.md b/src/content/docs/feature/tags.md similarity index 98% rename from feature/tags.md rename to src/content/docs/feature/tags.md index c399de7..5c36cfd 100644 --- a/feature/tags.md +++ b/src/content/docs/feature/tags.md @@ -1,4 +1,6 @@ -# Tags +--- +title: Tags +--- ## Overview diff --git a/src/content/docs/index.md b/src/content/docs/index.md new file mode 100644 index 0000000..b03fd5f --- /dev/null +++ b/src/content/docs/index.md @@ -0,0 +1,14 @@ +--- +title: Presentation +description: Get a short introudction into the minestom ecosystem. +--- + +The goal of this wiki is to familiarize you with our library. The most important concepts are described here, +however many are not. You can contact one of the Minestom contributors if you wish to help develop +the library or have any questions. + +The project Javadoc is currently hosted [here](https://minestom.github.io/Minestom/). Additionally, +we do have a [Discord server](https://discord.gg/pkFRvqB) where you can ask anything you want. + +If you do not know how you landed here, Minestom is a complete rewrite of the Minecraft server software +without any Mojang code. You can learn more about it [here](https://github.com/Minestom/Minestom). diff --git a/setup/dependencies.md b/src/content/docs/setup/dependencies.md similarity index 99% rename from setup/dependencies.md rename to src/content/docs/setup/dependencies.md index 2860d50..663b934 100644 --- a/setup/dependencies.md +++ b/src/content/docs/setup/dependencies.md @@ -1,9 +1,8 @@ --- +title: Dependencies description: Describes how to add Minestom as a dependency in your project. --- -# Dependencies - {% hint style="info" %} Minestom needs Java 17 or newer in order to run. If you are using Gradle, you must use version 7.2 or higher. {% endhint %} diff --git a/setup/your-first-server.md b/src/content/docs/setup/your-first-server.md similarity index 99% rename from setup/your-first-server.md rename to src/content/docs/setup/your-first-server.md index d672c9e..3b3c303 100644 --- a/setup/your-first-server.md +++ b/src/content/docs/setup/your-first-server.md @@ -1,9 +1,8 @@ --- +title: Your first server description: Includes everything you need to have your first server running. --- -# Your first server - Some things are needed before being able to connect to your Minestom server. * Initialize the server diff --git a/thread-architecture/acquirable-api/README.md b/src/content/docs/thread-architecture/acquirable-api/index.md similarity index 99% rename from thread-architecture/acquirable-api/README.md rename to src/content/docs/thread-architecture/acquirable-api/index.md index 86b2932..aebd9a8 100644 --- a/thread-architecture/acquirable-api/README.md +++ b/src/content/docs/thread-architecture/acquirable-api/index.md @@ -1,4 +1,6 @@ -# Acquirable API +--- +title: Acquirable API +--- ### Presentation diff --git a/thread-architecture/acquirable-api/inside-the-api.md b/src/content/docs/thread-architecture/acquirable-api/inside-the-api.md similarity index 99% rename from thread-architecture/acquirable-api/inside-the-api.md rename to src/content/docs/thread-architecture/acquirable-api/inside-the-api.md index 30ab37e..8edffc8 100644 --- a/thread-architecture/acquirable-api/inside-the-api.md +++ b/src/content/docs/thread-architecture/acquirable-api/inside-the-api.md @@ -1,11 +1,10 @@ --- +title: The inside description: >- Describes how ticks are executed internally and how objects can be acquired safely --- -# The inside - ## The inside I will begin by saying that you do not need to know anything written here to utilize the acquirable API. It can however teach you about our code structure and how it achieves thread-safety. Be sure to read all the previous pages in order to properly understand everything said here. diff --git a/thread-architecture/thread-safety.md b/src/content/docs/thread-architecture/thread-safety.md similarity index 99% rename from thread-architecture/thread-safety.md rename to src/content/docs/thread-architecture/thread-safety.md index 6e44c5c..810bc2d 100644 --- a/thread-architecture/thread-safety.md +++ b/src/content/docs/thread-architecture/thread-safety.md @@ -1,9 +1,8 @@ --- +title: Thread safety in the JVM description: Everything you need to know about thread-safe code and how to make it so --- -# Thread safety in the JVM - First of all, this page's goal is to only be an overview of how to achieve thread-safety. The reader will be provided with keywords for further documentation, but the document here should be enough to understand everything that follows. As for its usage in Minestom, you do not have to remember everything you will read here. But it will teach you good practice and allow you to understand the internals to make better decisions. diff --git a/world/anvilloader.md b/src/content/docs/world/anvilloader.md similarity index 97% rename from world/anvilloader.md rename to src/content/docs/world/anvilloader.md index 8cbd90c..924058a 100644 --- a/world/anvilloader.md +++ b/src/content/docs/world/anvilloader.md @@ -1,4 +1,5 @@ --- +title: Anvil Loader description: >- This page describes how to load a world folder using AnvilLoader --- diff --git a/world/batch.md b/src/content/docs/world/batch.md similarity index 99% rename from world/batch.md rename to src/content/docs/world/batch.md index 9fd01cb..bc20103 100644 --- a/world/batch.md +++ b/src/content/docs/world/batch.md @@ -1,4 +1,6 @@ -# Batch +--- +title: Batch +--- When manipulating a lot of blocks, it is wiser to make use of a Batch to update all of the chunks at once. There are 3 types of batches: `ChunkBatch`, `AbsoluteBlockBatch`, `RelativeBlockBatch`. diff --git a/world/blocks.md b/src/content/docs/world/blocks.md similarity index 99% rename from world/blocks.md rename to src/content/docs/world/blocks.md index d9615ad..bf34b3f 100644 --- a/world/blocks.md +++ b/src/content/docs/world/blocks.md @@ -1,4 +1,6 @@ -# Blocks +--- +title: Blocks +--- ## Overview diff --git a/world/chunk-management.md b/src/content/docs/world/chunk-management.md similarity index 98% rename from world/chunk-management.md rename to src/content/docs/world/chunk-management.md index ddc28ac..ca67367 100644 --- a/world/chunk-management.md +++ b/src/content/docs/world/chunk-management.md @@ -1,11 +1,10 @@ --- +title: Chunk management description: >- This page describes what you need to know about chunks management, more specifically for InstanceContainer --- -# Chunk management - ## Load/Save Steps When trying to load a chunk, the instance container does multiple checks in this order: diff --git a/world/coordinates.md b/src/content/docs/world/coordinates.md similarity index 98% rename from world/coordinates.md rename to src/content/docs/world/coordinates.md index 6df2043..d3ed156 100644 --- a/world/coordinates.md +++ b/src/content/docs/world/coordinates.md @@ -1,4 +1,6 @@ -# Coordinates +--- +title: Coordinates +--- ## Overview diff --git a/world/generation.md b/src/content/docs/world/generation.md similarity index 97% rename from world/generation.md rename to src/content/docs/world/generation.md index a956909..22415b4 100644 --- a/world/generation.md +++ b/src/content/docs/world/generation.md @@ -1,4 +1,6 @@ -# Generation +--- +title: Generation +--- ## Basics @@ -103,11 +105,11 @@ instance.setGenerator(unit -> { These examples will generate a flat snow world with chunky snowmen scattered throughout, cleanly applying the snowmen whenever it is possible to do so. -![](../.gitbook/assets/image.png) +![](../../../assets/snowman.png) Example with missing terrain for clarity: -![](<../.gitbook/assets/image (3).png>) +![](../../../assets/snowman-no-terrain.png) ## Heightmaps with JNoise @@ -139,4 +141,4 @@ instance.setGenerator(unit -> { Here's and example of what that looks like: -![](<../.gitbook/assets/image (4).png>) +![](<../../../assets/perlin-terrain.png>) diff --git a/world/instances.md b/src/content/docs/world/instances.md similarity index 98% rename from world/instances.md rename to src/content/docs/world/instances.md index 3817821..5e2307c 100644 --- a/world/instances.md +++ b/src/content/docs/world/instances.md @@ -1,4 +1,6 @@ -# Instances +--- +title: Instances +--- ## What is an instance diff --git a/src/content/index.css b/src/content/index.css new file mode 100644 index 0000000..12a25e5 --- /dev/null +++ b/src/content/index.css @@ -0,0 +1,29 @@ +/* Dark mode colors. */ +:root { + --sl-color-accent-low: #460914; + --sl-color-accent: #c5003e; + --sl-color-accent-high: #feb1b5; + --sl-color-white: #ffffff; + --sl-color-gray-1: #eceef0; + --sl-color-gray-2: #c0c2c5; + --sl-color-gray-3: #898b91; + --sl-color-gray-4: #56585d; + --sl-color-gray-5: #36383d; + --sl-color-gray-6: #25272b; + --sl-color-black: #17181a; +} +/* Light mode colors. */ +:root[data-theme='light'] { + --sl-color-accent-low: #ffc6c8; + --sl-color-accent: #c8003f; + --sl-color-accent-high: #63001b; + --sl-color-white: #17181a; + --sl-color-gray-1: #25272b; + --sl-color-gray-2: #36383d; + --sl-color-gray-3: #56585d; + --sl-color-gray-4: #898b91; + --sl-color-gray-5: #c0c2c5; + --sl-color-gray-6: #eceef0; + --sl-color-gray-7: #f6f6f7; + --sl-color-black: #ffffff; +} \ No newline at end of file diff --git a/src/env.d.ts b/src/env.d.ts new file mode 100644 index 0000000..acef35f --- /dev/null +++ b/src/env.d.ts @@ -0,0 +1,2 @@ +/// +/// diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..77da9dd --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "astro/tsconfigs/strict" +} \ No newline at end of file From 7aa559ac505d8d9095c84512977f02eb51dab924 Mon Sep 17 00:00:00 2001 From: Christian Bergschneider Date: Thu, 25 Jan 2024 10:37:19 +0100 Subject: [PATCH 2/9] port content to starlight format --- astro.config.mjs | 119 ++++++++++++++++-- package.json | 3 + pnpm-lock.yaml | 10 ++ public/{logo.png => favicon.png} | Bin src/content/config.ts | 5 +- src/content/docs/expansion/scripting/index.md | 4 +- src/content/docs/feature/open-to-lan.md | 2 +- src/content/docs/feature/player-skin.md | 6 +- src/content/docs/feature/player-uuid.md | 4 +- .../{dependencies.md => dependencies.mdx} | 46 +++---- ...-first-server.md => your-first-server.mdx} | 37 +++--- .../acquirable-api/index.md | 4 +- .../docs/thread-architecture/thread-safety.md | 4 +- src/content/docs/world/blocks.md | 4 +- src/content/docs/world/generation.md | 2 +- src/content/docs/world/instances.md | 2 +- 16 files changed, 187 insertions(+), 65 deletions(-) rename public/{logo.png => favicon.png} (100%) rename src/content/docs/setup/{dependencies.md => dependencies.mdx} (75%) rename src/content/docs/setup/{your-first-server.md => your-first-server.mdx} (93%) diff --git a/astro.config.mjs b/astro.config.mjs index 48c37b8..55e645b 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -1,5 +1,40 @@ import { defineConfig } from "astro/config"; import starlight from "@astrojs/starlight"; +import { readFileSync } from "fs"; +import { parse } from 'yaml' + +function document(path, props={}) { + let fullFilenameMDX = `./src/content/docs/${path}.mdx`; + let fullFilename = `./src/content/docs/${path}.md`; + + let possibleFiles = [fullFilenameMDX, fullFilename]; + + path = path.replace(/\/index$/, ""); + + for (let file of possibleFiles) { + try { + // Read & parse frontmatter + let content = readFileSync(file, "utf-8"); + let frontmatter = content.split("---")[1]; + let data = parse(frontmatter); + + let title = data.title; + return { + link: path, + label: title, + ...props + }; + } catch (e) { + // ignore + } + } + + return { + link: path, + label: path, + ...props + }; +} // https://astro.build/config export default defineConfig({ @@ -8,8 +43,9 @@ export default defineConfig({ starlight({ title: "Minestom Wiki", logo: { - src: "./public/logo.png", + src: "./public/favicon.png", }, + favicon: "/favicon.png", social: { github: "https://github.com/Minestom/Minestom", discord: "https://minestom.net/discord", @@ -25,24 +61,93 @@ export default defineConfig({ }, { label: "Setup", - autogenerate: { directory: "setup" }, + items: [ + document("setup/dependencies"), + document("setup/your-first-server"), + ] }, { label: "Thread Architecture", - autogenerate: { directory: "thread-architecture" }, + items: [ + { + label: "Aquirable API", + items: [ + document("thread-architecture/acquirable-api/index"), + document("thread-architecture/acquirable-api/inside-the-api"), + ], + collapsed: true, + }, + document("thread-architecture/thread-safety"), + ] }, { label: "World", - autogenerate: { directory: "world" }, + items: [ + document("world/anvilloader"), + document("world/batch"), + document("world/blocks"), + document("world/chunk-management"), + document("world/coordinates"), + document("world/generation"), + document("world/instances"), + ] }, { label: "Feature", - autogenerate: { directory: "feature" }, + items: [ + { + label: "Entities", + items: [ + document("feature/entities/index"), + document("feature/entities/ai"), + ], + collapsed: true, + }, + { + label: "Events", + items: [ + document("feature/events/index"), + document("feature/events/implementation"), + document("feature/events/server-list-ping"), + ], + collapsed: true, + }, + { + label: "Map Rendering", + items: [ + document("feature/map-rendering/index"), + document("feature/map-rendering/glfwmaprendering"), + ], + collapsed: true, + }, + document("feature/advancements"), + document("feature/adventure"), + document("feature/commands"), + document("feature/inventories"), + document("feature/items"), + document("feature/open-to-lan"), + document("feature/permissions"), + document("feature/player-skin"), + document("feature/player-uuid"), + document("feature/query"), + document("feature/schedulers"), + document("feature/tags"), + ] }, { label: "Expansion", - autogenerate: { directory: "expansion" }, - } + items: [ + { + label: "Scripting", + items: [ + document("expansion/scripting/index"), + document("expansion/scripting/wip-java-interoperability"), + ], + collapsed: true, + }, + document("expansion/extensions"), + ] + }, ], }), ], diff --git a/package.json b/package.json index 7760dd7..4e224ca 100644 --- a/package.json +++ b/package.json @@ -15,5 +15,8 @@ "astro": "^4.2.1", "sharp": "^0.32.5", "typescript": "^5.3.3" + }, + "devDependencies": { + "yaml": "^2.3.4" } } \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2d15f6b..dca1b1b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -21,6 +21,11 @@ dependencies: specifier: ^5.3.3 version: 5.3.3 +devDependencies: + yaml: + specifier: ^2.3.4 + version: 2.3.4 + packages: /@ampproject/remapping@2.2.1: @@ -4538,6 +4543,11 @@ packages: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: false + /yaml@2.3.4: + resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} + engines: {node: '>= 14'} + dev: true + /yargs-parser@21.1.1: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} diff --git a/public/logo.png b/public/favicon.png similarity index 100% rename from public/logo.png rename to public/favicon.png diff --git a/src/content/config.ts b/src/content/config.ts index 9df91b6..0b22c6b 100644 --- a/src/content/config.ts +++ b/src/content/config.ts @@ -1,7 +1,6 @@ import { defineCollection } from 'astro:content'; -import { docsSchema, i18nSchema } from '@astrojs/starlight/schema'; +import { docsSchema } from '@astrojs/starlight/schema'; export const collections = { - docs: defineCollection({ schema: docsSchema() }), - i18n: defineCollection({ type: 'data', schema: i18nSchema() }), + docs: defineCollection({ schema: docsSchema() }) }; diff --git a/src/content/docs/expansion/scripting/index.md b/src/content/docs/expansion/scripting/index.md index 0729b34..7943f1a 100644 --- a/src/content/docs/expansion/scripting/index.md +++ b/src/content/docs/expansion/scripting/index.md @@ -5,7 +5,7 @@ description: Scripting is the alternative to Extensions ## Project -Scripts are an alternative to [Extensions](../extensions.md), powerful and short but still with fewer features. +Scripts are an alternative to [Extensions](extensions), powerful and short but still with fewer features. The scripting engine is open-source available [here](https://github.com/ReWrite-Media/MineScript), built on top of [GraalVM Polyglot API](https://www.graalvm.org/reference-manual/embed-languages/), there are multiple supported languages, for now, Javascript & Python. @@ -79,4 +79,4 @@ In Java, loading scripts is as simple as calling a single method: ScriptManager.load(); ``` -`ScriptManager` contains everything you would need to interacts with scripts, learn more about it [here](wip-java-interoperability.md). +`ScriptManager` contains everything you would need to interacts with scripts, learn more about it [here](wip-java-interoperability). diff --git a/src/content/docs/feature/open-to-lan.md b/src/content/docs/feature/open-to-lan.md index b49a05c..1e2c5fe 100644 --- a/src/content/docs/feature/open-to-lan.md +++ b/src/content/docs/feature/open-to-lan.md @@ -15,4 +15,4 @@ To modify how often the event is called and the pings are sent, pass in a `OpenT ## Modifying the description -The description is set using the `ServerListPingEvent`. For more information on this, see the [server list ping](events/server-list-ping.md) page. +The description is set using the `ServerListPingEvent`. For more information on this, see the [server list ping](events/server-list-ping) page. diff --git a/src/content/docs/feature/player-skin.md b/src/content/docs/feature/player-skin.md index 7ce83ae..a539933 100644 --- a/src/content/docs/feature/player-skin.md +++ b/src/content/docs/feature/player-skin.md @@ -4,7 +4,7 @@ title: Player skin There are three ways of defining a player skin: -* Setting your player UUID (see [here](player-uuid.md)) to their Mojang UUID, clients by default retrieve the skin based on this value. This is done automatically by `MojangAuth.init()` +* Setting your player UUID (see [here](player-uuid)) to their Mojang UUID, clients by default retrieve the skin based on this value. This is done automatically by `MojangAuth.init()` * Changing it in the `PlayerSkinInitEvent` event * Using the method `Player#setSkin(PlayerSkin)` @@ -20,9 +20,9 @@ PlayerSkin skinFromUUID = PlayerSkin.fromUuid(MOJANG_UUID_AS_STRING); PlayerSkin skinFromUsername = PlayerSkin.fromUsername("Notch"); ``` -{% hint style="warning" %} +:::danger Those methods make direct requests to the Mojang API, it is recommended to cache the values. -{% endhint %} +::: ### Retrieve texture value & signature manually diff --git a/src/content/docs/feature/player-uuid.md b/src/content/docs/feature/player-uuid.md index b200c91..fb6e522 100644 --- a/src/content/docs/feature/player-uuid.md +++ b/src/content/docs/feature/player-uuid.md @@ -15,6 +15,6 @@ connectionManager.setUuidProvider((playerConnection, username) -> { }); ``` -{% hint style="info" %} +:::info The UUID provider is unnecessary and will not work if you have IP forwarding enabled (Velocity/Bungee) -{% endhint %} +::: diff --git a/src/content/docs/setup/dependencies.md b/src/content/docs/setup/dependencies.mdx similarity index 75% rename from src/content/docs/setup/dependencies.md rename to src/content/docs/setup/dependencies.mdx index 663b934..51c6ef6 100644 --- a/src/content/docs/setup/dependencies.md +++ b/src/content/docs/setup/dependencies.mdx @@ -2,17 +2,22 @@ title: Dependencies description: Describes how to add Minestom as a dependency in your project. --- +import { Tabs, TabItem } from '@astrojs/starlight/components'; -{% hint style="info" %} +:::note Minestom needs Java 17 or newer in order to run. If you are using Gradle, you must use version 7.2 or higher. -{% endhint %} +::: + +:::danger +This page needs to be updated once PR [#1937](https://github.com/Minestom/Minestom/pull/1937) has been merged since then, the artifact will be available on Maven Central. +::: Adding Minestom to your Java project is really simple, you only need to add a few repositories: ## Repositories -{% tabs %} -{% tab title="Gradle (Groovy)" %} + + ```groovy repositories { // ... @@ -20,9 +25,9 @@ repositories { maven { url 'https://jitpack.io' } } ``` -{% endtab %} + -{% tab title="Gradle (Kotlin)" %} + ```groovy repositories { // ... @@ -30,10 +35,10 @@ repositories { maven(url = "https://jitpack.io") } ``` -{% endtab %} + -{% tab title="Maven" %} -```markup + +```xml @@ -42,32 +47,31 @@ repositories { ``` -{% endtab %} -{% endtabs %} + + ## Dependencies -{% tabs %} -{% tab title="Gradle (Groovy)" %} + + ```groovy dependencies { // ... implementation 'com.github.Minestom:Minestom:VERSION' } ``` -{% endtab %} - -{% tab title="Gradle (Kotlin)" %} + + ```groovy dependencies { //... implementation("com.github.Minestom:Minestom:VERSION") } ``` -{% endtab %} + -{% tab title="Maven" %} -```markup + +```xml @@ -85,7 +89,7 @@ dependencies { ``` When using Maven it is recommended to exclude the artifact `shrinkwrap-resolver-depchain` from the group `org.jboss.shrinkwrap.resolver` as otherwise resolving the dependencies will fail. Shrinkwrap can be added as a separate dependency if needed without issues to restore its functionality. -{% endtab %} -{% endtabs %} + + A list of versions can be found at [https://jitpack.io/#Minestom/Minestom](https://jitpack.io/#Minestom/Minestom). diff --git a/src/content/docs/setup/your-first-server.md b/src/content/docs/setup/your-first-server.mdx similarity index 93% rename from src/content/docs/setup/your-first-server.md rename to src/content/docs/setup/your-first-server.mdx index 3b3c303..ccebe65 100644 --- a/src/content/docs/setup/your-first-server.md +++ b/src/content/docs/setup/your-first-server.mdx @@ -2,6 +2,7 @@ title: Your first server description: Includes everything you need to have your first server running. --- +import { Tabs, TabItem } from '@astrojs/starlight/components'; Some things are needed before being able to connect to your Minestom server. @@ -88,28 +89,28 @@ You can find the full documentation for the Shadow plugin [here](https://imperce First, let's add the Shadow plugin to our project. -{% tabs %} -{% tab title="Gradle (Groovy)" %} + + ```groovy plugins { id "com.github.johnrengelman.shadow" version "8.1.1" } ``` -{% endtab %} + -{% tab title="Gradle (Kotlin)" %} + ```kts plugins { id("com.github.johnrengelman.shadow") version "8.1.1" } ``` -{% endtab %} -{% endtabs %} + + If the JAR is meant to be run, which it probably is, you also need to specify the class containing the main method like so, -{% tabs %} -{% tab title="Gradle (Groovy)" %} + + ```groovy jar { manifest { @@ -118,9 +119,9 @@ jar { } } ``` -{% endtab %} + -{% tab title="Gradle (Kotlin)" %} + ```kts tasks.withType { manifest { @@ -129,15 +130,15 @@ tasks.withType { } } ``` -{% endtab %} -{% endtabs %} + + With all of this done, all we need to do is run the `shadowJar` task to create a working uber (fat) jar! (The jar will be put in `/build/libs/` by default) Now, just to be sure that you understood everything, here is a complete `build.gradle`/`build.gradle.kts` file. -{% tabs %} -{% tab title="Gradle (Groovy)" %} + + ```groovy plugins { id 'java' @@ -164,9 +165,9 @@ jar { } } ``` -{% endtab %} + -{% tab title="Gradle (Kotlin)" %} + ```kts plugins { id("java") @@ -193,5 +194,5 @@ tasks.withType { } } ``` -{% endtab %} -{% endtabs %} + + diff --git a/src/content/docs/thread-architecture/acquirable-api/index.md b/src/content/docs/thread-architecture/acquirable-api/index.md index aebd9a8..b73ec7d 100644 --- a/src/content/docs/thread-architecture/acquirable-api/index.md +++ b/src/content/docs/thread-architecture/acquirable-api/index.md @@ -134,9 +134,9 @@ AcquirableCollection acquirablePlayers = getOnlinePlayers(); Stream players = acquirablePlayers.unwrap(); ``` -{% hint style="warning" %} +:::danger Those are not safe operations, be sure to read the [Thread safety](../thread-safety.md) page to understand the implications. -{% endhint %} +::: I would personally recommend commenting everywhere you use those unsafe methods to indicate why this operation does not compromise the application's safety. If you cannot find any reason, you likely shouldn't. diff --git a/src/content/docs/thread-architecture/thread-safety.md b/src/content/docs/thread-architecture/thread-safety.md index 810bc2d..edf216e 100644 --- a/src/content/docs/thread-architecture/thread-safety.md +++ b/src/content/docs/thread-architecture/thread-safety.md @@ -26,9 +26,9 @@ A lot of tools/features exist to make developing thread-safe and efficient code Fields need to have some sort of synchronization mechanism. The JVM comes with the `volatile` access flag which forces the field to be always on the main memory instead of in the cache (with some other details that I will not describe) so every thread reads the value from the exact same place. Depending on your application, a `ThreadLocal` object could be enough, you could think of it as a `Map` where Thread is always the current thread. The easiest way to make a field thread-safe is to make it immutable with the `final` keyword, if you cannot change a field, you do not risk multiple threads to change it at the same time. -{% hint style="warning" %} +:::danger Making a field thread-safe does not mean that the object itself is. But only that accessing the field will always return you the correct instance. -{% endhint %} +::: ### Methods diff --git a/src/content/docs/world/blocks.md b/src/content/docs/world/blocks.md index bf34b3f..0b56f99 100644 --- a/src/content/docs/world/blocks.md +++ b/src/content/docs/world/blocks.md @@ -59,9 +59,9 @@ NBTCompound nbt = tnt.nbt(); Tags data can be serialized and will be saved on disk automatically. -{% hint style="warning" %} +:::danger Tags `id`, `x`, `y`, `z `and `keepPacked`are used by the anvil loader and may cause unexpected behavior when added to blocks. -{% endhint %} +::: ## Handlers diff --git a/src/content/docs/world/generation.md b/src/content/docs/world/generation.md index 22415b4..824bd4a 100644 --- a/src/content/docs/world/generation.md +++ b/src/content/docs/world/generation.md @@ -43,7 +43,7 @@ Modification over the border of a `GenerationUnit` cannot be done without extra Forked units are designed to be placed into the instance whenever it is possible to do so. This eliminates any section bordering issues that may arise. -There are two fork methods, both useful in their own ways. Here is a simple example of adding a structure (snowman):\ +There are two fork methods, both useful in their own ways. Here is a simple example of adding a structure (snowman): ```java diff --git a/src/content/docs/world/instances.md b/src/content/docs/world/instances.md index 5e2307c..97208ad 100644 --- a/src/content/docs/world/instances.md +++ b/src/content/docs/world/instances.md @@ -26,7 +26,7 @@ You can create an `InstanceContainer` by calling: InstanceContainer instanceContainer = instanceManager.createInstanceContainer(); ``` -In order to have a valid world generation, you need to specify which `ChunkGenerator` the instance should use, without it no chunk can be generated. (check [here](https://github.com/Minestom/Minestom/wiki/world/generation) to make your own) +In order to have a valid world generation, you need to specify which `ChunkGenerator` the instance should use, without it no chunk can be generated. (check [here](generation) to make your own) ```java instance.setChunkGenerator(YOUR_GENERATOR); From 4567979730eaf88ffce5af4af09a09df9cf9ded7 Mon Sep 17 00:00:00 2001 From: Christian Bergschneider Date: Thu, 25 Jan 2024 10:41:52 +0100 Subject: [PATCH 3/9] add to pages --- .github/workflows/pages.yml | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 .github/workflows/pages.yml diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml new file mode 100644 index 0000000..1e5cc81 --- /dev/null +++ b/.github/workflows/pages.yml @@ -0,0 +1,31 @@ +name: Deploy to GitHub Pages + +on: + push: + branches: [ master ] + workflow_dispatch: + +permissions: + contents: read + pages: write + id-token: write + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout your repository using git + uses: actions/checkout@v3 + - name: Install, build, and upload your site + uses: withastro/action@v1 + + deploy: + needs: build + runs-on: ubuntu-latest + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v1 \ No newline at end of file From c79a8e03e63057ed9eb8f9aa9978a5e7c48ad507 Mon Sep 17 00:00:00 2001 From: Christian Bergschneider Date: Thu, 25 Jan 2024 10:44:00 +0100 Subject: [PATCH 4/9] force use of pnpm --- .github/workflows/pages.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml index 1e5cc81..b5f2379 100644 --- a/.github/workflows/pages.yml +++ b/.github/workflows/pages.yml @@ -18,6 +18,8 @@ jobs: uses: actions/checkout@v3 - name: Install, build, and upload your site uses: withastro/action@v1 + with: + package-manager: pnpm@latest deploy: needs: build From ca6c977d42934cf89b1a3c71409278b711270eb2 Mon Sep 17 00:00:00 2001 From: Christian Bergschneider Date: Thu, 25 Jan 2024 10:57:52 +0100 Subject: [PATCH 5/9] autoconfigure site and base --- .github/workflows/pages.yml | 58 ++++++++++++++++++++++++++++++------- astro.config.mjs | 1 - 2 files changed, 47 insertions(+), 12 deletions(-) diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml index b5f2379..1c7ea15 100644 --- a/.github/workflows/pages.yml +++ b/.github/workflows/pages.yml @@ -1,33 +1,69 @@ -name: Deploy to GitHub Pages + +name: Deploy Astro site to Pages on: push: - branches: [ master ] + branches: [ "master" ] + workflow_dispatch: - + permissions: contents: read pages: write id-token: write +concurrency: + group: "pages" + cancel-in-progress: false + +env: + BUILD_PATH: "." + jobs: build: + name: Build runs-on: ubuntu-latest steps: - - name: Checkout your repository using git - uses: actions/checkout@v3 - - name: Install, build, and upload your site - uses: withastro/action@v1 + - name: Checkout + uses: actions/checkout@v4 + - name: Set package manager + id: detect-package-manager + run: | + echo "manager=pnpm" >> $GITHUB_OUTPUT + echo "command=install" >> $GITHUB_OUTPUT + echo "runner=pnpm" >> $GITHUB_OUTPUT + exit 0 + - name: Setup Node + uses: actions/setup-node@v4 with: - package-manager: pnpm@latest + node-version: "20" + cache: ${{ steps.detect-package-manager.outputs.manager }} + cache-dependency-path: ${{ env.BUILD_PATH }}/pnpm-lock.yaml + - name: Setup Pages + id: pages + uses: actions/configure-pages@v4 + - name: Install dependencies + run: ${{ steps.detect-package-manager.outputs.manager }} ${{ steps.detect-package-manager.outputs.command }} + working-directory: ${{ env.BUILD_PATH }} + - name: Build with Astro + run: | + ${{ steps.detect-package-manager.outputs.runner }} astro build \ + --site "${{ steps.pages.outputs.origin }}" \ + --base "${{ steps.pages.outputs.base_path }}" + working-directory: ${{ env.BUILD_PATH }} + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + path: ${{ env.BUILD_PATH }}/dist deploy: - needs: build - runs-on: ubuntu-latest environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} + needs: build + runs-on: ubuntu-latest + name: Deploy steps: - name: Deploy to GitHub Pages id: deployment - uses: actions/deploy-pages@v1 \ No newline at end of file + uses: actions/deploy-pages@v4 \ No newline at end of file diff --git a/astro.config.mjs b/astro.config.mjs index 55e645b..bb88931 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -38,7 +38,6 @@ function document(path, props={}) { // https://astro.build/config export default defineConfig({ - site: "https://wiki.minestom.net", integrations: [ starlight({ title: "Minestom Wiki", From 8b6d5570bd7e22f89657d913e7ee18184c7fde15 Mon Sep 17 00:00:00 2001 From: Christian Bergschneider Date: Thu, 25 Jan 2024 10:59:55 +0100 Subject: [PATCH 6/9] fix pnpm not working --- .github/workflows/pages.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml index 1c7ea15..19141ff 100644 --- a/.github/workflows/pages.yml +++ b/.github/workflows/pages.yml @@ -37,8 +37,8 @@ jobs: uses: actions/setup-node@v4 with: node-version: "20" - cache: ${{ steps.detect-package-manager.outputs.manager }} - cache-dependency-path: ${{ env.BUILD_PATH }}/pnpm-lock.yaml + - name: Setup pnpm + uses: pnpm/action-setup@v2 - name: Setup Pages id: pages uses: actions/configure-pages@v4 From b3c1a142671ad5fdb6d577bc130ef57499c33928 Mon Sep 17 00:00:00 2001 From: Christian Bergschneider Date: Thu, 25 Jan 2024 11:00:32 +0100 Subject: [PATCH 7/9] absolute links --- .github/workflows/pages.yml | 2 ++ src/content/docs/expansion/extensions.md | 2 +- src/content/docs/expansion/scripting/index.md | 4 ++-- src/content/docs/feature/events/index.md | 2 +- src/content/docs/feature/events/server-list-ping.md | 2 +- src/content/docs/feature/inventories.md | 4 ++-- src/content/docs/feature/map-rendering/glfwmaprendering.md | 2 +- src/content/docs/feature/map-rendering/index.md | 2 +- src/content/docs/feature/open-to-lan.md | 2 +- src/content/docs/feature/player-capabilities.md | 4 ++-- src/content/docs/feature/player-skin.md | 2 +- src/content/docs/setup/your-first-server.mdx | 2 +- src/content/docs/thread-architecture/acquirable-api/index.md | 2 +- src/content/docs/world/instances.md | 2 +- 14 files changed, 18 insertions(+), 16 deletions(-) diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml index 19141ff..1bcfb4f 100644 --- a/.github/workflows/pages.yml +++ b/.github/workflows/pages.yml @@ -39,6 +39,8 @@ jobs: node-version: "20" - name: Setup pnpm uses: pnpm/action-setup@v2 + with: + version: "latest" - name: Setup Pages id: pages uses: actions/configure-pages@v4 diff --git a/src/content/docs/expansion/extensions.md b/src/content/docs/expansion/extensions.md index 7e19c29..c8fd2c4 100644 --- a/src/content/docs/expansion/extensions.md +++ b/src/content/docs/expansion/extensions.md @@ -69,7 +69,7 @@ Then, Minestom ensures all required dependencies for the extension are found. Fo #### 4. Instanciation and callbacks -The extension is then instanciated from the class provided inside `entrypoint`, and the `preInitialize`, `initialize` and `postInitialize` callbacks are called. (see [Callback order](extensions.md#callback-order) for more information) +The extension is then instanciated from the class provided inside `entrypoint`, and the `preInitialize`, `initialize` and `postInitialize` callbacks are called. (see [Callback order](#callback-order) for more information) ## Dependencies diff --git a/src/content/docs/expansion/scripting/index.md b/src/content/docs/expansion/scripting/index.md index 7943f1a..ed2d6e1 100644 --- a/src/content/docs/expansion/scripting/index.md +++ b/src/content/docs/expansion/scripting/index.md @@ -5,7 +5,7 @@ description: Scripting is the alternative to Extensions ## Project -Scripts are an alternative to [Extensions](extensions), powerful and short but still with fewer features. +Scripts are an alternative to [Extensions](/expansion/extensions), powerful and short but still with fewer features. The scripting engine is open-source available [here](https://github.com/ReWrite-Media/MineScript), built on top of [GraalVM Polyglot API](https://www.graalvm.org/reference-manual/embed-languages/), there are multiple supported languages, for now, Javascript & Python. @@ -79,4 +79,4 @@ In Java, loading scripts is as simple as calling a single method: ScriptManager.load(); ``` -`ScriptManager` contains everything you would need to interacts with scripts, learn more about it [here](wip-java-interoperability). +`ScriptManager` contains everything you would need to interacts with scripts, learn more about it [here](/expansion/scripting/wip-java-interoperability). diff --git a/src/content/docs/feature/events/index.md b/src/content/docs/feature/events/index.md index 9175880..ec190bd 100644 --- a/src/content/docs/feature/events/index.md +++ b/src/content/docs/feature/events/index.md @@ -131,4 +131,4 @@ Server/ ### Custom event -`Event` is an interface that you can freely implement, traits like `CancellableEvent` (to stop the execution after a certain point) and `EntityEvent` (telling the dispatcher that the event contains an entity actor) are also present to ensure your code will work with existing logic. You can then choose to run your custom event from an arbitrary node (see [example](./#event-execution)), or from the root with `EventDispatcher#call(Event)`. +`Event` is an interface that you can freely implement, traits like `CancellableEvent` (to stop the execution after a certain point) and `EntityEvent` (telling the dispatcher that the event contains an entity actor) are also present to ensure your code will work with existing logic. You can then choose to run your custom event from an arbitrary node (see [example](#event-execution)), or from the root with `EventDispatcher#call(Event)`. diff --git a/src/content/docs/feature/events/server-list-ping.md b/src/content/docs/feature/events/server-list-ping.md index 2974d9c..eeccc55 100644 --- a/src/content/docs/feature/events/server-list-ping.md +++ b/src/content/docs/feature/events/server-list-ping.md @@ -49,7 +49,7 @@ The description is formatted using legacy section sign color coding and is autom Covered by the `OPEN_TO_LAN` constant, this category represents server list pings that are sent _from_ the server when it is mimicking being a single player world that is opened to LAN. This type only supports the description. As with the legacy type, the description is formatted using legacy section sign color coding and is automatically converted to this format. -For more information on opening a server to LAN, see the [Open to LAN](../open-to-lan.md) page. +For more information on opening a server to LAN, see the [Open to LAN](/feature/open-to-lan.md) page. ## Ping diff --git a/src/content/docs/feature/inventories.md b/src/content/docs/feature/inventories.md index aa1c846..4472fa5 100644 --- a/src/content/docs/feature/inventories.md +++ b/src/content/docs/feature/inventories.md @@ -32,10 +32,10 @@ inventory.addInventoryCondition((player, slot, clickType, inventoryConditionResu }); ``` -### InventoryPreClickEvent (see [the events page](events/)) +### InventoryPreClickEvent (see [the events page](/feature/events)) Really similar to inventory conditions except that it listens to every inventory (you can obviously add checks when needed, but its goal is to be more "general") -### InventoryClickEvent (see [the events page](events/)) +### InventoryClickEvent (see [the events page](/feature/events)) This event only listens to successful actions (not canceled) and is fired after setting the items in the inventory. diff --git a/src/content/docs/feature/map-rendering/glfwmaprendering.md b/src/content/docs/feature/map-rendering/glfwmaprendering.md index 781c15c..e993df0 100644 --- a/src/content/docs/feature/map-rendering/glfwmaprendering.md +++ b/src/content/docs/feature/map-rendering/glfwmaprendering.md @@ -2,7 +2,7 @@ title: GLFWMapRendering --- -_**This article requires being comfortable with**_ [_**Map Rendering**_](./) +_**This article requires being comfortable with**_ [_**Map Rendering**_](/feature/map-rendering) _Access to GLFW capable framebuffers requires using LWJGL, and Minestom LWJGL-related code. For more information, see_ [_Minestom LWJGL Example_](https://github.com/Minestom/LWJGL-Example) diff --git a/src/content/docs/feature/map-rendering/index.md b/src/content/docs/feature/map-rendering/index.md index 6f058af..529cc12 100644 --- a/src/content/docs/feature/map-rendering/index.md +++ b/src/content/docs/feature/map-rendering/index.md @@ -89,4 +89,4 @@ Graphics2D framebuffers also support getting/setting pixels individually if nece ### GLFW-Capable buffers -[This is an article all to itself.](glfwmaprendering.md) +[This is an article all to itself.](/feature/map-rendering/glfwmaprendering) diff --git a/src/content/docs/feature/open-to-lan.md b/src/content/docs/feature/open-to-lan.md index 1e2c5fe..8021d8b 100644 --- a/src/content/docs/feature/open-to-lan.md +++ b/src/content/docs/feature/open-to-lan.md @@ -15,4 +15,4 @@ To modify how often the event is called and the pings are sent, pass in a `OpenT ## Modifying the description -The description is set using the `ServerListPingEvent`. For more information on this, see the [server list ping](events/server-list-ping) page. +The description is set using the `ServerListPingEvent`. For more information on this, see the [server list ping](/feature/events/server-list-ping) page. diff --git a/src/content/docs/feature/player-capabilities.md b/src/content/docs/feature/player-capabilities.md index 8b2deb1..1d3dd70 100644 --- a/src/content/docs/feature/player-capabilities.md +++ b/src/content/docs/feature/player-capabilities.md @@ -4,7 +4,7 @@ title: Player capabilities Minestom features a number of interaction methods for players. Many of them are described below, however this list is not exhaustive. -It is worth reviewing the [Adventure API](adventure.md) before this, because these systems depend heavily on `Component`. +It is worth reviewing the [Adventure API](/feature/adventure) before this, because these systems depend heavily on `Component`. ## Sidebars (Scoreboards) @@ -58,7 +58,7 @@ Sidebar#updateLineScore(String /* unique id */, Int /* new score */); `Notification`s are a system to send advancement completion toasts to a player as a form of communication. -They are a wrapper around `Advancement`, so you do not need to create any advancements to use them, just a `Notification`. See the [Advancements](advancements.md) page for more information on advancements. +They are a wrapper around `Advancement`, so you do not need to create any advancements to use them, just a `Notification`. See the [Advancements](/feature/advancements) page for more information on advancements. ```java Notification#(Component /* title */, FrameType, ItemStack /* icon */); diff --git a/src/content/docs/feature/player-skin.md b/src/content/docs/feature/player-skin.md index a539933..1dce8f8 100644 --- a/src/content/docs/feature/player-skin.md +++ b/src/content/docs/feature/player-skin.md @@ -4,7 +4,7 @@ title: Player skin There are three ways of defining a player skin: -* Setting your player UUID (see [here](player-uuid)) to their Mojang UUID, clients by default retrieve the skin based on this value. This is done automatically by `MojangAuth.init()` +* Setting your player UUID (see [here](/feature/player-uuid)) to their Mojang UUID, clients by default retrieve the skin based on this value. This is done automatically by `MojangAuth.init()` * Changing it in the `PlayerSkinInitEvent` event * Using the method `Player#setSkin(PlayerSkin)` diff --git a/src/content/docs/setup/your-first-server.mdx b/src/content/docs/setup/your-first-server.mdx index ccebe65..8936ee9 100644 --- a/src/content/docs/setup/your-first-server.mdx +++ b/src/content/docs/setup/your-first-server.mdx @@ -26,7 +26,7 @@ Here is a correct example: However even after those steps, you will not be able to connect, what we miss here is an instance (the world) -_Please check the_ [_instances_](../world/instances.md) _and_ [_events_](../feature/events/) _pages if you have any question about how to create/listen to one_ +_Please check the_ [_instances_](/world/instances) _and_ [_events_](/feature/events/) _pages if you have any question about how to create/listen to one_ ```java GlobalEventHandler globalEventHandler = MinecraftServer.getGlobalEventHandler(); diff --git a/src/content/docs/thread-architecture/acquirable-api/index.md b/src/content/docs/thread-architecture/acquirable-api/index.md index b73ec7d..4cc83af 100644 --- a/src/content/docs/thread-architecture/acquirable-api/index.md +++ b/src/content/docs/thread-architecture/acquirable-api/index.md @@ -135,7 +135,7 @@ Stream players = acquirablePlayers.unwrap(); ``` :::danger -Those are not safe operations, be sure to read the [Thread safety](../thread-safety.md) page to understand the implications. +Those are not safe operations, be sure to read the [Thread safety](/thread-architecture/thread-safety) page to understand the implications. ::: I would personally recommend commenting everywhere you use those unsafe methods to indicate why this operation does not compromise the application's safety. If you cannot find any reason, you likely shouldn't. diff --git a/src/content/docs/world/instances.md b/src/content/docs/world/instances.md index 97208ad..84893c1 100644 --- a/src/content/docs/world/instances.md +++ b/src/content/docs/world/instances.md @@ -26,7 +26,7 @@ You can create an `InstanceContainer` by calling: InstanceContainer instanceContainer = instanceManager.createInstanceContainer(); ``` -In order to have a valid world generation, you need to specify which `ChunkGenerator` the instance should use, without it no chunk can be generated. (check [here](generation) to make your own) +In order to have a valid world generation, you need to specify which `ChunkGenerator` the instance should use, without it no chunk can be generated. (check [here](/world/generation) to make your own) ```java instance.setChunkGenerator(YOUR_GENERATOR); From 09bb495ae8e155e3bffa8aa3bf4b45c27c5c109d Mon Sep 17 00:00:00 2001 From: Christian Bergschneider Date: Thu, 25 Jan 2024 14:33:26 +0100 Subject: [PATCH 8/9] add readme --- README.md | 60 ++++++++++++++++--------------------------------------- 1 file changed, 17 insertions(+), 43 deletions(-) diff --git a/README.md b/README.md index b51abaa..1696ac8 100644 --- a/README.md +++ b/README.md @@ -1,54 +1,28 @@ -# Starlight Starter Kit: Basics +# Minestom Documentation [![Built with Starlight](https://astro.badg.es/v2/built-with-starlight/tiny.svg)](https://starlight.astro.build) -``` -npm create astro@latest -- --template starlight -``` - -[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/withastro/starlight/tree/main/examples/basics) -[![Open with CodeSandbox](https://assets.codesandbox.io/github/button-edit-lime.svg)](https://codesandbox.io/p/sandbox/github/withastro/starlight/tree/main/examples/basics) -[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fwithastro%2Fstarlight%2Ftree%2Fmain%2Fexamples%2Fbasics&project-name=my-starlight-docs&repository-name=my-starlight-docs) +This is the documentation for [Minestom](https://github.com/Minestom/Minestom). -> πŸ§‘β€πŸš€ **Seasoned astronaut?** Delete this file. Have fun! +# Install -## πŸš€ Project Structure - -Inside of your Astro + Starlight project, you'll see the following folders and files: - -``` -. -β”œβ”€β”€ public/ -β”œβ”€β”€ src/ -β”‚ β”œβ”€β”€ assets/ -β”‚ β”œβ”€β”€ content/ -β”‚ β”‚ β”œβ”€β”€ docs/ -β”‚ β”‚ └── config.ts -β”‚ └── env.d.ts -β”œβ”€β”€ astro.config.mjs -β”œβ”€β”€ package.json -└── tsconfig.json +To install the documentation, you need to install Node and PNPM. Then, clone this repository and run the following command: +```bash +pnpm install ``` -Starlight looks for `.md` or `.mdx` files in the `src/content/docs/` directory. Each file is exposed as a route based on its file name. +# Usage -Images can be added to `src/assets/` and embedded in Markdown with a relative link. - -Static assets, like favicons, can be placed in the `public/` directory. - -## 🧞 Commands - -All commands are run from the root of the project, from a terminal: +To start a development server, run the following command: +```bash +pnpm dev +``` -| Command | Action | -| :------------------------ | :----------------------------------------------- | -| `npm install` | Installs dependencies | -| `npm run dev` | Starts local dev server at `localhost:4321` | -| `npm run build` | Build your production site to `./dist/` | -| `npm run preview` | Preview your build locally, before deploying | -| `npm run astro ...` | Run CLI commands like `astro add`, `astro check` | -| `npm run astro -- --help` | Get help using the Astro CLI | +To build the documentation, run the following command: +```bash +pnpm astro build +``` -## πŸ‘€ Want to learn more? +# Contributing -Check out [Starlight’s docs](https://starlight.astro.build/), read [the Astro documentation](https://docs.astro.build), or jump into the [Astro Discord server](https://astro.build/chat). +See the [contributing file](https://github.com/Minestom/Minestom/blob/master/.github/CONTRIBUTING.md)! \ No newline at end of file From d9d5ee570af13ded06a0aef8bacb584394dd2239 Mon Sep 17 00:00:00 2001 From: Christian Bergschneider Date: Fri, 26 Jan 2024 10:53:32 +0100 Subject: [PATCH 9/9] remove mobile toc and restyle nav button --- .gitignore | 3 +- astro.config.mjs | 4 + src/components/MobileMenuToggle.astro | 93 ++++++++++++++++++++++ src/components/MobileTableOfContents.astro | 2 + src/content/index.css | 2 + 5 files changed, 103 insertions(+), 1 deletion(-) create mode 100644 src/components/MobileMenuToggle.astro create mode 100644 src/components/MobileTableOfContents.astro diff --git a/.gitignore b/.gitignore index 3c96b42..eb1fbf5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ node_modules -.astro \ No newline at end of file +.astro +.obsidian \ No newline at end of file diff --git a/astro.config.mjs b/astro.config.mjs index bb88931..65c237a 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -148,6 +148,10 @@ export default defineConfig({ ] }, ], + components: { + MobileMenuToggle: "./src/components/MobileMenuToggle.astro", + MobileTableOfContents: "./src/components/MobileTableOfContents.astro", + } }), ], }); diff --git a/src/components/MobileMenuToggle.astro b/src/components/MobileMenuToggle.astro new file mode 100644 index 0000000..19683a7 --- /dev/null +++ b/src/components/MobileMenuToggle.astro @@ -0,0 +1,93 @@ +--- +import { Icon } from '@astrojs/starlight/components'; +import type { Props } from '@astrojs/starlight/props'; + +const { labels } = Astro.props; +--- + + + + + + + + + + \ No newline at end of file diff --git a/src/components/MobileTableOfContents.astro b/src/components/MobileTableOfContents.astro new file mode 100644 index 0000000..9f35280 --- /dev/null +++ b/src/components/MobileTableOfContents.astro @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/src/content/index.css b/src/content/index.css index 12a25e5..15bcf88 100644 --- a/src/content/index.css +++ b/src/content/index.css @@ -11,6 +11,8 @@ --sl-color-gray-5: #36383d; --sl-color-gray-6: #25272b; --sl-color-black: #17181a; + --sl-mobile-toc-height: 0em; + --sl-nav-pad-y: 0.5em; } /* Light mode colors. */ :root[data-theme='light'] {