├── .eslintrc.json ├── .github ├── FUNDING.yml ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── dependabot.yml └── workflows │ ├── codeql-analysis.yml │ └── docker-push.yml ├── .gitignore ├── .prettierrc ├── Dockerfile ├── LICENSE ├── README.md ├── components └── HeaderBar │ └── index.tsx ├── config.ts ├── middleware ├── BingAPI.ts └── SelfAPI.ts ├── next-env.d.ts ├── next.config.js ├── package.json ├── pages ├── _app.tsx ├── _document.tsx ├── api │ └── new.ts └── index.tsx ├── public └── favicon.ico ├── scf_bootstrap ├── tsconfig.json ├── types ├── bing │ └── api.d.ts └── config │ └── config.d.ts └── yarn.lock /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | custom: [ 'ahdark.com/donate' ] 3 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. Go to '...' 16 | 2. Click on '....' 17 | 3. Scroll down to '....' 18 | 4. See error 19 | 20 | **Expected behavior** 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Screenshots** 24 | If applicable, add screenshots to help explain your problem. 25 | 26 | **Desktop (please complete the following information):** 27 | - OS: [e.g. iOS] 28 | - Browser [e.g. chrome, safari] 29 | - Version [e.g. 22] 30 | 31 | **Smartphone (please complete the following information):** 32 | - Device: [e.g. iPhone6] 33 | - OS: [e.g. iOS8.1] 34 | - Browser [e.g. stock browser, safari] 35 | - Version [e.g. 22] 36 | 37 | **Additional context** 38 | Add any other context about the problem here. 39 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | # To get started with Dependabot version updates, you'll need to specify which 2 | # package ecosystems to update and where the package manifests are located. 3 | # Please see the documentation for all configuration options: 4 | # https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates 5 | 6 | version: 2 7 | updates: 8 | - package-ecosystem: "npm" # See documentation for possible values 9 | directory: "/" # Location of package manifests 10 | schedule: 11 | interval: "daily" 12 | -------------------------------------------------------------------------------- /.github/workflows/codeql-analysis.yml: -------------------------------------------------------------------------------- 1 | # For most projects, this workflow file will not need changing; you simply need 2 | # to commit it to your repository. 3 | # 4 | # You may wish to alter this file to override the set of languages analyzed, 5 | # or to provide custom queries or build logic. 6 | # 7 | # ******** NOTE ******** 8 | # We have attempted to detect the languages in your repository. Please check 9 | # the `language` matrix defined below to confirm you have the correct set of 10 | # supported CodeQL languages. 11 | # 12 | name: "CodeQL" 13 | 14 | on: 15 | push: 16 | branches: [ main ] 17 | pull_request: 18 | # The branches below must be a subset of the branches above 19 | branches: [ main ] 20 | schedule: 21 | - cron: '18 4 * * 0' 22 | 23 | jobs: 24 | analyze: 25 | name: Analyze 26 | runs-on: ubuntu-latest 27 | permissions: 28 | actions: read 29 | contents: read 30 | security-events: write 31 | 32 | strategy: 33 | fail-fast: false 34 | matrix: 35 | language: [ 'javascript', 'typescript' ] 36 | # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] 37 | # Learn more about CodeQL language support at https://git.io/codeql-language-support 38 | 39 | steps: 40 | - name: Checkout repository 41 | uses: actions/checkout@v2 42 | 43 | # Initializes the CodeQL tools for scanning. 44 | - name: Initialize CodeQL 45 | uses: github/codeql-action/init@v1 46 | with: 47 | languages: ${{ matrix.language }} 48 | # If you wish to specify custom queries, you can do so here or in a config file. 49 | # By default, queries listed here will override any specified in a config file. 50 | # Prefix the list here with "+" to use these queries and those in the config file. 51 | # queries: ./path/to/local/query, your-org/your-repo/queries@main 52 | 53 | # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). 54 | # If this step fails, then you should remove it and run the build manually (see below) 55 | - name: Autobuild 56 | uses: github/codeql-action/autobuild@v1 57 | 58 | # ℹ️ Command-line programs to run using the OS shell. 59 | # 📚 https://git.io/JvXDl 60 | 61 | # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines 62 | # and modify them (or add more) to build your code if your project 63 | # uses a compiled language 64 | 65 | #- run: | 66 | # make bootstrap 67 | # make release 68 | 69 | - name: Perform CodeQL Analysis 70 | uses: github/codeql-action/analyze@v1 71 | -------------------------------------------------------------------------------- /.github/workflows/docker-push.yml: -------------------------------------------------------------------------------- 1 | name: Docker 2 | 3 | # This workflow uses actions that are not certified by GitHub. 4 | # They are provided by a third-party and are governed by 5 | # separate terms of service, privacy policy, and support 6 | # documentation. 7 | 8 | on: 9 | schedule: 10 | - cron: '26 23 * * *' 11 | push: 12 | branches: [ main ] 13 | # Publish semver tags as releases. 14 | tags: [ 'v*.*.*' ] 15 | pull_request: 16 | branches: [ main ] 17 | 18 | env: 19 | # Use docker.io for Docker Hub if empty 20 | REGISTRY: ghcr.io 21 | # github.repository as / 22 | IMAGE_NAME: ${{ github.repository }} 23 | 24 | 25 | jobs: 26 | build: 27 | 28 | runs-on: ubuntu-latest 29 | permissions: 30 | contents: read 31 | packages: write 32 | # This is used to complete the identity challenge 33 | # with sigstore/fulcio when running outside of PRs. 34 | id-token: write 35 | 36 | steps: 37 | - name: Checkout repository 38 | uses: actions/checkout@v2 39 | 40 | # Install the cosign tool except on PR 41 | # https://github.com/sigstore/cosign-installer 42 | - name: Install cosign 43 | if: github.event_name != 'pull_request' 44 | uses: sigstore/cosign-installer@1e95c1de343b5b0c23352d6417ee3e48d5bcd422 45 | with: 46 | cosign-release: 'v1.4.0' 47 | 48 | 49 | # Workaround: https://github.com/docker/build-push-action/issues/461 50 | - name: Setup Docker buildx 51 | uses: docker/setup-buildx-action@79abd3f86f79a9d68a23c75a09a9a85889262adf 52 | 53 | # Login against a Docker registry except on PR 54 | # https://github.com/docker/login-action 55 | - name: Log into registry ${{ env.REGISTRY }} 56 | if: github.event_name != 'pull_request' 57 | uses: docker/login-action@28218f9b04b4f3f62068d7b6ce6ca5b26e35336c 58 | with: 59 | registry: ${{ env.REGISTRY }} 60 | username: ${{ github.actor }} 61 | password: ${{ secrets.GITHUB_TOKEN }} 62 | 63 | # Extract metadata (tags, labels) for Docker 64 | # https://github.com/docker/metadata-action 65 | - name: Extract Docker metadata 66 | id: meta 67 | uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 68 | with: 69 | images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} 70 | 71 | # Build and push Docker image with Buildx (don't push on PR) 72 | # https://github.com/docker/build-push-action 73 | - name: Build and push Docker image 74 | id: build-and-push 75 | uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc 76 | with: 77 | context: . 78 | push: ${{ github.event_name != 'pull_request' }} 79 | tags: ${{ steps.meta.outputs.tags }} 80 | labels: ${{ steps.meta.outputs.labels }} 81 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # next.js 12 | /.next/ 13 | /out/ 14 | 15 | # production 16 | /build 17 | 18 | # misc 19 | .DS_Store 20 | 21 | # debug 22 | npm-debug.log* 23 | yarn-debug.log* 24 | yarn-error.log* 25 | 26 | # local env files 27 | .env.local 28 | .env.development.local 29 | .env.test.local 30 | .env.production.local 31 | 32 | # IDE 33 | /.idea 34 | /.vscode 35 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "tabWidth": 4 3 | } -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | # Install dependencies only when needed 2 | FROM node:alpine AS deps 3 | # Check https://github.com/nodejs/docker-node/tree/b4117f9333da4138b03a546ec926ef50a31506c3#nodealpine to understand why libc6-compat might be needed. 4 | RUN apk add --no-cache libc6-compat 5 | WORKDIR /app 6 | COPY package.json yarn.lock ./ 7 | RUN yarn install --frozen-lockfile 8 | 9 | # Rebuild the source code only when needed 10 | FROM node:alpine AS builder 11 | WORKDIR /app 12 | COPY . . 13 | COPY --from=deps /app/node_modules ./node_modules 14 | RUN yarn build && yarn install --production --ignore-scripts --prefer-offline 15 | 16 | # Production image, copy all the files and run next 17 | FROM node:alpine AS runner 18 | WORKDIR /app 19 | 20 | ENV NODE_ENV production 21 | 22 | RUN addgroup -g 1001 -S nodejs 23 | RUN adduser -S nextjs -u 1001 24 | 25 | # You only need to copy next.config.js if you are NOT using the default configuration 26 | # COPY --from=builder /app/next.config.js ./ 27 | COPY --from=builder /app/public ./public 28 | COPY --from=builder --chown=nextjs:nodejs /app/.next ./.next 29 | COPY --from=builder /app/node_modules ./node_modules 30 | COPY --from=builder /app/package.json ./package.json 31 | 32 | USER nextjs 33 | 34 | EXPOSE 9000 35 | 36 | ENV PORT 9000 37 | 38 | # Next.js collects completely anonymous telemetry data about general usage. 39 | # Learn more here: https://nextjs.org/telemetry 40 | # Uncomment the following line in case you want to disable telemetry. 41 | # ENV NEXT_TELEMETRY_DISABLED 1 42 | 43 | CMD ["node_modules/.bin/next", "start"] 44 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | GNU GENERAL PUBLIC LICENSE 2 | Version 3, 29 June 2007 3 | 4 | Copyright (C) 2007 Free Software Foundation, Inc. 5 | Everyone is permitted to copy and distribute verbatim copies 6 | of this license document, but changing it is not allowed. 7 | 8 | Preamble 9 | 10 | The GNU General Public License is a free, copyleft license for 11 | software and other kinds of works. 12 | 13 | The licenses for most software and other practical works are designed 14 | to take away your freedom to share and change the works. By contrast, 15 | the GNU General Public License is intended to guarantee your freedom to 16 | share and change all versions of a program--to make sure it remains free 17 | software for all its users. We, the Free Software Foundation, use the 18 | GNU General Public License for most of our software; it applies also to 19 | any other work released this way by its authors. You can apply it to 20 | your programs, too. 21 | 22 | When we speak of free software, we are referring to freedom, not 23 | price. Our General Public Licenses are designed to make sure that you 24 | have the freedom to distribute copies of free software (and charge for 25 | them if you wish), that you receive source code or can get it if you 26 | want it, that you can change the software or use pieces of it in new 27 | free programs, and that you know you can do these things. 28 | 29 | To protect your rights, we need to prevent others from denying you 30 | these rights or asking you to surrender the rights. Therefore, you have 31 | certain responsibilities if you distribute copies of the software, or if 32 | you modify it: responsibilities to respect the freedom of others. 33 | 34 | For example, if you distribute copies of such a program, whether 35 | gratis or for a fee, you must pass on to the recipients the same 36 | freedoms that you received. You must make sure that they, too, receive 37 | or can get the source code. And you must show them these terms so they 38 | know their rights. 39 | 40 | Developers that use the GNU GPL protect your rights with two steps: 41 | (1) assert copyright on the software, and (2) offer you this License 42 | giving you legal permission to copy, distribute and/or modify it. 43 | 44 | For the developers' and authors' protection, the GPL clearly explains 45 | that there is no warranty for this free software. For both users' and 46 | authors' sake, the GPL requires that modified versions be marked as 47 | changed, so that their problems will not be attributed erroneously to 48 | authors of previous versions. 49 | 50 | Some devices are designed to deny users access to install or run 51 | modified versions of the software inside them, although the manufacturer 52 | can do so. This is fundamentally incompatible with the aim of 53 | protecting users' freedom to change the software. The systematic 54 | pattern of such abuse occurs in the area of products for individuals to 55 | use, which is precisely where it is most unacceptable. Therefore, we 56 | have designed this version of the GPL to prohibit the practice for those 57 | products. If such problems arise substantially in other domains, we 58 | stand ready to extend this provision to those domains in future versions 59 | of the GPL, as needed to protect the freedom of users. 60 | 61 | Finally, every program is threatened constantly by software patents. 62 | States should not allow patents to restrict development and use of 63 | software on general-purpose computers, but in those that do, we wish to 64 | avoid the special danger that patents applied to a free program could 65 | make it effectively proprietary. To prevent this, the GPL assures that 66 | patents cannot be used to render the program non-free. 67 | 68 | The precise terms and conditions for copying, distribution and 69 | modification follow. 70 | 71 | TERMS AND CONDITIONS 72 | 73 | 0. Definitions. 74 | 75 | "This License" refers to version 3 of the GNU General Public License. 76 | 77 | "Copyright" also means copyright-like laws that apply to other kinds of 78 | works, such as semiconductor masks. 79 | 80 | "The Program" refers to any copyrightable work licensed under this 81 | License. Each licensee is addressed as "you". "Licensees" and 82 | "recipients" may be individuals or organizations. 83 | 84 | To "modify" a work means to copy from or adapt all or part of the work 85 | in a fashion requiring copyright permission, other than the making of an 86 | exact copy. The resulting work is called a "modified version" of the 87 | earlier work or a work "based on" the earlier work. 88 | 89 | A "covered work" means either the unmodified Program or a work based 90 | on the Program. 91 | 92 | To "propagate" a work means to do anything with it that, without 93 | permission, would make you directly or secondarily liable for 94 | infringement under applicable copyright law, except executing it on a 95 | computer or modifying a private copy. Propagation includes copying, 96 | distribution (with or without modification), making available to the 97 | public, and in some countries other activities as well. 98 | 99 | To "convey" a work means any kind of propagation that enables other 100 | parties to make or receive copies. Mere interaction with a user through 101 | a computer network, with no transfer of a copy, is not conveying. 102 | 103 | An interactive user interface displays "Appropriate Legal Notices" 104 | to the extent that it includes a convenient and prominently visible 105 | feature that (1) displays an appropriate copyright notice, and (2) 106 | tells the user that there is no warranty for the work (except to the 107 | extent that warranties are provided), that licensees may convey the 108 | work under this License, and how to view a copy of this License. If 109 | the interface presents a list of user commands or options, such as a 110 | menu, a prominent item in the list meets this criterion. 111 | 112 | 1. Source Code. 113 | 114 | The "source code" for a work means the preferred form of the work 115 | for making modifications to it. "Object code" means any non-source 116 | form of a work. 117 | 118 | A "Standard Interface" means an interface that either is an official 119 | standard defined by a recognized standards body, or, in the case of 120 | interfaces specified for a particular programming language, one that 121 | is widely used among developers working in that language. 122 | 123 | The "System Libraries" of an executable work include anything, other 124 | than the work as a whole, that (a) is included in the normal form of 125 | packaging a Major Component, but which is not part of that Major 126 | Component, and (b) serves only to enable use of the work with that 127 | Major Component, or to implement a Standard Interface for which an 128 | implementation is available to the public in source code form. A 129 | "Major Component", in this context, means a major essential component 130 | (kernel, window system, and so on) of the specific operating system 131 | (if any) on which the executable work runs, or a compiler used to 132 | produce the work, or an object code interpreter used to run it. 133 | 134 | The "Corresponding Source" for a work in object code form means all 135 | the source code needed to generate, install, and (for an executable 136 | work) run the object code and to modify the work, including scripts to 137 | control those activities. However, it does not include the work's 138 | System Libraries, or general-purpose tools or generally available free 139 | programs which are used unmodified in performing those activities but 140 | which are not part of the work. For example, Corresponding Source 141 | includes interface definition files associated with source files for 142 | the work, and the source code for shared libraries and dynamically 143 | linked subprograms that the work is specifically designed to require, 144 | such as by intimate data communication or control flow between those 145 | subprograms and other parts of the work. 146 | 147 | The Corresponding Source need not include anything that users 148 | can regenerate automatically from other parts of the Corresponding 149 | Source. 150 | 151 | The Corresponding Source for a work in source code form is that 152 | same work. 153 | 154 | 2. Basic Permissions. 155 | 156 | All rights granted under this License are granted for the term of 157 | copyright on the Program, and are irrevocable provided the stated 158 | conditions are met. This License explicitly affirms your unlimited 159 | permission to run the unmodified Program. The output from running a 160 | covered work is covered by this License only if the output, given its 161 | content, constitutes a covered work. This License acknowledges your 162 | rights of fair use or other equivalent, as provided by copyright law. 163 | 164 | You may make, run and propagate covered works that you do not 165 | convey, without conditions so long as your license otherwise remains 166 | in force. You may convey covered works to others for the sole purpose 167 | of having them make modifications exclusively for you, or provide you 168 | with facilities for running those works, provided that you comply with 169 | the terms of this License in conveying all material for which you do 170 | not control copyright. Those thus making or running the covered works 171 | for you must do so exclusively on your behalf, under your direction 172 | and control, on terms that prohibit them from making any copies of 173 | your copyrighted material outside their relationship with you. 174 | 175 | Conveying under any other circumstances is permitted solely under 176 | the conditions stated below. Sublicensing is not allowed; section 10 177 | makes it unnecessary. 178 | 179 | 3. Protecting Users' Legal Rights From Anti-Circumvention Law. 180 | 181 | No covered work shall be deemed part of an effective technological 182 | measure under any applicable law fulfilling obligations under article 183 | 11 of the WIPO copyright treaty adopted on 20 December 1996, or 184 | similar laws prohibiting or restricting circumvention of such 185 | measures. 186 | 187 | When you convey a covered work, you waive any legal power to forbid 188 | circumvention of technological measures to the extent such circumvention 189 | is effected by exercising rights under this License with respect to 190 | the covered work, and you disclaim any intention to limit operation or 191 | modification of the work as a means of enforcing, against the work's 192 | users, your or third parties' legal rights to forbid circumvention of 193 | technological measures. 194 | 195 | 4. Conveying Verbatim Copies. 196 | 197 | You may convey verbatim copies of the Program's source code as you 198 | receive it, in any medium, provided that you conspicuously and 199 | appropriately publish on each copy an appropriate copyright notice; 200 | keep intact all notices stating that this License and any 201 | non-permissive terms added in accord with section 7 apply to the code; 202 | keep intact all notices of the absence of any warranty; and give all 203 | recipients a copy of this License along with the Program. 204 | 205 | You may charge any price or no price for each copy that you convey, 206 | and you may offer support or warranty protection for a fee. 207 | 208 | 5. Conveying Modified Source Versions. 209 | 210 | You may convey a work based on the Program, or the modifications to 211 | produce it from the Program, in the form of source code under the 212 | terms of section 4, provided that you also meet all of these conditions: 213 | 214 | a) The work must carry prominent notices stating that you modified 215 | it, and giving a relevant date. 216 | 217 | b) The work must carry prominent notices stating that it is 218 | released under this License and any conditions added under section 219 | 7. This requirement modifies the requirement in section 4 to 220 | "keep intact all notices". 221 | 222 | c) You must license the entire work, as a whole, under this 223 | License to anyone who comes into possession of a copy. This 224 | License will therefore apply, along with any applicable section 7 225 | additional terms, to the whole of the work, and all its parts, 226 | regardless of how they are packaged. This License gives no 227 | permission to license the work in any other way, but it does not 228 | invalidate such permission if you have separately received it. 229 | 230 | d) If the work has interactive user interfaces, each must display 231 | Appropriate Legal Notices; however, if the Program has interactive 232 | interfaces that do not display Appropriate Legal Notices, your 233 | work need not make them do so. 234 | 235 | A compilation of a covered work with other separate and independent 236 | works, which are not by their nature extensions of the covered work, 237 | and which are not combined with it such as to form a larger program, 238 | in or on a volume of a storage or distribution medium, is called an 239 | "aggregate" if the compilation and its resulting copyright are not 240 | used to limit the access or legal rights of the compilation's users 241 | beyond what the individual works permit. Inclusion of a covered work 242 | in an aggregate does not cause this License to apply to the other 243 | parts of the aggregate. 244 | 245 | 6. Conveying Non-Source Forms. 246 | 247 | You may convey a covered work in object code form under the terms 248 | of sections 4 and 5, provided that you also convey the 249 | machine-readable Corresponding Source under the terms of this License, 250 | in one of these ways: 251 | 252 | a) Convey the object code in, or embodied in, a physical product 253 | (including a physical distribution medium), accompanied by the 254 | Corresponding Source fixed on a durable physical medium 255 | customarily used for software interchange. 256 | 257 | b) Convey the object code in, or embodied in, a physical product 258 | (including a physical distribution medium), accompanied by a 259 | written offer, valid for at least three years and valid for as 260 | long as you offer spare parts or customer support for that product 261 | model, to give anyone who possesses the object code either (1) a 262 | copy of the Corresponding Source for all the software in the 263 | product that is covered by this License, on a durable physical 264 | medium customarily used for software interchange, for a price no 265 | more than your reasonable cost of physically performing this 266 | conveying of source, or (2) access to copy the 267 | Corresponding Source from a network server at no charge. 268 | 269 | c) Convey individual copies of the object code with a copy of the 270 | written offer to provide the Corresponding Source. This 271 | alternative is allowed only occasionally and noncommercially, and 272 | only if you received the object code with such an offer, in accord 273 | with subsection 6b. 274 | 275 | d) Convey the object code by offering access from a designated 276 | place (gratis or for a charge), and offer equivalent access to the 277 | Corresponding Source in the same way through the same place at no 278 | further charge. You need not require recipients to copy the 279 | Corresponding Source along with the object code. If the place to 280 | copy the object code is a network server, the Corresponding Source 281 | may be on a different server (operated by you or a third party) 282 | that supports equivalent copying facilities, provided you maintain 283 | clear directions next to the object code saying where to find the 284 | Corresponding Source. Regardless of what server hosts the 285 | Corresponding Source, you remain obligated to ensure that it is 286 | available for as long as needed to satisfy these requirements. 287 | 288 | e) Convey the object code using peer-to-peer transmission, provided 289 | you inform other peers where the object code and Corresponding 290 | Source of the work are being offered to the general public at no 291 | charge under subsection 6d. 292 | 293 | A separable portion of the object code, whose source code is excluded 294 | from the Corresponding Source as a System Library, need not be 295 | included in conveying the object code work. 296 | 297 | A "User Product" is either (1) a "consumer product", which means any 298 | tangible personal property which is normally used for personal, family, 299 | or household purposes, or (2) anything designed or sold for incorporation 300 | into a dwelling. In determining whether a product is a consumer product, 301 | doubtful cases shall be resolved in favor of coverage. For a particular 302 | product received by a particular user, "normally used" refers to a 303 | typical or common use of that class of product, regardless of the status 304 | of the particular user or of the way in which the particular user 305 | actually uses, or expects or is expected to use, the product. A product 306 | is a consumer product regardless of whether the product has substantial 307 | commercial, industrial or non-consumer uses, unless such uses represent 308 | the only significant mode of use of the product. 309 | 310 | "Installation Information" for a User Product means any methods, 311 | procedures, authorization keys, or other information required to install 312 | and execute modified versions of a covered work in that User Product from 313 | a modified version of its Corresponding Source. The information must 314 | suffice to ensure that the continued functioning of the modified object 315 | code is in no case prevented or interfered with solely because 316 | modification has been made. 317 | 318 | If you convey an object code work under this section in, or with, or 319 | specifically for use in, a User Product, and the conveying occurs as 320 | part of a transaction in which the right of possession and use of the 321 | User Product is transferred to the recipient in perpetuity or for a 322 | fixed term (regardless of how the transaction is characterized), the 323 | Corresponding Source conveyed under this section must be accompanied 324 | by the Installation Information. But this requirement does not apply 325 | if neither you nor any third party retains the ability to install 326 | modified object code on the User Product (for example, the work has 327 | been installed in ROM). 328 | 329 | The requirement to provide Installation Information does not include a 330 | requirement to continue to provide support service, warranty, or updates 331 | for a work that has been modified or installed by the recipient, or for 332 | the User Product in which it has been modified or installed. Access to a 333 | network may be denied when the modification itself materially and 334 | adversely affects the operation of the network or violates the rules and 335 | protocols for communication across the network. 336 | 337 | Corresponding Source conveyed, and Installation Information provided, 338 | in accord with this section must be in a format that is publicly 339 | documented (and with an implementation available to the public in 340 | source code form), and must require no special password or key for 341 | unpacking, reading or copying. 342 | 343 | 7. Additional Terms. 344 | 345 | "Additional permissions" are terms that supplement the terms of this 346 | License by making exceptions from one or more of its conditions. 347 | Additional permissions that are applicable to the entire Program shall 348 | be treated as though they were included in this License, to the extent 349 | that they are valid under applicable law. If additional permissions 350 | apply only to part of the Program, that part may be used separately 351 | under those permissions, but the entire Program remains governed by 352 | this License without regard to the additional permissions. 353 | 354 | When you convey a copy of a covered work, you may at your option 355 | remove any additional permissions from that copy, or from any part of 356 | it. (Additional permissions may be written to require their own 357 | removal in certain cases when you modify the work.) You may place 358 | additional permissions on material, added by you to a covered work, 359 | for which you have or can give appropriate copyright permission. 360 | 361 | Notwithstanding any other provision of this License, for material you 362 | add to a covered work, you may (if authorized by the copyright holders of 363 | that material) supplement the terms of this License with terms: 364 | 365 | a) Disclaiming warranty or limiting liability differently from the 366 | terms of sections 15 and 16 of this License; or 367 | 368 | b) Requiring preservation of specified reasonable legal notices or 369 | author attributions in that material or in the Appropriate Legal 370 | Notices displayed by works containing it; or 371 | 372 | c) Prohibiting misrepresentation of the origin of that material, or 373 | requiring that modified versions of such material be marked in 374 | reasonable ways as different from the original version; or 375 | 376 | d) Limiting the use for publicity purposes of names of licensors or 377 | authors of the material; or 378 | 379 | e) Declining to grant rights under trademark law for use of some 380 | trade names, trademarks, or service marks; or 381 | 382 | f) Requiring indemnification of licensors and authors of that 383 | material by anyone who conveys the material (or modified versions of 384 | it) with contractual assumptions of liability to the recipient, for 385 | any liability that these contractual assumptions directly impose on 386 | those licensors and authors. 387 | 388 | All other non-permissive additional terms are considered "further 389 | restrictions" within the meaning of section 10. If the Program as you 390 | received it, or any part of it, contains a notice stating that it is 391 | governed by this License along with a term that is a further 392 | restriction, you may remove that term. If a license document contains 393 | a further restriction but permits relicensing or conveying under this 394 | License, you may add to a covered work material governed by the terms 395 | of that license document, provided that the further restriction does 396 | not survive such relicensing or conveying. 397 | 398 | If you add terms to a covered work in accord with this section, you 399 | must place, in the relevant source files, a statement of the 400 | additional terms that apply to those files, or a notice indicating 401 | where to find the applicable terms. 402 | 403 | Additional terms, permissive or non-permissive, may be stated in the 404 | form of a separately written license, or stated as exceptions; 405 | the above requirements apply either way. 406 | 407 | 8. Termination. 408 | 409 | You may not propagate or modify a covered work except as expressly 410 | provided under this License. Any attempt otherwise to propagate or 411 | modify it is void, and will automatically terminate your rights under 412 | this License (including any patent licenses granted under the third 413 | paragraph of section 11). 414 | 415 | However, if you cease all violation of this License, then your 416 | license from a particular copyright holder is reinstated (a) 417 | provisionally, unless and until the copyright holder explicitly and 418 | finally terminates your license, and (b) permanently, if the copyright 419 | holder fails to notify you of the violation by some reasonable means 420 | prior to 60 days after the cessation. 421 | 422 | Moreover, your license from a particular copyright holder is 423 | reinstated permanently if the copyright holder notifies you of the 424 | violation by some reasonable means, this is the first time you have 425 | received notice of violation of this License (for any work) from that 426 | copyright holder, and you cure the violation prior to 30 days after 427 | your receipt of the notice. 428 | 429 | Termination of your rights under this section does not terminate the 430 | licenses of parties who have received copies or rights from you under 431 | this License. If your rights have been terminated and not permanently 432 | reinstated, you do not qualify to receive new licenses for the same 433 | material under section 10. 434 | 435 | 9. Acceptance Not Required for Having Copies. 436 | 437 | You are not required to accept this License in order to receive or 438 | run a copy of the Program. Ancillary propagation of a covered work 439 | occurring solely as a consequence of using peer-to-peer transmission 440 | to receive a copy likewise does not require acceptance. However, 441 | nothing other than this License grants you permission to propagate or 442 | modify any covered work. These actions infringe copyright if you do 443 | not accept this License. Therefore, by modifying or propagating a 444 | covered work, you indicate your acceptance of this License to do so. 445 | 446 | 10. Automatic Licensing of Downstream Recipients. 447 | 448 | Each time you convey a covered work, the recipient automatically 449 | receives a license from the original licensors, to run, modify and 450 | propagate that work, subject to this License. You are not responsible 451 | for enforcing compliance by third parties with this License. 452 | 453 | An "entity transaction" is a transaction transferring control of an 454 | organization, or substantially all assets of one, or subdividing an 455 | organization, or merging organizations. If propagation of a covered 456 | work results from an entity transaction, each party to that 457 | transaction who receives a copy of the work also receives whatever 458 | licenses to the work the party's predecessor in interest had or could 459 | give under the previous paragraph, plus a right to possession of the 460 | Corresponding Source of the work from the predecessor in interest, if 461 | the predecessor has it or can get it with reasonable efforts. 462 | 463 | You may not impose any further restrictions on the exercise of the 464 | rights granted or affirmed under this License. For example, you may 465 | not impose a license fee, royalty, or other charge for exercise of 466 | rights granted under this License, and you may not initiate litigation 467 | (including a cross-claim or counterclaim in a lawsuit) alleging that 468 | any patent claim is infringed by making, using, selling, offering for 469 | sale, or importing the Program or any portion of it. 470 | 471 | 11. Patents. 472 | 473 | A "contributor" is a copyright holder who authorizes use under this 474 | License of the Program or a work on which the Program is based. The 475 | work thus licensed is called the contributor's "contributor version". 476 | 477 | A contributor's "essential patent claims" are all patent claims 478 | owned or controlled by the contributor, whether already acquired or 479 | hereafter acquired, that would be infringed by some manner, permitted 480 | by this License, of making, using, or selling its contributor version, 481 | but do not include claims that would be infringed only as a 482 | consequence of further modification of the contributor version. For 483 | purposes of this definition, "control" includes the right to grant 484 | patent sublicenses in a manner consistent with the requirements of 485 | this License. 486 | 487 | Each contributor grants you a non-exclusive, worldwide, royalty-free 488 | patent license under the contributor's essential patent claims, to 489 | make, use, sell, offer for sale, import and otherwise run, modify and 490 | propagate the contents of its contributor version. 491 | 492 | In the following three paragraphs, a "patent license" is any express 493 | agreement or commitment, however denominated, not to enforce a patent 494 | (such as an express permission to practice a patent or covenant not to 495 | sue for patent infringement). To "grant" such a patent license to a 496 | party means to make such an agreement or commitment not to enforce a 497 | patent against the party. 498 | 499 | If you convey a covered work, knowingly relying on a patent license, 500 | and the Corresponding Source of the work is not available for anyone 501 | to copy, free of charge and under the terms of this License, through a 502 | publicly available network server or other readily accessible means, 503 | then you must either (1) cause the Corresponding Source to be so 504 | available, or (2) arrange to deprive yourself of the benefit of the 505 | patent license for this particular work, or (3) arrange, in a manner 506 | consistent with the requirements of this License, to extend the patent 507 | license to downstream recipients. "Knowingly relying" means you have 508 | actual knowledge that, but for the patent license, your conveying the 509 | covered work in a country, or your recipient's use of the covered work 510 | in a country, would infringe one or more identifiable patents in that 511 | country that you have reason to believe are valid. 512 | 513 | If, pursuant to or in connection with a single transaction or 514 | arrangement, you convey, or propagate by procuring conveyance of, a 515 | covered work, and grant a patent license to some of the parties 516 | receiving the covered work authorizing them to use, propagate, modify 517 | or convey a specific copy of the covered work, then the patent license 518 | you grant is automatically extended to all recipients of the covered 519 | work and works based on it. 520 | 521 | A patent license is "discriminatory" if it does not include within 522 | the scope of its coverage, prohibits the exercise of, or is 523 | conditioned on the non-exercise of one or more of the rights that are 524 | specifically granted under this License. You may not convey a covered 525 | work if you are a party to an arrangement with a third party that is 526 | in the business of distributing software, under which you make payment 527 | to the third party based on the extent of your activity of conveying 528 | the work, and under which the third party grants, to any of the 529 | parties who would receive the covered work from you, a discriminatory 530 | patent license (a) in connection with copies of the covered work 531 | conveyed by you (or copies made from those copies), or (b) primarily 532 | for and in connection with specific products or compilations that 533 | contain the covered work, unless you entered into that arrangement, 534 | or that patent license was granted, prior to 28 March 2007. 535 | 536 | Nothing in this License shall be construed as excluding or limiting 537 | any implied license or other defenses to infringement that may 538 | otherwise be available to you under applicable patent law. 539 | 540 | 12. No Surrender of Others' Freedom. 541 | 542 | If conditions are imposed on you (whether by court order, agreement or 543 | otherwise) that contradict the conditions of this License, they do not 544 | excuse you from the conditions of this License. If you cannot convey a 545 | covered work so as to satisfy simultaneously your obligations under this 546 | License and any other pertinent obligations, then as a consequence you may 547 | not convey it at all. For example, if you agree to terms that obligate you 548 | to collect a royalty for further conveying from those to whom you convey 549 | the Program, the only way you could satisfy both those terms and this 550 | License would be to refrain entirely from conveying the Program. 551 | 552 | 13. Use with the GNU Affero General Public License. 553 | 554 | Notwithstanding any other provision of this License, you have 555 | permission to link or combine any covered work with a work licensed 556 | under version 3 of the GNU Affero General Public License into a single 557 | combined work, and to convey the resulting work. The terms of this 558 | License will continue to apply to the part which is the covered work, 559 | but the special requirements of the GNU Affero General Public License, 560 | section 13, concerning interaction through a network will apply to the 561 | combination as such. 562 | 563 | 14. Revised Versions of this License. 564 | 565 | The Free Software Foundation may publish revised and/or new versions of 566 | the GNU General Public License from time to time. Such new versions will 567 | be similar in spirit to the present version, but may differ in detail to 568 | address new problems or concerns. 569 | 570 | Each version is given a distinguishing version number. If the 571 | Program specifies that a certain numbered version of the GNU General 572 | Public License "or any later version" applies to it, you have the 573 | option of following the terms and conditions either of that numbered 574 | version or of any later version published by the Free Software 575 | Foundation. If the Program does not specify a version number of the 576 | GNU General Public License, you may choose any version ever published 577 | by the Free Software Foundation. 578 | 579 | If the Program specifies that a proxy can decide which future 580 | versions of the GNU General Public License can be used, that proxy's 581 | public statement of acceptance of a version permanently authorizes you 582 | to choose that version for the Program. 583 | 584 | Later license versions may give you additional or different 585 | permissions. However, no additional obligations are imposed on any 586 | author or copyright holder as a result of your choosing to follow a 587 | later version. 588 | 589 | 15. Disclaimer of Warranty. 590 | 591 | THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY 592 | APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT 593 | HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY 594 | OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, 595 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 596 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM 597 | IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF 598 | ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 599 | 600 | 16. Limitation of Liability. 601 | 602 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 603 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS 604 | THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY 605 | GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE 606 | USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF 607 | DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD 608 | PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), 609 | EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF 610 | SUCH DAMAGES. 611 | 612 | 17. Interpretation of Sections 15 and 16. 613 | 614 | If the disclaimer of warranty and limitation of liability provided 615 | above cannot be given local legal effect according to their terms, 616 | reviewing courts shall apply local law that most closely approximates 617 | an absolute waiver of all civil liability in connection with the 618 | Program, unless a warranty or assumption of liability accompanies a 619 | copy of the Program in return for a fee. 620 | 621 | END OF TERMS AND CONDITIONS 622 | 623 | How to Apply These Terms to Your New Programs 624 | 625 | If you develop a new program, and you want it to be of the greatest 626 | possible use to the public, the best way to achieve this is to make it 627 | free software which everyone can redistribute and change under these terms. 628 | 629 | To do so, attach the following notices to the program. It is safest 630 | to attach them to the start of each source file to most effectively 631 | state the exclusion of warranty; and each file should have at least 632 | the "copyright" line and a pointer to where the full notice is found. 633 | 634 | 635 | Copyright (C) 636 | 637 | This program is free software: you can redistribute it and/or modify 638 | it under the terms of the GNU General Public License as published by 639 | the Free Software Foundation, either version 3 of the License, or 640 | (at your option) any later version. 641 | 642 | This program is distributed in the hope that it will be useful, 643 | but WITHOUT ANY WARRANTY; without even the implied warranty of 644 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 645 | GNU General Public License for more details. 646 | 647 | You should have received a copy of the GNU General Public License 648 | along with this program. If not, see . 649 | 650 | Also add information on how to contact you by electronic and paper mail. 651 | 652 | If the program does terminal interaction, make it output a short 653 | notice like this when it starts in an interactive mode: 654 | 655 | Copyright (C) 656 | This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 657 | This is free software, and you are welcome to redistribute it 658 | under certain conditions; type `show c' for details. 659 | 660 | The hypothetical commands `show w' and `show c' should show the appropriate 661 | parts of the General Public License. Of course, your program's commands 662 | might be different; for a GUI interface, you would use an "about box". 663 | 664 | You should also get your employer (if you work as a programmer) or school, 665 | if any, to sign a "copyright disclaimer" for the program, if necessary. 666 | For more information on this, and how to apply and follow the GNU GPL, see 667 | . 668 | 669 | The GNU General Public License does not permit incorporating your program 670 | into proprietary programs. If your program is a subroutine library, you 671 | may consider it more useful to permit linking proprietary applications with 672 | the library. If this is what you want to do, use the GNU Lesser General 673 | Public License instead of this License. But first, please read 674 | . 675 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Bing Image API 2 | 3 | 一个Bing每日壁纸的API系统 4 | 5 | --- 6 | 7 | 开源代码: 8 | 9 | ## 每日图片 10 | 11 | - API地址:`https://bing-image-api.vercel.app/api/new` 12 | - CDN优化:`https://bing.ahdark.com/api/new` 13 | 14 | 会直接返回当天的原壁纸图片 15 | 16 | --- 17 | 18 | ## CDN 19 | 20 | 你可以使用AHdark部署的带有CDN的函数: 21 | [bing.ahdark.com](https://bing.ahdark.com) 22 | 23 | 此站点使用腾讯云CDN、CloudFront CDN进行边缘网络加速,给予用户更好的体验。 24 | 25 | --- 26 | 27 | ## Config 28 | 29 | 由于中国网络的特殊性,你可以更改函数调用的Endpoint。 30 | 31 | 只需要设置环境变量`ENDPOINT`,例如`cn.bing.com`,默认为`www.bing.com`。 32 | 33 | 获取的图片地址、Redirect地址也会因此而改变。 34 | -------------------------------------------------------------------------------- /components/HeaderBar/index.tsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import { 3 | AppBar, 4 | Box, 5 | IconButton, 6 | Link, Theme, 7 | Toolbar, 8 | Typography, useMediaQuery 9 | } from "@mui/material"; 10 | import { GitHub as GitHubIcon, Home as HomeIcon } from "@mui/icons-material"; 11 | import { makeStyles, useTheme } from "@mui/styles"; 12 | import { useRouter } from "next/router"; 13 | 14 | const useStyles = makeStyles({ 15 | root: { 16 | fontStyle: "inherit", 17 | }, 18 | }); 19 | 20 | export default function HeaderBar(props: { title: string }) { 21 | const classes = useStyles(); 22 | const theme = useTheme(); 23 | const isMobileSize = useMediaQuery(theme.breakpoints.down("sm")); 24 | 25 | const router = useRouter(); 26 | const GoHome = () => { 27 | router.push("/").then((r: boolean) => console.log(r)); 28 | }; 29 | return ( 30 | 31 | 32 | 33 | 41 | 42 | 43 | 48 | {props.title} 49 | 50 | 56 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | ); 70 | } 71 | -------------------------------------------------------------------------------- /config.ts: -------------------------------------------------------------------------------- 1 | import { Config as ConfigType } from "./types/config/config"; 2 | 3 | export const Config: ConfigType = { 4 | endpoint: process.env.ENDPOINT || "www.bing.com", 5 | }; 6 | -------------------------------------------------------------------------------- /middleware/BingAPI.ts: -------------------------------------------------------------------------------- 1 | import axios, { AxiosInstance } from "axios"; 2 | import { Config } from "../config"; 3 | 4 | export const getBaseURL = () => { 5 | return "https://" + Config.endpoint.toString(); 6 | }; 7 | 8 | export const BasePath: string = "/HPImageArchive.aspx"; 9 | 10 | const instance: AxiosInstance = axios.create({ 11 | baseURL: getBaseURL(), 12 | withCredentials: true, 13 | headers: { 14 | "Content-Type": "application/json", 15 | }, 16 | }); 17 | 18 | export default instance; 19 | -------------------------------------------------------------------------------- /middleware/SelfAPI.ts: -------------------------------------------------------------------------------- 1 | import axios, { AxiosInstance } from "axios"; 2 | 3 | export const getBaseURL: () => string = () => { 4 | return "/"; 5 | }; 6 | 7 | const instance: AxiosInstance = axios.create({ 8 | baseURL: getBaseURL(), 9 | withCredentials: true, 10 | }); 11 | 12 | export default instance; 13 | -------------------------------------------------------------------------------- /next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | 4 | // NOTE: This file should not be edited 5 | // see https://nextjs.org/docs/basic-features/typescript for more information. 6 | -------------------------------------------------------------------------------- /next.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | poweredByHeader: false, 3 | reactStrictMode: true, 4 | compress: true 5 | }; 6 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bing-image-api", 3 | "description": "Bing wallpaper API, written using Next.js", 4 | "keywords": [ 5 | "react", 6 | "next.js", 7 | "api" 8 | ], 9 | "author": { 10 | "name": "AH-dark", 11 | "email": "ahdark@outlook.com", 12 | "url": "https://ahdark.com" 13 | }, 14 | "private": true, 15 | "repository": { 16 | "type": "git", 17 | "url": "https://github.com/AH-dark/bing-image-api" 18 | }, 19 | "scripts": { 20 | "dev": "next dev", 21 | "build": "next build", 22 | "start": "next start" 23 | }, 24 | "dependencies": { 25 | "@emotion/react": "^11.10.4", 26 | "@emotion/styled": "^11.10.0", 27 | "@mui/icons-material": "^5.8.4", 28 | "@fontsource/roboto": "^4.5.7", 29 | "@mui/material": "^5.8.3", 30 | "@mui/styles": "^5.10.3", 31 | "axios": "^0.27.2", 32 | "next": "latest", 33 | "prettier": "^2.7.1", 34 | "react": "17.0.2", 35 | "react-dom": "17.0.2", 36 | "typescript": "^4.8.3" 37 | }, 38 | "license": "MIT", 39 | "devDependencies": { 40 | "@types/node": "^18.7.6" 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /pages/_app.tsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import type { AppProps } from "next/app"; 3 | import { createTheme, ThemeProvider } from "@mui/material"; 4 | import "@fontsource/roboto" 5 | 6 | export const theme = createTheme(); 7 | 8 | // 新创建的 `pages/_app.js` 文件中必须有此默认的导出(export)函数 9 | export default function MyApp({ Component, pageProps }: AppProps) { 10 | return ( 11 | 12 | 13 | 14 | 15 | 16 | ); 17 | } 18 | -------------------------------------------------------------------------------- /pages/_document.tsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import Document, { 3 | DocumentContext, 4 | Head, 5 | Html, 6 | Main, 7 | NextScript, 8 | } from "next/document"; 9 | import { ServerStyleSheets } from "@mui/styles"; 10 | import { theme } from "./_app"; 11 | 12 | export default class MyDocument extends Document { 13 | constructor(props: any) { 14 | super(props); 15 | } 16 | 17 | render() { 18 | return ( 19 | 20 | 21 | {/* PWA primary color */} 22 | 26 | 27 | 28 | 29 |
30 | 31 | 32 | 33 | ); 34 | } 35 | } 36 | 37 | MyDocument.getInitialProps = async (ctx: DocumentContext) => { 38 | // Render app and page and get the context of the page with collected side effects. 39 | const sheets = new ServerStyleSheets(); 40 | const originalRenderPage = ctx.renderPage; 41 | 42 | ctx.renderPage = () => 43 | originalRenderPage({ 44 | enhanceApp: (App) => (props) => 45 | sheets.collect(), 46 | }); 47 | 48 | const initialProps = await Document.getInitialProps(ctx); 49 | 50 | return { 51 | ...initialProps, 52 | // Styles fragment is rendered after the app and page rendering finish. 53 | styles: [ 54 | ...React.Children.toArray(initialProps.styles), 55 | sheets.getStyleElement(), 56 | ], 57 | }; 58 | }; 59 | -------------------------------------------------------------------------------- /pages/api/new.ts: -------------------------------------------------------------------------------- 1 | import BingAPI, { BasePath, getBaseURL } from "../../middleware/BingAPI"; 2 | import { NextApiRequest, NextApiResponse } from "next"; 3 | import axios, { AxiosResponse } from "axios"; 4 | import { BingAPIType } from "../../types/bing/api"; 5 | 6 | export default New; 7 | 8 | function New(req: NextApiRequest, res: NextApiResponse) { 9 | const reqMethod = req.method; 10 | 11 | if (reqMethod !== "GET" && reqMethod !== "HEAD" && reqMethod !== "OPTION") { 12 | res.statusCode = 405; 13 | res.end(); 14 | return; 15 | } 16 | 17 | BingAPI.get(BasePath, { 18 | params: { 19 | format: "js", 20 | idx: 0, // Get image today 21 | n: 1, // Get only one image 22 | mkt: "zh-CN", 23 | }, 24 | responseType: "json", 25 | }) 26 | .then((r: AxiosResponse) => { 27 | const imageUrl = getBaseURL() + r.data.images[0].url; 28 | axios 29 | .get(imageUrl, { 30 | responseType: "arraybuffer", 31 | }) 32 | .then((r) => { 33 | const data = Buffer.from(r.data, "binary"); 34 | res.setHeader("Access-Allow-Control-Origin", "*"); 35 | res.setHeader("Access-Allow-Max-Age", 600); 36 | res.setHeader("Cache-Control", "public, max-age=43200"); 37 | res.setHeader("Content-Type", "image/jpeg"); 38 | res.setHeader("Content-Disposition", "inline"); 39 | res.status(200); 40 | res.send(data); 41 | res.end(); 42 | }) 43 | .catch((err) => { 44 | console.error( 45 | "[Axios Error]", 46 | err.request.method.toUpperCase(), 47 | "|", 48 | err.status, 49 | "|", 50 | err.request.url, 51 | "|", 52 | err.message 53 | ); 54 | res.send(err.message); 55 | res.status(500); 56 | res.end(); 57 | }); 58 | }) 59 | .catch((err) => { 60 | console.error( 61 | "[Axios Error]", 62 | err.request.method.toUpperCase(), 63 | "|", 64 | err.status, 65 | "|", 66 | err.request.url, 67 | "|", 68 | err.message 69 | ); 70 | res.send(err.message); 71 | res.status(500); 72 | res.end(); 73 | }) 74 | .then(() => { 75 | console.log("[API]", req.method, "|", res.statusCode, "|", req.url); 76 | }); 77 | } 78 | -------------------------------------------------------------------------------- /pages/index.tsx: -------------------------------------------------------------------------------- 1 | import React, { useEffect, useState } from "react"; 2 | import { 3 | Box, 4 | Container, 5 | CssBaseline, 6 | Divider, 7 | Link, 8 | Paper, 9 | Theme, 10 | Typography, 11 | } from "@mui/material"; 12 | import HeaderBar from "../components/HeaderBar"; 13 | import Head from "next/head"; 14 | import { createStyles, makeStyles } from "@mui/styles"; 15 | 16 | const useStyles = makeStyles((theme: Theme) => 17 | createStyles({ 18 | container: { 19 | minHeight: "calc(100vh - 16px)", 20 | display: "flex", 21 | flexDirection: "column", 22 | alignContent: "center", 23 | justifyContent: "center", 24 | }, 25 | paper: { 26 | padding: theme.spacing(4), 27 | marginBottom: theme.spacing(4), 28 | borderRadius: 8, 29 | "& code": { 30 | direction: "ltr", 31 | display: "inline-block", 32 | fontSize: "0.8125rem", 33 | lineHeight: 1.5, 34 | letterSpacing: 0, 35 | fontFamily: 36 | 'Consolas, Menlo, Monaco, "Andale Mono", "Ubuntu Mono", monospace', 37 | fontWeight: 400, 38 | "-webkit-font-smoothing": "subpixel-antialiased", 39 | padding: "0 5px", 40 | borderRadius: 5, 41 | color: "rgb(32, 38, 45)", 42 | backgroundColor: "rgba(102, 178, 255, 0.15)", 43 | }, 44 | "& >*": { 45 | marginTop: theme.spacing(1), 46 | marginBottom: theme.spacing(1), 47 | }, 48 | }, 49 | background: { 50 | backgroundImage: "url(/api/new)", 51 | opacity: 1, 52 | backgroundPosition: "center", 53 | backgroundSize: "cover", 54 | display: "block", 55 | position: "fixed", 56 | top: 0, 57 | bottom: 0, 58 | left: 0, 59 | right: 0, 60 | zIndex: -1, 61 | }, 62 | }) 63 | ); 64 | /** 65 | * @description 首页 66 | * @return {JSX.Element} 67 | * @constructor 68 | */ 69 | export default function Home() { 70 | const styles = useStyles(); 71 | const [hostname, setHostname] = useState(""); 72 | 73 | useEffect(() => { 74 | const port = Number(window.location.port); 75 | setHostname( 76 | port !== 80 && port !== 443 77 | ? window.location.protocol + "//" + window.location.hostname 78 | : window.location.protocol + 79 | "//" + 80 | window.location.hostname + 81 | ":" + 82 | port 83 | ); 84 | }, []); 85 | 86 | return ( 87 | <> 88 | 89 | Bing Image API 90 | 91 | 92 | 93 | 94 | 95 | 96 | {"Bing Image API"} 97 | 98 | 99 | {"一个Bing每日壁纸的API系统"} 100 | 101 | 102 | {"开源代码:"} 103 | 109 | github.com/AH-dark/BingImageApi 110 | 111 | 112 | 113 | 114 | {"每日图片"} 115 | 116 | 117 | {"API地址:"} 118 | {hostname + "/api/new"} 119 |
120 | 会直接返回今天的壁纸图片 121 |
122 | 123 | 124 | {"CDN"} 125 | 126 | 127 | {"你可以使用AHdark部署的带有CDN的函数"} 128 |
129 | 134 | bing.ahdark.com 135 | 136 |
137 | { 138 | "此站点使用腾讯云CDN、CloudFront CDN进行边缘网络加速,给予用户更好的体验。" 139 | } 140 |
141 |
142 |
143 | 144 | 145 | ); 146 | } 147 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AH-dark/bing-image-api/1ac3ace7104a9671f26168ce571c8129f688d596/public/favicon.ico -------------------------------------------------------------------------------- /scf_bootstrap: -------------------------------------------------------------------------------- 1 | #!/var/lang/node12/bin/node 2 | 3 | const { nextStart } = require('next/dist/cli/next-start'); 4 | nextStart([ '--port', '9000', '--hostname', '0.0.0.0' ]) 5 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "lib": [ 5 | "dom", 6 | "dom.iterable", 7 | "esnext" 8 | ], 9 | "allowJs": true, 10 | "skipLibCheck": true, 11 | "strict": true, 12 | "forceConsistentCasingInFileNames": true, 13 | "noEmit": true, 14 | "incremental": true, 15 | "esModuleInterop": true, 16 | "module": "esnext", 17 | "moduleResolution": "node", 18 | "resolveJsonModule": true, 19 | "isolatedModules": true, 20 | "jsx": "preserve" 21 | }, 22 | "include": [ 23 | "next-env.d.ts", 24 | "**/*.ts", 25 | "**/*.tsx" 26 | ], 27 | "exclude": [ 28 | "node_modules" 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /types/bing/api.d.ts: -------------------------------------------------------------------------------- 1 | // noinspection SpellCheckingInspection 2 | /** 3 | * @see https://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=8&mkt=zh-CN 4 | * @api 5 | * @type BingAPIType 6 | * @readonly 7 | */ 8 | 9 | export type BingAPIType = { 10 | images: BingImage[]; 11 | tooltips: BingTooltips; 12 | }; 13 | 14 | export type BingImage = { 15 | startdate: string; 16 | fullstartdate: string; 17 | enddate: string; 18 | url: string; 19 | urlbase: string; 20 | copyright: string; 21 | copyrightlink: string; 22 | title: string; 23 | quiz: string; 24 | wp: boolean; 25 | hsh: string; 26 | drk: number; 27 | top: number; 28 | bot: number; 29 | hs: any[]; 30 | }; 31 | 32 | export type BingTooltips = { 33 | loading: string; 34 | previous: string; 35 | next: string; 36 | walle: string; 37 | walls: string; 38 | }; 39 | -------------------------------------------------------------------------------- /types/config/config.d.ts: -------------------------------------------------------------------------------- 1 | export type Config = { 2 | endpoint: string; 3 | }; 4 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/code-frame@^7.0.0": 6 | version "7.16.7" 7 | resolved "https://registry.npmmirror.com/@babel/code-frame/download/@babel/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" 8 | integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== 9 | dependencies: 10 | "@babel/highlight" "^7.16.7" 11 | 12 | "@babel/helper-module-imports@^7.16.7": 13 | version "7.18.6" 14 | resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" 15 | integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== 16 | dependencies: 17 | "@babel/types" "^7.18.6" 18 | 19 | "@babel/helper-plugin-utils@^7.18.6": 20 | version "7.18.9" 21 | resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz#4b8aea3b069d8cb8a72cdfe28ddf5ceca695ef2f" 22 | integrity sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w== 23 | 24 | "@babel/helper-validator-identifier@^7.16.7": 25 | version "7.16.7" 26 | resolved "https://registry.npmmirror.com/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" 27 | integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== 28 | 29 | "@babel/helper-validator-identifier@^7.18.6": 30 | version "7.18.6" 31 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz#9c97e30d31b2b8c72a1d08984f2ca9b574d7a076" 32 | integrity sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g== 33 | 34 | "@babel/highlight@^7.16.7": 35 | version "7.16.10" 36 | resolved "https://registry.npmmirror.com/@babel/highlight/download/@babel/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88" 37 | integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw== 38 | dependencies: 39 | "@babel/helper-validator-identifier" "^7.16.7" 40 | chalk "^2.0.0" 41 | js-tokens "^4.0.0" 42 | 43 | "@babel/plugin-syntax-jsx@^7.17.12": 44 | version "7.18.6" 45 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz#a8feef63b010150abd97f1649ec296e849943ca0" 46 | integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q== 47 | dependencies: 48 | "@babel/helper-plugin-utils" "^7.18.6" 49 | 50 | "@babel/runtime@^7.12.5", "@babel/runtime@^7.17.2", "@babel/runtime@^7.18.3", "@babel/runtime@^7.18.9", "@babel/runtime@^7.3.1", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.7": 51 | version "7.19.0" 52 | resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.19.0.tgz#22b11c037b094d27a8a2504ea4dcff00f50e2259" 53 | integrity sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA== 54 | dependencies: 55 | regenerator-runtime "^0.13.4" 56 | 57 | "@babel/types@^7.18.6": 58 | version "7.18.9" 59 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.9.tgz#7148d64ba133d8d73a41b3172ac4b83a1452205f" 60 | integrity sha512-WwMLAg2MvJmt/rKEVQBBhIVffMmnilX4oe0sRe7iPOHIGsqpruFHHdrfj4O1CMMtgMtCU4oPafZjDPCRgO57Wg== 61 | dependencies: 62 | "@babel/helper-validator-identifier" "^7.18.6" 63 | to-fast-properties "^2.0.0" 64 | 65 | "@emotion/babel-plugin@^11.10.0": 66 | version "11.10.0" 67 | resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.10.0.tgz#ae545b8faa6b42d3a50ec86b70b758296f3c4467" 68 | integrity sha512-xVnpDAAbtxL1dsuSelU5A7BnY/lftws0wUexNJZTPsvX/1tM4GZJbclgODhvW4E+NH7E5VFcH0bBn30NvniPJA== 69 | dependencies: 70 | "@babel/helper-module-imports" "^7.16.7" 71 | "@babel/plugin-syntax-jsx" "^7.17.12" 72 | "@babel/runtime" "^7.18.3" 73 | "@emotion/hash" "^0.9.0" 74 | "@emotion/memoize" "^0.8.0" 75 | "@emotion/serialize" "^1.1.0" 76 | babel-plugin-macros "^3.1.0" 77 | convert-source-map "^1.5.0" 78 | escape-string-regexp "^4.0.0" 79 | find-root "^1.1.0" 80 | source-map "^0.5.7" 81 | stylis "4.0.13" 82 | 83 | "@emotion/cache@^11.10.0", "@emotion/cache@^11.7.1": 84 | version "11.10.3" 85 | resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.10.3.tgz#c4f67904fad10c945fea5165c3a5a0583c164b87" 86 | integrity sha512-Psmp/7ovAa8appWh3g51goxu/z3iVms7JXOreq136D8Bbn6dYraPnmL6mdM8GThEx9vwSn92Fz+mGSjBzN8UPQ== 87 | dependencies: 88 | "@emotion/memoize" "^0.8.0" 89 | "@emotion/sheet" "^1.2.0" 90 | "@emotion/utils" "^1.2.0" 91 | "@emotion/weak-memoize" "^0.3.0" 92 | stylis "4.0.13" 93 | 94 | "@emotion/hash@^0.9.0": 95 | version "0.9.0" 96 | resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.0.tgz#c5153d50401ee3c027a57a177bc269b16d889cb7" 97 | integrity sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ== 98 | 99 | "@emotion/is-prop-valid@^1.1.2", "@emotion/is-prop-valid@^1.2.0": 100 | version "1.2.0" 101 | resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.2.0.tgz#7f2d35c97891669f7e276eb71c83376a5dc44c83" 102 | integrity sha512-3aDpDprjM0AwaxGE09bOPkNxHpBd+kA6jty3RnaEXdweX1DF1U3VQpPYb0g1IStAuK7SVQ1cy+bNBBKp4W3Fjg== 103 | dependencies: 104 | "@emotion/memoize" "^0.8.0" 105 | 106 | "@emotion/memoize@^0.8.0": 107 | version "0.8.0" 108 | resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.0.tgz#f580f9beb67176fa57aae70b08ed510e1b18980f" 109 | integrity sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA== 110 | 111 | "@emotion/react@^11.10.4": 112 | version "11.10.4" 113 | resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.10.4.tgz#9dc6bccbda5d70ff68fdb204746c0e8b13a79199" 114 | integrity sha512-j0AkMpr6BL8gldJZ6XQsQ8DnS9TxEQu1R+OGmDZiWjBAJtCcbt0tS3I/YffoqHXxH6MjgI7KdMbYKw3MEiU9eA== 115 | dependencies: 116 | "@babel/runtime" "^7.18.3" 117 | "@emotion/babel-plugin" "^11.10.0" 118 | "@emotion/cache" "^11.10.0" 119 | "@emotion/serialize" "^1.1.0" 120 | "@emotion/use-insertion-effect-with-fallbacks" "^1.0.0" 121 | "@emotion/utils" "^1.2.0" 122 | "@emotion/weak-memoize" "^0.3.0" 123 | hoist-non-react-statics "^3.3.1" 124 | 125 | "@emotion/serialize@^1.1.0": 126 | version "1.1.0" 127 | resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.1.0.tgz#b1f97b1011b09346a40e9796c37a3397b4ea8ea8" 128 | integrity sha512-F1ZZZW51T/fx+wKbVlwsfchr5q97iW8brAnXmsskz4d0hVB4O3M/SiA3SaeH06x02lSNzkkQv+n3AX3kCXKSFA== 129 | dependencies: 130 | "@emotion/hash" "^0.9.0" 131 | "@emotion/memoize" "^0.8.0" 132 | "@emotion/unitless" "^0.8.0" 133 | "@emotion/utils" "^1.2.0" 134 | csstype "^3.0.2" 135 | 136 | "@emotion/sheet@^1.2.0": 137 | version "1.2.0" 138 | resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.2.0.tgz#771b1987855839e214fc1741bde43089397f7be5" 139 | integrity sha512-OiTkRgpxescko+M51tZsMq7Puu/KP55wMT8BgpcXVG2hqXc0Vo0mfymJ/Uj24Hp0i083ji/o0aLddh08UEjq8w== 140 | 141 | "@emotion/styled@^11.10.0": 142 | version "11.10.0" 143 | resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-11.10.0.tgz#c19484dab4206ae46727c07efb4316423dd21312" 144 | integrity sha512-V9oaEH6V4KePeQpgUE83i8ht+4Ri3E8Djp/ZPJ4DQlqWhSKITvgzlR3/YQE2hdfP4Jw3qVRkANJz01LLqK9/TA== 145 | dependencies: 146 | "@babel/runtime" "^7.18.3" 147 | "@emotion/babel-plugin" "^11.10.0" 148 | "@emotion/is-prop-valid" "^1.2.0" 149 | "@emotion/serialize" "^1.1.0" 150 | "@emotion/utils" "^1.2.0" 151 | 152 | "@emotion/unitless@^0.8.0": 153 | version "0.8.0" 154 | resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.8.0.tgz#a4a36e9cbdc6903737cd20d38033241e1b8833db" 155 | integrity sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw== 156 | 157 | "@emotion/use-insertion-effect-with-fallbacks@^1.0.0": 158 | version "1.0.0" 159 | resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.0.tgz#ffadaec35dbb7885bd54de3fa267ab2f860294df" 160 | integrity sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A== 161 | 162 | "@emotion/utils@^1.2.0": 163 | version "1.2.0" 164 | resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.2.0.tgz#9716eaccbc6b5ded2ea5a90d65562609aab0f561" 165 | integrity sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw== 166 | 167 | "@emotion/weak-memoize@^0.3.0": 168 | version "0.3.0" 169 | resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz#ea89004119dc42db2e1dba0f97d553f7372f6fcb" 170 | integrity sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg== 171 | 172 | "@fontsource/roboto@^4.5.7": 173 | version "4.5.7" 174 | resolved "https://registry.yarnpkg.com/@fontsource/roboto/-/roboto-4.5.7.tgz#292740a52fa2bac61b89f92e1c588037defe65cb" 175 | integrity sha512-m57UMER23Mk6Drg9OjtHW1Y+0KPGyZfE5XJoPTOsLARLar6013kJj4X2HICt+iFLJqIgTahA/QAvSn9lwF1EEw== 176 | 177 | "@mui/base@5.0.0-alpha.84": 178 | version "5.0.0-alpha.84" 179 | resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-alpha.84.tgz#83c580c9b04b4e4efe3fb39572720470b0d7cc29" 180 | integrity sha512-uDx+wGVytS+ZHiWHyzUyijY83GSIXJpzSJ0PGc/8/s+8nBzeHvaPKrAyJz15ASLr52hYRA6PQGqn0eRAsB7syQ== 181 | dependencies: 182 | "@babel/runtime" "^7.17.2" 183 | "@emotion/is-prop-valid" "^1.1.2" 184 | "@mui/types" "^7.1.3" 185 | "@mui/utils" "^5.8.0" 186 | "@popperjs/core" "^2.11.5" 187 | clsx "^1.1.1" 188 | prop-types "^15.8.1" 189 | react-is "^17.0.2" 190 | 191 | "@mui/icons-material@^5.8.4": 192 | version "5.8.4" 193 | resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-5.8.4.tgz#3f2907c9f8f5ce4d754cb8fb4b68b5a1abf4d095" 194 | integrity sha512-9Z/vyj2szvEhGWDvb+gG875bOGm8b8rlHBKOD1+nA3PcgC3fV6W1AU6pfOorPeBfH2X4mb9Boe97vHvaSndQvA== 195 | dependencies: 196 | "@babel/runtime" "^7.17.2" 197 | 198 | "@mui/material@^5.8.3": 199 | version "5.8.3" 200 | resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.8.3.tgz#86681d14c1a119d1d9b6b981c864736d075d095f" 201 | integrity sha512-8UecY/W9SMtEZm5PMCUcMbujajVP6fobu0BgBPiIWwwWRblZVEzqprY6v1P2me7qCyrve4L4V/rqAKPKhVHOSg== 202 | dependencies: 203 | "@babel/runtime" "^7.17.2" 204 | "@mui/base" "5.0.0-alpha.84" 205 | "@mui/system" "^5.8.3" 206 | "@mui/types" "^7.1.3" 207 | "@mui/utils" "^5.8.0" 208 | "@types/react-transition-group" "^4.4.4" 209 | clsx "^1.1.1" 210 | csstype "^3.1.0" 211 | hoist-non-react-statics "^3.3.2" 212 | prop-types "^15.8.1" 213 | react-is "^17.0.2" 214 | react-transition-group "^4.4.2" 215 | 216 | "@mui/private-theming@^5.10.3", "@mui/private-theming@^5.8.0": 217 | version "5.10.3" 218 | resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.10.3.tgz#7325eef3e480caaaa2d866b9057943ec4fbcb8ce" 219 | integrity sha512-LCYIKlkGz2BTSng2BFzzwSJBRZbChIUri2x2Nh8ryk2B1Ho7zpvE7ex6y39LlStG2Frf92NFC/V4YQbmMAjD5A== 220 | dependencies: 221 | "@babel/runtime" "^7.18.9" 222 | "@mui/utils" "^5.10.3" 223 | prop-types "^15.8.1" 224 | 225 | "@mui/styled-engine@^5.8.0": 226 | version "5.8.0" 227 | resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.8.0.tgz#89ed42efe7c8749e5a60af035bc5d3a6bea362bf" 228 | integrity sha512-Q3spibB8/EgeMYHc+/o3RRTnAYkSl7ROCLhXJ830W8HZ2/iDiyYp16UcxKPurkXvLhUaILyofPVrP3Su2uKsAw== 229 | dependencies: 230 | "@babel/runtime" "^7.17.2" 231 | "@emotion/cache" "^11.7.1" 232 | prop-types "^15.8.1" 233 | 234 | "@mui/styles@^5.10.3": 235 | version "5.10.3" 236 | resolved "https://registry.yarnpkg.com/@mui/styles/-/styles-5.10.3.tgz#47d3016bcad0df5989a6a6fd3496dbaeee792f07" 237 | integrity sha512-I9BYAKENJ6Ot+UEqsU+D2o5jVSeHAme+ZcPzBataTNmpjd7yrmdPeJgAyzju21KtSucBb283gvggcFqxLH1lOQ== 238 | dependencies: 239 | "@babel/runtime" "^7.18.9" 240 | "@emotion/hash" "^0.9.0" 241 | "@mui/private-theming" "^5.10.3" 242 | "@mui/types" "^7.2.0" 243 | "@mui/utils" "^5.10.3" 244 | clsx "^1.2.1" 245 | csstype "^3.1.0" 246 | hoist-non-react-statics "^3.3.2" 247 | jss "^10.9.2" 248 | jss-plugin-camel-case "^10.9.2" 249 | jss-plugin-default-unit "^10.9.2" 250 | jss-plugin-global "^10.9.2" 251 | jss-plugin-nested "^10.9.2" 252 | jss-plugin-props-sort "^10.9.2" 253 | jss-plugin-rule-value-function "^10.9.2" 254 | jss-plugin-vendor-prefixer "^10.9.2" 255 | prop-types "^15.8.1" 256 | 257 | "@mui/system@^5.8.3": 258 | version "5.8.3" 259 | resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.8.3.tgz#66db174f1b5c244eb73dbc48527509782a22ec0a" 260 | integrity sha512-/tyGQcYqZT0nl98qV9XnGiedTO+V7VHc28k4POfhMJNedB1CRrwWRm767DeEdc5f/8CU2See3WD16ikP6pYiOA== 261 | dependencies: 262 | "@babel/runtime" "^7.17.2" 263 | "@mui/private-theming" "^5.8.0" 264 | "@mui/styled-engine" "^5.8.0" 265 | "@mui/types" "^7.1.3" 266 | "@mui/utils" "^5.8.0" 267 | clsx "^1.1.1" 268 | csstype "^3.1.0" 269 | prop-types "^15.8.1" 270 | 271 | "@mui/types@^7.1.3", "@mui/types@^7.2.0": 272 | version "7.2.0" 273 | resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.0.tgz#91380c2d42420f51f404120f7a9270eadd6f5c23" 274 | integrity sha512-lGXtFKe5lp3UxTBGqKI1l7G8sE2xBik8qCfrLHD5olwP/YU0/ReWoWT7Lp1//ri32dK39oPMrJN8TgbkCSbsNA== 275 | 276 | "@mui/utils@^5.10.3", "@mui/utils@^5.8.0": 277 | version "5.10.3" 278 | resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.10.3.tgz#ce2a96f31de2a5e717f507b5383dbabbddbc4dfc" 279 | integrity sha512-4jXMDPfx6bpMVuheLaOpKTjpzw39ogAZLeaLj5+RJec3E37/hAZMYjURfblLfTWMMoGoqkY03mNsZaEwNobBow== 280 | dependencies: 281 | "@babel/runtime" "^7.18.9" 282 | "@types/prop-types" "^15.7.5" 283 | "@types/react-is" "^16.7.1 || ^17.0.0" 284 | prop-types "^15.8.1" 285 | react-is "^18.2.0" 286 | 287 | "@next/env@12.3.0": 288 | version "12.3.0" 289 | resolved "https://registry.yarnpkg.com/@next/env/-/env-12.3.0.tgz#85f971fdc668cc312342761057c59cb8ab1abadf" 290 | integrity sha512-PTJpjAFVbzBQ9xXpzMTroShvD5YDIIy46jQ7d4LrWpY+/5a8H90Tm8hE3Hvkc5RBRspVo7kvEOnqQms0A+2Q6w== 291 | 292 | "@next/swc-android-arm-eabi@12.3.0": 293 | version "12.3.0" 294 | resolved "https://registry.yarnpkg.com/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-12.3.0.tgz#9a934904643591cb6f66eb09803a92d2b10ada13" 295 | integrity sha512-/PuirPnAKsYBw93w/7Q9hqy+KGOU9mjYprZ/faxMUJh/dc6v3rYLxkZKNG9nFPIW4QKNTCnhP40xF9hLnxO+xg== 296 | 297 | "@next/swc-android-arm64@12.3.0": 298 | version "12.3.0" 299 | resolved "https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-12.3.0.tgz#c1e3e24d0625efe88f45a2135c8f5c4dff594749" 300 | integrity sha512-OaI+FhAM6P9B6Ybwbn0Zl8YwWido0lLwhDBi9WiYCh4RQmIXAyVIoIJPHo4fP05+mXaJ/k1trvDvuURvHOq2qw== 301 | 302 | "@next/swc-darwin-arm64@12.3.0": 303 | version "12.3.0" 304 | resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.3.0.tgz#37a9f971b9ad620184af69f38243a36757126fb9" 305 | integrity sha512-9s4d3Mhii+WFce8o8Jok7WC3Bawkr9wEUU++SJRptjU1L5tsfYJMrSYCACHLhZujziNDLyExe4Hwwsccps1sfg== 306 | 307 | "@next/swc-darwin-x64@12.3.0": 308 | version "12.3.0" 309 | resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-12.3.0.tgz#fb017f1066c8cf2b8da49ef3588c8731d8bf1bf3" 310 | integrity sha512-2scC4MqUTwGwok+wpVxP+zWp7WcCAVOtutki2E1n99rBOTnUOX6qXkgxSy083yBN6GqwuC/dzHeN7hIKjavfRA== 311 | 312 | "@next/swc-freebsd-x64@12.3.0": 313 | version "12.3.0" 314 | resolved "https://registry.yarnpkg.com/@next/swc-freebsd-x64/-/swc-freebsd-x64-12.3.0.tgz#e7955b016f41e0f95088e3459ff4197027871fbf" 315 | integrity sha512-xAlruUREij/bFa+qsE1tmsP28t7vz02N4ZDHt2lh3uJUniE0Ne9idyIDLc1Ed0IF2RjfgOp4ZVunuS3OM0sngw== 316 | 317 | "@next/swc-linux-arm-gnueabihf@12.3.0": 318 | version "12.3.0" 319 | resolved "https://registry.yarnpkg.com/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.3.0.tgz#d2233267bffaa24378245b328f2f8a01a37eab29" 320 | integrity sha512-jin2S4VT/cugc2dSZEUIabhYDJNgrUh7fufbdsaAezgcQzqfdfJqfxl4E9GuafzB4cbRPTaqA0V5uqbp0IyGkQ== 321 | 322 | "@next/swc-linux-arm64-gnu@12.3.0": 323 | version "12.3.0" 324 | resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.3.0.tgz#149a0cb877352ab63e81cf1dd53b37f382929d2a" 325 | integrity sha512-RqJHDKe0WImeUrdR0kayTkRWgp4vD/MS7g0r6Xuf8+ellOFH7JAAJffDW3ayuVZeMYOa7RvgNFcOoWnrTUl9Nw== 326 | 327 | "@next/swc-linux-arm64-musl@12.3.0": 328 | version "12.3.0" 329 | resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.3.0.tgz#73ec7f121f56fd7cf99cf2b00cf41f62c4560e90" 330 | integrity sha512-nvNWoUieMjvDjpYJ/4SQe9lQs2xMj6ZRs8N+bmTrVu9leY2Fg3WD6W9p/1uU9hGO8u+OdF13wc4iRShu/WYIHg== 331 | 332 | "@next/swc-linux-x64-gnu@12.3.0": 333 | version "12.3.0" 334 | resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.3.0.tgz#6812e52ef21bfd091810f271dd61da11d82b66b9" 335 | integrity sha512-4ajhIuVU9PeQCMMhdDgZTLrHmjbOUFuIyg6J19hZqwEwDTSqQyrSLkbJs2Nd7IRiM6Ul/XyrtEFCpk4k+xD2+w== 336 | 337 | "@next/swc-linux-x64-musl@12.3.0": 338 | version "12.3.0" 339 | resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.3.0.tgz#c9e7ffb6d44da330961c1ce651c5b03a1becfe22" 340 | integrity sha512-U092RBYbaGxoMAwpauePJEu2PuZSEoUCGJBvsptQr2/2XIMwAJDYM4c/M5NfYEsBr+yjvsYNsOpYfeQ88D82Yg== 341 | 342 | "@next/swc-win32-arm64-msvc@12.3.0": 343 | version "12.3.0" 344 | resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.3.0.tgz#e0d9d26297f52b0d3b3c2f5138ddcce30601bc98" 345 | integrity sha512-pzSzaxjDEJe67bUok9Nxf9rykbJfHXW0owICFsPBsqHyc+cr8vpF7g9e2APTCddtVhvjkga9ILoZJ9NxWS7Yiw== 346 | 347 | "@next/swc-win32-ia32-msvc@12.3.0": 348 | version "12.3.0" 349 | resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.3.0.tgz#37daeac1acc68537b8e76cd81fde96dce11f78b4" 350 | integrity sha512-MQGUpMbYhQmTZ06a9e0hPQJnxFMwETo2WtyAotY3GEzbNCQVbCGhsvqEKcl+ZEHgShlHXUWvSffq1ZscY6gK7A== 351 | 352 | "@next/swc-win32-x64-msvc@12.3.0": 353 | version "12.3.0" 354 | resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.3.0.tgz#c1b983316307f8f55fee491942b5d244bd2036e2" 355 | integrity sha512-C/nw6OgQpEULWqs+wgMHXGvlJLguPRFFGqR2TAqWBerQ8J+Sg3z1ZTqwelkSi4FoqStGuZ2UdFHIDN1ySmR1xA== 356 | 357 | "@popperjs/core@^2.11.5": 358 | version "2.11.5" 359 | resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.5.tgz#db5a11bf66bdab39569719555b0f76e138d7bd64" 360 | integrity sha512-9X2obfABZuDVLCgPK9aX0a/x4jaOEweTTWE2+9sr0Qqqevj2Uv5XorvusThmc9XGYpS9yI+fhh8RTafBtGposw== 361 | 362 | "@swc/helpers@0.4.11": 363 | version "0.4.11" 364 | resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.4.11.tgz#db23a376761b3d31c26502122f349a21b592c8de" 365 | integrity sha512-rEUrBSGIoSFuYxwBYtlUFMlE2CwGhmW+w9355/5oduSw8e5h2+Tj4UrAGNNgP9915++wj5vkQo0UuOBqOAq4nw== 366 | dependencies: 367 | tslib "^2.4.0" 368 | 369 | "@types/node@^18.7.6": 370 | version "18.7.6" 371 | resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.6.tgz#31743bc5772b6ac223845e18c3fc26f042713c83" 372 | integrity sha512-EdxgKRXgYsNITy5mjjXjVE/CS8YENSdhiagGrLqjG0pvA2owgJ6i4l7wy/PFZGC0B1/H20lWKN7ONVDNYDZm7A== 373 | 374 | "@types/parse-json@^4.0.0": 375 | version "4.0.0" 376 | resolved "https://registry.npmmirror.com/@types/parse-json/download/@types/parse-json-4.0.0.tgz?cache=0&sync_timestamp=1637269948744&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40types%2Fparse-json%2Fdownload%2F%40types%2Fparse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" 377 | integrity sha1-L4u0QUNNFjs1+4/9zNcTiSf/uMA= 378 | 379 | "@types/prop-types@*": 380 | version "15.7.4" 381 | resolved "https://registry.npmmirror.com/@types/prop-types/download/@types/prop-types-15.7.4.tgz#fcf7205c25dff795ee79af1e30da2c9790808f11" 382 | integrity sha1-/PcgXCXf95Xuea8eMNosl5CAjxE= 383 | 384 | "@types/prop-types@^15.7.5": 385 | version "15.7.5" 386 | resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" 387 | integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== 388 | 389 | "@types/react-is@^16.7.1 || ^17.0.0": 390 | version "17.0.3" 391 | resolved "https://registry.npmmirror.com/@types/react-is/download/@types/react-is-17.0.3.tgz#2d855ba575f2fc8d17ef9861f084acc4b90a137a" 392 | integrity sha1-LYVbpXXy/I0X75hh8ISsxLkKE3o= 393 | dependencies: 394 | "@types/react" "*" 395 | 396 | "@types/react-transition-group@^4.4.4": 397 | version "4.4.4" 398 | resolved "https://registry.npmmirror.com/@types/react-transition-group/download/@types/react-transition-group-4.4.4.tgz#acd4cceaa2be6b757db61ed7b432e103242d163e" 399 | integrity sha1-rNTM6qK+a3V9th7XtDLhAyQtFj4= 400 | dependencies: 401 | "@types/react" "*" 402 | 403 | "@types/react@*": 404 | version "17.0.38" 405 | resolved "https://registry.npmmirror.com/@types/react/download/@types/react-17.0.38.tgz#f24249fefd89357d5fa71f739a686b8d7c7202bd" 406 | integrity sha512-SI92X1IA+FMnP3qM5m4QReluXzhcmovhZnLNm3pyeQlooi02qI7sLiepEYqT678uNiyc25XfCqxREFpy3W7YhQ== 407 | dependencies: 408 | "@types/prop-types" "*" 409 | "@types/scheduler" "*" 410 | csstype "^3.0.2" 411 | 412 | "@types/scheduler@*": 413 | version "0.16.2" 414 | resolved "https://registry.npmmirror.com/@types/scheduler/download/@types/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" 415 | integrity sha1-GmL4lSVyPd4kuhsBsJK/XfitTTk= 416 | 417 | ansi-styles@^3.2.1: 418 | version "3.2.1" 419 | resolved "https://registry.npmmirror.com/ansi-styles/download/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 420 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 421 | dependencies: 422 | color-convert "^1.9.0" 423 | 424 | asynckit@^0.4.0: 425 | version "0.4.0" 426 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 427 | integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= 428 | 429 | axios@^0.27.2: 430 | version "0.27.2" 431 | resolved "https://registry.yarnpkg.com/axios/-/axios-0.27.2.tgz#207658cc8621606e586c85db4b41a750e756d972" 432 | integrity sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ== 433 | dependencies: 434 | follow-redirects "^1.14.9" 435 | form-data "^4.0.0" 436 | 437 | babel-plugin-macros@^3.1.0: 438 | version "3.1.0" 439 | resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" 440 | integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== 441 | dependencies: 442 | "@babel/runtime" "^7.12.5" 443 | cosmiconfig "^7.0.0" 444 | resolve "^1.19.0" 445 | 446 | callsites@^3.0.0: 447 | version "3.1.0" 448 | resolved "https://registry.npmmirror.com/callsites/download/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 449 | integrity sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M= 450 | 451 | caniuse-lite@^1.0.30001332: 452 | version "1.0.30001339" 453 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001339.tgz#f9aece4ea8156071613b27791547ba0b33f176cf" 454 | integrity sha512-Es8PiVqCe+uXdms0Gu5xP5PF2bxLR7OBp3wUzUnuO7OHzhOfCyg3hdiGWVPVxhiuniOzng+hTc1u3fEQ0TlkSQ== 455 | 456 | chalk@^2.0.0: 457 | version "2.4.2" 458 | resolved "https://registry.npmmirror.com/chalk/download/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 459 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 460 | dependencies: 461 | ansi-styles "^3.2.1" 462 | escape-string-regexp "^1.0.5" 463 | supports-color "^5.3.0" 464 | 465 | clsx@^1.1.1, clsx@^1.2.1: 466 | version "1.2.1" 467 | resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" 468 | integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== 469 | 470 | color-convert@^1.9.0: 471 | version "1.9.3" 472 | resolved "https://registry.npmmirror.com/color-convert/download/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 473 | integrity sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg= 474 | dependencies: 475 | color-name "1.1.3" 476 | 477 | color-name@1.1.3: 478 | version "1.1.3" 479 | resolved "https://registry.npmmirror.com/color-name/download/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 480 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 481 | 482 | combined-stream@^1.0.8: 483 | version "1.0.8" 484 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" 485 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== 486 | dependencies: 487 | delayed-stream "~1.0.0" 488 | 489 | convert-source-map@^1.5.0: 490 | version "1.8.0" 491 | resolved "https://registry.nlark.com/convert-source-map/download/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" 492 | integrity sha1-8zc8MtIbTXgN2ABFFGhPt5HKQ2k= 493 | dependencies: 494 | safe-buffer "~5.1.1" 495 | 496 | cosmiconfig@^7.0.0: 497 | version "7.0.1" 498 | resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" 499 | integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== 500 | dependencies: 501 | "@types/parse-json" "^4.0.0" 502 | import-fresh "^3.2.1" 503 | parse-json "^5.0.0" 504 | path-type "^4.0.0" 505 | yaml "^1.10.0" 506 | 507 | css-vendor@^2.0.8: 508 | version "2.0.8" 509 | resolved "https://registry.npmmirror.com/css-vendor/download/css-vendor-2.0.8.tgz#e47f91d3bd3117d49180a3c935e62e3d9f7f449d" 510 | integrity sha1-5H+R070xF9SRgKPJNeYuPZ9/RJ0= 511 | dependencies: 512 | "@babel/runtime" "^7.8.3" 513 | is-in-browser "^1.0.2" 514 | 515 | csstype@^3.0.2, csstype@^3.1.0: 516 | version "3.1.0" 517 | resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.0.tgz#4ddcac3718d787cf9df0d1b7d15033925c8f29f2" 518 | integrity sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA== 519 | 520 | delayed-stream@~1.0.0: 521 | version "1.0.0" 522 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 523 | integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= 524 | 525 | dom-helpers@^5.0.1: 526 | version "5.2.1" 527 | resolved "https://registry.nlark.com/dom-helpers/download/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902" 528 | integrity sha1-2UAFNrK/giWtmP4FLgKUUaxA6QI= 529 | dependencies: 530 | "@babel/runtime" "^7.8.7" 531 | csstype "^3.0.2" 532 | 533 | error-ex@^1.3.1: 534 | version "1.3.2" 535 | resolved "https://registry.npmmirror.com/error-ex/download/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" 536 | integrity sha1-tKxAZIEH/c3PriQvQovqihTU8b8= 537 | dependencies: 538 | is-arrayish "^0.2.1" 539 | 540 | escape-string-regexp@^1.0.5: 541 | version "1.0.5" 542 | resolved "https://registry.nlark.com/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 543 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 544 | 545 | escape-string-regexp@^4.0.0: 546 | version "4.0.0" 547 | resolved "https://registry.nlark.com/escape-string-regexp/download/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" 548 | integrity sha1-FLqDpdNz49MR5a/KKc9b+tllvzQ= 549 | 550 | find-root@^1.1.0: 551 | version "1.1.0" 552 | resolved "https://registry.nlark.com/find-root/download/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" 553 | integrity sha1-q8/Iunb3CMQql7PWhbfpRQv7nOQ= 554 | 555 | follow-redirects@^1.14.9: 556 | version "1.15.0" 557 | resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.0.tgz#06441868281c86d0dda4ad8bdaead2d02dca89d4" 558 | integrity sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ== 559 | 560 | form-data@^4.0.0: 561 | version "4.0.0" 562 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" 563 | integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== 564 | dependencies: 565 | asynckit "^0.4.0" 566 | combined-stream "^1.0.8" 567 | mime-types "^2.1.12" 568 | 569 | function-bind@^1.1.1: 570 | version "1.1.1" 571 | resolved "https://registry.nlark.com/function-bind/download/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 572 | integrity sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0= 573 | 574 | has-flag@^3.0.0: 575 | version "3.0.0" 576 | resolved "https://registry.npmmirror.com/has-flag/download/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 577 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 578 | 579 | has@^1.0.3: 580 | version "1.0.3" 581 | resolved "https://registry.nlark.com/has/download/has-1.0.3.tgz?cache=0&sync_timestamp=1618847173393&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas%2Fdownload%2Fhas-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 582 | integrity sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y= 583 | dependencies: 584 | function-bind "^1.1.1" 585 | 586 | hoist-non-react-statics@^3.3.1, hoist-non-react-statics@^3.3.2: 587 | version "3.3.2" 588 | resolved "https://registry.npm.taobao.org/hoist-non-react-statics/download/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" 589 | integrity sha1-7OCsr3HWLClpwuxZ/v9CpLGoW0U= 590 | dependencies: 591 | react-is "^16.7.0" 592 | 593 | hyphenate-style-name@^1.0.3: 594 | version "1.0.4" 595 | resolved "https://registry.npmmirror.com/hyphenate-style-name/download/hyphenate-style-name-1.0.4.tgz#691879af8e220aea5750e8827db4ef62a54e361d" 596 | integrity sha1-aRh5r44iCupXUOiCfbTvYqVONh0= 597 | 598 | import-fresh@^3.2.1: 599 | version "3.3.0" 600 | resolved "https://registry.nlark.com/import-fresh/download/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" 601 | integrity sha1-NxYsJfy566oublPVtNiM4X2eDCs= 602 | dependencies: 603 | parent-module "^1.0.0" 604 | resolve-from "^4.0.0" 605 | 606 | is-arrayish@^0.2.1: 607 | version "0.2.1" 608 | resolved "https://registry.nlark.com/is-arrayish/download/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 609 | integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= 610 | 611 | is-core-module@^2.9.0: 612 | version "2.9.0" 613 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69" 614 | integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A== 615 | dependencies: 616 | has "^1.0.3" 617 | 618 | is-in-browser@^1.0.2, is-in-browser@^1.1.3: 619 | version "1.1.3" 620 | resolved "https://registry.npm.taobao.org/is-in-browser/download/is-in-browser-1.1.3.tgz#56ff4db683a078c6082eb95dad7dc62e1d04f835" 621 | integrity sha1-Vv9NtoOgeMYILrldrX3GLh0E+DU= 622 | 623 | "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: 624 | version "4.0.0" 625 | resolved "https://registry.nlark.com/js-tokens/download/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 626 | integrity sha1-GSA/tZmR35jjoocFDUZHzerzJJk= 627 | 628 | json-parse-even-better-errors@^2.3.0: 629 | version "2.3.1" 630 | resolved "https://registry.nlark.com/json-parse-even-better-errors/download/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" 631 | integrity sha1-fEeAWpQxmSjgV3dAXcEuH3pO4C0= 632 | 633 | jss-plugin-camel-case@^10.9.2: 634 | version "10.9.2" 635 | resolved "https://registry.yarnpkg.com/jss-plugin-camel-case/-/jss-plugin-camel-case-10.9.2.tgz#76dddfa32f9e62d17daa4e3504991fd0933b89e1" 636 | integrity sha512-wgBPlL3WS0WDJ1lPJcgjux/SHnDuu7opmgQKSraKs4z8dCCyYMx9IDPFKBXQ8Q5dVYij1FFV0WdxyhuOOAXuTg== 637 | dependencies: 638 | "@babel/runtime" "^7.3.1" 639 | hyphenate-style-name "^1.0.3" 640 | jss "10.9.2" 641 | 642 | jss-plugin-default-unit@^10.9.2: 643 | version "10.9.2" 644 | resolved "https://registry.yarnpkg.com/jss-plugin-default-unit/-/jss-plugin-default-unit-10.9.2.tgz#3e7f4a1506b18d8fe231554fd982439feb2a9c53" 645 | integrity sha512-pYg0QX3bBEFtTnmeSI3l7ad1vtHU42YEEpgW7pmIh+9pkWNWb5dwS/4onSfAaI0kq+dOZHzz4dWe+8vWnanoSg== 646 | dependencies: 647 | "@babel/runtime" "^7.3.1" 648 | jss "10.9.2" 649 | 650 | jss-plugin-global@^10.9.2: 651 | version "10.9.2" 652 | resolved "https://registry.yarnpkg.com/jss-plugin-global/-/jss-plugin-global-10.9.2.tgz#e7f2ad4a5e8e674fb703b04b57a570b8c3e5c2c2" 653 | integrity sha512-GcX0aE8Ef6AtlasVrafg1DItlL/tWHoC4cGir4r3gegbWwF5ZOBYhx04gurPvWHC8F873aEGqge7C17xpwmp2g== 654 | dependencies: 655 | "@babel/runtime" "^7.3.1" 656 | jss "10.9.2" 657 | 658 | jss-plugin-nested@^10.9.2: 659 | version "10.9.2" 660 | resolved "https://registry.yarnpkg.com/jss-plugin-nested/-/jss-plugin-nested-10.9.2.tgz#3aa2502816089ecf3981e1a07c49b276d67dca63" 661 | integrity sha512-VgiOWIC6bvgDaAL97XCxGD0BxOKM0K0zeB/ECyNaVF6FqvdGB9KBBWRdy2STYAss4VVA7i5TbxFZN+WSX1kfQA== 662 | dependencies: 663 | "@babel/runtime" "^7.3.1" 664 | jss "10.9.2" 665 | tiny-warning "^1.0.2" 666 | 667 | jss-plugin-props-sort@^10.9.2: 668 | version "10.9.2" 669 | resolved "https://registry.yarnpkg.com/jss-plugin-props-sort/-/jss-plugin-props-sort-10.9.2.tgz#645f6c8f179309667b3e6212f66b59a32fb3f01f" 670 | integrity sha512-AP1AyUTbi2szylgr+O0OB7gkIxEGzySLITZ2GpsaoX72YMCGI2jYAc+WUhPfvUnZYiauF4zTnN4V4TGuvFjJlw== 671 | dependencies: 672 | "@babel/runtime" "^7.3.1" 673 | jss "10.9.2" 674 | 675 | jss-plugin-rule-value-function@^10.9.2: 676 | version "10.9.2" 677 | resolved "https://registry.yarnpkg.com/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.9.2.tgz#9afe07596e477123cbf11120776be6a64494541f" 678 | integrity sha512-vf5ms8zvLFMub6swbNxvzsurHfUZ5Shy5aJB2gIpY6WNA3uLinEcxYyraQXItRHi5ivXGqYciFDRM2ZoVoRZ4Q== 679 | dependencies: 680 | "@babel/runtime" "^7.3.1" 681 | jss "10.9.2" 682 | tiny-warning "^1.0.2" 683 | 684 | jss-plugin-vendor-prefixer@^10.9.2: 685 | version "10.9.2" 686 | resolved "https://registry.yarnpkg.com/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.9.2.tgz#410a0f3b9f8dbbfba58f4d329134df4849aa1237" 687 | integrity sha512-SxcEoH+Rttf9fEv6KkiPzLdXRmI6waOTcMkbbEFgdZLDYNIP9UKNHFy6thhbRKqv0XMQZdrEsbDyV464zE/dUA== 688 | dependencies: 689 | "@babel/runtime" "^7.3.1" 690 | css-vendor "^2.0.8" 691 | jss "10.9.2" 692 | 693 | jss@10.9.2, jss@^10.9.2: 694 | version "10.9.2" 695 | resolved "https://registry.yarnpkg.com/jss/-/jss-10.9.2.tgz#9379be1f195ef98011dfd31f9448251bd61b95a9" 696 | integrity sha512-b8G6rWpYLR4teTUbGd4I4EsnWjg7MN0Q5bSsjKhVkJVjhQDy2KzkbD2AW3TuT0RYZVmZZHKIrXDn6kjU14qkUg== 697 | dependencies: 698 | "@babel/runtime" "^7.3.1" 699 | csstype "^3.0.2" 700 | is-in-browser "^1.1.3" 701 | tiny-warning "^1.0.2" 702 | 703 | lines-and-columns@^1.1.6: 704 | version "1.2.4" 705 | resolved "https://registry.npmmirror.com/lines-and-columns/download/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" 706 | integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== 707 | 708 | loose-envify@^1.1.0, loose-envify@^1.4.0: 709 | version "1.4.0" 710 | resolved "https://registry.nlark.com/loose-envify/download/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" 711 | integrity sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8= 712 | dependencies: 713 | js-tokens "^3.0.0 || ^4.0.0" 714 | 715 | mime-db@1.52.0: 716 | version "1.52.0" 717 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" 718 | integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== 719 | 720 | mime-types@^2.1.12: 721 | version "2.1.35" 722 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" 723 | integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== 724 | dependencies: 725 | mime-db "1.52.0" 726 | 727 | nanoid@^3.3.4: 728 | version "3.3.4" 729 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" 730 | integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== 731 | 732 | next@latest: 733 | version "12.3.0" 734 | resolved "https://registry.yarnpkg.com/next/-/next-12.3.0.tgz#0e4c1ed0092544c7e8f4c998ca57cf6529e286cb" 735 | integrity sha512-GpzI6me9V1+XYtfK0Ae9WD0mKqHyzQlGq1xH1rzNIYMASo4Tkl4rTe9jSqtBpXFhOS33KohXs9ZY38Akkhdciw== 736 | dependencies: 737 | "@next/env" "12.3.0" 738 | "@swc/helpers" "0.4.11" 739 | caniuse-lite "^1.0.30001332" 740 | postcss "8.4.14" 741 | styled-jsx "5.0.6" 742 | use-sync-external-store "1.2.0" 743 | optionalDependencies: 744 | "@next/swc-android-arm-eabi" "12.3.0" 745 | "@next/swc-android-arm64" "12.3.0" 746 | "@next/swc-darwin-arm64" "12.3.0" 747 | "@next/swc-darwin-x64" "12.3.0" 748 | "@next/swc-freebsd-x64" "12.3.0" 749 | "@next/swc-linux-arm-gnueabihf" "12.3.0" 750 | "@next/swc-linux-arm64-gnu" "12.3.0" 751 | "@next/swc-linux-arm64-musl" "12.3.0" 752 | "@next/swc-linux-x64-gnu" "12.3.0" 753 | "@next/swc-linux-x64-musl" "12.3.0" 754 | "@next/swc-win32-arm64-msvc" "12.3.0" 755 | "@next/swc-win32-ia32-msvc" "12.3.0" 756 | "@next/swc-win32-x64-msvc" "12.3.0" 757 | 758 | object-assign@^4.1.1: 759 | version "4.1.1" 760 | resolved "https://registry.npmmirror.com/object-assign/download/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 761 | integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= 762 | 763 | parent-module@^1.0.0: 764 | version "1.0.1" 765 | resolved "https://registry.npmmirror.com/parent-module/download/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" 766 | integrity sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI= 767 | dependencies: 768 | callsites "^3.0.0" 769 | 770 | parse-json@^5.0.0: 771 | version "5.2.0" 772 | resolved "https://registry.npmmirror.com/parse-json/download/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" 773 | integrity sha1-x2/Gbe5UIxyWKyK8yKcs8vmXU80= 774 | dependencies: 775 | "@babel/code-frame" "^7.0.0" 776 | error-ex "^1.3.1" 777 | json-parse-even-better-errors "^2.3.0" 778 | lines-and-columns "^1.1.6" 779 | 780 | path-parse@^1.0.7: 781 | version "1.0.7" 782 | resolved "https://registry.npmmirror.com/path-parse/download/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 783 | integrity sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU= 784 | 785 | path-type@^4.0.0: 786 | version "4.0.0" 787 | resolved "https://registry.npm.taobao.org/path-type/download/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" 788 | integrity sha1-hO0BwKe6OAr+CdkKjBgNzZ0DBDs= 789 | 790 | picocolors@^1.0.0: 791 | version "1.0.0" 792 | resolved "https://registry.npmmirror.com/picocolors/download/picocolors-1.0.0.tgz?cache=0&sync_timestamp=1634093378416&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpicocolors%2Fdownload%2Fpicocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" 793 | integrity sha1-y1vcdP8/UYkiNur3nWi8RFZKuBw= 794 | 795 | postcss@8.4.14: 796 | version "8.4.14" 797 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.14.tgz#ee9274d5622b4858c1007a74d76e42e56fd21caf" 798 | integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig== 799 | dependencies: 800 | nanoid "^3.3.4" 801 | picocolors "^1.0.0" 802 | source-map-js "^1.0.2" 803 | 804 | prettier@^2.7.1: 805 | version "2.7.1" 806 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64" 807 | integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== 808 | 809 | prop-types@^15.6.2, prop-types@^15.8.1: 810 | version "15.8.1" 811 | resolved "https://registry.npmmirror.com/prop-types/download/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" 812 | integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== 813 | dependencies: 814 | loose-envify "^1.4.0" 815 | object-assign "^4.1.1" 816 | react-is "^16.13.1" 817 | 818 | react-dom@17.0.2: 819 | version "17.0.2" 820 | resolved "https://registry.npmmirror.com/react-dom/download/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23" 821 | integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA== 822 | dependencies: 823 | loose-envify "^1.1.0" 824 | object-assign "^4.1.1" 825 | scheduler "^0.20.2" 826 | 827 | react-is@^16.13.1, react-is@^16.7.0: 828 | version "16.13.1" 829 | resolved "https://registry.npmmirror.com/react-is/download/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" 830 | integrity sha1-eJcppNw23imZ3BVt1sHZwYzqVqQ= 831 | 832 | react-is@^17.0.2: 833 | version "17.0.2" 834 | resolved "https://registry.npmmirror.com/react-is/download/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" 835 | integrity sha1-5pHUqOnHiTZWVVOas3J2Kw77VPA= 836 | 837 | react-is@^18.2.0: 838 | version "18.2.0" 839 | resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" 840 | integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== 841 | 842 | react-transition-group@^4.4.2: 843 | version "4.4.2" 844 | resolved "https://registry.npmmirror.com/react-transition-group/download/react-transition-group-4.4.2.tgz#8b59a56f09ced7b55cbd53c36768b922890d5470" 845 | integrity sha1-i1mlbwnO17VcvVPDZ2i5IokNVHA= 846 | dependencies: 847 | "@babel/runtime" "^7.5.5" 848 | dom-helpers "^5.0.1" 849 | loose-envify "^1.4.0" 850 | prop-types "^15.6.2" 851 | 852 | react@17.0.2: 853 | version "17.0.2" 854 | resolved "https://registry.npmmirror.com/react/download/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" 855 | integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== 856 | dependencies: 857 | loose-envify "^1.1.0" 858 | object-assign "^4.1.1" 859 | 860 | regenerator-runtime@^0.13.4: 861 | version "0.13.9" 862 | resolved "https://registry.npmmirror.com/regenerator-runtime/download/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" 863 | integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== 864 | 865 | resolve-from@^4.0.0: 866 | version "4.0.0" 867 | resolved "https://registry.nlark.com/resolve-from/download/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" 868 | integrity sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY= 869 | 870 | resolve@^1.19.0: 871 | version "1.22.1" 872 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" 873 | integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== 874 | dependencies: 875 | is-core-module "^2.9.0" 876 | path-parse "^1.0.7" 877 | supports-preserve-symlinks-flag "^1.0.0" 878 | 879 | safe-buffer@~5.1.1: 880 | version "5.1.2" 881 | resolved "https://registry.nlark.com/safe-buffer/download/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 882 | integrity sha1-mR7GnSluAxN0fVm9/St0XDX4go0= 883 | 884 | scheduler@^0.20.2: 885 | version "0.20.2" 886 | resolved "https://registry.npmmirror.com/scheduler/download/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" 887 | integrity sha1-S67jlDbjSqk7SHS93L8P6Li1DpE= 888 | dependencies: 889 | loose-envify "^1.1.0" 890 | object-assign "^4.1.1" 891 | 892 | source-map-js@^1.0.2: 893 | version "1.0.2" 894 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" 895 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== 896 | 897 | source-map@^0.5.7: 898 | version "0.5.7" 899 | resolved "https://registry.nlark.com/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1618847019434&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 900 | integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= 901 | 902 | styled-jsx@5.0.6: 903 | version "5.0.6" 904 | resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.0.6.tgz#fa684790a9cc3badded14badea163418fe568f77" 905 | integrity sha512-xOeROtkK5MGMDimBQ3J6iPId8q0t/BDoG5XN6oKkZClVz9ISF/hihN8OCn2LggMU6N32aXnrXBdn3auSqNS9fA== 906 | 907 | stylis@4.0.13: 908 | version "4.0.13" 909 | resolved "https://registry.npmmirror.com/stylis/download/stylis-4.0.13.tgz#f5db332e376d13cc84ecfe5dace9a2a51d954c91" 910 | integrity sha512-xGPXiFVl4YED9Jh7Euv2V220mriG9u4B2TA6Ybjc1catrstKD2PpIdU3U0RKpkVBC2EhmL/F0sPCr9vrFTNRag== 911 | 912 | supports-color@^5.3.0: 913 | version "5.5.0" 914 | resolved "https://registry.npmmirror.com/supports-color/download/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 915 | integrity sha1-4uaaRKyHcveKHsCzW2id9lMO/I8= 916 | dependencies: 917 | has-flag "^3.0.0" 918 | 919 | supports-preserve-symlinks-flag@^1.0.0: 920 | version "1.0.0" 921 | resolved "https://registry.npmmirror.com/supports-preserve-symlinks-flag/download/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" 922 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 923 | 924 | tiny-warning@^1.0.2: 925 | version "1.0.3" 926 | resolved "https://registry.npmmirror.com/tiny-warning/download/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" 927 | integrity sha1-lKMNtFPfTGQ9D9VmBg1gqHXYR1Q= 928 | 929 | to-fast-properties@^2.0.0: 930 | version "2.0.0" 931 | resolved "https://registry.nlark.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 932 | integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= 933 | 934 | tslib@^2.4.0: 935 | version "2.4.0" 936 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" 937 | integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== 938 | 939 | typescript@^4.8.3: 940 | version "4.8.3" 941 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.3.tgz#d59344522c4bc464a65a730ac695007fdb66dd88" 942 | integrity sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig== 943 | 944 | use-sync-external-store@1.2.0: 945 | version "1.2.0" 946 | resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a" 947 | integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== 948 | 949 | yaml@^1.10.0: 950 | version "1.10.2" 951 | resolved "https://registry.npmmirror.com/yaml/download/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" 952 | integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== 953 | --------------------------------------------------------------------------------