├── 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 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 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 |
31 | 32 | 33 |
34 |
35 |
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 |
61 |

Education

62 |
    63 | {{#each education}} 64 |
  • 65 |
    {{this.area}} - {{ this.studyType }}
    66 |

    {{this.institution}}

    67 |

    {{this.startDate}} - {{this.endDate}}

    68 |
  • 69 | {{/each}} 70 |
71 |
72 | {{/if}} 73 | 74 | 75 | 76 | 77 | {{#if work}} 78 |
79 |

Work Experiences

80 |
    81 | {{#each work}} 82 |
  • 83 |
    {{ this.name }}
    84 |

    {{this.position}} | {{this.startDate}} - {{this.endDate}}

    85 | {{#if this.summary}} 86 |

    {{ summary }}

    87 | {{/if}} 88 |
      89 | {{#each this.highlights}} 90 |
    • {{ this }}
    • 91 | {{/each}} 92 |
    93 |
  • 94 | {{/each}} 95 |
96 |
97 | {{/if}} 98 | 99 | 100 | {{#if languages}} 101 |
102 |

Languages

103 |
    104 | {{#each languages}} 105 |
  • 106 |

    {{ this.language }} - {{ this.fluency }}

    107 |
  • 108 | {{/each}} 109 |
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 |
128 |

Notable Projects

129 |
    130 | {{#each projects}} 131 |
  • 132 |
    133 | {{this.name}} 134 | 135 | 136 | 137 |
    138 |

    {{this.description}}

    139 |

    140 | 141 | {{ this.stars }} 142 |

    143 |
  • 144 | {{/each}} 145 |
146 | See 40+ more projects 147 |
148 | {{/if}} 149 | 150 | 151 | 152 | {{#if awards}} 153 |
154 |

Awards

155 |
    156 | {{#each awards}} 157 |
  • 158 |
    {{ this.title }}
    159 |

    {{ this.awarder }} | {{ this.date }}

    160 | {{#if this.summary}} 161 |

    {{ summary }}

    162 | {{/if}} 163 |
      164 | {{#each this.highlights}} 165 |
    • {{ this }}
    • 166 | {{/each}} 167 |
    168 |
  • 169 | {{/each}} 170 |
171 |
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 | --------------------------------------------------------------------------------