egatari 0.0.0-stage → 0.6.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1071 -0
- package/LICENSE +21 -0
- package/NOTICE +73 -0
- package/README.ja.md +340 -0
- package/README.md +339 -2
- package/SECURITY.md +74 -0
- package/bin/egatari.mjs +162 -0
- package/components.lock.json +2972 -0
- package/components2.lock.json +1411 -0
- package/fonts/@fontsource/andika/400-italic.css +49 -0
- package/fonts/@fontsource/andika/400.css +49 -0
- package/fonts/@fontsource/andika/700-italic.css +49 -0
- package/fonts/@fontsource/andika/700.css +49 -0
- package/fonts/@fontsource/andika/LICENSE +93 -0
- package/fonts/@fontsource/andika/files/andika-cyrillic-400-italic.woff2 +0 -0
- package/fonts/@fontsource/andika/files/andika-cyrillic-400-normal.woff2 +0 -0
- package/fonts/@fontsource/andika/files/andika-cyrillic-700-italic.woff2 +0 -0
- package/fonts/@fontsource/andika/files/andika-cyrillic-700-normal.woff2 +0 -0
- package/fonts/@fontsource/andika/files/andika-cyrillic-ext-400-italic.woff2 +0 -0
- package/fonts/@fontsource/andika/files/andika-cyrillic-ext-400-normal.woff2 +0 -0
- package/fonts/@fontsource/andika/files/andika-cyrillic-ext-700-italic.woff2 +0 -0
- package/fonts/@fontsource/andika/files/andika-cyrillic-ext-700-normal.woff2 +0 -0
- package/fonts/@fontsource/andika/files/andika-latin-400-italic.woff2 +0 -0
- package/fonts/@fontsource/andika/files/andika-latin-400-normal.woff2 +0 -0
- package/fonts/@fontsource/andika/files/andika-latin-700-italic.woff2 +0 -0
- package/fonts/@fontsource/andika/files/andika-latin-700-normal.woff2 +0 -0
- package/fonts/@fontsource/andika/files/andika-latin-ext-400-italic.woff2 +0 -0
- package/fonts/@fontsource/andika/files/andika-latin-ext-400-normal.woff2 +0 -0
- package/fonts/@fontsource/andika/files/andika-latin-ext-700-italic.woff2 +0 -0
- package/fonts/@fontsource/andika/files/andika-latin-ext-700-normal.woff2 +0 -0
- package/fonts/@fontsource/andika/files/andika-vietnamese-400-italic.woff2 +0 -0
- package/fonts/@fontsource/andika/files/andika-vietnamese-400-normal.woff2 +0 -0
- package/fonts/@fontsource/andika/files/andika-vietnamese-700-italic.woff2 +0 -0
- package/fonts/@fontsource/andika/files/andika-vietnamese-700-normal.woff2 +0 -0
- package/fonts/@fontsource/andika/package.json +6 -0
- package/fonts/@fontsource/atkinson-hyperlegible-next/400-italic.css +19 -0
- package/fonts/@fontsource/atkinson-hyperlegible-next/400.css +19 -0
- package/fonts/@fontsource/atkinson-hyperlegible-next/700-italic.css +19 -0
- package/fonts/@fontsource/atkinson-hyperlegible-next/700.css +19 -0
- package/fonts/@fontsource/atkinson-hyperlegible-next/LICENSE +93 -0
- package/fonts/@fontsource/atkinson-hyperlegible-next/files/atkinson-hyperlegible-next-latin-400-italic.woff2 +0 -0
- package/fonts/@fontsource/atkinson-hyperlegible-next/files/atkinson-hyperlegible-next-latin-400-normal.woff2 +0 -0
- package/fonts/@fontsource/atkinson-hyperlegible-next/files/atkinson-hyperlegible-next-latin-700-italic.woff2 +0 -0
- package/fonts/@fontsource/atkinson-hyperlegible-next/files/atkinson-hyperlegible-next-latin-700-normal.woff2 +0 -0
- package/fonts/@fontsource/atkinson-hyperlegible-next/files/atkinson-hyperlegible-next-latin-ext-400-italic.woff2 +0 -0
- package/fonts/@fontsource/atkinson-hyperlegible-next/files/atkinson-hyperlegible-next-latin-ext-400-normal.woff2 +0 -0
- package/fonts/@fontsource/atkinson-hyperlegible-next/files/atkinson-hyperlegible-next-latin-ext-700-italic.woff2 +0 -0
- package/fonts/@fontsource/atkinson-hyperlegible-next/files/atkinson-hyperlegible-next-latin-ext-700-normal.woff2 +0 -0
- package/fonts/@fontsource/atkinson-hyperlegible-next/package.json +6 -0
- package/fonts/@fontsource/biz-udpgothic/400.css +1239 -0
- package/fonts/@fontsource/biz-udpgothic/700.css +1239 -0
- package/fonts/@fontsource/biz-udpgothic/LICENSE +93 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-0-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-0-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-1-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-1-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-10-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-10-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-100-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-100-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-101-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-101-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-102-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-102-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-103-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-103-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-104-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-104-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-105-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-105-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-106-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-106-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-107-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-107-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-108-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-108-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-109-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-109-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-11-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-11-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-110-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-110-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-111-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-111-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-112-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-112-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-113-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-113-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-114-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-114-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-115-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-115-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-116-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-116-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-117-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-117-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-118-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-118-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-119-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-119-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-12-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-12-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-13-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-13-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-14-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-14-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-15-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-15-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-16-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-16-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-17-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-17-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-18-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-18-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-19-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-19-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-2-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-2-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-20-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-20-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-21-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-21-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-22-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-22-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-23-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-23-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-24-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-24-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-25-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-25-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-26-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-26-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-27-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-27-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-28-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-28-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-29-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-29-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-3-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-3-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-30-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-30-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-31-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-31-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-32-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-32-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-33-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-33-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-34-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-34-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-35-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-35-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-36-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-36-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-37-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-37-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-38-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-38-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-39-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-39-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-4-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-4-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-40-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-40-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-41-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-41-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-42-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-42-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-43-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-43-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-44-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-44-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-45-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-45-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-46-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-46-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-47-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-47-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-48-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-48-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-49-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-49-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-5-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-5-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-50-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-50-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-51-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-51-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-52-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-52-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-53-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-53-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-54-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-54-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-55-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-55-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-56-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-56-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-57-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-57-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-58-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-58-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-59-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-59-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-6-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-6-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-60-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-60-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-61-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-61-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-62-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-62-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-63-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-63-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-64-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-64-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-65-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-65-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-66-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-66-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-67-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-67-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-68-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-68-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-69-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-69-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-7-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-7-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-70-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-70-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-71-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-71-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-72-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-72-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-73-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-73-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-74-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-74-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-75-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-75-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-76-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-76-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-77-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-77-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-78-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-78-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-79-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-79-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-8-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-8-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-80-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-80-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-81-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-81-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-82-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-82-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-83-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-83-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-84-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-84-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-85-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-85-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-86-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-86-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-87-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-87-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-88-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-88-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-89-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-89-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-9-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-9-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-90-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-90-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-91-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-91-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-92-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-92-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-93-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-93-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-94-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-94-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-95-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-95-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-96-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-96-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-97-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-97-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-98-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-98-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-99-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-99-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-cyrillic-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-cyrillic-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-greek-ext-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-greek-ext-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-latin-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-latin-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-latin-ext-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/files/biz-udpgothic-latin-ext-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpgothic/package.json +6 -0
- package/fonts/@fontsource/biz-udpmincho/400.css +1239 -0
- package/fonts/@fontsource/biz-udpmincho/700.css +1239 -0
- package/fonts/@fontsource/biz-udpmincho/LICENSE +93 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-0-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-0-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-1-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-1-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-10-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-10-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-100-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-100-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-101-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-101-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-102-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-102-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-103-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-103-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-104-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-104-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-105-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-105-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-106-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-106-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-107-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-107-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-108-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-108-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-109-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-109-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-11-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-11-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-110-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-110-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-111-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-111-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-112-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-112-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-113-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-113-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-114-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-114-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-115-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-115-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-116-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-116-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-117-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-117-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-118-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-118-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-119-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-119-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-12-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-12-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-13-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-13-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-14-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-14-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-15-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-15-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-16-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-16-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-17-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-17-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-18-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-18-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-19-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-19-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-2-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-2-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-20-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-20-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-21-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-21-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-22-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-22-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-23-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-23-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-24-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-24-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-25-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-25-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-26-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-26-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-27-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-27-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-28-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-28-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-29-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-29-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-3-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-3-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-30-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-30-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-31-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-31-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-32-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-32-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-33-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-33-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-34-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-34-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-35-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-35-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-36-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-36-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-37-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-37-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-38-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-38-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-39-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-39-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-4-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-4-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-40-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-40-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-41-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-41-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-42-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-42-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-43-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-43-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-44-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-44-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-45-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-45-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-46-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-46-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-47-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-47-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-48-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-48-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-49-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-49-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-5-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-5-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-50-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-50-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-51-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-51-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-52-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-52-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-53-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-53-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-54-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-54-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-55-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-55-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-56-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-56-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-57-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-57-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-58-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-58-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-59-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-59-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-6-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-6-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-60-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-60-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-61-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-61-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-62-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-62-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-63-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-63-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-64-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-64-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-65-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-65-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-66-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-66-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-67-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-67-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-68-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-68-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-69-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-69-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-7-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-7-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-70-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-70-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-71-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-71-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-72-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-72-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-73-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-73-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-74-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-74-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-75-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-75-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-76-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-76-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-77-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-77-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-78-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-78-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-79-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-79-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-8-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-8-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-80-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-80-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-81-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-81-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-82-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-82-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-83-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-83-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-84-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-84-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-85-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-85-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-86-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-86-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-87-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-87-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-88-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-88-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-89-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-89-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-9-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-9-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-90-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-90-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-91-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-91-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-92-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-92-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-93-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-93-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-94-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-94-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-95-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-95-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-96-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-96-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-97-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-97-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-98-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-98-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-99-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-99-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-cyrillic-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-cyrillic-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-greek-ext-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-greek-ext-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-latin-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-latin-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-latin-ext-400-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/files/biz-udpmincho-latin-ext-700-normal.woff2 +0 -0
- package/fonts/@fontsource/biz-udpmincho/package.json +6 -0
- package/fonts/@fontsource/klee-one/400.css +1239 -0
- package/fonts/@fontsource/klee-one/600.css +1239 -0
- package/fonts/@fontsource/klee-one/LICENSE +93 -0
- package/fonts/@fontsource/klee-one/files/klee-one-0-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-0-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-1-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-1-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-10-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-10-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-100-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-100-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-101-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-101-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-102-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-102-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-103-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-103-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-104-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-104-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-105-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-105-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-106-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-106-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-107-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-107-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-108-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-108-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-109-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-109-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-11-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-11-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-110-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-110-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-111-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-111-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-112-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-112-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-113-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-113-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-114-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-114-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-115-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-115-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-116-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-116-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-117-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-117-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-118-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-118-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-119-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-119-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-12-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-12-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-13-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-13-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-14-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-14-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-15-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-15-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-16-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-16-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-17-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-17-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-18-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-18-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-19-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-19-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-2-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-2-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-20-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-20-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-21-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-21-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-22-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-22-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-23-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-23-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-24-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-24-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-25-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-25-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-26-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-26-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-27-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-27-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-28-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-28-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-29-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-29-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-3-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-3-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-30-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-30-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-31-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-31-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-32-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-32-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-33-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-33-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-34-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-34-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-35-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-35-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-36-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-36-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-37-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-37-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-38-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-38-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-39-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-39-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-4-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-4-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-40-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-40-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-41-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-41-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-42-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-42-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-43-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-43-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-44-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-44-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-45-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-45-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-46-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-46-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-47-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-47-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-48-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-48-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-49-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-49-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-5-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-5-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-50-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-50-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-51-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-51-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-52-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-52-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-53-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-53-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-54-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-54-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-55-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-55-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-56-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-56-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-57-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-57-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-58-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-58-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-59-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-59-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-6-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-6-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-60-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-60-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-61-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-61-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-62-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-62-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-63-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-63-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-64-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-64-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-65-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-65-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-66-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-66-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-67-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-67-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-68-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-68-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-69-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-69-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-7-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-7-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-70-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-70-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-71-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-71-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-72-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-72-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-73-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-73-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-74-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-74-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-75-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-75-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-76-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-76-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-77-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-77-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-78-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-78-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-79-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-79-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-8-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-8-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-80-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-80-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-81-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-81-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-82-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-82-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-83-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-83-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-84-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-84-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-85-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-85-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-86-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-86-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-87-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-87-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-88-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-88-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-89-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-89-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-9-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-9-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-90-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-90-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-91-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-91-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-92-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-92-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-93-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-93-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-94-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-94-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-95-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-95-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-96-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-96-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-97-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-97-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-98-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-98-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-99-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-99-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-cyrillic-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-cyrillic-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-greek-ext-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-greek-ext-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-latin-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-latin-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-latin-ext-400-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/files/klee-one-latin-ext-600-normal.woff2 +0 -0
- package/fonts/@fontsource/klee-one/package.json +6 -0
- package/fonts/@fontsource/shippori-mincho/400.css +1219 -0
- package/fonts/@fontsource/shippori-mincho/700.css +1219 -0
- package/fonts/@fontsource/shippori-mincho/LICENSE +93 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-0-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-0-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-1-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-1-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-10-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-10-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-100-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-100-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-101-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-101-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-102-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-102-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-103-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-103-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-104-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-104-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-105-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-105-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-106-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-106-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-107-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-107-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-108-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-108-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-109-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-109-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-11-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-11-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-110-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-110-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-111-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-111-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-112-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-112-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-113-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-113-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-114-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-114-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-115-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-115-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-116-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-116-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-117-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-117-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-118-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-118-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-119-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-119-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-12-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-12-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-13-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-13-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-14-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-14-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-15-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-15-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-16-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-16-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-17-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-17-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-18-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-18-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-19-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-19-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-2-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-2-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-20-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-20-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-21-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-21-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-22-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-22-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-23-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-23-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-24-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-24-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-25-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-25-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-26-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-26-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-27-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-27-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-28-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-28-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-29-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-29-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-3-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-3-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-30-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-30-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-31-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-31-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-32-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-32-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-33-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-33-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-34-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-34-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-35-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-35-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-36-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-36-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-37-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-37-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-38-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-38-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-39-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-39-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-4-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-4-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-40-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-40-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-41-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-41-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-42-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-42-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-43-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-43-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-44-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-44-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-45-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-45-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-46-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-46-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-47-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-47-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-48-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-48-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-49-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-49-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-5-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-5-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-50-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-50-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-51-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-51-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-52-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-52-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-53-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-53-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-54-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-54-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-55-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-55-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-56-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-56-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-57-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-57-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-58-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-58-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-59-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-59-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-6-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-6-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-60-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-60-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-61-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-61-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-62-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-62-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-63-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-63-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-64-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-64-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-65-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-65-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-66-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-66-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-67-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-67-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-68-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-68-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-69-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-69-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-7-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-7-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-70-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-70-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-71-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-71-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-72-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-72-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-73-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-73-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-74-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-74-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-75-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-75-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-76-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-76-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-77-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-77-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-78-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-78-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-79-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-79-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-8-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-8-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-80-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-80-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-81-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-81-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-82-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-82-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-83-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-83-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-84-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-84-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-85-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-85-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-86-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-86-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-87-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-87-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-88-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-88-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-89-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-89-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-9-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-9-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-90-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-90-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-91-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-91-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-92-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-92-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-93-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-93-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-94-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-94-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-95-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-95-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-96-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-96-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-97-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-97-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-98-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-98-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-99-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-99-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-latin-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-latin-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-latin-ext-400-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/files/shippori-mincho-latin-ext-700-normal.woff2 +0 -0
- package/fonts/@fontsource/shippori-mincho/package.json +6 -0
- package/fonts/@fontsource/source-code-pro/400.css +69 -0
- package/fonts/@fontsource/source-code-pro/700.css +69 -0
- package/fonts/@fontsource/source-code-pro/LICENSE +93 -0
- package/fonts/@fontsource/source-code-pro/files/source-code-pro-cyrillic-400-normal.woff2 +0 -0
- package/fonts/@fontsource/source-code-pro/files/source-code-pro-cyrillic-700-normal.woff2 +0 -0
- package/fonts/@fontsource/source-code-pro/files/source-code-pro-cyrillic-ext-400-normal.woff2 +0 -0
- package/fonts/@fontsource/source-code-pro/files/source-code-pro-cyrillic-ext-700-normal.woff2 +0 -0
- package/fonts/@fontsource/source-code-pro/files/source-code-pro-greek-400-normal.woff2 +0 -0
- package/fonts/@fontsource/source-code-pro/files/source-code-pro-greek-700-normal.woff2 +0 -0
- package/fonts/@fontsource/source-code-pro/files/source-code-pro-greek-ext-400-normal.woff2 +0 -0
- package/fonts/@fontsource/source-code-pro/files/source-code-pro-greek-ext-700-normal.woff2 +0 -0
- package/fonts/@fontsource/source-code-pro/files/source-code-pro-latin-400-normal.woff2 +0 -0
- package/fonts/@fontsource/source-code-pro/files/source-code-pro-latin-700-normal.woff2 +0 -0
- package/fonts/@fontsource/source-code-pro/files/source-code-pro-latin-ext-400-normal.woff2 +0 -0
- package/fonts/@fontsource/source-code-pro/files/source-code-pro-latin-ext-700-normal.woff2 +0 -0
- package/fonts/@fontsource/source-code-pro/files/source-code-pro-vietnamese-400-normal.woff2 +0 -0
- package/fonts/@fontsource/source-code-pro/files/source-code-pro-vietnamese-700-normal.woff2 +0 -0
- package/fonts/@fontsource/source-code-pro/package.json +6 -0
- package/fonts/@fontsource/source-sans-3/400-italic.css +69 -0
- package/fonts/@fontsource/source-sans-3/400.css +69 -0
- package/fonts/@fontsource/source-sans-3/700-italic.css +69 -0
- package/fonts/@fontsource/source-sans-3/700.css +69 -0
- package/fonts/@fontsource/source-sans-3/LICENSE +93 -0
- package/fonts/@fontsource/source-sans-3/files/source-sans-3-cyrillic-400-italic.woff2 +0 -0
- package/fonts/@fontsource/source-sans-3/files/source-sans-3-cyrillic-400-normal.woff2 +0 -0
- package/fonts/@fontsource/source-sans-3/files/source-sans-3-cyrillic-700-italic.woff2 +0 -0
- package/fonts/@fontsource/source-sans-3/files/source-sans-3-cyrillic-700-normal.woff2 +0 -0
- package/fonts/@fontsource/source-sans-3/files/source-sans-3-cyrillic-ext-400-italic.woff2 +0 -0
- package/fonts/@fontsource/source-sans-3/files/source-sans-3-cyrillic-ext-400-normal.woff2 +0 -0
- package/fonts/@fontsource/source-sans-3/files/source-sans-3-cyrillic-ext-700-italic.woff2 +0 -0
- package/fonts/@fontsource/source-sans-3/files/source-sans-3-cyrillic-ext-700-normal.woff2 +0 -0
- package/fonts/@fontsource/source-sans-3/files/source-sans-3-greek-400-italic.woff2 +0 -0
- package/fonts/@fontsource/source-sans-3/files/source-sans-3-greek-400-normal.woff2 +0 -0
- package/fonts/@fontsource/source-sans-3/files/source-sans-3-greek-700-italic.woff2 +0 -0
- package/fonts/@fontsource/source-sans-3/files/source-sans-3-greek-700-normal.woff2 +0 -0
- package/fonts/@fontsource/source-sans-3/files/source-sans-3-greek-ext-400-italic.woff2 +0 -0
- package/fonts/@fontsource/source-sans-3/files/source-sans-3-greek-ext-400-normal.woff2 +0 -0
- package/fonts/@fontsource/source-sans-3/files/source-sans-3-greek-ext-700-italic.woff2 +0 -0
- package/fonts/@fontsource/source-sans-3/files/source-sans-3-greek-ext-700-normal.woff2 +0 -0
- package/fonts/@fontsource/source-sans-3/files/source-sans-3-latin-400-italic.woff2 +0 -0
- package/fonts/@fontsource/source-sans-3/files/source-sans-3-latin-400-normal.woff2 +0 -0
- package/fonts/@fontsource/source-sans-3/files/source-sans-3-latin-700-italic.woff2 +0 -0
- package/fonts/@fontsource/source-sans-3/files/source-sans-3-latin-700-normal.woff2 +0 -0
- package/fonts/@fontsource/source-sans-3/files/source-sans-3-latin-ext-400-italic.woff2 +0 -0
- package/fonts/@fontsource/source-sans-3/files/source-sans-3-latin-ext-400-normal.woff2 +0 -0
- package/fonts/@fontsource/source-sans-3/files/source-sans-3-latin-ext-700-italic.woff2 +0 -0
- package/fonts/@fontsource/source-sans-3/files/source-sans-3-latin-ext-700-normal.woff2 +0 -0
- package/fonts/@fontsource/source-sans-3/files/source-sans-3-vietnamese-400-italic.woff2 +0 -0
- package/fonts/@fontsource/source-sans-3/files/source-sans-3-vietnamese-400-normal.woff2 +0 -0
- package/fonts/@fontsource/source-sans-3/files/source-sans-3-vietnamese-700-italic.woff2 +0 -0
- package/fonts/@fontsource/source-sans-3/files/source-sans-3-vietnamese-700-normal.woff2 +0 -0
- package/fonts/@fontsource/source-sans-3/package.json +6 -0
- package/fonts/@fontsource/source-serif-4/400-italic.css +59 -0
- package/fonts/@fontsource/source-serif-4/400.css +59 -0
- package/fonts/@fontsource/source-serif-4/700-italic.css +59 -0
- package/fonts/@fontsource/source-serif-4/700.css +59 -0
- package/fonts/@fontsource/source-serif-4/LICENSE +93 -0
- package/fonts/@fontsource/source-serif-4/files/source-serif-4-cyrillic-400-italic.woff2 +0 -0
- package/fonts/@fontsource/source-serif-4/files/source-serif-4-cyrillic-400-normal.woff2 +0 -0
- package/fonts/@fontsource/source-serif-4/files/source-serif-4-cyrillic-700-italic.woff2 +0 -0
- package/fonts/@fontsource/source-serif-4/files/source-serif-4-cyrillic-700-normal.woff2 +0 -0
- package/fonts/@fontsource/source-serif-4/files/source-serif-4-cyrillic-ext-400-italic.woff2 +0 -0
- package/fonts/@fontsource/source-serif-4/files/source-serif-4-cyrillic-ext-400-normal.woff2 +0 -0
- package/fonts/@fontsource/source-serif-4/files/source-serif-4-cyrillic-ext-700-italic.woff2 +0 -0
- package/fonts/@fontsource/source-serif-4/files/source-serif-4-cyrillic-ext-700-normal.woff2 +0 -0
- package/fonts/@fontsource/source-serif-4/files/source-serif-4-greek-400-italic.woff2 +0 -0
- package/fonts/@fontsource/source-serif-4/files/source-serif-4-greek-400-normal.woff2 +0 -0
- package/fonts/@fontsource/source-serif-4/files/source-serif-4-greek-700-italic.woff2 +0 -0
- package/fonts/@fontsource/source-serif-4/files/source-serif-4-greek-700-normal.woff2 +0 -0
- package/fonts/@fontsource/source-serif-4/files/source-serif-4-latin-400-italic.woff2 +0 -0
- package/fonts/@fontsource/source-serif-4/files/source-serif-4-latin-400-normal.woff2 +0 -0
- package/fonts/@fontsource/source-serif-4/files/source-serif-4-latin-700-italic.woff2 +0 -0
- package/fonts/@fontsource/source-serif-4/files/source-serif-4-latin-700-normal.woff2 +0 -0
- package/fonts/@fontsource/source-serif-4/files/source-serif-4-latin-ext-400-italic.woff2 +0 -0
- package/fonts/@fontsource/source-serif-4/files/source-serif-4-latin-ext-400-normal.woff2 +0 -0
- package/fonts/@fontsource/source-serif-4/files/source-serif-4-latin-ext-700-italic.woff2 +0 -0
- package/fonts/@fontsource/source-serif-4/files/source-serif-4-latin-ext-700-normal.woff2 +0 -0
- package/fonts/@fontsource/source-serif-4/files/source-serif-4-vietnamese-400-italic.woff2 +0 -0
- package/fonts/@fontsource/source-serif-4/files/source-serif-4-vietnamese-400-normal.woff2 +0 -0
- package/fonts/@fontsource/source-serif-4/files/source-serif-4-vietnamese-700-italic.woff2 +0 -0
- package/fonts/@fontsource/source-serif-4/files/source-serif-4-vietnamese-700-normal.woff2 +0 -0
- package/fonts/@fontsource/source-serif-4/package.json +6 -0
- package/fonts/@fontsource/zen-maru-gothic/400.css +1219 -0
- package/fonts/@fontsource/zen-maru-gothic/700.css +1219 -0
- package/fonts/@fontsource/zen-maru-gothic/LICENSE +93 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-10-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-10-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-100-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-100-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-101-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-101-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-102-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-102-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-103-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-103-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-104-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-104-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-105-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-105-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-106-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-106-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-107-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-107-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-108-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-108-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-109-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-109-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-11-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-11-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-110-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-110-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-111-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-111-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-112-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-112-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-113-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-113-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-114-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-114-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-115-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-115-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-116-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-116-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-117-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-117-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-118-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-118-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-119-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-119-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-12-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-12-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-13-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-13-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-14-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-14-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-15-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-15-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-16-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-16-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-17-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-17-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-18-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-18-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-19-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-19-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-2-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-2-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-20-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-20-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-21-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-21-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-22-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-22-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-23-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-23-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-24-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-24-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-25-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-25-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-26-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-26-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-27-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-27-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-28-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-28-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-29-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-29-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-3-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-3-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-30-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-30-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-31-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-31-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-32-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-32-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-33-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-33-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-34-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-34-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-35-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-35-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-36-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-36-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-37-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-37-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-38-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-38-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-39-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-39-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-4-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-4-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-40-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-40-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-41-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-41-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-42-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-42-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-43-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-43-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-44-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-44-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-45-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-45-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-46-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-46-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-47-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-47-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-48-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-48-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-49-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-49-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-5-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-5-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-50-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-50-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-51-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-51-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-52-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-52-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-53-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-53-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-54-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-54-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-55-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-55-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-56-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-56-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-57-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-57-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-58-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-58-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-59-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-59-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-6-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-6-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-60-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-60-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-61-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-61-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-62-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-62-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-63-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-63-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-64-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-64-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-65-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-65-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-66-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-66-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-67-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-67-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-68-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-68-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-69-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-69-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-7-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-7-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-70-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-70-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-71-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-71-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-72-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-72-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-73-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-73-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-74-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-74-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-75-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-75-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-76-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-76-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-77-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-77-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-78-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-78-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-79-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-79-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-8-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-8-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-80-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-80-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-81-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-81-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-82-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-82-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-83-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-83-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-84-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-84-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-85-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-85-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-86-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-86-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-87-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-87-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-88-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-88-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-89-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-89-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-9-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-9-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-90-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-90-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-91-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-91-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-92-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-92-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-93-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-93-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-94-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-94-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-95-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-95-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-96-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-96-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-97-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-97-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-98-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-98-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-99-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-99-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-cyrillic-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-cyrillic-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-greek-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-greek-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-latin-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-latin-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-latin-ext-400-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/files/zen-maru-gothic-latin-ext-700-normal.woff2 +0 -0
- package/fonts/@fontsource/zen-maru-gothic/package.json +6 -0
- package/fonts/OFL-BIZUDPMincho.txt +93 -0
- package/fonts/OFL.txt +93 -0
- package/kit/abcjs-node.mjs +38 -0
- package/kit/base.css +98 -0
- package/kit/bounded-read.mjs +59 -0
- package/kit/browser.mjs +98 -0
- package/kit/build.mjs +336 -0
- package/kit/check-messages.mjs +343 -0
- package/kit/check.mjs +729 -0
- package/kit/core/abcjs.mjs +150 -0
- package/kit/core/attach-content.mjs +818 -0
- package/kit/core/attachments.mjs +255 -0
- package/kit/core/audio-core.mjs +263 -0
- package/kit/core/backup-name.mjs +8 -0
- package/kit/core/bounded-html.mjs +57 -0
- package/kit/core/bounded-read-core.mjs +55 -0
- package/kit/core/build-core.mjs +1249 -0
- package/kit/core/check-result.mjs +14 -0
- package/kit/core/code-scan.mjs +202 -0
- package/kit/core/colab-core.mjs +197 -0
- package/kit/core/color-check.mjs +49 -0
- package/kit/core/comment-core.mjs +93 -0
- package/kit/core/components-lock.mjs +169 -0
- package/kit/core/config-file.mjs +140 -0
- package/kit/core/error-text.mjs +26 -0
- package/kit/core/export-name.mjs +44 -0
- package/kit/core/favicon.mjs +33 -0
- package/kit/core/file-policy.mjs +165 -0
- package/kit/core/format.mjs +38 -0
- package/kit/core/identity-hash.mjs +31 -0
- package/kit/core/katex-ranges.mjs +26 -0
- package/kit/core/layout-scan.mjs +635 -0
- package/kit/core/legacy-vocab.mjs +36 -0
- package/kit/core/link-policy.mjs +76 -0
- package/kit/core/live-policy.mjs +274 -0
- package/kit/core/live-results.mjs +239 -0
- package/kit/core/live.mjs +262 -0
- package/kit/core/llm-fix.mjs +162 -0
- package/kit/core/llm-import.mjs +269 -0
- package/kit/core/llm-insert.mjs +95 -0
- package/kit/core/llm-outline.mjs +167 -0
- package/kit/core/llm-pack-assemble.mjs +145 -0
- package/kit/core/llm-pack-data.mjs +1614 -0
- package/kit/core/llm-pack.mjs +96 -0
- package/kit/core/llm-request.mjs +55 -0
- package/kit/core/mp3.mjs +28 -0
- package/kit/core/narration-core.mjs +141 -0
- package/kit/core/narration-lint.mjs +146 -0
- package/kit/core/narration-parse.mjs +225 -0
- package/kit/core/new-deck.mjs +247 -0
- package/kit/core/part-labels.mjs +61 -0
- package/kit/core/parts2.mjs +460 -0
- package/kit/core/path-posix.mjs +47 -0
- package/kit/core/player.mjs +89 -0
- package/kit/core/portable.mjs +1721 -0
- package/kit/core/position.mjs +46 -0
- package/kit/core/purposes.mjs +183 -0
- package/kit/core/read-aloud.mjs +166 -0
- package/kit/core/ref-voice.mjs +75 -0
- package/kit/core/sha1.mjs +34 -0
- package/kit/core/slide-ids.mjs +214 -0
- package/kit/core/slide-ops.mjs +293 -0
- package/kit/core/sound-preferences.mjs +17 -0
- package/kit/core/sounds.mjs +149 -0
- package/kit/core/template-text.mjs +88 -0
- package/kit/core/theme-metrics.mjs +112 -0
- package/kit/core/theme-shapes.mjs +78 -0
- package/kit/core/themes-list.mjs +23 -0
- package/kit/core/themes-lock.mjs +150 -0
- package/kit/core/tier-a.mjs +625 -0
- package/kit/core/tts-normalize.mjs +20 -0
- package/kit/core/wav-core.mjs +78 -0
- package/kit/core/yomi.mjs +64 -0
- package/kit/core/zip-read.mjs +125 -0
- package/kit/deck.js +2333 -0
- package/kit/latin.css +3 -0
- package/kit/layouts.css +98 -0
- package/kit/live.js +670 -0
- package/kit/llm-pack.mjs +102 -0
- package/kit/narration.mjs +23 -0
- package/kit/parts-registry.js +87 -0
- package/kit/player.json +5 -0
- package/kit/player.lock.json +4 -0
- package/kit/presenter.js +234 -0
- package/kit/render-compare.mjs +219 -0
- package/kit/safe-fs.mjs +163 -0
- package/kit/shape.js +172 -0
- package/kit/templates/new-deck.mjs +188 -0
- package/kit/theme-dirs.mjs +24 -0
- package/kit/tools.js +1120 -0
- package/package.json +109 -4
- package/render/render.mjs +333 -0
- package/render/sounds.mjs +49 -0
- package/server/dev.mjs +476 -0
- package/server/editor-ui.js +969 -0
- package/server/hints.js +251 -0
- package/server/shell.js +71 -0
- package/themes/asagi/theme.json +14 -0
- package/themes/asagi/tokens.css +17 -0
- package/themes/business/theme.json +5 -0
- package/themes/business/tokens.css +28 -0
- package/themes/default/README.ja.md +31 -0
- package/themes/default/README.md +31 -0
- package/themes/default/theme.json +4 -0
- package/themes/default/tokens.css +73 -0
- package/themes/kogecha/theme.json +10 -0
- package/themes/kogecha/tokens.css +16 -0
- package/themes/kokugo/theme.json +4 -0
- package/themes/kokugo/tokens.css +12 -0
- package/themes/murasaki/theme.json +10 -0
- package/themes/murasaki/tokens.css +12 -0
- package/themes/sumi/theme.json +10 -0
- package/themes/sumi/tokens.css +36 -0
- package/themes/tokiwa/theme.json +10 -0
- package/themes/tokiwa/tokens.css +14 -0
- package/themes.lock.json +124 -0
- package/tools/comment-shots.mjs +155 -0
- package/tools/ids.mjs +155 -0
- package/tools/new.mjs +78 -0
- package/tools/portable.mjs +281 -0
- package/tools/sheet.mjs +135 -0
- package/tools/video.mjs +42 -0
- package/tts/.python-version +1 -0
- package/tts/core.py +237 -0
- package/tts/pyproject.toml +12 -0
- package/tts/synth.py +401 -0
- package/tts/uv.lock +211 -0
- package/tts/voices/README.md +34 -0
- package/tts/voices/alice.wav +0 -0
- package/tts/voices/alice_en.wav +0 -0
- package/tts/voices/bob.wav +0 -0
- package/tts/voices/bob_en.wav +0 -0
- package/tts/yomi.py +162 -0
- package/tts/yomi.yaml +127 -0
- package/vendor/components/CATALOG.md +55 -0
- package/vendor/components/LICENSE +21 -0
- package/vendor/components/manifest.json +1131 -0
- package/vendor/components/sha256/024d2fcefd31ed33ee5c9274e3eafa248a86a773ad592210e766e19d58b28782/README.md +33 -0
- package/vendor/components/sha256/024d2fcefd31ed33ee5c9274e3eafa248a86a773ad592210e766e19d58b28782/demo.html +69 -0
- package/vendor/components/sha256/024d2fcefd31ed33ee5c9274e3eafa248a86a773ad592210e766e19d58b28782/index.js +261 -0
- package/vendor/components/sha256/029f5c406491c39d23f1a35befc702bde2eb882a51fdd2d2bbd9cefb9aaff5d5/CHANGELOG.md +41 -0
- package/vendor/components/sha256/029f5c406491c39d23f1a35befc702bde2eb882a51fdd2d2bbd9cefb9aaff5d5/LICENSE-strokesvg.txt +115 -0
- package/vendor/components/sha256/029f5c406491c39d23f1a35befc702bde2eb882a51fdd2d2bbd9cefb9aaff5d5/OFL.txt +93 -0
- package/vendor/components/sha256/029f5c406491c39d23f1a35befc702bde2eb882a51fdd2d2bbd9cefb9aaff5d5/README.md +33 -0
- package/vendor/components/sha256/029f5c406491c39d23f1a35befc702bde2eb882a51fdd2d2bbd9cefb9aaff5d5/demo.html +40 -0
- package/vendor/components/sha256/029f5c406491c39d23f1a35befc702bde2eb882a51fdd2d2bbd9cefb9aaff5d5/index.js +749 -0
- package/vendor/components/sha256/029f5c406491c39d23f1a35befc702bde2eb882a51fdd2d2bbd9cefb9aaff5d5/strokes-CHANGES.md +20 -0
- package/vendor/components/sha256/03ad8f02fe39c4adc55aae617b79763bd7880af6786126e358f8c02ad7fb7dd8/CHANGELOG.md +25 -0
- package/vendor/components/sha256/03ad8f02fe39c4adc55aae617b79763bd7880af6786126e358f8c02ad7fb7dd8/README.md +46 -0
- package/vendor/components/sha256/03ad8f02fe39c4adc55aae617b79763bd7880af6786126e358f8c02ad7fb7dd8/demo.html +112 -0
- package/vendor/components/sha256/03ad8f02fe39c4adc55aae617b79763bd7880af6786126e358f8c02ad7fb7dd8/index.js +467 -0
- package/vendor/components/sha256/04e95936600124c9542c4013710cd2b524da75fe551239afa471fed5c5b8d17b/README.md +14 -0
- package/vendor/components/sha256/04e95936600124c9542c4013710cd2b524da75fe551239afa471fed5c5b8d17b/demo.html +236 -0
- package/vendor/components/sha256/04e95936600124c9542c4013710cd2b524da75fe551239afa471fed5c5b8d17b/index.js +631 -0
- package/vendor/components/sha256/09ac1c4db96cdee05ea4857b63b643c15d87b13f4df025cc3b96c0b6bbfe7b5d/README.md +38 -0
- package/vendor/components/sha256/09ac1c4db96cdee05ea4857b63b643c15d87b13f4df025cc3b96c0b6bbfe7b5d/demo.html +92 -0
- package/vendor/components/sha256/09ac1c4db96cdee05ea4857b63b643c15d87b13f4df025cc3b96c0b6bbfe7b5d/index.js +402 -0
- package/vendor/components/sha256/0aef0b1aaa430f2f4cb3a3bc09e23f5cb00f280d9b524f692b0ddce99e267c3b/CHANGELOG.md +35 -0
- package/vendor/components/sha256/0aef0b1aaa430f2f4cb3a3bc09e23f5cb00f280d9b524f692b0ddce99e267c3b/README.md +36 -0
- package/vendor/components/sha256/0aef0b1aaa430f2f4cb3a3bc09e23f5cb00f280d9b524f692b0ddce99e267c3b/demo.html +52 -0
- package/vendor/components/sha256/0aef0b1aaa430f2f4cb3a3bc09e23f5cb00f280d9b524f692b0ddce99e267c3b/index.js +267 -0
- package/vendor/components/sha256/0b3db4a02b369f58fc10aef5f4c26b95b7f1fbc18f9fcd073484e1f33cdafd82/CHANGELOG.md +24 -0
- package/vendor/components/sha256/0b3db4a02b369f58fc10aef5f4c26b95b7f1fbc18f9fcd073484e1f33cdafd82/README.md +35 -0
- package/vendor/components/sha256/0b3db4a02b369f58fc10aef5f4c26b95b7f1fbc18f9fcd073484e1f33cdafd82/demo.html +53 -0
- package/vendor/components/sha256/0b3db4a02b369f58fc10aef5f4c26b95b7f1fbc18f9fcd073484e1f33cdafd82/index.js +481 -0
- package/vendor/components/sha256/0b97f68e55cdba5b9953775a5e79b4005f3f745b41756e4103556ef33a93d614/README.md +48 -0
- package/vendor/components/sha256/0b97f68e55cdba5b9953775a5e79b4005f3f745b41756e4103556ef33a93d614/demo.html +61 -0
- package/vendor/components/sha256/0b97f68e55cdba5b9953775a5e79b4005f3f745b41756e4103556ef33a93d614/index.js +114 -0
- package/vendor/components/sha256/0c02494c234498ef3a20d9e605f886425223639dbf94e20a27b97c82d9ada188/README.md +69 -0
- package/vendor/components/sha256/0c02494c234498ef3a20d9e605f886425223639dbf94e20a27b97c82d9ada188/demo.html +50 -0
- package/vendor/components/sha256/0c02494c234498ef3a20d9e605f886425223639dbf94e20a27b97c82d9ada188/index.js +487 -0
- package/vendor/components/sha256/0eb60fac91603d3f3c26cf1ae329ad539365590339d82415c172ee924c25e1d5/CHANGELOG.md +29 -0
- package/vendor/components/sha256/0eb60fac91603d3f3c26cf1ae329ad539365590339d82415c172ee924c25e1d5/README.md +44 -0
- package/vendor/components/sha256/0eb60fac91603d3f3c26cf1ae329ad539365590339d82415c172ee924c25e1d5/demo.html +43 -0
- package/vendor/components/sha256/0eb60fac91603d3f3c26cf1ae329ad539365590339d82415c172ee924c25e1d5/index.js +278 -0
- package/vendor/components/sha256/0ed29166621d8a7095e712b641079560668241671157578fd76c57d0767d6c6d/README.md +47 -0
- package/vendor/components/sha256/0ed29166621d8a7095e712b641079560668241671157578fd76c57d0767d6c6d/demo.html +60 -0
- package/vendor/components/sha256/0ed29166621d8a7095e712b641079560668241671157578fd76c57d0767d6c6d/index.js +113 -0
- package/vendor/components/sha256/0f85ecc000a5665e85229d05a36c0c14e1ddc4bb6b4a4fbedb0fb836b36ea0c2/CHANGELOG.md +30 -0
- package/vendor/components/sha256/0f85ecc000a5665e85229d05a36c0c14e1ddc4bb6b4a4fbedb0fb836b36ea0c2/README.md +32 -0
- package/vendor/components/sha256/0f85ecc000a5665e85229d05a36c0c14e1ddc4bb6b4a4fbedb0fb836b36ea0c2/demo.html +51 -0
- package/vendor/components/sha256/0f85ecc000a5665e85229d05a36c0c14e1ddc4bb6b4a4fbedb0fb836b36ea0c2/index.js +302 -0
- package/vendor/components/sha256/10598b84d3e070ece84905f83ce55eaac9d2df7fc4746e129fe8196bb23d8200/CHANGELOG.md +24 -0
- package/vendor/components/sha256/10598b84d3e070ece84905f83ce55eaac9d2df7fc4746e129fe8196bb23d8200/README.md +43 -0
- package/vendor/components/sha256/10598b84d3e070ece84905f83ce55eaac9d2df7fc4746e129fe8196bb23d8200/demo.html +89 -0
- package/vendor/components/sha256/10598b84d3e070ece84905f83ce55eaac9d2df7fc4746e129fe8196bb23d8200/index.js +298 -0
- package/vendor/components/sha256/106b3dfdf04ae0de25eaf75a0069cde3d2167f69140fe255ef0cdbb485cf5a35/README.md +72 -0
- package/vendor/components/sha256/106b3dfdf04ae0de25eaf75a0069cde3d2167f69140fe255ef0cdbb485cf5a35/demo.html +50 -0
- package/vendor/components/sha256/106b3dfdf04ae0de25eaf75a0069cde3d2167f69140fe255ef0cdbb485cf5a35/index.js +487 -0
- package/vendor/components/sha256/11249486d5823b28ccdcd69cb713c3a99c66de8a42637cb8ab04bc4bce84cb8c/CHANGELOG.md +15 -0
- package/vendor/components/sha256/11249486d5823b28ccdcd69cb713c3a99c66de8a42637cb8ab04bc4bce84cb8c/README.md +25 -0
- package/vendor/components/sha256/11249486d5823b28ccdcd69cb713c3a99c66de8a42637cb8ab04bc4bce84cb8c/demo.html +48 -0
- package/vendor/components/sha256/11249486d5823b28ccdcd69cb713c3a99c66de8a42637cb8ab04bc4bce84cb8c/index.js +88 -0
- package/vendor/components/sha256/1255f8c72c443ec07f74973e6292b8b2a5bf179fd6daed52a40c84cd4813f5b6/CHANGELOG.md +10 -0
- package/vendor/components/sha256/1255f8c72c443ec07f74973e6292b8b2a5bf179fd6daed52a40c84cd4813f5b6/README.md +50 -0
- package/vendor/components/sha256/1255f8c72c443ec07f74973e6292b8b2a5bf179fd6daed52a40c84cd4813f5b6/demo.html +63 -0
- package/vendor/components/sha256/1255f8c72c443ec07f74973e6292b8b2a5bf179fd6daed52a40c84cd4813f5b6/index.js +205 -0
- package/vendor/components/sha256/128a9110ebb4e49be79c099aa7d742914e0fcf937bb15256f1352aa42cfb9b0d/CHANGELOG.md +29 -0
- package/vendor/components/sha256/128a9110ebb4e49be79c099aa7d742914e0fcf937bb15256f1352aa42cfb9b0d/README.md +43 -0
- package/vendor/components/sha256/128a9110ebb4e49be79c099aa7d742914e0fcf937bb15256f1352aa42cfb9b0d/demo.html +89 -0
- package/vendor/components/sha256/128a9110ebb4e49be79c099aa7d742914e0fcf937bb15256f1352aa42cfb9b0d/index.js +309 -0
- package/vendor/components/sha256/131b8d6502cfa409f05cf72b674741128275073ab83a200abbd942767f75ca7c/README.md +41 -0
- package/vendor/components/sha256/131b8d6502cfa409f05cf72b674741128275073ab83a200abbd942767f75ca7c/demo.html +56 -0
- package/vendor/components/sha256/131b8d6502cfa409f05cf72b674741128275073ab83a200abbd942767f75ca7c/index.js +481 -0
- package/vendor/components/sha256/13ecbbf1ccfe59b5ddaddfc96d0c5e8c453dff731b7d39bd0aba4630b666d9c5/CHANGELOG.md +23 -0
- package/vendor/components/sha256/13ecbbf1ccfe59b5ddaddfc96d0c5e8c453dff731b7d39bd0aba4630b666d9c5/README.md +44 -0
- package/vendor/components/sha256/13ecbbf1ccfe59b5ddaddfc96d0c5e8c453dff731b7d39bd0aba4630b666d9c5/demo.html +56 -0
- package/vendor/components/sha256/13ecbbf1ccfe59b5ddaddfc96d0c5e8c453dff731b7d39bd0aba4630b666d9c5/index.js +402 -0
- package/vendor/components/sha256/15f8ebbe2b0e9dcaeacc52d2a47f1aff673d42b0334f028b0a763a4c094bfcb1/README.md +41 -0
- package/vendor/components/sha256/15f8ebbe2b0e9dcaeacc52d2a47f1aff673d42b0334f028b0a763a4c094bfcb1/demo.html +75 -0
- package/vendor/components/sha256/15f8ebbe2b0e9dcaeacc52d2a47f1aff673d42b0334f028b0a763a4c094bfcb1/index.js +349 -0
- package/vendor/components/sha256/1640a5c2b577a321f97e0ff8a2ecc856e51415a9a9e25f8d2423ffbf6b32a896/README.md +41 -0
- package/vendor/components/sha256/1640a5c2b577a321f97e0ff8a2ecc856e51415a9a9e25f8d2423ffbf6b32a896/demo.html +89 -0
- package/vendor/components/sha256/1640a5c2b577a321f97e0ff8a2ecc856e51415a9a9e25f8d2423ffbf6b32a896/index.js +240 -0
- package/vendor/components/sha256/1783baf0a5eb04bb570ce4f2cffd09ab28c458f74286851fa90cfa0a4ff99fa9/CHANGELOG.md +20 -0
- package/vendor/components/sha256/1783baf0a5eb04bb570ce4f2cffd09ab28c458f74286851fa90cfa0a4ff99fa9/README.md +39 -0
- package/vendor/components/sha256/1783baf0a5eb04bb570ce4f2cffd09ab28c458f74286851fa90cfa0a4ff99fa9/demo.html +66 -0
- package/vendor/components/sha256/1783baf0a5eb04bb570ce4f2cffd09ab28c458f74286851fa90cfa0a4ff99fa9/index.js +258 -0
- package/vendor/components/sha256/17e0e42b8e72b34ff4acf5ac64dbcdf4173949d41015ea6003f0f0a378f268bd/README.md +33 -0
- package/vendor/components/sha256/17e0e42b8e72b34ff4acf5ac64dbcdf4173949d41015ea6003f0f0a378f268bd/demo.html +50 -0
- package/vendor/components/sha256/17e0e42b8e72b34ff4acf5ac64dbcdf4173949d41015ea6003f0f0a378f268bd/index.js +231 -0
- package/vendor/components/sha256/195331193a9d0a5677400f354cafb77ed1f7543b6996f07c0ccd934432c92463/README.md +41 -0
- package/vendor/components/sha256/195331193a9d0a5677400f354cafb77ed1f7543b6996f07c0ccd934432c92463/demo.html +44 -0
- package/vendor/components/sha256/195331193a9d0a5677400f354cafb77ed1f7543b6996f07c0ccd934432c92463/index.js +320 -0
- package/vendor/components/sha256/1cda844f00dc1d4a8986812c3419564b2d0604ce0d0d6811a71824d3e98db692/README.md +49 -0
- package/vendor/components/sha256/1cda844f00dc1d4a8986812c3419564b2d0604ce0d0d6811a71824d3e98db692/demo.html +79 -0
- package/vendor/components/sha256/1cda844f00dc1d4a8986812c3419564b2d0604ce0d0d6811a71824d3e98db692/index.js +647 -0
- package/vendor/components/sha256/1da54082b0049fd4e39d12b99a4fbb6bc03317b838940d64e3f87931ce05a950/CHANGELOG.md +20 -0
- package/vendor/components/sha256/1da54082b0049fd4e39d12b99a4fbb6bc03317b838940d64e3f87931ce05a950/README.md +38 -0
- package/vendor/components/sha256/1da54082b0049fd4e39d12b99a4fbb6bc03317b838940d64e3f87931ce05a950/demo.html +115 -0
- package/vendor/components/sha256/1da54082b0049fd4e39d12b99a4fbb6bc03317b838940d64e3f87931ce05a950/index.js +385 -0
- package/vendor/components/sha256/1e83fd0d0006c197ed09155b4230c2a45aabadb8c051b01d19e4bb0655b622d8/CHANGELOG.md +32 -0
- package/vendor/components/sha256/1e83fd0d0006c197ed09155b4230c2a45aabadb8c051b01d19e4bb0655b622d8/README.md +57 -0
- package/vendor/components/sha256/1e83fd0d0006c197ed09155b4230c2a45aabadb8c051b01d19e4bb0655b622d8/demo.html +121 -0
- package/vendor/components/sha256/1e83fd0d0006c197ed09155b4230c2a45aabadb8c051b01d19e4bb0655b622d8/index.js +895 -0
- package/vendor/components/sha256/20caf64d7740669ef99b86d3ab603312c0fe037c4beca3d32288626d9671717d/README.md +36 -0
- package/vendor/components/sha256/20caf64d7740669ef99b86d3ab603312c0fe037c4beca3d32288626d9671717d/demo.html +72 -0
- package/vendor/components/sha256/20caf64d7740669ef99b86d3ab603312c0fe037c4beca3d32288626d9671717d/index.js +260 -0
- package/vendor/components/sha256/219cfeabef4dff696e948c8eeb129570247b6ff903ee795ec7f631c9ee242562/README.md +32 -0
- package/vendor/components/sha256/219cfeabef4dff696e948c8eeb129570247b6ff903ee795ec7f631c9ee242562/demo.html +53 -0
- package/vendor/components/sha256/219cfeabef4dff696e948c8eeb129570247b6ff903ee795ec7f631c9ee242562/index.js +565 -0
- package/vendor/components/sha256/26920d2b4baebfadae00f393d60dab2dafd34066ac4760ec26020f75c8f05c73/README.md +12 -0
- package/vendor/components/sha256/26920d2b4baebfadae00f393d60dab2dafd34066ac4760ec26020f75c8f05c73/index.js +39 -0
- package/vendor/components/sha256/26d5493ac7b78c9fbf01fe19359b027240c61b61a7c8c495d1ca57f18ba1c468/CHANGELOG.md +31 -0
- package/vendor/components/sha256/26d5493ac7b78c9fbf01fe19359b027240c61b61a7c8c495d1ca57f18ba1c468/README.md +32 -0
- package/vendor/components/sha256/26d5493ac7b78c9fbf01fe19359b027240c61b61a7c8c495d1ca57f18ba1c468/demo.html +54 -0
- package/vendor/components/sha256/26d5493ac7b78c9fbf01fe19359b027240c61b61a7c8c495d1ca57f18ba1c468/index.js +268 -0
- package/vendor/components/sha256/2764f03a826a75e3690a7eb8f117ed19f7c7451683b22a1793532f6e69d070f9/README.md +38 -0
- package/vendor/components/sha256/2764f03a826a75e3690a7eb8f117ed19f7c7451683b22a1793532f6e69d070f9/demo.html +43 -0
- package/vendor/components/sha256/2764f03a826a75e3690a7eb8f117ed19f7c7451683b22a1793532f6e69d070f9/index.js +255 -0
- package/vendor/components/sha256/286d6f3d2281ccd5b2f3cee91e1eb6357905cc7846b3c2032230bdde97b5bd77/README.md +40 -0
- package/vendor/components/sha256/286d6f3d2281ccd5b2f3cee91e1eb6357905cc7846b3c2032230bdde97b5bd77/demo.html +44 -0
- package/vendor/components/sha256/286d6f3d2281ccd5b2f3cee91e1eb6357905cc7846b3c2032230bdde97b5bd77/index.js +320 -0
- package/vendor/components/sha256/2a9b96174fbdfbe284dd3a5a6f748e867284d582a6fdf49965fc5ac2931e87d2/CHANGELOG.md +23 -0
- package/vendor/components/sha256/2a9b96174fbdfbe284dd3a5a6f748e867284d582a6fdf49965fc5ac2931e87d2/README.md +34 -0
- package/vendor/components/sha256/2a9b96174fbdfbe284dd3a5a6f748e867284d582a6fdf49965fc5ac2931e87d2/demo.html +73 -0
- package/vendor/components/sha256/2a9b96174fbdfbe284dd3a5a6f748e867284d582a6fdf49965fc5ac2931e87d2/index.js +227 -0
- package/vendor/components/sha256/2ccc1568bb08ca19ef5073551626d4395bd44b1b5337876a36d4e365d4232506/README.md +36 -0
- package/vendor/components/sha256/2ccc1568bb08ca19ef5073551626d4395bd44b1b5337876a36d4e365d4232506/demo.html +72 -0
- package/vendor/components/sha256/2ccc1568bb08ca19ef5073551626d4395bd44b1b5337876a36d4e365d4232506/index.js +301 -0
- package/vendor/components/sha256/2e765ec34159ac8a2887f2826341dfaac7e54699829b1f15521ed7389afddef9/README.md +19 -0
- package/vendor/components/sha256/2e765ec34159ac8a2887f2826341dfaac7e54699829b1f15521ed7389afddef9/demo.html +40 -0
- package/vendor/components/sha256/2e765ec34159ac8a2887f2826341dfaac7e54699829b1f15521ed7389afddef9/index.js +91 -0
- package/vendor/components/sha256/2ec05263e6fe8c9cfd7919e4e8031202997d40dceaa93b962fb47c29c3aa972d/CHANGELOG.md +27 -0
- package/vendor/components/sha256/2ec05263e6fe8c9cfd7919e4e8031202997d40dceaa93b962fb47c29c3aa972d/README.md +35 -0
- package/vendor/components/sha256/2ec05263e6fe8c9cfd7919e4e8031202997d40dceaa93b962fb47c29c3aa972d/demo.html +66 -0
- package/vendor/components/sha256/2ec05263e6fe8c9cfd7919e4e8031202997d40dceaa93b962fb47c29c3aa972d/index.js +313 -0
- package/vendor/components/sha256/2ec8a9acdf58b641dbda9a31643e1c9f77d4e386ce654a58971e3ba6e5530455/CHANGELOG.md +32 -0
- package/vendor/components/sha256/2ec8a9acdf58b641dbda9a31643e1c9f77d4e386ce654a58971e3ba6e5530455/README.md +43 -0
- package/vendor/components/sha256/2ec8a9acdf58b641dbda9a31643e1c9f77d4e386ce654a58971e3ba6e5530455/demo.html +75 -0
- package/vendor/components/sha256/2ec8a9acdf58b641dbda9a31643e1c9f77d4e386ce654a58971e3ba6e5530455/index.js +352 -0
- package/vendor/components/sha256/301bd0fc3d9a7e43b555e571de221a1374cee99d5d9dafaf1904135894ca4e3d/CHANGELOG.md +19 -0
- package/vendor/components/sha256/301bd0fc3d9a7e43b555e571de221a1374cee99d5d9dafaf1904135894ca4e3d/README.md +21 -0
- package/vendor/components/sha256/301bd0fc3d9a7e43b555e571de221a1374cee99d5d9dafaf1904135894ca4e3d/demo.html +33 -0
- package/vendor/components/sha256/301bd0fc3d9a7e43b555e571de221a1374cee99d5d9dafaf1904135894ca4e3d/index.js +106 -0
- package/vendor/components/sha256/3148735986450083484a145f9399e146b3f27efc0efd75ea1c02e1fa8ef01d36/README.md +49 -0
- package/vendor/components/sha256/3148735986450083484a145f9399e146b3f27efc0efd75ea1c02e1fa8ef01d36/demo.html +79 -0
- package/vendor/components/sha256/3148735986450083484a145f9399e146b3f27efc0efd75ea1c02e1fa8ef01d36/index.js +647 -0
- package/vendor/components/sha256/32aa0052bbb1f20f0d97fc8dde7413b49d51c342c7ac2f38f88377d4c5100d88/CHANGELOG.md +23 -0
- package/vendor/components/sha256/32aa0052bbb1f20f0d97fc8dde7413b49d51c342c7ac2f38f88377d4c5100d88/README.md +36 -0
- package/vendor/components/sha256/32aa0052bbb1f20f0d97fc8dde7413b49d51c342c7ac2f38f88377d4c5100d88/demo.html +70 -0
- package/vendor/components/sha256/32aa0052bbb1f20f0d97fc8dde7413b49d51c342c7ac2f38f88377d4c5100d88/index.js +178 -0
- package/vendor/components/sha256/33202e1f661b9c3409e2de59e91dee17b2de8b5837d6b1407fe3d97f22bd92ea/CHANGELOG.md +26 -0
- package/vendor/components/sha256/33202e1f661b9c3409e2de59e91dee17b2de8b5837d6b1407fe3d97f22bd92ea/README.md +39 -0
- package/vendor/components/sha256/33202e1f661b9c3409e2de59e91dee17b2de8b5837d6b1407fe3d97f22bd92ea/demo.html +66 -0
- package/vendor/components/sha256/33202e1f661b9c3409e2de59e91dee17b2de8b5837d6b1407fe3d97f22bd92ea/index.js +303 -0
- package/vendor/components/sha256/34676923713694c396c9f1f406c5a6551c69b617ff5df2b71f3e36a1ce7b7b95/README.md +40 -0
- package/vendor/components/sha256/34676923713694c396c9f1f406c5a6551c69b617ff5df2b71f3e36a1ce7b7b95/demo.html +90 -0
- package/vendor/components/sha256/34676923713694c396c9f1f406c5a6551c69b617ff5df2b71f3e36a1ce7b7b95/index.js +409 -0
- package/vendor/components/sha256/34970c3ad1133fefb3ea2c8bc77431885fa8d8fb157c2e2ee892d243f83bd3f1/CHANGELOG.md +36 -0
- package/vendor/components/sha256/34970c3ad1133fefb3ea2c8bc77431885fa8d8fb157c2e2ee892d243f83bd3f1/README.md +35 -0
- package/vendor/components/sha256/34970c3ad1133fefb3ea2c8bc77431885fa8d8fb157c2e2ee892d243f83bd3f1/demo.html +66 -0
- package/vendor/components/sha256/34970c3ad1133fefb3ea2c8bc77431885fa8d8fb157c2e2ee892d243f83bd3f1/index.js +351 -0
- package/vendor/components/sha256/35341b8bce2f049cc0835f363dcea82f40e31a6dbb5cc056a3d7282ab7838ea4/README.md +22 -0
- package/vendor/components/sha256/35341b8bce2f049cc0835f363dcea82f40e31a6dbb5cc056a3d7282ab7838ea4/index.js +59 -0
- package/vendor/components/sha256/35419611eee5251361ce8d5dc710b9d797af90eae58837a671d7f558aadb7f63/CHANGELOG.md +25 -0
- package/vendor/components/sha256/35419611eee5251361ce8d5dc710b9d797af90eae58837a671d7f558aadb7f63/README.md +32 -0
- package/vendor/components/sha256/35419611eee5251361ce8d5dc710b9d797af90eae58837a671d7f558aadb7f63/demo.html +51 -0
- package/vendor/components/sha256/35419611eee5251361ce8d5dc710b9d797af90eae58837a671d7f558aadb7f63/index.js +270 -0
- package/vendor/components/sha256/35d5835015707b78c29a38d27c89487afae84909328cafccaf40962d377788b8/CHANGELOG.md +20 -0
- package/vendor/components/sha256/35d5835015707b78c29a38d27c89487afae84909328cafccaf40962d377788b8/README.md +40 -0
- package/vendor/components/sha256/35d5835015707b78c29a38d27c89487afae84909328cafccaf40962d377788b8/demo.html +92 -0
- package/vendor/components/sha256/35d5835015707b78c29a38d27c89487afae84909328cafccaf40962d377788b8/index.js +399 -0
- package/vendor/components/sha256/39f28bd9009d9d31a6bf06f31d917b85ea42026e8ecadce0102fff87b4689420/CHANGELOG.md +20 -0
- package/vendor/components/sha256/39f28bd9009d9d31a6bf06f31d917b85ea42026e8ecadce0102fff87b4689420/README.md +50 -0
- package/vendor/components/sha256/39f28bd9009d9d31a6bf06f31d917b85ea42026e8ecadce0102fff87b4689420/demo.html +61 -0
- package/vendor/components/sha256/39f28bd9009d9d31a6bf06f31d917b85ea42026e8ecadce0102fff87b4689420/index.js +141 -0
- package/vendor/components/sha256/3ab111cf496fba19dc5be611265f5f5dab32c812519790dcc23038fa93d64198/README.md +43 -0
- package/vendor/components/sha256/3ab111cf496fba19dc5be611265f5f5dab32c812519790dcc23038fa93d64198/demo.html +101 -0
- package/vendor/components/sha256/3ab111cf496fba19dc5be611265f5f5dab32c812519790dcc23038fa93d64198/index.js +798 -0
- package/vendor/components/sha256/3b5e593560325c6fdc133640384bf82aff652d565483592b64f318db5bae13c8/README.md +23 -0
- package/vendor/components/sha256/3b5e593560325c6fdc133640384bf82aff652d565483592b64f318db5bae13c8/index.js +180 -0
- package/vendor/components/sha256/3f8fbe9132d44899f4ee663239185cc92336751b358497bf668d694702a82041/CHANGELOG.md +26 -0
- package/vendor/components/sha256/3f8fbe9132d44899f4ee663239185cc92336751b358497bf668d694702a82041/README.md +50 -0
- package/vendor/components/sha256/3f8fbe9132d44899f4ee663239185cc92336751b358497bf668d694702a82041/demo.html +61 -0
- package/vendor/components/sha256/3f8fbe9132d44899f4ee663239185cc92336751b358497bf668d694702a82041/index.js +171 -0
- package/vendor/components/sha256/4127774c52f510948f6337bdb63b4d9c586f97fbac8fa551f9259e373a2eb09b/README.md +22 -0
- package/vendor/components/sha256/4127774c52f510948f6337bdb63b4d9c586f97fbac8fa551f9259e373a2eb09b/index.js +41 -0
- package/vendor/components/sha256/41fb94497e0230488b8eb37688bd07109cdd5a03948b892ba621345a1a6314dd/CHANGELOG.md +10 -0
- package/vendor/components/sha256/41fb94497e0230488b8eb37688bd07109cdd5a03948b892ba621345a1a6314dd/README.md +48 -0
- package/vendor/components/sha256/41fb94497e0230488b8eb37688bd07109cdd5a03948b892ba621345a1a6314dd/demo.html +44 -0
- package/vendor/components/sha256/41fb94497e0230488b8eb37688bd07109cdd5a03948b892ba621345a1a6314dd/index.js +425 -0
- package/vendor/components/sha256/4250fe80f8cfbf4126efc1d4d6dc18b6b10ec19e7290433ef5ff7dcc4d24d74f/CHANGELOG.md +24 -0
- package/vendor/components/sha256/4250fe80f8cfbf4126efc1d4d6dc18b6b10ec19e7290433ef5ff7dcc4d24d74f/README.md +31 -0
- package/vendor/components/sha256/4250fe80f8cfbf4126efc1d4d6dc18b6b10ec19e7290433ef5ff7dcc4d24d74f/demo.html +56 -0
- package/vendor/components/sha256/4250fe80f8cfbf4126efc1d4d6dc18b6b10ec19e7290433ef5ff7dcc4d24d74f/index.js +232 -0
- package/vendor/components/sha256/43963c9100c0509889e2c4f0528ba4f2d24076d009be83f5a205f014a168554d/README.md +31 -0
- package/vendor/components/sha256/43963c9100c0509889e2c4f0528ba4f2d24076d009be83f5a205f014a168554d/demo.html +49 -0
- package/vendor/components/sha256/43963c9100c0509889e2c4f0528ba4f2d24076d009be83f5a205f014a168554d/index.js +108 -0
- package/vendor/components/sha256/44e432f8b34c8ef1b20f4eed5c6f2d9199094abcf0540f54718efba887a2ef0f/README.md +29 -0
- package/vendor/components/sha256/44e432f8b34c8ef1b20f4eed5c6f2d9199094abcf0540f54718efba887a2ef0f/demo.html +56 -0
- package/vendor/components/sha256/44e432f8b34c8ef1b20f4eed5c6f2d9199094abcf0540f54718efba887a2ef0f/index.js +156 -0
- package/vendor/components/sha256/473f62b1f3b5219c273072ffbde6c9e420e7a762e65c6f307435eaaedcbf1e9c/CHANGELOG.md +27 -0
- package/vendor/components/sha256/473f62b1f3b5219c273072ffbde6c9e420e7a762e65c6f307435eaaedcbf1e9c/README.md +43 -0
- package/vendor/components/sha256/473f62b1f3b5219c273072ffbde6c9e420e7a762e65c6f307435eaaedcbf1e9c/demo.html +47 -0
- package/vendor/components/sha256/473f62b1f3b5219c273072ffbde6c9e420e7a762e65c6f307435eaaedcbf1e9c/index.js +484 -0
- package/vendor/components/sha256/4915abd3c1a66505a5946edb190491af9eb472810a06662d477d62df44c455ee/README.md +41 -0
- package/vendor/components/sha256/4915abd3c1a66505a5946edb190491af9eb472810a06662d477d62df44c455ee/demo.html +44 -0
- package/vendor/components/sha256/4915abd3c1a66505a5946edb190491af9eb472810a06662d477d62df44c455ee/index.js +331 -0
- package/vendor/components/sha256/4aae85edd2f39e3802527cb176348cf273cb50f4bcf05e5e7e951dd73df65b92/README.md +31 -0
- package/vendor/components/sha256/4aae85edd2f39e3802527cb176348cf273cb50f4bcf05e5e7e951dd73df65b92/demo.html +60 -0
- package/vendor/components/sha256/4aae85edd2f39e3802527cb176348cf273cb50f4bcf05e5e7e951dd73df65b92/index.js +262 -0
- package/vendor/components/sha256/4af4e5f892497f735df2900382b1b1612ac7e545564736d83decf89693d03b84/README.md +22 -0
- package/vendor/components/sha256/4af4e5f892497f735df2900382b1b1612ac7e545564736d83decf89693d03b84/demo.html +48 -0
- package/vendor/components/sha256/4af4e5f892497f735df2900382b1b1612ac7e545564736d83decf89693d03b84/index.js +83 -0
- package/vendor/components/sha256/4be439a3b448b60f965428748ae852c1b9c2f94470e7ba7397a0c63be81f896c/README.md +33 -0
- package/vendor/components/sha256/4be439a3b448b60f965428748ae852c1b9c2f94470e7ba7397a0c63be81f896c/demo.html +50 -0
- package/vendor/components/sha256/4be439a3b448b60f965428748ae852c1b9c2f94470e7ba7397a0c63be81f896c/index.js +240 -0
- package/vendor/components/sha256/4d341f31f827ba6459b8a8b26f8805f87fbf487aa06d1eda76ba2fa02f9d15b0/CHANGELOG.md +18 -0
- package/vendor/components/sha256/4d341f31f827ba6459b8a8b26f8805f87fbf487aa06d1eda76ba2fa02f9d15b0/README.md +21 -0
- package/vendor/components/sha256/4d341f31f827ba6459b8a8b26f8805f87fbf487aa06d1eda76ba2fa02f9d15b0/demo.html +32 -0
- package/vendor/components/sha256/4d341f31f827ba6459b8a8b26f8805f87fbf487aa06d1eda76ba2fa02f9d15b0/index.js +53 -0
- package/vendor/components/sha256/4f6bde3385e59407ddadb42a8701a631399af33ab40d6c6b3899b23254ebd3c7/README.md +33 -0
- package/vendor/components/sha256/4f6bde3385e59407ddadb42a8701a631399af33ab40d6c6b3899b23254ebd3c7/demo.html +66 -0
- package/vendor/components/sha256/4f6bde3385e59407ddadb42a8701a631399af33ab40d6c6b3899b23254ebd3c7/index.js +317 -0
- package/vendor/components/sha256/50569e0f1624094801ea3827d381233fa844acfbebbfb953428dbb600e45ab3d/CHANGELOG.md +23 -0
- package/vendor/components/sha256/50569e0f1624094801ea3827d381233fa844acfbebbfb953428dbb600e45ab3d/README.md +44 -0
- package/vendor/components/sha256/50569e0f1624094801ea3827d381233fa844acfbebbfb953428dbb600e45ab3d/demo.html +44 -0
- package/vendor/components/sha256/50569e0f1624094801ea3827d381233fa844acfbebbfb953428dbb600e45ab3d/index.js +354 -0
- package/vendor/components/sha256/511a7c5daab9ae15ef41675b16927a246ad4d7ed50edb2c0f4ce7940d9f1e159/CHANGELOG.md +30 -0
- package/vendor/components/sha256/511a7c5daab9ae15ef41675b16927a246ad4d7ed50edb2c0f4ce7940d9f1e159/README.md +35 -0
- package/vendor/components/sha256/511a7c5daab9ae15ef41675b16927a246ad4d7ed50edb2c0f4ce7940d9f1e159/demo.html +40 -0
- package/vendor/components/sha256/511a7c5daab9ae15ef41675b16927a246ad4d7ed50edb2c0f4ce7940d9f1e159/index.js +747 -0
- package/vendor/components/sha256/513ffe334833d2f6c32627089f5f77e40d9a37b8e17e237106c1c78a4a8f7ee5/CHANGELOG.md +48 -0
- package/vendor/components/sha256/513ffe334833d2f6c32627089f5f77e40d9a37b8e17e237106c1c78a4a8f7ee5/README.md +32 -0
- package/vendor/components/sha256/513ffe334833d2f6c32627089f5f77e40d9a37b8e17e237106c1c78a4a8f7ee5/demo.html +57 -0
- package/vendor/components/sha256/513ffe334833d2f6c32627089f5f77e40d9a37b8e17e237106c1c78a4a8f7ee5/fixtures/ABCJS-ADAPTER.md +101 -0
- package/vendor/components/sha256/513ffe334833d2f6c32627089f5f77e40d9a37b8e17e237106c1c78a4a8f7ee5/fixtures/LICENSE-abcjs.txt +21 -0
- package/vendor/components/sha256/513ffe334833d2f6c32627089f5f77e40d9a37b8e17e237106c1c78a4a8f7ee5/fixtures/chords.json +89 -0
- package/vendor/components/sha256/513ffe334833d2f6c32627089f5f77e40d9a37b8e17e237106c1c78a4a8f7ee5/fixtures/doremi.json +261 -0
- package/vendor/components/sha256/513ffe334833d2f6c32627089f5f77e40d9a37b8e17e237106c1c78a4a8f7ee5/fixtures/extras.json +192 -0
- package/vendor/components/sha256/513ffe334833d2f6c32627089f5f77e40d9a37b8e17e237106c1c78a4a8f7ee5/fixtures/kaeru.json +521 -0
- package/vendor/components/sha256/513ffe334833d2f6c32627089f5f77e40d9a37b8e17e237106c1c78a4a8f7ee5/fixtures/rhythm.json +248 -0
- package/vendor/components/sha256/513ffe334833d2f6c32627089f5f77e40d9a37b8e17e237106c1c78a4a8f7ee5/fixtures/ties.json +360 -0
- package/vendor/components/sha256/513ffe334833d2f6c32627089f5f77e40d9a37b8e17e237106c1c78a4a8f7ee5/index.js +476 -0
- package/vendor/components/sha256/516aa29e4892520193314be4685f82cbbdd5e4de5132e41bc8179615c0e9149e/README.md +41 -0
- package/vendor/components/sha256/516aa29e4892520193314be4685f82cbbdd5e4de5132e41bc8179615c0e9149e/demo.html +56 -0
- package/vendor/components/sha256/516aa29e4892520193314be4685f82cbbdd5e4de5132e41bc8179615c0e9149e/index.js +440 -0
- package/vendor/components/sha256/51f10f02cbd018b136176773dff5576d66cce4872cf41ca6f17f483bd41350fd/CHANGELOG.md +29 -0
- package/vendor/components/sha256/51f10f02cbd018b136176773dff5576d66cce4872cf41ca6f17f483bd41350fd/README.md +44 -0
- package/vendor/components/sha256/51f10f02cbd018b136176773dff5576d66cce4872cf41ca6f17f483bd41350fd/demo.html +56 -0
- package/vendor/components/sha256/51f10f02cbd018b136176773dff5576d66cce4872cf41ca6f17f483bd41350fd/index.js +428 -0
- package/vendor/components/sha256/53497ca286d48dad0cd5e4379f89d22701e8aff7402c4549522ab7051bca3e0f/CHANGELOG.md +24 -0
- package/vendor/components/sha256/53497ca286d48dad0cd5e4379f89d22701e8aff7402c4549522ab7051bca3e0f/README.md +40 -0
- package/vendor/components/sha256/53497ca286d48dad0cd5e4379f89d22701e8aff7402c4549522ab7051bca3e0f/demo.html +70 -0
- package/vendor/components/sha256/53497ca286d48dad0cd5e4379f89d22701e8aff7402c4549522ab7051bca3e0f/index.js +561 -0
- package/vendor/components/sha256/534ab1ba54189ac27790e117aad9d6e247611356b352504e6b8ce5a52b242968/README.md +29 -0
- package/vendor/components/sha256/534ab1ba54189ac27790e117aad9d6e247611356b352504e6b8ce5a52b242968/demo.html +51 -0
- package/vendor/components/sha256/534ab1ba54189ac27790e117aad9d6e247611356b352504e6b8ce5a52b242968/index.js +394 -0
- package/vendor/components/sha256/539e669f52485201558d17a6655d490c80527be80e9a7807aa74253c4dfaab95/CHANGELOG.md +15 -0
- package/vendor/components/sha256/539e669f52485201558d17a6655d490c80527be80e9a7807aa74253c4dfaab95/README.md +31 -0
- package/vendor/components/sha256/539e669f52485201558d17a6655d490c80527be80e9a7807aa74253c4dfaab95/demo.html +56 -0
- package/vendor/components/sha256/539e669f52485201558d17a6655d490c80527be80e9a7807aa74253c4dfaab95/index.js +161 -0
- package/vendor/components/sha256/53a61be488566e8442c4a54cc46b883ae10586f9469433b5e9e3c7c222955439/README.md +32 -0
- package/vendor/components/sha256/53a61be488566e8442c4a54cc46b883ae10586f9469433b5e9e3c7c222955439/demo.html +40 -0
- package/vendor/components/sha256/53a61be488566e8442c4a54cc46b883ae10586f9469433b5e9e3c7c222955439/index.js +781 -0
- package/vendor/components/sha256/53a870236b442412741595c4d5ea0527d3de0bb8a57694dce0f92d6bf4597eda/README.md +38 -0
- package/vendor/components/sha256/53a870236b442412741595c4d5ea0527d3de0bb8a57694dce0f92d6bf4597eda/demo.html +92 -0
- package/vendor/components/sha256/53a870236b442412741595c4d5ea0527d3de0bb8a57694dce0f92d6bf4597eda/index.js +443 -0
- package/vendor/components/sha256/53b1444a08ae15e397f41c7b88b32b2085bdef447bdcb5bcc0030490203b938c/README.md +52 -0
- package/vendor/components/sha256/53b1444a08ae15e397f41c7b88b32b2085bdef447bdcb5bcc0030490203b938c/index.js +282 -0
- package/vendor/components/sha256/5527ee1f708c8ef7d071c273c68fd4f3a014784391a44c7aa650335721bfe25c/README.md +48 -0
- package/vendor/components/sha256/5527ee1f708c8ef7d071c273c68fd4f3a014784391a44c7aa650335721bfe25c/demo.html +60 -0
- package/vendor/components/sha256/5527ee1f708c8ef7d071c273c68fd4f3a014784391a44c7aa650335721bfe25c/index.js +113 -0
- package/vendor/components/sha256/5781a99da9e199697d25fe4a80b62a003362ae23f91130afa10e436bbf69f56b/README.md +32 -0
- package/vendor/components/sha256/5781a99da9e199697d25fe4a80b62a003362ae23f91130afa10e436bbf69f56b/demo.html +53 -0
- package/vendor/components/sha256/5781a99da9e199697d25fe4a80b62a003362ae23f91130afa10e436bbf69f56b/index.js +565 -0
- package/vendor/components/sha256/59f84aafd847f96c232d996cd14ec98b6d91df50d2cad50dde07094272017d56/CHANGELOG.md +29 -0
- package/vendor/components/sha256/59f84aafd847f96c232d996cd14ec98b6d91df50d2cad50dde07094272017d56/README.md +64 -0
- package/vendor/components/sha256/59f84aafd847f96c232d996cd14ec98b6d91df50d2cad50dde07094272017d56/demo.html +97 -0
- package/vendor/components/sha256/59f84aafd847f96c232d996cd14ec98b6d91df50d2cad50dde07094272017d56/index.js +924 -0
- package/vendor/components/sha256/5a0fcbb736862df7d590f7e6d242c8353cac39a0c72a307c68198d64a8108d93/README.md +48 -0
- package/vendor/components/sha256/5a0fcbb736862df7d590f7e6d242c8353cac39a0c72a307c68198d64a8108d93/demo.html +61 -0
- package/vendor/components/sha256/5a0fcbb736862df7d590f7e6d242c8353cac39a0c72a307c68198d64a8108d93/index.js +114 -0
- package/vendor/components/sha256/5e20d50d58c521cd2f603cfbd69f6d99d53af5508b714b3637f51d7ac7fd394a/README.md +33 -0
- package/vendor/components/sha256/5e20d50d58c521cd2f603cfbd69f6d99d53af5508b714b3637f51d7ac7fd394a/demo.html +86 -0
- package/vendor/components/sha256/5e20d50d58c521cd2f603cfbd69f6d99d53af5508b714b3637f51d7ac7fd394a/index.js +300 -0
- package/vendor/components/sha256/5e23306675b7b1e9154e395cf9930f5a46f959f3b36ab49b089973035c222d58/README.md +49 -0
- package/vendor/components/sha256/5e23306675b7b1e9154e395cf9930f5a46f959f3b36ab49b089973035c222d58/demo.html +79 -0
- package/vendor/components/sha256/5e23306675b7b1e9154e395cf9930f5a46f959f3b36ab49b089973035c222d58/index.js +647 -0
- package/vendor/components/sha256/5f58c1f51bd0482dd233893a6b94d044f6844db63abe7adc1b46ae4b79b54bc6/README.md +21 -0
- package/vendor/components/sha256/5f58c1f51bd0482dd233893a6b94d044f6844db63abe7adc1b46ae4b79b54bc6/demo.html +48 -0
- package/vendor/components/sha256/5f58c1f51bd0482dd233893a6b94d044f6844db63abe7adc1b46ae4b79b54bc6/index.js +80 -0
- package/vendor/components/sha256/5fb8cc2131402bdd2d6278d315dc06aa2b55789ba0fa3a6c2a8d172fe6305904/README.md +41 -0
- package/vendor/components/sha256/5fb8cc2131402bdd2d6278d315dc06aa2b55789ba0fa3a6c2a8d172fe6305904/demo.html +75 -0
- package/vendor/components/sha256/5fb8cc2131402bdd2d6278d315dc06aa2b55789ba0fa3a6c2a8d172fe6305904/index.js +349 -0
- package/vendor/components/sha256/6177d9adeb09f8c72c4105e521f723202623d8887ee9e03e53aec51073d33123/CHANGELOG.md +22 -0
- package/vendor/components/sha256/6177d9adeb09f8c72c4105e521f723202623d8887ee9e03e53aec51073d33123/README.md +49 -0
- package/vendor/components/sha256/6177d9adeb09f8c72c4105e521f723202623d8887ee9e03e53aec51073d33123/demo.html +44 -0
- package/vendor/components/sha256/6177d9adeb09f8c72c4105e521f723202623d8887ee9e03e53aec51073d33123/index.js +468 -0
- package/vendor/components/sha256/61b213729212566f0273b09b277d23f2cf4fd2b6640f5a6e9ad97292e1c0cf0b/README.md +31 -0
- package/vendor/components/sha256/61b213729212566f0273b09b277d23f2cf4fd2b6640f5a6e9ad97292e1c0cf0b/demo.html +64 -0
- package/vendor/components/sha256/61b213729212566f0273b09b277d23f2cf4fd2b6640f5a6e9ad97292e1c0cf0b/index.js +175 -0
- package/vendor/components/sha256/633ebcf297efa4dc4c5106c38f9c9734ed7357d0ad597dbfb729eb024d61fc4a/README.md +32 -0
- package/vendor/components/sha256/633ebcf297efa4dc4c5106c38f9c9734ed7357d0ad597dbfb729eb024d61fc4a/demo.html +77 -0
- package/vendor/components/sha256/633ebcf297efa4dc4c5106c38f9c9734ed7357d0ad597dbfb729eb024d61fc4a/index.js +251 -0
- package/vendor/components/sha256/64947d36ee857847ecbc3cd23f2ac9f76f591159945080660c68604c0d4894a0/README.md +72 -0
- package/vendor/components/sha256/64947d36ee857847ecbc3cd23f2ac9f76f591159945080660c68604c0d4894a0/demo.html +50 -0
- package/vendor/components/sha256/64947d36ee857847ecbc3cd23f2ac9f76f591159945080660c68604c0d4894a0/index.js +498 -0
- package/vendor/components/sha256/6622a44274a678bf10393c109d2b9cc6f2a20fffa2b7c13ebaeb3f1141159700/README.md +68 -0
- package/vendor/components/sha256/6622a44274a678bf10393c109d2b9cc6f2a20fffa2b7c13ebaeb3f1141159700/demo.html +50 -0
- package/vendor/components/sha256/6622a44274a678bf10393c109d2b9cc6f2a20fffa2b7c13ebaeb3f1141159700/index.js +451 -0
- package/vendor/components/sha256/66c64a0cb10671a968ed7deb302c5e292ca172b0a7a96f16c83e9dd1208daed9/README.md +37 -0
- package/vendor/components/sha256/66c64a0cb10671a968ed7deb302c5e292ca172b0a7a96f16c83e9dd1208daed9/demo.html +70 -0
- package/vendor/components/sha256/66c64a0cb10671a968ed7deb302c5e292ca172b0a7a96f16c83e9dd1208daed9/index.js +573 -0
- package/vendor/components/sha256/6997f1b54b095a2306b581fbf9e67ad67a7642c35051e34fa39c317d5802b9de/README.md +37 -0
- package/vendor/components/sha256/6997f1b54b095a2306b581fbf9e67ad67a7642c35051e34fa39c317d5802b9de/demo.html +70 -0
- package/vendor/components/sha256/6997f1b54b095a2306b581fbf9e67ad67a7642c35051e34fa39c317d5802b9de/index.js +308 -0
- package/vendor/components/sha256/6c1626dc4c691d7ee4abdef37c21d42dd6d981674ac885a3d2bdc1a884b4e2ab/CHANGELOG.md +27 -0
- package/vendor/components/sha256/6c1626dc4c691d7ee4abdef37c21d42dd6d981674ac885a3d2bdc1a884b4e2ab/README.md +23 -0
- package/vendor/components/sha256/6c1626dc4c691d7ee4abdef37c21d42dd6d981674ac885a3d2bdc1a884b4e2ab/demo.html +236 -0
- package/vendor/components/sha256/6c1626dc4c691d7ee4abdef37c21d42dd6d981674ac885a3d2bdc1a884b4e2ab/index.js +599 -0
- package/vendor/components/sha256/6c6ad697b116d994cf70b23afb2dc0812e90b181097a954ac5cadec747eacacb/CHANGELOG.md +37 -0
- package/vendor/components/sha256/6c6ad697b116d994cf70b23afb2dc0812e90b181097a954ac5cadec747eacacb/README.md +32 -0
- package/vendor/components/sha256/6c6ad697b116d994cf70b23afb2dc0812e90b181097a954ac5cadec747eacacb/demo.html +54 -0
- package/vendor/components/sha256/6c6ad697b116d994cf70b23afb2dc0812e90b181097a954ac5cadec747eacacb/index.js +314 -0
- package/vendor/components/sha256/6cb62a0b47c73ba2d729a2e69e895d91bc2442cc4a87ae48a0119aad6427420f/README.md +33 -0
- package/vendor/components/sha256/6cb62a0b47c73ba2d729a2e69e895d91bc2442cc4a87ae48a0119aad6427420f/demo.html +50 -0
- package/vendor/components/sha256/6cb62a0b47c73ba2d729a2e69e895d91bc2442cc4a87ae48a0119aad6427420f/index.js +232 -0
- package/vendor/components/sha256/6df10ef43ecfc6c7e611a198c2d7fc92215664eb23b6d49d22e69a49445a0d20/README.md +18 -0
- package/vendor/components/sha256/6df10ef43ecfc6c7e611a198c2d7fc92215664eb23b6d49d22e69a49445a0d20/demo.html +40 -0
- package/vendor/components/sha256/6df10ef43ecfc6c7e611a198c2d7fc92215664eb23b6d49d22e69a49445a0d20/index.js +91 -0
- package/vendor/components/sha256/713ba44102ab7fb2390f4524b90faa9deff5569c8903d99c319e8de56b157297/README.md +15 -0
- package/vendor/components/sha256/713ba44102ab7fb2390f4524b90faa9deff5569c8903d99c319e8de56b157297/demo.html +236 -0
- package/vendor/components/sha256/713ba44102ab7fb2390f4524b90faa9deff5569c8903d99c319e8de56b157297/index.js +631 -0
- package/vendor/components/sha256/71f67dfb37263e74d826b9b85bda2be9199b70b0b1d0d415791054e6079cdabf/README.md +37 -0
- package/vendor/components/sha256/71f67dfb37263e74d826b9b85bda2be9199b70b0b1d0d415791054e6079cdabf/demo.html +70 -0
- package/vendor/components/sha256/71f67dfb37263e74d826b9b85bda2be9199b70b0b1d0d415791054e6079cdabf/index.js +316 -0
- package/vendor/components/sha256/728f0777d7cdb6b78aa75123dac89831a21ecbe8dfbee49fea3a864538253ffe/CHANGELOG.md +22 -0
- package/vendor/components/sha256/728f0777d7cdb6b78aa75123dac89831a21ecbe8dfbee49fea3a864538253ffe/README.md +27 -0
- package/vendor/components/sha256/728f0777d7cdb6b78aa75123dac89831a21ecbe8dfbee49fea3a864538253ffe/demo.html +42 -0
- package/vendor/components/sha256/728f0777d7cdb6b78aa75123dac89831a21ecbe8dfbee49fea3a864538253ffe/index.js +233 -0
- package/vendor/components/sha256/7324349691c265ff4cd5f9219bb9326bf966dbf0feb93dbe893edadd2c0595bc/CHANGELOG.md +31 -0
- package/vendor/components/sha256/7324349691c265ff4cd5f9219bb9326bf966dbf0feb93dbe893edadd2c0595bc/README.md +35 -0
- package/vendor/components/sha256/7324349691c265ff4cd5f9219bb9326bf966dbf0feb93dbe893edadd2c0595bc/demo.html +66 -0
- package/vendor/components/sha256/7324349691c265ff4cd5f9219bb9326bf966dbf0feb93dbe893edadd2c0595bc/index.js +342 -0
- package/vendor/components/sha256/7421226f6cbbee73ccf20e2300d4da918a7202536a4a3b861e80dfa3f815a982/CHANGELOG.md +25 -0
- package/vendor/components/sha256/7421226f6cbbee73ccf20e2300d4da918a7202536a4a3b861e80dfa3f815a982/README.md +35 -0
- package/vendor/components/sha256/7421226f6cbbee73ccf20e2300d4da918a7202536a4a3b861e80dfa3f815a982/demo.html +40 -0
- package/vendor/components/sha256/7421226f6cbbee73ccf20e2300d4da918a7202536a4a3b861e80dfa3f815a982/index.js +731 -0
- package/vendor/components/sha256/74d0b4b53effd6d93ecaeb15f2e9692b94795d48ea9ea32b7380713db6b13c1d/README.md +38 -0
- package/vendor/components/sha256/74d0b4b53effd6d93ecaeb15f2e9692b94795d48ea9ea32b7380713db6b13c1d/demo.html +92 -0
- package/vendor/components/sha256/74d0b4b53effd6d93ecaeb15f2e9692b94795d48ea9ea32b7380713db6b13c1d/index.js +443 -0
- package/vendor/components/sha256/764087c214d3c4916f47dcce1e0bda08ad0bc727f5b64016de5e6b5947ebf698/CHANGELOG.md +27 -0
- package/vendor/components/sha256/764087c214d3c4916f47dcce1e0bda08ad0bc727f5b64016de5e6b5947ebf698/README.md +36 -0
- package/vendor/components/sha256/764087c214d3c4916f47dcce1e0bda08ad0bc727f5b64016de5e6b5947ebf698/demo.html +50 -0
- package/vendor/components/sha256/764087c214d3c4916f47dcce1e0bda08ad0bc727f5b64016de5e6b5947ebf698/index.js +247 -0
- package/vendor/components/sha256/7768a559a6b001f1b98508984f691a579d6f401e3fe795a3ecefd79888c24a6f/README.md +40 -0
- package/vendor/components/sha256/7768a559a6b001f1b98508984f691a579d6f401e3fe795a3ecefd79888c24a6f/demo.html +90 -0
- package/vendor/components/sha256/7768a559a6b001f1b98508984f691a579d6f401e3fe795a3ecefd79888c24a6f/index.js +409 -0
- package/vendor/components/sha256/79ee5836338d1c06252af2bef5ec700839e75c1ec7710c05b3781d1b0ca11a56/README.md +41 -0
- package/vendor/components/sha256/79ee5836338d1c06252af2bef5ec700839e75c1ec7710c05b3781d1b0ca11a56/demo.html +75 -0
- package/vendor/components/sha256/79ee5836338d1c06252af2bef5ec700839e75c1ec7710c05b3781d1b0ca11a56/index.js +349 -0
- package/vendor/components/sha256/7df0500847a59041f21bce9f1c28bf8d4e8f67be0bd634715fdbc4a5b90c5302/README.md +62 -0
- package/vendor/components/sha256/7df0500847a59041f21bce9f1c28bf8d4e8f67be0bd634715fdbc4a5b90c5302/demo.html +97 -0
- package/vendor/components/sha256/7df0500847a59041f21bce9f1c28bf8d4e8f67be0bd634715fdbc4a5b90c5302/index.js +874 -0
- package/vendor/components/sha256/7e3022710f90149790b91a12ae1c09cdad6d451651ca97745d09ca62cf1dd73c/README.md +41 -0
- package/vendor/components/sha256/7e3022710f90149790b91a12ae1c09cdad6d451651ca97745d09ca62cf1dd73c/demo.html +75 -0
- package/vendor/components/sha256/7e3022710f90149790b91a12ae1c09cdad6d451651ca97745d09ca62cf1dd73c/index.js +309 -0
- package/vendor/components/sha256/80ffe9b9ff6a59cff510e575dcabab161fb5d8b35263763903c972355926ff0c/README.md +37 -0
- package/vendor/components/sha256/80ffe9b9ff6a59cff510e575dcabab161fb5d8b35263763903c972355926ff0c/demo.html +66 -0
- package/vendor/components/sha256/80ffe9b9ff6a59cff510e575dcabab161fb5d8b35263763903c972355926ff0c/index.js +309 -0
- package/vendor/components/sha256/82b2dbc925a4ae4511bb48ccb1777a3932313ac7e18cb91572371d272a930980/README.md +33 -0
- package/vendor/components/sha256/82b2dbc925a4ae4511bb48ccb1777a3932313ac7e18cb91572371d272a930980/demo.html +69 -0
- package/vendor/components/sha256/82b2dbc925a4ae4511bb48ccb1777a3932313ac7e18cb91572371d272a930980/index.js +228 -0
- package/vendor/components/sha256/8306e5a03dfbea480b69ed24675b580a180c4692644dcc22db5ba4192357a17c/CHANGELOG.md +23 -0
- package/vendor/components/sha256/8306e5a03dfbea480b69ed24675b580a180c4692644dcc22db5ba4192357a17c/README.md +21 -0
- package/vendor/components/sha256/8306e5a03dfbea480b69ed24675b580a180c4692644dcc22db5ba4192357a17c/demo.html +32 -0
- package/vendor/components/sha256/8306e5a03dfbea480b69ed24675b580a180c4692644dcc22db5ba4192357a17c/index.js +139 -0
- package/vendor/components/sha256/83595322b87a803914cd8010b2cf371c7cbbab111629befab9d51b4faffd3cc6/README.md +54 -0
- package/vendor/components/sha256/83595322b87a803914cd8010b2cf371c7cbbab111629befab9d51b4faffd3cc6/demo.html +121 -0
- package/vendor/components/sha256/83595322b87a803914cd8010b2cf371c7cbbab111629befab9d51b4faffd3cc6/index.js +912 -0
- package/vendor/components/sha256/84401a62ecc7140bc23b49e81cfd15e1b41b9447f6911ec572f1691bc798bbf6/README.md +15 -0
- package/vendor/components/sha256/84401a62ecc7140bc23b49e81cfd15e1b41b9447f6911ec572f1691bc798bbf6/demo.html +32 -0
- package/vendor/components/sha256/84401a62ecc7140bc23b49e81cfd15e1b41b9447f6911ec572f1691bc798bbf6/index.js +231 -0
- package/vendor/components/sha256/8460885d7f21bc4834bf4a5268d588797a5e73f3dad58e2bcdbd1c7710535082/CHANGELOG.md +23 -0
- package/vendor/components/sha256/8460885d7f21bc4834bf4a5268d588797a5e73f3dad58e2bcdbd1c7710535082/README.md +43 -0
- package/vendor/components/sha256/8460885d7f21bc4834bf4a5268d588797a5e73f3dad58e2bcdbd1c7710535082/demo.html +47 -0
- package/vendor/components/sha256/8460885d7f21bc4834bf4a5268d588797a5e73f3dad58e2bcdbd1c7710535082/index.js +483 -0
- package/vendor/components/sha256/84fb356907714d291da54098ad7f3f8a0b471df1396b5df153b59d71ed35fa2c/README.md +14 -0
- package/vendor/components/sha256/84fb356907714d291da54098ad7f3f8a0b471df1396b5df153b59d71ed35fa2c/demo.html +236 -0
- package/vendor/components/sha256/84fb356907714d291da54098ad7f3f8a0b471df1396b5df153b59d71ed35fa2c/index.js +620 -0
- package/vendor/components/sha256/855ebfb90d4c784c35c372d52e2576776ce55dbe6e4500618e5da847d1d74559/CHANGELOG.md +20 -0
- package/vendor/components/sha256/855ebfb90d4c784c35c372d52e2576776ce55dbe6e4500618e5da847d1d74559/README.md +75 -0
- package/vendor/components/sha256/855ebfb90d4c784c35c372d52e2576776ce55dbe6e4500618e5da847d1d74559/demo.html +50 -0
- package/vendor/components/sha256/855ebfb90d4c784c35c372d52e2576776ce55dbe6e4500618e5da847d1d74559/index.js +342 -0
- package/vendor/components/sha256/85c96721a33dfe87e2c4db9e1745ebfbb0f2edfdb3dfca83f69ad92b67fe9ea2/README.md +32 -0
- package/vendor/components/sha256/85c96721a33dfe87e2c4db9e1745ebfbb0f2edfdb3dfca83f69ad92b67fe9ea2/demo.html +49 -0
- package/vendor/components/sha256/85c96721a33dfe87e2c4db9e1745ebfbb0f2edfdb3dfca83f69ad92b67fe9ea2/index.js +216 -0
- package/vendor/components/sha256/8623f58cf4a415090f06bedbaa5e1a74c1bb0eb3862d7bfb2232e6c1ee0c25aa/README.md +25 -0
- package/vendor/components/sha256/8623f58cf4a415090f06bedbaa5e1a74c1bb0eb3862d7bfb2232e6c1ee0c25aa/demo.html +54 -0
- package/vendor/components/sha256/8623f58cf4a415090f06bedbaa5e1a74c1bb0eb3862d7bfb2232e6c1ee0c25aa/index.js +294 -0
- package/vendor/components/sha256/868b052174a7e030c07894ff38d2eef21cbd64973fbf6001cfff567607811223/README.md +14 -0
- package/vendor/components/sha256/868b052174a7e030c07894ff38d2eef21cbd64973fbf6001cfff567607811223/demo.html +32 -0
- package/vendor/components/sha256/868b052174a7e030c07894ff38d2eef21cbd64973fbf6001cfff567607811223/index.js +231 -0
- package/vendor/components/sha256/86d7e20631c2ff8f708115726bd09d8ee66c1816c5413c5efe1e1eca006d71af/README.md +54 -0
- package/vendor/components/sha256/86d7e20631c2ff8f708115726bd09d8ee66c1816c5413c5efe1e1eca006d71af/demo.html +121 -0
- package/vendor/components/sha256/86d7e20631c2ff8f708115726bd09d8ee66c1816c5413c5efe1e1eca006d71af/index.js +912 -0
- package/vendor/components/sha256/8833002d016a617a3494b16d19f06d78a96bf6e811a5c0e7e5743d4fcffe2ccd/README.md +32 -0
- package/vendor/components/sha256/8833002d016a617a3494b16d19f06d78a96bf6e811a5c0e7e5743d4fcffe2ccd/demo.html +40 -0
- package/vendor/components/sha256/8833002d016a617a3494b16d19f06d78a96bf6e811a5c0e7e5743d4fcffe2ccd/index.js +741 -0
- package/vendor/components/sha256/8b521cf7751231c01877c49ff777786e773de6de26378f390008ae471aaaeffc/CHANGELOG.md +31 -0
- package/vendor/components/sha256/8b521cf7751231c01877c49ff777786e773de6de26378f390008ae471aaaeffc/README.md +36 -0
- package/vendor/components/sha256/8b521cf7751231c01877c49ff777786e773de6de26378f390008ae471aaaeffc/demo.html +52 -0
- package/vendor/components/sha256/8b521cf7751231c01877c49ff777786e773de6de26378f390008ae471aaaeffc/index.js +263 -0
- package/vendor/components/sha256/8da7e596d0371c29c90fd86ddea20d0f1586aa20661b16377d92ddf5a3a19f8b/README.md +33 -0
- package/vendor/components/sha256/8da7e596d0371c29c90fd86ddea20d0f1586aa20661b16377d92ddf5a3a19f8b/demo.html +69 -0
- package/vendor/components/sha256/8da7e596d0371c29c90fd86ddea20d0f1586aa20661b16377d92ddf5a3a19f8b/index.js +261 -0
- package/vendor/components/sha256/8ed3a0ee313218ff5a6aa8d891e790a4dbbf23a2384e154284d4f2cbd3faa4b4/CHANGELOG.md +26 -0
- package/vendor/components/sha256/8ed3a0ee313218ff5a6aa8d891e790a4dbbf23a2384e154284d4f2cbd3faa4b4/README.md +57 -0
- package/vendor/components/sha256/8ed3a0ee313218ff5a6aa8d891e790a4dbbf23a2384e154284d4f2cbd3faa4b4/demo.html +121 -0
- package/vendor/components/sha256/8ed3a0ee313218ff5a6aa8d891e790a4dbbf23a2384e154284d4f2cbd3faa4b4/index.js +875 -0
- package/vendor/components/sha256/90ffa5b594074f9c86ffc2b3e5a024624c74cd631b18dfacf0a7377da878e229/README.md +37 -0
- package/vendor/components/sha256/90ffa5b594074f9c86ffc2b3e5a024624c74cd631b18dfacf0a7377da878e229/demo.html +70 -0
- package/vendor/components/sha256/90ffa5b594074f9c86ffc2b3e5a024624c74cd631b18dfacf0a7377da878e229/index.js +307 -0
- package/vendor/components/sha256/915c107b3cd1f2657911c539409923572deb0f68607cc6955f8be61fa6034622/README.md +20 -0
- package/vendor/components/sha256/915c107b3cd1f2657911c539409923572deb0f68607cc6955f8be61fa6034622/demo.html +42 -0
- package/vendor/components/sha256/915c107b3cd1f2657911c539409923572deb0f68607cc6955f8be61fa6034622/index.js +102 -0
- package/vendor/components/sha256/92111d5968d74b63bc43c559c35498507bd654aa76d87dcc1462e276863c7457/CHANGELOG.md +44 -0
- package/vendor/components/sha256/92111d5968d74b63bc43c559c35498507bd654aa76d87dcc1462e276863c7457/README.md +32 -0
- package/vendor/components/sha256/92111d5968d74b63bc43c559c35498507bd654aa76d87dcc1462e276863c7457/demo.html +57 -0
- package/vendor/components/sha256/92111d5968d74b63bc43c559c35498507bd654aa76d87dcc1462e276863c7457/fixtures/ABCJS-ADAPTER.md +101 -0
- package/vendor/components/sha256/92111d5968d74b63bc43c559c35498507bd654aa76d87dcc1462e276863c7457/fixtures/LICENSE-abcjs.txt +21 -0
- package/vendor/components/sha256/92111d5968d74b63bc43c559c35498507bd654aa76d87dcc1462e276863c7457/fixtures/chords.json +89 -0
- package/vendor/components/sha256/92111d5968d74b63bc43c559c35498507bd654aa76d87dcc1462e276863c7457/fixtures/doremi.json +261 -0
- package/vendor/components/sha256/92111d5968d74b63bc43c559c35498507bd654aa76d87dcc1462e276863c7457/fixtures/extras.json +192 -0
- package/vendor/components/sha256/92111d5968d74b63bc43c559c35498507bd654aa76d87dcc1462e276863c7457/fixtures/kaeru.json +521 -0
- package/vendor/components/sha256/92111d5968d74b63bc43c559c35498507bd654aa76d87dcc1462e276863c7457/fixtures/rhythm.json +248 -0
- package/vendor/components/sha256/92111d5968d74b63bc43c559c35498507bd654aa76d87dcc1462e276863c7457/fixtures/ties.json +360 -0
- package/vendor/components/sha256/92111d5968d74b63bc43c559c35498507bd654aa76d87dcc1462e276863c7457/index.js +474 -0
- package/vendor/components/sha256/922ba3c715943639a851540fc516dfce737dc371406bdc68f7c5081819fc472a/README.md +28 -0
- package/vendor/components/sha256/922ba3c715943639a851540fc516dfce737dc371406bdc68f7c5081819fc472a/demo.html +56 -0
- package/vendor/components/sha256/922ba3c715943639a851540fc516dfce737dc371406bdc68f7c5081819fc472a/index.js +150 -0
- package/vendor/components/sha256/92be6dffad7fed271018717930766d8f52138db5babdc9129b1d99bc51e67154/README.md +33 -0
- package/vendor/components/sha256/92be6dffad7fed271018717930766d8f52138db5babdc9129b1d99bc51e67154/demo.html +50 -0
- package/vendor/components/sha256/92be6dffad7fed271018717930766d8f52138db5babdc9129b1d99bc51e67154/index.js +231 -0
- package/vendor/components/sha256/947dca6d3695e6ff38b25e1e00995609fbcfbe7f2774cfb17ab55df3e4b945c8/README.md +33 -0
- package/vendor/components/sha256/947dca6d3695e6ff38b25e1e00995609fbcfbe7f2774cfb17ab55df3e4b945c8/demo.html +66 -0
- package/vendor/components/sha256/947dca6d3695e6ff38b25e1e00995609fbcfbe7f2774cfb17ab55df3e4b945c8/index.js +325 -0
- package/vendor/components/sha256/968710c7592a805d57ffd11171f79ee23f962923b13351ff0ae0b12279208714/README.md +19 -0
- package/vendor/components/sha256/968710c7592a805d57ffd11171f79ee23f962923b13351ff0ae0b12279208714/index.js +200 -0
- package/vendor/components/sha256/98f5463e811fa3f39a46b704959256537f46d3e7da8d45cb17957ab77dd1f548/README.md +38 -0
- package/vendor/components/sha256/98f5463e811fa3f39a46b704959256537f46d3e7da8d45cb17957ab77dd1f548/demo.html +92 -0
- package/vendor/components/sha256/98f5463e811fa3f39a46b704959256537f46d3e7da8d45cb17957ab77dd1f548/index.js +443 -0
- package/vendor/components/sha256/9fe6ac64226e96a8cda10a3d3205ca9f09782a5a88e2d02e57e73d8bafac8e2d/README.md +23 -0
- package/vendor/components/sha256/9fe6ac64226e96a8cda10a3d3205ca9f09782a5a88e2d02e57e73d8bafac8e2d/demo.html +54 -0
- package/vendor/components/sha256/9fe6ac64226e96a8cda10a3d3205ca9f09782a5a88e2d02e57e73d8bafac8e2d/index.js +102 -0
- package/vendor/components/sha256/a0353fe9c7aa0a739d0138babc9c75ff393ad1968e3b7ed3674ac9bb05f9ea23/README.md +40 -0
- package/vendor/components/sha256/a0353fe9c7aa0a739d0138babc9c75ff393ad1968e3b7ed3674ac9bb05f9ea23/demo.html +43 -0
- package/vendor/components/sha256/a0353fe9c7aa0a739d0138babc9c75ff393ad1968e3b7ed3674ac9bb05f9ea23/index.js +255 -0
- package/vendor/components/sha256/a11f1ceefd99057623a4a692e89c2d96490fb67d1567598ed5f26c7d392d4d4c/README.md +43 -0
- package/vendor/components/sha256/a11f1ceefd99057623a4a692e89c2d96490fb67d1567598ed5f26c7d392d4d4c/demo.html +101 -0
- package/vendor/components/sha256/a11f1ceefd99057623a4a692e89c2d96490fb67d1567598ed5f26c7d392d4d4c/index.js +840 -0
- package/vendor/components/sha256/a3b3d927c0b16fe8376b7cf3885f4b89c5da78b03c0e7b066d55c7592b39dfb8/README.md +34 -0
- package/vendor/components/sha256/a3b3d927c0b16fe8376b7cf3885f4b89c5da78b03c0e7b066d55c7592b39dfb8/demo.html +70 -0
- package/vendor/components/sha256/a3b3d927c0b16fe8376b7cf3885f4b89c5da78b03c0e7b066d55c7592b39dfb8/index.js +218 -0
- package/vendor/components/sha256/a44e72e1e6aed89240ab7e0576424898e2ad9f1c53713ec9a7648031aa14a389/README.md +32 -0
- package/vendor/components/sha256/a44e72e1e6aed89240ab7e0576424898e2ad9f1c53713ec9a7648031aa14a389/demo.html +77 -0
- package/vendor/components/sha256/a44e72e1e6aed89240ab7e0576424898e2ad9f1c53713ec9a7648031aa14a389/index.js +210 -0
- package/vendor/components/sha256/a492a8608b51e275735b83e6467e693f2773984a572cedbd610efd2d2a084fbf/README.md +26 -0
- package/vendor/components/sha256/a492a8608b51e275735b83e6467e693f2773984a572cedbd610efd2d2a084fbf/demo.html +54 -0
- package/vendor/components/sha256/a492a8608b51e275735b83e6467e693f2773984a572cedbd610efd2d2a084fbf/index.js +294 -0
- package/vendor/components/sha256/a4baeda47410cc2ded554725c2612766df3a7bbdba8c8cbb6d841f2ea4008023/README.md +18 -0
- package/vendor/components/sha256/a4baeda47410cc2ded554725c2612766df3a7bbdba8c8cbb6d841f2ea4008023/demo.html +236 -0
- package/vendor/components/sha256/a4baeda47410cc2ded554725c2612766df3a7bbdba8c8cbb6d841f2ea4008023/index.js +643 -0
- package/vendor/components/sha256/a622caae26ad2f068f579949fe1fe2acca37e98748358acc2d8da90de1c93b09/README.md +29 -0
- package/vendor/components/sha256/a622caae26ad2f068f579949fe1fe2acca37e98748358acc2d8da90de1c93b09/demo.html +64 -0
- package/vendor/components/sha256/a622caae26ad2f068f579949fe1fe2acca37e98748358acc2d8da90de1c93b09/index.js +175 -0
- package/vendor/components/sha256/a9e1790404966e62f2e2c49f3b2febb02bc108faf7b30fa86113559b3a7fb84c/README.md +68 -0
- package/vendor/components/sha256/a9e1790404966e62f2e2c49f3b2febb02bc108faf7b30fa86113559b3a7fb84c/demo.html +76 -0
- package/vendor/components/sha256/a9e1790404966e62f2e2c49f3b2febb02bc108faf7b30fa86113559b3a7fb84c/index.js +786 -0
- package/vendor/components/sha256/aa06b370a24cd9be0cd6815204b26b1d5ba7be077a5885d087e14858b2793f00/README.md +40 -0
- package/vendor/components/sha256/aa06b370a24cd9be0cd6815204b26b1d5ba7be077a5885d087e14858b2793f00/demo.html +90 -0
- package/vendor/components/sha256/aa06b370a24cd9be0cd6815204b26b1d5ba7be077a5885d087e14858b2793f00/index.js +409 -0
- package/vendor/components/sha256/ac3be86eeff290db6eb8fff19c32a6790539b2281bbc044051cb525a2146ba75/README.md +37 -0
- package/vendor/components/sha256/ac3be86eeff290db6eb8fff19c32a6790539b2281bbc044051cb525a2146ba75/demo.html +66 -0
- package/vendor/components/sha256/ac3be86eeff290db6eb8fff19c32a6790539b2281bbc044051cb525a2146ba75/index.js +269 -0
- package/vendor/components/sha256/ac9148961116fd3da1b67ebabdd22b4de624af7e38144134b40dbe693d55e344/CHANGELOG.md +16 -0
- package/vendor/components/sha256/ac9148961116fd3da1b67ebabdd22b4de624af7e38144134b40dbe693d55e344/README.md +38 -0
- package/vendor/components/sha256/ac9148961116fd3da1b67ebabdd22b4de624af7e38144134b40dbe693d55e344/demo.html +115 -0
- package/vendor/components/sha256/ac9148961116fd3da1b67ebabdd22b4de624af7e38144134b40dbe693d55e344/index.js +361 -0
- package/vendor/components/sha256/ad9e9c2ca0299d221f22fd657ea64c1318a0cda7d4fe98a8c98459e67b81422c/CHANGELOG.md +19 -0
- package/vendor/components/sha256/ad9e9c2ca0299d221f22fd657ea64c1318a0cda7d4fe98a8c98459e67b81422c/README.md +31 -0
- package/vendor/components/sha256/ad9e9c2ca0299d221f22fd657ea64c1318a0cda7d4fe98a8c98459e67b81422c/demo.html +56 -0
- package/vendor/components/sha256/ad9e9c2ca0299d221f22fd657ea64c1318a0cda7d4fe98a8c98459e67b81422c/index.js +196 -0
- package/vendor/components/sha256/af3cada466eb1deb15fd4681498e6a1564bf7a97f7606694a885b31b4ec22da5/README.md +25 -0
- package/vendor/components/sha256/af3cada466eb1deb15fd4681498e6a1564bf7a97f7606694a885b31b4ec22da5/index.js +122 -0
- package/vendor/components/sha256/afcc0d2ca964536fb7a4a0997bede6b16a2049fd2a6ff298e1b8592f236257f7/CHANGELOG.md +26 -0
- package/vendor/components/sha256/afcc0d2ca964536fb7a4a0997bede6b16a2049fd2a6ff298e1b8592f236257f7/README.md +39 -0
- package/vendor/components/sha256/afcc0d2ca964536fb7a4a0997bede6b16a2049fd2a6ff298e1b8592f236257f7/demo.html +70 -0
- package/vendor/components/sha256/afcc0d2ca964536fb7a4a0997bede6b16a2049fd2a6ff298e1b8592f236257f7/index.js +158 -0
- package/vendor/components/sha256/b08c7fea7916f5a77c0a29e69fe13b7f5267ddb7387ee6ebfcd9d2b1d0a7ac79/CHANGELOG.md +31 -0
- package/vendor/components/sha256/b08c7fea7916f5a77c0a29e69fe13b7f5267ddb7387ee6ebfcd9d2b1d0a7ac79/README.md +71 -0
- package/vendor/components/sha256/b08c7fea7916f5a77c0a29e69fe13b7f5267ddb7387ee6ebfcd9d2b1d0a7ac79/demo.html +76 -0
- package/vendor/components/sha256/b08c7fea7916f5a77c0a29e69fe13b7f5267ddb7387ee6ebfcd9d2b1d0a7ac79/index.js +806 -0
- package/vendor/components/sha256/b0c9c5abbd15ef3f73f50a0a927065e6599536879c9ac31eeaea1144d3365b77/README.md +32 -0
- package/vendor/components/sha256/b0c9c5abbd15ef3f73f50a0a927065e6599536879c9ac31eeaea1144d3365b77/demo.html +53 -0
- package/vendor/components/sha256/b0c9c5abbd15ef3f73f50a0a927065e6599536879c9ac31eeaea1144d3365b77/index.js +524 -0
- package/vendor/components/sha256/b3d313b1deba2bf61d715ba889479edbd90d333f126091445483dfe5a2121280/CHANGELOG.md +16 -0
- package/vendor/components/sha256/b3d313b1deba2bf61d715ba889479edbd90d333f126091445483dfe5a2121280/README.md +27 -0
- package/vendor/components/sha256/b3d313b1deba2bf61d715ba889479edbd90d333f126091445483dfe5a2121280/demo.html +42 -0
- package/vendor/components/sha256/b3d313b1deba2bf61d715ba889479edbd90d333f126091445483dfe5a2121280/index.js +121 -0
- package/vendor/components/sha256/b3da6df3b42feb15fb29dc943cea5df028600d0d113fd6e8e32b150b74400908/CHANGELOG.md +22 -0
- package/vendor/components/sha256/b3da6df3b42feb15fb29dc943cea5df028600d0d113fd6e8e32b150b74400908/README.md +64 -0
- package/vendor/components/sha256/b3da6df3b42feb15fb29dc943cea5df028600d0d113fd6e8e32b150b74400908/demo.html +97 -0
- package/vendor/components/sha256/b3da6df3b42feb15fb29dc943cea5df028600d0d113fd6e8e32b150b74400908/index.js +875 -0
- package/vendor/components/sha256/b3ebd4ffde8bc39c7f9100642307cd83b9d32e072f1f894e7c4d6996a6cc0d21/CHANGELOG.md +16 -0
- package/vendor/components/sha256/b3ebd4ffde8bc39c7f9100642307cd83b9d32e072f1f894e7c4d6996a6cc0d21/README.md +49 -0
- package/vendor/components/sha256/b3ebd4ffde8bc39c7f9100642307cd83b9d32e072f1f894e7c4d6996a6cc0d21/demo.html +44 -0
- package/vendor/components/sha256/b3ebd4ffde8bc39c7f9100642307cd83b9d32e072f1f894e7c4d6996a6cc0d21/index.js +426 -0
- package/vendor/components/sha256/b463b215338973d7f05ba9fe14187ded5069d74d68dd50eaee445d8ba9d5cd16/CHANGELOG.md +26 -0
- package/vendor/components/sha256/b463b215338973d7f05ba9fe14187ded5069d74d68dd50eaee445d8ba9d5cd16/README.md +40 -0
- package/vendor/components/sha256/b463b215338973d7f05ba9fe14187ded5069d74d68dd50eaee445d8ba9d5cd16/demo.html +92 -0
- package/vendor/components/sha256/b463b215338973d7f05ba9fe14187ded5069d74d68dd50eaee445d8ba9d5cd16/index.js +424 -0
- package/vendor/components/sha256/b707dec1072d9c75092d29f02725b5811964531bba3183814035a0f59bf6dab9/README.md +38 -0
- package/vendor/components/sha256/b707dec1072d9c75092d29f02725b5811964531bba3183814035a0f59bf6dab9/demo.html +42 -0
- package/vendor/components/sha256/b707dec1072d9c75092d29f02725b5811964531bba3183814035a0f59bf6dab9/index.js +252 -0
- package/vendor/components/sha256/b757b0ef249e171d810a2a0e17e345d65683c0ec4fbf6cc14093ff3374423691/README.md +37 -0
- package/vendor/components/sha256/b757b0ef249e171d810a2a0e17e345d65683c0ec4fbf6cc14093ff3374423691/demo.html +70 -0
- package/vendor/components/sha256/b757b0ef249e171d810a2a0e17e345d65683c0ec4fbf6cc14093ff3374423691/index.js +606 -0
- package/vendor/components/sha256/b889dfb55f0bdef70778833b62aa6819a7222ccebf4ab0613ba938d827370b61/README.md +31 -0
- package/vendor/components/sha256/b889dfb55f0bdef70778833b62aa6819a7222ccebf4ab0613ba938d827370b61/demo.html +64 -0
- package/vendor/components/sha256/b889dfb55f0bdef70778833b62aa6819a7222ccebf4ab0613ba938d827370b61/index.js +179 -0
- package/vendor/components/sha256/b8eebe877599e04dca013ca0e758d6d7079e96cbc419eb2db3961886dccfc8b6/CHANGELOG.md +26 -0
- package/vendor/components/sha256/b8eebe877599e04dca013ca0e758d6d7079e96cbc419eb2db3961886dccfc8b6/README.md +34 -0
- package/vendor/components/sha256/b8eebe877599e04dca013ca0e758d6d7079e96cbc419eb2db3961886dccfc8b6/demo.html +77 -0
- package/vendor/components/sha256/b8eebe877599e04dca013ca0e758d6d7079e96cbc419eb2db3961886dccfc8b6/index.js +221 -0
- package/vendor/components/sha256/b95b45d601e264a27686349bc0ab2a3cf921f92fd3f4231b1ccf6b6ae6c33b27/README.md +31 -0
- package/vendor/components/sha256/b95b45d601e264a27686349bc0ab2a3cf921f92fd3f4231b1ccf6b6ae6c33b27/demo.html +60 -0
- package/vendor/components/sha256/b95b45d601e264a27686349bc0ab2a3cf921f92fd3f4231b1ccf6b6ae6c33b27/index.js +221 -0
- package/vendor/components/sha256/b9efb83daf603dfe7ceb97749082ec102e06601b70cf556b03819ca2796970f4/README.md +29 -0
- package/vendor/components/sha256/b9efb83daf603dfe7ceb97749082ec102e06601b70cf556b03819ca2796970f4/demo.html +56 -0
- package/vendor/components/sha256/b9efb83daf603dfe7ceb97749082ec102e06601b70cf556b03819ca2796970f4/index.js +150 -0
- package/vendor/components/sha256/bbcdfe01c39566e166126d3fffd2f0473ca6a31c8d4221cb33d9c8531a5dad28/README.md +36 -0
- package/vendor/components/sha256/bbcdfe01c39566e166126d3fffd2f0473ca6a31c8d4221cb33d9c8531a5dad28/demo.html +72 -0
- package/vendor/components/sha256/bbcdfe01c39566e166126d3fffd2f0473ca6a31c8d4221cb33d9c8531a5dad28/index.js +301 -0
- package/vendor/components/sha256/bfd7c7e025202b9e05365785661eb8388e1174d4f29648f83b73d8ea9822abd9/README.md +22 -0
- package/vendor/components/sha256/bfd7c7e025202b9e05365785661eb8388e1174d4f29648f83b73d8ea9822abd9/index.js +37 -0
- package/vendor/components/sha256/bfe594a10d6f8c15fbacfba6319de5ac44f0035d6f971a1c85e8d5e62b8235d6/README.md +22 -0
- package/vendor/components/sha256/bfe594a10d6f8c15fbacfba6319de5ac44f0035d6f971a1c85e8d5e62b8235d6/demo.html +48 -0
- package/vendor/components/sha256/bfe594a10d6f8c15fbacfba6319de5ac44f0035d6f971a1c85e8d5e62b8235d6/index.js +80 -0
- package/vendor/components/sha256/c0f33f67a17bb7bbdd723204d4097ce7bf99bad7812d883250d0cc46dd954d42/CHANGELOG.md +20 -0
- package/vendor/components/sha256/c0f33f67a17bb7bbdd723204d4097ce7bf99bad7812d883250d0cc46dd954d42/README.md +46 -0
- package/vendor/components/sha256/c0f33f67a17bb7bbdd723204d4097ce7bf99bad7812d883250d0cc46dd954d42/demo.html +112 -0
- package/vendor/components/sha256/c0f33f67a17bb7bbdd723204d4097ce7bf99bad7812d883250d0cc46dd954d42/index.js +443 -0
- package/vendor/components/sha256/c19d7b38009197b42a2b6a6aa87cdf069594beb1137a1ab7d5448025406d85ee/CHANGELOG.md +30 -0
- package/vendor/components/sha256/c19d7b38009197b42a2b6a6aa87cdf069594beb1137a1ab7d5448025406d85ee/README.md +35 -0
- package/vendor/components/sha256/c19d7b38009197b42a2b6a6aa87cdf069594beb1137a1ab7d5448025406d85ee/demo.html +53 -0
- package/vendor/components/sha256/c19d7b38009197b42a2b6a6aa87cdf069594beb1137a1ab7d5448025406d85ee/index.js +520 -0
- package/vendor/components/sha256/c2c426c8df5553688475d440c2d951c21a2de70ef2d0cf340d1199377c23c986/README.md +37 -0
- package/vendor/components/sha256/c2c426c8df5553688475d440c2d951c21a2de70ef2d0cf340d1199377c23c986/demo.html +42 -0
- package/vendor/components/sha256/c2c426c8df5553688475d440c2d951c21a2de70ef2d0cf340d1199377c23c986/index.js +252 -0
- package/vendor/components/sha256/c3319feef72f50bf834222362a02c27078b0ae9855a90954ca61fd41f16cd03b/README.md +42 -0
- package/vendor/components/sha256/c3319feef72f50bf834222362a02c27078b0ae9855a90954ca61fd41f16cd03b/index.js +250 -0
- package/vendor/components/sha256/c3aaa6dccaefe1e372d0758a67ea8e95242629bb9fb55294f1d43633ae60f293/README.md +37 -0
- package/vendor/components/sha256/c3aaa6dccaefe1e372d0758a67ea8e95242629bb9fb55294f1d43633ae60f293/demo.html +42 -0
- package/vendor/components/sha256/c3aaa6dccaefe1e372d0758a67ea8e95242629bb9fb55294f1d43633ae60f293/index.js +251 -0
- package/vendor/components/sha256/c44ad77f4cf1a9d16d4c3750c85aa5ddb7a2f046ceef59fbab58153ab1ffad77/CHANGELOG.md +21 -0
- package/vendor/components/sha256/c44ad77f4cf1a9d16d4c3750c85aa5ddb7a2f046ceef59fbab58153ab1ffad77/README.md +34 -0
- package/vendor/components/sha256/c44ad77f4cf1a9d16d4c3750c85aa5ddb7a2f046ceef59fbab58153ab1ffad77/demo.html +77 -0
- package/vendor/components/sha256/c44ad77f4cf1a9d16d4c3750c85aa5ddb7a2f046ceef59fbab58153ab1ffad77/index.js +200 -0
- package/vendor/components/sha256/c485dc4947caba8a302df7e0d65cf0f3ec963983b734e13a0ad0cdf464c49bea/CHANGELOG.md +19 -0
- package/vendor/components/sha256/c485dc4947caba8a302df7e0d65cf0f3ec963983b734e13a0ad0cdf464c49bea/README.md +36 -0
- package/vendor/components/sha256/c485dc4947caba8a302df7e0d65cf0f3ec963983b734e13a0ad0cdf464c49bea/demo.html +70 -0
- package/vendor/components/sha256/c485dc4947caba8a302df7e0d65cf0f3ec963983b734e13a0ad0cdf464c49bea/index.js +167 -0
- package/vendor/components/sha256/c5bf4965efeae90df60b41230286c02e214e79aac64ebaf191e0b6719133a5d4/README.md +12 -0
- package/vendor/components/sha256/c5bf4965efeae90df60b41230286c02e214e79aac64ebaf191e0b6719133a5d4/demo.html +32 -0
- package/vendor/components/sha256/c5bf4965efeae90df60b41230286c02e214e79aac64ebaf191e0b6719133a5d4/index.js +39 -0
- package/vendor/components/sha256/c9f12f9f17f4fa48edce7faee3b7bad421228fb91706b0bbc71a355f84c28f65/README.md +21 -0
- package/vendor/components/sha256/c9f12f9f17f4fa48edce7faee3b7bad421228fb91706b0bbc71a355f84c28f65/index.js +93 -0
- package/vendor/components/sha256/cbb73fab4890bd711f727b871bd3a93c76c4e38db68ac5eeeb2feacd62289a87/CHANGELOG.md +25 -0
- package/vendor/components/sha256/cbb73fab4890bd711f727b871bd3a93c76c4e38db68ac5eeeb2feacd62289a87/README.md +21 -0
- package/vendor/components/sha256/cbb73fab4890bd711f727b871bd3a93c76c4e38db68ac5eeeb2feacd62289a87/demo.html +33 -0
- package/vendor/components/sha256/cbb73fab4890bd711f727b871bd3a93c76c4e38db68ac5eeeb2feacd62289a87/index.js +121 -0
- package/vendor/components/sha256/cbf9ffaca099ee9ed0d079c1cfecb1c5222e5f7e6d3c8a0f3f4f64626defe08a/CHANGELOG.md +20 -0
- package/vendor/components/sha256/cbf9ffaca099ee9ed0d079c1cfecb1c5222e5f7e6d3c8a0f3f4f64626defe08a/README.md +43 -0
- package/vendor/components/sha256/cbf9ffaca099ee9ed0d079c1cfecb1c5222e5f7e6d3c8a0f3f4f64626defe08a/demo.html +89 -0
- package/vendor/components/sha256/cbf9ffaca099ee9ed0d079c1cfecb1c5222e5f7e6d3c8a0f3f4f64626defe08a/index.js +253 -0
- package/vendor/components/sha256/ced0e95915f4abb411941078306811771a687aa056a955a7aca28a798a0ecedc/README.md +38 -0
- package/vendor/components/sha256/ced0e95915f4abb411941078306811771a687aa056a955a7aca28a798a0ecedc/demo.html +42 -0
- package/vendor/components/sha256/ced0e95915f4abb411941078306811771a687aa056a955a7aca28a798a0ecedc/index.js +254 -0
- package/vendor/components/sha256/d0941d711b56714b766f470eb9fbc82e0b5d69a0ad35876b215730fd92f0dcc7/CHANGELOG.md +16 -0
- package/vendor/components/sha256/d0941d711b56714b766f470eb9fbc82e0b5d69a0ad35876b215730fd92f0dcc7/README.md +50 -0
- package/vendor/components/sha256/d0941d711b56714b766f470eb9fbc82e0b5d69a0ad35876b215730fd92f0dcc7/demo.html +63 -0
- package/vendor/components/sha256/d0941d711b56714b766f470eb9fbc82e0b5d69a0ad35876b215730fd92f0dcc7/index.js +219 -0
- package/vendor/components/sha256/d0e526069df47909525ed6abff7464d72bf902c44186e0a414798d55602df49f/CHANGELOG.md +19 -0
- package/vendor/components/sha256/d0e526069df47909525ed6abff7464d72bf902c44186e0a414798d55602df49f/README.md +34 -0
- package/vendor/components/sha256/d0e526069df47909525ed6abff7464d72bf902c44186e0a414798d55602df49f/demo.html +73 -0
- package/vendor/components/sha256/d0e526069df47909525ed6abff7464d72bf902c44186e0a414798d55602df49f/index.js +209 -0
- package/vendor/components/sha256/d1563fe9fc78196a33f6ff2f6b87bc2e87467dae267cdd7b68abd3bfa5a93759/README.md +33 -0
- package/vendor/components/sha256/d1563fe9fc78196a33f6ff2f6b87bc2e87467dae267cdd7b68abd3bfa5a93759/demo.html +66 -0
- package/vendor/components/sha256/d1563fe9fc78196a33f6ff2f6b87bc2e87467dae267cdd7b68abd3bfa5a93759/index.js +357 -0
- package/vendor/components/sha256/d15c449222f631811b0d2f24cb69beffd708fe8104cb1b8e5eedfaeace291808/README.md +48 -0
- package/vendor/components/sha256/d15c449222f631811b0d2f24cb69beffd708fe8104cb1b8e5eedfaeace291808/demo.html +61 -0
- package/vendor/components/sha256/d15c449222f631811b0d2f24cb69beffd708fe8104cb1b8e5eedfaeace291808/index.js +120 -0
- package/vendor/components/sha256/d176d6ad8b9761c98a0f21c3af79d938d32615b26e4c694c77c77141b9db9e8d/README.md +21 -0
- package/vendor/components/sha256/d176d6ad8b9761c98a0f21c3af79d938d32615b26e4c694c77c77141b9db9e8d/demo.html +42 -0
- package/vendor/components/sha256/d176d6ad8b9761c98a0f21c3af79d938d32615b26e4c694c77c77141b9db9e8d/index.js +102 -0
- package/vendor/components/sha256/d24a8e8cc98ace21732cd99d4199f320914b4a0750457afab0c00699198c15bc/CHANGELOG.md +25 -0
- package/vendor/components/sha256/d24a8e8cc98ace21732cd99d4199f320914b4a0750457afab0c00699198c15bc/README.md +43 -0
- package/vendor/components/sha256/d24a8e8cc98ace21732cd99d4199f320914b4a0750457afab0c00699198c15bc/demo.html +75 -0
- package/vendor/components/sha256/d24a8e8cc98ace21732cd99d4199f320914b4a0750457afab0c00699198c15bc/index.js +310 -0
- package/vendor/components/sha256/d27dfd1746b1e116e695de1ea9c86a71cb8e6f6406f20806c5e90d425f8f96d7/README.md +32 -0
- package/vendor/components/sha256/d27dfd1746b1e116e695de1ea9c86a71cb8e6f6406f20806c5e90d425f8f96d7/demo.html +77 -0
- package/vendor/components/sha256/d27dfd1746b1e116e695de1ea9c86a71cb8e6f6406f20806c5e90d425f8f96d7/index.js +251 -0
- package/vendor/components/sha256/d3b79b06cb9b317ea9690a2b069d0571e240ea45f50b9aee00bc562d3c500a43/CHANGELOG.md +20 -0
- package/vendor/components/sha256/d3b79b06cb9b317ea9690a2b069d0571e240ea45f50b9aee00bc562d3c500a43/README.md +23 -0
- package/vendor/components/sha256/d3b79b06cb9b317ea9690a2b069d0571e240ea45f50b9aee00bc562d3c500a43/demo.html +236 -0
- package/vendor/components/sha256/d3b79b06cb9b317ea9690a2b069d0571e240ea45f50b9aee00bc562d3c500a43/index.js +572 -0
- package/vendor/components/sha256/d944ffe0b14a557d0d898b60e572fc598633e4c7552fc37d77728a2c9e4297c7/CHANGELOG.md +23 -0
- package/vendor/components/sha256/d944ffe0b14a557d0d898b60e572fc598633e4c7552fc37d77728a2c9e4297c7/README.md +44 -0
- package/vendor/components/sha256/d944ffe0b14a557d0d898b60e572fc598633e4c7552fc37d77728a2c9e4297c7/demo.html +43 -0
- package/vendor/components/sha256/d944ffe0b14a557d0d898b60e572fc598633e4c7552fc37d77728a2c9e4297c7/index.js +266 -0
- package/vendor/components/sha256/d9fc15e829cc75e15fbf34c56e27a48f697e9b987a6d7340c955cd92bf69f6f6/README.md +41 -0
- package/vendor/components/sha256/d9fc15e829cc75e15fbf34c56e27a48f697e9b987a6d7340c955cd92bf69f6f6/demo.html +75 -0
- package/vendor/components/sha256/d9fc15e829cc75e15fbf34c56e27a48f697e9b987a6d7340c955cd92bf69f6f6/index.js +311 -0
- package/vendor/components/sha256/da021f5480c007b620eff0b9a9bb00d1c19ce2fde19f48f093386eec538c80e4/README.md +36 -0
- package/vendor/components/sha256/da021f5480c007b620eff0b9a9bb00d1c19ce2fde19f48f093386eec538c80e4/demo.html +72 -0
- package/vendor/components/sha256/da021f5480c007b620eff0b9a9bb00d1c19ce2fde19f48f093386eec538c80e4/index.js +301 -0
- package/vendor/components/sha256/da3812937f8937dc61bed434374bb80342d3d4f78b33602d5574d515b7444dec/CHANGELOG.md +22 -0
- package/vendor/components/sha256/da3812937f8937dc61bed434374bb80342d3d4f78b33602d5574d515b7444dec/README.md +35 -0
- package/vendor/components/sha256/da3812937f8937dc61bed434374bb80342d3d4f78b33602d5574d515b7444dec/demo.html +69 -0
- package/vendor/components/sha256/da3812937f8937dc61bed434374bb80342d3d4f78b33602d5574d515b7444dec/index.js +217 -0
- package/vendor/components/sha256/db50cdaca9acb73c96d9159ed99fafa7b8a03592d26a7e38d2aabf9a5043cfe2/README.md +19 -0
- package/vendor/components/sha256/db50cdaca9acb73c96d9159ed99fafa7b8a03592d26a7e38d2aabf9a5043cfe2/demo.html +40 -0
- package/vendor/components/sha256/db50cdaca9acb73c96d9159ed99fafa7b8a03592d26a7e38d2aabf9a5043cfe2/index.js +95 -0
- package/vendor/components/sha256/dbad89b7d46a01b29d05713b825a6aa4e7057df40bba3f9673cb5ae1292630d2/README.md +41 -0
- package/vendor/components/sha256/dbad89b7d46a01b29d05713b825a6aa4e7057df40bba3f9673cb5ae1292630d2/demo.html +43 -0
- package/vendor/components/sha256/dbad89b7d46a01b29d05713b825a6aa4e7057df40bba3f9673cb5ae1292630d2/index.js +260 -0
- package/vendor/components/sha256/dbd48046660a931346992b3645e08fc7cad092fb5391f4af38b8f3953bf28e3a/CHANGELOG.md +19 -0
- package/vendor/components/sha256/dbd48046660a931346992b3645e08fc7cad092fb5391f4af38b8f3953bf28e3a/README.md +38 -0
- package/vendor/components/sha256/dbd48046660a931346992b3645e08fc7cad092fb5391f4af38b8f3953bf28e3a/demo.html +72 -0
- package/vendor/components/sha256/dbd48046660a931346992b3645e08fc7cad092fb5391f4af38b8f3953bf28e3a/index.js +248 -0
- package/vendor/components/sha256/dd18d987873f495031426d3542411da74951003d624ea491672f85ea0f5dd943/README.md +32 -0
- package/vendor/components/sha256/dd18d987873f495031426d3542411da74951003d624ea491672f85ea0f5dd943/demo.html +77 -0
- package/vendor/components/sha256/dd18d987873f495031426d3542411da74951003d624ea491672f85ea0f5dd943/index.js +251 -0
- package/vendor/components/sha256/def638a16ed94bbd079bc8e6ef0b63d65c4319e571f89d2745eddf596851da69/CHANGELOG.md +28 -0
- package/vendor/components/sha256/def638a16ed94bbd079bc8e6ef0b63d65c4319e571f89d2745eddf596851da69/README.md +40 -0
- package/vendor/components/sha256/def638a16ed94bbd079bc8e6ef0b63d65c4319e571f89d2745eddf596851da69/demo.html +70 -0
- package/vendor/components/sha256/def638a16ed94bbd079bc8e6ef0b63d65c4319e571f89d2745eddf596851da69/index.js +594 -0
- package/vendor/components/sha256/df17b0c9aa191c1fcd4d89cb4ec6a0d2cb24dac320ad2133ba918eeee88ec489/CHANGELOG.md +29 -0
- package/vendor/components/sha256/df17b0c9aa191c1fcd4d89cb4ec6a0d2cb24dac320ad2133ba918eeee88ec489/README.md +35 -0
- package/vendor/components/sha256/df17b0c9aa191c1fcd4d89cb4ec6a0d2cb24dac320ad2133ba918eeee88ec489/demo.html +69 -0
- package/vendor/components/sha256/df17b0c9aa191c1fcd4d89cb4ec6a0d2cb24dac320ad2133ba918eeee88ec489/index.js +244 -0
- package/vendor/components/sha256/dfcb56b144b6cdb58eeca0dfef74a7e2be4d4d977cd93715b3239cac5a4a35e6/CHANGELOG.md +26 -0
- package/vendor/components/sha256/dfcb56b144b6cdb58eeca0dfef74a7e2be4d4d977cd93715b3239cac5a4a35e6/README.md +75 -0
- package/vendor/components/sha256/dfcb56b144b6cdb58eeca0dfef74a7e2be4d4d977cd93715b3239cac5a4a35e6/demo.html +50 -0
- package/vendor/components/sha256/dfcb56b144b6cdb58eeca0dfef74a7e2be4d4d977cd93715b3239cac5a4a35e6/index.js +351 -0
- package/vendor/components/sha256/e0daed8338f51de7e86b5980a098394298455972218370ee65331ca48f7f9696/README.md +44 -0
- package/vendor/components/sha256/e0daed8338f51de7e86b5980a098394298455972218370ee65331ca48f7f9696/demo.html +112 -0
- package/vendor/components/sha256/e0daed8338f51de7e86b5980a098394298455972218370ee65331ca48f7f9696/index.js +447 -0
- package/vendor/components/sha256/e13dee9bce784ccf07c3137da426b8bdbb2478fc710bc559d0c6e91605c5fde3/CHANGELOG.md +25 -0
- package/vendor/components/sha256/e13dee9bce784ccf07c3137da426b8bdbb2478fc710bc559d0c6e91605c5fde3/README.md +71 -0
- package/vendor/components/sha256/e13dee9bce784ccf07c3137da426b8bdbb2478fc710bc559d0c6e91605c5fde3/demo.html +76 -0
- package/vendor/components/sha256/e13dee9bce784ccf07c3137da426b8bdbb2478fc710bc559d0c6e91605c5fde3/index.js +777 -0
- package/vendor/components/sha256/e14c9f31a758a73e22cbf8837535bfc7dabdb47bd1446b34c2e353dae41ba1b6/CHANGELOG.md +25 -0
- package/vendor/components/sha256/e14c9f31a758a73e22cbf8837535bfc7dabdb47bd1446b34c2e353dae41ba1b6/README.md +38 -0
- package/vendor/components/sha256/e14c9f31a758a73e22cbf8837535bfc7dabdb47bd1446b34c2e353dae41ba1b6/demo.html +72 -0
- package/vendor/components/sha256/e14c9f31a758a73e22cbf8837535bfc7dabdb47bd1446b34c2e353dae41ba1b6/index.js +266 -0
- package/vendor/components/sha256/e1ac9ec283b7dd59722409f10a60a1cad0a4db654b78e8865ea762f23a69fff3/README.md +63 -0
- package/vendor/components/sha256/e1ac9ec283b7dd59722409f10a60a1cad0a4db654b78e8865ea762f23a69fff3/demo.html +50 -0
- package/vendor/components/sha256/e1ac9ec283b7dd59722409f10a60a1cad0a4db654b78e8865ea762f23a69fff3/index.js +416 -0
- package/vendor/components/sha256/e22a8f43ec3e58ae6bd7a7547a5f08496aa3312d9ab8a57a0048b43007c347e7/README.md +40 -0
- package/vendor/components/sha256/e22a8f43ec3e58ae6bd7a7547a5f08496aa3312d9ab8a57a0048b43007c347e7/demo.html +90 -0
- package/vendor/components/sha256/e22a8f43ec3e58ae6bd7a7547a5f08496aa3312d9ab8a57a0048b43007c347e7/index.js +376 -0
- package/vendor/components/sha256/e284c2ad93e11239c15ab5ca069652b1d30602e3098ef854cc5ba7e1be4fb09d/README.md +31 -0
- package/vendor/components/sha256/e284c2ad93e11239c15ab5ca069652b1d30602e3098ef854cc5ba7e1be4fb09d/demo.html +68 -0
- package/vendor/components/sha256/e284c2ad93e11239c15ab5ca069652b1d30602e3098ef854cc5ba7e1be4fb09d/index.js +209 -0
- package/vendor/components/sha256/e39a91406f3953d00501f04240ed67ee048376c3368f1716f185594a1a9ac026/README.md +54 -0
- package/vendor/components/sha256/e39a91406f3953d00501f04240ed67ee048376c3368f1716f185594a1a9ac026/demo.html +121 -0
- package/vendor/components/sha256/e39a91406f3953d00501f04240ed67ee048376c3368f1716f185594a1a9ac026/index.js +886 -0
- package/vendor/components/sha256/e412eeadaea294d59703c3dcfacc37506fbd360398ac0609ff405bd9e949edcd/README.md +43 -0
- package/vendor/components/sha256/e412eeadaea294d59703c3dcfacc37506fbd360398ac0609ff405bd9e949edcd/demo.html +101 -0
- package/vendor/components/sha256/e412eeadaea294d59703c3dcfacc37506fbd360398ac0609ff405bd9e949edcd/index.js +798 -0
- package/vendor/components/sha256/e4c3831784c03c174fc2edf507a2a3d22d1f234863817afc2020099b9ec6a5e3/README.md +24 -0
- package/vendor/components/sha256/e4c3831784c03c174fc2edf507a2a3d22d1f234863817afc2020099b9ec6a5e3/demo.html +42 -0
- package/vendor/components/sha256/e4c3831784c03c174fc2edf507a2a3d22d1f234863817afc2020099b9ec6a5e3/index.js +116 -0
- package/vendor/components/sha256/e6fbdf9015a07418baed8905f2ce36f649b7172bc1603e74082643cdeb8b3922/CHANGELOG.md +19 -0
- package/vendor/components/sha256/e6fbdf9015a07418baed8905f2ce36f649b7172bc1603e74082643cdeb8b3922/README.md +44 -0
- package/vendor/components/sha256/e6fbdf9015a07418baed8905f2ce36f649b7172bc1603e74082643cdeb8b3922/demo.html +44 -0
- package/vendor/components/sha256/e6fbdf9015a07418baed8905f2ce36f649b7172bc1603e74082643cdeb8b3922/index.js +334 -0
- package/vendor/components/sha256/e72d50db405995de41e12e29ccc4e911e54f77385327fb9bebc9034d9afd497e/README.md +33 -0
- package/vendor/components/sha256/e72d50db405995de41e12e29ccc4e911e54f77385327fb9bebc9034d9afd497e/demo.html +69 -0
- package/vendor/components/sha256/e72d50db405995de41e12e29ccc4e911e54f77385327fb9bebc9034d9afd497e/index.js +261 -0
- package/vendor/components/sha256/e9db08ecaca1485175dc201e23bf87d52d1847c2bff0a57cfdac90b3c944c988/README.md +37 -0
- package/vendor/components/sha256/e9db08ecaca1485175dc201e23bf87d52d1847c2bff0a57cfdac90b3c944c988/demo.html +66 -0
- package/vendor/components/sha256/e9db08ecaca1485175dc201e23bf87d52d1847c2bff0a57cfdac90b3c944c988/index.js +310 -0
- package/vendor/components/sha256/ea3069499016f752ca9a3484e1a6a41f04030edb284115a086c343c17c23ea50/README.md +18 -0
- package/vendor/components/sha256/ea3069499016f752ca9a3484e1a6a41f04030edb284115a086c343c17c23ea50/demo.html +32 -0
- package/vendor/components/sha256/ea3069499016f752ca9a3484e1a6a41f04030edb284115a086c343c17c23ea50/index.js +238 -0
- package/vendor/components/sha256/ebd224f4d564c25a9cd010210f18afa5676fb71523b17443956eae62a69ab44c/README.md +41 -0
- package/vendor/components/sha256/ebd224f4d564c25a9cd010210f18afa5676fb71523b17443956eae62a69ab44c/demo.html +56 -0
- package/vendor/components/sha256/ebd224f4d564c25a9cd010210f18afa5676fb71523b17443956eae62a69ab44c/index.js +481 -0
- package/vendor/components/sha256/ed452016b8a7c5fe8ea0ff3b907c07c4030c26d349aa4adfe429e596e5293870/README.md +34 -0
- package/vendor/components/sha256/ed452016b8a7c5fe8ea0ff3b907c07c4030c26d349aa4adfe429e596e5293870/demo.html +86 -0
- package/vendor/components/sha256/ed452016b8a7c5fe8ea0ff3b907c07c4030c26d349aa4adfe429e596e5293870/index.js +305 -0
- package/vendor/components/sha256/ef21455ed117db364e40be629b74fa6507481bcd964ce46c2df30d24cbfa5f1c/LICENSE-strokesvg.txt +115 -0
- package/vendor/components/sha256/ef21455ed117db364e40be629b74fa6507481bcd964ce46c2df30d24cbfa5f1c/OFL.txt +93 -0
- package/vendor/components/sha256/ef21455ed117db364e40be629b74fa6507481bcd964ce46c2df30d24cbfa5f1c/README.md +30 -0
- package/vendor/components/sha256/ef21455ed117db364e40be629b74fa6507481bcd964ce46c2df30d24cbfa5f1c/demo.html +40 -0
- package/vendor/components/sha256/ef21455ed117db364e40be629b74fa6507481bcd964ce46c2df30d24cbfa5f1c/index.js +756 -0
- package/vendor/components/sha256/ef21455ed117db364e40be629b74fa6507481bcd964ce46c2df30d24cbfa5f1c/strokes-CHANGES.md +20 -0
- package/vendor/components/sha256/f0d56d0b64615c21fa744e9c4c7625d60bc56e315053c582c9026f80e37d2847/README.md +33 -0
- package/vendor/components/sha256/f0d56d0b64615c21fa744e9c4c7625d60bc56e315053c582c9026f80e37d2847/demo.html +66 -0
- package/vendor/components/sha256/f0d56d0b64615c21fa744e9c4c7625d60bc56e315053c582c9026f80e37d2847/index.js +357 -0
- package/vendor/components/sha256/f28de133b15d0eb022779ab7937aeafd49772f75e192f33559ef100c7e0ba222/README.md +62 -0
- package/vendor/components/sha256/f28de133b15d0eb022779ab7937aeafd49772f75e192f33559ef100c7e0ba222/demo.html +50 -0
- package/vendor/components/sha256/f28de133b15d0eb022779ab7937aeafd49772f75e192f33559ef100c7e0ba222/index.js +416 -0
- package/vendor/components/sha256/f2e8f2c00414594a97f974c4b2032a736ec27b94520cb3323895adf156d86900/README.md +33 -0
- package/vendor/components/sha256/f2e8f2c00414594a97f974c4b2032a736ec27b94520cb3323895adf156d86900/demo.html +86 -0
- package/vendor/components/sha256/f2e8f2c00414594a97f974c4b2032a736ec27b94520cb3323895adf156d86900/index.js +295 -0
- package/vendor/components/sha256/f35a43be40f2a1a1c0ea94f20b1e3ad89e493159b2356c61956c9ac75eeef4bb/README.md +62 -0
- package/vendor/components/sha256/f35a43be40f2a1a1c0ea94f20b1e3ad89e493159b2356c61956c9ac75eeef4bb/demo.html +50 -0
- package/vendor/components/sha256/f35a43be40f2a1a1c0ea94f20b1e3ad89e493159b2356c61956c9ac75eeef4bb/index.js +412 -0
- package/vendor/components/sha256/f36182d5a8f1dfb6a66973a980143627fe53eb75ad0fa92636754408c59da815/README.md +34 -0
- package/vendor/components/sha256/f36182d5a8f1dfb6a66973a980143627fe53eb75ad0fa92636754408c59da815/demo.html +70 -0
- package/vendor/components/sha256/f36182d5a8f1dfb6a66973a980143627fe53eb75ad0fa92636754408c59da815/index.js +179 -0
- package/vendor/components/sha256/f7cb365d9e57aa2adf599a7f9c251a6c11b0447071458f9bfbd188517db177e9/README.md +40 -0
- package/vendor/components/sha256/f7cb365d9e57aa2adf599a7f9c251a6c11b0447071458f9bfbd188517db177e9/demo.html +47 -0
- package/vendor/components/sha256/f7cb365d9e57aa2adf599a7f9c251a6c11b0447071458f9bfbd188517db177e9/index.js +495 -0
- package/vendor/components/sha256/f80cc2e090583eb7cde47c1b45f185491c67b54e0a4efd832371ea1af5a7bbb6/README.md +37 -0
- package/vendor/components/sha256/f80cc2e090583eb7cde47c1b45f185491c67b54e0a4efd832371ea1af5a7bbb6/demo.html +66 -0
- package/vendor/components/sha256/f80cc2e090583eb7cde47c1b45f185491c67b54e0a4efd832371ea1af5a7bbb6/index.js +310 -0
- package/vendor/components/sha256/f85ec22b27e3a233dbdd2e0b21dd2e900506b7b42c5ba82a4c2368cf4ce6fbac/README.md +20 -0
- package/vendor/components/sha256/f85ec22b27e3a233dbdd2e0b21dd2e900506b7b42c5ba82a4c2368cf4ce6fbac/index.js +162 -0
- package/vendor/components/sha256/f8c3eb67c51e4e5051d5b73e767964c8931a78218f293da60bad6efe762867e1/CHANGELOG.md +21 -0
- package/vendor/components/sha256/f8c3eb67c51e4e5051d5b73e767964c8931a78218f293da60bad6efe762867e1/README.md +43 -0
- package/vendor/components/sha256/f8c3eb67c51e4e5051d5b73e767964c8931a78218f293da60bad6efe762867e1/demo.html +75 -0
- package/vendor/components/sha256/f8c3eb67c51e4e5051d5b73e767964c8931a78218f293da60bad6efe762867e1/index.js +308 -0
- package/vendor/components/sha256/f8ef891b6dca551936c23879b91abe4bcd9a0ba6e209dff7c184e280f73023f5/CHANGELOG.md +25 -0
- package/vendor/components/sha256/f8ef891b6dca551936c23879b91abe4bcd9a0ba6e209dff7c184e280f73023f5/README.md +32 -0
- package/vendor/components/sha256/f8ef891b6dca551936c23879b91abe4bcd9a0ba6e209dff7c184e280f73023f5/demo.html +54 -0
- package/vendor/components/sha256/f8ef891b6dca551936c23879b91abe4bcd9a0ba6e209dff7c184e280f73023f5/index.js +251 -0
- package/vendor/components/sha256/f90f75950a6bb7cbf89ab4cfbce576dbebc251d0180ee163c5540194b14c0651/README.md +62 -0
- package/vendor/components/sha256/f90f75950a6bb7cbf89ab4cfbce576dbebc251d0180ee163c5540194b14c0651/demo.html +50 -0
- package/vendor/components/sha256/f90f75950a6bb7cbf89ab4cfbce576dbebc251d0180ee163c5540194b14c0651/index.js +412 -0
- package/vendor/components/sha256/fa5a8b2ada18d18fd8165096d4153a145319caba152811eab39d93bedb4fde5b/README.md +37 -0
- package/vendor/components/sha256/fa5a8b2ada18d18fd8165096d4153a145319caba152811eab39d93bedb4fde5b/demo.html +66 -0
- package/vendor/components/sha256/fa5a8b2ada18d18fd8165096d4153a145319caba152811eab39d93bedb4fde5b/index.js +309 -0
- package/vendor/components/sha256/fb231a6aa91e7dcf84fa8e766c7b57a19e6d8bd09c6fd2130c403144a2c7992c/README.md +29 -0
- package/vendor/components/sha256/fb231a6aa91e7dcf84fa8e766c7b57a19e6d8bd09c6fd2130c403144a2c7992c/demo.html +54 -0
- package/vendor/components/sha256/fb231a6aa91e7dcf84fa8e766c7b57a19e6d8bd09c6fd2130c403144a2c7992c/index.js +262 -0
- package/vendor/components/sha256/fb8cde16b63fbbff26b87594994dd4eb2872523d1cb2dc385c85a17824266f08/CHANGELOG.md +20 -0
- package/vendor/components/sha256/fb8cde16b63fbbff26b87594994dd4eb2872523d1cb2dc385c85a17824266f08/README.md +39 -0
- package/vendor/components/sha256/fb8cde16b63fbbff26b87594994dd4eb2872523d1cb2dc385c85a17824266f08/demo.html +70 -0
- package/vendor/components/sha256/fb8cde16b63fbbff26b87594994dd4eb2872523d1cb2dc385c85a17824266f08/index.js +134 -0
- package/vendor/components/sha256/fc74310c1964554e53b0cf2f0c58bdd87fc997cec8201f23eaef487e310059a3/LICENSE-tabler.txt +21 -0
- package/vendor/components/sha256/fc74310c1964554e53b0cf2f0c58bdd87fc997cec8201f23eaef487e310059a3/README.md +31 -0
- package/vendor/components/sha256/fc74310c1964554e53b0cf2f0c58bdd87fc997cec8201f23eaef487e310059a3/index.js +4868 -0
- package/vendor/components/sha256/fc74310c1964554e53b0cf2f0c58bdd87fc997cec8201f23eaef487e310059a3/names.txt +4808 -0
- package/vendor/components/sha256/fca5c2365da32c69cb35241a8c86c1c027c064cce07d009f5f43fc125cef1a94/README.md +36 -0
- package/vendor/components/sha256/fca5c2365da32c69cb35241a8c86c1c027c064cce07d009f5f43fc125cef1a94/demo.html +115 -0
- package/vendor/components/sha256/fca5c2365da32c69cb35241a8c86c1c027c064cce07d009f5f43fc125cef1a94/index.js +355 -0
- package/vendor/components/sha256/fcad8e02fd577a13904ecd0566259150580cdd6ada066167c996fc46c03e8a04/CHANGELOG.md +20 -0
- package/vendor/components/sha256/fcad8e02fd577a13904ecd0566259150580cdd6ada066167c996fc46c03e8a04/README.md +25 -0
- package/vendor/components/sha256/fcad8e02fd577a13904ecd0566259150580cdd6ada066167c996fc46c03e8a04/demo.html +48 -0
- package/vendor/components/sha256/fcad8e02fd577a13904ecd0566259150580cdd6ada066167c996fc46c03e8a04/index.js +97 -0
- package/vendor/components/sha256/fdf2b573b8c6a0ad74e4e4d69a45ee12acdd625aaf411c17a5f9e1d816f4a245/README.md +37 -0
- package/vendor/components/sha256/fdf2b573b8c6a0ad74e4e4d69a45ee12acdd625aaf411c17a5f9e1d816f4a245/demo.html +66 -0
- package/vendor/components/sha256/fdf2b573b8c6a0ad74e4e4d69a45ee12acdd625aaf411c17a5f9e1d816f4a245/index.js +309 -0
- package/vendor/components-2/LICENSE +21 -0
- package/vendor/components-2/manifest-2.0.0-rc.1.json +1700 -0
- package/vendor/components-2/manifest-2.0.0.json +1745 -0
- package/vendor/components-2/manifest-2.1.0.json +1843 -0
- package/vendor/components-2/manifest-2.1.1.json +1843 -0
- package/vendor/components-2/manifest-2.1.2.json +1843 -0
- package/vendor/egatari-spec/LICENSE +21 -0
- package/vendor/egatari-spec/SOURCE.json +7 -0
- package/vendor/egatari-spec/schema/deck-audio.schema.json +76 -0
- package/vendor/egatari-spec/schema/deck-meta.schema.json +131 -0
- package/vendor/egatari-spec/schema/egatari-audio.schema.json +204 -0
- package/vendor/egatari-spec/schema/egatari-index.schema.json +529 -0
- package/vendor/egatari-spec/schema/egatari-metadata.schema.json +297 -0
- package/vendor/egatari-spec/schema/rendered-markup-1.json +374 -0
- package/vendor/themes/business/1.0.0/theme.json +4 -0
- package/vendor/themes/business/1.0.0/tokens.css +28 -0
- package/vendor/themes/default/1.0.0/tokens.css +64 -0
- package/vendor/themes/default/1.1.0/theme.json +4 -0
- package/vendor/themes/default/1.1.0/tokens.css +66 -0
package/kit/deck.js
ADDED
|
@@ -0,0 +1,2333 @@
|
|
|
1
|
+
// Egatari Studio(旧 motion-academic-slides)の実行系(deck.js)
|
|
2
|
+
// 約束事は docs/contract.md
|
|
3
|
+
// - 画面は (スライド i, 段階 k, 段階の開始からの秒数 t) だけで決まる。DECK.seek(i, k, t) が唯一の描画の入口
|
|
4
|
+
// - 手動の発表は実時間で seek を呼び、動画の書き出しは仮想の時刻で呼ぶ
|
|
5
|
+
// - 操作:→ / Space / PageDown で次の段階、← / PageUp で前の段階、Shift+→ / Shift+← でスライド単位、
|
|
6
|
+
// Home / End、数字+Enter でそのページ、f で全画面、p で発表者ビュー、a で自動再生、l で先のステップを薄く見せる、b で暗転、s で字幕、Shift+s で字幕の大きさ
|
|
7
|
+
// - 読み上げソフト向け(動画では作らない):隠れたスライドは aria-hidden と inert、今のスライドは role="group"、
|
|
8
|
+
// 位置と新しく出た段階の文字を aria-live の領域(#deck-live、画面には出ない)で知らせる
|
|
9
|
+
(function(){
|
|
10
|
+
"use strict";
|
|
11
|
+
var DECK = window.DECK = window.DECK || {};
|
|
12
|
+
var Q = new URLSearchParams(location.search);
|
|
13
|
+
var REDUCE = window.matchMedia && window.matchMedia("(prefers-reduced-motion: reduce)").matches && Q.get("mode") !== "video";
|
|
14
|
+
var NS = "http://www.w3.org/2000/svg";
|
|
15
|
+
var T = DECK.T = {fade: .45, draw: .7, drawSlow: 1.4, drawDelay: .1, slide: .35, morph: .9, lead: .25, padAfter: .6, hold: 1.2};
|
|
16
|
+
|
|
17
|
+
// 表示のモード(Player P1):talk・video(learn はまだない)。「先のステップを薄く見せる」は talk の選択肢(preview)で、
|
|
18
|
+
// 内部では DECK.mode = "lecture" と書く(?mode=lecture は古い呼び方のまま通す。?mode=talk&preview=1 も同じ。Player P8)。
|
|
19
|
+
// 部品に渡す ctx では mode:"talk"・preview:true(format spec §8.4。ctxMode)
|
|
20
|
+
DECK.mode = Q.get("mode") || document.documentElement.getAttribute("data-mode") || "talk";
|
|
21
|
+
if (DECK.mode === "talk" && Q.get("preview") === "1") DECK.mode = "lecture";
|
|
22
|
+
// 画面に出す言葉の言語:<html lang> が ja か、lang が無ければ日本語。それ以外は英語
|
|
23
|
+
DECK.ja = /^ja\b/i.test(document.documentElement.lang || "ja");
|
|
24
|
+
DECK.view = Q.get("view") || ""; // "", "follow"(発表者ビューの中の現在の画面), "next"(次の画面)
|
|
25
|
+
|
|
26
|
+
// ---------------------------------------------------------------- 時間の部品
|
|
27
|
+
function clamp01(x){ return x < 0 ? 0 : x > 1 ? 1 : x; }
|
|
28
|
+
function ease(x){ x = clamp01(x); return x < .5 ? 2 * x * x : 1 - Math.pow(-2 * x + 2, 2) / 2; }
|
|
29
|
+
// t 秒のときの、start から dur 秒かける動きの進み具合(0〜1、イージング付き)
|
|
30
|
+
function prog(t, start, dur){ if (t === Infinity) return 1; if (dur <= 0) return t >= start ? 1 : 0; return ease((t - start) / dur); }
|
|
31
|
+
function lerp(a, b, e){ return a + (b - a) * e; }
|
|
32
|
+
DECK.ease = ease; DECK.prog = prog; DECK.lerp = lerp; DECK.clamp01 = clamp01;
|
|
33
|
+
// 段階の番号(data-step / steps / data-steps / data-from):有限の整数で min 以上。そうでなければ警告して null
|
|
34
|
+
function stepInt(v, what, min){
|
|
35
|
+
if (v === null || v === undefined) return null;
|
|
36
|
+
var n = typeof v === "number" ? v : String(v).trim() === "" ? NaN : +v;
|
|
37
|
+
if (!isFinite(n) || n !== Math.floor(n) || n < (min || 0)){ console.warn("deck.js: " + what + "=" + JSON.stringify(v) + " は 0 以上の整数でないので無視 / ignored (not a non-negative integer)"); return null; }
|
|
38
|
+
return n;
|
|
39
|
+
}
|
|
40
|
+
// 時間の上書き(dur / hold / lead / pad_after):有限で 0 以上。そうでなければ警告して undefined
|
|
41
|
+
function secOk(v, what){
|
|
42
|
+
if (v === undefined || v === null) return undefined;
|
|
43
|
+
if (typeof v !== "number" || !isFinite(v) || v < 0){ console.warn("deck.js: " + what + "=" + JSON.stringify(v) + " は 0 以上の秒数でないので無視 / ignored"); return undefined; }
|
|
44
|
+
return v;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// ---------------------------------------------------------------- SVG の部品
|
|
48
|
+
// 色は CSS 変数で書けるように、fill / stroke / color に var( があれば style に回す(属性では var() が効かない)
|
|
49
|
+
function el(tag, attrs, parent){
|
|
50
|
+
var e = document.createElementNS(NS, tag), st = "";
|
|
51
|
+
for (var k in attrs){
|
|
52
|
+
var v = attrs[k];
|
|
53
|
+
if ((k === "fill" || k === "stroke" || k === "color" || k === "stop-color") && String(v).indexOf("var(") >= 0) st += k + ":" + v + ";";
|
|
54
|
+
else e.setAttribute(k, v);
|
|
55
|
+
}
|
|
56
|
+
if (st) e.setAttribute("style", st + (attrs.style || ""));
|
|
57
|
+
if (parent) parent.appendChild(e);
|
|
58
|
+
return e;
|
|
59
|
+
}
|
|
60
|
+
// @legacy-part-base:start
|
|
61
|
+
// SVG の中の簡単な数式記法:*..* は斜体、_x は下付き、^x は上付き。本格的な式は DECK.svgMath を使う
|
|
62
|
+
function mtext(parent, x, y, str, attrs){
|
|
63
|
+
var t = el("text", Object.assign({x: x, y: y, "font-size": 24}, attrs || {}), parent);
|
|
64
|
+
var it = false, i = 0, buf = "";
|
|
65
|
+
function flush(extra){
|
|
66
|
+
if (!buf) return;
|
|
67
|
+
var s = el("tspan", extra || {}, t);
|
|
68
|
+
if (it){ s.setAttribute("font-style", "italic"); s.setAttribute("class", "mi"); }
|
|
69
|
+
s.textContent = buf; buf = "";
|
|
70
|
+
}
|
|
71
|
+
while (i < str.length){
|
|
72
|
+
var c = str[i];
|
|
73
|
+
if (c === "*"){ flush(); it = !it; i++; }
|
|
74
|
+
else if ((c === "_" || c === "^") && i + 1 < str.length){
|
|
75
|
+
flush(); buf = str[i + 1];
|
|
76
|
+
flush({"baseline-shift": c === "_" ? "sub" : "super", "font-size": "17"});
|
|
77
|
+
i += 2;
|
|
78
|
+
} else { buf += c; i++; }
|
|
79
|
+
}
|
|
80
|
+
flush();
|
|
81
|
+
return t;
|
|
82
|
+
}
|
|
83
|
+
// SVG の中に KaTeX の式を置く(foreignObject)。本文の式と同じ字形になる
|
|
84
|
+
// o = {size: 24, anchor: "start"|"middle"|"end", color: "var(--fg)", w: 400, h: 60}
|
|
85
|
+
function svgMath(parent, x, y, tex, o){
|
|
86
|
+
o = o || {};
|
|
87
|
+
var w = o.w || 600, h = o.h || 80, size = o.size || 24;
|
|
88
|
+
var fo = el("foreignObject", {x: 0, y: 0, width: w, height: h, class: "smath"}, parent);
|
|
89
|
+
var div = document.createElement("div");
|
|
90
|
+
div.setAttribute("xmlns", "http://www.w3.org/1999/xhtml");
|
|
91
|
+
div.style.cssText = "display:inline-block;vertical-align:top;white-space:nowrap;line-height:1;font-size:" + size + "px;color:" + (o.color || "var(--fg)");
|
|
92
|
+
if (window.katex) window.katex.render(tex, div, {throwOnError: false, strict: "ignore", output: "html", macros: Object.assign({}, window.katex.__macros || {})});
|
|
93
|
+
else div.textContent = tex;
|
|
94
|
+
fo.appendChild(div);
|
|
95
|
+
// 位置合わせ:x は anchor の位置、y はベースライン
|
|
96
|
+
var bw = div.offsetWidth || 0, base = size * 0.78;
|
|
97
|
+
var dx = o.anchor === "middle" ? -bw / 2 : o.anchor === "end" ? -bw : 0;
|
|
98
|
+
fo.setAttribute("x", x + dx); fo.setAttribute("y", y - base);
|
|
99
|
+
fo.setAttribute("width", Math.max(bw + 4, 1));
|
|
100
|
+
return fo;
|
|
101
|
+
}
|
|
102
|
+
// 座標軸つきの図(キットの Plot。色はテーマの変数)
|
|
103
|
+
// o = {xr:[min,max], yr:[min,max], xt:[目盛り], yt:[目盛り], xf:小数桁, yf:小数桁, xl:"横軸名", xl2:"横軸の補足", yl:"縦軸名", noY:true, m:{l,r,t,b}}
|
|
104
|
+
function Plot(box, o){
|
|
105
|
+
if (typeof box === "string") box = document.getElementById(box);
|
|
106
|
+
var W = box.clientWidth, H = box.clientHeight, m = o.m || {l: 86, r: 20, t: 16, b: 64};
|
|
107
|
+
var svg = el("svg", {viewBox: "0 0 " + W + " " + H, class: "plotsvg"}, box);
|
|
108
|
+
var p = {svg: svg, W: W, H: H, m: m,
|
|
109
|
+
x: function(v){ return m.l + (v - o.xr[0]) / (o.xr[1] - o.xr[0]) * (W - m.l - m.r); },
|
|
110
|
+
y: function(v){ return H - m.b - (v - o.yr[0]) / (o.yr[1] - o.yr[0]) * (H - m.t - m.b); }};
|
|
111
|
+
var cid = "clip" + (++Plot.n);
|
|
112
|
+
var cp = el("clipPath", {id: cid}, el("defs", {}, svg));
|
|
113
|
+
el("rect", {x: m.l, y: m.t - 4, width: W - m.l - m.r, height: H - m.t - m.b + 4}, cp);
|
|
114
|
+
p.clip = "url(#" + cid + ")";
|
|
115
|
+
var ax = el("g", {class: "axes"}, svg);
|
|
116
|
+
var K = "var(--fg)";
|
|
117
|
+
el("line", {x1: m.l, y1: H - m.b, x2: W - m.r, y2: H - m.b, stroke: K, "stroke-width": 1.5}, ax);
|
|
118
|
+
if (!o.noY) el("line", {x1: m.l, y1: m.t, x2: m.l, y2: H - m.b, stroke: K, "stroke-width": 1.5}, ax);
|
|
119
|
+
var fmt = function(v, f){ return (f !== undefined ? v.toFixed(f) : String(v)).replace("-", "−"); };
|
|
120
|
+
(o.xt || []).forEach(function(v){
|
|
121
|
+
el("line", {x1: p.x(v), y1: H - m.b, x2: p.x(v), y2: H - m.b + 6, stroke: K, "stroke-width": 1.5}, ax);
|
|
122
|
+
mtext(ax, p.x(v), H - m.b + 30, fmt(v, o.xf), {"text-anchor": "middle"});
|
|
123
|
+
});
|
|
124
|
+
(o.yt || []).forEach(function(v){
|
|
125
|
+
el("line", {x1: m.l - 6, y1: p.y(v), x2: m.l, y2: p.y(v), stroke: K, "stroke-width": 1.5}, ax);
|
|
126
|
+
mtext(ax, m.l - 10, p.y(v) + 8, fmt(v, o.yf), {"text-anchor": "end"});
|
|
127
|
+
});
|
|
128
|
+
if (o.xl) mtext(ax, (m.l + W - m.r) / 2, H - (o.xl2 ? 38 : 6), o.xl, {"text-anchor": "middle"});
|
|
129
|
+
if (o.xl2) mtext(ax, (m.l + W - m.r) / 2, H - 6, o.xl2, {"text-anchor": "middle", fill: "var(--muted)"});
|
|
130
|
+
if (o.yl) mtext(ax, 22, (m.t + H - m.b) / 2, o.yl, {"text-anchor": "middle", transform: "rotate(-90 22 " + (m.t + H - m.b) / 2 + ")"});
|
|
131
|
+
// 関数 f を [a,b] で n 分割した折れ線の d 属性
|
|
132
|
+
p.d = function(f, a, b, n){
|
|
133
|
+
var s = "";
|
|
134
|
+
for (var i = 0; i <= n; i++){ var v = a + (b - a) * i / n; s += (i ? "L" : "M") + p.x(v).toFixed(1) + "," + p.y(f(v)).toFixed(1); }
|
|
135
|
+
return s;
|
|
136
|
+
};
|
|
137
|
+
// 点列 [[x,y],…] の折れ線
|
|
138
|
+
p.poly = function(pts){ return pts.map(function(q, i){ return (i ? "L" : "M") + p.x(q[0]).toFixed(1) + "," + p.y(q[1]).toFixed(1); }).join(""); };
|
|
139
|
+
return p;
|
|
140
|
+
}
|
|
141
|
+
Plot.n = 0;
|
|
142
|
+
DECK.el = el; DECK.mtext = mtext; DECK.svgMath = svgMath; DECK.Plot = Plot;
|
|
143
|
+
DECK.color = function(name){ return getComputedStyle(document.documentElement).getPropertyValue("--" + name).trim(); };
|
|
144
|
+
|
|
145
|
+
// ---------------------------------------------------------------- 部品の基底クラス
|
|
146
|
+
class MotionElement extends HTMLElement {
|
|
147
|
+
get steps(){ var a = stepInt(this.getAttribute("steps"), this.tagName.toLowerCase() + " steps"); return a !== null ? a : (this.constructor.steps || 1); }
|
|
148
|
+
get from(){ var a = stepInt(this.getAttribute("data-from"), this.tagName.toLowerCase() + " data-from", 1); return a !== null ? a : 1; }
|
|
149
|
+
// static props の宣言に従って属性を読む
|
|
150
|
+
get props(){
|
|
151
|
+
if (this._props) return this._props;
|
|
152
|
+
var decl = this.constructor.props || {}, out = {};
|
|
153
|
+
for (var name in decl){
|
|
154
|
+
var d = decl[name], a = this.getAttribute(name);
|
|
155
|
+
if (a === null){ out[name] = d.default; continue; }
|
|
156
|
+
out[name] = d.type === "number" ? +a : d.type === "bool" ? a !== "false" : d.type === "json" ? JSON.parse(a) : a;
|
|
157
|
+
}
|
|
158
|
+
return (this._props = out);
|
|
159
|
+
}
|
|
160
|
+
// 子の <script type="application/json"> の中身。選び方は kit/core/code-scan.mjs の isDataBlock と同じ(type の前後の空白を除いて
|
|
161
|
+
// 大文字小文字を区別せずに application/json、id によらない)。子に 2 つ以上あれば、どれを使うか決められないので使わない(null)。
|
|
162
|
+
// 「コードを動かせるか」の判定(code-scan.mjs)は同じ規則で同じものを選び、2 つ以上なら判定できない(コードとみなす)
|
|
163
|
+
get data(){
|
|
164
|
+
if (this._data !== undefined) return this._data;
|
|
165
|
+
var c = [].filter.call(this.children, function(x){ return x.localName === "script" && String(x.getAttribute("type") || "").trim().toLowerCase() === "application/json"; });
|
|
166
|
+
if (c.length > 1) console.warn("[deck] " + this.tagName.toLowerCase() + ": more than one <script type=\"application/json\"> child (ignored)");
|
|
167
|
+
return (this._data = c.length === 1 ? JSON.parse(c[0].textContent) : null);
|
|
168
|
+
}
|
|
169
|
+
mount(ctx){}
|
|
170
|
+
render(k, t, ctx){}
|
|
171
|
+
duration(k){ return 0; }
|
|
172
|
+
cues(k){ return null; }
|
|
173
|
+
}
|
|
174
|
+
DECK.MotionElement = MotionElement;
|
|
175
|
+
function isLegacyPart(e){ return e instanceof MotionElement; }
|
|
176
|
+
// 登録簿のない 2.0 のパーツ(手で作ったファイルだけ。組み立ては 1.x の教材に 2.0 のパーツを書かずに断る:kit/core/parts2.mjs の catalogueHint):
|
|
177
|
+
// egatariParts.define を投げずに受け(ReferenceError で後ろの部品の定義まで止めない)、要素を定義せずに失敗として記録する。
|
|
178
|
+
// partFailures がその要素を字の代わりにし、DECK.componentErrors に積む。本物の登録簿(kit/parts-registry.js)が後から書かれれば、これを置き換える
|
|
179
|
+
if (!window.egatariParts) (function(){
|
|
180
|
+
var failed = [];
|
|
181
|
+
var guard = {define: function(meta){
|
|
182
|
+
var m = meta && typeof meta === "object" ? meta : {};
|
|
183
|
+
var f = {name: String(m.name), version: String(m.version), reason: "registry", why: "no parts registry in this file: a parts library 2.x part needs a file built with \"componentsCatalogue\": \"2\" in egatari.json"};
|
|
184
|
+
if (typeof m.element === "string") f.element = m.element;
|
|
185
|
+
failed.push(f);
|
|
186
|
+
try { console.warn("[deck] " + f.name + "@" + f.version + ": " + f.why); } catch (e) { /* 知らせに失敗しても続ける */ }
|
|
187
|
+
}};
|
|
188
|
+
Object.defineProperty(guard, "status", {value: function(){ return {defined: [], failed: failed.map(function(f){ return Object.assign({}, f); })}; }});
|
|
189
|
+
Object.defineProperty(guard, "playerGuard", {value: true});
|
|
190
|
+
Object.defineProperty(window, "egatariParts", {value: guard, configurable: true, writable: true, enumerable: false});
|
|
191
|
+
})();
|
|
192
|
+
// @legacy-part-base:end
|
|
193
|
+
|
|
194
|
+
// ---------------------------------------------------------------- 部品のデータの形(static shape。確かめるのは kit/shape.js の DECK.shape)
|
|
195
|
+
// 段階を数える前に確かめ、違えば(または mount・render が例外を出したら)部品を描かず、その場に知らせの札を出す(ほかのスライドは動く)。
|
|
196
|
+
// 知らせは DECK.componentErrors に積む(品質チェック(コマンド版・ブラウザ版)が読む):
|
|
197
|
+
// {slide, key, id, tag, label, index, phase: data | steps | mount | render, kind, …}
|
|
198
|
+
// kind:shape(path・why・expected・got)、missing(JSON がない)、json(JSON が読めない。msg)、attr・attrJson(属性 attr の値)、
|
|
199
|
+
// notText・empty(字で書く部品)、notLinks・noLinks(<a href> で書く部品)、exception(msg、dataLike:データの形が違うときによく出る言葉か)
|
|
200
|
+
// shape・example:部品の宣言した形と見本(あれば)
|
|
201
|
+
DECK.componentErrors = [];
|
|
202
|
+
function compText(c){
|
|
203
|
+
var t = "";
|
|
204
|
+
[].forEach.call(c.childNodes, function(n){ if (!(n.nodeType === 1 && n.localName === "script")) t += n.textContent; });
|
|
205
|
+
return t.trim();
|
|
206
|
+
}
|
|
207
|
+
function compProblem(c){
|
|
208
|
+
var C = c.constructor, decl = C.props || {}, sh = C.shape, SH = DECK.shape;
|
|
209
|
+
for (var name in decl){
|
|
210
|
+
var d = decl[name], a = c.getAttribute(name);
|
|
211
|
+
if (d.type !== "json" || a === null) continue;
|
|
212
|
+
var v;
|
|
213
|
+
try { v = JSON.parse(a); } catch (e) { return {kind: "attrJson", attr: name, msg: String(e && e.message || e), example: JSON.stringify(d.default)}; }
|
|
214
|
+
var ea = d.shape && SH ? SH.check(d.shape, v) : null;
|
|
215
|
+
if (ea) return Object.assign({kind: "attr", attr: name, example: JSON.stringify(d.example !== undefined ? d.example : d.default)}, ea);
|
|
216
|
+
}
|
|
217
|
+
var data;
|
|
218
|
+
try { data = c.data; } catch (e) { return {kind: "json", msg: String(e && e.message || e)}; }
|
|
219
|
+
if (!sh || !SH) return null;
|
|
220
|
+
if (sh.text){ if (data !== null) return {kind: "notText"}; if (!compText(c)) return {kind: "empty"}; return null; }
|
|
221
|
+
if (sh.links){ if (data !== null) return {kind: "notLinks"}; if (!c.querySelector("a[href]")) return {kind: "noLinks"}; return null; }
|
|
222
|
+
if (sh.schema){
|
|
223
|
+
if (data === null) return {kind: "missing"};
|
|
224
|
+
var e2 = SH.check(sh.schema, data);
|
|
225
|
+
if (e2 && e2.path === "" && e2.why === "type" && SH.typeOf(data) === "object" && [].concat(sh.schema.type)[0] === "array"){
|
|
226
|
+
// 配列のはずが object:よくある書き方({"series": [...], "xr": [...]})なら、どれが属性で、どの配列が中身かを言う
|
|
227
|
+
var ks = Object.keys(data);
|
|
228
|
+
e2.keys = ks;
|
|
229
|
+
e2.attrKeys = ks.filter(function(k){ return Object.prototype.hasOwnProperty.call(decl, k); });
|
|
230
|
+
// 中身らしい配列:object の並び({"series": [{…}]})を先に、なければ属性でない配列
|
|
231
|
+
var arr = ks.filter(function(k){ return Array.isArray(data[k]); });
|
|
232
|
+
e2.arrayKey = arr.filter(function(k){ return SH.typeOf(data[k][0]) === "object"; })[0] || arr.filter(function(k){ return e2.attrKeys.indexOf(k) < 0; })[0] || null;
|
|
233
|
+
var it = e2.arrayKey && data[e2.arrayKey][0];
|
|
234
|
+
if (it && SH.typeOf(it) === "object" && sh.schema.items){ var ei = SH.check(sh.schema.items, it, "[0]"); if (ei) e2.inner = ei; }
|
|
235
|
+
}
|
|
236
|
+
if (e2) return Object.assign({kind: "shape"}, e2);
|
|
237
|
+
}
|
|
238
|
+
return null;
|
|
239
|
+
}
|
|
240
|
+
function errText(e){ return e && e.message !== undefined ? (e.name && e.name !== "Error" ? e.name + ": " : "") + e.message : String(e); }
|
|
241
|
+
function compFail(c, s, i, p, phase){
|
|
242
|
+
if (c._bad) return;
|
|
243
|
+
var tag = c.tagName.toLowerCase(), sh = c.constructor.shape || {}, SH = DECK.shape;
|
|
244
|
+
var rec = Object.assign({slide: i, key: s._key || s.getAttribute("data-key") || s.id || ("s" + (i + 1)), id: s.id || null, tag: tag,
|
|
245
|
+
label: c.getAttribute("aria-label") || "", index: [].indexOf.call(s.querySelectorAll(tag), c), phase: phase}, p);
|
|
246
|
+
if (rec.kind === "exception") rec.dataLike = !!(SH && SH.dataLike(rec.msg));
|
|
247
|
+
if (sh.schema && SH && rec.shape === undefined) rec.shape = SH.brief(sh.schema);
|
|
248
|
+
if (sh.example !== undefined && rec.example === undefined) rec.example = typeof sh.example === "string" ? sh.example : JSON.stringify(sh.example);
|
|
249
|
+
c._bad = rec;
|
|
250
|
+
DECK.componentErrors.push(rec);
|
|
251
|
+
console.warn("[deck] " + tag + " (" + (s.id || rec.key) + "): " + compSummary(rec, false));
|
|
252
|
+
// 描かない:段階は属性 steps(なければ 0)、mount は札を出すだけ、render・duration・cues は何もしない
|
|
253
|
+
var n = stepInt(c.getAttribute("steps"), tag + " steps");
|
|
254
|
+
Object.defineProperty(c, "steps", {value: n !== null ? n : 0, configurable: true});
|
|
255
|
+
c.mount = function(){ compPlaceholder(c, rec); };
|
|
256
|
+
c.render = function(){}; c.duration = function(){ return 0; }; c.cues = function(){ return null; };
|
|
257
|
+
}
|
|
258
|
+
// 札の 1 行(実行系の言葉。くわしい知らせは品質チェックの言葉 kit/check-messages.mjs の compData)
|
|
259
|
+
function compSummary(r, ja){
|
|
260
|
+
var at = r.path ? r.path : (ja ? "データ" : "data");
|
|
261
|
+
switch (r.kind){
|
|
262
|
+
case "shape": return r.why === "required" ? (ja ? at + " がない(" + r.expected + ")" : at + " is missing (" + r.expected + ")")
|
|
263
|
+
: r.why === "unknown" ? (ja ? "知らない欄 " + r.key : "unknown field " + r.key)
|
|
264
|
+
: r.why === "anyOf" ? (ja ? (r.path || "データ") + " に " + r.expected + " がない" : (r.path || "data") + " needs " + r.expected)
|
|
265
|
+
: (ja ? at + ":" + r.expected + " のはずが " + r.got : at + ": expected " + r.expected + ", got " + r.got);
|
|
266
|
+
case "missing": return ja ? "データ(子の <script type=\"application/json\">)がない" : "no data (child <script type=\"application/json\">)";
|
|
267
|
+
case "json": return (ja ? "データの JSON が読めない:" : "the data is not valid JSON: ") + r.msg;
|
|
268
|
+
case "attrJson": return (ja ? "属性 " + r.attr + " の JSON が読めない:" : "attribute " + r.attr + " is not valid JSON: ") + r.msg;
|
|
269
|
+
case "attr": return (ja ? "属性 " + r.attr + (r.path ? " の " + r.path : "") + ":" + r.expected + " のはずが " + r.got : "attribute " + r.attr + (r.path ? " at " + r.path : "") + ": expected " + r.expected + ", got " + r.got);
|
|
270
|
+
case "notText": return ja ? "JSON ではなく要素の中の字で書く" : "write it as text inside the element, not JSON";
|
|
271
|
+
case "empty": return ja ? "中身の字がない" : "no text inside";
|
|
272
|
+
case "notLinks": return ja ? "JSON ではなく子の <a href> で書く" : "write it as child <a href> links, not JSON";
|
|
273
|
+
case "noLinks": return ja ? "子の <a href> がない" : "no child <a href> links";
|
|
274
|
+
default: return (ja ? "描けない:" : "cannot draw: ") + r.msg;
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
function compPlaceholder(c, r){
|
|
278
|
+
[].slice.call(c.childNodes).forEach(function(n){ if (!(n.nodeType === 1 && n.localName === "script")) c.removeChild(n); });
|
|
279
|
+
var box = document.createElement("div");
|
|
280
|
+
box.className = "m-error"; box.setAttribute("role", "note");
|
|
281
|
+
box.textContent = "<" + r.tag + "> " + (DECK.ja ? "のデータの形が違う:" : "data problem: ") + compSummary(r, DECK.ja);
|
|
282
|
+
c.appendChild(box);
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
// キットの形式(<section data-anim="名前">、DECK.ANIM.名前 = function(slide, k, instant))の互換。
|
|
286
|
+
// 実時間の補間に頼るので、動画の書き出しでは段階ごとの最終状態になる。新しい図は部品で書く
|
|
287
|
+
// @legacy-part-helpers:start
|
|
288
|
+
var ANIM = DECK.ANIM = DECK.ANIM || {};
|
|
289
|
+
DECK.tween = function(slide, ms, f){
|
|
290
|
+
var tok = slide._tok;
|
|
291
|
+
return new Promise(function(res){
|
|
292
|
+
if (REDUCE || ms <= 0 || DECK.mode === "video"){ f(1); res(); return; }
|
|
293
|
+
var t0 = performance.now();
|
|
294
|
+
(function loop(now){
|
|
295
|
+
if (slide._tok !== tok){ res(); return; }
|
|
296
|
+
var t = Math.min(1, (now - t0) / ms); f(ease(t));
|
|
297
|
+
if (t < 1) requestAnimationFrame(loop); else res();
|
|
298
|
+
})(t0);
|
|
299
|
+
});
|
|
300
|
+
};
|
|
301
|
+
DECK.wait = function(slide, ms){ var tok = slide._tok; return new Promise(function(r){ setTimeout(function(){ r(slide._tok === tok); }, REDUCE || DECK.mode === "video" ? 0 : ms); }); };
|
|
302
|
+
DECK.COL = {red: "var(--emph)", blue: "var(--term)", k: "var(--fg)", gray: "var(--line)", gtxt: "var(--muted)"};
|
|
303
|
+
// @legacy-part-helpers:end
|
|
304
|
+
function legacy(s, k, instant){
|
|
305
|
+
var a = s.getAttribute("data-anim");
|
|
306
|
+
if (!a || !ANIM[a]) return;
|
|
307
|
+
if (s._legacyAt === k) return;
|
|
308
|
+
s._legacyAt = k;
|
|
309
|
+
try { ANIM[a](s, k, instant); } catch (e) { console.error(a, e); }
|
|
310
|
+
}
|
|
311
|
+
DECK.define = function(name, cls){ if (!customElements.get(name)) customElements.define(name, cls); };
|
|
312
|
+
|
|
313
|
+
// ---------------------------------------------------------------- 部品庫 2.0 のパーツ(format spec §6.1・§8.4)
|
|
314
|
+
// 2.0 のパーツは DECK.define ではなく、組み立てが書き込む登録簿(kit/parts-registry.js、globalThis.egatariParts)で定義される。
|
|
315
|
+
// 登録簿の status() は {defined: ["name@version"], failed: [{name, version, element?, reason}]}(§6.1)。失敗の要素は failed[].element で引く。
|
|
316
|
+
// 再生器は 2.0 のパーツ(定義された要素のうち 1.x の DECK.MotionElement でないもの)に ctx だけを渡す(ctx.deck は渡さない)。1.x の部品は今までどおり
|
|
317
|
+
function parts2(){
|
|
318
|
+
var R = window.egatariParts;
|
|
319
|
+
if (!R || typeof R.status !== "function") return null;
|
|
320
|
+
var st;
|
|
321
|
+
try { st = R.status(); } catch (e) { return null; }
|
|
322
|
+
if (R.playerGuard && !(st && st.failed && st.failed.length)) return null; // 登録簿の代わりの受け(上)が何も受けていない:1.x だけのファイル
|
|
323
|
+
return st && Array.isArray(st.defined) && Array.isArray(st.failed) ? st : null;
|
|
324
|
+
}
|
|
325
|
+
var P2 = null; // init で読む:登録簿の status()
|
|
326
|
+
function isPart2(e){
|
|
327
|
+
if (!P2 || !e.localName || isLegacyPart(e)) return false;
|
|
328
|
+
var C = customElements.get(e.localName);
|
|
329
|
+
return !!C && e instanceof C && typeof e.render === "function" && typeof e.mount === "function";
|
|
330
|
+
}
|
|
331
|
+
// 登録簿が失敗を記録したパーツ(と、それに頼るパーツ)の要素:最後の状態の字の代わり(aria-label)を出し、品質チェックに知らせる。
|
|
332
|
+
// duplicate(2 度目の define)と、その要素の名前がほかのパーツで定義できているもの(element)は、最初のものが動くので字の代わりにしない
|
|
333
|
+
function partFailures(s, i){
|
|
334
|
+
if (!P2) return;
|
|
335
|
+
P2.failed.forEach(function(f){
|
|
336
|
+
var tag = f.element;
|
|
337
|
+
if (typeof tag !== "string" || !tag || f.reason === "duplicate" || customElements.get(tag)) return;
|
|
338
|
+
var list;
|
|
339
|
+
try { list = s.querySelectorAll(tag); } catch (e) { return; } // 名前でない element(meta の失敗)
|
|
340
|
+
[].forEach.call(list, function(e){
|
|
341
|
+
if (e._partFailed) return;
|
|
342
|
+
e._partFailed = true;
|
|
343
|
+
var rec = {slide: i, key: s._key || s.getAttribute("data-key") || s.id || ("s" + (i + 1)), id: s.id || null, tag: tag, label: e.getAttribute("aria-label") || "",
|
|
344
|
+
index: [].indexOf.call(list, e), phase: "define", kind: "exception", reason: f.reason, msg: f.name + "@" + f.version + ": " + f.reason + (f.why ? " (" + f.why + ")" : "")};
|
|
345
|
+
DECK.componentErrors.push(rec);
|
|
346
|
+
console.warn("[deck] " + tag + " (" + (s.id || rec.key) + "): " + rec.msg);
|
|
347
|
+
[].slice.call(e.childNodes).forEach(function(n){ if (!(n.nodeType === 1 && n.localName === "script")) e.removeChild(n); });
|
|
348
|
+
var box = document.createElement("div");
|
|
349
|
+
box.className = "m-error"; box.setAttribute("role", "note"); box.setAttribute("data-part-failure", "define");
|
|
350
|
+
box.textContent = (e.getAttribute("aria-label") || "").trim() || "<" + tag + ">";
|
|
351
|
+
e.appendChild(box);
|
|
352
|
+
});
|
|
353
|
+
});
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
// ---------------------------------------------------------------- 外から渡されるデータ(build が埋め込む)
|
|
357
|
+
function json(id){ var s = document.getElementById(id); try { return s ? JSON.parse(s.textContent) : null; } catch (e) { console.error(id, e); return null; } }
|
|
358
|
+
// 鍵(スライドの鍵・段階の鍵)で引く表は原型のない object にする(鍵が __proto__ や constructor でも取り違えない)
|
|
359
|
+
function dict(o){ var d = Object.create(null); if (o && typeof o === "object") for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) d[k] = o[k]; return d; }
|
|
360
|
+
DECK.NARRATION = dict(json("deck-narration")); // {slideKey: {stepKey: [{role, text, ttsParts?}]}}(ttsParts:読みを当てた話す部品。読み上げが使う)
|
|
361
|
+
for (var narrKey in DECK.NARRATION) DECK.NARRATION[narrKey] = dict(DECK.NARRATION[narrKey]);
|
|
362
|
+
DECK.AUDIO = dict(json("deck-audio")); // {"slideKey:stepKey": {src, dur, cues:[秒…]}}
|
|
363
|
+
DECK.MARKS = dict(json("deck-marks")); // {"slideKey:stepKey": [{type:"cue"} | {type:"mark", id, effect, hold} | {type:"clear"}]}
|
|
364
|
+
DECK.TIMING = dict(json("deck-timing")); // {"slideKey:stepKey": {dur, hold, lead, pad_after}}
|
|
365
|
+
// deck-meta:持ち運べる形式の書き出しでは {format:<形式の名前>, version:{major,minor}, player:{name, version, title}, generator:{name, version, title}, docId, …}、
|
|
366
|
+
// ふつうの build では {version:"0.2.1"}。DECK.VERSION は今動いている実行系(プレーヤー)の版:player.version(format spec §4.1)。
|
|
367
|
+
// player のない前の版のファイル(§7.1)では、実行系を入れた generator.version。ふつうの build では Studio の版(package.json の version)。
|
|
368
|
+
// 作ったソフトの版(generator.version)は DECK.MADE_WITH(? の窓の「作成」の行は deck-meta から直に出す)
|
|
369
|
+
DECK.META = json("deck-meta") || {};
|
|
370
|
+
DECK.MADE_WITH = (DECK.META.generator && typeof DECK.META.generator.version === "string" && DECK.META.generator.version) || "";
|
|
371
|
+
DECK.VERSION = (DECK.META.player && typeof DECK.META.player.version === "string" && DECK.META.player.version) || DECK.MADE_WITH || (typeof DECK.META.version === "string" ? DECK.META.version : "");
|
|
372
|
+
// 持ち運べる形式の音声の参照(<scheme><blobId>)を data: URI にする:塊 <prefix><blobId>-0, -1, … を、次が無くなるまで順に復号してつなぐ
|
|
373
|
+
// (format spec §3.7・§4。形式の識別子は build が DECK.FORMAT に入れる(kit/core/format.mjs)。塊の境が 3 バイトの倍数(= を含まない)なら base64 の文字列をそのままつなげる)
|
|
374
|
+
var FMT = DECK.FORMAT || null;
|
|
375
|
+
function blobUri(id, known){
|
|
376
|
+
if (!FMT) return null;
|
|
377
|
+
var parts = [], n = 0, el, pad = false, P = FMT.blobPrefix + id + "-";
|
|
378
|
+
while ((el = document.getElementById(P + n))){ var t = (el.textContent || "").trim(); if (t.indexOf("=") >= 0 && document.getElementById(P + (n + 1))) pad = true; parts.push(t); n++; }
|
|
379
|
+
if (!n) return null;
|
|
380
|
+
var b64 = pad ? btoa(parts.map(function(t){ return atob(t); }).join("")) : parts.join("");
|
|
381
|
+
// deck-audio の mime があればそれを使い、なければ中身の先頭から推し量る
|
|
382
|
+
if (typeof known === "string" && /^audio\/[a-z0-9.+-]+$/.test(known)) return "data:" + known + ";base64," + b64;
|
|
383
|
+
var head = atob(b64.slice(0, 16)), mime = "audio/mpeg";
|
|
384
|
+
if (head.slice(0, 4) === "RIFF") mime = "audio/wav";
|
|
385
|
+
else if (head.slice(4, 8) === "ftyp") mime = "audio/mp4";
|
|
386
|
+
else if (head.slice(0, 4) === "OggS") mime = "audio/ogg";
|
|
387
|
+
return "data:" + mime + ";base64," + b64;
|
|
388
|
+
}
|
|
389
|
+
DECK.blobUri = blobUri;
|
|
390
|
+
for (var audioKey in DECK.AUDIO){
|
|
391
|
+
var au = DECK.AUDIO[audioKey], am = FMT && au && typeof au.src === "string" && au.src.indexOf(FMT.uriScheme) === 0 && au.src.slice(FMT.uriScheme.length);
|
|
392
|
+
if (am && /^[A-Za-z0-9_]{1,32}$/.test(am)){ var uri = null; try { uri = blobUri(am, au.mime); } catch (e) { console.warn("audio blob is not base64: " + am); } if (uri) au.src = uri; else { console.warn("audio blob not found: " + am); delete DECK.AUDIO[audioKey]; } }
|
|
393
|
+
}
|
|
394
|
+
// 発表者だけが原稿の控えを読む。実行用の台本には指示を入れない(format spec §8.2)。
|
|
395
|
+
// 通常の build は元の台本の控え、持ち運べる形式は索引と塊。再生専用には控えがない。
|
|
396
|
+
DECK.scriptSource = async function(){
|
|
397
|
+
var source = json("studio-script-source");
|
|
398
|
+
if (typeof source === "string") return source;
|
|
399
|
+
if (!FMT) return null;
|
|
400
|
+
var el = document.getElementById(FMT.indexId);
|
|
401
|
+
if (!el) return null;
|
|
402
|
+
async function checked(bytes, want){
|
|
403
|
+
if (!window.crypto || !crypto.subtle) return false;
|
|
404
|
+
var d = new Uint8Array(await crypto.subtle.digest("SHA-256", bytes));
|
|
405
|
+
return Array.from(d, function(b){ return b.toString(16).padStart(2, "0"); }).join("") === want;
|
|
406
|
+
}
|
|
407
|
+
try {
|
|
408
|
+
var text = el.textContent || "";
|
|
409
|
+
var indexHash = el.getAttribute("data-sha256");
|
|
410
|
+
var ix = JSON.parse(text), id = ix.files && ix.files["narration.md"], b = ix.blobs && ix.blobs[id];
|
|
411
|
+
if (!b || !Array.isArray(b.chunks) || b.bytes > 16 * 1024 * 1024) return null;
|
|
412
|
+
var bytes = new Uint8Array(b.bytes), at = 0;
|
|
413
|
+
for (var chunk of b.chunks){
|
|
414
|
+
var node = document.getElementById(chunk);
|
|
415
|
+
if (!node) return null;
|
|
416
|
+
var part = atob(node.textContent.trim());
|
|
417
|
+
if (at + part.length > bytes.length) return null;
|
|
418
|
+
for (var j = 0; j < part.length; j++) bytes[at++] = part.charCodeAt(j);
|
|
419
|
+
}
|
|
420
|
+
if (at !== bytes.length || !await checked(new TextEncoder().encode(text), indexHash) || !await checked(bytes, b.sha256)) return null;
|
|
421
|
+
return new TextDecoder("utf-8", {fatal: true}).decode(bytes);
|
|
422
|
+
} catch (e) { return null; }
|
|
423
|
+
};
|
|
424
|
+
// 音声の作り方(format spec §5.2 の kind:tts・recorded・imported)。まず deck-audio の kind(build がどの出力にも写す。再生専用の派生は索引を持たない)、
|
|
425
|
+
// なければ索引の音声の記録の kind(古い 1 ファイル。索引の data-sha256 を確かめてから読み、DECK.AUDIO_KIND に入れて deck:aiaudio を知らせる)。
|
|
426
|
+
// dry-run の無音は何も示さない。§7.3:合成した声(tts)は操作の帯の小さな札「AI 音声」・キーの一覧・発表者ビューで、
|
|
427
|
+
// 作り方の記録がない音声(imported)はキーの一覧と発表者ビューだけで示す(舞台と字幕には何も出さない)
|
|
428
|
+
var KINDS = {tts: 1, recorded: 1, imported: 1};
|
|
429
|
+
DECK.AUDIO_KIND = dict(null);
|
|
430
|
+
DECK.AI_AUDIO = dict(null);
|
|
431
|
+
DECK.audioKind = function(key){
|
|
432
|
+
var a = DECK.AUDIO[key];
|
|
433
|
+
if (!a) return null;
|
|
434
|
+
if (typeof a.kind === "string" && KINDS[a.kind] === 1) return a.kind;
|
|
435
|
+
return DECK.AUDIO_KIND[key] || null;
|
|
436
|
+
};
|
|
437
|
+
DECK.aiVoice = function(key){ return DECK.audioKind(key) === "tts"; };
|
|
438
|
+
DECK.unknownVoice = function(key){ return DECK.audioKind(key) === "imported"; };
|
|
439
|
+
DECK.hasAiVoice = function(){ for (var k in DECK.AUDIO) if (DECK.aiVoice(k)) return true; return false; };
|
|
440
|
+
DECK.hasUnknownVoice = function(){ for (var k in DECK.AUDIO) if (DECK.unknownVoice(k)) return true; return false; };
|
|
441
|
+
(function(){
|
|
442
|
+
var el = FMT && FMT.indexId && document.getElementById(FMT.indexId);
|
|
443
|
+
if (!el || el.tagName !== "SCRIPT") return;
|
|
444
|
+
var t = el.textContent || "", want = (el.getAttribute("data-sha256") || "").trim();
|
|
445
|
+
if (t.indexOf('"audio"') < 0) return;
|
|
446
|
+
function read(){
|
|
447
|
+
var ix; try { ix = JSON.parse(t); } catch (e) { return; }
|
|
448
|
+
var au = ix && typeof ix.audio === "object" && ix.audio ? ix.audio : null, n = 0;
|
|
449
|
+
if (!au) return;
|
|
450
|
+
for (var k in au){
|
|
451
|
+
if (!Object.prototype.hasOwnProperty.call(au, k) || !DECK.AUDIO[k] || !au[k] || KINDS[au[k].kind] !== 1) continue;
|
|
452
|
+
if (au[k].recipe && au[k].recipe.engine === "dry-run") continue;
|
|
453
|
+
DECK.AUDIO_KIND[k] = au[k].kind;
|
|
454
|
+
if (DECK.audioKind(k) === "tts") DECK.AI_AUDIO[k] = true;
|
|
455
|
+
if (DECK.audioKind(k) !== "recorded") n++;
|
|
456
|
+
}
|
|
457
|
+
if (n) document.dispatchEvent(new CustomEvent("deck:aiaudio", {detail: {n: n}}));
|
|
458
|
+
}
|
|
459
|
+
// 確かめられない環境(安全でない http: など。crypto.subtle がない)では確かめずに読む:印は多めに出る方へ倒す(出し忘れるより良い)
|
|
460
|
+
if (!window.crypto || !crypto.subtle || typeof TextEncoder === "undefined"){ setTimeout(read, 0); return; }
|
|
461
|
+
crypto.subtle.digest("SHA-256", new TextEncoder().encode(t)).then(function(d){
|
|
462
|
+
var u = new Uint8Array(d), hx = ""; for (var i = 0; i < u.length; i++) hx += (u[i] < 16 ? "0" : "") + u[i].toString(16);
|
|
463
|
+
if (hx === want) read();
|
|
464
|
+
}).catch(function(){});
|
|
465
|
+
})();
|
|
466
|
+
// スクリプトなしで読める層(format spec §2.1。全段階の口述原稿の文字)は、実行系が動くときは隠す
|
|
467
|
+
(function(){ var r = FMT && document.getElementById(FMT.readableId); if (r) r.hidden = true; })();
|
|
468
|
+
|
|
469
|
+
// ---------------------------------------------------------------- フィードバックの宛先(? の一覧と発表者ビューのリンク)
|
|
470
|
+
// <html data-feedback-url="…"> で宛先を変え、data-feedback="off" で消す(DECK.FEEDBACK_URL = null)
|
|
471
|
+
// 付けるのは版・ブラウザ・OS・言語・モードだけ。デッキの中身は送らない
|
|
472
|
+
DECK.FEEDBACK_URL = (function(){
|
|
473
|
+
var h = document.documentElement;
|
|
474
|
+
if (/^(off|false|no|0)$/i.test(h.getAttribute("data-feedback") || "")) return null;
|
|
475
|
+
return h.getAttribute("data-feedback-url") || "https://github.com/egatari/egatari-studio/issues/new";
|
|
476
|
+
})();
|
|
477
|
+
function shortUA(){
|
|
478
|
+
var u = navigator.userAgent || "", m;
|
|
479
|
+
if ((m = u.match(/Edg\/(\d+)/))) return "Edge " + m[1];
|
|
480
|
+
if ((m = u.match(/Firefox\/(\d+)/))) return "Firefox " + m[1];
|
|
481
|
+
if ((m = u.match(/(?:Chrome|CriOS)\/(\d+)/))) return (/HeadlessChrome/.test(u) ? "HeadlessChrome " : "Chrome ") + m[1];
|
|
482
|
+
if ((m = u.match(/Version\/(\d+(?:\.\d+)?).*Safari/))) return "Safari " + m[1];
|
|
483
|
+
return u.slice(0, 60);
|
|
484
|
+
}
|
|
485
|
+
function shortOS(){
|
|
486
|
+
var u = navigator.userAgent || "";
|
|
487
|
+
return /Windows/.test(u) ? "Windows" : /iPhone|iPad/.test(u) ? "iOS" : /Mac OS X|Macintosh/.test(u) ? "macOS" : /Android/.test(u) ? "Android" : /Linux/.test(u) ? "Linux" : "";
|
|
488
|
+
}
|
|
489
|
+
// 送り先の URL(GitHub の issue form なら feedback.yml を選び、欄に値を入れる)。無効なら null
|
|
490
|
+
DECK.feedbackUrl = function(){
|
|
491
|
+
if (!DECK.FEEDBACK_URL) return null;
|
|
492
|
+
var u;
|
|
493
|
+
try { u = new URL(DECK.FEEDBACK_URL, location.href); } catch (e) { return null; }
|
|
494
|
+
if (/\/issues\/new\/?$/.test(u.pathname) && !u.searchParams.has("template")) u.searchParams.set("template", "feedback.yml");
|
|
495
|
+
// version はプレーヤーの版。作ったソフトの版が別にあれば context に添える(made=…)
|
|
496
|
+
var v = {version: DECK.VERSION, browser: shortUA(), os: shortOS(),
|
|
497
|
+
context: "lang=" + (document.documentElement.lang || "ja") + ", mode=" + DECK.mode + (Q.get("presenter") ? ", presenter" : "") +
|
|
498
|
+
(DECK.MADE_WITH && DECK.MADE_WITH !== DECK.VERSION ? ", made=" + DECK.MADE_WITH : "")};
|
|
499
|
+
for (var k in v) if (v[k] && !u.searchParams.has(k)) u.searchParams.set(k, v[k]);
|
|
500
|
+
return u.href;
|
|
501
|
+
};
|
|
502
|
+
|
|
503
|
+
// ---------------------------------------------------------------- 段階表示
|
|
504
|
+
// 位置と再生の状態(i, k、知らせる t、再生中か、位置が変わったわけ cause:control・link・seek・play、リンクの「戻る」の跡)は
|
|
505
|
+
// PositionStore(kit/core/position.mjs。build が DECK.PositionStore として前に入れる)が持つ。舞台は描いた位置を書き、知らせは購読者が送る
|
|
506
|
+
if (typeof DECK.PositionStore !== "function") throw new Error("deck.js: DECK.PositionStore がない(kit/core/position.mjs を先に読み込む) / missing DECK.PositionStore (load kit/core/position.mjs first)");
|
|
507
|
+
var POS = DECK.PositionStore();
|
|
508
|
+
var slides = [], fadeFrom = -1, raf = 0, auto = null, lastPos = null;
|
|
509
|
+
// ctx.entered(format spec §8.4):別のスライドから入ったか、跳んで入った(リンク・一覧・ページ番号・発表者ビューや編集の goto・開いたとき)あとの最初の描画で true。
|
|
510
|
+
// jumpTo:跳んだ先のスライド(go が step でない動きで書き、seek の最初の描画が読んで消す)
|
|
511
|
+
var jumpTo = -1;
|
|
512
|
+
|
|
513
|
+
function setupSlide(s, i, mainEnd){
|
|
514
|
+
// 小さい注記の印は部品が mount で付けたものにだけ効く:書き手がデッキに書いたものは、部品の中に手で書いた子も含め、部品が作る前にここで外す
|
|
515
|
+
// (名前は kit/core/layout-scan.mjs の ANNOT_ATTR と同じ。tools/test-check-overflow.mjs が合っているか確かめる)
|
|
516
|
+
[].forEach.call(s.querySelectorAll("[data-annot]"), function(e){ e.removeAttribute("data-annot"); });
|
|
517
|
+
var autoList = !s.classList.contains("static") && !s.classList.contains("nostep") && !s.querySelector("[data-step]") && !s.querySelector("[data-from]");
|
|
518
|
+
if (autoList) [].slice.call(s.querySelectorAll(".body > ul > li, .body > ol > li")).forEach(function(li, k){ li.setAttribute("data-step", k + 1); });
|
|
519
|
+
var items = [].slice.call(s.querySelectorAll("[data-step]")).filter(function(e){
|
|
520
|
+
var n = stepInt(e.getAttribute("data-step"), "data-step(" + (s.id || "s" + (i + 1)) + ")");
|
|
521
|
+
if (n === null) e.removeAttribute("data-step"); // 段階表示の外に出す(常に見える)
|
|
522
|
+
return n !== null;
|
|
523
|
+
});
|
|
524
|
+
var comps = [].slice.call(s.querySelectorAll("*")).filter(function(e){ return isLegacyPart(e) || isPart2(e); });
|
|
525
|
+
// 部品庫 2.0 のパーツ(format spec §6.1):登録簿が失敗を記録したパーツの要素は、字の代わりを出して知らせる
|
|
526
|
+
partFailures(s, i);
|
|
527
|
+
// データの形を先に確かめる(段階の数はデータから決まる部品が多い)。違えば描かない。
|
|
528
|
+
// 2.0 のパーツは自分で確かめる(§6.1 Data shapes:再生器は確かめない)。ここでは段階の数を読むときの例外だけを止める(2 段目の守り)
|
|
529
|
+
comps.forEach(function(c){
|
|
530
|
+
c._slide = s; c._i = i;
|
|
531
|
+
if (c._v2 === undefined) c._v2 = !(isLegacyPart(c));
|
|
532
|
+
var p = c._v2 ? null : compProblem(c);
|
|
533
|
+
if (p){ compFail(c, s, i, p, "data"); return; }
|
|
534
|
+
try { var n = c.steps; if (typeof n !== "number" || !isFinite(n)) throw new TypeError("steps is " + n); }
|
|
535
|
+
catch (e) { compFail(c, s, i, {kind: "exception", msg: errText(e)}, "steps"); }
|
|
536
|
+
});
|
|
537
|
+
var max = 0;
|
|
538
|
+
items.forEach(function(e){ max = Math.max(max, +e.getAttribute("data-step")); });
|
|
539
|
+
comps.forEach(function(c){ max = Math.max(max, c.from + c.steps - 1); });
|
|
540
|
+
max = Math.max(max, stepInt(s.getAttribute("data-steps"), "data-steps(" + (s.id || "s" + (i + 1)) + ")") || 0); // キットの形式(data-anim)の互換
|
|
541
|
+
var c = s.querySelector(".concl");
|
|
542
|
+
if (s.classList.contains("static")){ max = 0; }
|
|
543
|
+
else if (c){ max += 1; c.setAttribute("data-step", max); c.setAttribute("data-concl", ""); items.push(c); }
|
|
544
|
+
s._tok = 0;
|
|
545
|
+
s._max = max; s._items = items; s._comps = comps; s._cstep = c && !s.classList.contains("static") ? max : -1;
|
|
546
|
+
// 答えの印(format spec §8.4、Player P1):data-preview="none" の要素と、static preview = "none" を宣言した部品(部品庫の manifest の
|
|
547
|
+
// preview: "none" と同じ宣言)。先のステップを薄く見せるときも、その中は薄くせず先の段階を隠す。部品は自分で先の段階を描かない
|
|
548
|
+
var npRoots = [].slice.call(s.querySelectorAll('[data-preview="none"]')).concat(comps.filter(function(x){ return x.constructor && x.constructor.preview === "none"; }));
|
|
549
|
+
var inNp = function(e){ return npRoots.some(function(r){ return r === e || r.contains(e); }); };
|
|
550
|
+
items.forEach(function(e){ e._noPrev = inNp(e); });
|
|
551
|
+
comps.forEach(function(x){ x._ctxNoPrev = !!x.closest('[data-preview="none"]'); }); // 書き手が印を付けた部品には preview:false を渡す
|
|
552
|
+
s._npHide = npRoots.filter(function(r){ return !(r.hasAttribute("data-step") && items.indexOf(r) >= 0); }).map(function(r){
|
|
553
|
+
var host = r.parentElement && r.parentElement.closest("[data-step]");
|
|
554
|
+
return host && s.contains(host) && items.indexOf(host) >= 0 ? {el: r, step: +host.getAttribute("data-step"), op: r.style.opacity, hidden: false} : null;
|
|
555
|
+
}).filter(Boolean);
|
|
556
|
+
s._key = s.getAttribute("data-key") || s.id || ("s" + (i + 1));
|
|
557
|
+
s._morph = s.hasAttribute("data-morph") ? s.getAttribute("data-morph") : null; // "" なら前のスライドから
|
|
558
|
+
// 線を描く要素(.draw)は、それを含む段階の要素に紐づける
|
|
559
|
+
s._draws = [].slice.call(s.querySelectorAll(".draw")).map(function(d){
|
|
560
|
+
var host = d.closest("[data-step]");
|
|
561
|
+
return {el: d, noPrev: inNp(d), step: host && s.contains(host) ? +host.getAttribute("data-step") : (d.hasAttribute("data-step") ? +d.getAttribute("data-step") : 0),
|
|
562
|
+
dur: d.classList.contains("drawslow") ? T.drawSlow : T.draw, at: +(d.getAttribute("data-at") || 0)};
|
|
563
|
+
});
|
|
564
|
+
if (i > 0 && !s.querySelector(":scope > .pn")){
|
|
565
|
+
var pn = document.createElement("div"); pn.className = "pn";
|
|
566
|
+
pn.textContent = (i < mainEnd) ? (i + 1) + "/" + mainEnd : (DECK.ja ? "付録" : "Appendix");
|
|
567
|
+
s.appendChild(pn);
|
|
568
|
+
}
|
|
569
|
+
}
|
|
570
|
+
|
|
571
|
+
function stepKey(s, k){ return k === s._cstep ? "concl" : String(k); }
|
|
572
|
+
DECK.stepKey = function(i, k){ return slides[i]._key + ":" + stepKey(slides[i], k); };
|
|
573
|
+
|
|
574
|
+
// 部品の段階と時刻。音声の cue と部品の cues が両方あれば、部品の時刻を区分線形に伸縮する
|
|
575
|
+
function compPos(c, K, t, audioCues){
|
|
576
|
+
var k = Math.max(0, Math.min(c.steps, K - c.from + 1));
|
|
577
|
+
var inRange = K - c.from + 1 === k && k >= 1;
|
|
578
|
+
if (!inRange) return {k: k, t: Infinity};
|
|
579
|
+
var cc = safeCues(c, k);
|
|
580
|
+
if (t !== Infinity && cc && audioCues && cc.length && cc.length === audioCues.length){
|
|
581
|
+
var src = [0].concat(audioCues), dst = [0].concat(cc), j = src.length - 1;
|
|
582
|
+
while (j > 0 && t < src[j]) j--;
|
|
583
|
+
var tc = j < src.length - 1 ? lerp(dst[j], dst[j + 1], (t - src[j]) / Math.max(1e-6, src[j + 1] - src[j])) : dst[j] + (t - src[j]);
|
|
584
|
+
return {k: k, t: tc};
|
|
585
|
+
}
|
|
586
|
+
return {k: k, t: t};
|
|
587
|
+
}
|
|
588
|
+
|
|
589
|
+
// compPos の逆:部品の時刻 D になる実時間。伸縮しない(cue の数が合わない)ときは D のまま
|
|
590
|
+
function compRealTime(c, k, D, audioCues){
|
|
591
|
+
var cc = safeCues(c, k);
|
|
592
|
+
if (!(cc && audioCues && cc.length && cc.length === audioCues.length)) return D;
|
|
593
|
+
var src = [0].concat(audioCues), dst = [0].concat(cc), n = src.length - 1;
|
|
594
|
+
for (var j = 0; j < n; j++){
|
|
595
|
+
if (D <= dst[j + 1]){
|
|
596
|
+
var span = dst[j + 1] - dst[j];
|
|
597
|
+
return span > 1e-9 ? src[j] + (D - dst[j]) * (src[j + 1] - src[j]) / span : src[j + 1];
|
|
598
|
+
}
|
|
599
|
+
}
|
|
600
|
+
return src[n] + (D - dst[n]);
|
|
601
|
+
}
|
|
602
|
+
|
|
603
|
+
// 経た時間そのものを見せる部品(時計・カウントダウン):部品の class の static clock = true(format spec §8.4。manifest は読まない)。
|
|
604
|
+
// 動きを減らす設定(prefers-reduced-motion)でも、この部品にだけ実際の t を渡す(Player P3)。ほかはすべて最後の状態
|
|
605
|
+
function isClock(c){ return !!(c.constructor && c.constructor.clock === true); }
|
|
606
|
+
// 段階 k の動きの長さ(秒、実時間)。部品の時刻が音声の cue で伸縮されるなら、その伸縮後の終わり。動きを減らす設定では時計の部品の長さだけ
|
|
607
|
+
function animDur(i, k){
|
|
608
|
+
var s = slides[i], d = 0;
|
|
609
|
+
if (REDUCE && !s._comps.some(isClock)) return 0;
|
|
610
|
+
if (!REDUCE && k === 0 && i > 0) d = morphSrc(i) === i - 1 ? T.morph : T.slide;
|
|
611
|
+
if (!REDUCE){
|
|
612
|
+
s._items.forEach(function(e){ if (+e.getAttribute("data-step") === k) d = Math.max(d, +(e.getAttribute("data-at") || 0) + T.fade); });
|
|
613
|
+
s._draws.forEach(function(w){ if (w.step === k) d = Math.max(d, w.at + T.drawDelay + w.dur); });
|
|
614
|
+
}
|
|
615
|
+
var ac = null;
|
|
616
|
+
if (s._comps.length){
|
|
617
|
+
ac = compCues(i, k);
|
|
618
|
+
if (ac){ var lead = timing(i, k).lead || 0; ac = ac.map(function(x){ return x + lead; }); }
|
|
619
|
+
}
|
|
620
|
+
s._comps.forEach(function(c){
|
|
621
|
+
if (REDUCE && !isClock(c)) return;
|
|
622
|
+
var p = compPos(c, k, 0);
|
|
623
|
+
if (p.t === Infinity) return;
|
|
624
|
+
var D = safeDur(c, p.k);
|
|
625
|
+
d = Math.max(d, D > 0 ? compRealTime(c, p.k, D, ac) : 0);
|
|
626
|
+
});
|
|
627
|
+
return d;
|
|
628
|
+
}
|
|
629
|
+
|
|
630
|
+
// 部品に渡す ctx.mode(format spec §8.4:"talk" | "learn" | "video"):内部の "lecture" は talk(preview は別に渡す)
|
|
631
|
+
// ctx.slide はスライドの鍵(文字列。format spec §8.1・§8.4)。要素は渡さない(部品が要るなら自分で探す)
|
|
632
|
+
function ctxMode(){ return DECK.mode === "lecture" ? "talk" : DECK.mode; }
|
|
633
|
+
// ctx の残りの欄(format spec §8.4):lang・slides・go・report・visited。1.x の部品にも渡す(読まないだけ)。ctx.deck は 1.x の部品にだけ
|
|
634
|
+
var CTX_SLIDES = null, CTX_LANG = "ja";
|
|
635
|
+
var REPORT_CODES = {data: 1, attr: 1, range: 1, size: 1, layout: 1, theme: 1, error: 1};
|
|
636
|
+
var REPORT_ERRORS = {data: 1, attr: 1, error: 1}; // 品質チェックの誤り(ほかは DECK.componentReports にだけ。見た目の知らせ)
|
|
637
|
+
DECK.componentReports = [];
|
|
638
|
+
function ctxSlides(){
|
|
639
|
+
return Object.freeze(slides.map(function(s){
|
|
640
|
+
var conc = s._cstep >= 0;
|
|
641
|
+
return Object.freeze({key: s._key, title: titleOf(s), steps: conc ? s._max - 1 : s._max, concl: conc});
|
|
642
|
+
}));
|
|
643
|
+
}
|
|
644
|
+
// ctx.go(slideKey, stepKey?):スライドへのリンクと同じ(format spec §9.1A。埋め込みのホストは止められる、Player P8)。動画では動かない
|
|
645
|
+
function ctxGo(slideKey, stepKey){
|
|
646
|
+
if (!started || DECK.mode === "video") return false;
|
|
647
|
+
var f = String(slideKey == null ? "" : slideKey) + (stepKey === undefined || stepKey === null ? "" : ":" + String(stepKey));
|
|
648
|
+
var r = resolveFragment(f);
|
|
649
|
+
if (r.error){ console.warn("deck.js: ctx.go(" + JSON.stringify(f) + "): " + r.error); return false; }
|
|
650
|
+
return followLink(r);
|
|
651
|
+
}
|
|
652
|
+
function ctxVisited(key){ return DECK.visited(String(key)); }
|
|
653
|
+
// ctx.report(code, message):部品ごとに同じ知らせは 1 回。code が語彙の外なら error として扱う(format spec §8.4)
|
|
654
|
+
function reporter(c){
|
|
655
|
+
return function(code, message){
|
|
656
|
+
var s = c._slide, i = c._i;
|
|
657
|
+
if (!s) return;
|
|
658
|
+
var given = String(code), cd = Object.prototype.hasOwnProperty.call(REPORT_CODES, given) ? given : "error", msg = String(message == null ? "" : message).slice(0, 1000);
|
|
659
|
+
var seen = c._reports || (c._reports = Object.create(null)), sig = cd + "\n" + msg;
|
|
660
|
+
if (seen[sig]) return;
|
|
661
|
+
seen[sig] = true;
|
|
662
|
+
var tag = c.tagName.toLowerCase();
|
|
663
|
+
var rec = {slide: i, key: s._key, id: s.id || null, tag: tag, label: c.getAttribute("aria-label") || "", index: [].indexOf.call(s.querySelectorAll(tag), c),
|
|
664
|
+
phase: "report", kind: "report", code: cd, msg: msg};
|
|
665
|
+
if (cd !== given) rec.given = given.slice(0, 40);
|
|
666
|
+
DECK.componentReports.push(rec);
|
|
667
|
+
if (REPORT_ERRORS[cd]) DECK.componentErrors.push(rec);
|
|
668
|
+
console.warn("[deck] " + tag + " (" + (s.id || s._key) + ") " + cd + ": " + msg);
|
|
669
|
+
};
|
|
670
|
+
}
|
|
671
|
+
// Viewer input (format §8.4): totals belong to slide steps, never to duration()/the authored timeline.
|
|
672
|
+
var viewerStep = null, stepExtensions = Object.create(null), liveRun = null;
|
|
673
|
+
var inputEntry = 0, mirrorEntry = null, inputRendering = 0, inputMirroring = false;
|
|
674
|
+
function viewerAt(i, k, entered){
|
|
675
|
+
if (ASIDE || DECK.mode === "video" || (DECK.view && DECK.view !== "follow")) return;
|
|
676
|
+
if (entered){ stepExtensions = Object.create(null); inputEntry++; }
|
|
677
|
+
viewerStep = {i: i, k: k};
|
|
678
|
+
}
|
|
679
|
+
function viewerInput(){ return !ASIDE && DECK.mode !== "video" && (!DECK.view || DECK.view === "follow"); }
|
|
680
|
+
// Sound timing uses this total at the live playback hook below. Video/aside renders use authored times.
|
|
681
|
+
DECK.stepExtension = function(i, k){
|
|
682
|
+
if (!viewerInput() || !viewerStep) return 0;
|
|
683
|
+
if (i === undefined){ i = viewerStep.i; k = viewerStep.k; }
|
|
684
|
+
return i === viewerStep.i ? stepExtensions[k] || 0 : 0;
|
|
685
|
+
};
|
|
686
|
+
function ctxExtend(s, seconds, c){
|
|
687
|
+
if (!started || !viewerInput() || !viewerStep || slides[viewerStep.i] !== s) return 0;
|
|
688
|
+
var i = viewerStep.i, k = viewerStep.k, before = DECK.stepExtension(i, k);
|
|
689
|
+
if (typeof seconds !== "number" || !isFinite(seconds) || seconds === 0) return before;
|
|
690
|
+
var seg = DECK.timeline().find(function(g){ return g.i === i && g.k === k; });
|
|
691
|
+
// The part clamps first (m-timer: remaining >= 0, total <= 1 hour); the player keeps the step length >= 0 and the total <= 1 hour.
|
|
692
|
+
var elapsed = liveRun && liveRun.i === i && liveRun.k === k ?
|
|
693
|
+
Math.min(Math.max(0, (seg ? seg.dur : 0) + before), Math.max(liveRun.t, (performance.now() - liveRun.start) / 1000)) : 0;
|
|
694
|
+
var total = Math.max(elapsed - (seg ? seg.dur : 0), Math.min(3600, before + seconds));
|
|
695
|
+
total = Math.min(3600, total) || 0;
|
|
696
|
+
stepExtensions[k] = total;
|
|
697
|
+
if (DECK.view === "follow"){
|
|
698
|
+
if (total !== before) post({type: "deck-cmd", cmd: "input", input: {type: "input", key: inputKey(s, c), id: "extend", value: total - before}});
|
|
699
|
+
return total;
|
|
700
|
+
}
|
|
701
|
+
if (total !== before){
|
|
702
|
+
queueInputState();
|
|
703
|
+
// Events scheduled ahead were timed for the old length: drop them and cross again with the new timing.
|
|
704
|
+
soundCancelAhead(liveRun && liveRun.i === i && liveRun.k === k ? liveRun : null, elapsed);
|
|
705
|
+
// A finished/manual step can start its clock again; an active clock keeps its elapsed time.
|
|
706
|
+
if (!liveRun) liveRun = {i: i, k: k, base: animDur(i, k), start: performance.now(), t: 0, first: false, from: -1};
|
|
707
|
+
if (liveRun.i === i && liveRun.k === k && !raf){
|
|
708
|
+
liveRun.start = performance.now() - liveRun.t * 1000;
|
|
709
|
+
raf = requestAnimationFrame(tickLive);
|
|
710
|
+
}
|
|
711
|
+
}
|
|
712
|
+
scheduleAutoEnd();
|
|
713
|
+
return total;
|
|
714
|
+
}
|
|
715
|
+
// Input keys use the slide key and the index in its component list (including non-input parts).
|
|
716
|
+
function inputKey(s, c){ return s._key + ":" + s._comps.indexOf(c); }
|
|
717
|
+
function inputPart(c){
|
|
718
|
+
var C = c && c.constructor, meta = C && C.meta;
|
|
719
|
+
return !!(c && ((DECK.VIEWER_INPUT || {})[c.localName] === true || (C && C.viewerInput === true) || (meta && meta.viewerInput === true)));
|
|
720
|
+
}
|
|
721
|
+
function inputTarget(e){
|
|
722
|
+
var path = e.composedPath ? e.composedPath() : [], t = e.target;
|
|
723
|
+
if (path.some(inputPart)) return true;
|
|
724
|
+
for (; t; t = t.parentElement) if (inputPart(t)) return true;
|
|
725
|
+
return false;
|
|
726
|
+
}
|
|
727
|
+
function inputElement(key){
|
|
728
|
+
if (typeof key !== "string" || !viewerStep) return null;
|
|
729
|
+
var s = slides[viewerStep.i];
|
|
730
|
+
return s._comps.find(function(c){ return inputPart(c) && inputKey(s, c) === key; }) || null;
|
|
731
|
+
}
|
|
732
|
+
function validInput(m, c){
|
|
733
|
+
if (!m || m.type !== "input" || !c || typeof m.value !== "number" || !isFinite(m.value)) return false;
|
|
734
|
+
if (c.localName === "m-predict") return typeof c.input === "function" && Number.isInteger(m.id) && m.id >= 0 &&
|
|
735
|
+
m.id < c.author.length && Number.isInteger(m.value) && m.value >= 0 && m.value <= 9999;
|
|
736
|
+
if (c.localName === "m-timer") return m.id === "extend" && viewerStep.k >= c.from && viewerStep.k < c.from + c.steps;
|
|
737
|
+
return false;
|
|
738
|
+
}
|
|
739
|
+
function applyInput(m){
|
|
740
|
+
if (!started || !viewerInput() || DECK.view) return;
|
|
741
|
+
var c = inputElement(m && m.key);
|
|
742
|
+
if (!validInput(m, c)) return;
|
|
743
|
+
if (c.localName === "m-predict") c.input(m.id, m.value);
|
|
744
|
+
else ctxExtend(c._slide, m.value, c);
|
|
745
|
+
queueInputState();
|
|
746
|
+
}
|
|
747
|
+
function inputState(){
|
|
748
|
+
if (!viewerInput() || !viewerStep) return null;
|
|
749
|
+
var s = slides[viewerStep.i], r = liveRun;
|
|
750
|
+
return {entry: inputEntry, i: viewerStep.i, k: viewerStep.k,
|
|
751
|
+
counts: s._comps.filter(function(c){ return inputPart(c) && c.localName === "m-predict" && typeof c.counts === "function"; })
|
|
752
|
+
.map(function(c){ return {key: inputKey(s, c), counts: c.counts()}; }),
|
|
753
|
+
extensions: Object.assign({}, stepExtensions),
|
|
754
|
+
clock: r && r.i === viewerStep.i && r.k === viewerStep.k ? {t: r.t, base: r.base, running: !!raf} : null};
|
|
755
|
+
}
|
|
756
|
+
var inputQueued = false;
|
|
757
|
+
function queueInputState(){
|
|
758
|
+
if (inputQueued || !DECK.ready || DECK.view || !viewerInput()) return;
|
|
759
|
+
inputQueued = true;
|
|
760
|
+
Promise.resolve().then(function(){
|
|
761
|
+
inputQueued = false;
|
|
762
|
+
var msg = {type: "deck-input-state", viewer: inputState()};
|
|
763
|
+
if (presenter && !presenter.closed) presenter.postMessage(msg, "*");
|
|
764
|
+
if (editorParent() && presenter !== window.parent) window.parent.postMessage(msg, "*");
|
|
765
|
+
});
|
|
766
|
+
}
|
|
767
|
+
function mirrorInput(v){
|
|
768
|
+
if (!v || !viewerInput() || DECK.view !== "follow" || !viewerStep || v.i !== viewerStep.i || v.k !== viewerStep.k) return;
|
|
769
|
+
inputMirroring = true;
|
|
770
|
+
try {
|
|
771
|
+
mirrorEntry = v.entry;
|
|
772
|
+
stepExtensions = Object.create(null);
|
|
773
|
+
Object.keys(v.extensions || {}).forEach(function(k){
|
|
774
|
+
var n = v.extensions[k];
|
|
775
|
+
if (/^[0-9]+$/.test(k) && typeof n === "number" && isFinite(n) && n <= 3600) stepExtensions[k] = n;
|
|
776
|
+
});
|
|
777
|
+
(v.counts || []).forEach(function(p){
|
|
778
|
+
var c = inputElement(p.key);
|
|
779
|
+
if (!c || !Array.isArray(p.counts)) return;
|
|
780
|
+
p.counts.forEach(function(n, i){ var m = {type: "input", id: i, value: n}; if (validInput(m, c)) c.input(i, n); });
|
|
781
|
+
});
|
|
782
|
+
stopLoop();
|
|
783
|
+
var r = v.clock;
|
|
784
|
+
if (r && typeof r.t === "number" && isFinite(r.t) && typeof r.base === "number" && isFinite(r.base)){
|
|
785
|
+
liveRun = {i: v.i, k: v.k, t: r.t, base: r.base, start: performance.now() - r.t * 1000, first: false, from: -1};
|
|
786
|
+
seek(v.i, v.k, r.t, undefined, true);
|
|
787
|
+
if (r.running) raf = requestAnimationFrame(tickLive);
|
|
788
|
+
} else seek(v.i, v.k, Infinity, undefined, true);
|
|
789
|
+
} finally { inputMirroring = false; }
|
|
790
|
+
}
|
|
791
|
+
document.addEventListener("egatari-input", function(e){
|
|
792
|
+
if (!started || !viewerInput() || inputRendering || inputMirroring) return;
|
|
793
|
+
var c = e.target, s = viewerStep && slides[viewerStep.i];
|
|
794
|
+
if (!s || s._comps.indexOf(c) < 0 || !inputPart(c)) return;
|
|
795
|
+
if (!DECK.view){ queueInputState(); return; }
|
|
796
|
+
// Timer changes already went through ctx.extend; its outgoing event contains a total, not a delta.
|
|
797
|
+
if (c.localName !== "m-predict" || !e.detail || !Array.isArray(e.detail.counts)) return;
|
|
798
|
+
e.detail.counts.forEach(function(n, i){
|
|
799
|
+
var m = {type: "input", key: inputKey(s, c), id: i, value: n};
|
|
800
|
+
if (validInput(m, c)) post({type: "deck-cmd", cmd: "input", input: m});
|
|
801
|
+
});
|
|
802
|
+
});
|
|
803
|
+
var CTX_LIVE = Object.freeze({poll: function(id){
|
|
804
|
+
if (!viewerInput() || DECK.view || !DECK.live || typeof DECK.live.poll !== "function") return null;
|
|
805
|
+
var counts = DECK.live.poll(id);
|
|
806
|
+
// Enforce the privacy floor even with a host-supplied live client; never pass identities through.
|
|
807
|
+
if (!Array.isArray(counts) || !counts.length || !Array.from(counts).every(function(n){ return Number.isSafeInteger(n) && n >= 0; }) ||
|
|
808
|
+
counts.reduce(function(a, b){ return a + b; }, 0) < 3) return null;
|
|
809
|
+
return counts.slice();
|
|
810
|
+
}});
|
|
811
|
+
document.addEventListener("deck:live", function(){
|
|
812
|
+
if (!started || !viewerInput() || !viewerStep) return;
|
|
813
|
+
var v = viewerStep, r = liveRun;
|
|
814
|
+
seek(v.i, v.k, r && raf ? (performance.now() - r.start) / 1000 : Infinity, undefined, true);
|
|
815
|
+
});
|
|
816
|
+
function ctxFor(c, s, o){
|
|
817
|
+
var x = {mode: ctxMode(), preview: DECK.mode === "lecture" && !c._ctxNoPrev, slide: s._key, lang: CTX_LANG, slides: CTX_SLIDES,
|
|
818
|
+
go: ctxGo, report: c._reportFn || (c._reportFn = reporter(c)), visited: ctxVisited, extend: function(seconds){ return ctxExtend(s, seconds, c); },
|
|
819
|
+
live: viewerInput() && !DECK.view && DECK.live && typeof DECK.live.poll === "function" ? CTX_LIVE : null};
|
|
820
|
+
for (var k in o) x[k] = o[k];
|
|
821
|
+
if (!c._v2) x.deck = DECK;
|
|
822
|
+
return x;
|
|
823
|
+
}
|
|
824
|
+
// 2 段目の守り(format spec §6.1 Containment):部品の duration・cues・layout が投げた例外は、再生器の外に出さない
|
|
825
|
+
function safeDur(c, k){ try { return c.duration(k) || 0; } catch (e) { compFail(c, c._slide, c._i, {kind: "exception", msg: errText(e)}, "duration"); c.mount(ctxFor(c, c._slide, {instant: true, entered: false})); return 0; } }
|
|
826
|
+
function safeCues(c, k){ try { return c.cues(k); } catch (e) { compFail(c, c._slide, c._i, {kind: "exception", msg: errText(e)}, "cues"); c.mount(ctxFor(c, c._slide, {instant: true, entered: false})); return null; } }
|
|
827
|
+
// layout(ctx)(format spec §8.4 Layout):舞台の大きさが変わった・使う字が読み込まれた・隠れていたスライドが見えた・隠れていた文書が見えた(visibilitychange)ときに呼ぶ。
|
|
828
|
+
// 持つ部品だけ。投げたら 2 段目の守り。返すもの:呼んだ部品があったか
|
|
829
|
+
function layoutComps(list){
|
|
830
|
+
var any = false;
|
|
831
|
+
list.forEach(function(c){
|
|
832
|
+
if (typeof c.layout !== "function" || c._bad) return;
|
|
833
|
+
any = true;
|
|
834
|
+
try { c.layout(ctxFor(c, c._slide, {instant: true, entered: false})); }
|
|
835
|
+
catch (e) { compFail(c, c._slide, c._i, {kind: "exception", msg: errText(e)}, "layout"); c.mount(ctxFor(c, c._slide, {instant: true, entered: false})); }
|
|
836
|
+
});
|
|
837
|
+
return any;
|
|
838
|
+
}
|
|
839
|
+
// 大きさ・字が変わった:全部のスライドの部品の layout を呼び、呼んだものがあれば今の位置で描き直す(段階に入るのではない:entered・reset なし)
|
|
840
|
+
function relayout(){
|
|
841
|
+
if (!started || !DECK.ready) return;
|
|
842
|
+
var all = [];
|
|
843
|
+
slides.forEach(function(s){ all = all.concat(s._comps); });
|
|
844
|
+
if (layoutComps(all) && lastPos) seek(lastPos.i, lastPos.k, Infinity, undefined, true);
|
|
845
|
+
}
|
|
846
|
+
// 横に置く描画(format spec §8.4 entered):印刷・書き出し・縮図(スライド一覧・品質チェック)のための描画と、その後の見ている位置への戻りは、
|
|
847
|
+
// スライドに入ったことにしない(ctx.entered は false、見る人の入力は消えない、触った部品の印も残す)。入れ子にしてよい。動画のコマは mode で(seek)
|
|
848
|
+
var ASIDE = 0, asideBack = null;
|
|
849
|
+
function asideBegin(){ if (ASIDE++ === 0) asideBack = {last: lastPos, jump: jumpTo}; }
|
|
850
|
+
function asideEnd(back){
|
|
851
|
+
if (ASIDE === 0 || --ASIDE > 0) return;
|
|
852
|
+
var b = asideBack; asideBack = null;
|
|
853
|
+
lastPos = b.last; jumpTo = b.jump;
|
|
854
|
+
if (back && lastPos) seek(lastPos.i, lastPos.k, Infinity, undefined, true);
|
|
855
|
+
}
|
|
856
|
+
// fn の中の DECK.seek は横に置く描画。終わったら見ている位置に戻して描く
|
|
857
|
+
DECK.aside = function(fn){ asideBegin(); try { return fn(); } finally { asideEnd(true); } };
|
|
858
|
+
// 先のステップを薄く見せるときの濃さ:テーマの --preview-opacity(format spec §8.4。base.css が 0.45 を置く)。
|
|
859
|
+
// 無いか範囲の外なら --lecture-dim(古い名前。base.css では --preview-opacity と同じ)、それも無ければ 0.45
|
|
860
|
+
function previewOpacity(){
|
|
861
|
+
var cs = getComputedStyle(document.documentElement), v = parseFloat(cs.getPropertyValue("--preview-opacity"));
|
|
862
|
+
if (!(v >= 0 && v <= 1)) v = parseFloat(cs.getPropertyValue("--lecture-dim"));
|
|
863
|
+
return v >= 0 && v <= 1 ? v : .45;
|
|
864
|
+
}
|
|
865
|
+
// (i, k, t) の画面を描く。唯一の描画の入口。cont:実時間の再生の 2 コマ目から(同じ段階の続き。段階に入るのではない)
|
|
866
|
+
function seek(i, k, t, from, cont){
|
|
867
|
+
i = Math.max(0, Math.min(slides.length - 1, i));
|
|
868
|
+
var entered = !cont && !ASIDE && DECK.mode !== "video" && (lastPos === null || lastPos.i !== i || jumpTo === i);
|
|
869
|
+
if (!cont && !ASIDE && jumpTo === i) jumpTo = -1;
|
|
870
|
+
var shown = lastPos === null || lastPos.i !== i; // 隠れていたスライドが見える(layout。format spec §8.4)
|
|
871
|
+
var s = slides[i];
|
|
872
|
+
k = Math.max(0, Math.min(s._max, k));
|
|
873
|
+
var tReal = t; // 時計の部品には、動きを減らす設定でも実際の t(isClock)
|
|
874
|
+
if (REDUCE && t !== Infinity) t = Infinity;
|
|
875
|
+
var mode = ctxMode(), lecture = DECK.mode === "lecture";
|
|
876
|
+
var dim = lecture ? previewOpacity() : 1;
|
|
877
|
+
var entering = k === 0 && from !== undefined && from >= 0 && from !== i && t !== Infinity;
|
|
878
|
+
var morph = entering && t < T.morph && morphSrc(i) === from;
|
|
879
|
+
var fading = entering && !morph && t < T.slide;
|
|
880
|
+
// 前の画面のモーフの跡を消す
|
|
881
|
+
slides.forEach(function(x){ if (x._morphOn) clearMorph(x._morphOn); });
|
|
882
|
+
// 下に残す前のスライドは最終状態で描く((i, 0, t, from) が呼び出し順によらず決まるように)
|
|
883
|
+
if ((fading || morph) && !(slides[from]._final)){
|
|
884
|
+
asideBegin(); try { seek(from, slides[from]._max, Infinity); } finally { asideEnd(false); }
|
|
885
|
+
}
|
|
886
|
+
viewerAt(i, k, entered);
|
|
887
|
+
slides.forEach(function(x, j){
|
|
888
|
+
var on = j === i, under = (fading || morph) && j === from;
|
|
889
|
+
x.classList.toggle("active", on);
|
|
890
|
+
if (A11Y && x._ah !== !on){ x._ah = !on; if (on){ x.removeAttribute("aria-hidden"); x.inert = false; } else { x.setAttribute("aria-hidden", "true"); x.inert = true; } }
|
|
891
|
+
x.style.visibility = on || under ? "visible" : "hidden";
|
|
892
|
+
x.style.zIndex = on ? 2 : under ? 1 : 0;
|
|
893
|
+
x.style.opacity = on ? (fading ? prog(t, 0, T.slide) : 1) : under ? 1 : 0;
|
|
894
|
+
});
|
|
895
|
+
if (!s.classList.contains("static")){
|
|
896
|
+
s._items.forEach(function(e){
|
|
897
|
+
var n = +e.getAttribute("data-step"), at = +(e.getAttribute("data-at") || 0);
|
|
898
|
+
var p = n < k ? 1 : n > k ? 0 : prog(t, at, T.fade);
|
|
899
|
+
var lift = !(e instanceof SVGElement) && e.tagName !== "TR" && !e.closest("svg");
|
|
900
|
+
// 答えの印(data-preview="none"、preview:"none" の部品。e._noPrev)は薄く見せず、発表と同じく先の段階を隠す
|
|
901
|
+
var faint = lecture && !e._noPrev;
|
|
902
|
+
if (faint){
|
|
903
|
+
e.style.opacity = n <= k ? 1 : dim;
|
|
904
|
+
e.style.transform = "none";
|
|
905
|
+
} else {
|
|
906
|
+
e.style.opacity = p;
|
|
907
|
+
e.style.transform = lift && p < 1 ? "translateY(" + ((1 - p) * 14).toFixed(2) + "px)" : "none";
|
|
908
|
+
}
|
|
909
|
+
e.classList.toggle("on", n <= k);
|
|
910
|
+
// 発表では、まだ出ていない段階を読み上げない(授業モードでは薄く見えているので読む)
|
|
911
|
+
if (A11Y){ var ah = !faint && n > k; if (e._ah !== ah){ e._ah = ah; if (ah) e.setAttribute("aria-hidden", "true"); else e.removeAttribute("aria-hidden"); } }
|
|
912
|
+
});
|
|
913
|
+
}
|
|
914
|
+
s._draws.forEach(function(w){
|
|
915
|
+
var p = s.classList.contains("static") || (lecture && !w.noPrev) || w.step < k ? 1 : w.step > k ? 0 : prog(t, w.at + T.drawDelay, w.dur);
|
|
916
|
+
w.el.style.strokeDashoffset = (1 - p).toFixed(4);
|
|
917
|
+
});
|
|
918
|
+
// 薄く見せる段階の要素の中にある答えの印(段階を持たない data-preview="none" の要素・preview:"none" の部品)は、その段階まで隠す
|
|
919
|
+
s._npHide.forEach(function(x){
|
|
920
|
+
var hide = lecture && x.step > k;
|
|
921
|
+
if (x.hidden !== hide){ x.hidden = hide; x.el.style.opacity = hide ? "0" : x.op; if (A11Y){ if (hide) x.el.setAttribute("aria-hidden", "true"); else x.el.removeAttribute("aria-hidden"); } }
|
|
922
|
+
});
|
|
923
|
+
// 部品の伸縮に使うのは {cue} の区切りの時刻だけ({mark} の時刻は注目の演出が使う)
|
|
924
|
+
var ac = compCues(i, k);
|
|
925
|
+
if (shown && started) layoutComps(s._comps);
|
|
926
|
+
s._comps.forEach(function(c){
|
|
927
|
+
var tc = REDUCE && isClock(c) ? tReal : t;
|
|
928
|
+
// Keep a shortened/extended clock at its actual live endpoint, including a later layout redraw.
|
|
929
|
+
if (isClock(c) && viewerInput() && tc === Infinity && liveRun && liveRun.i === i && liveRun.k === k && DECK.stepExtension(i, k)) tc = liveRun.t;
|
|
930
|
+
var lead = tc === Infinity ? 0 : (timing(i, k).lead || 0);
|
|
931
|
+
var p = compPos(c, k, tc, ac && ac.map(function(x){ return x + lead; }));
|
|
932
|
+
var ctx = ctxFor(c, s, {instant: p.t === Infinity, entered: entered});
|
|
933
|
+
inputRendering++;
|
|
934
|
+
try {
|
|
935
|
+
// 見ている人が触った部品は、段階に入るとき(同じ段階に入り直すときも)宣言どおりの画面に戻す(docs/contract.md §3)。横に置く描画では戻さない
|
|
936
|
+
if (c._touched && !cont && !ASIDE){ c._touched = false; untouch(c, p.k, ctx); }
|
|
937
|
+
c.render(p.k, p.t, ctx);
|
|
938
|
+
}
|
|
939
|
+
catch (e) { compFail(c, s, i, {kind: "exception", msg: errText(e)}, "render"); c.mount(ctxFor(c, s, {instant: true, entered: false})); }
|
|
940
|
+
finally { inputRendering--; }
|
|
941
|
+
});
|
|
942
|
+
if (lastPos && lastPos.i !== i){ var ls = slides[lastPos.i]; ls._tok++; ls._legacyAt = undefined; }
|
|
943
|
+
legacy(s, k, t === Infinity);
|
|
944
|
+
drawMarks(s, i, k, lecture ? Infinity : t);
|
|
945
|
+
if (morph) applyMorph(morphPlan(from, i), t);
|
|
946
|
+
s._final = k === s._max && t === Infinity;
|
|
947
|
+
POS.at(i, k);
|
|
948
|
+
if (CAP.on) drawCaption(i, k, t);
|
|
949
|
+
var bar = document.getElementById("bar");
|
|
950
|
+
if (bar) bar.style.width = ((i + 1) / slides.length * 100) + "%";
|
|
951
|
+
lastPos = {i: i, k: k};
|
|
952
|
+
}
|
|
953
|
+
// 見ている人が部品を手で変えた状態(m-kobun の札を開く、回す、値をずらす)は (i, k, t) の外(format spec §8.4)。
|
|
954
|
+
// 部品の中で押す・触る・キーを打つ・ホイールを回すと印を付け、次に段階に入るとき(seek。実時間の再生の続きのコマは除く)に
|
|
955
|
+
// 別の段階を描いてから(段階が動いたら手で変えた状態を捨てる、の決まりで捨てさせる)、ctx.reset を付けてその段階を描く。
|
|
956
|
+
// 触っていない部品は今までどおり 1 回だけ描く(動画の書き出しと送りの手間は変わらない)
|
|
957
|
+
var TOUCH_EVENTS = ["pointerdown", "keydown", "wheel", "input", "change"];
|
|
958
|
+
function watchTouch(c){
|
|
959
|
+
var mark = function(){ c._touched = true; };
|
|
960
|
+
TOUCH_EVENTS.forEach(function(n){ c.addEventListener(n, mark, {capture: true, passive: true}); });
|
|
961
|
+
}
|
|
962
|
+
function untouch(c, k, ctx){
|
|
963
|
+
ctx.reset = true;
|
|
964
|
+
var n = c.steps, other = k > 0 ? 0 : n > 0 ? 1 : -1;
|
|
965
|
+
if (other >= 0){ var o = {}; for (var m in ctx) o[m] = ctx[m]; o.instant = true; o.entered = false; c.render(other, Infinity, o); }
|
|
966
|
+
}
|
|
967
|
+
// 起動の前(部品の mount の前)に頼まれた seek は覚えておき、mount の後に描く(最後の 1 つ)
|
|
968
|
+
var started = false, pendingSeek = null, pendingGo = null; // started:start() に入った(mount を始めた)
|
|
969
|
+
DECK.seek = function(i, k, t, from){ if (!started){ pendingSeek = [i, k, t, from]; return; } if (!ASIDE){ soundStop(); stopLoop(); } return seek(i, k, t, from); };
|
|
970
|
+
|
|
971
|
+
// ---------------------------------------------------------------- モーフ(docs/contract.md §8)
|
|
972
|
+
// data-morph のスライドに段階 0 で入るとき、元のスライドと同じ data-id の要素が元の位置から滑ってくる。
|
|
973
|
+
// 画面は (i, 0, t, from) だけで決まる:位置は元の最終状態と先の段階 0 の配置から測って (from, i) ごとに覚える
|
|
974
|
+
var morphCache = {};
|
|
975
|
+
function morphSrc(i){
|
|
976
|
+
var s = slides[i], m = s && s._morph;
|
|
977
|
+
if (m === null || m === undefined) return -1;
|
|
978
|
+
if (m === "") return i - 1;
|
|
979
|
+
for (var j = 0; j < slides.length; j++) if (slides[j]._key === m) return j === i ? -1 : j;
|
|
980
|
+
return -1;
|
|
981
|
+
}
|
|
982
|
+
function idMap(s){
|
|
983
|
+
var m = {}, dup = [];
|
|
984
|
+
[].forEach.call(s.querySelectorAll("[data-id]"), function(e){
|
|
985
|
+
if (e.closest("svg")) return;
|
|
986
|
+
var id = e.getAttribute("data-id");
|
|
987
|
+
if (m[id]){ if (dup.indexOf(id) < 0) dup.push(id); return; }
|
|
988
|
+
m[id] = e;
|
|
989
|
+
});
|
|
990
|
+
return {map: m, dup: dup};
|
|
991
|
+
}
|
|
992
|
+
// 段階 0 で見えているか(data-step > 0 の中にあれば、後で普通に現れる)
|
|
993
|
+
function shownAt0(s, e){ for (var a = e; a && a !== s; a = a.parentElement) if (a.hasAttribute("data-step") && +a.getAttribute("data-step") > 0) return false; return true; }
|
|
994
|
+
function morphMatch(from, i){
|
|
995
|
+
var A = idMap(slides[from]), B = idMap(slides[i]), pairs = [], later = [];
|
|
996
|
+
Object.keys(B.map).forEach(function(id){
|
|
997
|
+
if (!A.map[id]) return;
|
|
998
|
+
if (!shownAt0(slides[i], B.map[id])){ later.push(id); return; }
|
|
999
|
+
pairs.push({id: id, src: A.map[id], dst: B.map[id]});
|
|
1000
|
+
});
|
|
1001
|
+
// 入れ子は外側だけを動かす
|
|
1002
|
+
pairs = pairs.filter(function(p){ return !pairs.some(function(q){ return q !== p && (q.dst.contains(p.dst) || q.src.contains(p.src)); }); });
|
|
1003
|
+
return {pairs: pairs, later: later, dupSrc: A.dup, dupDst: B.dup};
|
|
1004
|
+
}
|
|
1005
|
+
// 消える/現れる部分:対応する要素を含まない部分木のいちばん上。対応する要素と並ぶ地の文字は span で包む
|
|
1006
|
+
function fadeList(root, keep){
|
|
1007
|
+
var out = [];
|
|
1008
|
+
(function walk(n){
|
|
1009
|
+
[].slice.call(n.childNodes).forEach(function(c){
|
|
1010
|
+
if (c.nodeType === 3){
|
|
1011
|
+
if (!c.textContent.trim() || n === root) return;
|
|
1012
|
+
var w = document.createElement("span"); w.className = "morph-txt";
|
|
1013
|
+
n.insertBefore(w, c); w.appendChild(c); out.push(w); return;
|
|
1014
|
+
}
|
|
1015
|
+
if (c.nodeType !== 1 || keep.indexOf(c) >= 0 || (c.classList && c.classList.contains("marks"))) return;
|
|
1016
|
+
if (keep.some(function(k){ return c.contains(k); })) walk(c); else out.push(c);
|
|
1017
|
+
});
|
|
1018
|
+
})(root);
|
|
1019
|
+
return out;
|
|
1020
|
+
}
|
|
1021
|
+
// 字の外形(舞台の座標)。測る間は要素とその祖先の transform を外す
|
|
1022
|
+
function stageBox(s, e, glyphs){
|
|
1023
|
+
var chain = [], sr = s.getBoundingClientRect(), sc = sr.width / 1280 || 1;
|
|
1024
|
+
for (var a = e; a && a !== s; a = a.parentElement){ chain.push([a, a.style.transform]); a.style.transform = "none"; }
|
|
1025
|
+
var r = glyphs ? boxOf(e, sr, sc) : null;
|
|
1026
|
+
if (!glyphs){ var b = e.getBoundingClientRect(); r = {x: (b.left - sr.left) / sc, y: (b.top - sr.top) / sc, w: b.width / sc, h: b.height / sc}; }
|
|
1027
|
+
chain.forEach(function(c){ c[0].style.transform = c[1]; });
|
|
1028
|
+
return r;
|
|
1029
|
+
}
|
|
1030
|
+
function morphPlan(from, i){
|
|
1031
|
+
var key = from + ">" + i;
|
|
1032
|
+
if (morphCache[key]) return morphCache[key];
|
|
1033
|
+
var S = slides[from], D = slides[i], m = morphMatch(from, i);
|
|
1034
|
+
var plan = {S: S, D: D, pairs: [], srcFade: fadeList(S, m.pairs.map(function(p){ return p.src; })),
|
|
1035
|
+
dstFade: fadeList(D, m.pairs.map(function(p){ return p.dst; }))};
|
|
1036
|
+
m.pairs.forEach(function(p){
|
|
1037
|
+
var g0 = stageBox(S, p.src, true), g1 = stageBox(D, p.dst, true), b1 = stageBox(D, p.dst, false);
|
|
1038
|
+
if (!g0 || !g1 || !g1.w || !g1.h) return;
|
|
1039
|
+
// 先の要素を、字の中心が元の字の中心に重なるように縮めて置く(transform-origin は左上)
|
|
1040
|
+
var sc = Math.sqrt((g0.w / g1.w) * (g0.h / g1.h));
|
|
1041
|
+
var c0x = g0.x + g0.w / 2, c0y = g0.y + g0.h / 2, c1x = g1.x + g1.w / 2, c1y = g1.y + g1.h / 2;
|
|
1042
|
+
var c0 = getComputedStyle(p.src).color, c1 = getComputedStyle(p.dst).color;
|
|
1043
|
+
plan.pairs.push({id: p.id, src: p.src, dst: p.dst, s: sc,
|
|
1044
|
+
dx: c0x - b1.x - sc * (c1x - b1.x), dy: c0y - b1.y - sc * (c1y - b1.y), c0: c0, c1: c1});
|
|
1045
|
+
});
|
|
1046
|
+
return (morphCache[key] = plan);
|
|
1047
|
+
}
|
|
1048
|
+
function applyMorph(plan, t){
|
|
1049
|
+
var Tm = T.morph, e = prog(t, 0, Tm), out = 1 - prog(t, 0, Tm * .45), inn = prog(t, Tm * .45, Tm * .55);
|
|
1050
|
+
plan.pairs.forEach(function(p){
|
|
1051
|
+
p.src.style.filter = "opacity(0)";
|
|
1052
|
+
p.dst.style.transformOrigin = "0 0";
|
|
1053
|
+
p.dst.style.transform = "translate(" + (p.dx * (1 - e)).toFixed(2) + "px," + (p.dy * (1 - e)).toFixed(2) + "px) scale(" + lerp(p.s, 1, e).toFixed(4) + ")";
|
|
1054
|
+
if (p.c0 !== p.c1) p.dst.style.color = "color-mix(in oklab, " + p.c0 + " " + ((1 - e) * 100).toFixed(1) + "%, " + p.c1 + ")";
|
|
1055
|
+
});
|
|
1056
|
+
plan.srcFade.forEach(function(x){ x.style.filter = "opacity(" + out.toFixed(4) + ")"; });
|
|
1057
|
+
plan.dstFade.forEach(function(x){ x.style.filter = "opacity(" + inn.toFixed(4) + ")"; });
|
|
1058
|
+
if (plan.S._mksvg) plan.S._mksvg.style.opacity = out.toFixed(4);
|
|
1059
|
+
if (plan.D._mksvg) plan.D._mksvg.style.opacity = inn.toFixed(4);
|
|
1060
|
+
plan.D.style.background = "transparent"; // 背景は下の元のスライドのものを見せる
|
|
1061
|
+
plan.S._morphOn = plan.D._morphOn = plan;
|
|
1062
|
+
}
|
|
1063
|
+
function clearMorph(plan){
|
|
1064
|
+
plan.pairs.forEach(function(p){ p.src.style.filter = ""; p.dst.style.transform = ""; p.dst.style.transformOrigin = ""; p.dst.style.color = ""; });
|
|
1065
|
+
plan.srcFade.concat(plan.dstFade).forEach(function(x){ x.style.filter = ""; });
|
|
1066
|
+
[plan.S, plan.D].forEach(function(s){ if (s._mksvg) s._mksvg.style.opacity = ""; s._morphOn = null; });
|
|
1067
|
+
plan.D.style.background = "";
|
|
1068
|
+
}
|
|
1069
|
+
// 検査用:スライド i のモーフの対応(data-morph がなければ null)
|
|
1070
|
+
DECK.morph = function(i){
|
|
1071
|
+
var s = slides[i];
|
|
1072
|
+
if (!s || s._morph === null) return null;
|
|
1073
|
+
var j = morphSrc(i);
|
|
1074
|
+
if (j < 0) return {src: null, want: s._morph, ids: [], later: [], dupSrc: [], dupDst: idMap(s).dup};
|
|
1075
|
+
var m = morphMatch(j, i);
|
|
1076
|
+
return {src: slides[j]._key, ids: m.pairs.map(function(p){ return p.id; }), later: m.later, dupSrc: m.dupSrc, dupDst: m.dupDst};
|
|
1077
|
+
};
|
|
1078
|
+
|
|
1079
|
+
// ---------------------------------------------------------------- 注目の演出(口述原稿の {mark:…}。docs/contract.md §7)
|
|
1080
|
+
// 印は段階ごとに決まる。時刻は音声の cue(+ lead)、音声がなければ動きの終わりから gap 秒おき。
|
|
1081
|
+
// 画面は (i, k, t) だけで決まる:seek のたびに重ね描きの SVG を作り直す
|
|
1082
|
+
var MK = DECK.MK = {draw: .5, fadeOut: .3, gap: .9, laserHold: 1.5};
|
|
1083
|
+
function boundsOf(i, k){ return DECK.MARKS[DECK.stepKey(i, k)] || null; }
|
|
1084
|
+
// 部品の伸縮に使う音声の cue({cue} の区切りの分だけ)。区切りの数が合わない古い音声なら使わない
|
|
1085
|
+
function compCues(i, k){
|
|
1086
|
+
var a = DECK.AUDIO[DECK.stepKey(i, k)], b = boundsOf(i, k);
|
|
1087
|
+
if (!a || !a.cues || a.sync === "none") return null; // sync:"none"(区切りをまだ置いていない収録)は同期しない
|
|
1088
|
+
if (!b) return a.cues;
|
|
1089
|
+
if (a.cues.length !== b.length) return null;
|
|
1090
|
+
return a.cues.filter(function(_, j){ return b[j].type === "cue"; });
|
|
1091
|
+
}
|
|
1092
|
+
// 段階 (i, k) の印の予定:[{id, effect, start, end, from}]、end は消え始める時刻(Infinity なら段階の終わりまで)
|
|
1093
|
+
function markPlan(i, k){
|
|
1094
|
+
var s = slides[i];
|
|
1095
|
+
s._mk = s._mk || {};
|
|
1096
|
+
if (s._mk[k]) return s._mk[k];
|
|
1097
|
+
var b = boundsOf(i, k), out = {marks: [], end: 0, audio: false};
|
|
1098
|
+
s._mk[k] = out;
|
|
1099
|
+
if (!b || !b.some(function(x){ return x.type !== "cue"; })) return out;
|
|
1100
|
+
var a = DECK.AUDIO[DECK.stepKey(i, k)], times;
|
|
1101
|
+
if (a && a.cues && a.sync !== "none" && a.cues.length === b.length){
|
|
1102
|
+
var lead = timing(i, k).lead || 0;
|
|
1103
|
+
times = a.cues.map(function(x){ return x + lead; });
|
|
1104
|
+
out.audio = true;
|
|
1105
|
+
} else {
|
|
1106
|
+
var t0 = animDur(i, k), n = 0;
|
|
1107
|
+
times = b.map(function(x){ return x.type === "cue" ? null : t0 + MK.gap * n++; });
|
|
1108
|
+
}
|
|
1109
|
+
b.forEach(function(x, j){
|
|
1110
|
+
if (x.type !== "mark") return;
|
|
1111
|
+
var st = times[j], hold = x.hold != null ? x.hold : x.effect === "laser" ? MK.laserHold : null;
|
|
1112
|
+
var en = hold != null ? st + Math.max(hold, MK.draw) : Infinity;
|
|
1113
|
+
for (var c = j + 1; c < b.length; c++) if (b[c].type === "clear" && times[c] < en){ en = Math.max(st, times[c]); break; }
|
|
1114
|
+
out.marks.push({id: x.id, effect: x.effect || "underline", start: st, end: en, n: j});
|
|
1115
|
+
});
|
|
1116
|
+
// スポットとレーザーは 1 つずつ:次のものが出たら前のものはそこから動いていく
|
|
1117
|
+
["spot", "laser"].forEach(function(ef){
|
|
1118
|
+
var prev = null;
|
|
1119
|
+
out.marks.forEach(function(m){
|
|
1120
|
+
if (m.effect !== ef) return;
|
|
1121
|
+
if (prev && prev.end > m.start){ prev.end = m.start; prev.handoff = true; m.from = prev; }
|
|
1122
|
+
prev = m;
|
|
1123
|
+
});
|
|
1124
|
+
});
|
|
1125
|
+
out.marks.forEach(function(m){
|
|
1126
|
+
out.end = Math.max(out.end, m.start + MK.draw, m.end !== Infinity && !m.handoff ? m.end + MK.fadeOut : 0);
|
|
1127
|
+
});
|
|
1128
|
+
return out;
|
|
1129
|
+
}
|
|
1130
|
+
function marksEnd(i, k){ return markPlan(i, k).end; }
|
|
1131
|
+
|
|
1132
|
+
// 決まった乱数(印の手描きの揺れ)
|
|
1133
|
+
function rng(seed){
|
|
1134
|
+
var h = 2166136261;
|
|
1135
|
+
for (var c = 0; c < seed.length; c++){ h ^= seed.charCodeAt(c); h = Math.imul(h, 16777619); }
|
|
1136
|
+
return function(){ h = Math.imul(h ^ (h >>> 15), 2246822507); h = Math.imul(h ^ (h >>> 13), 3266489909); h ^= h >>> 16; return (h >>> 0) / 4294967296; };
|
|
1137
|
+
}
|
|
1138
|
+
function markTarget(s, id){
|
|
1139
|
+
var q = '[id="' + String(id).replace(/["\\]/g, "\\$&") + '"], [data-mark="' + String(id).replace(/["\\]/g, "\\$&") + '"]';
|
|
1140
|
+
var es = s.querySelectorAll(q);
|
|
1141
|
+
return es.length ? es[0] : null;
|
|
1142
|
+
}
|
|
1143
|
+
// 対象の字の外形(文字の箱の和)。KaTeX の span は字の下がり(y や p)を含まないことがあるので、文字から測る
|
|
1144
|
+
function boxOf(e, sr, sc){
|
|
1145
|
+
var x0 = Infinity, y0 = Infinity, x1 = -Infinity, y1 = -Infinity;
|
|
1146
|
+
var add = function(r){ if (!r.width && !r.height) return; x0 = Math.min(x0, r.left); y0 = Math.min(y0, r.top); x1 = Math.max(x1, r.right); y1 = Math.max(y1, r.bottom); };
|
|
1147
|
+
var tw = document.createTreeWalker(e, NodeFilter.SHOW_TEXT), n, rg = document.createRange();
|
|
1148
|
+
while ((n = tw.nextNode())){
|
|
1149
|
+
if (!n.textContent.trim() || (n.parentElement && n.parentElement.closest(".katex-mathml"))) continue;
|
|
1150
|
+
rg.selectNodeContents(n);
|
|
1151
|
+
[].forEach.call(rg.getClientRects(), add);
|
|
1152
|
+
}
|
|
1153
|
+
[].forEach.call(e.querySelectorAll("svg, img, canvas"), function(g){ add(g.getBoundingClientRect()); });
|
|
1154
|
+
if (x0 === Infinity) add(e.getBoundingClientRect());
|
|
1155
|
+
if (x0 === Infinity) return null;
|
|
1156
|
+
return {x: (x0 - sr.left) / sc, y: (y0 - sr.top) / sc, w: (x1 - x0) / sc, h: (y1 - y0) / sc};
|
|
1157
|
+
}
|
|
1158
|
+
function f1(x){ return x.toFixed(1); }
|
|
1159
|
+
// 形(スライドの座標、1280×720)
|
|
1160
|
+
var SHAPE = {
|
|
1161
|
+
underline: function(r, R){
|
|
1162
|
+
var x0 = r.x - 4, x1 = r.x + r.w + 4, y = r.y + r.h + 6, w = x1 - x0;
|
|
1163
|
+
var y0 = y + (R() - .5) * 2, y1 = y - 1.5 - R() * 2;
|
|
1164
|
+
return "M" + f1(x0) + "," + f1(y0) + "C" + f1(x0 + w * .3) + "," + f1(y0 + 2.2) + " " + f1(x0 + w * .7) + "," + f1(y1 + 1.6) + " " + f1(x1) + "," + f1(y1);
|
|
1165
|
+
},
|
|
1166
|
+
circle: function(r, R){
|
|
1167
|
+
// 角の丸い楕円(超楕円)。横の余白を小さくして、式の中で隣の記号にかからないようにする
|
|
1168
|
+
var cx = r.x + r.w / 2, cy = r.y + r.h / 2;
|
|
1169
|
+
var rx = r.w / 2 + 7, ry = r.h / 2 + 8, ex = 2 / 3.2;
|
|
1170
|
+
var th0 = -Math.PI * (.62 + R() * .1), span = Math.PI * 2 + .5, ph = R() * 6.28, N = 120, d = "";
|
|
1171
|
+
var sp = function(c){ return (c < 0 ? -1 : 1) * Math.pow(Math.abs(c), ex); };
|
|
1172
|
+
for (var n = 0; n <= N; n++){
|
|
1173
|
+
var u = n / N, th = th0 + span * u;
|
|
1174
|
+
var k = 1 + .025 * Math.sin(2 * th + ph) + .06 * u - .025; // 少し揺れて、終わりは外へずれる
|
|
1175
|
+
d += (n ? "L" : "M") + f1(cx + rx * k * sp(Math.cos(th))) + "," + f1(cy + ry * k * sp(Math.sin(th)));
|
|
1176
|
+
}
|
|
1177
|
+
return d;
|
|
1178
|
+
},
|
|
1179
|
+
box: function(r, R){
|
|
1180
|
+
var x0 = r.x - 3, y0 = r.y - 6, x1 = r.x + r.w + 3, y1 = r.y + r.h + 6, q = 10;
|
|
1181
|
+
var j = function(){ return (R() - .5) * 3; };
|
|
1182
|
+
return "M" + f1(x0 + q - 2) + "," + f1(y0 + 1 + j()) + "L" + f1(x1 - q) + "," + f1(y0 + j()) +
|
|
1183
|
+
"Q" + f1(x1) + "," + f1(y0) + " " + f1(x1 + j() * .5) + "," + f1(y0 + q) + "L" + f1(x1 + j()) + "," + f1(y1 - q) +
|
|
1184
|
+
"Q" + f1(x1) + "," + f1(y1) + " " + f1(x1 - q) + "," + f1(y1 + j() * .5) + "L" + f1(x0 + q) + "," + f1(y1 + j()) +
|
|
1185
|
+
"Q" + f1(x0) + "," + f1(y1) + " " + f1(x0 + j() * .5) + "," + f1(y1 - q) + "L" + f1(x0 + j()) + "," + f1(y0 + q) +
|
|
1186
|
+
"Q" + f1(x0) + "," + f1(y0) + " " + f1(x0 + q) + "," + f1(y0 - 1) + "L" + f1(x0 + q + 8) + "," + f1(y0 - 2.5);
|
|
1187
|
+
}
|
|
1188
|
+
};
|
|
1189
|
+
function rr(x, y, w, h, q){
|
|
1190
|
+
return "M" + f1(x + q) + "," + f1(y) + "H" + f1(x + w - q) + "Q" + f1(x + w) + "," + f1(y) + " " + f1(x + w) + "," + f1(y + q) +
|
|
1191
|
+
"V" + f1(y + h - q) + "Q" + f1(x + w) + "," + f1(y + h) + " " + f1(x + w - q) + "," + f1(y + h) + "H" + f1(x + q) +
|
|
1192
|
+
"Q" + f1(x) + "," + f1(y + h) + " " + f1(x) + "," + f1(y + h - q) + "V" + f1(y + q) + "Q" + f1(x) + "," + f1(y) + " " + f1(x + q) + "," + f1(y) + "Z";
|
|
1193
|
+
}
|
|
1194
|
+
function drawMarks(s, i, k, t){
|
|
1195
|
+
var plan = markPlan(i, k), svg = s._mksvg;
|
|
1196
|
+
if (!plan.marks.length){ if (svg) svg.textContent = ""; return; }
|
|
1197
|
+
if (!svg){
|
|
1198
|
+
svg = s._mksvg = el("svg", {class: "marks", viewBox: "0 0 1280 720", "aria-hidden": "true"}, s);
|
|
1199
|
+
}
|
|
1200
|
+
svg.textContent = "";
|
|
1201
|
+
var sr = s.getBoundingClientRect(), sc = sr.width / 1280 || 1, cache = {};
|
|
1202
|
+
function rect(id){
|
|
1203
|
+
if (cache[id] !== undefined) return cache[id];
|
|
1204
|
+
var e = markTarget(s, id);
|
|
1205
|
+
return (cache[id] = e ? boxOf(e, sr, sc) : null);
|
|
1206
|
+
}
|
|
1207
|
+
function state(m){
|
|
1208
|
+
if (t === Infinity) return m.end === Infinity ? {p: 1, o: 1} : null;
|
|
1209
|
+
if (t < m.start) return null;
|
|
1210
|
+
var o = t < m.end ? 1 : m.handoff ? 0 : 1 - clamp01((t - m.end) / MK.fadeOut);
|
|
1211
|
+
return o > 0 ? {p: prog(t, m.start, MK.draw), o: o} : null;
|
|
1212
|
+
}
|
|
1213
|
+
var C = "var(--emph)", layers = {spot: el("g", {}, svg), line: el("g", {}, svg), laser: el("g", {}, svg)};
|
|
1214
|
+
plan.marks.forEach(function(m){
|
|
1215
|
+
var st = state(m), r = rect(m.id);
|
|
1216
|
+
if (!st || !r) return;
|
|
1217
|
+
var R = rng(s._key + ":" + k + ":" + m.n + ":" + m.id);
|
|
1218
|
+
if (m.effect === "spot"){
|
|
1219
|
+
// 対象のまわりだけ残して、ほかを白く沈める。前のスポットがあれば穴がそこから動く
|
|
1220
|
+
var f = m.from && rect(m.from.id), e = st.p, px = 6, py = 9;
|
|
1221
|
+
var x = r.x - px, y = r.y - py, w = r.w + 2 * px, h = r.h + 2 * py;
|
|
1222
|
+
if (f){ x = lerp(f.x - px, x, e); y = lerp(f.y - py, y, e); w = lerp(f.w + 2 * px, w, e); h = lerp(f.h + 2 * py, h, e); }
|
|
1223
|
+
var veil = f ? 1 : e;
|
|
1224
|
+
el("path", {d: "M-10,-10H1290V730H-10Z" + rr(x, y, w, h, 12), "fill-rule": "evenodd", fill: "var(--bg)", "fill-opacity": (.78 * veil * st.o).toFixed(3)}, layers.spot);
|
|
1225
|
+
el("path", {d: rr(x, y, w, h, 12), fill: "none", stroke: C, "stroke-width": 2, "stroke-opacity": (.35 * veil * st.o).toFixed(3)}, layers.spot);
|
|
1226
|
+
return;
|
|
1227
|
+
}
|
|
1228
|
+
if (m.effect === "laser"){
|
|
1229
|
+
var tx = r.x + r.w / 2, ty = r.y + r.h + 13, g = m.from && rect(m.from.id);
|
|
1230
|
+
var sx = g ? g.x + g.w / 2 : tx - 70, sy = g ? g.y + g.h + 13 : ty + 40;
|
|
1231
|
+
var e2 = st.p, px = lerp(sx, tx, e2), py = lerp(sy, ty, e2), o2 = (g ? 1 : clamp01(e2 * 2.5)) * st.o;
|
|
1232
|
+
if (!svg.querySelector("filter")){
|
|
1233
|
+
var flt = el("filter", {id: "mkglow-" + i, x: "-1", y: "-1", width: "3", height: "3"}, el("defs", {}, svg));
|
|
1234
|
+
el("feGaussianBlur", {stdDeviation: 5}, flt);
|
|
1235
|
+
svg.insertBefore(flt.parentNode, svg.firstChild);
|
|
1236
|
+
}
|
|
1237
|
+
if (e2 < 1) el("line", {x1: f1(lerp(sx, tx, Math.max(0, e2 - .25))), y1: f1(lerp(sy, ty, Math.max(0, e2 - .25))), x2: f1(px), y2: f1(py), stroke: C, "stroke-width": 4, "stroke-linecap": "round", "stroke-opacity": (.25 * o2).toFixed(3)}, layers.laser);
|
|
1238
|
+
el("circle", {cx: f1(px), cy: f1(py), r: 13, fill: C, "fill-opacity": (.55 * o2).toFixed(3), filter: "url(#mkglow-" + i + ")"}, layers.laser);
|
|
1239
|
+
el("circle", {cx: f1(px), cy: f1(py), r: 6, fill: C, "fill-opacity": o2.toFixed(3)}, layers.laser);
|
|
1240
|
+
el("circle", {cx: f1(px - 1.5), cy: f1(py - 1.5), r: 2, fill: "#fff", "fill-opacity": (.8 * o2).toFixed(3)}, layers.laser);
|
|
1241
|
+
return;
|
|
1242
|
+
}
|
|
1243
|
+
if (st.p <= 0) return;
|
|
1244
|
+
var mk = SHAPE[m.effect] || SHAPE.underline;
|
|
1245
|
+
var wdt = m.effect === "underline" ? 5 : 3.5;
|
|
1246
|
+
el("path", {d: mk(r, R), pathLength: 1, fill: "none", stroke: C, "stroke-width": wdt, "stroke-linecap": "round", "stroke-linejoin": "round",
|
|
1247
|
+
"stroke-dasharray": "1 2", "stroke-dashoffset": (1 - st.p).toFixed(4), "stroke-opacity": ((m.effect === "underline" ? .85 : .9) * st.o).toFixed(3)}, layers.line);
|
|
1248
|
+
});
|
|
1249
|
+
}
|
|
1250
|
+
// 検査用:段階 (i, k) の印の予定と、目印が見つかるか
|
|
1251
|
+
DECK.marks = function(i, k){
|
|
1252
|
+
return markPlan(i, k).marks.map(function(m){ return {id: m.id, effect: m.effect, start: m.start, end: m.end, found: !!markTarget(slides[i], m.id)}; });
|
|
1253
|
+
};
|
|
1254
|
+
|
|
1255
|
+
// ---------------------------------------------------------------- タイムライン(自動再生と動画の書き出しが共有する)
|
|
1256
|
+
var TIMING_OK = {}; // 確かめた時間の上書き(警告を 1 度だけ出す)
|
|
1257
|
+
function timing(i, k){
|
|
1258
|
+
var key = DECK.stepKey(i, k), a = DECK.AUDIO[key], o = DECK.TIMING[key] || {};
|
|
1259
|
+
if (TIMING_OK[key] === undefined || TIMING_OK[key].src !== o){
|
|
1260
|
+
TIMING_OK[key] = {src: o, v: {dur: secOk(o.dur, key + " dur"), hold: secOk(o.hold, key + " hold"), lead: secOk(o.lead, key + " lead"),
|
|
1261
|
+
pad_after: secOk(o.pad_after, key + " pad_after")}};
|
|
1262
|
+
}
|
|
1263
|
+
o = TIMING_OK[key].v;
|
|
1264
|
+
return {key: key, audio: a || null, lead: o.lead !== undefined ? o.lead : (a ? T.lead : 0),
|
|
1265
|
+
pad: o.pad_after !== undefined ? o.pad_after : T.padAfter, hold: o.hold !== undefined ? o.hold : T.hold, dur: o.dur};
|
|
1266
|
+
}
|
|
1267
|
+
// 音声の符号化の遅れ(format spec §5.2 startOffset。秒、0〜1):その時刻から鳴らし、そこを音声の 0 秒(dur と cues の 0)とみなす
|
|
1268
|
+
function audioOffset(a){ var x = a && a.startOffset; return typeof x === "number" && isFinite(x) && x > 0 && x <= 1 ? x : 0; }
|
|
1269
|
+
DECK.timeline = function(){
|
|
1270
|
+
var out = [], start = 0;
|
|
1271
|
+
slides.forEach(function(s, i){
|
|
1272
|
+
for (var k = 0; k <= s._max; k++){
|
|
1273
|
+
var tm = timing(i, k), anim = animDur(i, k), me = marksEnd(i, k);
|
|
1274
|
+
// 音声のない段階では、注目の演出が出そろうまで(+ pad_after)止まる
|
|
1275
|
+
var dur = tm.dur !== undefined ? tm.dur : Math.max(anim, tm.audio ? tm.lead + tm.audio.dur + tm.pad : Math.max(tm.hold, me ? me + tm.pad : 0));
|
|
1276
|
+
out.push({i: i, k: k, key: tm.key, slideKey: s._key, title: titleOf(s), anim: anim, motion: Math.max(anim, me), lead: tm.lead,
|
|
1277
|
+
audio: tm.audio ? tm.audio.src : null, audioDur: tm.audio ? tm.audio.dur : 0, audioOffset: audioOffset(tm.audio), dur: dur, start: start,
|
|
1278
|
+
chapter: chapterOf(i)});
|
|
1279
|
+
start += dur;
|
|
1280
|
+
}
|
|
1281
|
+
});
|
|
1282
|
+
return out;
|
|
1283
|
+
};
|
|
1284
|
+
function titleOf(s){ var h = s.querySelector("h2, h1"); return h ? (h.getAttribute("data-title") || h.textContent.replace(/\s+/g, " ").trim()) : s._key; }
|
|
1285
|
+
function chapterOf(i){ for (var j = i; j >= 0; j--) if (slides[j].classList.contains("sec") || slides[j].hasAttribute("data-chapter")) return slides[j].getAttribute("data-chapter") || titleOf(slides[j]); return ""; }
|
|
1286
|
+
|
|
1287
|
+
// ---------------------------------------------------------------- 読み上げソフト向け(docs/reference.md「Accessibility」)
|
|
1288
|
+
// 動画では何も作らない(画面の画素は変えない。#deck-live は画面の外、aria-* と inert は描画に効かない)
|
|
1289
|
+
var A11Y = DECK.mode !== "video" && !DECK.view;
|
|
1290
|
+
var live = null, lastSaid = null;
|
|
1291
|
+
function L10N(ja, en){ return DECK.ja ? ja : en; }
|
|
1292
|
+
// 音声について示す文(format spec §7.3。キーの一覧・操作の帯の札の説明・発表者ビューで共通)。録音と音声のない段階は ""
|
|
1293
|
+
DECK.VOICE_NOTE = {tts: L10N("音声は AI で合成したものです", "The audio is AI-generated"),
|
|
1294
|
+
imported: L10N("音声の作り方は記録されていません", "How the audio was made is not recorded")};
|
|
1295
|
+
function voiceNote(key){ return DECK.VOICE_NOTE[DECK.audioKind(key)] || ""; }
|
|
1296
|
+
DECK.voiceNote = voiceNote;
|
|
1297
|
+
// 読み上げる文字:aria-hidden と TeX の原文(annotation)は除く。式は MathML があればその字、
|
|
1298
|
+
// なければ(build は KaTeX の html だけを出す)見た目の部分の字(f(θ) など)を使う
|
|
1299
|
+
function speakText(e){
|
|
1300
|
+
var out = "";
|
|
1301
|
+
(function walk(n){
|
|
1302
|
+
if (n.nodeType === 3){ out += n.textContent; return; }
|
|
1303
|
+
if (n.nodeType !== 1 || /^(annotation|script|style)$/i.test(n.tagName)) return;
|
|
1304
|
+
if (n !== e && n.getAttribute("aria-hidden") === "true" &&
|
|
1305
|
+
!(n.classList.contains("katex-html") && !(n.parentNode && n.parentNode.querySelector(":scope > .katex-mathml")))) return;
|
|
1306
|
+
for (var c = n.firstChild; c; c = c.nextSibling) walk(c);
|
|
1307
|
+
if (/^(P|LI|DIV|TR|TD|TH|BR)$/.test(n.tagName)) out += " ";
|
|
1308
|
+
})(e);
|
|
1309
|
+
return out.replace(/\s+/g, " ").trim();
|
|
1310
|
+
}
|
|
1311
|
+
function slideLabel(i){
|
|
1312
|
+
var h = slides[i].querySelector("h2, h1"), t = h ? (h.getAttribute("data-title") || speakText(h)) : "";
|
|
1313
|
+
return L10N("スライド " + (i + 1) + " / " + slides.length + (t ? ":" + t : ""),
|
|
1314
|
+
"Slide " + (i + 1) + " of " + slides.length + (t ? ": " + t : ""));
|
|
1315
|
+
}
|
|
1316
|
+
function announce(i, k){
|
|
1317
|
+
if (!live) return;
|
|
1318
|
+
var s = slides[i], msg;
|
|
1319
|
+
if (!lastSaid || lastSaid.i !== i) msg = slideLabel(i);
|
|
1320
|
+
else if (lastSaid.k === k) return;
|
|
1321
|
+
else {
|
|
1322
|
+
var txt = k > lastSaid.k ? s._items.filter(function(e){ return +e.getAttribute("data-step") === k; }).map(speakText).join(" ").trim() : "";
|
|
1323
|
+
msg = txt || L10N("ステップ " + k + " / " + s._max, "Step " + k + " of " + s._max);
|
|
1324
|
+
}
|
|
1325
|
+
lastSaid = {i: i, k: k};
|
|
1326
|
+
// 同じ文でも読み直されるように、いったん空にしてから入れる
|
|
1327
|
+
live.textContent = "";
|
|
1328
|
+
setTimeout(function(){ if (live) live.textContent = msg; }, 30);
|
|
1329
|
+
}
|
|
1330
|
+
function setupA11y(){
|
|
1331
|
+
if (!A11Y) return;
|
|
1332
|
+
slides.forEach(function(s, i){
|
|
1333
|
+
s.setAttribute("role", "group");
|
|
1334
|
+
s.setAttribute("aria-roledescription", L10N("スライド", "slide"));
|
|
1335
|
+
s.setAttribute("aria-label", slideLabel(i));
|
|
1336
|
+
});
|
|
1337
|
+
live = document.createElement("div");
|
|
1338
|
+
live.id = "deck-live"; live.className = "sr-only";
|
|
1339
|
+
live.setAttribute("aria-live", "polite"); live.setAttribute("aria-atomic", "true");
|
|
1340
|
+
document.body.appendChild(live);
|
|
1341
|
+
}
|
|
1342
|
+
DECK.announce = function(){ return live ? live.textContent : null; };
|
|
1343
|
+
|
|
1344
|
+
// ---------------------------------------------------------------- 字幕(s。動画では ?captions=1 のときだけ)
|
|
1345
|
+
// 今の段階の口述原稿(表示用の文字)を舞台の下に、文のまとまり(およそ 2 行)を 1 つずつ出す
|
|
1346
|
+
// - 動画では (i, k, t) だけで決まる:区切りの時刻は音声の長さを字数で按分する(音声がなければ全部を重ねて出す)
|
|
1347
|
+
// - 自動再生で音声があれば、音声の進みに合わせる
|
|
1348
|
+
// - 手で送っているとき(と音声のない自動再生)は、読む速さ(ja 7 字/秒、en 15 字/秒。--cap-rate か DECK.captionRate で変える)で
|
|
1349
|
+
// 段階が変わるたびに最初から送り、最後のまとまりはそのまま残す
|
|
1350
|
+
// - 大きさ:テーマの --cap-size / --cap-bottom / --cap-side / --cap-max-lines。Shift+s で S / M / L(22 / 27 / 34px)、?capsize=s|m|l、
|
|
1351
|
+
// 最後に選んだ大きさは localStorage に覚える(動画では使わない)。字が大きいほど 1 まとまりを短くする
|
|
1352
|
+
var CAP = {on: /^(1|true|on|yes)$/i.test(Q.get("captions") || ""), el: null, key: null, lv: null, timer: 0, size: null};
|
|
1353
|
+
if (DECK.mode === "video" || DECK.view) CAP.allowed = CAP.on; else CAP.allowed = true;
|
|
1354
|
+
var CAP_SIZES = {s: 22, m: 27, l: 34}, CAP_LIVE = DECK.mode !== "video" && !DECK.view;
|
|
1355
|
+
if (CAP_LIVE){
|
|
1356
|
+
var qs = (Q.get("capsize") || "").toLowerCase();
|
|
1357
|
+
if (CAP_SIZES[qs]) CAP.size = qs;
|
|
1358
|
+
else { try { var ls = localStorage.getItem("deck-capsize"); if (CAP_SIZES[ls]) CAP.size = ls; } catch (e) {} }
|
|
1359
|
+
}
|
|
1360
|
+
function capTurns(i, k){
|
|
1361
|
+
var s = slides[i], key = stepKey(s, k);
|
|
1362
|
+
return ((DECK.NARRATION[s._key] || {})[key]) || [];
|
|
1363
|
+
}
|
|
1364
|
+
// 1 まとまりの字数の上限(2 行)。既定の大きさ(27px、左右 96px)で ja 64 字・en 120 字。字が大きく幅が狭いほど短く
|
|
1365
|
+
function capMax(){
|
|
1366
|
+
var cs = CAP.el ? getComputedStyle(CAP.el) : null;
|
|
1367
|
+
var size = cs ? parseFloat(cs.fontSize) || 27 : 27;
|
|
1368
|
+
var w = cs ? 1280 - (parseFloat(cs.left) || 96) - (parseFloat(cs.right) || 96) : 1088;
|
|
1369
|
+
var lines = cs ? parseFloat(cs.getPropertyValue("--cap-max-lines")) || 3 : 3;
|
|
1370
|
+
var max = Math.max(12, Math.round((DECK.ja ? 64 : 120) * (27 / size) * (w / 1088)));
|
|
1371
|
+
return {max: max, lim: Math.round(max * Math.max(1, lines) / 2)};
|
|
1372
|
+
}
|
|
1373
|
+
// lim 字を超える文を、読点・語の切れ目(なければ字数)で max 字ほどに分ける
|
|
1374
|
+
function capSplit(p, max, lim){
|
|
1375
|
+
if (p.length <= lim) return [p];
|
|
1376
|
+
var toks = DECK.ja ? p.match(/[^、,,;;::]+[、,,;;::]*\s*/g) : p.match(/\S+\s*/g), out = [], buf = "";
|
|
1377
|
+
(toks || [p]).forEach(function(t){
|
|
1378
|
+
while (t.length > lim){ if (buf){ out.push(buf); buf = ""; } out.push(t.slice(0, max)); t = t.slice(max); }
|
|
1379
|
+
if (buf && (buf + t).length > max){ out.push(buf); buf = ""; }
|
|
1380
|
+
buf += t;
|
|
1381
|
+
});
|
|
1382
|
+
if (buf) out.push(buf);
|
|
1383
|
+
return out;
|
|
1384
|
+
}
|
|
1385
|
+
// 文に分けて(「.」は後ろが空白か末尾のときだけ文末。0.5・e.g.・a.b.c は文の中)、短い文は次とつなぐ(1 まとまりがおよそ 2 行に収まるように)。長すぎる文は分ける(--cap-max-lines 行まで)
|
|
1386
|
+
function capChunks(i, k){
|
|
1387
|
+
var s = slides[i], m = capMax(), ck = k + ":" + m.max + ":" + m.lim;
|
|
1388
|
+
s._cap = s._cap || {};
|
|
1389
|
+
if (s._cap[ck]) return s._cap[ck];
|
|
1390
|
+
var out = [];
|
|
1391
|
+
capTurns(i, k).forEach(function(t){
|
|
1392
|
+
var parts = String(t.text || "").match(/(?:[^。!?!?.]|\.(?!\s|$))+(?:[。!?!?]+|\.(?=\s|$)|$)\s*/g) || [];
|
|
1393
|
+
var buf = "";
|
|
1394
|
+
[].concat.apply([], parts.map(function(p){ return capSplit(p, m.max, m.lim); })).forEach(function(p){
|
|
1395
|
+
if (buf && (buf + p).length > m.max){ out.push({text: buf.trim(), role: t.role}); buf = ""; }
|
|
1396
|
+
buf += p;
|
|
1397
|
+
});
|
|
1398
|
+
if (buf.trim()) out.push({text: buf.trim(), role: t.role});
|
|
1399
|
+
});
|
|
1400
|
+
return (s._cap[ck] = out);
|
|
1401
|
+
}
|
|
1402
|
+
// 読む速さ(字/秒)
|
|
1403
|
+
function capRate(){
|
|
1404
|
+
var r = +DECK.captionRate;
|
|
1405
|
+
if (!(r > 0) && CAP.el) r = parseFloat(getComputedStyle(CAP.el).getPropertyValue("--cap-rate"));
|
|
1406
|
+
return r > 0 ? r : DECK.ja ? 7 : 15;
|
|
1407
|
+
}
|
|
1408
|
+
// 手で送っているときの区切り:段階が変わったら最初から、読む速さで次へ。最後のまとまりは残す
|
|
1409
|
+
function capRestart(i, k, j){
|
|
1410
|
+
clearTimeout(CAP.timer);
|
|
1411
|
+
CAP.lv = {i: i, k: k, j: j || 0};
|
|
1412
|
+
capSchedule();
|
|
1413
|
+
}
|
|
1414
|
+
function capSchedule(){
|
|
1415
|
+
clearTimeout(CAP.timer);
|
|
1416
|
+
var lv = CAP.lv;
|
|
1417
|
+
if (!CAP.on || !lv) return;
|
|
1418
|
+
var ch = capChunks(lv.i, lv.k);
|
|
1419
|
+
if (lv.j >= ch.length - 1) return;
|
|
1420
|
+
CAP.timer = setTimeout(function(){
|
|
1421
|
+
if (CAP.lv !== lv) return;
|
|
1422
|
+
lv.j++;
|
|
1423
|
+
if (POS.i === lv.i && POS.k === lv.k) drawCaption(POS.i, POS.k, Infinity);
|
|
1424
|
+
capSchedule();
|
|
1425
|
+
}, Math.max(1.2, ch[lv.j].text.length / capRate()) * 1000);
|
|
1426
|
+
}
|
|
1427
|
+
// 区切りの番号(-1 なら全部)
|
|
1428
|
+
function capIndex(i, k, t){
|
|
1429
|
+
var ch = capChunks(i, k);
|
|
1430
|
+
if (ch.length < 2) return -1;
|
|
1431
|
+
var tm = timing(i, k), a = tm.audio, tt;
|
|
1432
|
+
if (DECK.mode === "video"){ if (!a || !a.dur) return -1; if (t === Infinity) return ch.length - 1; tt = t - tm.lead; }
|
|
1433
|
+
else if (a && a.dur && auto && audioEl && auto.tl[auto.idx] && auto.tl[auto.idx].i === i && auto.tl[auto.idx].k === k) tt = auto.playing === tm.key ? Math.max(0, (audioEl.currentTime || 0) - audioOffset(a)) : 0;
|
|
1434
|
+
else return CAP.lv && CAP.lv.i === i && CAP.lv.k === k ? Math.min(CAP.lv.j, ch.length - 1) : 0;
|
|
1435
|
+
var total = ch.reduce(function(n, c){ return n + c.text.length; }, 0), acc = 0, x = Math.max(0, tt) / a.dur * total;
|
|
1436
|
+
for (var j = 0; j < ch.length; j++){ acc += ch[j].text.length; if (x < acc) return j; }
|
|
1437
|
+
return ch.length - 1;
|
|
1438
|
+
}
|
|
1439
|
+
function drawCaption(i, k, t){
|
|
1440
|
+
var e = CAP.el;
|
|
1441
|
+
if (!e) return;
|
|
1442
|
+
var ch = capChunks(i, k), j = capIndex(i, k, t);
|
|
1443
|
+
var shown = j < 0 ? ch : [ch[j]];
|
|
1444
|
+
var key = i + ":" + k + ":" + j + ":" + (CAP.size || "");
|
|
1445
|
+
if (CAP.key === key) return;
|
|
1446
|
+
CAP.key = key;
|
|
1447
|
+
e.textContent = "";
|
|
1448
|
+
shown.forEach(function(c){
|
|
1449
|
+
var p = document.createElement("span");
|
|
1450
|
+
p.className = "cap-line" + (c.role === "novice" ? " novice" : "");
|
|
1451
|
+
p.textContent = c.text;
|
|
1452
|
+
e.appendChild(p);
|
|
1453
|
+
});
|
|
1454
|
+
e.classList.toggle("empty", !shown.length);
|
|
1455
|
+
// --cap-max-lines 行を超えたら、後ろの行を見せる
|
|
1456
|
+
[].forEach.call(e.children, function(p){ if (p.scrollHeight > p.clientHeight + 1) p.scrollTop = p.scrollHeight; });
|
|
1457
|
+
}
|
|
1458
|
+
function capApplySize(){
|
|
1459
|
+
if (CAP.el && CAP.size) CAP.el.style.setProperty("--cap-size", CAP_SIZES[CAP.size] + "px");
|
|
1460
|
+
}
|
|
1461
|
+
function setCaptions(on){
|
|
1462
|
+
if (!CAP.allowed) return false;
|
|
1463
|
+
CAP.on = on === undefined ? !CAP.on : !!on;
|
|
1464
|
+
if (CAP.on && !CAP.el){
|
|
1465
|
+
var st = document.getElementById("stage");
|
|
1466
|
+
CAP.el = document.createElement("div"); CAP.el.id = "deck-cap"; CAP.el.className = "empty";
|
|
1467
|
+
// 字幕は口述原稿を見せるもの。読み上げは #deck-live が受け持つので、二重に読ませない
|
|
1468
|
+
CAP.el.setAttribute("aria-hidden", "true");
|
|
1469
|
+
(st || document.body).appendChild(CAP.el);
|
|
1470
|
+
capApplySize();
|
|
1471
|
+
}
|
|
1472
|
+
if (CAP.el) CAP.el.hidden = !CAP.on;
|
|
1473
|
+
document.documentElement.classList.toggle("captions", CAP.on);
|
|
1474
|
+
CAP.key = null;
|
|
1475
|
+
if (CAP.on && CAP_LIVE && slides.length) capRestart(POS.i, POS.k);
|
|
1476
|
+
if (!CAP.on) clearTimeout(CAP.timer);
|
|
1477
|
+
if (CAP.on && slides.length) drawCaption(POS.i, POS.k, Infinity);
|
|
1478
|
+
document.dispatchEvent(new CustomEvent("deck:captions", {detail: {on: CAP.on}}));
|
|
1479
|
+
return CAP.on;
|
|
1480
|
+
}
|
|
1481
|
+
// 字幕の大きさ:s / m / l。引数なしなら S → M → L → S と回す(字幕が出ていなければ出す)
|
|
1482
|
+
function capSize(z){
|
|
1483
|
+
if (!CAP_LIVE) return null;
|
|
1484
|
+
if (z === undefined){ var o = ["s", "m", "l"]; z = o[(o.indexOf(CAP.size || "m") + 1) % 3]; }
|
|
1485
|
+
z = String(z).toLowerCase();
|
|
1486
|
+
if (!CAP_SIZES[z]) return CAP.size;
|
|
1487
|
+
// 今読んでいる字の位置を保ったまま区切りを変える
|
|
1488
|
+
var off = 0, lv = CAP.lv;
|
|
1489
|
+
if (CAP.on && lv && lv.i === POS.i && lv.k === POS.k){ var ch0 = capChunks(POS.i, POS.k); for (var a = 0; a < Math.min(lv.j, ch0.length); a++) off += ch0[a].text.length; }
|
|
1490
|
+
CAP.size = z;
|
|
1491
|
+
try { localStorage.setItem("deck-capsize", z); } catch (e) {}
|
|
1492
|
+
if (!CAP.on) setCaptions(true);
|
|
1493
|
+
capApplySize();
|
|
1494
|
+
if (CAP.on && slides.length){
|
|
1495
|
+
var ch = capChunks(POS.i, POS.k), j = 0, acc = 0;
|
|
1496
|
+
while (j < ch.length - 1 && acc + ch[j].text.length <= off){ acc += ch[j].text.length; j++; }
|
|
1497
|
+
capRestart(POS.i, POS.k, j);
|
|
1498
|
+
CAP.key = null; drawCaption(POS.i, POS.k, Infinity);
|
|
1499
|
+
}
|
|
1500
|
+
DECK.toast(L10N("字幕の大きさ:", "Caption size: ") + z.toUpperCase());
|
|
1501
|
+
document.dispatchEvent(new CustomEvent("deck:captions", {detail: {on: CAP.on, size: z}}));
|
|
1502
|
+
return z;
|
|
1503
|
+
}
|
|
1504
|
+
DECK.captions = function(on){ if (on === undefined) return CAP.on; return setCaptions(on); };
|
|
1505
|
+
DECK.caption = function(){ return CAP.on && CAP.el ? CAP.el.textContent : null; };
|
|
1506
|
+
DECK.captionSize = function(z){ return z === undefined ? (CAP_LIVE ? CAP.size || "m" : null) : capSize(z); };
|
|
1507
|
+
|
|
1508
|
+
// ---------------------------------------------------------------- 短い知らせ(字幕の大きさ・ペンの色など)。動画と埋め込みでは出さない
|
|
1509
|
+
var toastEl = null, toastT = 0;
|
|
1510
|
+
DECK.toast = function(msg){
|
|
1511
|
+
if (DECK.mode === "video" || DECK.view) return;
|
|
1512
|
+
if (!toastEl){
|
|
1513
|
+
toastEl = document.createElement("div"); toastEl.id = "deck-toast";
|
|
1514
|
+
toastEl.setAttribute("role", "status"); toastEl.setAttribute("aria-live", "polite");
|
|
1515
|
+
document.body.appendChild(toastEl);
|
|
1516
|
+
}
|
|
1517
|
+
toastEl.textContent = msg;
|
|
1518
|
+
toastEl.classList.add("show");
|
|
1519
|
+
clearTimeout(toastT);
|
|
1520
|
+
toastT = setTimeout(function(){ toastEl.classList.remove("show"); }, 1400);
|
|
1521
|
+
};
|
|
1522
|
+
|
|
1523
|
+
// Component sounds (§8.4): only the live clock crosses events. Drawing/seek never schedules audio.
|
|
1524
|
+
var soundContext = null, soundHandles = [], soundForced = false, soundResuming = false;
|
|
1525
|
+
// Events are scheduled ahead on the Web Audio clock at their exact times (not "now" when a frame passes them):
|
|
1526
|
+
// the whole step when it starts (up to SOUND_AHEAD seconds ahead, rolling for longer steps), and in autoplay the next
|
|
1527
|
+
// step as well, so a stalled main thread (no frames for a while) never makes a note late.
|
|
1528
|
+
// Each handle remembers its run and step time so that a step change, extension or pause can cancel what has not sounded.
|
|
1529
|
+
var SOUND_AHEAD = 30, soundClock = null, soundNext = null, autoGo = null;
|
|
1530
|
+
var soundMute = DECK.SoundPreferences ? DECK.SoundPreferences.createMuteSetting() : null;
|
|
1531
|
+
DECK.hasComponentSounds = function(){
|
|
1532
|
+
return !!slides && slides.some(function(s){ return s._comps.some(function(c){ return !!(c.constructor && c.constructor.sounds) || typeof c.events === "function"; }); });
|
|
1533
|
+
};
|
|
1534
|
+
function soundEnabled(){
|
|
1535
|
+
return !ASIDE && !printAside && !Q.get("presenter") && !DECK.view && (ctxMode() === "talk" || ctxMode() === "learn");
|
|
1536
|
+
}
|
|
1537
|
+
function soundStop(){
|
|
1538
|
+
soundHandles.forEach(function(h){ h.handle.stop(); }); soundHandles = []; soundNext = null;
|
|
1539
|
+
}
|
|
1540
|
+
// Stop what was scheduled ahead: run r's events after step time t, and the next step's pre-scheduled start (autoplay).
|
|
1541
|
+
function soundCancelAhead(r, t){
|
|
1542
|
+
soundHandles = soundHandles.filter(function(h){
|
|
1543
|
+
if (!(h.next || (r && h.run === r && h.t > t + 1e-9))) return true;
|
|
1544
|
+
h.handle.stop(); return false;
|
|
1545
|
+
});
|
|
1546
|
+
soundNext = null;
|
|
1547
|
+
if (r && r.soundT > t) r.soundT = t;
|
|
1548
|
+
}
|
|
1549
|
+
// performance.now() (ms) → AudioContext time (s). One mapping, renewed only when the clocks drift apart
|
|
1550
|
+
// (a suspended context, a long run), so that times planned on one clock keep their spacing on the other.
|
|
1551
|
+
// Returns whether the mapping was renewed; the caller then schedules what is pending again, on the new grid.
|
|
1552
|
+
// The grid of scheduled notes is kept whenever it can be: an audio clock that falls behind (a stalled device
|
|
1553
|
+
// callback) still plays them in order and on time relative to each other, so the mapping stays while notes are
|
|
1554
|
+
// pending and the lag is under a second. It is renewed when the audio clock is ahead (notes would be in the past),
|
|
1555
|
+
// when nothing is pending, when the lag is long (a suspended context), and once the clock first moves after
|
|
1556
|
+
// resume() (a mapping made while it still read 0).
|
|
1557
|
+
function soundClockCheck(){
|
|
1558
|
+
var now = performance.now(), ct = soundContext.currentTime;
|
|
1559
|
+
if (soundClock){
|
|
1560
|
+
var lag = soundClock.ctx + (now - soundClock.perf) / 1000 - ct;
|
|
1561
|
+
// The first reading after the clock moves settles a mapping made while it read 0: either it agrees, or it is renewed.
|
|
1562
|
+
var first = soundClock.zero && ct > 0;
|
|
1563
|
+
if (first) soundClock.zero = false;
|
|
1564
|
+
if (Math.abs(lag) <= .05) return false;
|
|
1565
|
+
var pending = soundHandles.some(function(h){ return h.start > ct; });
|
|
1566
|
+
if (lag > 0 && lag < 1 && pending && !first) return false;
|
|
1567
|
+
}
|
|
1568
|
+
soundClock = {perf: now, ctx: ct, zero: ct === 0};
|
|
1569
|
+
return true;
|
|
1570
|
+
}
|
|
1571
|
+
function soundTime(ms){ return soundClock.ctx + (ms - soundClock.perf) / 1000; }
|
|
1572
|
+
// The step's events in step time (lead, audio cues and the viewer's extension applied).
|
|
1573
|
+
function stepSoundEvents(i, k, base, extension){
|
|
1574
|
+
var ac = compCues(i, k), lead = timing(i, k).lead || 0, events = [];
|
|
1575
|
+
if (ac) ac = ac.map(function(x){ return x + lead; });
|
|
1576
|
+
slides[i]._comps.forEach(function(c){
|
|
1577
|
+
var kk = k - c.from + 1;
|
|
1578
|
+
if (c._bad || kk < 1 || kk > c.steps || typeof c.events !== "function") return;
|
|
1579
|
+
try {
|
|
1580
|
+
var es = DECK.Sounds.normalize(c.events(kk)).map(function(e){ return Object.assign({}, e, {t: compRealTime(c, kk, e.t, ac)}); });
|
|
1581
|
+
// Recompute from authored times, never compound the last extension. Sound durations do not stretch.
|
|
1582
|
+
if (base > 0) es = DECK.Sounds.retime(es, {duration: base, extension: extension});
|
|
1583
|
+
events = events.concat(es);
|
|
1584
|
+
} catch (e) { reporter(c)("error", "[" + c.tagName.toLowerCase() + "] events: " + errText(e)); }
|
|
1585
|
+
});
|
|
1586
|
+
return events;
|
|
1587
|
+
}
|
|
1588
|
+
// Schedule events {t: step time} for a step whose t = 0 is AudioContext time `at`. Same-time events (a chord) share one call.
|
|
1589
|
+
// An event whose time has already passed (a late frame, a resume) sounds now, whole, without replaying an earlier tail.
|
|
1590
|
+
function soundPlay(events, at, run, next){
|
|
1591
|
+
var now = soundContext.currentTime, groups = [];
|
|
1592
|
+
DECK.Sounds.normalize(events).forEach(function(e){
|
|
1593
|
+
var when = Math.max(now, at + e.t), g = groups.find(function(x){ return x.when === when; });
|
|
1594
|
+
if (!g) groups.push(g = {when: when, t: e.t, events: []});
|
|
1595
|
+
g.events.push(Object.assign({}, e, {t: 0}));
|
|
1596
|
+
});
|
|
1597
|
+
groups.forEach(function(g){
|
|
1598
|
+
var end = Math.max.apply(null, g.events.map(function(e){ return e.sound === "note" ? e.dur : e.sound === "bell" ? (e.count - 1) * .6 + .95 : .82; }));
|
|
1599
|
+
soundHandles.push({start: g.when, end: g.when + end, t: g.t, run: run, next: !!next, handle: DECK.Sounds.schedule(soundContext, g.events, g.when)});
|
|
1600
|
+
});
|
|
1601
|
+
}
|
|
1602
|
+
DECK.muteSounds = function(value){
|
|
1603
|
+
if (soundMute && value !== undefined){ soundMute.set(value); if (soundMute.get()) soundStop(); document.dispatchEvent(new CustomEvent("deck:sounds")); }
|
|
1604
|
+
return !!(soundMute && soundMute.get());
|
|
1605
|
+
};
|
|
1606
|
+
// Recording is a temporary override: never write the viewer's stored preference.
|
|
1607
|
+
DECK.silenceSounds = function(value){
|
|
1608
|
+
soundForced = !!value;
|
|
1609
|
+
if (soundForced) soundStop();
|
|
1610
|
+
};
|
|
1611
|
+
function soundGesture(){
|
|
1612
|
+
if (!DECK.Sounds || !soundEnabled() || !DECK.hasComponentSounds()) return;
|
|
1613
|
+
try {
|
|
1614
|
+
var AC = window.AudioContext || window.webkitAudioContext;
|
|
1615
|
+
if (!soundContext && AC) soundContext = new AC();
|
|
1616
|
+
if (soundContext && soundContext.state === "suspended") {
|
|
1617
|
+
soundResuming = true;
|
|
1618
|
+
Promise.resolve(soundContext.resume()).then(function(){
|
|
1619
|
+
soundResuming = false;
|
|
1620
|
+
// resume() is asynchronous: preserve the first step's zero-time crossing until it is ready.
|
|
1621
|
+
if (liveRun) soundTick(liveRun, liveRun.t);
|
|
1622
|
+
}, function(){ soundResuming = false; });
|
|
1623
|
+
}
|
|
1624
|
+
} catch (e) { soundResuming = false; /* Audio is optional, including unavailable/blocked Web Audio. */ }
|
|
1625
|
+
}
|
|
1626
|
+
["pointerdown", "keydown", "click"].forEach(function(type){
|
|
1627
|
+
window.addEventListener(type, function(e){ if (e.isTrusted) soundGesture(); }, true);
|
|
1628
|
+
});
|
|
1629
|
+
window.addEventListener("pagehide", function(){ soundStop(); stopLoop(); });
|
|
1630
|
+
function soundTick(r, t){
|
|
1631
|
+
if (r.sounds && soundEnabled() && !soundForced && !DECK.muteSounds() && soundContext && soundContext.state === "suspended" && soundResuming) return;
|
|
1632
|
+
var prev = r.soundT;
|
|
1633
|
+
if (!r.sounds || !soundEnabled() || soundForced || DECK.muteSounds() || !soundContext || soundContext.state !== "running"){ r.soundT = t; return; }
|
|
1634
|
+
var ext = DECK.stepExtension(r.i, r.k), end = Math.max(0, r.base + ext);
|
|
1635
|
+
// Crossings are (prev, horizon]: the clock's time plus the look-ahead, never past the step's end.
|
|
1636
|
+
// A renewed mapping would put later events off the grid of those already scheduled: schedule them all again.
|
|
1637
|
+
if (soundClockCheck()){ soundCancelAhead(r, t); prev = r.soundT; }
|
|
1638
|
+
var h = Math.max(t, Math.min(end, t + SOUND_AHEAD)), at = soundTime(r.start), now = soundContext.currentTime;
|
|
1639
|
+
r.soundT = Math.max(prev, h);
|
|
1640
|
+
soundHandles = soundHandles.filter(function(x){ return x.end > now; });
|
|
1641
|
+
soundPlay(DECK.Sounds.crossed(stepSoundEvents(r.i, r.k, r.base, ext), prev, r.soundT), at, r, false);
|
|
1642
|
+
// Autoplay: the next step starts exactly at this step's planned end, so its events are scheduled from here too.
|
|
1643
|
+
var p = r.plan;
|
|
1644
|
+
if (!p || !p.next) return;
|
|
1645
|
+
var ends = Math.max(0, p.dur + ext), n = p.next, hn = Math.min(t + SOUND_AHEAD - ends, n.dur);
|
|
1646
|
+
if (!(hn >= 0) || DECK.stepExtension(n.i, n.k)) return;
|
|
1647
|
+
var prevN = soundNext && soundNext.i === n.i && soundNext.k === n.k ? soundNext.t : -1;
|
|
1648
|
+
if (hn <= prevN) return;
|
|
1649
|
+
soundNext = {i: n.i, k: n.k, t: hn};
|
|
1650
|
+
soundPlay(DECK.Sounds.crossed(stepSoundEvents(n.i, n.k, n.dur, 0), prevN, hn), at + ends, null, true);
|
|
1651
|
+
}
|
|
1652
|
+
|
|
1653
|
+
// ---------------------------------------------------------------- 実時間での再生
|
|
1654
|
+
function stopLoop(){ if (raf) cancelAnimationFrame(raf); raf = 0; liveRun = null; }
|
|
1655
|
+
function tickLive(){
|
|
1656
|
+
var r = liveRun;
|
|
1657
|
+
if (!r) return;
|
|
1658
|
+
raf = 0;
|
|
1659
|
+
var t = (performance.now() - r.start) / 1000, cont = !r.first;
|
|
1660
|
+
// The first render performs slide-entry reset before we read the new step's extension.
|
|
1661
|
+
if (r.first){ r.first = false; seek(r.i, r.k, 0, r.from, false); cont = true; }
|
|
1662
|
+
var end = Math.max(0, r.base + DECK.stepExtension(r.i, r.k));
|
|
1663
|
+
r.t = Math.min(t, end);
|
|
1664
|
+
if (DECK.Sounds) soundTick(r, r.t);
|
|
1665
|
+
if (t >= end){ seek(r.i, r.k, Infinity, undefined, true); return; }
|
|
1666
|
+
seek(r.i, r.k, t, r.from, cont);
|
|
1667
|
+
raf = requestAnimationFrame(tickLive);
|
|
1668
|
+
}
|
|
1669
|
+
function play(i, k, animate, from, sounds){
|
|
1670
|
+
stopLoop();
|
|
1671
|
+
announce(i, k);
|
|
1672
|
+
if (CAP.on && CAP_LIVE) capRestart(i, k);
|
|
1673
|
+
POS.setT(!animate || REDUCE ? null : 0);
|
|
1674
|
+
if (!animate || (REDUCE && !(animDur(i, k) > 0) && !sounds)){ seek(i, k, Infinity); POS.publish(); return; }
|
|
1675
|
+
if (i !== POS.i){ slides[POS.i]._tok++; slides[POS.i]._legacyAt = undefined; }
|
|
1676
|
+
legacy(slides[i], k, REDUCE); // 動きを減らす設定で時計の部品のために回すときも、ほかは最後の状態
|
|
1677
|
+
var d = REDUCE ? animDur(i, k) : Math.max(animDur(i, k), DECK.mode === "lecture" ? 0 : marksEnd(i, k), k === 0 && from >= 0 && morphSrc(i) === from ? T.morph : 0);
|
|
1678
|
+
// Sounds follow the whole step, including narration/hold after its visible motion.
|
|
1679
|
+
if (sounds && DECK.hasComponentSounds()){
|
|
1680
|
+
var segment = DECK.timeline().find(function(g){ return g.i === i && g.k === k; });
|
|
1681
|
+
if (segment) d = Math.max(d, segment.dur);
|
|
1682
|
+
}
|
|
1683
|
+
// Autoplay starts the step at its planned (absolute) time, so that timing errors never add up from step to step.
|
|
1684
|
+
var ag = autoGo && autoGo.i === i && autoGo.k === k ? autoGo : null;
|
|
1685
|
+
liveRun = {i: i, k: k, base: d, start: ag ? ag.start : performance.now(), t: 0, first: true, from: from, sounds: !!sounds, soundT: -1, plan: ag && sounds ? ag : null};
|
|
1686
|
+
if (ag && sounds && soundNext && soundNext.i === i && soundNext.k === k){
|
|
1687
|
+
// The previous step already scheduled this one's first events.
|
|
1688
|
+
liveRun.soundT = soundNext.t;
|
|
1689
|
+
soundHandles.forEach(function(h){ if (h.next){ h.next = false; h.run = liveRun; } });
|
|
1690
|
+
}
|
|
1691
|
+
soundNext = null;
|
|
1692
|
+
tickLive();
|
|
1693
|
+
POS.publish();
|
|
1694
|
+
}
|
|
1695
|
+
function go(i, k, animate, stepMove){
|
|
1696
|
+
var from = POS.i;
|
|
1697
|
+
i = Math.max(0, Math.min(slides.length - 1, i));
|
|
1698
|
+
if (!stepMove) jumpTo = i; // 1 段階ずつの送り・戻し(自動再生を含む)でない動きは跳ぶ(ctx.entered)
|
|
1699
|
+
var sounds = !!(stepMove && animate && DECK.Sounds && DECK.hasComponentSounds());
|
|
1700
|
+
// Autoplay's end timer can beat the final animation frame: include its endpoint crossing.
|
|
1701
|
+
if (sounds && DECK.Sounds && liveRun) soundTick(liveRun, Math.min((performance.now() - liveRun.start) / 1000, Math.max(0, liveRun.base + DECK.stepExtension(liveRun.i, liveRun.k))));
|
|
1702
|
+
if (!sounds) soundStop();
|
|
1703
|
+
// A forward step keeps the tails that already sound, but not what was scheduled ahead, unless autoplay reaches its planned next step.
|
|
1704
|
+
else if (!(autoGo && autoGo.i === i && autoGo.k === k && soundNext && soundNext.i === i && soundNext.k === k))
|
|
1705
|
+
soundCancelAhead(liveRun, liveRun ? Math.min((performance.now() - liveRun.start) / 1000, liveRun.soundT) : 0);
|
|
1706
|
+
LINKS.seen[i] = true;
|
|
1707
|
+
play(i, Math.max(0, Math.min(slides[i]._max, k)), animate, animate && i !== from ? from : -1, sounds);
|
|
1708
|
+
// 履歴の項目の state(リンクの深さ)は残し、その項目の中の今の位置(at:ブラウザの「進む」で戻る先)を書く(format spec §9.1A の「戻る」)
|
|
1709
|
+
try {
|
|
1710
|
+
if (!DECK.view){
|
|
1711
|
+
var hs = history.state;
|
|
1712
|
+
if (hs && typeof hs.egatariLink === "number") hs = Object.assign({}, hs, {at: {i: i, k: Math.max(0, Math.min(slides[i]._max, k))}});
|
|
1713
|
+
// # はスライドの id(と段階の鍵):#<id>・#<id>:<段階の鍵>(format spec §9.1A)。開くときは番号(#N)も今までどおり読む
|
|
1714
|
+
history.replaceState(hs, "", location.pathname + location.search + "#" + fragmentOf(i, Math.max(0, Math.min(slides[i]._max, k))));
|
|
1715
|
+
}
|
|
1716
|
+
} catch (e) {}
|
|
1717
|
+
}
|
|
1718
|
+
function next(){ var i = POS.i, k = POS.k; if (k < slides[i]._max) go(i, k + 1, true, true); else if (i < slides.length - 1) go(i + 1, 0, true, true); }
|
|
1719
|
+
function prev(){ var i = POS.i, k = POS.k; if (k > 0) go(i, k - 1, false, true); else if (i > 0) go(i - 1, slides[i - 1]._max, false, true); }
|
|
1720
|
+
// 起動の前(部品の mount の前)の go は開く位置にする(最後の 1 つ。その前に頼まれた seek は捨てる)。送り・戻しは何もしない
|
|
1721
|
+
DECK.go = function(i, k, animate){ if (!started){ pendingGo = [i, k]; pendingSeek = null; return; } go(i, k, animate); };
|
|
1722
|
+
DECK.next = function(){ if (started) next(); }; DECK.prev = function(){ if (started) prev(); };
|
|
1723
|
+
DECK.state = function(){ var i = POS.i, k = POS.k; return {slide: i + 1, step: k, max: slides[i]._max, key: DECK.stepKey(i, k), mode: DECK.mode}; };
|
|
1724
|
+
|
|
1725
|
+
// ---------------------------------------------------------------- 自動再生(音声があれば流し、タイムラインで進む)
|
|
1726
|
+
var audioEl = null;
|
|
1727
|
+
function stopAuto(){
|
|
1728
|
+
if (!auto) return;
|
|
1729
|
+
clearTimeout(auto.timer); clearTimeout(auto.atimer);
|
|
1730
|
+
if (audioEl){ audioEl.pause(); }
|
|
1731
|
+
// The current step plays on; the next step's events scheduled ahead do not.
|
|
1732
|
+
if (liveRun) liveRun.plan = null;
|
|
1733
|
+
soundHandles = soundHandles.filter(function(h){ if (h.next) h.handle.stop(); return !h.next; }); soundNext = null;
|
|
1734
|
+
auto = null; POS.setPlaying(false); document.documentElement.classList.remove("autoplay");
|
|
1735
|
+
POS.publish();
|
|
1736
|
+
}
|
|
1737
|
+
function startAuto(){
|
|
1738
|
+
stopAuto();
|
|
1739
|
+
var tl = DECK.timeline(), idx = tl.findIndex(function(x){ return x.i === POS.i && x.k === POS.k; });
|
|
1740
|
+
if (idx < 0) idx = 0;
|
|
1741
|
+
auto = {tl: tl, idx: idx}; POS.setPlaying(true);
|
|
1742
|
+
document.documentElement.classList.add("autoplay");
|
|
1743
|
+
runSeg();
|
|
1744
|
+
}
|
|
1745
|
+
function runSeg(){
|
|
1746
|
+
if (!auto) return;
|
|
1747
|
+
clearTimeout(auto.atimer);
|
|
1748
|
+
if (audioEl) audioEl.pause();
|
|
1749
|
+
var g = auto.tl[auto.idx];
|
|
1750
|
+
if (!g){ stopAuto(); return; }
|
|
1751
|
+
// Step ends are on one absolute clock: autoplay's start plus the planned lengths (and extensions) of the steps before.
|
|
1752
|
+
// A timer that fires late shortens the next step instead of delaying everything after it. After a long stall
|
|
1753
|
+
// (a background tab throttles timers), start again from now rather than rushing through steps, unless this
|
|
1754
|
+
// step's sounds are already scheduled on the plan (then the screen catches up with the sound).
|
|
1755
|
+
var now = performance.now();
|
|
1756
|
+
if (auto.segStart === undefined || (now - auto.segStart > 250 && !(soundNext && soundNext.i === g.i && soundNext.k === g.k))) auto.segStart = now;
|
|
1757
|
+
if (!(g.i === POS.i && g.k === POS.k && auto.started)){
|
|
1758
|
+
var c0 = POS.cause; POS.setCause(c0 || "play");
|
|
1759
|
+
autoGo = {i: g.i, k: g.k, start: auto.segStart, dur: g.dur, next: auto.tl[auto.idx + 1] || null};
|
|
1760
|
+
try { go(g.i, g.k, true, true); } finally { autoGo = null; }
|
|
1761
|
+
POS.setCause(c0);
|
|
1762
|
+
}
|
|
1763
|
+
auto.started = true;
|
|
1764
|
+
if (g.audio){
|
|
1765
|
+
if (!audioEl){
|
|
1766
|
+
audioEl = new Audio();
|
|
1767
|
+
audioEl.addEventListener("timeupdate", function(){ if (CAP.on && auto) drawCaption(POS.i, POS.k, Infinity); });
|
|
1768
|
+
}
|
|
1769
|
+
auto.atimer = setTimeout(function(){ if (auto) auto.playing = g.key; audioEl.src = g.audio; audioEl.currentTime = g.audioOffset || 0; audioEl.play().catch(function(){}); }, Math.max(0, auto.segStart + g.lead * 1000 - performance.now()));
|
|
1770
|
+
}
|
|
1771
|
+
scheduleAutoEnd();
|
|
1772
|
+
}
|
|
1773
|
+
function scheduleAutoEnd(){
|
|
1774
|
+
if (!auto || auto.segStart === undefined) return;
|
|
1775
|
+
clearTimeout(auto.timer);
|
|
1776
|
+
var g = auto.tl[auto.idx];
|
|
1777
|
+
if (!g) return;
|
|
1778
|
+
var remaining = Math.max(0, g.dur + DECK.stepExtension(g.i, g.k) - (performance.now() - auto.segStart) / 1000);
|
|
1779
|
+
auto.timer = setTimeout(function(){
|
|
1780
|
+
if (!auto) return;
|
|
1781
|
+
// Long extensions may exceed a browser timer's maximum delay.
|
|
1782
|
+
if (remaining > 2147483){ scheduleAutoEnd(); return; }
|
|
1783
|
+
auto.segStart += Math.max(0, g.dur + DECK.stepExtension(g.i, g.k)) * 1000;
|
|
1784
|
+
auto.idx++; runSeg();
|
|
1785
|
+
}, Math.min(remaining * 1000, 2147483000));
|
|
1786
|
+
}
|
|
1787
|
+
DECK.autoplay = function(on){ if (!started) return; if (on === false || (on === undefined && auto)) stopAuto(); else startAuto(); };
|
|
1788
|
+
|
|
1789
|
+
// ---------------------------------------------------------------- 発表者ビューとの連携(postMessage。file:// でも動く)
|
|
1790
|
+
var presenter = null, presenterOpened = null; // presenter:位置を送る相手(hello の送り元)。presenterOpened:この窓が開いた発表者ビュー
|
|
1791
|
+
// 編集のプレビューか:開発サーバー・編集アプリが入れる server/hints.js が DECK_DEV を立て、親の窓(編集の画面)が発表者ビューとキーを中継する
|
|
1792
|
+
function editorParent(){ return !!window.DECK_DEV && window.parent !== window && !DECK.view; }
|
|
1793
|
+
// deck-cmd を受けてよい送り手:この窓が開いた発表者ビューと、編集のプレビューの親の窓だけ(ほかの窓・枠からは動かされない)
|
|
1794
|
+
function trustedCmd(src){ return !!src && ((presenterOpened && src === presenterOpened) || (editorParent() && src === window.parent)); }
|
|
1795
|
+
// PositionStore の購読者:位置を知らせるたびに(POS.publish)発表者ビュー・埋め込みの親・deck:pos へ送る
|
|
1796
|
+
function broadcast(p){
|
|
1797
|
+
var cur = p.i, step = p.k;
|
|
1798
|
+
var ni = step < slides[cur]._max ? cur : cur + 1, nk = step < slides[cur]._max ? step + 1 : 0;
|
|
1799
|
+
var msg = {type: "deck-pos", i: cur, k: step, max: slides[cur]._max, n: slides.length, key: DECK.stepKey(cur, step),
|
|
1800
|
+
nextKey: ni < slides.length ? DECK.stepKey(ni, nk) : null, auto: p.playing, cause: p.cause || "control",
|
|
1801
|
+
back: p.top ? titleOf(slides[p.top.i]) : null, black: isBlack(), viewer: inputState()};
|
|
1802
|
+
if (presenter && !presenter.closed) presenter.postMessage(msg, "*");
|
|
1803
|
+
// 編集のプレビュー(server/hints.js が DECK_DEV を立てた枠)では、中継する親の窓にも送る。ほかの親(埋め込み・知らない枠)には送らない(埋め込みは下の position だけ)
|
|
1804
|
+
if (editorParent() && presenter !== window.parent) window.parent.postMessage(msg, "*");
|
|
1805
|
+
// 埋め込み(Player P8):段階が変わるたびに位置を知らせる
|
|
1806
|
+
if (EMBED) post({egatari: "position", slideKey: slides[cur]._key, stepKey: stepKey(slides[cur], step), t: p.t, cause: p.cause || "control"});
|
|
1807
|
+
document.dispatchEvent(new CustomEvent("deck:pos", {detail: msg}));
|
|
1808
|
+
}
|
|
1809
|
+
POS.subscribe(broadcast);
|
|
1810
|
+
// 発表者ビューに送る(tools.js がペンの色を知らせるのに使う)
|
|
1811
|
+
DECK.toPresenter = function(msg){ if (presenter && !presenter.closed) presenter.postMessage(msg, "*"); };
|
|
1812
|
+
function openPresenter(){
|
|
1813
|
+
// もう開いていれば閉じる(p で入り切り。発表者ビューから抜けられないとき、本体の窓に戻って p)。
|
|
1814
|
+
// 編集アプリのプレビューでは presenter は中継する親の窓(hello の送り元)なので閉じない。下の window.open(frame-shim.js)でアプリに頼み、アプリが入り切りする
|
|
1815
|
+
if (presenter && !presenter.closed && presenter !== window.parent){ try { presenter.close(); } catch (e) {} presenter = null; return; }
|
|
1816
|
+
var u = new URL(location.href); u.searchParams.set("presenter", "1"); u.hash = "";
|
|
1817
|
+
presenter = presenterOpened = window.open(u.href, "deck-presenter", "width=1400,height=820");
|
|
1818
|
+
setTimeout(POS.publish, 800);
|
|
1819
|
+
}
|
|
1820
|
+
window.addEventListener("message", function(e){
|
|
1821
|
+
var m = e.data || {};
|
|
1822
|
+
// 発表者ビュー自身(スライドを持たない)や起動前の窓に届いた命令は無視する
|
|
1823
|
+
if (!DECK.ready) return;
|
|
1824
|
+
if (m.type === "deck-cmd"){
|
|
1825
|
+
if (!trustedCmd(e.source)) return; // 知らない窓・枠からの命令は受けない
|
|
1826
|
+
// A presenter step key is a gesture too; resume may still be blocked by the browser.
|
|
1827
|
+
if (["next", "prev", "auto", "key"].indexOf(m.cmd) >= 0) soundGesture();
|
|
1828
|
+
// 発表者ビューで手で送ったら、自動再生は止める(本体のキー操作と同じ)
|
|
1829
|
+
// 暗転の間の「次」「前」(発表者ビューの矢印・PageUp/PageDown・Space)は、本体のキーと同じく暗転を終えるだけで送らない
|
|
1830
|
+
if ((m.cmd === "next" || m.cmd === "prev") && isBlack()) setBlack(false);
|
|
1831
|
+
else if (m.cmd === "next"){ stopAuto(); next(); } else if (m.cmd === "prev"){ stopAuto(); prev(); }
|
|
1832
|
+
else if (m.cmd === "goto"){ POS.setCause("seek"); go(m.i, m.k, !!m.animate); POS.setCause(null); }
|
|
1833
|
+
else if (m.cmd === "link" && typeof m.frag === "string") DECK.follow(m.frag); // 発表者ビューの中の画面で押したリンク
|
|
1834
|
+
else if (m.cmd === "back") back();
|
|
1835
|
+
else if (m.cmd === "blackout"){ if (!EDIT) setBlack(!isBlack()); else e.source.postMessage({type: "deck-black", on: false}, "*"); } // 発表者ビューの b(編集中は入らない)
|
|
1836
|
+
else if (m.cmd === "auto"){ if (!EDIT) DECK.autoplay(); else POS.publish(); } // 編集中は始めない(発表者ビューのボタンは今の状態に戻す)
|
|
1837
|
+
// 編集の画面から送られたキー:編集のプレビュー(server/hints.js が DECK_DEV を立てる)で、親の窓から届いたものだけ。ほかの送り手(自分・子の枠・別の窓)は無視する
|
|
1838
|
+
else if (m.cmd === "key" && typeof m.key === "string"){ if (window.DECK_DEV && window.parent !== window && e.source === window.parent) forwardedKey(m.key); }
|
|
1839
|
+
else if (m.cmd === "input") applyInput(m.input);
|
|
1840
|
+
else if (m.cmd === "hello"){ presenter = e.source; POS.publish(); document.dispatchEvent(new CustomEvent("deck:presenter", {detail: {source: e.source}})); }
|
|
1841
|
+
} else if (m.type === "deck-goto" && DECK.view && slides.length && e.source === window.parent){ // 発表者ビューの中の画面:発表者ビュー(親)からだけ
|
|
1842
|
+
var newEntry = m.viewer && m.viewer.entry !== mirrorEntry;
|
|
1843
|
+
if (newEntry || m.i !== POS.i || m.k !== POS.k) go(m.i, m.k, !!m.animate, !newEntry && m.i === POS.i);
|
|
1844
|
+
if (m.viewer) mirrorInput(m.viewer);
|
|
1845
|
+
// 同じスライドの中の送りは跳ばない(ctx.entered。本体の位置についていくだけ)
|
|
1846
|
+
} else if (m.type === "deck-input-state" && DECK.view === "follow" && e.source === window.parent){
|
|
1847
|
+
mirrorInput(m.viewer);
|
|
1848
|
+
} else if (EMBED && e.source === window.parent && m.egatari === "links" && typeof m.follow === "boolean"){
|
|
1849
|
+
// 親がリンクで動くのを止める・許す(format spec §9.1A。止めている間は linkRefused を送る)
|
|
1850
|
+
LINKS.follow = m.follow;
|
|
1851
|
+
post({egatari: "links", id: m.id, follow: LINKS.follow});
|
|
1852
|
+
}
|
|
1853
|
+
});
|
|
1854
|
+
|
|
1855
|
+
// ---------------------------------------------------------------- スライドへのリンク(format spec §9.1A。docs/contract.md §9)
|
|
1856
|
+
// <a href="#<スライドの id>"> はそのスライドの段階 0、<a href="#<id>:<段階の鍵>"> はその段階(段階の鍵は 0・1・… か concl)。
|
|
1857
|
+
// 段階の鍵は最後の : で切る(旧来の鍵は : を含みうる)。数字だけの #N(1 から)はこれまでどおりスライドの番号。
|
|
1858
|
+
// 同じ書き方の URL の # は開いたときの位置。リンクを押すと:自動再生していなければその段階の最終状態へ、自動再生中ならそこから
|
|
1859
|
+
// 再生を続ける。直前のリンクの前の位置へ「戻る」(Backspace・Alt+←・左上の戻るボタン・ブラウザの戻る)。
|
|
1860
|
+
// 上の窓(top-level)は動かさない:リンクは文書の中で動き、ほかのファイルへのリンク(other.ega.html#…)だけがふつうに開く。
|
|
1861
|
+
// 埋め込み(?embed=1、親の窓あり)では位置の知らせ {egatari:"position", …, cause:"link"} を送り、親が ?links=0 か
|
|
1862
|
+
// {egatari:"links", follow:false} で止めていれば動かずに {egatari:"linkRefused", slideKey, stepKey} を送る
|
|
1863
|
+
var TOP = window.parent === window && !DECK.view;
|
|
1864
|
+
var EMBED = !TOP && !DECK.view && Q.get("embed") === "1";
|
|
1865
|
+
var LINKS = {follow: !(EMBED && /^(0|false|no|off)$/i.test(Q.get("links") || "")), seen: Object.create(null), btn: null}; // 戻るの跡は POS(PositionStore)
|
|
1866
|
+
function slideIndexOf(key){
|
|
1867
|
+
for (var j = 0; j < slides.length; j++) if (slides[j].id === key) return j;
|
|
1868
|
+
for (j = 0; j < slides.length; j++) if (slides[j]._key === key) return j;
|
|
1869
|
+
return -1;
|
|
1870
|
+
}
|
|
1871
|
+
// 位置の書き方(# の後ろ)を {i, k} にする。読めなければ {error}(品質チェックも使う)
|
|
1872
|
+
function resolveFragment(f){
|
|
1873
|
+
f = String(f == null ? "" : f).replace(/^#/, "");
|
|
1874
|
+
if (!f) return {error: "empty"};
|
|
1875
|
+
try { f = decodeURIComponent(f); } catch (e) {}
|
|
1876
|
+
if (/^[0-9]+$/.test(f)){
|
|
1877
|
+
var n = +f;
|
|
1878
|
+
return n >= 1 && n <= slides.length ? {i: n - 1, k: 0, legacy: true} : {error: "slide number out of range", slide: f};
|
|
1879
|
+
}
|
|
1880
|
+
var i = slideIndexOf(f), sk = null;
|
|
1881
|
+
if (i < 0){ var p = f.lastIndexOf(":"); if (p > 0){ i = slideIndexOf(f.slice(0, p)); if (i >= 0) sk = f.slice(p + 1); } }
|
|
1882
|
+
if (i < 0) return {error: "unknown slide", slide: f.lastIndexOf(":") > 0 ? f.slice(0, f.lastIndexOf(":")) : f};
|
|
1883
|
+
var s = slides[i], out = {i: i, k: 0, key: s._key, id: s.id || null};
|
|
1884
|
+
if (sk === null) return out;
|
|
1885
|
+
if (sk === "concl"){ if (s._cstep < 0) return {error: "no concl step", slide: s._key, step: sk, i: i}; out.k = s._cstep; return out; }
|
|
1886
|
+
if (!/^(0|[1-9][0-9]{0,2})$/.test(sk)) return {error: "not a step key", slide: s._key, step: sk, i: i};
|
|
1887
|
+
var k = +sk;
|
|
1888
|
+
// 結論の段階の鍵は concl(数字では指さない)
|
|
1889
|
+
if (k > s._max || k === s._cstep) return {error: "step out of range", slide: s._key, step: sk, i: i, max: s._cstep >= 0 ? s._cstep - 1 : s._max};
|
|
1890
|
+
out.k = k;
|
|
1891
|
+
return out;
|
|
1892
|
+
}
|
|
1893
|
+
DECK.resolveFragment = resolveFragment;
|
|
1894
|
+
// 位置の書き方(id があれば <id>[:<段階の鍵>]。id のない旧来のスライドは段階 0 なら <番号>、ほかは <鍵>:<段階の鍵>)
|
|
1895
|
+
function fragmentOf(i, k){
|
|
1896
|
+
var s = slides[i];
|
|
1897
|
+
if (!s.id) return k ? s._key + ":" + stepKey(s, k) : String(i + 1);
|
|
1898
|
+
return k ? s.id + ":" + stepKey(s, k) : s.id;
|
|
1899
|
+
}
|
|
1900
|
+
DECK.fragment = fragmentOf;
|
|
1901
|
+
// 同じ文書の中を指すリンクなら # の後ろ、ほかのファイルなら null
|
|
1902
|
+
function inDocFragment(a){
|
|
1903
|
+
var h = a.getAttribute("href");
|
|
1904
|
+
if (h == null) return null;
|
|
1905
|
+
if (h.charAt(0) === "#") return h.slice(1);
|
|
1906
|
+
try {
|
|
1907
|
+
var u = new URL(h, location.href), here = new URL(location.href);
|
|
1908
|
+
if (u.hash && u.origin === here.origin && u.pathname === here.pathname && u.search === here.search) return u.hash.slice(1);
|
|
1909
|
+
} catch (e) {}
|
|
1910
|
+
return null;
|
|
1911
|
+
}
|
|
1912
|
+
DECK.linkFragment = inDocFragment;
|
|
1913
|
+
function post(msg){ try { window.parent.postMessage(msg, "*"); } catch (e) {} }
|
|
1914
|
+
// 見たスライド(m-menu の「見た」の印。セッションの中だけ、保存しない)
|
|
1915
|
+
DECK.visited = function(i){ return typeof i === "number" ? !!LINKS.seen[i] : !!LINKS.seen[slideIndexOf(String(i))]; };
|
|
1916
|
+
// リンクで (i, k) へ。opts = {el, keyboard}
|
|
1917
|
+
function followLink(pos, opts){
|
|
1918
|
+
opts = opts || {};
|
|
1919
|
+
if (DECK.view){ post({type: "deck-link", frag: fragmentOf(pos.i, pos.k)}); return false; } // 発表者ビューの中の画面:本体に任せる
|
|
1920
|
+
var target = {slideKey: slides[pos.i]._key, stepKey: stepKey(slides[pos.i], pos.k)};
|
|
1921
|
+
if (!LINKS.follow){ post(Object.assign({egatari: "linkRefused"}, target)); return false; }
|
|
1922
|
+
var depth = POS.push({i: POS.i, k: POS.k, el: opts.keyboard ? opts.el : null});
|
|
1923
|
+
if (TOP) try { history.pushState({egatariLink: depth, to: {i: pos.i, k: pos.k}}, "", "#" + fragmentOf(pos.i, pos.k)); } catch (e) {}
|
|
1924
|
+
moveTo(pos.i, pos.k, "link");
|
|
1925
|
+
return true;
|
|
1926
|
+
}
|
|
1927
|
+
// 再生の状態を保ったまま (i, k) へ:自動再生中なら段階の初めから続け、そうでなければ最終状態
|
|
1928
|
+
function moveTo(i, k, cause){
|
|
1929
|
+
var playing = POS.playing;
|
|
1930
|
+
POS.setCause(cause);
|
|
1931
|
+
if (playing){ stopAuto(); go(i, k, false); startAuto(); }
|
|
1932
|
+
else go(i, k, false);
|
|
1933
|
+
POS.setCause(null);
|
|
1934
|
+
syncBack();
|
|
1935
|
+
}
|
|
1936
|
+
function back(){
|
|
1937
|
+
if (!POS.depth) return false;
|
|
1938
|
+
// 上の窓では履歴で戻る(ブラウザの戻ると同じ。popstate で動く)
|
|
1939
|
+
if (TOP && history.state && history.state.egatariLink === POS.depth){ history.back(); return true; }
|
|
1940
|
+
backTo(POS.depth - 1);
|
|
1941
|
+
return true;
|
|
1942
|
+
}
|
|
1943
|
+
function backTo(depth){
|
|
1944
|
+
var e = null;
|
|
1945
|
+
while (POS.depth > depth) e = POS.pop();
|
|
1946
|
+
if (!e) return;
|
|
1947
|
+
moveTo(e.i, e.k, "link");
|
|
1948
|
+
if (e.el && e.el.isConnected) try { e.el.focus({preventScroll: true}); } catch (err) {}
|
|
1949
|
+
}
|
|
1950
|
+
DECK.back = function(){ return started ? back() : false; };
|
|
1951
|
+
DECK.links = function(){ return {depth: POS.depth, follow: LINKS.follow, back: POS.depth ? Object.assign({}, POS.top(), {el: undefined}) : null}; };
|
|
1952
|
+
DECK.follow = function(frag){ if (!started) return false; var r = resolveFragment(frag); if (r.error){ console.warn("deck.js: link #" + frag + ": " + r.error); return false; } return followLink(r); };
|
|
1953
|
+
window.addEventListener("popstate", function(e){
|
|
1954
|
+
if (!DECK.ready) return;
|
|
1955
|
+
var st = e.state || {}, d = typeof st.egatariLink === "number" ? st.egatariLink : 0;
|
|
1956
|
+
if (d < POS.depth) backTo(d);
|
|
1957
|
+
else if (d > POS.depth && (st.at || st.to) && slides[(st.at || st.to).i]){ // 進む:もう一度そのリンクをたどり、その先で最後にいた位置へ
|
|
1958
|
+
var at = st.at || st.to;
|
|
1959
|
+
POS.push({i: POS.i, k: POS.k, el: null});
|
|
1960
|
+
moveTo(at.i, at.k, "link");
|
|
1961
|
+
}
|
|
1962
|
+
});
|
|
1963
|
+
// ---------------------------------------------------------------- 授業の外へ出るリンク(format spec §11。決まりは kit/core/link-policy.mjs の LinkPolicy)
|
|
1964
|
+
// 外へ出るときは、行き先の host と全体を見せて確かめる(https: の普通のリンクは、同じ閲覧のあいだ同じ host に一度同意すれば再び聞かない)。
|
|
1965
|
+
// 見える字が別の host を名指す・https: でない・ダウンロード・userinfo・punycode の host は、毎回確かめる。http(s)・mailto・tel 以外は開かない。
|
|
1966
|
+
// 開くのは新しい閲覧文脈(noopener・noreferrer)。授業の窓そのものは移らない。動画・発表者ビューの中の画面・編集のプレビューでは開かない
|
|
1967
|
+
var EXT = {hosts: new Set(), dlg: null};
|
|
1968
|
+
var EXT_LP = DECK.LinkPolicy();
|
|
1969
|
+
function extText(a){ return (a.textContent || "") + " " + (a.getAttribute("aria-label") || a.getAttribute("alt") || ""); }
|
|
1970
|
+
function extOpen(url){ try { window.open(url, "_blank", EXT_LP.OPEN_FEATURES); } catch (e) {} }
|
|
1971
|
+
function extClose(el){
|
|
1972
|
+
var d = EXT.dlg; if (!d) return;
|
|
1973
|
+
EXT.dlg = null;
|
|
1974
|
+
if (d.parentNode) d.parentNode.removeChild(d);
|
|
1975
|
+
var st = document.getElementById("stage"); if (st) st.inert = d._stageWasInert === true;
|
|
1976
|
+
var f = d._from;
|
|
1977
|
+
if (f && f.isConnected && f.focus) try { f.focus({preventScroll: true}); } catch (e) {}
|
|
1978
|
+
}
|
|
1979
|
+
// 確認の箱。opts = {title, host, url, notes: [文], open: 開く処理 | null(なければ「閉じる」だけ), from: 戻すフォーカス}
|
|
1980
|
+
function extDialog(opts){
|
|
1981
|
+
extClose();
|
|
1982
|
+
var d = document.createElement("div"); d.id = "deck-extlink"; d.setAttribute("role", "alertdialog"); d.setAttribute("aria-modal", "true");
|
|
1983
|
+
var box = document.createElement("div"); box.className = "box"; d.appendChild(box);
|
|
1984
|
+
box.tabIndex = -1; // 箱の字(ボタンでない所)を押しても、フォーカスは箱の中に残る(body に落ちると Esc・Tab が箱に届かない)
|
|
1985
|
+
function add(tag, cls, text){ var e = document.createElement(tag); if (cls) e.className = cls; e.textContent = text; box.appendChild(e); return e; }
|
|
1986
|
+
var h = add("h2", "t", opts.title); h.id = "deck-extlink-t"; d.setAttribute("aria-labelledby", h.id);
|
|
1987
|
+
if (opts.host) add("p", "host", opts.host);
|
|
1988
|
+
if (opts.url) add("p", "url", opts.url);
|
|
1989
|
+
var nid = "deck-extlink-n";
|
|
1990
|
+
if (opts.notes.length){ var ul = document.createElement("ul"); ul.id = nid; opts.notes.forEach(function(n){ var li = document.createElement("li"); li.textContent = n; ul.appendChild(li); }); box.appendChild(ul); d.setAttribute("aria-describedby", nid); }
|
|
1991
|
+
var row = document.createElement("div"); row.className = "row"; box.appendChild(row);
|
|
1992
|
+
function btn(label, cls, fn){ var b = document.createElement("button"); b.type = "button"; b.className = cls; b.textContent = label; b.addEventListener("click", function(ev){ ev.preventDefault(); fn(); }); row.appendChild(b); return b; }
|
|
1993
|
+
var first = btn(opts.open ? L10N("やめる", "Cancel") : L10N("閉じる", "Close"), "cancel", function(){ extClose(); });
|
|
1994
|
+
if (opts.open) btn(L10N("開く(新しいタブ)", "Open (new tab)"), "go", function(){ var f = opts.open; extClose(); f(); });
|
|
1995
|
+
d._from = opts.from || null;
|
|
1996
|
+
var st = document.getElementById("stage"); d._stageWasInert = !!(st && st.inert); if (st) st.inert = true;
|
|
1997
|
+
// 箱の中のキー・ポインターは授業に届かせない(スライドは進まない)。Tab と Esc は文書の capture で受ける(下。フォーカスがどこにあっても効く)
|
|
1998
|
+
["keydown", "keyup", "keypress", "pointerdown", "pointerup", "mousedown", "mouseup", "click", "dblclick", "touchstart", "touchend", "wheel", "contextmenu"].forEach(function(n){ d.addEventListener(n, function(ev){ ev.stopPropagation(); }); });
|
|
1999
|
+
d.addEventListener("click", function(ev){ if (ev.target === d) extClose(); }); // 外側を押すと「やめる」(開くことにはならない)
|
|
2000
|
+
document.body.appendChild(d);
|
|
2001
|
+
EXT.dlg = d;
|
|
2002
|
+
first.focus(); // 既定の焦点は「やめる」(Enter や Space の押しすぎで開かない)
|
|
2003
|
+
}
|
|
2004
|
+
// 箱を開いている間の Esc(やめる)と Tab(箱のボタンの中で回す):文書の capture で受ける。フォーカスが箱の外(body など)に落ちていても効く
|
|
2005
|
+
document.addEventListener("keydown", function(ev){
|
|
2006
|
+
var d = EXT.dlg;
|
|
2007
|
+
if (!d || ev.metaKey || ev.ctrlKey || ev.altKey) return;
|
|
2008
|
+
if (ev.key === "Escape"){ ev.preventDefault(); ev.stopImmediatePropagation(); extClose(); return; }
|
|
2009
|
+
if (ev.key !== "Tab") return;
|
|
2010
|
+
var bs = d.querySelectorAll("button"), a0 = bs[0], z = bs[bs.length - 1], a = document.activeElement;
|
|
2011
|
+
if (!a0) return;
|
|
2012
|
+
ev.stopImmediatePropagation();
|
|
2013
|
+
if (!d.contains(a) || a === d.querySelector(".box")){ ev.preventDefault(); (ev.shiftKey ? z : a0).focus(); }
|
|
2014
|
+
else if (ev.shiftKey && a === a0){ ev.preventDefault(); z.focus(); }
|
|
2015
|
+
else if (!ev.shiftKey && a === z){ ev.preventDefault(); a0.focus(); }
|
|
2016
|
+
}, true);
|
|
2017
|
+
var EXT_WHY = {
|
|
2018
|
+
mismatch: ["リンクの字が、行き先と別のサイトを名指しています", "The link text names a different site than where it goes"],
|
|
2019
|
+
insecure: ["https: ではない行き先です(通信が守られません)", "The destination is not https: (the connection is not protected)"],
|
|
2020
|
+
local: ["このファイルの隣のファイルを開きます", "Opens a file next to this one on this computer"],
|
|
2021
|
+
download: ["ファイルをダウンロードします", "It downloads a file"],
|
|
2022
|
+
userinfo: ["行き先のアドレスに、ユーザー名やパスワードの形の部分があります", "The address contains a user name or password part"],
|
|
2023
|
+
punycode: ["サイト名に、見た目の似た別の文字が使われているかもしれません", "The site name may use look-alike characters"]
|
|
2024
|
+
};
|
|
2025
|
+
function extLink(a){
|
|
2026
|
+
if (DECK.mode === "video" || DECK.view) return; // 動画・発表者ビューの中の画面:開かない
|
|
2027
|
+
var d = EXT_LP.decide({href: a.getAttribute("href"), text: extText(a), download: a.hasAttribute("download")}, {base: location.href, hosts: EXT.hosts});
|
|
2028
|
+
var from = a;
|
|
2029
|
+
if (d.verdict === "refuse"){
|
|
2030
|
+
extDialog({title: L10N("このリンクは開けません", "This link cannot be opened"), host: "", url: String(a.getAttribute("href") || "").slice(0, 300),
|
|
2031
|
+
notes: [d.reason === "scheme" ? L10N("http(s)・mailto・tel 以外のリンクは開きません", "Only http(s), mailto and tel links are opened") : L10N("アドレスとして読めません", "It is not a valid address")], open: null, from: from});
|
|
2032
|
+
return;
|
|
2033
|
+
}
|
|
2034
|
+
if (window.DECK_DEV){ // 編集のプレビュー:授業の絵は作者のコードが描ける。外へは出ず、ここでは確かめもしない(書き出したデッキで確かめる)
|
|
2035
|
+
extDialog({title: L10N("プレビューでは外のページを開きません", "The preview does not open outside pages"), host: d.host, url: d.url,
|
|
2036
|
+
notes: [L10N("組み立てた HTML・Egatari ファイルで開くと、行き先を確かめてから開きます", "In the built HTML or an Egatari file, it asks before opening")], open: null, from: from});
|
|
2037
|
+
return;
|
|
2038
|
+
}
|
|
2039
|
+
if (d.verdict === "open"){ extOpen(d.url); return; }
|
|
2040
|
+
var notes = d.reasons.map(function(r){ return L10N(EXT_WHY[r][0], EXT_WHY[r][1]); });
|
|
2041
|
+
var ttl = d.must ? L10N("このリンクを開いてよいか確かめてください", "Check before opening this link") : L10N("授業の外のページを開きます", "This opens a page outside the lesson");
|
|
2042
|
+
extDialog({title: ttl, host: d.host || d.scheme + ":", url: d.url, notes: notes, from: from,
|
|
2043
|
+
open: function(){ EXT_LP.remember(EXT.hosts, d); extOpen(d.url); }});
|
|
2044
|
+
}
|
|
2045
|
+
DECK.extLink = function(href, text, download){ var a = document.createElement("a"); a.setAttribute("href", href); a.textContent = text || ""; if (download) a.setAttribute("download", ""); extLink(a); };
|
|
2046
|
+
function linkOf(e){
|
|
2047
|
+
var a = e.target && e.target.closest && e.target.closest("a[href],area[href]");
|
|
2048
|
+
if (a) return a;
|
|
2049
|
+
var p = e.composedPath ? e.composedPath() : []; // 部品の影の木の中のリンク
|
|
2050
|
+
for (var i = 0; i < p.length; i++) if (p[i] && p[i].nodeType === 1 && (p[i].localName === "a" || p[i].localName === "area") && p[i].hasAttribute("href")) return p[i];
|
|
2051
|
+
return null;
|
|
2052
|
+
}
|
|
2053
|
+
document.addEventListener("click", function(e){
|
|
2054
|
+
if (e.defaultPrevented) return;
|
|
2055
|
+
var a = linkOf(e);
|
|
2056
|
+
if (!a || a.__egaOwn) return; // __egaOwn:再生器自身が作ったリンク(添付の保存。kit/tools.js)。授業の HTML は JS の印を付けられない
|
|
2057
|
+
var f = inDocFragment(a);
|
|
2058
|
+
if (f === null){ e.preventDefault(); extLink(a); return; } // 授業の外:新しい窓は開かず、確かめてから(修飾キーでも同じ)
|
|
2059
|
+
if (e.button !== 0 || e.metaKey || e.ctrlKey || e.shiftKey || e.altKey || !DECK.ready) return;
|
|
2060
|
+
e.preventDefault(); // # で要素の位置へ動かさない(舞台がずれる)
|
|
2061
|
+
if (DECK.mode === "video" || !f) return;
|
|
2062
|
+
var r = resolveFragment(f);
|
|
2063
|
+
if (r.error){ console.warn("deck.js: link #" + f + ": " + r.error); return; }
|
|
2064
|
+
// マウスで押したリンクにはフォーカスを残さない(戻ったときにフォーカスの枠が出ない)。キーボード(detail = 0)なら戻るときに戻す
|
|
2065
|
+
if (e.detail !== 0) try { a.blur(); } catch (err) {}
|
|
2066
|
+
followLink(r, {el: a, keyboard: e.detail === 0});
|
|
2067
|
+
});
|
|
2068
|
+
// 中ボタン:ブラウザの標準では確かめずに新しいタブが開く
|
|
2069
|
+
document.addEventListener("auxclick", function(e){
|
|
2070
|
+
if (e.button !== 1) return;
|
|
2071
|
+
var a = linkOf(e);
|
|
2072
|
+
if (!a || inDocFragment(a) !== null) return;
|
|
2073
|
+
e.preventDefault(); extLink(a);
|
|
2074
|
+
});
|
|
2075
|
+
// 戻るボタン:リンクで来たときだけ、左上に小さく出す(動画・印刷・発表者ビューの中の画面では作らない)
|
|
2076
|
+
function syncBack(){
|
|
2077
|
+
if (DECK.mode === "video" || DECK.view) return;
|
|
2078
|
+
var t = POS.top();
|
|
2079
|
+
if (!t){ if (LINKS.btn) LINKS.btn.hidden = true; return; }
|
|
2080
|
+
if (!LINKS.btn){
|
|
2081
|
+
var b = LINKS.btn = document.createElement("button");
|
|
2082
|
+
b.type = "button"; b.id = "deck-back";
|
|
2083
|
+
b.innerHTML = '<svg viewBox="0 0 16 16" aria-hidden="true"><path d="M9.5 3.5L5 8l4.5 4.5M5.4 8H13"/></svg><span class="lab"></span><span class="to"></span><kbd aria-hidden="true">⌫</kbd>';
|
|
2084
|
+
b.addEventListener("click", function(ev){ ev.preventDefault(); ev.stopPropagation(); back(); if (ev.detail !== 0) b.blur(); });
|
|
2085
|
+
["pointerdown", "mousedown"].forEach(function(n){ b.addEventListener(n, function(ev){ ev.stopPropagation(); }); });
|
|
2086
|
+
document.body.appendChild(b);
|
|
2087
|
+
}
|
|
2088
|
+
var to = titleOf(slides[t.i]);
|
|
2089
|
+
LINKS.btn.querySelector(".lab").textContent = L10N("戻る", "Back");
|
|
2090
|
+
LINKS.btn.querySelector(".to").textContent = to;
|
|
2091
|
+
LINKS.btn.title = L10N("戻る:", "Back to ") + to + L10N("(Backspace / Alt+←)", " (Backspace / Alt+←)");
|
|
2092
|
+
LINKS.btn.setAttribute("aria-label", L10N("戻る:", "Back to ") + to);
|
|
2093
|
+
LINKS.btn.setAttribute("aria-keyshortcuts", "Backspace Alt+ArrowLeft");
|
|
2094
|
+
LINKS.btn.hidden = false;
|
|
2095
|
+
}
|
|
2096
|
+
|
|
2097
|
+
// ---------------------------------------------------------------- 起動
|
|
2098
|
+
function fit(){
|
|
2099
|
+
var k = Math.min(window.innerWidth / 1280, window.innerHeight / 720);
|
|
2100
|
+
var st = document.getElementById("stage");
|
|
2101
|
+
if (st) st.style.transform = "translate(-50%,-50%) scale(" + k + ")";
|
|
2102
|
+
}
|
|
2103
|
+
function init(){
|
|
2104
|
+
if (Q.get("presenter") && DECK.presenterView){ DECK.presenterView(); return; }
|
|
2105
|
+
slides = [].slice.call(document.querySelectorAll("#stage > .slide"));
|
|
2106
|
+
P2 = parts2();
|
|
2107
|
+
var mainEnd = slides.findIndex(function(s){ return s.classList.contains("sec") && s.classList.contains("appendix"); });
|
|
2108
|
+
if (mainEnd < 0) mainEnd = slides.findIndex(function(s){ return s.classList.contains("sec") && /付録|Appendix/i.test(s.textContent); });
|
|
2109
|
+
if (mainEnd < 0) mainEnd = slides.length;
|
|
2110
|
+
slides.forEach(function(s, i){ setupSlide(s, i, mainEnd); });
|
|
2111
|
+
// モーフで動く要素は transform が効くように inline-block にしておく(測る前から同じ配置にするため、初めに)
|
|
2112
|
+
slides.forEach(function(s){
|
|
2113
|
+
if (s._morph === null) return;
|
|
2114
|
+
[].forEach.call(s.querySelectorAll("[data-id]"), function(e){ if (!e.closest("svg") && getComputedStyle(e).display === "inline") e.style.display = "inline-block"; });
|
|
2115
|
+
});
|
|
2116
|
+
document.documentElement.setAttribute("data-mode", DECK.mode);
|
|
2117
|
+
// 部品の mount は舞台が並べ終わってから(docs/contract.md §3)。並んでいれば今すぐ(ふつうの起動は順序もコマも変えない)、
|
|
2118
|
+
// display:none の iframe・後で出すタブの中など、まだ並んでいなければ大きさが付くまで待つ
|
|
2119
|
+
if (laidOut()) start(); else whenLaidOut(start);
|
|
2120
|
+
}
|
|
2121
|
+
// 舞台が並んでいるか:大きさ(transform の前の、レイアウトの幅と高さ)があり、描かれる箱がある
|
|
2122
|
+
function laidOut(){
|
|
2123
|
+
var st = document.getElementById("stage") || document.body;
|
|
2124
|
+
return !!st && st.offsetWidth > 0 && st.offsetHeight > 0 && st.getClientRects().length > 0;
|
|
2125
|
+
}
|
|
2126
|
+
function whenLaidOut(fn){
|
|
2127
|
+
var st = document.getElementById("stage") || document.body, ro = null, done = false;
|
|
2128
|
+
function check(){
|
|
2129
|
+
if (done || !laidOut()) return;
|
|
2130
|
+
done = true;
|
|
2131
|
+
if (ro) ro.disconnect();
|
|
2132
|
+
window.removeEventListener("resize", check);
|
|
2133
|
+
fonts();
|
|
2134
|
+
}
|
|
2135
|
+
// 隠れていた文書はまだ字(Web フォント)を読んでいない(並べて初めて読み始める)。読み終えてから mount する(ふつうの起動の load と同じく、測る字が揃ってから)
|
|
2136
|
+
function fonts(){
|
|
2137
|
+
if (document.fonts && document.fonts.status === "loading") document.fonts.ready.then(fonts, fn);
|
|
2138
|
+
else fn();
|
|
2139
|
+
}
|
|
2140
|
+
if (typeof ResizeObserver === "function"){ ro = new ResizeObserver(check); ro.observe(st); }
|
|
2141
|
+
window.addEventListener("resize", check); // ResizeObserver のない環境と、窓の大きさが 0 から付いたとき
|
|
2142
|
+
}
|
|
2143
|
+
// 起動の後半:部品の mount → 開いたときの位置 → 起動の知らせ(DECK.ready)。待っている間に頼まれた seek はその後に描く
|
|
2144
|
+
function start(){
|
|
2145
|
+
started = true;
|
|
2146
|
+
CTX_SLIDES = ctxSlides();
|
|
2147
|
+
CTX_LANG = (typeof DECK.META.lang === "string" && DECK.META.lang) || document.documentElement.lang || "ja";
|
|
2148
|
+
slides.forEach(function(s, i){
|
|
2149
|
+
s._comps.forEach(function(c){
|
|
2150
|
+
try { c.mount(ctxFor(c, s, {})); watchTouch(c); }
|
|
2151
|
+
catch (e) { compFail(c, s, i, {kind: "exception", msg: errText(e)}, "mount"); c.mount(ctxFor(c, s, {})); }
|
|
2152
|
+
});
|
|
2153
|
+
});
|
|
2154
|
+
DECK.slides = slides;
|
|
2155
|
+
setupA11y();
|
|
2156
|
+
if (CAP.on) setCaptions(true);
|
|
2157
|
+
fit();
|
|
2158
|
+
if (DECK.view) document.documentElement.classList.add("embedded");
|
|
2159
|
+
// 開いたときの位置:#N(番号、範囲の外は端へ)、#<スライドの id>、#<id>:<段階の鍵>(format spec §9.1A)
|
|
2160
|
+
var hs = (location.hash || "").slice(1), h0 = /^[0-9]+$/.test(hs) ? {i: Math.max(1, +hs) - 1, k: 0} : hs ? resolveFragment(hs) : {i: 0, k: 0};
|
|
2161
|
+
if (h0.error){ console.warn("deck.js: #" + hs + ": " + h0.error); h0 = {i: 0, k: 0}; }
|
|
2162
|
+
if (pendingGo){ h0 = {i: pendingGo[0], k: pendingGo[1]}; pendingGo = null; }
|
|
2163
|
+
POS.setCause("seek"); go(h0.i, h0.k, false); POS.setCause(null);
|
|
2164
|
+
if (pendingSeek){ var ps = pendingSeek; pendingSeek = null; seek.apply(null, ps); }
|
|
2165
|
+
DECK.ready = true;
|
|
2166
|
+
document.dispatchEvent(new CustomEvent("deck:ready"));
|
|
2167
|
+
}
|
|
2168
|
+
|
|
2169
|
+
// ---------------------------------------------------------------- 暗転(b)
|
|
2170
|
+
// 窓全体を真っ黒(#000)の覆いで隠す:舞台・ペンの線・字幕・操作の帯・知らせ・キーの一覧のどれよりも上。もう一度 b・クリック・Esc で戻る。
|
|
2171
|
+
// 覆いの間はフォーカスを覆いに置き(Tab で下のボタンに抜けない)、戻すときは前のフォーカスに返す。動画(?mode=video)・発表者ビューの中の画面では入らない。
|
|
2172
|
+
// 印刷は覆いを出さない(base.css)。外へのリンクの確認の箱は、暗転に入るときに「やめる」にする。状態は deck-pos の black と deck-black で発表者ビューに知らせる
|
|
2173
|
+
// (これまでの .blackout #stage{visibility:hidden} は、今のスライドの visibility:visible が上書きして、スライドが見えたままだった)
|
|
2174
|
+
var BLACK = null;
|
|
2175
|
+
function isBlack(){ return !!BLACK; }
|
|
2176
|
+
function setBlack(on){
|
|
2177
|
+
on = !!on;
|
|
2178
|
+
if (on === isBlack()) return;
|
|
2179
|
+
if (on && (DECK.mode === "video" || DECK.view)) return;
|
|
2180
|
+
var de = document.documentElement;
|
|
2181
|
+
if (on){
|
|
2182
|
+
extClose(); // 覆いの下に箱を残すと、キーが箱に取られて b・Esc で戻れない
|
|
2183
|
+
var c = document.createElement("div");
|
|
2184
|
+
c.id = "deck-black"; c.tabIndex = -1;
|
|
2185
|
+
c.setAttribute("role", "img"); c.setAttribute("aria-label", L10N("黒い画面中(b・クリック・Esc で戻る)", "Blacked out (b, click or Esc to return)"));
|
|
2186
|
+
var prev = document.activeElement;
|
|
2187
|
+
BLACK = {el: c, prev: prev && prev !== document.body ? prev : null};
|
|
2188
|
+
// 押した点では送らない・描かない:押したら戻すだけ
|
|
2189
|
+
c.addEventListener("pointerdown", function(ev){ ev.preventDefault(); ev.stopPropagation(); setBlack(false); });
|
|
2190
|
+
["mousedown", "click", "pointerup", "mouseup", "contextmenu"].forEach(function(n){ c.addEventListener(n, function(ev){ ev.preventDefault(); ev.stopPropagation(); }); });
|
|
2191
|
+
// 隅の薄い知らせ(約 2 秒)。入ったときと、暗転の間にマウスを動かしたときに出す
|
|
2192
|
+
var hint = document.createElement("div");
|
|
2193
|
+
hint.id = "deck-black-hint"; hint.setAttribute("aria-hidden", "true");
|
|
2194
|
+
hint.textContent = L10N("黒い画面中 — b か Esc で戻ります", "Black screen — press b or Esc to return");
|
|
2195
|
+
c.appendChild(hint);
|
|
2196
|
+
BLACK.hint = hint;
|
|
2197
|
+
c.addEventListener("pointermove", function(ev){ if (ev.pointerType !== "touch") blackHint(); });
|
|
2198
|
+
document.body.appendChild(c);
|
|
2199
|
+
de.classList.add("blackout");
|
|
2200
|
+
blackHint();
|
|
2201
|
+
try { c.focus({preventScroll: true}); } catch (e) {}
|
|
2202
|
+
} else {
|
|
2203
|
+
var b = BLACK; BLACK = null;
|
|
2204
|
+
clearTimeout(b.hintT);
|
|
2205
|
+
de.classList.remove("blackout");
|
|
2206
|
+
var back = b.prev, had = document.activeElement === b.el;
|
|
2207
|
+
b.el.remove();
|
|
2208
|
+
if (had){
|
|
2209
|
+
if (back && back.isConnected && !back.closest("[inert]")){ try { back.focus({preventScroll: true}); } catch (e) {} }
|
|
2210
|
+
else if (document.activeElement && document.activeElement !== document.body) document.activeElement.blur();
|
|
2211
|
+
}
|
|
2212
|
+
}
|
|
2213
|
+
if (presenter && !presenter.closed) presenter.postMessage({type: "deck-black", on: isBlack()}, "*");
|
|
2214
|
+
}
|
|
2215
|
+
|
|
2216
|
+
function blackHint(){
|
|
2217
|
+
var b = BLACK; if (!b || !b.hint) return;
|
|
2218
|
+
b.hint.classList.add("show");
|
|
2219
|
+
clearTimeout(b.hintT);
|
|
2220
|
+
b.hintT = setTimeout(function(){ if (b.hint) b.hint.classList.remove("show"); }, 2000);
|
|
2221
|
+
}
|
|
2222
|
+
// 暗転を終えるキー:b・Esc・矢印・Space・PageUp/PageDown・Home/End(どれも暗転を終えるだけで、スライドは動かさない)
|
|
2223
|
+
var BLACK_EXIT = /^(b|Escape|ArrowRight|ArrowLeft|ArrowUp|ArrowDown| |Spacebar|PageUp|PageDown|Home|End)$/;
|
|
2224
|
+
|
|
2225
|
+
var buf = "";
|
|
2226
|
+
// 入力中か:フォーカスのある要素(影の木の中の欄も composedPath の先頭で見る)が文字を受けるもの。そのキーは送りにも道具にも使わない
|
|
2227
|
+
function typingIn(e){
|
|
2228
|
+
var t = e.composedPath ? e.composedPath()[0] : e.target;
|
|
2229
|
+
if (!t || t.nodeType !== 1) t = e.target;
|
|
2230
|
+
return !!(t && (t.isContentEditable || /^(INPUT|TEXTAREA|SELECT)$/.test(t.tagName))) || inputTarget(e);
|
|
2231
|
+
}
|
|
2232
|
+
DECK.inputTarget = inputTarget;
|
|
2233
|
+
// 編集モード(開発サーバー・編集アプリのプレビュー。server/hints.js が document に deck:edit {on} を送る):
|
|
2234
|
+
// 入るときに自動再生と音声・暗転・全画面・打ちかけのページ番号をやめ、編集している間は a・b・f(編集の画面から送られたキーも)と発表者ビューからの自動再生を受けない。
|
|
2235
|
+
// 出るときは何も戻さない。ふつうのデッキ(hints.js のない書き出し・再生専用の 1 ファイル・発表者ビュー)では起きない
|
|
2236
|
+
var EDIT = false;
|
|
2237
|
+
document.addEventListener("deck:edit", function(e){
|
|
2238
|
+
EDIT = !!(e.detail && e.detail.on);
|
|
2239
|
+
if (!EDIT) return;
|
|
2240
|
+
stopAuto(); if (audioEl) audioEl.pause();
|
|
2241
|
+
buf = ""; var j = document.getElementById("jump"); if (j) j.textContent = "";
|
|
2242
|
+
setBlack(false);
|
|
2243
|
+
extClose();
|
|
2244
|
+
if (document.fullscreenElement && document.exitFullscreen) document.exitFullscreen().catch(function(){});
|
|
2245
|
+
});
|
|
2246
|
+
// 送りのキー(矢印・PageUp/PageDown・Home・End)。押したら true
|
|
2247
|
+
function navKey(k, shift){
|
|
2248
|
+
var nav = true;
|
|
2249
|
+
if ((k === "ArrowRight" || k === "ArrowDown") && shift) go(POS.i + 1, 0, false);
|
|
2250
|
+
else if ((k === "ArrowLeft" || k === "ArrowUp") && shift) go(POS.i - 1, 0, false);
|
|
2251
|
+
else if (k === "ArrowRight" || k === "PageDown" || k === " " || k === "ArrowDown") next();
|
|
2252
|
+
else if (k === "ArrowLeft" || k === "PageUp" || k === "ArrowUp") prev();
|
|
2253
|
+
else if (k === "Home") go(0, 0, false);
|
|
2254
|
+
else if (k === "End") go(slides.length - 1, 0, false);
|
|
2255
|
+
else nav = false;
|
|
2256
|
+
if (nav) stopAuto();
|
|
2257
|
+
return nav;
|
|
2258
|
+
}
|
|
2259
|
+
// 編集の画面(信頼する親。server/editor-ui.js)から送られたキー:編集の画面の枠(見出し・状態の行・ボタン)にフォーカスがあるときに
|
|
2260
|
+
// 押した矢印・PageUp/PageDown・Home・End・b・a。キーの出来事は作らず、同じ処理を呼ぶ。外へのリンクの箱・スライド一覧の間は受けない。
|
|
2261
|
+
// 編集モードの間は送りだけ受け、a・b は受けない(手で押したキーと同じ)
|
|
2262
|
+
var FWD_KEYS = /^(ArrowRight|ArrowLeft|ArrowUp|ArrowDown|PageUp|PageDown|Home|End|b|a)$/;
|
|
2263
|
+
function forwardedKey(k){
|
|
2264
|
+
if (!FWD_KEYS.test(k) || EXT.dlg || document.getElementById("dt-ov")) return;
|
|
2265
|
+
if (isBlack()){ if (BLACK_EXIT.test(k)) setBlack(false); return; }
|
|
2266
|
+
buf = ""; var j = document.getElementById("jump"); if (j) j.textContent = "";
|
|
2267
|
+
if (navKey(k, false)) return;
|
|
2268
|
+
if (EDIT) return;
|
|
2269
|
+
if (k === "a") DECK.autoplay();
|
|
2270
|
+
else if (k === "b") setBlack(true);
|
|
2271
|
+
}
|
|
2272
|
+
document.addEventListener("keydown", function(e){
|
|
2273
|
+
if (DECK.view || !DECK.ready) return;
|
|
2274
|
+
if (typingIn(e)) return;
|
|
2275
|
+
// 暗転の間:b・Esc・矢印・Space・PageUp/PageDown・Home/End で戻る(戻すだけで送らない。ほかの道具の Esc にしない)。Tab は下のボタンに抜けない
|
|
2276
|
+
if (isBlack() && !e.metaKey && !e.ctrlKey && !e.altKey && (BLACK_EXIT.test(e.key) || e.key === "Tab")){
|
|
2277
|
+
e.preventDefault(); e.stopImmediatePropagation();
|
|
2278
|
+
if (e.key !== "Tab") setBlack(false);
|
|
2279
|
+
return;
|
|
2280
|
+
}
|
|
2281
|
+
// 戻る(リンクの前の位置へ):Backspace(ペンのときは tools.js が書き込みを消すのに使う)か Alt+←
|
|
2282
|
+
if (!e.metaKey && !e.ctrlKey && !e.shiftKey && ((e.key === "Backspace" && !e.altKey) || (e.key === "ArrowLeft" && e.altKey))){
|
|
2283
|
+
if (back()) e.preventDefault();
|
|
2284
|
+
return;
|
|
2285
|
+
}
|
|
2286
|
+
if (e.metaKey || e.ctrlKey || e.altKey) return;
|
|
2287
|
+
var k = e.key, j = document.getElementById("jump");
|
|
2288
|
+
// フォーカスのあるボタンやリンクは、Enter と Space でそれ自身を押す(送りに使わない)
|
|
2289
|
+
if ((k === "Enter" || k === " ") && !buf && e.target && e.target.closest && e.target.closest("button, a[href], [role=button]")) return;
|
|
2290
|
+
if (/^[0-9]$/.test(k)){ buf += k; if (j) j.textContent = buf; return; }
|
|
2291
|
+
if (k === "Enter" && buf){ stopAuto(); go(parseInt(buf, 10) - 1, 0, false); buf = ""; if (j) j.textContent = ""; return; }
|
|
2292
|
+
buf = ""; if (j) j.textContent = "";
|
|
2293
|
+
if (navKey(k, e.shiftKey)){ e.preventDefault(); return; }
|
|
2294
|
+
if (EDIT && (k === "a" || k === "b" || k === "f")) return;
|
|
2295
|
+
if (k === "f"){ if (document.fullscreenElement) document.exitFullscreen(); else document.documentElement.requestFullscreen(); }
|
|
2296
|
+
else if (k === "p") openPresenter();
|
|
2297
|
+
else if (k === "a") DECK.autoplay();
|
|
2298
|
+
else if (k === "l"){ DECK.mode = DECK.mode === "lecture" ? "talk" : "lecture"; document.documentElement.setAttribute("data-mode", DECK.mode); seek(POS.i, POS.k, Infinity); }
|
|
2299
|
+
else if (k === "b") setBlack(true);
|
|
2300
|
+
else if (k === "s") setCaptions();
|
|
2301
|
+
else if (k === "S") capSize();
|
|
2302
|
+
});
|
|
2303
|
+
|
|
2304
|
+
// 印刷(PDF 化)では、すべての段階を出した最終状態にする
|
|
2305
|
+
var printPos = null;
|
|
2306
|
+
// 印刷のための描画とその後の戻りはスライドに入ったことにしない(format spec §8.4 entered:見る人の入力は残る)
|
|
2307
|
+
var printAside = false;
|
|
2308
|
+
window.addEventListener("beforeprint", function(){
|
|
2309
|
+
if (!DECK.ready) return;
|
|
2310
|
+
soundStop(); stopLoop(); printPos = {i: POS.i, k: POS.k};
|
|
2311
|
+
if (!printAside){ printAside = true; asideBegin(); }
|
|
2312
|
+
slides.forEach(function(s, i){ seek(i, s._max, Infinity); });
|
|
2313
|
+
document.documentElement.classList.add("printing");
|
|
2314
|
+
});
|
|
2315
|
+
window.addEventListener("afterprint", function(){
|
|
2316
|
+
document.documentElement.classList.remove("printing");
|
|
2317
|
+
if (printAside){ printAside = false; asideEnd(false); }
|
|
2318
|
+
if (printPos && DECK.ready) seek(printPos.i, printPos.k, Infinity, undefined, true);
|
|
2319
|
+
});
|
|
2320
|
+
window.addEventListener("resize", function(){ fit(); morphCache = {}; relayout(); });
|
|
2321
|
+
// 隠れていた文書(別のタブ・最小化)が見えた(format spec §8.4 Layout:隠れている間は字の大きさが測れないことがある)
|
|
2322
|
+
document.addEventListener("visibilitychange", function(){ if (document.visibilityState === "visible") relayout(); });
|
|
2323
|
+
if (document.fonts && document.fonts.addEventListener) document.fonts.addEventListener("loadingdone", function(){ morphCache = {}; relayout(); });
|
|
2324
|
+
// 手で書き換えた #(番号・スライドの id・id:段階)へ。リンクの「戻る」の履歴とは別(popstate が先に位置を戻すので、ここでは動かない)
|
|
2325
|
+
window.addEventListener("hashchange", function(){
|
|
2326
|
+
if (!DECK.ready) return;
|
|
2327
|
+
var hs = location.hash.slice(1), r = /^[0-9]+$/.test(hs) ? {i: +hs - 1, k: 0, legacy: true} : resolveFragment(hs);
|
|
2328
|
+
if (r.error || r.i < 0) return;
|
|
2329
|
+
if (r.i !== POS.i || (!r.legacy && r.k !== POS.k)) go(r.i, r.k, false);
|
|
2330
|
+
});
|
|
2331
|
+
// 部品のスクリプトは deck.js の後に読まれるので、load まで待つ
|
|
2332
|
+
if (document.readyState === "complete") setTimeout(init, 0); else window.addEventListener("load", init);
|
|
2333
|
+
})();
|