summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBertrand Yuan <bert.yuan@outlook.com>2025-12-15 23:48:10 +0800
committerBertrand Yuan <bert.yuan@outlook.com>2025-12-15 23:48:10 +0800
commit5b7ccf0b671e2999b62befc729a3e517a0433728 (patch)
tree8bf476dc7c75914c221042546840dc76267366df
initial commit -- the front-end prototype
The initial code is base on Anirudh's work. More to see at: https://github.com/techwithanirudh/shadcn-blog Therefore, the code in this commit is under MIT license.
-rw-r--r--.env.example47
-rw-r--r--.github/workflows/biome-ci.yaml18
-rw-r--r--.gitignore53
-rw-r--r--LICENSE369
-rw-r--r--biome.jsonc46
-rw-r--r--components.json21
-rw-r--r--content/first-post.mdx18
-rw-r--r--content/markdown-examples.mdx100
-rw-r--r--content/pages.mdx237
-rw-r--r--content/using-mdx.mdx38
-rw-r--r--drizzle.config.ts12
-rw-r--r--emails/newsletter-welcome.tsx187
-rw-r--r--next-sitemap.config.cjs11
-rw-r--r--next.config.js25
-rw-r--r--package.json100
-rw-r--r--pnpm-lock.yaml8130
-rw-r--r--postcss.config.js5
-rw-r--r--public/images/blog/first-post.pngbin0 -> 8591533 bytes
-rw-r--r--public/images/blog/markdown-examples.pngbin0 -> 7144839 bytes
-rw-r--r--public/images/blog/pages.pngbin0 -> 4959303 bytes
-rw-r--r--public/images/blog/using-mdx.pngbin0 -> 3250293 bytes
-rw-r--r--public/images/gradient-noise-green-red.pngbin0 -> 91785 bytes
-rw-r--r--public/images/gradient-noise-purple-azure-light.pngbin0 -> 446480 bytes
-rw-r--r--public/images/placeholder.pngbin0 -> 8591533 bytes
-rw-r--r--scripts/lint.mts70
-rw-r--r--source.config.ts55
-rw-r--r--src/app/(auth)/login/page.tsx116
-rw-r--r--src/app/(home)/(mdx)/about/page.mdx24
-rw-r--r--src/app/(home)/_components/call-to-action.tsx23
-rw-r--r--src/app/(home)/_components/hero.tsx98
-rw-r--r--src/app/(home)/_components/posts.tsx40
-rw-r--r--src/app/(home)/actions.ts78
-rw-r--r--src/app/(home)/layout.tsx31
-rw-r--r--src/app/(home)/page.tsx29
-rw-r--r--src/app/(home)/posts/[slug]/page.client.tsx57
-rw-r--r--src/app/(home)/posts/[slug]/page.tsx145
-rw-r--r--src/app/(home)/posts/page.tsx133
-rw-r--r--src/app/(home)/tags/[...slug]/page.tsx180
-rw-r--r--src/app/(home)/tags/page.tsx57
-rw-r--r--src/app/api/auth/[...all]/route.ts4
-rw-r--r--src/app/api/comments/[...comment]/route.ts9
-rw-r--r--src/app/api/search/route.ts11
-rw-r--r--src/app/banner.png/fonts/geist-regular-otf.json3
-rw-r--r--src/app/banner.png/fonts/geist-semibold-otf.json3
-rw-r--r--src/app/banner.png/fonts/geistmono-regular-otf.json3
-rw-r--r--src/app/banner.png/og.tsx53
-rw-r--r--src/app/banner.png/route.tsx48
-rw-r--r--src/app/icon.pngbin0 -> 212793 bytes
-rw-r--r--src/app/layout.client.tsx26
-rw-r--r--src/app/layout.config.tsx44
-rw-r--r--src/app/layout.tsx52
-rw-r--r--src/app/not-found.tsx49
-rw-r--r--src/app/og/[...slug]/fonts/geist-regular-otf.json3
-rw-r--r--src/app/og/[...slug]/fonts/geist-semibold-otf.json3
-rw-r--r--src/app/og/[...slug]/fonts/geistmono-regular-otf.json3
-rw-r--r--src/app/og/[...slug]/og.tsx65
-rw-r--r--src/app/og/[...slug]/route.tsx58
-rw-r--r--src/app/provider.tsx38
-rw-r--r--src/app/rss.xml/route.ts66
-rw-r--r--src/components/active-link.tsx44
-rw-r--r--src/components/analytics.tsx20
-rw-r--r--src/components/auth/user-avatar.tsx56
-rw-r--r--src/components/auth/user-button.tsx127
-rw-r--r--src/components/blur-image.tsx43
-rw-r--r--src/components/docs.tsx64
-rw-r--r--src/components/icons/animated/check.tsx111
-rw-r--r--src/components/icons/animated/upload.tsx102
-rw-r--r--src/components/icons/icons.tsx131
-rw-r--r--src/components/inline-link.tsx28
-rw-r--r--src/components/json-ld.tsx114
-rw-r--r--src/components/mdx-layout.tsx51
-rw-r--r--src/components/newsletter-form.tsx96
-rw-r--r--src/components/numbered-pagination.tsx131
-rw-r--r--src/components/posts/post-card.tsx76
-rw-r--r--src/components/section.tsx44
-rw-r--r--src/components/sections/footer.tsx112
-rw-r--r--src/components/sections/header/index.tsx174
-rw-r--r--src/components/sections/header/menu.tsx120
-rw-r--r--src/components/sections/header/navbar.tsx55
-rw-r--r--src/components/separator.tsx10
-rw-r--r--src/components/tags/tag-card.tsx35
-rw-r--r--src/components/tailwind-indicator.tsx14
-rw-r--r--src/components/theme-provider.tsx11
-rw-r--r--src/components/theme-toggle.tsx126
-rw-r--r--src/components/ui/accordion.tsx66
-rw-r--r--src/components/ui/alert.tsx66
-rw-r--r--src/components/ui/avatar.tsx53
-rw-r--r--src/components/ui/button.tsx59
-rw-r--r--src/components/ui/card.tsx92
-rw-r--r--src/components/ui/dropdown-menu.tsx257
-rw-r--r--src/components/ui/form.tsx168
-rw-r--r--src/components/ui/input.tsx21
-rw-r--r--src/components/ui/label.tsx24
-rw-r--r--src/components/ui/pagination.tsx126
-rw-r--r--src/components/ui/skeleton.tsx13
-rw-r--r--src/components/ui/sonner.tsx25
-rw-r--r--src/env.js74
-rw-r--r--src/hooks/use-pagination.tsx61
-rw-r--r--src/lib/auth-client.ts24
-rw-r--r--src/lib/constants.ts5
-rw-r--r--src/lib/is-active.ts15
-rw-r--r--src/lib/metadata-image.ts7
-rw-r--r--src/lib/metadata.ts30
-rw-r--r--src/lib/resend.ts80
-rw-r--r--src/lib/safe-action.ts18
-rw-r--r--src/lib/source.ts40
-rw-r--r--src/lib/utils.ts6
-rw-r--r--src/lib/validators/index.ts1
-rw-r--r--src/lib/validators/newsletter.ts6
-rw-r--r--src/server/auth/index.ts39
-rw-r--r--src/server/comments/config.ts21
-rw-r--r--src/server/db/index.ts13
-rw-r--r--src/server/db/schema/auth.ts55
-rw-r--r--src/server/db/schema/comments.ts43
-rw-r--r--src/server/db/schema/index.ts2
-rw-r--r--src/styles/globals.css199
-rwxr-xr-xstart-database.sh83
-rw-r--r--tsconfig.json44
118 files changed, 14825 insertions, 0 deletions
diff --git a/.env.example b/.env.example
new file mode 100644
index 0000000..bd6faec
--- /dev/null
+++ b/.env.example
@@ -0,0 +1,47 @@
+# Since the ".env" file is gitignored, you can use the ".env.example" file to
+# build a new ".env" file when you clone the repo. Keep this file up-to-date
+# when you add new variables to `.env`.
+
+# This file will be committed to version control, so make sure not to have any
+# secrets in it. If you are cloning this repo, create a copy of this file named
+# ".env" and populate it with your secrets.
+
+# When adding additional environment variables, the schema in "/src/env.js"
+# should be updated accordingly.
+
+# Database URL
+# The database URL is used to connect to your database. It's used for commenting, and authentication.
+DATABASE_URL="postgresql://postgres:<YOUR_PASSWORD>@localhost:5432/blog"
+
+# Resend
+# Used for the newsletter subscription and sending emails.
+# @see https://resend.com
+RESEND_API_KEY="" # Resend API key
+RESEND_AUDIENCE_ID="" # Newsletter audience ID
+EMAIL_FROM="blog@example.com" # Email address to send emails from
+
+# Authentication
+# You can generate the secret via 'openssl rand -base64 32' on Unix
+# @see https://www.better-auth.com/docs/installation
+BETTER_AUTH_URL=""
+BETTER_AUTH_SECRET=""
+
+# Preconfigured Google OAuth provider, works out-of-the-box
+# @see https://www.better-auth.com/docs/authentication/google
+GOOGLE_CLIENT_ID=""
+GOOGLE_CLIENT_SECRET=""
+
+# Preconfigured Github OAuth provider, works out-of-the-box
+# @see https://www.better-auth.com/docs/authentication/github
+GITHUB_CLIENT_ID=""
+GITHUB_CLIENT_SECRET=""
+
+# Analytics
+# Using Umami
+# @see https://umami.is
+NEXT_PUBLIC_UMAMI_URL="" # URL of your Umami instance
+NEXT_PUBLIC_UMAMI_WEBSITE_ID="" # Website ID of your Umami instance
+
+# Production URL
+# Used for the newsletter and site metadata generation.
+VERCEL_PROJECT_PRODUCTION_URL=""
diff --git a/.github/workflows/biome-ci.yaml b/.github/workflows/biome-ci.yaml
new file mode 100644
index 0000000..563ae5b
--- /dev/null
+++ b/.github/workflows/biome-ci.yaml
@@ -0,0 +1,18 @@
+name: Biome CI
+
+on:
+ push:
+ pull_request:
+
+jobs:
+ quality:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ - name: Setup Biome
+ uses: biomejs/setup-biome@v2
+ with:
+ version: latest
+ - name: Run Biome
+ run: biome ci .
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..d2733b0
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,53 @@
+# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
+
+# dependencies
+/node_modules
+/.pnp
+.pnp.*
+.yarn/*
+!.yarn/patches
+!.yarn/plugins
+!.yarn/releases
+!.yarn/versions
+
+# pnpm
+.pnpm-store/
+.pnpm-debug.log*
+
+# testing
+/coverage
+
+# next.js
+/.next/
+/out/
+
+# production
+/build
+
+# misc
+.DS_Store
+*.pem
+
+# debug
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+
+# env files (can opt-in for committing if needed)
+.env*
+!.env.example
+
+# vercel
+.vercel
+
+# typescript
+*.tsbuildinfo
+next-env.d.ts
+
+# generated content
+.source
+next-env.d.ts
+
+# next-sitemap
+/public/robots.txt
+/public/sitemap*.xml
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..a476de5
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,369 @@
+THE FIRST COMMIT IS BASED ON MIT FROM Anirudh
+
+THE FOLLOWING COMMITS IS BASED ON GPLv2 ONLY
+
+==================================================================
+
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 1. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
+
+=============================================================================
+
+MIT License
+
+Copyright (c) 2025 Anirudh
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/biome.jsonc b/biome.jsonc
new file mode 100644
index 0000000..fe6b324
--- /dev/null
+++ b/biome.jsonc
@@ -0,0 +1,46 @@
+{
+ "$schema": "https://biomejs.dev/schemas/1.9.4/schema.json",
+ "organizeImports": {
+ "enabled": true
+ },
+ "vcs": {
+ "enabled": true,
+ "clientKind": "git",
+ "useIgnoreFile": true
+ },
+ "files": {
+ "ignore": ["node_modules", ".next", ".source"]
+ },
+ "formatter": {
+ "enabled": true,
+ "formatWithErrors": true,
+ "indentStyle": "space",
+ "indentWidth": 2
+ },
+ "javascript": {
+ "formatter": {
+ "enabled": true,
+ "quoteStyle": "single",
+ "jsxQuoteStyle": "single",
+ "semicolons": "always"
+ }
+ },
+ "linter": {
+ "enabled": true,
+ "rules": {
+ "nursery": {
+ "useSortedClasses": {
+ "level": "warn",
+ "fix": "safe",
+ "options": {
+ "functions": ["clsx", "cva", "cn"]
+ }
+ }
+ },
+ "correctness": {
+ "noUnusedImports": "error"
+ },
+ "recommended": true
+ }
+ }
+}
diff --git a/components.json b/components.json
new file mode 100644
index 0000000..7bb3e8c
--- /dev/null
+++ b/components.json
@@ -0,0 +1,21 @@
+{
+ "$schema": "https://ui.shadcn.com/schema.json",
+ "style": "new-york",
+ "rsc": true,
+ "tsx": true,
+ "tailwind": {
+ "config": "",
+ "css": "src/styles/globals.css",
+ "baseColor": "zinc",
+ "cssVariables": true,
+ "prefix": ""
+ },
+ "aliases": {
+ "components": "@/components",
+ "utils": "@/lib/utils",
+ "ui": "@/components/ui",
+ "lib": "@/lib",
+ "hooks": "@/hooks"
+ },
+ "iconLibrary": "lucide"
+}
diff --git a/content/first-post.mdx b/content/first-post.mdx
new file mode 100644
index 0000000..dbf5f2f
--- /dev/null
+++ b/content/first-post.mdx
@@ -0,0 +1,18 @@
+---
+title: 'First post'
+description: This first blog post marks the start of a new journey in sharing ideas, learnings, and experiences. It sets the tone for curiosity, creativity, and personal growth, laying the foundation for future explorations in tech and storytelling.
+date: 2025-03-20
+tags: ['nextjs', 'blogging', 'learning']
+image: /images/blog/first-post.png
+author: You
+---
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Vitae ultricies leo integer malesuada nunc vel risus commodo viverra. Adipiscing enim eu turpis egestas pretium. Euismod elementum nisi quis eleifend quam adipiscing. In hac habitasse platea dictumst vestibulum. Sagittis purus sit amet volutpat. Netus et malesuada fames ac turpis egestas. Eget magna fermentum iaculis eu non diam phasellus vestibulum lorem. Varius sit amet mattis vulputate enim. Habitasse platea dictumst quisque sagittis. Integer quis auctor elit sed vulputate mi. Dictumst quisque sagittis purus sit amet.
+
+Morbi tristique senectus et netus. Id semper risus in hendrerit gravida rutrum quisque non tellus. Habitasse platea dictumst quisque sagittis purus sit amet. Tellus molestie nunc non blandit massa. Cursus vitae congue mauris rhoncus. Accumsan tortor posuere ac ut. Fringilla urna porttitor rhoncus dolor. Elit ullamcorper dignissim cras tincidunt lobortis. In cursus turpis massa tincidunt dui ut ornare lectus. Integer feugiat scelerisque varius morbi enim nunc. Bibendum neque egestas congue quisque egestas diam. Cras ornare arcu dui vivamus arcu felis bibendum. Dignissim suspendisse in est ante in nibh mauris. Sed tempus urna et pharetra pharetra massa massa ultricies mi.
+
+Mollis nunc sed id semper risus in. Convallis a cras semper auctor neque. Diam sit amet nisl suscipit. Lacus viverra vitae congue eu consequat ac felis donec. Egestas integer eget aliquet nibh praesent tristique magna sit amet. Eget magna fermentum iaculis eu non diam. In vitae turpis massa sed elementum. Tristique et egestas quis ipsum suspendisse ultrices. Eget lorem dolor sed viverra ipsum. Vel turpis nunc eget lorem dolor sed viverra. Posuere ac ut consequat semper viverra nam. Laoreet suspendisse interdum consectetur libero id faucibus. Diam phasellus vestibulum lorem sed risus ultricies tristique. Rhoncus dolor purus non enim praesent elementum facilisis. Ultrices tincidunt arcu non sodales neque. Tempus egestas sed sed risus pretium quam vulputate. Viverra suspendisse potenti nullam ac tortor vitae purus faucibus ornare. Fringilla urna porttitor rhoncus dolor purus non. Amet dictum sit amet justo donec enim.
+
+Mattis ullamcorper velit sed ullamcorper morbi tincidunt. Tortor posuere ac ut consequat semper viverra. Tellus mauris a diam maecenas sed enim ut sem viverra. Venenatis urna cursus eget nunc scelerisque viverra mauris in. Arcu ac tortor dignissim convallis aenean et tortor at. Curabitur gravida arcu ac tortor dignissim convallis aenean et tortor. Egestas tellus rutrum tellus pellentesque eu. Fusce ut placerat orci nulla pellentesque dignissim enim sit amet. Ut enim blandit volutpat maecenas volutpat blandit aliquam etiam. Id donec ultrices tincidunt arcu. Id cursus metus aliquam eleifend mi.
+
+Tempus quam pellentesque nec nam aliquam sem. Risus at ultrices mi tempus imperdiet. Id porta nibh venenatis cras sed felis eget velit. Ipsum a arcu cursus vitae. Facilisis magna etiam tempor orci eu lobortis elementum. Tincidunt dui ut ornare lectus sit. Quisque non tellus orci ac. Blandit libero volutpat sed cras. Nec tincidunt praesent semper feugiat nibh sed pulvinar proin gravida. Egestas integer eget aliquet nibh praesent tristique magna. \ No newline at end of file
diff --git a/content/markdown-examples.mdx b/content/markdown-examples.mdx
new file mode 100644
index 0000000..d550721
--- /dev/null
+++ b/content/markdown-examples.mdx
@@ -0,0 +1,100 @@
+---
+title: Markdown Examples
+description: Learn to use Markdown for clean, structured formatting in blogs, docs, and notes. Explore examples, pro tips, and practical use cases to level up your writing and make your content easier to read, share, and maintain across platforms.
+date: 2025-03-22
+tags: ['guide', 'style', 'markdown']
+image: /images/blog/markdown-examples.png
+author: You
+---
+
+# Markdown Examples
+
+## h2 Heading
+
+### h3 Heading
+
+#### h4 Heading
+
+##### h5 Heading
+
+###### h6 Heading
+
+## Emphasis
+
+**This is bold text**
+
+_This is italic text_
+
+~~Strikethrough~~
+
+## Blockquotes
+
+> Develop. Preview. Ship. – Vercel
+
+## Lists
+
+Unordered
+
+- Lorem ipsum dolor sit amet
+- Consectetur adipiscing elit
+- Integer molestie lorem at massa
+
+Ordered
+
+1. Lorem ipsum dolor sit amet
+2. Consectetur adipiscing elit
+3. Integer molestie lorem at massa
+
+## Code
+
+Inline `code`
+
+```js
+export default function Nextra({ Component, pageProps }) {
+ return (
+ <>
+ <Head>
+ <link
+ rel="alternate"
+ type="application/rss+xml"
+ title="RSS"
+ href="/feed.xml"
+ />
+ <link
+ rel="preload"
+ href="/fonts/Inter-roman.latin.var.woff2"
+ as="font"
+ type="font/woff2"
+ crossOrigin="anonymous"
+ />
+ </Head>
+ <Component {...pageProps} />
+ </>
+ )
+}
+```
+
+## Tables
+
+| **Option** | **Description** |
+| ---------- | --------------------------------------------------------------------------------------------------------------------------- |
+| First | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. |
+| Second | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. |
+| Third | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. |
+
+## Links
+
+- [Next.js](https://nextjs.org)
+- [Fumadocs](https://fumadocs.vercel.app/)
+- [Vercel](http://vercel.com)
+
+### Footnotes
+
+- Footnote [^1].
+- Footnote [^2].
+
+[^1]: Footnote **can have markup**
+
+ and multiple paragraphs.
+
+[^2]: Footnote text.
diff --git a/content/pages.mdx b/content/pages.mdx
new file mode 100644
index 0000000..0e26bf8
--- /dev/null
+++ b/content/pages.mdx
@@ -0,0 +1,237 @@
+---
+title: Next.js Pages
+date: 2025-03-21
+description: Dive into the details of Next.js Pages with examples, dynamic routing, pre-rendering strategies like Static Generation and SSR, and pro tips for building fast, SEO-friendly web apps. Packed with insights and tricks from my latest project!
+tags: ['nextjs', 'web']
+image: /images/blog/pages.png
+author: You
+---
+
+In Next.js, a **page** is a [React Component](https://react.dev/reference/react/Component) exported from a `.js`, `.jsx`, `.ts`, or `.tsx` file in the `pages` directory. Each page is associated with a route based on its file name.
+
+**Example**: If you create `pages/about.js` that exports a React component like below, it will be accessible at `/about`.
+
+```javascript
+function About() {
+ return <div>About</div>
+}
+
+export default About
+```
+
+### Pages with Dynamic Routes
+
+Next.js supports pages with dynamic routes. For example, if you create a file called `pages/posts/[id].js`, then it will be accessible at `posts/1`, `posts/2`, etc.
+
+> To learn more about dynamic routing, check the [Dynamic Routing documentation](https://nextjs.org/docs/routing/dynamic-routes).
+
+## Pre-rendering
+
+By default, Next.js **pre-renders** every page. This means that Next.js generates HTML for each page in advance, instead of having it all done by client-side JavaScript. Pre-rendering can result in better performance and SEO.
+
+Each generated HTML is associated with minimal JavaScript code necessary for that page. When a page is loaded by the browser, its JavaScript code runs and makes the page fully interactive. (This process is called _hydration_.)
+
+### Two forms of Pre-rendering
+
+Next.js has two forms of pre-rendering: **Static Generation** and **Server-side Rendering**. The difference is in **when** it generates the HTML for a page.
+
+- [**Static Generation (Recommended)**](#static-generation-recommended): The HTML is generated at **build time** and will be reused on each request.
+- [**Server-side Rendering**](#server-side-rendering): The HTML is generated on **each request**.
+
+Importantly, Next.js lets you **choose** which pre-rendering form you'd like to use for each page. You can create a "hybrid" Next.js app by using Static Generation for most pages and using Server-side Rendering for others.
+
+We **recommend** using **Static Generation** over Server-side Rendering for performance reasons. Statically generated pages can be cached by CDN with no extra configuration to boost performance. However, in some cases, Server-side Rendering might be the only option.
+
+You can also use **Client-side Rendering** along with Static Generation or Server-side Rendering. That means some parts of a page can be rendered entirely by client side JavaScript. To learn more, take a look at the [Data Fetching](https://nextjs.org/docs/basic-features/data-fetching/client-side) documentation.
+
+## Static Generation (Recommended)
+
+If a page uses **Static Generation**, the page HTML is generated at **build time**. That means in production, the page HTML is generated when you run `next build` . This HTML will then be reused on each request. It can be cached by a CDN.
+
+In Next.js, you can statically generate pages **with or without data**. Let's take a look at each case.
+
+### Static Generation without data
+
+By default, Next.js pre-renders pages using Static Generation without fetching data. Here's an example:
+
+```javascript
+function About() {
+ return <div>About</div>
+}
+
+export default About
+```
+
+Note that this page does not need to fetch any external data to be pre-rendered. In cases like this, Next.js generates a single HTML file per page during build time.
+
+### Static Generation with data
+
+Some pages require fetching external data for pre-rendering. There are two scenarios, and one or both might apply. In each case, you can use a special function Next.js provides:
+
+1. Your page **content** depends on external data: Use `getStaticProps`.
+2. Your page **paths** depend on external data: Use `getStaticPaths` (usually in addition to `getStaticProps`).
+
+#### Scenario 1: Your page **content** depends on external data
+
+**Example**: Your blog page might need to fetch the list of blog posts from a CMS (content management system).
+
+```javascript
+// TODO: Need to fetch `posts` (by calling some API endpoint)
+// before this page can be pre-rendered.
+function Blog({ posts }) {
+ return (
+ <ul>
+ {posts.map((post) => (
+ <li>{post.title}</li>
+ ))}
+ </ul>
+ )
+}
+
+export default Blog
+```
+
+To fetch this data on pre-render, Next.js allows you to `export` an `async` function called `getStaticProps` from the same file. This function gets called at build time and lets you pass fetched data to the page's `props` on pre-render.
+
+```javascript
+function Blog({ posts }) {
+ // Render posts...
+}
+
+// This function gets called at build time
+export async function getStaticProps() {
+ // Call an external API endpoint to get posts
+ const res = await fetch('https://.../posts')
+ const posts = await res.json()
+
+ // By returning { props: { posts } }, the Blog component
+ // will receive `posts` as a prop at build time
+ return {
+ props: {
+ posts
+ }
+ }
+}
+
+export default Blog
+```
+
+To learn more about how `getStaticProps` works, check out the [Data Fetching documentation](https://nextjs.org/docs/basic-features/data-fetching/get-static-props).
+
+#### Scenario 2: Your page paths depend on external data
+
+Next.js allows you to create pages with **dynamic routes**. For example, you can create a file called `pages/posts/[id].js` to show a single blog post based on `id`. This will allow you to show a blog post with `id: 1` when you access `posts/1`.
+
+> To learn more about dynamic routing, check the [Dynamic Routing documentation](https://nextjs.org/docs/routing/dynamic-routes).
+
+However, which `id` you want to pre-render at build time might depend on external data.
+
+**Example**: suppose that you've only added one blog post (with `id: 1`) to the database. In this case, you'd only want to pre-render `posts/1` at build time.
+
+Later, you might add the second post with `id: 2`. Then you'd want to pre-render `posts/2` as well.
+
+So your page **paths** that are pre-rendered depend on external data**.** To handle this, Next.js lets you `export` an `async` function called `getStaticPaths` from a dynamic page (`pages/posts/[id].js` in this case). This function gets called at build time and lets you specify which paths you want to pre-render.
+
+```javascript
+// This function gets called at build time
+export async function getStaticPaths() {
+ // Call an external API endpoint to get posts
+ const res = await fetch('https://.../posts')
+ const posts = await res.json()
+
+ // Get the paths we want to pre-render based on posts
+ const paths = posts.map((post) => ({
+ params: { id: post.id }
+ }))
+
+ // We'll pre-render only these paths at build time.
+ // { fallback: false } means other routes should 404.
+ return { paths, fallback: false }
+}
+```
+
+Also in `pages/posts/[id].js`, you need to export `getStaticProps` so that you can fetch the data about the post with this `id` and use it to pre-render the page:
+
+```javascript
+function Post({ post }) {
+ // Render post...
+}
+
+export async function getStaticPaths() {
+ // ...
+}
+
+// This also gets called at build time
+export async function getStaticProps({ params }) {
+ // params contains the post `id`.
+ // If the route is like /posts/1, then params.id is 1
+ const res = await fetch(`https://.../posts/${params.id}`)
+ const post = await res.json()
+
+ // Pass post data to the page via props
+ return { props: { post } }
+}
+
+export default Post
+```
+
+To learn more about how `getStaticPaths` works, check out the [Data Fetching documentation](https://nextjs.org/docs/basic-features/data-fetching/get-static-paths).
+
+### When should I use Static Generation?
+
+We recommend using **Static Generation** (with and without data) whenever possible because your page can be built once and served by CDN, which makes it much faster than having a server render the page on every request.
+
+You can use Static Generation for many types of pages, including:
+
+- Marketing pages
+- Blog posts
+- E-commerce product listings
+- Help and documentation
+
+You should ask yourself: "Can I pre-render this page **ahead** of a user's request?" If the answer is yes, then you should choose Static Generation.
+
+On the other hand, Static Generation is **not** a good idea if you cannot pre-render a page ahead of a user's request. Maybe your page shows frequently updated data, and the page content changes on every request.
+
+In cases like this, you can do one of the following:
+
+- Use Static Generation with **Client-side Rendering:** You can skip pre-rendering some parts of a page and then use client-side JavaScript to populate them. To learn more about this approach, check out the [Data Fetching documentation](https://nextjs.org/docs/basic-features/data-fetching/client-side).
+- Use **Server-Side Rendering:** Next.js pre-renders a page on each request. It will be slower because the page cannot be cached by a CDN, but the pre-rendered page will always be up-to-date. We'll talk about this approach below.
+
+## Server-side Rendering
+
+> Also referred to as "SSR" or "Dynamic Rendering".
+
+If a page uses **Server-side Rendering**, the page HTML is generated on **each request**.
+
+To use Server-side Rendering for a page, you need to `export` an `async` function called `getServerSideProps`. This function will be called by the server on every request.
+
+For example, suppose that your page needs to pre-render frequently updated data (fetched from an external API). You can write `getServerSideProps` which fetches this data and passes it to `Page` like below:
+
+```javascript
+function Page({ data }) {
+ // Render data...
+}
+
+// This gets called on every request
+export async function getServerSideProps() {
+ // Fetch data from external API
+ const res = await fetch(`https://.../data`)
+ const data = await res.json()
+
+ // Pass data to the page via props
+ return { props: { data } }
+}
+
+export default Page
+```
+
+As you can see, `getServerSideProps` is similar to `getStaticProps`, but the difference is that `getServerSideProps` is run on every request instead of on build time.
+
+To learn more about how `getServerSideProps` works, check out our [Data Fetching documentation](https://nextjs.org/docs/basic-features/data-fetching/get-server-side-props)
+
+## Summary
+
+We've discussed two forms of pre-rendering for Next.js.
+
+- **Static Generation (Recommended):** The HTML is generated at **build time** and will be reused on each request. To make a page use Static Generation, either export the page component, or export `getStaticProps` (and `getStaticPaths` if necessary). It's great for pages that can be pre-rendered ahead of a user's request. You can also use it with Client-side Rendering to bring in additional data.
+- **Server-side Rendering:** The HTML is generated on **each request**. To make a page use Server-side Rendering, export `getServerSideProps`. Because Server-side Rendering results in slower performance than Static Generation, use this only if absolutely necessary. \ No newline at end of file
diff --git a/content/using-mdx.mdx b/content/using-mdx.mdx
new file mode 100644
index 0000000..b91d0af
--- /dev/null
+++ b/content/using-mdx.mdx
@@ -0,0 +1,38 @@
+---
+title: 'Using MDX'
+description: Learn MDX in Next.js to mix Markdown with React. This guide shows setup with @next/mdx, usage tips, and examples to embed JSX in posts—ideal for blogs, docs, and interactive tutorials.
+date: '2025-03-23'
+tags: ['nextjs', 'mdx', 'guide']
+image: /images/blog/using-mdx.png
+author: You
+---
+
+import { Button } from '@/components/ui/button'
+
+This Next.js app is configured with MDX support using the [`@next/mdx`](https://nextjs.org/docs/app/building-your-application/configuring/mdx) plugin. If you decide not to use MDX, you can remove the configuration from your `next.config.js`.
+
+## Why MDX?
+
+MDX is Markdown on steroids — it lets you embed JSX directly inside Markdown. This means you can [mix Markdown with React components](https://mdxjs.com/docs/what-is-mdx/) to build rich, interactive content.
+
+Perfect for blog posts, documentation, or tutorials that need some React magic ✨.
+
+## Example
+
+Here's how you can use a React component directly in MDX:
+
+<Button>Click Me!</Button>
+
+Yep, that button is fully interactive — thanks to MDX + React.
+
+## More Links
+
+- [MDX Syntax Documentation](https://mdxjs.com/docs/what-is-mdx/)
+- [Next.js MDX Setup Guide](https://nextjs.org/docs/app/building-your-application/configuring/mdx)
+- [Client Components in App Router](https://nextjs.org/docs/app/building-your-application/rendering/client-components)
+
+> **Note:** Components used in `.mdx` files should be **Client Components** if they use state, effects, or interactivity.
+
+---
+
+Let me know if you're using the Pages Router instead or want the full setup guide with `next.config.js` and loader info — happy to drop that in too.
diff --git a/drizzle.config.ts b/drizzle.config.ts
new file mode 100644
index 0000000..87b2ab1
--- /dev/null
+++ b/drizzle.config.ts
@@ -0,0 +1,12 @@
+import type { Config } from 'drizzle-kit';
+
+import { env } from '@/env';
+
+export default {
+ schema: './src/server/db/schema/index.ts',
+ dialect: 'postgresql',
+ dbCredentials: {
+ url: env.DATABASE_URL,
+ },
+ tablesFilter: ['blog_*'],
+} satisfies Config;
diff --git a/emails/newsletter-welcome.tsx b/emails/newsletter-welcome.tsx
new file mode 100644
index 0000000..10bdf3e
--- /dev/null
+++ b/emails/newsletter-welcome.tsx
@@ -0,0 +1,187 @@
+import { baseUrl } from '@/lib/constants';
+import {
+ Body,
+ Container,
+ Font,
+ Head,
+ Heading,
+ Hr,
+ Html,
+ Img,
+ Link,
+ Preview,
+ Section,
+ Tailwind,
+ Text,
+} from '@react-email/components';
+
+interface NewsletterWelcomeEmailProps {
+ firstName: string;
+ posts: {
+ title: string;
+ description?: string;
+ date: Date;
+ tags?: string[];
+ image?: string;
+ author: string;
+ url: string;
+ }[];
+}
+
+function PostCard({
+ title,
+ description,
+ date,
+ tags,
+ image,
+ author,
+ url,
+}: NewsletterWelcomeEmailProps['posts'][0]) {
+ return (
+ <Section className='my-[16px]'>
+ <Link href={url}>
+ <Img
+ alt='Post image'
+ className='w-full rounded-[12px] object-cover'
+ height='320'
+ src={image ?? `${baseUrl}/images/placeholder.png`}
+ />
+ </Link>
+ <Section className='mt-[24px]'>
+ <Link
+ href={url}
+ className='m-0 mt-[8px] font-semibold text-[32px] text-zinc-900 leading-[36px]'
+ >
+ {title}
+ </Link>
+ <Text className='text-[16px] text-zinc-500 leading-[24px]'>
+ {description ||
+ 'Click on the blog post to learn more about this topic.'}
+ </Text>
+ </Section>
+ </Section>
+ );
+}
+
+export default function NewsletterWelcomeEmail({
+ firstName,
+ posts,
+}: NewsletterWelcomeEmailProps) {
+ return (
+ <Html>
+ <Head>
+ <Font
+ fontFamily='Alex Brush'
+ fallbackFontFamily='Georgia'
+ webFont={{
+ url: 'https://fonts.gstatic.com/s/alexbrush/v22/SZc83FzrJKuqFbwMKk6EhUXz7RlNiCY.woff2',
+ format: 'woff2',
+ }}
+ fontWeight={400}
+ fontStyle='normal'
+ />
+ <Font
+ fontFamily='Bricolage Grotesque'
+ fallbackFontFamily='Helvetica'
+ webFont={{
+ url: 'https://fonts.gstatic.com/s/bricolagegrotesque/v8/3y9K6as8bTXq_nANBjzKo3IeZx8z6up5BeSl9D4dj_x9PpZBMlGIInHWVyNJ.woff2',
+ format: 'woff2',
+ }}
+ fontWeight={400}
+ fontStyle='normal'
+ />
+ </Head>
+ <Preview>
+ Thanks for joining my newsletter! This email is to welcome you.
+ </Preview>
+ <Tailwind>
+ <Body className='bg-white font-sans'>
+ <Container className='mx-auto w-full max-w-[600px] p-8'>
+ <Section>
+ <Text className='mx-0 mt-4 mb-8 p-0 text-center font-normal text-2xl'>
+ <span className='font-bold tracking-tighter'>Blog</span>
+ </Text>
+ <Heading className='my-4 font-medium text-4xl leading-tight'>
+ Welcome!
+ </Heading>
+ <Text className='text-lg leading-8'>Hey {firstName},</Text>
+ <Text className='text-lg leading-8'>
+ Thanks for subscribing to my newsletter! I&apos;m excited to
+ share my thoughts and ideas with you. You can expect an email
+ every few weeks, and I might occasionally share newsletter-only
+ content as well—so stay tuned!
+ </Text>
+ <Text className='text-lg leading-8'>
+ Here are a few popular posts from the past few months that you
+ might find interesting:
+ </Text>
+ </Section>
+
+ <Hr className='my-4' />
+
+ <Section className='my-[16px]'>
+ {posts.length > 0 ? (
+ posts.map((post) => <PostCard key={post.url} {...post} />)
+ ) : (
+ <Text className='text-[16px] text-zinc-500 leading-[24px]'>
+ Stay tuned for upcoming content!
+ </Text>
+ )}
+ </Section>
+
+ <Hr className='my-4' />
+
+ <Section>
+ <Text className='text-lg text-zinc-900 leading-8'>
+ Thank you for being a part of my community! I appreciate your
+ support and look forward to connecting with you.
+ </Text>
+ <Text
+ className='select-none text-4xl text-zinc-900 leading-8'
+ style={{ fontFamily: 'Alex Brush' }}
+ >
+ John Doe
+ </Text>
+ </Section>
+ </Container>
+ </Body>
+ </Tailwind>
+ </Html>
+ );
+}
+
+NewsletterWelcomeEmail.PreviewProps = {
+ firstName: 'Jane',
+ posts: [
+ {
+ title: 'Next.js Pages',
+ description:
+ 'Dive into the details of Next.js Pages with examples, dynamic routing, pre-rendering strategies like Static Generation and SSR, and pro tips for building fast, SEO-friendly web apps. Packed with insights and tricks from my latest project!',
+ date: new Date('2025-03-21'),
+ tags: ['Next.js', 'Pages', 'Routing'],
+ image: `${baseUrl}/images/blog/pages.png`,
+ author: 'You',
+ url: `${baseUrl}/posts/pages`,
+ },
+ {
+ title: 'Markdown Examples',
+ description:
+ 'Learn to use Markdown for clean, structured formatting in blogs, docs, and notes. Explore examples, pro tips, and practical use cases to level up your writing and make your content easier to read, share, and maintain across platforms.',
+ date: new Date('2025-03-22'),
+ tags: ['Markdown', 'Docs', 'Writing'],
+ image: `${baseUrl}/images/blog/markdown-examples.png`,
+ author: 'You',
+ url: `${baseUrl}/posts/markdown-examples`,
+ },
+ {
+ title: 'Using MDX',
+ description:
+ 'Learn MDX in Next.js to mix Markdown with React. This guide shows setup with @next/mdx, usage tips, and examples to embed JSX in posts—ideal for blogs, docs, and interactive tutorials.',
+ date: new Date('2025-03-23'),
+ tags: ['MDX', 'Next.js', 'React'],
+ image: `${baseUrl}/images/blog/using-mdx.png`,
+ author: 'You',
+ url: `${baseUrl}/posts/using-mdx`,
+ },
+ ],
+} satisfies NewsletterWelcomeEmailProps;
diff --git a/next-sitemap.config.cjs b/next-sitemap.config.cjs
new file mode 100644
index 0000000..af27464
--- /dev/null
+++ b/next-sitemap.config.cjs
@@ -0,0 +1,11 @@
+const siteUrl =
+ process.env.NODE_ENV === 'development' ||
+ !process.env.VERCEL_PROJECT_PRODUCTION_URL
+ ? new URL('https://localhost:3000')
+ : new URL(`https://${process.env.VERCEL_PROJECT_PRODUCTION_URL}`);
+
+/** @type {import('next-sitemap').IConfig} */
+module.exports = {
+ siteUrl,
+ generateRobotsTxt: true,
+};
diff --git a/next.config.js b/next.config.js
new file mode 100644
index 0000000..9b1c00f
--- /dev/null
+++ b/next.config.js
@@ -0,0 +1,25 @@
+/**
+ * Run `build` or `dev` with `SKIP_ENV_VALIDATION` to skip env validation. This is especially useful
+ * for Docker builds.
+ */
+import './src/env.js';
+
+import { createMDX } from 'fumadocs-mdx/next';
+
+const withMDX = createMDX();
+
+/** @type {import('next').NextConfig} */
+const config = {
+ reactStrictMode: true,
+ experimental: {
+ viewTransition: true,
+ },
+ serverExternalPackages: [
+ 'ts-morph',
+ 'typescript',
+ 'oxc-transform',
+ 'twoslash',
+ ],
+};
+
+export default withMDX(config);
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..04d146e
--- /dev/null
+++ b/package.json
@@ -0,0 +1,100 @@
+{
+ "name": "blog",
+ "version": "0.1.0",
+ "private": true,
+ "type": "module",
+ "scripts": {
+ "postinstall": "fumadocs-mdx",
+ "build": "next build",
+ "preview": "next build && next start",
+ "postbuild": "next-sitemap --config next-sitemap.config.cjs",
+ "dev": "next dev",
+ "start": "next start",
+ "format": "biome format --write .",
+ "lint": "tsx ./scripts/lint.mts && biome lint .",
+ "lint:write": "biome lint --write .",
+ "lint:unsafe": "biome lint --write --unsafe .",
+ "check": "biome check .",
+ "check:unsafe": "biome check --write --unsafe .",
+ "check:write": "biome check --write .",
+ "db:generate": "drizzle-kit generate",
+ "db:migrate": "drizzle-kit migrate",
+ "db:push": "drizzle-kit push",
+ "db:studio": "drizzle-kit studio",
+ "email:build": "email build",
+ "email:dev": "email dev -p 3001",
+ "email:export": "email export"
+ },
+ "dependencies": {
+ "@fuma-comment/react": "^1.2.1",
+ "@fuma-comment/server": "^1.2.1",
+ "@hookform/resolvers": "^4.1.3",
+ "@neondatabase/serverless": "^1.0.0",
+ "@radix-ui/react-accordion": "^1.2.3",
+ "@radix-ui/react-avatar": "^1.1.3",
+ "@radix-ui/react-dropdown-menu": "^2.1.6",
+ "@radix-ui/react-icons": "^1.3.2",
+ "@radix-ui/react-label": "^2.1.2",
+ "@radix-ui/react-slot": "^1.1.2",
+ "@radix-ui/react-tooltip": "^1.1.8",
+ "@react-email/components": "^0.0.34",
+ "@shikijs/transformers": "^3.2.1",
+ "@t3-oss/env-nextjs": "^0.12.0",
+ "better-auth": "^1.2.5",
+ "class-variance-authority": "^0.7.1",
+ "clsx": "^2.1.1",
+ "drizzle-orm": "^0.41.0",
+ "feed": "^4.2.2",
+ "fumadocs-core": "^15.2.0",
+ "fumadocs-docgen": "^2.0.0",
+ "fumadocs-mdx": "^11.5.7",
+ "fumadocs-twoslash": "^3.1.0",
+ "fumadocs-ui": "^15.2.0",
+ "katex": "0.16.21",
+ "lucide-react": "^0.477.0",
+ "motion": "^12.6.2",
+ "next": "^15.2.4",
+ "next-safe-action": "^7.10.4",
+ "next-sitemap": "4.2.3",
+ "next-themes": "0.4.4",
+ "react": "19.0.0",
+ "react-dom": "19.0.0",
+ "react-hook-form": "^7.55.0",
+ "react-wrap-balancer": "^1.1.1",
+ "rehype-katex": "7.0.1",
+ "remark": "^15.0.1",
+ "remark-math": "6.0.0",
+ "remark-mdx": "^3.1.0",
+ "resend": "^4.2.0",
+ "schema-dts": "^1.1.5",
+ "shiki": "^3.2.1",
+ "sonner": "^2.0.2",
+ "tailwind-merge": "^3.0.2",
+ "tailwind-scrollbar": "^4.0.2",
+ "tailwindcss-animate": "^1.0.7",
+ "usehooks-ts": "^3.1.1",
+ "zod": "^3.24.2"
+ },
+ "devDependencies": {
+ "@biomejs/biome": "1.9.4",
+ "@tailwindcss/postcss": "4.0.4",
+ "@types/mdx": "2.0.13",
+ "@types/node": "22.13.1",
+ "@types/react": "19.0.8",
+ "@types/react-dom": "19.0.3",
+ "@types/rss": "^0.0.32",
+ "drizzle-kit": "^0.30.6",
+ "fast-glob": "^3.3.3",
+ "gray-matter": "^4.0.3",
+ "next-validate-link": "^1.5.2",
+ "postcss": "8.5.1",
+ "react-email": "^4.0.2",
+ "tailwindcss": "4.0.4",
+ "tsx": "^4.19.3",
+ "typescript": "5.7.3"
+ },
+ "ct3aMetadata": {
+ "initVersion": "7.39.0"
+ },
+ "packageManager": "pnpm@10.7.0"
+}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
new file mode 100644
index 0000000..f5ad86a
--- /dev/null
+++ b/pnpm-lock.yaml
@@ -0,0 +1,8130 @@
+lockfileVersion: '9.0'
+
+settings:
+ autoInstallPeers: true
+ excludeLinksFromLockfile: false
+
+importers:
+
+ .:
+ dependencies:
+ '@fuma-comment/react':
+ specifier: ^1.2.1
+ version: 1.2.1(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/extension-code-block@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5))(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(highlight.js@11.11.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@fuma-comment/server':
+ specifier: ^1.2.1
+ version: 1.2.1(better-auth@1.2.5(typescript@5.7.3))(drizzle-orm@0.41.0(@neondatabase/serverless@1.0.0)(@types/pg@8.11.11)(gel@2.0.1)(kysely@0.27.6))(next@15.2.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0))
+ '@hookform/resolvers':
+ specifier: ^4.1.3
+ version: 4.1.3(react-hook-form@7.55.0(react@19.0.0))
+ '@neondatabase/serverless':
+ specifier: ^1.0.0
+ version: 1.0.0
+ '@radix-ui/react-accordion':
+ specifier: ^1.2.3
+ version: 1.2.3(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-avatar':
+ specifier: ^1.1.3
+ version: 1.1.3(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-dropdown-menu':
+ specifier: ^2.1.6
+ version: 2.1.6(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-icons':
+ specifier: ^1.3.2
+ version: 1.3.2(react@19.0.0)
+ '@radix-ui/react-label':
+ specifier: ^2.1.2
+ version: 2.1.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-slot':
+ specifier: ^1.1.2
+ version: 1.1.2(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-tooltip':
+ specifier: ^1.1.8
+ version: 1.1.8(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@react-email/components':
+ specifier: ^0.0.34
+ version: 0.0.34(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@shikijs/transformers':
+ specifier: ^3.2.1
+ version: 3.2.1
+ '@t3-oss/env-nextjs':
+ specifier: ^0.12.0
+ version: 0.12.0(typescript@5.7.3)(valibot@1.0.0-beta.15(typescript@5.7.3))(zod@3.24.2)
+ better-auth:
+ specifier: ^1.2.5
+ version: 1.2.5(typescript@5.7.3)
+ class-variance-authority:
+ specifier: ^0.7.1
+ version: 0.7.1
+ clsx:
+ specifier: ^2.1.1
+ version: 2.1.1
+ drizzle-orm:
+ specifier: ^0.41.0
+ version: 0.41.0(@neondatabase/serverless@1.0.0)(@types/pg@8.11.11)(gel@2.0.1)(kysely@0.27.6)
+ feed:
+ specifier: ^4.2.2
+ version: 4.2.2
+ fumadocs-core:
+ specifier: ^15.2.0
+ version: 15.2.0(@types/react@19.0.8)(next@15.2.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ fumadocs-docgen:
+ specifier: ^2.0.0
+ version: 2.0.0
+ fumadocs-mdx:
+ specifier: ^11.5.7
+ version: 11.5.7(acorn@8.14.1)(fumadocs-core@15.2.0(@types/react@19.0.8)(next@15.2.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(next@15.2.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0))
+ fumadocs-twoslash:
+ specifier: ^3.1.0
+ version: 3.1.0(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(fumadocs-ui@15.2.0(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(next@15.2.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(tailwindcss@4.0.4))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(shiki@3.2.1)(typescript@5.7.3)
+ fumadocs-ui:
+ specifier: ^15.2.0
+ version: 15.2.0(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(next@15.2.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(tailwindcss@4.0.4)
+ katex:
+ specifier: 0.16.21
+ version: 0.16.21
+ lucide-react:
+ specifier: ^0.477.0
+ version: 0.477.0(react@19.0.0)
+ motion:
+ specifier: ^12.6.2
+ version: 12.6.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ next:
+ specifier: ^15.2.4
+ version: 15.2.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ next-safe-action:
+ specifier: ^7.10.4
+ version: 7.10.4(next@15.2.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(valibot@1.0.0-beta.15(typescript@5.7.3))(zod@3.24.2)
+ next-sitemap:
+ specifier: 4.2.3
+ version: 4.2.3(next@15.2.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0))
+ next-themes:
+ specifier: 0.4.4
+ version: 0.4.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ react:
+ specifier: 19.0.0
+ version: 19.0.0
+ react-dom:
+ specifier: 19.0.0
+ version: 19.0.0(react@19.0.0)
+ react-hook-form:
+ specifier: ^7.55.0
+ version: 7.55.0(react@19.0.0)
+ react-wrap-balancer:
+ specifier: ^1.1.1
+ version: 1.1.1(react@19.0.0)
+ rehype-katex:
+ specifier: 7.0.1
+ version: 7.0.1
+ remark:
+ specifier: ^15.0.1
+ version: 15.0.1
+ remark-math:
+ specifier: 6.0.0
+ version: 6.0.0
+ remark-mdx:
+ specifier: ^3.1.0
+ version: 3.1.0
+ resend:
+ specifier: ^4.2.0
+ version: 4.2.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ schema-dts:
+ specifier: ^1.1.5
+ version: 1.1.5
+ shiki:
+ specifier: ^3.2.1
+ version: 3.2.1
+ sonner:
+ specifier: ^2.0.2
+ version: 2.0.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ tailwind-merge:
+ specifier: ^3.0.2
+ version: 3.0.2
+ tailwind-scrollbar:
+ specifier: ^4.0.2
+ version: 4.0.2(react@19.0.0)(tailwindcss@4.0.4)
+ tailwindcss-animate:
+ specifier: ^1.0.7
+ version: 1.0.7(tailwindcss@4.0.4)
+ usehooks-ts:
+ specifier: ^3.1.1
+ version: 3.1.1(react@19.0.0)
+ zod:
+ specifier: ^3.24.2
+ version: 3.24.2
+ devDependencies:
+ '@biomejs/biome':
+ specifier: 1.9.4
+ version: 1.9.4
+ '@tailwindcss/postcss':
+ specifier: 4.0.4
+ version: 4.0.4
+ '@types/mdx':
+ specifier: 2.0.13
+ version: 2.0.13
+ '@types/node':
+ specifier: 22.13.1
+ version: 22.13.1
+ '@types/react':
+ specifier: 19.0.8
+ version: 19.0.8
+ '@types/react-dom':
+ specifier: 19.0.3
+ version: 19.0.3(@types/react@19.0.8)
+ '@types/rss':
+ specifier: ^0.0.32
+ version: 0.0.32
+ drizzle-kit:
+ specifier: ^0.30.6
+ version: 0.30.6
+ fast-glob:
+ specifier: ^3.3.3
+ version: 3.3.3
+ gray-matter:
+ specifier: ^4.0.3
+ version: 4.0.3
+ next-validate-link:
+ specifier: ^1.5.2
+ version: 1.5.2
+ postcss:
+ specifier: 8.5.1
+ version: 8.5.1
+ react-email:
+ specifier: ^4.0.2
+ version: 4.0.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ tailwindcss:
+ specifier: 4.0.4
+ version: 4.0.4
+ tsx:
+ specifier: ^4.19.3
+ version: 4.19.3
+ typescript:
+ specifier: 5.7.3
+ version: 5.7.3
+
+packages:
+
+ '@alloc/quick-lru@5.2.0':
+ resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
+ engines: {node: '>=10'}
+
+ '@babel/code-frame@7.26.2':
+ resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/generator@7.27.0':
+ resolution: {integrity: sha512-VybsKvpiN1gU1sdMZIp7FcqphVVKEwcuj02x73uvcHE0PTihx1nlBcowYWhDwjpoAXRv43+gDzyggGnn1XZhVw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-string-parser@7.25.9':
+ resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-validator-identifier@7.25.9':
+ resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/parser@7.24.5':
+ resolution: {integrity: sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+
+ '@babel/parser@7.27.0':
+ resolution: {integrity: sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+
+ '@babel/template@7.27.0':
+ resolution: {integrity: sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/traverse@7.25.6':
+ resolution: {integrity: sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/types@7.27.0':
+ resolution: {integrity: sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==}
+ engines: {node: '>=6.9.0'}
+
+ '@better-auth/utils@0.2.4':
+ resolution: {integrity: sha512-ayiX87Xd5sCHEplAdeMgwkA0FgnXsEZBgDn890XHHwSWNqqRZDYOq3uj2Ei2leTv1I2KbG5HHn60Ah1i2JWZjQ==}
+
+ '@better-fetch/fetch@1.1.18':
+ resolution: {integrity: sha512-rEFOE1MYIsBmoMJtQbl32PGHHXuG2hDxvEd7rUHE0vCBoFQVSDqaVs9hkZEtHCxRoY+CljXKFCOuJ8uxqw1LcA==}
+
+ '@biomejs/biome@1.9.4':
+ resolution: {integrity: sha512-1rkd7G70+o9KkTn5KLmDYXihGoTaIGO9PIIN2ZB7UJxFrWw04CZHPYiMRjYsaDvVV7hP1dYNRLxSANLaBFGpog==}
+ engines: {node: '>=14.21.3'}
+ hasBin: true
+
+ '@biomejs/cli-darwin-arm64@1.9.4':
+ resolution: {integrity: sha512-bFBsPWrNvkdKrNCYeAp+xo2HecOGPAy9WyNyB/jKnnedgzl4W4Hb9ZMzYNbf8dMCGmUdSavlYHiR01QaYR58cw==}
+ engines: {node: '>=14.21.3'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@biomejs/cli-darwin-x64@1.9.4':
+ resolution: {integrity: sha512-ngYBh/+bEedqkSevPVhLP4QfVPCpb+4BBe2p7Xs32dBgs7rh9nY2AIYUL6BgLw1JVXV8GlpKmb/hNiuIxfPfZg==}
+ engines: {node: '>=14.21.3'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@biomejs/cli-linux-arm64-musl@1.9.4':
+ resolution: {integrity: sha512-v665Ct9WCRjGa8+kTr0CzApU0+XXtRgwmzIf1SeKSGAv+2scAlW6JR5PMFo6FzqqZ64Po79cKODKf3/AAmECqA==}
+ engines: {node: '>=14.21.3'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@biomejs/cli-linux-arm64@1.9.4':
+ resolution: {integrity: sha512-fJIW0+LYujdjUgJJuwesP4EjIBl/N/TcOX3IvIHJQNsAqvV2CHIogsmA94BPG6jZATS4Hi+xv4SkBBQSt1N4/g==}
+ engines: {node: '>=14.21.3'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@biomejs/cli-linux-x64-musl@1.9.4':
+ resolution: {integrity: sha512-gEhi/jSBhZ2m6wjV530Yy8+fNqG8PAinM3oV7CyO+6c3CEh16Eizm21uHVsyVBEB6RIM8JHIl6AGYCv6Q6Q9Tg==}
+ engines: {node: '>=14.21.3'}
+ cpu: [x64]
+ os: [linux]
+
+ '@biomejs/cli-linux-x64@1.9.4':
+ resolution: {integrity: sha512-lRCJv/Vi3Vlwmbd6K+oQ0KhLHMAysN8lXoCI7XeHlxaajk06u7G+UsFSO01NAs5iYuWKmVZjmiOzJ0OJmGsMwg==}
+ engines: {node: '>=14.21.3'}
+ cpu: [x64]
+ os: [linux]
+
+ '@biomejs/cli-win32-arm64@1.9.4':
+ resolution: {integrity: sha512-tlbhLk+WXZmgwoIKwHIHEBZUwxml7bRJgk0X2sPyNR3S93cdRq6XulAZRQJ17FYGGzWne0fgrXBKpl7l4M87Hg==}
+ engines: {node: '>=14.21.3'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@biomejs/cli-win32-x64@1.9.4':
+ resolution: {integrity: sha512-8Y5wMhVIPaWe6jw2H+KlEm4wP/f7EW3810ZLmDlrEEy5KvBsb9ECEfu/kMWD484ijfQ8+nIi0giMgu9g1UAuuA==}
+ engines: {node: '>=14.21.3'}
+ cpu: [x64]
+ os: [win32]
+
+ '@corex/deepmerge@4.0.43':
+ resolution: {integrity: sha512-N8uEMrMPL0cu/bdboEWpQYb/0i2K5Qn8eCsxzOmxSggJbbQte7ljMRoXm917AbntqTGOzdTu+vP3KOOzoC70HQ==}
+
+ '@drizzle-team/brocli@0.10.2':
+ resolution: {integrity: sha512-z33Il7l5dKjUgGULTqBsQBQwckHh5AbIuxhdsIxDDiZAzBOrZO6q9ogcWC65kU382AfynTfgNumVcNIjuIua6w==}
+
+ '@emnapi/runtime@1.3.1':
+ resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==}
+
+ '@esbuild-kit/core-utils@3.3.2':
+ resolution: {integrity: sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==}
+ deprecated: 'Merged into tsx: https://tsx.is'
+
+ '@esbuild-kit/esm-loader@2.6.5':
+ resolution: {integrity: sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA==}
+ deprecated: 'Merged into tsx: https://tsx.is'
+
+ '@esbuild/aix-ppc64@0.19.12':
+ resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [aix]
+
+ '@esbuild/aix-ppc64@0.23.0':
+ resolution: {integrity: sha512-3sG8Zwa5fMcA9bgqB8AfWPQ+HFke6uD3h1s3RIwUNK8EG7a4buxvuFTs3j1IMs2NXAk9F30C/FF4vxRgQCcmoQ==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [aix]
+
+ '@esbuild/aix-ppc64@0.25.1':
+ resolution: {integrity: sha512-kfYGy8IdzTGy+z0vFGvExZtxkFlA4zAxgKEahG9KE1ScBjpQnFsNOX8KTU5ojNru5ed5CVoJYXFtoxaq5nFbjQ==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [aix]
+
+ '@esbuild/android-arm64@0.18.20':
+ resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [android]
+
+ '@esbuild/android-arm64@0.19.12':
+ resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [android]
+
+ '@esbuild/android-arm64@0.23.0':
+ resolution: {integrity: sha512-EuHFUYkAVfU4qBdyivULuu03FhJO4IJN9PGuABGrFy4vUuzk91P2d+npxHcFdpUnfYKy0PuV+n6bKIpHOB3prQ==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [android]
+
+ '@esbuild/android-arm64@0.25.1':
+ resolution: {integrity: sha512-50tM0zCJW5kGqgG7fQ7IHvQOcAn9TKiVRuQ/lN0xR+T2lzEFvAi1ZcS8DiksFcEpf1t/GYOeOfCAgDHFpkiSmA==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [android]
+
+ '@esbuild/android-arm@0.18.20':
+ resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [android]
+
+ '@esbuild/android-arm@0.19.12':
+ resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [android]
+
+ '@esbuild/android-arm@0.23.0':
+ resolution: {integrity: sha512-+KuOHTKKyIKgEEqKbGTK8W7mPp+hKinbMBeEnNzjJGyFcWsfrXjSTNluJHCY1RqhxFurdD8uNXQDei7qDlR6+g==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [android]
+
+ '@esbuild/android-arm@0.25.1':
+ resolution: {integrity: sha512-dp+MshLYux6j/JjdqVLnMglQlFu+MuVeNrmT5nk6q07wNhCdSnB7QZj+7G8VMUGh1q+vj2Bq8kRsuyA00I/k+Q==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [android]
+
+ '@esbuild/android-x64@0.18.20':
+ resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [android]
+
+ '@esbuild/android-x64@0.19.12':
+ resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [android]
+
+ '@esbuild/android-x64@0.23.0':
+ resolution: {integrity: sha512-WRrmKidLoKDl56LsbBMhzTTBxrsVwTKdNbKDalbEZr0tcsBgCLbEtoNthOW6PX942YiYq8HzEnb4yWQMLQuipQ==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [android]
+
+ '@esbuild/android-x64@0.25.1':
+ resolution: {integrity: sha512-GCj6WfUtNldqUzYkN/ITtlhwQqGWu9S45vUXs7EIYf+7rCiiqH9bCloatO9VhxsL0Pji+PF4Lz2XXCES+Q8hDw==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [android]
+
+ '@esbuild/darwin-arm64@0.18.20':
+ resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@esbuild/darwin-arm64@0.19.12':
+ resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@esbuild/darwin-arm64@0.23.0':
+ resolution: {integrity: sha512-YLntie/IdS31H54Ogdn+v50NuoWF5BDkEUFpiOChVa9UnKpftgwzZRrI4J132ETIi+D8n6xh9IviFV3eXdxfow==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@esbuild/darwin-arm64@0.25.1':
+ resolution: {integrity: sha512-5hEZKPf+nQjYoSr/elb62U19/l1mZDdqidGfmFutVUjjUZrOazAtwK+Kr+3y0C/oeJfLlxo9fXb1w7L+P7E4FQ==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@esbuild/darwin-x64@0.18.20':
+ resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@esbuild/darwin-x64@0.19.12':
+ resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@esbuild/darwin-x64@0.23.0':
+ resolution: {integrity: sha512-IMQ6eme4AfznElesHUPDZ+teuGwoRmVuuixu7sv92ZkdQcPbsNHzutd+rAfaBKo8YK3IrBEi9SLLKWJdEvJniQ==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@esbuild/darwin-x64@0.25.1':
+ resolution: {integrity: sha512-hxVnwL2Dqs3fM1IWq8Iezh0cX7ZGdVhbTfnOy5uURtao5OIVCEyj9xIzemDi7sRvKsuSdtCAhMKarxqtlyVyfA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@esbuild/freebsd-arm64@0.18.20':
+ resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [freebsd]
+
+ '@esbuild/freebsd-arm64@0.19.12':
+ resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [freebsd]
+
+ '@esbuild/freebsd-arm64@0.23.0':
+ resolution: {integrity: sha512-0muYWCng5vqaxobq6LB3YNtevDFSAZGlgtLoAc81PjUfiFz36n4KMpwhtAd4he8ToSI3TGyuhyx5xmiWNYZFyw==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [freebsd]
+
+ '@esbuild/freebsd-arm64@0.25.1':
+ resolution: {integrity: sha512-1MrCZs0fZa2g8E+FUo2ipw6jw5qqQiH+tERoS5fAfKnRx6NXH31tXBKI3VpmLijLH6yriMZsxJtaXUyFt/8Y4A==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [freebsd]
+
+ '@esbuild/freebsd-x64@0.18.20':
+ resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@esbuild/freebsd-x64@0.19.12':
+ resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@esbuild/freebsd-x64@0.23.0':
+ resolution: {integrity: sha512-XKDVu8IsD0/q3foBzsXGt/KjD/yTKBCIwOHE1XwiXmrRwrX6Hbnd5Eqn/WvDekddK21tfszBSrE/WMaZh+1buQ==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@esbuild/freebsd-x64@0.25.1':
+ resolution: {integrity: sha512-0IZWLiTyz7nm0xuIs0q1Y3QWJC52R8aSXxe40VUxm6BB1RNmkODtW6LHvWRrGiICulcX7ZvyH6h5fqdLu4gkww==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@esbuild/linux-arm64@0.18.20':
+ resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@esbuild/linux-arm64@0.19.12':
+ resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@esbuild/linux-arm64@0.23.0':
+ resolution: {integrity: sha512-j1t5iG8jE7BhonbsEg5d9qOYcVZv/Rv6tghaXM/Ug9xahM0nX/H2gfu6X6z11QRTMT6+aywOMA8TDkhPo8aCGw==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@esbuild/linux-arm64@0.25.1':
+ resolution: {integrity: sha512-jaN3dHi0/DDPelk0nLcXRm1q7DNJpjXy7yWaWvbfkPvI+7XNSc/lDOnCLN7gzsyzgu6qSAmgSvP9oXAhP973uQ==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@esbuild/linux-arm@0.18.20':
+ resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [linux]
+
+ '@esbuild/linux-arm@0.19.12':
+ resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [linux]
+
+ '@esbuild/linux-arm@0.23.0':
+ resolution: {integrity: sha512-SEELSTEtOFu5LPykzA395Mc+54RMg1EUgXP+iw2SJ72+ooMwVsgfuwXo5Fn0wXNgWZsTVHwY2cg4Vi/bOD88qw==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [linux]
+
+ '@esbuild/linux-arm@0.25.1':
+ resolution: {integrity: sha512-NdKOhS4u7JhDKw9G3cY6sWqFcnLITn6SqivVArbzIaf3cemShqfLGHYMx8Xlm/lBit3/5d7kXvriTUGa5YViuQ==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [linux]
+
+ '@esbuild/linux-ia32@0.18.20':
+ resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [linux]
+
+ '@esbuild/linux-ia32@0.19.12':
+ resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [linux]
+
+ '@esbuild/linux-ia32@0.23.0':
+ resolution: {integrity: sha512-P7O5Tkh2NbgIm2R6x1zGJJsnacDzTFcRWZyTTMgFdVit6E98LTxO+v8LCCLWRvPrjdzXHx9FEOA8oAZPyApWUA==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [linux]
+
+ '@esbuild/linux-ia32@0.25.1':
+ resolution: {integrity: sha512-OJykPaF4v8JidKNGz8c/q1lBO44sQNUQtq1KktJXdBLn1hPod5rE/Hko5ugKKZd+D2+o1a9MFGUEIUwO2YfgkQ==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [linux]
+
+ '@esbuild/linux-loong64@0.18.20':
+ resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==}
+ engines: {node: '>=12'}
+ cpu: [loong64]
+ os: [linux]
+
+ '@esbuild/linux-loong64@0.19.12':
+ resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==}
+ engines: {node: '>=12'}
+ cpu: [loong64]
+ os: [linux]
+
+ '@esbuild/linux-loong64@0.23.0':
+ resolution: {integrity: sha512-InQwepswq6urikQiIC/kkx412fqUZudBO4SYKu0N+tGhXRWUqAx+Q+341tFV6QdBifpjYgUndV1hhMq3WeJi7A==}
+ engines: {node: '>=18'}
+ cpu: [loong64]
+ os: [linux]
+
+ '@esbuild/linux-loong64@0.25.1':
+ resolution: {integrity: sha512-nGfornQj4dzcq5Vp835oM/o21UMlXzn79KobKlcs3Wz9smwiifknLy4xDCLUU0BWp7b/houtdrgUz7nOGnfIYg==}
+ engines: {node: '>=18'}
+ cpu: [loong64]
+ os: [linux]
+
+ '@esbuild/linux-mips64el@0.18.20':
+ resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==}
+ engines: {node: '>=12'}
+ cpu: [mips64el]
+ os: [linux]
+
+ '@esbuild/linux-mips64el@0.19.12':
+ resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==}
+ engines: {node: '>=12'}
+ cpu: [mips64el]
+ os: [linux]
+
+ '@esbuild/linux-mips64el@0.23.0':
+ resolution: {integrity: sha512-J9rflLtqdYrxHv2FqXE2i1ELgNjT+JFURt/uDMoPQLcjWQA5wDKgQA4t/dTqGa88ZVECKaD0TctwsUfHbVoi4w==}
+ engines: {node: '>=18'}
+ cpu: [mips64el]
+ os: [linux]
+
+ '@esbuild/linux-mips64el@0.25.1':
+ resolution: {integrity: sha512-1osBbPEFYwIE5IVB/0g2X6i1qInZa1aIoj1TdL4AaAb55xIIgbg8Doq6a5BzYWgr+tEcDzYH67XVnTmUzL+nXg==}
+ engines: {node: '>=18'}
+ cpu: [mips64el]
+ os: [linux]
+
+ '@esbuild/linux-ppc64@0.18.20':
+ resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [linux]
+
+ '@esbuild/linux-ppc64@0.19.12':
+ resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [linux]
+
+ '@esbuild/linux-ppc64@0.23.0':
+ resolution: {integrity: sha512-cShCXtEOVc5GxU0fM+dsFD10qZ5UpcQ8AM22bYj0u/yaAykWnqXJDpd77ublcX6vdDsWLuweeuSNZk4yUxZwtw==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [linux]
+
+ '@esbuild/linux-ppc64@0.25.1':
+ resolution: {integrity: sha512-/6VBJOwUf3TdTvJZ82qF3tbLuWsscd7/1w+D9LH0W/SqUgM5/JJD0lrJ1fVIfZsqB6RFmLCe0Xz3fmZc3WtyVg==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [linux]
+
+ '@esbuild/linux-riscv64@0.18.20':
+ resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==}
+ engines: {node: '>=12'}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@esbuild/linux-riscv64@0.19.12':
+ resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==}
+ engines: {node: '>=12'}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@esbuild/linux-riscv64@0.23.0':
+ resolution: {integrity: sha512-HEtaN7Y5UB4tZPeQmgz/UhzoEyYftbMXrBCUjINGjh3uil+rB/QzzpMshz3cNUxqXN7Vr93zzVtpIDL99t9aRw==}
+ engines: {node: '>=18'}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@esbuild/linux-riscv64@0.25.1':
+ resolution: {integrity: sha512-nSut/Mx5gnilhcq2yIMLMe3Wl4FK5wx/o0QuuCLMtmJn+WeWYoEGDN1ipcN72g1WHsnIbxGXd4i/MF0gTcuAjQ==}
+ engines: {node: '>=18'}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@esbuild/linux-s390x@0.18.20':
+ resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==}
+ engines: {node: '>=12'}
+ cpu: [s390x]
+ os: [linux]
+
+ '@esbuild/linux-s390x@0.19.12':
+ resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==}
+ engines: {node: '>=12'}
+ cpu: [s390x]
+ os: [linux]
+
+ '@esbuild/linux-s390x@0.23.0':
+ resolution: {integrity: sha512-WDi3+NVAuyjg/Wxi+o5KPqRbZY0QhI9TjrEEm+8dmpY9Xir8+HE/HNx2JoLckhKbFopW0RdO2D72w8trZOV+Wg==}
+ engines: {node: '>=18'}
+ cpu: [s390x]
+ os: [linux]
+
+ '@esbuild/linux-s390x@0.25.1':
+ resolution: {integrity: sha512-cEECeLlJNfT8kZHqLarDBQso9a27o2Zd2AQ8USAEoGtejOrCYHNtKP8XQhMDJMtthdF4GBmjR2au3x1udADQQQ==}
+ engines: {node: '>=18'}
+ cpu: [s390x]
+ os: [linux]
+
+ '@esbuild/linux-x64@0.18.20':
+ resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [linux]
+
+ '@esbuild/linux-x64@0.19.12':
+ resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [linux]
+
+ '@esbuild/linux-x64@0.23.0':
+ resolution: {integrity: sha512-a3pMQhUEJkITgAw6e0bWA+F+vFtCciMjW/LPtoj99MhVt+Mfb6bbL9hu2wmTZgNd994qTAEw+U/r6k3qHWWaOQ==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [linux]
+
+ '@esbuild/linux-x64@0.25.1':
+ resolution: {integrity: sha512-xbfUhu/gnvSEg+EGovRc+kjBAkrvtk38RlerAzQxvMzlB4fXpCFCeUAYzJvrnhFtdeyVCDANSjJvOvGYoeKzFA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [linux]
+
+ '@esbuild/netbsd-arm64@0.25.1':
+ resolution: {integrity: sha512-O96poM2XGhLtpTh+s4+nP7YCCAfb4tJNRVZHfIE7dgmax+yMP2WgMd2OecBuaATHKTHsLWHQeuaxMRnCsH8+5g==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [netbsd]
+
+ '@esbuild/netbsd-x64@0.18.20':
+ resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [netbsd]
+
+ '@esbuild/netbsd-x64@0.19.12':
+ resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [netbsd]
+
+ '@esbuild/netbsd-x64@0.23.0':
+ resolution: {integrity: sha512-cRK+YDem7lFTs2Q5nEv/HHc4LnrfBCbH5+JHu6wm2eP+d8OZNoSMYgPZJq78vqQ9g+9+nMuIsAO7skzphRXHyw==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [netbsd]
+
+ '@esbuild/netbsd-x64@0.25.1':
+ resolution: {integrity: sha512-X53z6uXip6KFXBQ+Krbx25XHV/NCbzryM6ehOAeAil7X7oa4XIq+394PWGnwaSQ2WRA0KI6PUO6hTO5zeF5ijA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [netbsd]
+
+ '@esbuild/openbsd-arm64@0.23.0':
+ resolution: {integrity: sha512-suXjq53gERueVWu0OKxzWqk7NxiUWSUlrxoZK7usiF50C6ipColGR5qie2496iKGYNLhDZkPxBI3erbnYkU0rQ==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [openbsd]
+
+ '@esbuild/openbsd-arm64@0.25.1':
+ resolution: {integrity: sha512-Na9T3szbXezdzM/Kfs3GcRQNjHzM6GzFBeU1/6IV/npKP5ORtp9zbQjvkDJ47s6BCgaAZnnnu/cY1x342+MvZg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [openbsd]
+
+ '@esbuild/openbsd-x64@0.18.20':
+ resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [openbsd]
+
+ '@esbuild/openbsd-x64@0.19.12':
+ resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [openbsd]
+
+ '@esbuild/openbsd-x64@0.23.0':
+ resolution: {integrity: sha512-6p3nHpby0DM/v15IFKMjAaayFhqnXV52aEmv1whZHX56pdkK+MEaLoQWj+H42ssFarP1PcomVhbsR4pkz09qBg==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [openbsd]
+
+ '@esbuild/openbsd-x64@0.25.1':
+ resolution: {integrity: sha512-T3H78X2h1tszfRSf+txbt5aOp/e7TAz3ptVKu9Oyir3IAOFPGV6O9c2naym5TOriy1l0nNf6a4X5UXRZSGX/dw==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [openbsd]
+
+ '@esbuild/sunos-x64@0.18.20':
+ resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [sunos]
+
+ '@esbuild/sunos-x64@0.19.12':
+ resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [sunos]
+
+ '@esbuild/sunos-x64@0.23.0':
+ resolution: {integrity: sha512-BFelBGfrBwk6LVrmFzCq1u1dZbG4zy/Kp93w2+y83Q5UGYF1d8sCzeLI9NXjKyujjBBniQa8R8PzLFAUrSM9OA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [sunos]
+
+ '@esbuild/sunos-x64@0.25.1':
+ resolution: {integrity: sha512-2H3RUvcmULO7dIE5EWJH8eubZAI4xw54H1ilJnRNZdeo8dTADEZ21w6J22XBkXqGJbe0+wnNJtw3UXRoLJnFEg==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [sunos]
+
+ '@esbuild/win32-arm64@0.18.20':
+ resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@esbuild/win32-arm64@0.19.12':
+ resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@esbuild/win32-arm64@0.23.0':
+ resolution: {integrity: sha512-lY6AC8p4Cnb7xYHuIxQ6iYPe6MfO2CC43XXKo9nBXDb35krYt7KGhQnOkRGar5psxYkircpCqfbNDB4uJbS2jQ==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@esbuild/win32-arm64@0.25.1':
+ resolution: {integrity: sha512-GE7XvrdOzrb+yVKB9KsRMq+7a2U/K5Cf/8grVFRAGJmfADr/e/ODQ134RK2/eeHqYV5eQRFxb1hY7Nr15fv1NQ==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@esbuild/win32-ia32@0.18.20':
+ resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+
+ '@esbuild/win32-ia32@0.19.12':
+ resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+
+ '@esbuild/win32-ia32@0.23.0':
+ resolution: {integrity: sha512-7L1bHlOTcO4ByvI7OXVI5pNN6HSu6pUQq9yodga8izeuB1KcT2UkHaH6118QJwopExPn0rMHIseCTx1CRo/uNA==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [win32]
+
+ '@esbuild/win32-ia32@0.25.1':
+ resolution: {integrity: sha512-uOxSJCIcavSiT6UnBhBzE8wy3n0hOkJsBOzy7HDAuTDE++1DJMRRVCPGisULScHL+a/ZwdXPpXD3IyFKjA7K8A==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [win32]
+
+ '@esbuild/win32-x64@0.18.20':
+ resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+
+ '@esbuild/win32-x64@0.19.12':
+ resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+
+ '@esbuild/win32-x64@0.23.0':
+ resolution: {integrity: sha512-Arm+WgUFLUATuoxCJcahGuk6Yj9Pzxd6l11Zb/2aAuv5kWWvvfhLFo2fni4uSK5vzlUdCGZ/BdV5tH8klj8p8g==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [win32]
+
+ '@esbuild/win32-x64@0.25.1':
+ resolution: {integrity: sha512-Y1EQdcfwMSeQN/ujR5VayLOJ1BHaK+ssyk0AEzPjC+t1lITgsnccPqFjb6V+LsTp/9Iov4ysfjxLaGJ9RPtkVg==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [win32]
+
+ '@floating-ui/core@1.6.9':
+ resolution: {integrity: sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==}
+
+ '@floating-ui/dom@1.6.13':
+ resolution: {integrity: sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==}
+
+ '@floating-ui/react-dom@2.1.2':
+ resolution: {integrity: sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==}
+ peerDependencies:
+ react: '>=16.8.0'
+ react-dom: '>=16.8.0'
+
+ '@floating-ui/utils@0.2.9':
+ resolution: {integrity: sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==}
+
+ '@formatjs/intl-localematcher@0.6.1':
+ resolution: {integrity: sha512-ePEgLgVCqi2BBFnTMWPfIghu6FkbZnnBVhO2sSxvLfrdFw7wCHAHiDoM2h4NRgjbaY7+B7HgOLZGkK187pZTZg==}
+
+ '@fuma-comment/react@1.2.1':
+ resolution: {integrity: sha512-IJRjqvZXqr94wYsNgp+xxaRZKeWvyTvyPd7RRES/xBCZGdSPx4JTuIWRCTyHIEA/c8Y0liKXyJ2yLWLTfP1pgA==}
+ peerDependencies:
+ react: ^19.x
+ react-dom: ^19.x
+
+ '@fuma-comment/server@1.2.1':
+ resolution: {integrity: sha512-rqUgJ4Ot2q///d8HMUwVlMXckkJ4+e9m8CQgXX3VvzyTaqUOEiqyot52vQ4WoYT9AvVXF9WbZs40p+xkF9jndA==}
+ peerDependencies:
+ '@clerk/backend': 1.x.x
+ better-auth: 1.x.x
+ drizzle-orm: ^0.40.0
+ elysia: 1.x.x
+ hono: '*'
+ mongodb: 6.x.x
+ next: ^14.0.0 || ^15.0.0
+ next-auth: 4.x.x
+ peerDependenciesMeta:
+ '@clerk/backend':
+ optional: true
+ better-auth:
+ optional: true
+ elysia:
+ optional: true
+ hono:
+ optional: true
+ mongodb:
+ optional: true
+ next:
+ optional: true
+ next-auth:
+ optional: true
+
+ '@hexagon/base64@1.1.28':
+ resolution: {integrity: sha512-lhqDEAvWixy3bZ+UOYbPwUbBkwBq5C1LAJ/xPC8Oi+lL54oyakv/npbA0aU2hgCsx/1NUd4IBvV03+aUBWxerw==}
+
+ '@hookform/resolvers@4.1.3':
+ resolution: {integrity: sha512-Jsv6UOWYTrEFJ/01ZrnwVXs7KDvP8XIo115i++5PWvNkNvkrsTfGiLS6w+eJ57CYtUtDQalUWovCZDHFJ8u1VQ==}
+ peerDependencies:
+ react-hook-form: ^7.0.0
+
+ '@img/sharp-darwin-arm64@0.33.5':
+ resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@img/sharp-darwin-x64@0.33.5':
+ resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [x64]
+ os: [darwin]
+
+ '@img/sharp-libvips-darwin-arm64@1.0.4':
+ resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@img/sharp-libvips-darwin-x64@1.0.4':
+ resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==}
+ cpu: [x64]
+ os: [darwin]
+
+ '@img/sharp-libvips-linux-arm64@1.0.4':
+ resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@img/sharp-libvips-linux-arm@1.0.5':
+ resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==}
+ cpu: [arm]
+ os: [linux]
+
+ '@img/sharp-libvips-linux-s390x@1.0.4':
+ resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==}
+ cpu: [s390x]
+ os: [linux]
+
+ '@img/sharp-libvips-linux-x64@1.0.4':
+ resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==}
+ cpu: [x64]
+ os: [linux]
+
+ '@img/sharp-libvips-linuxmusl-arm64@1.0.4':
+ resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@img/sharp-libvips-linuxmusl-x64@1.0.4':
+ resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==}
+ cpu: [x64]
+ os: [linux]
+
+ '@img/sharp-linux-arm64@0.33.5':
+ resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [arm64]
+ os: [linux]
+
+ '@img/sharp-linux-arm@0.33.5':
+ resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [arm]
+ os: [linux]
+
+ '@img/sharp-linux-s390x@0.33.5':
+ resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [s390x]
+ os: [linux]
+
+ '@img/sharp-linux-x64@0.33.5':
+ resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [x64]
+ os: [linux]
+
+ '@img/sharp-linuxmusl-arm64@0.33.5':
+ resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [arm64]
+ os: [linux]
+
+ '@img/sharp-linuxmusl-x64@0.33.5':
+ resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [x64]
+ os: [linux]
+
+ '@img/sharp-wasm32@0.33.5':
+ resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [wasm32]
+
+ '@img/sharp-win32-ia32@0.33.5':
+ resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [ia32]
+ os: [win32]
+
+ '@img/sharp-win32-x64@0.33.5':
+ resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [x64]
+ os: [win32]
+
+ '@isaacs/cliui@8.0.2':
+ resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
+ engines: {node: '>=12'}
+
+ '@jridgewell/gen-mapping@0.3.8':
+ resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==}
+ engines: {node: '>=6.0.0'}
+
+ '@jridgewell/resolve-uri@3.1.2':
+ resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
+ engines: {node: '>=6.0.0'}
+
+ '@jridgewell/set-array@1.2.1':
+ resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
+ engines: {node: '>=6.0.0'}
+
+ '@jridgewell/sourcemap-codec@1.5.0':
+ resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
+
+ '@jridgewell/trace-mapping@0.3.25':
+ resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
+
+ '@levischuck/tiny-cbor@0.2.11':
+ resolution: {integrity: sha512-llBRm4dT4Z89aRsm6u2oEZ8tfwL/2l6BwpZ7JcyieouniDECM5AqNgr/y08zalEIvW3RSK4upYyybDcmjXqAow==}
+
+ '@mdx-js/mdx@3.1.0':
+ resolution: {integrity: sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==}
+
+ '@neondatabase/serverless@1.0.0':
+ resolution: {integrity: sha512-XWmEeWpBXIoksZSDN74kftfTnXFEGZ3iX8jbANWBc+ag6dsiQuvuR4LgB0WdCOKMb5AQgjqgufc0TgAsZubUYw==}
+ engines: {node: '>=19.0.0'}
+
+ '@next/env@13.5.9':
+ resolution: {integrity: sha512-h9+DconfsLkhHIw950Som5t5DC0kZReRRVhT4XO2DLo5vBK3PQK6CbFr8unxjHwvIcRdDvb8rosKleLdirfShQ==}
+
+ '@next/env@15.2.2':
+ resolution: {integrity: sha512-yWgopCfA9XDR8ZH3taB5nRKtKJ1Q5fYsTOuYkzIIoS8TJ0UAUKAGF73JnGszbjk2ufAQDj6mDdgsJAFx5CLtYQ==}
+
+ '@next/env@15.2.4':
+ resolution: {integrity: sha512-+SFtMgoiYP3WoSswuNmxJOCwi06TdWE733D+WPjpXIe4LXGULwEaofiiAy6kbS0+XjM5xF5n3lKuBwN2SnqD9g==}
+
+ '@next/swc-darwin-arm64@15.2.2':
+ resolution: {integrity: sha512-HNBRnz+bkZ+KfyOExpUxTMR0Ow8nkkcE6IlsdEa9W/rI7gefud19+Sn1xYKwB9pdCdxIP1lPru/ZfjfA+iT8pw==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@next/swc-darwin-arm64@15.2.4':
+ resolution: {integrity: sha512-1AnMfs655ipJEDC/FHkSr0r3lXBgpqKo4K1kiwfUf3iE68rDFXZ1TtHdMvf7D0hMItgDZ7Vuq3JgNMbt/+3bYw==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@next/swc-darwin-x64@15.2.2':
+ resolution: {integrity: sha512-mJOUwp7al63tDpLpEFpKwwg5jwvtL1lhRW2fI1Aog0nYCPAhxbJsaZKdoVyPZCy8MYf/iQVNDuk/+i29iLCzIA==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@next/swc-darwin-x64@15.2.4':
+ resolution: {integrity: sha512-3qK2zb5EwCwxnO2HeO+TRqCubeI/NgCe+kL5dTJlPldV/uwCnUgC7VbEzgmxbfrkbjehL4H9BPztWOEtsoMwew==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@next/swc-linux-arm64-gnu@15.2.2':
+ resolution: {integrity: sha512-5ZZ0Zwy3SgMr7MfWtRE7cQWVssfOvxYfD9O7XHM7KM4nrf5EOeqwq67ZXDgo86LVmffgsu5tPO57EeFKRnrfSQ==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@next/swc-linux-arm64-gnu@15.2.4':
+ resolution: {integrity: sha512-HFN6GKUcrTWvem8AZN7tT95zPb0GUGv9v0d0iyuTb303vbXkkbHDp/DxufB04jNVD+IN9yHy7y/6Mqq0h0YVaQ==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@next/swc-linux-arm64-musl@15.2.2':
+ resolution: {integrity: sha512-cgKWBuFMLlJ4TWcFHl1KOaVVUAF8vy4qEvX5KsNd0Yj5mhu989QFCq1WjuaEbv/tO1ZpsQI6h/0YR8bLwEi+nA==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@next/swc-linux-arm64-musl@15.2.4':
+ resolution: {integrity: sha512-Oioa0SORWLwi35/kVB8aCk5Uq+5/ZIumMK1kJV+jSdazFm2NzPDztsefzdmzzpx5oGCJ6FkUC7vkaUseNTStNA==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@next/swc-linux-x64-gnu@15.2.2':
+ resolution: {integrity: sha512-c3kWSOSsVL8rcNBBfOq1+/j2PKs2nsMwJUV4icUxRgGBwUOfppeh7YhN5s79enBQFU+8xRgVatFkhHU1QW7yUA==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+
+ '@next/swc-linux-x64-gnu@15.2.4':
+ resolution: {integrity: sha512-yb5WTRaHdkgOqFOZiu6rHV1fAEK0flVpaIN2HB6kxHVSy/dIajWbThS7qON3W9/SNOH2JWkVCyulgGYekMePuw==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+
+ '@next/swc-linux-x64-musl@15.2.2':
+ resolution: {integrity: sha512-PXTW9PLTxdNlVYgPJ0equojcq1kNu5NtwcNjRjHAB+/sdoKZ+X8FBu70fdJFadkxFIGekQTyRvPMFF+SOJaQjw==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+
+ '@next/swc-linux-x64-musl@15.2.4':
+ resolution: {integrity: sha512-Dcdv/ix6srhkM25fgXiyOieFUkz+fOYkHlydWCtB0xMST6X9XYI3yPDKBZt1xuhOytONsIFJFB08xXYsxUwJLw==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+
+ '@next/swc-win32-arm64-msvc@15.2.2':
+ resolution: {integrity: sha512-nG644Es5llSGEcTaXhnGWR/aThM/hIaz0jx4MDg4gWC8GfTCp8eDBWZ77CVuv2ha/uL9Ce+nPTfYkSLG67/sHg==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@next/swc-win32-arm64-msvc@15.2.4':
+ resolution: {integrity: sha512-dW0i7eukvDxtIhCYkMrZNQfNicPDExt2jPb9AZPpL7cfyUo7QSNl1DjsHjmmKp6qNAqUESyT8YFl/Aw91cNJJg==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@next/swc-win32-x64-msvc@15.2.2':
+ resolution: {integrity: sha512-52nWy65S/R6/kejz3jpvHAjZDPKIbEQu4x9jDBzmB9jJfuOy5rspjKu4u77+fI4M/WzLXrrQd57hlFGzz1ubcQ==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [win32]
+
+ '@next/swc-win32-x64-msvc@15.2.4':
+ resolution: {integrity: sha512-SbnWkJmkS7Xl3kre8SdMF6F/XDh1DTFEhp0jRTj/uB8iPKoU2bb2NDfcu+iifv1+mxQEd1g2vvSxcZbXSKyWiQ==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [win32]
+
+ '@noble/ciphers@0.6.0':
+ resolution: {integrity: sha512-mIbq/R9QXk5/cTfESb1OKtyFnk7oc1Om/8onA1158K9/OZUQFDEVy55jVTato+xmp3XX6F6Qh0zz0Nc1AxAlRQ==}
+
+ '@noble/hashes@1.7.1':
+ resolution: {integrity: sha512-B8XBPsn4vT/KJAGqDzbwztd+6Yte3P4V7iafm24bxgDe/mlRuK6xmWPuCNrKt2vDafZ8MfJLlchDG/vYafQEjQ==}
+ engines: {node: ^14.21.3 || >=16}
+
+ '@nodelib/fs.scandir@2.1.5':
+ resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
+ engines: {node: '>= 8'}
+
+ '@nodelib/fs.stat@2.0.5':
+ resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
+ engines: {node: '>= 8'}
+
+ '@nodelib/fs.walk@1.2.8':
+ resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
+ engines: {node: '>= 8'}
+
+ '@orama/orama@3.1.4':
+ resolution: {integrity: sha512-7tTuIdkzgRscJ7sGHVsoK9GtXSpwbfrj3WYnuSu/SepXHhshYiQaOeXc/aeLh4MfgIre6tEs/caIop8wrhMi3g==}
+ engines: {node: '>= 16.0.0'}
+
+ '@oxc-transform/binding-darwin-arm64@0.53.0':
+ resolution: {integrity: sha512-QG1djnqQ+EywamRwFMRYogmbF4aL+Fmw/tDKuZ4cpWpOBPaxgTNryfYS1WwCARlZLmLzDEZr0YkYSQ7Rmjyf1Q==}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@oxc-transform/binding-darwin-x64@0.53.0':
+ resolution: {integrity: sha512-rc6wBTnmeK/ZiENI7QvZBmrgFArAkO8cBpiKrYuov3+DqSbOLotoaYqXxxdjoiJ/EhPl9MBd9146uM99OKQYIA==}
+ cpu: [x64]
+ os: [darwin]
+
+ '@oxc-transform/binding-linux-arm64-gnu@0.53.0':
+ resolution: {integrity: sha512-BgY+h7bQsGP6lsQe4s7stz6SpbfijhiZGx/lPoTYn9wkLonqBVk2bGkPkyZvzd3Sr8aw2taOE6ycb146scyniQ==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@oxc-transform/binding-linux-arm64-musl@0.53.0':
+ resolution: {integrity: sha512-4AnomoFIEqS442s9KJbZRqo+dR9sM0es9YY9eFh+53btN9aKHW+u08Yvesb4k9nmwB5qDZbfqP8H+SsHyixFlg==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@oxc-transform/binding-linux-x64-gnu@0.53.0':
+ resolution: {integrity: sha512-iWFm/ZNEYF5IKN3/gcYaMJUI1yc5iJ2vQ9fVxYAFT6GglnBqXXxqwazlL5QkiAwDOzVwDUctAIZWgxse1vTm2A==}
+ cpu: [x64]
+ os: [linux]
+
+ '@oxc-transform/binding-linux-x64-musl@0.53.0':
+ resolution: {integrity: sha512-fM9tdlBPY55T1s+qdg6NwDLaygXkvxKLfIqojw/pM+pErfnTJXa3MYWIDWEXHv3RcEypjaEMMo3BIe7E2jBDdg==}
+ cpu: [x64]
+ os: [linux]
+
+ '@oxc-transform/binding-win32-arm64-msvc@0.53.0':
+ resolution: {integrity: sha512-Afh37KNowRgdDtV6EL4IxWBv/l5/XLctXADOCAvYNUsiUwQ2vNKiNwx+k8QzMZW59G5JEIN8yroMd/qnQSpdJw==}
+ cpu: [arm64]
+ os: [win32]
+
+ '@oxc-transform/binding-win32-x64-msvc@0.53.0':
+ resolution: {integrity: sha512-aYUx/uFCIdQJVOqEpV3AjOSBlZKLSFtws4B/iJpyJ6pKiLBQsH/sR4Y4oKm2rkaqAky+0ekP6gbjIgrJkCZR0Q==}
+ cpu: [x64]
+ os: [win32]
+
+ '@peculiar/asn1-android@2.3.16':
+ resolution: {integrity: sha512-a1viIv3bIahXNssrOIkXZIlI2ePpZaNmR30d4aBL99mu2rO+mT9D6zBsp7H6eROWGtmwv0Ionp5olJurIo09dw==}
+
+ '@peculiar/asn1-ecc@2.3.15':
+ resolution: {integrity: sha512-/HtR91dvgog7z/WhCVdxZJ/jitJuIu8iTqiyWVgRE9Ac5imt2sT/E4obqIVGKQw7PIy+X6i8lVBoT6wC73XUgA==}
+
+ '@peculiar/asn1-rsa@2.3.15':
+ resolution: {integrity: sha512-p6hsanvPhexRtYSOHihLvUUgrJ8y0FtOM97N5UEpC+VifFYyZa0iZ5cXjTkZoDwxJ/TTJ1IJo3HVTB2JJTpXvg==}
+
+ '@peculiar/asn1-schema@2.3.15':
+ resolution: {integrity: sha512-QPeD8UA8axQREpgR5UTAfu2mqQmm97oUqahDtNdBcfj3qAnoXzFdQW+aNf/tD2WVXF8Fhmftxoj0eMIT++gX2w==}
+
+ '@peculiar/asn1-x509@2.3.15':
+ resolution: {integrity: sha512-0dK5xqTqSLaxv1FHXIcd4Q/BZNuopg+u1l23hT9rOmQ1g4dNtw0g/RnEi+TboB0gOwGtrWn269v27cMgchFIIg==}
+
+ '@petamoriken/float16@3.9.2':
+ resolution: {integrity: sha512-VgffxawQde93xKxT3qap3OH+meZf7VaSB5Sqd4Rqc+FP5alWbpOyan/7tRbOAvynjpG3GpdtAuGU/NdhQpmrog==}
+
+ '@pkgjs/parseargs@0.11.0':
+ resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
+ engines: {node: '>=14'}
+
+ '@popperjs/core@2.11.8':
+ resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==}
+
+ '@radix-ui/number@1.1.0':
+ resolution: {integrity: sha512-V3gRzhVNU1ldS5XhAPTom1fOIo4ccrjjJgmE+LI2h/WaFpHmx0MQApT+KZHnx8abG6Avtfcz4WoEciMnpFT3HQ==}
+
+ '@radix-ui/primitive@1.1.1':
+ resolution: {integrity: sha512-SJ31y+Q/zAyShtXJc8x83i9TYdbAfHZ++tUZnvjJJqFjzsdUnKsxPL6IEtBlxKkU7yzer//GQtZSV4GbldL3YA==}
+
+ '@radix-ui/react-accordion@1.2.3':
+ resolution: {integrity: sha512-RIQ15mrcvqIkDARJeERSuXSry2N8uYnxkdDetpfmalT/+0ntOXLkFOsh9iwlAsCv+qcmhZjbdJogIm6WBa6c4A==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-arrow@1.1.2':
+ resolution: {integrity: sha512-G+KcpzXHq24iH0uGG/pF8LyzpFJYGD4RfLjCIBfGdSLXvjLHST31RUiRVrupIBMvIppMgSzQ6l66iAxl03tdlg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-avatar@1.1.3':
+ resolution: {integrity: sha512-Paen00T4P8L8gd9bNsRMw7Cbaz85oxiv+hzomsRZgFm2byltPFDtfcoqlWJ8GyZlIBWgLssJlzLCnKU0G0302g==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-collapsible@1.1.3':
+ resolution: {integrity: sha512-jFSerheto1X03MUC0g6R7LedNW9EEGWdg9W1+MlpkMLwGkgkbUXLPBH/KIuWKXUoeYRVY11llqbTBDzuLg7qrw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-collection@1.1.2':
+ resolution: {integrity: sha512-9z54IEKRxIa9VityapoEYMuByaG42iSy1ZXlY2KcuLSEtq8x4987/N6m15ppoMffgZX72gER2uHe1D9Y6Unlcw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-compose-refs@1.1.1':
+ resolution: {integrity: sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-context@1.1.1':
+ resolution: {integrity: sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-dialog@1.1.6':
+ resolution: {integrity: sha512-/IVhJV5AceX620DUJ4uYVMymzsipdKBzo3edo+omeskCKGm9FRHM0ebIdbPnlQVJqyuHbuBltQUOG2mOTq2IYw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-direction@1.1.0':
+ resolution: {integrity: sha512-BUuBvgThEiAXh2DWu93XsT+a3aWrGqolGlqqw5VU1kG7p/ZH2cuDlM1sRLNnY3QcBS69UIz2mcKhMxDsdewhjg==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-dismissable-layer@1.1.5':
+ resolution: {integrity: sha512-E4TywXY6UsXNRhFrECa5HAvE5/4BFcGyfTyK36gP+pAW1ed7UTK4vKwdr53gAJYwqbfCWC6ATvJa3J3R/9+Qrg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-dropdown-menu@2.1.6':
+ resolution: {integrity: sha512-no3X7V5fD487wab/ZYSHXq3H37u4NVeLDKI/Ks724X/eEFSSEFYZxWgsIlr1UBeEyDaM29HM5x9p1Nv8DuTYPA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-focus-guards@1.1.1':
+ resolution: {integrity: sha512-pSIwfrT1a6sIoDASCSpFwOasEwKTZWDw/iBdtnqKO7v6FeOzYJ7U53cPzYFVR3geGGXgVHaH+CdngrrAzqUGxg==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-focus-scope@1.1.2':
+ resolution: {integrity: sha512-zxwE80FCU7lcXUGWkdt6XpTTCKPitG1XKOwViTxHVKIJhZl9MvIl2dVHeZENCWD9+EdWv05wlaEkRXUykU27RA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-icons@1.3.2':
+ resolution: {integrity: sha512-fyQIhGDhzfc9pK2kH6Pl9c4BDJGfMkPqkyIgYDthyNYoNg3wVhoJMMh19WS4Up/1KMPFVpNsT2q3WmXn2N1m6g==}
+ peerDependencies:
+ react: ^16.x || ^17.x || ^18.x || ^19.0.0 || ^19.0.0-rc
+
+ '@radix-ui/react-id@1.1.0':
+ resolution: {integrity: sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-label@2.1.2':
+ resolution: {integrity: sha512-zo1uGMTaNlHehDyFQcDZXRJhUPDuukcnHz0/jnrup0JA6qL+AFpAnty+7VKa9esuU5xTblAZzTGYJKSKaBxBhw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-menu@2.1.6':
+ resolution: {integrity: sha512-tBBb5CXDJW3t2mo9WlO7r6GTmWV0F0uzHZVFmlRmYpiSK1CDU5IKojP1pm7oknpBOrFZx/YgBRW9oorPO2S/Lg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-navigation-menu@1.2.5':
+ resolution: {integrity: sha512-myMHHQUZ3ZLTi8W381/Vu43Ia0NqakkQZ2vzynMmTUtQQ9kNkjzhOwkZC9TAM5R07OZUVIQyHC06f/9JZJpvvA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-popover@1.1.6':
+ resolution: {integrity: sha512-NQouW0x4/GnkFJ/pRqsIS3rM/k97VzKnVb2jB7Gq7VEGPy5g7uNV1ykySFt7eWSp3i2uSGFwaJcvIRJBAHmmFg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-popper@1.2.2':
+ resolution: {integrity: sha512-Rvqc3nOpwseCyj/rgjlJDYAgyfw7OC1tTkKn2ivhaMGcYt8FSBlahHOZak2i3QwkRXUXgGgzeEe2RuqeEHuHgA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-portal@1.1.4':
+ resolution: {integrity: sha512-sn2O9k1rPFYVyKd5LAJfo96JlSGVFpa1fS6UuBJfrZadudiw5tAmru+n1x7aMRQ84qDM71Zh1+SzK5QwU0tJfA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-presence@1.1.2':
+ resolution: {integrity: sha512-18TFr80t5EVgL9x1SwF/YGtfG+l0BS0PRAlCWBDoBEiDQjeKgnNZRVJp/oVBl24sr3Gbfwc/Qpj4OcWTQMsAEg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-primitive@2.0.2':
+ resolution: {integrity: sha512-Ec/0d38EIuvDF+GZjcMU/Ze6MxntVJYO/fRlCPhCaVUyPY9WTalHJw54tp9sXeJo3tlShWpy41vQRgLRGOuz+w==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-roving-focus@1.1.2':
+ resolution: {integrity: sha512-zgMQWkNO169GtGqRvYrzb0Zf8NhMHS2DuEB/TiEmVnpr5OqPU3i8lfbxaAmC2J/KYuIQxyoQQ6DxepyXp61/xw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-scroll-area@1.2.3':
+ resolution: {integrity: sha512-l7+NNBfBYYJa9tNqVcP2AGvxdE3lmE6kFTBXdvHgUaZuy+4wGCL1Cl2AfaR7RKyimj7lZURGLwFO59k4eBnDJQ==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-slot@1.1.2':
+ resolution: {integrity: sha512-YAKxaiGsSQJ38VzKH86/BPRC4rh+b1Jpa+JneA5LRE7skmLPNAyeG8kPJj/oo4STLvlrs8vkf/iYyc3A5stYCQ==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-tabs@1.1.3':
+ resolution: {integrity: sha512-9mFyI30cuRDImbmFF6O2KUJdgEOsGh9Vmx9x/Dh9tOhL7BngmQPQfwW4aejKm5OHpfWIdmeV6ySyuxoOGjtNng==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-tooltip@1.1.8':
+ resolution: {integrity: sha512-YAA2cu48EkJZdAMHC0dqo9kialOcRStbtiY4nJPaht7Ptrhcvpo+eDChaM6BIs8kL6a8Z5l5poiqLnXcNduOkA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-use-callback-ref@1.1.0':
+ resolution: {integrity: sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-controllable-state@1.1.0':
+ resolution: {integrity: sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-escape-keydown@1.1.0':
+ resolution: {integrity: sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-layout-effect@1.1.0':
+ resolution: {integrity: sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-previous@1.1.0':
+ resolution: {integrity: sha512-Z/e78qg2YFnnXcW88A4JmTtm4ADckLno6F7OXotmkQfeuCVaKuYzqAATPhVzl3delXE7CxIV8shofPn3jPc5Og==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-rect@1.1.0':
+ resolution: {integrity: sha512-0Fmkebhr6PiseyZlYAOtLS+nb7jLmpqTrJyv61Pe68MKYW6OWdRE2kI70TaYY27u7H0lajqM3hSMMLFq18Z7nQ==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-size@1.1.0':
+ resolution: {integrity: sha512-XW3/vWuIXHa+2Uwcc2ABSfcCledmXhhQPlGbfcRXbiUQI5Icjcg19BGCZVKKInYbvUCut/ufbbLLPFC5cbb1hw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-visually-hidden@1.1.2':
+ resolution: {integrity: sha512-1SzA4ns2M1aRlvxErqhLHsBHoS5eI5UUcI2awAMgGUp4LoaoWOKYmvqDY2s/tltuPkh3Yk77YF/r3IRj+Amx4Q==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/rect@1.1.0':
+ resolution: {integrity: sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg==}
+
+ '@react-email/body@0.0.11':
+ resolution: {integrity: sha512-ZSD2SxVSgUjHGrB0Wi+4tu3MEpB4fYSbezsFNEJk2xCWDBkFiOeEsjTmR5dvi+CxTK691hQTQlHv0XWuP7ENTg==}
+ peerDependencies:
+ react: ^18.0 || ^19.0 || ^19.0.0-rc
+
+ '@react-email/button@0.0.19':
+ resolution: {integrity: sha512-HYHrhyVGt7rdM/ls6FuuD6XE7fa7bjZTJqB2byn6/oGsfiEZaogY77OtoLL/mrQHjHjZiJadtAMSik9XLcm7+A==}
+ engines: {node: '>=18.0.0'}
+ peerDependencies:
+ react: ^18.0 || ^19.0 || ^19.0.0-rc
+
+ '@react-email/code-block@0.0.11':
+ resolution: {integrity: sha512-4D43p+LIMjDzm66gTDrZch0Flkip5je91mAT7iGs6+SbPyalHgIA+lFQoQwhz/VzHHLxuD0LV6gwmU/WUQ2WEg==}
+ engines: {node: '>=18.0.0'}
+ peerDependencies:
+ react: ^18.0 || ^19.0 || ^19.0.0-rc
+
+ '@react-email/code-inline@0.0.5':
+ resolution: {integrity: sha512-MmAsOzdJpzsnY2cZoPHFPk6uDO/Ncpb4Kh1hAt9UZc1xOW3fIzpe1Pi9y9p6wwUmpaeeDalJxAxH6/fnTquinA==}
+ engines: {node: '>=18.0.0'}
+ peerDependencies:
+ react: ^18.0 || ^19.0 || ^19.0.0-rc
+
+ '@react-email/column@0.0.13':
+ resolution: {integrity: sha512-Lqq17l7ShzJG/d3b1w/+lVO+gp2FM05ZUo/nW0rjxB8xBICXOVv6PqjDnn3FXKssvhO5qAV20lHM6S+spRhEwQ==}
+ engines: {node: '>=18.0.0'}
+ peerDependencies:
+ react: ^18.0 || ^19.0 || ^19.0.0-rc
+
+ '@react-email/components@0.0.34':
+ resolution: {integrity: sha512-9aUJJ4Yu5Cd5++2GHwdkmOHCghi0vPP/aZwMCGNNTovBTDCI3mc8YIUrDR7JfscrdkPK4s/E9AoD5lX6d/zITA==}
+ engines: {node: '>=18.0.0'}
+ peerDependencies:
+ react: ^18.0 || ^19.0 || ^19.0.0-rc
+
+ '@react-email/container@0.0.15':
+ resolution: {integrity: sha512-Qo2IQo0ru2kZq47REmHW3iXjAQaKu4tpeq/M8m1zHIVwKduL2vYOBQWbC2oDnMtWPmkBjej6XxgtZByxM6cCFg==}
+ engines: {node: '>=18.0.0'}
+ peerDependencies:
+ react: ^18.0 || ^19.0 || ^19.0.0-rc
+
+ '@react-email/font@0.0.9':
+ resolution: {integrity: sha512-4zjq23oT9APXkerqeslPH3OZWuh5X4crHK6nx82mVHV2SrLba8+8dPEnWbaACWTNjOCbcLIzaC9unk7Wq2MIXw==}
+ peerDependencies:
+ react: ^18.0 || ^19.0 || ^19.0.0-rc
+
+ '@react-email/head@0.0.12':
+ resolution: {integrity: sha512-X2Ii6dDFMF+D4niNwMAHbTkeCjlYYnMsd7edXOsi0JByxt9wNyZ9EnhFiBoQdqkE+SMDcu8TlNNttMrf5sJeMA==}
+ engines: {node: '>=18.0.0'}
+ peerDependencies:
+ react: ^18.0 || ^19.0 || ^19.0.0-rc
+
+ '@react-email/heading@0.0.15':
+ resolution: {integrity: sha512-xF2GqsvBrp/HbRHWEfOgSfRFX+Q8I5KBEIG5+Lv3Vb2R/NYr0s8A5JhHHGf2pWBMJdbP4B2WHgj/VUrhy8dkIg==}
+ engines: {node: '>=18.0.0'}
+ peerDependencies:
+ react: ^18.0 || ^19.0 || ^19.0.0-rc
+
+ '@react-email/hr@0.0.11':
+ resolution: {integrity: sha512-S1gZHVhwOsd1Iad5IFhpfICwNPMGPJidG/Uysy1AwmspyoAP5a4Iw3OWEpINFdgh9MHladbxcLKO2AJO+cA9Lw==}
+ engines: {node: '>=18.0.0'}
+ peerDependencies:
+ react: ^18.0 || ^19.0 || ^19.0.0-rc
+
+ '@react-email/html@0.0.11':
+ resolution: {integrity: sha512-qJhbOQy5VW5qzU74AimjAR9FRFQfrMa7dn4gkEXKMB/S9xZN8e1yC1uA9C15jkXI/PzmJ0muDIWmFwatm5/+VA==}
+ engines: {node: '>=18.0.0'}
+ peerDependencies:
+ react: ^18.0 || ^19.0 || ^19.0.0-rc
+
+ '@react-email/img@0.0.11':
+ resolution: {integrity: sha512-aGc8Y6U5C3igoMaqAJKsCpkbm1XjguQ09Acd+YcTKwjnC2+0w3yGUJkjWB2vTx4tN8dCqQCXO8FmdJpMfOA9EQ==}
+ engines: {node: '>=18.0.0'}
+ peerDependencies:
+ react: ^18.0 || ^19.0 || ^19.0.0-rc
+
+ '@react-email/link@0.0.12':
+ resolution: {integrity: sha512-vF+xxQk2fGS1CN7UPQDbzvcBGfffr+GjTPNiWM38fhBfsLv6A/YUfaqxWlmL7zLzVmo0K2cvvV9wxlSyNba1aQ==}
+ engines: {node: '>=18.0.0'}
+ peerDependencies:
+ react: ^18.0 || ^19.0 || ^19.0.0-rc
+
+ '@react-email/markdown@0.0.14':
+ resolution: {integrity: sha512-5IsobCyPkb4XwnQO8uFfGcNOxnsg3311GRXhJ3uKv51P7Jxme4ycC/MITnwIZ10w2zx7HIyTiqVzTj4XbuIHbg==}
+ engines: {node: '>=18.0.0'}
+ peerDependencies:
+ react: ^18.0 || ^19.0 || ^19.0.0-rc
+
+ '@react-email/preview@0.0.12':
+ resolution: {integrity: sha512-g/H5fa9PQPDK6WUEG7iTlC19sAktI23qyoiJtMLqQiXFCfWeQMhqjLGKeLSKkfzszqmfJCjZtpSiKtBoOdxp3Q==}
+ engines: {node: '>=18.0.0'}
+ peerDependencies:
+ react: ^18.0 || ^19.0 || ^19.0.0-rc
+
+ '@react-email/render@1.0.5':
+ resolution: {integrity: sha512-CA69HYXPk21HhtAXATIr+9JJwpDNmAFCvdMUjWmeoD1+KhJ9NAxusMRxKNeibdZdslmq3edaeOKGbdQ9qjK8LQ==}
+ engines: {node: '>=18.0.0'}
+ peerDependencies:
+ react: ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^18.0 || ^19.0 || ^19.0.0-rc
+
+ '@react-email/row@0.0.12':
+ resolution: {integrity: sha512-HkCdnEjvK3o+n0y0tZKXYhIXUNPDx+2vq1dJTmqappVHXS5tXS6W5JOPZr5j+eoZ8gY3PShI2LWj5rWF7ZEtIQ==}
+ engines: {node: '>=18.0.0'}
+ peerDependencies:
+ react: ^18.0 || ^19.0 || ^19.0.0-rc
+
+ '@react-email/section@0.0.16':
+ resolution: {integrity: sha512-FjqF9xQ8FoeUZYKSdt8sMIKvoT9XF8BrzhT3xiFKdEMwYNbsDflcjfErJe3jb7Wj/es/lKTbV5QR1dnLzGpL3w==}
+ engines: {node: '>=18.0.0'}
+ peerDependencies:
+ react: ^18.0 || ^19.0 || ^19.0.0-rc
+
+ '@react-email/tailwind@1.0.4':
+ resolution: {integrity: sha512-tJdcusncdqgvTUYZIuhNC6LYTfL9vNTSQpwWdTCQhQ1lsrNCEE4OKCSdzSV3S9F32pi0i0xQ+YPJHKIzGjdTSA==}
+ engines: {node: '>=18.0.0'}
+ peerDependencies:
+ react: ^18.0 || ^19.0 || ^19.0.0-rc
+
+ '@react-email/text@0.1.0':
+ resolution: {integrity: sha512-LG+gEuxpoIiOojkv40iktP8UVjkJVZ+ksEEuf7zRvrcwLcVuzYyirlWdkGr4Vu/AhsD4FDRoxDWlWvLTx+WHUg==}
+ engines: {node: '>=18.0.0'}
+ peerDependencies:
+ react: ^18.0 || ^19.0 || ^19.0.0-rc
+
+ '@remirror/core-constants@3.0.0':
+ resolution: {integrity: sha512-42aWfPrimMfDKDi4YegyS7x+/0tlzaqwPQCULLanv3DMIlu96KTJR0fM5isWX2UViOqlGnX6YFgqWepcX+XMNg==}
+
+ '@selderee/plugin-htmlparser2@0.11.0':
+ resolution: {integrity: sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ==}
+
+ '@shikijs/core@3.2.1':
+ resolution: {integrity: sha512-FhsdxMWYu/C11sFisEp7FMGBtX/OSSbnXZDMBhGuUDBNTdsoZlMSgQv5f90rwvzWAdWIW6VobD+G3IrazxA6dQ==}
+
+ '@shikijs/engine-javascript@3.2.1':
+ resolution: {integrity: sha512-eMdcUzN3FMQYxOmRf2rmU8frikzoSHbQDFH2hIuXsrMO+IBOCI9BeeRkCiBkcLDHeRKbOCtYMJK3D6U32ooU9Q==}
+
+ '@shikijs/engine-oniguruma@3.2.1':
+ resolution: {integrity: sha512-wZZAkayEn6qu2+YjenEoFqj0OyQI64EWsNR6/71d1EkG4sxEOFooowKivsWPpaWNBu3sxAG+zPz5kzBL/SsreQ==}
+
+ '@shikijs/langs@3.2.1':
+ resolution: {integrity: sha512-If0iDHYRSGbihiA8+7uRsgb1er1Yj11pwpX1c6HLYnizDsKAw5iaT3JXj5ZpaimXSWky/IhxTm7C6nkiYVym+A==}
+
+ '@shikijs/rehype@3.2.1':
+ resolution: {integrity: sha512-wj4TXI1PQ3TNPyXudUzKfdFIMneTxFym3HKKfWRzbOSAS8P4mECR+ttdUPhYU1dxrXrsatWxTJezOcEjiA0z8g==}
+
+ '@shikijs/themes@3.2.1':
+ resolution: {integrity: sha512-k5DKJUT8IldBvAm8WcrDT5+7GA7se6lLksR+2E3SvyqGTyFMzU2F9Gb7rmD+t+Pga1MKrYFxDIeyWjMZWM6uBQ==}
+
+ '@shikijs/transformers@3.2.1':
+ resolution: {integrity: sha512-oIT40p8LOPV/6XLnUrVPeRtJtbu0Mpl+BjGFuMXw870eX9zTSQlidg7CsksFDVyUiSAOC/CH1RQm+ldZp0/6eQ==}
+
+ '@shikijs/twoslash@3.2.1':
+ resolution: {integrity: sha512-2ZiL9xXY8JRXHG5BdJXE9KoIeSsyH9/yK+YTN90/SUIKkq7Nf5dWqXp5wJ6+4SL0FQO8mq2HUutwqU+gamOgOA==}
+ peerDependencies:
+ typescript: '>=5.5.0'
+
+ '@shikijs/types@3.2.1':
+ resolution: {integrity: sha512-/NTWAk4KE2M8uac0RhOsIhYQf4pdU0OywQuYDGIGAJ6Mjunxl2cGiuLkvu4HLCMn+OTTLRWkjZITp+aYJv60yA==}
+
+ '@shikijs/vscode-textmate@10.0.2':
+ resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==}
+
+ '@simplewebauthn/browser@13.1.0':
+ resolution: {integrity: sha512-WuHZ/PYvyPJ9nxSzgHtOEjogBhwJfC8xzYkPC+rR/+8chl/ft4ngjiK8kSU5HtRJfczupyOh33b25TjYbvwAcg==}
+
+ '@simplewebauthn/server@13.1.1':
+ resolution: {integrity: sha512-1hsLpRHfSuMB9ee2aAdh0Htza/X3f4djhYISrggqGe3xopNjOcePiSDkDDoPzDYaaMCrbqGP1H2TYU7bgL9PmA==}
+ engines: {node: '>=20.0.0'}
+
+ '@socket.io/component-emitter@3.1.2':
+ resolution: {integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==}
+
+ '@standard-schema/spec@1.0.0':
+ resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==}
+
+ '@standard-schema/utils@0.3.0':
+ resolution: {integrity: sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==}
+
+ '@swc/counter@0.1.3':
+ resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==}
+
+ '@swc/helpers@0.5.15':
+ resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==}
+
+ '@t3-oss/env-core@0.12.0':
+ resolution: {integrity: sha512-lOPj8d9nJJTt81mMuN9GMk8x5veOt7q9m11OSnCBJhwp1QrL/qR+M8Y467ULBSm9SunosryWNbmQQbgoiMgcdw==}
+ peerDependencies:
+ typescript: '>=5.0.0'
+ valibot: ^1.0.0-beta.7 || ^1.0.0
+ zod: ^3.24.0
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ valibot:
+ optional: true
+ zod:
+ optional: true
+
+ '@t3-oss/env-nextjs@0.12.0':
+ resolution: {integrity: sha512-rFnvYk1049RnNVUPvY8iQ55AuQh1Rr+qZzQBh3t++RttCGK4COpXGNxS4+45afuQq02lu+QAOy/5955aU8hRKw==}
+ peerDependencies:
+ typescript: '>=5.0.0'
+ valibot: ^1.0.0-beta.7 || ^1.0.0
+ zod: ^3.24.0
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ valibot:
+ optional: true
+ zod:
+ optional: true
+
+ '@tailwindcss/node@4.0.15':
+ resolution: {integrity: sha512-IODaJjNmiasfZX3IoS+4Em3iu0fD2HS0/tgrnkYfW4hyUor01Smnr5eY3jc4rRgaTDrJlDmBTHbFO0ETTDaxWA==}
+
+ '@tailwindcss/oxide-android-arm64@4.0.15':
+ resolution: {integrity: sha512-EBuyfSKkom7N+CB3A+7c0m4+qzKuiN0WCvzPvj5ZoRu4NlQadg/mthc1tl5k9b5ffRGsbDvP4k21azU4VwVk3Q==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [android]
+
+ '@tailwindcss/oxide-darwin-arm64@4.0.15':
+ resolution: {integrity: sha512-ObVAnEpLepMhV9VoO0JSit66jiN5C4YCqW3TflsE9boo2Z7FIjV80RFbgeL2opBhtxbaNEDa6D0/hq/EP03kgQ==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@tailwindcss/oxide-darwin-x64@4.0.15':
+ resolution: {integrity: sha512-IElwoFhUinOr9MyKmGTPNi1Rwdh68JReFgYWibPWTGuevkHkLWKEflZc2jtI5lWZ5U9JjUnUfnY43I4fEXrc4g==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@tailwindcss/oxide-freebsd-x64@4.0.15':
+ resolution: {integrity: sha512-6BLLqyx7SIYRBOnTZ8wgfXANLJV5TQd3PevRJZp0vn42eO58A2LykRKdvL1qyPfdpmEVtF+uVOEZ4QTMqDRAWA==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@tailwindcss/oxide-linux-arm-gnueabihf@4.0.15':
+ resolution: {integrity: sha512-Zy63EVqO9241Pfg6G0IlRIWyY5vNcWrL5dd2WAKVJZRQVeolXEf1KfjkyeAAlErDj72cnyXObEZjMoPEKHpdNw==}
+ engines: {node: '>= 10'}
+ cpu: [arm]
+ os: [linux]
+
+ '@tailwindcss/oxide-linux-arm64-gnu@4.0.15':
+ resolution: {integrity: sha512-2NemGQeaTbtIp1Z2wyerbVEJZTkAWhMDOhhR5z/zJ75yMNf8yLnE+sAlyf6yGDNr+1RqvWrRhhCFt7i0CIxe4Q==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@tailwindcss/oxide-linux-arm64-musl@4.0.15':
+ resolution: {integrity: sha512-342GVnhH/6PkVgKtEzvNVuQ4D+Q7B7qplvuH20Cfz9qEtydG6IQczTZ5IT4JPlh931MG1NUCVxg+CIorr1WJyw==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@tailwindcss/oxide-linux-x64-gnu@4.0.15':
+ resolution: {integrity: sha512-g76GxlKH124RuGqacCEFc2nbzRl7bBrlC8qDQMiUABkiifDRHOIUjgKbLNG4RuR9hQAD/MKsqZ7A8L08zsoBrw==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+
+ '@tailwindcss/oxide-linux-x64-musl@4.0.15':
+ resolution: {integrity: sha512-Gg/Y1XrKEvKpq6WeNt2h8rMIKOBj/W3mNa5NMvkQgMC7iO0+UNLrYmt6zgZufht66HozNpn+tJMbbkZ5a3LczA==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+
+ '@tailwindcss/oxide-win32-arm64-msvc@4.0.15':
+ resolution: {integrity: sha512-7QtSSJwYZ7ZK1phVgcNZpuf7c7gaCj8Wb0xjliligT5qCGCp79OV2n3SJummVZdw4fbTNKUOYMO7m1GinppZyA==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@tailwindcss/oxide-win32-x64-msvc@4.0.15':
+ resolution: {integrity: sha512-JQ5H+5MLhOjpgNp6KomouE0ZuKmk3hO5h7/ClMNAQ8gZI2zkli3IH8ZqLbd2DVfXDbdxN2xvooIEeIlkIoSCqw==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [win32]
+
+ '@tailwindcss/oxide@4.0.15':
+ resolution: {integrity: sha512-e0uHrKfPu7JJGMfjwVNyt5M0u+OP8kUmhACwIRlM+JNBuReDVQ63yAD1NWe5DwJtdaHjugNBil76j+ks3zlk6g==}
+ engines: {node: '>= 10'}
+
+ '@tailwindcss/postcss@4.0.4':
+ resolution: {integrity: sha512-Up8fB+DUhy8qvDqlHgZAWaL5iVEbypcuOjzlW4K6EyU+aGEvXK0/wrcKBKOTvg3KKP5givJMexJ0aG1hDPOuRg==}
+
+ '@tiptap/core@2.11.5':
+ resolution: {integrity: sha512-jb0KTdUJaJY53JaN7ooY3XAxHQNoMYti/H6ANo707PsLXVeEqJ9o8+eBup1JU5CuwzrgnDc2dECt2WIGX9f8Jw==}
+ peerDependencies:
+ '@tiptap/pm': ^2.7.0
+
+ '@tiptap/extension-bold@2.11.5':
+ resolution: {integrity: sha512-OAq03MHEbl7MtYCUzGuwb0VpOPnM0k5ekMbEaRILFU5ZC7cEAQ36XmPIw1dQayrcuE8GZL35BKub2qtRxyC9iA==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+
+ '@tiptap/extension-bubble-menu@2.11.5':
+ resolution: {integrity: sha512-rx+rMd7EEdht5EHLWldpkzJ56SWYA9799b33ustePqhXd6linnokJCzBqY13AfZ9+xp3RsR6C0ZHI9GGea0tIA==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+ '@tiptap/pm': ^2.7.0
+
+ '@tiptap/extension-code-block-lowlight@2.11.5':
+ resolution: {integrity: sha512-EIE+mAGsp8C69dI0Yyg+VH1x36rgyPJc93SfA7h4xFF6Oth18z4YhJtiLaZcwCMyOOVs2efApZ0R3/Fnz2VlqA==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+ '@tiptap/extension-code-block': ^2.7.0
+ '@tiptap/pm': ^2.7.0
+ highlight.js: ^11
+ lowlight: ^2 || ^3
+
+ '@tiptap/extension-code-block@2.11.5':
+ resolution: {integrity: sha512-ksxMMvqLDlC+ftcQLynqZMdlJT1iHYZorXsXw/n+wuRd7YElkRkd6YWUX/Pq/njFY6lDjKiqFLEXBJB8nrzzBA==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+ '@tiptap/pm': ^2.7.0
+
+ '@tiptap/extension-code@2.11.5':
+ resolution: {integrity: sha512-xOvHevNIQIcCCVn9tpvXa1wBp0wHN/2umbAZGTVzS+AQtM7BTo0tz8IyzwxkcZJaImONcUVYLOLzt2AgW1LltA==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+
+ '@tiptap/extension-document@2.11.5':
+ resolution: {integrity: sha512-7I4BRTpIux2a0O2qS3BDmyZ5LGp3pszKbix32CmeVh7lN9dV7W5reDqtJJ9FCZEEF+pZ6e1/DQA362dflwZw2g==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+
+ '@tiptap/extension-dropcursor@2.11.5':
+ resolution: {integrity: sha512-uIN7L3FU0904ec7FFFbndO7RQE/yiON4VzAMhNn587LFMyWO8US139HXIL4O8dpZeYwYL3d1FnDTflZl6CwLlg==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+ '@tiptap/pm': ^2.7.0
+
+ '@tiptap/extension-floating-menu@2.11.5':
+ resolution: {integrity: sha512-HsMI0hV5Lwzm530Z5tBeyNCBNG38eJ3qjfdV2OHlfSf3+KOEfn6a5AUdoNaZO02LF79/8+7BaYU2drafag9cxQ==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+ '@tiptap/pm': ^2.7.0
+
+ '@tiptap/extension-gapcursor@2.11.5':
+ resolution: {integrity: sha512-kcWa+Xq9cb6lBdiICvLReuDtz/rLjFKHWpW3jTTF3FiP3wx4H8Rs6bzVtty7uOVTfwupxZRiKICAMEU6iT0xrQ==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+ '@tiptap/pm': ^2.7.0
+
+ '@tiptap/extension-history@2.11.5':
+ resolution: {integrity: sha512-b+wOS33Dz1azw6F1i9LFTEIJ/gUui0Jwz5ZvmVDpL2ZHBhq1Ui0/spTT+tuZOXq7Y/uCbKL8Liu4WoedIvhboQ==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+ '@tiptap/pm': ^2.7.0
+
+ '@tiptap/extension-image@2.11.5':
+ resolution: {integrity: sha512-HbUq9AL8gb8eSuQfY/QKkvMc66ZFN/b6jvQAILGArNOgalUfGizoC6baKTJShaExMSPjBZlaAHtJiQKPaGRHaA==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+
+ '@tiptap/extension-italic@2.11.5':
+ resolution: {integrity: sha512-9VGfb2/LfPhQ6TjzDwuYLRvw0A6VGbaIp3F+5Mql8XVdTBHb2+rhELbyhNGiGVR78CaB/EiKb6dO9xu/tBWSYA==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+
+ '@tiptap/extension-link@2.11.5':
+ resolution: {integrity: sha512-4Iu/aPzevbYpe50xDI0ZkqRa6nkZ9eF270Ue2qaF3Ab47nehj+9Jl78XXzo8+LTyFMnrETI73TAs1aC/IGySeQ==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+ '@tiptap/pm': ^2.7.0
+
+ '@tiptap/extension-mention@2.11.5':
+ resolution: {integrity: sha512-xj0/P4WSQWiDHzQLSIqdPUEu8LlC+ptSYA+y9IDChG51j1jVqcmolnS4sxpyrfr/t0ug0smNmJ4PDjQtXaG63A==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+ '@tiptap/pm': ^2.7.0
+ '@tiptap/suggestion': ^2.7.0
+
+ '@tiptap/extension-paragraph@2.11.5':
+ resolution: {integrity: sha512-YFBWeg7xu/sBnsDIF/+nh9Arf7R0h07VZMd0id5Ydd2Qe3c1uIZwXxeINVtH0SZozuPIQFAT8ICe9M0RxmE+TA==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+
+ '@tiptap/extension-placeholder@2.11.5':
+ resolution: {integrity: sha512-Pr+0Ju/l2ZvXMd9VQxtaoSZbs0BBp1jbBDqwms88ctpyvQFRfLSfSkqudQcSHyw2ROOz2E31p/7I7fpI8Y0CLA==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+ '@tiptap/pm': ^2.7.0
+
+ '@tiptap/extension-strike@2.11.5':
+ resolution: {integrity: sha512-PVfUiCqrjvsLpbIoVlegSY8RlkR64F1Rr2RYmiybQfGbg+AkSZXDeO0eIrc03//4gua7D9DfIozHmAKv1KN3ow==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+
+ '@tiptap/extension-text@2.11.5':
+ resolution: {integrity: sha512-Gq1WwyhFpCbEDrLPIHt5A8aLSlf8bfz4jm417c8F/JyU0J5dtYdmx0RAxjnLw1i7ZHE7LRyqqAoS0sl7JHDNSQ==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+
+ '@tiptap/pm@2.11.5':
+ resolution: {integrity: sha512-z9JFtqc5ZOsdQLd9vRnXfTCQ8v5ADAfRt9Nm7SqP6FUHII8E1hs38ACzf5xursmth/VonJYb5+73Pqxk1hGIPw==}
+
+ '@tiptap/react@2.11.5':
+ resolution: {integrity: sha512-Dp8eHL1G+R/C4+QzAczyb3t1ovexEIZx9ln7SGEM+cT1KHKAw9XGPRgsp92+NQaYI+EdEb/YqoBOSzQcd18/OQ==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+ '@tiptap/pm': ^2.7.0
+ react: ^17.0.0 || ^18.0.0 || ^19.0.0
+ react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0
+
+ '@tiptap/suggestion@2.11.5':
+ resolution: {integrity: sha512-uafwGgB5YuKX/xLRjnt2H5eA21I8HcNXpdbH4Du2gg3KM71RpUbkyjaV7KEMA/5qwCEo+sddlpuErj4wBycZ5Q==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+ '@tiptap/pm': ^2.7.0
+
+ '@types/acorn@4.0.6':
+ resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==}
+
+ '@types/cors@2.8.17':
+ resolution: {integrity: sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==}
+
+ '@types/debug@4.1.12':
+ resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
+
+ '@types/estree-jsx@1.0.5':
+ resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==}
+
+ '@types/estree@1.0.6':
+ resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==}
+
+ '@types/hast@3.0.4':
+ resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==}
+
+ '@types/katex@0.16.7':
+ resolution: {integrity: sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==}
+
+ '@types/linkify-it@5.0.0':
+ resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==}
+
+ '@types/markdown-it@14.1.2':
+ resolution: {integrity: sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==}
+
+ '@types/mdast@4.0.4':
+ resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==}
+
+ '@types/mdurl@2.0.0':
+ resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==}
+
+ '@types/mdx@2.0.13':
+ resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==}
+
+ '@types/ms@2.1.0':
+ resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==}
+
+ '@types/node@22.13.1':
+ resolution: {integrity: sha512-jK8uzQlrvXqEU91UxiK5J7pKHyzgnI1Qnl0QDHIgVGuolJhRb9EEl28Cj9b3rGR8B2lhFCtvIm5os8lFnO/1Ew==}
+
+ '@types/pg@8.11.11':
+ resolution: {integrity: sha512-kGT1qKM8wJQ5qlawUrEkXgvMSXoV213KfMGXcwfDwUIfUHXqXYXOfS1nE1LINRJVVVx5wCm70XnFlMHaIcQAfw==}
+
+ '@types/prismjs@1.26.5':
+ resolution: {integrity: sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==}
+
+ '@types/react-dom@19.0.3':
+ resolution: {integrity: sha512-0Knk+HJiMP/qOZgMyNFamlIjw9OFCsyC2ZbigmEEyXXixgre6IQpm/4V+r3qH4GC1JPvRJKInw+on2rV6YZLeA==}
+ peerDependencies:
+ '@types/react': ^19.0.0
+
+ '@types/react@19.0.8':
+ resolution: {integrity: sha512-9P/o1IGdfmQxrujGbIMDyYaaCykhLKc0NGCtYcECNUr9UAaDe4gwvV9bR6tvd5Br1SG0j+PBpbKr2UYY8CwqSw==}
+
+ '@types/rss@0.0.32':
+ resolution: {integrity: sha512-2oKNqKyUY4RSdvl5eZR1n2Q9yvw3XTe3mQHsFPn9alaNBxfPnbXBtGP8R0SV8pK1PrVnLul0zx7izbm5/gF5Qw==}
+
+ '@types/unist@2.0.11':
+ resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==}
+
+ '@types/unist@3.0.3':
+ resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==}
+
+ '@types/use-sync-external-store@0.0.6':
+ resolution: {integrity: sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==}
+
+ '@typescript/vfs@1.6.1':
+ resolution: {integrity: sha512-JwoxboBh7Oz1v38tPbkrZ62ZXNHAk9bJ7c9x0eI5zBfBnBYGhURdbnh7Z4smN/MV48Y5OCcZb58n972UtbazsA==}
+ peerDependencies:
+ typescript: '*'
+
+ '@ungap/structured-clone@1.3.0':
+ resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==}
+
+ accepts@1.3.8:
+ resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
+ engines: {node: '>= 0.6'}
+
+ acorn-jsx@5.3.2:
+ resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+
+ acorn@8.14.1:
+ resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+
+ ansi-regex@5.0.1:
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
+ engines: {node: '>=8'}
+
+ ansi-regex@6.1.0:
+ resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==}
+ engines: {node: '>=12'}
+
+ ansi-styles@4.3.0:
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
+ engines: {node: '>=8'}
+
+ ansi-styles@6.2.1:
+ resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
+ engines: {node: '>=12'}
+
+ argparse@1.0.10:
+ resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
+
+ argparse@2.0.1:
+ resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+
+ aria-hidden@1.2.4:
+ resolution: {integrity: sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==}
+ engines: {node: '>=10'}
+
+ asn1js@3.0.5:
+ resolution: {integrity: sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==}
+ engines: {node: '>=12.0.0'}
+
+ astring@1.9.0:
+ resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==}
+ hasBin: true
+
+ bail@2.0.2:
+ resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==}
+
+ balanced-match@1.0.2:
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+
+ base64-js@1.5.1:
+ resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
+
+ base64id@2.0.0:
+ resolution: {integrity: sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==}
+ engines: {node: ^4.5.0 || >= 5.9}
+
+ better-auth@1.2.5:
+ resolution: {integrity: sha512-Tz2aKImkvaT7P9qHQ67Vhw/Slo6zpvE0jG7GoDQM+dd5tWuC3lP0OGjjWkNCZdToVlWB193i5nSHeZT90sFqEw==}
+
+ better-call@1.0.5:
+ resolution: {integrity: sha512-rAT73GWIJ8LbSP8Y3BdJnY1hwAiQPRRmUJ4R3YVhcVGS927l3eTXG5o5TD6Bv6je6ygjdx6iVq3/BU49eGUCHg==}
+
+ bl@4.1.0:
+ resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
+
+ brace-expansion@2.0.1:
+ resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
+
+ braces@3.0.3:
+ resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
+ engines: {node: '>=8'}
+
+ buffer-from@1.1.2:
+ resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
+
+ buffer@5.7.1:
+ resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
+
+ busboy@1.6.0:
+ resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==}
+ engines: {node: '>=10.16.0'}
+
+ caniuse-lite@1.0.30001707:
+ resolution: {integrity: sha512-3qtRjw/HQSMlDWf+X79N206fepf4SOOU6SQLMaq/0KkZLmSjPxAkBOQQ+FxbHKfHmYLZFfdWsO3KA90ceHPSnw==}
+
+ ccount@2.0.1:
+ resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
+
+ chalk@4.1.2:
+ resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
+ engines: {node: '>=10'}
+
+ character-entities-html4@2.1.0:
+ resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==}
+
+ character-entities-legacy@3.0.0:
+ resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==}
+
+ character-entities@2.0.2:
+ resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==}
+
+ character-reference-invalid@2.0.1:
+ resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==}
+
+ chokidar@4.0.3:
+ resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
+ engines: {node: '>= 14.16.0'}
+
+ class-variance-authority@0.7.1:
+ resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==}
+
+ cli-cursor@3.1.0:
+ resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==}
+ engines: {node: '>=8'}
+
+ cli-spinners@2.9.2:
+ resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==}
+ engines: {node: '>=6'}
+
+ client-only@0.0.1:
+ resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
+
+ clone@1.0.4:
+ resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==}
+ engines: {node: '>=0.8'}
+
+ clsx@2.1.1:
+ resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
+ engines: {node: '>=6'}
+
+ collapse-white-space@2.1.0:
+ resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==}
+
+ color-convert@2.0.1:
+ resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
+ engines: {node: '>=7.0.0'}
+
+ color-name@1.1.4:
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+
+ color-string@1.9.1:
+ resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==}
+
+ color@4.2.3:
+ resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==}
+ engines: {node: '>=12.5.0'}
+
+ comma-separated-tokens@2.0.3:
+ resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
+
+ commander@11.1.0:
+ resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==}
+ engines: {node: '>=16'}
+
+ commander@8.3.0:
+ resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
+ engines: {node: '>= 12'}
+
+ compute-scroll-into-view@3.1.1:
+ resolution: {integrity: sha512-VRhuHOLoKYOy4UbilLbUzbYg93XLjv2PncJC50EuTWPA3gaja1UjBsUP/D/9/juV3vQFr6XBEzn9KCAHdUvOHw==}
+
+ cookie@0.7.2:
+ resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==}
+ engines: {node: '>= 0.6'}
+
+ cors@2.8.5:
+ resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==}
+ engines: {node: '>= 0.10'}
+
+ crelt@1.0.6:
+ resolution: {integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==}
+
+ cross-spawn@7.0.6:
+ resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
+ engines: {node: '>= 8'}
+
+ cssesc@3.0.0:
+ resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ csstype@3.1.3:
+ resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
+
+ debounce@2.0.0:
+ resolution: {integrity: sha512-xRetU6gL1VJbs85Mc4FoEGSjQxzpdxRyFhe3lmWFyy2EzydIcD4xzUvRJMD+NPDfMwKNhxa3PvsIOU32luIWeA==}
+ engines: {node: '>=18'}
+
+ debug@4.3.7:
+ resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
+ debug@4.4.0:
+ resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
+ decode-named-character-reference@1.1.0:
+ resolution: {integrity: sha512-Wy+JTSbFThEOXQIR2L6mxJvEs+veIzpmqD7ynWxMXGpnk3smkHQOp6forLdHsKpAMW9iJpaBBIxz285t1n1C3w==}
+
+ deepmerge@4.3.1:
+ resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
+ engines: {node: '>=0.10.0'}
+
+ defaults@1.0.4:
+ resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==}
+
+ defu@6.1.4:
+ resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
+
+ dequal@2.0.3:
+ resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
+ engines: {node: '>=6'}
+
+ detect-libc@2.0.3:
+ resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==}
+ engines: {node: '>=8'}
+
+ detect-node-es@1.1.0:
+ resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==}
+
+ devlop@1.1.0:
+ resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
+
+ dom-serializer@2.0.0:
+ resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
+
+ domelementtype@2.3.0:
+ resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
+
+ domhandler@5.0.3:
+ resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
+ engines: {node: '>= 4'}
+
+ domutils@3.2.2:
+ resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==}
+
+ drizzle-kit@0.30.6:
+ resolution: {integrity: sha512-U4wWit0fyZuGuP7iNmRleQyK2V8wCuv57vf5l3MnG4z4fzNTjY/U13M8owyQ5RavqvqxBifWORaR3wIUzlN64g==}
+ hasBin: true
+
+ drizzle-orm@0.41.0:
+ resolution: {integrity: sha512-7A4ZxhHk9gdlXmTdPj/lREtP+3u8KvZ4yEN6MYVxBzZGex5Wtdc+CWSbu7btgF6TB0N+MNPrvW7RKBbxJchs/Q==}
+ peerDependencies:
+ '@aws-sdk/client-rds-data': '>=3'
+ '@cloudflare/workers-types': '>=4'
+ '@electric-sql/pglite': '>=0.2.0'
+ '@libsql/client': '>=0.10.0'
+ '@libsql/client-wasm': '>=0.10.0'
+ '@neondatabase/serverless': '>=0.10.0'
+ '@op-engineering/op-sqlite': '>=2'
+ '@opentelemetry/api': ^1.4.1
+ '@planetscale/database': '>=1'
+ '@prisma/client': '*'
+ '@tidbcloud/serverless': '*'
+ '@types/better-sqlite3': '*'
+ '@types/pg': '*'
+ '@types/sql.js': '*'
+ '@vercel/postgres': '>=0.8.0'
+ '@xata.io/client': '*'
+ better-sqlite3: '>=7'
+ bun-types: '*'
+ expo-sqlite: '>=14.0.0'
+ gel: '>=2'
+ knex: '*'
+ kysely: '*'
+ mysql2: '>=2'
+ pg: '>=8'
+ postgres: '>=3'
+ prisma: '*'
+ sql.js: '>=1'
+ sqlite3: '>=5'
+ peerDependenciesMeta:
+ '@aws-sdk/client-rds-data':
+ optional: true
+ '@cloudflare/workers-types':
+ optional: true
+ '@electric-sql/pglite':
+ optional: true
+ '@libsql/client':
+ optional: true
+ '@libsql/client-wasm':
+ optional: true
+ '@neondatabase/serverless':
+ optional: true
+ '@op-engineering/op-sqlite':
+ optional: true
+ '@opentelemetry/api':
+ optional: true
+ '@planetscale/database':
+ optional: true
+ '@prisma/client':
+ optional: true
+ '@tidbcloud/serverless':
+ optional: true
+ '@types/better-sqlite3':
+ optional: true
+ '@types/pg':
+ optional: true
+ '@types/sql.js':
+ optional: true
+ '@vercel/postgres':
+ optional: true
+ '@xata.io/client':
+ optional: true
+ better-sqlite3:
+ optional: true
+ bun-types:
+ optional: true
+ expo-sqlite:
+ optional: true
+ gel:
+ optional: true
+ knex:
+ optional: true
+ kysely:
+ optional: true
+ mysql2:
+ optional: true
+ pg:
+ optional: true
+ postgres:
+ optional: true
+ prisma:
+ optional: true
+ sql.js:
+ optional: true
+ sqlite3:
+ optional: true
+
+ eastasianwidth@0.2.0:
+ resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
+
+ emoji-regex-xs@1.0.0:
+ resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==}
+
+ emoji-regex@8.0.0:
+ resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
+
+ emoji-regex@9.2.2:
+ resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
+
+ engine.io-parser@5.2.3:
+ resolution: {integrity: sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==}
+ engines: {node: '>=10.0.0'}
+
+ engine.io@6.6.4:
+ resolution: {integrity: sha512-ZCkIjSYNDyGn0R6ewHDtXgns/Zre/NT6Agvq1/WobF7JXgFff4SeDroKiCO3fNJreU9YG429Sc81o4w5ok/W5g==}
+ engines: {node: '>=10.2.0'}
+
+ enhanced-resolve@5.18.1:
+ resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==}
+ engines: {node: '>=10.13.0'}
+
+ entities@4.5.0:
+ resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
+ engines: {node: '>=0.12'}
+
+ env-paths@3.0.0:
+ resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ esast-util-from-estree@2.0.0:
+ resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==}
+
+ esast-util-from-js@2.0.1:
+ resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==}
+
+ esbuild-register@3.6.0:
+ resolution: {integrity: sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==}
+ peerDependencies:
+ esbuild: '>=0.12 <1'
+
+ esbuild@0.18.20:
+ resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==}
+ engines: {node: '>=12'}
+ hasBin: true
+
+ esbuild@0.19.12:
+ resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==}
+ engines: {node: '>=12'}
+ hasBin: true
+
+ esbuild@0.23.0:
+ resolution: {integrity: sha512-1lvV17H2bMYda/WaFb2jLPeHU3zml2k4/yagNMG8Q/YtfMjCwEUZa2eXXMgZTVSL5q1n4H7sQ0X6CdJDqqeCFA==}
+ engines: {node: '>=18'}
+ hasBin: true
+
+ esbuild@0.25.1:
+ resolution: {integrity: sha512-BGO5LtrGC7vxnqucAe/rmvKdJllfGaYWdyABvyMoXQlfYMb2bbRuReWR5tEGE//4LcNJj9XrkovTqNYRFZHAMQ==}
+ engines: {node: '>=18'}
+ hasBin: true
+
+ escape-string-regexp@4.0.0:
+ resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
+ engines: {node: '>=10'}
+
+ escape-string-regexp@5.0.0:
+ resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
+ engines: {node: '>=12'}
+
+ esprima@4.0.1:
+ resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ estree-util-attach-comments@3.0.0:
+ resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==}
+
+ estree-util-build-jsx@3.0.1:
+ resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==}
+
+ estree-util-is-identifier-name@3.0.0:
+ resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==}
+
+ estree-util-scope@1.0.0:
+ resolution: {integrity: sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==}
+
+ estree-util-to-js@2.0.0:
+ resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==}
+
+ estree-util-value-to-estree@3.3.2:
+ resolution: {integrity: sha512-hYH1aSvQI63Cvq3T3loaem6LW4u72F187zW4FHpTrReJSm6W66vYTFNO1vH/chmcOulp1HlAj1pxn8Ag0oXI5Q==}
+
+ estree-util-visit@2.0.0:
+ resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==}
+
+ estree-walker@3.0.3:
+ resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
+
+ extend-shallow@2.0.1:
+ resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==}
+ engines: {node: '>=0.10.0'}
+
+ extend@3.0.2:
+ resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
+
+ fast-deep-equal@2.0.1:
+ resolution: {integrity: sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w==}
+
+ fast-deep-equal@3.1.3:
+ resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
+
+ fast-glob@3.3.3:
+ resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
+ engines: {node: '>=8.6.0'}
+
+ fastq@1.19.1:
+ resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==}
+
+ feed@4.2.2:
+ resolution: {integrity: sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==}
+ engines: {node: '>=0.4.0'}
+
+ fill-range@7.1.1:
+ resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
+ engines: {node: '>=8'}
+
+ foreground-child@3.3.1:
+ resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==}
+ engines: {node: '>=14'}
+
+ framer-motion@12.6.2:
+ resolution: {integrity: sha512-7LgPRlPs5aG8UxeZiMCMZz8firC53+2+9TnWV22tuSi38D3IFRxHRUqOREKckAkt6ztX+Dn6weLcatQilJTMcg==}
+ peerDependencies:
+ '@emotion/is-prop-valid': '*'
+ react: ^18.0.0 || ^19.0.0
+ react-dom: ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ '@emotion/is-prop-valid':
+ optional: true
+ react:
+ optional: true
+ react-dom:
+ optional: true
+
+ fsevents@2.3.3:
+ resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+ os: [darwin]
+
+ fumadocs-core@15.2.0:
+ resolution: {integrity: sha512-N4XZ8JyuWBPxgMFU5dnqIxiNKxjthRmfBfXsVx4zdEOAC9L7qiadesIrcnC29sTqNDGyZEQHHdrAnN8/x/9Gxg==}
+ peerDependencies:
+ '@oramacloud/client': 1.x.x || 2.x.x
+ algoliasearch: 4.24.0
+ next: 14.x.x || 15.x.x
+ react: 18.x.x || 19.x.x
+ react-dom: 18.x.x || 19.x.x
+ peerDependenciesMeta:
+ '@oramacloud/client':
+ optional: true
+ algoliasearch:
+ optional: true
+ next:
+ optional: true
+ react:
+ optional: true
+ react-dom:
+ optional: true
+
+ fumadocs-docgen@2.0.0:
+ resolution: {integrity: sha512-jaM/rsCFEvC8rO6Nf0sYXDHp1xOWPAaz0zJHyFyt/CWFSj/nnBaeVIjN/bFX3ZUb93Nnx0I3s42NzAHYKsZI0w==}
+
+ fumadocs-mdx@11.5.7:
+ resolution: {integrity: sha512-gH/C/rkqPfp27lrBNBtca5lT89jtQ/aIt8TD5iOChHnlFT0Lzt70ZGt/fpoAS/rOAhPBUMxFzKtQh6bQWppUoA==}
+ hasBin: true
+ peerDependencies:
+ '@fumadocs/mdx-remote': ^1.2.0
+ fumadocs-core: ^14.0.0 || ^15.0.0
+ next: 14.x.x || 15.x.x
+ peerDependenciesMeta:
+ '@fumadocs/mdx-remote':
+ optional: true
+
+ fumadocs-twoslash@3.1.0:
+ resolution: {integrity: sha512-5O+lFOv4cTQqBevS/yxCrjKZjBhZNggZQis14QzGXzyL75pe+Uv7UjcMsxo4Jmt8jJOLt0pGVLhJwFf11u/9BA==}
+ peerDependencies:
+ fumadocs-ui: ^15.0.0
+ react: 18.x.x || 19.x.x
+ shiki: 1.x.x || 2.x.x || 3.x.x
+
+ fumadocs-ui@15.2.0:
+ resolution: {integrity: sha512-PcjDaoramdFl1Cczb8gWwAyNz/bLKpaRoYJVNwfgdeApnLZR6ePeAQIAsomiBOqvQbA16QV/vBHzCuZ9FQRTDA==}
+ peerDependencies:
+ next: 14.x.x || 15.x.x
+ react: 18.x.x || 19.x.x
+ react-dom: 18.x.x || 19.x.x
+ tailwindcss: ^3.4.14 || ^4.0.0
+ peerDependenciesMeta:
+ tailwindcss:
+ optional: true
+
+ gel@2.0.1:
+ resolution: {integrity: sha512-gfem3IGvqKqXwEq7XseBogyaRwGsQGuE7Cw/yQsjLGdgiyqX92G1xENPCE0ltunPGcsJIa6XBOTx/PK169mOqw==}
+ engines: {node: '>= 18.0.0'}
+ hasBin: true
+
+ get-nonce@1.0.1:
+ resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==}
+ engines: {node: '>=6'}
+
+ get-tsconfig@4.10.0:
+ resolution: {integrity: sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==}
+
+ github-slugger@2.0.0:
+ resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==}
+
+ glob-parent@5.1.2:
+ resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
+ engines: {node: '>= 6'}
+
+ glob@10.3.4:
+ resolution: {integrity: sha512-6LFElP3A+i/Q8XQKEvZjkEWEOTgAIALR9AO2rwT8bgPhDd1anmqDJDZ6lLddI4ehxxxR1S5RIqKe1uapMQfYaQ==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ hasBin: true
+
+ globals@11.12.0:
+ resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
+ engines: {node: '>=4'}
+
+ graceful-fs@4.2.11:
+ resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
+
+ gray-matter@4.0.3:
+ resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==}
+ engines: {node: '>=6.0'}
+
+ has-flag@4.0.0:
+ resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
+ engines: {node: '>=8'}
+
+ hast-util-from-dom@5.0.1:
+ resolution: {integrity: sha512-N+LqofjR2zuzTjCPzyDUdSshy4Ma6li7p/c3pA78uTwzFgENbgbUrm2ugwsOdcjI1muO+o6Dgzp9p8WHtn/39Q==}
+
+ hast-util-from-html-isomorphic@2.0.0:
+ resolution: {integrity: sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw==}
+
+ hast-util-from-html@2.0.3:
+ resolution: {integrity: sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==}
+
+ hast-util-from-parse5@8.0.3:
+ resolution: {integrity: sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==}
+
+ hast-util-is-element@3.0.0:
+ resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==}
+
+ hast-util-parse-selector@4.0.0:
+ resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==}
+
+ hast-util-to-estree@3.1.3:
+ resolution: {integrity: sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==}
+
+ hast-util-to-html@9.0.5:
+ resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==}
+
+ hast-util-to-jsx-runtime@2.3.6:
+ resolution: {integrity: sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==}
+
+ hast-util-to-string@3.0.1:
+ resolution: {integrity: sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==}
+
+ hast-util-to-text@4.0.2:
+ resolution: {integrity: sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==}
+
+ hast-util-whitespace@3.0.0:
+ resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==}
+
+ hastscript@9.0.1:
+ resolution: {integrity: sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==}
+
+ highlight.js@11.11.1:
+ resolution: {integrity: sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==}
+ engines: {node: '>=12.0.0'}
+
+ html-to-text@9.0.5:
+ resolution: {integrity: sha512-qY60FjREgVZL03vJU6IfMV4GDjGBIoOyvuFdpBDIX9yTlDw0TjxVBQp+P8NvpdIXNJvfWBTNul7fsAQJq2FNpg==}
+ engines: {node: '>=14'}
+
+ html-void-elements@3.0.0:
+ resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==}
+
+ htmlparser2@8.0.2:
+ resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==}
+
+ ieee754@1.2.1:
+ resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
+
+ image-size@2.0.1:
+ resolution: {integrity: sha512-NI6NK/2zchlZopsQrcVIS7jxA0/rtIy74B+/rx5s7rKQyFebmQjZVhzxXgRZJROk+WhhOq+S6sUaODxp0L5hfg==}
+ engines: {node: '>=16.x'}
+ hasBin: true
+
+ inherits@2.0.4:
+ resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+
+ inline-style-parser@0.2.4:
+ resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==}
+
+ is-alphabetical@2.0.1:
+ resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==}
+
+ is-alphanumerical@2.0.1:
+ resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==}
+
+ is-arrayish@0.3.2:
+ resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==}
+
+ is-decimal@2.0.1:
+ resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==}
+
+ is-extendable@0.1.1:
+ resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==}
+ engines: {node: '>=0.10.0'}
+
+ is-extglob@2.1.1:
+ resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
+ engines: {node: '>=0.10.0'}
+
+ is-fullwidth-code-point@3.0.0:
+ resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
+ engines: {node: '>=8'}
+
+ is-glob@4.0.3:
+ resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
+ engines: {node: '>=0.10.0'}
+
+ is-hexadecimal@2.0.1:
+ resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==}
+
+ is-interactive@1.0.0:
+ resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==}
+ engines: {node: '>=8'}
+
+ is-number@7.0.0:
+ resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
+ engines: {node: '>=0.12.0'}
+
+ is-plain-obj@4.1.0:
+ resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
+ engines: {node: '>=12'}
+
+ is-unicode-supported@0.1.0:
+ resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==}
+ engines: {node: '>=10'}
+
+ isexe@2.0.0:
+ resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+
+ isexe@3.1.1:
+ resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==}
+ engines: {node: '>=16'}
+
+ jackspeak@2.3.6:
+ resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==}
+ engines: {node: '>=14'}
+
+ jiti@2.4.2:
+ resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==}
+ hasBin: true
+
+ jose@5.10.0:
+ resolution: {integrity: sha512-s+3Al/p9g32Iq+oqXxkW//7jk2Vig6FF1CFqzVXoTUXt2qz89YWbL+OwS17NFYEvxC35n0FKeGO2LGYSxeM2Gg==}
+
+ js-tokens@4.0.0:
+ resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+
+ js-yaml@3.14.1:
+ resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
+ hasBin: true
+
+ jsesc@3.1.0:
+ resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==}
+ engines: {node: '>=6'}
+ hasBin: true
+
+ katex@0.16.21:
+ resolution: {integrity: sha512-XvqR7FgOHtWupfMiigNzmh+MgUVmDGU2kXZm899ZkPfcuoPuFxyHmXsgATDpFZDAXCI8tvinaVcDo8PIIJSo4A==}
+ hasBin: true
+
+ kind-of@6.0.3:
+ resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
+ engines: {node: '>=0.10.0'}
+
+ kysely@0.27.6:
+ resolution: {integrity: sha512-FIyV/64EkKhJmjgC0g2hygpBv5RNWVPyNCqSAD7eTCv6eFWNIi4PN1UvdSJGicN/o35bnevgis4Y0UDC0qi8jQ==}
+ engines: {node: '>=14.0.0'}
+
+ leac@0.6.0:
+ resolution: {integrity: sha512-y+SqErxb8h7nE/fiEX07jsbuhrpO9lL8eca7/Y1nuWV2moNlXhyd59iDGcRf6moVyDMbmTNzL40SUyrFU/yDpg==}
+
+ lightningcss-darwin-arm64@1.29.3:
+ resolution: {integrity: sha512-fb7raKO3pXtlNbQbiMeEu8RbBVHnpyqAoxTyTRMEWFQWmscGC2wZxoHzZ+YKAepUuKT9uIW5vL2QbFivTgprZg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [darwin]
+
+ lightningcss-darwin-x64@1.29.3:
+ resolution: {integrity: sha512-KF2XZ4ZdmDGGtEYmx5wpzn6u8vg7AdBHaEOvDKu8GOs7xDL/vcU2vMKtTeNe1d4dogkDdi3B9zC77jkatWBwEQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [darwin]
+
+ lightningcss-freebsd-x64@1.29.3:
+ resolution: {integrity: sha512-VUWeVf+V1UM54jv9M4wen9vMlIAyT69Krl9XjI8SsRxz4tdNV/7QEPlW6JASev/pYdiynUCW0pwaFquDRYdxMw==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [freebsd]
+
+ lightningcss-linux-arm-gnueabihf@1.29.3:
+ resolution: {integrity: sha512-UhgZ/XVNfXQVEJrMIWeK1Laj8KbhjbIz7F4znUk7G4zeGw7TRoJxhb66uWrEsonn1+O45w//0i0Fu0wIovYdYg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm]
+ os: [linux]
+
+ lightningcss-linux-arm64-gnu@1.29.3:
+ resolution: {integrity: sha512-Pqau7jtgJNmQ/esugfmAT1aCFy/Gxc92FOxI+3n+LbMHBheBnk41xHDhc0HeYlx9G0xP5tK4t0Koy3QGGNqypw==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+
+ lightningcss-linux-arm64-musl@1.29.3:
+ resolution: {integrity: sha512-dxakOk66pf7KLS7VRYFO7B8WOJLecE5OPL2YOk52eriFd/yeyxt2Km5H0BjLfElokIaR+qWi33gB8MQLrdAY3A==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+
+ lightningcss-linux-x64-gnu@1.29.3:
+ resolution: {integrity: sha512-ySZTNCpbfbK8rqpKJeJR2S0g/8UqqV3QnzcuWvpI60LWxnFN91nxpSSwCbzfOXkzKfar9j5eOuOplf+klKtINg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+
+ lightningcss-linux-x64-musl@1.29.3:
+ resolution: {integrity: sha512-3pVZhIzW09nzi10usAXfIGTTSTYQ141dk88vGFNCgawIzayiIzZQxEcxVtIkdvlEq2YuFsL9Wcj/h61JHHzuFQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+
+ lightningcss-win32-arm64-msvc@1.29.3:
+ resolution: {integrity: sha512-VRnkAvtIkeWuoBJeGOTrZxsNp4HogXtcaaLm8agmbYtLDOhQdpgxW6NjZZjDXbvGF+eOehGulXZ3C1TiwHY4QQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [win32]
+
+ lightningcss-win32-x64-msvc@1.29.3:
+ resolution: {integrity: sha512-IszwRPu2cPnDQsZpd7/EAr0x2W7jkaWqQ1SwCVIZ/tSbZVXPLt6k8s6FkcyBjViCzvB5CW0We0QbbP7zp2aBjQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [win32]
+
+ lightningcss@1.29.3:
+ resolution: {integrity: sha512-GlOJwTIP6TMIlrTFsxTerwC0W6OpQpCGuX1ECRLBUVRh6fpJH3xTqjCjRgQHTb4ZXexH9rtHou1Lf03GKzmhhQ==}
+ engines: {node: '>= 12.0.0'}
+
+ linkify-it@5.0.0:
+ resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==}
+
+ linkifyjs@4.2.0:
+ resolution: {integrity: sha512-pCj3PrQyATaoTYKHrgWRF3SJwsm61udVh+vuls/Rl6SptiDhgE7ziUIudAedRY9QEfynmM7/RmLEfPUyw1HPCw==}
+
+ lodash.debounce@4.0.8:
+ resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
+
+ lodash.merge@4.6.2:
+ resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
+
+ log-symbols@4.1.0:
+ resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==}
+ engines: {node: '>=10'}
+
+ longest-streak@3.1.0:
+ resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==}
+
+ lowlight@3.3.0:
+ resolution: {integrity: sha512-0JNhgFoPvP6U6lE/UdVsSq99tn6DhjjpAj5MxG49ewd2mOBVtwWYIT8ClyABhq198aXXODMU6Ox8DrGy/CpTZQ==}
+
+ lru-cache@10.4.3:
+ resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
+
+ lucide-react@0.477.0:
+ resolution: {integrity: sha512-yCf7aYxerFZAbd8jHJxjwe1j7jEMPptjnaOqdYeirFnEy85cNR3/L+o0I875CYFYya+eEVzZSbNuRk8BZPDpVw==}
+ peerDependencies:
+ react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0
+
+ lucide-react@0.479.0:
+ resolution: {integrity: sha512-aBhNnveRhorBOK7uA4gDjgaf+YlHMdMhQ/3cupk6exM10hWlEU+2QtWYOfhXhjAsmdb6LeKR+NZnow4UxRRiTQ==}
+ peerDependencies:
+ react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0
+
+ lucide-react@0.485.0:
+ resolution: {integrity: sha512-NvyQJ0LKyyCxL23nPKESlr/jmz8r7fJO1bkuptSNYSy0s8VVj4ojhX0YAgmE1e0ewfxUZjIlZpvH+otfTnla8Q==}
+ peerDependencies:
+ react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0
+
+ markdown-extensions@2.0.0:
+ resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==}
+ engines: {node: '>=16'}
+
+ markdown-it@14.1.0:
+ resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==}
+ hasBin: true
+
+ markdown-table@3.0.4:
+ resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==}
+
+ marked@7.0.4:
+ resolution: {integrity: sha512-t8eP0dXRJMtMvBojtkcsA7n48BkauktUKzfkPSCq85ZMTJ0v76Rke4DYz01omYpPTUh4p/f7HePgRo3ebG8+QQ==}
+ engines: {node: '>= 16'}
+ hasBin: true
+
+ md-to-react-email@5.0.5:
+ resolution: {integrity: sha512-OvAXqwq57uOk+WZqFFNCMZz8yDp8BD3WazW1wAKHUrPbbdr89K9DWS6JXY09vd9xNdPNeurI8DU/X4flcfaD8A==}
+ peerDependencies:
+ react: ^18.0 || ^19.0
+
+ mdast-util-find-and-replace@3.0.2:
+ resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==}
+
+ mdast-util-from-markdown@2.0.2:
+ resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==}
+
+ mdast-util-gfm-autolink-literal@2.0.1:
+ resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==}
+
+ mdast-util-gfm-footnote@2.1.0:
+ resolution: {integrity: sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==}
+
+ mdast-util-gfm-strikethrough@2.0.0:
+ resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==}
+
+ mdast-util-gfm-table@2.0.0:
+ resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==}
+
+ mdast-util-gfm-task-list-item@2.0.0:
+ resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==}
+
+ mdast-util-gfm@3.1.0:
+ resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==}
+
+ mdast-util-math@3.0.0:
+ resolution: {integrity: sha512-Tl9GBNeG/AhJnQM221bJR2HPvLOSnLE/T9cJI9tlc6zwQk2nPk/4f0cHkOdEixQPC/j8UtKDdITswvLAy1OZ1w==}
+
+ mdast-util-mdx-expression@2.0.1:
+ resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==}
+
+ mdast-util-mdx-jsx@3.2.0:
+ resolution: {integrity: sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==}
+
+ mdast-util-mdx@3.0.0:
+ resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==}
+
+ mdast-util-mdxjs-esm@2.0.1:
+ resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==}
+
+ mdast-util-phrasing@4.1.0:
+ resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==}
+
+ mdast-util-to-hast@13.2.0:
+ resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==}
+
+ mdast-util-to-markdown@2.1.2:
+ resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==}
+
+ mdast-util-to-string@4.0.0:
+ resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==}
+
+ mdurl@2.0.0:
+ resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==}
+
+ merge2@1.4.1:
+ resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
+ engines: {node: '>= 8'}
+
+ micromark-core-commonmark@2.0.3:
+ resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==}
+
+ micromark-extension-gfm-autolink-literal@2.1.0:
+ resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==}
+
+ micromark-extension-gfm-footnote@2.1.0:
+ resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==}
+
+ micromark-extension-gfm-strikethrough@2.1.0:
+ resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==}
+
+ micromark-extension-gfm-table@2.1.1:
+ resolution: {integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==}
+
+ micromark-extension-gfm-tagfilter@2.0.0:
+ resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==}
+
+ micromark-extension-gfm-task-list-item@2.1.0:
+ resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==}
+
+ micromark-extension-gfm@3.0.0:
+ resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==}
+
+ micromark-extension-math@3.1.0:
+ resolution: {integrity: sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg==}
+
+ micromark-extension-mdx-expression@3.0.0:
+ resolution: {integrity: sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==}
+
+ micromark-extension-mdx-jsx@3.0.1:
+ resolution: {integrity: sha512-vNuFb9czP8QCtAQcEJn0UJQJZA8Dk6DXKBqx+bg/w0WGuSxDxNr7hErW89tHUY31dUW4NqEOWwmEUNhjTFmHkg==}
+
+ micromark-extension-mdx-md@2.0.0:
+ resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==}
+
+ micromark-extension-mdxjs-esm@3.0.0:
+ resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==}
+
+ micromark-extension-mdxjs@3.0.0:
+ resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==}
+
+ micromark-factory-destination@2.0.1:
+ resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==}
+
+ micromark-factory-label@2.0.1:
+ resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==}
+
+ micromark-factory-mdx-expression@2.0.2:
+ resolution: {integrity: sha512-5E5I2pFzJyg2CtemqAbcyCktpHXuJbABnsb32wX2U8IQKhhVFBqkcZR5LRm1WVoFqa4kTueZK4abep7wdo9nrw==}
+
+ micromark-factory-space@2.0.1:
+ resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==}
+
+ micromark-factory-title@2.0.1:
+ resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==}
+
+ micromark-factory-whitespace@2.0.1:
+ resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==}
+
+ micromark-util-character@2.1.1:
+ resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==}
+
+ micromark-util-chunked@2.0.1:
+ resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==}
+
+ micromark-util-classify-character@2.0.1:
+ resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==}
+
+ micromark-util-combine-extensions@2.0.1:
+ resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==}
+
+ micromark-util-decode-numeric-character-reference@2.0.2:
+ resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==}
+
+ micromark-util-decode-string@2.0.1:
+ resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==}
+
+ micromark-util-encode@2.0.1:
+ resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==}
+
+ micromark-util-events-to-acorn@2.0.2:
+ resolution: {integrity: sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==}
+
+ micromark-util-html-tag-name@2.0.1:
+ resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==}
+
+ micromark-util-normalize-identifier@2.0.1:
+ resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==}
+
+ micromark-util-resolve-all@2.0.1:
+ resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==}
+
+ micromark-util-sanitize-uri@2.0.1:
+ resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==}
+
+ micromark-util-subtokenize@2.1.0:
+ resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==}
+
+ micromark-util-symbol@2.0.1:
+ resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==}
+
+ micromark-util-types@2.0.2:
+ resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==}
+
+ micromark@4.0.2:
+ resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==}
+
+ micromatch@4.0.8:
+ resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
+ engines: {node: '>=8.6'}
+
+ mime-db@1.52.0:
+ resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
+ engines: {node: '>= 0.6'}
+
+ mime-types@2.1.35:
+ resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
+ engines: {node: '>= 0.6'}
+
+ mimic-fn@2.1.0:
+ resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
+ engines: {node: '>=6'}
+
+ minimatch@9.0.5:
+ resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
+ engines: {node: '>=16 || 14 >=14.17'}
+
+ minimist@1.2.8:
+ resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
+
+ minipass@7.1.2:
+ resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
+ engines: {node: '>=16 || 14 >=14.17'}
+
+ motion-dom@12.6.1:
+ resolution: {integrity: sha512-8XVsriTUEVOepoIDgE/LDGdg7qaKXWdt+wQA/8z0p8YzJDLYL8gbimZ3YkCLlj7bB2i/4UBD/g+VO7y9ZY0zHQ==}
+
+ motion-utils@12.5.0:
+ resolution: {integrity: sha512-+hFFzvimn0sBMP9iPxBa9OtRX35ZQ3py0UHnb8U29VD+d8lQ8zH3dTygJWqK7av2v6yhg7scj9iZuvTS0f4+SA==}
+
+ motion@12.6.2:
+ resolution: {integrity: sha512-8OBjjuC59WuWHKmPzVWT5M0t5kDxtkfMfHF1M7Iey6F/nvd0AI15YlPnpGlcagW/eOfkdWDO90U/K5LF/k55Yw==}
+ peerDependencies:
+ '@emotion/is-prop-valid': '*'
+ react: ^18.0.0 || ^19.0.0
+ react-dom: ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ '@emotion/is-prop-valid':
+ optional: true
+ react:
+ optional: true
+ react-dom:
+ optional: true
+
+ ms@2.1.3:
+ resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+
+ nanoid@3.3.11:
+ resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+
+ nanostores@0.11.4:
+ resolution: {integrity: sha512-k1oiVNN4hDK8NcNERSZLQiMfRzEGtfnvZvdBvey3SQbgn8Dcrk0h1I6vpxApjb10PFUflZrgJ2WEZyJQ+5v7YQ==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+
+ negotiator@0.6.3:
+ resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
+ engines: {node: '>= 0.6'}
+
+ negotiator@1.0.0:
+ resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==}
+ engines: {node: '>= 0.6'}
+
+ next-safe-action@7.10.4:
+ resolution: {integrity: sha512-rZE89DTNgiTJ8oPQBOZm+jd0Uf/pLkN+GE3PndER6vWqHGYGN7HMLvhpggkbE8W4TGp+qM7CPyrXye1wCjZLVg==}
+ engines: {node: '>=18.17'}
+ peerDependencies:
+ '@sinclair/typebox': '>= 0.33.3'
+ next: '>= 14.0.0'
+ react: '>= 18.2.0'
+ react-dom: '>= 18.2.0'
+ valibot: '>= 0.36.0'
+ yup: '>= 1.0.0'
+ zod: '>= 3.0.0'
+ peerDependenciesMeta:
+ '@sinclair/typebox':
+ optional: true
+ valibot:
+ optional: true
+ yup:
+ optional: true
+ zod:
+ optional: true
+
+ next-sitemap@4.2.3:
+ resolution: {integrity: sha512-vjdCxeDuWDzldhCnyFCQipw5bfpl4HmZA7uoo3GAaYGjGgfL4Cxb1CiztPuWGmS+auYs7/8OekRS8C2cjdAsjQ==}
+ engines: {node: '>=14.18'}
+ hasBin: true
+ peerDependencies:
+ next: '*'
+
+ next-themes@0.4.4:
+ resolution: {integrity: sha512-LDQ2qIOJF0VnuVrrMSMLrWGjRMkq+0mpgl6e0juCLqdJ+oo8Q84JRWT6Wh11VDQKkMMe+dVzDKLWs5n87T+PkQ==}
+ peerDependencies:
+ react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc
+
+ next-themes@0.4.6:
+ resolution: {integrity: sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==}
+ peerDependencies:
+ react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc
+
+ next-validate-link@1.5.2:
+ resolution: {integrity: sha512-BMGyo0qJqscSJw0gSCUy3gDrF7LEID6qkVhHtLSIdPPtOYONq0+fidWvLteUzEUqHeKz1GBI9QN3bpfT6Me42A==}
+
+ next@15.2.2:
+ resolution: {integrity: sha512-dgp8Kcx5XZRjMw2KNwBtUzhngRaURPioxoNIVl5BOyJbhi9CUgEtKDO7fx5wh8Z8vOVX1nYZ9meawJoRrlASYA==}
+ engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0}
+ hasBin: true
+ peerDependencies:
+ '@opentelemetry/api': ^1.1.0
+ '@playwright/test': ^1.41.2
+ babel-plugin-react-compiler: '*'
+ react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0
+ react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0
+ sass: ^1.3.0
+ peerDependenciesMeta:
+ '@opentelemetry/api':
+ optional: true
+ '@playwright/test':
+ optional: true
+ babel-plugin-react-compiler:
+ optional: true
+ sass:
+ optional: true
+
+ next@15.2.4:
+ resolution: {integrity: sha512-VwL+LAaPSxEkd3lU2xWbgEOtrM8oedmyhBqaVNmgKB+GvZlCy9rgaEc+y2on0wv+l0oSFqLtYD6dcC1eAedUaQ==}
+ engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0}
+ hasBin: true
+ peerDependencies:
+ '@opentelemetry/api': ^1.1.0
+ '@playwright/test': ^1.41.2
+ babel-plugin-react-compiler: '*'
+ react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0
+ react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0
+ sass: ^1.3.0
+ peerDependenciesMeta:
+ '@opentelemetry/api':
+ optional: true
+ '@playwright/test':
+ optional: true
+ babel-plugin-react-compiler:
+ optional: true
+ sass:
+ optional: true
+
+ normalize-path@3.0.0:
+ resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
+ engines: {node: '>=0.10.0'}
+
+ npm-to-yarn@3.0.1:
+ resolution: {integrity: sha512-tt6PvKu4WyzPwWUzy/hvPFqn+uwXO0K1ZHka8az3NnrhWJDmSqI8ncWq0fkL0k/lmmi5tAC11FXwXuh0rFbt1A==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
+ object-assign@4.1.1:
+ resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
+ engines: {node: '>=0.10.0'}
+
+ obuf@1.1.2:
+ resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==}
+
+ onetime@5.1.2:
+ resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
+ engines: {node: '>=6'}
+
+ oniguruma-parser@0.5.4:
+ resolution: {integrity: sha512-yNxcQ8sKvURiTwP0mV6bLQCYE7NKfKRRWunhbZnXgxSmB1OXa1lHrN3o4DZd+0Si0kU5blidK7BcROO8qv5TZA==}
+
+ oniguruma-to-es@4.1.0:
+ resolution: {integrity: sha512-SNwG909cSLo4vPyyPbU/VJkEc9WOXqu2ycBlfd1UCXLqk1IijcQktSBb2yRQ2UFPsDhpkaf+C1dtT3PkLK/yWA==}
+
+ ora@5.4.1:
+ resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==}
+ engines: {node: '>=10'}
+
+ orderedmap@2.1.1:
+ resolution: {integrity: sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g==}
+
+ oxc-transform@0.53.0:
+ resolution: {integrity: sha512-ovYJDZfHNLyXlkJBT0HTNHDPHp4JlyG+NePCLrGRT4c1xXOPZ1TWy8xu2shOuLo6n6fiMbpqZha3Ne7C8H7OJA==}
+
+ parse-entities@4.0.2:
+ resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==}
+
+ parse5@7.2.1:
+ resolution: {integrity: sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==}
+
+ parseley@0.12.1:
+ resolution: {integrity: sha512-e6qHKe3a9HWr0oMRVDTRhKce+bRO8VGQR3NyVwcjwrbhMmFCX9KszEV35+rn4AdilFAq9VPxP/Fe1wC9Qjd2lw==}
+
+ path-key@3.1.1:
+ resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
+ engines: {node: '>=8'}
+
+ path-scurry@1.11.1:
+ resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
+ engines: {node: '>=16 || 14 >=14.18'}
+
+ peberminta@0.9.0:
+ resolution: {integrity: sha512-XIxfHpEuSJbITd1H3EeQwpcZbTLHc+VVr8ANI9t5sit565tsI4/xK3KWTUFE2e6QiangUkh3B0jihzmGnNrRsQ==}
+
+ pg-int8@1.0.1:
+ resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==}
+ engines: {node: '>=4.0.0'}
+
+ pg-numeric@1.0.2:
+ resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==}
+ engines: {node: '>=4'}
+
+ pg-protocol@1.8.0:
+ resolution: {integrity: sha512-jvuYlEkL03NRvOoyoRktBK7+qU5kOvlAwvmrH8sr3wbLrOdVWsRxQfz8mMy9sZFsqJ1hEWNfdWKI4SAmoL+j7g==}
+
+ pg-types@4.0.2:
+ resolution: {integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==}
+ engines: {node: '>=10'}
+
+ picocolors@1.1.1:
+ resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
+
+ picomatch@2.3.1:
+ resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
+ engines: {node: '>=8.6'}
+
+ postcss-selector-parser@7.1.0:
+ resolution: {integrity: sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==}
+ engines: {node: '>=4'}
+
+ postcss@8.4.31:
+ resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
+ engines: {node: ^10 || ^12 || >=14}
+
+ postcss@8.5.1:
+ resolution: {integrity: sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==}
+ engines: {node: ^10 || ^12 || >=14}
+
+ postgres-array@3.0.4:
+ resolution: {integrity: sha512-nAUSGfSDGOaOAEGwqsRY27GPOea7CNipJPOA7lPbdEpx5Kg3qzdP0AaWC5MlhTWV9s4hFX39nomVZ+C4tnGOJQ==}
+ engines: {node: '>=12'}
+
+ postgres-bytea@3.0.0:
+ resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==}
+ engines: {node: '>= 6'}
+
+ postgres-date@2.1.0:
+ resolution: {integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==}
+ engines: {node: '>=12'}
+
+ postgres-interval@3.0.0:
+ resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==}
+ engines: {node: '>=12'}
+
+ postgres-range@1.1.4:
+ resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==}
+
+ prettier@3.4.2:
+ resolution: {integrity: sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==}
+ engines: {node: '>=14'}
+ hasBin: true
+
+ prism-react-renderer@2.4.1:
+ resolution: {integrity: sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig==}
+ peerDependencies:
+ react: '>=16.0.0'
+
+ prismjs@1.29.0:
+ resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==}
+ engines: {node: '>=6'}
+
+ property-information@7.0.0:
+ resolution: {integrity: sha512-7D/qOz/+Y4X/rzSB6jKxKUsQnphO046ei8qxG59mtM3RG3DHgTK81HrxrmoDVINJb8NKT5ZsRbwHvQ6B68Iyhg==}
+
+ prosemirror-changeset@2.2.1:
+ resolution: {integrity: sha512-J7msc6wbxB4ekDFj+n9gTW/jav/p53kdlivvuppHsrZXCaQdVgRghoZbSS3kwrRyAstRVQ4/+u5k7YfLgkkQvQ==}
+
+ prosemirror-collab@1.3.1:
+ resolution: {integrity: sha512-4SnynYR9TTYaQVXd/ieUvsVV4PDMBzrq2xPUWutHivDuOshZXqQ5rGbZM84HEaXKbLdItse7weMGOUdDVcLKEQ==}
+
+ prosemirror-commands@1.7.0:
+ resolution: {integrity: sha512-6toodS4R/Aah5pdsrIwnTYPEjW70SlO5a66oo5Kk+CIrgJz3ukOoS+FYDGqvQlAX5PxoGWDX1oD++tn5X3pyRA==}
+
+ prosemirror-dropcursor@1.8.1:
+ resolution: {integrity: sha512-M30WJdJZLyXHi3N8vxN6Zh5O8ZBbQCz0gURTfPmTIBNQ5pxrdU7A58QkNqfa98YEjSAL1HUyyU34f6Pm5xBSGw==}
+
+ prosemirror-gapcursor@1.3.2:
+ resolution: {integrity: sha512-wtjswVBd2vaQRrnYZaBCbyDqr232Ed4p2QPtRIUK5FuqHYKGWkEwl08oQM4Tw7DOR0FsasARV5uJFvMZWxdNxQ==}
+
+ prosemirror-history@1.4.1:
+ resolution: {integrity: sha512-2JZD8z2JviJrboD9cPuX/Sv/1ChFng+xh2tChQ2X4bB2HeK+rra/bmJ3xGntCcjhOqIzSDG6Id7e8RJ9QPXLEQ==}
+
+ prosemirror-inputrules@1.5.0:
+ resolution: {integrity: sha512-K0xJRCmt+uSw7xesnHmcn72yBGTbY45vm8gXI4LZXbx2Z0jwh5aF9xrGQgrVPu0WbyFVFF3E/o9VhJYz6SQWnA==}
+
+ prosemirror-keymap@1.2.2:
+ resolution: {integrity: sha512-EAlXoksqC6Vbocqc0GtzCruZEzYgrn+iiGnNjsJsH4mrnIGex4qbLdWWNza3AW5W36ZRrlBID0eM6bdKH4OStQ==}
+
+ prosemirror-markdown@1.13.2:
+ resolution: {integrity: sha512-FPD9rHPdA9fqzNmIIDhhnYQ6WgNoSWX9StUZ8LEKapaXU9i6XgykaHKhp6XMyXlOWetmaFgGDS/nu/w9/vUc5g==}
+
+ prosemirror-menu@1.2.4:
+ resolution: {integrity: sha512-S/bXlc0ODQup6aiBbWVsX/eM+xJgCTAfMq/nLqaO5ID/am4wS0tTCIkzwytmao7ypEtjj39i7YbJjAgO20mIqA==}
+
+ prosemirror-model@1.25.0:
+ resolution: {integrity: sha512-/8XUmxWf0pkj2BmtqZHYJipTBMHIdVjuvFzMvEoxrtyGNmfvdhBiRwYt/eFwy2wA9DtBW3RLqvZnjurEkHaFCw==}
+
+ prosemirror-schema-basic@1.2.4:
+ resolution: {integrity: sha512-ELxP4TlX3yr2v5rM7Sb70SqStq5NvI15c0j9j/gjsrO5vaw+fnnpovCLEGIcpeGfifkuqJwl4fon6b+KdrODYQ==}
+
+ prosemirror-schema-list@1.5.1:
+ resolution: {integrity: sha512-927lFx/uwyQaGwJxLWCZRkjXG0p48KpMj6ueoYiu4JX05GGuGcgzAy62dfiV8eFZftgyBUvLx76RsMe20fJl+Q==}
+
+ prosemirror-state@1.4.3:
+ resolution: {integrity: sha512-goFKORVbvPuAQaXhpbemJFRKJ2aixr+AZMGiquiqKxaucC6hlpHNZHWgz5R7dS4roHiwq9vDctE//CZ++o0W1Q==}
+
+ prosemirror-tables@1.6.4:
+ resolution: {integrity: sha512-TkDY3Gw52gRFRfRn2f4wJv5WOgAOXLJA2CQJYIJ5+kdFbfj3acR4JUW6LX2e1hiEBiUwvEhzH5a3cZ5YSztpIA==}
+
+ prosemirror-trailing-node@3.0.0:
+ resolution: {integrity: sha512-xiun5/3q0w5eRnGYfNlW1uU9W6x5MoFKWwq/0TIRgt09lv7Hcser2QYV8t4muXbEr+Fwo0geYn79Xs4GKywrRQ==}
+ peerDependencies:
+ prosemirror-model: ^1.22.1
+ prosemirror-state: ^1.4.2
+ prosemirror-view: ^1.33.8
+
+ prosemirror-transform@1.10.3:
+ resolution: {integrity: sha512-Nhh/+1kZGRINbEHmVu39oynhcap4hWTs/BlU7NnxWj3+l0qi8I1mu67v6mMdEe/ltD8hHvU4FV6PHiCw2VSpMw==}
+
+ prosemirror-view@1.38.1:
+ resolution: {integrity: sha512-4FH/uM1A4PNyrxXbD+RAbAsf0d/mM0D/wAKSVVWK7o0A9Q/oOXJBrw786mBf2Vnrs/Edly6dH6Z2gsb7zWwaUw==}
+
+ punycode.js@2.3.1:
+ resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==}
+ engines: {node: '>=6'}
+
+ pvtsutils@1.3.6:
+ resolution: {integrity: sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==}
+
+ pvutils@1.1.3:
+ resolution: {integrity: sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==}
+ engines: {node: '>=6.0.0'}
+
+ queue-microtask@1.2.3:
+ resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+
+ react-dom@19.0.0:
+ resolution: {integrity: sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==}
+ peerDependencies:
+ react: ^19.0.0
+
+ react-email@4.0.2:
+ resolution: {integrity: sha512-6nJQ6lU6tnH9n+uQcfvwbsEhUcfw0fYmUkaYZi/rFBlmm80ZeP3A9yf2Rvn67mU3PwpAiftXswF8ctFHOoN2pA==}
+ engines: {node: '>=18.0.0'}
+ hasBin: true
+
+ react-hook-form@7.55.0:
+ resolution: {integrity: sha512-XRnjsH3GVMQz1moZTW53MxfoWN7aDpUg/GpVNc4A3eXRVNdGXfbzJ4vM4aLQ8g6XCUh1nIbx70aaNCl7kxnjog==}
+ engines: {node: '>=18.0.0'}
+ peerDependencies:
+ react: ^16.8.0 || ^17 || ^18 || ^19
+
+ react-medium-image-zoom@5.2.14:
+ resolution: {integrity: sha512-nfTVYcAUnBzXQpPDcZL+cG/e6UceYUIG+zDcnemL7jtAqbJjVVkA85RgneGtJeni12dTyiRPZVM6Szkmwd/o8w==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+
+ react-promise-suspense@0.3.4:
+ resolution: {integrity: sha512-I42jl7L3Ze6kZaq+7zXWSunBa3b1on5yfvUW6Eo/3fFOj6dZ5Bqmcd264nJbTK/gn1HjjILAjSwnZbV4RpSaNQ==}
+
+ react-remove-scroll-bar@2.3.8:
+ resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ react-remove-scroll@2.6.3:
+ resolution: {integrity: sha512-pnAi91oOk8g8ABQKGF5/M9qxmmOPxaAnopyTHYfqYEwJhyFrbbBtHuSgtKEoH0jpcxx5o3hXqH1mNd9/Oi+8iQ==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ react-style-singleton@2.2.3:
+ resolution: {integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ react-wrap-balancer@1.1.1:
+ resolution: {integrity: sha512-AB+l7FPRWl6uZ28VcJ8skkwLn2+UC62bjiw8tQUrZPlEWDVnR9MG0lghyn7EyxuJSsFEpht4G+yh2WikEqQ/5Q==}
+ peerDependencies:
+ react: '>=16.8.0 || ^17.0.0 || ^18'
+
+ react@19.0.0:
+ resolution: {integrity: sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==}
+ engines: {node: '>=0.10.0'}
+
+ readable-stream@3.6.2:
+ resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
+ engines: {node: '>= 6'}
+
+ readdirp@4.1.2:
+ resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==}
+ engines: {node: '>= 14.18.0'}
+
+ recma-build-jsx@1.0.0:
+ resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==}
+
+ recma-jsx@1.0.0:
+ resolution: {integrity: sha512-5vwkv65qWwYxg+Atz95acp8DMu1JDSqdGkA2Of1j6rCreyFUE/gp15fC8MnGEuG1W68UKjM6x6+YTWIh7hZM/Q==}
+
+ recma-parse@1.0.0:
+ resolution: {integrity: sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==}
+
+ recma-stringify@1.0.0:
+ resolution: {integrity: sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==}
+
+ regex-recursion@6.0.2:
+ resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==}
+
+ regex-utilities@2.3.0:
+ resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==}
+
+ regex@6.0.1:
+ resolution: {integrity: sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA==}
+
+ rehype-katex@7.0.1:
+ resolution: {integrity: sha512-OiM2wrZ/wuhKkigASodFoo8wimG3H12LWQaH8qSPVJn9apWKFSH3YOCtbKpBorTVw/eI7cuT21XBbvwEswbIOA==}
+
+ rehype-recma@1.0.0:
+ resolution: {integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==}
+
+ remark-gfm@4.0.1:
+ resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==}
+
+ remark-math@6.0.0:
+ resolution: {integrity: sha512-MMqgnP74Igy+S3WwnhQ7kqGlEerTETXMvJhrUzDikVZ2/uogJCb+WHUg97hK9/jcfc0dkD73s3LN8zU49cTEtA==}
+
+ remark-mdx@3.1.0:
+ resolution: {integrity: sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA==}
+
+ remark-parse@11.0.0:
+ resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==}
+
+ remark-rehype@11.1.1:
+ resolution: {integrity: sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ==}
+
+ remark-stringify@11.0.0:
+ resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==}
+
+ remark@15.0.1:
+ resolution: {integrity: sha512-Eht5w30ruCXgFmxVUSlNWQ9iiimq07URKeFS3hNc8cUWy1llX4KDWfyEDZRycMc+znsN9Ux5/tJ/BFdgdOwA3A==}
+
+ resend@4.2.0:
+ resolution: {integrity: sha512-s6ogU+BBYH1H6Zl926cpddtLRAJWeFv5cIKcuHLWk1QYhFTbpFJlhqx31pnN2f0CB075KFSrc1Xf6HG690wzuw==}
+ engines: {node: '>=18'}
+
+ resolve-pkg-maps@1.0.0:
+ resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
+
+ restore-cursor@3.1.0:
+ resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==}
+ engines: {node: '>=8'}
+
+ reusify@1.1.0:
+ resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==}
+ engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+
+ rope-sequence@1.3.4:
+ resolution: {integrity: sha512-UT5EDe2cu2E/6O4igUr5PSFs23nvvukicWHx6GnOPlHAiiYbzNuCRQCuiUdHJQcqKalLKlrYJnjY0ySGsXNQXQ==}
+
+ rou3@0.5.1:
+ resolution: {integrity: sha512-OXMmJ3zRk2xeXFGfA3K+EOPHC5u7RDFG7lIOx0X1pdnhUkI8MdVrbV+sNsD80ElpUZ+MRHdyxPnFthq9VHs8uQ==}
+
+ run-parallel@1.2.0:
+ resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
+
+ safe-buffer@5.2.1:
+ resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
+
+ sax@1.4.1:
+ resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==}
+
+ scheduler@0.25.0:
+ resolution: {integrity: sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==}
+
+ schema-dts@1.1.5:
+ resolution: {integrity: sha512-RJr9EaCmsLzBX2NDiO5Z3ux2BVosNZN5jo0gWgsyKvxKIUL5R3swNvoorulAeL9kLB0iTSX7V6aokhla2m7xbg==}
+
+ scroll-into-view-if-needed@3.1.0:
+ resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==}
+
+ section-matter@1.0.0:
+ resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==}
+ engines: {node: '>=4'}
+
+ selderee@0.11.0:
+ resolution: {integrity: sha512-5TF+l7p4+OsnP8BCCvSyZiSPc4x4//p5uPwK8TCnVPJYRmU2aYKMpOXvw8zM5a5JvuuCGN1jmsMwuU2W02ukfA==}
+
+ semver@7.7.1:
+ resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==}
+ engines: {node: '>=10'}
+ hasBin: true
+
+ set-cookie-parser@2.7.1:
+ resolution: {integrity: sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==}
+
+ sharp@0.33.5:
+ resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+
+ shebang-command@2.0.0:
+ resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
+ engines: {node: '>=8'}
+
+ shebang-regex@3.0.0:
+ resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
+ engines: {node: '>=8'}
+
+ shell-quote@1.8.2:
+ resolution: {integrity: sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==}
+ engines: {node: '>= 0.4'}
+
+ shiki@3.2.1:
+ resolution: {integrity: sha512-VML/2o1/KGYkEf/stJJ+s9Ypn7jUKQPomGLGYso4JJFMFxVDyPNsjsI3MB3KLjlMOeH44gyaPdXC6rik2WXvUQ==}
+
+ signal-exit@3.0.7:
+ resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
+
+ signal-exit@4.1.0:
+ resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
+ engines: {node: '>=14'}
+
+ simple-swizzle@0.2.2:
+ resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==}
+
+ socket.io-adapter@2.5.5:
+ resolution: {integrity: sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==}
+
+ socket.io-parser@4.2.4:
+ resolution: {integrity: sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==}
+ engines: {node: '>=10.0.0'}
+
+ socket.io@4.8.1:
+ resolution: {integrity: sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg==}
+ engines: {node: '>=10.2.0'}
+
+ sonner@2.0.2:
+ resolution: {integrity: sha512-xOeXErZ4blqQd11ZnlDmoRmg+ctUJBkTU8H+HVh9rnWi9Ke28xiL39r4iCTeDX31ODTe/s1MaiaY333dUzLCtA==}
+ peerDependencies:
+ react: ^18.0.0 || ^19.0.0 || ^19.0.0-rc
+ react-dom: ^18.0.0 || ^19.0.0 || ^19.0.0-rc
+
+ source-map-js@1.2.1:
+ resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
+ engines: {node: '>=0.10.0'}
+
+ source-map-support@0.5.21:
+ resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
+
+ source-map@0.6.1:
+ resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
+ engines: {node: '>=0.10.0'}
+
+ source-map@0.7.4:
+ resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}
+ engines: {node: '>= 8'}
+
+ space-separated-tokens@2.0.2:
+ resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
+
+ sprintf-js@1.0.3:
+ resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
+
+ streamsearch@1.1.0:
+ resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
+ engines: {node: '>=10.0.0'}
+
+ string-width@4.2.3:
+ resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
+ engines: {node: '>=8'}
+
+ string-width@5.1.2:
+ resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
+ engines: {node: '>=12'}
+
+ string_decoder@1.3.0:
+ resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
+
+ stringify-entities@4.0.4:
+ resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==}
+
+ strip-ansi@6.0.1:
+ resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
+ engines: {node: '>=8'}
+
+ strip-ansi@7.1.0:
+ resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
+ engines: {node: '>=12'}
+
+ strip-bom-string@1.0.0:
+ resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==}
+ engines: {node: '>=0.10.0'}
+
+ style-to-js@1.1.16:
+ resolution: {integrity: sha512-/Q6ld50hKYPH3d/r6nr117TZkHR0w0kGGIVfpG9N6D8NymRPM9RqCUv4pRpJ62E5DqOYx2AFpbZMyCPnjQCnOw==}
+
+ style-to-object@1.0.8:
+ resolution: {integrity: sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g==}
+
+ styled-jsx@5.1.6:
+ resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==}
+ engines: {node: '>= 12.0.0'}
+ peerDependencies:
+ '@babel/core': '*'
+ babel-plugin-macros: '*'
+ react: '>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0'
+ peerDependenciesMeta:
+ '@babel/core':
+ optional: true
+ babel-plugin-macros:
+ optional: true
+
+ supports-color@7.2.0:
+ resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
+ engines: {node: '>=8'}
+
+ swr@2.3.3:
+ resolution: {integrity: sha512-dshNvs3ExOqtZ6kJBaAsabhPdHyeY4P2cKwRCniDVifBMoG/SVI7tfLWqPXriVspf2Rg4tPzXJTnwaihIeFw2A==}
+ peerDependencies:
+ react: ^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+
+ tailwind-merge@3.0.2:
+ resolution: {integrity: sha512-l7z+OYZ7mu3DTqrL88RiKrKIqO3NcpEO8V/Od04bNpvk0kiIFndGEoqfuzvj4yuhRkHKjRkII2z+KS2HfPcSxw==}
+
+ tailwind-scrollbar@4.0.2:
+ resolution: {integrity: sha512-wAQiIxAPqk0MNTPptVe/xoyWi27y+NRGnTwvn4PQnbvB9kp8QUBiGl/wsfoVBHnQxTmhXJSNt9NHTmcz9EivFA==}
+ engines: {node: '>=12.13.0'}
+ peerDependencies:
+ tailwindcss: 4.x
+
+ tailwindcss-animate@1.0.7:
+ resolution: {integrity: sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==}
+ peerDependencies:
+ tailwindcss: '>=3.0.0 || insiders'
+
+ tailwindcss@4.0.15:
+ resolution: {integrity: sha512-6ZMg+hHdMJpjpeCCFasX7K+U615U9D+7k5/cDK/iRwl6GptF24+I/AbKgOnXhVKePzrEyIXutLv36n4cRsq3Sg==}
+
+ tailwindcss@4.0.4:
+ resolution: {integrity: sha512-/ezDLEkOLf1lXkr9F2iI5BHJbexJpty5zkV2B8bGHCqAdbc9vk85Jgdkq+ZOvNkNPa3yAaqJ8DjRt584Bc84kw==}
+
+ tapable@2.2.1:
+ resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
+ engines: {node: '>=6'}
+
+ tippy.js@6.3.7:
+ resolution: {integrity: sha512-E1d3oP2emgJ9dRQZdf3Kkn0qJgI6ZLpyS5z6ZkY1DF3kaQaBsGZsndEpHwx+eC+tYM41HaSNvNtLx8tU57FzTQ==}
+
+ to-regex-range@5.0.1:
+ resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
+ engines: {node: '>=8.0'}
+
+ trim-lines@3.0.1:
+ resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
+
+ trough@2.2.0:
+ resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==}
+
+ tslib@2.8.1:
+ resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
+
+ tsx@4.19.3:
+ resolution: {integrity: sha512-4H8vUNGNjQ4V2EOoGw005+c+dGuPSnhpPBPHBtsZdGZBk/iJb4kguGlPWaZTZ3q5nMtFOEsY0nRDlh9PJyd6SQ==}
+ engines: {node: '>=18.0.0'}
+ hasBin: true
+
+ twoslash-protocol@0.3.1:
+ resolution: {integrity: sha512-BMePTL9OkuNISSyyMclBBhV2s9++DiOCyhhCoV5Kaht6eaWLwVjCCUJHY33eZJPsyKeZYS8Wzz0h+XI01VohVw==}
+
+ twoslash@0.3.1:
+ resolution: {integrity: sha512-OGqMTGvqXTcb92YQdwGfEdK0nZJA64Aj/ChLOelbl3TfYch2IoBST0Yx4C0LQ7Lzyqm9RpgcpgDxeXQIz4p2Kg==}
+ peerDependencies:
+ typescript: ^5.5.0
+
+ typescript@5.7.3:
+ resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==}
+ engines: {node: '>=14.17'}
+ hasBin: true
+
+ typescript@5.8.2:
+ resolution: {integrity: sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==}
+ engines: {node: '>=14.17'}
+ hasBin: true
+
+ uc.micro@2.1.0:
+ resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==}
+
+ uncrypto@0.1.3:
+ resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==}
+
+ undici-types@6.20.0:
+ resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==}
+
+ unified@11.0.5:
+ resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==}
+
+ unist-util-find-after@5.0.0:
+ resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==}
+
+ unist-util-is@6.0.0:
+ resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==}
+
+ unist-util-position-from-estree@2.0.0:
+ resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==}
+
+ unist-util-position@5.0.0:
+ resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==}
+
+ unist-util-remove-position@5.0.0:
+ resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==}
+
+ unist-util-stringify-position@4.0.0:
+ resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==}
+
+ unist-util-visit-parents@6.0.1:
+ resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==}
+
+ unist-util-visit@5.0.0:
+ resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==}
+
+ use-callback-ref@1.3.3:
+ resolution: {integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ use-sidecar@1.1.3:
+ resolution: {integrity: sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ use-sync-external-store@1.4.0:
+ resolution: {integrity: sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+
+ usehooks-ts@3.1.1:
+ resolution: {integrity: sha512-I4diPp9Cq6ieSUH2wu+fDAVQO43xwtulo+fKEidHUwZPnYImbtkTjzIJYcDcJqxgmX31GVqNFURodvcgHcW0pA==}
+ engines: {node: '>=16.15.0'}
+ peerDependencies:
+ react: ^16.8.0 || ^17 || ^18 || ^19 || ^19.0.0-rc
+
+ util-deprecate@1.0.2:
+ resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
+
+ valibot@1.0.0-beta.15:
+ resolution: {integrity: sha512-BKy8XosZkDHWmYC+cJG74LBzP++Gfntwi33pP3D3RKztz2XV9jmFWnkOi21GoqARP8wAWARwhV6eTr1JcWzjGw==}
+ peerDependencies:
+ typescript: '>=5'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ vary@1.1.2:
+ resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
+ engines: {node: '>= 0.8'}
+
+ vfile-location@5.0.3:
+ resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==}
+
+ vfile-message@4.0.2:
+ resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==}
+
+ vfile@6.0.3:
+ resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==}
+
+ w3c-keyname@2.2.8:
+ resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==}
+
+ wcwidth@1.0.1:
+ resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==}
+
+ web-namespaces@2.0.1:
+ resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==}
+
+ which@2.0.2:
+ resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
+ engines: {node: '>= 8'}
+ hasBin: true
+
+ which@4.0.0:
+ resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==}
+ engines: {node: ^16.13.0 || >=18.0.0}
+ hasBin: true
+
+ wrap-ansi@7.0.0:
+ resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
+ engines: {node: '>=10'}
+
+ wrap-ansi@8.1.0:
+ resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
+ engines: {node: '>=12'}
+
+ ws@8.17.1:
+ resolution: {integrity: sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==}
+ engines: {node: '>=10.0.0'}
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: '>=5.0.2'
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+
+ xml-js@1.6.11:
+ resolution: {integrity: sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==}
+ hasBin: true
+
+ zod@3.24.2:
+ resolution: {integrity: sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ==}
+
+ zwitch@2.0.4:
+ resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
+
+snapshots:
+
+ '@alloc/quick-lru@5.2.0': {}
+
+ '@babel/code-frame@7.26.2':
+ dependencies:
+ '@babel/helper-validator-identifier': 7.25.9
+ js-tokens: 4.0.0
+ picocolors: 1.1.1
+
+ '@babel/generator@7.27.0':
+ dependencies:
+ '@babel/parser': 7.27.0
+ '@babel/types': 7.27.0
+ '@jridgewell/gen-mapping': 0.3.8
+ '@jridgewell/trace-mapping': 0.3.25
+ jsesc: 3.1.0
+
+ '@babel/helper-string-parser@7.25.9': {}
+
+ '@babel/helper-validator-identifier@7.25.9': {}
+
+ '@babel/parser@7.24.5':
+ dependencies:
+ '@babel/types': 7.27.0
+
+ '@babel/parser@7.27.0':
+ dependencies:
+ '@babel/types': 7.27.0
+
+ '@babel/template@7.27.0':
+ dependencies:
+ '@babel/code-frame': 7.26.2
+ '@babel/parser': 7.27.0
+ '@babel/types': 7.27.0
+
+ '@babel/traverse@7.25.6':
+ dependencies:
+ '@babel/code-frame': 7.26.2
+ '@babel/generator': 7.27.0
+ '@babel/parser': 7.27.0
+ '@babel/template': 7.27.0
+ '@babel/types': 7.27.0
+ debug: 4.4.0
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/types@7.27.0':
+ dependencies:
+ '@babel/helper-string-parser': 7.25.9
+ '@babel/helper-validator-identifier': 7.25.9
+
+ '@better-auth/utils@0.2.4':
+ dependencies:
+ typescript: 5.8.2
+ uncrypto: 0.1.3
+
+ '@better-fetch/fetch@1.1.18': {}
+
+ '@biomejs/biome@1.9.4':
+ optionalDependencies:
+ '@biomejs/cli-darwin-arm64': 1.9.4
+ '@biomejs/cli-darwin-x64': 1.9.4
+ '@biomejs/cli-linux-arm64': 1.9.4
+ '@biomejs/cli-linux-arm64-musl': 1.9.4
+ '@biomejs/cli-linux-x64': 1.9.4
+ '@biomejs/cli-linux-x64-musl': 1.9.4
+ '@biomejs/cli-win32-arm64': 1.9.4
+ '@biomejs/cli-win32-x64': 1.9.4
+
+ '@biomejs/cli-darwin-arm64@1.9.4':
+ optional: true
+
+ '@biomejs/cli-darwin-x64@1.9.4':
+ optional: true
+
+ '@biomejs/cli-linux-arm64-musl@1.9.4':
+ optional: true
+
+ '@biomejs/cli-linux-arm64@1.9.4':
+ optional: true
+
+ '@biomejs/cli-linux-x64-musl@1.9.4':
+ optional: true
+
+ '@biomejs/cli-linux-x64@1.9.4':
+ optional: true
+
+ '@biomejs/cli-win32-arm64@1.9.4':
+ optional: true
+
+ '@biomejs/cli-win32-x64@1.9.4':
+ optional: true
+
+ '@corex/deepmerge@4.0.43': {}
+
+ '@drizzle-team/brocli@0.10.2': {}
+
+ '@emnapi/runtime@1.3.1':
+ dependencies:
+ tslib: 2.8.1
+ optional: true
+
+ '@esbuild-kit/core-utils@3.3.2':
+ dependencies:
+ esbuild: 0.18.20
+ source-map-support: 0.5.21
+
+ '@esbuild-kit/esm-loader@2.6.5':
+ dependencies:
+ '@esbuild-kit/core-utils': 3.3.2
+ get-tsconfig: 4.10.0
+
+ '@esbuild/aix-ppc64@0.19.12':
+ optional: true
+
+ '@esbuild/aix-ppc64@0.23.0':
+ optional: true
+
+ '@esbuild/aix-ppc64@0.25.1':
+ optional: true
+
+ '@esbuild/android-arm64@0.18.20':
+ optional: true
+
+ '@esbuild/android-arm64@0.19.12':
+ optional: true
+
+ '@esbuild/android-arm64@0.23.0':
+ optional: true
+
+ '@esbuild/android-arm64@0.25.1':
+ optional: true
+
+ '@esbuild/android-arm@0.18.20':
+ optional: true
+
+ '@esbuild/android-arm@0.19.12':
+ optional: true
+
+ '@esbuild/android-arm@0.23.0':
+ optional: true
+
+ '@esbuild/android-arm@0.25.1':
+ optional: true
+
+ '@esbuild/android-x64@0.18.20':
+ optional: true
+
+ '@esbuild/android-x64@0.19.12':
+ optional: true
+
+ '@esbuild/android-x64@0.23.0':
+ optional: true
+
+ '@esbuild/android-x64@0.25.1':
+ optional: true
+
+ '@esbuild/darwin-arm64@0.18.20':
+ optional: true
+
+ '@esbuild/darwin-arm64@0.19.12':
+ optional: true
+
+ '@esbuild/darwin-arm64@0.23.0':
+ optional: true
+
+ '@esbuild/darwin-arm64@0.25.1':
+ optional: true
+
+ '@esbuild/darwin-x64@0.18.20':
+ optional: true
+
+ '@esbuild/darwin-x64@0.19.12':
+ optional: true
+
+ '@esbuild/darwin-x64@0.23.0':
+ optional: true
+
+ '@esbuild/darwin-x64@0.25.1':
+ optional: true
+
+ '@esbuild/freebsd-arm64@0.18.20':
+ optional: true
+
+ '@esbuild/freebsd-arm64@0.19.12':
+ optional: true
+
+ '@esbuild/freebsd-arm64@0.23.0':
+ optional: true
+
+ '@esbuild/freebsd-arm64@0.25.1':
+ optional: true
+
+ '@esbuild/freebsd-x64@0.18.20':
+ optional: true
+
+ '@esbuild/freebsd-x64@0.19.12':
+ optional: true
+
+ '@esbuild/freebsd-x64@0.23.0':
+ optional: true
+
+ '@esbuild/freebsd-x64@0.25.1':
+ optional: true
+
+ '@esbuild/linux-arm64@0.18.20':
+ optional: true
+
+ '@esbuild/linux-arm64@0.19.12':
+ optional: true
+
+ '@esbuild/linux-arm64@0.23.0':
+ optional: true
+
+ '@esbuild/linux-arm64@0.25.1':
+ optional: true
+
+ '@esbuild/linux-arm@0.18.20':
+ optional: true
+
+ '@esbuild/linux-arm@0.19.12':
+ optional: true
+
+ '@esbuild/linux-arm@0.23.0':
+ optional: true
+
+ '@esbuild/linux-arm@0.25.1':
+ optional: true
+
+ '@esbuild/linux-ia32@0.18.20':
+ optional: true
+
+ '@esbuild/linux-ia32@0.19.12':
+ optional: true
+
+ '@esbuild/linux-ia32@0.23.0':
+ optional: true
+
+ '@esbuild/linux-ia32@0.25.1':
+ optional: true
+
+ '@esbuild/linux-loong64@0.18.20':
+ optional: true
+
+ '@esbuild/linux-loong64@0.19.12':
+ optional: true
+
+ '@esbuild/linux-loong64@0.23.0':
+ optional: true
+
+ '@esbuild/linux-loong64@0.25.1':
+ optional: true
+
+ '@esbuild/linux-mips64el@0.18.20':
+ optional: true
+
+ '@esbuild/linux-mips64el@0.19.12':
+ optional: true
+
+ '@esbuild/linux-mips64el@0.23.0':
+ optional: true
+
+ '@esbuild/linux-mips64el@0.25.1':
+ optional: true
+
+ '@esbuild/linux-ppc64@0.18.20':
+ optional: true
+
+ '@esbuild/linux-ppc64@0.19.12':
+ optional: true
+
+ '@esbuild/linux-ppc64@0.23.0':
+ optional: true
+
+ '@esbuild/linux-ppc64@0.25.1':
+ optional: true
+
+ '@esbuild/linux-riscv64@0.18.20':
+ optional: true
+
+ '@esbuild/linux-riscv64@0.19.12':
+ optional: true
+
+ '@esbuild/linux-riscv64@0.23.0':
+ optional: true
+
+ '@esbuild/linux-riscv64@0.25.1':
+ optional: true
+
+ '@esbuild/linux-s390x@0.18.20':
+ optional: true
+
+ '@esbuild/linux-s390x@0.19.12':
+ optional: true
+
+ '@esbuild/linux-s390x@0.23.0':
+ optional: true
+
+ '@esbuild/linux-s390x@0.25.1':
+ optional: true
+
+ '@esbuild/linux-x64@0.18.20':
+ optional: true
+
+ '@esbuild/linux-x64@0.19.12':
+ optional: true
+
+ '@esbuild/linux-x64@0.23.0':
+ optional: true
+
+ '@esbuild/linux-x64@0.25.1':
+ optional: true
+
+ '@esbuild/netbsd-arm64@0.25.1':
+ optional: true
+
+ '@esbuild/netbsd-x64@0.18.20':
+ optional: true
+
+ '@esbuild/netbsd-x64@0.19.12':
+ optional: true
+
+ '@esbuild/netbsd-x64@0.23.0':
+ optional: true
+
+ '@esbuild/netbsd-x64@0.25.1':
+ optional: true
+
+ '@esbuild/openbsd-arm64@0.23.0':
+ optional: true
+
+ '@esbuild/openbsd-arm64@0.25.1':
+ optional: true
+
+ '@esbuild/openbsd-x64@0.18.20':
+ optional: true
+
+ '@esbuild/openbsd-x64@0.19.12':
+ optional: true
+
+ '@esbuild/openbsd-x64@0.23.0':
+ optional: true
+
+ '@esbuild/openbsd-x64@0.25.1':
+ optional: true
+
+ '@esbuild/sunos-x64@0.18.20':
+ optional: true
+
+ '@esbuild/sunos-x64@0.19.12':
+ optional: true
+
+ '@esbuild/sunos-x64@0.23.0':
+ optional: true
+
+ '@esbuild/sunos-x64@0.25.1':
+ optional: true
+
+ '@esbuild/win32-arm64@0.18.20':
+ optional: true
+
+ '@esbuild/win32-arm64@0.19.12':
+ optional: true
+
+ '@esbuild/win32-arm64@0.23.0':
+ optional: true
+
+ '@esbuild/win32-arm64@0.25.1':
+ optional: true
+
+ '@esbuild/win32-ia32@0.18.20':
+ optional: true
+
+ '@esbuild/win32-ia32@0.19.12':
+ optional: true
+
+ '@esbuild/win32-ia32@0.23.0':
+ optional: true
+
+ '@esbuild/win32-ia32@0.25.1':
+ optional: true
+
+ '@esbuild/win32-x64@0.18.20':
+ optional: true
+
+ '@esbuild/win32-x64@0.19.12':
+ optional: true
+
+ '@esbuild/win32-x64@0.23.0':
+ optional: true
+
+ '@esbuild/win32-x64@0.25.1':
+ optional: true
+
+ '@floating-ui/core@1.6.9':
+ dependencies:
+ '@floating-ui/utils': 0.2.9
+
+ '@floating-ui/dom@1.6.13':
+ dependencies:
+ '@floating-ui/core': 1.6.9
+ '@floating-ui/utils': 0.2.9
+
+ '@floating-ui/react-dom@2.1.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+ dependencies:
+ '@floating-ui/dom': 1.6.13
+ react: 19.0.0
+ react-dom: 19.0.0(react@19.0.0)
+
+ '@floating-ui/utils@0.2.9': {}
+
+ '@formatjs/intl-localematcher@0.6.1':
+ dependencies:
+ tslib: 2.8.1
+
+ '@fuma-comment/react@1.2.1(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/extension-code-block@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5))(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(highlight.js@11.11.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+ dependencies:
+ '@radix-ui/react-collapsible': 1.1.3(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-dialog': 1.1.6(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-dropdown-menu': 2.1.6(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@tiptap/extension-bold': 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))
+ '@tiptap/extension-code': 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))
+ '@tiptap/extension-code-block-lowlight': 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/extension-code-block@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5)(highlight.js@11.11.1)(lowlight@3.3.0)
+ '@tiptap/extension-document': 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))
+ '@tiptap/extension-dropcursor': 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5)
+ '@tiptap/extension-gapcursor': 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5)
+ '@tiptap/extension-history': 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5)
+ '@tiptap/extension-image': 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))
+ '@tiptap/extension-italic': 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))
+ '@tiptap/extension-link': 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5)
+ '@tiptap/extension-mention': 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5)(@tiptap/suggestion@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5))
+ '@tiptap/extension-paragraph': 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))
+ '@tiptap/extension-placeholder': 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5)
+ '@tiptap/extension-strike': 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))
+ '@tiptap/extension-text': 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))
+ '@tiptap/pm': 2.11.5
+ '@tiptap/react': 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@tiptap/suggestion': 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5)
+ class-variance-authority: 0.7.1
+ hast-util-to-jsx-runtime: 2.3.6
+ lowlight: 3.3.0
+ lucide-react: 0.479.0(react@19.0.0)
+ react: 19.0.0
+ react-dom: 19.0.0(react@19.0.0)
+ swr: 2.3.3(react@19.0.0)
+ tailwind-merge: 3.0.2
+ tippy.js: 6.3.7
+ transitivePeerDependencies:
+ - '@tiptap/core'
+ - '@tiptap/extension-code-block'
+ - '@types/react'
+ - '@types/react-dom'
+ - highlight.js
+ - supports-color
+
+ '@fuma-comment/server@1.2.1(better-auth@1.2.5(typescript@5.7.3))(drizzle-orm@0.41.0(@neondatabase/serverless@1.0.0)(@types/pg@8.11.11)(gel@2.0.1)(kysely@0.27.6))(next@15.2.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0))':
+ dependencies:
+ drizzle-orm: 0.41.0(@neondatabase/serverless@1.0.0)(@types/pg@8.11.11)(gel@2.0.1)(kysely@0.27.6)
+ zod: 3.24.2
+ optionalDependencies:
+ better-auth: 1.2.5(typescript@5.7.3)
+ next: 15.2.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+
+ '@hexagon/base64@1.1.28': {}
+
+ '@hookform/resolvers@4.1.3(react-hook-form@7.55.0(react@19.0.0))':
+ dependencies:
+ '@standard-schema/utils': 0.3.0
+ react-hook-form: 7.55.0(react@19.0.0)
+
+ '@img/sharp-darwin-arm64@0.33.5':
+ optionalDependencies:
+ '@img/sharp-libvips-darwin-arm64': 1.0.4
+ optional: true
+
+ '@img/sharp-darwin-x64@0.33.5':
+ optionalDependencies:
+ '@img/sharp-libvips-darwin-x64': 1.0.4
+ optional: true
+
+ '@img/sharp-libvips-darwin-arm64@1.0.4':
+ optional: true
+
+ '@img/sharp-libvips-darwin-x64@1.0.4':
+ optional: true
+
+ '@img/sharp-libvips-linux-arm64@1.0.4':
+ optional: true
+
+ '@img/sharp-libvips-linux-arm@1.0.5':
+ optional: true
+
+ '@img/sharp-libvips-linux-s390x@1.0.4':
+ optional: true
+
+ '@img/sharp-libvips-linux-x64@1.0.4':
+ optional: true
+
+ '@img/sharp-libvips-linuxmusl-arm64@1.0.4':
+ optional: true
+
+ '@img/sharp-libvips-linuxmusl-x64@1.0.4':
+ optional: true
+
+ '@img/sharp-linux-arm64@0.33.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-arm64': 1.0.4
+ optional: true
+
+ '@img/sharp-linux-arm@0.33.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-arm': 1.0.5
+ optional: true
+
+ '@img/sharp-linux-s390x@0.33.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-s390x': 1.0.4
+ optional: true
+
+ '@img/sharp-linux-x64@0.33.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-x64': 1.0.4
+ optional: true
+
+ '@img/sharp-linuxmusl-arm64@0.33.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linuxmusl-arm64': 1.0.4
+ optional: true
+
+ '@img/sharp-linuxmusl-x64@0.33.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linuxmusl-x64': 1.0.4
+ optional: true
+
+ '@img/sharp-wasm32@0.33.5':
+ dependencies:
+ '@emnapi/runtime': 1.3.1
+ optional: true
+
+ '@img/sharp-win32-ia32@0.33.5':
+ optional: true
+
+ '@img/sharp-win32-x64@0.33.5':
+ optional: true
+
+ '@isaacs/cliui@8.0.2':
+ dependencies:
+ string-width: 5.1.2
+ string-width-cjs: string-width@4.2.3
+ strip-ansi: 7.1.0
+ strip-ansi-cjs: strip-ansi@6.0.1
+ wrap-ansi: 8.1.0
+ wrap-ansi-cjs: wrap-ansi@7.0.0
+
+ '@jridgewell/gen-mapping@0.3.8':
+ dependencies:
+ '@jridgewell/set-array': 1.2.1
+ '@jridgewell/sourcemap-codec': 1.5.0
+ '@jridgewell/trace-mapping': 0.3.25
+
+ '@jridgewell/resolve-uri@3.1.2': {}
+
+ '@jridgewell/set-array@1.2.1': {}
+
+ '@jridgewell/sourcemap-codec@1.5.0': {}
+
+ '@jridgewell/trace-mapping@0.3.25':
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.2
+ '@jridgewell/sourcemap-codec': 1.5.0
+
+ '@levischuck/tiny-cbor@0.2.11': {}
+
+ '@mdx-js/mdx@3.1.0(acorn@8.14.1)':
+ dependencies:
+ '@types/estree': 1.0.6
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdx': 2.0.13
+ collapse-white-space: 2.1.0
+ devlop: 1.1.0
+ estree-util-is-identifier-name: 3.0.0
+ estree-util-scope: 1.0.0
+ estree-walker: 3.0.3
+ hast-util-to-jsx-runtime: 2.3.6
+ markdown-extensions: 2.0.0
+ recma-build-jsx: 1.0.0
+ recma-jsx: 1.0.0(acorn@8.14.1)
+ recma-stringify: 1.0.0
+ rehype-recma: 1.0.0
+ remark-mdx: 3.1.0
+ remark-parse: 11.0.0
+ remark-rehype: 11.1.1
+ source-map: 0.7.4
+ unified: 11.0.5
+ unist-util-position-from-estree: 2.0.0
+ unist-util-stringify-position: 4.0.0
+ unist-util-visit: 5.0.0
+ vfile: 6.0.3
+ transitivePeerDependencies:
+ - acorn
+ - supports-color
+
+ '@neondatabase/serverless@1.0.0':
+ dependencies:
+ '@types/node': 22.13.1
+ '@types/pg': 8.11.11
+
+ '@next/env@13.5.9': {}
+
+ '@next/env@15.2.2': {}
+
+ '@next/env@15.2.4': {}
+
+ '@next/swc-darwin-arm64@15.2.2':
+ optional: true
+
+ '@next/swc-darwin-arm64@15.2.4':
+ optional: true
+
+ '@next/swc-darwin-x64@15.2.2':
+ optional: true
+
+ '@next/swc-darwin-x64@15.2.4':
+ optional: true
+
+ '@next/swc-linux-arm64-gnu@15.2.2':
+ optional: true
+
+ '@next/swc-linux-arm64-gnu@15.2.4':
+ optional: true
+
+ '@next/swc-linux-arm64-musl@15.2.2':
+ optional: true
+
+ '@next/swc-linux-arm64-musl@15.2.4':
+ optional: true
+
+ '@next/swc-linux-x64-gnu@15.2.2':
+ optional: true
+
+ '@next/swc-linux-x64-gnu@15.2.4':
+ optional: true
+
+ '@next/swc-linux-x64-musl@15.2.2':
+ optional: true
+
+ '@next/swc-linux-x64-musl@15.2.4':
+ optional: true
+
+ '@next/swc-win32-arm64-msvc@15.2.2':
+ optional: true
+
+ '@next/swc-win32-arm64-msvc@15.2.4':
+ optional: true
+
+ '@next/swc-win32-x64-msvc@15.2.2':
+ optional: true
+
+ '@next/swc-win32-x64-msvc@15.2.4':
+ optional: true
+
+ '@noble/ciphers@0.6.0': {}
+
+ '@noble/hashes@1.7.1': {}
+
+ '@nodelib/fs.scandir@2.1.5':
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ run-parallel: 1.2.0
+
+ '@nodelib/fs.stat@2.0.5': {}
+
+ '@nodelib/fs.walk@1.2.8':
+ dependencies:
+ '@nodelib/fs.scandir': 2.1.5
+ fastq: 1.19.1
+
+ '@orama/orama@3.1.4': {}
+
+ '@oxc-transform/binding-darwin-arm64@0.53.0':
+ optional: true
+
+ '@oxc-transform/binding-darwin-x64@0.53.0':
+ optional: true
+
+ '@oxc-transform/binding-linux-arm64-gnu@0.53.0':
+ optional: true
+
+ '@oxc-transform/binding-linux-arm64-musl@0.53.0':
+ optional: true
+
+ '@oxc-transform/binding-linux-x64-gnu@0.53.0':
+ optional: true
+
+ '@oxc-transform/binding-linux-x64-musl@0.53.0':
+ optional: true
+
+ '@oxc-transform/binding-win32-arm64-msvc@0.53.0':
+ optional: true
+
+ '@oxc-transform/binding-win32-x64-msvc@0.53.0':
+ optional: true
+
+ '@peculiar/asn1-android@2.3.16':
+ dependencies:
+ '@peculiar/asn1-schema': 2.3.15
+ asn1js: 3.0.5
+ tslib: 2.8.1
+
+ '@peculiar/asn1-ecc@2.3.15':
+ dependencies:
+ '@peculiar/asn1-schema': 2.3.15
+ '@peculiar/asn1-x509': 2.3.15
+ asn1js: 3.0.5
+ tslib: 2.8.1
+
+ '@peculiar/asn1-rsa@2.3.15':
+ dependencies:
+ '@peculiar/asn1-schema': 2.3.15
+ '@peculiar/asn1-x509': 2.3.15
+ asn1js: 3.0.5
+ tslib: 2.8.1
+
+ '@peculiar/asn1-schema@2.3.15':
+ dependencies:
+ asn1js: 3.0.5
+ pvtsutils: 1.3.6
+ tslib: 2.8.1
+
+ '@peculiar/asn1-x509@2.3.15':
+ dependencies:
+ '@peculiar/asn1-schema': 2.3.15
+ asn1js: 3.0.5
+ pvtsutils: 1.3.6
+ tslib: 2.8.1
+
+ '@petamoriken/float16@3.9.2': {}
+
+ '@pkgjs/parseargs@0.11.0':
+ optional: true
+
+ '@popperjs/core@2.11.8': {}
+
+ '@radix-ui/number@1.1.0': {}
+
+ '@radix-ui/primitive@1.1.1': {}
+
+ '@radix-ui/react-accordion@1.2.3(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.1
+ '@radix-ui/react-collapsible': 1.1.3(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-collection': 1.1.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-context': 1.1.1(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-direction': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-id': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ react: 19.0.0
+ react-dom: 19.0.0(react@19.0.0)
+ optionalDependencies:
+ '@types/react': 19.0.8
+ '@types/react-dom': 19.0.3(@types/react@19.0.8)
+
+ '@radix-ui/react-arrow@1.1.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+ dependencies:
+ '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ react: 19.0.0
+ react-dom: 19.0.0(react@19.0.0)
+ optionalDependencies:
+ '@types/react': 19.0.8
+ '@types/react-dom': 19.0.3(@types/react@19.0.8)
+
+ '@radix-ui/react-avatar@1.1.3(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+ dependencies:
+ '@radix-ui/react-context': 1.1.1(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ react: 19.0.0
+ react-dom: 19.0.0(react@19.0.0)
+ optionalDependencies:
+ '@types/react': 19.0.8
+ '@types/react-dom': 19.0.3(@types/react@19.0.8)
+
+ '@radix-ui/react-collapsible@1.1.3(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.1
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-context': 1.1.1(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-id': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ react: 19.0.0
+ react-dom: 19.0.0(react@19.0.0)
+ optionalDependencies:
+ '@types/react': 19.0.8
+ '@types/react-dom': 19.0.3(@types/react@19.0.8)
+
+ '@radix-ui/react-collection@1.1.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+ dependencies:
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-context': 1.1.1(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-slot': 1.1.2(@types/react@19.0.8)(react@19.0.0)
+ react: 19.0.0
+ react-dom: 19.0.0(react@19.0.0)
+ optionalDependencies:
+ '@types/react': 19.0.8
+ '@types/react-dom': 19.0.3(@types/react@19.0.8)
+
+ '@radix-ui/react-compose-refs@1.1.1(@types/react@19.0.8)(react@19.0.0)':
+ dependencies:
+ react: 19.0.0
+ optionalDependencies:
+ '@types/react': 19.0.8
+
+ '@radix-ui/react-context@1.1.1(@types/react@19.0.8)(react@19.0.0)':
+ dependencies:
+ react: 19.0.0
+ optionalDependencies:
+ '@types/react': 19.0.8
+
+ '@radix-ui/react-dialog@1.1.6(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.1
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-context': 1.1.1(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-focus-scope': 1.1.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-id': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-portal': 1.1.4(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-slot': 1.1.2(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ aria-hidden: 1.2.4
+ react: 19.0.0
+ react-dom: 19.0.0(react@19.0.0)
+ react-remove-scroll: 2.6.3(@types/react@19.0.8)(react@19.0.0)
+ optionalDependencies:
+ '@types/react': 19.0.8
+ '@types/react-dom': 19.0.3(@types/react@19.0.8)
+
+ '@radix-ui/react-direction@1.1.0(@types/react@19.0.8)(react@19.0.0)':
+ dependencies:
+ react: 19.0.0
+ optionalDependencies:
+ '@types/react': 19.0.8
+
+ '@radix-ui/react-dismissable-layer@1.1.5(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.1
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ react: 19.0.0
+ react-dom: 19.0.0(react@19.0.0)
+ optionalDependencies:
+ '@types/react': 19.0.8
+ '@types/react-dom': 19.0.3(@types/react@19.0.8)
+
+ '@radix-ui/react-dropdown-menu@2.1.6(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.1
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-context': 1.1.1(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-id': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-menu': 2.1.6(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ react: 19.0.0
+ react-dom: 19.0.0(react@19.0.0)
+ optionalDependencies:
+ '@types/react': 19.0.8
+ '@types/react-dom': 19.0.3(@types/react@19.0.8)
+
+ '@radix-ui/react-focus-guards@1.1.1(@types/react@19.0.8)(react@19.0.0)':
+ dependencies:
+ react: 19.0.0
+ optionalDependencies:
+ '@types/react': 19.0.8
+
+ '@radix-ui/react-focus-scope@1.1.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+ dependencies:
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ react: 19.0.0
+ react-dom: 19.0.0(react@19.0.0)
+ optionalDependencies:
+ '@types/react': 19.0.8
+ '@types/react-dom': 19.0.3(@types/react@19.0.8)
+
+ '@radix-ui/react-icons@1.3.2(react@19.0.0)':
+ dependencies:
+ react: 19.0.0
+
+ '@radix-ui/react-id@1.1.0(@types/react@19.0.8)(react@19.0.0)':
+ dependencies:
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ react: 19.0.0
+ optionalDependencies:
+ '@types/react': 19.0.8
+
+ '@radix-ui/react-label@2.1.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+ dependencies:
+ '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ react: 19.0.0
+ react-dom: 19.0.0(react@19.0.0)
+ optionalDependencies:
+ '@types/react': 19.0.8
+ '@types/react-dom': 19.0.3(@types/react@19.0.8)
+
+ '@radix-ui/react-menu@2.1.6(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.1
+ '@radix-ui/react-collection': 1.1.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-context': 1.1.1(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-direction': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-focus-scope': 1.1.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-id': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-popper': 1.2.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-portal': 1.1.4(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-roving-focus': 1.1.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-slot': 1.1.2(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ aria-hidden: 1.2.4
+ react: 19.0.0
+ react-dom: 19.0.0(react@19.0.0)
+ react-remove-scroll: 2.6.3(@types/react@19.0.8)(react@19.0.0)
+ optionalDependencies:
+ '@types/react': 19.0.8
+ '@types/react-dom': 19.0.3(@types/react@19.0.8)
+
+ '@radix-ui/react-navigation-menu@1.2.5(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.1
+ '@radix-ui/react-collection': 1.1.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-context': 1.1.1(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-direction': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-id': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-use-previous': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-visually-hidden': 1.1.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ react: 19.0.0
+ react-dom: 19.0.0(react@19.0.0)
+ optionalDependencies:
+ '@types/react': 19.0.8
+ '@types/react-dom': 19.0.3(@types/react@19.0.8)
+
+ '@radix-ui/react-popover@1.1.6(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.1
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-context': 1.1.1(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-focus-scope': 1.1.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-id': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-popper': 1.2.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-portal': 1.1.4(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-slot': 1.1.2(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ aria-hidden: 1.2.4
+ react: 19.0.0
+ react-dom: 19.0.0(react@19.0.0)
+ react-remove-scroll: 2.6.3(@types/react@19.0.8)(react@19.0.0)
+ optionalDependencies:
+ '@types/react': 19.0.8
+ '@types/react-dom': 19.0.3(@types/react@19.0.8)
+
+ '@radix-ui/react-popper@1.2.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+ dependencies:
+ '@floating-ui/react-dom': 2.1.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-arrow': 1.1.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-context': 1.1.1(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-use-rect': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-use-size': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/rect': 1.1.0
+ react: 19.0.0
+ react-dom: 19.0.0(react@19.0.0)
+ optionalDependencies:
+ '@types/react': 19.0.8
+ '@types/react-dom': 19.0.3(@types/react@19.0.8)
+
+ '@radix-ui/react-portal@1.1.4(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+ dependencies:
+ '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ react: 19.0.0
+ react-dom: 19.0.0(react@19.0.0)
+ optionalDependencies:
+ '@types/react': 19.0.8
+ '@types/react-dom': 19.0.3(@types/react@19.0.8)
+
+ '@radix-ui/react-presence@1.1.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+ dependencies:
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ react: 19.0.0
+ react-dom: 19.0.0(react@19.0.0)
+ optionalDependencies:
+ '@types/react': 19.0.8
+ '@types/react-dom': 19.0.3(@types/react@19.0.8)
+
+ '@radix-ui/react-primitive@2.0.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+ dependencies:
+ '@radix-ui/react-slot': 1.1.2(@types/react@19.0.8)(react@19.0.0)
+ react: 19.0.0
+ react-dom: 19.0.0(react@19.0.0)
+ optionalDependencies:
+ '@types/react': 19.0.8
+ '@types/react-dom': 19.0.3(@types/react@19.0.8)
+
+ '@radix-ui/react-roving-focus@1.1.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.1
+ '@radix-ui/react-collection': 1.1.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-context': 1.1.1(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-direction': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-id': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ react: 19.0.0
+ react-dom: 19.0.0(react@19.0.0)
+ optionalDependencies:
+ '@types/react': 19.0.8
+ '@types/react-dom': 19.0.3(@types/react@19.0.8)
+
+ '@radix-ui/react-scroll-area@1.2.3(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+ dependencies:
+ '@radix-ui/number': 1.1.0
+ '@radix-ui/primitive': 1.1.1
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-context': 1.1.1(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-direction': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ react: 19.0.0
+ react-dom: 19.0.0(react@19.0.0)
+ optionalDependencies:
+ '@types/react': 19.0.8
+ '@types/react-dom': 19.0.3(@types/react@19.0.8)
+
+ '@radix-ui/react-slot@1.1.2(@types/react@19.0.8)(react@19.0.0)':
+ dependencies:
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.8)(react@19.0.0)
+ react: 19.0.0
+ optionalDependencies:
+ '@types/react': 19.0.8
+
+ '@radix-ui/react-tabs@1.1.3(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.1
+ '@radix-ui/react-context': 1.1.1(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-direction': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-id': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-roving-focus': 1.1.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ react: 19.0.0
+ react-dom: 19.0.0(react@19.0.0)
+ optionalDependencies:
+ '@types/react': 19.0.8
+ '@types/react-dom': 19.0.3(@types/react@19.0.8)
+
+ '@radix-ui/react-tooltip@1.1.8(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.1
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-context': 1.1.1(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-id': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-popper': 1.2.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-portal': 1.1.4(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-slot': 1.1.2(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-visually-hidden': 1.1.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ react: 19.0.0
+ react-dom: 19.0.0(react@19.0.0)
+ optionalDependencies:
+ '@types/react': 19.0.8
+ '@types/react-dom': 19.0.3(@types/react@19.0.8)
+
+ '@radix-ui/react-use-callback-ref@1.1.0(@types/react@19.0.8)(react@19.0.0)':
+ dependencies:
+ react: 19.0.0
+ optionalDependencies:
+ '@types/react': 19.0.8
+
+ '@radix-ui/react-use-controllable-state@1.1.0(@types/react@19.0.8)(react@19.0.0)':
+ dependencies:
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ react: 19.0.0
+ optionalDependencies:
+ '@types/react': 19.0.8
+
+ '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@19.0.8)(react@19.0.0)':
+ dependencies:
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ react: 19.0.0
+ optionalDependencies:
+ '@types/react': 19.0.8
+
+ '@radix-ui/react-use-layout-effect@1.1.0(@types/react@19.0.8)(react@19.0.0)':
+ dependencies:
+ react: 19.0.0
+ optionalDependencies:
+ '@types/react': 19.0.8
+
+ '@radix-ui/react-use-previous@1.1.0(@types/react@19.0.8)(react@19.0.0)':
+ dependencies:
+ react: 19.0.0
+ optionalDependencies:
+ '@types/react': 19.0.8
+
+ '@radix-ui/react-use-rect@1.1.0(@types/react@19.0.8)(react@19.0.0)':
+ dependencies:
+ '@radix-ui/rect': 1.1.0
+ react: 19.0.0
+ optionalDependencies:
+ '@types/react': 19.0.8
+
+ '@radix-ui/react-use-size@1.1.0(@types/react@19.0.8)(react@19.0.0)':
+ dependencies:
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ react: 19.0.0
+ optionalDependencies:
+ '@types/react': 19.0.8
+
+ '@radix-ui/react-visually-hidden@1.1.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+ dependencies:
+ '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ react: 19.0.0
+ react-dom: 19.0.0(react@19.0.0)
+ optionalDependencies:
+ '@types/react': 19.0.8
+ '@types/react-dom': 19.0.3(@types/react@19.0.8)
+
+ '@radix-ui/rect@1.1.0': {}
+
+ '@react-email/body@0.0.11(react@19.0.0)':
+ dependencies:
+ react: 19.0.0
+
+ '@react-email/button@0.0.19(react@19.0.0)':
+ dependencies:
+ react: 19.0.0
+
+ '@react-email/code-block@0.0.11(react@19.0.0)':
+ dependencies:
+ prismjs: 1.29.0
+ react: 19.0.0
+
+ '@react-email/code-inline@0.0.5(react@19.0.0)':
+ dependencies:
+ react: 19.0.0
+
+ '@react-email/column@0.0.13(react@19.0.0)':
+ dependencies:
+ react: 19.0.0
+
+ '@react-email/components@0.0.34(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+ dependencies:
+ '@react-email/body': 0.0.11(react@19.0.0)
+ '@react-email/button': 0.0.19(react@19.0.0)
+ '@react-email/code-block': 0.0.11(react@19.0.0)
+ '@react-email/code-inline': 0.0.5(react@19.0.0)
+ '@react-email/column': 0.0.13(react@19.0.0)
+ '@react-email/container': 0.0.15(react@19.0.0)
+ '@react-email/font': 0.0.9(react@19.0.0)
+ '@react-email/head': 0.0.12(react@19.0.0)
+ '@react-email/heading': 0.0.15(react@19.0.0)
+ '@react-email/hr': 0.0.11(react@19.0.0)
+ '@react-email/html': 0.0.11(react@19.0.0)
+ '@react-email/img': 0.0.11(react@19.0.0)
+ '@react-email/link': 0.0.12(react@19.0.0)
+ '@react-email/markdown': 0.0.14(react@19.0.0)
+ '@react-email/preview': 0.0.12(react@19.0.0)
+ '@react-email/render': 1.0.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@react-email/row': 0.0.12(react@19.0.0)
+ '@react-email/section': 0.0.16(react@19.0.0)
+ '@react-email/tailwind': 1.0.4(react@19.0.0)
+ '@react-email/text': 0.1.0(react@19.0.0)
+ react: 19.0.0
+ transitivePeerDependencies:
+ - react-dom
+
+ '@react-email/container@0.0.15(react@19.0.0)':
+ dependencies:
+ react: 19.0.0
+
+ '@react-email/font@0.0.9(react@19.0.0)':
+ dependencies:
+ react: 19.0.0
+
+ '@react-email/head@0.0.12(react@19.0.0)':
+ dependencies:
+ react: 19.0.0
+
+ '@react-email/heading@0.0.15(react@19.0.0)':
+ dependencies:
+ react: 19.0.0
+
+ '@react-email/hr@0.0.11(react@19.0.0)':
+ dependencies:
+ react: 19.0.0
+
+ '@react-email/html@0.0.11(react@19.0.0)':
+ dependencies:
+ react: 19.0.0
+
+ '@react-email/img@0.0.11(react@19.0.0)':
+ dependencies:
+ react: 19.0.0
+
+ '@react-email/link@0.0.12(react@19.0.0)':
+ dependencies:
+ react: 19.0.0
+
+ '@react-email/markdown@0.0.14(react@19.0.0)':
+ dependencies:
+ md-to-react-email: 5.0.5(react@19.0.0)
+ react: 19.0.0
+
+ '@react-email/preview@0.0.12(react@19.0.0)':
+ dependencies:
+ react: 19.0.0
+
+ '@react-email/render@1.0.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+ dependencies:
+ html-to-text: 9.0.5
+ prettier: 3.4.2
+ react: 19.0.0
+ react-dom: 19.0.0(react@19.0.0)
+ react-promise-suspense: 0.3.4
+
+ '@react-email/row@0.0.12(react@19.0.0)':
+ dependencies:
+ react: 19.0.0
+
+ '@react-email/section@0.0.16(react@19.0.0)':
+ dependencies:
+ react: 19.0.0
+
+ '@react-email/tailwind@1.0.4(react@19.0.0)':
+ dependencies:
+ react: 19.0.0
+
+ '@react-email/text@0.1.0(react@19.0.0)':
+ dependencies:
+ react: 19.0.0
+
+ '@remirror/core-constants@3.0.0': {}
+
+ '@selderee/plugin-htmlparser2@0.11.0':
+ dependencies:
+ domhandler: 5.0.3
+ selderee: 0.11.0
+
+ '@shikijs/core@3.2.1':
+ dependencies:
+ '@shikijs/types': 3.2.1
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.4
+ hast-util-to-html: 9.0.5
+
+ '@shikijs/engine-javascript@3.2.1':
+ dependencies:
+ '@shikijs/types': 3.2.1
+ '@shikijs/vscode-textmate': 10.0.2
+ oniguruma-to-es: 4.1.0
+
+ '@shikijs/engine-oniguruma@3.2.1':
+ dependencies:
+ '@shikijs/types': 3.2.1
+ '@shikijs/vscode-textmate': 10.0.2
+
+ '@shikijs/langs@3.2.1':
+ dependencies:
+ '@shikijs/types': 3.2.1
+
+ '@shikijs/rehype@3.2.1':
+ dependencies:
+ '@shikijs/types': 3.2.1
+ '@types/hast': 3.0.4
+ hast-util-to-string: 3.0.1
+ shiki: 3.2.1
+ unified: 11.0.5
+ unist-util-visit: 5.0.0
+
+ '@shikijs/themes@3.2.1':
+ dependencies:
+ '@shikijs/types': 3.2.1
+
+ '@shikijs/transformers@3.2.1':
+ dependencies:
+ '@shikijs/core': 3.2.1
+ '@shikijs/types': 3.2.1
+
+ '@shikijs/twoslash@3.2.1(typescript@5.7.3)':
+ dependencies:
+ '@shikijs/core': 3.2.1
+ '@shikijs/types': 3.2.1
+ twoslash: 0.3.1(typescript@5.7.3)
+ typescript: 5.7.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@shikijs/types@3.2.1':
+ dependencies:
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.4
+
+ '@shikijs/vscode-textmate@10.0.2': {}
+
+ '@simplewebauthn/browser@13.1.0': {}
+
+ '@simplewebauthn/server@13.1.1':
+ dependencies:
+ '@hexagon/base64': 1.1.28
+ '@levischuck/tiny-cbor': 0.2.11
+ '@peculiar/asn1-android': 2.3.16
+ '@peculiar/asn1-ecc': 2.3.15
+ '@peculiar/asn1-rsa': 2.3.15
+ '@peculiar/asn1-schema': 2.3.15
+ '@peculiar/asn1-x509': 2.3.15
+
+ '@socket.io/component-emitter@3.1.2': {}
+
+ '@standard-schema/spec@1.0.0': {}
+
+ '@standard-schema/utils@0.3.0': {}
+
+ '@swc/counter@0.1.3': {}
+
+ '@swc/helpers@0.5.15':
+ dependencies:
+ tslib: 2.8.1
+
+ '@t3-oss/env-core@0.12.0(typescript@5.7.3)(valibot@1.0.0-beta.15(typescript@5.7.3))(zod@3.24.2)':
+ optionalDependencies:
+ typescript: 5.7.3
+ valibot: 1.0.0-beta.15(typescript@5.7.3)
+ zod: 3.24.2
+
+ '@t3-oss/env-nextjs@0.12.0(typescript@5.7.3)(valibot@1.0.0-beta.15(typescript@5.7.3))(zod@3.24.2)':
+ dependencies:
+ '@t3-oss/env-core': 0.12.0(typescript@5.7.3)(valibot@1.0.0-beta.15(typescript@5.7.3))(zod@3.24.2)
+ optionalDependencies:
+ typescript: 5.7.3
+ valibot: 1.0.0-beta.15(typescript@5.7.3)
+ zod: 3.24.2
+
+ '@tailwindcss/node@4.0.15':
+ dependencies:
+ enhanced-resolve: 5.18.1
+ jiti: 2.4.2
+ tailwindcss: 4.0.15
+
+ '@tailwindcss/oxide-android-arm64@4.0.15':
+ optional: true
+
+ '@tailwindcss/oxide-darwin-arm64@4.0.15':
+ optional: true
+
+ '@tailwindcss/oxide-darwin-x64@4.0.15':
+ optional: true
+
+ '@tailwindcss/oxide-freebsd-x64@4.0.15':
+ optional: true
+
+ '@tailwindcss/oxide-linux-arm-gnueabihf@4.0.15':
+ optional: true
+
+ '@tailwindcss/oxide-linux-arm64-gnu@4.0.15':
+ optional: true
+
+ '@tailwindcss/oxide-linux-arm64-musl@4.0.15':
+ optional: true
+
+ '@tailwindcss/oxide-linux-x64-gnu@4.0.15':
+ optional: true
+
+ '@tailwindcss/oxide-linux-x64-musl@4.0.15':
+ optional: true
+
+ '@tailwindcss/oxide-win32-arm64-msvc@4.0.15':
+ optional: true
+
+ '@tailwindcss/oxide-win32-x64-msvc@4.0.15':
+ optional: true
+
+ '@tailwindcss/oxide@4.0.15':
+ optionalDependencies:
+ '@tailwindcss/oxide-android-arm64': 4.0.15
+ '@tailwindcss/oxide-darwin-arm64': 4.0.15
+ '@tailwindcss/oxide-darwin-x64': 4.0.15
+ '@tailwindcss/oxide-freebsd-x64': 4.0.15
+ '@tailwindcss/oxide-linux-arm-gnueabihf': 4.0.15
+ '@tailwindcss/oxide-linux-arm64-gnu': 4.0.15
+ '@tailwindcss/oxide-linux-arm64-musl': 4.0.15
+ '@tailwindcss/oxide-linux-x64-gnu': 4.0.15
+ '@tailwindcss/oxide-linux-x64-musl': 4.0.15
+ '@tailwindcss/oxide-win32-arm64-msvc': 4.0.15
+ '@tailwindcss/oxide-win32-x64-msvc': 4.0.15
+
+ '@tailwindcss/postcss@4.0.4':
+ dependencies:
+ '@alloc/quick-lru': 5.2.0
+ '@tailwindcss/node': 4.0.15
+ '@tailwindcss/oxide': 4.0.15
+ lightningcss: 1.29.3
+ postcss: 8.5.1
+ tailwindcss: 4.0.4
+
+ '@tiptap/core@2.11.5(@tiptap/pm@2.11.5)':
+ dependencies:
+ '@tiptap/pm': 2.11.5
+
+ '@tiptap/extension-bold@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))':
+ dependencies:
+ '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5)
+
+ '@tiptap/extension-bubble-menu@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5)':
+ dependencies:
+ '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5)
+ '@tiptap/pm': 2.11.5
+ tippy.js: 6.3.7
+
+ '@tiptap/extension-code-block-lowlight@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/extension-code-block@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5)(highlight.js@11.11.1)(lowlight@3.3.0)':
+ dependencies:
+ '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5)
+ '@tiptap/extension-code-block': 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5)
+ '@tiptap/pm': 2.11.5
+ highlight.js: 11.11.1
+ lowlight: 3.3.0
+
+ '@tiptap/extension-code-block@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5)':
+ dependencies:
+ '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5)
+ '@tiptap/pm': 2.11.5
+
+ '@tiptap/extension-code@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))':
+ dependencies:
+ '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5)
+
+ '@tiptap/extension-document@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))':
+ dependencies:
+ '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5)
+
+ '@tiptap/extension-dropcursor@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5)':
+ dependencies:
+ '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5)
+ '@tiptap/pm': 2.11.5
+
+ '@tiptap/extension-floating-menu@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5)':
+ dependencies:
+ '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5)
+ '@tiptap/pm': 2.11.5
+ tippy.js: 6.3.7
+
+ '@tiptap/extension-gapcursor@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5)':
+ dependencies:
+ '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5)
+ '@tiptap/pm': 2.11.5
+
+ '@tiptap/extension-history@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5)':
+ dependencies:
+ '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5)
+ '@tiptap/pm': 2.11.5
+
+ '@tiptap/extension-image@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))':
+ dependencies:
+ '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5)
+
+ '@tiptap/extension-italic@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))':
+ dependencies:
+ '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5)
+
+ '@tiptap/extension-link@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5)':
+ dependencies:
+ '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5)
+ '@tiptap/pm': 2.11.5
+ linkifyjs: 4.2.0
+
+ '@tiptap/extension-mention@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5)(@tiptap/suggestion@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5))':
+ dependencies:
+ '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5)
+ '@tiptap/pm': 2.11.5
+ '@tiptap/suggestion': 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5)
+
+ '@tiptap/extension-paragraph@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))':
+ dependencies:
+ '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5)
+
+ '@tiptap/extension-placeholder@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5)':
+ dependencies:
+ '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5)
+ '@tiptap/pm': 2.11.5
+
+ '@tiptap/extension-strike@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))':
+ dependencies:
+ '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5)
+
+ '@tiptap/extension-text@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))':
+ dependencies:
+ '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5)
+
+ '@tiptap/pm@2.11.5':
+ dependencies:
+ prosemirror-changeset: 2.2.1
+ prosemirror-collab: 1.3.1
+ prosemirror-commands: 1.7.0
+ prosemirror-dropcursor: 1.8.1
+ prosemirror-gapcursor: 1.3.2
+ prosemirror-history: 1.4.1
+ prosemirror-inputrules: 1.5.0
+ prosemirror-keymap: 1.2.2
+ prosemirror-markdown: 1.13.2
+ prosemirror-menu: 1.2.4
+ prosemirror-model: 1.25.0
+ prosemirror-schema-basic: 1.2.4
+ prosemirror-schema-list: 1.5.1
+ prosemirror-state: 1.4.3
+ prosemirror-tables: 1.6.4
+ prosemirror-trailing-node: 3.0.0(prosemirror-model@1.25.0)(prosemirror-state@1.4.3)(prosemirror-view@1.38.1)
+ prosemirror-transform: 1.10.3
+ prosemirror-view: 1.38.1
+
+ '@tiptap/react@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+ dependencies:
+ '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5)
+ '@tiptap/extension-bubble-menu': 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5)
+ '@tiptap/extension-floating-menu': 2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5)
+ '@tiptap/pm': 2.11.5
+ '@types/use-sync-external-store': 0.0.6
+ fast-deep-equal: 3.1.3
+ react: 19.0.0
+ react-dom: 19.0.0(react@19.0.0)
+ use-sync-external-store: 1.4.0(react@19.0.0)
+
+ '@tiptap/suggestion@2.11.5(@tiptap/core@2.11.5(@tiptap/pm@2.11.5))(@tiptap/pm@2.11.5)':
+ dependencies:
+ '@tiptap/core': 2.11.5(@tiptap/pm@2.11.5)
+ '@tiptap/pm': 2.11.5
+
+ '@types/acorn@4.0.6':
+ dependencies:
+ '@types/estree': 1.0.6
+
+ '@types/cors@2.8.17':
+ dependencies:
+ '@types/node': 22.13.1
+
+ '@types/debug@4.1.12':
+ dependencies:
+ '@types/ms': 2.1.0
+
+ '@types/estree-jsx@1.0.5':
+ dependencies:
+ '@types/estree': 1.0.6
+
+ '@types/estree@1.0.6': {}
+
+ '@types/hast@3.0.4':
+ dependencies:
+ '@types/unist': 3.0.3
+
+ '@types/katex@0.16.7': {}
+
+ '@types/linkify-it@5.0.0': {}
+
+ '@types/markdown-it@14.1.2':
+ dependencies:
+ '@types/linkify-it': 5.0.0
+ '@types/mdurl': 2.0.0
+
+ '@types/mdast@4.0.4':
+ dependencies:
+ '@types/unist': 3.0.3
+
+ '@types/mdurl@2.0.0': {}
+
+ '@types/mdx@2.0.13': {}
+
+ '@types/ms@2.1.0': {}
+
+ '@types/node@22.13.1':
+ dependencies:
+ undici-types: 6.20.0
+
+ '@types/pg@8.11.11':
+ dependencies:
+ '@types/node': 22.13.1
+ pg-protocol: 1.8.0
+ pg-types: 4.0.2
+
+ '@types/prismjs@1.26.5': {}
+
+ '@types/react-dom@19.0.3(@types/react@19.0.8)':
+ dependencies:
+ '@types/react': 19.0.8
+
+ '@types/react@19.0.8':
+ dependencies:
+ csstype: 3.1.3
+
+ '@types/rss@0.0.32': {}
+
+ '@types/unist@2.0.11': {}
+
+ '@types/unist@3.0.3': {}
+
+ '@types/use-sync-external-store@0.0.6': {}
+
+ '@typescript/vfs@1.6.1(typescript@5.7.3)':
+ dependencies:
+ debug: 4.4.0
+ typescript: 5.7.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@ungap/structured-clone@1.3.0': {}
+
+ accepts@1.3.8:
+ dependencies:
+ mime-types: 2.1.35
+ negotiator: 0.6.3
+
+ acorn-jsx@5.3.2(acorn@8.14.1):
+ dependencies:
+ acorn: 8.14.1
+
+ acorn@8.14.1: {}
+
+ ansi-regex@5.0.1: {}
+
+ ansi-regex@6.1.0: {}
+
+ ansi-styles@4.3.0:
+ dependencies:
+ color-convert: 2.0.1
+
+ ansi-styles@6.2.1: {}
+
+ argparse@1.0.10:
+ dependencies:
+ sprintf-js: 1.0.3
+
+ argparse@2.0.1: {}
+
+ aria-hidden@1.2.4:
+ dependencies:
+ tslib: 2.8.1
+
+ asn1js@3.0.5:
+ dependencies:
+ pvtsutils: 1.3.6
+ pvutils: 1.1.3
+ tslib: 2.8.1
+
+ astring@1.9.0: {}
+
+ bail@2.0.2: {}
+
+ balanced-match@1.0.2: {}
+
+ base64-js@1.5.1: {}
+
+ base64id@2.0.0: {}
+
+ better-auth@1.2.5(typescript@5.7.3):
+ dependencies:
+ '@better-auth/utils': 0.2.4
+ '@better-fetch/fetch': 1.1.18
+ '@noble/ciphers': 0.6.0
+ '@noble/hashes': 1.7.1
+ '@simplewebauthn/browser': 13.1.0
+ '@simplewebauthn/server': 13.1.1
+ better-call: 1.0.5
+ defu: 6.1.4
+ jose: 5.10.0
+ kysely: 0.27.6
+ nanostores: 0.11.4
+ valibot: 1.0.0-beta.15(typescript@5.7.3)
+ zod: 3.24.2
+ transitivePeerDependencies:
+ - typescript
+
+ better-call@1.0.5:
+ dependencies:
+ '@better-fetch/fetch': 1.1.18
+ rou3: 0.5.1
+ set-cookie-parser: 2.7.1
+ uncrypto: 0.1.3
+
+ bl@4.1.0:
+ dependencies:
+ buffer: 5.7.1
+ inherits: 2.0.4
+ readable-stream: 3.6.2
+
+ brace-expansion@2.0.1:
+ dependencies:
+ balanced-match: 1.0.2
+
+ braces@3.0.3:
+ dependencies:
+ fill-range: 7.1.1
+
+ buffer-from@1.1.2: {}
+
+ buffer@5.7.1:
+ dependencies:
+ base64-js: 1.5.1
+ ieee754: 1.2.1
+
+ busboy@1.6.0:
+ dependencies:
+ streamsearch: 1.1.0
+
+ caniuse-lite@1.0.30001707: {}
+
+ ccount@2.0.1: {}
+
+ chalk@4.1.2:
+ dependencies:
+ ansi-styles: 4.3.0
+ supports-color: 7.2.0
+
+ character-entities-html4@2.1.0: {}
+
+ character-entities-legacy@3.0.0: {}
+
+ character-entities@2.0.2: {}
+
+ character-reference-invalid@2.0.1: {}
+
+ chokidar@4.0.3:
+ dependencies:
+ readdirp: 4.1.2
+
+ class-variance-authority@0.7.1:
+ dependencies:
+ clsx: 2.1.1
+
+ cli-cursor@3.1.0:
+ dependencies:
+ restore-cursor: 3.1.0
+
+ cli-spinners@2.9.2: {}
+
+ client-only@0.0.1: {}
+
+ clone@1.0.4: {}
+
+ clsx@2.1.1: {}
+
+ collapse-white-space@2.1.0: {}
+
+ color-convert@2.0.1:
+ dependencies:
+ color-name: 1.1.4
+
+ color-name@1.1.4: {}
+
+ color-string@1.9.1:
+ dependencies:
+ color-name: 1.1.4
+ simple-swizzle: 0.2.2
+ optional: true
+
+ color@4.2.3:
+ dependencies:
+ color-convert: 2.0.1
+ color-string: 1.9.1
+ optional: true
+
+ comma-separated-tokens@2.0.3: {}
+
+ commander@11.1.0: {}
+
+ commander@8.3.0: {}
+
+ compute-scroll-into-view@3.1.1: {}
+
+ cookie@0.7.2: {}
+
+ cors@2.8.5:
+ dependencies:
+ object-assign: 4.1.1
+ vary: 1.1.2
+
+ crelt@1.0.6: {}
+
+ cross-spawn@7.0.6:
+ dependencies:
+ path-key: 3.1.1
+ shebang-command: 2.0.0
+ which: 2.0.2
+
+ cssesc@3.0.0: {}
+
+ csstype@3.1.3: {}
+
+ debounce@2.0.0: {}
+
+ debug@4.3.7:
+ dependencies:
+ ms: 2.1.3
+
+ debug@4.4.0:
+ dependencies:
+ ms: 2.1.3
+
+ decode-named-character-reference@1.1.0:
+ dependencies:
+ character-entities: 2.0.2
+
+ deepmerge@4.3.1: {}
+
+ defaults@1.0.4:
+ dependencies:
+ clone: 1.0.4
+
+ defu@6.1.4: {}
+
+ dequal@2.0.3: {}
+
+ detect-libc@2.0.3: {}
+
+ detect-node-es@1.1.0: {}
+
+ devlop@1.1.0:
+ dependencies:
+ dequal: 2.0.3
+
+ dom-serializer@2.0.0:
+ dependencies:
+ domelementtype: 2.3.0
+ domhandler: 5.0.3
+ entities: 4.5.0
+
+ domelementtype@2.3.0: {}
+
+ domhandler@5.0.3:
+ dependencies:
+ domelementtype: 2.3.0
+
+ domutils@3.2.2:
+ dependencies:
+ dom-serializer: 2.0.0
+ domelementtype: 2.3.0
+ domhandler: 5.0.3
+
+ drizzle-kit@0.30.6:
+ dependencies:
+ '@drizzle-team/brocli': 0.10.2
+ '@esbuild-kit/esm-loader': 2.6.5
+ esbuild: 0.19.12
+ esbuild-register: 3.6.0(esbuild@0.19.12)
+ gel: 2.0.1
+ transitivePeerDependencies:
+ - supports-color
+
+ drizzle-orm@0.41.0(@neondatabase/serverless@1.0.0)(@types/pg@8.11.11)(gel@2.0.1)(kysely@0.27.6):
+ optionalDependencies:
+ '@neondatabase/serverless': 1.0.0
+ '@types/pg': 8.11.11
+ gel: 2.0.1
+ kysely: 0.27.6
+
+ eastasianwidth@0.2.0: {}
+
+ emoji-regex-xs@1.0.0: {}
+
+ emoji-regex@8.0.0: {}
+
+ emoji-regex@9.2.2: {}
+
+ engine.io-parser@5.2.3: {}
+
+ engine.io@6.6.4:
+ dependencies:
+ '@types/cors': 2.8.17
+ '@types/node': 22.13.1
+ accepts: 1.3.8
+ base64id: 2.0.0
+ cookie: 0.7.2
+ cors: 2.8.5
+ debug: 4.3.7
+ engine.io-parser: 5.2.3
+ ws: 8.17.1
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+
+ enhanced-resolve@5.18.1:
+ dependencies:
+ graceful-fs: 4.2.11
+ tapable: 2.2.1
+
+ entities@4.5.0: {}
+
+ env-paths@3.0.0: {}
+
+ esast-util-from-estree@2.0.0:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ devlop: 1.1.0
+ estree-util-visit: 2.0.0
+ unist-util-position-from-estree: 2.0.0
+
+ esast-util-from-js@2.0.1:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ acorn: 8.14.1
+ esast-util-from-estree: 2.0.0
+ vfile-message: 4.0.2
+
+ esbuild-register@3.6.0(esbuild@0.19.12):
+ dependencies:
+ debug: 4.4.0
+ esbuild: 0.19.12
+ transitivePeerDependencies:
+ - supports-color
+
+ esbuild@0.18.20:
+ optionalDependencies:
+ '@esbuild/android-arm': 0.18.20
+ '@esbuild/android-arm64': 0.18.20
+ '@esbuild/android-x64': 0.18.20
+ '@esbuild/darwin-arm64': 0.18.20
+ '@esbuild/darwin-x64': 0.18.20
+ '@esbuild/freebsd-arm64': 0.18.20
+ '@esbuild/freebsd-x64': 0.18.20
+ '@esbuild/linux-arm': 0.18.20
+ '@esbuild/linux-arm64': 0.18.20
+ '@esbuild/linux-ia32': 0.18.20
+ '@esbuild/linux-loong64': 0.18.20
+ '@esbuild/linux-mips64el': 0.18.20
+ '@esbuild/linux-ppc64': 0.18.20
+ '@esbuild/linux-riscv64': 0.18.20
+ '@esbuild/linux-s390x': 0.18.20
+ '@esbuild/linux-x64': 0.18.20
+ '@esbuild/netbsd-x64': 0.18.20
+ '@esbuild/openbsd-x64': 0.18.20
+ '@esbuild/sunos-x64': 0.18.20
+ '@esbuild/win32-arm64': 0.18.20
+ '@esbuild/win32-ia32': 0.18.20
+ '@esbuild/win32-x64': 0.18.20
+
+ esbuild@0.19.12:
+ 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
+
+ esbuild@0.23.0:
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.23.0
+ '@esbuild/android-arm': 0.23.0
+ '@esbuild/android-arm64': 0.23.0
+ '@esbuild/android-x64': 0.23.0
+ '@esbuild/darwin-arm64': 0.23.0
+ '@esbuild/darwin-x64': 0.23.0
+ '@esbuild/freebsd-arm64': 0.23.0
+ '@esbuild/freebsd-x64': 0.23.0
+ '@esbuild/linux-arm': 0.23.0
+ '@esbuild/linux-arm64': 0.23.0
+ '@esbuild/linux-ia32': 0.23.0
+ '@esbuild/linux-loong64': 0.23.0
+ '@esbuild/linux-mips64el': 0.23.0
+ '@esbuild/linux-ppc64': 0.23.0
+ '@esbuild/linux-riscv64': 0.23.0
+ '@esbuild/linux-s390x': 0.23.0
+ '@esbuild/linux-x64': 0.23.0
+ '@esbuild/netbsd-x64': 0.23.0
+ '@esbuild/openbsd-arm64': 0.23.0
+ '@esbuild/openbsd-x64': 0.23.0
+ '@esbuild/sunos-x64': 0.23.0
+ '@esbuild/win32-arm64': 0.23.0
+ '@esbuild/win32-ia32': 0.23.0
+ '@esbuild/win32-x64': 0.23.0
+
+ esbuild@0.25.1:
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.25.1
+ '@esbuild/android-arm': 0.25.1
+ '@esbuild/android-arm64': 0.25.1
+ '@esbuild/android-x64': 0.25.1
+ '@esbuild/darwin-arm64': 0.25.1
+ '@esbuild/darwin-x64': 0.25.1
+ '@esbuild/freebsd-arm64': 0.25.1
+ '@esbuild/freebsd-x64': 0.25.1
+ '@esbuild/linux-arm': 0.25.1
+ '@esbuild/linux-arm64': 0.25.1
+ '@esbuild/linux-ia32': 0.25.1
+ '@esbuild/linux-loong64': 0.25.1
+ '@esbuild/linux-mips64el': 0.25.1
+ '@esbuild/linux-ppc64': 0.25.1
+ '@esbuild/linux-riscv64': 0.25.1
+ '@esbuild/linux-s390x': 0.25.1
+ '@esbuild/linux-x64': 0.25.1
+ '@esbuild/netbsd-arm64': 0.25.1
+ '@esbuild/netbsd-x64': 0.25.1
+ '@esbuild/openbsd-arm64': 0.25.1
+ '@esbuild/openbsd-x64': 0.25.1
+ '@esbuild/sunos-x64': 0.25.1
+ '@esbuild/win32-arm64': 0.25.1
+ '@esbuild/win32-ia32': 0.25.1
+ '@esbuild/win32-x64': 0.25.1
+
+ escape-string-regexp@4.0.0: {}
+
+ escape-string-regexp@5.0.0: {}
+
+ esprima@4.0.1: {}
+
+ estree-util-attach-comments@3.0.0:
+ dependencies:
+ '@types/estree': 1.0.6
+
+ estree-util-build-jsx@3.0.1:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ devlop: 1.1.0
+ estree-util-is-identifier-name: 3.0.0
+ estree-walker: 3.0.3
+
+ estree-util-is-identifier-name@3.0.0: {}
+
+ estree-util-scope@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.6
+ devlop: 1.1.0
+
+ estree-util-to-js@2.0.0:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ astring: 1.9.0
+ source-map: 0.7.4
+
+ estree-util-value-to-estree@3.3.2:
+ dependencies:
+ '@types/estree': 1.0.6
+
+ estree-util-visit@2.0.0:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ '@types/unist': 3.0.3
+
+ estree-walker@3.0.3:
+ dependencies:
+ '@types/estree': 1.0.6
+
+ extend-shallow@2.0.1:
+ dependencies:
+ is-extendable: 0.1.1
+
+ extend@3.0.2: {}
+
+ fast-deep-equal@2.0.1: {}
+
+ fast-deep-equal@3.1.3: {}
+
+ fast-glob@3.3.3:
+ 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.8
+
+ fastq@1.19.1:
+ dependencies:
+ reusify: 1.1.0
+
+ feed@4.2.2:
+ dependencies:
+ xml-js: 1.6.11
+
+ fill-range@7.1.1:
+ dependencies:
+ to-regex-range: 5.0.1
+
+ foreground-child@3.3.1:
+ dependencies:
+ cross-spawn: 7.0.6
+ signal-exit: 4.1.0
+
+ framer-motion@12.6.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
+ dependencies:
+ motion-dom: 12.6.1
+ motion-utils: 12.5.0
+ tslib: 2.8.1
+ optionalDependencies:
+ react: 19.0.0
+ react-dom: 19.0.0(react@19.0.0)
+
+ fsevents@2.3.3:
+ optional: true
+
+ fumadocs-core@15.2.0(@types/react@19.0.8)(next@15.2.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
+ dependencies:
+ '@formatjs/intl-localematcher': 0.6.1
+ '@orama/orama': 3.1.4
+ '@shikijs/rehype': 3.2.1
+ '@shikijs/transformers': 3.2.1
+ github-slugger: 2.0.0
+ hast-util-to-estree: 3.1.3
+ hast-util-to-jsx-runtime: 2.3.6
+ image-size: 2.0.1
+ negotiator: 1.0.0
+ react-remove-scroll: 2.6.3(@types/react@19.0.8)(react@19.0.0)
+ remark: 15.0.1
+ remark-gfm: 4.0.1
+ scroll-into-view-if-needed: 3.1.0
+ shiki: 3.2.1
+ unist-util-visit: 5.0.0
+ optionalDependencies:
+ next: 15.2.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ react: 19.0.0
+ react-dom: 19.0.0(react@19.0.0)
+ transitivePeerDependencies:
+ - '@types/react'
+ - supports-color
+
+ fumadocs-docgen@2.0.0:
+ dependencies:
+ estree-util-to-js: 2.0.0
+ estree-util-value-to-estree: 3.3.2
+ npm-to-yarn: 3.0.1
+ oxc-transform: 0.53.0
+ unist-util-visit: 5.0.0
+ zod: 3.24.2
+
+ fumadocs-mdx@11.5.7(acorn@8.14.1)(fumadocs-core@15.2.0(@types/react@19.0.8)(next@15.2.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(next@15.2.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0)):
+ dependencies:
+ '@mdx-js/mdx': 3.1.0(acorn@8.14.1)
+ '@standard-schema/spec': 1.0.0
+ chokidar: 4.0.3
+ cross-spawn: 7.0.6
+ esbuild: 0.25.1
+ estree-util-value-to-estree: 3.3.2
+ fast-glob: 3.3.3
+ fumadocs-core: 15.2.0(@types/react@19.0.8)(next@15.2.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ gray-matter: 4.0.3
+ next: 15.2.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ unist-util-visit: 5.0.0
+ zod: 3.24.2
+ transitivePeerDependencies:
+ - acorn
+ - supports-color
+
+ fumadocs-twoslash@3.1.0(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(fumadocs-ui@15.2.0(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(next@15.2.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(tailwindcss@4.0.4))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(shiki@3.2.1)(typescript@5.7.3):
+ dependencies:
+ '@radix-ui/react-popover': 1.1.6(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@shikijs/twoslash': 3.2.1(typescript@5.7.3)
+ fumadocs-ui: 15.2.0(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(next@15.2.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(tailwindcss@4.0.4)
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-gfm: 3.1.0
+ mdast-util-to-hast: 13.2.0
+ react: 19.0.0
+ shiki: 3.2.1
+ tailwind-merge: 3.0.2
+ twoslash: 0.3.1(typescript@5.7.3)
+ transitivePeerDependencies:
+ - '@types/react'
+ - '@types/react-dom'
+ - react-dom
+ - supports-color
+ - typescript
+
+ fumadocs-ui@15.2.0(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(next@15.2.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(tailwindcss@4.0.4):
+ dependencies:
+ '@radix-ui/react-accordion': 1.2.3(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-collapsible': 1.1.3(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-dialog': 1.1.6(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-direction': 1.1.0(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-navigation-menu': 1.2.5(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-popover': 1.1.6(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-scroll-area': 1.2.3(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-slot': 1.1.2(@types/react@19.0.8)(react@19.0.0)
+ '@radix-ui/react-tabs': 1.1.3(@types/react-dom@19.0.3(@types/react@19.0.8))(@types/react@19.0.8)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ class-variance-authority: 0.7.1
+ fumadocs-core: 15.2.0(@types/react@19.0.8)(next@15.2.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ lodash.merge: 4.6.2
+ lucide-react: 0.485.0(react@19.0.0)
+ next: 15.2.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ next-themes: 0.4.6(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ postcss-selector-parser: 7.1.0
+ react: 19.0.0
+ react-dom: 19.0.0(react@19.0.0)
+ react-medium-image-zoom: 5.2.14(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ tailwind-merge: 3.0.2
+ optionalDependencies:
+ tailwindcss: 4.0.4
+ transitivePeerDependencies:
+ - '@oramacloud/client'
+ - '@types/react'
+ - '@types/react-dom'
+ - algoliasearch
+ - supports-color
+
+ gel@2.0.1:
+ dependencies:
+ '@petamoriken/float16': 3.9.2
+ debug: 4.4.0
+ env-paths: 3.0.0
+ semver: 7.7.1
+ shell-quote: 1.8.2
+ which: 4.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ get-nonce@1.0.1: {}
+
+ get-tsconfig@4.10.0:
+ dependencies:
+ resolve-pkg-maps: 1.0.0
+
+ github-slugger@2.0.0: {}
+
+ glob-parent@5.1.2:
+ dependencies:
+ is-glob: 4.0.3
+
+ glob@10.3.4:
+ dependencies:
+ foreground-child: 3.3.1
+ jackspeak: 2.3.6
+ minimatch: 9.0.5
+ minipass: 7.1.2
+ path-scurry: 1.11.1
+
+ globals@11.12.0: {}
+
+ graceful-fs@4.2.11: {}
+
+ gray-matter@4.0.3:
+ dependencies:
+ js-yaml: 3.14.1
+ kind-of: 6.0.3
+ section-matter: 1.0.0
+ strip-bom-string: 1.0.0
+
+ has-flag@4.0.0: {}
+
+ hast-util-from-dom@5.0.1:
+ dependencies:
+ '@types/hast': 3.0.4
+ hastscript: 9.0.1
+ web-namespaces: 2.0.1
+
+ hast-util-from-html-isomorphic@2.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+ hast-util-from-dom: 5.0.1
+ hast-util-from-html: 2.0.3
+ unist-util-remove-position: 5.0.0
+
+ hast-util-from-html@2.0.3:
+ dependencies:
+ '@types/hast': 3.0.4
+ devlop: 1.1.0
+ hast-util-from-parse5: 8.0.3
+ parse5: 7.2.1
+ vfile: 6.0.3
+ vfile-message: 4.0.2
+
+ hast-util-from-parse5@8.0.3:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.3
+ devlop: 1.1.0
+ hastscript: 9.0.1
+ property-information: 7.0.0
+ vfile: 6.0.3
+ vfile-location: 5.0.3
+ web-namespaces: 2.0.1
+
+ hast-util-is-element@3.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+
+ hast-util-parse-selector@4.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+
+ hast-util-to-estree@3.1.3:
+ dependencies:
+ '@types/estree': 1.0.6
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ 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.1
+ mdast-util-mdx-jsx: 3.2.0
+ mdast-util-mdxjs-esm: 2.0.1
+ property-information: 7.0.0
+ space-separated-tokens: 2.0.2
+ style-to-js: 1.1.16
+ unist-util-position: 5.0.0
+ zwitch: 2.0.4
+ transitivePeerDependencies:
+ - supports-color
+
+ hast-util-to-html@9.0.5:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.3
+ ccount: 2.0.1
+ comma-separated-tokens: 2.0.3
+ hast-util-whitespace: 3.0.0
+ html-void-elements: 3.0.0
+ mdast-util-to-hast: 13.2.0
+ property-information: 7.0.0
+ space-separated-tokens: 2.0.2
+ stringify-entities: 4.0.4
+ zwitch: 2.0.4
+
+ hast-util-to-jsx-runtime@2.3.6:
+ dependencies:
+ '@types/estree': 1.0.6
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.3
+ 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.1
+ mdast-util-mdx-jsx: 3.2.0
+ mdast-util-mdxjs-esm: 2.0.1
+ property-information: 7.0.0
+ space-separated-tokens: 2.0.2
+ style-to-js: 1.1.16
+ unist-util-position: 5.0.0
+ vfile-message: 4.0.2
+ transitivePeerDependencies:
+ - supports-color
+
+ hast-util-to-string@3.0.1:
+ dependencies:
+ '@types/hast': 3.0.4
+
+ hast-util-to-text@4.0.2:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.3
+ hast-util-is-element: 3.0.0
+ unist-util-find-after: 5.0.0
+
+ hast-util-whitespace@3.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+
+ hastscript@9.0.1:
+ dependencies:
+ '@types/hast': 3.0.4
+ comma-separated-tokens: 2.0.3
+ hast-util-parse-selector: 4.0.0
+ property-information: 7.0.0
+ space-separated-tokens: 2.0.2
+
+ highlight.js@11.11.1: {}
+
+ html-to-text@9.0.5:
+ dependencies:
+ '@selderee/plugin-htmlparser2': 0.11.0
+ deepmerge: 4.3.1
+ dom-serializer: 2.0.0
+ htmlparser2: 8.0.2
+ selderee: 0.11.0
+
+ html-void-elements@3.0.0: {}
+
+ htmlparser2@8.0.2:
+ dependencies:
+ domelementtype: 2.3.0
+ domhandler: 5.0.3
+ domutils: 3.2.2
+ entities: 4.5.0
+
+ ieee754@1.2.1: {}
+
+ image-size@2.0.1: {}
+
+ inherits@2.0.4: {}
+
+ inline-style-parser@0.2.4: {}
+
+ is-alphabetical@2.0.1: {}
+
+ is-alphanumerical@2.0.1:
+ dependencies:
+ is-alphabetical: 2.0.1
+ is-decimal: 2.0.1
+
+ is-arrayish@0.3.2:
+ optional: true
+
+ is-decimal@2.0.1: {}
+
+ is-extendable@0.1.1: {}
+
+ is-extglob@2.1.1: {}
+
+ is-fullwidth-code-point@3.0.0: {}
+
+ is-glob@4.0.3:
+ dependencies:
+ is-extglob: 2.1.1
+
+ is-hexadecimal@2.0.1: {}
+
+ is-interactive@1.0.0: {}
+
+ is-number@7.0.0: {}
+
+ is-plain-obj@4.1.0: {}
+
+ is-unicode-supported@0.1.0: {}
+
+ isexe@2.0.0: {}
+
+ isexe@3.1.1: {}
+
+ jackspeak@2.3.6:
+ dependencies:
+ '@isaacs/cliui': 8.0.2
+ optionalDependencies:
+ '@pkgjs/parseargs': 0.11.0
+
+ jiti@2.4.2: {}
+
+ jose@5.10.0: {}
+
+ js-tokens@4.0.0: {}
+
+ js-yaml@3.14.1:
+ dependencies:
+ argparse: 1.0.10
+ esprima: 4.0.1
+
+ jsesc@3.1.0: {}
+
+ katex@0.16.21:
+ dependencies:
+ commander: 8.3.0
+
+ kind-of@6.0.3: {}
+
+ kysely@0.27.6: {}
+
+ leac@0.6.0: {}
+
+ lightningcss-darwin-arm64@1.29.3:
+ optional: true
+
+ lightningcss-darwin-x64@1.29.3:
+ optional: true
+
+ lightningcss-freebsd-x64@1.29.3:
+ optional: true
+
+ lightningcss-linux-arm-gnueabihf@1.29.3:
+ optional: true
+
+ lightningcss-linux-arm64-gnu@1.29.3:
+ optional: true
+
+ lightningcss-linux-arm64-musl@1.29.3:
+ optional: true
+
+ lightningcss-linux-x64-gnu@1.29.3:
+ optional: true
+
+ lightningcss-linux-x64-musl@1.29.3:
+ optional: true
+
+ lightningcss-win32-arm64-msvc@1.29.3:
+ optional: true
+
+ lightningcss-win32-x64-msvc@1.29.3:
+ optional: true
+
+ lightningcss@1.29.3:
+ dependencies:
+ detect-libc: 2.0.3
+ optionalDependencies:
+ lightningcss-darwin-arm64: 1.29.3
+ lightningcss-darwin-x64: 1.29.3
+ lightningcss-freebsd-x64: 1.29.3
+ lightningcss-linux-arm-gnueabihf: 1.29.3
+ lightningcss-linux-arm64-gnu: 1.29.3
+ lightningcss-linux-arm64-musl: 1.29.3
+ lightningcss-linux-x64-gnu: 1.29.3
+ lightningcss-linux-x64-musl: 1.29.3
+ lightningcss-win32-arm64-msvc: 1.29.3
+ lightningcss-win32-x64-msvc: 1.29.3
+
+ linkify-it@5.0.0:
+ dependencies:
+ uc.micro: 2.1.0
+
+ linkifyjs@4.2.0: {}
+
+ lodash.debounce@4.0.8: {}
+
+ lodash.merge@4.6.2: {}
+
+ log-symbols@4.1.0:
+ dependencies:
+ chalk: 4.1.2
+ is-unicode-supported: 0.1.0
+
+ longest-streak@3.1.0: {}
+
+ lowlight@3.3.0:
+ dependencies:
+ '@types/hast': 3.0.4
+ devlop: 1.1.0
+ highlight.js: 11.11.1
+
+ lru-cache@10.4.3: {}
+
+ lucide-react@0.477.0(react@19.0.0):
+ dependencies:
+ react: 19.0.0
+
+ lucide-react@0.479.0(react@19.0.0):
+ dependencies:
+ react: 19.0.0
+
+ lucide-react@0.485.0(react@19.0.0):
+ dependencies:
+ react: 19.0.0
+
+ markdown-extensions@2.0.0: {}
+
+ markdown-it@14.1.0:
+ dependencies:
+ argparse: 2.0.1
+ entities: 4.5.0
+ linkify-it: 5.0.0
+ mdurl: 2.0.0
+ punycode.js: 2.3.1
+ uc.micro: 2.1.0
+
+ markdown-table@3.0.4: {}
+
+ marked@7.0.4: {}
+
+ md-to-react-email@5.0.5(react@19.0.0):
+ dependencies:
+ marked: 7.0.4
+ react: 19.0.0
+
+ mdast-util-find-and-replace@3.0.2:
+ dependencies:
+ '@types/mdast': 4.0.4
+ escape-string-regexp: 5.0.0
+ unist-util-is: 6.0.0
+ unist-util-visit-parents: 6.0.1
+
+ mdast-util-from-markdown@2.0.2:
+ dependencies:
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+ decode-named-character-reference: 1.1.0
+ devlop: 1.1.0
+ mdast-util-to-string: 4.0.0
+ micromark: 4.0.2
+ micromark-util-decode-numeric-character-reference: 2.0.2
+ micromark-util-decode-string: 2.0.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ unist-util-stringify-position: 4.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-gfm-autolink-literal@2.0.1:
+ dependencies:
+ '@types/mdast': 4.0.4
+ ccount: 2.0.1
+ devlop: 1.1.0
+ mdast-util-find-and-replace: 3.0.2
+ micromark-util-character: 2.1.1
+
+ mdast-util-gfm-footnote@2.1.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ micromark-util-normalize-identifier: 2.0.1
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-gfm-strikethrough@2.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-gfm-table@2.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ markdown-table: 3.0.4
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-gfm-task-list-item@2.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-gfm@3.1.0:
+ dependencies:
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-gfm-autolink-literal: 2.0.1
+ mdast-util-gfm-footnote: 2.1.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.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-math@3.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ longest-streak: 3.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ unist-util-remove-position: 5.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-mdx-expression@2.0.1:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-mdx-jsx@3.2.0:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+ ccount: 2.0.1
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ parse-entities: 4.0.2
+ stringify-entities: 4.0.4
+ unist-util-stringify-position: 4.0.0
+ vfile-message: 4.0.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-mdx@3.0.0:
+ dependencies:
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-mdx-expression: 2.0.1
+ mdast-util-mdx-jsx: 3.2.0
+ mdast-util-mdxjs-esm: 2.0.1
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-mdxjs-esm@2.0.1:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-phrasing@4.1.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ unist-util-is: 6.0.0
+
+ mdast-util-to-hast@13.2.0:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ '@ungap/structured-clone': 1.3.0
+ devlop: 1.1.0
+ micromark-util-sanitize-uri: 2.0.1
+ trim-lines: 3.0.1
+ unist-util-position: 5.0.0
+ unist-util-visit: 5.0.0
+ vfile: 6.0.3
+
+ mdast-util-to-markdown@2.1.2:
+ dependencies:
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+ longest-streak: 3.1.0
+ mdast-util-phrasing: 4.1.0
+ mdast-util-to-string: 4.0.0
+ micromark-util-classify-character: 2.0.1
+ micromark-util-decode-string: 2.0.1
+ unist-util-visit: 5.0.0
+ zwitch: 2.0.4
+
+ mdast-util-to-string@4.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+
+ mdurl@2.0.0: {}
+
+ merge2@1.4.1: {}
+
+ micromark-core-commonmark@2.0.3:
+ dependencies:
+ decode-named-character-reference: 1.1.0
+ devlop: 1.1.0
+ micromark-factory-destination: 2.0.1
+ micromark-factory-label: 2.0.1
+ micromark-factory-space: 2.0.1
+ micromark-factory-title: 2.0.1
+ micromark-factory-whitespace: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-chunked: 2.0.1
+ micromark-util-classify-character: 2.0.1
+ micromark-util-html-tag-name: 2.0.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-resolve-all: 2.0.1
+ micromark-util-subtokenize: 2.1.0
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-autolink-literal@2.1.0:
+ dependencies:
+ micromark-util-character: 2.1.1
+ micromark-util-sanitize-uri: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-footnote@2.1.0:
+ dependencies:
+ devlop: 1.1.0
+ micromark-core-commonmark: 2.0.3
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-sanitize-uri: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-strikethrough@2.1.0:
+ dependencies:
+ devlop: 1.1.0
+ micromark-util-chunked: 2.0.1
+ micromark-util-classify-character: 2.0.1
+ micromark-util-resolve-all: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-table@2.1.1:
+ dependencies:
+ devlop: 1.1.0
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-tagfilter@2.0.0:
+ dependencies:
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-task-list-item@2.1.0:
+ dependencies:
+ devlop: 1.1.0
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm@3.0.0:
+ dependencies:
+ micromark-extension-gfm-autolink-literal: 2.1.0
+ micromark-extension-gfm-footnote: 2.1.0
+ micromark-extension-gfm-strikethrough: 2.1.0
+ micromark-extension-gfm-table: 2.1.1
+ micromark-extension-gfm-tagfilter: 2.0.0
+ micromark-extension-gfm-task-list-item: 2.1.0
+ micromark-util-combine-extensions: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-math@3.1.0:
+ dependencies:
+ '@types/katex': 0.16.7
+ devlop: 1.1.0
+ katex: 0.16.21
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-mdx-expression@3.0.0:
+ dependencies:
+ '@types/estree': 1.0.6
+ devlop: 1.1.0
+ micromark-factory-mdx-expression: 2.0.2
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.2
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-mdx-jsx@3.0.1:
+ dependencies:
+ '@types/acorn': 4.0.6
+ '@types/estree': 1.0.6
+ devlop: 1.1.0
+ estree-util-is-identifier-name: 3.0.0
+ micromark-factory-mdx-expression: 2.0.2
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.2
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ vfile-message: 4.0.2
+
+ micromark-extension-mdx-md@2.0.0:
+ dependencies:
+ micromark-util-types: 2.0.2
+
+ micromark-extension-mdxjs-esm@3.0.0:
+ dependencies:
+ '@types/estree': 1.0.6
+ devlop: 1.1.0
+ micromark-core-commonmark: 2.0.3
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.2
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ unist-util-position-from-estree: 2.0.0
+ vfile-message: 4.0.2
+
+ micromark-extension-mdxjs@3.0.0:
+ dependencies:
+ acorn: 8.14.1
+ acorn-jsx: 5.3.2(acorn@8.14.1)
+ micromark-extension-mdx-expression: 3.0.0
+ micromark-extension-mdx-jsx: 3.0.1
+ micromark-extension-mdx-md: 2.0.0
+ micromark-extension-mdxjs-esm: 3.0.0
+ micromark-util-combine-extensions: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-factory-destination@2.0.1:
+ dependencies:
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-factory-label@2.0.1:
+ dependencies:
+ devlop: 1.1.0
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-factory-mdx-expression@2.0.2:
+ dependencies:
+ '@types/estree': 1.0.6
+ devlop: 1.1.0
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.2
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ unist-util-position-from-estree: 2.0.0
+ vfile-message: 4.0.2
+
+ micromark-factory-space@2.0.1:
+ dependencies:
+ micromark-util-character: 2.1.1
+ micromark-util-types: 2.0.2
+
+ micromark-factory-title@2.0.1:
+ dependencies:
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-factory-whitespace@2.0.1:
+ dependencies:
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-util-character@2.1.1:
+ dependencies:
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-util-chunked@2.0.1:
+ dependencies:
+ micromark-util-symbol: 2.0.1
+
+ micromark-util-classify-character@2.0.1:
+ dependencies:
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-util-combine-extensions@2.0.1:
+ dependencies:
+ micromark-util-chunked: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-util-decode-numeric-character-reference@2.0.2:
+ dependencies:
+ micromark-util-symbol: 2.0.1
+
+ micromark-util-decode-string@2.0.1:
+ dependencies:
+ decode-named-character-reference: 1.1.0
+ micromark-util-character: 2.1.1
+ micromark-util-decode-numeric-character-reference: 2.0.2
+ micromark-util-symbol: 2.0.1
+
+ micromark-util-encode@2.0.1: {}
+
+ micromark-util-events-to-acorn@2.0.2:
+ dependencies:
+ '@types/acorn': 4.0.6
+ '@types/estree': 1.0.6
+ '@types/unist': 3.0.3
+ devlop: 1.1.0
+ estree-util-visit: 2.0.0
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ vfile-message: 4.0.2
+
+ micromark-util-html-tag-name@2.0.1: {}
+
+ micromark-util-normalize-identifier@2.0.1:
+ dependencies:
+ micromark-util-symbol: 2.0.1
+
+ micromark-util-resolve-all@2.0.1:
+ dependencies:
+ micromark-util-types: 2.0.2
+
+ micromark-util-sanitize-uri@2.0.1:
+ dependencies:
+ micromark-util-character: 2.1.1
+ micromark-util-encode: 2.0.1
+ micromark-util-symbol: 2.0.1
+
+ micromark-util-subtokenize@2.1.0:
+ dependencies:
+ devlop: 1.1.0
+ micromark-util-chunked: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-util-symbol@2.0.1: {}
+
+ micromark-util-types@2.0.2: {}
+
+ micromark@4.0.2:
+ dependencies:
+ '@types/debug': 4.1.12
+ debug: 4.4.0
+ decode-named-character-reference: 1.1.0
+ devlop: 1.1.0
+ micromark-core-commonmark: 2.0.3
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-chunked: 2.0.1
+ micromark-util-combine-extensions: 2.0.1
+ micromark-util-decode-numeric-character-reference: 2.0.2
+ micromark-util-encode: 2.0.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-resolve-all: 2.0.1
+ micromark-util-sanitize-uri: 2.0.1
+ micromark-util-subtokenize: 2.1.0
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ transitivePeerDependencies:
+ - supports-color
+
+ micromatch@4.0.8:
+ dependencies:
+ braces: 3.0.3
+ picomatch: 2.3.1
+
+ mime-db@1.52.0: {}
+
+ mime-types@2.1.35:
+ dependencies:
+ mime-db: 1.52.0
+
+ mimic-fn@2.1.0: {}
+
+ minimatch@9.0.5:
+ dependencies:
+ brace-expansion: 2.0.1
+
+ minimist@1.2.8: {}
+
+ minipass@7.1.2: {}
+
+ motion-dom@12.6.1:
+ dependencies:
+ motion-utils: 12.5.0
+
+ motion-utils@12.5.0: {}
+
+ motion@12.6.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
+ dependencies:
+ framer-motion: 12.6.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ tslib: 2.8.1
+ optionalDependencies:
+ react: 19.0.0
+ react-dom: 19.0.0(react@19.0.0)
+
+ ms@2.1.3: {}
+
+ nanoid@3.3.11: {}
+
+ nanostores@0.11.4: {}
+
+ negotiator@0.6.3: {}
+
+ negotiator@1.0.0: {}
+
+ next-safe-action@7.10.4(next@15.2.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(valibot@1.0.0-beta.15(typescript@5.7.3))(zod@3.24.2):
+ dependencies:
+ next: 15.2.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ react: 19.0.0
+ react-dom: 19.0.0(react@19.0.0)
+ optionalDependencies:
+ valibot: 1.0.0-beta.15(typescript@5.7.3)
+ zod: 3.24.2
+
+ next-sitemap@4.2.3(next@15.2.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0)):
+ dependencies:
+ '@corex/deepmerge': 4.0.43
+ '@next/env': 13.5.9
+ fast-glob: 3.3.3
+ minimist: 1.2.8
+ next: 15.2.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+
+ next-themes@0.4.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
+ dependencies:
+ react: 19.0.0
+ react-dom: 19.0.0(react@19.0.0)
+
+ next-themes@0.4.6(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
+ dependencies:
+ react: 19.0.0
+ react-dom: 19.0.0(react@19.0.0)
+
+ next-validate-link@1.5.2:
+ dependencies:
+ fast-glob: 3.3.3
+ gray-matter: 4.0.3
+ picocolors: 1.1.1
+ remark: 15.0.1
+ remark-gfm: 4.0.1
+ unist-util-visit: 5.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ next@15.2.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
+ dependencies:
+ '@next/env': 15.2.2
+ '@swc/counter': 0.1.3
+ '@swc/helpers': 0.5.15
+ busboy: 1.6.0
+ caniuse-lite: 1.0.30001707
+ postcss: 8.4.31
+ react: 19.0.0
+ react-dom: 19.0.0(react@19.0.0)
+ styled-jsx: 5.1.6(react@19.0.0)
+ optionalDependencies:
+ '@next/swc-darwin-arm64': 15.2.2
+ '@next/swc-darwin-x64': 15.2.2
+ '@next/swc-linux-arm64-gnu': 15.2.2
+ '@next/swc-linux-arm64-musl': 15.2.2
+ '@next/swc-linux-x64-gnu': 15.2.2
+ '@next/swc-linux-x64-musl': 15.2.2
+ '@next/swc-win32-arm64-msvc': 15.2.2
+ '@next/swc-win32-x64-msvc': 15.2.2
+ sharp: 0.33.5
+ transitivePeerDependencies:
+ - '@babel/core'
+ - babel-plugin-macros
+
+ next@15.2.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
+ dependencies:
+ '@next/env': 15.2.4
+ '@swc/counter': 0.1.3
+ '@swc/helpers': 0.5.15
+ busboy: 1.6.0
+ caniuse-lite: 1.0.30001707
+ postcss: 8.4.31
+ react: 19.0.0
+ react-dom: 19.0.0(react@19.0.0)
+ styled-jsx: 5.1.6(react@19.0.0)
+ optionalDependencies:
+ '@next/swc-darwin-arm64': 15.2.4
+ '@next/swc-darwin-x64': 15.2.4
+ '@next/swc-linux-arm64-gnu': 15.2.4
+ '@next/swc-linux-arm64-musl': 15.2.4
+ '@next/swc-linux-x64-gnu': 15.2.4
+ '@next/swc-linux-x64-musl': 15.2.4
+ '@next/swc-win32-arm64-msvc': 15.2.4
+ '@next/swc-win32-x64-msvc': 15.2.4
+ sharp: 0.33.5
+ transitivePeerDependencies:
+ - '@babel/core'
+ - babel-plugin-macros
+
+ normalize-path@3.0.0: {}
+
+ npm-to-yarn@3.0.1: {}
+
+ object-assign@4.1.1: {}
+
+ obuf@1.1.2: {}
+
+ onetime@5.1.2:
+ dependencies:
+ mimic-fn: 2.1.0
+
+ oniguruma-parser@0.5.4: {}
+
+ oniguruma-to-es@4.1.0:
+ dependencies:
+ emoji-regex-xs: 1.0.0
+ oniguruma-parser: 0.5.4
+ regex: 6.0.1
+ regex-recursion: 6.0.2
+
+ ora@5.4.1:
+ dependencies:
+ bl: 4.1.0
+ chalk: 4.1.2
+ cli-cursor: 3.1.0
+ cli-spinners: 2.9.2
+ is-interactive: 1.0.0
+ is-unicode-supported: 0.1.0
+ log-symbols: 4.1.0
+ strip-ansi: 6.0.1
+ wcwidth: 1.0.1
+
+ orderedmap@2.1.1: {}
+
+ oxc-transform@0.53.0:
+ optionalDependencies:
+ '@oxc-transform/binding-darwin-arm64': 0.53.0
+ '@oxc-transform/binding-darwin-x64': 0.53.0
+ '@oxc-transform/binding-linux-arm64-gnu': 0.53.0
+ '@oxc-transform/binding-linux-arm64-musl': 0.53.0
+ '@oxc-transform/binding-linux-x64-gnu': 0.53.0
+ '@oxc-transform/binding-linux-x64-musl': 0.53.0
+ '@oxc-transform/binding-win32-arm64-msvc': 0.53.0
+ '@oxc-transform/binding-win32-x64-msvc': 0.53.0
+
+ parse-entities@4.0.2:
+ dependencies:
+ '@types/unist': 2.0.11
+ character-entities-legacy: 3.0.0
+ character-reference-invalid: 2.0.1
+ decode-named-character-reference: 1.1.0
+ is-alphanumerical: 2.0.1
+ is-decimal: 2.0.1
+ is-hexadecimal: 2.0.1
+
+ parse5@7.2.1:
+ dependencies:
+ entities: 4.5.0
+
+ parseley@0.12.1:
+ dependencies:
+ leac: 0.6.0
+ peberminta: 0.9.0
+
+ path-key@3.1.1: {}
+
+ path-scurry@1.11.1:
+ dependencies:
+ lru-cache: 10.4.3
+ minipass: 7.1.2
+
+ peberminta@0.9.0: {}
+
+ pg-int8@1.0.1: {}
+
+ pg-numeric@1.0.2: {}
+
+ pg-protocol@1.8.0: {}
+
+ pg-types@4.0.2:
+ dependencies:
+ pg-int8: 1.0.1
+ pg-numeric: 1.0.2
+ postgres-array: 3.0.4
+ postgres-bytea: 3.0.0
+ postgres-date: 2.1.0
+ postgres-interval: 3.0.0
+ postgres-range: 1.1.4
+
+ picocolors@1.1.1: {}
+
+ picomatch@2.3.1: {}
+
+ postcss-selector-parser@7.1.0:
+ dependencies:
+ cssesc: 3.0.0
+ util-deprecate: 1.0.2
+
+ postcss@8.4.31:
+ dependencies:
+ nanoid: 3.3.11
+ picocolors: 1.1.1
+ source-map-js: 1.2.1
+
+ postcss@8.5.1:
+ dependencies:
+ nanoid: 3.3.11
+ picocolors: 1.1.1
+ source-map-js: 1.2.1
+
+ postgres-array@3.0.4: {}
+
+ postgres-bytea@3.0.0:
+ dependencies:
+ obuf: 1.1.2
+
+ postgres-date@2.1.0: {}
+
+ postgres-interval@3.0.0: {}
+
+ postgres-range@1.1.4: {}
+
+ prettier@3.4.2: {}
+
+ prism-react-renderer@2.4.1(react@19.0.0):
+ dependencies:
+ '@types/prismjs': 1.26.5
+ clsx: 2.1.1
+ react: 19.0.0
+
+ prismjs@1.29.0: {}
+
+ property-information@7.0.0: {}
+
+ prosemirror-changeset@2.2.1:
+ dependencies:
+ prosemirror-transform: 1.10.3
+
+ prosemirror-collab@1.3.1:
+ dependencies:
+ prosemirror-state: 1.4.3
+
+ prosemirror-commands@1.7.0:
+ dependencies:
+ prosemirror-model: 1.25.0
+ prosemirror-state: 1.4.3
+ prosemirror-transform: 1.10.3
+
+ prosemirror-dropcursor@1.8.1:
+ dependencies:
+ prosemirror-state: 1.4.3
+ prosemirror-transform: 1.10.3
+ prosemirror-view: 1.38.1
+
+ prosemirror-gapcursor@1.3.2:
+ dependencies:
+ prosemirror-keymap: 1.2.2
+ prosemirror-model: 1.25.0
+ prosemirror-state: 1.4.3
+ prosemirror-view: 1.38.1
+
+ prosemirror-history@1.4.1:
+ dependencies:
+ prosemirror-state: 1.4.3
+ prosemirror-transform: 1.10.3
+ prosemirror-view: 1.38.1
+ rope-sequence: 1.3.4
+
+ prosemirror-inputrules@1.5.0:
+ dependencies:
+ prosemirror-state: 1.4.3
+ prosemirror-transform: 1.10.3
+
+ prosemirror-keymap@1.2.2:
+ dependencies:
+ prosemirror-state: 1.4.3
+ w3c-keyname: 2.2.8
+
+ prosemirror-markdown@1.13.2:
+ dependencies:
+ '@types/markdown-it': 14.1.2
+ markdown-it: 14.1.0
+ prosemirror-model: 1.25.0
+
+ prosemirror-menu@1.2.4:
+ dependencies:
+ crelt: 1.0.6
+ prosemirror-commands: 1.7.0
+ prosemirror-history: 1.4.1
+ prosemirror-state: 1.4.3
+
+ prosemirror-model@1.25.0:
+ dependencies:
+ orderedmap: 2.1.1
+
+ prosemirror-schema-basic@1.2.4:
+ dependencies:
+ prosemirror-model: 1.25.0
+
+ prosemirror-schema-list@1.5.1:
+ dependencies:
+ prosemirror-model: 1.25.0
+ prosemirror-state: 1.4.3
+ prosemirror-transform: 1.10.3
+
+ prosemirror-state@1.4.3:
+ dependencies:
+ prosemirror-model: 1.25.0
+ prosemirror-transform: 1.10.3
+ prosemirror-view: 1.38.1
+
+ prosemirror-tables@1.6.4:
+ dependencies:
+ prosemirror-keymap: 1.2.2
+ prosemirror-model: 1.25.0
+ prosemirror-state: 1.4.3
+ prosemirror-transform: 1.10.3
+ prosemirror-view: 1.38.1
+
+ prosemirror-trailing-node@3.0.0(prosemirror-model@1.25.0)(prosemirror-state@1.4.3)(prosemirror-view@1.38.1):
+ dependencies:
+ '@remirror/core-constants': 3.0.0
+ escape-string-regexp: 4.0.0
+ prosemirror-model: 1.25.0
+ prosemirror-state: 1.4.3
+ prosemirror-view: 1.38.1
+
+ prosemirror-transform@1.10.3:
+ dependencies:
+ prosemirror-model: 1.25.0
+
+ prosemirror-view@1.38.1:
+ dependencies:
+ prosemirror-model: 1.25.0
+ prosemirror-state: 1.4.3
+ prosemirror-transform: 1.10.3
+
+ punycode.js@2.3.1: {}
+
+ pvtsutils@1.3.6:
+ dependencies:
+ tslib: 2.8.1
+
+ pvutils@1.1.3: {}
+
+ queue-microtask@1.2.3: {}
+
+ react-dom@19.0.0(react@19.0.0):
+ dependencies:
+ react: 19.0.0
+ scheduler: 0.25.0
+
+ react-email@4.0.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
+ dependencies:
+ '@babel/parser': 7.24.5
+ '@babel/traverse': 7.25.6
+ chalk: 4.1.2
+ chokidar: 4.0.3
+ commander: 11.1.0
+ debounce: 2.0.0
+ esbuild: 0.23.0
+ glob: 10.3.4
+ log-symbols: 4.1.0
+ mime-types: 2.1.35
+ next: 15.2.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ normalize-path: 3.0.0
+ ora: 5.4.1
+ socket.io: 4.8.1
+ transitivePeerDependencies:
+ - '@babel/core'
+ - '@opentelemetry/api'
+ - '@playwright/test'
+ - babel-plugin-macros
+ - babel-plugin-react-compiler
+ - bufferutil
+ - react
+ - react-dom
+ - sass
+ - supports-color
+ - utf-8-validate
+
+ react-hook-form@7.55.0(react@19.0.0):
+ dependencies:
+ react: 19.0.0
+
+ react-medium-image-zoom@5.2.14(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
+ dependencies:
+ react: 19.0.0
+ react-dom: 19.0.0(react@19.0.0)
+
+ react-promise-suspense@0.3.4:
+ dependencies:
+ fast-deep-equal: 2.0.1
+
+ react-remove-scroll-bar@2.3.8(@types/react@19.0.8)(react@19.0.0):
+ dependencies:
+ react: 19.0.0
+ react-style-singleton: 2.2.3(@types/react@19.0.8)(react@19.0.0)
+ tslib: 2.8.1
+ optionalDependencies:
+ '@types/react': 19.0.8
+
+ react-remove-scroll@2.6.3(@types/react@19.0.8)(react@19.0.0):
+ dependencies:
+ react: 19.0.0
+ react-remove-scroll-bar: 2.3.8(@types/react@19.0.8)(react@19.0.0)
+ react-style-singleton: 2.2.3(@types/react@19.0.8)(react@19.0.0)
+ tslib: 2.8.1
+ use-callback-ref: 1.3.3(@types/react@19.0.8)(react@19.0.0)
+ use-sidecar: 1.1.3(@types/react@19.0.8)(react@19.0.0)
+ optionalDependencies:
+ '@types/react': 19.0.8
+
+ react-style-singleton@2.2.3(@types/react@19.0.8)(react@19.0.0):
+ dependencies:
+ get-nonce: 1.0.1
+ react: 19.0.0
+ tslib: 2.8.1
+ optionalDependencies:
+ '@types/react': 19.0.8
+
+ react-wrap-balancer@1.1.1(react@19.0.0):
+ dependencies:
+ react: 19.0.0
+
+ react@19.0.0: {}
+
+ readable-stream@3.6.2:
+ dependencies:
+ inherits: 2.0.4
+ string_decoder: 1.3.0
+ util-deprecate: 1.0.2
+
+ readdirp@4.1.2: {}
+
+ recma-build-jsx@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.6
+ estree-util-build-jsx: 3.0.1
+ vfile: 6.0.3
+
+ recma-jsx@1.0.0(acorn@8.14.1):
+ dependencies:
+ acorn-jsx: 5.3.2(acorn@8.14.1)
+ estree-util-to-js: 2.0.0
+ recma-parse: 1.0.0
+ recma-stringify: 1.0.0
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - acorn
+
+ recma-parse@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.6
+ esast-util-from-js: 2.0.1
+ unified: 11.0.5
+ vfile: 6.0.3
+
+ recma-stringify@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.6
+ estree-util-to-js: 2.0.0
+ unified: 11.0.5
+ vfile: 6.0.3
+
+ regex-recursion@6.0.2:
+ dependencies:
+ regex-utilities: 2.3.0
+
+ regex-utilities@2.3.0: {}
+
+ regex@6.0.1:
+ dependencies:
+ regex-utilities: 2.3.0
+
+ rehype-katex@7.0.1:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/katex': 0.16.7
+ hast-util-from-html-isomorphic: 2.0.0
+ hast-util-to-text: 4.0.2
+ katex: 0.16.21
+ unist-util-visit-parents: 6.0.1
+ vfile: 6.0.3
+
+ rehype-recma@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.6
+ '@types/hast': 3.0.4
+ hast-util-to-estree: 3.1.3
+ transitivePeerDependencies:
+ - supports-color
+
+ remark-gfm@4.0.1:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-gfm: 3.1.0
+ micromark-extension-gfm: 3.0.0
+ remark-parse: 11.0.0
+ remark-stringify: 11.0.0
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - supports-color
+
+ remark-math@6.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-math: 3.0.0
+ micromark-extension-math: 3.1.0
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - supports-color
+
+ remark-mdx@3.1.0:
+ dependencies:
+ mdast-util-mdx: 3.0.0
+ micromark-extension-mdxjs: 3.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ remark-parse@11.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-from-markdown: 2.0.2
+ micromark-util-types: 2.0.2
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - supports-color
+
+ remark-rehype@11.1.1:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ mdast-util-to-hast: 13.2.0
+ unified: 11.0.5
+ vfile: 6.0.3
+
+ remark-stringify@11.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-to-markdown: 2.1.2
+ unified: 11.0.5
+
+ remark@15.0.1:
+ dependencies:
+ '@types/mdast': 4.0.4
+ remark-parse: 11.0.0
+ remark-stringify: 11.0.0
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - supports-color
+
+ resend@4.2.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
+ dependencies:
+ '@react-email/render': 1.0.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ transitivePeerDependencies:
+ - react
+ - react-dom
+
+ resolve-pkg-maps@1.0.0: {}
+
+ restore-cursor@3.1.0:
+ dependencies:
+ onetime: 5.1.2
+ signal-exit: 3.0.7
+
+ reusify@1.1.0: {}
+
+ rope-sequence@1.3.4: {}
+
+ rou3@0.5.1: {}
+
+ run-parallel@1.2.0:
+ dependencies:
+ queue-microtask: 1.2.3
+
+ safe-buffer@5.2.1: {}
+
+ sax@1.4.1: {}
+
+ scheduler@0.25.0: {}
+
+ schema-dts@1.1.5: {}
+
+ scroll-into-view-if-needed@3.1.0:
+ dependencies:
+ compute-scroll-into-view: 3.1.1
+
+ section-matter@1.0.0:
+ dependencies:
+ extend-shallow: 2.0.1
+ kind-of: 6.0.3
+
+ selderee@0.11.0:
+ dependencies:
+ parseley: 0.12.1
+
+ semver@7.7.1: {}
+
+ set-cookie-parser@2.7.1: {}
+
+ sharp@0.33.5:
+ dependencies:
+ color: 4.2.3
+ detect-libc: 2.0.3
+ semver: 7.7.1
+ optionalDependencies:
+ '@img/sharp-darwin-arm64': 0.33.5
+ '@img/sharp-darwin-x64': 0.33.5
+ '@img/sharp-libvips-darwin-arm64': 1.0.4
+ '@img/sharp-libvips-darwin-x64': 1.0.4
+ '@img/sharp-libvips-linux-arm': 1.0.5
+ '@img/sharp-libvips-linux-arm64': 1.0.4
+ '@img/sharp-libvips-linux-s390x': 1.0.4
+ '@img/sharp-libvips-linux-x64': 1.0.4
+ '@img/sharp-libvips-linuxmusl-arm64': 1.0.4
+ '@img/sharp-libvips-linuxmusl-x64': 1.0.4
+ '@img/sharp-linux-arm': 0.33.5
+ '@img/sharp-linux-arm64': 0.33.5
+ '@img/sharp-linux-s390x': 0.33.5
+ '@img/sharp-linux-x64': 0.33.5
+ '@img/sharp-linuxmusl-arm64': 0.33.5
+ '@img/sharp-linuxmusl-x64': 0.33.5
+ '@img/sharp-wasm32': 0.33.5
+ '@img/sharp-win32-ia32': 0.33.5
+ '@img/sharp-win32-x64': 0.33.5
+ optional: true
+
+ shebang-command@2.0.0:
+ dependencies:
+ shebang-regex: 3.0.0
+
+ shebang-regex@3.0.0: {}
+
+ shell-quote@1.8.2: {}
+
+ shiki@3.2.1:
+ dependencies:
+ '@shikijs/core': 3.2.1
+ '@shikijs/engine-javascript': 3.2.1
+ '@shikijs/engine-oniguruma': 3.2.1
+ '@shikijs/langs': 3.2.1
+ '@shikijs/themes': 3.2.1
+ '@shikijs/types': 3.2.1
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.4
+
+ signal-exit@3.0.7: {}
+
+ signal-exit@4.1.0: {}
+
+ simple-swizzle@0.2.2:
+ dependencies:
+ is-arrayish: 0.3.2
+ optional: true
+
+ socket.io-adapter@2.5.5:
+ dependencies:
+ debug: 4.3.7
+ ws: 8.17.1
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+
+ socket.io-parser@4.2.4:
+ dependencies:
+ '@socket.io/component-emitter': 3.1.2
+ debug: 4.3.7
+ transitivePeerDependencies:
+ - supports-color
+
+ socket.io@4.8.1:
+ dependencies:
+ accepts: 1.3.8
+ base64id: 2.0.0
+ cors: 2.8.5
+ debug: 4.3.7
+ engine.io: 6.6.4
+ socket.io-adapter: 2.5.5
+ socket.io-parser: 4.2.4
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+
+ sonner@2.0.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
+ dependencies:
+ react: 19.0.0
+ react-dom: 19.0.0(react@19.0.0)
+
+ source-map-js@1.2.1: {}
+
+ source-map-support@0.5.21:
+ dependencies:
+ buffer-from: 1.1.2
+ source-map: 0.6.1
+
+ source-map@0.6.1: {}
+
+ source-map@0.7.4: {}
+
+ space-separated-tokens@2.0.2: {}
+
+ sprintf-js@1.0.3: {}
+
+ streamsearch@1.1.0: {}
+
+ string-width@4.2.3:
+ dependencies:
+ emoji-regex: 8.0.0
+ is-fullwidth-code-point: 3.0.0
+ strip-ansi: 6.0.1
+
+ string-width@5.1.2:
+ dependencies:
+ eastasianwidth: 0.2.0
+ emoji-regex: 9.2.2
+ strip-ansi: 7.1.0
+
+ string_decoder@1.3.0:
+ dependencies:
+ safe-buffer: 5.2.1
+
+ stringify-entities@4.0.4:
+ dependencies:
+ character-entities-html4: 2.1.0
+ character-entities-legacy: 3.0.0
+
+ strip-ansi@6.0.1:
+ dependencies:
+ ansi-regex: 5.0.1
+
+ strip-ansi@7.1.0:
+ dependencies:
+ ansi-regex: 6.1.0
+
+ strip-bom-string@1.0.0: {}
+
+ style-to-js@1.1.16:
+ dependencies:
+ style-to-object: 1.0.8
+
+ style-to-object@1.0.8:
+ dependencies:
+ inline-style-parser: 0.2.4
+
+ styled-jsx@5.1.6(react@19.0.0):
+ dependencies:
+ client-only: 0.0.1
+ react: 19.0.0
+
+ supports-color@7.2.0:
+ dependencies:
+ has-flag: 4.0.0
+
+ swr@2.3.3(react@19.0.0):
+ dependencies:
+ dequal: 2.0.3
+ react: 19.0.0
+ use-sync-external-store: 1.4.0(react@19.0.0)
+
+ tailwind-merge@3.0.2: {}
+
+ tailwind-scrollbar@4.0.2(react@19.0.0)(tailwindcss@4.0.4):
+ dependencies:
+ prism-react-renderer: 2.4.1(react@19.0.0)
+ tailwindcss: 4.0.4
+ transitivePeerDependencies:
+ - react
+
+ tailwindcss-animate@1.0.7(tailwindcss@4.0.4):
+ dependencies:
+ tailwindcss: 4.0.4
+
+ tailwindcss@4.0.15: {}
+
+ tailwindcss@4.0.4: {}
+
+ tapable@2.2.1: {}
+
+ tippy.js@6.3.7:
+ dependencies:
+ '@popperjs/core': 2.11.8
+
+ to-regex-range@5.0.1:
+ dependencies:
+ is-number: 7.0.0
+
+ trim-lines@3.0.1: {}
+
+ trough@2.2.0: {}
+
+ tslib@2.8.1: {}
+
+ tsx@4.19.3:
+ dependencies:
+ esbuild: 0.25.1
+ get-tsconfig: 4.10.0
+ optionalDependencies:
+ fsevents: 2.3.3
+
+ twoslash-protocol@0.3.1: {}
+
+ twoslash@0.3.1(typescript@5.7.3):
+ dependencies:
+ '@typescript/vfs': 1.6.1(typescript@5.7.3)
+ twoslash-protocol: 0.3.1
+ typescript: 5.7.3
+ transitivePeerDependencies:
+ - supports-color
+
+ typescript@5.7.3: {}
+
+ typescript@5.8.2: {}
+
+ uc.micro@2.1.0: {}
+
+ uncrypto@0.1.3: {}
+
+ undici-types@6.20.0: {}
+
+ unified@11.0.5:
+ dependencies:
+ '@types/unist': 3.0.3
+ bail: 2.0.2
+ devlop: 1.1.0
+ extend: 3.0.2
+ is-plain-obj: 4.1.0
+ trough: 2.2.0
+ vfile: 6.0.3
+
+ unist-util-find-after@5.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+ unist-util-is: 6.0.0
+
+ unist-util-is@6.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+
+ unist-util-position-from-estree@2.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+
+ unist-util-position@5.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+
+ unist-util-remove-position@5.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+ unist-util-visit: 5.0.0
+
+ unist-util-stringify-position@4.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+
+ unist-util-visit-parents@6.0.1:
+ dependencies:
+ '@types/unist': 3.0.3
+ unist-util-is: 6.0.0
+
+ unist-util-visit@5.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+ unist-util-is: 6.0.0
+ unist-util-visit-parents: 6.0.1
+
+ use-callback-ref@1.3.3(@types/react@19.0.8)(react@19.0.0):
+ dependencies:
+ react: 19.0.0
+ tslib: 2.8.1
+ optionalDependencies:
+ '@types/react': 19.0.8
+
+ use-sidecar@1.1.3(@types/react@19.0.8)(react@19.0.0):
+ dependencies:
+ detect-node-es: 1.1.0
+ react: 19.0.0
+ tslib: 2.8.1
+ optionalDependencies:
+ '@types/react': 19.0.8
+
+ use-sync-external-store@1.4.0(react@19.0.0):
+ dependencies:
+ react: 19.0.0
+
+ usehooks-ts@3.1.1(react@19.0.0):
+ dependencies:
+ lodash.debounce: 4.0.8
+ react: 19.0.0
+
+ util-deprecate@1.0.2: {}
+
+ valibot@1.0.0-beta.15(typescript@5.7.3):
+ optionalDependencies:
+ typescript: 5.7.3
+
+ vary@1.1.2: {}
+
+ vfile-location@5.0.3:
+ dependencies:
+ '@types/unist': 3.0.3
+ vfile: 6.0.3
+
+ vfile-message@4.0.2:
+ dependencies:
+ '@types/unist': 3.0.3
+ unist-util-stringify-position: 4.0.0
+
+ vfile@6.0.3:
+ dependencies:
+ '@types/unist': 3.0.3
+ vfile-message: 4.0.2
+
+ w3c-keyname@2.2.8: {}
+
+ wcwidth@1.0.1:
+ dependencies:
+ defaults: 1.0.4
+
+ web-namespaces@2.0.1: {}
+
+ which@2.0.2:
+ dependencies:
+ isexe: 2.0.0
+
+ which@4.0.0:
+ dependencies:
+ isexe: 3.1.1
+
+ wrap-ansi@7.0.0:
+ dependencies:
+ ansi-styles: 4.3.0
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+
+ wrap-ansi@8.1.0:
+ dependencies:
+ ansi-styles: 6.2.1
+ string-width: 5.1.2
+ strip-ansi: 7.1.0
+
+ ws@8.17.1: {}
+
+ xml-js@1.6.11:
+ dependencies:
+ sax: 1.4.1
+
+ zod@3.24.2: {}
+
+ zwitch@2.0.4: {}
diff --git a/postcss.config.js b/postcss.config.js
new file mode 100644
index 0000000..a34a3d5
--- /dev/null
+++ b/postcss.config.js
@@ -0,0 +1,5 @@
+export default {
+ plugins: {
+ '@tailwindcss/postcss': {},
+ },
+};
diff --git a/public/images/blog/first-post.png b/public/images/blog/first-post.png
new file mode 100644
index 0000000..cc908e0
--- /dev/null
+++ b/public/images/blog/first-post.png
Binary files differ
diff --git a/public/images/blog/markdown-examples.png b/public/images/blog/markdown-examples.png
new file mode 100644
index 0000000..800c3ee
--- /dev/null
+++ b/public/images/blog/markdown-examples.png
Binary files differ
diff --git a/public/images/blog/pages.png b/public/images/blog/pages.png
new file mode 100644
index 0000000..75b4c3f
--- /dev/null
+++ b/public/images/blog/pages.png
Binary files differ
diff --git a/public/images/blog/using-mdx.png b/public/images/blog/using-mdx.png
new file mode 100644
index 0000000..dc84316
--- /dev/null
+++ b/public/images/blog/using-mdx.png
Binary files differ
diff --git a/public/images/gradient-noise-green-red.png b/public/images/gradient-noise-green-red.png
new file mode 100644
index 0000000..6b99213
--- /dev/null
+++ b/public/images/gradient-noise-green-red.png
Binary files differ
diff --git a/public/images/gradient-noise-purple-azure-light.png b/public/images/gradient-noise-purple-azure-light.png
new file mode 100644
index 0000000..bad8cbc
--- /dev/null
+++ b/public/images/gradient-noise-purple-azure-light.png
Binary files differ
diff --git a/public/images/placeholder.png b/public/images/placeholder.png
new file mode 100644
index 0000000..cc908e0
--- /dev/null
+++ b/public/images/placeholder.png
Binary files differ
diff --git a/scripts/lint.mts b/scripts/lint.mts
new file mode 100644
index 0000000..9a9e6df
--- /dev/null
+++ b/scripts/lint.mts
@@ -0,0 +1,70 @@
+import fs from 'node:fs/promises';
+import path from 'node:path';
+import fg from 'fast-glob';
+import { getTableOfContents } from 'fumadocs-core/server';
+import { createGetUrl, getSlugs, parseFilePath } from 'fumadocs-core/source';
+import { remarkInclude } from 'fumadocs-mdx/config';
+import matter from 'gray-matter';
+import { printErrors, scanURLs, validateFiles } from 'next-validate-link';
+import remarkMdx from 'remark-mdx';
+
+async function readFromPath(file: string) {
+ const content = await fs
+ .readFile(path.resolve(file))
+ .then((res) => res.toString());
+ const parsed = matter(content);
+
+ return {
+ path: file,
+ data: parsed.data,
+ content: parsed.content,
+ };
+}
+
+async function checkLinks() {
+ const blogFiles = await Promise.all(
+ await fg('content/**/*.mdx').then((files) => files.map(readFromPath)),
+ );
+
+ const blogs = blogFiles.map(async (file) => {
+ const info = parseFilePath(path.relative('content', file.path));
+
+ return {
+ value: getSlugs(info)[0],
+ hashes: (
+ await getTableOfContents(
+ {
+ path: file.path,
+ value: file.content,
+ },
+ [remarkMdx, remarkInclude],
+ )
+ ).map((item) => item.url.slice(1)),
+ };
+ });
+
+ const scanned = await scanURLs({
+ populate: {
+ '(home)/posts/[slug]': await Promise.all(blogs),
+ },
+ });
+
+ console.log(
+ `collected ${scanned.urls.size} URLs, ${scanned.fallbackUrls.length} fallbacks`,
+ );
+
+ const getUrl = createGetUrl('/posts');
+ printErrors(
+ await validateFiles([...blogFiles], {
+ scanned,
+
+ pathToUrl(value) {
+ const info = parseFilePath(path.relative('content', value));
+ return getUrl(getSlugs(info));
+ },
+ }),
+ true,
+ );
+}
+
+void checkLinks();
diff --git a/source.config.ts b/source.config.ts
new file mode 100644
index 0000000..9ff650e
--- /dev/null
+++ b/source.config.ts
@@ -0,0 +1,55 @@
+import { transformerRemoveNotationEscape } from '@shikijs/transformers';
+import { rehypeCodeDefaultOptions } from 'fumadocs-core/mdx-plugins';
+import {
+ defineCollections,
+ defineConfig,
+ frontmatterSchema,
+} from 'fumadocs-mdx/config';
+import { transformerTwoslash } from 'fumadocs-twoslash';
+import rehypeKatex from 'rehype-katex';
+import remarkMath from 'remark-math';
+import { z } from 'zod';
+
+export const blog = defineCollections({
+ type: 'doc',
+ dir: 'content',
+ schema: frontmatterSchema.extend({
+ date: z
+ .string()
+ .or(z.date())
+ .transform((value, context) => {
+ try {
+ return new Date(value);
+ } catch {
+ context.addIssue({
+ code: z.ZodIssueCode.custom,
+ message: 'Invalid date',
+ });
+ return z.NEVER;
+ }
+ }),
+ author: z.string(),
+ tags: z.array(z.string()).optional(),
+ image: z.string().optional(),
+ }),
+});
+
+export default defineConfig({
+ lastModifiedTime: 'git',
+ mdxOptions: {
+ rehypeCodeOptions: {
+ inline: 'tailing-curly-colon',
+ themes: {
+ light: 'catppuccin-latte',
+ dark: 'catppuccin-mocha',
+ },
+ transformers: [
+ ...(rehypeCodeDefaultOptions.transformers ?? []),
+ transformerTwoslash(),
+ transformerRemoveNotationEscape(),
+ ],
+ },
+ remarkPlugins: [remarkMath],
+ rehypePlugins: (v) => [rehypeKatex, ...v],
+ },
+});
diff --git a/src/app/(auth)/login/page.tsx b/src/app/(auth)/login/page.tsx
new file mode 100644
index 0000000..2469097
--- /dev/null
+++ b/src/app/(auth)/login/page.tsx
@@ -0,0 +1,116 @@
+'use client';
+
+import { baseOptions, linkItems } from '@/app/layout.config';
+import { Icons } from '@/components/icons/icons';
+import { Header } from '@/components/sections/header';
+import { Button } from '@/components/ui/button';
+import {
+ Card,
+ CardContent,
+ CardDescription,
+ CardHeader,
+ CardTitle,
+} from '@/components/ui/card';
+import { signIn } from '@/lib/auth-client';
+import { cn } from '@/lib/utils';
+import { HomeLayout } from 'fumadocs-ui/layouts/home';
+import { getLinks } from 'fumadocs-ui/layouts/shared';
+import { PlusIcon } from 'lucide-react';
+
+const Cross = () => (
+ <div className='relative h-6 w-6'>
+ <div className='-translate-x-1/2 -translate-y-1/2 absolute top-1/2 left-1/2 bg-background'>
+ <PlusIcon size={20} className='text-border/70 dark:text-border' />
+ </div>
+ </div>
+);
+
+function SignInCard() {
+ return (
+ <Card className='relative w-full max-w-xl rounded-none border border-border/70 border-dashed shadow-none dark:border-border'>
+ <div className='-top-3 -left-3 absolute z-10 hidden h-6 sm:block'>
+ <Cross />
+ </div>
+ <div className='-top-3 -right-3 -translate-x-px absolute z-10 hidden h-6 sm:block'>
+ <Cross />
+ </div>
+ <CardHeader>
+ <CardTitle className='text-lg md:text-xl'>Sign In</CardTitle>
+ <CardDescription className='text-xs md:text-sm'>
+ Sign in with your account
+ </CardDescription>
+ </CardHeader>
+ <CardContent>
+ <div className='grid gap-4'>
+ <div
+ className={cn(
+ 'flex w-full items-center gap-2',
+ 'flex-col justify-between',
+ )}
+ >
+ <Button
+ variant='outline'
+ className={cn(
+ 'w-full gap-2 rounded-none border border-border/70 border-dashed dark:border-border',
+ )}
+ onClick={async () => {
+ await signIn.social({
+ provider: 'google',
+ callbackURL: '/',
+ });
+ }}
+ >
+ <Icons.google />
+ Sign in with Google
+ </Button>
+ <Button
+ variant='outline'
+ className={cn(
+ 'w-full gap-2 rounded-none border border-border/70 border-dashed dark:border-border',
+ )}
+ onClick={async () => {
+ await signIn.social({
+ provider: 'github',
+ callbackURL: '/',
+ });
+ }}
+ >
+ <Icons.gitHub />
+ Sign in with Github
+ </Button>
+ </div>
+ </div>
+ </CardContent>
+ <div className='-bottom-3 -left-3 absolute z-10 hidden h-6 sm:block'>
+ <Cross />
+ </div>
+ <div className='-bottom-3 -right-3 -translate-x-px absolute z-10 hidden h-6 sm:block'>
+ <Cross />
+ </div>
+ </Card>
+ );
+}
+
+export default function LoginPage() {
+ return (
+ <HomeLayout
+ {...baseOptions}
+ links={linkItems}
+ nav={{
+ component: (
+ <Header
+ finalLinks={getLinks(linkItems, baseOptions.githubUrl)}
+ {...baseOptions}
+ />
+ ),
+ }}
+ className='border-grid pt-0'
+ >
+ <main className='flex flex-1 px-4 sm:px-8 md:px-12 lg:px-16 2xl:px-24'>
+ <div className='container flex min-h-full flex-1 items-center justify-center border-border/70 border-x border-b border-dashed dark:border-border'>
+ <SignInCard />
+ </div>
+ </main>
+ </HomeLayout>
+ );
+}
diff --git a/src/app/(home)/(mdx)/about/page.mdx b/src/app/(home)/(mdx)/about/page.mdx
new file mode 100644
index 0000000..675f3a8
--- /dev/null
+++ b/src/app/(home)/(mdx)/about/page.mdx
@@ -0,0 +1,24 @@
+import MdxLayout from '@/components/mdx-layout';
+
+<MdxLayout title="About" toc={toc} comments={true} slug={"about"}>
+Hey, I'm a **Senior Software Engineer** at Company. I focus on building fast, accessible, and visually polished front-end experiences using tools like **Next.js**, **TypeScript**, and whatever cool thing just dropped on GitHub.
+
+This portfolio is built with **Next.js** and powered by [Fumadocs](https://fumadocs.vercel.app/), which makes writing pages in Markdown feel like second nature. It lets me focus on content without wrestling with layout.
+
+### Journey
+
+I didn't grow up writing code. In fact, I didn't even know what a `<div>` was until much later. My curiosity started with tweaking themes on forums, editing little bits of CSS without knowing what CSS even meant.
+
+Eventually, that curiosity turned into late nights spent debugging JavaScript errors and falling in love with how code could bring ideas to life.
+
+I started building side projects, contributing to open source, and slowly leveling up. My first "real" job involved wrangling legacy jQuery code. It wasn't glamorous, but it taught me the fundamentals — and just how far modern frameworks have come.
+
+Since then, I've worked across startups and mid-sized teams, shipped production code to thousands of users, and mentored new developers along the way.
+
+### Socials
+
+- Twitter [@yourname](https://twitter.com/yourname)
+- GitHub [@yourname](https://github.com/yourname)
+- Instagram [@yourname](https://instagram.com/yourname)
+- Email your@name.com
+</MdxLayout> \ No newline at end of file
diff --git a/src/app/(home)/_components/call-to-action.tsx b/src/app/(home)/_components/call-to-action.tsx
new file mode 100644
index 0000000..b75298e
--- /dev/null
+++ b/src/app/(home)/_components/call-to-action.tsx
@@ -0,0 +1,23 @@
+import { NewsletterForm } from '@/components/newsletter-form';
+import { Section } from '@/components/section';
+import type React from 'react';
+
+export function CTA(): React.ReactElement {
+ return (
+ <Section className='relative grid gap-8 px-4 py-10 sm:grid-cols-2 md:py-14 lg:px-6 lg:py-16'>
+ <div className='max-w-xl space-y-2'>
+ <h2 className='font-semibold text-2xl md:text-3xl lg:text-4xl'>
+ Subscribe to the Newsletter
+ </h2>
+ <p className='text-muted-foreground text-sm md:text-base'>
+ Get the latest articles and updates delivered straight to your inbox.
+ No spam, unsubscribe anytime.
+ </p>
+ </div>
+
+ <div className='flex w-full items-center'>
+ <NewsletterForm />
+ </div>
+ </Section>
+ );
+}
diff --git a/src/app/(home)/_components/hero.tsx b/src/app/(home)/_components/hero.tsx
new file mode 100644
index 0000000..8ac251b
--- /dev/null
+++ b/src/app/(home)/_components/hero.tsx
@@ -0,0 +1,98 @@
+import { baseOptions, linkItems } from '@/app/layout.config';
+import { Icons } from '@/components/icons/icons';
+import { Section } from '@/components/section';
+import { buttonVariants } from '@/components/ui/button';
+import { cn } from '@/lib/utils';
+import { getLinks } from 'fumadocs-ui/layouts/shared';
+import * as motion from 'motion/react-client';
+import Image from 'next/image';
+import Link from 'next/link';
+import Balancer from 'react-wrap-balancer';
+import heroImage from '../../../../public/images/gradient-noise-purple-azure-light.png';
+
+const Hero = () => {
+ const links = getLinks(linkItems, baseOptions.githubUrl);
+ const navItems = links.filter((item) =>
+ ['nav', 'all'].includes(item.on ?? 'all'),
+ );
+
+ return (
+ <Section className='relative flex flex-col items-center justify-center gap-6 overflow-hidden bg-dashed px-4 py-16 sm:px-16 sm:py-24 md:py-32'>
+ <motion.div
+ initial={{ opacity: 0 }}
+ animate={{ opacity: 1 }}
+ transition={{
+ duration: 0.4,
+ scale: { type: 'spring', visualDuration: 0.4, bounce: 0.5 },
+ }}
+ whileInView={{ opacity: 1 }}
+ viewport={{ once: true }}
+ className='-z-10 absolute inset-0 h-full w-full'
+ >
+ <Image
+ src={heroImage}
+ alt='Hero Background'
+ height={600}
+ width={704}
+ className='pointer-events-none absolute right-0 bottom-0 h-[900px] w-[1004px] max-w-[1004px] translate-x-1/2 translate-y-1/2 select-none opacity-80 dark:opacity-100'
+ priority
+ />
+ </motion.div>
+ <div className='flex items-center justify-center space-x-2'>
+ <Icons.code className='h-6 w-6 text-primary transition-transform hover:scale-125' />
+ <span className='font-medium text-muted-foreground text-sm'>
+ Full-Stack Developer & Tech Writer
+ </span>
+ </div>
+ <h1 className='max-w-3xl text-center font-bold text-4xl leading-tight tracking-tighter sm:text-5xl md:max-w-4xl md:text-6xl lg:leading-[1.1]'>
+ <Balancer>I'm John Doe , a Full-Stack Developer.</Balancer>
+ </h1>
+ <p className='max-w-xl text-center text-muted-foreground md:max-w-2xl md:text-lg'>
+ <Balancer>
+ I write about web development, software engineering, and the latest
+ technologies. I also create fun projects and tutorials to help you
+ learn and grow as a developer.
+ </Balancer>
+ </p>
+
+ <div className='flex flex-wrap items-center justify-center gap-4'>
+ <Link
+ className={cn(
+ buttonVariants({
+ variant: 'default',
+ size: 'lg',
+ }),
+ 'group rounded-full bg-primary hover:bg-primary/90',
+ )}
+ href='/posts'
+ >
+ Browse Posts
+ <Icons.arrowUpRight className='group-hover:-rotate-12 ml-2 size-5 transition-transform' />
+ </Link>
+
+ <div className='flex items-center space-x-4'>
+ {navItems
+ .filter((item) => item.type === 'icon')
+ .map((item, i) => (
+ <Link
+ key={i.toString()}
+ href={item.url}
+ className={cn(
+ buttonVariants({
+ variant: 'ghost',
+ size: 'icon',
+ }),
+ 'rounded-full',
+ )}
+ >
+ {item.icon}
+ <span className='sr-only'>{item.text}</span>
+ </Link>
+ ))}
+ </div>
+ </div>
+ </Section>
+ );
+};
+
+export default Hero;
diff --git a/src/app/(home)/_components/posts.tsx b/src/app/(home)/_components/posts.tsx
new file mode 100644
index 0000000..8c8dc33
--- /dev/null
+++ b/src/app/(home)/_components/posts.tsx
@@ -0,0 +1,40 @@
+import { Icons } from '@/components/icons/icons';
+import { PostCard } from '@/components/posts/post-card';
+import { Section } from '@/components/section';
+import { buttonVariants } from '@/components/ui/button';
+import type { Page } from '@/lib/source';
+import Link from 'next/link';
+
+export default function Posts({ posts }: { posts: Page[] }) {
+ return (
+ <Section>
+ <div className='grid divide-y divide-dashed divide-border/70 text-left dark:divide-border'>
+ {posts.map((post) => {
+ const date = new Date(post.data.date).toDateString();
+ return (
+ <PostCard
+ title={post.data.title}
+ description={post.data.description ?? ''}
+ image={post.data.image}
+ url={post.url}
+ date={date}
+ key={post.url}
+ author={post.data.author}
+ tags={post.data.tags}
+ />
+ );
+ })}
+ <Link
+ href='/posts'
+ className={buttonVariants({
+ variant: 'default',
+ className: 'group rounded-none py-4 sm:py-8',
+ })}
+ >
+ View More
+ <Icons.arrowUpRight className='group-hover:-rotate-12 ml-2 size-5 transition-transform' />
+ </Link>
+ </div>
+ </Section>
+ );
+}
diff --git a/src/app/(home)/actions.ts b/src/app/(home)/actions.ts
new file mode 100644
index 0000000..fdb16ca
--- /dev/null
+++ b/src/app/(home)/actions.ts
@@ -0,0 +1,78 @@
+'use server';
+
+import { getContact, sendWelcomeEmail, updateContact } from '@/lib/resend';
+import { ActionError, actionClient } from '@/lib/safe-action';
+import { getSortedByDatePosts } from '@/lib/source';
+import { NewsletterSchema } from '@/lib/validators';
+import { getSession } from '@/server/auth';
+import { Resend } from 'resend';
+
+const resend = new Resend(process.env.RESEND_API_KEY as string);
+const audienceId = process.env.RESEND_AUDIENCE_ID as string;
+
+const splitName = (name = '') => {
+ const [firstName, ...lastName] = name.split(' ').filter(Boolean);
+ return {
+ firstName: firstName,
+ lastName: lastName.join(' '),
+ };
+};
+
+export const subscribeUser = actionClient
+ .schema(NewsletterSchema)
+ .action(async ({ parsedInput: { email } }) => {
+ const session = await getSession();
+ const fullName = session?.user.name || '';
+ const { firstName, lastName } = fullName
+ ? splitName(fullName)
+ : { firstName: '', lastName: '' };
+
+ try {
+ const contact = await getContact({ email, audienceId });
+
+ if (contact) {
+ await updateContact({
+ email,
+ firstName,
+ lastName,
+ audienceId,
+ unsubscribed: false,
+ });
+
+ return {
+ success: true,
+ message: 'You are already subscribed to our newsletter!',
+ };
+ }
+
+ const { data, error } = await resend.contacts.create({
+ email,
+ audienceId,
+ firstName,
+ lastName,
+ unsubscribed: false,
+ });
+
+ if (!data || error) {
+ throw new Error(
+ `Failed to create contact: ${error?.message || 'Unknown error'}`,
+ );
+ }
+
+ const posts = getSortedByDatePosts();
+ await sendWelcomeEmail({
+ posts,
+ to: email,
+ firstName: firstName || 'there',
+ });
+
+ return {
+ success: true,
+ message: 'You are now subscribed to our newsletter!',
+ };
+ } catch (error) {
+ console.error('Failed to subscribe:', error);
+ if (error instanceof ActionError) throw error;
+ throw new ActionError('Oops, something went wrong while subscribing.');
+ }
+ });
diff --git a/src/app/(home)/layout.tsx b/src/app/(home)/layout.tsx
new file mode 100644
index 0000000..bd641df
--- /dev/null
+++ b/src/app/(home)/layout.tsx
@@ -0,0 +1,31 @@
+import { Footer } from '@/components/sections/footer';
+import { Header } from '@/components/sections/header';
+import { HomeLayout } from 'fumadocs-ui/layouts/home';
+import { getLinks } from 'fumadocs-ui/layouts/shared';
+import type { ReactNode } from 'react';
+import { baseOptions, linkItems } from '../layout.config';
+
+const Layout = ({ children }: { children: ReactNode }) => {
+ return (
+ <HomeLayout
+ {...baseOptions}
+ links={linkItems}
+ nav={{
+ component: (
+ <Header
+ finalLinks={getLinks(linkItems, baseOptions.githubUrl)}
+ {...baseOptions}
+ />
+ ),
+ }}
+ className='pt-0'
+ >
+ <main className='flex flex-1 flex-col divide-y divide-dashed divide-border/70 border-border/70 border-dashed sm:border-b dark:divide-border dark:border-border'>
+ {children}
+ <Footer />
+ </main>
+ </HomeLayout>
+ );
+};
+
+export default Layout;
diff --git a/src/app/(home)/page.tsx b/src/app/(home)/page.tsx
new file mode 100644
index 0000000..da7da0f
--- /dev/null
+++ b/src/app/(home)/page.tsx
@@ -0,0 +1,29 @@
+import Hero from '@/app/(home)/_components/hero';
+import Posts from '@/app/(home)/_components/posts';
+import { Icons } from '@/components/icons/icons';
+import { Section } from '@/components/section';
+import Separator from '@/components/separator';
+import { getSortedByDatePosts } from '@/lib/source';
+import { CTA } from './_components/call-to-action';
+
+export default function Home() {
+ const posts = getSortedByDatePosts().slice(0, 3);
+
+ return (
+ <>
+ <Hero />
+ <Section className='py-8 sm:py-16'>
+ <h2 className='text-center font-semibold text-2xl sm:text-3xl md:text-4xl lg:text-5xl'>
+ <span className='inline-flex items-center gap-3'>
+ Posts{' '}
+ <Icons.posts className='size-10 fill-fd-primary/30 text-fd-primary transition-transform hover:rotate-12 hover:scale-125' />
+ </span>
+ </h2>
+ </Section>
+ <Separator />
+ <Posts posts={posts} />
+ <Separator />
+ <CTA />
+ </>
+ );
+}
diff --git a/src/app/(home)/posts/[slug]/page.client.tsx b/src/app/(home)/posts/[slug]/page.client.tsx
new file mode 100644
index 0000000..7a97f56
--- /dev/null
+++ b/src/app/(home)/posts/[slug]/page.client.tsx
@@ -0,0 +1,57 @@
+'use client';
+import {
+ UploadIcon as ShareIcon,
+ type UploadIconHandle as ShareIconHandle,
+} from '@/components/icons/animated/upload';
+import { Icons } from '@/components/icons/icons';
+import { Button } from '@/components/ui/button';
+import { cn } from '@/lib/utils';
+import { Comments } from '@fuma-comment/react';
+import { redirect } from 'next/navigation';
+import { useRef } from 'react';
+import { toast } from 'sonner';
+import { useCopyToClipboard } from 'usehooks-ts';
+
+export function Share({ url }: { url: string }): React.ReactElement {
+ const iconRef = useRef<ShareIconHandle>(null);
+ const [_, copyToClipboard] = useCopyToClipboard();
+
+ const onClick = async (): Promise<void> => {
+ await copyToClipboard(`${window.location.origin}${url}`);
+ toast.success('Copied to clipboard!', {
+ icon: <Icons.copied className='size-4' />,
+ description: 'The post link has been copied to your clipboard.',
+ });
+ };
+
+ return (
+ <Button
+ className={cn('group gap-2')}
+ variant={'secondary'}
+ onClick={onClick}
+ onMouseEnter={() => iconRef.current?.startAnimation?.()}
+ onMouseLeave={() => iconRef.current?.stopAnimation?.()}
+ >
+ <ShareIcon className='size-4 hover:bg-transparent' ref={iconRef} />
+ Share Post
+ </Button>
+ );
+}
+
+export function PostComments({
+ slug,
+ className,
+}: { slug: string; className?: string }) {
+ return (
+ <Comments
+ page={slug}
+ className={cn('w-full', className)}
+ auth={{
+ type: 'api',
+ signIn: () => {
+ redirect('/login');
+ },
+ }}
+ />
+ );
+}
diff --git a/src/app/(home)/posts/[slug]/page.tsx b/src/app/(home)/posts/[slug]/page.tsx
new file mode 100644
index 0000000..15a6bfd
--- /dev/null
+++ b/src/app/(home)/posts/[slug]/page.tsx
@@ -0,0 +1,145 @@
+import { PostComments, Share } from '@/app/(home)/posts/[slug]/page.client';
+import { PostJsonLd } from '@/components/json-ld';
+import { Section } from '@/components/section';
+import { TagCard } from '@/components/tags/tag-card';
+import { createMetadata } from '@/lib/metadata';
+import { metadataImage } from '@/lib/metadata-image';
+import { type Page as MDXPage, getPost, getPosts } from '@/lib/source';
+import { cn } from '@/lib/utils';
+import { File, Files, Folder } from 'fumadocs-ui/components/files';
+import { InlineTOC } from 'fumadocs-ui/components/inline-toc';
+import { Tab, Tabs } from 'fumadocs-ui/components/tabs';
+import defaultMdxComponents from 'fumadocs-ui/mdx';
+import type { Metadata } from 'next';
+import { notFound } from 'next/navigation';
+import Balancer from 'react-wrap-balancer';
+import { description as homeDescription } from 'src/app/layout.config';
+
+function Header(props: { page: MDXPage; tags?: string[] }) {
+ const { page, tags } = props;
+
+ return (
+ <Section className='p-4 lg:p-6'>
+ <div
+ className={cn(
+ 'flex flex-col items-start justify-center gap-4 py-8 md:gap-6',
+ 'sm:items-center sm:rounded-lg sm:border sm:bg-muted/70 sm:px-8 sm:py-20 sm:shadow-xs sm:dark:bg-muted',
+ )}
+ >
+ <div className='flex flex-col gap-2 sm:text-center md:gap-4'>
+ <h1 className='max-w-4xl font-bold text-3xl leading-tight tracking-tight sm:text-4xl sm:leading-tight md:text-5xl md:leading-tight'>
+ <Balancer>{page.data.title}</Balancer>
+ </h1>
+ <p className='mx-auto max-w-4xl'>
+ <Balancer>{page.data.description}</Balancer>
+ </p>
+ </div>
+ <div className='flex flex-wrap gap-2'>
+ {tags?.map((tag) => (
+ <TagCard name={tag} key={tag} className=' border border-border ' />
+ ))}
+ </div>
+ </div>
+ </Section>
+ );
+}
+
+export default async function Page(props: {
+ params: Promise<{ slug: string }>;
+}) {
+ const params = await props.params;
+ const page = getPost([params.slug]);
+
+ if (!page) notFound();
+ const { body: Mdx, toc, tags, lastModified } = page.data;
+
+ const lastUpdate = lastModified ? new Date(lastModified) : undefined;
+
+ return (
+ <>
+ <Header page={page} tags={tags} />
+
+ <Section className='h-full' sectionClassName='flex flex-1'>
+ <article className='flex min-h-full flex-col lg:flex-row'>
+ <div className='flex flex-1 flex-col gap-4'>
+ <InlineTOC
+ items={toc}
+ className='rounded-none border-0 border-border/70 border-b border-dashed dark:border-border'
+ />
+ <div className='prose min-w-0 flex-1 px-4'>
+ <Mdx
+ components={{
+ ...defaultMdxComponents,
+ File,
+ Files,
+ Folder,
+ Tabs,
+ Tab,
+ }}
+ />
+ </div>
+ <PostComments
+ slug={params.slug}
+ className='[&_form>div]:!rounded-none rounded-none border-0 border-border/70 border-t border-dashed dark:border-border'
+ />
+ </div>
+ <div className='flex flex-col gap-4 p-4 text-sm lg:sticky lg:top-[4rem] lg:h-[calc(100vh-4rem)] lg:w-[250px] lg:self-start lg:overflow-y-auto lg:border-border/70 lg:border-l lg:border-dashed lg:dark:border-border'>
+ <div>
+ <p className='mb-1 text-fd-muted-foreground'>Written by</p>
+ <p className='font-medium'>{page.data.author}</p>
+ </div>
+ <div>
+ <p className='mb-1 text-fd-muted-foreground text-sm'>
+ Created At
+ </p>
+ <p className='font-medium'>
+ {new Date(page.data.date ?? page.file.name).toDateString()}
+ </p>
+ </div>
+ {lastUpdate && (
+ <div>
+ <p className='mb-1 text-fd-muted-foreground text-sm'>
+ Updated At
+ </p>
+ <p className='font-medium'>{lastUpdate.toDateString()}</p>
+ </div>
+ )}
+ <Share url={page.url} />
+ </div>
+ </article>
+ </Section>
+ <PostJsonLd page={page} />
+ </>
+ );
+}
+
+export async function generateMetadata(props: {
+ params: Promise<{ slug: string }>;
+}): Promise<Metadata> {
+ const params = await props.params;
+ const page = getPost([params.slug]);
+
+ if (!page) notFound();
+
+ const title = page.data.title;
+ const description = page.data.description ?? homeDescription;
+
+ return createMetadata(
+ metadataImage.withImage(page.slugs, {
+ title,
+ description,
+ openGraph: {
+ url: `/posts/${page.slugs.join('/')}`,
+ },
+ alternates: {
+ canonical: page.url,
+ },
+ }),
+ );
+}
+
+export function generateStaticParams(): { slug: string | undefined }[] {
+ return getPosts().map((page) => ({
+ slug: page.slugs[0],
+ }));
+}
diff --git a/src/app/(home)/posts/page.tsx b/src/app/(home)/posts/page.tsx
new file mode 100644
index 0000000..fd0f912
--- /dev/null
+++ b/src/app/(home)/posts/page.tsx
@@ -0,0 +1,133 @@
+import { postsPerPage } from '@/app/layout.config';
+import { NumberedPagination } from '@/components/numbered-pagination';
+import { PostCard } from '@/components/posts/post-card';
+import { Section } from '@/components/section';
+import { createMetadata } from '@/lib/metadata';
+import { getSortedByDatePosts } from '@/lib/source';
+import type { Metadata, ResolvingMetadata } from 'next';
+import { notFound, redirect } from 'next/navigation';
+
+export const dynamicParams = false;
+
+const totalPosts = getSortedByDatePosts().length;
+const pageCount = Math.ceil(totalPosts / postsPerPage);
+
+const CurrentPostsCount = ({
+ startIndex,
+ endIndex,
+}: {
+ startIndex: number;
+ endIndex: number;
+}) => {
+ const start = startIndex + 1;
+ const end = endIndex < totalPosts ? endIndex : totalPosts;
+ if (start === end) return <span>({start})</span>;
+ return (
+ <span>
+ ({start}-{end})
+ </span>
+ );
+};
+
+const Pagination = ({ pageIndex }: { pageIndex: number }) => {
+ const handlePageChange = async (page: number) => {
+ 'use server';
+ redirect(`/posts?page=${page}`);
+ };
+
+ return (
+ <Section className='bg-dashed'>
+ <NumberedPagination
+ currentPage={pageIndex + 1}
+ totalPages={pageCount}
+ paginationItemsToDisplay={5}
+ onPageChange={handlePageChange}
+ />
+ </Section>
+ );
+};
+
+export default async function Page(props: {
+ searchParams: Promise<{ [key: string]: string | string[] | undefined }>;
+}) {
+ const searchParams = await props.searchParams;
+ const pageIndex = searchParams.page
+ ? Number.parseInt(searchParams.page[0] ?? '', 10) - 1
+ : 0;
+ if (pageIndex < 0 || pageIndex >= pageCount) notFound();
+
+ const startIndex = pageIndex * postsPerPage;
+ const endIndex = startIndex + postsPerPage;
+ const posts = getSortedByDatePosts().slice(startIndex, endIndex);
+
+ return (
+ <>
+ <Section className='p-4 lg:p-6'>
+ <h1 className='font-bold text-3xl leading-tight tracking-tighter md:text-4xl'>
+ All {totalPosts} Posts{' '}
+ <CurrentPostsCount startIndex={startIndex} endIndex={endIndex} />
+ </h1>
+ </Section>
+ <Section className='h-full' sectionClassName='flex flex-1'>
+ <div className='grid divide-y divide-dashed divide-border/70 text-left dark:divide-border'>
+ {posts.map((post) => {
+ const date = new Date(post.data.date).toDateString();
+ return (
+ <PostCard
+ title={post.data.title}
+ description={post.data.description ?? ''}
+ image={post.data.image}
+ url={post.url}
+ date={date}
+ key={post.url}
+ author={post.data.author}
+ tags={post.data.tags}
+ />
+ );
+ })}
+ </div>
+ </Section>
+ {pageCount > 1 && <Pagination pageIndex={pageIndex} />}
+ </>
+ );
+}
+
+export const generateStaticParams = () => {
+ const slugs = Array.from({ length: pageCount }, (_, index) => ({
+ slug: [(index + 1).toString()],
+ }));
+
+ return [{ slug: [] }, ...slugs];
+};
+
+type Props = {
+ params: Promise<{ slug: string[] }>;
+ searchParams: Promise<{ [key: string]: string | string[] | undefined }>;
+};
+
+export async function generateMetadata(
+ props: Props,
+ parent: ResolvingMetadata,
+): Promise<Metadata> {
+ const params = await props.params;
+ const searchParams = await props.searchParams;
+
+ const pageIndex = searchParams.page
+ ? Number.parseInt(searchParams.page as string, 10)
+ : 1;
+
+ const isFirstPage = pageIndex === 1 || !searchParams.page;
+ const pageTitle = isFirstPage ? 'Posts' : `Posts - Page ${pageIndex}`;
+ const canonicalUrl = isFirstPage ? '/posts' : `/posts?page=${pageIndex}`;
+
+ return createMetadata({
+ title: pageTitle,
+ description: `Posts${!isFirstPage ? ` - Page ${pageIndex}` : ''}`,
+ openGraph: {
+ url: canonicalUrl,
+ },
+ alternates: {
+ canonical: canonicalUrl,
+ },
+ });
+}
diff --git a/src/app/(home)/tags/[...slug]/page.tsx b/src/app/(home)/tags/[...slug]/page.tsx
new file mode 100644
index 0000000..9479705
--- /dev/null
+++ b/src/app/(home)/tags/[...slug]/page.tsx
@@ -0,0 +1,180 @@
+import { postsPerPage } from '@/app/layout.config';
+import { Icons } from '@/components/icons/icons';
+import { TagJsonLd } from '@/components/json-ld';
+import { NumberedPagination } from '@/components/numbered-pagination';
+import { PostCard } from '@/components/posts/post-card';
+import { Section } from '@/components/section';
+import { createMetadata } from '@/lib/metadata';
+import { getPostsByTag, getTags } from '@/lib/source';
+import type { Metadata, ResolvingMetadata } from 'next';
+import { notFound, redirect } from 'next/navigation';
+
+export const dynamicParams = false;
+
+const totalPosts = (title: string) => getPostsByTag(title).length;
+const pageCount = (title: string) =>
+ Math.ceil(totalPosts(title) / postsPerPage);
+
+const CurrentPostsCount = ({
+ startIndex,
+ endIndex,
+ tag,
+}: {
+ startIndex: number;
+ endIndex: number;
+ tag: string;
+}) => {
+ const total = totalPosts(tag);
+ const start = startIndex + 1;
+ const end = endIndex < total ? endIndex : total;
+ if (start === end) return <span>({start})</span>;
+ return (
+ <span>
+ ({start}-{end})
+ </span>
+ );
+};
+
+const Header = ({
+ tag,
+ startIndex,
+ endIndex,
+}: {
+ tag: string;
+ startIndex: number;
+ endIndex: number;
+}) => (
+ <Section className='p-4 lg:p-6'>
+ <div className='flex items-center gap-2'>
+ <Icons.tag
+ size={20}
+ className='text-muted-foreground transition-transform hover:rotate-12 hover:scale-125'
+ />
+ <h1 className='font-bold text-3xl leading-tight tracking-tighter md:text-4xl'>
+ {tag} <span className='text-muted-foreground'>Posts</span>{' '}
+ <CurrentPostsCount
+ startIndex={startIndex}
+ endIndex={endIndex}
+ tag={tag}
+ />
+ </h1>
+ </div>
+ </Section>
+);
+
+const Pagination = ({ pageIndex, tag }: { pageIndex: number; tag: string }) => {
+ const handlePageChange = async (page: number) => {
+ 'use server';
+ redirect(`/tags/${tag}?page=${page}`);
+ };
+
+ return (
+ <Section className='bg-dashed'>
+ <NumberedPagination
+ currentPage={pageIndex + 1}
+ totalPages={pageCount(tag)}
+ paginationItemsToDisplay={5}
+ onPageChange={handlePageChange}
+ />
+ </Section>
+ );
+};
+
+export default async function Page(props: {
+ params: Promise<{ slug: string[] }>;
+ searchParams: Promise<{ [key: string]: string | string[] | undefined }>;
+}) {
+ const params = await props.params;
+ const searchParams = await props.searchParams;
+
+ const tag = params.slug[0];
+ if (!tag) return notFound();
+
+ const pageIndex = searchParams.page
+ ? Number.parseInt(searchParams.page[0] ?? '', 10) - 1
+ : 0;
+
+ if (pageIndex < 0 || pageIndex >= pageCount(tag)) notFound();
+
+ const startIndex = pageIndex * postsPerPage;
+ const endIndex = startIndex + postsPerPage;
+ const posts = getPostsByTag(tag).slice(startIndex, endIndex);
+
+ return (
+ <>
+ <Header tag={tag} startIndex={startIndex} endIndex={endIndex} />
+ <Section className='h-full' sectionClassName='flex flex-1'>
+ <div className='grid divide-y divide-dashed divide-border/70 text-left dark:divide-border'>
+ {posts.map((post) => {
+ const date = new Date(post.data.date).toDateString();
+ return (
+ <PostCard
+ title={post.data.title}
+ description={post.data.description ?? ''}
+ image={post.data.image}
+ url={post.url}
+ date={date}
+ key={post.url}
+ author={post.data.author}
+ tags={post.data.tags}
+ />
+ );
+ })}
+ </div>
+ </Section>
+ {pageCount(tag) > 1 && <Pagination pageIndex={pageIndex} tag={tag} />}
+ <TagJsonLd tag={tag} />
+ </>
+ );
+}
+
+export const generateStaticParams = () => {
+ const tags = getTags();
+ return [
+ ...tags.map((tag) => ({ slug: [tag] })),
+ ...tags.flatMap((tag) =>
+ Array.from({ length: pageCount(tag) }, (_, index) => ({
+ slug: [tag, (index + 1).toString()],
+ })),
+ ),
+ ];
+};
+
+type Props = {
+ params: Promise<{ slug: string[] }>;
+ searchParams: Promise<{ [key: string]: string | string[] | undefined }>;
+};
+
+export async function generateMetadata(
+ props: Props,
+ parent: ResolvingMetadata,
+): Promise<Metadata> {
+ const params = await props.params;
+ const searchParams = await props.searchParams;
+
+ const tag = params.slug[0];
+ const pageIndex = searchParams.page
+ ? Number.parseInt(searchParams.page.toString(), 10)
+ : 1;
+
+ const isFirstPage = pageIndex === 1 || !searchParams.page;
+ const pageTitle = isFirstPage
+ ? `${tag} Posts`
+ : `${tag} Posts - Page ${pageIndex}`;
+ const canonicalUrl = isFirstPage
+ ? `/tags/${tag}`
+ : `/tags/${tag}?page=${pageIndex}`;
+
+ return createMetadata({
+ title: pageTitle,
+ description: `Posts tagged with ${tag}${
+ !isFirstPage ? ` - Page ${pageIndex}` : ''
+ }`,
+ openGraph: {
+ url: canonicalUrl,
+ },
+ alternates: {
+ canonical: canonicalUrl,
+ },
+ });
+}
diff --git a/src/app/(home)/tags/page.tsx b/src/app/(home)/tags/page.tsx
new file mode 100644
index 0000000..54fb423
--- /dev/null
+++ b/src/app/(home)/tags/page.tsx
@@ -0,0 +1,57 @@
+import { title as homeTitle } from '@/app/layout.config';
+import { Section } from '@/components/section';
+import { TagCard } from '@/components/tags/tag-card';
+import { createMetadata } from '@/lib/metadata';
+import { getTags } from '@/lib/source';
+import { cn } from '@/lib/utils';
+import type { Metadata } from 'next';
+
+export default function Page() {
+ const tags = getTags();
+
+ return (
+ <>
+ <Section className='p-4 lg:p-6'>
+ <h1 className='font-bold text-3xl leading-tight tracking-tighter md:text-4xl'>
+ Tags
+ </h1>
+ </Section>
+ <Section className='h-full' sectionClassName='flex flex-1'>
+ <div className='grid grid-cols-1 divide-y divide-dashed divide-border/70 sm:grid-cols-2 lg:grid-cols-4 dark:divide-border'>
+ {tags.map((tag, index) => (
+ <TagCard
+ key={tag}
+ displayCount={true}
+ name={tag}
+ className={cn(
+ 'items-center justify-start gap-2 rounded-none border-r-0 bg-card/50 p-6 last:border-border/70 last:border-b last:border-dashed hover:bg-card/80 last:dark:border-border',
+ tags.at(index - 1) && 'border-l',
+ )}
+ />
+ ))}
+ {tags.length % 2 === 1 && (
+ <div className='size-full border-border/70 border-dashed bg-dashed sm:border-b sm:border-l dark:border-border' />
+ )}
+ </div>
+ </Section>
+ </>
+ );
+}
+
+export async function generateMetadata(props: {
+ params: Promise<{ slug?: string[] }>;
+}): Promise<Metadata> {
+ const params = await props.params;
+ const description = `Explore all the tags on ${homeTitle}.`;
+
+ return createMetadata({
+ title: 'Tags',
+ description,
+ openGraph: {
+ url: '/tags',
+ },
+ alternates: {
+ canonical: '/tags',
+ },
+ });
+}
diff --git a/src/app/api/auth/[...all]/route.ts b/src/app/api/auth/[...all]/route.ts
new file mode 100644
index 0000000..677b24c
--- /dev/null
+++ b/src/app/api/auth/[...all]/route.ts
@@ -0,0 +1,4 @@
+import { auth } from '@/server/auth';
+import { toNextJsHandler } from 'better-auth/next-js';
+
+export const { POST, GET } = toNextJsHandler(auth);
diff --git a/src/app/api/comments/[...comment]/route.ts b/src/app/api/comments/[...comment]/route.ts
new file mode 100644
index 0000000..1da87db
--- /dev/null
+++ b/src/app/api/comments/[...comment]/route.ts
@@ -0,0 +1,9 @@
+import { auth, storage } from '@/server/comments/config';
+import { NextComment } from '@fuma-comment/server/next';
+
+export const { GET, DELETE, PATCH, POST } = NextComment({
+ // role: 'database', todo use role in auth
+ mention: { enabled: true },
+ auth: auth,
+ storage: storage,
+});
diff --git a/src/app/api/search/route.ts b/src/app/api/search/route.ts
new file mode 100644
index 0000000..3c99f5c
--- /dev/null
+++ b/src/app/api/search/route.ts
@@ -0,0 +1,11 @@
+import { getPosts } from '@/lib/source';
+import { createSearchAPI } from 'fumadocs-core/search/server';
+
+export const { GET } = createSearchAPI('advanced', {
+ indexes: getPosts().map((page) => ({
+ title: page.data.title,
+ structuredData: page.data.structuredData,
+ id: page.url,
+ url: page.url,
+ })),
+});
diff --git a/src/app/banner.png/fonts/geist-regular-otf.json b/src/app/banner.png/fonts/geist-regular-otf.json
new file mode 100644
index 0000000..f220c87
--- /dev/null
+++ b/src/app/banner.png/fonts/geist-regular-otf.json
@@ -0,0 +1,3 @@
+{
+ "base64Font": "T1RUTwAMAIAAAwBAQ0ZGIN9uOmAAABXMAACeZkdERUZBTj+sAAC0NAAAAT5HUE9Ttn3F0QAAtXQAABvSR1NVQpIcrgQAANFIAAASlE9TLzJPyiLTAAAL3AAAAGBjbWFwrm6KhgAADtQAAAbWaGVhZCrsuiMAAADUAAAANmhoZWEM9AjIAAALuAAAACRobXR487+RWAAAAQwAAAqqbWF4cAKrUAAAAADMAAAABm5hbWU8hhcjAAAMPAAAApdwb3N0/58AMgAAFawAAAAgAABQAAKrAAAAAQAAAAEAg2zs2StfDzz1AAMD6AAAAADhcDrwAAAAAOFwOvD/0/8kCSIDuAAAAAcAAgAAAAAAAAGuAFAA+gAAAqAAFQKgABUCoAAVAqAAFQKgABUCoAAVAqAAFQKgABUCwwAVAqAAFQKgABUD0QAVAqkAXAK+ADECvgAxAr4AMQK+ADECvgAxAr4AMQK/AFwDFwAxAr8AXAMXADECXABcAlwAXAJcAFwCXABcAlwAXAJcAFwCXABcAlwAXAJcAFwCXABcAtIAMQJZADICWQAyAk8AXALFADECxQAxAsUAMQLFADECxQAxAsUAMQLFADEC8wAxAsAAXANkAFwCwABcARAAXAMSAFwBEABcARD//QEQABABEABbARAADgEQAAgBEAAwARD/4AJWAEMCVgBDAlYAQwKNAFwCjQBcAo0AXAJFAFwCRQBcAh4AXAJFAFwCaAAWA24AXALjAFwC4wBcAuMAXALjAFwC4wBcAuMAXALsADEC7AAxAuwAMQLsADEC7AAxAuwAMQLsADEC8QAxAuwAMQQ+ADECiwBcAm0AXALmADECoQBcAqEAXAKhAFwCoQBcAokAOwKJADsAvAAxAokAOwKJADsCiQA7AokAOwK2AFwCQgAZAkIAGQJCABkCQgAZAkIAGQKyAE0CsgBNArIATQKyAE0CsgBNArIATQKyAE0CsgBNArIATQKyAE0CsgBNAp4AFQOQABUDkAAVA5AAFQOQABUDkAAVAnUAGwJ3ABUCdwAVAncAFQJ3ABUCdwAVAncAFQIfABsCHwAbAh8AGwIfABsCRQBcAuMAXAKnAFwCpwBcAqcAXAKnAFwBtgAxAbYAMQG2ADEBtgAxAbYAMQG2ADEBtgAxAbYAMQG2ADECvgAxAr4AMQK+ADECvgAxAr4AMQK+ADECoAAVAr4AMQJcAFwCXABcAsUAMQEQAAEBEABTAuwAMQKyAE0DkAAVAncAFQIfABsBtgAxAbYAMQK+ADEEVgAVBGgATQJAAC8CQAAvAkAALwJAAC8CQAAvAkAALwJAAC8CQAAvAkAALwJAAC8CQAAvA6QALwJXAFACKQAvAikALwIpAC8CKQAvAikALwIpAC8CVwAvAlMALwL4AC8CjAAvAjgALwI4AC8COAAvAjgALwI4AC8COAAvAjgALwI4AC8COAAvAjgALwI4AC8CWQAyAlkAMgGPADwCVgAvAlYALwJWAC8CVgAvAlYALwJWAC8CVgAvAnoALwJGAFACPAAZAkb/8AD2AE4A9gBQAPYAUAD2//AA9gADAPYATgD2AAEB8QBOAPb/+wD2ACIA9v/TAQX/+wEF//sBBf/7AQX/+wJPAFACT//tAk8AUAEcAFABHABQAZoAUAEcAEYBegBQA24AUAJGAFACRgBQAkYAUAJGAFACRgBQAkYAUAJEAC8CRAAvAkQALwJEAC8CRAAvAkQALwJEAC8CNgAMAkQALwPEAC8CVwBQAlcAUAJXAC8BfwBQAX8AUAF/ADcBfwAbAhMALwITAC8AvAAxAhMALwITAC8CEwAvAhMALwJPAFABjQA3AY0ANwHGADcBjQA3AY0ANwJAAFACQABQAkAAUAJAAFACQABQAkAAUAJAAFACQABQAkAAUAJAAFACQABQAhoAFgM0ABYDNAAWAzQAFgM0ABYDNAAWAksALwIaABYCGgAWAhoAFgIaABYCGgAWAhoAFgImADkCJgA5AiYAOQImADkBHABGAkYAUAIyACoCMgAqAjIAKgIyACoCMgAqAjIAKgIyACoCMgAqAjIAKgIyACoCMgAqAlcALwJXAC8CVwAvAlcALwJXAC8CVwAvAlcALwJXAC8CVwAvAlcALwJXAC8BDgBcAQ4AXAGeAFABDgAnAXoAUAJAAC8CKQAvAjgALwI4AC8CVgAvAPYARgD2//QA9gBGAfEARgD2ACIBBf/7AkQALwJAAFADNAAWAhoAFgImADkCMgAqAlcALwKwADwCvQA3AoUAPAKXADwCQAAvAkQALwKgABUC5AAxAj0AFQKUADcCZQAyAqAANgGBACgCawA8AmUAMgJ8ADICcgA8AnAAPAJJACgCXAAoAnAAPANAAC8DQAAvA0AALwNAAC8DQAAvA0AALwNAAC8DQAAvA0AALwNAAC8DQAAvA0AALwNAAC8DQAAvA0AALwNAAC8DQAAvA0AALwNAAC8DQAAvAqAANgGzABkCWAAUAlgAfgJYADsCWAAqAlgAMAJYADkCWAA4AlgAOwJYABoCWAA4AlgADQPQADEDwgAxA7oAMQO9ADEDzQAxA7cAMQPAADED0AAxA8sAMQSwAKYCWACVAlgAsgJYAKACWACgAlgAhAJYAKUCWAClAlgApgJYAJ8CWACoAlgAlQJYALICWACgAlgAoAJYAIQCWAClAlgApQJYAKYCWACfAlgAqAD6AAABYgAvCWAAPgcIAD4EsAA+AMsALwDLAC8BJQBcASUAXAI9AC8A2QA2ANkANgI3AC8CNwAvAMsALwEpAC8BtAAvAXgALwHe//YB4wAoAd4AMgKCACgBtAAvA44ALwHeADIAywAvAMsALwEUADYB3v/2AwIALwDLAC8CNwAvAWQALwC4AC8AywAvAeMAKADSAC8BLABcAS0AXAJFAC8A0gAvANIALwI3AC8CNwAvANIALwI0AC8A0gAvARQALwDSAC8CNwAvANMALwGqAC8BsAAvAlYALwOSAC8CNAAvA1sALwLQAC8BOQAvATkALwGoAC8BqAAvAVEALwFRAC8BZwAvAWcALwFxAC8BcQAvAagALwGoAC8BjQAvAY0ALwIOAC8CDgAvAY8ALwGPAC8BjQAvAY0ALwFnAC8BZwAvAVEALwFRAC8BOQAvATkALwDPADEBdgAxAXYAMQF2ADEAzwAxAM8AMQIaAC8CGgAvAVAALwFQAC8BaAAxALwAMQIDADwCgQBcBLAAPgcIAD4JYAA+BwcAPgNAAC8DQAAvA5IAMQJuACgCUQAjAi4AOwNEADECWgAxAloAMQN6AFwBjAAvAPwALwF3AC8BCABcAQgAXAI7AFwCOwBcBEQAXAJYAE8DWQAxAlgANAIpAC8CSwAxAokAOwLgADsCogA7AtEALgKoAFwDBwBcAmgAOwJ3ABUCOgAvAjoALwHnAC8COgAvApQAXAI6AC8CKQAxAiUALwI6AC8COgAvAjoALwIaAC8CGgAvAeUALwGSAC8DSQAvAXsAAAKMABUCaAAZAhIAGwJjABYCVQAvAlIAWgMCAC8ESAAvAtAAMQJ2ADEDKAAxAnYAMQLQADECdgAxAygAMQJ2ADEEFgAx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Ai4CLwHIAjACJwGcAZ0BoAJdAlcCWQJbAl8CYAJeAlgCWgJcAlECPwJHAkYCMwIxAnoCfgJ7An8CfAKAAn0CgQJ5AncCeAG6AcoB+QH6AgECAgH/AgACBQIGAfsB/AIDAgQCBwIIAGEBDwHUAdkB1QHWAc4B2gILAgwBzwHTAfIB1wHcAdIB2wHYAdACCQHRAgoAAAADAAAAAAAA/5wAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAQAEAgABAQEOR2Vpc3QtUmVndWxhcgABAQEp+BEA+eMB+eQC+BgE+xEMA177cBwJIvpMBRwrGg8cLhIRqR0AAI1CEgHKAgABAAcADgAVABwAIgAoADMAPQBDAEkATwBZAGAAZwBuAHUAfACDAIkAjwCaAKEAqwCyALkAvQDIAMoA1ADbAOIA6ADzAP4BBQEMARIBGAEfASUBKwEyATUBQgFJAU8BVQFcAWIBaQFxAXwBgwGKAY4BlAGbAaIBqAG1AbwBwwHIAc4B1AHfAegB7gH5Af8CBgIMAhYCJQI0AjoCRQJQAlwCYgJtAn0CiwKaAqUCsQK9AsgCzgLZAukC9QMEAxADHgMtAzsDSgNZA2cDdgOEA5IDoAOuA70D0APkA/gEAAQIBA4EFQQcBCMEKQQvBDoERARKBFAEVgRgBGcEbgR1BHwEgwSKBJAElgShBKgEsgS5BMAExATPBNgE2gThBOgE7gT1BQAFCwUSBRkFHwUlBSwFMgU4BT8FQgVPBVYFXAViBWkFbwV2BX4FiQWQBZQFmgWhBagFrgW7BcIFyQXOBdQF2gXlBe4F9AX/BgUGDAYSBhwGKwY6BkAGSwZWBmIGcgaABosGlwajBq0GuAa+BskG1AbgBvAG/gcJBxUHIQcrBzYHPAdHB1IHXgdpB3cHhgeUB6MHsge4B8YH1AfbB+cH7Qf7CAkIFwglCDQIRwhaCGIIaghxCHgIfgiFCIsIjQiUCJsIogipCLAItwi+CMUIzAjTCNoI4QjoCO8I9gj9CQQJCwkSCRkJIAkpCTEJOAk+CUQJTAlTCVoJYAloCXAJdwl+CYUJjAmTCZoJoQmoCa8Jtgm9CcQJywnSCdkJ4AnnCe4J9Qn8CgMKCgoRChgKHwomCkcKYQp0CnsKggqJCpAKlwqeCqUKrAqzCroKwQrICs8K1grdCuQK7wr5CwcLFAsfCy4LOwtMC18LZgtyC34LiguWC6ILqQuwC7cLvgvFC8wL0wvaC+EL6AvvC/YL/QwEDAsMEgwZDCAMJwwuDDUMPAxDDEoMWgxxDI8MpwyuDLcMvgzEDMoM0QzYDN8M5gzqDPEM+Az/DQYNDg0aDSMNLg02DT4NRQ1MDVUNXA1nDW4NdQ18DYYNjQ2WDZ0Npg2tDbYNvw3GDc0N1A3bDeIN6Q3wDfcN/g4MDhMOHw4rDjoORg5UDmAObg56DogOlg6dDqMOqg6xDrgOvw7GDs0O1A7bDuIO6Q7wDvcPAA8JDxAPGw8iDykPMA83D0APRw9OD1UPXA9jD2oPeQ+FD5EPng+sD7MPug/BD8sP1w/pD/oQB0FicmV2ZXVuaTAxQ0RBbWFjcm9uQW9nb25la0NhY3V0ZUNjYXJvbkNjaXJjdW1mbGV4Q2RvdGFjY2VudERjYXJvbkRjcm9hdEVjYXJvbkVkb3RhY2NlbnRFbWFjcm9uRW9nb25la3VuaTFFQkN1bmkwMThGdW5pMDFCN3VuaTAxRUVHYnJldmVHY2Fyb25HY2lyY3VtZmxleHVuaTAxMjJHZG90YWNjZW50dW5pMUUyMHVuaTAxRTRIYmFySGNpcmN1bWZsZXhJSklkb3RhY2NlbnRJbWFjcm9uSW9nb25la0l0aWxkZXVuaTAwNEEwMzAxSmNpcmN1bWZsZXh1bmkwMUU4dW5pMDEzNkxhY3V0ZUxjYXJvbnVuaTAxM0JOYWN1dGVOY2Fyb251bmkwMTQ1RW5nT2h1bmdhcnVtbGF1dE9tYWNyb25SYWN1dGVSY2Fyb251bmkwMTU2U2FjdXRldW5pQTc4QlNjZWRpbGxhU2NpcmN1bWZsZXh1bmkwMjE4dW5pMUU5RVRiYXJUY2Fyb251bmkwMTYydW5pMDIxQVVicmV2ZVVodW5nYXJ1bWxhdXRVbWFjcm9uVW9nb25la1VyaW5nVXRpbGRlV2FjdXRlV2NpcmN1bWZsZXhXZGllcmVzaXNXZ3JhdmVZY2lyY3VtZmxleFlncmF2ZXVuaTFFRjhaYWN1dGVaZG90YWNjZW50dW5pMDEzQi5sb2NsTUFIdW5pMDE0NS5sb2NsTUFIUi5zczA0UmFjdXRlLnNzMDRSY2Fyb24uc3MwNHVuaTAxNTYuc3MwNEkuc3MwNUlhY3V0ZS5zczA1SWNpcmN1bWZsZXguc3MwNUlkaWVyZXNpcy5zczA1SWRvdGFjY2VudC5zczA1SWdyYXZlLnNzMDVJbWFjcm9uLnNzMDVJb2dvbmVrLnNzMDVJdGlsZGUuc3MwNUcuc3MwNkdicmV2ZS5zczA2R2NpcmN1bWZsZXguc3MwNnVuaTAxMjIuc3MwNkdkb3RhY2NlbnQuc3MwNnVuaTFFMjAuc3MwNkFkaWVyZXNpcy5zczA4Q2RvdGFjY2VudC5zczA4RWRpZXJlc2lzLnNzMDhFZG90YWNjZW50LnNzMDhHZG90YWNjZW50LnNzMDhJZGllcmVzaXMuc3MwOElkb3RhY2NlbnQuc3MwOE9kaWVyZXNpcy5zczA4VWRpZXJlc2lzLnNzMDhXZGllcmVzaXMuc3MwOFlkaWVyZXNpcy5zczA4WmRvdGFjY2VudC5zczA4SWRpZXJlc2lzLnNzMDUuc3MwOElkb3RhY2NlbnQuc3MwNS5zczA4R2RvdGFjY2VudC5zczA2LnNzMDhBX0kuZGxpZ1VfSS5kbGlnYWJyZXZldW5pMDFDRWFtYWNyb25hb2dvbmVrY2FjdXRlY2Nhcm9uY2NpcmN1bWZsZXhjZG90YWNjZW50ZGNhcm9uZGNyb2F0ZWNhcm9uZWRvdGFjY2VudGVtYWNyb25lb2dvbmVrdW5pMUVCRHVuaTAyNTl1bmkwMjkydW5pMDFFRmdicmV2ZWdjYXJvbmdjaXJjdW1mbGV4dW5pMDEyM2dkb3RhY2NlbnR1bmkxRTIxdW5pMDFFNWhiYXJoY2lyY3VtZmxleGkubG9jbFRSS2lqaW1hY3JvbmlvZ29uZWtpdGlsZGV1bmkwMjM3dW5pMDA2QTAzMDFqY2lyY3VtZmxleHVuaTAxRTl1bmkwMTM3bGFjdXRlbGNhcm9udW5pMDEzQ25hY3V0ZW5jYXJvbnVuaTAxNDZlbmdvaHVuZ2FydW1sYXV0b21hY3JvbnJhY3V0ZXJjYXJvbnVuaTAxNTdzYWN1dGV1bmlBNzhDc2NlZGlsbGFzY2lyY3VtZmxleHVuaTAyMTl0YmFydGNhcm9udW5pMDE2M3VuaTAyMUJ1YnJldmV1aHVuZ2FydW1sYXV0dW1hY3JvbnVvZ29uZWt1cmluZ3V0aWxkZXdhY3V0ZXdjaXJjdW1mbGV4d2RpZXJlc2lzd2dyYXZleWNpcmN1bWZsZXh5Z3JhdmV1bmkxRUY5emFjdXRlemRvdGFjY2VudHVuaTAxM0MubG9jbE1BSHVuaTAxNDYubG9jbE1BSGEuc3MwMWFhY3V0ZS5zczAxYWJyZXZlLnNzMDF1bmkwMUNFLnNzMDFhY2lyY3VtZmxleC5zczAxYWRpZXJlc2lzLnNzMDFhZ3JhdmUuc3MwMWFtYWNyb24uc3MwMWFvZ29uZWsuc3MwMWFyaW5nLnNzMDFhdGlsZGUuc3MwMWEuc3MwMmFhY3V0ZS5zczAyYWJyZXZlLnNzMDJ1bmkwMUNFLnNzMDJhY2lyY3VtZmxleC5zczAyYWRpZXJlc2lzLnNzMDJhZ3JhdmUuc3MwMmFtYWNyb24uc3MwMmFvZ29uZWsuc3MwMmFyaW5nLnNzMDJhdGlsZGUuc3MwMmwuc3MwM2xhY3V0ZS5zczAzbGNhcm9uLnNzMDN1bmkwMTNDLnNzMDNsc2xhc2guc3MwM2FkaWVyZXNpcy5zczA4Y2RvdGFjY2VudC5zczA4ZWRpZXJlc2lzLnNzMDhlZG90YWNjZW50LnNzMDhnZG90YWNjZW50LnNzMDhpLnNzMDhpZGllcmVzaXMuc3MwOGkubG9jbFRSSy5zczA4aWouc3MwOGlvZ29uZWsuc3MwOGouc3MwOG9kaWVyZXNpcy5zczA4dWRpZXJlc2lzLnNzMDh3ZGllcmVzaXMuc3MwOHlkaWVyZXNpcy5zczA4emRvdGFjY2VudC5zczA4YWRpZXJlc2lzLnNzMDEuc3MwOGFkaWVyZXNpcy5zczAyLnNzMDhmX2YubGlnYXRfdC5saWdhZmkubGlnYWZsLmxpZ2FMYW1iZGF1bmkwM0E5bGFtYmRhcGl1bmkyMTA3dW5pMjRGRnVuaTI3NzZ1bmkyNzc3dW5pMjc3OHVuaTI3Nzl1bmkyNzdBdW5pMjc3QnVuaTI3N0N1bmkyNzdEdW5pMjc3RXVuaTI0RUF1bmkyNDYwdW5pMjQ2MXVuaTI0NjJ1bmkyNDYzdW5pMjQ2NHVuaTI0NjV1bmkyNDY2dW5pMjQ2N3VuaTI0Njh6ZXJvLnNzMDlvbmUuc3MwOXplcm8udGZvbmUudGZ0d28udGZ0aHJlZS50ZmZvdXIudGZmaXZlLnRmc2l4LnRmc2V2ZW4udGZlaWdodC50Zm5pbmUudGZ1bmkyMTUzdW5pMjE1NHVuaTIxNTV1bmkyMDgwdW5pMjA4MXVuaTIwODJ1bmkyMDgzdW5pMjA4NHVuaTIwODV1bmkyMDg2dW5pMjA4N3VuaTIwODh1bmkyMDg5dW5pMjA3MHVuaTAwQjl1bmkwMEIydW5pMDBCM3VuaTIwNzR1bmkyMDc1dW5pMjA3NnVuaTIwNzd1bmkyMDc4dW5pMjA3OXVuaTAwQTB1bmkzMDAyaHlwaGVuX2h5cGhlbl9oeXBoZW5fZ3JlYXRlci5saWdhaHlwaGVuX2h5cGhlbl9ncmVhdGVyLmxpZ2FoeXBoZW5fZ3JlYXRlci5saWdhdW5pMzAwM3VuaUZGMDZ1bmlGRjBBdW5pRkYyMHVuaUZGM0N1bmlGRjFBdW5pRkYwQ3VuaUZGMDF1bmlGRjAzdW5pRkYwNXVuaUZGMEV1bmlGRjFGdW5pRkYwMnVuaUZGMDd1bmlGRjFCdW5pRkYwRnBlcmlvZC5zczA4Y29sb24uc3MwOHNlbWljb2xvbi5zczA4ZWxsaXBzaXMuc3MwOGV4Y2xhbS5zczA4ZXhjbGFtZG93bi5zczA4cXVlc3Rpb24uc3MwOHF1ZXN0aW9uZG93bi5zczA4cGVyaW9kY2VudGVyZWQuc3MwOHVuaUZGM0Z1bmlGRjFBLnNzMDh1bmlGRjAxLnNzMDh1bmlGRjBFLnNzMDh1bmlGRjFGLnNzMDh1bmlGRjFCLnNzMDh1bmkwMEFEdW5pMzAxQ3VuaUZGMER1bmkzMDA4dW5pMzAwOXVuaTMwMTB1bmkzMDExdW5pRkY1QnVuaUZGNUR1bmkzMDBDdW5pMzAwRHVuaTMwMEF1bmkzMDBCdW5pMzAxNHVuaTMwMTV1bmkzMDBFdW5pMzAwRnVuaTMwMTZ1bmkzMDE3dW5pRkYzQnVuaUZGM0R1bmlGRjA4dW5pRkYwOXVuaTBFM0ZsZXNzX2h5cGhlbi5saWdhbGVzc19oeXBoZW5faHlwaGVuLmxpZ2FsZXNzX2h5cGhlbl9oeXBoZW5faHlwaGVuLmxpZ2FsZXNzX2h5cGhlbl9ncmVhdGVyLmxpZ2F1bmkyNjM5c21pbGVmYWNldW5pMjExN21pbnV0ZXNlY29uZHVuaTIxMTZ1bmkyNDBDdW5pMjNDRXVuaTI0MEJFdXJvdW5pMjBCNHVuaTIwQkR1bmkyMEI5dW5pMjBBQW5vdGVxdWFsZ3JlYXRlcmVxdWFsbGVzc2VxdWFsYXBwcm94ZXF1YWxpbmZpbml0eWludGVncmFsdW5pMjIwNnByb2R1Y3RzdW1tYXRpb25yYWRpY2FscGFydGlhbGRpZmZ1bmkwMEI1YXJyb3d1cHVuaTIxOTdhcnJvd3JpZ2h0dW5pMjE5OGFycm93ZG93bnVuaTIxOTlhcnJvd2xlZnR1bmkyMTk2YXJyb3dib3RoYXJyb3d1cGRudW5pMjE5RHVuaTIxRTR1bmkyMUU1dW5pMjFBOXVuaTIxQUF1bmkyMUIwdW5pMjFCMXVuaTIxQjN1bmkyMUI0Y2FycmlhZ2VyZXR1cm51bmkyMUU3YXJyb3d1cC5zczA3dW5pMjE5Ny5zczA3YXJyb3dyaWdodC5zczA3dW5pMjE5OC5zczA3YXJyb3dkb3duLnNzMDd1bmkyMTk5LnNzMDdhcnJvd2xlZnQuc3MwN3VuaTIxOTYuc3MwN2Fycm93Ym90aC5zczA3YXJyb3d1cGRuLnNzMDd1bmkyNUNGY2lyY2xldW5pMjVDQ2xvemVuZ2V0cmlhZ3VwdW5pMjVCNnRyaWFnZG51bmkyNUMwdW5pMjVCM3VuaTI1Qjd1bmkyNUJEdW5pMjVDMXVuaTAzMDh1bmkwMzA3Z3JhdmVjb21iYWN1dGVjb21idW5pMDMwQnVuaTAzMEMuYWx0dW5pMDMwMnVuaTAzMEN1bmkwMzA2dW5pMDMwQXRpbGRlY29tYnVuaTAzMDR1bmkwMzEydW5pMDMyNnVuaTAzMjd1bmkwMzI4dW5pMDMzNXVuaTAzMjYubG9jbE1BSHVuaTAzMDguc3MwOHVuaTAzMDcuc3MwOGRpZXJlc2lzLnNzMDhkb3RhY2NlbnQuc3MwOHVuaTAyQkN1bmkwMkI5dW5pMDJDOE51ZXZvR2xpZm9ibGFja0NpcmNsZWRibGFja0NpcmNsZWRTdHJva2Vjb3B5cmlnaHQgbWlzc2luZ0dlaXN0IFJlZ3VsYXIBAQIAAQAFABAAFgAcACIAKAA2AD4ARABrAHUAfgCHAJ8AogCvALoAwQDJANEA1gDkAO8A+wECAVABZQF7AYUBjgGTAZoBpgGwAbMBwwHLAdUB3QHkAeoCBAIQAisCRAJWAmUCcAJ4AoECjwKWAp8CpwKtArICwwLOAtsC6wLwAwYD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AAAAAAAAAAD/9gAAAAD/7AAA/+IAAP/2AAAAAP/YAAAAAP/x/+L/7AAA/9j/5//s/+z/7AAAAAAAAAAAAAAAAP+wAAAAAAAAAAD/5wAA/+cAAAAAAAD/9gAA/7oAAAAAAAAAAAAA//YAAAAAAAAAAAAAAAD/8QAA//H/9gAA/+IAAAAA//EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9+/+wAFAAAABn/2P/s/7oAAAAAAAD/0//2AAAAAP/sAAAAAP+c//b/nP/i/+IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8f+w/+IAAAAAAAr/7AAA/84AAAAAAAAAAAAA/7oAAAAAAAAAAP+wAAD/sP/nAAAAAAAAAAD/7AAA/9gAAAAAAAD/9gAA/84AAAAAAAAAAP/iAAAAAAAAAAAAAAAA/+wAAAAAAAAAAAAAAAAAAAAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAA//EAAAAAAAAAAAAAAAAAAP/YAAD/7AAAAAD/9gAAAAD/4gAA//EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7AAA/+IAAAAAAAAAAAAA/9j/2AAAAAAAAAAAAAAAAAAAAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAA//b/7P/OAAD/9v/nAAAAAAAAAAAAAAAA//gAFAAAAAAAAAAAAAAAAAAAAAD/2AAA/+wAAP/x//EAAP/nAAD/8f/sAAAAAP/2//YAAAAA/+wAAAAAAAD/8QAAAAAAAAAAAAD/ugAA/84ABf/sAAD/2P/iAAD/9v/n//b/9v/OAAD/7AAA//sAAAAAAAAAAP/xAAAAAAAAAAAAAAAAAAD/7P/2/+IAAP/xAAAAAAAA/+L/7AAAAAAAAP/E/+L/xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAP/sAAAAAAAA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AAEBugABAAQAAQCOAB8ABAAAAAEACAABCo4ADAADCqgAmgACABcAAgAMAAAADwAiAAsAJAAlAB8AJwAtACEALwAvACgAMQBGACkASABMAD8ATgBWAEQAWgBgAE0AYgBlAFQAZwB2AFgAeAB8AGgAfgCrAG0ArgC5AJsAuwDAAKcAxQDRAK0A0wEFALoBCQEOAO0BEAETAPMBFQEkAPcBJgEqAQcBLAFkAQwBaQFqAUUBRwqECooAAAqECooAAAqECooAAAqECooAAAqECooAAAqECooAAAqECooAAAqECooAAAqECooAAAqECooAAAqECooAAAAACJwIogAACJwIogAACJwIogAACJwIogAACJwIogAACJwIogAAB6wHsgAAB7gHvgAAB6wHsgAAB7gHvgg2CDwIQgg2CDwIQgg2CDwIQgg2CDwIQgg2CDwIQgg2CDwIQgg2CDwIQgg2CDwIQgg2CDwIQgg2CDwIQgAAB8QAAAAAB8QAAAAACJwIogAACJwIogAACJwIogAACJwIogAACJwIogAACJwIogAACJwIogAAB8oAAAAAB8oAAAhICE4IVAhIB9AIVAhICE4IVAhICE4IVAhICE4IVAhICE4IVAhICE4IVAhICE4IVAhICE4IVAhICE4IVAAAB9YAAAAAB9YAAAAAB9YAAAAAB9wH6AAAB9wH6AAAB9wH6AAACE4IGAAACE4IGAAACE4IGAAACE4IGAAAB+IH6AAACB4IJAAACB4IJAAACB4IJAAACB4IJAAACB4IJAAACFoIYAAACFoIYAAACFoIYAAACFoIYAAACFoIYAAACFoIYAAACFoIYAAAB+4H9AAACFoIYAAACJwIogAAB/oIAAAAB/oIAAAAB/oIAAAAB/oIAAAACAYIMAAACAYIMAAACAYIMAAACAYIMAAACAYIMAAACAYIMAAACAwIEgAACAwIEgAACAwIEgAACAwIEgAACAwIEgqwCrYKvAqwCrYKvAqwCrYKvAqwCrYKvAqwCrYKvAqwCrYKvAqwCrYKvAqwCrYKvAqwCrYKvAqwCrYKvAqwCrYKvAAACGYIbAAACGYIbAAACGYIbAAACGYIbAAACGYIbAAACHIIeAAACHIIeAAACHIIeAAACHIIeAAACHIIeAAACHIIeAAACH4IhAAACH4IhAAACH4IhAAACH4IhAAACE4IGAAACB4IJAAACCoIMAAACCoIMAAACCoIMAAACCoIMAiKCJAIlgiKCJAIlgiKCJAIlgiKCJAIlgiKCJAIlgiKCJAIlgiKCJAIlgiKCJAIlgiKCJAIlgAACJwIogAACJwIogAACJwIogAACJwIogAACJwIogAACJwIogqECooAAAAACJwIogg2CDwIQgg2CDwIQgAACJwIoghICE4IVAhICE4IVAAACFoIYAqwCrYKvAAACGYIbAAACHIIeAAACH4IhAiKCJAIlgiKCJAIlgAACJwIognCCcgJzgnCCcgJzgnCCcgJzgnCCcgJzgnCCcgJzgnCCcgJzgnCCcgJzgnCCcgJzgnCCcgJzgnCCcgJzgnCCcgJzgioCK4ItAAACdQJ2gAACdQJ2gAACdQJ2gAACdQJ2gAACdQJ2gAACdQJ2glECUoJ2glECUoJ2glECUoJ2glECUoJ2glECUoJ2glECUoJ2glECUoJ2glECUoJ2glECUoJ2glECUoJ2gi6CMAIxgAACMwAAAAACMwAAAAACVAAAAAACVAAAAAACVAAAAAACVAAAAAACVAAAAAACVAAAAAACVAAAAAACVAAAAAACSAAAAAACSAAAAAACSAAAAlcCWIAAAlcCWIAAAlcCWIAAAlcCWIAAAlcCWIAAAlcCWIAAAlcCWIAAAlcCVYAAAlcCWIAAAlcCWIAAAlcCWIAAAAACWgAAAAACWgAAAAACWgAAAAACWgAAAAACSAI0gAACSAI0gAACSAI0gAACQ4JXAAACQ4JXAAACQ4JXAAACQ4JXAAACTgI2AAACN4I5AAACRQJGgAACRQJGgAACRQJGgAACRQJGgAACRQJGgAACRQJGgAACdQJ2gAACdQJ2gAACdQJ2gAACdQJ2gAACdQJ2gAACdQJ2gAACdQJ2gAACdQJ2gAACdQJ2gjqCPAI9gAACPwJJgAACPwJJgAACPwJJgAACPwJJgAACQIJCAAACQIJCAAACQIJCAAACQIJCAAACQIJCAAACQIJCAAAAAAK4gAAAAAK4gAAAAAK4gAAAAAK4gAAAAAK4gluCXQJegluCXQJegluCXQJegluCXQJegluCXQJegluCXQJegluCXQJegluCXQJegluCXQJegluCXQJegluCXQJegAACYAJhgAACYAJhgAACYAJhgAACYAJhgAACYAJhgAACYwAAAAACYwAAAAACYwAAAAACYwAAAAACYwAAAAACYwAAAAACZIJmAAACZIJmAAACZIJmAAACZIJmAAACQ4JXAAACRQJGgmeCaQJqgmeCaQJqgmeCaQJqgmeCaQJqgmeCaQJqgmeCaQJqgmeCaQJqgmeCaQJqgmeCaQJqgmeCaQJqgmeCaQJqgmwCbYJvAmwCbYJvAmwCbYJvAmwCbYJvAmwCbYJvAmwCbYJvAmwCbYJvAmwCbYJvAmwCbYJvAmwCbYJvAmwCbYJvAAACSwJMgAACSwJMgAACSAJJgAACSwJMgAACTgJPgnCCcgJzgAACdQJ2glECUoJ2glECUoJ2gAACVAAAAlcCWIAAAlcCWIAAAlcCWIAAAlcCVYAAAlcCWIAAAAACWgAAAAACdQJ2gluCXQJegAACYAJhgAACYwAAAAACZIJmAmeCaQJqgmwCbYJvAnCCcgJzgAACdQJ2gABAUICxgABAUgAAAABAZoCxgABAaAAAAABAScCxgABAWACxgABApoCxgABAd4CxgABAUgCxgABAKsCxgABAVwAAAABAXsCxgABAXsAAAABAVECxgABAV8AAAABAUsCxgABASECxgABASEAAAABATkAAAABAXICxgABAXEAAAABAUwCxgABAUwAAAABAiMAAAABAT0CxwABAT8AAAABALQAAAABAIgCxgABAIgAAAABAXYCxgABAXYAAAABAcgCxgABAcgAAAABATwCxgABATwAAAABARcCxgABARcAAAABAYUAAAABANsCxgABANsAAAABAXMCxgABAXMAAAABAtoAAAABAo4CEAABAo4AAAABAMoCEgABARYCEgABARYAAgABAScCEgABASoAAAABAPQAAAABAbcCEgABAbcAAAABAvoAAAABAq4CEAABAq4AAAABAMUCEgABAQkCEgABAQwAAAABAHoCxgABASMCEgABASMAAAABAHsCxgABAHsAAAABAIcCxgABAIcAAAABAMgCxgABAMgAAAABAW4AAAABASICEAABAR4CEgABAXYCEgABAKYAAAABAHsCEgABAIoCEgABAfAAAAABARwCEgABARwAAAABAZsCEgABAZsAAAABAQ0CEgABARQCEgABARQAAAABAeIAAAABAQwCEgABAQoAAAABAgcAAAABASECEgABAR4AAAABAh0AAwABARoCEgABARkAAAABASICEgABASIAAAAFAAAAAQAIAAEADAAcAAMAJgCGAAIAAgKCApEAAAKTApUAEAABAAMArACtAWYAEwABAUoAAQFQAAEBVgABAVwAAQFiAAEBaAABAW4AAQF0AAEBdAABAXoAAQGAAAEBhgABAYwAAgBaAAIATgAAAFQAAgBaAAEBkgABAZgAAQCrAAAAAQCzAAAAAQCPAAAAAwAIADQAZgACAA4AFAAAABoAIAAmAAECiwAAAAEBUALGAAEEJQAAAAEDewLGAAEDewAAAAIADgAUABoAIAAmACwAAQG9AAAAAQFZAsYAAQFZAAAAAQQ3AAAAAQONAsYAAQONAAAAAgAAAAAADgAAAAAAFAABAOoAAAABAhoAAAAGABAAAQAKAAAAAQAMABwAAQAiALQAAgACAoICjgAAApQClQANAAEAAQKlAA8AAAA+AAAARAAAAEoAAABQAAAAVgAAAFwAAABiAAAAaAAAAGgAAABuAAAAdAAAAHoAAACAAAAAhgAAAIwAAQCnAhIAAQBcAhIAAQCpAhIAAQBTAhIAAQCJAhIAAQBBAhIAAQC6AhIAAQC9AhIAAQCNAhIAAQDXAhIAAQCvAhIAAQBeAhIAAQC2AhIAAQBkAhIAAQAEAAEAbQISAAAAAQAAAAoCsAmaAAJERkxUAA5sYXRuAHoACgABTUFIIAA6AAD//wAVAAAADAAYACQAMAA8AFIAXgBqAHYAggCOAJoApgCyAL4AygDWAOIA7gD6AAD//wAWAAEADQAZACUAMQA9AEgAUwBfAGsAdwCDAI8AmwCnALMAvwDLANcA4wDvAPsAOgAJQVpFIABqQ1JUIACcS0FaIADOTUFIIAEATU9MIAEyTkxEIAFkUk9NIAGWVEFUIAHIVFJLIAH6AAD//wAVAAIADgAaACYAMgA+AFQAYABsAHgAhACQAJwAqAC0AMAAzADYAOQA8AD8AAD//wAWAAMADwAbACcAMwA/AEkAVQBhAG0AeQCFAJEAnQCpALUAwQDNANkA5QDxAP0AAP//ABYABAAQABwAKAA0AEAASgBWAGIAbgB6AIYAkgCeAKoAtgDCAM4A2gDmAPIA/gAA//8AFgAFABEAHQApADUAQQBLAFcAYwBvAHsAhwCTAJ8AqwC3AMMAzwDbAOcA8wD/AAD//wAWAAYAEgAeACoANgBCAEwAWABkAHAAfACIAJQAoACsALgAxADQANwA6AD0AQAAAP//ABYABwATAB8AKwA3AEMATQBZAGUAcQB9AIkAlQChAK0AuQDFANEA3QDpAPUBAQAA//8AFgAIABQAIAAsADgARABOAFoAZgByAH4AigCWAKIArgC6AMYA0gDeAOoA9gECAAD//wAWAAkAFQAhAC0AOQBFAE8AWwBnAHMAfwCLAJcAowCvALsAxwDTAN8A6wD3AQMAAP//ABYACgAWACIALgA6AEYAUABcAGgAdACAAIwAmACkALAAvADIANQA4ADsAPgBBAAA//8AFgALABcAIwAvADsARwBRAF0AaQB1AIEAjQCZAKUAsQC9AMkA1QDhAO0A+QEFAQZhYWx0BiZhYWx0BiZhYWx0BiZhYWx0BiZhYWx0BiZhYWx0BiZhYWx0BiZhYWx0BiZhYWx0BiZhYWx0BiZhYWx0BiZhYWx0BiZjY21wBi5jY21wBi5jY21wBi5jY21wBi5jY21wBi5jY21wBi5jY21wBi5jY21wBi5jY21wBi5jY21wBi5jY21wBi5jY21wBi5kbGlnBjRkbGlnBjRkbGlnBjRkbGlnBjRkbGlnBjRkbGlnBjRkbGlnBjRkbGlnBjRkbGlnBjRkbGlnBjRkbGlnBjRkbGlnBjRmcmFjBjpmcmFjBjpmcmFjBjpmcmFjBjpmcmFjBjpmcmFjBjpmcmFjBjpmcmFjBjpmcmFjBjpmcmFjBjpmcmFjBjpmcmFjBjpmd2lkBkBmd2lkBkBmd2lkBkBmd2lkBkBmd2lkBkBmd2lkBkBmd2lkBkBmd2lkBkBmd2lkBkBmd2lkBkBmd2lkBkBmd2lkBkBsaWdhBkZsaWdhBkZsaWdhBkZsaWdhBkZsaWdhBkZsaWdhBkZsaWdhBkZsaWdhBkZsaWdhBkZsaWdhBkZsaWdhBkZsaWdhBkZsb2NsBkxsb2NsBmRsb2NsBmRsb2NsBmRsb2NsBlJsb2NsBl5sb2NsBlhsb2NsBl5sb2NsBmRsb2NsBmRvcmRuBmpvcmRuBmpvcmRuBmpvcmRuBmpvcmRuBmpvcmRuBmpvcmRuBmpvcmRuBmpvcmRuBmpvcmRuBmpvcmRuBmpvcmRuBmpwbnVtBnJwbnVtBnJwbnVtBnJwbnVtBnJwbnVtBnJwbnVtBnJwbnVtBnJwbnVtBnJwbnVtBnJwbnVtBnJwbnVtBnJwbnVtBnJzaW5mBnhzaW5mBnhzaW5mBnhzaW5mBnhzaW5mBnhzaW5mBnhzaW5mBnhzaW5mBnhzaW5mBnhzaW5mBnhzaW5mBnhzaW5mBnhzczAxBn5zczAxBn5zczAxBn5zczAxBn5zczAxBn5zczAxBn5zczAxBn5zczAxBn5zczAxBn5zczAxBn5zczAxBn5zczAxBn5zczAyBohzczAyBohzczAyBohzczAyBohzczAyBohzczAyBohzczAyBohzczAyBohzczAyBohzczAyBohzczAyBohzczAyBohzczAzBpJzczAzBpJzczAzBpJzczAzBpJzczAzBpJzczAzBpJzczAzBpJzczAzBpJzczAzBpJzczAzBpJzczAzBpJzczAzBpJzczA0BpxzczA0BpxzczA0BpxzczA0BpxzczA0BpxzczA0BpxzczA0BpxzczA0BpxzczA0BpxzczA0BpxzczA0BpxzczA0BpxzczA1BqZzczA1BqZzczA1BqZzczA1BqZzczA1BqZzczA1BqZzczA1BqZzczA1BqZzczA1BqZzczA1BqZzczA1BqZzczA1BqZzczA2BrBzczA2BrBzczA2BrBzczA2BrBzczA2BrBzczA2BrBzczA2BrBzczA2BrBzczA2BrBzczA2BrBzczA2BrBzczA2BrBzczA3BrpzczA3BrpzczA3BrpzczA3BrpzczA3BrpzczA3BrpzczA3BrpzczA3BrpzczA3BrpzczA3BrpzczA3BrpzczA3BrpzczA4BsRzczA4BsRzczA4BsRzczA4BsRzczA4BsRzczA4BsRzczA4BsRzczA4BsRzczA4BsRzczA4BsRzczA4BsRzczA4BsRzczA5Bs5zczA5Bs5zczA5Bs5zczA5Bs5zczA5Bs5zczA5Bs5zczA5Bs5zczA5Bs5zczA5Bs5zczA5Bs5zczA5Bs5zczA5Bs5zdWJzBthzdWJzBthzdWJzBthzdWJzBthzdWJzBthzdWJzBthzdWJzBthzdWJzBthzdWJzBthzdWJzBthzdWJzBthzdWJzBthzdXBzBt5zdXBzBt5zdXBzBt5zdXBzBt5zdXBzBt5zdXBzBt5zdXBzBt5zdXBzBt5zdXBzBt5zdXBzBt5zdXBzBt5zdXBzBt50bnVtBuR0bnVtBuR0bnVtBuR0bnVtBuR0bnVtBuR0bnVt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"
+}
diff --git a/src/app/banner.png/fonts/geist-semibold-otf.json b/src/app/banner.png/fonts/geist-semibold-otf.json
new file mode 100644
index 0000000..c119360
--- /dev/null
+++ b/src/app/banner.png/fonts/geist-semibold-otf.json
@@ -0,0 +1,3 @@
+{
+ "base64Font": "T1RUTwAMAIAAAwBAQ0ZGIHIR/08AABlsAAC8I0dERUZznnHMAADVkAAAAdZHUE9TY4mY0QAA12gAACqMR1NVQsbFMjAAAQH0AAANHE9TLzI+rl/YAAANbAAAAGBjbWFwVC6iugAAEUQAAAgGaGVhZCxmteIAAADUAAAANmhoZWENAAmoAAANSAAAACRobXR4MmWPlAAAAQwAAAw8bWF4cAMPUAAAAADMAAAABm5hbWVgE49UAAANzAAAA3Zwb3N0/58AMgAAGUwAAAAgAABQAAMPAAAAAQAAAAEzMy4X/pdfDzz1AAMD6AAAAADiJx99AAAAAOInH33/3/8ZCSIDuAAAAAcAAgAAAAAAAAHbAFgA7AAAAs4AFwLOABcCzgAXAs4AFwLOABcCzgAXAs4AFwLOABcCzgAXAs4AFwLOABcEAAAXArcAUALVACsC1QArAtUAKwLVACsC1QArAtUAKwLJAFACyQBQAxkAKwMZACsCZwBQAmcAUAJnAFACZwBQAmcAUAJnAFACZwBQAmcAUAJnAFACZwBQAugAKwJYAFAC1gArAtYAKwLWACsC1gArAtYAKwLWACsC1gArAwEAKwLOAFADBwAeAs4AUAEiAFADiwBQASIAUAEi//MBIv/uASIATgEiAAwBIgAAASIAKgEi/+kCaQA3AmkANwJpADcCrwBQAq8AUAKvAFACSgBQAkoAUAJKAFACSgBQAmwABQOGAFAC7ABQAuwAUALsAFAC7ABQAuwAUALpAFAC/AArAvwAKwL8ACsC/AArAvwAKwL8ACsC/AArAv8ALQL8ACsEUAArApgAUAJ6AFAC9gArArEAUAKxAFACsQBQArEAUAKcADUCnAA1ApwANQKcADUCnAA1ApwANQLVAFACZgAbAmYAGwJmABsCZgAbAmYAGwK7AEECuwBBArsAQQK7AEECuwBBArsAQQK7AEECuwBBArsAQQK7AEECuwBBAs0AFwPEABcDxAAXA8QAFwPEABcDxAAXArIAHAKhABcCoQAXAqEAFwKhABcCoQAXAqEAFwJCABwCQwAcAkIAHAJCABwAwAArAkoAUALsAFACugBQAroAUAK6AFACugBQAcoAKwHKACsBygArAcoAKwHKACsBygArAcoAKwHKACsBygArAs4AKwLOACsCzgArAs4AKwLOACsCzgArAs4AFwLVACsCZwBQAmcAUALWACsBIv/xASIATgL8ACsCuwBBA8QAFwKhABcCQgAcAcoAKwHKACsCzgArBJcAFwSEAEECVgApAlYAKQJWACkCVgApAlYAKQJWACkCVgApAlYAKQJWACkCVgApAlYAKQO6ACkCbwBGAkkAKQJJACkCSQApAkkAKQJJACkCSQApAm8AKQKLACkCpgApAl8AKQJTACkCUwApAlMAKQJTACkCUwApAlMAKQJTACkCUwApAlMAKQJTACkCUwApAbAAMgJvACkCbwApAm8AKQJvACkCbwApAm8AKQJvACkCkQApAlkARgJ1ADICWf/oAQ0ARAENAEYBDQBGAQ3/6AEN/+MBDQBEAQ0AAgEN//YBDQAfAQ3/3wI3AEQBNP/9ATT//QE0//0BNP/9AnQARgJ0/+gCdABGAToARgE6AEYBQABGAToARgFAAAADfABGAlkARgJZAEYCWQBGAlkARgJZAEYCWQBGAl8AKQJfACkCXwApAl8AKQJfACkCXwApAl8AKQJQABoCXwApA+AAKQJvAEYCaABGAm8AKQGcAEYBnABGAZwAPQGcAEECMAApAjAAKQIwACkCMAApAjAAKQIwACkCewBGAa0ALQGtAC0BrQAtAa0ALQGtAC0CVQBGAlUARgJVAEYCVQBGAlUARgJVAEYCVQBGAlUARgJVAEYCVQBGAlUARgJJABYDRwAWA0cAFgNHABYDRwAWA0cAFgJ1AC8COgAWAjoAFgI6ABYCOgAWAjoAFgI6ABYCRAA5AkQAOQJEADkCRAA5AMEAKwE6AEYCWQBGAkoAJAJKACQCSgAkAkoAJAJKACQCSgAkAkoAJAJKACQCSgAkAkoAJAJKACQCbwApAm8AKQJvACkCbwApAm8AKQJvACkCbwApAm8AKQJvACkCbwApAm8AKQEgAFABIABQATcATgEgAEoBlQBGAlYAKQJJACkCUwApAlMAKQJvACkBDQBEAQ3/5wENAEQBDQAfAioARAE0//0CXwApAlUARgNHABYCOgAWAkQAOQJKACQCbwApAwAAMgK9ADIC2AAyAwoALQGuACsBrgArAs4AFwKiAFACtwBQAmUAUAJlAFACMwBQApoAPANHADICZwBQAmcAUAJnAFAEAAAcAqUALwLpAE0C6QBNAq0AUAKtAFADCAA3A4YAUALJAFAC/AArAskAUAKYAFACzwArAmYAGwJUABcCVAAXA1kAKwKxABwCmQAlAx0AUAO4AFAECgBQAskAUAKiAFADhwBQAu4APASIADcESQBQApwANQLyACwC8gArASIAUAEi/+8CaQA3AxoAGwQIAFACugA1Ax0AGwLrADIC8gAcAvwAKwL8ABcEHwAcAtYAUAMIAFACoQAXAqIAFwLgABwC2QAlApkAUAEiAFAC6AArAukATQL8ACsCVAAXAlwAKQJxACsCYgBGAfAARgHwAEYBxwBGAh8AMgLUACUCVAApAlQAKQJUACkDtAAvAioAHgJMAEYCTABGAkwARgJ4AEYCeABGAqcAMgLjAEYCUgBGAl8AKQJbAEYCbwBGAkkAKQJDACkCOgAWAjoAFgK8ACkCdQAvAnkARgK0AEYDRgBGA5gARgJbAEYCWgBGA00ARgKaADID9AAyA58ARgIwACkCVwApAlcAKQENAEQBDf/lATT//QJ1ADIDRwBGAmUARgKAADICswAyAuMALwJfACkCbwAWA8EALwKOAEYCqQBGAkkAFgJJABYCmwAvAr4ARgJZAEYBIABQAlMAKQJMAEYCXwApAjoAFgLIABcC9AArAnAAFwKbAC0CVQAlArAAMAGrACYCggA7An8ALwKZAC8CkAA5AogAOQJQACUChgAlAosAOQM1ACkDNQApAzUAKQM1ACkDNQApAzUAKQM1ACkDNQApAzUAKQM1ACkDSQApA0kAKQNJACkDSQApA0kAKQNJACkDSQApA0kAKQNJACkDSQApArAAMAHoABsCdQAWAnUAcQJ1AEACdQArAnUAKwJ1ADkCdQA7AnUAQAJ1ABMCdQA5AlgADANFACsDLQArA2gAKwMNACsDOgArA2AAKwM3ACsDagArA1kAKwM0ACsBkwAtAQ4AHgFqAC0BfAAtAX8AKwFtAC0BawAtAUsAHgF/AC0BcAAtAZMALQEOAB4BagAtAXwALQF/ACsBbQAtAWsALQFLAB4BfwAtAXAALQDsAAAJYAA+BwgAPgSwAD4A5QApAOUAKQEyAFABMgBQApIAKQDzADAA8wAwAkkAKQJJACkA5QApAUIAKQGtACkBhwApAij//wH8ACIB+gArAOMAKQEwAFABNwBQAn4AKQDnAC4A5wAuAkkAKQJJACkA4wApAaYAKQJWACkDkgApAjQAKQNgACkBQgAsAUIAHAGhACsBoQAcAYcAUAGHABwBfwApAX8AKgFrACoBawApAYQAKQGEACkCVgApAlYAKgGKACoBigApAYIAKQGCACoBcwApAXMAKQDnACoBsAArAbAAKwGvACsA6QArAOcAKgJoACoCaAApAXQAKgF0ACkBdwArAMIAKwIMADIClgBQBLAAPgcIAD4JYAA+BwcAPgNJACkDSQApAlgACAOxACsCqAAlAnkAIwJLADUDOQArAk8AKwJPACsDdgBQAZgAKQEBACkBtAAqARwAUAEcAFACQABQAkMAUAROAFACWABMA3YAKwJYADECSQApAkMAKwKcADUC4QA1Ar0ANQLWACoCuwBQA0YAUAJ8ADUCoQAXAi8AKQIvACkB8AAqAi8AKQJ8AFACLwApAiEAKwIdACkCLwApAi8AKgJAACkCDgApAg4AKQHaACkBnQApA1gAKQGrAAkCkwAXAqkAGwIkABwCmgAWAmQAKQJoAFMDMAApBHwAKQLFACsCeQArAx0AKwJ6ACwCxQArAnoAKwMdACwCeQAsBCwAKwLFACwCiQArApwAKwKcACsCkwArApMAKwKWACsClgArApYAKwKYACsClgArA14AFwHOACsCYQAsAvsAKwJhACwBzgArAmEAKwL7ACsCYQAsA1wAKwHOACwDSQArA0kAKwNJACsCPgArA2IAFwMuAFADYgAXAy4AFwNiABcDLgBQA2IAFwMuABcAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAA3AAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAABsAAAAKQAAACkBmQApANgAKQEQACkBEAApAbIAKQGOACkBjgApAYEAKQEZACkBoAApAXQAKQFJACkBHgApAY4AKQDXACkA5gA3AQEAKQC+ACkDNQApA0kAKQABAAADmP8kAGQJYP/f/hQJIgABAAAAAAAAAAAAAAAAAAADDwAEAmoCWAAFAAgCigJYAAAASwKKAlgAAAFeADIBCQAAAAAAAAAAAAAAAKEAAv9AAeX7AAAAAAAAAABWUkNMAMAAIPsCA5j/JABkA9ABBiAAAJcAAAAAAhYCxgAAACAABAAAABUBAgADAAEECQABABwAAAADAAEECQACAA4AHAADAAEECQADADIAKgADAAEECQAEABwAAAADAAEECQAFAD4AXAAD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AAAAAAAAAAAD6AAAAAAAAAAAAAAD4AAAA+AAAAAAAAAD3APeA+AD4gPkAAAAAAAAAAAD4APyAAAD9gAAAAAAAAABAkMCegJLApoCuQKGAnsCXAJdAkkCogI/AlcCPgJMAkACQQKpAqYCqAJFAoUAAgAOAA8AFQAZACQAJQAtADAAOgA9AEAARQBGAEwAVgBYAFkAXQBkAGkAdAB1AHoAewCBAmACTQJhArACWgL9AKwAuAC5AL8AwwDOAM8A1wDaAOUA6QDsAPEA8gD4AQIBBAEFAQkBEAEVASABIQEmAScBLQJeApACXwKuAjoCRAKYAqACmQKhApECiAL7AokBZQJ2Aq8CigMFAo0CrAIyAjMC/gK4AocCRwMGAjEBZgJ3Ah8CHAIgAkYACAADAAYADAAHAAsADQASAB8AGgAcAB0ANgAyADMANAAYAEoAUABNAE4AVABPAqQAUwBuAGoAbABtAHwAVwEPALIArQCwALYAsQC1ALcAvADJAMQAxgDHAOAA3ADdAN4AwgD2APwA+QD6AQAA+wKlAP8BGgEWARgBGQEoAQMBKgAJALMABACuAAoAtAAQALoAEwC9ABQAvgARALsAFgDAABcAwQAgAMoAHgDIACEAywAbAMUAKADSACYA0AAqANQAKQDTAC8A2QAuANgAOQDjADcA4QA4AOIANQDbADEA5AA8AOgAPwDrAEEA7QBDAO8AQgDuAEQA8ABHAPMASQD1AEgA9ABLAPcAUgD+AFEA/QBVAQEAWgEGAFwBCABbAQcAXgEKAGEBDQBgAQwAXwELAGcBEwBmARIAZQERAHMBHwBwARwAawEXAHIBHgBvARsAcQEdAHcBIwB9ASkAfgCCAS4AhAEwAIMBLwAFAK8ALADWACcA0QA+AOoAYgEOAGgBFAMAAwEDDAMCAvwDAwMHAwQC/wLpAuoC7QLxAvIC7wLoAucC8ALrAu4BcAFxAZcBawGPAY4BkQGSAZMBjAGNAZQBdwGBAYgBZwFoAWkBagFuAW8BcgFzAXQBdQF2AYIBgwGFAYQBhgGHAYsBigGJAZABlQGWAbABsQG5AcUBxgHIAccByQHKAc4BzQHMAdMB2AHZAbIBswHaAa0B0gHRAdQB1QHWAc8B0AHXAboBuAHEAcsBmAHbAZkB3AGaAd0BmwHeAWwBrgFtAa8BnAHfAZ0B4AGeAeEBnwHi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aHVuZ2FydW1sYXV0VW1hY3JvblVvZ29uZWtVcmluZ1V0aWxkZVdhY3V0ZVdjaXJjdW1mbGV4V2RpZXJlc2lzV2dyYXZlWWNpcmN1bWZsZXhZZ3JhdmV1bmkxRUY4WmFjdXRlWmRvdGFjY2VudHVuaUE3OEJ1bmkwMTNCLmxvY2xNQUh1bmkwMTQ1LmxvY2xNQUhSLnNzMDRSYWN1dGUuc3MwNFJjYXJvbi5zczA0dW5pMDE1Ni5zczA0SS5zczA1SWFjdXRlLnNzMDVJY2lyY3VtZmxleC5zczA1SWRpZXJlc2lzLnNzMDVJZG90YWNjZW50LnNzMDVJZ3JhdmUuc3MwNUltYWNyb24uc3MwNUlvZ29uZWsuc3MwNUl0aWxkZS5zczA1Ry5zczA2R2JyZXZlLnNzMDZHY2lyY3VtZmxleC5zczA2dW5pMDEyMi5zczA2R2RvdGFjY2VudC5zczA2dW5pMUUyMC5zczA2QWRpZXJlc2lzLnNzMDhDZG90YWNjZW50LnNzMDhFZGllcmVzaXMuc3MwOEVkb3RhY2NlbnQuc3MwOEdkb3RhY2NlbnQuc3MwOElkaWVyZXNpcy5zczA4SWRvdGFjY2VudC5zczA4T2RpZXJlc2lzLnNzMDhVZGllcmVzaXMuc3MwOFdkaWVyZXNpcy5zczA4WWRpZXJlc2lzLnNzMDhaZG90YWNjZW50LnNzMDhJZGllcmVzaXMuc3MwNS5zczA4SWRvdGFjY2VudC5zczA1LnNzMDhHZG90YWNjZW50LnNzMDYuc3MwOEFfSS5kbGlnVV9JLmRsaWdhYnJldmV1bmkwMUNFYW1hY3JvbmFvZ29uZWtjYWN1dGVjY2Fyb25jY2lyY3VtZmxleGNkb3RhY2NlbnRkY2Fyb25kY3JvYXRlY2Fyb25lZG90YWNjZW50ZW1hY3JvbmVvZ29uZWt1bmkxRUJEdW5pMDI1OWdicmV2ZWdjYXJvbmdjaXJjdW1mbGV4dW5pMDEyM2dkb3RhY2NlbnR1bmkxRTIxdW5pMDFFNWhiYXJoY2lyY3VtZmxleGkubG9jbFRSS2ltYWNyb25pb2dvbmVraXRpbGRlaWp1bmkwMjM3dW5pMDA2QTAzMDFqY2lyY3VtZmxleHVuaTAxRTl1bmkwMTM3bGFjdXRlbGNhcm9udW5pMDEzQ25hY3V0ZW5jYXJvbnVuaTAxNDZlbmdvaHVuZ2FydW1sYXV0b21hY3JvbnJhY3V0ZXJjYXJvbnVuaTAxNTdzYWN1dGVzY2VkaWxsYXNjaXJjdW1mbGV4dW5pMDIxOXRiYXJ0Y2Fyb251bmkwMTYzdW5pMDIxQnVicmV2ZXVodW5nYXJ1bWxhdXR1bWFjcm9udW9nb25la3VyaW5ndXRpbGRld2FjdXRld2NpcmN1bWZsZXh3ZGllcmVzaXN3Z3JhdmV5Y2lyY3VtZmxleHlncmF2ZXVuaTFFRjl6YWN1dGV6ZG90YWNjZW50dW5pQTc4Q3VuaTAxM0MubG9jbE1BSHVuaTAxNDYubG9jbE1BSGEuc3MwMWFhY3V0ZS5zczAxYWJyZXZlLnNzMDF1bmkwMUNFLnNzMDFhY2lyY3VtZmxleC5zczAxYWRpZXJlc2lzLnNzMDFhZ3JhdmUuc3MwMWFtYWNyb24uc3MwMWFvZ29uZWsuc3MwMWFyaW5nLnNzMDFhdGlsZGUuc3MwMWEuc3MwMmFhY3V0ZS5zczAyYWJyZXZlLnNzMDJ1bmkwMUNFLnNzMDJhY2lyY3VtZmxleC5zczAyYWRpZXJlc2lzLnNzMDJhZ3JhdmUuc3MwMmFtYWNyb24uc3MwMmFvZ29uZWsuc3MwMmFyaW5nLnNzMDJhdGlsZGUuc3MwMmwuc3MwM2xhY3V0ZS5zczAzbGNhcm9uLnNzMDN1bmkwMTNDLnNzMDNsc2xhc2guc3MwM2FkaWVyZXNpcy5zczA4Y2RvdGFjY2VudC5zczA4ZWRpZXJlc2lzLnNzMDhlZG90YWNjZW50LnNzMDhnZG90YWNjZW50LnNzMDhpLnNzMDhpZGllcmVzaXMuc3MwOGkubG9jbFRSSy5zczA4aW9nb25lay5zczA4aWouc3MwOGouc3MwOG9kaWVyZXNpcy5zczA4dWRpZXJlc2lzLnNzMDh3ZGllcmVzaXMuc3MwOHlkaWVyZXNpcy5zczA4emRvdGFjY2VudC5zczA4YWRpZXJlc2lzLnNzMDEuc3MwOGFkaWVyZXNpcy5zczAyLnNzMDhmX2YubGlnYXRfdC5saWdhdW5pMDQxMHVuaTA0MTF1bmkwNDEydW5pMDQxM3VuaTA0MDN1bmkwNDkwdW5pMDQ5MnVuaTA0MTR1bmkwNDE1dW5pMDQwMHVuaTA0MDF1bmkwNDE2dW5pMDQxN3VuaTA0MTh1bmkwNDE5dW5pMDQxQXVuaTA0MEN1bmkwNDFCdW5pMDQxQ3VuaTA0MUR1bmkwNDFFdW5pMDQxRnVuaTA0MjB1bmkwNDIxdW5pMDQyMnVuaTA0MjN1bmkwNDBFdW5pMDQyNHVuaTA0MjV1bmkwNDI3dW5pMDQyNnVuaTA0Mjh1bmkwNDI5dW5pMDQwRnVuaTA0MkN1bmkwNDJCdW5pMDQyQXVuaTA0MDl1bmkwNDBBdW5pMDQwNXVuaTA0MDR1bmkwNDJEdW5pMDQwNnVuaTA0MDd1bmkwNDA4dW5pMDQwQnVuaTA0MkV1bmkwNDJGdW5pMDQwMnVuaTA0NjJ1bmkwNDZBdW5pMDQ3MnVuaTA0NzR1bmkwNDk2dW5pMDQ5QXVuaTA0QTJ1bmkwNEFFdW5pMDRCMHVuaTA0QjJ1bmkwNEI2dW5pMDRCQXVuaTA0QzB1bmkwNEQ4dW5pMDRFMnVuaTA0RTh1bmkwNEVFdW5pMDQzMHVuaTA0MzF1bmkwNDMydW5pMDQzM3VuaTA0NTN1bmkwNDkxdW5pMDQ5M3VuaTA0MzR1bmkwNDM1dW5pMDQ1MHVuaTA0NTF1bmkwNDM2dW5pMDQzN3VuaTA0Mzh1bmkwNDM5dW5pMDQ1RHVuaTA0M0F1bmkwNDVDdW5pMDQzQnVuaTA0M0N1bmkwNDNEdW5pMDQzRXVuaTA0M0Z1bmkwNDQwdW5pMDQ0MXVuaTA0NDJ1bmkwNDQzdW5pMDQ1RXVuaTA0NDR1bmkwNDQ1dW5pMDQ0N3VuaTA0NDZ1bmkwNDQ4dW5pMDQ0OXVuaTA0NUZ1bmkwNDRDdW5pMDQ0QnVuaTA0NEF1bmkwNDU5dW5pMDQ1QXVuaTA0NTV1bmkwNDU0dW5pMDQ0RHVuaTA0NTZ1bmkwNDU3dW5pMDQ1OHVuaTA0NUJ1bmkwNDRFdW5pMDQ0RnVuaTA0NTJ1bmkwNDYzdW5pMDQ2QnVuaTA0NzN1bmkwNDc1dW5pMDQ5N3VuaTA0OUJ1bmkwNEEzdW5pMDRBRnVuaTA0QjF1bmkwNEIzdW5pMDRCN3VuaTA0QkJ1bmkwNENGdW5pMDREOXVuaTA0RTN1bmkwNEU5dW5pMDRFRkxhbWJkYXVuaTAzQTlsYW1iZGFwaXVuaTIxMDd1bmkyNEZGdW5pMjc3NnVuaTI3Nzd1bmkyNzc4dW5pMjc3OXVuaTI3N0F1bmkyNzdCdW5pMjc3Q3VuaTI3N0R1bmkyNzdFdW5pMjRFQXVuaTI0NjB1bmkyNDYxdW5pMjQ2MnVuaTI0NjN1bmkyNDY0dW5pMjQ2NXVuaTI0NjZ1bmkyNDY3dW5pMjQ2OHplcm8uc3MwOW9uZS5zczA5emVyby50Zm9uZS50ZnR3by50ZnRocmVlLnRmZm91ci50ZmZpdmUudGZzaXgudGZzZXZlbi50ZmVpZ2h0LnRmbmluZS50ZnVuaTIxNTN1bmkyMTU0dW5pMjE1NXVuaTIwODB1bmkyMDgxdW5pMjA4MnVuaTIwODN1bmkyMDg0dW5pMjA4NXVuaTIwODZ1bmkyMDg3dW5pMjA4OHVuaTIwODl1bmkyMDcwdW5pMDBCOXVuaTAwQjJ1bmkwMEIzdW5pMjA3NHVuaTIwNzV1bmkyMDc2dW5pMjA3N3VuaTIwNzh1bmkyMDc5dW5pMDBBMGh5cGhlbl9oeXBoZW5faHlwaGVuX2dyZWF0ZXIubGlnYWh5cGhlbl9oeXBoZW5fZ3JlYXRlci5saWdhaHlwaGVuX2dyZWF0ZXIubGlnYXVuaTMwMDNwZXJpb2Quc3MwOGNvbG9uLnNzMDhzZW1pY29sb24uc3MwOGVsbGlwc2lzLnNzMDhleGNsYW0uc3MwOGV4Y2xhbWRvd24uc3MwOHF1ZXN0aW9uLnNzMDhxdWVzdGlvbmRvd24uc3MwOHBlcmlvZGNlbnRlcmVkLnNzMDh1bmkzMDFDdW5pMzAwOHVuaTMwMDl1bmkzMDEwdW5pMzAxMXVuaTMwMEN1bmkzMDBEdW5pMzAwQXVuaTMwMEJ1bmkzMDE0dW5pMzAxNXVuaTMwMEV1bmkzMDBGdW5pMzAxNnVuaTMwMTd1bmkwRTNGbGVzc19oeXBoZW4ubGlnYWxlc3NfaHlwaGVuX2h5cGhlbi5saWdhbGVzc19oeXBoZW5faHlwaGVuX2h5cGhlbi5saWdhbGVzc19oeXBoZW5fZ3JlYXRlci5saWdhdW5pMjYzOXNtaWxlZmFjZXVuaUY4RkZ1bmkyMTE3bWludXRlc2Vjb25kdW5pMjExNnVuaTI0MEN1bmkyM0NFdW5pMjQwQkV1cm91bmkyMEI0dW5pMjBCRHVuaTIwQjl1bmkyMEFBbm90ZXF1YWxncmVhdGVyZXF1YWxsZXNzZXF1YWxhcHByb3hlcXVhbGluZmluaXR5aW50ZWdyYWx1bmkyMjA2cHJvZHVjdHN1bW1hdGlvbnJhZGljYWxwYXJ0aWFsZGlmZnVuaTAwQjVhcnJvd3VwdW5pMjE5N2Fycm93cmlnaHR1bmkyMTk4YXJyb3dkb3dudW5pMjE5OWFycm93bGVmdHVuaTIxOTZhcnJvd2JvdGhhcnJvd3VwZG51bmkyMTlEdW5pMjFFNHVuaTIxRTV1bmkyMUE5dW5pMjFBQXVuaTIxQjB1bmkyMUIxdW5pMjFCM3VuaTIxQjRjYXJyaWFnZXJldHVybnVuaTIxRTdhcnJvd3VwLnNzMDd1bmkyMTk3LnNzMDdhcnJvd3JpZ2h0LnNzMDd1bmkyMTk4LnNzMDdhcnJvd2Rvd24uc3MwN3VuaTIxOTkuc3MwN2Fycm93bGVmdC5zczA3dW5pMjE5Ni5zczA3YXJyb3dib3RoLnNzMDdhcnJvd3VwZG4uc3MwN3VuaTI1Q0ZjaXJjbGV1bmkyNUNDbG96ZW5nZXRyaWFndXB1bmkyNUI2dHJpYWdkbnVuaTI1QzB1bmkyNUIzdW5pMjVCN3VuaTI1QkR1bmkyNUMxdW5pMDMwNi5jeXVuaTAzMDh1bmkwMzA3Z3JhdmVjb21iYWN1dGVjb21idW5pMDMwQnVuaTAzMEMuYWx0dW5pMDMwMnVuaTAzMEN1bmkwMzA2dW5pMDMwQXRpbGRlY29tYnVuaTAzMDR1bmkwMzEydW5pMDMyNnVuaTAzMjYubG9jbE1BSHVuaTAzMjd1bmkwMzI4dW5pMDMzNXVuaTAzMDguc3MwOHVuaTAzMDcuc3MwOGRpZXJlc2lzLnNzMDhkb3RhY2NlbnQuc3MwOHVuaTAyQkN1bmkwMkI5dW5pMDJDOGJsYWNrQ2lyY2xlZGJsYWNrQ2lyY2xlZFN0cm9rZTAwMS4yMDBjb3B5cmlnaHQgbWlzc2luZ0dlaXN0IFNlbWlCb2xkU2VtaUJvbGQA6QIAAQAMABEAFgAcADEAPABEAEgATgB1AH4AgQCHAIwAkQCUAJkAngC0ALgAwwEMARMBGwEgASgBMAFcAWABdQGCAYoBkQGYAaIBqwH2AhUCLwJFAk8CVAJbAmECkAKpAsAC0QLcAuYC7QL0AwADBgMlAysDLwNBA04D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AAUBlwGXAAUBmgGaAAQBpQGlAAQBpwGnAAQB7AHsAAMB7gHuAAMB8AHwAAIB8QHxAAQB8wHzAAkB9AH0AAgB9QH1AAYB9gH2AAoB9wH3AAQB+AH4AAUB+QH5AAICDwIPAAQCTAJMAAMCVwJXAAcCXQJdAAECiQKJAAQCzwLPAAMAAgAIAAIACgXUAAEAWgAEAAAAKAOsAK4DrAOsA6wDrAOsA6wDrAOsA6wDrAC4A6wA0gHQAdAB0AHQAdAB1gOsA6wDsgSwBbIFsgWyBbgFvgW+Bb4FvgW+BcQFxAXEBcQFxAXEAAEAKAANAA4AGQAaABsAHAAdAB4AHwAgACEAIgAkAFUAWQBkAGUAZgBnAGgAewCdAJ4A6QEFAQYBBwEIAYkBrAGtAa4BrwHCAcMBxAHeAeIB4wHrAAIAGf/zARD/7AAGAM7/9gDl/+wA5//sAOj/7AFh//YCfP/2AD8Auf/uALr/7gC7/+4AvP/uAL3/7gC+/+4Av//uAMD/7gDB/+4Awv/uAMP/7gDE/+4Axf/uAMb/7gDH/+4AyP/uAMn/7gDK/+4Ay//uAMz/7gDN/+4Az//uAND/7gDR/+4A0v/uANP/7gDU/+4A1f/uANb/7gD4/+4A+f/uAPr/7gD7/+4A/P/uAP3/7gD+/+4A///uAQD/7gEB/+4BBP/uAQn/7gEK/+4BC//uAQz/7gEN/+4BDv/uAT//7gFA/+4BQf/uAUL/7gFD/+4BRP/uAUX/7gFG/+4BR//uAUj/7gFJ/+4BUP/uAVH/7gFS/+4BU//uAVr/7gFg/+4AAQAC/6AAdQCs/7kArf+5AK7/uQCv/7kAsP+5ALH/uQCy/7kAs/+5ALT/uQC1/7kAtv+5ALf/uQC5/64Auv+uALv/rgC8/64Avf+uAL7/rgC//64AwP+uAMH/rgDC/64Aw/+uAMT/rgDF/64Axv+uAMf/rgDI/64Ayf+uAMr/rgDL/64AzP+uAM3/rgDP/64A0P+uANH/rgDS/64A0/+uANT/rgDV/64A1v+uAOn/6ADq/+gA6//oAPH/6ADy/+gA8//oAPT/6AD1/+gA9v/oAPf/6AD4/64A+f+uAPr/rgD7/64A/P+uAP3/rgD+/64A//+uAQD/rgEB/64BAv/oAQP/6AEE/64BBf/oAQb/6AEH/+gBCP/oAQn/rgEK/64BC/+uAQz/rgEN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AO0AzwDvAQ4A1gEQATAA9gEyAUsBFwFNAWEBMQFkAWQBRgFnAWoBRwFsAXYBSwF4AYQBVgGGAYYBYwGJAZIBZAGVAZ0BbgGfAZ8BdwGhAaEBeAGkAacBeQGpAbkBfQG7AcoBjgHNAc0BngHRAdoBnwHcAekBqQHrAewBtwHuAe4BuQHwAfIBugH6AfoBvQIPAg8BvgJMAk0BvwJ8AnwBwQKGAoYBwgKJAokBwwKhAqEBxALPAs8BxQACAKcADQANAAMADgAOAAEADwAUAAIAFQAVAAcAGQAiAAMAIwAjAAcAJAAkAAQAJQAsAAUALQAwAA8AMQAxAAsAMgA5AA8AOgA8AAsAPQA/AA0AQABEAAYARQBLAA8ATABUAAcAVQBVAAMAVgBWAAgAWABYAAcAWQBcAAkAXQBiAAcAZABoAAoAaQBzAAsAdAB5AAwAegB6AA0AewCAAAwAgQCEAA4AhgCGAAYAhwCHAA8AiACLAAkAlQCaAAUAnACcAAIAnQCeAAMAnwCfAAUAoAChAA8AogCiAAcAowCjAAsApAClAAwApgCmAA4AqQCpAAUArAC2ABIAtwC+ABQAvwC/AA8AwgDNABQAzgDOABEAzwDWABcA1wDZABMA2gDlAA8A5wDoAA8A6QDrABkA7ADtABIA7wDwABIA8QD3ABMA+AEDABQBBAEEABcBBQEIABUBCQEOABQBEAEUABYBFQEfABcBIAElABgBJgEmABkBJwEsABgBLQEwABoBMgEyABIBMwE+ABMBPwFJABcBSgFLAA8BTQFOAA8BTwFPABIBUAFSABQBUwFTABcBVAFZAA8BWgFaABQBWwFbABcBXAFdABgBXgFeABoBXwFfABMBYAFgABcBYQFhABEBZAFkABYBaAFpAAEBagFqAAoBbAFtAAoBbwFxAAMBcgFyAA0BcwFzAAEBdAF1AA8BdgF2AA0BeAF6AA8BewF7AAcBfAF8AA8BfQF9AAgBfgF+AAIBfwF/AAoBgAGBAAwBggGCAAcBgwGDAA0BhAGEABsBhgGGAA8BiQGJAAEBigGKABsBiwGNAAEBjgGOAAcBjwGPAAIBkAGQAAcBkQGSABsBlQGVAAcBlgGWABsBlwGYAAEBmQGZAA0BmgGaAAcBmwGbAAwBnAGdAA0BnwGfAAwBoQGhAA0BpAGkABsBpQGlAAcBpgGmAA8BpwGnAAcBqQGpABIBqgGrABQBrAGvABUBsAGzABQBtAG0ABkBtQG1ABQBtgG4ABcBuQG5ABkBuwG9ABcBvgG+ABQBvwG/ABMBwAHBABQBwgHCABUBwwHEABgBxQHFABQBxgHGABkBxwHKABcBzQHNABcB0QHTABQB1AHVABcB1gHWAA8B1wHXABMB2AHYABQB2QHZABcB2gHaABMB3AHcABkB3QHdABQB3gHeABgB3wHgABkB4QHhAA8B4gHjABgB5AHkABkB5QHlABcB5gHmABMB5wHnAA8B6AHoABQB6QHpABcB6wHrABgB8AHwAAIB8QHxAAcB8gHyABsB+gH6AAcCDwIPAAcCTAJMAAwCfAJ8ABEChgKGABACiQKJAAcCoQKhABsAAgCxAAIADQATAA4ADgAYAA8AFAADABUAFgAYABcAGAADABkAIgAYACMAIwADACQAJAABACUALAADAC0AOQAYADoAPAACAD0AQgABAEMAQwAYAEQARAAWAEUASwAYAEwAVQADAFYAVwAYAFgAWAADAFkAXAAYAF0AYgADAGQAaAAEAGkAcwAFAHQAeQAHAHoAegAXAHsAgAAHAIYAiwAYAJUAmgADAJsAmwATAJwAnAADAJ0AngAYAJ8AnwADAKAAoQAYAKIAogADAKMAowAFAKQApQAHAKkAqQADAKoAqgATAKsAqwAFAKwAtwAIALgAuAAYALkAzQANAM4AzgAKAM8A1gANANcA5AAYAOUA5QAUAOcA6AAUAOkA6wAMAOwA8AALAPEA9wAMAPgBAQANAQIBAwAMAQQBBAANAQUBCAAMAQkBDgANARABFAAPARUBHwARASABJQASASYBJgAVAScBLAASAS0BMAAgATIBMgALATMBMwAMATQBPgAIAT8BSQANAUoBSwAYAU0BTgAYAU8BTwAIAVABUwANAVQBWQAYAVoBWgANAVsBWwARAVwBXQASAV4BXgAgAV8BXwAIAWABYAANAWEBYQAKAWQBZAAPAWUBZgAJAWcBZwATAWgBawAYAWwBbQABAW4BbgATAW8BcQAYAXIBcgAXAXMBcwAQAXQBdwAYAXgBeAAfAXkBegAYAXsBewADAXwBfQAYAX4BfgADAX8BfwAEAYABgQAGAYIBggADAYMBgwAXAYUBigAYAYwBjAACAY0BjQABAY4BkAADAZEBkgABAZQBlAAE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BawFsgWsBWQF9AX6BfQF+gX0BfoF9AX6BfQF+gX0BfoF9AX6BWoFcAX0BfoGMAY2BYgFdgWIBXYFiAV2BYgFfAWIBYIFiAWCBYgFggWIBYIFiAWCBYgFjgWaBZQFmgWUBZoFlAWaBZQFmgWgC3wLggt8C4ILfAuCC3wLggt8C4ILfAuCC3wLggt8C4ILfAuCC3wLggt8C4IGAAYGBgAGBgYABgYGAAYGBgAGBgYMBhIGDAYSBgwGEgYMBhIGDAYSBgwGEgYYBh4GGAYeBhgGHgYYBh4F6AWmBawFsgW+BbgFvgW4Bb4FuAW+BcQGJAYqBiQGKgYkBioGJAYqBiQGKgYkBioGJAYqBiQGKgYkBioGMAY2BjAGNgYwBjYGMAXKBjAGNgYwBjYLYAAABdAGNgXWBdwF1gXcBjAF4gXoBe4F6AXuBfQF+gt8C4IGAAYGBgwGEgYYBh4GJAYqBiQGKgYwBjYHXAcUB1wHFAdcBxQHXAcUB1wHFAdcBxQHXAcUB1wHFAdcBxQHXAcUB1wHFAY8BkIHOAc+BzgHPgc4Bz4HOAc+BzgHPgc4Bz4GSAZOBkgGTgZIBk4HGgc+BxoHPgcaBz4HGgc+BxoHPgcaBz4HGgc+BxoHPgcaBz4HGgc+BlQGWgcgAAAHIAAAByAAAAcgAAAHIAAAByAAAAcgAAAHIAAABnIAAAZgAAAGcgAAByYAAAcmAAAHJgAAByYAAAcmAAAHJgAAByYAAAcmAAAHJgAAByYAAAZmAAAHMgAABzIAAAcyAAAHMgAABnIGbAZyBmwGcgZ4BtIMxgbSDMYG0gzGBtIG2AZ+BoQGigaQBt4GlgbeBpYG3gaWBt4G5AbeBpYG3gaWBzgHPgc4Bz4HOAc+BzgHPgc4Bz4HOAc+BzgHPgc4Bz4HOAc+BpwGogauBqgGrgaoBq4GqAauBrQGwAa6BsAGugbABroGwAa6BsAGugbABsYLngukC54LpAueC6QLngukC54GzAdEB0oHRAdKB0QHSgdEB0oHRAdKB0QHSgdEB0oHRAdKB0QHSgdEB0oHRAdKB1AHgAdQB4AHUAeAB1AHgAdQB4AHVgAAB1YAAAdWAAAHVgAAB1YAAAdWAAAHXAd0B1wHdAdcB3QHXAd0BtIG2AbeBuQHYgdoB2IHaAdiB2gHYgdoB2IHaAdiB2gHYgdoB2IHaAdiB2gHYgdoB2IHaAduB3QHbgd0B24HdAduB3QHbgd0B24HdAduB3QHbgd0B24HdAduB3QHbgd0BvwG6gb8BuoG8Ab2BvwHAgcIBw4HXAcUBzgHPgcaBz4HGgc+ByAAAAcmAAAHJgAAByYAAAcmAAAHLAAABzIAAAc4Bz4HRAdKB1AHgAdWAAAHXAd0B2IHaAduB3QHegeAAAEBRQLGAAEBSwAAAAEBlQLGAAEBmwAAAAEBev8ZAAEDCgLGAAEB6ALGAAEBYgAAAAEBVALGAAEBYv8ZAAEBOQAAAAEAswLGAAEBXAAAAAEBdQAAAAEBgALGAAEBgAAAAAEBZQAAAAEBZf8ZAAEBVgAAAAEBVgLGAAEBV/8ZAAEBMwAAAAEBMwLGAAEBM/8ZAAEBOv8ZAAEBfwLGAAEBdf8ZAAEBUwAAAAEBUwLGAAEBU/8ZAAEBe/8ZAAEBeALGAAEBQALHAAEBQQAAAAEBegAAAAEAkQLGAAEAkQAAAAEBfgLGAAEBfgAAAAEB4gLGAAEB4gAAAAEBUQLGAAEBUQAAAAEBKgLGAAEBKgAAAAEA5QLGAAEA5QAAAAEBewLGAAEBewAAAAEClwIUAAEClwAAAAEBOAIWAAEBOAAAAAEBIwIWAAEBIwACAAEArQLLAAEBsAIWAAEBNwAAAAEAhgLLAAEBOP8ZAAEAiQLGAAEAtAAAAAEBvgIWAAEBvgAAAAEBLQAAAAECvQIUAAECvQAAAAEAhgAAAAEA3AIWAAEAh/8ZAAEBHQAAAAEBGwISAAEBHv8ZAAEA/f8ZAAEAhgLGAAEAsv8ZAAEBLQIWAAEBLf8ZAAEAkAAAAAEAjgLGAAEAjgAAAAEAkALGAAEAkP8ZAAEA2wLGAAEA2wAAAAEBHgAAAAEBMAIUAAEBLwIWAAEAhgIWAAEBowIWAAEArQIWAAEBMAIWAAEBMAAAAAEBKAIWAAEBKAAAAAEBpAIWAAEBHgIWAAEBJQIWAAEBGgIWAAEBGQAAAAEBLgIWAAEBJQAAAAEBpALGAAEBpAAAAAQAAAABAAgAAQQ8AAwAAQRCAC4AAgAFAGQAaAAAAL8AwQAFARABFAAIAUoBTgANAtwC3AASABMAKAAoACgAKAAoAC4ALgAuBCoEKgQqBCoEKgA6ADoANAA6AEAARgABATMBTgABATgBCwABAI4BCQABAJABCQABANsBCQABAaQBdQAEAAAAAQAIAAED9gAMAAEEBACOAAIAFQACAAwAAAAZACIACwAwADkAFQBpAHMAHwCMAJQAKgCbAJsAMwCdAJ4ANACgAKEANgCjAKMAOACnAKgAOQCsALcAOwDDAM0ARwDaAOQAUgEBAQEAXQEVAR8AXgE0AUkAaQFPAU8AfwFRAVIAgAFUAVgAggFbAVsAhwFfAWAAiACKA4gDiAOIA4gDiAOIA4gDiAOIA4gDiAEWARYBFgEWARYBFgEWARYBFgEWARwBHAEcARwBHAEcARwBHAEcARwDmgOaA5oDmgOaA5oDmgOaA5oDmgOaASIBIgEiASIBIgEiASIBIgEiA4gBFgEWARwBHAOaASIBIgE6AToBOgE6AToBOgE6AToBOgE6AToBKAFAAUABQAFAAUABQAFAAUABQAFAAS4BRgFGAUYBRgFGAUYBRgFGAUYBRgFGATQBTAFMAUwBTAFMAUwBTAFMAUwBTAFMAVIBUgFSAVIBUgFSAVIBUgFSAVIBUgFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBOgFAAUABRgFGAUYBRgFGAUwBUgFYAAECNgAAAAEA0gAAAAEBngAAAAEDMAAeAAEAiwH4AAEDVQAeAAECNwAAAAEByAAeAAEAxgAAAAECDgAAAAECAwAAAAECKQAAAAQAAAABAAgAAQJUAAwAAQJgAC4AAgAFAL8AwQAAAOwA8AADARABFAAIATIBMgANAUoBTgAOABMAKAAoACgANAA0ADQANAAuAkgCSAJIAkgCSAA0AEAAQAA6AEAARgABAj8CFgABAN8CEgABAN0CEgABAOQCEgABAOYCEgABATECEgAFAAAAAQAIAAEADAAiAAIALADIAAIAAwLmAusAAALtAvcABgL5AvoAEQABAAMAqgCrAWQAEwAAAE4AAABUAAAAlgAAAFoAAABgAAAAZgAAAGwAAABsAAAAcgAAAHgAAAB+AAAAhAAAAIoAAQIOAAECDgABAhQAAQIaAAAAkAAAAJYAAQDBAhYAAQDMAhIAAQCuAhIAAQBjAhIAAQCrAhIAAQDHAhIAAQDBAhIAAQCNAhIAAQDRAhIAAQC6AhIAAQBmAhIAAQDJAhIAAQBsAhIAAwAIACQARgACAAoAAAAQABYAAQFnAsYAAQOzAsYAAQOzAAAAAgAKABAAFgAcAAEBXQLGAAEBXQAAAAEDoALGAAEDoAAAAAIACgAQABYAHAABANcCFgABAPwAAAABAjQCFgABAlkAAAAFAAAAAQAIAAEADACgAAEAEgAeAAEAAQL4AAEAAAAGAAEBLQFOAAEABAACAAYADAABANcBCwABAjQBCwAFAAAAAQAIAAEADAASAAEAGgAgAAEAAQL3AAEAAgCqAKsAAQAAALgAAgAGABgAAgAGAAwAAQK2AAAAAQRsAAAAAgAGAAwAAQHEAAAAAQRZAAAABQAAAAEACAABAAwAEgABABgAJAABAAEC7AABAAEBZAABAAAABgABACMCEgABAAQAAgAGAAwAAQELAoEAAQJnAoEABgAQAAEACgABAAEADAAWAAEAHgBCAAIAAQL0AvcAAAABAAIC9AL1AAQAAAASAAAAEgAAABgAAAAeAAEAbwAAAAEAsgAAAAEA0QAAAAIABgAGAAEAb/8ZAAEAAAAKAmID0AACREZMVAAObGF0bgBAAAQAAAAA//8AFAAAAAEAAwAEAAUADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AOgAJQVpFIABoQ1JUIACYS0FaIADITUFIIAD4TU9MIAEoTkxEIAFYUk9NIAGIVEFUIAG4VFJLIAHoAAD//wAUAAAAAgADAAQABQAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAA//8AFQAAAAEAAwAEAAUABgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAA//8AFQAAAAEAAwAEAAUABwAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAA//8AFQAAAAEAAwAEAAUACAAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAA//8AFQAAAAEAAwAEAAUADQAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAA//8AFQAAAAEAAwAEAAUADAAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAA//8AFQAAAAEAAwAEAAUADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAA//8AFQAAAAEAAwAEAAUACwAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAA//8AFQAAAAEAAwAEAAUACQAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAA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"
+}
diff --git a/src/app/banner.png/fonts/geistmono-regular-otf.json b/src/app/banner.png/fonts/geistmono-regular-otf.json
new file mode 100644
index 0000000..f4200df
--- /dev/null
+++ b/src/app/banner.png/fonts/geistmono-regular-otf.json
@@ -0,0 +1,3 @@
+{
+ "base64Font": "T1RUTwAMAIAAAwBAQ0ZGINMvNaQAABocAADLSkdERUaOgIu5AADlaAAAAgJHUE9TaW4+HAAA52wAABCMR1NVQtVEIxcAAPf4AAANhE9TLzIF4h4/AAAN8AAAAGBjbWFwOpoBDgAAEcAAAAg6aGVhZC6pukoAAADUAAAANmhoZWEPQwwPAAANzAAAACRobXR4VrH9cAAAAQwAAAy+bWF4cAM5UAAAAADMAAAABm5hbWVaa41VAAAOUAAAA3Bwb3N0/58AMgAAGfwAAAAgAABQAAM5AAAAAQAAAAEzM2trAy5fDzz1AAMD6AAAAADiJyGbAAAAAOInIZv/yv8JC3oD9AAAAAcAAgAAAAAAAAHbAFgCWAAAAlgAGgJYABoCWAAaAlgAGgJYABoCWAAaAlgAGgJYABoCWAAaAlgAGgJYABoCWAAKAlgAWgJYACYCWAAmAlgAJgJYACYCWAAmAlgAJgJYAFoCWABaAlj/9gJY//YCWABaAlgAWgJYAFoCWABaAlgAWgJYAFoCWABaAlgAWgJYAFoCWABaAlgAHAJYAGQCWAAmAlgAJgJYACYCWAAmAlgAJgJYACYCWAAmAlgAFAJYAEQCWAAYAlgARAJYAFACWABQAlgAUAJYAFACWABQAlgAUAJYAFACWABQAlgAUAJYACgCWAAoAlgAKAJYADwCWAA8AlgAPAJYAGQCWABkAlgAZAJYAGQCWP/mAlgAPAJYAEYCWABGAlgARgJYAEYCWABGAlgARgJYACYCWAAmAlgAJgJYACYCWAAmAlgAJgJYACYCWAAmAlgAJgJYAAcCWABaAlgAWgJYACYCWABGAlgARgJYAEYCWABGAlgALAJYACwCWAAsAlgALAJYACwCWAAsAlgAJAJYACgCWAAoAlgAKAJYACgCWAAoAlgAPAJYADwCWAA8AlgAPAJYADwCWAA8AlgAPAJYADwCWAA8AlgAPAJYADwCWAAYAlgAKAJYACgCWAAoAlgAKAJYACgCWAAyAlgALAJYACwCWAAsAlgALAJYACwCWAAsAlgAMgJYADICWAAyAlgAMgJYAQACWABkAlgARgJYAEcCWABHAlgARwJYAEcCWAAUAlgAFAJYABQCWAAUAlgAFAJYABQCWAAaAlgAJgJYAFoCWABaAlgAJgJYAFACWABQAlgAJgJYADwCWAAoAlgALAJYADICWAAUAlgANgJYADYCWAA2AlgANgJYADYCWAA2AlgANgJYADYCWAA2AlgANgJYADYCWAANAlgAUAJYAEYCWABGAlgARgJYAEYCWABGAlgARgJYADICWAAyAlgAMgJYADoCWABCAlgAQgJYAEICWABCAlgAQgJYAEICWABCAlgAQgJYAEICWABCAlgAPAJYAEYCWAA8AlgAPAJYADwCWAA8AlgAPAJYADwCWAA8AlgAPAJYAGQCWAAZAlgAAgJYAFACWABQAlgAUAJYAFACWABQAlgAUAJYAFACWABQAlgAUAJYAFACWABuAlgAbgJYAG4CWABuAlgAWgJY//kCWABaAlgAUAJYAFACWABQAlgAUAJYAGQCWAAoAlgAYAJYAGACWABgAlgAYAJYAGACWABgAlgAOgJYADoCWAA6AlgAOgJYADoCWAA6AlgAOgJYACMCWAA6AlgACgJYAFACWABQAlgAMgJYAFoCWABaAlgAWgJYAFoCWABQAlgAUAJYAFACWABQAlgAUAJYAFACWABMAlgAMgJYADICWAAyAlgAMgJYADICWABaAlgAWgJYAFoCWABaAlgAWgJYAFoCWABaAlgAWgJYAFoCWABaAlgAWgJYADYCWAAUAlgAFAJYABQCWAAUAlgAFAJYADYCWAA2AlgANgJYADYCWAA2AlgANgJYADYCWABSAlgAUgJYAFICWABSAlgBAAJYAFACWABgAlgATgJYAE4CWABOAlgATgJYAE4CWABOAlgATgJYAE4CWABOAlgATgJYAE4CWAA2AlgANgJYADYCWAA2AlgANgJYADYCWAA2AlgANgJYADYCWAA2AlgANgJYAFACWABQAlgAUAJYAFACWABPAlgANgJYAEYCWABCAlgAQgJYADwCWABQAlgAUAJYAFACWABQAlgAbgJYADoCWABaAlgAFAJYADYCWABSAlgATgJYADYCWACPAlgAkQJYABoCWABQAlgAWgJYAGQCWABkAlgAZAJYABMCWAAMAlgAWgJYAFoCWABaAlgABwJYACECWABGAlgARgJYADoCWAA6AlgAFAJYADwCWABEAlgAJgJYAEYCWABaAlgAJgJYACgCWAA0AlgANAJYABkCWAAyAlgAMgJYADwCWAA3AlgAIwJYAEYCWABaAlgAIwJYAB4CWAAFAlgAFAJYACwCWAAmAlgALQJYAFACWABQAlgAKAJYAAUCWAAUAlgALgJYAAUCWAAPAlgAAQJYACYCWAAOAlgABwJYADACWAA1AlgALAJYACsCWAAyAlgAIwJYAEYCWABQAlgAHAJYAEYCWAAmAlgANAJYADYCWAA6AlgAWgJYAJUCWACVAlgAlQJYACkCWAAUAlgAQgJYAEICWABCAlgACwJYAFACWABeAlgAXgJYAF4CWABbAlgAWwJYABkCWAAkAlgAWwJYADoCWABaAlgAUAJYAEYCWABDAlgANgJYADYCWAAXAlgANgJYAEUCWABaAlgAOAJYADgCWABaAlgAUQJYACMCWAAKAlgABQJYABQCWABQAlgAPQJYAD4CWABQAlgAUAJYAG4CWAAZAlgAFAJYAFECWAAZAlgACgJYAA4CWAA6AlgAJQJYAAsCWABaAlgAWwJYADYCWAA2AlgANgJYAEUCWABkAlgAUAJYADwCWABeAlgAOgJYADYCWAAaAlgACQJYADsCWAAQAlgAMwJYADICWAA8AlgAMgJYADICWAAoAlgAPAJYADICWAA8AlgAMgJYADICWAAPAlgADwJYAA8CWAAPAlgADwJYAA8CWAAPAlgADwJYAA8CWAAPAlgADwJYAA8CWAAPAlgADwJYAA8CWAAPAlgADwJYAA8CWAAPAlgADwJYADACWAANAlgAKAJYACgCWAAUAlgAKAJYABECWAAoAlgAKAJYABQCWAARAlgAKAJYAJUCWACzAlgAoAJYAKACWACEAlgApQJYAKUCWACmAlgAnwJYAKgCWACVAlgAswJYAKACWACgAlgAhAJYAKUCWAClAlgApgJYAJ8CWACoAlgAAASwAHwHCACHCWAAPgcIAD4EsAA+BwgAPgSwAD4HCAA+BLAAzQSwAIwHCAGLBwgBAgSwAKIEsADXBLABDgSwAD4HCAA+BLAAaAcIAHwHCADWBLAAKgcIATQEsABsBwgAbAJYAPACWADwAlgA8AJYAPACWAA3AlgA8AJYAPACWABDAlgAQwJYAPACWADDAlgAggJYAKECWAA2AlgAbAJYAGwCWADwAlgA8AJYAPACWAA3AlgA8AJYAPACWABAAlj//wJYAPACWACWAlgAZAJYACgCWABQAlgABgJYAL0CWACXAlgAXwJYAGoCWACpAlgAjgJYAKsCWACmAlgAuQJYAI0CWACqAlgAfwJYAFQCWABW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AXoBfQF+AX8BeAF5AYABYwFtAXQBUwFUAVUBVgFaAVsBXgFfAWABYQFiAW4BbwFxAXABcgFzAXcBdgF1AXwBgQGCAZwBnQGlAbEBsgG0AbMBtQG2AboBuQG4Ab8BxAHFAZ4BnwHGAZkBvgG9AcABwQHCAbsBvAHDAaYBpAGwAbcBhAHHAYUByAGGAckBhwHKAVgBmgFZAZsBiAHLAYkBzAGKAc0BiwHOAYwBzwGNAdABjgHRAY8B0gGRAdQBkgHVAZMB1gGUAdcAKwDHAHgBFgB1ARMAdwEVACIAvgB+ARwAfwEdAmoCawJmAmgCaQJnArMCtAI+ArUCrAH+Af8CAgLmAuAC4gLkAugC6QLnAuEC4wLlAtoCyALQAs8CugK4ArwCtwHnAwwDAwMHAwQDCAMFAwkDBgMKAwIDAAMBAlgCWQJeAl8CXAJdAmICYwJaAlsCYAJhAmQCZQCEASIAAAADAAAAAAAA/5wAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAQAEAgABAQESR2Vpc3RNb25vLVJlZ3VsYXIAAQEBKfpxAPpyAfpzAvgYBPsRDANV+4scC3r6iAUcMrkPHDWrEbYdAAC9ExICWQIAAQAHAA4AFQAcACIAKAAzAD0AQwBJAE8AWQBgAGcAbgB1AHsAgQCMAJMAnQCkAKsArwC6AMQAywDSANgA4wDuAPUA/AECAQgBDwEVARsBIgElATIBOQE/AUUBTAFSAVoBZQFsAXMBdwF9AYQBiwGRAZ4BpQGsAbEBtwG9AcgB0QHXAeIB6AHvAfUB/wIGAhUCJAIqAjUCQAJMAlICXQJtAnkCiAKUAqICsQK/As4C3QLrAvoDCAMWAyQDMgNBA1UDWwNiA2kDcAN2A3wDhwORA5cDnQOjA60DtAO7A8IDyQPPA9UD4APnA/ED+AP/BAMEDgQXBB4EJQQrBDIEPQRIBE8EVgRcBGIEaQRvBHUEfAR/BIwEkwSZBJ8EpgSsBLQEvwTGBMoE0ATXBN4E5ATxBPgE/wUEBQoFEAUbBSQFKgU1BTsFQgVIBVIFWQVoBXcFfQWIBZMFnwWvBb0FyAXUBeAF6gX1BfsGBgYRBh0GLQY7BkYGUgZeBmgGcwZ5BoQGjwabBqYGtAbDBtEG4AbvBvUHAwcRBx0HIwcxBz8HTQdbB2oHfQeQB5cHngelB6wHswe6B8EHyAfPB9YH3QfkB+sH8gf5CAAIBwgOCBUIHAgjCCoIMQg4CD8IRghNCFQIWwhiCGkIcAh3CH4IhQiMCJMImgihCKgIrwi2CL0IxAjLCNII2QjgCOcI7gj1CPwJAwkKCREJGAkfCSYJLQk0CTsJQglJCVAJVwleCWUJbAlzCXoJgQmICY8JlgmdCaQJqwmyCbkJwAnHCc4J1QncCeMJ6gnxCfgJ/woGCg0KFAobCiIKKQowCjcKPgpFCkwKUwpaCmEKaApvCnYKfQqECosKkgqZCqAKpwquCrUKvArDCsoK0QrYCt8K5grtCvQK+wsCCwkLEAsXCx4LJQssCzMLOQtAC0YLSAtPC1YLXQtkC2sLcgt5C4ALhwuOC5ULnAujC6oLsQu4C78LxgvNC9QL2wvkC+sL8gv5DAAMBwwODBUMHAwjDCoMMQw4DD8MRgxNDFQMWwxiDGkMcAx3DH4MhQyMDJ4MtwzYDPINBQ0gDTANRQ1bDW0Nhg2eDa8Nvw3TDeQN+w4RDjAOVQ5vDpMOow65DsAOyw7VDuMO8A77DwoPFw8oDzsPQg9JD1APVw9eD2UPbA9zD3oPgQ+ID48Plg+dD6QPqw/CD9UP7Q//EBMQIRAxEEEQVxBvEIEQmxCvEMUQ2BDzEQURHxE6EVQRZBF7EZMRqBHGEesR+BIJEh4SMxJCElcSdBKLEp8SsBLFEtkS7RMJEygTPxNVE2cTfBOTE60TzxPjE+oT8RP3E/0UBBQLFBIUGRQgFCcULhQ1FDkUQBRHFE4UVRRdFGkUchR9FIUUjRSUFJsUpBSrFLYUvRTEFMsU1RTcFOUU7BT1FPwVBRUOFRUVHBUjFSoVMRU4FT8VRhVNFVsVYhVuFXoViRWVFaMVrxW9FckV1xXlFewV8hX5FgAWBxYOFhUWHBYjFioWMRY4Fj8WRhZNFlQWWxZlFmwWcxZ8FoUWjBaXFp4WpRasFrMWvBbDFsoW0RbgFucW7hb1FwEXDRcaFygXLxc2Fz0XSRdbF2IXcxeFQWJyZXZldW5pMDFDREFtYWNyb25Bb2dvbmVrQ2FjdXRlQ2Nhcm9uQ2NpcmN1bWZsZXhDZG90YWNjZW50RGNhcm9uRGNyb2F0RWNhcm9uRWRvdGFjY2VudEVtYWNyb25Fb2dvbmVrdW5pMUVCQ3VuaTAxOEZHYnJldmVHY2Fyb25HY2lyY3VtZmxleHVuaTAxMjJHZG90YWNjZW50dW5pMUUyMHVuaTAxRTRIYmFySGNpcmN1bWZsZXhJZG90YWNjZW50SW1hY3JvbklvZ29uZWtJdGlsZGV1bmkwMDRBMDMwMUpjaXJjdW1mbGV4dW5pMDFFOHVuaTAxMzZMYWN1dGVMY2Fyb251bmkwMTNCTmFjdXRlTmNhcm9udW5pMDE0NUVuZ09odW5nYXJ1bWxhdXRPbWFjcm9uUmFjdXRlUmNhcm9udW5pMDE1NlNhY3V0ZVNjZWRpbGxhU2NpcmN1bWZsZXh1bmkwMjE4dW5pMUU5RVRiYXJUY2Fyb251bmkwMTYydW5pMDIxQVVicmV2ZVVodW5nYXJ1bWxhdXRVbWFjcm9uVW9nb25la1VyaW5nVXRpbGRlV2FjdXRlV2NpcmN1bWZsZXhXZGllcmVzaXNXZ3JhdmVZY2lyY3VtZmxleFlncmF2ZXVuaTFFRjhaYWN1dGVaZG90YWNjZW50dW5pQTc4QnVuaTAxM0IubG9jbE1BSHVuaTAxNDUubG9jbE1BSFIuc3MwNFJhY3V0ZS5zczA0UmNhcm9uLnNzMDR1bmkwMTU2LnNzMDRHLnNzMDZHYnJldmUuc3MwNkdjaXJjdW1mbGV4LnNzMDZ1bmkwMTIyLnNzMDZHZG90YWNjZW50LnNzMDZ1bmkxRTIwLnNzMDZBZGllcmVzaXMuc3MwOENkb3RhY2NlbnQuc3MwOEVkaWVyZXNpcy5zczA4RWRvdGFjY2VudC5zczA4R2RvdGFjY2VudC5zczA4SWRpZXJlc2lzLnNzMDhJZG90YWNjZW50LnNzMDhPZGllcmVzaXMuc3MwOFVkaWVyZXNpcy5zczA4V2RpZXJlc2lzLnNzMDhZZGllcmVzaXMuc3MwOFpkb3RhY2NlbnQuc3MwOEdkb3RhY2NlbnQuc3MwNi5zczA4YWJyZXZldW5pMDFDRWFtYWNyb25hb2dvbmVrY2FjdXRlY2Nhcm9uY2NpcmN1bWZsZXhjZG90YWNjZW50ZGNhcm9uZGNyb2F0ZWNhcm9uZWRvdGFjY2VudGVtYWNyb25lb2dvbmVrdW5pMUVCRHVuaTAyNTlnYnJldmVnY2Fyb25nY2lyY3VtZmxleHVuaTAxMjNnZG90YWNjZW50dW5pMUUyMXVuaTAxRTVoYmFyaGNpcmN1bWZsZXhpLmxvY2xUUktpbWFjcm9uaW9nb25la2l0aWxkZXVuaTAyMzd1bmkwMDZBMDMwMWpjaXJjdW1mbGV4dW5pMDFFOXVuaTAxMzdsYWN1dGVsY2Fyb251bmkwMTNDbmFjdXRlbmNhcm9udW5pMDE0NmVuZ29odW5nYXJ1bWxhdXRvbWFjcm9ucmFjdXRlcmNhcm9udW5pMDE1N3NhY3V0ZXNjZWRpbGxhc2NpcmN1bWZsZXh1bmkwMjE5dGJhcnRjYXJvbnVuaTAxNjN1bmkwMjFCdWJyZXZldWh1bmdhcnVtbGF1dHVtYWNyb251b2dvbmVrdXJpbmd1dGlsZGV3YWN1dGV3Y2lyY3VtZmxleHdkaWVyZXNpc3dncmF2ZXljaXJjdW1mbGV4eWdyYXZldW5pMUVGOXphY3V0ZXpkb3RhY2NlbnR1bmlBNzhDdW5pMDEzQy5sb2NsTUFIdW5pMDE0Ni5sb2NsTUFIYS5zczAxYWFjdXRlLnNzMDFhYnJldmUuc3MwMXVuaTAxQ0Uuc3MwMWFjaXJjdW1mbGV4LnNzMDFhZGllcmVzaXMuc3MwMWFncmF2ZS5zczAxYW1hY3Jvbi5zczAxYW9nb25lay5zczAxYXJpbmcuc3MwMWF0aWxkZS5zczAxYS5zczAyYWFjdXRlLnNzMDJhYnJldmUuc3MwMnVuaTAxQ0Uuc3MwMmFjaXJjdW1mbGV4LnNzMDJhZGllcmVzaXMuc3MwMmFncmF2ZS5zczAyYW1hY3Jvbi5zczAyYW9nb25lay5zczAyYXJpbmcuc3MwMmF0aWxkZS5zczAybC5zczAzbGFjdXRlLnNzMDNsY2Fyb24uc3MwM3VuaTAxM0Muc3MwM2xzbGFzaC5zczAzYWRpZXJlc2lzLnNzMDhjZG90YWNjZW50LnNzMDhlZGllcmVzaXMuc3MwOGVkb3RhY2NlbnQuc3MwOGdkb3RhY2NlbnQuc3MwOGkuc3MwOGlkaWVyZXNpcy5zczA4aS5sb2NsVFJLLnNzMDhpb2dvbmVrLnNzMDhqLnNzMDhvZGllcmVzaXMuc3MwOHVkaWVyZXNpcy5zczA4d2RpZXJlc2lzLnNzMDh5ZGllcmVzaXMuc3MwOHpkb3RhY2NlbnQuc3MwOGFkaWVyZXNpcy5zczAxLnNzMDhhZGllcmVzaXMuc3MwMi5zczA4dW5pMDQxMHVuaTA0MTF1bmkwNDEydW5pMDQxM3VuaTA0MDN1bmkwNDkwdW5pMDQ5MnVuaTA0MTR1bmkwNDE1dW5pMDQwMHVuaTA0MDF1bmkwNDE2dW5pMDQxN3VuaTA0MTh1bmkwNDE5dW5pMDQxQXVuaTA0MEN1bmkwNDFCdW5pMDQxQ3VuaTA0MUR1bmkwNDFFdW5pMDQxRnVuaTA0MjB1bmkwNDIxdW5pMDQyMnVuaTA0MjN1bmkwNDBFdW5pMDQyNHVuaTA0MjV1bmkwNDI3dW5pMDQyNnVuaTA0Mjh1bmkwNDI5dW5pMDQwRnVuaTA0MkN1bmkwNDJCdW5pMDQyQXVuaTA0MDl1bmkwNDBBdW5pMDQwNXVuaTA0MDR1bmkwNDJEdW5pMDQwNnVuaTA0MDd1bmkwNDA4dW5pMDQwQnVuaTA0MkV1bmkwNDJGdW5pMDQwMnVuaTA0NjJ1bmkwNDZBdW5pMDQ3MnVuaTA0NzR1bmkwNDk2dW5pMDQ5QXVuaTA0QTJ1bmkwNEFFdW5pMDRCMHVuaTA0QjJ1bmkwNEI2dW5pMDRCQXVuaTA0QzB1bmkwNEQ4dW5pMDRFMnVuaTA0RTh1bmkwNEVFdW5pMDQzMHVuaTA0MzF1bmkwNDMydW5pMDQzM3VuaTA0NTN1bmkwNDkxdW5pMDQ5M3VuaTA0MzR1bmkwNDM1dW5pMDQ1MHVuaTA0NTF1bmkwNDM2dW5pMDQzN3VuaTA0Mzh1bmkwNDM5dW5pMDQ1RHVuaTA0M0F1bmkwNDVDdW5pMDQzQnVuaTA0M0N1bmkwNDNEdW5pMDQzRXVuaTA0M0Z1bmkwNDQwdW5pMDQ0MXVuaTA0NDJ1bmkwNDQzdW5pMDQ1RXVuaTA0NDR1bmkwNDQ1dW5pMDQ0N3VuaTA0NDZ1bmkwNDQ4dW5pMDQ0OXVuaTA0NUZ1bmkwNDRDdW5pMDQ0QnVuaTA0NEF1bmkwNDU5dW5pMDQ1QXVuaTA0NTV1bmkwNDU0dW5pMDQ0RHVuaTA0NTZ1bmkwNDU3dW5pMDQ1OHVuaTA0NUJ1bmkwNDRFdW5pMDQ0RnVuaTA0NTJ1bmkwNDYzdW5pMDQ2QnVuaTA0NzN1bmkwNDc1dW5pMDQ5N3VuaTA0OUJ1bmkwNEEzdW5pMDRBRnVuaTA0QjF1bmkwNEIzdW5pMDRCN3VuaTA0QkJ1bmkwNENGdW5pMDREOXVuaTA0RTN1bmkwNEU5dW5pMDRFRkxhbWJkYXVuaTAzQTlsYW1iZGFwaXVuaTIxMDd1bmkyNEZGdW5pMjc3NnVuaTI3Nzd1bmkyNzc4dW5pMjc3OXVuaTI3N0F1bmkyNzdCdW5pMjc3Q3VuaTI3N0R1bmkyNzdFdW5pMjRFQXVuaTI0NjB1bmkyNDYxdW5pMjQ2MnVuaTI0NjN1bmkyNDY0dW5pMjQ2NXVuaTI0NjZ1bmkyNDY3dW5pMjQ2OHplcm8uc3MwOXVuaTIxNTN1bmkyMTU0dW5pMjE1NXVuaTIwODB1bmkyMDgxdW5pMjA4MnVuaTIwODN1bmkyMDg0dW5pMjA4NXVuaTIwODZ1bmkyMDg3dW5pMjA4OHVuaTIwODl1bmkyMDcwdW5pMDBCOXVuaTAwQjJ1bmkwMEIzdW5pMjA3NHVuaTIwNzV1bmkyMDc2dW5pMjA3N3VuaTIwNzh1bmkyMDc5dW5pMDBBMGh5cGhlbl9oeXBoZW4ubGlnYWh5cGhlbl9oeXBoZW5faHlwaGVuLmxpZ2FoeXBoZW5faHlwaGVuX2h5cGhlbl9ncmVhdGVyLmxpZ2FoeXBoZW5faHlwaGVuX2dyZWF0ZXIubGlnYWh5cGhlbl9ncmVhdGVyLmxpZ2FoeXBoZW5fZ3JlYXRlcl9ncmVhdGVyLmxpZ2FoeXBoZW5fbGVzcy5saWdhaHlwaGVuX2xlc3NfbGVzcy5saWdhaHlwaGVuX2FzY2lpdGlsZGUubGlnYWJyYWNlbGVmdF9iYXIubGlnYXBlcmlvZF9wZXJpb2RfcGVyaW9kLmxpZ2FwZXJpb2RfcGVyaW9kX2VxdWFsLmxpZ2FwZXJpb2RfZXF1YWwubGlnYWNvbG9uX2VxdWFsLmxpZ2FleGNsYW1fcXVlc3Rpb24ubGlnYWV4Y2xhbV9lcXVhbC5saWdhZXhjbGFtX2VxdWFsX2VxdWFsLmxpZ2FxdWVzdGlvbl9xdWVzdGlvbi5saWdhcXVlc3Rpb25fcXVlc3Rpb25fcXVlc3Rpb24ubGlnYW51bWJlcnNpZ25fbnVtYmVyc2lnbl9udW1iZXJzaWduLmxpZ2FudW1iZXJzaWduX3VuZGVyc2NvcmUubGlnYW51bWJlcnNpZ25fdW5kZXJzY29yZV9wYXJlbmxlZnQubGlnYXNsYXNoX2VxdWFsLmxpZ2FzbGFzaF9lcXVhbF9lcXVhbC5saWdhdW5pMzAwM3BlcmlvZC5zczA4Y29sb24uc3MwOHNlbWljb2xvbi5zczA4ZWxsaXBzaXMuc3MwOGV4Y2xhbS5zczA4ZXhjbGFtZG93bi5zczA4cXVlc3Rpb24uc3MwOHF1ZXN0aW9uZG93bi5zczA4cGVyaW9kY2VudGVyZWQuc3MwOHVuaTMwMUN1bmkzMDA4dW5pMzAwOXVuaTMwMTB1bmkzMDExdW5pMzAwQ3VuaTMwMER1bmkzMDBBdW5pMzAwQnVuaTMwMTR1bmkzMDE1dW5pMzAwRXVuaTMwMEZ1bmkzMDE2dW5pMzAxN3VuaTBFM0ZiYXJfaHlwaGVuX2dyZWF0ZXIubGlnYWJhcl9icmFjZXJpZ2h0LmxpZ2FiYXJfYmFyX2Jhcl9ncmVhdGVyLmxpZ2FiYXJfYmFyX2VxdWFsLmxpZ2FiYXJfYmFyX2dyZWF0ZXIubGlnYWJhcl9lcXVhbC5saWdhYmFyX2dyZWF0ZXIubGlnYWVxdWFsX2VxdWFsLmxpZ2FlcXVhbF9lcXVhbF9lcXVhbC5saWdhZXF1YWxfZXF1YWxfZ3JlYXRlci5saWdhZXF1YWxfZ3JlYXRlci5saWdhZXF1YWxfZ3JlYXRlcl9ncmVhdGVyLmxpZ2FlcXVhbF9sZXNzX2xlc3MubGlnYWVxdWFsX3NsYXNoX2VxdWFsLmxpZ2FncmVhdGVyX2h5cGhlbi5saWdhZ3JlYXRlcl9oeXBoZW5fZ3JlYXRlci5saWdhZ3JlYXRlcl9lcXVhbC5saWdhZ3JlYXRlcl9lcXVhbF9ncmVhdGVyLmxpZ2FncmVhdGVyX2dyZWF0ZXJfaHlwaGVuLmxpZ2FncmVhdGVyX2dyZWF0ZXJfZXF1YWwubGlnYWxlc3NfaHlwaGVuLmxpZ2FsZXNzX2h5cGhlbl9oeXBoZW4ubGlnYWxlc3NfaHlwaGVuX2dyZWF0ZXIubGlnYWxlc3NfaHlwaGVuX2xlc3MubGlnYWxlc3NfZXhjbGFtX2h5cGhlbl9oeXBoZW4ubGlnYWxlc3NfZXhjbGFtX2h5cGhlbl9oeXBoZW5faHlwaGVuLmxpZ2FsZXNzX2Jhci5saWdhbGVzc19iYXJfYmFyLmxpZ2FsZXNzX2Jhcl9iYXJfYmFyLmxpZ2FsZXNzX2Jhcl9ncmVhdGVyLmxpZ2FsZXNzX2VxdWFsLmxpZ2FsZXNzX2VxdWFsX2VxdWFsLmxpZ2FsZXNzX2VxdWFsX2VxdWFsX2dyZWF0ZXIubGlnYWxlc3NfZXF1YWxfZ3JlYXRlci5saWdhbGVzc19lcXVhbF9sZXNzLmxpZ2FsZXNzX2dyZWF0ZXIubGlnYWxlc3NfbGVzc19oeXBoZW4ubGlnYWxlc3NfbGVzc19lcXVhbC5saWdhbGVzc19hc2NpaXRpbGRlLmxpZ2FsZXNzX2FzY2lpdGlsZGVfZ3JlYXRlci5saWdhbGVzc19hc2NpaXRpbGRlX2FzY2lpdGlsZGUubGlnYWxlc3Nfc2xhc2hfZ3JlYXRlci5saWdhYXNjaWl0aWxkZV9oeXBoZW4ubGlnYWFzY2lpdGlsZGVfYXQubGlnYWFzY2lpdGlsZGVfZXF1YWwubGlnYWFzY2lpdGlsZGVfZ3JlYXRlci5saWdhYXNjaWl0aWxkZV9hc2NpaXRpbGRlLmxpZ2Fhc2NpaXRpbGRlX2FzY2lpdGlsZGVfZ3JlYXRlci5saWdhcGVyY2VudF9wZXJjZW50LmxpZ2F1bmlGOEZGdW5pMjExN21pbnV0ZXNlY29uZHVuaTIxMTZ1bmkyNDIzdW5pMjQwQ3VuaTIzMjd1bmkyMzJCdW5pMjMyNnVuaTIzQ0V1bmkyNDBCRXVyb3VuaTIwQjR1bmkyMEJEdW5pMjBCOXVuaTIwQUFub3RlcXVhbGdyZWF0ZXJlcXVhbGxlc3NlcXVhbGFwcHJveGVxdWFsaW5maW5pdHlpbnRlZ3JhbHVuaTIyMDZwcm9kdWN0c3VtbWF0aW9ucmFkaWNhbHBhcnRpYWxkaWZmdW5pMDBCNWFycm93dXB1bmkyMTk3YXJyb3dyaWdodHVuaTIxOThhcnJvd2Rvd251bmkyMTk5YXJyb3dsZWZ0dW5pMjE5NmFycm93Ym90aGFycm93dXBkbnVuaTIxOUR1bmkyMUU0dW5pMjFFNXVuaTIxQTl1bmkyMUFBdW5pMjFCMHVuaTIxQjF1bmkyMUIzdW5pMjFCNGNhcnJpYWdlcmV0dXJudW5pMjFFN2Fycm93dXAuc3MwN3VuaTIxOTcuc3MwN2Fycm93cmlnaHQuc3MwN3VuaTIxOTguc3MwN2Fycm93ZG93bi5zczA3dW5pMjE5OS5zczA3YXJyb3dsZWZ0LnNzMDd1bmkyMTk2LnNzMDdhcnJvd2JvdGguc3MwN2Fycm93dXBkbi5zczA3dW5pMjVDRmNpcmNsZXVuaTI1Q0Nsb3plbmdldHJpYWd1cHVuaTI1QjZ0cmlhZ2RudW5pMjVDMHVuaTI1QjN1bmkyNUI3dW5pMjVCRHVuaTI1QzF1bmkyNTBDdW5pMjUwMHVuaTI1MTR1bmkyNTAydW5pMjUxQ3VuaTAzMDYuY3l1bmkwMzA4dW5pMDMwN2dyYXZlY29tYmFjdXRlY29tYnVuaTAzMEJ1bmkwMzBDLmFsdHVuaTAzMDJ1bmkwMzBDdW5pMDMwNnVuaTAzMEF0aWxkZWNvbWJ1bmkwMzA0dW5pMDMxMnVuaTAzMjZ1bmkwMzI2LmxvY2xNQUh1bmkwMzI3dW5pMDMyOHVuaTAzMzV1bmkwMzA4LnNzMDh1bmkwMzA3LnNzMDhkaWVyZXNpcy5zczA4ZG90YWNjZW50LnNzMDh1bmkwMkJDdW5pMDJCOXVuaTAyQzhibGFja0NpcmNsZWRibGFja0NpcmNsZWRTdHJva2UwMDEuMjAwY29weXJpZ2h0IG1pc3NpbmdHZWlzdCBNb25vIFJlZ3VsYXIA8wIAAQAEAAwAEgAZAB8AJQAqADQANwBCAEsAUQBZAF8ApADQANgA4AEeAVcBdgF7AYgBnwGmAdYB4QH3AgwCFgIdAiQCNgJlAm8CeAKAAoYCogKmArsC2gLrAvYC/wMGAxIDGQMfAyYDMAM0A0MDUQNjA28DeQOAA4kDkAOfA6YD9AP+BBwENwRMBFEEYARxBHwEhwSRBJ4EpwSyBLoEwwTKBNEE3QTlBO0E9QVNBY0FzgYRBjAGNwZJBmQGeAaUBsAGxAbrBvEHAwcWBycHNwc+B0wHWgdfB3YHegd/B4QHkAeiB7MHwwfNB9YH3wfoB/EH/QgFCA0IFQggCC8IgAiTCN4JIQl9CdYKIApsCrcK/AsECwcLTwuVC7gLwgviC/wMMAw6DHQMlQywDNMM1w0PDSENUw1eDW4Ngw2xDdoN+g4kDjMONw5VDn4Opg7ODtoPAA8lDzYPWw+AD5EPow+sD88P7xABECEQQRBgEH4QnBC6ENcQ9BELESYRQBFYEWYRfRGUEasRuhHQEdsR6BH9EgkSHhIqEj4SUhJkEnIS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+0j7swgLi/cOPdnW0fdB0fdcdwv3cMT3OLbct8fEAbvDC3fr9wQB9y8tCgMLFVMGSy0FNe/laQcOnnR2mGsbVWNjPokfC9X4ENdB1RL3eNRC3wsDyfezFfhw2fxwBgsGY/wKBVyGd3JqGwvvCuUL+Qj3bd38nDn3bQYLFc0G5ffeBS4GDvsm0fsX9y4L9zzp9xn3gQv7Kvd0QdX4XHcSC535OAH3mdkD+M8L0xXRBkn3FAUtBgv3DAH3hPcMA/fAC/ju9xQB93D3NAML6/cA9z33PSv3AAt38u0B9zTj8+MDCwAAAAEAAgAOAAAAAAAAAcIAAgBIAAIADAABAA8AIgABACUAKwABAC0ALQABAC8AQwABAEUAUwABAFcAYQABAGMAcgABAHQAeAABAHoAgwABAIUAqQABAKsAswABALUAvwABAMEA8QABAPYA/wABAQEBEAABARIBFgABARgBIQABASMBUAABAVMBUwABAVYBWQABAVsBXQABAWABYwABAWYBZwABAWoBbQABAXoBfwABAYIBggABAYYBhgABAYkBjAABAZABkAABAZIBlQABAZgBmwABAZ0BnwABAaIBpgABAaoBqgABAa0BrQABAa8BsAABAb0BvQABAcABwwABAcUBxQABAckByQABAcwBzAABAdIB1wABAd4B4gAEAeQB5QAEAf0CBgACAhwCMwACAjQCNAAEAjYCNgAEAjkCOQAEAjsCOwAEAkECQgAEAkUCTAABAk0CTQAEAlACUAAEAlICUgAEAlQCVQAEAmYCawABAnQCpAACAqYCpgAEAq0CrgABArECsQAEArUCtQACAr0CwAABAsYCxgABAsoCygABAssCywAEAs0CzgAEAtMC0wAEAt4C3gAEAwEDAQABAxADJAADAAEAAwAAABAAAAAgAAAAKgACAAIDEQMVAAADFwMdAAUAAgABAx4DIQAAAAIAAwMQAxUAAAMXAx0ABgMjAyQADQAAAAEAAAAKAGoAmgACREZMVAAObGF0bgASAEgAAAA6AAlBWkUgAERDUlQgAERLQVogAERNQUggAERNT0wgAEROTEQgAERST00gAERUQVQgAERUUksgAEQAAP//AAIAAQACAAD//wACAAAAAgADbWFyawAUbWFyawAUbWttawAoAAAACAAAAAEAAgADAAQABQAGAAcAAAACAAgACQAKABYBEgMAAx4DdAuMDFwOLA7kDzgABAAAAAEACAABA2oADAACA/wANAACAAYCRQJMAAACZgJrAAgCrQKuAA4CvQLAABACxgLGABQCygLKABUAFg94AAAPeAAAD3gAAA9yAAAAWgBgAGYAAABsAHIPeAAAAHgAAAB+AAAAAACEAIoAAACQAJYAnAAAAKIAAA94AAAK4ArmAKgAAAmuCkQArgC0CsIOygC6AAAAAQBiAhIAAQEtABIAAQEiAhIAAQC5AhIAAQD0ACIAAQEd/6kAAQEr/6kAAQEtAnwAAQErAfwAAQEaAhIAAQE6AnwAAQEkAhIAAQF9AhIAAQEdAhIAAQE4AsYAAQFFAAAAAQBTAhIABAAAAAEACAABAm4ADAACAwAAkgABAEEBUwFWAVcBWAFZAVsBXAFdAWABYQFiAWMBZgFnAWoBawFsAW0BegF7AXwBfQF+AX8BggGGAYkBigGLAYwBkAGSAZMBlAGVAZgBmQGaAZsBnQGeAZ8BogGjAaQBpQGmAaoBrQGvAbABvQHAAcEBwgHDAcUByQHMAdIB0wHUAdUB1gHXAEEJaAAAAQwAAAEGAAABDAAAAQwAAAhgCGYHvghmCGAIZgloDXAJaA1wARIAAAEYAAAJaAAACWgNcAhUCFoJaA1wATYAAAE2AAAJbg1wCWgNcAloDXAJaA1wCWgNcAfWAAABHgEkCWgNcAEqAAABMAAACWgNcAluCXQJaA1wCWgNcAloDXABNgAACXoJgAFCAAABPAAAAUIAAAFCAAAJkgmYCJYJmAmSCZgOGAAADhgAAAlEAAAOGAAACUQAAA4eDXAJhgmMCbwAAAm8AAAJIAkaCLoAAAmqAAAIwAAACK4AAAFIAU4OHg1wDh4AAAiuAAAJaA1wCJwIog4YAAAOHg1wCbwAAAABAUYDjgABAUYCxgABASYCxgABASYDjgABATYCxgABATYAAAABARwCxgABAR0CxgABATACxgABAU8C2gABAU8CEgABAVACEgABATgAAAAEAAAAAQAIAAEImAAMAAEI2AASAAEAAQFrAAEJGAAEAAAAAQAIAAEJSgAMAAEJwAAuAAEADwFTAVsBXAFdAX0BfgGQAZUBnQGeAZ8BwAHBAdMB1AAPCpAKlgqWCpYKnAqcCpwKtAq6CroKugrACsAKnAquAAQAAAABAAgAAQAMACIAAgCeAOwAAgADAxADFQAAAxcDIQAGAyMDJAARAAIAFAACAAwAAAAPACIACwAlACsAHwAtAC0AJgAvAEMAJwBFAFMAPABXAGEASwBjAHIAVgB0AHgAZgB6AIMAawCFAKkAdQCrALMAmgC1AL8AowDBAPEArgD2AP8A3wEBARAA6QESARYA+QEYASEA/gEjAVABCAMBAwEBNgATAAALsAAAC7AAAAuqAAALkgAAC5gAAAueAAALqgAAC7AAAAuwAAALsAAAC7AAAAuqAAALpAABCwIAAQsCAAELCAABCw4AAAuqAAALsAE3BqwAAAamAAAGrAAABqwAAAasAAAGrAAABqYAAAasAAAGrAAABqwAAAasAAAFmAWeBN4FngWYBZ4FmAWeBZgFngTkBZ4FsATqBbAE6gTwBPYE8AT2BaQFqgUCBaoFpAWqBaQFqgWkBaoE/AWqBQIFqgWkBaoFpAWqBaQFqgayBrgGsga4BrIGuAayBrgGsgUIBQ4GuAayBrgGrAAABqwAAAasCrQGpgq0BqwKtAasCrQFaAq0BqYKtAasCrQGrAq0BqwKtAUaAAAFFAAABRoAAAUmBSAFJgUgBSYFLAXyBW4FMgVuBfIFbgXyBTgFPgVEBqwKtAamCrQGrAq0BqwKygasCrQGrAq0BqwKtAamCrQGrAq0BqwKtAamCrQGpgq0BqwKtAasCrQGrAq0BqwKtAVWBVAFSgVQBVYFUAVWBVwGsgq0BWIKtAayCrQGsgq0BrIKtAayCsoGrAq0BqwKtAasCrQGrAq0BqwKygasCrQGpgq0BqwKtAasCrQGrAq0BqYKtAamCrQGrAq0BqwKtAasCrQGrAq0BqwKtAamCrQGrAq0BqwKtAamCrQGrAq0BqYKtAasCrQGrAq0BqYKtAasCrQGrAq0BqYKtAasCrQFaAq0BfIFbgasCrQFgAV6BXQFegWABXoFgAWGBbAHBgWwBwYFsAcGBbAFjAWSBwYFsAcGBqwAAAWYBZ4FpAWqBaQFqgayBrgGrAq0BqwKtAasCrQGrAq0BqwKtAasCrQGrAq0BbAHBga+BsQFtgbEBr4GxAa+BsQGvgbEBr4GxAW2BsQGvgbEBr4GxAa+BsQGvgbEBbwFwgbKBtAFyAbQBsoG0AbKBtAGygbQBc4G0AtiCrQLYgq0C2IKtAbWBtwF2gbcBtYG3AbWBtwG1gbc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ABgAAQIwAAAAAQH4AAAAAQIEAAAAAQIMAAAABAAAAAEACAABAAwAEgABAEAATAABAAEDFgACAAcAPwBDAAAAhQCFAAUAsQCzAAYA3QDhAAkBAQEFAA4BIwEjABMBOwE/ABQAAQAAAAYAAQDgAhIAGQA6ADoAOgA6ADQAOgBAAEAAQABSAFIAUgBSAEYATABMAEwATABMAFIAWABYAFgAWABeAAEBJQISAAEBGAISAAECCAISAAEBpAISAAEBWgJoAAEBkAISAAEBmgISAAEBmQISAAYAEAABAAoAAQABAAwAFgABABwAQAACAAEDHgMhAAAAAQABAx4ABAAAABIAAAASAAAAGAAAAB4AAQEsAAAAAQE9AAAAAQFiAAAAAQAEAAEBLP8iAAYAEAABAAoAAgABAAwAIgABACwAjgACAAMDEAMVAAADFwMdAAYDIwMkAA0AAgABAxIDFQAAAA8AAABcAAAAXAAAAFYAAAA+AAAARAAAAEoAAABWAAAAXAAAAFwAAABcAAAAXAAAAFYAAABQAAAAVgAAAFwAAQFUAhIAAQECAhIAAQEEAhIAAQEfAhIAAQEtAhIAAQEsAhIABAAKABAAFgAcAAEBLALHAAEBVALaAAEBAgLaAAEBBALaAAEAAAAKAeQDGAACREZMVAAObGF0bgASAD4AAAA6AAlBWkUgAGBDUlQgAIhLQVogALBNQUggANhNT0wgAQBOTEQgAShST00gAVBUQVQgAXhUUksgAaAAAP//ABAAAAABAAIAAwANAA4ADwAQABEAEgATABQAFQAWABcAGAAA//8AEQAAAAEAAgADAAQADQAOAA8AEAARABIAEwAUABUAFgAXABgAAP//ABEAAAABAAIAAwAFAA0ADgAPABAAEQASABMAFAAVABYAFwAYAAD//wARAAAAAQACAAMABgANAA4ADwAQABEAEgATABQAFQAWABcAGAAA//8AEQAAAAEAAgADAAsADQAOAA8AEAARABIAEwAUABUAFgAXABgAAP//ABEAAAABAAIAAwAKAA0ADgAPABAAEQASABMAFAAVABYAFwAYAAD//wARAAAAAQACAAMADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAA//8AEQAAAAEAAgADAAkADQAOAA8AEAARABIAEwAUABUAFgAXABgAAP//ABEAAAABAAIAAwAH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"
+}
diff --git a/src/app/banner.png/og.tsx b/src/app/banner.png/og.tsx
new file mode 100644
index 0000000..1a520c0
--- /dev/null
+++ b/src/app/banner.png/og.tsx
@@ -0,0 +1,53 @@
+import type { ImageResponseOptions } from 'next/dist/compiled/@vercel/og/types';
+import { ImageResponse } from 'next/og';
+import type { ReactElement } from 'react';
+
+interface GenerateProps {
+ title?: string;
+ subtitle?: string;
+}
+
+export function generateOGImage(
+ options: GenerateProps & ImageResponseOptions,
+): ImageResponse {
+ const { title, subtitle, ...rest } = options;
+
+ return new ImageResponse(
+ generate({
+ title,
+ subtitle,
+ }),
+ {
+ width: 1200,
+ height: 630,
+ ...rest,
+ },
+ );
+}
+
+export function generate({ title = 'John Doe' }: GenerateProps): ReactElement {
+ return (
+ <div
+ tw='flex h-full w-full bg-black text-white'
+ style={{ fontFamily: 'Geist Sans' }}
+ >
+ <div tw='flex border absolute border-stone-900 border-dashed inset-y-0 left-16 w-[1px]' />
+ <div tw='flex border absolute border-stone-900 border-dashed inset-y-0 right-16 w-[1px]' />
+ <div tw='flex border absolute border-stone-900 inset-x-0 h-[1px] top-16' />
+ <div tw='flex border absolute border-stone-900 inset-x-0 h-[1px] bottom-16' />
+ <div tw='flex items-center absolute w-[896px] justify-center inset-32'>
+ <div
+ tw='tracking-tight flex-grow-1 flex flex-col justify-center items-center leading-[1.1]'
+ style={{
+ textWrap: 'balance',
+ fontWeight: 600,
+ fontSize: title && title.length > 20 ? 64 : 80,
+ letterSpacing: '-0.04em',
+ }}
+ >
+ {title}
+ </div>
+ </div>
+ </div>
+ );
+}
diff --git a/src/app/banner.png/route.tsx b/src/app/banner.png/route.tsx
new file mode 100644
index 0000000..1cd53ac
--- /dev/null
+++ b/src/app/banner.png/route.tsx
@@ -0,0 +1,48 @@
+import { generateOGImage } from '@/app/banner.png/og';
+
+async function loadAssets(): Promise<
+ { name: string; data: Buffer; weight: 400 | 600; style: 'normal' }[]
+> {
+ const [
+ { base64Font: normal },
+ { base64Font: mono },
+ { base64Font: semibold },
+ ] = await Promise.all([
+ import('./fonts/geist-regular-otf.json').then((mod) => mod.default || mod),
+ import('./fonts/geistmono-regular-otf.json').then(
+ (mod) => mod.default || mod,
+ ),
+ import('./fonts/geist-semibold-otf.json').then((mod) => mod.default || mod),
+ ]);
+
+ return [
+ {
+ name: 'Geist',
+ data: Buffer.from(normal, 'base64'),
+ weight: 400 as const,
+ style: 'normal' as const,
+ },
+ {
+ name: 'Geist Mono',
+ data: Buffer.from(mono, 'base64'),
+ weight: 400 as const,
+ style: 'normal' as const,
+ },
+ {
+ name: 'Geist',
+ data: Buffer.from(semibold, 'base64'),
+ weight: 600 as const,
+ style: 'normal' as const,
+ },
+ ];
+}
+
+export async function GET() {
+ const [fonts] = await Promise.all([loadAssets()]);
+
+ return generateOGImage({
+ title: 'John Doe',
+ subtitle: 'Software Engineer',
+ fonts,
+ });
+}
diff --git a/src/app/icon.png b/src/app/icon.png
new file mode 100644
index 0000000..7532d9b
--- /dev/null
+++ b/src/app/icon.png
Binary files differ
diff --git a/src/app/layout.client.tsx b/src/app/layout.client.tsx
new file mode 100644
index 0000000..35726ba
--- /dev/null
+++ b/src/app/layout.client.tsx
@@ -0,0 +1,26 @@
+'use client';
+
+import { cn } from '@/lib/utils';
+import { useParams } from 'next/navigation';
+import type { ReactNode } from 'react';
+
+export function Body({
+ children,
+}: {
+ children: ReactNode;
+}): React.ReactElement {
+ const mode = useMode();
+
+ return (
+ <body
+ className={cn(mode, 'relative flex min-h-svh flex-col overflow-x-hidden')}
+ >
+ {children}
+ </body>
+ );
+}
+
+export function useMode(): string | undefined {
+ const { slug } = useParams();
+ return Array.isArray(slug) && slug.length > 0 ? slug[0] : undefined;
+}
diff --git a/src/app/layout.config.tsx b/src/app/layout.config.tsx
new file mode 100644
index 0000000..f9efebb
--- /dev/null
+++ b/src/app/layout.config.tsx
@@ -0,0 +1,44 @@
+import { UserButton } from '@/components/auth/user-button';
+import { Icons } from '@/components/icons/icons';
+import type { LinkItemType } from 'fumadocs-ui/layouts/links';
+import type { BaseLayoutProps } from 'fumadocs-ui/layouts/shared';
+
+export const title = 'Blog';
+export const description =
+ 'A blog about web development, software engineering, and the latest technologies.';
+export const owner = 'Anirudh Sriram';
+
+export const baseOptions: BaseLayoutProps = {
+ nav: {
+ title,
+ },
+ githubUrl: 'https://github.com/techwithanirudh/shadcn-blog',
+};
+
+export const linkItems: LinkItemType[] = [
+ {
+ icon: <Icons.info />,
+ text: 'About',
+ url: '/about',
+ active: 'url',
+ },
+ {
+ icon: <Icons.posts />,
+ text: 'Posts',
+ url: '/posts',
+ active: 'url',
+ },
+ {
+ icon: <Icons.tags />,
+ text: 'Tags',
+ url: '/tags',
+ active: 'url',
+ },
+ {
+ type: 'custom',
+ children: <UserButton />,
+ secondary: true,
+ },
+];
+
+export const postsPerPage = 5;
diff --git a/src/app/layout.tsx b/src/app/layout.tsx
new file mode 100644
index 0000000..c7d2aaf
--- /dev/null
+++ b/src/app/layout.tsx
@@ -0,0 +1,52 @@
+import { createMetadata } from '@/lib/metadata';
+import type { Viewport } from 'next';
+import { Geist, Geist_Mono } from 'next/font/google';
+import type { ReactNode } from 'react';
+import '@/styles/globals.css';
+import 'katex/dist/katex.css';
+import { baseUrl } from '@/lib/constants';
+import { Body } from './layout.client';
+import { description as homeDescription } from './layout.config';
+import { Provider } from './provider';
+
+const geistSans = Geist({
+ variable: '--font-geist-sans',
+ subsets: ['latin'],
+});
+
+const geistMono = Geist_Mono({
+ variable: '--font-geist-mono',
+ subsets: ['latin'],
+});
+
+export const metadata = createMetadata({
+ title: {
+ template: '%s | Blog',
+ default: 'Blog',
+ },
+ description: homeDescription,
+ metadataBase: baseUrl,
+});
+
+export const viewport: Viewport = {
+ themeColor: [
+ { media: '(prefers-color-scheme: dark)', color: '#0A0A0A' },
+ { media: '(prefers-color-scheme: light)', color: '#fff' },
+ ],
+};
+
+const RootLayout = ({ children }: { children: ReactNode }) => {
+ return (
+ <html
+ lang='en'
+ className={`${geistSans.variable} ${geistMono.variable} antialiased`}
+ suppressHydrationWarning
+ >
+ <Body>
+ <Provider>{children}</Provider>
+ </Body>
+ </html>
+ );
+};
+
+export default RootLayout;
diff --git a/src/app/not-found.tsx b/src/app/not-found.tsx
new file mode 100644
index 0000000..ecec57a
--- /dev/null
+++ b/src/app/not-found.tsx
@@ -0,0 +1,49 @@
+import { Header } from '@/components/sections/header';
+import { createMetadata } from '@/lib/metadata';
+import { HomeLayout } from 'fumadocs-ui/layouts/home';
+import { getLinks } from 'fumadocs-ui/layouts/shared';
+import type { Metadata } from 'next';
+import { baseOptions, linkItems } from './layout.config';
+
+export default function NotFound() {
+ return (
+ <HomeLayout
+ {...baseOptions}
+ links={linkItems}
+ nav={{
+ component: (
+ <Header
+ finalLinks={getLinks(linkItems, baseOptions.githubUrl)}
+ {...baseOptions}
+ />
+ ),
+ }}
+ className='pt-0'
+ >
+ <main className='flex flex-1 px-4 sm:px-8 md:px-12 lg:px-16 2xl:px-24'>
+ <div className='container flex min-h-full flex-1 items-center justify-center border-border/70 border-x border-b border-dashed dark:border-border'>
+ <div className='flex flex-auto flex-col items-center justify-center px-4 text-center sm:flex-row'>
+ <h1 className='border-border font-extrabold text-2xl text-foreground tracking-tight sm:mr-6 sm:border-r sm:pr-6 sm:text-3xl'>
+ 404
+ </h1>
+ <h2 className='mt-2 text-muted-foreground sm:mt-0'>
+ This page could not be found.
+ </h2>
+ </div>
+ </div>
+ </main>
+ </HomeLayout>
+ );
+}
+
+export async function generateMetadata(props: {
+ params: Promise<{ slug?: string[] }>;
+}): Promise<Metadata> {
+ const params = await props.params;
+ const description = 'The page you are looking for could not be found.';
+
+ return createMetadata({
+ title: 'Not Found',
+ description,
+ });
+}
diff --git a/src/app/og/[...slug]/fonts/geist-regular-otf.json b/src/app/og/[...slug]/fonts/geist-regular-otf.json
new file mode 100644
index 0000000..f220c87
--- /dev/null
+++ b/src/app/og/[...slug]/fonts/geist-regular-otf.json
@@ -0,0 +1,3 @@
+{
+ "base64Font": "T1RUTwAMAIAAAwBAQ0ZGIN9uOmAAABXMAACeZkdERUZBTj+sAAC0NAAAAT5HUE9Ttn3F0QAAtXQAABvSR1NVQpIcrgQAANFIAAASlE9TLzJPyiLTAAAL3AAAAGBjbWFwrm6KhgAADtQAAAbWaGVhZCrsuiMAAADUAAAANmhoZWEM9AjIAAALuAAAACRobXR487+RWAAAAQwAAAqqbWF4cAKrUAAAAADMAAAABm5hbWU8hhcjAAAMPAAAApdwb3N0/58AMgAAFawAAAAgAABQAAKrAAAAAQAAAAEAg2zs2StfDzz1AAMD6AAAAADhcDrwAAAAAOFwOvD/0/8kCSIDuAAAAAcAAgAAAAAAAAGuAFAA+gAAAqAAFQKgABUCoAAVAqAAFQKgABUCoAAVAqAAFQKgABUCwwAVAqAAFQKgABUD0QAVAqkAXAK+ADECvgAxAr4AMQK+ADECvgAxAr4AMQK/AFwDFwAxAr8AXAMXADECXABcAlwAXAJcAFwCXABcAlwAXAJcAFwCXABcAlwAXAJcAFwCXABcAtIAMQJZADICWQAyAk8AXALFADECxQAxAsUAMQLFADECxQAxAsUAMQLFADEC8wAxAsAAXANkAFwCwABcARAAXAMSAFwBEABcARD//QEQABABEABbARAADgEQAAgBEAAwARD/4AJWAEMCVgBDAlYAQwKNAFwCjQBcAo0AXAJFAFwCRQBcAh4AXAJFAFwCaAAWA24AXALjAFwC4wBcAuMAXALjAFwC4wBcAuMAXALsADEC7AAxAuwAMQLsADEC7AAxAuwAMQLsADEC8QAxAuwAMQQ+ADECiwBcAm0AXALmADECoQBcAqEAXAKhAFwCoQBcAokAOwKJADsAvAAxAokAOwKJADsCiQA7AokAOwK2AFwCQgAZAkIAGQJCABkCQgAZAkIAGQKyAE0CsgBNArIATQKyAE0CsgBNArIATQKyAE0CsgBNArIATQKyAE0CsgBNAp4AFQOQABUDkAAVA5AAFQOQABUDkAAVAnUAGwJ3ABUCdwAVAncAFQJ3ABUCdwAVAncAFQIfABsCHwAbAh8AGwIfABsCRQBcAuMAXAKnAFwCpwBcAqcAXAKnAFwBtgAxAbYAMQG2ADEBtgAxAbYAMQG2ADEBtgAxAbYAMQG2ADECvgAxAr4AMQK+ADECvgAxAr4AMQK+ADECoAAVAr4AMQJcAFwCXABcAsUAMQEQAAEBEABTAuwAMQKyAE0DkAAVAncAFQIfABsBtgAxAbYAMQK+ADEEVgAVBGgATQJAAC8CQAAvAkAALwJAAC8CQAAvAkAALwJAAC8CQAAvAkAALwJAAC8CQAAvA6QALwJXAFACKQAvAikALwIpAC8CKQAvAikALwIpAC8CVwAvAlMALwL4AC8CjAAvAjgALwI4AC8COAAvAjgALwI4AC8COAAvAjgALwI4AC8COAAvAjgALwI4AC8CWQAyAlkAMgGPADwCVgAvAlYALwJWAC8CVgAvAlYALwJWAC8CVgAvAnoALwJGAFACPAAZAkb/8AD2AE4A9gBQAPYAUAD2//AA9gADAPYATgD2AAEB8QBOAPb/+wD2ACIA9v/TAQX/+wEF//sBBf/7AQX/+wJPAFACT//tAk8AUAEcAFABHABQAZoAUAEcAEYBegBQA24AUAJGAFACRgBQAkYAUAJGAFACRgBQAkYAUAJEAC8CRAAvAkQALwJEAC8CRAAvAkQALwJEAC8CNgAMAkQALwPEAC8CVwBQAlcAUAJXAC8BfwBQAX8AUAF/ADcBfwAbAhMALwITAC8AvAAxAhMALwITAC8CEwAvAhMALwJPAFABjQA3AY0ANwHGADcBjQA3AY0ANwJAAFACQABQAkAAUAJAAFACQABQAkAAUAJAAFACQABQAkAAUAJAAFACQABQAhoAFgM0ABYDNAAWAzQAFgM0ABYDNAAWAksALwIaABYCGgAWAhoAFgIaABYCGgAWAhoAFgImADkCJgA5AiYAOQImADkBHABGAkYAUAIyACoCMgAqAjIAKgIyACoCMgAqAjIAKgIyACoCMgAqAjIAKgIyACoCMgAqAlcALwJXAC8CVwAvAlcALwJXAC8CVwAvAlcALwJXAC8CVwAvAlcALwJXAC8BDgBcAQ4AXAGeAFABDgAnAXoAUAJAAC8CKQAvAjgALwI4AC8CVgAvAPYARgD2//QA9gBGAfEARgD2ACIBBf/7AkQALwJAAFADNAAWAhoAFgImADkCMgAqAlcALwKwADwCvQA3AoUAPAKXADwCQAAvAkQALwKgABUC5AAxAj0AFQKUADcCZQAyAqAANgGBACgCawA8AmUAMgJ8ADICcgA8AnAAPAJJACgCXAAoAnAAPANAAC8DQAAvA0AALwNAAC8DQAAvA0AALwNAAC8DQAAvA0AALwNAAC8DQAAvA0AALwNAAC8DQAAvA0AALwNAAC8DQAAvA0AALwNAAC8DQAAvAqAANgGzABkCWAAUAlgAfgJYADsCWAAqAlgAMAJYADkCWAA4AlgAOwJYABoCWAA4AlgADQPQADEDwgAxA7oAMQO9ADEDzQAxA7cAMQPAADED0AAxA8sAMQSwAKYCWACVAlgAsgJYAKACWACgAlgAhAJYAKUCWAClAlgApgJYAJ8CWACoAlgAlQJYALICWACgAlgAoAJYAIQCWAClAlgApQJYAKYCWACfAlgAqAD6AAABYgAvCWAAPgcIAD4EsAA+AMsALwDLAC8BJQBcASUAXAI9AC8A2QA2ANkANgI3AC8CNwAvAMsALwEpAC8BtAAvAXgALwHe//YB4wAoAd4AMgKCACgBtAAvA44ALwHeADIAywAvAMsALwEUADYB3v/2AwIALwDLAC8CNwAvAWQALwC4AC8AywAvAeMAKADSAC8BLABcAS0AXAJFAC8A0gAvANIALwI3AC8CNwAvANIALwI0AC8A0gAvARQALwDSAC8CNwAvANMALwGqAC8BsAAvAlYALwOSAC8CNAAvA1sALwLQAC8BOQAvATkALwGoAC8BqAAvAVEALwFRAC8BZwAvAWcALwFxAC8BcQAvAagALwGoAC8BjQAvAY0ALwIOAC8CDgAvAY8ALwGPAC8BjQAvAY0ALwFnAC8BZwAvAVEALwFRAC8BOQAvATkALwDPADEBdgAxAXYAMQF2ADEAzwAxAM8AMQIaAC8CGgAvAVAALwFQAC8BaAAxALwAMQIDADwCgQBcBLAAPgcIAD4JYAA+BwcAPgNAAC8DQAAvA5IAMQJuACgCUQAjAi4AOwNEADECWgAxAloAMQN6AFwBjAAvAPwALwF3AC8BCABcAQgAXAI7AFwCOwBcBEQAXAJYAE8DWQAxAlgANAIpAC8CSwAxAokAOwLgADsCogA7AtEALgKoAFwDBwBcAmgAOwJ3ABUCOgAvAjoALwHnAC8COgAvApQAXAI6AC8CKQAxAiUALwI6AC8COgAvAjoALwIaAC8CGgAvAeUALwGSAC8DSQAvAXsAAAKMABUCaAAZAhIAGwJjABYCVQAvAlIAWgMCAC8ESAAvAtAAMQJ2ADEDKAAxAnYAMQLQADECdgAxAygAMQJ2ADEEFgAx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Ai4CLwHIAjACJwGcAZ0BoAJdAlcCWQJbAl8CYAJeAlgCWgJcAlECPwJHAkYCMwIxAnoCfgJ7An8CfAKAAn0CgQJ5AncCeAG6AcoB+QH6AgECAgH/AgACBQIGAfsB/AIDAgQCBwIIAGEBDwHUAdkB1QHWAc4B2gILAgwBzwHTAfIB1wHcAdIB2wHYAdACCQHRAgoAAAADAAAAAAAA/5wAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAQAEAgABAQEOR2Vpc3QtUmVndWxhcgABAQEp+BEA+eMB+eQC+BgE+xEMA177cBwJIvpMBRwrGg8cLhIRqR0AAI1CEgHKAgABAAcADgAVABwAIgAoADMAPQBDAEkATwBZAGAAZwBuAHUAfACDAIkAjwCaAKEAqwCyALkAvQDIAMoA1ADbAOIA6ADzAP4BBQEMARIBGAEfASUBKwEyATUBQgFJAU8BVQFcAWIBaQFxAXwBgwGKAY4BlAGbAaIBqAG1AbwBwwHIAc4B1AHfAegB7gH5Af8CBgIMAhYCJQI0AjoCRQJQAlwCYgJtAn0CiwKaAqUCsQK9AsgCzgLZAukC9QMEAxADHgMtAzsDSgNZA2cDdgOEA5IDoAOuA70D0APkA/gEAAQIBA4EFQQcBCMEKQQvBDoERARKBFAEVgRgBGcEbgR1BHwEgwSKBJAElgShBKgEsgS5BMAExATPBNgE2gThBOgE7gT1BQAFCwUSBRkFHwUlBSwFMgU4BT8FQgVPBVYFXAViBWkFbwV2BX4FiQWQBZQFmgWhBagFrgW7BcIFyQXOBdQF2gXlBe4F9AX/BgUGDAYSBhwGKwY6BkAGSwZWBmIGcgaABosGlwajBq0GuAa+BskG1AbgBvAG/gcJBxUHIQcrBzYHPAdHB1IHXgdpB3cHhgeUB6MHsge4B8YH1AfbB+cH7Qf7CAkIFwglCDQIRwhaCGIIaghxCHgIfgiFCIsIjQiUCJsIogipCLAItwi+CMUIzAjTCNoI4QjoCO8I9gj9CQQJCwkSCRkJIAkpCTEJOAk+CUQJTAlTCVoJYAloCXAJdwl+CYUJjAmTCZoJoQmoCa8Jtgm9CcQJywnSCdkJ4AnnCe4J9Qn8CgMKCgoRChgKHwomCkcKYQp0CnsKggqJCpAKlwqeCqUKrAqzCroKwQrICs8K1grdCuQK7wr5CwcLFAsfCy4LOwtMC18LZgtyC34LiguWC6ILqQuwC7cLvgvFC8wL0wvaC+EL6AvvC/YL/QwEDAsMEgwZDCAMJwwuDDUMPAxDDEoMWgxxDI8MpwyuDLcMvgzEDMoM0QzYDN8M5gzqDPEM+Az/DQYNDg0aDSMNLg02DT4NRQ1MDVUNXA1nDW4NdQ18DYYNjQ2WDZ0Npg2tDbYNvw3GDc0N1A3bDeIN6Q3wDfcN/g4MDhMOHw4rDjoORg5UDmAObg56DogOlg6dDqMOqg6xDrgOvw7GDs0O1A7bDuIO6Q7wDvcPAA8JDxAPGw8iDykPMA83D0APRw9OD1UPXA9jD2oPeQ+FD5EPng+sD7MPug/BD8sP1w/pD/oQB0FicmV2ZXVuaTAxQ0RBbWFjcm9uQW9nb25la0NhY3V0ZUNjYXJvbkNjaXJjdW1mbGV4Q2RvdGFjY2VudERjYXJvbkRjcm9hdEVjYXJvbkVkb3RhY2NlbnRFbWFjcm9uRW9nb25la3VuaTFFQkN1bmkwMThGdW5pMDFCN3VuaTAxRUVHYnJldmVHY2Fyb25HY2lyY3VtZmxleHVuaTAxMjJHZG90YWNjZW50dW5pMUUyMHVuaTAxRTRIYmFySGNpcmN1bWZsZXhJSklkb3RhY2NlbnRJbWFjcm9uSW9nb25la0l0aWxkZXVuaTAwNEEwMzAxSmNpcmN1bWZsZXh1bmkwMUU4dW5pMDEzNkxhY3V0ZUxjYXJvbnVuaTAxM0JOYWN1dGVOY2Fyb251bmkwMTQ1RW5nT2h1bmdhcnVtbGF1dE9tYWNyb25SYWN1dGVSY2Fyb251bmkwMTU2U2FjdXRldW5pQTc4QlNjZWRpbGxhU2NpcmN1bWZsZXh1bmkwMjE4dW5pMUU5RVRiYXJUY2Fyb251bmkwMTYydW5pMDIxQVVicmV2ZVVodW5nYXJ1bWxhdXRVbWFjcm9uVW9nb25la1VyaW5nVXRpbGRlV2FjdXRlV2NpcmN1bWZsZXhXZGllcmVzaXNXZ3JhdmVZY2lyY3VtZmxleFlncmF2ZXVuaTFFRjhaYWN1dGVaZG90YWNjZW50dW5pMDEzQi5sb2NsTUFIdW5pMDE0NS5sb2NsTUFIUi5zczA0UmFjdXRlLnNzMDRSY2Fyb24uc3MwNHVuaTAxNTYuc3MwNEkuc3MwNUlhY3V0ZS5zczA1SWNpcmN1bWZsZXguc3MwNUlkaWVyZXNpcy5zczA1SWRvdGFjY2VudC5zczA1SWdyYXZlLnNzMDVJbWFjcm9uLnNzMDVJb2dvbmVrLnNzMDVJdGlsZGUuc3MwNUcuc3MwNkdicmV2ZS5zczA2R2NpcmN1bWZsZXguc3MwNnVuaTAxMjIuc3MwNkdkb3RhY2NlbnQuc3MwNnVuaTFFMjAuc3MwNkFkaWVyZXNpcy5zczA4Q2RvdGFjY2VudC5zczA4RWRpZXJlc2lzLnNzMDhFZG90YWNjZW50LnNzMDhHZG90YWNjZW50LnNzMDhJZGllcmVzaXMuc3MwOElkb3RhY2NlbnQuc3MwOE9kaWVyZXNpcy5zczA4VWRpZXJlc2lzLnNzMDhXZGllcmVzaXMuc3MwOFlkaWVyZXNpcy5zczA4WmRvdGFjY2VudC5zczA4SWRpZXJlc2lzLnNzMDUuc3MwOElkb3RhY2NlbnQuc3MwNS5zczA4R2RvdGFjY2VudC5zczA2LnNzMDhBX0kuZGxpZ1VfSS5kbGlnYWJyZXZldW5pMDFDRWFtYWNyb25hb2dvbmVrY2FjdXRlY2Nhcm9uY2NpcmN1bWZsZXhjZG90YWNjZW50ZGNhcm9uZGNyb2F0ZWNhcm9uZWRvdGFjY2VudGVtYWNyb25lb2dvbmVrdW5pMUVCRHVuaTAyNTl1bmkwMjkydW5pMDFFRmdicmV2ZWdjYXJvbmdjaXJjdW1mbGV4dW5pMDEyM2dkb3RhY2NlbnR1bmkxRTIxdW5pMDFFNWhiYXJoY2lyY3VtZmxleGkubG9jbFRSS2lqaW1hY3JvbmlvZ29uZWtpdGlsZGV1bmkwMjM3dW5pMDA2QTAzMDFqY2lyY3VtZmxleHVuaTAxRTl1bmkwMTM3bGFjdXRlbGNhcm9udW5pMDEzQ25hY3V0ZW5jYXJvbnVuaTAxNDZlbmdvaHVuZ2FydW1sYXV0b21hY3JvbnJhY3V0ZXJjYXJvbnVuaTAxNTdzYWN1dGV1bmlBNzhDc2NlZGlsbGFzY2lyY3VtZmxleHVuaTAyMTl0YmFydGNhcm9udW5pMDE2M3VuaTAyMUJ1YnJldmV1aHVuZ2FydW1sYXV0dW1hY3JvbnVvZ29uZWt1cmluZ3V0aWxkZXdhY3V0ZXdjaXJjdW1mbGV4d2RpZXJlc2lzd2dyYXZleWNpcmN1bWZsZXh5Z3JhdmV1bmkxRUY5emFjdXRlemRvdGFjY2VudHVuaTAxM0MubG9jbE1BSHVuaTAxNDYubG9jbE1BSGEuc3MwMWFhY3V0ZS5zczAxYWJyZXZlLnNzMDF1bmkwMUNFLnNzMDFhY2lyY3VtZmxleC5zczAxYWRpZXJlc2lzLnNzMDFhZ3JhdmUuc3MwMWFtYWNyb24uc3MwMWFvZ29uZWsuc3MwMWFyaW5nLnNzMDFhdGlsZGUuc3MwMWEuc3MwMmFhY3V0ZS5zczAyYWJyZXZlLnNzMDJ1bmkwMUNFLnNzMDJhY2lyY3VtZmxleC5zczAyYWRpZXJlc2lzLnNzMDJhZ3JhdmUuc3MwMmFtYWNyb24uc3MwMmFvZ29uZWsuc3MwMmFyaW5nLnNzMDJhdGlsZGUuc3MwMmwuc3MwM2xhY3V0ZS5zczAzbGNhcm9uLnNzMDN1bmkwMTNDLnNzMDNsc2xhc2guc3MwM2FkaWVyZXNpcy5zczA4Y2RvdGFjY2VudC5zczA4ZWRpZXJlc2lzLnNzMDhlZG90YWNjZW50LnNzMDhnZG90YWNjZW50LnNzMDhpLnNzMDhpZGllcmVzaXMuc3MwOGkubG9jbFRSSy5zczA4aWouc3MwOGlvZ29uZWsuc3MwOGouc3MwOG9kaWVyZXNpcy5zczA4dWRpZXJlc2lzLnNzMDh3ZGllcmVzaXMuc3MwOHlkaWVyZXNpcy5zczA4emRvdGFjY2VudC5zczA4YWRpZXJlc2lzLnNzMDEuc3MwOGFkaWVyZXNpcy5zczAyLnNzMDhmX2YubGlnYXRfdC5saWdhZmkubGlnYWZsLmxpZ2FMYW1iZGF1bmkwM0E5bGFtYmRhcGl1bmkyMTA3dW5pMjRGRnVuaTI3NzZ1bmkyNzc3dW5pMjc3OHVuaTI3Nzl1bmkyNzdBdW5pMjc3QnVuaTI3N0N1bmkyNzdEdW5pMjc3RXVuaTI0RUF1bmkyNDYwdW5pMjQ2MXVuaTI0NjJ1bmkyNDYzdW5pMjQ2NHVuaTI0NjV1bmkyNDY2dW5pMjQ2N3VuaTI0Njh6ZXJvLnNzMDlvbmUuc3MwOXplcm8udGZvbmUudGZ0d28udGZ0aHJlZS50ZmZvdXIudGZmaXZlLnRmc2l4LnRmc2V2ZW4udGZlaWdodC50Zm5pbmUudGZ1bmkyMTUzdW5pMjE1NHVuaTIxNTV1bmkyMDgwdW5pMjA4MXVuaTIwODJ1bmkyMDgzdW5pMjA4NHVuaTIwODV1bmkyMDg2dW5pMjA4N3VuaTIwODh1bmkyMDg5dW5pMjA3MHVuaTAwQjl1bmkwMEIydW5pMDBCM3VuaTIwNzR1bmkyMDc1dW5pMjA3NnVuaTIwNzd1bmkyMDc4dW5pMjA3OXVuaTAwQTB1bmkzMDAyaHlwaGVuX2h5cGhlbl9oeXBoZW5fZ3JlYXRlci5saWdhaHlwaGVuX2h5cGhlbl9ncmVhdGVyLmxpZ2FoeXBoZW5fZ3JlYXRlci5saWdhdW5pMzAwM3VuaUZGMDZ1bmlGRjBBdW5pRkYyMHVuaUZGM0N1bmlGRjFBdW5pRkYwQ3VuaUZGMDF1bmlGRjAzdW5pRkYwNXVuaUZGMEV1bmlGRjFGdW5pRkYwMnVuaUZGMDd1bmlGRjFCdW5pRkYwRnBlcmlvZC5zczA4Y29sb24uc3MwOHNlbWljb2xvbi5zczA4ZWxsaXBzaXMuc3MwOGV4Y2xhbS5zczA4ZXhjbGFtZG93bi5zczA4cXVlc3Rpb24uc3MwOHF1ZXN0aW9uZG93bi5zczA4cGVyaW9kY2VudGVyZWQuc3MwOHVuaUZGM0Z1bmlGRjFBLnNzMDh1bmlGRjAxLnNzMDh1bmlGRjBFLnNzMDh1bmlGRjFGLnNzMDh1bmlGRjFCLnNzMDh1bmkwMEFEdW5pMzAxQ3VuaUZGMER1bmkzMDA4dW5pMzAwOXVuaTMwMTB1bmkzMDExdW5pRkY1QnVuaUZGNUR1bmkzMDBDdW5pMzAwRHVuaTMwMEF1bmkzMDBCdW5pMzAxNHVuaTMwMTV1bmkzMDBFdW5pMzAwRnVuaTMwMTZ1bmkzMDE3dW5pRkYzQnVuaUZGM0R1bmlGRjA4dW5pRkYwOXVuaTBFM0ZsZXNzX2h5cGhlbi5saWdhbGVzc19oeXBoZW5faHlwaGVuLmxpZ2FsZXNzX2h5cGhlbl9oeXBoZW5faHlwaGVuLmxpZ2FsZXNzX2h5cGhlbl9ncmVhdGVyLmxpZ2F1bmkyNjM5c21pbGVmYWNldW5pMjExN21pbnV0ZXNlY29uZHVuaTIxMTZ1bmkyNDBDdW5pMjNDRXVuaTI0MEJFdXJvdW5pMjBCNHVuaTIwQkR1bmkyMEI5dW5pMjBBQW5vdGVxdWFsZ3JlYXRlcmVxdWFsbGVzc2VxdWFsYXBwcm94ZXF1YWxpbmZpbml0eWludGVncmFsdW5pMjIwNnByb2R1Y3RzdW1tYXRpb25yYWRpY2FscGFydGlhbGRpZmZ1bmkwMEI1YXJyb3d1cHVuaTIxOTdhcnJvd3JpZ2h0dW5pMjE5OGFycm93ZG93bnVuaTIxOTlhcnJvd2xlZnR1bmkyMTk2YXJyb3dib3RoYXJyb3d1cGRudW5pMjE5RHVuaTIxRTR1bmkyMUU1dW5pMjFBOXVuaTIxQUF1bmkyMUIwdW5pMjFCMXVuaTIxQjN1bmkyMUI0Y2FycmlhZ2VyZXR1cm51bmkyMUU3YXJyb3d1cC5zczA3dW5pMjE5Ny5zczA3YXJyb3dyaWdodC5zczA3dW5pMjE5OC5zczA3YXJyb3dkb3duLnNzMDd1bmkyMTk5LnNzMDdhcnJvd2xlZnQuc3MwN3VuaTIxOTYuc3MwN2Fycm93Ym90aC5zczA3YXJyb3d1cGRuLnNzMDd1bmkyNUNGY2lyY2xldW5pMjVDQ2xvemVuZ2V0cmlhZ3VwdW5pMjVCNnRyaWFnZG51bmkyNUMwdW5pMjVCM3VuaTI1Qjd1bmkyNUJEdW5pMjVDMXVuaTAzMDh1bmkwMzA3Z3JhdmVjb21iYWN1dGVjb21idW5pMDMwQnVuaTAzMEMuYWx0dW5pMDMwMnVuaTAzMEN1bmkwMzA2dW5pMDMwQXRpbGRlY29tYnVuaTAzMDR1bmkwMzEydW5pMDMyNnVuaTAzMjd1bmkwMzI4dW5pMDMzNXVuaTAzMjYubG9jbE1BSHVuaTAzMDguc3MwOHVuaTAzMDcuc3MwOGRpZXJlc2lzLnNzMDhkb3RhY2NlbnQuc3MwOHVuaTAyQkN1bmkwMkI5dW5pMDJDOE51ZXZvR2xpZm9ibGFja0NpcmNsZWRibGFja0NpcmNsZWRTdHJva2Vjb3B5cmlnaHQgbWlzc2luZ0dlaXN0IFJlZ3VsYXIBAQIAAQAFABAAFgAcACIAKAA2AD4ARABrAHUAfgCHAJ8AogCvALoAwQDJANEA1gDkAO8A+wECAVABZQF7AYUBjgGTAZoBpgGwAbMBwwHLAdUB3QHkAeoCBAIQAisCRAJWAmUCcAJ4AoECjwKWAp8CpwKtArICwwLOAtsC6wLwAwYD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AAAAAAAAAAD/9gAAAAD/7AAA/+IAAP/2AAAAAP/YAAAAAP/x/+L/7AAA/9j/5//s/+z/7AAAAAAAAAAAAAAAAP+wAAAAAAAAAAD/5wAA/+cAAAAAAAD/9gAA/7oAAAAAAAAAAAAA//YAAAAAAAAAAAAAAAD/8QAA//H/9gAA/+IAAAAA//EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9+/+wAFAAAABn/2P/s/7oAAAAAAAD/0//2AAAAAP/sAAAAAP+c//b/nP/i/+IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8f+w/+IAAAAAAAr/7AAA/84AAAAAAAAAAAAA/7oAAAAAAAAAAP+wAAD/sP/nAAAAAAAAAAD/7AAA/9gAAAAAAAD/9gAA/84AAAAAAAAAAP/iAAAAAAAAAAAAAAAA/+wAAAAAAAAAAAAAAAAAAAAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAA//EAAAAAAAAAAAAAAAAAAP/YAAD/7AAAAAD/9gAAAAD/4gAA//EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7AAA/+IAAAAAAAAAAAAA/9j/2AAAAAAAAAAAAAAAAAAAAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAA//b/7P/OAAD/9v/nAAAAAAAAAAAAAAAA//gAFAAAAAAAAAAAAAAAAAAAAAD/2AAA/+wAAP/x//EAAP/nAAD/8f/sAAAAAP/2//YAAAAA/+wAAAAAAAD/8QAAAAAAAAAAAAD/ugAA/84ABf/sAAD/2P/iAAD/9v/n//b/9v/OAAD/7AAA//sAAAAAAAAAAP/xAAAAAAAAAAAAAAAAAAD/7P/2/+IAAP/xAAAAAAAA/+L/7AAAAAAAAP/E/+L/xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAP/sAAAAAAAA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AAEBugABAAQAAQCOAB8ABAAAAAEACAABCo4ADAADCqgAmgACABcAAgAMAAAADwAiAAsAJAAlAB8AJwAtACEALwAvACgAMQBGACkASABMAD8ATgBWAEQAWgBgAE0AYgBlAFQAZwB2AFgAeAB8AGgAfgCrAG0ArgC5AJsAuwDAAKcAxQDRAK0A0wEFALoBCQEOAO0BEAETAPMBFQEkAPcBJgEqAQcBLAFkAQwBaQFqAUUBRwqECooAAAqECooAAAqECooAAAqECooAAAqECooAAAqECooAAAqECooAAAqECooAAAqECooAAAqECooAAAqECooAAAAACJwIogAACJwIogAACJwIogAACJwIogAACJwIogAACJwIogAAB6wHsgAAB7gHvgAAB6wHsgAAB7gHvgg2CDwIQgg2CDwIQgg2CDwIQgg2CDwIQgg2CDwIQgg2CDwIQgg2CDwIQgg2CDwIQgg2CDwIQgg2CDwIQgAAB8QAAAAAB8QAAAAACJwIogAACJwIogAACJwIogAACJwIogAACJwIogAACJwIogAACJwIogAAB8oAAAAAB8oAAAhICE4IVAhIB9AIVAhICE4IVAhICE4IVAhICE4IVAhICE4IVAhICE4IVAhICE4IVAhICE4IVAhICE4IVAAAB9YAAAAAB9YAAAAAB9YAAAAAB9wH6AAAB9wH6AAAB9wH6AAACE4IGAAACE4IGAAACE4IGAAACE4IGAAAB+IH6AAACB4IJAAACB4IJAAACB4IJAAACB4IJAAACB4IJAAACFoIYAAACFoIYAAACFoIYAAACFoIYAAACFoIYAAACFoIYAAACFoIYAAAB+4H9AAACFoIYAAACJwIogAAB/oIAAAAB/oIAAAAB/oIAAAAB/oIAAAACAYIMAAACAYIMAAACAYIMAAACAYIMAAACAYIMAAACAYIMAAACAwIEgAACAwIEgAACAwIEgAACAwIEgAACAwIEgqwCrYKvAqwCrYKvAqwCrYKvAqwCrYKvAqwCrYKvAqwCrYKvAqwCrYKvAqwCrYKvAqwCrYKvAqwCrYKvAqwCrYKvAAACGYIbAAACGYIbAAACGYIbAAACGYIbAAACGYIbAAACHIIeAAACHIIeAAACHIIeAAACHIIeAAACHIIeAAACHIIeAAACH4IhAAACH4IhAAACH4IhAAACH4IhAAACE4IGAAACB4IJAAACCoIMAAACCoIMAAACCoIMAAACCoIMAiKCJAIlgiKCJAIlgiKCJAIlgiKCJAIlgiKCJAIlgiKCJAIlgiKCJAIlgiKCJAIlgiKCJAIlgAACJwIogAACJwIogAACJwIogAACJwIogAACJwIogAACJwIogqECooAAAAACJwIogg2CDwIQgg2CDwIQgAACJwIoghICE4IVAhICE4IVAAACFoIYAqwCrYKvAAACGYIbAAACHIIeAAACH4IhAiKCJAIlgiKCJAIlgAACJwIognCCcgJzgnCCcgJzgnCCcgJzgnCCcgJzgnCCcgJzgnCCcgJzgnCCcgJzgnCCcgJzgnCCcgJzgnCCcgJzgnCCcgJzgioCK4ItAAACdQJ2gAACdQJ2gAACdQJ2gAACdQJ2gAACdQJ2gAACdQJ2glECUoJ2glECUoJ2glECUoJ2glECUoJ2glECUoJ2glECUoJ2glECUoJ2glECUoJ2glECUoJ2glECUoJ2gi6CMAIxgAACMwAAAAACMwAAAAACVAAAAAACVAAAAAACVAAAAAACVAAAAAACVAAAAAACVAAAAAACVAAAAAACVAAAAAACSAAAAAACSAAAAAACSAAAAlcCWIAAAlcCWIAAAlcCWIAAAlcCWIAAAlcCWIAAAlcCWIAAAlcCWIAAAlcCVYAAAlcCWIAAAlcCWIAAAlcCWIAAAAACWgAAAAACWgAAAAACWgAAAAACWgAAAAACSAI0gAACSAI0gAACSAI0gAACQ4JXAAACQ4JXAAACQ4JXAAACQ4JXAAACTgI2AAACN4I5AAACRQJGgAACRQJGgAACRQJGgAACRQJGgAACRQJGgAACRQJGgAACdQJ2gAACdQJ2gAACdQJ2gAACdQJ2gAACdQJ2gAACdQJ2gAACdQJ2gAACdQJ2gAACdQJ2gjqCPAI9gAACPwJJgAACPwJJgAACPwJJgAACPwJJgAACQIJCAAACQIJCAAACQIJCAAACQIJCAAACQIJCAAACQIJCAAAAAAK4gAAAAAK4gAAAAAK4gAAAAAK4gAAAAAK4gluCXQJegluCXQJegluCXQJegluCXQJegluCXQJegluCXQJegluCXQJegluCXQJegluCXQJegluCXQJegluCXQJegAACYAJhgAACYAJhgAACYAJhgAACYAJhgAACYAJhgAACYwAAAAACYwAAAAACYwAAAAACYwAAAAACYwAAAAACYwAAAAACZIJmAAACZIJmAAACZIJmAAACZIJmAAACQ4JXAAACRQJGgmeCaQJqgmeCaQJqgmeCaQJqgmeCaQJqgmeCaQJqgmeCaQJqgmeCaQJqgmeCaQJqgmeCaQJqgmeCaQJqgmeCaQJqgmwCbYJvAmwCbYJvAmwCbYJvAmwCbYJvAmwCbYJvAmwCbYJvAmwCbYJvAmwCbYJvAmwCbYJvAmwCbYJvAmwCbYJvAAACSwJMgAACSwJMgAACSAJJgAACSwJMgAACTgJPgnCCcgJzgAACdQJ2glECUoJ2glECUoJ2gAACVAAAAlcCWIAAAlcCWIAAAlcCWIAAAlcCVYAAAlcCWIAAAAACWgAAAAACdQJ2gluCXQJegAACYAJhgAACYwAAAAACZIJmAmeCaQJqgmwCbYJvAnCCcgJzgAACdQJ2gABAUICxgABAUgAAAABAZoCxgABAaAAAAABAScCxgABAWACxgABApoCxgABAd4CxgABAUgCxgABAKsCxgABAVwAAAABAXsCxgABAXsAAAABAVECxgABAV8AAAABAUsCxgABASECxgABASEAAAABATkAAAABAXICxgABAXEAAAABAUwCxgABAUwAAAABAiMAAAABAT0CxwABAT8AAAABALQAAAABAIgCxgABAIgAAAABAXYCxgABAXYAAAABAcgCxgABAcgAAAABATwCxgABATwAAAABARcCxgABARcAAAABAYUAAAABANsCxgABANsAAAABAXMCxgABAXMAAAABAtoAAAABAo4CEAABAo4AAAABAMoCEgABARYCEgABARYAAgABAScCEgABASoAAAABAPQAAAABAbcCEgABAbcAAAABAvoAAAABAq4CEAABAq4AAAABAMUCEgABAQkCEgABAQwAAAABAHoCxgABASMCEgABASMAAAABAHsCxgABAHsAAAABAIcCxgABAIcAAAABAMgCxgABAMgAAAABAW4AAAABASICEAABAR4CEgABAXYCEgABAKYAAAABAHsCEgABAIoCEgABAfAAAAABARwCEgABARwAAAABAZsCEgABAZsAAAABAQ0CEgABARQCEgABARQAAAABAeIAAAABAQwCEgABAQoAAAABAgcAAAABASECEgABAR4AAAABAh0AAwABARoCEgABARkAAAABASICEgABASIAAAAFAAAAAQAIAAEADAAcAAMAJgCGAAIAAgKCApEAAAKTApUAEAABAAMArACtAWYAEwABAUoAAQFQAAEBVgABAVwAAQFiAAEBaAABAW4AAQF0AAEBdAABAXoAAQGAAAEBhgABAYwAAgBaAAIATgAAAFQAAgBaAAEBkgABAZgAAQCrAAAAAQCzAAAAAQCPAAAAAwAIADQAZgACAA4AFAAAABoAIAAmAAECiwAAAAEBUALGAAEEJQAAAAEDewLGAAEDewAAAAIADgAUABoAIAAmACwAAQG9AAAAAQFZAsYAAQFZAAAAAQQ3AAAAAQONAsYAAQONAAAAAgAAAAAADgAAAAAAFAABAOoAAAABAhoAAAAGABAAAQAKAAAAAQAMABwAAQAiALQAAgACAoICjgAAApQClQANAAEAAQKlAA8AAAA+AAAARAAAAEoAAABQAAAAVgAAAFwAAABiAAAAaAAAAGgAAABuAAAAdAAAAHoAAACAAAAAhgAAAIwAAQCnAhIAAQBcAhIAAQCpAhIAAQBTAhIAAQCJAhIAAQBBAhIAAQC6AhIAAQC9AhIAAQCNAhIAAQDXAhIAAQCvAhIAAQBeAhIAAQC2AhIAAQBkAhIAAQAEAAEAbQISAAAAAQAAAAoCsAmaAAJERkxUAA5sYXRuAHoACgABTUFIIAA6AAD//wAVAAAADAAYACQAMAA8AFIAXgBqAHYAggCOAJoApgCyAL4AygDWAOIA7gD6AAD//wAWAAEADQAZACUAMQA9AEgAUwBfAGsAdwCDAI8AmwCnALMAvwDLANcA4wDvAPsAOgAJQVpFIABqQ1JUIACcS0FaIADOTUFIIAEATU9MIAEyTkxEIAFkUk9NIAGWVEFUIAHIVFJLIAH6AAD//wAVAAIADgAaACYAMgA+AFQAYABsAHgAhACQAJwAqAC0AMAAzADYAOQA8AD8AAD//wAWAAMADwAbACcAMwA/AEkAVQBhAG0AeQCFAJEAnQCpALUAwQDNANkA5QDxAP0AAP//ABYABAAQABwAKAA0AEAASgBWAGIAbgB6AIYAkgCeAKoAtgDCAM4A2gDmAPIA/gAA//8AFgAFABEAHQApADUAQQBLAFcAYwBvAHsAhwCTAJ8AqwC3AMMAzwDbAOcA8wD/AAD//wAWAAYAEgAeACoANgBCAEwAWABkAHAAfACIAJQAoACsALgAxADQANwA6AD0AQAAAP//ABYABwATAB8AKwA3AEMATQBZAGUAcQB9AIkAlQChAK0AuQDFANEA3QDpAPUBAQAA//8AFgAIABQAIAAsADgARABOAFoAZgByAH4AigCWAKIArgC6AMYA0gDeAOoA9gECAAD//wAWAAkAFQAhAC0AOQBFAE8AWwBnAHMAfwCLAJcAowCvALsAxwDTAN8A6wD3AQMAAP//ABYACgAWACIALgA6AEYAUABcAGgAdACAAIwAmACkALAAvADIANQA4ADsAPgBBAAA//8AFgALABcAIwAvADsARwBRAF0AaQB1AIEAjQCZAKUAsQC9AMkA1QDhAO0A+QEFAQZhYWx0BiZhYWx0BiZhYWx0BiZhYWx0BiZhYWx0BiZhYWx0BiZhYWx0BiZhYWx0BiZhYWx0BiZhYWx0BiZhYWx0BiZhYWx0BiZjY21wBi5jY21wBi5jY21wBi5jY21wBi5jY21wBi5jY21wBi5jY21wBi5jY21wBi5jY21wBi5jY21wBi5jY21wBi5jY21wBi5kbGlnBjRkbGlnBjRkbGlnBjRkbGlnBjRkbGlnBjRkbGlnBjRkbGlnBjRkbGlnBjRkbGlnBjRkbGlnBjRkbGlnBjRkbGlnBjRmcmFjBjpmcmFjBjpmcmFjBjpmcmFjBjpmcmFjBjpmcmFjBjpmcmFjBjpmcmFjBjpmcmFjBjpmcmFjBjpmcmFjBjpmcmFjBjpmd2lkBkBmd2lkBkBmd2lkBkBmd2lkBkBmd2lkBkBmd2lkBkBmd2lkBkBmd2lkBkBmd2lkBkBmd2lkBkBmd2lkBkBmd2lkBkBsaWdhBkZsaWdhBkZsaWdhBkZsaWdhBkZsaWdhBkZsaWdhBkZsaWdhBkZsaWdhBkZsaWdhBkZsaWdhBkZsaWdhBkZsaWdhBkZsb2NsBkxsb2NsBmRsb2NsBmRsb2NsBmRsb2NsBlJsb2NsBl5sb2NsBlhsb2NsBl5sb2NsBmRsb2NsBmRvcmRuBmpvcmRuBmpvcmRuBmpvcmRuBmpvcmRuBmpvcmRuBmpvcmRuBmpvcmRuBmpvcmRuBmpvcmRuBmpvcmRuBmpvcmRuBmpwbnVtBnJwbnVtBnJwbnVtBnJwbnVtBnJwbnVtBnJwbnVtBnJwbnVtBnJwbnVtBnJwbnVtBnJwbnVtBnJwbnVtBnJwbnVtBnJzaW5mBnhzaW5mBnhzaW5mBnhzaW5mBnhzaW5mBnhzaW5mBnhzaW5mBnhzaW5mBnhzaW5mBnhzaW5mBnhzaW5mBnhzaW5mBnhzczAxBn5zczAxBn5zczAxBn5zczAxBn5zczAxBn5zczAxBn5zczAxBn5zczAxBn5zczAxBn5zczAxBn5zczAxBn5zczAxBn5zczAyBohzczAyBohzczAyBohzczAyBohzczAyBohzczAyBohzczAyBohzczAyBohzczAyBohzczAyBohzczAyBohzczAyBohzczAzBpJzczAzBpJzczAzBpJzczAzBpJzczAzBpJzczAzBpJzczAzBpJzczAzBpJzczAzBpJzczAzBpJzczAzBpJzczAzBpJzczA0BpxzczA0BpxzczA0BpxzczA0BpxzczA0BpxzczA0BpxzczA0BpxzczA0BpxzczA0BpxzczA0BpxzczA0BpxzczA0BpxzczA1BqZzczA1BqZzczA1BqZzczA1BqZzczA1BqZzczA1BqZzczA1BqZzczA1BqZzczA1BqZzczA1BqZzczA1BqZzczA1BqZzczA2BrBzczA2BrBzczA2BrBzczA2BrBzczA2BrBzczA2BrBzczA2BrBzczA2BrBzczA2BrBzczA2BrBzczA2BrBzczA2BrBzczA3BrpzczA3BrpzczA3BrpzczA3BrpzczA3BrpzczA3BrpzczA3BrpzczA3BrpzczA3BrpzczA3BrpzczA3BrpzczA3BrpzczA4BsRzczA4BsRzczA4BsRzczA4BsRzczA4BsRzczA4BsRzczA4BsRzczA4BsRzczA4BsRzczA4BsRzczA4BsRzczA4BsRzczA5Bs5zczA5Bs5zczA5Bs5zczA5Bs5zczA5Bs5zczA5Bs5zczA5Bs5zczA5Bs5zczA5Bs5zczA5Bs5zczA5Bs5zczA5Bs5zdWJzBthzdWJzBthzdWJzBthzdWJzBthzdWJzBthzdWJzBthzdWJzBthzdWJzBthzdWJzBthzdWJzBthzdWJzBthzdWJzBthzdXBzBt5zdXBzBt5zdXBzBt5zdXBzBt5zdXBzBt5zdXBzBt5zdXBzBt5zdXBzBt5zdXBzBt5zdXBzBt5zdXBzBt5zdXBzBt50bnVtBuR0bnVtBuR0bnVtBuR0bnVtBuR0bnVtBuR0bnVt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"
+}
diff --git a/src/app/og/[...slug]/fonts/geist-semibold-otf.json b/src/app/og/[...slug]/fonts/geist-semibold-otf.json
new file mode 100644
index 0000000..c119360
--- /dev/null
+++ b/src/app/og/[...slug]/fonts/geist-semibold-otf.json
@@ -0,0 +1,3 @@
+{
+ "base64Font": "T1RUTwAMAIAAAwBAQ0ZGIHIR/08AABlsAAC8I0dERUZznnHMAADVkAAAAdZHUE9TY4mY0QAA12gAACqMR1NVQsbFMjAAAQH0AAANHE9TLzI+rl/YAAANbAAAAGBjbWFwVC6iugAAEUQAAAgGaGVhZCxmteIAAADUAAAANmhoZWENAAmoAAANSAAAACRobXR4MmWPlAAAAQwAAAw8bWF4cAMPUAAAAADMAAAABm5hbWVgE49UAAANzAAAA3Zwb3N0/58AMgAAGUwAAAAgAABQAAMPAAAAAQAAAAEzMy4X/pdfDzz1AAMD6AAAAADiJx99AAAAAOInH33/3/8ZCSIDuAAAAAcAAgAAAAAAAAHbAFgA7AAAAs4AFwLOABcCzgAXAs4AFwLOABcCzgAXAs4AFwLOABcCzgAXAs4AFwLOABcEAAAXArcAUALVACsC1QArAtUAKwLVACsC1QArAtUAKwLJAFACyQBQAxkAKwMZACsCZwBQAmcAUAJnAFACZwBQAmcAUAJnAFACZwBQAmcAUAJnAFACZwBQAugAKwJYAFAC1gArAtYAKwLWACsC1gArAtYAKwLWACsC1gArAwEAKwLOAFADBwAeAs4AUAEiAFADiwBQASIAUAEi//MBIv/uASIATgEiAAwBIgAAASIAKgEi/+kCaQA3AmkANwJpADcCrwBQAq8AUAKvAFACSgBQAkoAUAJKAFACSgBQAmwABQOGAFAC7ABQAuwAUALsAFAC7ABQAuwAUALpAFAC/AArAvwAKwL8ACsC/AArAvwAKwL8ACsC/AArAv8ALQL8ACsEUAArApgAUAJ6AFAC9gArArEAUAKxAFACsQBQArEAUAKcADUCnAA1ApwANQKcADUCnAA1ApwANQLVAFACZgAbAmYAGwJmABsCZgAbAmYAGwK7AEECuwBBArsAQQK7AEECuwBBArsAQQK7AEECuwBBArsAQQK7AEECuwBBAs0AFwPEABcDxAAXA8QAFwPEABcDxAAXArIAHAKhABcCoQAXAqEAFwKhABcCoQAXAqEAFwJCABwCQwAcAkIAHAJCABwAwAArAkoAUALsAFACugBQAroAUAK6AFACugBQAcoAKwHKACsBygArAcoAKwHKACsBygArAcoAKwHKACsBygArAs4AKwLOACsCzgArAs4AKwLOACsCzgArAs4AFwLVACsCZwBQAmcAUALWACsBIv/xASIATgL8ACsCuwBBA8QAFwKhABcCQgAcAcoAKwHKACsCzgArBJcAFwSEAEECVgApAlYAKQJWACkCVgApAlYAKQJWACkCVgApAlYAKQJWACkCVgApAlYAKQO6ACkCbwBGAkkAKQJJACkCSQApAkkAKQJJACkCSQApAm8AKQKLACkCpgApAl8AKQJTACkCUwApAlMAKQJTACkCUwApAlMAKQJTACkCUwApAlMAKQJTACkCUwApAbAAMgJvACkCbwApAm8AKQJvACkCbwApAm8AKQJvACkCkQApAlkARgJ1ADICWf/oAQ0ARAENAEYBDQBGAQ3/6AEN/+MBDQBEAQ0AAgEN//YBDQAfAQ3/3wI3AEQBNP/9ATT//QE0//0BNP/9AnQARgJ0/+gCdABGAToARgE6AEYBQABGAToARgFAAAADfABGAlkARgJZAEYCWQBGAlkARgJZAEYCWQBGAl8AKQJfACkCXwApAl8AKQJfACkCXwApAl8AKQJQABoCXwApA+AAKQJvAEYCaABGAm8AKQGcAEYBnABGAZwAPQGcAEECMAApAjAAKQIwACkCMAApAjAAKQIwACkCewBGAa0ALQGtAC0BrQAtAa0ALQGtAC0CVQBGAlUARgJVAEYCVQBGAlUARgJVAEYCVQBGAlUARgJVAEYCVQBGAlUARgJJABYDRwAWA0cAFgNHABYDRwAWA0cAFgJ1AC8COgAWAjoAFgI6ABYCOgAWAjoAFgI6ABYCRAA5AkQAOQJEADkCRAA5AMEAKwE6AEYCWQBGAkoAJAJKACQCSgAkAkoAJAJKACQCSgAkAkoAJAJKACQCSgAkAkoAJAJKACQCbwApAm8AKQJvACkCbwApAm8AKQJvACkCbwApAm8AKQJvACkCbwApAm8AKQEgAFABIABQATcATgEgAEoBlQBGAlYAKQJJACkCUwApAlMAKQJvACkBDQBEAQ3/5wENAEQBDQAfAioARAE0//0CXwApAlUARgNHABYCOgAWAkQAOQJKACQCbwApAwAAMgK9ADIC2AAyAwoALQGuACsBrgArAs4AFwKiAFACtwBQAmUAUAJlAFACMwBQApoAPANHADICZwBQAmcAUAJnAFAEAAAcAqUALwLpAE0C6QBNAq0AUAKtAFADCAA3A4YAUALJAFAC/AArAskAUAKYAFACzwArAmYAGwJUABcCVAAXA1kAKwKxABwCmQAlAx0AUAO4AFAECgBQAskAUAKiAFADhwBQAu4APASIADcESQBQApwANQLyACwC8gArASIAUAEi/+8CaQA3AxoAGwQIAFACugA1Ax0AGwLrADIC8gAcAvwAKwL8ABcEHwAcAtYAUAMIAFACoQAXAqIAFwLgABwC2QAlApkAUAEiAFAC6AArAukATQL8ACsCVAAXAlwAKQJxACsCYgBGAfAARgHwAEYBxwBGAh8AMgLUACUCVAApAlQAKQJUACkDtAAvAioAHgJMAEYCTABGAkwARgJ4AEYCeABGAqcAMgLjAEYCUgBGAl8AKQJbAEYCbwBGAkkAKQJDACkCOgAWAjoAFgK8ACkCdQAvAnkARgK0AEYDRgBGA5gARgJbAEYCWgBGA00ARgKaADID9AAyA58ARgIwACkCVwApAlcAKQENAEQBDf/lATT//QJ1ADIDRwBGAmUARgKAADICswAyAuMALwJfACkCbwAWA8EALwKOAEYCqQBGAkkAFgJJABYCmwAvAr4ARgJZAEYBIABQAlMAKQJMAEYCXwApAjoAFgLIABcC9AArAnAAFwKbAC0CVQAlArAAMAGrACYCggA7An8ALwKZAC8CkAA5AogAOQJQACUChgAlAosAOQM1ACkDNQApAzUAKQM1ACkDNQApAzUAKQM1ACkDNQApAzUAKQM1ACkDSQApA0kAKQNJACkDSQApA0kAKQNJACkDSQApA0kAKQNJACkDSQApArAAMAHoABsCdQAWAnUAcQJ1AEACdQArAnUAKwJ1ADkCdQA7AnUAQAJ1ABMCdQA5AlgADANFACsDLQArA2gAKwMNACsDOgArA2AAKwM3ACsDagArA1kAKwM0ACsBkwAtAQ4AHgFqAC0BfAAtAX8AKwFtAC0BawAtAUsAHgF/AC0BcAAtAZMALQEOAB4BagAtAXwALQF/ACsBbQAtAWsALQFLAB4BfwAtAXAALQDsAAAJYAA+BwgAPgSwAD4A5QApAOUAKQEyAFABMgBQApIAKQDzADAA8wAwAkkAKQJJACkA5QApAUIAKQGtACkBhwApAij//wH8ACIB+gArAOMAKQEwAFABNwBQAn4AKQDnAC4A5wAuAkkAKQJJACkA4wApAaYAKQJWACkDkgApAjQAKQNgACkBQgAsAUIAHAGhACsBoQAcAYcAUAGHABwBfwApAX8AKgFrACoBawApAYQAKQGEACkCVgApAlYAKgGKACoBigApAYIAKQGCACoBcwApAXMAKQDnACoBsAArAbAAKwGvACsA6QArAOcAKgJoACoCaAApAXQAKgF0ACkBdwArAMIAKwIMADIClgBQBLAAPgcIAD4JYAA+BwcAPgNJACkDSQApAlgACAOxACsCqAAlAnkAIwJLADUDOQArAk8AKwJPACsDdgBQAZgAKQEBACkBtAAqARwAUAEcAFACQABQAkMAUAROAFACWABMA3YAKwJYADECSQApAkMAKwKcADUC4QA1Ar0ANQLWACoCuwBQA0YAUAJ8ADUCoQAXAi8AKQIvACkB8AAqAi8AKQJ8AFACLwApAiEAKwIdACkCLwApAi8AKgJAACkCDgApAg4AKQHaACkBnQApA1gAKQGrAAkCkwAXAqkAGwIkABwCmgAWAmQAKQJoAFMDMAApBHwAKQLFACsCeQArAx0AKwJ6ACwCxQArAnoAKwMdACwCeQAsBCwAKwLFACwCiQArApwAKwKcACsCkwArApMAKwKWACsClgArApYAKwKYACsClgArA14AFwHOACsCYQAsAvsAKwJhACwBzgArAmEAKwL7ACsCYQAsA1wAKwHOACwDSQArA0kAKwNJACsCPgArA2IAFwMuAFADYgAXAy4AFwNiABcDLgBQA2IAFwMuABcAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAA3AAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAABsAAAAKQAAACkBmQApANgAKQEQACkBEAApAbIAKQGOACkBjgApAYEAKQEZACkBoAApAXQAKQFJACkBHgApAY4AKQDXACkA5gA3AQEAKQC+ACkDNQApA0kAKQABAAADmP8kAGQJYP/f/hQJIgABAAAAAAAAAAAAAAAAAAADDwAEAmoCWAAFAAgCigJYAAAASwKKAlgAAAFeADIBCQAAAAAAAAAAAAAAAKEAAv9AAeX7AAAAAAAAAABWUkNMAMAAIPsCA5j/JABkA9ABBiAAAJcAAAAAAhYCxgAAACAABAAAABUBAgADAAEECQABABwAAAADAAEECQACAA4AHAADAAEECQADADIAKgADAAEECQAEABwAAAADAAEECQAFAD4AXAAD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AAAAAAAAAAAD6AAAAAAAAAAAAAAD4AAAA+AAAAAAAAAD3APeA+AD4gPkAAAAAAAAAAAD4APyAAAD9gAAAAAAAAABAkMCegJLApoCuQKGAnsCXAJdAkkCogI/AlcCPgJMAkACQQKpAqYCqAJFAoUAAgAOAA8AFQAZACQAJQAtADAAOgA9AEAARQBGAEwAVgBYAFkAXQBkAGkAdAB1AHoAewCBAmACTQJhArACWgL9AKwAuAC5AL8AwwDOAM8A1wDaAOUA6QDsAPEA8gD4AQIBBAEFAQkBEAEVASABIQEmAScBLQJeApACXwKuAjoCRAKYAqACmQKhApECiAL7AokBZQJ2Aq8CigMFAo0CrAIyAjMC/gK4AocCRwMGAjEBZgJ3Ah8CHAIgAkYACAADAAYADAAHAAsADQASAB8AGgAcAB0ANgAyADMANAAYAEoAUABNAE4AVABPAqQAUwBuAGoAbABtAHwAVwEPALIArQCwALYAsQC1ALcAvADJAMQAxgDHAOAA3ADdAN4AwgD2APwA+QD6AQAA+wKlAP8BGgEWARgBGQEoAQMBKgAJALMABACuAAoAtAAQALoAEwC9ABQAvgARALsAFgDAABcAwQAgAMoAHgDIACEAywAbAMUAKADSACYA0AAqANQAKQDTAC8A2QAuANgAOQDjADcA4QA4AOIANQDbADEA5AA8AOgAPwDrAEEA7QBDAO8AQgDuAEQA8ABHAPMASQD1AEgA9ABLAPcAUgD+AFEA/QBVAQEAWgEGAFwBCABbAQcAXgEKAGEBDQBgAQwAXwELAGcBEwBmARIAZQERAHMBHwBwARwAawEXAHIBHgBvARsAcQEdAHcBIwB9ASkAfgCCAS4AhAEwAIMBLwAFAK8ALADWACcA0QA+AOoAYgEOAGgBFAMAAwEDDAMCAvwDAwMHAwQC/wLpAuoC7QLxAvIC7wLoAucC8ALrAu4BcAFxAZcBawGPAY4BkQGSAZMBjAGNAZQBdwGBAYgBZwFoAWkBagFuAW8BcgFzAXQBdQF2AYIBgwGFAYQBhgGHAYsBigGJAZABlQGWAbABsQG5AcUBxgHIAccByQHKAc4BzQHMAdMB2AHZAbIBswHaAa0B0gHRAdQB1QHWAc8B0AHXAboBuAHEAcsBmAHbAZkB3AGaAd0BmwHeAWwBrgFtAa8BnAHfAZ0B4AGeAeEBnwHi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aHVuZ2FydW1sYXV0VW1hY3JvblVvZ29uZWtVcmluZ1V0aWxkZVdhY3V0ZVdjaXJjdW1mbGV4V2RpZXJlc2lzV2dyYXZlWWNpcmN1bWZsZXhZZ3JhdmV1bmkxRUY4WmFjdXRlWmRvdGFjY2VudHVuaUE3OEJ1bmkwMTNCLmxvY2xNQUh1bmkwMTQ1LmxvY2xNQUhSLnNzMDRSYWN1dGUuc3MwNFJjYXJvbi5zczA0dW5pMDE1Ni5zczA0SS5zczA1SWFjdXRlLnNzMDVJY2lyY3VtZmxleC5zczA1SWRpZXJlc2lzLnNzMDVJZG90YWNjZW50LnNzMDVJZ3JhdmUuc3MwNUltYWNyb24uc3MwNUlvZ29uZWsuc3MwNUl0aWxkZS5zczA1Ry5zczA2R2JyZXZlLnNzMDZHY2lyY3VtZmxleC5zczA2dW5pMDEyMi5zczA2R2RvdGFjY2VudC5zczA2dW5pMUUyMC5zczA2QWRpZXJlc2lzLnNzMDhDZG90YWNjZW50LnNzMDhFZGllcmVzaXMuc3MwOEVkb3RhY2NlbnQuc3MwOEdkb3RhY2NlbnQuc3MwOElkaWVyZXNpcy5zczA4SWRvdGFjY2VudC5zczA4T2RpZXJlc2lzLnNzMDhVZGllcmVzaXMuc3MwOFdkaWVyZXNpcy5zczA4WWRpZXJlc2lzLnNzMDhaZG90YWNjZW50LnNzMDhJZGllcmVzaXMuc3MwNS5zczA4SWRvdGFjY2VudC5zczA1LnNzMDhHZG90YWNjZW50LnNzMDYuc3MwOEFfSS5kbGlnVV9JLmRsaWdhYnJldmV1bmkwMUNFYW1hY3JvbmFvZ29uZWtjYWN1dGVjY2Fyb25jY2lyY3VtZmxleGNkb3RhY2NlbnRkY2Fyb25kY3JvYXRlY2Fyb25lZG90YWNjZW50ZW1hY3JvbmVvZ29uZWt1bmkxRUJEdW5pMDI1OWdicmV2ZWdjYXJvbmdjaXJjdW1mbGV4dW5pMDEyM2dkb3RhY2NlbnR1bmkxRTIxdW5pMDFFNWhiYXJoY2lyY3VtZmxleGkubG9jbFRSS2ltYWNyb25pb2dvbmVraXRpbGRlaWp1bmkwMjM3dW5pMDA2QTAzMDFqY2lyY3VtZmxleHVuaTAxRTl1bmkwMTM3bGFjdXRlbGNhcm9udW5pMDEzQ25hY3V0ZW5jYXJvbnVuaTAxNDZlbmdvaHVuZ2FydW1sYXV0b21hY3JvbnJhY3V0ZXJjYXJvbnVuaTAxNTdzYWN1dGVzY2VkaWxsYXNjaXJjdW1mbGV4dW5pMDIxOXRiYXJ0Y2Fyb251bmkwMTYzdW5pMDIxQnVicmV2ZXVodW5nYXJ1bWxhdXR1bWFjcm9udW9nb25la3VyaW5ndXRpbGRld2FjdXRld2NpcmN1bWZsZXh3ZGllcmVzaXN3Z3JhdmV5Y2lyY3VtZmxleHlncmF2ZXVuaTFFRjl6YWN1dGV6ZG90YWNjZW50dW5pQTc4Q3VuaTAxM0MubG9jbE1BSHVuaTAxNDYubG9jbE1BSGEuc3MwMWFhY3V0ZS5zczAxYWJyZXZlLnNzMDF1bmkwMUNFLnNzMDFhY2lyY3VtZmxleC5zczAxYWRpZXJlc2lzLnNzMDFhZ3JhdmUuc3MwMWFtYWNyb24uc3MwMWFvZ29uZWsuc3MwMWFyaW5nLnNzMDFhdGlsZGUuc3MwMWEuc3MwMmFhY3V0ZS5zczAyYWJyZXZlLnNzMDJ1bmkwMUNFLnNzMDJhY2lyY3VtZmxleC5zczAyYWRpZXJlc2lzLnNzMDJhZ3JhdmUuc3MwMmFtYWNyb24uc3MwMmFvZ29uZWsuc3MwMmFyaW5nLnNzMDJhdGlsZGUuc3MwMmwuc3MwM2xhY3V0ZS5zczAzbGNhcm9uLnNzMDN1bmkwMTNDLnNzMDNsc2xhc2guc3MwM2FkaWVyZXNpcy5zczA4Y2RvdGFjY2VudC5zczA4ZWRpZXJlc2lzLnNzMDhlZG90YWNjZW50LnNzMDhnZG90YWNjZW50LnNzMDhpLnNzMDhpZGllcmVzaXMuc3MwOGkubG9jbFRSSy5zczA4aW9nb25lay5zczA4aWouc3MwOGouc3MwOG9kaWVyZXNpcy5zczA4dWRpZXJlc2lzLnNzMDh3ZGllcmVzaXMuc3MwOHlkaWVyZXNpcy5zczA4emRvdGFjY2VudC5zczA4YWRpZXJlc2lzLnNzMDEuc3MwOGFkaWVyZXNpcy5zczAyLnNzMDhmX2YubGlnYXRfdC5saWdhdW5pMDQxMHVuaTA0MTF1bmkwNDEydW5pMDQxM3VuaTA0MDN1bmkwNDkwdW5pMDQ5MnVuaTA0MTR1bmkwNDE1dW5pMDQwMHVuaTA0MDF1bmkwNDE2dW5pMDQxN3VuaTA0MTh1bmkwNDE5dW5pMDQxQXVuaTA0MEN1bmkwNDFCdW5pMDQxQ3VuaTA0MUR1bmkwNDFFdW5pMDQxRnVuaTA0MjB1bmkwNDIxdW5pMDQyMnVuaTA0MjN1bmkwNDBFdW5pMDQyNHVuaTA0MjV1bmkwNDI3dW5pMDQyNnVuaTA0Mjh1bmkwNDI5dW5pMDQwRnVuaTA0MkN1bmkwNDJCdW5pMDQyQXVuaTA0MDl1bmkwNDBBdW5pMDQwNXVuaTA0MDR1bmkwNDJEdW5pMDQwNnVuaTA0MDd1bmkwNDA4dW5pMDQwQnVuaTA0MkV1bmkwNDJGdW5pMDQwMnVuaTA0NjJ1bmkwNDZBdW5pMDQ3MnVuaTA0NzR1bmkwNDk2dW5pMDQ5QXVuaTA0QTJ1bmkwNEFFdW5pMDRCMHVuaTA0QjJ1bmkwNEI2dW5pMDRCQXVuaTA0QzB1bmkwNEQ4dW5pMDRFMnVuaTA0RTh1bmkwNEVFdW5pMDQzMHVuaTA0MzF1bmkwNDMydW5pMDQzM3VuaTA0NTN1bmkwNDkxdW5pMDQ5M3VuaTA0MzR1bmkwNDM1dW5pMDQ1MHVuaTA0NTF1bmkwNDM2dW5pMDQzN3VuaTA0Mzh1bmkwNDM5dW5pMDQ1RHVuaTA0M0F1bmkwNDVDdW5pMDQzQnVuaTA0M0N1bmkwNDNEdW5pMDQzRXVuaTA0M0Z1bmkwNDQwdW5pMDQ0MXVuaTA0NDJ1bmkwNDQzdW5pMDQ1RXVuaTA0NDR1bmkwNDQ1dW5pMDQ0N3VuaTA0NDZ1bmkwNDQ4dW5pMDQ0OXVuaTA0NUZ1bmkwNDRDdW5pMDQ0QnVuaTA0NEF1bmkwNDU5dW5pMDQ1QXVuaTA0NTV1bmkwNDU0dW5pMDQ0RHVuaTA0NTZ1bmkwNDU3dW5pMDQ1OHVuaTA0NUJ1bmkwNDRFdW5pMDQ0RnVuaTA0NTJ1bmkwNDYzdW5pMDQ2QnVuaTA0NzN1bmkwNDc1dW5pMDQ5N3VuaTA0OUJ1bmkwNEEzdW5pMDRBRnVuaTA0QjF1bmkwNEIzdW5pMDRCN3VuaTA0QkJ1bmkwNENGdW5pMDREOXVuaTA0RTN1bmkwNEU5dW5pMDRFRkxhbWJkYXVuaTAzQTlsYW1iZGFwaXVuaTIxMDd1bmkyNEZGdW5pMjc3NnVuaTI3Nzd1bmkyNzc4dW5pMjc3OXVuaTI3N0F1bmkyNzdCdW5pMjc3Q3VuaTI3N0R1bmkyNzdFdW5pMjRFQXVuaTI0NjB1bmkyNDYxdW5pMjQ2MnVuaTI0NjN1bmkyNDY0dW5pMjQ2NXVuaTI0NjZ1bmkyNDY3dW5pMjQ2OHplcm8uc3MwOW9uZS5zczA5emVyby50Zm9uZS50ZnR3by50ZnRocmVlLnRmZm91ci50ZmZpdmUudGZzaXgudGZzZXZlbi50ZmVpZ2h0LnRmbmluZS50ZnVuaTIxNTN1bmkyMTU0dW5pMjE1NXVuaTIwODB1bmkyMDgxdW5pMjA4MnVuaTIwODN1bmkyMDg0dW5pMjA4NXVuaTIwODZ1bmkyMDg3dW5pMjA4OHVuaTIwODl1bmkyMDcwdW5pMDBCOXVuaTAwQjJ1bmkwMEIzdW5pMjA3NHVuaTIwNzV1bmkyMDc2dW5pMjA3N3VuaTIwNzh1bmkyMDc5dW5pMDBBMGh5cGhlbl9oeXBoZW5faHlwaGVuX2dyZWF0ZXIubGlnYWh5cGhlbl9oeXBoZW5fZ3JlYXRlci5saWdhaHlwaGVuX2dyZWF0ZXIubGlnYXVuaTMwMDNwZXJpb2Quc3MwOGNvbG9uLnNzMDhzZW1pY29sb24uc3MwOGVsbGlwc2lzLnNzMDhleGNsYW0uc3MwOGV4Y2xhbWRvd24uc3MwOHF1ZXN0aW9uLnNzMDhxdWVzdGlvbmRvd24uc3MwOHBlcmlvZGNlbnRlcmVkLnNzMDh1bmkzMDFDdW5pMzAwOHVuaTMwMDl1bmkzMDEwdW5pMzAxMXVuaTMwMEN1bmkzMDBEdW5pMzAwQXVuaTMwMEJ1bmkzMDE0dW5pMzAxNXVuaTMwMEV1bmkzMDBGdW5pMzAxNnVuaTMwMTd1bmkwRTNGbGVzc19oeXBoZW4ubGlnYWxlc3NfaHlwaGVuX2h5cGhlbi5saWdhbGVzc19oeXBoZW5faHlwaGVuX2h5cGhlbi5saWdhbGVzc19oeXBoZW5fZ3JlYXRlci5saWdhdW5pMjYzOXNtaWxlZmFjZXVuaUY4RkZ1bmkyMTE3bWludXRlc2Vjb25kdW5pMjExNnVuaTI0MEN1bmkyM0NFdW5pMjQwQkV1cm91bmkyMEI0dW5pMjBCRHVuaTIwQjl1bmkyMEFBbm90ZXF1YWxncmVhdGVyZXF1YWxsZXNzZXF1YWxhcHByb3hlcXVhbGluZmluaXR5aW50ZWdyYWx1bmkyMjA2cHJvZHVjdHN1bW1hdGlvbnJhZGljYWxwYXJ0aWFsZGlmZnVuaTAwQjVhcnJvd3VwdW5pMjE5N2Fycm93cmlnaHR1bmkyMTk4YXJyb3dkb3dudW5pMjE5OWFycm93bGVmdHVuaTIxOTZhcnJvd2JvdGhhcnJvd3VwZG51bmkyMTlEdW5pMjFFNHVuaTIxRTV1bmkyMUE5dW5pMjFBQXVuaTIxQjB1bmkyMUIxdW5pMjFCM3VuaTIxQjRjYXJyaWFnZXJldHVybnVuaTIxRTdhcnJvd3VwLnNzMDd1bmkyMTk3LnNzMDdhcnJvd3JpZ2h0LnNzMDd1bmkyMTk4LnNzMDdhcnJvd2Rvd24uc3MwN3VuaTIxOTkuc3MwN2Fycm93bGVmdC5zczA3dW5pMjE5Ni5zczA3YXJyb3dib3RoLnNzMDdhcnJvd3VwZG4uc3MwN3VuaTI1Q0ZjaXJjbGV1bmkyNUNDbG96ZW5nZXRyaWFndXB1bmkyNUI2dHJpYWdkbnVuaTI1QzB1bmkyNUIzdW5pMjVCN3VuaTI1QkR1bmkyNUMxdW5pMDMwNi5jeXVuaTAzMDh1bmkwMzA3Z3JhdmVjb21iYWN1dGVjb21idW5pMDMwQnVuaTAzMEMuYWx0dW5pMDMwMnVuaTAzMEN1bmkwMzA2dW5pMDMwQXRpbGRlY29tYnVuaTAzMDR1bmkwMzEydW5pMDMyNnVuaTAzMjYubG9jbE1BSHVuaTAzMjd1bmkwMzI4dW5pMDMzNXVuaTAzMDguc3MwOHVuaTAzMDcuc3MwOGRpZXJlc2lzLnNzMDhkb3RhY2NlbnQuc3MwOHVuaTAyQkN1bmkwMkI5dW5pMDJDOGJsYWNrQ2lyY2xlZGJsYWNrQ2lyY2xlZFN0cm9rZTAwMS4yMDBjb3B5cmlnaHQgbWlzc2luZ0dlaXN0IFNlbWlCb2xkU2VtaUJvbGQA6QIAAQAMABEAFgAcADEAPABEAEgATgB1AH4AgQCHAIwAkQCUAJkAngC0ALgAwwEMARMBGwEgASgBMAFcAWABdQGCAYoBkQGYAaIBqwH2AhUCLwJFAk8CVAJbAmECkAKpAsAC0QLcAuYC7QL0AwADBgMlAysDLwNBA04D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AAUBlwGXAAUBmgGaAAQBpQGlAAQBpwGnAAQB7AHsAAMB7gHuAAMB8AHwAAIB8QHxAAQB8wHzAAkB9AH0AAgB9QH1AAYB9gH2AAoB9wH3AAQB+AH4AAUB+QH5AAICDwIPAAQCTAJMAAMCVwJXAAcCXQJdAAECiQKJAAQCzwLPAAMAAgAIAAIACgXUAAEAWgAEAAAAKAOsAK4DrAOsA6wDrAOsA6wDrAOsA6wDrAC4A6wA0gHQAdAB0AHQAdAB1gOsA6wDsgSwBbIFsgWyBbgFvgW+Bb4FvgW+BcQFxAXEBcQFxAXEAAEAKAANAA4AGQAaABsAHAAdAB4AHwAgACEAIgAkAFUAWQBkAGUAZgBnAGgAewCdAJ4A6QEFAQYBBwEIAYkBrAGtAa4BrwHCAcMBxAHeAeIB4wHrAAIAGf/zARD/7AAGAM7/9gDl/+wA5//sAOj/7AFh//YCfP/2AD8Auf/uALr/7gC7/+4AvP/uAL3/7gC+/+4Av//uAMD/7gDB/+4Awv/uAMP/7gDE/+4Axf/uAMb/7gDH/+4AyP/uAMn/7gDK/+4Ay//uAMz/7gDN/+4Az//uAND/7gDR/+4A0v/uANP/7gDU/+4A1f/uANb/7gD4/+4A+f/uAPr/7gD7/+4A/P/uAP3/7gD+/+4A///uAQD/7gEB/+4BBP/uAQn/7gEK/+4BC//uAQz/7gEN/+4BDv/uAT//7gFA/+4BQf/uAUL/7gFD/+4BRP/uAUX/7gFG/+4BR//uAUj/7gFJ/+4BUP/uAVH/7gFS/+4BU//uAVr/7gFg/+4AAQAC/6AAdQCs/7kArf+5AK7/uQCv/7kAsP+5ALH/uQCy/7kAs/+5ALT/uQC1/7kAtv+5ALf/uQC5/64Auv+uALv/rgC8/64Avf+uAL7/rgC//64AwP+uAMH/rgDC/64Aw/+uAMT/rgDF/64Axv+uAMf/rgDI/64Ayf+uAMr/rgDL/64AzP+uAM3/rgDP/64A0P+uANH/rgDS/64A0/+uANT/rgDV/64A1v+uAOn/6ADq/+gA6//oAPH/6ADy/+gA8//oAPT/6AD1/+gA9v/oAPf/6AD4/64A+f+uAPr/rgD7/64A/P+uAP3/rgD+/64A//+uAQD/rgEB/64BAv/oAQP/6AEE/64BBf/oAQb/6AEH/+gBCP/oAQn/rgEK/64BC/+uAQz/rgEN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AO0AzwDvAQ4A1gEQATAA9gEyAUsBFwFNAWEBMQFkAWQBRgFnAWoBRwFsAXYBSwF4AYQBVgGGAYYBYwGJAZIBZAGVAZ0BbgGfAZ8BdwGhAaEBeAGkAacBeQGpAbkBfQG7AcoBjgHNAc0BngHRAdoBnwHcAekBqQHrAewBtwHuAe4BuQHwAfIBugH6AfoBvQIPAg8BvgJMAk0BvwJ8AnwBwQKGAoYBwgKJAokBwwKhAqEBxALPAs8BxQACAKcADQANAAMADgAOAAEADwAUAAIAFQAVAAcAGQAiAAMAIwAjAAcAJAAkAAQAJQAsAAUALQAwAA8AMQAxAAsAMgA5AA8AOgA8AAsAPQA/AA0AQABEAAYARQBLAA8ATABUAAcAVQBVAAMAVgBWAAgAWABYAAcAWQBcAAkAXQBiAAcAZABoAAoAaQBzAAsAdAB5AAwAegB6AA0AewCAAAwAgQCEAA4AhgCGAAYAhwCHAA8AiACLAAkAlQCaAAUAnACcAAIAnQCeAAMAnwCfAAUAoAChAA8AogCiAAcAowCjAAsApAClAAwApgCmAA4AqQCpAAUArAC2ABIAtwC+ABQAvwC/AA8AwgDNABQAzgDOABEAzwDWABcA1wDZABMA2gDlAA8A5wDoAA8A6QDrABkA7ADtABIA7wDwABIA8QD3ABMA+AEDABQBBAEEABcBBQEIABUBCQEOABQBEAEUABYBFQEfABcBIAElABgBJgEmABkBJwEsABgBLQEwABoBMgEyABIBMwE+ABMBPwFJABcBSgFLAA8BTQFOAA8BTwFPABIBUAFSABQBUwFTABcBVAFZAA8BWgFaABQBWwFbABcBXAFdABgBXgFeABoBXwFfABMBYAFgABcBYQFhABEBZAFkABYBaAFpAAEBagFqAAoBbAFtAAoBbwFxAAMBcgFyAA0BcwFzAAEBdAF1AA8BdgF2AA0BeAF6AA8BewF7AAcBfAF8AA8BfQF9AAgBfgF+AAIBfwF/AAoBgAGBAAwBggGCAAcBgwGDAA0BhAGEABsBhgGGAA8BiQGJAAEBigGKABsBiwGNAAEBjgGOAAcBjwGPAAIBkAGQAAcBkQGSABsBlQGVAAcBlgGWABsBlwGYAAEBmQGZAA0BmgGaAAcBmwGbAAwBnAGdAA0BnwGfAAwBoQGhAA0BpAGkABsBpQGlAAcBpgGmAA8BpwGnAAcBqQGpABIBqgGrABQBrAGvABUBsAGzABQBtAG0ABkBtQG1ABQBtgG4ABcBuQG5ABkBuwG9ABcBvgG+ABQBvwG/ABMBwAHBABQBwgHCABUBwwHEABgBxQHFABQBxgHGABkBxwHKABcBzQHNABcB0QHTABQB1AHVABcB1gHWAA8B1wHXABMB2AHYABQB2QHZABcB2gHaABMB3AHcABkB3QHdABQB3gHeABgB3wHgABkB4QHhAA8B4gHjABgB5AHkABkB5QHlABcB5gHmABMB5wHnAA8B6AHoABQB6QHpABcB6wHrABgB8AHwAAIB8QHxAAcB8gHyABsB+gH6AAcCDwIPAAcCTAJMAAwCfAJ8ABEChgKGABACiQKJAAcCoQKhABsAAgCxAAIADQATAA4ADgAYAA8AFAADABUAFgAYABcAGAADABkAIgAYACMAIwADACQAJAABACUALAADAC0AOQAYADoAPAACAD0AQgABAEMAQwAYAEQARAAWAEUASwAYAEwAVQADAFYAVwAYAFgAWAADAFkAXAAYAF0AYgADAGQAaAAEAGkAcwAFAHQAeQAHAHoAegAXAHsAgAAHAIYAiwAYAJUAmgADAJsAmwATAJwAnAADAJ0AngAYAJ8AnwADAKAAoQAYAKIAogADAKMAowAFAKQApQAHAKkAqQADAKoAqgATAKsAqwAFAKwAtwAIALgAuAAYALkAzQANAM4AzgAKAM8A1gANANcA5AAYAOUA5QAUAOcA6AAUAOkA6wAMAOwA8AALAPEA9wAMAPgBAQANAQIBAwAMAQQBBAANAQUBCAAMAQkBDgANARABFAAPARUBHwARASABJQASASYBJgAVAScBLAASAS0BMAAgATIBMgALATMBMwAMATQBPgAIAT8BSQANAUoBSwAYAU0BTgAYAU8BTwAIAVABUwANAVQBWQAYAVoBWgANAVsBWwARAVwBXQASAV4BXgAgAV8BXwAIAWABYAANAWEBYQAKAWQBZAAPAWUBZgAJAWcBZwATAWgBawAYAWwBbQABAW4BbgATAW8BcQAYAXIBcgAXAXMBcwAQAXQBdwAYAXgBeAAfAXkBegAYAXsBewADAXwBfQAYAX4BfgADAX8BfwAEAYABgQAGAYIBggADAYMBgwAXAYUBigAYAYwBjAACAY0BjQABAY4BkAADAZEBkgABAZQBlAAE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BawFsgWsBWQF9AX6BfQF+gX0BfoF9AX6BfQF+gX0BfoF9AX6BWoFcAX0BfoGMAY2BYgFdgWIBXYFiAV2BYgFfAWIBYIFiAWCBYgFggWIBYIFiAWCBYgFjgWaBZQFmgWUBZoFlAWaBZQFmgWgC3wLggt8C4ILfAuCC3wLggt8C4ILfAuCC3wLggt8C4ILfAuCC3wLggt8C4IGAAYGBgAGBgYABgYGAAYGBgAGBgYMBhIGDAYSBgwGEgYMBhIGDAYSBgwGEgYYBh4GGAYeBhgGHgYYBh4F6AWmBawFsgW+BbgFvgW4Bb4FuAW+BcQGJAYqBiQGKgYkBioGJAYqBiQGKgYkBioGJAYqBiQGKgYkBioGMAY2BjAGNgYwBjYGMAXKBjAGNgYwBjYLYAAABdAGNgXWBdwF1gXcBjAF4gXoBe4F6AXuBfQF+gt8C4IGAAYGBgwGEgYYBh4GJAYqBiQGKgYwBjYHXAcUB1wHFAdcBxQHXAcUB1wHFAdcBxQHXAcUB1wHFAdcBxQHXAcUB1wHFAY8BkIHOAc+BzgHPgc4Bz4HOAc+BzgHPgc4Bz4GSAZOBkgGTgZIBk4HGgc+BxoHPgcaBz4HGgc+BxoHPgcaBz4HGgc+BxoHPgcaBz4HGgc+BlQGWgcgAAAHIAAAByAAAAcgAAAHIAAAByAAAAcgAAAHIAAABnIAAAZgAAAGcgAAByYAAAcmAAAHJgAAByYAAAcmAAAHJgAAByYAAAcmAAAHJgAAByYAAAZmAAAHMgAABzIAAAcyAAAHMgAABnIGbAZyBmwGcgZ4BtIMxgbSDMYG0gzGBtIG2AZ+BoQGigaQBt4GlgbeBpYG3gaWBt4G5AbeBpYG3gaWBzgHPgc4Bz4HOAc+BzgHPgc4Bz4HOAc+BzgHPgc4Bz4HOAc+BpwGogauBqgGrgaoBq4GqAauBrQGwAa6BsAGugbABroGwAa6BsAGugbABsYLngukC54LpAueC6QLngukC54GzAdEB0oHRAdKB0QHSgdEB0oHRAdKB0QHSgdEB0oHRAdKB0QHSgdEB0oHRAdKB1AHgAdQB4AHUAeAB1AHgAdQB4AHVgAAB1YAAAdWAAAHVgAAB1YAAAdWAAAHXAd0B1wHdAdcB3QHXAd0BtIG2AbeBuQHYgdoB2IHaAdiB2gHYgdoB2IHaAdiB2gHYgdoB2IHaAdiB2gHYgdoB2IHaAduB3QHbgd0B24HdAduB3QHbgd0B24HdAduB3QHbgd0B24HdAduB3QHbgd0BvwG6gb8BuoG8Ab2BvwHAgcIBw4HXAcUBzgHPgcaBz4HGgc+ByAAAAcmAAAHJgAAByYAAAcmAAAHLAAABzIAAAc4Bz4HRAdKB1AHgAdWAAAHXAd0B2IHaAduB3QHegeAAAEBRQLGAAEBSwAAAAEBlQLGAAEBmwAAAAEBev8ZAAEDCgLGAAEB6ALGAAEBYgAAAAEBVALGAAEBYv8ZAAEBOQAAAAEAswLGAAEBXAAAAAEBdQAAAAEBgALGAAEBgAAAAAEBZQAAAAEBZf8ZAAEBVgAAAAEBVgLGAAEBV/8ZAAEBMwAAAAEBMwLGAAEBM/8ZAAEBOv8ZAAEBfwLGAAEBdf8ZAAEBUwAAAAEBUwLGAAEBU/8ZAAEBe/8ZAAEBeALGAAEBQALHAAEBQQAAAAEBegAAAAEAkQLGAAEAkQAAAAEBfgLGAAEBfgAAAAEB4gLGAAEB4gAAAAEBUQLGAAEBUQAAAAEBKgLGAAEBKgAAAAEA5QLGAAEA5QAAAAEBewLGAAEBewAAAAEClwIUAAEClwAAAAEBOAIWAAEBOAAAAAEBIwIWAAEBIwACAAEArQLLAAEBsAIWAAEBNwAAAAEAhgLLAAEBOP8ZAAEAiQLGAAEAtAAAAAEBvgIWAAEBvgAAAAEBLQAAAAECvQIUAAECvQAAAAEAhgAAAAEA3AIWAAEAh/8ZAAEBHQAAAAEBGwISAAEBHv8ZAAEA/f8ZAAEAhgLGAAEAsv8ZAAEBLQIWAAEBLf8ZAAEAkAAAAAEAjgLGAAEAjgAAAAEAkALGAAEAkP8ZAAEA2wLGAAEA2wAAAAEBHgAAAAEBMAIUAAEBLwIWAAEAhgIWAAEBowIWAAEArQIWAAEBMAIWAAEBMAAAAAEBKAIWAAEBKAAAAAEBpAIWAAEBHgIWAAEBJQIWAAEBGgIWAAEBGQAAAAEBLgIWAAEBJQAAAAEBpALGAAEBpAAAAAQAAAABAAgAAQQ8AAwAAQRCAC4AAgAFAGQAaAAAAL8AwQAFARABFAAIAUoBTgANAtwC3AASABMAKAAoACgAKAAoAC4ALgAuBCoEKgQqBCoEKgA6ADoANAA6AEAARgABATMBTgABATgBCwABAI4BCQABAJABCQABANsBCQABAaQBdQAEAAAAAQAIAAED9gAMAAEEBACOAAIAFQACAAwAAAAZACIACwAwADkAFQBpAHMAHwCMAJQAKgCbAJsAMwCdAJ4ANACgAKEANgCjAKMAOACnAKgAOQCsALcAOwDDAM0ARwDaAOQAUgEBAQEAXQEVAR8AXgE0AUkAaQFPAU8AfwFRAVIAgAFUAVgAggFbAVsAhwFfAWAAiACKA4gDiAOIA4gDiAOIA4gDiAOIA4gDiAEWARYBFgEWARYBFgEWARYBFgEWARwBHAEcARwBHAEcARwBHAEcARwDmgOaA5oDmgOaA5oDmgOaA5oDmgOaASIBIgEiASIBIgEiASIBIgEiA4gBFgEWARwBHAOaASIBIgE6AToBOgE6AToBOgE6AToBOgE6AToBKAFAAUABQAFAAUABQAFAAUABQAFAAS4BRgFGAUYBRgFGAUYBRgFGAUYBRgFGATQBTAFMAUwBTAFMAUwBTAFMAUwBTAFMAVIBUgFSAVIBUgFSAVIBUgFSAVIBUgFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBOgFAAUABRgFGAUYBRgFGAUwBUgFYAAECNgAAAAEA0gAAAAEBngAAAAEDMAAeAAEAiwH4AAEDVQAeAAECNwAAAAEByAAeAAEAxgAAAAECDgAAAAECAwAAAAECKQAAAAQAAAABAAgAAQJUAAwAAQJgAC4AAgAFAL8AwQAAAOwA8AADARABFAAIATIBMgANAUoBTgAOABMAKAAoACgANAA0ADQANAAuAkgCSAJIAkgCSAA0AEAAQAA6AEAARgABAj8CFgABAN8CEgABAN0CEgABAOQCEgABAOYCEgABATECEgAFAAAAAQAIAAEADAAiAAIALADIAAIAAwLmAusAAALtAvcABgL5AvoAEQABAAMAqgCrAWQAEwAAAE4AAABUAAAAlgAAAFoAAABgAAAAZgAAAGwAAABsAAAAcgAAAHgAAAB+AAAAhAAAAIoAAQIOAAECDgABAhQAAQIaAAAAkAAAAJYAAQDBAhYAAQDMAhIAAQCuAhIAAQBjAhIAAQCrAhIAAQDHAhIAAQDBAhIAAQCNAhIAAQDRAhIAAQC6AhIAAQBmAhIAAQDJAhIAAQBsAhIAAwAIACQARgACAAoAAAAQABYAAQFnAsYAAQOzAsYAAQOzAAAAAgAKABAAFgAcAAEBXQLGAAEBXQAAAAEDoALGAAEDoAAAAAIACgAQABYAHAABANcCFgABAPwAAAABAjQCFgABAlkAAAAFAAAAAQAIAAEADACgAAEAEgAeAAEAAQL4AAEAAAAGAAEBLQFOAAEABAACAAYADAABANcBCwABAjQBCwAFAAAAAQAIAAEADAASAAEAGgAgAAEAAQL3AAEAAgCqAKsAAQAAALgAAgAGABgAAgAGAAwAAQK2AAAAAQRsAAAAAgAGAAwAAQHEAAAAAQRZAAAABQAAAAEACAABAAwAEgABABgAJAABAAEC7AABAAEBZAABAAAABgABACMCEgABAAQAAgAGAAwAAQELAoEAAQJnAoEABgAQAAEACgABAAEADAAWAAEAHgBCAAIAAQL0AvcAAAABAAIC9AL1AAQAAAASAAAAEgAAABgAAAAeAAEAbwAAAAEAsgAAAAEA0QAAAAIABgAGAAEAb/8ZAAEAAAAKAmID0AACREZMVAAObGF0bgBAAAQAAAAA//8AFAAAAAEAAwAEAAUADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AOgAJQVpFIABoQ1JUIACYS0FaIADITUFIIAD4TU9MIAEoTkxEIAFYUk9NIAGIVEFUIAG4VFJLIAHoAAD//wAUAAAAAgADAAQABQAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAA//8AFQAAAAEAAwAEAAUABgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAA//8AFQAAAAEAAwAEAAUABwAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAA//8AFQAAAAEAAwAEAAUACAAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAA//8AFQAAAAEAAwAEAAUADQAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAA//8AFQAAAAEAAwAEAAUADAAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAA//8AFQAAAAEAAwAEAAUADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAA//8AFQAAAAEAAwAEAAUACwAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAA//8AFQAAAAEAAwAEAAUACQAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAA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"
+}
diff --git a/src/app/og/[...slug]/fonts/geistmono-regular-otf.json b/src/app/og/[...slug]/fonts/geistmono-regular-otf.json
new file mode 100644
index 0000000..f4200df
--- /dev/null
+++ b/src/app/og/[...slug]/fonts/geistmono-regular-otf.json
@@ -0,0 +1,3 @@
+{
+ "base64Font": "T1RUTwAMAIAAAwBAQ0ZGINMvNaQAABocAADLSkdERUaOgIu5AADlaAAAAgJHUE9TaW4+HAAA52wAABCMR1NVQtVEIxcAAPf4AAANhE9TLzIF4h4/AAAN8AAAAGBjbWFwOpoBDgAAEcAAAAg6aGVhZC6pukoAAADUAAAANmhoZWEPQwwPAAANzAAAACRobXR4VrH9cAAAAQwAAAy+bWF4cAM5UAAAAADMAAAABm5hbWVaa41VAAAOUAAAA3Bwb3N0/58AMgAAGfwAAAAgAABQAAM5AAAAAQAAAAEzM2trAy5fDzz1AAMD6AAAAADiJyGbAAAAAOInIZv/yv8JC3oD9AAAAAcAAgAAAAAAAAHbAFgCWAAAAlgAGgJYABoCWAAaAlgAGgJYABoCWAAaAlgAGgJYABoCWAAaAlgAGgJYABoCWAAKAlgAWgJYACYCWAAmAlgAJgJYACYCWAAmAlgAJgJYAFoCWABaAlj/9gJY//YCWABaAlgAWgJYAFoCWABaAlgAWgJYAFoCWABaAlgAWgJYAFoCWABaAlgAHAJYAGQCWAAmAlgAJgJYACYCWAAmAlgAJgJYACYCWAAmAlgAFAJYAEQCWAAYAlgARAJYAFACWABQAlgAUAJYAFACWABQAlgAUAJYAFACWABQAlgAUAJYACgCWAAoAlgAKAJYADwCWAA8AlgAPAJYAGQCWABkAlgAZAJYAGQCWP/mAlgAPAJYAEYCWABGAlgARgJYAEYCWABGAlgARgJYACYCWAAmAlgAJgJYACYCWAAmAlgAJgJYACYCWAAmAlgAJgJYAAcCWABaAlgAWgJYACYCWABGAlgARgJYAEYCWABGAlgALAJYACwCWAAsAlgALAJYACwCWAAsAlgAJAJYACgCWAAoAlgAKAJYACgCWAAoAlgAPAJYADwCWAA8AlgAPAJYADwCWAA8AlgAPAJYADwCWAA8AlgAPAJYADwCWAAYAlgAKAJYACgCWAAoAlgAKAJYACgCWAAyAlgALAJYACwCWAAsAlgALAJYACwCWAAsAlgAMgJYADICWAAyAlgAMgJYAQACWABkAlgARgJYAEcCWABHAlgARwJYAEcCWAAUAlgAFAJYABQCWAAUAlgAFAJYABQCWAAaAlgAJgJYAFoCWABaAlgAJgJYAFACWABQAlgAJgJYADwCWAAoAlgALAJYADICWAAUAlgANgJYADYCWAA2AlgANgJYADYCWAA2AlgANgJYADYCWAA2AlgANgJYADYCWAANAlgAUAJYAEYCWABGAlgARgJYAEYCWABGAlgARgJYADICWAAyAlgAMgJYADoCWABCAlgAQgJYAEICWABCAlgAQgJYAEICWABCAlgAQgJYAEICWABCAlgAPAJYAEYCWAA8AlgAPAJYADwCWAA8AlgAPAJYADwCWAA8AlgAPAJYAGQCWAAZAlgAAgJYAFACWABQAlgAUAJYAFACWABQAlgAUAJYAFACWABQAlgAUAJYAFACWABuAlgAbgJYAG4CWABuAlgAWgJY//kCWABaAlgAUAJYAFACWABQAlgAUAJYAGQCWAAoAlgAYAJYAGACWABgAlgAYAJYAGACWABgAlgAOgJYADoCWAA6AlgAOgJYADoCWAA6AlgAOgJYACMCWAA6AlgACgJYAFACWABQAlgAMgJYAFoCWABaAlgAWgJYAFoCWABQAlgAUAJYAFACWABQAlgAUAJYAFACWABMAlgAMgJYADICWAAyAlgAMgJYADICWABaAlgAWgJYAFoCWABaAlgAWgJYAFoCWABaAlgAWgJYAFoCWABaAlgAWgJYADYCWAAUAlgAFAJYABQCWAAUAlgAFAJYADYCWAA2AlgANgJYADYCWAA2AlgANgJYADYCWABSAlgAUgJYAFICWABSAlgBAAJYAFACWABgAlgATgJYAE4CWABOAlgATgJYAE4CWABOAlgATgJYAE4CWABOAlgATgJYAE4CWAA2AlgANgJYADYCWAA2AlgANgJYADYCWAA2AlgANgJYADYCWAA2AlgANgJYAFACWABQAlgAUAJYAFACWABPAlgANgJYAEYCWABCAlgAQgJYADwCWABQAlgAUAJYAFACWABQAlgAbgJYADoCWABaAlgAFAJYADYCWABSAlgATgJYADYCWACPAlgAkQJYABoCWABQAlgAWgJYAGQCWABkAlgAZAJYABMCWAAMAlgAWgJYAFoCWABaAlgABwJYACECWABGAlgARgJYADoCWAA6AlgAFAJYADwCWABEAlgAJgJYAEYCWABaAlgAJgJYACgCWAA0AlgANAJYABkCWAAyAlgAMgJYADwCWAA3AlgAIwJYAEYCWABaAlgAIwJYAB4CWAAFAlgAFAJYACwCWAAmAlgALQJYAFACWABQAlgAKAJYAAUCWAAUAlgALgJYAAUCWAAPAlgAAQJYACYCWAAOAlgABwJYADACWAA1AlgALAJYACsCWAAyAlgAIwJYAEYCWABQAlgAHAJYAEYCWAAmAlgANAJYADYCWAA6AlgAWgJYAJUCWACVAlgAlQJYACkCWAAUAlgAQgJYAEICWABCAlgACwJYAFACWABeAlgAXgJYAF4CWABbAlgAWwJYABkCWAAkAlgAWwJYADoCWABaAlgAUAJYAEYCWABDAlgANgJYADYCWAAXAlgANgJYAEUCWABaAlgAOAJYADgCWABaAlgAUQJYACMCWAAKAlgABQJYABQCWABQAlgAPQJYAD4CWABQAlgAUAJYAG4CWAAZAlgAFAJYAFECWAAZAlgACgJYAA4CWAA6AlgAJQJYAAsCWABaAlgAWwJYADYCWAA2AlgANgJYAEUCWABkAlgAUAJYADwCWABeAlgAOgJYADYCWAAaAlgACQJYADsCWAAQAlgAMwJYADICWAA8AlgAMgJYADICWAAoAlgAPAJYADICWAA8AlgAMgJYADICWAAPAlgADwJYAA8CWAAPAlgADwJYAA8CWAAPAlgADwJYAA8CWAAPAlgADwJYAA8CWAAPAlgADwJYAA8CWAAPAlgADwJYAA8CWAAPAlgADwJYADACWAANAlgAKAJYACgCWAAUAlgAKAJYABECWAAoAlgAKAJYABQCWAARAlgAKAJYAJUCWACzAlgAoAJYAKACWACEAlgApQJYAKUCWACmAlgAnwJYAKgCWACVAlgAswJYAKACWACgAlgAhAJYAKUCWAClAlgApgJYAJ8CWACoAlgAAASwAHwHCACHCWAAPgcIAD4EsAA+BwgAPgSwAD4HCAA+BLAAzQSwAIwHCAGLBwgBAgSwAKIEsADXBLABDgSwAD4HCAA+BLAAaAcIAHwHCADWBLAAKgcIATQEsABsBwgAbAJYAPACWADwAlgA8AJYAPACWAA3AlgA8AJYAPACWABDAlgAQwJYAPACWADDAlgAggJYAKECWAA2AlgAbAJYAGwCWADwAlgA8AJYAPACWAA3AlgA8AJYAPACWABAAlj//wJYAPACWACWAlgAZAJYACgCWABQAlgABgJYAL0CWACXAlgAXwJYAGoCWACpAlgAjgJYAKsCWACmAlgAuQJYAI0CWACqAlgAfwJYAFQCWABW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AXoBfQF+AX8BeAF5AYABYwFtAXQBUwFUAVUBVgFaAVsBXgFfAWABYQFiAW4BbwFxAXABcgFzAXcBdgF1AXwBgQGCAZwBnQGlAbEBsgG0AbMBtQG2AboBuQG4Ab8BxAHFAZ4BnwHGAZkBvgG9AcABwQHCAbsBvAHDAaYBpAGwAbcBhAHHAYUByAGGAckBhwHKAVgBmgFZAZsBiAHLAYkBzAGKAc0BiwHOAYwBzwGNAdABjgHRAY8B0gGRAdQBkgHVAZMB1gGUAdcAKwDHAHgBFgB1ARMAdwEVACIAvgB+ARwAfwEdAmoCawJmAmgCaQJnArMCtAI+ArUCrAH+Af8CAgLmAuAC4gLkAugC6QLnAuEC4wLlAtoCyALQAs8CugK4ArwCtwHnAwwDAwMHAwQDCAMFAwkDBgMKAwIDAAMBAlgCWQJeAl8CXAJdAmICYwJaAlsCYAJhAmQCZQCEASIAAAADAAAAAAAA/5wAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAQAEAgABAQESR2Vpc3RNb25vLVJlZ3VsYXIAAQEBKfpxAPpyAfpzAvgYBPsRDANV+4scC3r6iAUcMrkPHDWrEbYdAAC9ExICWQIAAQAHAA4AFQAcACIAKAAzAD0AQwBJAE8AWQBgAGcAbgB1AHsAgQCMAJMAnQCkAKsArwC6AMQAywDSANgA4wDuAPUA/AECAQgBDwEVARsBIgElATIBOQE/AUUBTAFSAVoBZQFsAXMBdwF9AYQBiwGRAZ4BpQGsAbEBtwG9AcgB0QHXAeIB6AHvAfUB/wIGAhUCJAIqAjUCQAJMAlICXQJtAnkCiAKUAqICsQK/As4C3QLrAvoDCAMWAyQDMgNBA1UDWwNiA2kDcAN2A3wDhwORA5cDnQOjA60DtAO7A8IDyQPPA9UD4APnA/ED+AP/BAMEDgQXBB4EJQQrBDIEPQRIBE8EVgRcBGIEaQRvBHUEfAR/BIwEkwSZBJ8EpgSsBLQEvwTGBMoE0ATXBN4E5ATxBPgE/wUEBQoFEAUbBSQFKgU1BTsFQgVIBVIFWQVoBXcFfQWIBZMFnwWvBb0FyAXUBeAF6gX1BfsGBgYRBh0GLQY7BkYGUgZeBmgGcwZ5BoQGjwabBqYGtAbDBtEG4AbvBvUHAwcRBx0HIwcxBz8HTQdbB2oHfQeQB5cHngelB6wHswe6B8EHyAfPB9YH3QfkB+sH8gf5CAAIBwgOCBUIHAgjCCoIMQg4CD8IRghNCFQIWwhiCGkIcAh3CH4IhQiMCJMImgihCKgIrwi2CL0IxAjLCNII2QjgCOcI7gj1CPwJAwkKCREJGAkfCSYJLQk0CTsJQglJCVAJVwleCWUJbAlzCXoJgQmICY8JlgmdCaQJqwmyCbkJwAnHCc4J1QncCeMJ6gnxCfgJ/woGCg0KFAobCiIKKQowCjcKPgpFCkwKUwpaCmEKaApvCnYKfQqECosKkgqZCqAKpwquCrUKvArDCsoK0QrYCt8K5grtCvQK+wsCCwkLEAsXCx4LJQssCzMLOQtAC0YLSAtPC1YLXQtkC2sLcgt5C4ALhwuOC5ULnAujC6oLsQu4C78LxgvNC9QL2wvkC+sL8gv5DAAMBwwODBUMHAwjDCoMMQw4DD8MRgxNDFQMWwxiDGkMcAx3DH4MhQyMDJ4MtwzYDPINBQ0gDTANRQ1bDW0Nhg2eDa8Nvw3TDeQN+w4RDjAOVQ5vDpMOow65DsAOyw7VDuMO8A77DwoPFw8oDzsPQg9JD1APVw9eD2UPbA9zD3oPgQ+ID48Plg+dD6QPqw/CD9UP7Q//EBMQIRAxEEEQVxBvEIEQmxCvEMUQ2BDzEQURHxE6EVQRZBF7EZMRqBHGEesR+BIJEh4SMxJCElcSdBKLEp8SsBLFEtkS7RMJEygTPxNVE2cTfBOTE60TzxPjE+oT8RP3E/0UBBQLFBIUGRQgFCcULhQ1FDkUQBRHFE4UVRRdFGkUchR9FIUUjRSUFJsUpBSrFLYUvRTEFMsU1RTcFOUU7BT1FPwVBRUOFRUVHBUjFSoVMRU4FT8VRhVNFVsVYhVuFXoViRWVFaMVrxW9FckV1xXlFewV8hX5FgAWBxYOFhUWHBYjFioWMRY4Fj8WRhZNFlQWWxZlFmwWcxZ8FoUWjBaXFp4WpRasFrMWvBbDFsoW0RbgFucW7hb1FwEXDRcaFygXLxc2Fz0XSRdbF2IXcxeFQWJyZXZldW5pMDFDREFtYWNyb25Bb2dvbmVrQ2FjdXRlQ2Nhcm9uQ2NpcmN1bWZsZXhDZG90YWNjZW50RGNhcm9uRGNyb2F0RWNhcm9uRWRvdGFjY2VudEVtYWNyb25Fb2dvbmVrdW5pMUVCQ3VuaTAxOEZHYnJldmVHY2Fyb25HY2lyY3VtZmxleHVuaTAxMjJHZG90YWNjZW50dW5pMUUyMHVuaTAxRTRIYmFySGNpcmN1bWZsZXhJZG90YWNjZW50SW1hY3JvbklvZ29uZWtJdGlsZGV1bmkwMDRBMDMwMUpjaXJjdW1mbGV4dW5pMDFFOHVuaTAxMzZMYWN1dGVMY2Fyb251bmkwMTNCTmFjdXRlTmNhcm9udW5pMDE0NUVuZ09odW5nYXJ1bWxhdXRPbWFjcm9uUmFjdXRlUmNhcm9udW5pMDE1NlNhY3V0ZVNjZWRpbGxhU2NpcmN1bWZsZXh1bmkwMjE4dW5pMUU5RVRiYXJUY2Fyb251bmkwMTYydW5pMDIxQVVicmV2ZVVodW5nYXJ1bWxhdXRVbWFjcm9uVW9nb25la1VyaW5nVXRpbGRlV2FjdXRlV2NpcmN1bWZsZXhXZGllcmVzaXNXZ3JhdmVZY2lyY3VtZmxleFlncmF2ZXVuaTFFRjhaYWN1dGVaZG90YWNjZW50dW5pQTc4QnVuaTAxM0IubG9jbE1BSHVuaTAxNDUubG9jbE1BSFIuc3MwNFJhY3V0ZS5zczA0UmNhcm9uLnNzMDR1bmkwMTU2LnNzMDRHLnNzMDZHYnJldmUuc3MwNkdjaXJjdW1mbGV4LnNzMDZ1bmkwMTIyLnNzMDZHZG90YWNjZW50LnNzMDZ1bmkxRTIwLnNzMDZBZGllcmVzaXMuc3MwOENkb3RhY2NlbnQuc3MwOEVkaWVyZXNpcy5zczA4RWRvdGFjY2VudC5zczA4R2RvdGFjY2VudC5zczA4SWRpZXJlc2lzLnNzMDhJZG90YWNjZW50LnNzMDhPZGllcmVzaXMuc3MwOFVkaWVyZXNpcy5zczA4V2RpZXJlc2lzLnNzMDhZZGllcmVzaXMuc3MwOFpkb3RhY2NlbnQuc3MwOEdkb3RhY2NlbnQuc3MwNi5zczA4YWJyZXZldW5pMDFDRWFtYWNyb25hb2dvbmVrY2FjdXRlY2Nhcm9uY2NpcmN1bWZsZXhjZG90YWNjZW50ZGNhcm9uZGNyb2F0ZWNhcm9uZWRvdGFjY2VudGVtYWNyb25lb2dvbmVrdW5pMUVCRHVuaTAyNTlnYnJldmVnY2Fyb25nY2lyY3VtZmxleHVuaTAxMjNnZG90YWNjZW50dW5pMUUyMXVuaTAxRTVoYmFyaGNpcmN1bWZsZXhpLmxvY2xUUktpbWFjcm9uaW9nb25la2l0aWxkZXVuaTAyMzd1bmkwMDZBMDMwMWpjaXJjdW1mbGV4dW5pMDFFOXVuaTAxMzdsYWN1dGVsY2Fyb251bmkwMTNDbmFjdXRlbmNhcm9udW5pMDE0NmVuZ29odW5nYXJ1bWxhdXRvbWFjcm9ucmFjdXRlcmNhcm9udW5pMDE1N3NhY3V0ZXNjZWRpbGxhc2NpcmN1bWZsZXh1bmkwMjE5dGJhcnRjYXJvbnVuaTAxNjN1bmkwMjFCdWJyZXZldWh1bmdhcnVtbGF1dHVtYWNyb251b2dvbmVrdXJpbmd1dGlsZGV3YWN1dGV3Y2lyY3VtZmxleHdkaWVyZXNpc3dncmF2ZXljaXJjdW1mbGV4eWdyYXZldW5pMUVGOXphY3V0ZXpkb3RhY2NlbnR1bmlBNzhDdW5pMDEzQy5sb2NsTUFIdW5pMDE0Ni5sb2NsTUFIYS5zczAxYWFjdXRlLnNzMDFhYnJldmUuc3MwMXVuaTAxQ0Uuc3MwMWFjaXJjdW1mbGV4LnNzMDFhZGllcmVzaXMuc3MwMWFncmF2ZS5zczAxYW1hY3Jvbi5zczAxYW9nb25lay5zczAxYXJpbmcuc3MwMWF0aWxkZS5zczAxYS5zczAyYWFjdXRlLnNzMDJhYnJldmUuc3MwMnVuaTAxQ0Uuc3MwMmFjaXJjdW1mbGV4LnNzMDJhZGllcmVzaXMuc3MwMmFncmF2ZS5zczAyYW1hY3Jvbi5zczAyYW9nb25lay5zczAyYXJpbmcuc3MwMmF0aWxkZS5zczAybC5zczAzbGFjdXRlLnNzMDNsY2Fyb24uc3MwM3VuaTAxM0Muc3MwM2xzbGFzaC5zczAzYWRpZXJlc2lzLnNzMDhjZG90YWNjZW50LnNzMDhlZGllcmVzaXMuc3MwOGVkb3RhY2NlbnQuc3MwOGdkb3RhY2NlbnQuc3MwOGkuc3MwOGlkaWVyZXNpcy5zczA4aS5sb2NsVFJLLnNzMDhpb2dvbmVrLnNzMDhqLnNzMDhvZGllcmVzaXMuc3MwOHVkaWVyZXNpcy5zczA4d2RpZXJlc2lzLnNzMDh5ZGllcmVzaXMuc3MwOHpkb3RhY2NlbnQuc3MwOGFkaWVyZXNpcy5zczAxLnNzMDhhZGllcmVzaXMuc3MwMi5zczA4dW5pMDQxMHVuaTA0MTF1bmkwNDEydW5pMDQxM3VuaTA0MDN1bmkwNDkwdW5pMDQ5MnVuaTA0MTR1bmkwNDE1dW5pMDQwMHVuaTA0MDF1bmkwNDE2dW5pMDQxN3VuaTA0MTh1bmkwNDE5dW5pMDQxQXVuaTA0MEN1bmkwNDFCdW5pMDQxQ3VuaTA0MUR1bmkwNDFFdW5pMDQxRnVuaTA0MjB1bmkwNDIxdW5pMDQyMnVuaTA0MjN1bmkwNDBFdW5pMDQyNHVuaTA0MjV1bmkwNDI3dW5pMDQyNnVuaTA0Mjh1bmkwNDI5dW5pMDQwRnVuaTA0MkN1bmkwNDJCdW5pMDQyQXVuaTA0MDl1bmkwNDBBdW5pMDQwNXVuaTA0MDR1bmkwNDJEdW5pMDQwNnVuaTA0MDd1bmkwNDA4dW5pMDQwQnVuaTA0MkV1bmkwNDJGdW5pMDQwMnVuaTA0NjJ1bmkwNDZBdW5pMDQ3MnVuaTA0NzR1bmkwNDk2dW5pMDQ5QXVuaTA0QTJ1bmkwNEFFdW5pMDRCMHVuaTA0QjJ1bmkwNEI2dW5pMDRCQXVuaTA0QzB1bmkwNEQ4dW5pMDRFMnVuaTA0RTh1bmkwNEVFdW5pMDQzMHVuaTA0MzF1bmkwNDMydW5pMDQzM3VuaTA0NTN1bmkwNDkxdW5pMDQ5M3VuaTA0MzR1bmkwNDM1dW5pMDQ1MHVuaTA0NTF1bmkwNDM2dW5pMDQzN3VuaTA0Mzh1bmkwNDM5dW5pMDQ1RHVuaTA0M0F1bmkwNDVDdW5pMDQzQnVuaTA0M0N1bmkwNDNEdW5pMDQzRXVuaTA0M0Z1bmkwNDQwdW5pMDQ0MXVuaTA0NDJ1bmkwNDQzdW5pMDQ1RXVuaTA0NDR1bmkwNDQ1dW5pMDQ0N3VuaTA0NDZ1bmkwNDQ4dW5pMDQ0OXVuaTA0NUZ1bmkwNDRDdW5pMDQ0QnVuaTA0NEF1bmkwNDU5dW5pMDQ1QXVuaTA0NTV1bmkwNDU0dW5pMDQ0RHVuaTA0NTZ1bmkwNDU3dW5pMDQ1OHVuaTA0NUJ1bmkwNDRFdW5pMDQ0RnVuaTA0NTJ1bmkwNDYzdW5pMDQ2QnVuaTA0NzN1bmkwNDc1dW5pMDQ5N3VuaTA0OUJ1bmkwNEEzdW5pMDRBRnVuaTA0QjF1bmkwNEIzdW5pMDRCN3VuaTA0QkJ1bmkwNENGdW5pMDREOXVuaTA0RTN1bmkwNEU5dW5pMDRFRkxhbWJkYXVuaTAzQTlsYW1iZGFwaXVuaTIxMDd1bmkyNEZGdW5pMjc3NnVuaTI3Nzd1bmkyNzc4dW5pMjc3OXVuaTI3N0F1bmkyNzdCdW5pMjc3Q3VuaTI3N0R1bmkyNzdFdW5pMjRFQXVuaTI0NjB1bmkyNDYxdW5pMjQ2MnVuaTI0NjN1bmkyNDY0dW5pMjQ2NXVuaTI0NjZ1bmkyNDY3dW5pMjQ2OHplcm8uc3MwOXVuaTIxNTN1bmkyMTU0dW5pMjE1NXVuaTIwODB1bmkyMDgxdW5pMjA4MnVuaTIwODN1bmkyMDg0dW5pMjA4NXVuaTIwODZ1bmkyMDg3dW5pMjA4OHVuaTIwODl1bmkyMDcwdW5pMDBCOXVuaTAwQjJ1bmkwMEIzdW5pMjA3NHVuaTIwNzV1bmkyMDc2dW5pMjA3N3VuaTIwNzh1bmkyMDc5dW5pMDBBMGh5cGhlbl9oeXBoZW4ubGlnYWh5cGhlbl9oeXBoZW5faHlwaGVuLmxpZ2FoeXBoZW5faHlwaGVuX2h5cGhlbl9ncmVhdGVyLmxpZ2FoeXBoZW5faHlwaGVuX2dyZWF0ZXIubGlnYWh5cGhlbl9ncmVhdGVyLmxpZ2FoeXBoZW5fZ3JlYXRlcl9ncmVhdGVyLmxpZ2FoeXBoZW5fbGVzcy5saWdhaHlwaGVuX2xlc3NfbGVzcy5saWdhaHlwaGVuX2FzY2lpdGlsZGUubGlnYWJyYWNlbGVmdF9iYXIubGlnYXBlcmlvZF9wZXJpb2RfcGVyaW9kLmxpZ2FwZXJpb2RfcGVyaW9kX2VxdWFsLmxpZ2FwZXJpb2RfZXF1YWwubGlnYWNvbG9uX2VxdWFsLmxpZ2FleGNsYW1fcXVlc3Rpb24ubGlnYWV4Y2xhbV9lcXVhbC5saWdhZXhjbGFtX2VxdWFsX2VxdWFsLmxpZ2FxdWVzdGlvbl9xdWVzdGlvbi5saWdhcXVlc3Rpb25fcXVlc3Rpb25fcXVlc3Rpb24ubGlnYW51bWJlcnNpZ25fbnVtYmVyc2lnbl9udW1iZXJzaWduLmxpZ2FudW1iZXJzaWduX3VuZGVyc2NvcmUubGlnYW51bWJlcnNpZ25fdW5kZXJzY29yZV9wYXJlbmxlZnQubGlnYXNsYXNoX2VxdWFsLmxpZ2FzbGFzaF9lcXVhbF9lcXVhbC5saWdhdW5pMzAwM3BlcmlvZC5zczA4Y29sb24uc3MwOHNlbWljb2xvbi5zczA4ZWxsaXBzaXMuc3MwOGV4Y2xhbS5zczA4ZXhjbGFtZG93bi5zczA4cXVlc3Rpb24uc3MwOHF1ZXN0aW9uZG93bi5zczA4cGVyaW9kY2VudGVyZWQuc3MwOHVuaTMwMUN1bmkzMDA4dW5pMzAwOXVuaTMwMTB1bmkzMDExdW5pMzAwQ3VuaTMwMER1bmkzMDBBdW5pMzAwQnVuaTMwMTR1bmkzMDE1dW5pMzAwRXVuaTMwMEZ1bmkzMDE2dW5pMzAxN3VuaTBFM0ZiYXJfaHlwaGVuX2dyZWF0ZXIubGlnYWJhcl9icmFjZXJpZ2h0LmxpZ2FiYXJfYmFyX2Jhcl9ncmVhdGVyLmxpZ2FiYXJfYmFyX2VxdWFsLmxpZ2FiYXJfYmFyX2dyZWF0ZXIubGlnYWJhcl9lcXVhbC5saWdhYmFyX2dyZWF0ZXIubGlnYWVxdWFsX2VxdWFsLmxpZ2FlcXVhbF9lcXVhbF9lcXVhbC5saWdhZXF1YWxfZXF1YWxfZ3JlYXRlci5saWdhZXF1YWxfZ3JlYXRlci5saWdhZXF1YWxfZ3JlYXRlcl9ncmVhdGVyLmxpZ2FlcXVhbF9sZXNzX2xlc3MubGlnYWVxdWFsX3NsYXNoX2VxdWFsLmxpZ2FncmVhdGVyX2h5cGhlbi5saWdhZ3JlYXRlcl9oeXBoZW5fZ3JlYXRlci5saWdhZ3JlYXRlcl9lcXVhbC5saWdhZ3JlYXRlcl9lcXVhbF9ncmVhdGVyLmxpZ2FncmVhdGVyX2dyZWF0ZXJfaHlwaGVuLmxpZ2FncmVhdGVyX2dyZWF0ZXJfZXF1YWwubGlnYWxlc3NfaHlwaGVuLmxpZ2FsZXNzX2h5cGhlbl9oeXBoZW4ubGlnYWxlc3NfaHlwaGVuX2dyZWF0ZXIubGlnYWxlc3NfaHlwaGVuX2xlc3MubGlnYWxlc3NfZXhjbGFtX2h5cGhlbl9oeXBoZW4ubGlnYWxlc3NfZXhjbGFtX2h5cGhlbl9oeXBoZW5faHlwaGVuLmxpZ2FsZXNzX2Jhci5saWdhbGVzc19iYXJfYmFyLmxpZ2FsZXNzX2Jhcl9iYXJfYmFyLmxpZ2FsZXNzX2Jhcl9ncmVhdGVyLmxpZ2FsZXNzX2VxdWFsLmxpZ2FsZXNzX2VxdWFsX2VxdWFsLmxpZ2FsZXNzX2VxdWFsX2VxdWFsX2dyZWF0ZXIubGlnYWxlc3NfZXF1YWxfZ3JlYXRlci5saWdhbGVzc19lcXVhbF9sZXNzLmxpZ2FsZXNzX2dyZWF0ZXIubGlnYWxlc3NfbGVzc19oeXBoZW4ubGlnYWxlc3NfbGVzc19lcXVhbC5saWdhbGVzc19hc2NpaXRpbGRlLmxpZ2FsZXNzX2FzY2lpdGlsZGVfZ3JlYXRlci5saWdhbGVzc19hc2NpaXRpbGRlX2FzY2lpdGlsZGUubGlnYWxlc3Nfc2xhc2hfZ3JlYXRlci5saWdhYXNjaWl0aWxkZV9oeXBoZW4ubGlnYWFzY2lpdGlsZGVfYXQubGlnYWFzY2lpdGlsZGVfZXF1YWwubGlnYWFzY2lpdGlsZGVfZ3JlYXRlci5saWdhYXNjaWl0aWxkZV9hc2NpaXRpbGRlLmxpZ2Fhc2NpaXRpbGRlX2FzY2lpdGlsZGVfZ3JlYXRlci5saWdhcGVyY2VudF9wZXJjZW50LmxpZ2F1bmlGOEZGdW5pMjExN21pbnV0ZXNlY29uZHVuaTIxMTZ1bmkyNDIzdW5pMjQwQ3VuaTIzMjd1bmkyMzJCdW5pMjMyNnVuaTIzQ0V1bmkyNDBCRXVyb3VuaTIwQjR1bmkyMEJEdW5pMjBCOXVuaTIwQUFub3RlcXVhbGdyZWF0ZXJlcXVhbGxlc3NlcXVhbGFwcHJveGVxdWFsaW5maW5pdHlpbnRlZ3JhbHVuaTIyMDZwcm9kdWN0c3VtbWF0aW9ucmFkaWNhbHBhcnRpYWxkaWZmdW5pMDBCNWFycm93dXB1bmkyMTk3YXJyb3dyaWdodHVuaTIxOThhcnJvd2Rvd251bmkyMTk5YXJyb3dsZWZ0dW5pMjE5NmFycm93Ym90aGFycm93dXBkbnVuaTIxOUR1bmkyMUU0dW5pMjFFNXVuaTIxQTl1bmkyMUFBdW5pMjFCMHVuaTIxQjF1bmkyMUIzdW5pMjFCNGNhcnJpYWdlcmV0dXJudW5pMjFFN2Fycm93dXAuc3MwN3VuaTIxOTcuc3MwN2Fycm93cmlnaHQuc3MwN3VuaTIxOTguc3MwN2Fycm93ZG93bi5zczA3dW5pMjE5OS5zczA3YXJyb3dsZWZ0LnNzMDd1bmkyMTk2LnNzMDdhcnJvd2JvdGguc3MwN2Fycm93dXBkbi5zczA3dW5pMjVDRmNpcmNsZXVuaTI1Q0Nsb3plbmdldHJpYWd1cHVuaTI1QjZ0cmlhZ2RudW5pMjVDMHVuaTI1QjN1bmkyNUI3dW5pMjVCRHVuaTI1QzF1bmkyNTBDdW5pMjUwMHVuaTI1MTR1bmkyNTAydW5pMjUxQ3VuaTAzMDYuY3l1bmkwMzA4dW5pMDMwN2dyYXZlY29tYmFjdXRlY29tYnVuaTAzMEJ1bmkwMzBDLmFsdHVuaTAzMDJ1bmkwMzBDdW5pMDMwNnVuaTAzMEF0aWxkZWNvbWJ1bmkwMzA0dW5pMDMxMnVuaTAzMjZ1bmkwMzI2LmxvY2xNQUh1bmkwMzI3dW5pMDMyOHVuaTAzMzV1bmkwMzA4LnNzMDh1bmkwMzA3LnNzMDhkaWVyZXNpcy5zczA4ZG90YWNjZW50LnNzMDh1bmkwMkJDdW5pMDJCOXVuaTAyQzhibGFja0NpcmNsZWRibGFja0NpcmNsZWRTdHJva2UwMDEuMjAwY29weXJpZ2h0IG1pc3NpbmdHZWlzdCBNb25vIFJlZ3VsYXIA8wIAAQAEAAwAEgAZAB8AJQAqADQANwBCAEsAUQBZAF8ApADQANgA4AEeAVcBdgF7AYgBnwGmAdYB4QH3AgwCFgIdAiQCNgJlAm8CeAKAAoYCogKmArsC2gLrAvYC/wMGAxIDGQMfAyYDMAM0A0MDUQNjA28DeQOAA4kDkAOfA6YD9AP+BBwENwRMBFEEYARxBHwEhwSRBJ4EpwSyBLoEwwTKBNEE3QTlBO0E9QVNBY0FzgYRBjAGNwZJBmQGeAaUBsAGxAbrBvEHAwcWBycHNwc+B0wHWgdfB3YHegd/B4QHkAeiB7MHwwfNB9YH3wfoB/EH/QgFCA0IFQggCC8IgAiTCN4JIQl9CdYKIApsCrcK/AsECwcLTwuVC7gLwgviC/wMMAw6DHQMlQywDNMM1w0PDSENUw1eDW4Ngw2xDdoN+g4kDjMONw5VDn4Opg7ODtoPAA8lDzYPWw+AD5EPow+sD88P7xABECEQQRBgEH4QnBC6ENcQ9BELESYRQBFYEWYRfRGUEasRuhHQEdsR6BH9EgkSHhIqEj4SUhJkEnIS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+0j7swgLi/cOPdnW0fdB0fdcdwv3cMT3OLbct8fEAbvDC3fr9wQB9y8tCgMLFVMGSy0FNe/laQcOnnR2mGsbVWNjPokfC9X4ENdB1RL3eNRC3wsDyfezFfhw2fxwBgsGY/wKBVyGd3JqGwvvCuUL+Qj3bd38nDn3bQYLFc0G5ffeBS4GDvsm0fsX9y4L9zzp9xn3gQv7Kvd0QdX4XHcSC535OAH3mdkD+M8L0xXRBkn3FAUtBgv3DAH3hPcMA/fAC/ju9xQB93D3NAML6/cA9z33PSv3AAt38u0B9zTj8+MDCwAAAAEAAgAOAAAAAAAAAcIAAgBIAAIADAABAA8AIgABACUAKwABAC0ALQABAC8AQwABAEUAUwABAFcAYQABAGMAcgABAHQAeAABAHoAgwABAIUAqQABAKsAswABALUAvwABAMEA8QABAPYA/wABAQEBEAABARIBFgABARgBIQABASMBUAABAVMBUwABAVYBWQABAVsBXQABAWABYwABAWYBZwABAWoBbQABAXoBfwABAYIBggABAYYBhgABAYkBjAABAZABkAABAZIBlQABAZgBmwABAZ0BnwABAaIBpgABAaoBqgABAa0BrQABAa8BsAABAb0BvQABAcABwwABAcUBxQABAckByQABAcwBzAABAdIB1wABAd4B4gAEAeQB5QAEAf0CBgACAhwCMwACAjQCNAAEAjYCNgAEAjkCOQAEAjsCOwAEAkECQgAEAkUCTAABAk0CTQAEAlACUAAEAlICUgAEAlQCVQAEAmYCawABAnQCpAACAqYCpgAEAq0CrgABArECsQAEArUCtQACAr0CwAABAsYCxgABAsoCygABAssCywAEAs0CzgAEAtMC0wAEAt4C3gAEAwEDAQABAxADJAADAAEAAwAAABAAAAAgAAAAKgACAAIDEQMVAAADFwMdAAUAAgABAx4DIQAAAAIAAwMQAxUAAAMXAx0ABgMjAyQADQAAAAEAAAAKAGoAmgACREZMVAAObGF0bgASAEgAAAA6AAlBWkUgAERDUlQgAERLQVogAERNQUggAERNT0wgAEROTEQgAERST00gAERUQVQgAERUUksgAEQAAP//AAIAAQACAAD//wACAAAAAgADbWFyawAUbWFyawAUbWttawAoAAAACAAAAAEAAgADAAQABQAGAAcAAAACAAgACQAKABYBEgMAAx4DdAuMDFwOLA7kDzgABAAAAAEACAABA2oADAACA/wANAACAAYCRQJMAAACZgJrAAgCrQKuAA4CvQLAABACxgLGABQCygLKABUAFg94AAAPeAAAD3gAAA9yAAAAWgBgAGYAAABsAHIPeAAAAHgAAAB+AAAAAACEAIoAAACQAJYAnAAAAKIAAA94AAAK4ArmAKgAAAmuCkQArgC0CsIOygC6AAAAAQBiAhIAAQEtABIAAQEiAhIAAQC5AhIAAQD0ACIAAQEd/6kAAQEr/6kAAQEtAnwAAQErAfwAAQEaAhIAAQE6AnwAAQEkAhIAAQF9AhIAAQEdAhIAAQE4AsYAAQFFAAAAAQBTAhIABAAAAAEACAABAm4ADAACAwAAkgABAEEBUwFWAVcBWAFZAVsBXAFdAWABYQFiAWMBZgFnAWoBawFsAW0BegF7AXwBfQF+AX8BggGGAYkBigGLAYwBkAGSAZMBlAGVAZgBmQGaAZsBnQGeAZ8BogGjAaQBpQGmAaoBrQGvAbABvQHAAcEBwgHDAcUByQHMAdIB0wHUAdUB1gHXAEEJaAAAAQwAAAEGAAABDAAAAQwAAAhgCGYHvghmCGAIZgloDXAJaA1wARIAAAEYAAAJaAAACWgNcAhUCFoJaA1wATYAAAE2AAAJbg1wCWgNcAloDXAJaA1wCWgNcAfWAAABHgEkCWgNcAEqAAABMAAACWgNcAluCXQJaA1wCWgNcAloDXABNgAACXoJgAFCAAABPAAAAUIAAAFCAAAJkgmYCJYJmAmSCZgOGAAADhgAAAlEAAAOGAAACUQAAA4eDXAJhgmMCbwAAAm8AAAJIAkaCLoAAAmqAAAIwAAACK4AAAFIAU4OHg1wDh4AAAiuAAAJaA1wCJwIog4YAAAOHg1wCbwAAAABAUYDjgABAUYCxgABASYCxgABASYDjgABATYCxgABATYAAAABARwCxgABAR0CxgABATACxgABAU8C2gABAU8CEgABAVACEgABATgAAAAEAAAAAQAIAAEImAAMAAEI2AASAAEAAQFrAAEJGAAEAAAAAQAIAAEJSgAMAAEJwAAuAAEADwFTAVsBXAFdAX0BfgGQAZUBnQGeAZ8BwAHBAdMB1AAPCpAKlgqWCpYKnAqcCpwKtAq6CroKugrACsAKnAquAAQAAAABAAgAAQAMACIAAgCeAOwAAgADAxADFQAAAxcDIQAGAyMDJAARAAIAFAACAAwAAAAPACIACwAlACsAHwAtAC0AJgAvAEMAJwBFAFMAPABXAGEASwBjAHIAVgB0AHgAZgB6AIMAawCFAKkAdQCrALMAmgC1AL8AowDBAPEArgD2AP8A3wEBARAA6QESARYA+QEYASEA/gEjAVABCAMBAwEBNgATAAALsAAAC7AAAAuqAAALkgAAC5gAAAueAAALqgAAC7AAAAuwAAALsAAAC7AAAAuqAAALpAABCwIAAQsCAAELCAABCw4AAAuqAAALsAE3BqwAAAamAAAGrAAABqwAAAasAAAGrAAABqYAAAasAAAGrAAABqwAAAasAAAFmAWeBN4FngWYBZ4FmAWeBZgFngTkBZ4FsATqBbAE6gTwBPYE8AT2BaQFqgUCBaoFpAWqBaQFqgWkBaoE/AWqBQIFqgWkBaoFpAWqBaQFqgayBrgGsga4BrIGuAayBrgGsgUIBQ4GuAayBrgGrAAABqwAAAasCrQGpgq0BqwKtAasCrQFaAq0BqYKtAasCrQGrAq0BqwKtAUaAAAFFAAABRoAAAUmBSAFJgUgBSYFLAXyBW4FMgVuBfIFbgXyBTgFPgVEBqwKtAamCrQGrAq0BqwKygasCrQGrAq0BqwKtAamCrQGrAq0BqwKtAamCrQGpgq0BqwKtAasCrQGrAq0BqwKtAVWBVAFSgVQBVYFUAVWBVwGsgq0BWIKtAayCrQGsgq0BrIKtAayCsoGrAq0BqwKtAasCrQGrAq0BqwKygasCrQGpgq0BqwKtAasCrQGrAq0BqYKtAamCrQGrAq0BqwKtAasCrQGrAq0BqwKtAamCrQGrAq0BqwKtAamCrQGrAq0BqYKtAasCrQGrAq0BqYKtAasCrQGrAq0BqYKtAasCrQFaAq0BfIFbgasCrQFgAV6BXQFegWABXoFgAWGBbAHBgWwBwYFsAcGBbAFjAWSBwYFsAcGBqwAAAWYBZ4FpAWqBaQFqgayBrgGrAq0BqwKtAasCrQGrAq0BqwKtAasCrQGrAq0BbAHBga+BsQFtgbEBr4GxAa+BsQGvgbEBr4GxAW2BsQGvgbEBr4GxAa+BsQGvgbEBbwFwgbKBtAFyAbQBsoG0AbKBtAGygbQBc4G0AtiCrQLYgq0C2IKtAbWBtwF2gbcBtYG3AbWBtwG1gbc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ABgAAQIwAAAAAQH4AAAAAQIEAAAAAQIMAAAABAAAAAEACAABAAwAEgABAEAATAABAAEDFgACAAcAPwBDAAAAhQCFAAUAsQCzAAYA3QDhAAkBAQEFAA4BIwEjABMBOwE/ABQAAQAAAAYAAQDgAhIAGQA6ADoAOgA6ADQAOgBAAEAAQABSAFIAUgBSAEYATABMAEwATABMAFIAWABYAFgAWABeAAEBJQISAAEBGAISAAECCAISAAEBpAISAAEBWgJoAAEBkAISAAEBmgISAAEBmQISAAYAEAABAAoAAQABAAwAFgABABwAQAACAAEDHgMhAAAAAQABAx4ABAAAABIAAAASAAAAGAAAAB4AAQEsAAAAAQE9AAAAAQFiAAAAAQAEAAEBLP8iAAYAEAABAAoAAgABAAwAIgABACwAjgACAAMDEAMVAAADFwMdAAYDIwMkAA0AAgABAxIDFQAAAA8AAABcAAAAXAAAAFYAAAA+AAAARAAAAEoAAABWAAAAXAAAAFwAAABcAAAAXAAAAFYAAABQAAAAVgAAAFwAAQFUAhIAAQECAhIAAQEEAhIAAQEfAhIAAQEtAhIAAQEsAhIABAAKABAAFgAcAAEBLALHAAEBVALaAAEBAgLaAAEBBALaAAEAAAAKAeQDGAACREZMVAAObGF0bgASAD4AAAA6AAlBWkUgAGBDUlQgAIhLQVogALBNQUggANhNT0wgAQBOTEQgAShST00gAVBUQVQgAXhUUksgAaAAAP//ABAAAAABAAIAAwANAA4ADwAQABEAEgATABQAFQAWABcAGAAA//8AEQAAAAEAAgADAAQADQAOAA8AEAARABIAEwAUABUAFgAXABgAAP//ABEAAAABAAIAAwAFAA0ADgAPABAAEQASABMAFAAVABYAFwAYAAD//wARAAAAAQACAAMABgANAA4ADwAQABEAEgATABQAFQAWABcAGAAA//8AEQAAAAEAAgADAAsADQAOAA8AEAARABIAEwAUABUAFgAXABgAAP//ABEAAAABAAIAAwAKAA0ADgAPABAAEQASABMAFAAVABYAFwAYAAD//wARAAAAAQACAAMADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAA//8AEQAAAAEAAgADAAkADQAOAA8AEAARABIAEwAUABUAFgAXABgAAP//ABEAAAABAAIAAwAH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"
+}
diff --git a/src/app/og/[...slug]/og.tsx b/src/app/og/[...slug]/og.tsx
new file mode 100644
index 0000000..5754e96
--- /dev/null
+++ b/src/app/og/[...slug]/og.tsx
@@ -0,0 +1,65 @@
+import type { ImageResponseOptions } from 'next/dist/compiled/@vercel/og/types';
+import { ImageResponse } from 'next/og';
+import type { ReactElement } from 'react';
+
+interface GenerateProps {
+ title: string;
+ description?: string;
+}
+
+export function generateOGImage(
+ options: GenerateProps & ImageResponseOptions,
+): ImageResponse {
+ const { title, description, ...rest } = options;
+
+ return new ImageResponse(
+ generate({
+ title,
+ description,
+ }),
+ {
+ width: 1200,
+ height: 630,
+ ...rest,
+ },
+ );
+}
+
+export function generate({
+ title,
+ description = 'Learn more about this post by visiting the website.',
+}: GenerateProps): ReactElement {
+ return (
+ <div
+ tw='flex h-full w-full bg-black text-white'
+ style={{ fontFamily: 'Geist Sans' }}
+ >
+ <div tw='flex border absolute border-stone-900 border-dashed inset-y-0 left-16 w-[1px]' />
+ <div tw='flex border absolute border-stone-900 border-dashed inset-y-0 right-16 w-[1px]' />
+ <div tw='flex border absolute border-stone-900 inset-x-0 h-[1px] top-16' />
+ <div tw='flex border absolute border-stone-900 inset-x-0 h-[1px] bottom-16' />
+ <div tw='flex flex-col absolute w-[896px] justify-center inset-32'>
+ <div
+ tw='tracking-tight flex-grow-1 flex flex-col justify-center leading-[1.1]'
+ style={{
+ textWrap: 'balance',
+ fontWeight: 600,
+ fontSize: title && title.length > 20 ? 64 : 80,
+ letterSpacing: '-0.04em',
+ }}
+ >
+ {title}
+ </div>
+ <div
+ tw='text-[40px] leading-[1.5] flex-grow-1 text-stone-400'
+ style={{
+ fontWeight: 500,
+ textWrap: 'balance',
+ }}
+ >
+ {description}
+ </div>
+ </div>
+ </div>
+ );
+}
diff --git a/src/app/og/[...slug]/route.tsx b/src/app/og/[...slug]/route.tsx
new file mode 100644
index 0000000..8738616
--- /dev/null
+++ b/src/app/og/[...slug]/route.tsx
@@ -0,0 +1,58 @@
+import { generateOGImage } from '@/app/og/[...slug]/og';
+import { metadataImage } from '@/lib/metadata-image';
+import type { ImageResponse } from 'next/og';
+
+async function loadAssets(): Promise<
+ { name: string; data: Buffer; weight: 400 | 600; style: 'normal' }[]
+> {
+ const [
+ { base64Font: normal },
+ { base64Font: mono },
+ { base64Font: semibold },
+ ] = await Promise.all([
+ import('./fonts/geist-regular-otf.json').then((mod) => mod.default || mod),
+ import('./fonts/geistmono-regular-otf.json').then(
+ (mod) => mod.default || mod,
+ ),
+ import('./fonts/geist-semibold-otf.json').then((mod) => mod.default || mod),
+ ]);
+
+ return [
+ {
+ name: 'Geist',
+ data: Buffer.from(normal, 'base64'),
+ weight: 400 as const,
+ style: 'normal' as const,
+ },
+ {
+ name: 'Geist Mono',
+ data: Buffer.from(mono, 'base64'),
+ weight: 400 as const,
+ style: 'normal' as const,
+ },
+ {
+ name: 'Geist',
+ data: Buffer.from(semibold, 'base64'),
+ weight: 600 as const,
+ style: 'normal' as const,
+ },
+ ];
+}
+
+export const GET = metadataImage.createAPI(
+ async (page): Promise<ImageResponse> => {
+ const [fonts] = await Promise.all([loadAssets()]);
+
+ return generateOGImage({
+ title: page.data.title,
+ description: page.data.description,
+ fonts,
+ });
+ },
+);
+
+export function generateStaticParams(): {
+ slug: string[];
+}[] {
+ return metadataImage.generateParams();
+}
diff --git a/src/app/provider.tsx b/src/app/provider.tsx
new file mode 100644
index 0000000..085bf50
--- /dev/null
+++ b/src/app/provider.tsx
@@ -0,0 +1,38 @@
+'use client';
+
+import Analytics from '@/components/analytics';
+import { TailwindIndicator } from '@/components/tailwind-indicator';
+import { ThemeProvider } from '@/components/theme-provider';
+import { Toaster } from '@/components/ui/sonner';
+import { TooltipProvider } from '@radix-ui/react-tooltip';
+import { RootProvider } from 'fumadocs-ui/provider';
+import type { ReactNode } from 'react';
+import { unstable_ViewTransition as ViewTransition } from 'react';
+
+export function Provider({
+ children,
+}: {
+ children: ReactNode;
+}): React.ReactElement {
+ return (
+ <ThemeProvider
+ attribute='class'
+ defaultTheme='system'
+ enableSystem
+ disableTransitionOnChange
+ >
+ <RootProvider
+ theme={{
+ enabled: false,
+ }}
+ >
+ <TooltipProvider>
+ <ViewTransition>{children}</ViewTransition>
+ </TooltipProvider>
+ <Analytics />
+ <Toaster />
+ <TailwindIndicator />
+ </RootProvider>
+ </ThemeProvider>
+ );
+}
diff --git a/src/app/rss.xml/route.ts b/src/app/rss.xml/route.ts
new file mode 100644
index 0000000..6a3acf6
--- /dev/null
+++ b/src/app/rss.xml/route.ts
@@ -0,0 +1,66 @@
+import { description, title } from '@/app/layout.config';
+import { owner } from '@/app/layout.config';
+import { baseUrl } from '@/lib/constants';
+import { getPosts } from '@/lib/source';
+import { Feed } from 'feed';
+
+export const dynamic = 'force-static';
+
+const escapeForXML = (str: string) => {
+ return str
+ .replace(/&/g, '&amp;')
+ .replace(/</g, '&lt;')
+ .replace(/>/g, '&gt;')
+ .replace(/"/g, '&quot;')
+ .replace(/'/g, '&apos;');
+};
+
+export const GET = () => {
+ const feed = createFeed();
+
+ return new Response(feed.atom1(), {
+ headers: {
+ 'Content-Type': 'application/xml',
+ },
+ });
+};
+
+function createFeed(): Feed {
+ const feed = new Feed({
+ title,
+ description,
+ id: baseUrl.href,
+ language: 'en',
+ copyright: `All rights reserved ${new Date().getFullYear()}, ${owner}`,
+ image: new URL('/banner.png', baseUrl).href,
+ favicon: new URL('/favicon.ico', baseUrl).href,
+ link: baseUrl.href,
+ feed: new URL('/api/rss.xml', baseUrl).href,
+ updated: new Date(),
+ });
+
+ const posts = getPosts();
+ for (const post of posts) {
+ feed.addItem({
+ title: post.data.title,
+ description: post.data.description,
+ link: new URL(post.url, baseUrl).href,
+ image: {
+ title: post.data.title,
+ type: 'image/png',
+ url: escapeForXML(
+ new URL(`/og/${post.slugs.join('/')}/image.png`, baseUrl.href).href,
+ ),
+ },
+ date: post.data.date,
+ author: [
+ {
+ name: post.data.author,
+ // link: new URL('/about', baseUrl).href,
+ },
+ ],
+ });
+ }
+
+ return feed;
+}
diff --git a/src/components/active-link.tsx b/src/components/active-link.tsx
new file mode 100644
index 0000000..bab9670
--- /dev/null
+++ b/src/components/active-link.tsx
@@ -0,0 +1,44 @@
+'use client';
+
+import { isActive } from '@/lib/is-active';
+import { cn } from '@/lib/utils';
+import Link, { type LinkProps } from 'next/link';
+import { usePathname } from 'next/navigation';
+import type { ReactNode } from 'react';
+
+type ActiveLinkProps = LinkProps & {
+ children: ReactNode;
+ href: string;
+ target?: string;
+ rel?: string;
+ className?: string;
+ nested?: boolean;
+};
+
+export const ActiveLink = ({
+ href,
+ children,
+ className,
+ nested = false,
+ ...props
+}: ActiveLinkProps) => {
+ const pathname = usePathname();
+ const active = isActive(href, pathname, nested);
+
+ return (
+ <Link
+ href={href}
+ target={props.target}
+ rel={props.rel}
+ className={cn(
+ 'text-muted-foreground text-sm transition-colors',
+ 'hover:text-foreground',
+ active && 'font-medium text-foreground',
+ className,
+ )}
+ {...props}
+ >
+ {children}
+ </Link>
+ );
+};
diff --git a/src/components/analytics.tsx b/src/components/analytics.tsx
new file mode 100644
index 0000000..c3e296c
--- /dev/null
+++ b/src/components/analytics.tsx
@@ -0,0 +1,20 @@
+import { env } from '@/env';
+import Script from 'next/script';
+
+import { isProduction } from '@/lib/constants';
+
+const Analytics = () => {
+ if (!isProduction) return null;
+ if (!env.NEXT_PUBLIC_UMAMI_URL) return null;
+ if (!env.NEXT_PUBLIC_UMAMI_WEBSITE_ID) return null;
+
+ return (
+ <Script
+ async
+ data-website-id={env.NEXT_PUBLIC_UMAMI_WEBSITE_ID}
+ src={`${env.NEXT_PUBLIC_UMAMI_URL}/script.js`}
+ />
+ );
+};
+
+export default Analytics;
diff --git a/src/components/auth/user-avatar.tsx b/src/components/auth/user-avatar.tsx
new file mode 100644
index 0000000..53b20b5
--- /dev/null
+++ b/src/components/auth/user-avatar.tsx
@@ -0,0 +1,56 @@
+import type { ComponentProps } from 'react';
+
+import { Icons } from '@/components/icons/icons';
+import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar';
+import type { User } from '@/lib/auth-client';
+import { cn } from '@/lib/utils';
+
+export interface UserAvatarClassNames {
+ base?: string;
+ image?: string;
+ fallback?: string;
+ fallbackIcon?: string;
+}
+
+export interface UserAvatarProps {
+ user?: User | null;
+ classNames?: UserAvatarClassNames;
+}
+
+export function UserAvatar({
+ user,
+ classNames,
+ className,
+ ...props
+}: UserAvatarProps & ComponentProps<typeof Avatar>) {
+ const name = user?.name || user?.email;
+ const src = user?.image;
+
+ return (
+ <Avatar
+ key={src}
+ className={cn('rounded-md', className, classNames?.base)}
+ {...props}
+ >
+ <AvatarImage
+ alt={name ?? 'Avatar'}
+ className={cn('rounded-md', classNames?.image)}
+ src={src ?? undefined}
+ />
+
+ <AvatarFallback
+ className={cn(
+ 'rounded-md bg-transparent uppercase',
+ classNames?.fallback,
+ )}
+ delayMs={src ? 200 : 0}
+ >
+ {firstTwoCharacters(name) ?? (
+ <Icons.user className={cn('w-[55%]', classNames?.fallbackIcon)} />
+ )}
+ </AvatarFallback>
+ </Avatar>
+ );
+}
+
+const firstTwoCharacters = (name?: string | null) => name?.slice(0, 2);
diff --git a/src/components/auth/user-button.tsx b/src/components/auth/user-button.tsx
new file mode 100644
index 0000000..7caea4c
--- /dev/null
+++ b/src/components/auth/user-button.tsx
@@ -0,0 +1,127 @@
+'use client';
+
+import Link from 'next/link';
+
+import { Icons } from '@/components/icons/icons';
+import { Button } from '@/components/ui/button';
+import {
+ DropdownMenu,
+ DropdownMenuContent,
+ DropdownMenuItem,
+ DropdownMenuSeparator,
+ DropdownMenuTrigger,
+} from '@/components/ui/dropdown-menu';
+import { Skeleton } from '@/components/ui/skeleton';
+import { signOut, useSession } from '@/lib/auth-client';
+import { cn } from '@/lib/utils';
+
+import type { UserAvatarClassNames } from './user-avatar';
+import { UserAvatar } from './user-avatar';
+
+export interface UserButtonClassNames {
+ base?: string;
+ skeleton?: string;
+ trigger?: {
+ base?: string;
+ avatar?: UserAvatarClassNames;
+ skeleton?: string;
+ };
+ content?: {
+ base?: string;
+ avatar?: UserAvatarClassNames;
+ menuItem?: string;
+ separator?: string;
+ };
+}
+
+export interface UserButtonProps {
+ className?: string;
+ classNames?: UserButtonClassNames;
+}
+
+export function UserButton({ className, classNames }: UserButtonProps) {
+ const { data: sessionData, isPending } = useSession();
+ const user = sessionData?.user ?? null;
+
+ return (
+ <DropdownMenu>
+ <DropdownMenuTrigger
+ className={cn('rounded-md bg-transparent', classNames?.trigger?.base)}
+ asChild
+ >
+ <Button
+ variant='ghost'
+ className='size-auto rounded-md border-none bg-transparent p-1.5 hover:bg-accent dark:hover:bg-accent'
+ disabled={isPending}
+ >
+ {isPending ? (
+ <Skeleton
+ className={cn(
+ 'size-8 rounded-md',
+ className,
+ classNames?.base,
+ classNames?.skeleton,
+ classNames?.trigger?.skeleton,
+ )}
+ />
+ ) : (
+ <UserAvatar
+ className={cn('size-5', className, classNames?.base)}
+ classNames={classNames?.trigger?.avatar}
+ user={user}
+ />
+ )}
+ </Button>
+ </DropdownMenuTrigger>
+
+ <DropdownMenuContent
+ className={cn('max-w-64', classNames?.content?.base)}
+ onCloseAutoFocus={(e) => e.preventDefault()}
+ align='end'
+ >
+ {user ? (
+ <div className='flex items-center gap-2 p-2'>
+ <UserAvatar classNames={classNames?.content?.avatar} user={user} />
+
+ <div className='flex flex-col truncate'>
+ <div className='truncate font-medium text-sm'>
+ {user.name || user.email}
+ </div>
+
+ {user.name && (
+ <div className='truncate text-muted-foreground text-xs'>
+ {user.email}
+ </div>
+ )}
+ </div>
+ </div>
+ ) : (
+ <div className='px-2 py-1 text-muted-foreground text-xs'>Account</div>
+ )}
+
+ <DropdownMenuSeparator className={classNames?.content?.separator} />
+
+ {!user ? (
+ <>
+ <DropdownMenuItem className={classNames?.content?.menuItem} asChild>
+ <Link href={'/login'}>
+ <Icons.logIn className='size-4' />
+ Sign In
+ </Link>
+ </DropdownMenuItem>
+ </>
+ ) : (
+ <>
+ <DropdownMenuItem
+ className={classNames?.content?.menuItem}
+ onClick={() => signOut()}
+ >
+ <Icons.logOut className='size-4' />
+ Log Out
+ </DropdownMenuItem>
+ </>
+ )}
+ </DropdownMenuContent>
+ </DropdownMenu>
+ );
+}
diff --git a/src/components/blur-image.tsx b/src/components/blur-image.tsx
new file mode 100644
index 0000000..92dcc30
--- /dev/null
+++ b/src/components/blur-image.tsx
@@ -0,0 +1,43 @@
+'use client';
+/**
+ * Copyright (c) Delba de Oliveira
+ * Source: https://github.com/delbaoliveira/website/blob/59e6f181ad75751342ceaa8931db4cbcef86b018/ui/BlurImage.tsx
+ */
+import { cn } from '@/lib/utils';
+import NextImage from 'next/image';
+import { useState } from 'react';
+
+type ImageProps = {
+ imageClassName?: string;
+ lazy?: boolean;
+} & React.ComponentProps<typeof NextImage>;
+
+const BlurImage = (props: ImageProps) => {
+ const { alt, src, className, imageClassName, lazy = true, ...rest } = props;
+ const [isLoading, setIsLoading] = useState(true);
+
+ return (
+ <div
+ className={cn('overflow-hidden', isLoading && 'animate-pulse', className)}
+ >
+ <NextImage
+ className={cn(
+ isLoading && 'scale-[1.02] blur-xl grayscale',
+ imageClassName,
+ )}
+ style={{
+ transition: 'filter 700ms ease, scale 150ms ease',
+ }}
+ src={src}
+ alt={alt}
+ loading={lazy ? 'lazy' : undefined}
+ priority={!lazy}
+ quality={100}
+ onLoad={() => setIsLoading(false)}
+ {...rest}
+ />
+ </div>
+ );
+};
+
+export { BlurImage };
diff --git a/src/components/docs.tsx b/src/components/docs.tsx
new file mode 100644
index 0000000..038a52b
--- /dev/null
+++ b/src/components/docs.tsx
@@ -0,0 +1,64 @@
+import type { PageTree } from 'fumadocs-core/server';
+import { cn } from 'fumadocs-ui/components/api';
+import {
+ type SidebarOptions,
+ checkPageTree,
+ layoutVariables,
+} from 'fumadocs-ui/layouts/docs/shared';
+import { type BaseLayoutProps, getLinks } from 'fumadocs-ui/layouts/shared';
+import {
+ type PageStyles,
+ StylesProvider,
+ TreeContextProvider,
+} from 'fumadocs-ui/provider';
+import type { HTMLAttributes, ReactNode } from 'react';
+import { Header } from './sections/header';
+
+export interface DocsLayoutProps extends BaseLayoutProps {
+ tree: PageTree.Root;
+
+ sidebar?: Omit<Partial<SidebarOptions>, 'component' | 'enabled'>;
+
+ containerProps?: HTMLAttributes<HTMLDivElement>;
+}
+
+export const DocsLayout = ({
+ nav = {},
+ i18n = false,
+ ...props
+}: DocsLayoutProps): ReactNode => {
+ checkPageTree(props.tree);
+ const links = getLinks(props.links ?? [], props.githubUrl);
+
+ const variables = cn(
+ '[--fd-nav-height:3.5rem] [--fd-tocnav-height:36px] xl:[--fd-toc-width:268px] xl:[--fd-tocnav-height:0px]',
+ );
+
+ const pageStyles: PageStyles = {
+ tocNav: cn('lg:px-4 xl:hidden'),
+ toc: cn('max-xl:hidden'),
+ page: cn('mt-[var(--fd-nav-height)]'),
+ article: cn('mx-auto'),
+ };
+
+ return (
+ <TreeContextProvider tree={props.tree}>
+ <main
+ id='nd-docs-layout'
+ {...props.containerProps}
+ className={cn(
+ 'flex w-full flex-1 flex-row pe-[var(--fd-layout-offset)]',
+ variables,
+ props.containerProps?.className,
+ )}
+ style={{
+ ...layoutVariables,
+ ...props.containerProps?.style,
+ }}
+ >
+ <Header finalLinks={links} nav={nav} />
+ <StylesProvider {...pageStyles}>{props.children}</StylesProvider>
+ </main>
+ </TreeContextProvider>
+ );
+};
diff --git a/src/components/icons/animated/check.tsx b/src/components/icons/animated/check.tsx
new file mode 100644
index 0000000..24a246c
--- /dev/null
+++ b/src/components/icons/animated/check.tsx
@@ -0,0 +1,111 @@
+'use client';
+
+import { cn } from '@/lib/utils';
+import type { Variants } from 'motion/react';
+import { motion, useAnimation } from 'motion/react';
+import type { HTMLAttributes } from 'react';
+import { forwardRef, useCallback, useImperativeHandle, useRef } from 'react';
+
+export interface CheckIconHandle {
+ startAnimation: () => void;
+ stopAnimation: () => void;
+}
+
+interface CheckIconProps extends HTMLAttributes<HTMLDivElement> {
+ size?: number;
+}
+
+const pathVariants: Variants = {
+ normal: {
+ opacity: 1,
+ pathLength: 1,
+ scale: 1,
+ transition: {
+ duration: 0.3,
+ opacity: { duration: 0.1 },
+ },
+ },
+ animate: {
+ opacity: [0, 1],
+ pathLength: [0, 1],
+ scale: [0.5, 1],
+ transition: {
+ duration: 0.4,
+ opacity: { duration: 0.1 },
+ },
+ },
+};
+
+const CheckIcon = forwardRef<CheckIconHandle, CheckIconProps>(
+ ({ onMouseEnter, onMouseLeave, className, size = 28, ...props }, ref) => {
+ const controls = useAnimation();
+ const isControlledRef = useRef(false);
+
+ useImperativeHandle(ref, () => {
+ isControlledRef.current = true;
+
+ return {
+ startAnimation: () => controls.start('animate'),
+ stopAnimation: () => controls.start('normal'),
+ };
+ });
+
+ const handleMouseEnter = useCallback(
+ (e: React.MouseEvent<HTMLDivElement>) => {
+ if (!isControlledRef.current) {
+ controls.start('animate');
+ } else {
+ onMouseEnter?.(e);
+ }
+ },
+ [controls, onMouseEnter],
+ );
+
+ const handleMouseLeave = useCallback(
+ (e: React.MouseEvent<HTMLDivElement>) => {
+ if (!isControlledRef.current) {
+ controls.start('normal');
+ } else {
+ onMouseLeave?.(e);
+ }
+ },
+ [controls, onMouseLeave],
+ );
+
+ return (
+ <div
+ className={cn(
+ 'flex cursor-pointer select-none items-center justify-center rounded-md p-2 transition-colors duration-200 hover:bg-accent',
+ className,
+ )}
+ onMouseEnter={handleMouseEnter}
+ onMouseLeave={handleMouseLeave}
+ {...props}
+ >
+ {/* biome-ignore lint/a11y/noSvgWithoutTitle: <explanation> */}
+ <svg
+ xmlns='http://www.w3.org/2000/svg'
+ width={size}
+ height={size}
+ viewBox='0 0 24 24'
+ fill='none'
+ stroke='currentColor'
+ strokeWidth='2'
+ strokeLinecap='round'
+ strokeLinejoin='round'
+ >
+ <motion.path
+ variants={pathVariants}
+ initial='normal'
+ animate={controls}
+ d='M4 12 9 17L20 6'
+ />
+ </svg>
+ </div>
+ );
+ },
+);
+
+CheckIcon.displayName = 'CheckIcon';
+
+export { CheckIcon };
diff --git a/src/components/icons/animated/upload.tsx b/src/components/icons/animated/upload.tsx
new file mode 100644
index 0000000..19ac51e
--- /dev/null
+++ b/src/components/icons/animated/upload.tsx
@@ -0,0 +1,102 @@
+'use client';
+
+import { cn } from '@/lib/utils';
+import type { Variants } from 'motion/react';
+import { motion, useAnimation } from 'motion/react';
+import type { HTMLAttributes } from 'react';
+import { forwardRef, useCallback, useImperativeHandle, useRef } from 'react';
+
+export interface UploadIconHandle {
+ startAnimation: () => void;
+ stopAnimation: () => void;
+}
+
+interface UploadIconProps extends HTMLAttributes<HTMLDivElement> {
+ size?: number;
+}
+
+const arrowVariants: Variants = {
+ normal: { y: 0 },
+ animate: {
+ y: -2,
+ transition: {
+ type: 'spring',
+ stiffness: 200,
+ damping: 10,
+ mass: 1,
+ },
+ },
+};
+
+const UploadIcon = forwardRef<UploadIconHandle, UploadIconProps>(
+ ({ onMouseEnter, onMouseLeave, className, size = 28, ...props }, ref) => {
+ const controls = useAnimation();
+ const isControlledRef = useRef(false);
+
+ useImperativeHandle(ref, () => {
+ isControlledRef.current = true;
+
+ return {
+ startAnimation: () => controls.start('animate'),
+ stopAnimation: () => controls.start('normal'),
+ };
+ });
+
+ const handleMouseEnter = useCallback(
+ (e: React.MouseEvent<HTMLDivElement>) => {
+ if (!isControlledRef.current) {
+ controls.start('animate');
+ } else {
+ onMouseEnter?.(e);
+ }
+ },
+ [controls, onMouseEnter],
+ );
+
+ const handleMouseLeave = useCallback(
+ (e: React.MouseEvent<HTMLDivElement>) => {
+ if (!isControlledRef.current) {
+ controls.start('normal');
+ } else {
+ onMouseLeave?.(e);
+ }
+ },
+ [controls, onMouseLeave],
+ );
+
+ return (
+ <div
+ className={cn(
+ 'flex cursor-pointer select-none items-center justify-center rounded-md p-2 transition-colors duration-200 hover:bg-accent',
+ className,
+ )}
+ onMouseEnter={handleMouseEnter}
+ onMouseLeave={handleMouseLeave}
+ {...props}
+ >
+ {/* biome-ignore lint/a11y/noSvgWithoutTitle: <explanation> */}
+ <svg
+ xmlns='http://www.w3.org/2000/svg'
+ width={size}
+ height={size}
+ viewBox='0 0 24 24'
+ fill='none'
+ stroke='currentColor'
+ strokeWidth='2'
+ strokeLinecap='round'
+ strokeLinejoin='round'
+ >
+ <path d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4' />
+ <motion.g variants={arrowVariants} animate={controls}>
+ <polyline points='17 8 12 3 7 8' />
+ <line x1='12' x2='12' y1='3' y2='15' />
+ </motion.g>
+ </svg>
+ </div>
+ );
+ },
+);
+
+UploadIcon.displayName = 'UploadIcon';
+
+export { UploadIcon };
diff --git a/src/components/icons/icons.tsx b/src/components/icons/icons.tsx
new file mode 100644
index 0000000..e861252
--- /dev/null
+++ b/src/components/icons/icons.tsx
@@ -0,0 +1,131 @@
+import type { Icon as LucideIcon, LucideProps } from 'lucide-react';
+import {
+ AlertTriangle,
+ ArrowRight,
+ ArrowUpRight,
+ Check,
+ CheckCircle,
+ ChevronDown,
+ ChevronLeft,
+ ChevronRight,
+ ClipboardCheck,
+ Code,
+ CreditCard,
+ File,
+ FileText,
+ HelpCircle,
+ Home,
+ Image,
+ Info,
+ Laptop,
+ Loader2,
+ LogIn,
+ LogOut,
+ Mail,
+ Menu,
+ Moon,
+ MoreVertical,
+ Newspaper,
+ Pizza,
+ Plus,
+ Rss,
+ SendHorizonal,
+ Settings,
+ ShareIcon,
+ SunMedium,
+ Tag,
+ Tags,
+ Trash,
+ User,
+ X,
+} from 'lucide-react';
+
+export type Icon = typeof LucideIcon;
+
+export const Icons = {
+ logo: Code,
+ close: X,
+ menu: Menu,
+ code: Code,
+ copied: ClipboardCheck,
+ success: CheckCircle,
+ spinner: Loader2,
+ chevronLeft: ChevronLeft,
+ chevronRight: ChevronRight,
+ trash: Trash,
+ tags: Tags,
+ tag: Tag,
+ share: ShareIcon,
+ posts: Newspaper,
+ post: FileText,
+ page: File,
+ media: Image,
+ settings: Settings,
+ billing: CreditCard,
+ ellipsis: MoreVertical,
+ add: Plus,
+ logIn: LogIn,
+ logOut: LogOut,
+ warning: AlertTriangle,
+ user: User,
+ arrowRight: ArrowRight,
+ help: HelpCircle,
+ pizza: Pizza,
+ sun: SunMedium,
+ moon: Moon,
+ laptop: Laptop,
+ home: Home,
+ info: Info,
+ arrowUpRight: ArrowUpRight,
+ chevronDown: ChevronDown,
+ mail: Mail,
+ send: SendHorizonal,
+ gitHub: ({ ...props }: LucideProps) => (
+ <svg
+ aria-hidden='true'
+ focusable='false'
+ data-prefix='fab'
+ data-icon='github'
+ role='img'
+ xmlns='http://www.w3.org/2000/svg'
+ viewBox='0 0 496 512'
+ {...props}
+ >
+ <path
+ fill='currentColor'
+ d='M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3 .3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5 .3-6.2 2.3zm44.2-1.7c-2.9 .7-4.9 2.6-4.6 4.9 .3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3 .7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3 .3 2.9 2.3 3.9 1.6 1 3.6 .7 4.3-.7 .7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3 .7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3 .7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z'
+ />
+ </svg>
+ ),
+ google: ({ ...props }: LucideProps) => (
+ <svg
+ aria-hidden='true'
+ focusable='false'
+ width='1em'
+ height='1em'
+ viewBox='0 0 256 262'
+ xmlns='http://www.w3.org/2000/svg'
+ preserveAspectRatio='xMidYMid'
+ {...props}
+ >
+ <path
+ d='M255.878 133.451c0-10.734-.871-18.567-2.756-26.69H130.55v48.448h71.947c-1.45 12.04-9.283 30.172-26.69 42.356l-.244 1.622 38.755 30.023 2.685.268c24.659-22.774 38.875-56.282 38.875-96.027'
+ fill='#4285F4'
+ />
+ <path
+ d='M130.55 261.1c35.248 0 64.839-11.605 86.453-31.622l-41.196-31.913c-11.024 7.688-25.82 13.055-45.257 13.055-34.523 0-63.824-22.773-74.269-54.25l-1.531.13-40.298 31.187-.527 1.465C35.393 231.798 79.49 261.1 130.55 261.1'
+ fill='#34A853'
+ />
+ <path
+ d='M56.281 156.37c-2.756-8.123-4.351-16.827-4.351-25.82 0-8.994 1.595-17.697 4.206-25.82l-.073-1.73L15.26 71.312l-1.335.635C5.077 89.644 0 109.517 0 130.55s5.077 40.905 13.925 58.602l42.356-32.782'
+ fill='#FBBC05'
+ />
+ <path
+ d='M130.55 50.479c24.514 0 41.05 10.589 50.479 19.438l36.844-35.974C195.245 12.91 165.798 0 130.55 0 79.49 0 35.393 29.301 13.925 71.947l42.211 32.783c10.59-31.477 39.891-54.251 74.414-54.251'
+ fill='#EB4335'
+ />
+ </svg>
+ ),
+ check: Check,
+ rss: Rss,
+};
diff --git a/src/components/inline-link.tsx b/src/components/inline-link.tsx
new file mode 100644
index 0000000..f507688
--- /dev/null
+++ b/src/components/inline-link.tsx
@@ -0,0 +1,28 @@
+import { cn } from '@/lib/utils';
+import Link from 'next/link';
+import type { ReactNode } from 'react';
+
+export const InlineLink = ({
+ href,
+ children,
+ blank = false,
+ className,
+}: {
+ href: string;
+ children: ReactNode;
+ blank?: boolean;
+ className?: string;
+}) => {
+ return (
+ <Link
+ href={href}
+ className={cn(
+ 'text-fd-primary underline duration-300 hover:text-fd-primary/70',
+ className,
+ )}
+ target={blank ? '_blank' : undefined}
+ >
+ {children}
+ </Link>
+ );
+};
diff --git a/src/components/json-ld.tsx b/src/components/json-ld.tsx
new file mode 100644
index 0000000..cd30274
--- /dev/null
+++ b/src/components/json-ld.tsx
@@ -0,0 +1,114 @@
+import { title as homeTitle } from '@/app/layout.config';
+import { owner } from '@/app/layout.config';
+import { baseUrl } from '@/lib/constants';
+import type { Post } from '@/lib/source';
+import type { BlogPosting, BreadcrumbList, Graph } from 'schema-dts';
+
+export const PostJsonLd = ({ page }: { page: Post }) => {
+ if (!page) {
+ return null;
+ }
+
+ const url = new URL(page.url, baseUrl.href).href;
+
+ const post: BlogPosting = {
+ '@type': 'BlogPosting',
+ headline: page.data.title,
+ description: page.data.description,
+ image: new URL(`/og/${page.slugs.join('/')}/image.png`, baseUrl.href).href,
+ datePublished: new Date(page.data.date).toISOString(),
+ dateModified: page.data.lastModified
+ ? new Date(page.data.lastModified).toISOString()
+ : undefined,
+ mainEntityOfPage: {
+ '@type': 'WebPage',
+ '@id': url,
+ },
+ author: {
+ '@type': 'Person',
+ name: page.data.author,
+ // url: 'https://techwithanirudh.com/',
+ },
+ publisher: {
+ '@type': 'Person',
+ name: owner,
+ url: 'https://techwithanirudh.com/',
+ },
+ };
+
+ const breadcrumbList: BreadcrumbList = {
+ '@type': 'BreadcrumbList',
+ itemListElement: [
+ {
+ '@type': 'ListItem',
+ position: 1,
+ name: homeTitle,
+ item: baseUrl.href,
+ },
+ {
+ '@type': 'ListItem',
+ position: 2,
+ name: `${homeTitle} | Posts`,
+ item: new URL('/posts', baseUrl.href).href,
+ },
+ {
+ '@type': 'ListItem',
+ position: 3,
+ name: page.data.title,
+ item: url,
+ },
+ ],
+ };
+
+ const graph: Graph = {
+ '@context': 'https://schema.org',
+ '@graph': [post, breadcrumbList],
+ };
+
+ return (
+ <script
+ type='application/ld+json'
+ // biome-ignore lint/security/noDangerouslySetInnerHtml:
+ dangerouslySetInnerHTML={{ __html: JSON.stringify(graph) }}
+ />
+ );
+};
+
+export const TagJsonLd = ({ tag }: { tag: string }) => {
+ const breadcrumbList: BreadcrumbList = {
+ '@type': 'BreadcrumbList',
+ itemListElement: [
+ {
+ '@type': 'ListItem',
+ position: 1,
+ name: homeTitle,
+ item: baseUrl.href,
+ },
+ {
+ '@type': 'ListItem',
+ position: 2,
+ name: `${homeTitle} | Tags`,
+ item: new URL('/tags', baseUrl.href).href,
+ },
+ {
+ '@type': 'ListItem',
+ position: 3,
+ name: `${homeTitle} | Posts tagged with ${tag}`,
+ item: new URL(`/tags/${tag}`, baseUrl.href).href,
+ },
+ ],
+ };
+
+ const graph: Graph = {
+ '@context': 'https://schema.org',
+ '@graph': [breadcrumbList],
+ };
+
+ return (
+ <script
+ type='application/ld+json'
+ // biome-ignore lint/security/noDangerouslySetInnerHtml:
+ dangerouslySetInnerHTML={{ __html: JSON.stringify(graph) }}
+ />
+ );
+};
diff --git a/src/components/mdx-layout.tsx b/src/components/mdx-layout.tsx
new file mode 100644
index 0000000..bc68a93
--- /dev/null
+++ b/src/components/mdx-layout.tsx
@@ -0,0 +1,51 @@
+import { PostComments } from '@/app/(home)/posts/[slug]/page.client';
+import type { TOCItemType } from 'fumadocs-core/server';
+import { InlineTOC } from 'fumadocs-ui/components/inline-toc';
+import type { ReactNode } from 'react';
+import { Section } from './section';
+
+interface MdxLayoutProps {
+ children: ReactNode;
+ title: string;
+ toc?: TOCItemType[] | null;
+ comments?: boolean;
+ slug: string;
+}
+
+export default function MdxLayout({
+ children,
+ title,
+ toc,
+ comments,
+ slug,
+}: MdxLayoutProps): ReactNode {
+ return (
+ <>
+ <Section className='p-4 lg:p-6'>
+ <h1 className='text-center font-bold text-3xl leading-tight tracking-tighter md:text-4xl'>
+ {title}
+ </h1>
+ </Section>
+
+ <Section className='h-full' sectionClassName='flex flex-1'>
+ <article className='flex min-h-full flex-col lg:flex-row'>
+ <div className='flex flex-1 flex-col gap-4'>
+ {toc?.length ? (
+ <InlineTOC
+ items={toc}
+ className='rounded-none border-0 border-border/70 border-b border-dashed dark:border-border'
+ />
+ ) : null}
+ <div className='prose min-w-0 flex-1 px-4'>{children}</div>
+ {comments ? (
+ <PostComments
+ slug={slug}
+ className='[&_form>div]:!rounded-none rounded-none border-0 border-border/70 border-t border-dashed dark:border-border'
+ />
+ ) : null}
+ </div>
+ </article>
+ </Section>
+ </>
+ );
+}
diff --git a/src/components/newsletter-form.tsx b/src/components/newsletter-form.tsx
new file mode 100644
index 0000000..7dd0cc0
--- /dev/null
+++ b/src/components/newsletter-form.tsx
@@ -0,0 +1,96 @@
+'use client';
+
+import { useAction } from 'next-safe-action/hooks';
+
+import { Button } from '@/components/ui/button';
+import {
+ Form,
+ FormControl,
+ FormField,
+ FormItem,
+ FormMessage,
+} from '@/components/ui/form';
+import { Input } from '@/components/ui/input';
+import type { Newsletter } from '@/lib/validators';
+import { NewsletterSchema } from '@/lib/validators';
+import { zodResolver } from '@hookform/resolvers/zod';
+import { useForm } from 'react-hook-form';
+
+import { Alert, AlertTitle } from '@/components/ui/alert';
+
+import { subscribeUser } from '@/app/(home)/actions';
+import { Icons } from '@/components/icons/icons';
+
+export const NewsletterForm = () => {
+ const form = useForm({
+ resolver: zodResolver(NewsletterSchema),
+ defaultValues: {
+ email: '',
+ },
+ });
+
+ const { execute, result, status } = useAction(subscribeUser);
+
+ const onSubmit = (values: Newsletter) => {
+ execute(values);
+ };
+
+ return (
+ <Form {...form}>
+ <form onSubmit={form.handleSubmit(onSubmit)} className='flex-1 space-y-4'>
+ <div className='flex h-full min-h-10 overflow-hidden rounded-md border bg-muted p-0'>
+ <div className='flex-1'>
+ <FormField
+ control={form.control}
+ name='email'
+ render={({ field }) => (
+ <FormItem className='group h-full'>
+ <FormControl className='h-full group-has-[p]:pt-3'>
+ <Input
+ {...field}
+ disabled={status === 'executing'}
+ placeholder='Email address'
+ type='email'
+ className='h-full rounded-md rounded-r-none border-none px-4 shadow-none focus-visible:ring-0 focus-visible:ring-offset-0'
+ />
+ </FormControl>
+ <FormMessage className='ml-4 pb-2 text-xs' />
+ </FormItem>
+ )}
+ />
+ </div>
+
+ <Button
+ disabled={status === 'executing'}
+ type='submit'
+ size='icon'
+ className='group size-auto w-15 rounded-md rounded-l-none px-3'
+ >
+ {status === 'executing' ? (
+ <Icons.spinner className='size-4 animate-spin' />
+ ) : (
+ <Icons.send className='group-hover:-rotate-45 size-4 transition-transform' />
+ )}
+ </Button>
+ </div>
+
+ {status === 'hasSucceeded' && (
+ <Alert className='border-emerald-500/15 bg-emerald-500/15 p-3 px-3 py-2 text-emerald-500 has-[>svg]:gap-x-1.5'>
+ <Icons.success size={16} />
+ <AlertTitle className='mb-0 leading-normal'>
+ {result.data?.message ?? "Hmm... Our server didn't respond."}
+ </AlertTitle>
+ </Alert>
+ )}
+ {result.serverError && (
+ <Alert className='border-destructive/15 bg-destructive/15 p-3 px-3 py-2 text-destructive has-[>svg]:gap-x-1.5 dark:border-destructive dark:bg-destructive dark:text-destructive-foreground'>
+ <Icons.warning className='size-4' />
+ <AlertTitle className='mb-0 leading-normal'>
+ {result.serverError}
+ </AlertTitle>
+ </Alert>
+ )}
+ </form>
+ </Form>
+ );
+};
diff --git a/src/components/numbered-pagination.tsx b/src/components/numbered-pagination.tsx
new file mode 100644
index 0000000..cf02ef1
--- /dev/null
+++ b/src/components/numbered-pagination.tsx
@@ -0,0 +1,131 @@
+'use client';
+import { Icons } from '@/components/icons/icons';
+import { buttonVariants } from '@/components/ui/button';
+import {
+ Pagination,
+ PaginationContent,
+ PaginationItem,
+ PaginationLink,
+} from '@/components/ui/pagination';
+import { usePagination } from '@/hooks/use-pagination';
+import { cn } from '@/lib/utils';
+
+type NumberedPaginationProps = {
+ currentPage: number;
+ totalPages: number;
+ paginationItemsToDisplay?: number;
+ onPageChange: (page: number) => void;
+};
+
+function NumberedPagination({
+ currentPage,
+ totalPages,
+ paginationItemsToDisplay = 5,
+ onPageChange,
+}: NumberedPaginationProps) {
+ const { pages, showLeftEllipsis, showRightEllipsis } = usePagination({
+ currentPage,
+ totalPages,
+ paginationItemsToDisplay,
+ });
+
+ const handlePageChange = (page: number) => (e: React.MouseEvent) => {
+ e.preventDefault();
+ if (page >= 1 && page <= totalPages) {
+ onPageChange(page);
+ }
+ };
+
+ return (
+ <Pagination>
+ <PaginationContent className='-space-x-px inline-flex w-full gap-0 rtl:space-x-reverse'>
+ <PaginationItem>
+ <PaginationLink
+ className={cn(
+ buttonVariants({
+ variant: 'ghost',
+ }),
+ 'rounded-none shadow-none focus-visible:z-10 aria-disabled:pointer-events-none [&[aria-disabled]>svg]:opacity-50',
+ )}
+ href='#'
+ onClick={handlePageChange(currentPage - 1)}
+ aria-label='Go to previous page'
+ aria-disabled={currentPage === 1}
+ >
+ <Icons.chevronLeft size={16} strokeWidth={2} aria-hidden='true' />
+ </PaginationLink>
+ </PaginationItem>
+
+ <div className='inline-flex w-full justify-center '>
+ {showLeftEllipsis && (
+ <PaginationItem>
+ <PaginationLink
+ className={cn(
+ buttonVariants({
+ variant: 'ghost',
+ }),
+ 'pointer-events-none rounded-none shadow-none',
+ )}
+ >
+ ...
+ </PaginationLink>
+ </PaginationItem>
+ )}
+
+ {pages.map((page) => (
+ <PaginationItem key={page} className='w-max'>
+ <PaginationLink
+ className={cn(
+ buttonVariants({
+ variant: page === currentPage ? 'default' : 'ghost',
+ }),
+ 'rounded-none border-0 shadow-none focus-visible:z-10',
+ page === currentPage &&
+ 'min-w-full dark:bg-primary dark:hover:bg-primary/90',
+ )}
+ href='#'
+ onClick={handlePageChange(page)}
+ isActive={page === currentPage}
+ >
+ {page}
+ </PaginationLink>
+ </PaginationItem>
+ ))}
+
+ {showRightEllipsis && (
+ <PaginationItem>
+ <PaginationLink
+ className={cn(
+ buttonVariants({
+ variant: 'ghost',
+ }),
+ 'pointer-events-none rounded-none shadow-none',
+ )}
+ >
+ ...
+ </PaginationLink>
+ </PaginationItem>
+ )}
+ </div>
+ <PaginationItem>
+ <PaginationLink
+ className={cn(
+ buttonVariants({
+ variant: 'ghost',
+ }),
+ 'rounded-none shadow-none focus-visible:z-10 aria-disabled:pointer-events-none [&[aria-disabled]>svg]:opacity-50',
+ )}
+ href='#'
+ onClick={handlePageChange(currentPage + 1)}
+ aria-label='Go to next page'
+ aria-disabled={currentPage === totalPages}
+ >
+ <Icons.chevronRight size={16} strokeWidth={2} aria-hidden='true' />
+ </PaginationLink>
+ </PaginationItem>
+ </PaginationContent>
+ </Pagination>
+ );
+}
+
+export { NumberedPagination };
diff --git a/src/components/posts/post-card.tsx b/src/components/posts/post-card.tsx
new file mode 100644
index 0000000..9544aea
--- /dev/null
+++ b/src/components/posts/post-card.tsx
@@ -0,0 +1,76 @@
+import { BlurImage } from '@/components/blur-image';
+import { CalendarIcon, UserIcon } from 'lucide-react';
+import Link from 'next/link';
+import type React from 'react';
+import Balancer from 'react-wrap-balancer';
+
+interface PostCardProps {
+ title: string;
+ description: string;
+ image?: string | null;
+ url: string;
+ date: string;
+ author: string;
+ tags?: string[];
+}
+
+export const PostCard: React.FC<PostCardProps> = ({
+ title,
+ description,
+ image,
+ url,
+ date,
+ author,
+ tags,
+}) => {
+ return (
+ <Link
+ href={url}
+ className='grid grid-cols-1 gap-4 bg-card/50 px-6 py-6 transition-colors hover:bg-card/80 md:grid-cols-3 xl:grid-cols-4'
+ >
+ <div className='order-2 flex h-full flex-col justify-between gap-4 md:order-1 md:col-span-2 xl:col-span-3'>
+ <div className='flex-1 gap-4'>
+ <h2 className='font-medium text-lg md:text-xl lg:text-2xl'>
+ {title}
+ </h2>
+ <p className='line-clamp-3 overflow-hidden text-ellipsis text-medium text-muted-foreground'>
+ <Balancer>{description}</Balancer>
+ </p>
+ </div>
+ <div className='flex flex-col justify-center gap-4'>
+ {/* <div className='flex flex-wrap gap-2'>
+ {tags?.map((tag) => (
+ <>
+ <TagCard name={tag} key={tag} className='p-0 [&_svg]:size-4 [&_span]:text-muted-foreground gap-1' />
+ {index < tags.length - 1 && <span className='text-muted-foreground'>•</span>}
+ </>
+ ))}
+ </div> */}
+ <div className='group inline-flex items-center gap-2 text-muted-foreground text-sm'>
+ <span className='inline-flex items-center gap-1 capitalize'>
+ <UserIcon className='size-4 transition-transform hover:scale-125' />
+ {author}
+ </span>
+ <span>•</span>
+ <span className='inline-flex items-center gap-1'>
+ <CalendarIcon className='size-4 transition-transform hover:scale-125' />
+ {date}
+ </span>
+ </div>
+ </div>
+ </div>
+
+ {image && (
+ <div className='group relative order-1 col-span-1 inline-flex items-center justify-center transition-transform hover:scale-105 md:order-2'>
+ <BlurImage
+ width={853}
+ height={554}
+ src={image}
+ alt={title}
+ className='relative rounded-lg'
+ />
+ </div>
+ )}
+ </Link>
+ );
+};
diff --git a/src/components/section.tsx b/src/components/section.tsx
new file mode 100644
index 0000000..cb7c2c2
--- /dev/null
+++ b/src/components/section.tsx
@@ -0,0 +1,44 @@
+import { cn } from '@/lib/utils';
+import { PlusIcon } from 'lucide-react';
+import type { HTMLAttributes } from 'react';
+
+type SectionProps = {
+ sectionClassName?: string;
+} & HTMLAttributes<HTMLDivElement>;
+
+const Cross = () => (
+ <div className='relative h-6 w-6'>
+ <div className='absolute left-3 h-6 w-px bg-background' />
+ <div className='absolute top-3 h-px w-6 bg-background' />
+
+ <div className='-translate-x-1/2 -translate-y-1/2 absolute top-1/2 left-1/2'>
+ <PlusIcon size={20} className='text-border/70 dark:text-border' />
+ </div>
+ </div>
+);
+
+export const Section = ({
+ children,
+ sectionClassName,
+ className,
+ ...props
+}: SectionProps) => (
+ <section className={sectionClassName} {...props}>
+ <div className='container relative mx-auto'>
+ <div
+ className={cn(
+ 'border-border/70 border-dashed sm:border-x dark:border-border',
+ className,
+ )}
+ >
+ {children}
+ </div>
+ <div className='-bottom-3 -left-3 absolute z-10 hidden h-6 sm:block'>
+ <Cross />
+ </div>
+ <div className='-bottom-3 -right-3 -translate-x-px absolute z-10 hidden h-6 sm:block'>
+ <Cross />
+ </div>
+ </div>
+ </section>
+);
diff --git a/src/components/sections/footer.tsx b/src/components/sections/footer.tsx
new file mode 100644
index 0000000..8d0d876
--- /dev/null
+++ b/src/components/sections/footer.tsx
@@ -0,0 +1,112 @@
+import { baseOptions, linkItems, postsPerPage } from '@/app/layout.config';
+import { InlineLink } from '@/components/inline-link';
+import { getSortedByDatePosts, getTags } from '@/lib/source';
+import { cn } from '@/lib/utils';
+import { getLinks } from 'fumadocs-ui/layouts/shared';
+import { ActiveLink } from '../active-link';
+
+export function Footer() {
+ const links = getLinks(linkItems, baseOptions.githubUrl);
+ const navItems = links.filter((item) =>
+ ['nav', 'all'].includes(item.on ?? 'all'),
+ );
+
+ const posts = getSortedByDatePosts();
+ const tags = getTags();
+
+ return (
+ <footer className={cn('flex flex-col gap-4')}>
+ <div
+ className={cn(
+ 'grid gap-8 text-muted-foreground text-sm sm:grid-cols-4',
+ 'container mx-auto sm:gap-16 sm:px-8 sm:py-16',
+ 'border-border/70 border-b border-dashed dark:border-border',
+ )}
+ >
+ <div className='flex flex-col gap-6'>
+ <p className='font-medium text-foreground'>Pages</p>
+
+ <ul className='flex flex-col gap-3'>
+ <li className='flex items-center gap-2'>
+ <ActiveLink href={'/'}>Home</ActiveLink>
+ </li>
+ {navItems
+ .filter(
+ (item) =>
+ item.type !== 'menu' &&
+ item.type !== 'custom' &&
+ item.type !== 'icon',
+ )
+ .map((item, i) => (
+ <li key={item.url}>
+ <ActiveLink key={i.toString()} href={item.url}>
+ {item.text}
+ </ActiveLink>
+ </li>
+ ))}
+ </ul>
+ </div>
+
+ <div className='flex flex-col gap-6'>
+ <p className='font-medium text-foreground'>Posts</p>
+
+ <ul className='flex flex-col gap-3'>
+ {posts.slice(0, postsPerPage).map((post, i) => (
+ <li key={post.url}>
+ <ActiveLink key={i.toString()} href={post.url}>
+ {post.data.title}
+ </ActiveLink>
+ </li>
+ ))}
+ </ul>
+ </div>
+
+ <div className='flex flex-col gap-6'>
+ <p className='font-medium text-foreground'>Tags</p>
+
+ <ul className='flex flex-col gap-3'>
+ {tags.slice(0, postsPerPage).map((name, i) => (
+ <li key={`/tags/${name}`}>
+ <ActiveLink key={i.toString()} href={`/tags/${name}`}>
+ <span className='capitalize'>{name}</span>
+ </ActiveLink>
+ </li>
+ ))}
+ </ul>
+ </div>
+
+ <div className='flex flex-col gap-6'>
+ <p className='font-medium text-foreground'>Socials</p>
+
+ <ul className='flex flex-col gap-3'>
+ {navItems
+ .filter((item) => item.type === 'icon')
+ .map((item, i) => (
+ <li key={item.url}>
+ <InlineLink
+ key={i.toString()}
+ href={item.url}
+ className='inline-flex items-center gap-1.5 text-muted-foreground no-underline [&_svg]:size-4'
+ >
+ {item.icon}
+ {item.text}
+ </InlineLink>
+ </li>
+ ))}
+ </ul>
+ </div>
+ </div>
+ {/* <Design /> */}
+ </footer>
+ );
+}
+
+function Design() {
+ return (
+ <div className='footer'>
+ <span className='footer-text font-mono'>john•doe</span>
+ <div className='footer-grid' />
+ <div className='footer-gradient' />
+ </div>
+ );
+}
diff --git a/src/components/sections/header/index.tsx b/src/components/sections/header/index.tsx
new file mode 100644
index 0000000..4280e01
--- /dev/null
+++ b/src/components/sections/header/index.tsx
@@ -0,0 +1,174 @@
+import Link from 'fumadocs-core/link';
+import {
+ LanguageToggle,
+ LanguageToggleText,
+} from 'fumadocs-ui/components/layout/language-toggle';
+import {
+ LargeSearchToggle,
+ SearchToggle,
+} from 'fumadocs-ui/components/layout/search-toggle';
+import { NavigationMenuList } from 'fumadocs-ui/components/ui/navigation-menu';
+import type { HomeLayoutProps } from 'fumadocs-ui/layouts/home';
+import {
+ NavbarLink,
+ NavbarMenu,
+ NavbarMenuContent,
+ NavbarMenuTrigger,
+} from 'fumadocs-ui/layouts/home/navbar';
+import type { LinkItemType } from 'fumadocs-ui/layouts/links';
+import { SearchOnly } from 'fumadocs-ui/provider';
+import { ChevronDown, Languages } from 'lucide-react';
+import { ThemeToggle } from '../../theme-toggle';
+import { Menu, MenuContent, MenuLinkItem, MenuTrigger } from './menu';
+import { Navbar, NavbarMenuLink } from './navbar';
+
+export const Header = ({
+ nav: { enableSearch = true, ...nav } = {},
+ i18n = false,
+ finalLinks,
+}: HomeLayoutProps & {
+ finalLinks: LinkItemType[];
+}) => {
+ const navItems = finalLinks.filter((item) =>
+ ['nav', 'all'].includes(item.on ?? 'all'),
+ );
+ const menuItems = finalLinks.filter((item) =>
+ ['menu', 'all'].includes(item.on ?? 'all'),
+ );
+
+ return (
+ <Navbar>
+ <Link
+ href={nav.url ?? '/'}
+ className='inline-flex items-center gap-2.5 font-semibold'
+ >
+ {nav.title}
+ </Link>
+ {nav.children}
+ <NavigationMenuList className='ml-2 flex flex-row items-center gap-2 max-sm:hidden'>
+ {navItems
+ .filter((item) => !isSecondary(item))
+ .map((item, i) => (
+ <NavbarLinkItem
+ key={i.toString()}
+ item={item}
+ className='text-sm'
+ />
+ ))}
+ </NavigationMenuList>
+ <div className='flex flex-1 flex-row items-center justify-end lg:gap-1.5'>
+ {enableSearch ? (
+ <SearchOnly>
+ <SearchToggle className='lg:hidden' />
+ <LargeSearchToggle className='w-full max-w-[240px] max-lg:hidden' />
+ </SearchOnly>
+ ) : null}
+ <ThemeToggle className='max-lg:hidden' />
+ {navItems.filter(isSecondary).map((item, i) => (
+ <NavbarLinkItem
+ key={i.toString()}
+ item={item}
+ className='-me-1.5 max-lg:hidden'
+ />
+ ))}
+ <Menu className='lg:hidden'>
+ <MenuTrigger className='group -me-2'>
+ <ChevronDown className='size-3 transition-transform duration-300 group-data-[state=open]:rotate-180' />
+ </MenuTrigger>
+ <MenuContent className='sm:flex-row sm:items-center sm:justify-end'>
+ {menuItems
+ .filter((item) => !isSecondary(item))
+ .map((item, i) => (
+ <MenuLinkItem
+ key={i.toString()}
+ item={item}
+ className='sm:hidden'
+ />
+ ))}
+ <div className='-ms-1.5 flex flex-row items-center gap-1.5 max-sm:mt-2'>
+ {menuItems.filter(isSecondary).map((item, i) => (
+ <MenuLinkItem
+ key={i.toString()}
+ item={item}
+ className='-me-1.5'
+ />
+ ))}
+ <div className='flex-1' />
+ {i18n ? (
+ <LanguageToggle>
+ <Languages className='size-5' />
+ <LanguageToggleText />
+ <ChevronDown className='size-3 text-fd-muted-foreground' />
+ </LanguageToggle>
+ ) : null}
+ <ThemeToggle />
+ </div>
+ </MenuContent>
+ </Menu>
+ </div>
+ </Navbar>
+ );
+};
+
+const NavbarLinkItem = ({
+ item,
+ ...props
+}: {
+ item: LinkItemType;
+ className?: string;
+}) => {
+ if (item.type === 'custom') return <div {...props}>{item.children}</div>;
+
+ if (item.type === 'menu') {
+ const children = item.items.map((child, j) => {
+ if (child.type === 'custom')
+ return <div key={j.toString()}>{child.children}</div>;
+
+ const { banner, footer, ...rest } = child.menu ?? {};
+
+ return (
+ <NavbarMenuLink key={j.toString()} href={child.url} {...rest}>
+ {banner ??
+ (child.icon ? (
+ <div className='w-fit rounded-md border bg-fd-muted p-1 [&_svg]:size-4'>
+ {child.icon}
+ </div>
+ ) : null)}
+ <p className='-mb-1 font-medium text-sm'>{child.text}</p>
+ {child.description ? (
+ <p className='text-[13px] text-fd-muted-foreground'>
+ {child.description}
+ </p>
+ ) : null}
+ {footer}
+ </NavbarMenuLink>
+ );
+ });
+
+ return (
+ <NavbarMenu>
+ <NavbarMenuTrigger {...props}>
+ {item.url ? <Link href={item.url}>{item.text}</Link> : item.text}
+ </NavbarMenuTrigger>
+ <NavbarMenuContent>{children}</NavbarMenuContent>
+ </NavbarMenu>
+ );
+ }
+
+ return (
+ <NavbarLink
+ {...props}
+ item={item}
+ variant={item.type}
+ aria-label={item.type === 'icon' ? item.label : undefined}
+ >
+ {item.type === 'icon' ? item.icon : item.text}
+ </NavbarLink>
+ );
+};
+
+const isSecondary = (item: LinkItemType): boolean => {
+ return (
+ ('secondary' in item && item.secondary === true) || item.type === 'icon'
+ );
+};
diff --git a/src/components/sections/header/menu.tsx b/src/components/sections/header/menu.tsx
new file mode 100644
index 0000000..57ddf12
--- /dev/null
+++ b/src/components/sections/header/menu.tsx
@@ -0,0 +1,120 @@
+'use client';
+
+import { cva } from 'class-variance-authority';
+import Link from 'fumadocs-core/link';
+import { cn } from 'fumadocs-ui/components/api';
+import { buttonVariants } from 'fumadocs-ui/components/ui/button';
+import {
+ NavigationMenuContent,
+ NavigationMenuItem,
+ NavigationMenuLink,
+ NavigationMenuTrigger,
+} from 'fumadocs-ui/components/ui/navigation-menu';
+import { BaseLinkItem, type LinkItemType } from 'fumadocs-ui/layouts/links';
+import type { ComponentPropsWithoutRef } from 'react';
+
+const menuItemVariants = cva('', {
+ variants: {
+ variant: {
+ main: 'inline-flex items-center gap-2 py-1.5 transition-colors hover:text-fd-popover-foreground/50 data-[active=true]:font-medium data-[active=true]:text-fd-primary [&_svg]:size-4',
+ icon: buttonVariants({
+ size: 'icon',
+ color: 'ghost',
+ }),
+ button: buttonVariants({
+ color: 'secondary',
+ className: 'gap-1.5 [&_svg]:size-4',
+ }),
+ },
+ },
+ defaultVariants: {
+ variant: 'main',
+ },
+});
+
+export const MenuLinkItem = ({
+ item,
+ ...props
+}: {
+ item: LinkItemType;
+ className?: string;
+}) => {
+ if (item.type === 'custom')
+ return <div className={cn('grid', props.className)}>{item.children}</div>;
+
+ if (item.type === 'menu') {
+ const header = (
+ <>
+ {item.icon}
+ {item.text}
+ </>
+ );
+
+ return (
+ <div className={cn('mb-4 flex flex-col', props.className)}>
+ <p className='mb-1 text-fd-muted-foreground text-sm'>
+ {item.url ? (
+ <NavigationMenuLink asChild>
+ <Link href={item.url}>{header}</Link>
+ </NavigationMenuLink>
+ ) : (
+ header
+ )}
+ </p>
+ {item.items.map((child, i) => (
+ <MenuLinkItem key={i.toString()} item={child} />
+ ))}
+ </div>
+ );
+ }
+
+ return (
+ <NavigationMenuLink asChild>
+ <BaseLinkItem
+ item={item}
+ className={cn(
+ menuItemVariants({ variant: item.type }),
+ props.className,
+ )}
+ aria-label={item.type === 'icon' ? item.label : undefined}
+ >
+ {item.icon}
+ {item.type === 'icon' ? undefined : item.text}
+ </BaseLinkItem>
+ </NavigationMenuLink>
+ );
+};
+
+export const Menu = NavigationMenuItem;
+
+export const MenuTrigger = ({
+ ...props
+}: ComponentPropsWithoutRef<typeof NavigationMenuTrigger> & {}) => {
+ return (
+ <NavigationMenuTrigger
+ {...props}
+ className={cn(
+ buttonVariants({
+ size: 'icon',
+ color: 'ghost',
+ }),
+ props.className,
+ )}
+ >
+ {props.children}
+ </NavigationMenuTrigger>
+ );
+};
+
+export const MenuContent = (
+ props: ComponentPropsWithoutRef<typeof NavigationMenuContent>,
+) => {
+ return (
+ <NavigationMenuContent
+ {...props}
+ className={cn('flex flex-col p-4', props.className)}
+ >
+ {props.children}
+ </NavigationMenuContent>
+ );
+};
diff --git a/src/components/sections/header/navbar.tsx b/src/components/sections/header/navbar.tsx
new file mode 100644
index 0000000..25850a0
--- /dev/null
+++ b/src/components/sections/header/navbar.tsx
@@ -0,0 +1,55 @@
+'use client';
+
+import Link, { type LinkProps } from 'fumadocs-core/link';
+import { cn } from 'fumadocs-ui/components/api';
+import {
+ NavigationMenu,
+ NavigationMenuLink,
+ NavigationMenuViewport,
+} from 'fumadocs-ui/components/ui/navigation-menu';
+import { type HTMLAttributes, useState } from 'react';
+
+export const Navbar = (props: HTMLAttributes<HTMLElement>) => {
+ const [value, setValue] = useState('');
+
+ return (
+ <NavigationMenu value={value} onValueChange={setValue} asChild>
+ <header
+ id='nd-nav'
+ {...props}
+ className={cn(
+ 'sticky top-[var(--fd-banner-height)] z-30 box-content w-full bg-fd-background/80 backdrop-blur-lg transition-colors',
+ 'border-border/70 border-b border-dashed dark:border-border',
+ // value.length > 0 ? 'shadow-lg' : 'shadow-xs',
+ props.className,
+ )}
+ >
+ <div
+ className={cn(
+ 'container mx-auto flex size-full h-14 flex-row items-center px-4 md:gap-1.5 lg:px-6',
+ 'border-border/70 border-dashed sm:border-x dark:border-border',
+ )}
+ >
+ {props.children}
+ </div>
+ <NavigationMenuViewport />
+ </header>
+ </NavigationMenu>
+ );
+};
+
+export const NavbarMenuLink = (props: LinkProps) => {
+ return (
+ <NavigationMenuLink asChild>
+ <Link
+ {...props}
+ className={cn(
+ 'flex flex-col gap-2 rounded-lg border bg-fd-card p-3 transition-colors hover:bg-fd-accent/80 hover:text-fd-accent-foreground',
+ props.className,
+ )}
+ >
+ {props.children}
+ </Link>
+ </NavigationMenuLink>
+ );
+};
diff --git a/src/components/separator.tsx b/src/components/separator.tsx
new file mode 100644
index 0000000..445d4f4
--- /dev/null
+++ b/src/components/separator.tsx
@@ -0,0 +1,10 @@
+import { cn } from '@/lib/utils';
+import { Section } from './section';
+
+const Separator = ({ className }: { className?: string }) => (
+ <Section>
+ <div className={cn('h-8 bg-dashed', className)} />
+ </Section>
+);
+
+export default Separator;
diff --git a/src/components/tags/tag-card.tsx b/src/components/tags/tag-card.tsx
new file mode 100644
index 0000000..a71e4c4
--- /dev/null
+++ b/src/components/tags/tag-card.tsx
@@ -0,0 +1,35 @@
+import { Icons } from '@/components/icons/icons';
+import { getPostsByTag } from '@/lib/source';
+import { cn } from '@/lib/utils';
+import Link from 'next/link';
+
+export const TagCard = ({
+ name,
+ displayCount = false,
+ className = '',
+}: {
+ name: string;
+ displayCount?: boolean;
+ className?: string;
+}) => {
+ const posts = getPostsByTag(name);
+
+ return (
+ <Link
+ href={`/tags/${name}`}
+ className={cn(
+ 'group inline-flex items-center gap-2 rounded-lg bg-card/50 px-3 py-2 text-sm transition-colors hover:bg-card/80',
+ className,
+ )}
+ >
+ <Icons.tag
+ size={18}
+ className='my-auto text-muted-foreground transition-transform group-hover:rotate-12'
+ />
+ <span className='text-card-foreground'>{name}</span>
+ {displayCount && (
+ <span className='ml-auto text-muted-foreground'>({posts.length})</span>
+ )}
+ </Link>
+ );
+};
diff --git a/src/components/tailwind-indicator.tsx b/src/components/tailwind-indicator.tsx
new file mode 100644
index 0000000..24d0011
--- /dev/null
+++ b/src/components/tailwind-indicator.tsx
@@ -0,0 +1,14 @@
+export function TailwindIndicator() {
+ if (process.env.NODE_ENV === 'production') return null;
+
+ return (
+ <div className='fixed bottom-1 left-1 z-50 flex h-6 w-6 items-center justify-center rounded-full bg-accent p-3 font-mono text-foreground text-xs'>
+ <div className='block sm:hidden'>xs</div>
+ <div className='hidden sm:block md:hidden'>sm</div>
+ <div className='hidden md:block lg:hidden'>md</div>
+ <div className='hidden lg:block xl:hidden'>lg</div>
+ <div className='hidden xl:block 2xl:hidden'>xl</div>
+ <div className='hidden 2xl:block'>2xl</div>
+ </div>
+ );
+}
diff --git a/src/components/theme-provider.tsx b/src/components/theme-provider.tsx
new file mode 100644
index 0000000..a271996
--- /dev/null
+++ b/src/components/theme-provider.tsx
@@ -0,0 +1,11 @@
+'use client';
+
+import { ThemeProvider as NextThemesProvider } from 'next-themes';
+import type * as React from 'react';
+
+export function ThemeProvider({
+ children,
+ ...props
+}: React.ComponentProps<typeof NextThemesProvider>) {
+ return <NextThemesProvider {...props}>{children}</NextThemesProvider>;
+}
diff --git a/src/components/theme-toggle.tsx b/src/components/theme-toggle.tsx
new file mode 100644
index 0000000..cca9d03
--- /dev/null
+++ b/src/components/theme-toggle.tsx
@@ -0,0 +1,126 @@
+'use client';
+
+import { cn } from '@/lib/utils';
+import { cva } from 'class-variance-authority';
+import { Airplay, Moon, Sun } from 'lucide-react';
+import { motion } from 'motion/react';
+import { useTheme } from 'next-themes';
+import { type HTMLAttributes, useLayoutEffect, useState } from 'react';
+
+const themes = [
+ {
+ key: 'light',
+ icon: Sun,
+ label: 'Light theme',
+ },
+ {
+ key: 'dark',
+ icon: Moon,
+ label: 'Dark theme',
+ },
+ {
+ key: 'system',
+ icon: Airplay,
+ label: 'System theme',
+ },
+];
+
+const itemVariants = cva(
+ 'relative size-6.5 rounded-full p-1.5 text-fd-muted-foreground',
+ {
+ variants: {
+ active: {
+ true: 'text-fd-accent-foreground',
+ false: 'text-fd-muted-foreground',
+ },
+ },
+ },
+);
+
+type Theme = 'light' | 'dark' | 'system';
+
+export function ThemeToggle({
+ className,
+ mode = 'light-dark',
+ ...props
+}: HTMLAttributes<HTMLDivElement> & {
+ mode?: 'light-dark' | 'light-dark-system';
+}) {
+ const { setTheme, theme: currentTheme, resolvedTheme } = useTheme();
+ const [mounted, setMounted] = useState(false);
+
+ const container = cn(
+ 'relative flex items-center rounded-full p-1 ring-1 ring-border',
+ className,
+ );
+
+ useLayoutEffect(() => {
+ setMounted(true);
+ }, []);
+
+ const handleChangeTheme = async (theme: Theme) => {
+ function update() {
+ setTheme(theme);
+ }
+
+ if (document.startViewTransition && theme !== resolvedTheme) {
+ document.documentElement.style.viewTransitionName = 'theme-transition';
+ await document.startViewTransition(update).finished;
+ document.documentElement.style.viewTransitionName = '';
+ } else {
+ update();
+ }
+ };
+
+ const value = mounted
+ ? mode === 'light-dark'
+ ? resolvedTheme
+ : currentTheme
+ : null;
+
+ return (
+ <div
+ className={container}
+ onClick={() => {
+ if (mode !== 'light-dark') return;
+ handleChangeTheme(resolvedTheme === 'dark' ? 'light' : 'dark');
+ }}
+ data-theme-toggle=''
+ aria-label={mode === 'light-dark' ? 'Toggle Theme' : undefined}
+ {...props}
+ >
+ {themes.map(({ key, icon: Icon, label }) => {
+ const isActive = value === key;
+ if (mode === 'light-dark' && key === 'system') return;
+
+ return (
+ <button
+ type='button'
+ key={key}
+ className={itemVariants({ active: isActive })}
+ onClick={() => {
+ if (mode === 'light-dark') return;
+ handleChangeTheme(key as Theme);
+ }}
+ aria-label={label}
+ >
+ {isActive && (
+ <motion.div
+ layoutId='activeTheme'
+ className='absolute inset-0 rounded-full bg-accent'
+ transition={{
+ type: 'spring',
+ duration: mode === 'light-dark' ? 1.5 : 1,
+ }}
+ />
+ )}
+ <Icon
+ className={'relative m-auto size-full'}
+ fill={'currentColor'}
+ />
+ </button>
+ );
+ })}
+ </div>
+ );
+}
diff --git a/src/components/ui/accordion.tsx b/src/components/ui/accordion.tsx
new file mode 100644
index 0000000..ab7f6a8
--- /dev/null
+++ b/src/components/ui/accordion.tsx
@@ -0,0 +1,66 @@
+'use client';
+
+import * as AccordionPrimitive from '@radix-ui/react-accordion';
+import { ChevronDownIcon } from 'lucide-react';
+import type * as React from 'react';
+
+import { cn } from '@/lib/utils';
+
+function Accordion({
+ ...props
+}: React.ComponentProps<typeof AccordionPrimitive.Root>) {
+ return <AccordionPrimitive.Root data-slot='accordion' {...props} />;
+}
+
+function AccordionItem({
+ className,
+ ...props
+}: React.ComponentProps<typeof AccordionPrimitive.Item>) {
+ return (
+ <AccordionPrimitive.Item
+ data-slot='accordion-item'
+ className={cn('border-b last:border-b-0', className)}
+ {...props}
+ />
+ );
+}
+
+function AccordionTrigger({
+ className,
+ children,
+ ...props
+}: React.ComponentProps<typeof AccordionPrimitive.Trigger>) {
+ return (
+ <AccordionPrimitive.Header className='flex'>
+ <AccordionPrimitive.Trigger
+ data-slot='accordion-trigger'
+ className={cn(
+ 'flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left font-medium text-sm outline-none transition-all hover:underline focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180',
+ className,
+ )}
+ {...props}
+ >
+ {children}
+ <ChevronDownIcon className='pointer-events-none size-4 shrink-0 translate-y-0.5 text-muted-foreground transition-transform duration-200' />
+ </AccordionPrimitive.Trigger>
+ </AccordionPrimitive.Header>
+ );
+}
+
+function AccordionContent({
+ className,
+ children,
+ ...props
+}: React.ComponentProps<typeof AccordionPrimitive.Content>) {
+ return (
+ <AccordionPrimitive.Content
+ data-slot='accordion-content'
+ className='overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down'
+ {...props}
+ >
+ <div className={cn('pt-0 pb-4', className)}>{children}</div>
+ </AccordionPrimitive.Content>
+ );
+}
+
+export { Accordion, AccordionItem, AccordionTrigger, AccordionContent };
diff --git a/src/components/ui/alert.tsx b/src/components/ui/alert.tsx
new file mode 100644
index 0000000..8a3c55a
--- /dev/null
+++ b/src/components/ui/alert.tsx
@@ -0,0 +1,66 @@
+import { type VariantProps, cva } from 'class-variance-authority';
+import type * as React from 'react';
+
+import { cn } from '@/lib/utils';
+
+const alertVariants = cva(
+ 'relative grid w-full grid-cols-[0_1fr] items-start gap-y-0.5 rounded-lg border px-4 py-3 text-sm has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] has-[>svg]:gap-x-3 [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current',
+ {
+ variants: {
+ variant: {
+ default: 'bg-card text-card-foreground',
+ destructive:
+ 'bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 [&>svg]:text-current',
+ },
+ },
+ defaultVariants: {
+ variant: 'default',
+ },
+ },
+);
+
+function Alert({
+ className,
+ variant,
+ ...props
+}: React.ComponentProps<'div'> & VariantProps<typeof alertVariants>) {
+ return (
+ <div
+ data-slot='alert'
+ role='alert'
+ className={cn(alertVariants({ variant }), className)}
+ {...props}
+ />
+ );
+}
+
+function AlertTitle({ className, ...props }: React.ComponentProps<'div'>) {
+ return (
+ <div
+ data-slot='alert-title'
+ className={cn(
+ 'col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight',
+ className,
+ )}
+ {...props}
+ />
+ );
+}
+
+function AlertDescription({
+ className,
+ ...props
+}: React.ComponentProps<'div'>) {
+ return (
+ <div
+ data-slot='alert-description'
+ className={cn(
+ 'col-start-2 grid justify-items-start gap-1 text-muted-foreground text-sm [&_p]:leading-relaxed',
+ className,
+ )}
+ {...props}
+ />
+ );
+}
+
+export { Alert, AlertTitle, AlertDescription };
diff --git a/src/components/ui/avatar.tsx b/src/components/ui/avatar.tsx
new file mode 100644
index 0000000..d1c9aef
--- /dev/null
+++ b/src/components/ui/avatar.tsx
@@ -0,0 +1,53 @@
+'use client';
+
+import * as AvatarPrimitive from '@radix-ui/react-avatar';
+import type * as React from 'react';
+
+import { cn } from '@/lib/utils';
+
+function Avatar({
+ className,
+ ...props
+}: React.ComponentProps<typeof AvatarPrimitive.Root>) {
+ return (
+ <AvatarPrimitive.Root
+ data-slot='avatar'
+ className={cn(
+ 'relative flex size-8 shrink-0 overflow-hidden rounded-full',
+ className,
+ )}
+ {...props}
+ />
+ );
+}
+
+function AvatarImage({
+ className,
+ ...props
+}: React.ComponentProps<typeof AvatarPrimitive.Image>) {
+ return (
+ <AvatarPrimitive.Image
+ data-slot='avatar-image'
+ className={cn('aspect-square size-full', className)}
+ {...props}
+ />
+ );
+}
+
+function AvatarFallback({
+ className,
+ ...props
+}: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {
+ return (
+ <AvatarPrimitive.Fallback
+ data-slot='avatar-fallback'
+ className={cn(
+ 'flex size-full items-center justify-center rounded-full bg-muted',
+ className,
+ )}
+ {...props}
+ />
+ );
+}
+
+export { Avatar, AvatarImage, AvatarFallback };
diff --git a/src/components/ui/button.tsx b/src/components/ui/button.tsx
new file mode 100644
index 0000000..ec19e56
--- /dev/null
+++ b/src/components/ui/button.tsx
@@ -0,0 +1,59 @@
+import { Slot } from '@radix-ui/react-slot';
+import { type VariantProps, cva } from 'class-variance-authority';
+import type * as React from 'react';
+
+import { cn } from '@/lib/utils';
+
+const buttonVariants = cva(
+ "inline-flex shrink-0 items-center justify-center gap-2 whitespace-nowrap rounded-md font-medium text-sm outline-none transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",
+ {
+ variants: {
+ variant: {
+ default:
+ 'bg-primary text-primary-foreground shadow-xs hover:bg-primary/90',
+ destructive:
+ 'bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40',
+ outline:
+ 'border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-border dark:bg-input/30 dark:hover:bg-input/50',
+ secondary:
+ 'bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80',
+ ghost:
+ 'hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50',
+ link: 'text-primary underline-offset-4 hover:underline',
+ },
+ size: {
+ default: 'h-9 px-4 py-2 has-[>svg]:px-3',
+ sm: 'h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5',
+ lg: 'h-10 rounded-md px-6 has-[>svg]:px-4',
+ icon: 'size-9',
+ },
+ },
+ defaultVariants: {
+ variant: 'default',
+ size: 'default',
+ },
+ },
+);
+
+function Button({
+ className,
+ variant,
+ size,
+ asChild = false,
+ ...props
+}: React.ComponentProps<'button'> &
+ VariantProps<typeof buttonVariants> & {
+ asChild?: boolean;
+ }) {
+ const Comp = asChild ? Slot : 'button';
+
+ return (
+ <Comp
+ data-slot='button'
+ className={cn(buttonVariants({ variant, size, className }))}
+ {...props}
+ />
+ );
+}
+
+export { Button, buttonVariants };
diff --git a/src/components/ui/card.tsx b/src/components/ui/card.tsx
new file mode 100644
index 0000000..c839cf9
--- /dev/null
+++ b/src/components/ui/card.tsx
@@ -0,0 +1,92 @@
+import type * as React from 'react';
+
+import { cn } from '@/lib/utils';
+
+function Card({ className, ...props }: React.ComponentProps<'div'>) {
+ return (
+ <div
+ data-slot='card'
+ className={cn(
+ 'flex flex-col gap-6 rounded-xl border bg-card py-6 text-card-foreground shadow-sm',
+ className,
+ )}
+ {...props}
+ />
+ );
+}
+
+function CardHeader({ className, ...props }: React.ComponentProps<'div'>) {
+ return (
+ <div
+ data-slot='card-header'
+ className={cn(
+ '@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6',
+ className,
+ )}
+ {...props}
+ />
+ );
+}
+
+function CardTitle({ className, ...props }: React.ComponentProps<'div'>) {
+ return (
+ <div
+ data-slot='card-title'
+ className={cn('font-semibold leading-none', className)}
+ {...props}
+ />
+ );
+}
+
+function CardDescription({ className, ...props }: React.ComponentProps<'div'>) {
+ return (
+ <div
+ data-slot='card-description'
+ className={cn('text-muted-foreground text-sm', className)}
+ {...props}
+ />
+ );
+}
+
+function CardAction({ className, ...props }: React.ComponentProps<'div'>) {
+ return (
+ <div
+ data-slot='card-action'
+ className={cn(
+ 'col-start-2 row-span-2 row-start-1 self-start justify-self-end',
+ className,
+ )}
+ {...props}
+ />
+ );
+}
+
+function CardContent({ className, ...props }: React.ComponentProps<'div'>) {
+ return (
+ <div
+ data-slot='card-content'
+ className={cn('px-6', className)}
+ {...props}
+ />
+ );
+}
+
+function CardFooter({ className, ...props }: React.ComponentProps<'div'>) {
+ return (
+ <div
+ data-slot='card-footer'
+ className={cn('flex items-center px-6 [.border-t]:pt-6', className)}
+ {...props}
+ />
+ );
+}
+
+export {
+ Card,
+ CardHeader,
+ CardFooter,
+ CardTitle,
+ CardAction,
+ CardDescription,
+ CardContent,
+};
diff --git a/src/components/ui/dropdown-menu.tsx b/src/components/ui/dropdown-menu.tsx
new file mode 100644
index 0000000..eb4601e
--- /dev/null
+++ b/src/components/ui/dropdown-menu.tsx
@@ -0,0 +1,257 @@
+'use client';
+
+import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
+import { CheckIcon, ChevronRightIcon, CircleIcon } from 'lucide-react';
+import type * as React from 'react';
+
+import { cn } from '@/lib/utils';
+
+function DropdownMenu({
+ ...props
+}: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {
+ return <DropdownMenuPrimitive.Root data-slot='dropdown-menu' {...props} />;
+}
+
+function DropdownMenuPortal({
+ ...props
+}: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {
+ return (
+ <DropdownMenuPrimitive.Portal data-slot='dropdown-menu-portal' {...props} />
+ );
+}
+
+function DropdownMenuTrigger({
+ ...props
+}: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {
+ return (
+ <DropdownMenuPrimitive.Trigger
+ data-slot='dropdown-menu-trigger'
+ {...props}
+ />
+ );
+}
+
+function DropdownMenuContent({
+ className,
+ sideOffset = 4,
+ ...props
+}: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {
+ return (
+ <DropdownMenuPrimitive.Portal>
+ <DropdownMenuPrimitive.Content
+ data-slot='dropdown-menu-content'
+ sideOffset={sideOffset}
+ className={cn(
+ 'data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=closed]:animate-out data-[state=open]:animate-in',
+ className,
+ )}
+ {...props}
+ />
+ </DropdownMenuPrimitive.Portal>
+ );
+}
+
+function DropdownMenuGroup({
+ ...props
+}: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {
+ return (
+ <DropdownMenuPrimitive.Group data-slot='dropdown-menu-group' {...props} />
+ );
+}
+
+function DropdownMenuItem({
+ className,
+ inset,
+ variant = 'default',
+ ...props
+}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {
+ inset?: boolean;
+ variant?: 'default' | 'destructive';
+}) {
+ return (
+ <DropdownMenuPrimitive.Item
+ data-slot='dropdown-menu-item'
+ data-inset={inset}
+ data-variant={variant}
+ className={cn(
+ "data-[variant=destructive]:*:[svg]:!text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20'size-'])]:size-4 relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden [&_svg:not([class*= focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[inset]:pl-8 data-[variant=destructive]:text-destructive data-[disabled]:opacity-50 data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0",
+ className,
+ )}
+ {...props}
+ />
+ );
+}
+
+function DropdownMenuCheckboxItem({
+ className,
+ children,
+ checked,
+ ...props
+}: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {
+ return (
+ <DropdownMenuPrimitive.CheckboxItem
+ data-slot='dropdown-menu-checkbox-item'
+ className={cn(
+ "data-[disabled]:opacity-50'size-'])]:size-4 relative flex cursor-default select-none items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden [&_svg:not([class*= focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0",
+ className,
+ )}
+ checked={checked}
+ {...props}
+ >
+ <span className='pointer-events-none absolute left-2 flex size-3.5 items-center justify-center'>
+ <DropdownMenuPrimitive.ItemIndicator>
+ <CheckIcon className='size-4' />
+ </DropdownMenuPrimitive.ItemIndicator>
+ </span>
+ {children}
+ </DropdownMenuPrimitive.CheckboxItem>
+ );
+}
+
+function DropdownMenuRadioGroup({
+ ...props
+}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {
+ return (
+ <DropdownMenuPrimitive.RadioGroup
+ data-slot='dropdown-menu-radio-group'
+ {...props}
+ />
+ );
+}
+
+function DropdownMenuRadioItem({
+ className,
+ children,
+ ...props
+}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) {
+ return (
+ <DropdownMenuPrimitive.RadioItem
+ data-slot='dropdown-menu-radio-item'
+ className={cn(
+ "data-[disabled]:opacity-50'size-'])]:size-4 relative flex cursor-default select-none items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden [&_svg:not([class*= focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0",
+ className,
+ )}
+ {...props}
+ >
+ <span className='pointer-events-none absolute left-2 flex size-3.5 items-center justify-center'>
+ <DropdownMenuPrimitive.ItemIndicator>
+ <CircleIcon className='size-2 fill-current' />
+ </DropdownMenuPrimitive.ItemIndicator>
+ </span>
+ {children}
+ </DropdownMenuPrimitive.RadioItem>
+ );
+}
+
+function DropdownMenuLabel({
+ className,
+ inset,
+ ...props
+}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {
+ inset?: boolean;
+}) {
+ return (
+ <DropdownMenuPrimitive.Label
+ data-slot='dropdown-menu-label'
+ data-inset={inset}
+ className={cn(
+ 'px-2 py-1.5 font-medium text-sm data-[inset]:pl-8',
+ className,
+ )}
+ {...props}
+ />
+ );
+}
+
+function DropdownMenuSeparator({
+ className,
+ ...props
+}: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {
+ return (
+ <DropdownMenuPrimitive.Separator
+ data-slot='dropdown-menu-separator'
+ className={cn('-mx-1 my-1 h-px bg-border', className)}
+ {...props}
+ />
+ );
+}
+
+function DropdownMenuShortcut({
+ className,
+ ...props
+}: React.ComponentProps<'span'>) {
+ return (
+ <span
+ data-slot='dropdown-menu-shortcut'
+ className={cn(
+ 'ml-auto text-muted-foreground text-xs tracking-widest',
+ className,
+ )}
+ {...props}
+ />
+ );
+}
+
+function DropdownMenuSub({
+ ...props
+}: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {
+ return <DropdownMenuPrimitive.Sub data-slot='dropdown-menu-sub' {...props} />;
+}
+
+function DropdownMenuSubTrigger({
+ className,
+ inset,
+ children,
+ ...props
+}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {
+ inset?: boolean;
+}) {
+ return (
+ <DropdownMenuPrimitive.SubTrigger
+ data-slot='dropdown-menu-sub-trigger'
+ data-inset={inset}
+ className={cn(
+ 'flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[inset]:pl-8 data-[state=open]:text-accent-foreground',
+ className,
+ )}
+ {...props}
+ >
+ {children}
+ <ChevronRightIcon className='ml-auto size-4' />
+ </DropdownMenuPrimitive.SubTrigger>
+ );
+}
+
+function DropdownMenuSubContent({
+ className,
+ ...props
+}: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {
+ return (
+ <DropdownMenuPrimitive.SubContent
+ data-slot='dropdown-menu-sub-content'
+ className={cn(
+ 'data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=closed]:animate-out data-[state=open]:animate-in',
+ className,
+ )}
+ {...props}
+ />
+ );
+}
+
+export {
+ DropdownMenu,
+ DropdownMenuPortal,
+ DropdownMenuTrigger,
+ DropdownMenuContent,
+ DropdownMenuGroup,
+ DropdownMenuLabel,
+ DropdownMenuItem,
+ DropdownMenuCheckboxItem,
+ DropdownMenuRadioGroup,
+ DropdownMenuRadioItem,
+ DropdownMenuSeparator,
+ DropdownMenuShortcut,
+ DropdownMenuSub,
+ DropdownMenuSubTrigger,
+ DropdownMenuSubContent,
+};
diff --git a/src/components/ui/form.tsx b/src/components/ui/form.tsx
new file mode 100644
index 0000000..5e54b0b
--- /dev/null
+++ b/src/components/ui/form.tsx
@@ -0,0 +1,168 @@
+'use client';
+
+import type * as LabelPrimitive from '@radix-ui/react-label';
+import { Slot } from '@radix-ui/react-slot';
+import * as React from 'react';
+import {
+ Controller,
+ type ControllerProps,
+ type FieldPath,
+ type FieldValues,
+ FormProvider,
+ useFormContext,
+ useFormState,
+} from 'react-hook-form';
+
+import { Label } from '@/components/ui/label';
+import { cn } from '@/lib/utils';
+
+const Form = FormProvider;
+
+type FormFieldContextValue<
+ TFieldValues extends FieldValues = FieldValues,
+ TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,
+> = {
+ name: TName;
+};
+
+const FormFieldContext = React.createContext<FormFieldContextValue>(
+ {} as FormFieldContextValue,
+);
+
+const FormField = <
+ TFieldValues extends FieldValues = FieldValues,
+ TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,
+>({
+ ...props
+}: ControllerProps<TFieldValues, TName>) => {
+ return (
+ <FormFieldContext.Provider value={{ name: props.name }}>
+ <Controller {...props} />
+ </FormFieldContext.Provider>
+ );
+};
+
+const useFormField = () => {
+ const fieldContext = React.useContext(FormFieldContext);
+ const itemContext = React.useContext(FormItemContext);
+ const { getFieldState } = useFormContext();
+ const formState = useFormState({ name: fieldContext.name });
+ const fieldState = getFieldState(fieldContext.name, formState);
+
+ if (!fieldContext) {
+ throw new Error('useFormField should be used within <FormField>');
+ }
+
+ const { id } = itemContext;
+
+ return {
+ id,
+ name: fieldContext.name,
+ formItemId: `${id}-form-item`,
+ formDescriptionId: `${id}-form-item-description`,
+ formMessageId: `${id}-form-item-message`,
+ ...fieldState,
+ };
+};
+
+type FormItemContextValue = {
+ id: string;
+};
+
+const FormItemContext = React.createContext<FormItemContextValue>(
+ {} as FormItemContextValue,
+);
+
+function FormItem({ className, ...props }: React.ComponentProps<'div'>) {
+ const id = React.useId();
+
+ return (
+ <FormItemContext.Provider value={{ id }}>
+ <div
+ data-slot='form-item'
+ className={cn('grid gap-2', className)}
+ {...props}
+ />
+ </FormItemContext.Provider>
+ );
+}
+
+function FormLabel({
+ className,
+ ...props
+}: React.ComponentProps<typeof LabelPrimitive.Root>) {
+ const { error, formItemId } = useFormField();
+
+ return (
+ <Label
+ data-slot='form-label'
+ data-error={!!error}
+ className={cn('data-[error=true]:text-destructive', className)}
+ htmlFor={formItemId}
+ {...props}
+ />
+ );
+}
+
+function FormControl({ ...props }: React.ComponentProps<typeof Slot>) {
+ const { error, formItemId, formDescriptionId, formMessageId } =
+ useFormField();
+
+ return (
+ <Slot
+ data-slot='form-control'
+ id={formItemId}
+ aria-describedby={
+ !error
+ ? `${formDescriptionId}`
+ : `${formDescriptionId} ${formMessageId}`
+ }
+ aria-invalid={!!error}
+ {...props}
+ />
+ );
+}
+
+function FormDescription({ className, ...props }: React.ComponentProps<'p'>) {
+ const { formDescriptionId } = useFormField();
+
+ return (
+ <p
+ data-slot='form-description'
+ id={formDescriptionId}
+ className={cn('text-muted-foreground text-sm', className)}
+ {...props}
+ />
+ );
+}
+
+function FormMessage({ className, ...props }: React.ComponentProps<'p'>) {
+ const { error, formMessageId } = useFormField();
+ const body = error ? String(error?.message ?? '') : props.children;
+
+ if (!body) {
+ return null;
+ }
+
+ return (
+ <p
+ data-slot='form-message'
+ id={formMessageId}
+ className={cn('text-destructive text-sm', className)}
+ {...props}
+ >
+ {body}
+ </p>
+ );
+}
+
+export {
+ useFormField,
+ Form,
+ FormItem,
+ FormLabel,
+ FormControl,
+ FormDescription,
+ FormMessage,
+ FormField,
+};
diff --git a/src/components/ui/input.tsx b/src/components/ui/input.tsx
new file mode 100644
index 0000000..27bc18a
--- /dev/null
+++ b/src/components/ui/input.tsx
@@ -0,0 +1,21 @@
+import type * as React from 'react';
+
+import { cn } from '@/lib/utils';
+
+function Input({ className, type, ...props }: React.ComponentProps<'input'>) {
+ return (
+ <input
+ type={type}
+ data-slot='input'
+ className={cn(
+ 'flex h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs outline-none transition-[color,box-shadow] selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:font-medium file:text-foreground file:text-sm placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-input/30',
+ 'focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50',
+ 'aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40',
+ className,
+ )}
+ {...props}
+ />
+ );
+}
+
+export { Input };
diff --git a/src/components/ui/label.tsx b/src/components/ui/label.tsx
new file mode 100644
index 0000000..0553fbc
--- /dev/null
+++ b/src/components/ui/label.tsx
@@ -0,0 +1,24 @@
+'use client';
+
+import * as LabelPrimitive from '@radix-ui/react-label';
+import type * as React from 'react';
+
+import { cn } from '@/lib/utils';
+
+function Label({
+ className,
+ ...props
+}: React.ComponentProps<typeof LabelPrimitive.Root>) {
+ return (
+ <LabelPrimitive.Root
+ data-slot='label'
+ className={cn(
+ 'flex select-none items-center gap-2 font-medium text-sm leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-50 group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50',
+ className,
+ )}
+ {...props}
+ />
+ );
+}
+
+export { Label };
diff --git a/src/components/ui/pagination.tsx b/src/components/ui/pagination.tsx
new file mode 100644
index 0000000..e1bee31
--- /dev/null
+++ b/src/components/ui/pagination.tsx
@@ -0,0 +1,126 @@
+import {
+ ChevronLeftIcon,
+ ChevronRightIcon,
+ MoreHorizontalIcon,
+} from 'lucide-react';
+import type * as React from 'react';
+
+import { type Button, buttonVariants } from '@/components/ui/button';
+import { cn } from '@/lib/utils';
+
+function Pagination({ className, ...props }: React.ComponentProps<'nav'>) {
+ return (
+ <nav
+ aria-label='pagination'
+ data-slot='pagination'
+ className={cn('mx-auto flex w-full justify-center', className)}
+ {...props}
+ />
+ );
+}
+
+function PaginationContent({
+ className,
+ ...props
+}: React.ComponentProps<'ul'>) {
+ return (
+ <ul
+ data-slot='pagination-content'
+ className={cn('flex flex-row items-center gap-1', className)}
+ {...props}
+ />
+ );
+}
+
+function PaginationItem({ ...props }: React.ComponentProps<'li'>) {
+ return <li data-slot='pagination-item' {...props} />;
+}
+
+type PaginationLinkProps = {
+ isActive?: boolean;
+} & Pick<React.ComponentProps<typeof Button>, 'size'> &
+ React.ComponentProps<'a'>;
+
+function PaginationLink({
+ className,
+ isActive,
+ size = 'icon',
+ ...props
+}: PaginationLinkProps) {
+ return (
+ <a
+ aria-current={isActive ? 'page' : undefined}
+ data-slot='pagination-link'
+ data-active={isActive}
+ className={cn(
+ buttonVariants({
+ variant: isActive ? 'outline' : 'ghost',
+ size,
+ }),
+ className,
+ )}
+ {...props}
+ />
+ );
+}
+
+function PaginationPrevious({
+ className,
+ ...props
+}: React.ComponentProps<typeof PaginationLink>) {
+ return (
+ <PaginationLink
+ aria-label='Go to previous page'
+ size='default'
+ className={cn('gap-1 px-2.5 sm:pl-2.5', className)}
+ {...props}
+ >
+ <ChevronLeftIcon />
+ <span className='hidden sm:block'>Previous</span>
+ </PaginationLink>
+ );
+}
+
+function PaginationNext({
+ className,
+ ...props
+}: React.ComponentProps<typeof PaginationLink>) {
+ return (
+ <PaginationLink
+ aria-label='Go to next page'
+ size='default'
+ className={cn('gap-1 px-2.5 sm:pr-2.5', className)}
+ {...props}
+ >
+ <span className='hidden sm:block'>Next</span>
+ <ChevronRightIcon />
+ </PaginationLink>
+ );
+}
+
+function PaginationEllipsis({
+ className,
+ ...props
+}: React.ComponentProps<'span'>) {
+ return (
+ <span
+ aria-hidden
+ data-slot='pagination-ellipsis'
+ className={cn('flex size-9 items-center justify-center', className)}
+ {...props}
+ >
+ <MoreHorizontalIcon className='size-4' />
+ <span className='sr-only'>More pages</span>
+ </span>
+ );
+}
+
+export {
+ Pagination,
+ PaginationContent,
+ PaginationLink,
+ PaginationItem,
+ PaginationPrevious,
+ PaginationNext,
+ PaginationEllipsis,
+};
diff --git a/src/components/ui/skeleton.tsx b/src/components/ui/skeleton.tsx
new file mode 100644
index 0000000..24d6b2f
--- /dev/null
+++ b/src/components/ui/skeleton.tsx
@@ -0,0 +1,13 @@
+import { cn } from '@/lib/utils';
+
+function Skeleton({ className, ...props }: React.ComponentProps<'div'>) {
+ return (
+ <div
+ data-slot='skeleton'
+ className={cn('animate-pulse rounded-md bg-accent', className)}
+ {...props}
+ />
+ );
+}
+
+export { Skeleton };
diff --git a/src/components/ui/sonner.tsx b/src/components/ui/sonner.tsx
new file mode 100644
index 0000000..cde1bcb
--- /dev/null
+++ b/src/components/ui/sonner.tsx
@@ -0,0 +1,25 @@
+'use client';
+
+import { useTheme } from 'next-themes';
+import { Toaster as Sonner, type ToasterProps } from 'sonner';
+
+const Toaster = ({ ...props }: ToasterProps) => {
+ const { theme = 'system' } = useTheme();
+
+ return (
+ <Sonner
+ theme={theme as ToasterProps['theme']}
+ className='toaster group'
+ style={
+ {
+ '--normal-bg': 'var(--color-fd-popover)',
+ '--normal-text': 'var(--color-fd-popover-foreground)',
+ '--normal-border': 'var(--color-fd-border)',
+ } as React.CSSProperties
+ }
+ {...props}
+ />
+ );
+};
+
+export { Toaster };
diff --git a/src/env.js b/src/env.js
new file mode 100644
index 0000000..91dc423
--- /dev/null
+++ b/src/env.js
@@ -0,0 +1,74 @@
+import { createEnv } from '@t3-oss/env-nextjs';
+import { z } from 'zod';
+
+export const env = createEnv({
+ /**
+ * Specify your shared environment variables schema here. This way you can ensure the app
+ * isn't built with invalid env vars.
+ */
+ shared: {
+ NODE_ENV: z
+ .enum(['development', 'production', 'test'])
+ .default('development'),
+ },
+
+ /**
+ * Specify your server-side environment variables schema here. This way you can ensure the app
+ * isn't built with invalid env vars.
+ */
+ server: {
+ // Database
+ DATABASE_URL: z.string().url(),
+ // Resend
+ RESEND_API_KEY: z.string().min(1).startsWith('re_'),
+ RESEND_AUDIENCE_ID: z.string().min(1),
+ EMAIL_FROM: z.string().email(),
+ // Authentication
+ BETTER_AUTH_SECRET:
+ process.env.NODE_ENV === 'production'
+ ? z.string().min(1)
+ : z.string().min(1).optional(),
+ BETTER_AUTH_URL: z.string().min(1).optional(),
+ // Google
+ GOOGLE_CLIENT_ID: z.string().min(1),
+ GOOGLE_CLIENT_SECRET: z.string().min(1),
+ // Github
+ GITHUB_CLIENT_ID: z.string().min(1),
+ GITHUB_CLIENT_SECRET: z.string().min(1),
+ NODE_ENV: z
+ .enum(['development', 'test', 'production'])
+ .default('development'),
+ },
+
+ /**
+ * Specify your client-side environment variables schema here. This way you can ensure the app
+ * isn't built with invalid env vars. To expose them to the client, prefix them with
+ * `NEXT_PUBLIC_`.
+ */
+ client: {
+ // Analytics
+ NEXT_PUBLIC_UMAMI_URL: z.string().url().optional(),
+ NEXT_PUBLIC_UMAMI_WEBSITE_ID: z.string().uuid().optional(),
+ },
+
+ /**
+ * You can't destruct `process.env` as a regular object in the Next.js edge runtimes (e.g.
+ * middlewares) or client-side so we need to destruct manually.
+ */
+ experimental__runtimeEnv: {
+ NODE_ENV: process.env.NODE_ENV,
+
+ NEXT_PUBLIC_UMAMI_URL: process.env.NEXT_PUBLIC_UMAMI_URL,
+ NEXT_PUBLIC_UMAMI_WEBSITE_ID: process.env.NEXT_PUBLIC_UMAMI_WEBSITE_ID,
+ },
+ /**
+ * Run `build` or `dev` with `SKIP_ENV_VALIDATION` to skip env validation. This is especially
+ * useful for Docker builds.
+ */
+ skipValidation: !!process.env.SKIP_ENV_VALIDATION,
+ /**
+ * Makes it so that empty strings are treated as undefined. `SOME_VAR: z.string()` and
+ * `SOME_VAR=''` will throw an error.
+ */
+ emptyStringAsUndefined: true,
+});
diff --git a/src/hooks/use-pagination.tsx b/src/hooks/use-pagination.tsx
new file mode 100644
index 0000000..d009cd4
--- /dev/null
+++ b/src/hooks/use-pagination.tsx
@@ -0,0 +1,61 @@
+type UsePaginationProps = {
+ currentPage: number;
+ totalPages: number;
+ paginationItemsToDisplay: number;
+};
+
+type UsePaginationReturn = {
+ pages: number[];
+ showLeftEllipsis: boolean;
+ showRightEllipsis: boolean;
+};
+
+export function usePagination({
+ currentPage,
+ totalPages,
+ paginationItemsToDisplay,
+}: UsePaginationProps): UsePaginationReturn {
+ const showLeftEllipsis = currentPage - 1 > paginationItemsToDisplay / 2;
+ const showRightEllipsis =
+ totalPages - currentPage + 1 > paginationItemsToDisplay / 2;
+
+ function calculatePaginationRange(): number[] {
+ if (totalPages <= paginationItemsToDisplay) {
+ return Array.from({ length: totalPages }, (_, i) => i + 1);
+ }
+
+ const halfDisplay = Math.floor(paginationItemsToDisplay / 2);
+ const initialRange = {
+ start: currentPage - halfDisplay,
+ end: currentPage + halfDisplay,
+ };
+
+ const adjustedRange = {
+ start: Math.max(1, initialRange.start),
+ end: Math.min(totalPages, initialRange.end),
+ };
+
+ if (adjustedRange.start === 1) {
+ adjustedRange.end = paginationItemsToDisplay;
+ }
+ if (adjustedRange.end === totalPages) {
+ adjustedRange.start = totalPages - paginationItemsToDisplay + 1;
+ }
+
+ if (showLeftEllipsis) adjustedRange.start++;
+ if (showRightEllipsis) adjustedRange.end--;
+
+ return Array.from(
+ { length: adjustedRange.end - adjustedRange.start + 1 },
+ (_, i) => adjustedRange.start + i,
+ );
+ }
+
+ const pages = calculatePaginationRange();
+
+ return {
+ pages,
+ showLeftEllipsis,
+ showRightEllipsis,
+ };
+}
diff --git a/src/lib/auth-client.ts b/src/lib/auth-client.ts
new file mode 100644
index 0000000..aec3cf4
--- /dev/null
+++ b/src/lib/auth-client.ts
@@ -0,0 +1,24 @@
+import { inferAdditionalFields } from 'better-auth/client/plugins';
+import { createAuthClient } from 'better-auth/react';
+import { toast } from 'sonner';
+
+import type { auth } from '@/server/auth';
+
+// @see https://github.com/better-auth/better-auth/issues/1391
+const authClient: ReturnType<typeof createAuthClient> = createAuthClient({
+ plugins: [inferAdditionalFields<typeof auth>()],
+ // baseURL: env.BETTER_AUTH_URL,
+ fetchOptions: {
+ onError(e) {
+ if (e.error.status === 429) {
+ toast.error('Too many requests. Please try again later.');
+ }
+ },
+ },
+});
+
+export const signIn: typeof authClient.signIn = authClient.signIn;
+export const signOut: typeof authClient.signOut = authClient.signOut;
+export const useSession: typeof authClient.useSession = authClient.useSession;
+
+export type User = (typeof authClient.$Infer.Session)['user'];
diff --git a/src/lib/constants.ts b/src/lib/constants.ts
new file mode 100644
index 0000000..1271197
--- /dev/null
+++ b/src/lib/constants.ts
@@ -0,0 +1,5 @@
+export const isProduction = process.env.NODE_ENV === 'production';
+export const baseUrl =
+ !isProduction || !process.env.VERCEL_PROJECT_PRODUCTION_URL
+ ? new URL('http://localhost:3000')
+ : new URL(`https://${process.env.VERCEL_PROJECT_PRODUCTION_URL}`);
diff --git a/src/lib/is-active.ts b/src/lib/is-active.ts
new file mode 100644
index 0000000..f931065
--- /dev/null
+++ b/src/lib/is-active.ts
@@ -0,0 +1,15 @@
+export function isActive(
+ url: string,
+ pathname: string,
+ nested = true,
+): boolean {
+ const normalizedUrl = url.endsWith('/') ? url.slice(0, -1) : url;
+ const normalizedPathname = pathname.endsWith('/')
+ ? pathname.slice(0, -1)
+ : pathname;
+
+ return (
+ normalizedUrl === normalizedPathname ||
+ (nested && normalizedPathname.startsWith(`${normalizedUrl}/`))
+ );
+}
diff --git a/src/lib/metadata-image.ts b/src/lib/metadata-image.ts
new file mode 100644
index 0000000..f2b91b6
--- /dev/null
+++ b/src/lib/metadata-image.ts
@@ -0,0 +1,7 @@
+import { source } from '@/lib/source';
+import { createMetadataImage } from 'fumadocs-core/server';
+
+export const metadataImage = createMetadataImage({
+ source,
+ imageRoute: 'og',
+});
diff --git a/src/lib/metadata.ts b/src/lib/metadata.ts
new file mode 100644
index 0000000..8a2bff2
--- /dev/null
+++ b/src/lib/metadata.ts
@@ -0,0 +1,30 @@
+import type { Metadata } from 'next/types';
+
+export function createMetadata(override: Metadata): Metadata {
+ return {
+ ...override,
+ openGraph: {
+ title: override.title ?? undefined,
+ description: override.description ?? undefined,
+ url: 'https://blog.techwithanirudh.com',
+ images: '/banner.png',
+ siteName: 'Blog',
+ ...override.openGraph,
+ },
+ twitter: {
+ card: 'summary_large_image',
+ creator: '@AnirudhWith',
+ title: override.title ?? undefined,
+ description: override.description ?? undefined,
+ images: '/banner.png',
+ ...override.twitter,
+ },
+ alternates: {
+ canonical: '/',
+ types: {
+ 'application/rss+xml': '/api/rss.xml',
+ },
+ ...override.alternates,
+ },
+ };
+}
diff --git a/src/lib/resend.ts b/src/lib/resend.ts
new file mode 100644
index 0000000..5ab7032
--- /dev/null
+++ b/src/lib/resend.ts
@@ -0,0 +1,80 @@
+import { baseUrl } from '@/lib/constants';
+import { Resend, type UpdateContactOptions } from 'resend';
+import NewsletterWelcomeEmail from '../../emails/newsletter-welcome';
+import type { getPosts } from './source';
+
+const resend = new Resend(process.env.RESEND_API_KEY as string);
+
+export async function updateContact({
+ email,
+ audienceId,
+ ...props
+}: {
+ email: string;
+ audienceId: string;
+} & Omit<UpdateContactOptions, 'email' | 'audienceId'>) {
+ const { data, error } = await resend.contacts.update({
+ email,
+ audienceId,
+ ...props,
+ });
+
+ if (!data || error) {
+ if (error?.name === 'not_found') {
+ return null;
+ }
+ throw new Error(`Failed to update contact: ${error?.message}`);
+ }
+
+ return data;
+}
+
+export async function getContact({
+ email,
+ audienceId,
+}: {
+ email: string;
+ audienceId: string;
+}) {
+ const { data: contacts, error } = await resend.contacts.list({ audienceId });
+
+ if (error || !contacts) {
+ throw new Error(
+ `Failed to list contacts: ${error?.message || 'Unknown error'}`,
+ );
+ }
+
+ const contact = contacts.data.find((contact) => contact.email === email);
+ return contact || null;
+}
+
+export async function sendWelcomeEmail({
+ posts,
+ firstName,
+ to,
+}: {
+ posts: ReturnType<typeof getPosts>;
+ firstName: string;
+ to: string;
+}) {
+ const EMAIL_FROM = process.env.EMAIL_FROM as string;
+ if (!EMAIL_FROM) throw new Error('Missing EMAIL_FROM environment variable');
+ if (!firstName || !to) throw new Error('Missing required email fields');
+
+ const formattedPosts = posts.map((post) => ({
+ ...post.data,
+ image: `${baseUrl}${post.data.image}`,
+ url: `${baseUrl}${post.url}`,
+ }));
+
+ const { data: res, error } = await resend.emails.send({
+ from: EMAIL_FROM,
+ to,
+ subject: 'Welcome to my newsletter!',
+ react: NewsletterWelcomeEmail({ firstName, posts: formattedPosts }),
+ });
+
+ if (error) {
+ throw new Error(`Failed to send welcome email: ${JSON.stringify(error)}`);
+ }
+}
diff --git a/src/lib/safe-action.ts b/src/lib/safe-action.ts
new file mode 100644
index 0000000..846f2ef
--- /dev/null
+++ b/src/lib/safe-action.ts
@@ -0,0 +1,18 @@
+import {
+ DEFAULT_SERVER_ERROR_MESSAGE,
+ createSafeActionClient,
+} from 'next-safe-action';
+
+export class ActionError extends Error {}
+
+export const actionClient = createSafeActionClient({
+ handleServerError(e) {
+ console.error('Failed to execute action:', e.message);
+
+ if (e instanceof ActionError) {
+ return e.message;
+ }
+
+ return DEFAULT_SERVER_ERROR_MESSAGE;
+ },
+});
diff --git a/src/lib/source.ts b/src/lib/source.ts
new file mode 100644
index 0000000..34bc7ac
--- /dev/null
+++ b/src/lib/source.ts
@@ -0,0 +1,40 @@
+import { loader } from 'fumadocs-core/source';
+import type { InferMetaType, InferPageType } from 'fumadocs-core/source';
+import { createMDXSource } from 'fumadocs-mdx';
+import { blog } from '.source';
+
+export const source = loader({
+ baseUrl: '/posts',
+ source: createMDXSource(blog),
+});
+export const { getPage: getPost, getPages: getPosts, pageTree } = source;
+
+export type Post = ReturnType<typeof getPost>;
+
+const posts = getPosts();
+
+export const getSortedByDatePosts = () =>
+ posts.toSorted((a, b) => b.data.date.getTime() - a.data.date.getTime());
+
+export const getTags = () => {
+ const tagSet = new Set<string>();
+
+ for (const post of posts) {
+ if (post.data.tags) {
+ for (const tag of post.data.tags) {
+ tagSet.add(tag);
+ }
+ }
+ }
+
+ return Array.from(tagSet).toSorted();
+};
+
+export const getPostsByTag = (tag: string) => {
+ return posts
+ .filter((post) => post.data.tags?.includes(tag))
+ .toSorted((a, b) => b.data.date.getTime() - a.data.date.getTime());
+};
+
+export type Page = InferPageType<typeof source>;
+export type Meta = InferMetaType<typeof source>;
diff --git a/src/lib/utils.ts b/src/lib/utils.ts
new file mode 100644
index 0000000..9ad0df4
--- /dev/null
+++ b/src/lib/utils.ts
@@ -0,0 +1,6 @@
+import { type ClassValue, clsx } from 'clsx';
+import { twMerge } from 'tailwind-merge';
+
+export function cn(...inputs: ClassValue[]) {
+ return twMerge(clsx(inputs));
+}
diff --git a/src/lib/validators/index.ts b/src/lib/validators/index.ts
new file mode 100644
index 0000000..be59bc3
--- /dev/null
+++ b/src/lib/validators/index.ts
@@ -0,0 +1 @@
+export * from './newsletter';
diff --git a/src/lib/validators/newsletter.ts b/src/lib/validators/newsletter.ts
new file mode 100644
index 0000000..9593fcf
--- /dev/null
+++ b/src/lib/validators/newsletter.ts
@@ -0,0 +1,6 @@
+import { z } from 'zod';
+
+export const NewsletterSchema = z.object({
+ email: z.string().email(),
+});
+export type Newsletter = z.infer<typeof NewsletterSchema>;
diff --git a/src/server/auth/index.ts b/src/server/auth/index.ts
new file mode 100644
index 0000000..9131cbb
--- /dev/null
+++ b/src/server/auth/index.ts
@@ -0,0 +1,39 @@
+import { betterAuth } from 'better-auth';
+import { drizzleAdapter } from 'better-auth/adapters/drizzle';
+import { headers } from 'next/headers';
+
+import { env } from '@/env';
+import { db } from '@/server/db';
+
+export const auth = betterAuth({
+ database: drizzleAdapter(db, {
+ provider: 'pg',
+ usePlural: true,
+ }),
+ socialProviders: {
+ google: {
+ clientId: env.GOOGLE_CLIENT_ID,
+ clientSecret: env.GOOGLE_CLIENT_SECRET,
+ },
+ github: {
+ clientId: env.GITHUB_CLIENT_ID,
+ clientSecret: env.GITHUB_CLIENT_SECRET,
+ },
+ },
+ user: {
+ additionalFields: {
+ role: {
+ type: 'string',
+ required: true,
+ input: false,
+ defaultValue: 'user',
+ },
+ },
+ },
+});
+
+export const getSession = async () => {
+ return await auth.api.getSession({
+ headers: await headers(),
+ });
+};
diff --git a/src/server/comments/config.ts b/src/server/comments/config.ts
new file mode 100644
index 0000000..fe64034
--- /dev/null
+++ b/src/server/comments/config.ts
@@ -0,0 +1,21 @@
+import type { AuthAdapter } from '@fuma-comment/server';
+import { createBetterAuthAdapter } from '@fuma-comment/server/adapters/better-auth';
+import { createDrizzleAdapter } from '@fuma-comment/server/adapters/drizzle';
+import type { CustomRequest } from '@fuma-comment/server/custom';
+
+import { auth as betterAuth } from '@/server/auth';
+import { db } from '@/server/db';
+import { comments, rates, roles, users } from '@/server/db/schema';
+
+export const auth: AuthAdapter<CustomRequest> =
+ createBetterAuthAdapter(betterAuth);
+export const storage = createDrizzleAdapter({
+ db,
+ schemas: {
+ comments,
+ rates,
+ roles,
+ user: users,
+ },
+ auth: 'better-auth',
+});
diff --git a/src/server/db/index.ts b/src/server/db/index.ts
new file mode 100644
index 0000000..8579424
--- /dev/null
+++ b/src/server/db/index.ts
@@ -0,0 +1,13 @@
+import { neon } from '@neondatabase/serverless';
+import { drizzle } from 'drizzle-orm/neon-http';
+
+import { env } from '@/env';
+import * as schema from './schema';
+
+const sql = neon(env.DATABASE_URL);
+
+export const db = drizzle({
+ client: sql,
+ schema,
+ casing: 'snake_case',
+});
diff --git a/src/server/db/schema/auth.ts b/src/server/db/schema/auth.ts
new file mode 100644
index 0000000..5843fdb
--- /dev/null
+++ b/src/server/db/schema/auth.ts
@@ -0,0 +1,55 @@
+import { boolean, text, timestamp } from 'drizzle-orm/pg-core';
+import { pgTableCreator } from 'drizzle-orm/pg-core';
+
+const createTable = pgTableCreator((name) => `blog_${name}`);
+
+export const users = createTable('users', {
+ id: text('id').primaryKey(),
+ name: text('name').notNull(),
+ email: text('email').notNull().unique(),
+ emailVerified: boolean('email_verified').notNull(),
+ image: text('image'),
+ createdAt: timestamp('created_at').notNull(),
+ updatedAt: timestamp('updated_at').notNull(),
+ role: text('role').notNull(),
+});
+
+export const sessions = createTable('sessions', {
+ id: text('id').primaryKey(),
+ expiresAt: timestamp('expires_at').notNull(),
+ token: text('token').notNull().unique(),
+ createdAt: timestamp('created_at').notNull(),
+ updatedAt: timestamp('updated_at').notNull(),
+ ipAddress: text('ip_address'),
+ userAgent: text('user_agent'),
+ userId: text('user_id')
+ .notNull()
+ .references(() => users.id, { onDelete: 'cascade' }),
+});
+
+export const accounts = createTable('accounts', {
+ id: text('id').primaryKey(),
+ accountId: text('account_id').notNull(),
+ providerId: text('provider_id').notNull(),
+ userId: text('user_id')
+ .notNull()
+ .references(() => users.id, { onDelete: 'cascade' }),
+ accessToken: text('access_token'),
+ refreshToken: text('refresh_token'),
+ idToken: text('id_token'),
+ accessTokenExpiresAt: timestamp('access_token_expires_at'),
+ refreshTokenExpiresAt: timestamp('refresh_token_expires_at'),
+ scope: text('scope'),
+ password: text('password'),
+ createdAt: timestamp('created_at').notNull(),
+ updatedAt: timestamp('updated_at').notNull(),
+});
+
+export const verifications = createTable('verifications', {
+ id: text('id').primaryKey(),
+ identifier: text('identifier').notNull(),
+ value: text('value').notNull(),
+ expiresAt: timestamp('expires_at').notNull(),
+ createdAt: timestamp('created_at'),
+ updatedAt: timestamp('updated_at'),
+});
diff --git a/src/server/db/schema/comments.ts b/src/server/db/schema/comments.ts
new file mode 100644
index 0000000..9c0626b
--- /dev/null
+++ b/src/server/db/schema/comments.ts
@@ -0,0 +1,43 @@
+import {
+ boolean,
+ index,
+ integer,
+ json,
+ primaryKey,
+ serial,
+ timestamp,
+ varchar,
+} from 'drizzle-orm/pg-core';
+import { pgTableCreator } from 'drizzle-orm/pg-core';
+
+const createTable = pgTableCreator((name) => `blog_${name}`);
+
+export const roles = createTable('roles', {
+ userId: varchar('userId', { length: 256 }).primaryKey(),
+ name: varchar('name', { length: 256 }).notNull(),
+ canDelete: boolean('canDelete').notNull(),
+});
+
+export const comments = createTable('comments', {
+ id: serial('id').primaryKey().notNull(),
+ page: varchar('page', { length: 256 }).notNull(),
+ thread: integer('thread'),
+ author: varchar('author', { length: 256 }).notNull(),
+ content: json('content').notNull(),
+ timestamp: timestamp('timestamp', { withTimezone: true })
+ .defaultNow()
+ .notNull(),
+});
+
+export const rates = createTable(
+ 'rates',
+ {
+ userId: varchar('userId', { length: 256 }).notNull(),
+ commentId: integer('commentId').notNull(),
+ like: boolean('like').notNull(),
+ },
+ (table) => [
+ primaryKey({ columns: [table.userId, table.commentId] }),
+ index('comment_idx').on(table.commentId),
+ ],
+);
diff --git a/src/server/db/schema/index.ts b/src/server/db/schema/index.ts
new file mode 100644
index 0000000..def18aa
--- /dev/null
+++ b/src/server/db/schema/index.ts
@@ -0,0 +1,2 @@
+export * from './auth';
+export * from './comments';
diff --git a/src/styles/globals.css b/src/styles/globals.css
new file mode 100644
index 0000000..f9cd08b
--- /dev/null
+++ b/src/styles/globals.css
@@ -0,0 +1,199 @@
+@import "tailwindcss";
+@import "fumadocs-ui/css/vitepress.css";
+@import "fumadocs-ui/css/preset.css";
+@import "@fuma-comment/react/preset.css";
+
+@plugin "tailwindcss-animate";
+@plugin 'tailwind-scrollbar';
+
+@custom-variant dark (&:is(.dark *));
+
+@source '../../node_modules/fumadocs-ui/dist/**/*.js';
+@source '../../node_modules/@fuma-comment/react/dist/**/*.js';
+
+@theme {
+ --color-background: var(--color-fd-background);
+ --color-foreground: var(--color-fd-foreground);
+
+ --color-card: var(--color-fd-card);
+ --color-card-foreground: var(--color-fd-card-foreground);
+
+ --color-popover: var(--color-fd-popover);
+ --color-popover-foreground: var(--color-fd-popover-foreground);
+
+ --color-primary: var(--color-fd-primary);
+ --color-primary-foreground: var(--color-fd-primary-foreground);
+
+ --color-secondary: var(--color-fd-secondary);
+ --color-secondary-foreground: var(--color-fd-secondary-foreground);
+
+ --color-muted: var(--color-fd-muted);
+ --color-muted-foreground: var(--color-fd-muted-foreground);
+
+ --color-accent: var(--color-fd-accent);
+ --color-accent-foreground: var(--color-fd-accent-foreground);
+
+ /* --color-destructive: var(--color-fd-destructive);
+ --color-destructive-foreground: var(--color-fd-destructive-foreground); */
+ --color-destructive: hsl(0 84.2% 60.2%);
+ --color-destructive-foreground: hsl(0 0% 98%);
+
+ --color-border: var(--color-fd-border);
+ --color-input: var(--color-fd-input);
+ --color-ring: var(--color-fd-ring);
+
+ --radius-lg: var(--radius);
+ --radius-md: calc(var(--radius) - 2px);
+ --radius-sm: calc(var(--radius) - 4px);
+
+ /* fonts */
+ --font-sans: var(--font-geist-sans);
+ --font-mono: var(--font-geist-mono);
+}
+
+@layer base {
+ :root {
+ --radius: 0.5rem;
+ }
+}
+
+@layer base {
+ * {
+ @apply border-border outline-ring/50;
+ }
+
+ body {
+ @apply bg-background text-foreground;
+ }
+
+ html {
+ @apply scroll-smooth accent-primary scrollbar-thin scrollbar-track-transparent scrollbar-thumb-border dark:scrollbar-track-transparent;
+ }
+}
+
+@layer base {
+ a {
+ @apply [overflow-wrap:anywhere];
+ }
+
+ button:not(:disabled),
+ [role="button"]:not(:disabled) {
+ cursor: pointer;
+ }
+}
+
+@utility container {
+ margin-inline: auto;
+ padding-inline: 0rem;
+
+ @apply 2xl:max-w-[1536px];
+}
+
+@layer utilities {
+ .bg-dashed {
+ background-image: linear-gradient(
+ 45deg,
+ var(--color-border) 12.50%,
+ transparent 12.50%,
+ transparent 50%,
+ var(--color-border) 50%,
+ var(--color-border) 62.50%,
+ transparent 62.50%,
+ transparent 100%
+ );
+ background-size: 0.25rem 0.25rem;
+ }
+}
+
+@layer components {
+ .footer {
+ --footer-text-size: clamp(3rem, 14rem, 14vw);
+
+ display: flex;
+ justify-content: center;
+ color: var(--color-muted-foreground);
+ position: relative;
+ overflow: clip;
+ min-height: var(--footer-text-size);
+ }
+
+ .footer-text {
+ text-rendering: geometricPrecision;
+ font-weight: 900;
+ font-size: var(--footer-text-size);
+ letter-spacing: 0;
+ opacity: 0.3;
+ position: absolute;
+ bottom: calc(-1 * var(--footer-text-size) / 1.6);
+ }
+
+ .footer-grid {
+ background-color: transparent;
+ background-image: radial-gradient(transparent 1px, rgb(255, 255, 255) 1px);
+ background-size: 4px 4px;
+ backdrop-filter: blur(3px);
+ mask: linear-gradient(
+ rgba(255, 255, 255, 0) 0%,
+ rgb(255, 255, 255, 0.6) 100%
+ );
+ opacity: 1;
+ position: absolute;
+ inset: 0;
+ overflow: visible;
+ z-index: 1;
+ flex: none;
+ }
+
+ .footer-gradient {
+ position: absolute;
+ inset: 0;
+ background-image: linear-gradient(
+ rgba(255, 255, 255, 0) 0% 50%,
+ rgba(255, 255, 255, 0.5) 100%
+ );
+ }
+
+ .dark .footer-gradient {
+ background-image: linear-gradient(
+ rgba(0, 0, 0, 0) 0% 50%,
+ rgba(0, 0, 0, 0.5) 100%
+ );
+ }
+
+ .dark .footer-grid {
+ background-image: radial-gradient(transparent 1px, rgb(0, 0, 0) 1px);
+ mask: linear-gradient(rgba(0, 0, 0, 0) 0%, rgb(0, 0, 0, 0.6) 100%);
+ }
+}
+
+::selection {
+ background-color: var(--color-accent);
+ color: var(--color-foreground);
+}
+
+.dark ::selection {
+ background-color: var(--color-accent);
+ color: var(--color-foreground);
+}
+
+.dark [data-hide-on-theme="dark"],
+.light [data-hide-on-theme="light"] {
+ display: none;
+}
+
+@media (prefers-reduced-motion: no-preference) {
+ ::view-transition-new(theme-transition) {
+ clip-path: inset(0 0 100% 0);
+ animation: slide-in-from-top 0.65s forwards cubic-bezier(0.65, 0, 0.35, 1);
+ }
+
+ ::view-transition-old(theme-transition) {
+ animation: none;
+ }
+
+ @keyframes slide-in-from-top {
+ to {
+ clip-path: inset(0 0 0 0);
+ }
+ }
+}
diff --git a/start-database.sh b/start-database.sh
new file mode 100755
index 0000000..c30b549
--- /dev/null
+++ b/start-database.sh
@@ -0,0 +1,83 @@
+#!/usr/bin/env bash
+# Use this script to start a docker container for a local development database
+
+# TO RUN ON WINDOWS:
+# 1. Install WSL (Windows Subsystem for Linux) - https://learn.microsoft.com/en-us/windows/wsl/install
+# 2. Install Docker Desktop or Podman Deskop
+# - Docker Desktop for Windows - https://docs.docker.com/docker-for-windows/install/
+# - Podman Desktop - https://podman.io/getting-started/installation
+# 3. Open WSL - `wsl`
+# 4. Run this script - `./start-database.sh`
+
+# On Linux and macOS you can run this script directly - `./start-database.sh`
+
+# import env variables from .env
+set -a
+source .env
+
+DB_PASSWORD=$(echo "$DATABASE_URL" | awk -F':' '{print $3}' | awk -F'@' '{print $1}')
+DB_PORT=$(echo "$DATABASE_URL" | awk -F':' '{print $4}' | awk -F'\/' '{print $1}')
+DB_NAME=$(echo "$DATABASE_URL" | awk -F'/' '{print $4}')
+DB_CONTAINER_NAME="$DB_NAME-postgres"
+
+if ! [ -x "$(command -v docker)" ] && ! [ -x "$(command -v podman)" ]; then
+ echo -e "Docker or Podman is not installed. Please install docker or podman and try again.\nDocker install guide: https://docs.docker.com/engine/install/\nPodman install guide: https://podman.io/getting-started/installation"
+ exit 1
+fi
+
+# determine which docker command to use
+if [ -x "$(command -v docker)" ]; then
+ DOCKER_CMD="docker"
+elif [ -x "$(command -v podman)" ]; then
+ DOCKER_CMD="podman"
+fi
+
+if ! $DOCKER_CMD info > /dev/null 2>&1; then
+ echo "$DOCKER_CMD daemon is not running. Please start $DOCKER_CMD and try again."
+ exit 1
+fi
+
+if command -v nc >/dev/null 2>&1; then
+ if nc -z localhost "$DB_PORT" 2>/dev/null; then
+ echo "Port $DB_PORT is already in use."
+ exit 1
+ fi
+else
+ echo "Warning: Unable to check if port $DB_PORT is already in use (netcat not installed)"
+ read -p "Do you want to continue anyway? [y/N]: " -r REPLY
+ if ! [[ $REPLY =~ ^[Yy]$ ]]; then
+ echo "Aborting."
+ exit 1
+ fi
+fi
+
+if [ "$($DOCKER_CMD ps -q -f name=$DB_CONTAINER_NAME)" ]; then
+ echo "Database container '$DB_CONTAINER_NAME' already running"
+ exit 0
+fi
+
+if [ "$($DOCKER_CMD ps -q -a -f name=$DB_CONTAINER_NAME)" ]; then
+ $DOCKER_CMD start "$DB_CONTAINER_NAME"
+ echo "Existing database container '$DB_CONTAINER_NAME' started"
+ exit 0
+fi
+
+if [ "$DB_PASSWORD" = "password" ]; then
+ echo "You are using the default database password"
+ read -p "Should we generate a random password for you? [y/N]: " -r REPLY
+ if ! [[ $REPLY =~ ^[Yy]$ ]]; then
+ echo "Please change the default password in the .env file and try again"
+ exit 1
+ fi
+ # Generate a random URL-safe password
+ DB_PASSWORD=$(openssl rand -base64 12 | tr '+/' '-_')
+ sed -i '' "s#:password@#:$DB_PASSWORD@#" .env
+fi
+
+$DOCKER_CMD run -d \
+ --name $DB_CONTAINER_NAME \
+ -e POSTGRES_USER="postgres" \
+ -e POSTGRES_PASSWORD="$DB_PASSWORD" \
+ -e POSTGRES_DB="$DB_NAME" \
+ -p "$DB_PORT":5432 \
+ docker.io/postgres && echo "Database container '$DB_CONTAINER_NAME' was successfully created"
diff --git a/tsconfig.json b/tsconfig.json
new file mode 100644
index 0000000..903eb06
--- /dev/null
+++ b/tsconfig.json
@@ -0,0 +1,44 @@
+{
+ "compilerOptions": {
+ /* Base Options: */
+ "esModuleInterop": true,
+ "skipLibCheck": true,
+ "target": "ESNext",
+ "allowJs": true,
+ "resolveJsonModule": true,
+ "moduleDetection": "force",
+ "isolatedModules": true,
+ "verbatimModuleSyntax": true,
+
+ /* Strictness */
+ "strict": true,
+ "noUncheckedIndexedAccess": true,
+ "forceConsistentCasingInFileNames": true,
+ "checkJs": true,
+
+ /* Bundled projects */
+ "lib": ["dom", "dom.iterable", "ESNext"],
+ "noEmit": true,
+ "module": "ESNext",
+ "moduleResolution": "Bundler",
+ "jsx": "preserve",
+ "plugins": [{ "name": "next" }],
+ "incremental": true,
+
+ /* Path Aliases */
+ "baseUrl": ".",
+ "paths": {
+ "@/*": ["./src/*"]
+ }
+ },
+ "include": [
+ ".eslintrc.cjs",
+ "next-env.d.ts",
+ "**/*.ts",
+ "**/*.tsx",
+ "**/*.cjs",
+ "**/*.js",
+ ".next/types/**/*.ts"
+ ],
+ "exclude": ["node_modules"]
+}