├── src
├── vite-env.d.ts
├── main.ts
├── scss
│ ├── tailwind.scss
│ └── app.scss
└── images
│ └── photo.jpg
├── postcss.config.js
├── .gitignore
├── tailwind.config.js
├── package.json
├── tsconfig.json
├── README.md
├── favicon.svg
├── .github
└── workflows
│ └── main.yml
├── vite.config.js
├── resume.json
├── index.html
└── pnpm-lock.yaml
/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/src/main.ts:
--------------------------------------------------------------------------------
1 | import './scss/tailwind.scss'
2 | import './scss/app.scss'
3 |
--------------------------------------------------------------------------------
/src/scss/tailwind.scss:
--------------------------------------------------------------------------------
1 | @tailwind base;
2 | @tailwind components;
3 | @tailwind utilities;
--------------------------------------------------------------------------------
/src/images/photo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zuramai/resume/HEAD/src/images/photo.jpg
--------------------------------------------------------------------------------
/postcss.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | plugins: {
3 | tailwindcss: {},
4 | autoprefixer: {},
5 | },
6 | }
7 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | dist
12 | dist-ssr
13 | *.local
14 |
15 | # Editor directories and files
16 | .vscode/*
17 | !.vscode/extensions.json
18 | .idea
19 | .DS_Store
20 | *.suo
21 | *.ntvs*
22 | *.njsproj
23 | *.sln
24 | *.sw?
25 |
--------------------------------------------------------------------------------
/tailwind.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | content: [
3 | "./index.html"
4 | ],
5 | theme: {
6 | container: {
7 | center: true,
8 | screens: {
9 | sm: '600px',
10 | md: '728px',
11 | lg: '984px',
12 | xl: '1240px',
13 | '2xl': '1240px',
14 | },
15 | },
16 | extend: {
17 | },
18 | },
19 | plugins: [],
20 | }
21 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "resume",
3 | "private": true,
4 | "version": "0.0.0",
5 | "scripts": {
6 | "dev": "vite",
7 | "build": "tsc && vite build",
8 | "preview": "vite preview"
9 | },
10 | "devDependencies": {
11 | "autoprefixer": "^10.4.8",
12 | "axios": "^0.27.2",
13 | "postcss": "^8.4.16",
14 | "sass": "^1.54.4",
15 | "tailwindcss": "^3.1.8",
16 | "typescript": "^4.7.4",
17 | "vite": "^2.9.15",
18 | "vite-plugin-handlebars": "^1.6.0"
19 | }
20 | }
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ESNext",
4 | "useDefineForClassFields": true,
5 | "module": "ESNext",
6 | "lib": ["ESNext", "DOM"],
7 | "moduleResolution": "Node",
8 | "strict": true,
9 | "sourceMap": true,
10 | "resolveJsonModule": true,
11 | "isolatedModules": true,
12 | "esModuleInterop": true,
13 | "noEmit": true,
14 | "noUnusedLocals": true,
15 | "noUnusedParameters": true,
16 | "noImplicitReturns": true,
17 | "skipLibCheck": true
18 | },
19 | "include": ["src"]
20 | }
21 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Resume
2 | This is my Résumé generator. You can check out my Résumé [here](https://resume.saugi.me).
3 |
4 | # Use this template as your resume
5 | 1. Fork this repository
6 | 2. Edit the files in `resume.json`. The JSON Schema is based on [JSON Resume](https://jsonresume.org/schema/).
7 | 3. Push it to your fork repository
8 | 4. Set up Github Pages from repository Settings -> Pages -> Choose `gh-pages` branch
9 | 5. Done!
10 |
11 | In case you want to preview it locally, run:
12 | ```bash
13 | npm install
14 | npm run dev
15 | ```
16 |
17 | # License
18 | MIT License
19 |
--------------------------------------------------------------------------------
/src/scss/app.scss:
--------------------------------------------------------------------------------
1 | * {
2 | margin:0 ;
3 | padding: 0;
4 | box-sizing: border-box;
5 | }
6 | body {
7 | font-family: 'Source Serif Pro';
8 | background-color: #f5f5f0;
9 | @apply text-stone-700 text-lg;
10 | }
11 | h1,h2,h3,h4,h5,h6 {
12 | font-family: 'Cormorant Garamond';
13 | font-weight: 600;
14 | }
15 | a {
16 | @apply transition duration-100;
17 | &:not(.no-underline) {
18 | @apply border-b border-stone-600 border-dashed;
19 | }
20 | }
21 | a:hover {
22 | @apply text-yellow-700 border-yellow-700;
23 | }
24 | .stackList {
25 | grid-column: 2 / span 2;
26 | }
27 | section.basic {
28 | .photo {
29 | filter: grayscale(1);
30 | object-fit: cover;
31 | aspect-ratio: 3 / 4;
32 | }
33 | @media screen and (max-width: 768px) {
34 | text-align: center;
35 |
36 | .photo {
37 | aspect-ratio: 1 / 1;
38 | border-radius: 50%;
39 | margin: 0 auto;
40 | }
41 | }
42 | }
43 |
44 | .text-serif {
45 | font-family: 'Source-Serif Pro';
46 | }
47 | .text-cormorant {
48 | font-family: 'Cormorant Garamond';
49 | }
50 | .two-sides section {
51 | margin-bottom: 3rem;
52 | }
53 | .section__title {
54 | font-weight:700;
55 | @apply text-5xl uppercase mb-5;
56 | }
57 | .card__title {
58 | @apply text-xl text-serif font-semibold text-stone-700;
59 | }
60 | .card__desc {
61 | @apply text-base text-serif font-normal text-stone-700;
62 | }
--------------------------------------------------------------------------------
/favicon.svg:
--------------------------------------------------------------------------------
1 |
16 |
--------------------------------------------------------------------------------
/.github/workflows/main.yml:
--------------------------------------------------------------------------------
1 | # This is a basic workflow to help you get started with Actions
2 |
3 | name: Build and deploy
4 |
5 | # Controls when the workflow will run
6 | on:
7 | # Triggers the workflow on push or pull request events but only for the main branch
8 | push:
9 | branches: [ main ]
10 | schedule:
11 | - cron: "0 0 * * 1"
12 |
13 |
14 | # A workflow run is made up of one or more jobs that can run sequentially or in parallel
15 | jobs:
16 | # This workflow contains a single job called "build"
17 | build:
18 | # The type of runner that the job will run on
19 | runs-on: ubuntu-latest
20 |
21 | # Steps represent a sequence of tasks that will be executed as part of the job
22 | steps:
23 | # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
24 | - uses: actions/checkout@v3
25 | - uses: actions/setup-node@v2
26 |
27 | - uses: pnpm/action-setup@v2.2.1
28 | with:
29 | version: 6.31.0
30 | run_install: true
31 |
32 | - name: Install and Build 🔧 # This example project is built using npm and outputs the result to the 'build' folder. Replace with the commands required to build your project, or remove this step entirely if your site is pre-built.
33 | run: |
34 | pnpm run build
35 |
36 | - name: Deploy 🚀
37 | uses: JamesIves/github-pages-deploy-action@v4.2.5
38 | with:
39 | branch: gh-pages # The branch the action should deploy to.
40 | folder: ./dist # The folder the action should deploy.
41 |
42 |
43 |
--------------------------------------------------------------------------------
/vite.config.js:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'vite'
2 | import axios from 'axios'
3 | import hbs from 'handlebars';
4 | import handlebars from 'vite-plugin-handlebars';
5 | import resume from "./resume.json"
6 |
7 | const resumeURL = "https://gist.githubusercontent.com/zuramai/5481baa53f9b634362cce9d23c090da5/raw"
8 |
9 | const getGithubApi = (url) => {
10 | return url.replace('https://github.com/', 'https://api.github.com/repos/')
11 | }
12 |
13 | const getProjectStars = async (url) => {
14 | try {
15 | const api = getGithubApi(url)
16 | const { data } = await axios.get(api)
17 | return data.stargazers_count
18 | }
19 | catch(e){
20 | console.error(e)
21 | return 'NaN'
22 | }
23 | }
24 |
25 | export default defineConfig(async ({ command, mode }) => {
26 | for (const project of resume.projects){
27 | if (project.githubUrl)
28 | project.stars = await getProjectStars(project.githubUrl)
29 | }
30 | return {
31 | plugins: [
32 | handlebars({
33 | context: async () => {
34 | return resume
35 | },
36 | helpers: {
37 | breaklines: (text) => {
38 | text = hbs.Utils.escapeExpression(text);
39 | text = text.replace(/(\r\n|\n|\r)/gm, '
');
40 | return new hbs.SafeString(text);
41 | },
42 | isNotEmpty: (arr) => {
43 | return arr.length > 0
44 | },
45 | joinComma: (arr) => {
46 | return arr.join(", ")
47 | },
48 | toSocialIcon: (text) => {
49 | return {
50 | linkedin: 'ri:linkedin-box-fill',
51 | github: 'ri:github-fill',
52 | instagram: 'ri:instagram-line',
53 | twitter: 'ri:twitter-fill',
54 | website: 'ri:global-line',
55 | link: 'ri:arrow-right-up-line',
56 | portfolio: 'ri:account-circle-fill'
57 | }[text.trim().toLowerCase()]
58 | }
59 | }
60 | })
61 | ],
62 | }
63 | })
64 |
65 |
--------------------------------------------------------------------------------
/resume.json:
--------------------------------------------------------------------------------
1 | {
2 | "basics": {
3 | "name": "Ahmad Saugi",
4 | "label": "Software Engineer",
5 | "image": "https://github.com/zuramai/resume/blob/main/src/images/photo.jpg?raw=true",
6 | "email": "saugi.dev@gmail.com",
7 | "url": "https://saugi.me",
8 | "summary": "My name is Ahmad Saugi, a bachelor of computer science student. My passion for software lies with dreaming up ideas and making them come true with elegant interfaces. I take great care in experience, architecture, and code quality of the things I build.\n\nI am also an open-source enthusiast and maintainer. I love how collaboration and knowledge sharing happens through open-source and I am happy to see what I do could eventually feedback to the community and industry.",
9 | "location": {
10 | "countryCode": "ID",
11 | "region": "Indonesia"
12 | },
13 | "profiles": [
14 | {
15 | "text": "zuramai",
16 | "network": "github",
17 | "username": "zuramai",
18 | "url": "https://github.com/zuramai"
19 | },
20 | {
21 | "text": "https://linkedin.com/in/ahmad-saugi",
22 | "network": "linkedin",
23 | "username": "ahmad-saugi",
24 | "url": "https://linkedin.com/in/ahmad-saugi"
25 | },
26 | {
27 | "text": "asawgi",
28 | "network": "instagram",
29 | "username": "asawgi",
30 | "url": "https://instagram.com/asawgi"
31 | },
32 | {
33 | "text": "saugi.me",
34 | "network": "portfolio",
35 | "username": "saugi.me",
36 | "url": "https://saugi.me"
37 | }
38 | ]
39 | },
40 | "work": [
41 | {
42 | "name": "Open Source",
43 | "position": "OSS Developer",
44 | "url": "https://github.com/zuramai",
45 | "startDate": "Apr 2020",
46 | "endDate": "Present",
47 | "summary": "",
48 | "location": "Github",
49 | "highlights": [
50 | "Received 3000+ stars on personal projects.",
51 | "Mantaining numerous projects on Github",
52 | "Actively contribute to the open source community",
53 | "Main tech stacks: Vue, React, Nuxt, Next.js, TypeScript, Rust"
54 | ]
55 | },
56 | {
57 | "name": "PT Solusi Intek Indonesia",
58 | "position": "Web Developer Intern",
59 | "url": "https://intek.co.id/",
60 | "startDate": "Jan 2019",
61 | "endDate": "Apr 2019",
62 | "summary": "",
63 | "location": "Bekasi, Indonesia",
64 | "highlights": [
65 | "Developed a web application (WhatsappBot App) with Python Flask",
66 | "Developed a fullstack face recognition app for school",
67 | "Tech stacks: Python, Laravel, Vue, Golang, MongoDB, PostgreSQL, and Redis"
68 | ]
69 | }
70 | ],
71 | "education": [
72 | {
73 | "institution": "Binus University",
74 | "url": "https://binus.ac.id/",
75 | "area": "Computer Science",
76 | "studyType": "Bachelor of Science",
77 | "startDate": "2020",
78 | "endDate": "2024",
79 | "score": "",
80 | "courses": []
81 | },
82 | {
83 | "institution": "SMKN 10 Jakarta",
84 | "url": "https://binus.ac.id/",
85 | "area": "Software Engineering",
86 | "studyType": "Vocational High School",
87 | "startDate": "2017",
88 | "endDate": "2020",
89 | "score": "",
90 | "courses": []
91 | }
92 | ],
93 | "volunteer": [],
94 | "awards": [
95 | {
96 | "title": "2nd Place in WorldSkills ASEAN Singapore 2023 Web Technologies",
97 | "date": "Jul 2023",
98 | "awarder": "WorldSkills International",
99 | "highlights": [
100 | "Speedtest Module: complete several small task (CSS animation, PHP calendar, etc)",
101 | "CMS Wordpress Module: create theme (recipe website) and rating plugin in 3 hours",
102 | "Server-side Module: create football tournament website (with matchmaking algorithm)",
103 | "Client-side Module: create interactive quiz game with pure JavaScript in 3 hours"
104 | ],
105 | "summary": ""
106 | },
107 | {
108 | "title": "1st Place in LKS National Competition (Web Technologies) 2020",
109 | "date": "Oct 2021",
110 | "awarder": "Ministry of Education Indonesia",
111 | "highlights": [
112 | "Speedtest Module (complete several small tasks) in 2 hours",
113 | "CMS Wordpress Module (create theme and plugins) in 2 hours",
114 | "Server-side Module (using Laravel and VueJS) in 5 hours",
115 | "Client-side Module (create HTML5 game) in 4 hours"
116 | ],
117 | "summary": ""
118 | }
119 | ],
120 | "certificates": [],
121 | "publications": [],
122 | "skills": [
123 | {
124 | "name": "Frontend",
125 | "level": "",
126 | "keywords": ["Typescript", "Javascript", "React", "Vue", "Nuxt", "Next.js"]
127 | },
128 | {
129 | "name": "Backend",
130 | "level": "",
131 | "keywords": [
132 | "Laravel",
133 | "Go",
134 | "Rust",
135 | "Wordpress",
136 | "PostgreSQL",
137 | "Redis",
138 | "MongoDB"
139 | ]
140 | },
141 | {
142 | "name": "Languages",
143 | "level": "",
144 | "keywords": ["PHP", "Go", "Javascript", "TypeScript", "Rust"]
145 | }
146 | ],
147 | "languages": [
148 | {
149 | "language": "Indonesian",
150 | "fluency": "Native speaker"
151 | },
152 | {
153 | "language": "English",
154 | "fluency": "Fluent"
155 | }
156 | ],
157 | "interests": [
158 | {
159 | "name": "Books",
160 | "keywords": ["Fiction", "Fantasy", "Self-improvement"]
161 | }
162 | ],
163 | "references": [],
164 | "projects": [
165 | {
166 | "name": "Mazer Dashboard Template",
167 | "description": "Clean, Modern, Free, and Open-source Bootstrap 5 Admin Dashboard Template",
168 | "highlights": [],
169 | "keywords": [
170 | "bootstrap",
171 | "template",
172 | "dashboard",
173 | "admin-dashboard",
174 | "free-template"
175 | ],
176 | "startDate": "Jan 2021",
177 | "endDate": "Currently maintaining",
178 | "githubUrl": "https://github.com/zuramai/mazer",
179 | "url": "https://zuramai.github.io/mazer",
180 | "roles": ["Owner & Maintainer"],
181 | "type": "application",
182 | "entity": ""
183 | },
184 | {
185 | "name": "Voler Admin Dashboard",
186 | "description": "The First Bootstrap 5 Admin Dashboard Template",
187 | "highlights": [],
188 | "keywords": [
189 | "bootstrap",
190 | "template",
191 | "dashboard",
192 | "admin-dashboard",
193 | "free-template"
194 | ],
195 | "startDate": "Aug 2021",
196 | "endDate": "Currently maintaining",
197 | "githubUrl": "https://github.com/zuramai/voler",
198 | "url": "https://zuramai.github.io/voler/",
199 | "roles": ["Owner & Maintainer"],
200 | "type": "application",
201 | "entity": ""
202 | },
203 | {
204 | "name": "Starback.js",
205 | "description": "Create a beautiful star falling background with starback.js",
206 | "highlights": [],
207 | "keywords": ["canvas", "css-animation", "background-animation"],
208 | "startDate": "Aug 2021",
209 | "endDate": "Currently maintaining",
210 | "githubUrl": "https://github.com/zuramai/starback.js",
211 | "url": "https://zuramai.github.io/starback.js",
212 | "roles": ["Owner & Maintainer"],
213 | "type": "application",
214 | "entity": ""
215 | },
216 | {
217 | "name": "Hugoblog",
218 | "description": "Hugoblog is responsive, simple, and clean that very fit for your personal blog based on Hugo Theme Static Site Generator (SSG)",
219 | "highlights": [],
220 | "keywords": ["canvas", "css-animation", "background-animation"],
221 | "startDate": "Mar 2021",
222 | "endDate": "Currently maintaining",
223 | "githubUrl": "https://github.com/zuramai/hugoblog",
224 | "url": "https://zuramai.github.io/hugoblog",
225 | "roles": ["Owner & Maintainer"],
226 | "type": "application",
227 | "entity": ""
228 | }
229 | ]
230 | }
231 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Resume | saugi.me
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 | AHMAD SAUGI
18 |
19 | {{#each basics.profiles}}
20 | -
21 |
22 |
23 |
24 |
25 | {{/each}}
26 |
27 |
28 |
29 |
30 |
36 |
37 |
38 |
39 |
40 |
41 |
{{ basics.name }}
42 |
{{{ basics.label }}}
43 |
{{{ breaklines basics.summary }}}
44 |
45 |
46 |
47 |
48 | Contact
49 |
50 | {{#each basics.profiles}}
51 | -
52 |
53 | {{this.text}}
54 |
55 | {{/each}}
56 |
57 |
58 |
59 | {{#if education}}
60 |
72 | {{/if}}
73 |
74 |
75 |
76 |
77 | {{#if work}}
78 |
79 | Work Experiences
80 |
96 |
97 | {{/if}}
98 |
99 |
100 | {{#if languages}}
101 |
102 | Languages
103 |
110 |
111 | {{/if}}
112 |
113 |
114 |
115 | {{#if skills}}
116 |
117 | Tech Stacks
118 |
119 | {{#each skills}}
120 |
{{ this.name }}
121 |
{{joinComma this.keywords }}
122 | {{/each}}
123 |
124 |
125 | {{/if}}
126 | {{#if projects}}
127 |
148 | {{/if}}
149 |
150 |
151 |
152 | {{#if awards}}
153 |
172 | {{/if}}
173 |
174 |
175 |
176 |
177 |
180 |
181 |
182 |
183 |
184 |
185 |
186 |
187 |
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '6.0'
2 |
3 | settings:
4 | autoInstallPeers: true
5 | excludeLinksFromLockfile: false
6 |
7 | devDependencies:
8 | autoprefixer:
9 | specifier: ^10.4.8
10 | version: 10.4.8(postcss@8.4.16)
11 | axios:
12 | specifier: ^0.27.2
13 | version: 0.27.2
14 | postcss:
15 | specifier: ^8.4.16
16 | version: 8.4.16
17 | sass:
18 | specifier: ^1.54.4
19 | version: 1.54.4
20 | tailwindcss:
21 | specifier: ^3.1.8
22 | version: 3.1.8(postcss@8.4.16)
23 | typescript:
24 | specifier: ^4.7.4
25 | version: 4.7.4
26 | vite:
27 | specifier: ^2.9.15
28 | version: 2.9.15(sass@1.54.4)
29 | vite-plugin-handlebars:
30 | specifier: ^1.6.0
31 | version: 1.6.0(sass@1.54.4)
32 |
33 | packages:
34 |
35 | /@esbuild/linux-loong64@0.14.54:
36 | resolution: {integrity: sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==}
37 | engines: {node: '>=12'}
38 | cpu: [loong64]
39 | os: [linux]
40 | requiresBuild: true
41 | dev: true
42 | optional: true
43 |
44 | /@nodelib/fs.scandir@2.1.5:
45 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
46 | engines: {node: '>= 8'}
47 | dependencies:
48 | '@nodelib/fs.stat': 2.0.5
49 | run-parallel: 1.2.0
50 | dev: true
51 |
52 | /@nodelib/fs.stat@2.0.5:
53 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
54 | engines: {node: '>= 8'}
55 | dev: true
56 |
57 | /@nodelib/fs.walk@1.2.8:
58 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
59 | engines: {node: '>= 8'}
60 | dependencies:
61 | '@nodelib/fs.scandir': 2.1.5
62 | fastq: 1.13.0
63 | dev: true
64 |
65 | /acorn-node@1.8.2:
66 | resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==}
67 | dependencies:
68 | acorn: 7.4.1
69 | acorn-walk: 7.2.0
70 | xtend: 4.0.2
71 | dev: true
72 |
73 | /acorn-walk@7.2.0:
74 | resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==}
75 | engines: {node: '>=0.4.0'}
76 | dev: true
77 |
78 | /acorn@7.4.1:
79 | resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==}
80 | engines: {node: '>=0.4.0'}
81 | hasBin: true
82 | dev: true
83 |
84 | /anymatch@3.1.2:
85 | resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==}
86 | engines: {node: '>= 8'}
87 | dependencies:
88 | normalize-path: 3.0.0
89 | picomatch: 2.3.1
90 | dev: true
91 |
92 | /arg@5.0.2:
93 | resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
94 | dev: true
95 |
96 | /asynckit@0.4.0:
97 | resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
98 | dev: true
99 |
100 | /autoprefixer@10.4.8(postcss@8.4.16):
101 | resolution: {integrity: sha512-75Jr6Q/XpTqEf6D2ltS5uMewJIx5irCU1oBYJrWjFenq/m12WRRrz6g15L1EIoYvPLXTbEry7rDOwrcYNj77xw==}
102 | engines: {node: ^10 || ^12 || >=14}
103 | hasBin: true
104 | peerDependencies:
105 | postcss: ^8.1.0
106 | dependencies:
107 | browserslist: 4.21.3
108 | caniuse-lite: 1.0.30001376
109 | fraction.js: 4.2.0
110 | normalize-range: 0.1.2
111 | picocolors: 1.0.0
112 | postcss: 8.4.16
113 | postcss-value-parser: 4.2.0
114 | dev: true
115 |
116 | /axios@0.27.2:
117 | resolution: {integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==}
118 | dependencies:
119 | follow-redirects: 1.15.1
120 | form-data: 4.0.0
121 | transitivePeerDependencies:
122 | - debug
123 | dev: true
124 |
125 | /binary-extensions@2.2.0:
126 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
127 | engines: {node: '>=8'}
128 | dev: true
129 |
130 | /braces@3.0.2:
131 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
132 | engines: {node: '>=8'}
133 | dependencies:
134 | fill-range: 7.0.1
135 | dev: true
136 |
137 | /browserslist@4.21.3:
138 | resolution: {integrity: sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==}
139 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
140 | hasBin: true
141 | dependencies:
142 | caniuse-lite: 1.0.30001376
143 | electron-to-chromium: 1.4.219
144 | node-releases: 2.0.6
145 | update-browserslist-db: 1.0.5(browserslist@4.21.3)
146 | dev: true
147 |
148 | /camelcase-css@2.0.1:
149 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
150 | engines: {node: '>= 6'}
151 | dev: true
152 |
153 | /caniuse-lite@1.0.30001376:
154 | resolution: {integrity: sha512-I27WhtOQ3X3v3it9gNs/oTpoE5KpwmqKR5oKPA8M0G7uMXh9Ty81Q904HpKUrM30ei7zfcL5jE7AXefgbOfMig==}
155 | dev: true
156 |
157 | /chokidar@3.5.3:
158 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
159 | engines: {node: '>= 8.10.0'}
160 | dependencies:
161 | anymatch: 3.1.2
162 | braces: 3.0.2
163 | glob-parent: 5.1.2
164 | is-binary-path: 2.1.0
165 | is-glob: 4.0.3
166 | normalize-path: 3.0.0
167 | readdirp: 3.6.0
168 | optionalDependencies:
169 | fsevents: 2.3.2
170 | dev: true
171 |
172 | /color-name@1.1.4:
173 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
174 | dev: true
175 |
176 | /combined-stream@1.0.8:
177 | resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
178 | engines: {node: '>= 0.8'}
179 | dependencies:
180 | delayed-stream: 1.0.0
181 | dev: true
182 |
183 | /cssesc@3.0.0:
184 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
185 | engines: {node: '>=4'}
186 | hasBin: true
187 | dev: true
188 |
189 | /defined@1.0.0:
190 | resolution: {integrity: sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==}
191 | dev: true
192 |
193 | /delayed-stream@1.0.0:
194 | resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
195 | engines: {node: '>=0.4.0'}
196 | dev: true
197 |
198 | /detective@5.2.1:
199 | resolution: {integrity: sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==}
200 | engines: {node: '>=0.8.0'}
201 | hasBin: true
202 | dependencies:
203 | acorn-node: 1.8.2
204 | defined: 1.0.0
205 | minimist: 1.2.6
206 | dev: true
207 |
208 | /didyoumean@1.2.2:
209 | resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
210 | dev: true
211 |
212 | /dlv@1.1.3:
213 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
214 | dev: true
215 |
216 | /electron-to-chromium@1.4.219:
217 | resolution: {integrity: sha512-zoQJsXOUw0ZA0YxbjkmzBumAJRtr6je5JySuL/bAoFs0DuLiLJ+5FzRF7/ZayihxR2QcewlRZVm5QZdUhwjOgA==}
218 | dev: true
219 |
220 | /esbuild-android-64@0.14.54:
221 | resolution: {integrity: sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==}
222 | engines: {node: '>=12'}
223 | cpu: [x64]
224 | os: [android]
225 | requiresBuild: true
226 | dev: true
227 | optional: true
228 |
229 | /esbuild-android-arm64@0.14.54:
230 | resolution: {integrity: sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==}
231 | engines: {node: '>=12'}
232 | cpu: [arm64]
233 | os: [android]
234 | requiresBuild: true
235 | dev: true
236 | optional: true
237 |
238 | /esbuild-darwin-64@0.14.54:
239 | resolution: {integrity: sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==}
240 | engines: {node: '>=12'}
241 | cpu: [x64]
242 | os: [darwin]
243 | requiresBuild: true
244 | dev: true
245 | optional: true
246 |
247 | /esbuild-darwin-arm64@0.14.54:
248 | resolution: {integrity: sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==}
249 | engines: {node: '>=12'}
250 | cpu: [arm64]
251 | os: [darwin]
252 | requiresBuild: true
253 | dev: true
254 | optional: true
255 |
256 | /esbuild-freebsd-64@0.14.54:
257 | resolution: {integrity: sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==}
258 | engines: {node: '>=12'}
259 | cpu: [x64]
260 | os: [freebsd]
261 | requiresBuild: true
262 | dev: true
263 | optional: true
264 |
265 | /esbuild-freebsd-arm64@0.14.54:
266 | resolution: {integrity: sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==}
267 | engines: {node: '>=12'}
268 | cpu: [arm64]
269 | os: [freebsd]
270 | requiresBuild: true
271 | dev: true
272 | optional: true
273 |
274 | /esbuild-linux-32@0.14.54:
275 | resolution: {integrity: sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==}
276 | engines: {node: '>=12'}
277 | cpu: [ia32]
278 | os: [linux]
279 | requiresBuild: true
280 | dev: true
281 | optional: true
282 |
283 | /esbuild-linux-64@0.14.54:
284 | resolution: {integrity: sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==}
285 | engines: {node: '>=12'}
286 | cpu: [x64]
287 | os: [linux]
288 | requiresBuild: true
289 | dev: true
290 | optional: true
291 |
292 | /esbuild-linux-arm64@0.14.54:
293 | resolution: {integrity: sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==}
294 | engines: {node: '>=12'}
295 | cpu: [arm64]
296 | os: [linux]
297 | requiresBuild: true
298 | dev: true
299 | optional: true
300 |
301 | /esbuild-linux-arm@0.14.54:
302 | resolution: {integrity: sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==}
303 | engines: {node: '>=12'}
304 | cpu: [arm]
305 | os: [linux]
306 | requiresBuild: true
307 | dev: true
308 | optional: true
309 |
310 | /esbuild-linux-mips64le@0.14.54:
311 | resolution: {integrity: sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==}
312 | engines: {node: '>=12'}
313 | cpu: [mips64el]
314 | os: [linux]
315 | requiresBuild: true
316 | dev: true
317 | optional: true
318 |
319 | /esbuild-linux-ppc64le@0.14.54:
320 | resolution: {integrity: sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==}
321 | engines: {node: '>=12'}
322 | cpu: [ppc64]
323 | os: [linux]
324 | requiresBuild: true
325 | dev: true
326 | optional: true
327 |
328 | /esbuild-linux-riscv64@0.14.54:
329 | resolution: {integrity: sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==}
330 | engines: {node: '>=12'}
331 | cpu: [riscv64]
332 | os: [linux]
333 | requiresBuild: true
334 | dev: true
335 | optional: true
336 |
337 | /esbuild-linux-s390x@0.14.54:
338 | resolution: {integrity: sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==}
339 | engines: {node: '>=12'}
340 | cpu: [s390x]
341 | os: [linux]
342 | requiresBuild: true
343 | dev: true
344 | optional: true
345 |
346 | /esbuild-netbsd-64@0.14.54:
347 | resolution: {integrity: sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==}
348 | engines: {node: '>=12'}
349 | cpu: [x64]
350 | os: [netbsd]
351 | requiresBuild: true
352 | dev: true
353 | optional: true
354 |
355 | /esbuild-openbsd-64@0.14.54:
356 | resolution: {integrity: sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==}
357 | engines: {node: '>=12'}
358 | cpu: [x64]
359 | os: [openbsd]
360 | requiresBuild: true
361 | dev: true
362 | optional: true
363 |
364 | /esbuild-sunos-64@0.14.54:
365 | resolution: {integrity: sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==}
366 | engines: {node: '>=12'}
367 | cpu: [x64]
368 | os: [sunos]
369 | requiresBuild: true
370 | dev: true
371 | optional: true
372 |
373 | /esbuild-windows-32@0.14.54:
374 | resolution: {integrity: sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==}
375 | engines: {node: '>=12'}
376 | cpu: [ia32]
377 | os: [win32]
378 | requiresBuild: true
379 | dev: true
380 | optional: true
381 |
382 | /esbuild-windows-64@0.14.54:
383 | resolution: {integrity: sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==}
384 | engines: {node: '>=12'}
385 | cpu: [x64]
386 | os: [win32]
387 | requiresBuild: true
388 | dev: true
389 | optional: true
390 |
391 | /esbuild-windows-arm64@0.14.54:
392 | resolution: {integrity: sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==}
393 | engines: {node: '>=12'}
394 | cpu: [arm64]
395 | os: [win32]
396 | requiresBuild: true
397 | dev: true
398 | optional: true
399 |
400 | /esbuild@0.14.54:
401 | resolution: {integrity: sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==}
402 | engines: {node: '>=12'}
403 | hasBin: true
404 | requiresBuild: true
405 | optionalDependencies:
406 | '@esbuild/linux-loong64': 0.14.54
407 | esbuild-android-64: 0.14.54
408 | esbuild-android-arm64: 0.14.54
409 | esbuild-darwin-64: 0.14.54
410 | esbuild-darwin-arm64: 0.14.54
411 | esbuild-freebsd-64: 0.14.54
412 | esbuild-freebsd-arm64: 0.14.54
413 | esbuild-linux-32: 0.14.54
414 | esbuild-linux-64: 0.14.54
415 | esbuild-linux-arm: 0.14.54
416 | esbuild-linux-arm64: 0.14.54
417 | esbuild-linux-mips64le: 0.14.54
418 | esbuild-linux-ppc64le: 0.14.54
419 | esbuild-linux-riscv64: 0.14.54
420 | esbuild-linux-s390x: 0.14.54
421 | esbuild-netbsd-64: 0.14.54
422 | esbuild-openbsd-64: 0.14.54
423 | esbuild-sunos-64: 0.14.54
424 | esbuild-windows-32: 0.14.54
425 | esbuild-windows-64: 0.14.54
426 | esbuild-windows-arm64: 0.14.54
427 | dev: true
428 |
429 | /escalade@3.1.1:
430 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
431 | engines: {node: '>=6'}
432 | dev: true
433 |
434 | /fast-glob@3.2.11:
435 | resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==}
436 | engines: {node: '>=8.6.0'}
437 | dependencies:
438 | '@nodelib/fs.stat': 2.0.5
439 | '@nodelib/fs.walk': 1.2.8
440 | glob-parent: 5.1.2
441 | merge2: 1.4.1
442 | micromatch: 4.0.5
443 | dev: true
444 |
445 | /fastq@1.13.0:
446 | resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==}
447 | dependencies:
448 | reusify: 1.0.4
449 | dev: true
450 |
451 | /fill-range@7.0.1:
452 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
453 | engines: {node: '>=8'}
454 | dependencies:
455 | to-regex-range: 5.0.1
456 | dev: true
457 |
458 | /follow-redirects@1.15.1:
459 | resolution: {integrity: sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==}
460 | engines: {node: '>=4.0'}
461 | peerDependencies:
462 | debug: '*'
463 | peerDependenciesMeta:
464 | debug:
465 | optional: true
466 | dev: true
467 |
468 | /form-data@4.0.0:
469 | resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==}
470 | engines: {node: '>= 6'}
471 | dependencies:
472 | asynckit: 0.4.0
473 | combined-stream: 1.0.8
474 | mime-types: 2.1.35
475 | dev: true
476 |
477 | /fraction.js@4.2.0:
478 | resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==}
479 | dev: true
480 |
481 | /fsevents@2.3.2:
482 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
483 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
484 | os: [darwin]
485 | requiresBuild: true
486 | dev: true
487 | optional: true
488 |
489 | /function-bind@1.1.1:
490 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
491 | dev: true
492 |
493 | /glob-parent@5.1.2:
494 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
495 | engines: {node: '>= 6'}
496 | dependencies:
497 | is-glob: 4.0.3
498 | dev: true
499 |
500 | /glob-parent@6.0.2:
501 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
502 | engines: {node: '>=10.13.0'}
503 | dependencies:
504 | is-glob: 4.0.3
505 | dev: true
506 |
507 | /handlebars@4.7.7:
508 | resolution: {integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==}
509 | engines: {node: '>=0.4.7'}
510 | hasBin: true
511 | dependencies:
512 | minimist: 1.2.6
513 | neo-async: 2.6.2
514 | source-map: 0.6.1
515 | wordwrap: 1.0.0
516 | optionalDependencies:
517 | uglify-js: 3.16.3
518 | dev: true
519 |
520 | /has@1.0.3:
521 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
522 | engines: {node: '>= 0.4.0'}
523 | dependencies:
524 | function-bind: 1.1.1
525 | dev: true
526 |
527 | /immutable@4.1.0:
528 | resolution: {integrity: sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==}
529 | dev: true
530 |
531 | /is-binary-path@2.1.0:
532 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
533 | engines: {node: '>=8'}
534 | dependencies:
535 | binary-extensions: 2.2.0
536 | dev: true
537 |
538 | /is-core-module@2.10.0:
539 | resolution: {integrity: sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==}
540 | dependencies:
541 | has: 1.0.3
542 | dev: true
543 |
544 | /is-extglob@2.1.1:
545 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
546 | engines: {node: '>=0.10.0'}
547 | dev: true
548 |
549 | /is-glob@4.0.3:
550 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
551 | engines: {node: '>=0.10.0'}
552 | dependencies:
553 | is-extglob: 2.1.1
554 | dev: true
555 |
556 | /is-number@7.0.0:
557 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
558 | engines: {node: '>=0.12.0'}
559 | dev: true
560 |
561 | /lilconfig@2.0.6:
562 | resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==}
563 | engines: {node: '>=10'}
564 | dev: true
565 |
566 | /merge2@1.4.1:
567 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
568 | engines: {node: '>= 8'}
569 | dev: true
570 |
571 | /micromatch@4.0.5:
572 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
573 | engines: {node: '>=8.6'}
574 | dependencies:
575 | braces: 3.0.2
576 | picomatch: 2.3.1
577 | dev: true
578 |
579 | /mime-db@1.52.0:
580 | resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
581 | engines: {node: '>= 0.6'}
582 | dev: true
583 |
584 | /mime-types@2.1.35:
585 | resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
586 | engines: {node: '>= 0.6'}
587 | dependencies:
588 | mime-db: 1.52.0
589 | dev: true
590 |
591 | /minimist@1.2.6:
592 | resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==}
593 | dev: true
594 |
595 | /nanoid@3.3.4:
596 | resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==}
597 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
598 | hasBin: true
599 | dev: true
600 |
601 | /neo-async@2.6.2:
602 | resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
603 | dev: true
604 |
605 | /node-releases@2.0.6:
606 | resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==}
607 | dev: true
608 |
609 | /normalize-path@3.0.0:
610 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
611 | engines: {node: '>=0.10.0'}
612 | dev: true
613 |
614 | /normalize-range@0.1.2:
615 | resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
616 | engines: {node: '>=0.10.0'}
617 | dev: true
618 |
619 | /object-hash@3.0.0:
620 | resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
621 | engines: {node: '>= 6'}
622 | dev: true
623 |
624 | /path-parse@1.0.7:
625 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
626 | dev: true
627 |
628 | /picocolors@1.0.0:
629 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
630 | dev: true
631 |
632 | /picomatch@2.3.1:
633 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
634 | engines: {node: '>=8.6'}
635 | dev: true
636 |
637 | /pify@2.3.0:
638 | resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
639 | engines: {node: '>=0.10.0'}
640 | dev: true
641 |
642 | /postcss-import@14.1.0(postcss@8.4.16):
643 | resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==}
644 | engines: {node: '>=10.0.0'}
645 | peerDependencies:
646 | postcss: ^8.0.0
647 | dependencies:
648 | postcss: 8.4.16
649 | postcss-value-parser: 4.2.0
650 | read-cache: 1.0.0
651 | resolve: 1.22.1
652 | dev: true
653 |
654 | /postcss-js@4.0.0(postcss@8.4.16):
655 | resolution: {integrity: sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==}
656 | engines: {node: ^12 || ^14 || >= 16}
657 | peerDependencies:
658 | postcss: ^8.3.3
659 | dependencies:
660 | camelcase-css: 2.0.1
661 | postcss: 8.4.16
662 | dev: true
663 |
664 | /postcss-load-config@3.1.4(postcss@8.4.16):
665 | resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==}
666 | engines: {node: '>= 10'}
667 | peerDependencies:
668 | postcss: '>=8.0.9'
669 | ts-node: '>=9.0.0'
670 | peerDependenciesMeta:
671 | postcss:
672 | optional: true
673 | ts-node:
674 | optional: true
675 | dependencies:
676 | lilconfig: 2.0.6
677 | postcss: 8.4.16
678 | yaml: 1.10.2
679 | dev: true
680 |
681 | /postcss-nested@5.0.6(postcss@8.4.16):
682 | resolution: {integrity: sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==}
683 | engines: {node: '>=12.0'}
684 | peerDependencies:
685 | postcss: ^8.2.14
686 | dependencies:
687 | postcss: 8.4.16
688 | postcss-selector-parser: 6.0.10
689 | dev: true
690 |
691 | /postcss-selector-parser@6.0.10:
692 | resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==}
693 | engines: {node: '>=4'}
694 | dependencies:
695 | cssesc: 3.0.0
696 | util-deprecate: 1.0.2
697 | dev: true
698 |
699 | /postcss-value-parser@4.2.0:
700 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
701 | dev: true
702 |
703 | /postcss@8.4.16:
704 | resolution: {integrity: sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==}
705 | engines: {node: ^10 || ^12 || >=14}
706 | dependencies:
707 | nanoid: 3.3.4
708 | picocolors: 1.0.0
709 | source-map-js: 1.0.2
710 | dev: true
711 |
712 | /queue-microtask@1.2.3:
713 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
714 | dev: true
715 |
716 | /quick-lru@5.1.1:
717 | resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
718 | engines: {node: '>=10'}
719 | dev: true
720 |
721 | /read-cache@1.0.0:
722 | resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
723 | dependencies:
724 | pify: 2.3.0
725 | dev: true
726 |
727 | /readdirp@3.6.0:
728 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
729 | engines: {node: '>=8.10.0'}
730 | dependencies:
731 | picomatch: 2.3.1
732 | dev: true
733 |
734 | /resolve@1.22.1:
735 | resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==}
736 | hasBin: true
737 | dependencies:
738 | is-core-module: 2.10.0
739 | path-parse: 1.0.7
740 | supports-preserve-symlinks-flag: 1.0.0
741 | dev: true
742 |
743 | /reusify@1.0.4:
744 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
745 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
746 | dev: true
747 |
748 | /rollup@2.77.3:
749 | resolution: {integrity: sha512-/qxNTG7FbmefJWoeeYJFbHehJ2HNWnjkAFRKzWN/45eNBBF/r8lo992CwcJXEzyVxs5FmfId+vTSTQDb+bxA+g==}
750 | engines: {node: '>=10.0.0'}
751 | hasBin: true
752 | optionalDependencies:
753 | fsevents: 2.3.2
754 | dev: true
755 |
756 | /run-parallel@1.2.0:
757 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
758 | dependencies:
759 | queue-microtask: 1.2.3
760 | dev: true
761 |
762 | /sass@1.54.4:
763 | resolution: {integrity: sha512-3tmF16yvnBwtlPrNBHw/H907j8MlOX8aTBnlNX1yrKx24RKcJGPyLhFUwkoKBKesR3unP93/2z14Ll8NicwQUA==}
764 | engines: {node: '>=12.0.0'}
765 | hasBin: true
766 | dependencies:
767 | chokidar: 3.5.3
768 | immutable: 4.1.0
769 | source-map-js: 1.0.2
770 | dev: true
771 |
772 | /source-map-js@1.0.2:
773 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
774 | engines: {node: '>=0.10.0'}
775 | dev: true
776 |
777 | /source-map@0.6.1:
778 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
779 | engines: {node: '>=0.10.0'}
780 | dev: true
781 |
782 | /supports-preserve-symlinks-flag@1.0.0:
783 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
784 | engines: {node: '>= 0.4'}
785 | dev: true
786 |
787 | /tailwindcss@3.1.8(postcss@8.4.16):
788 | resolution: {integrity: sha512-YSneUCZSFDYMwk+TGq8qYFdCA3yfBRdBlS7txSq0LUmzyeqRe3a8fBQzbz9M3WS/iFT4BNf/nmw9mEzrnSaC0g==}
789 | engines: {node: '>=12.13.0'}
790 | hasBin: true
791 | peerDependencies:
792 | postcss: ^8.0.9
793 | dependencies:
794 | arg: 5.0.2
795 | chokidar: 3.5.3
796 | color-name: 1.1.4
797 | detective: 5.2.1
798 | didyoumean: 1.2.2
799 | dlv: 1.1.3
800 | fast-glob: 3.2.11
801 | glob-parent: 6.0.2
802 | is-glob: 4.0.3
803 | lilconfig: 2.0.6
804 | normalize-path: 3.0.0
805 | object-hash: 3.0.0
806 | picocolors: 1.0.0
807 | postcss: 8.4.16
808 | postcss-import: 14.1.0(postcss@8.4.16)
809 | postcss-js: 4.0.0(postcss@8.4.16)
810 | postcss-load-config: 3.1.4(postcss@8.4.16)
811 | postcss-nested: 5.0.6(postcss@8.4.16)
812 | postcss-selector-parser: 6.0.10
813 | postcss-value-parser: 4.2.0
814 | quick-lru: 5.1.1
815 | resolve: 1.22.1
816 | transitivePeerDependencies:
817 | - ts-node
818 | dev: true
819 |
820 | /to-regex-range@5.0.1:
821 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
822 | engines: {node: '>=8.0'}
823 | dependencies:
824 | is-number: 7.0.0
825 | dev: true
826 |
827 | /typescript@4.7.4:
828 | resolution: {integrity: sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==}
829 | engines: {node: '>=4.2.0'}
830 | hasBin: true
831 | dev: true
832 |
833 | /uglify-js@3.16.3:
834 | resolution: {integrity: sha512-uVbFqx9vvLhQg0iBaau9Z75AxWJ8tqM9AV890dIZCLApF4rTcyHwmAvLeEdYRs+BzYWu8Iw81F79ah0EfTXbaw==}
835 | engines: {node: '>=0.8.0'}
836 | hasBin: true
837 | requiresBuild: true
838 | dev: true
839 | optional: true
840 |
841 | /update-browserslist-db@1.0.5(browserslist@4.21.3):
842 | resolution: {integrity: sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==}
843 | hasBin: true
844 | peerDependencies:
845 | browserslist: '>= 4.21.0'
846 | dependencies:
847 | browserslist: 4.21.3
848 | escalade: 3.1.1
849 | picocolors: 1.0.0
850 | dev: true
851 |
852 | /util-deprecate@1.0.2:
853 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
854 | dev: true
855 |
856 | /vite-plugin-handlebars@1.6.0(sass@1.54.4):
857 | resolution: {integrity: sha512-/TZ2FadScvJW6fmQ+3m3stm6ns+tDZ3VAgzEkSQYQurAnaQ/3MJfidhmTXzD1Hu1iwgkI3lNuEqybzjjKemCTg==}
858 | dependencies:
859 | handlebars: 4.7.7
860 | vite: 2.9.15(sass@1.54.4)
861 | transitivePeerDependencies:
862 | - less
863 | - sass
864 | - stylus
865 | dev: true
866 |
867 | /vite@2.9.15(sass@1.54.4):
868 | resolution: {integrity: sha512-fzMt2jK4vQ3yK56te3Kqpkaeq9DkcZfBbzHwYpobasvgYmP2SoAr6Aic05CsB4CzCZbsDv4sujX3pkEGhLabVQ==}
869 | engines: {node: '>=12.2.0'}
870 | hasBin: true
871 | peerDependencies:
872 | less: '*'
873 | sass: '*'
874 | stylus: '*'
875 | peerDependenciesMeta:
876 | less:
877 | optional: true
878 | sass:
879 | optional: true
880 | stylus:
881 | optional: true
882 | dependencies:
883 | esbuild: 0.14.54
884 | postcss: 8.4.16
885 | resolve: 1.22.1
886 | rollup: 2.77.3
887 | sass: 1.54.4
888 | optionalDependencies:
889 | fsevents: 2.3.2
890 | dev: true
891 |
892 | /wordwrap@1.0.0:
893 | resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==}
894 | dev: true
895 |
896 | /xtend@4.0.2:
897 | resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
898 | engines: {node: '>=0.4'}
899 | dev: true
900 |
901 | /yaml@1.10.2:
902 | resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
903 | engines: {node: '>= 6'}
904 | dev: true
905 |
--------------------------------------------------------------------------------