The code and data behind xeiaso.net
5
fork

Configure Feed

Select the types of activity you want to include in your feed.

Move serving logic to a .zip file, move static assets to S3 (#734)

* lume/src/static: remove these files because we don't need them

Also rename manifest.json to site.webmanifest because apparently that's
the best practice.

Signed-off-by: Xe Iaso <me@xeiaso.net>

* lume: fix deno lock

Signed-off-by: Xe Iaso <me@xeiaso.net>

* lume/src/_components: small fixes

Signed-off-by: Xe Iaso <me@xeiaso.net>

* lume: move this big file to S3

Signed-off-by: Xe Iaso <me@xeiaso.net>

* lume: move these static files to XeDN

Signed-off-by: Xe Iaso <me@xeiaso.net>

* internal/lume: store and serve the website from a .zip file

This will let the website continue to serve data while a rebuild is
happening. This also lets me download the website corpus for local
debugging should the worst happen.

Signed-off-by: Xe Iaso <me@xeiaso.net>

---------

Signed-off-by: Xe Iaso <me@xeiaso.net>

authored by

Xe Iaso and committed by
GitHub
3cff1131 b888fd59

+357 -818
+4
cmd/xesite/main.go
··· 109 109 http.Redirect(w, r, "/blog/xn--ts9h/", http.StatusMovedPermanently) 110 110 }) 111 111 112 + mux.HandleFunc("/static/manifest.json", func(w http.ResponseWriter, r *http.Request) { 113 + http.Redirect(w, r, "/static/site.webmanifest", http.StatusMovedPermanently) 114 + }) 115 + 112 116 if *devel { 113 117 mux.HandleFunc("/.within/hook/github", func(w http.ResponseWriter, r *http.Request) { 114 118 if err := fs.Update(r.Context()); err != nil {
+29 -34
internal/lume/lume.go
··· 1 1 package lume 2 2 3 3 import ( 4 + "archive/zip" 4 5 "context" 5 6 "encoding/json" 6 7 "expvar" 7 8 "fmt" 8 9 "html/template" 10 + "io" 9 11 "io/fs" 10 12 "log" 11 13 "log/slog" ··· 28 30 typstLocation string 29 31 dhallToJSONLocation string 30 32 31 - _ fs.FS = (*FS)(nil) 32 - _ fs.ReadFileFS = (*FS)(nil) 33 - _ fs.ReadDirFS = (*FS)(nil) 33 + _ fs.FS = (*FS)(nil) 34 34 35 35 opens = metrics.LabelMap{Label: "name"} 36 - readFiles = metrics.LabelMap{Label: "name"} 37 - readDirs = metrics.LabelMap{Label: "name"} 38 36 builds = expvar.NewInt("gauge_xesite_builds") 39 37 updates = expvar.NewInt("gauge_xesite_updates") 40 38 updateErrors = expvar.NewInt("gauge_xesite_update_errors") ··· 59 57 } 60 58 61 59 expvar.Publish("gauge_xesite_opens", &opens) 62 - expvar.Publish("gauge_xesite_read_files", &readFiles) 63 - expvar.Publish("gauge_xesite_read_dirs", &readDirs) 64 60 } 65 61 66 62 type FS struct { ··· 72 68 miClient *mi.Client 73 69 74 70 fs fs.FS 75 - lock sync.RWMutex 71 + lock sync.Mutex 76 72 } 77 73 78 74 func (f *FS) Close() error { 79 75 f.lock.Lock() 80 76 defer f.lock.Unlock() 77 + 78 + if cl, ok := f.fs.(io.Closer); ok { 79 + cl.Close() 80 + } 81 81 82 82 if f.repo != nil { 83 83 os.RemoveAll(f.repoDir) ··· 87 87 } 88 88 89 89 func (f *FS) Open(name string) (fs.File, error) { 90 - f.lock.RLock() 91 - defer f.lock.RUnlock() 92 - 93 90 opens.Add(name, 1) 94 91 95 92 return f.fs.Open(name) 96 93 } 97 94 98 - func (f *FS) ReadDir(name string) ([]fs.DirEntry, error) { 99 - f.lock.RLock() 100 - defer f.lock.RUnlock() 101 - 102 - readDirs.Add(name, 1) 103 - 104 - rdfs := f.fs.(fs.ReadDirFS) 105 - return rdfs.ReadDir(name) 106 - } 107 - 108 - func (f *FS) ReadFile(name string) ([]byte, error) { 109 - f.lock.RLock() 110 - defer f.lock.RUnlock() 111 - 112 - readFiles.Add(name, 1) 113 - 114 - rfs := f.fs.(fs.ReadFileFS) 115 - return rfs.ReadFile(name) 116 - } 117 - 118 95 type Options struct { 119 96 Development bool 120 97 Branch string ··· 270 247 return err 271 248 } 272 249 273 - f.fs = os.DirFS(destDir) 274 250 dur := time.Since(begin) 275 251 276 252 lastBuildTime.Set(dur.Milliseconds()) 277 253 slog.Info("built site", "dir", destDir, "time", dur.String()) 254 + 255 + zipLoc := filepath.Join(f.opt.DataDir, "site.zip") 256 + 257 + if err := ZipFolder(filepath.Join(cmd.Dir, "_site"), zipLoc); err != nil { 258 + return fmt.Errorf("lume: can't compress site folder: %w", err) 259 + } 260 + 261 + if cl, ok := f.fs.(io.Closer); f.fs != nil && ok { 262 + if err := cl.Close(); err != nil { 263 + slog.Error("failed to close old fs", "err", err) 264 + } 265 + } 266 + 267 + fs, err := zip.OpenReader(zipLoc) 268 + if err != nil { 269 + return fmt.Errorf("lume: can't open zip with site content: %w", err) 270 + } 271 + 272 + f.fs = fs 278 273 279 274 return nil 280 275 } ··· 348 343 } 349 344 350 345 func (f *FS) Clacks() []string { 351 - f.lock.RLock() 352 - defer f.lock.RUnlock() 346 + f.lock.Lock() 347 + defer f.lock.Unlock() 353 348 return f.conf.ClackSet 354 349 } 355 350
+68
internal/lume/zip.go
··· 1 + package lume 2 + 3 + import ( 4 + "archive/zip" 5 + "io" 6 + "os" 7 + "path/filepath" 8 + ) 9 + 10 + // ZipFolder takes a source folder and a target zip file name 11 + // and compresses the folder contents into the zip file 12 + func ZipFolder(source, target string) error { 13 + // Create a zip file 14 + fout, err := os.Create(target) 15 + if err != nil { 16 + return err 17 + } 18 + defer fout.Close() 19 + 20 + // Create a zip writer 21 + w := zip.NewWriter(fout) 22 + defer w.Close() 23 + 24 + // Walk through the source folder 25 + return filepath.Walk(source, func(path string, info os.FileInfo, err error) error { 26 + // Handle errors 27 + if err != nil { 28 + return err 29 + } 30 + 31 + // Skip directories 32 + if info.IsDir() { 33 + return nil 34 + } 35 + 36 + // Open the file 37 + file, err := os.Open(path) 38 + if err != nil { 39 + return err 40 + } 41 + defer file.Close() 42 + 43 + // Create a header from the file info 44 + header, err := zip.FileInfoHeader(info) 45 + if err != nil { 46 + return err 47 + } 48 + 49 + // Set the compression method to deflate 50 + header.Method = zip.Deflate 51 + 52 + // Set the header name to the relative path of the file 53 + header.Name, err = filepath.Rel(source, path) 54 + if err != nil { 55 + return err 56 + } 57 + 58 + // Create a fout for the file header 59 + fout, err := w.CreateHeader(header) 60 + if err != nil { 61 + return err 62 + } 63 + 64 + // Copy the file contents to the writer 65 + _, err = io.Copy(fout, file) 66 + return err 67 + }) 68 + }
+180 -698
lume/deno.lock
··· 2 2 "version": "3", 3 3 "packages": { 4 4 "specifiers": { 5 - "npm:@headlessui/react": "npm:@headlessui/react@1.7.17_react@18.2.0_react-dom@18.2.0__react@18.2.0", 6 - "npm:@heroicons/react": "npm:@heroicons/react@2.0.18_react@18.2.0", 7 5 "npm:@mdx-js/mdx@2.3.0": "npm:@mdx-js/mdx@2.3.0", 8 6 "npm:@tailwindcss/forms": "npm:@tailwindcss/forms@0.5.6_tailwindcss@3.3.3__postcss@8.4.29", 9 7 "npm:@tailwindcss/typography": "npm:@tailwindcss/typography@0.5.10_tailwindcss@3.3.3__postcss@8.4.29", ··· 20 18 "npm:postcss-import@15.1.0": "npm:postcss-import@15.1.0_postcss@8.4.29", 21 19 "npm:postcss-nesting@12.0.1": "npm:postcss-nesting@12.0.1_postcss@8.4.29_postcss-selector-parser@6.0.13", 22 20 "npm:postcss@8.4.29": "npm:postcss@8.4.29", 23 - "npm:preact": "npm:preact@10.17.1", 21 + "npm:preact": "npm:preact@10.18.1", 24 22 "npm:preact-render-to-string@6.2.1": "npm:preact-render-to-string@6.2.1_preact@10.17.1", 25 23 "npm:preact@10.17.1": "npm:preact@10.17.1", 26 - "npm:react": "npm:react@18.2.0", 27 24 "npm:react-dom@18.2.0": "npm:react-dom@18.2.0_react@18.2.0", 28 25 "npm:react@18.2.0": "npm:react@18.2.0", 29 - "npm:rehype-mermaidjs": "npm:rehype-mermaidjs@2.0.0", 30 26 "npm:rehype-prism-plus": "npm:rehype-prism-plus@1.6.3", 31 27 "npm:rehype-raw@7.0.0": "npm:rehype-raw@7.0.0", 32 28 "npm:rehype-sanitize@6.0.0": "npm:rehype-sanitize@6.0.0", ··· 42 38 "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", 43 39 "dependencies": {} 44 40 }, 45 - "@babel/runtime@7.23.1": { 46 - "integrity": "sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g==", 41 + "@babel/runtime@7.23.2": { 42 + "integrity": "sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==", 47 43 "dependencies": { 48 44 "regenerator-runtime": "regenerator-runtime@0.14.0" 49 45 } 50 - }, 51 - "@braintree/sanitize-url@6.0.4": { 52 - "integrity": "sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==", 53 - "dependencies": {} 54 46 }, 55 47 "@csstools/selector-specificity@3.0.0_postcss-selector-parser@6.0.13": { 56 48 "integrity": "sha512-hBI9tfBtuPIi885ZsZ32IMEU/5nlZH/KOVYJCOh7gyMxaVLGmLedYqFN6Ui1LXkI8JlC8IsuC0rF0btcRZKd5g==", ··· 58 50 "postcss-selector-parser": "postcss-selector-parser@6.0.13" 59 51 } 60 52 }, 61 - "@fortawesome/fontawesome-free@6.4.2": { 62 - "integrity": "sha512-m5cPn3e2+FDCOgi1mz0RexTUvvQibBebOUlUlW0+YrMjDTPkiJ6VTKukA1GRsvRw+12KyJndNjj0O4AgTxm2Pg==", 63 - "dependencies": {} 64 - }, 65 - "@headlessui/react@1.7.17_react@18.2.0_react-dom@18.2.0__react@18.2.0": { 66 - "integrity": "sha512-4am+tzvkqDSSgiwrsEpGWqgGo9dz8qU5M3znCkC4PgkpY4HcCZzEDEvozltGGGHIKl9jbXbZPSH5TWn4sWJdow==", 67 - "dependencies": { 68 - "client-only": "client-only@0.0.1", 69 - "react": "react@18.2.0", 70 - "react-dom": "react-dom@18.2.0_react@18.2.0" 71 - } 72 - }, 73 - "@heroicons/react@2.0.18_react@18.2.0": { 74 - "integrity": "sha512-7TyMjRrZZMBPa+/5Y8lN0iyvUU/01PeMGX2+RE7cQWpEUIcb4QotzUObFkJDejj/HUH4qjP/eQ0gzzKs2f+6Yw==", 75 - "dependencies": { 76 - "react": "react@18.2.0" 77 - } 78 - }, 79 53 "@jridgewell/gen-mapping@0.3.3": { 80 54 "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", 81 55 "dependencies": { 82 56 "@jridgewell/set-array": "@jridgewell/set-array@1.1.2", 83 57 "@jridgewell/sourcemap-codec": "@jridgewell/sourcemap-codec@1.4.15", 84 - "@jridgewell/trace-mapping": "@jridgewell/trace-mapping@0.3.19" 58 + "@jridgewell/trace-mapping": "@jridgewell/trace-mapping@0.3.20" 85 59 } 86 60 }, 87 61 "@jridgewell/resolve-uri@3.1.1": { ··· 96 70 "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", 97 71 "dependencies": {} 98 72 }, 99 - "@jridgewell/trace-mapping@0.3.19": { 100 - "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", 73 + "@jridgewell/trace-mapping@0.3.20": { 74 + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", 101 75 "dependencies": { 102 76 "@jridgewell/resolve-uri": "@jridgewell/resolve-uri@3.1.1", 103 77 "@jridgewell/sourcemap-codec": "@jridgewell/sourcemap-codec@1.4.15" ··· 106 80 "@mdx-js/mdx@2.3.0": { 107 81 "integrity": "sha512-jLuwRlz8DQfQNiUCJR50Y09CGPq3fLtmtUQfVrj79E0JWu3dvsVcxVIcfhR5h0iXu+/z++zDrYeiJqifRynJkA==", 108 82 "dependencies": { 109 - "@types/estree-jsx": "@types/estree-jsx@1.0.1", 110 - "@types/mdx": "@types/mdx@2.0.8", 83 + "@types/estree-jsx": "@types/estree-jsx@1.0.2", 84 + "@types/mdx": "@types/mdx@2.0.9", 111 85 "estree-util-build-jsx": "estree-util-build-jsx@2.2.2", 112 86 "estree-util-is-identifier-name": "estree-util-is-identifier-name@2.1.0", 113 87 "estree-util-to-js": "estree-util-to-js@1.2.0", ··· 163 137 "@types/acorn@4.0.6": { 164 138 "integrity": "sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==", 165 139 "dependencies": { 166 - "@types/estree": "@types/estree@1.0.2" 140 + "@types/estree": "@types/estree@1.0.3" 167 141 } 168 142 }, 169 - "@types/d3-scale-chromatic@3.0.0": { 170 - "integrity": "sha512-dsoJGEIShosKVRBZB0Vo3C8nqSDqVGujJU6tPznsBJxNJNwMF8utmS83nvCBKQYPpjCzaaHcrf66iTRpZosLPw==", 171 - "dependencies": {} 172 - }, 173 - "@types/d3-scale@4.0.5": { 174 - "integrity": "sha512-w/C++3W394MHzcLKO2kdsIn5KKNTOqeQVzyPSGPLzQbkPw/jpeaGtSRlakcKevGgGsjJxGsbqS0fPrVFDbHrDA==", 175 - "dependencies": { 176 - "@types/d3-time": "@types/d3-time@3.0.1" 177 - } 178 - }, 179 - "@types/d3-time@3.0.1": { 180 - "integrity": "sha512-5j/AnefKAhCw4HpITmLDTPlf4vhi8o/dES+zbegfPb7LaGfNyqkLxBR6E+4yvTAgnJLmhe80EXFMzUs38fw4oA==", 181 - "dependencies": {} 182 - }, 183 - "@types/debug@4.1.9": { 184 - "integrity": "sha512-8Hz50m2eoS56ldRlepxSBa6PWEVCtzUo/92HgLc2qTMnotJNIm7xP+UZhyWoYsyOdd5dxZ+NZLb24rsKyFs2ow==", 143 + "@types/debug@4.1.10": { 144 + "integrity": "sha512-tOSCru6s732pofZ+sMv9o4o3Zc+Sa8l3bxd/tweTQudFn06vAzb13ZX46Zi6m6EJ+RUbRTHvgQJ1gBtSgkaUYA==", 185 145 "dependencies": { 186 - "@types/ms": "@types/ms@0.7.32" 146 + "@types/ms": "@types/ms@0.7.33" 187 147 } 188 148 }, 189 - "@types/estree-jsx@1.0.1": { 190 - "integrity": "sha512-sHyakZlAezNFxmYRo0fopDZW+XvK6ipeZkkp5EAOLjdPfZp8VjZBJ67vSRI99RSCAoqXVmXOHS4fnWoxpuGQtQ==", 149 + "@types/estree-jsx@1.0.2": { 150 + "integrity": "sha512-GNBWlGBMjiiiL5TSkvPtOteuXsiVitw5MYGY1UYlrAq0SKyczsls6sCD7TZ8fsjRsvCVxml7EbyjJezPb3DrSA==", 191 151 "dependencies": { 192 - "@types/estree": "@types/estree@1.0.2" 152 + "@types/estree": "@types/estree@1.0.3" 193 153 } 194 154 }, 195 - "@types/estree@1.0.2": { 196 - "integrity": "sha512-VeiPZ9MMwXjO32/Xu7+OwflfmeoRwkE/qzndw42gGtgJwZopBnzy2gD//NN1+go1mADzkDcqf/KnFRSjTJ8xJA==", 155 + "@types/estree@1.0.3": { 156 + "integrity": "sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ==", 197 157 "dependencies": {} 198 158 }, 199 - "@types/hast@2.3.6": { 200 - "integrity": "sha512-47rJE80oqPmFdVDCD7IheXBrVdwuBgsYwoczFvKmwfo2Mzsnt+V9OONsYauFmICb6lQPpCuXYJWejBNs4pDJRg==", 159 + "@types/hast@2.3.7": { 160 + "integrity": "sha512-EVLigw5zInURhzfXUM65eixfadfsHKomGKUakToXo84t8gGIJuTcD2xooM2See7GyQ7DRtYjhCHnSUQez8JaLw==", 201 161 "dependencies": { 202 - "@types/unist": "@types/unist@2.0.8" 162 + "@types/unist": "@types/unist@2.0.9" 203 163 } 204 164 }, 205 - "@types/hast@3.0.1": { 206 - "integrity": "sha512-hs/iBJx2aydugBQx5ETV3ZgeSS0oIreQrFJ4bjBl0XvM4wAmDjFEALY7p0rTSLt2eL+ibjRAAs9dTPiCLtmbqQ==", 165 + "@types/hast@3.0.2": { 166 + "integrity": "sha512-B5hZHgHsXvfCoO3xgNJvBnX7N8p86TqQeGKXcokW4XXi+qY4vxxPSFYofytvVmpFxzPv7oxDQzjg5Un5m2/xiw==", 207 167 "dependencies": { 208 - "@types/unist": "@types/unist@3.0.0" 168 + "@types/unist": "@types/unist@3.0.1" 209 169 } 210 170 }, 211 - "@types/mdast@3.0.13": { 212 - "integrity": "sha512-HjiGiWedR0DVFkeNljpa6Lv4/IZU1+30VY5d747K7lBudFc3R0Ibr6yJ9lN3BE28VnZyDfLF/VB1Ql1ZIbKrmg==", 171 + "@types/mdast@3.0.14": { 172 + "integrity": "sha512-gVZ04PGgw1qLZKsnWnyFv4ORnaJ+DXLdHTVSFbU8yX6xZ34Bjg4Q32yPkmveUP1yItXReKfB0Aknlh/3zxTKAw==", 213 173 "dependencies": { 214 - "@types/unist": "@types/unist@2.0.8" 174 + "@types/unist": "@types/unist@2.0.9" 215 175 } 216 176 }, 217 - "@types/mdast@4.0.1": { 218 - "integrity": "sha512-IlKct1rUTJ1T81d8OHzyop15kGv9A/ff7Gz7IJgrk6jDb4Udw77pCJ+vq8oxZf4Ghpm+616+i1s/LNg/Vh7d+g==", 177 + "@types/mdast@4.0.2": { 178 + "integrity": "sha512-tYR83EignvhYO9iU3kDg8V28M0jqyh9zzp5GV+EO+AYnyUl3P5ltkTeJuTiFZQFz670FSb3EwT/6LQdX+UdKfw==", 219 179 "dependencies": { 220 - "@types/unist": "@types/unist@3.0.0" 180 + "@types/unist": "@types/unist@3.0.1" 221 181 } 222 182 }, 223 - "@types/mdx@2.0.8": { 224 - "integrity": "sha512-r7/zWe+f9x+zjXqGxf821qz++ld8tp6Z4jUS6qmPZUXH6tfh4riXOhAqb12tWGWAevCFtMt1goLWkQMqIJKpsA==", 183 + "@types/mdx@2.0.9": { 184 + "integrity": "sha512-OKMdj17y8Cs+k1r0XFyp59ChSOwf8ODGtMQ4mnpfz5eFDk1aO41yN3pSKGuvVzmWAkFp37seubY1tzOVpwfWwg==", 225 185 "dependencies": {} 226 186 }, 227 - "@types/ms@0.7.32": { 228 - "integrity": "sha512-xPSg0jm4mqgEkNhowKgZFBNtwoEwF6gJ4Dhww+GFpm3IgtNseHQZ5IqdNwnquZEoANxyDAKDRAdVo4Z72VvD/g==", 187 + "@types/ms@0.7.33": { 188 + "integrity": "sha512-AuHIyzR5Hea7ij0P9q7vx7xu4z0C28ucwjAZC0ja7JhINyCnOw8/DnvAPQQ9TfOlCtZAmCERKQX9+o1mgQhuOQ==", 229 189 "dependencies": {} 230 190 }, 231 191 "@types/nunjucks@3.2.3": { 232 192 "integrity": "sha512-+lFIql0nbWSftazQ27cOYvSLC92SsfjxrU0I/Iys7hoxrBkN8OF+wmxxzx3bLFyFrLgDZ9lUckGcwldE4SfDQA==", 233 193 "dependencies": {} 234 194 }, 235 - "@types/prismjs@1.26.1": { 236 - "integrity": "sha512-Q7jDsRbzcNHIQje15CS/piKhu6lMLb9jwjxSfEIi4KcFKXW23GoJMkwQiJ8VObyfx+VmUaDcJxXaWN+cTCjVog==", 195 + "@types/prismjs@1.26.2": { 196 + "integrity": "sha512-/r7Cp7iUIk7gts26mHXD66geUC+2Fo26TZYjQK6Nr4LDfi6lmdRmMqM0oPwfiMhUwoBAOFe8GstKi2pf6hZvwA==", 237 197 "dependencies": {} 238 198 }, 239 - "@types/prop-types@15.7.7": { 240 - "integrity": "sha512-FbtmBWCcSa2J4zL781Zf1p5YUBXQomPEcep9QZCfRfQgTxz3pJWiDFLebohZ9fFntX5ibzOkSsrJ0TEew8cAog==", 199 + "@types/prop-types@15.7.9": { 200 + "integrity": "sha512-n1yyPsugYNSmHgxDFjicaI2+gCNjsBck8UX9kuofAKlc0h1bL+20oSF72KeNaW2DUlesbEVCFgyV2dPGTiY42g==", 241 201 "dependencies": {} 242 202 }, 243 203 "@types/react-dom@18.2.7": { ··· 249 209 "@types/react@18.2.18": { 250 210 "integrity": "sha512-da4NTSeBv/P34xoZPhtcLkmZuJ+oYaCxHmyHzwaDQo9RQPBeXV+06gEk2FpqEcsX9XrnNLvRpVh6bdavDSjtiQ==", 251 211 "dependencies": { 252 - "@types/prop-types": "@types/prop-types@15.7.7", 253 - "@types/scheduler": "@types/scheduler@0.16.4", 212 + "@types/prop-types": "@types/prop-types@15.7.9", 213 + "@types/scheduler": "@types/scheduler@0.16.5", 254 214 "csstype": "csstype@3.1.2" 255 215 } 256 216 }, 257 - "@types/scheduler@0.16.4": { 258 - "integrity": "sha512-2L9ifAGl7wmXwP4v3pN4p2FLhD0O1qsJpvKmNin5VA8+UvNVb447UDaAEV6UdrkA+m/Xs58U1RFps44x6TFsVQ==", 217 + "@types/scheduler@0.16.5": { 218 + "integrity": "sha512-s/FPdYRmZR8SjLWGMCuax7r3qCWQw9QKHzXVukAuuIJkXkDRwp+Pu5LMIVFi0Fxbav35WURicYr8u1QsoybnQw==", 259 219 "dependencies": {} 260 220 }, 261 - "@types/unist@2.0.8": { 262 - "integrity": "sha512-d0XxK3YTObnWVp6rZuev3c49+j4Lo8g4L1ZRm9z5L0xpoZycUPshHgczK5gsUMaZOstjVYYi09p5gYvUtfChYw==", 221 + "@types/unist@2.0.9": { 222 + "integrity": "sha512-zC0iXxAv1C1ERURduJueYzkzZ2zaGyc+P2c95hgkikHPr3z8EdUZOlgEQ5X0DRmwDZn+hekycQnoeiiRVrmilQ==", 263 223 "dependencies": {} 264 224 }, 265 - "@types/unist@3.0.0": { 266 - "integrity": "sha512-MFETx3tbTjE7Uk6vvnWINA/1iJ7LuMdO4fcq8UfF0pRbj01aGLduVvQcRyswuACJdpnHgg8E3rQLhaRdNEJS0w==", 225 + "@types/unist@3.0.1": { 226 + "integrity": "sha512-ue/hDUpPjC85m+PM9OQDMZr3LywT+CT6mPsQq8OJtCLiERkGRcQUFvu9XASF5XWqyZFXbf15lvb3JFJ4dRLWPg==", 267 227 "dependencies": {} 268 228 }, 269 229 "@ungap/structured-clone@1.2.0": { ··· 314 274 "autoprefixer@10.4.15_postcss@8.4.29": { 315 275 "integrity": "sha512-KCuPB8ZCIqFdA4HwKXsvz7j6gvSDNhDP7WnUjBleRkKjPdvCmHFuQ77ocavI8FT6NdvlBnE2UFr2H4Mycn8Vew==", 316 276 "dependencies": { 317 - "browserslist": "browserslist@4.22.0", 318 - "caniuse-lite": "caniuse-lite@1.0.30001540", 319 - "fraction.js": "fraction.js@4.3.6", 277 + "browserslist": "browserslist@4.22.1", 278 + "caniuse-lite": "caniuse-lite@1.0.30001551", 279 + "fraction.js": "fraction.js@4.3.7", 320 280 "normalize-range": "normalize-range@0.1.2", 321 281 "picocolors": "picocolors@1.0.0", 322 282 "postcss": "postcss@8.4.29", ··· 348 308 "fill-range": "fill-range@7.0.1" 349 309 } 350 310 }, 351 - "browserslist@4.22.0": { 352 - "integrity": "sha512-v+Jcv64L2LbfTC6OnRcaxtqJNJuQAVhZKSJfR/6hn7lhnChUXl4amwVviqN1k411BB+3rRoKMitELRn1CojeRA==", 311 + "browserslist@4.22.1": { 312 + "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", 353 313 "dependencies": { 354 - "caniuse-lite": "caniuse-lite@1.0.30001540", 355 - "electron-to-chromium": "electron-to-chromium@1.4.531", 314 + "caniuse-lite": "caniuse-lite@1.0.30001551", 315 + "electron-to-chromium": "electron-to-chromium@1.4.563", 356 316 "node-releases": "node-releases@2.0.13", 357 - "update-browserslist-db": "update-browserslist-db@1.0.13_browserslist@4.22.0" 317 + "update-browserslist-db": "update-browserslist-db@1.0.13_browserslist@4.22.1" 358 318 } 359 319 }, 360 320 "camelcase-css@2.0.1": { 361 321 "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", 362 322 "dependencies": {} 363 323 }, 364 - "caniuse-lite@1.0.30001540": { 365 - "integrity": "sha512-9JL38jscuTJBTcuETxm8QLsFr/F6v0CYYTEU6r5+qSM98P2Q0Hmu0eG1dTG5GBUmywU3UlcVOUSIJYY47rdFSw==", 324 + "caniuse-lite@1.0.30001551": { 325 + "integrity": "sha512-vtBAez47BoGMMzlbYhfXrMV1kvRF2WP/lqiMuDu1Sb4EE4LKEgjopFDSRtZfdVnslNRpOqV/woE+Xgrwj6VQlg==", 366 326 "dependencies": {} 367 327 }, 368 328 "ccount@2.0.1": { ··· 398 358 "readdirp": "readdirp@3.6.0" 399 359 } 400 360 }, 401 - "client-only@0.0.1": { 402 - "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", 403 - "dependencies": {} 404 - }, 405 361 "comma-separated-tokens@2.0.3": { 406 362 "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", 407 363 "dependencies": {} ··· 414 370 "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", 415 371 "dependencies": {} 416 372 }, 417 - "commander@7.2.0": { 418 - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", 419 - "dependencies": {} 420 - }, 421 373 "concat-map@0.0.1": { 422 374 "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 423 375 "dependencies": {} 424 376 }, 425 - "cose-base@1.0.3": { 426 - "integrity": "sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==", 427 - "dependencies": { 428 - "layout-base": "layout-base@1.0.2" 429 - } 430 - }, 431 - "cose-base@2.2.0": { 432 - "integrity": "sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==", 433 - "dependencies": { 434 - "layout-base": "layout-base@2.0.1" 435 - } 436 - }, 437 377 "cssesc@3.0.0": { 438 378 "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", 439 379 "dependencies": {} ··· 442 382 "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", 443 383 "dependencies": {} 444 384 }, 445 - "cytoscape-cose-bilkent@4.1.0_cytoscape@3.26.0": { 446 - "integrity": "sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==", 447 - "dependencies": { 448 - "cose-base": "cose-base@1.0.3", 449 - "cytoscape": "cytoscape@3.26.0" 450 - } 451 - }, 452 - "cytoscape-fcose@2.2.0_cytoscape@3.26.0": { 453 - "integrity": "sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==", 454 - "dependencies": { 455 - "cose-base": "cose-base@2.2.0", 456 - "cytoscape": "cytoscape@3.26.0" 457 - } 458 - }, 459 - "cytoscape@3.26.0": { 460 - "integrity": "sha512-IV+crL+KBcrCnVVUCZW+zRRRFUZQcrtdOPXki+o4CFUWLdAEYvuZLcBSJC9EBK++suamERKzeY7roq2hdovV3w==", 461 - "dependencies": { 462 - "heap": "heap@0.2.7", 463 - "lodash": "lodash@4.17.21" 464 - } 465 - }, 466 - "d3-array@2.12.1": { 467 - "integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==", 468 - "dependencies": { 469 - "internmap": "internmap@1.0.1" 470 - } 471 - }, 472 - "d3-array@3.2.4": { 473 - "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", 474 - "dependencies": { 475 - "internmap": "internmap@2.0.3" 476 - } 477 - }, 478 - "d3-axis@3.0.0": { 479 - "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==", 480 - "dependencies": {} 481 - }, 482 - "d3-brush@3.0.0_d3-selection@3.0.0": { 483 - "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==", 484 - "dependencies": { 485 - "d3-dispatch": "d3-dispatch@3.0.1", 486 - "d3-drag": "d3-drag@3.0.0", 487 - "d3-interpolate": "d3-interpolate@3.0.1", 488 - "d3-selection": "d3-selection@3.0.0", 489 - "d3-transition": "d3-transition@3.0.1_d3-selection@3.0.0" 490 - } 491 - }, 492 - "d3-chord@3.0.1": { 493 - "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==", 494 - "dependencies": { 495 - "d3-path": "d3-path@3.1.0" 496 - } 497 - }, 498 - "d3-color@3.1.0": { 499 - "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", 500 - "dependencies": {} 501 - }, 502 - "d3-contour@4.0.2": { 503 - "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==", 504 - "dependencies": { 505 - "d3-array": "d3-array@3.2.4" 506 - } 507 - }, 508 - "d3-delaunay@6.0.4": { 509 - "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==", 510 - "dependencies": { 511 - "delaunator": "delaunator@5.0.0" 512 - } 513 - }, 514 - "d3-dispatch@3.0.1": { 515 - "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", 516 - "dependencies": {} 517 - }, 518 - "d3-drag@3.0.0": { 519 - "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", 520 - "dependencies": { 521 - "d3-dispatch": "d3-dispatch@3.0.1", 522 - "d3-selection": "d3-selection@3.0.0" 523 - } 524 - }, 525 - "d3-dsv@3.0.1": { 526 - "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", 527 - "dependencies": { 528 - "commander": "commander@7.2.0", 529 - "iconv-lite": "iconv-lite@0.6.3", 530 - "rw": "rw@1.3.3" 531 - } 532 - }, 533 - "d3-ease@3.0.1": { 534 - "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", 535 - "dependencies": {} 536 - }, 537 - "d3-fetch@3.0.1": { 538 - "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==", 539 - "dependencies": { 540 - "d3-dsv": "d3-dsv@3.0.1" 541 - } 542 - }, 543 - "d3-force@3.0.0": { 544 - "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", 545 - "dependencies": { 546 - "d3-dispatch": "d3-dispatch@3.0.1", 547 - "d3-quadtree": "d3-quadtree@3.0.1", 548 - "d3-timer": "d3-timer@3.0.1" 549 - } 550 - }, 551 - "d3-format@3.1.0": { 552 - "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", 553 - "dependencies": {} 554 - }, 555 - "d3-geo@3.1.0": { 556 - "integrity": "sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA==", 557 - "dependencies": { 558 - "d3-array": "d3-array@3.2.4" 559 - } 560 - }, 561 - "d3-hierarchy@3.1.2": { 562 - "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==", 563 - "dependencies": {} 564 - }, 565 - "d3-interpolate@3.0.1": { 566 - "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", 567 - "dependencies": { 568 - "d3-color": "d3-color@3.1.0" 569 - } 570 - }, 571 - "d3-path@1.0.9": { 572 - "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==", 573 - "dependencies": {} 574 - }, 575 - "d3-path@3.1.0": { 576 - "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", 577 - "dependencies": {} 578 - }, 579 - "d3-polygon@3.0.1": { 580 - "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==", 581 - "dependencies": {} 582 - }, 583 - "d3-quadtree@3.0.1": { 584 - "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==", 585 - "dependencies": {} 586 - }, 587 - "d3-random@3.0.1": { 588 - "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==", 589 - "dependencies": {} 590 - }, 591 - "d3-sankey@0.12.3": { 592 - "integrity": "sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==", 593 - "dependencies": { 594 - "d3-array": "d3-array@2.12.1", 595 - "d3-shape": "d3-shape@1.3.7" 596 - } 597 - }, 598 - "d3-scale-chromatic@3.0.0": { 599 - "integrity": "sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==", 600 - "dependencies": { 601 - "d3-color": "d3-color@3.1.0", 602 - "d3-interpolate": "d3-interpolate@3.0.1" 603 - } 604 - }, 605 - "d3-scale@4.0.2": { 606 - "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", 607 - "dependencies": { 608 - "d3-array": "d3-array@3.2.4", 609 - "d3-format": "d3-format@3.1.0", 610 - "d3-interpolate": "d3-interpolate@3.0.1", 611 - "d3-time": "d3-time@3.1.0", 612 - "d3-time-format": "d3-time-format@4.1.0" 613 - } 614 - }, 615 - "d3-selection@3.0.0": { 616 - "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", 617 - "dependencies": {} 618 - }, 619 - "d3-shape@1.3.7": { 620 - "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==", 621 - "dependencies": { 622 - "d3-path": "d3-path@1.0.9" 623 - } 624 - }, 625 - "d3-shape@3.2.0": { 626 - "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", 627 - "dependencies": { 628 - "d3-path": "d3-path@3.1.0" 629 - } 630 - }, 631 - "d3-time-format@4.1.0": { 632 - "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", 633 - "dependencies": { 634 - "d3-time": "d3-time@3.1.0" 635 - } 636 - }, 637 - "d3-time@3.1.0": { 638 - "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", 639 - "dependencies": { 640 - "d3-array": "d3-array@3.2.4" 641 - } 642 - }, 643 - "d3-timer@3.0.1": { 644 - "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", 645 - "dependencies": {} 646 - }, 647 - "d3-transition@3.0.1_d3-selection@3.0.0": { 648 - "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", 649 - "dependencies": { 650 - "d3-color": "d3-color@3.1.0", 651 - "d3-dispatch": "d3-dispatch@3.0.1", 652 - "d3-ease": "d3-ease@3.0.1", 653 - "d3-interpolate": "d3-interpolate@3.0.1", 654 - "d3-selection": "d3-selection@3.0.0", 655 - "d3-timer": "d3-timer@3.0.1" 656 - } 657 - }, 658 - "d3-zoom@3.0.0_d3-selection@3.0.0": { 659 - "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", 660 - "dependencies": { 661 - "d3-dispatch": "d3-dispatch@3.0.1", 662 - "d3-drag": "d3-drag@3.0.0", 663 - "d3-interpolate": "d3-interpolate@3.0.1", 664 - "d3-selection": "d3-selection@3.0.0", 665 - "d3-transition": "d3-transition@3.0.1_d3-selection@3.0.0" 666 - } 667 - }, 668 - "d3@7.8.5_d3-selection@3.0.0": { 669 - "integrity": "sha512-JgoahDG51ncUfJu6wX/1vWQEqOflgXyl4MaHqlcSruTez7yhaRKR9i8VjjcQGeS2en/jnFivXuaIMnseMMt0XA==", 670 - "dependencies": { 671 - "d3-array": "d3-array@3.2.4", 672 - "d3-axis": "d3-axis@3.0.0", 673 - "d3-brush": "d3-brush@3.0.0_d3-selection@3.0.0", 674 - "d3-chord": "d3-chord@3.0.1", 675 - "d3-color": "d3-color@3.1.0", 676 - "d3-contour": "d3-contour@4.0.2", 677 - "d3-delaunay": "d3-delaunay@6.0.4", 678 - "d3-dispatch": "d3-dispatch@3.0.1", 679 - "d3-drag": "d3-drag@3.0.0", 680 - "d3-dsv": "d3-dsv@3.0.1", 681 - "d3-ease": "d3-ease@3.0.1", 682 - "d3-fetch": "d3-fetch@3.0.1", 683 - "d3-force": "d3-force@3.0.0", 684 - "d3-format": "d3-format@3.1.0", 685 - "d3-geo": "d3-geo@3.1.0", 686 - "d3-hierarchy": "d3-hierarchy@3.1.2", 687 - "d3-interpolate": "d3-interpolate@3.0.1", 688 - "d3-path": "d3-path@3.1.0", 689 - "d3-polygon": "d3-polygon@3.0.1", 690 - "d3-quadtree": "d3-quadtree@3.0.1", 691 - "d3-random": "d3-random@3.0.1", 692 - "d3-scale": "d3-scale@4.0.2", 693 - "d3-scale-chromatic": "d3-scale-chromatic@3.0.0", 694 - "d3-selection": "d3-selection@3.0.0", 695 - "d3-shape": "d3-shape@3.2.0", 696 - "d3-time": "d3-time@3.1.0", 697 - "d3-time-format": "d3-time-format@4.1.0", 698 - "d3-timer": "d3-timer@3.0.1", 699 - "d3-transition": "d3-transition@3.0.1_d3-selection@3.0.0", 700 - "d3-zoom": "d3-zoom@3.0.0_d3-selection@3.0.0" 701 - } 702 - }, 703 - "dagre-d3-es@7.0.10": { 704 - "integrity": "sha512-qTCQmEhcynucuaZgY5/+ti3X/rnszKZhEQH/ZdWdtP1tA/y3VoHJzcVrO9pjjJCNpigfscAtoUB5ONcd2wNn0A==", 705 - "dependencies": { 706 - "d3": "d3@7.8.5_d3-selection@3.0.0", 707 - "lodash-es": "lodash-es@4.17.21" 708 - } 709 - }, 710 385 "date-fns@2.30.0": { 711 386 "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", 712 387 "dependencies": { 713 - "@babel/runtime": "@babel/runtime@7.23.1" 388 + "@babel/runtime": "@babel/runtime@7.23.2" 714 389 } 715 390 }, 716 - "dayjs@1.11.10": { 717 - "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==", 718 - "dependencies": {} 719 - }, 720 391 "debug@4.3.4": { 721 392 "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 722 393 "dependencies": { ··· 727 398 "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", 728 399 "dependencies": { 729 400 "character-entities": "character-entities@2.0.2" 730 - } 731 - }, 732 - "delaunator@5.0.0": { 733 - "integrity": "sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw==", 734 - "dependencies": { 735 - "robust-predicates": "robust-predicates@3.0.2" 736 401 } 737 402 }, 738 403 "dequal@2.0.3": { ··· 757 422 "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", 758 423 "dependencies": {} 759 424 }, 760 - "dompurify@3.0.6": { 761 - "integrity": "sha512-ilkD8YEnnGh1zJ240uJsW7AzE+2qpbOUYjacomn3AvJ6J4JhKGSZ2nh4wUIXPZrEPppaCLx5jFe8T89Rk8tQ7w==", 762 - "dependencies": {} 763 - }, 764 - "electron-to-chromium@1.4.531": { 765 - "integrity": "sha512-H6gi5E41Rn3/mhKlPaT1aIMg/71hTAqn0gYEllSuw9igNWtvQwu185jiCZoZD29n7Zukgh7GVZ3zGf0XvkhqjQ==", 766 - "dependencies": {} 767 - }, 768 - "elkjs@0.8.2": { 769 - "integrity": "sha512-L6uRgvZTH+4OF5NE/MBbzQx/WYpru1xCBE9respNj6qznEewGUIfhzmm7horWWxbNO2M0WckQypGctR8lH79xQ==", 425 + "electron-to-chromium@1.4.563": { 426 + "integrity": "sha512-dg5gj5qOgfZNkPNeyKBZQAQitIQ/xwfIDmEQJHCbXaD9ebTZxwJXUsDYcBlAvZGZLi+/354l35J1wkmP6CqYaw==", 770 427 "dependencies": {} 771 428 }, 772 429 "entities@3.0.1": { ··· 788 445 "estree-util-attach-comments@2.1.1": { 789 446 "integrity": "sha512-+5Ba/xGGS6mnwFbXIuQiDPTbuTxuMCooq3arVv7gPZtYpjp+VXH/NkHAP35OOefPhNG/UGqU3vt/LTABwcHX0w==", 790 447 "dependencies": { 791 - "@types/estree": "@types/estree@1.0.2" 448 + "@types/estree": "@types/estree@1.0.3" 792 449 } 793 450 }, 794 451 "estree-util-build-jsx@2.2.2": { 795 452 "integrity": "sha512-m56vOXcOBuaF+Igpb9OPAy7f9w9OIkb5yhjsZuaPm7HoGi4oTOQi0h2+yZ+AtKklYFZ+rPC4n0wYCJCEU1ONqg==", 796 453 "dependencies": { 797 - "@types/estree-jsx": "@types/estree-jsx@1.0.1", 454 + "@types/estree-jsx": "@types/estree-jsx@1.0.2", 798 455 "estree-util-is-identifier-name": "estree-util-is-identifier-name@2.1.0", 799 456 "estree-walker": "estree-walker@3.0.3" 800 457 } ··· 806 463 "estree-util-to-js@1.2.0": { 807 464 "integrity": "sha512-IzU74r1PK5IMMGZXUVZbmiu4A1uhiPgW5hm1GjcOfr4ZzHaMPpLNJjR7HjXiIOzi25nZDrgFTobHTkV5Q6ITjA==", 808 465 "dependencies": { 809 - "@types/estree-jsx": "@types/estree-jsx@1.0.1", 466 + "@types/estree-jsx": "@types/estree-jsx@1.0.2", 810 467 "astring": "astring@1.8.6", 811 468 "source-map": "source-map@0.7.4" 812 469 } ··· 814 471 "estree-util-visit@1.2.1": { 815 472 "integrity": "sha512-xbgqcrkIVbIG+lI/gzbvd9SGTJL4zqJKBFttUl5pP27KhAjtMKbX/mQXJ7qgyXpMgVy/zvpm0xoQQaGL8OloOw==", 816 473 "dependencies": { 817 - "@types/estree-jsx": "@types/estree-jsx@1.0.1", 818 - "@types/unist": "@types/unist@2.0.8" 474 + "@types/estree-jsx": "@types/estree-jsx@1.0.2", 475 + "@types/unist": "@types/unist@2.0.9" 819 476 } 820 477 }, 821 478 "estree-walker@3.0.3": { 822 479 "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", 823 480 "dependencies": { 824 - "@types/estree": "@types/estree@1.0.2" 481 + "@types/estree": "@types/estree@1.0.3" 825 482 } 826 483 }, 827 484 "extend@3.0.2": { ··· 850 507 "to-regex-range": "to-regex-range@5.0.1" 851 508 } 852 509 }, 853 - "fraction.js@4.3.6": { 854 - "integrity": "sha512-n2aZ9tNfYDwaHhvFTkhFErqOMIb8uyzSQ+vGJBjZyanAKZVbGUQ1sngfk9FdkBw7G26O7AgNjLcecLffD1c7eg==", 510 + "fraction.js@4.3.7": { 511 + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", 855 512 "dependencies": {} 856 513 }, 857 514 "fs.realpath@1.0.0": { ··· 862 519 "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", 863 520 "dependencies": {} 864 521 }, 865 - "function-bind@1.1.1": { 866 - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 522 + "function-bind@1.1.2": { 523 + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", 867 524 "dependencies": {} 868 525 }, 869 526 "glob-parent@5.1.2": { ··· 889 546 "path-is-absolute": "path-is-absolute@1.0.1" 890 547 } 891 548 }, 892 - "has@1.0.3": { 893 - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 894 - "dependencies": { 895 - "function-bind": "function-bind@1.1.1" 896 - } 897 - }, 898 - "hast-util-from-dom@5.0.0": { 899 - "integrity": "sha512-d6235voAp/XR3Hh5uy7aGLbM3S4KamdW0WEgOaU1YoewnuYw4HXb5eRtv9g65m/RFGEfUY1Mw4UqCc5Y8L4Stg==", 900 - "dependencies": { 901 - "@types/hast": "@types/hast@3.0.1", 902 - "hastscript": "hastscript@8.0.0", 903 - "web-namespaces": "web-namespaces@2.0.1" 904 - } 905 - }, 906 - "hast-util-from-html-isomorphic@2.0.0": { 907 - "integrity": "sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw==", 908 - "dependencies": { 909 - "@types/hast": "@types/hast@3.0.1", 910 - "hast-util-from-dom": "hast-util-from-dom@5.0.0", 911 - "hast-util-from-html": "hast-util-from-html@2.0.1", 912 - "unist-util-remove-position": "unist-util-remove-position@5.0.0" 913 - } 914 - }, 915 - "hast-util-from-html@2.0.1": { 916 - "integrity": "sha512-RXQBLMl9kjKVNkJTIO6bZyb2n+cUH8LFaSSzo82jiLT6Tfc+Pt7VQCS+/h3YwG4jaNE2TA2sdJisGWR+aJrp0g==", 549 + "hasown@2.0.0": { 550 + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", 917 551 "dependencies": { 918 - "@types/hast": "@types/hast@3.0.1", 919 - "devlop": "devlop@1.1.0", 920 - "hast-util-from-parse5": "hast-util-from-parse5@8.0.1", 921 - "parse5": "parse5@7.1.2", 922 - "vfile": "vfile@6.0.1", 923 - "vfile-message": "vfile-message@4.0.2" 552 + "function-bind": "function-bind@1.1.2" 924 553 } 925 554 }, 926 555 "hast-util-from-parse5@7.1.2": { 927 556 "integrity": "sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==", 928 557 "dependencies": { 929 - "@types/hast": "@types/hast@2.3.6", 930 - "@types/unist": "@types/unist@2.0.8", 558 + "@types/hast": "@types/hast@2.3.7", 559 + "@types/unist": "@types/unist@2.0.9", 931 560 "hastscript": "hastscript@7.2.0", 932 561 "property-information": "property-information@6.3.0", 933 562 "vfile": "vfile@5.3.7", ··· 938 567 "hast-util-from-parse5@8.0.1": { 939 568 "integrity": "sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==", 940 569 "dependencies": { 941 - "@types/hast": "@types/hast@3.0.1", 942 - "@types/unist": "@types/unist@3.0.0", 570 + "@types/hast": "@types/hast@3.0.2", 571 + "@types/unist": "@types/unist@3.0.1", 943 572 "devlop": "devlop@1.1.0", 944 573 "hastscript": "hastscript@8.0.0", 945 574 "property-information": "property-information@6.3.0", ··· 948 577 "web-namespaces": "web-namespaces@2.0.1" 949 578 } 950 579 }, 951 - "hast-util-is-element@3.0.0": { 952 - "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", 953 - "dependencies": { 954 - "@types/hast": "@types/hast@3.0.1" 955 - } 956 - }, 957 580 "hast-util-parse-selector@3.1.1": { 958 581 "integrity": "sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==", 959 582 "dependencies": { 960 - "@types/hast": "@types/hast@2.3.6" 583 + "@types/hast": "@types/hast@2.3.7" 961 584 } 962 585 }, 963 586 "hast-util-parse-selector@4.0.0": { 964 587 "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", 965 588 "dependencies": { 966 - "@types/hast": "@types/hast@3.0.1" 589 + "@types/hast": "@types/hast@3.0.2" 967 590 } 968 591 }, 969 592 "hast-util-raw@9.0.1": { 970 593 "integrity": "sha512-5m1gmba658Q+lO5uqL5YNGQWeh1MYWZbZmWrM5lncdcuiXuo5E2HT/CIOp0rLF8ksfSwiCVJ3twlgVRyTGThGA==", 971 594 "dependencies": { 972 - "@types/hast": "@types/hast@3.0.1", 973 - "@types/unist": "@types/unist@3.0.0", 595 + "@types/hast": "@types/hast@3.0.2", 596 + "@types/unist": "@types/unist@3.0.1", 974 597 "@ungap/structured-clone": "@ungap/structured-clone@1.2.0", 975 598 "hast-util-from-parse5": "hast-util-from-parse5@8.0.1", 976 599 "hast-util-to-parse5": "hast-util-to-parse5@8.0.0", ··· 987 610 "hast-util-sanitize@5.0.0": { 988 611 "integrity": "sha512-L0g/qhOA82zG2hA3O29hnlv4mLU7YVVT1if5JZSr2tKO1ywkQbuMDcN05btgX0HtpqDXQniAM0ar0K+Lv4MDBQ==", 989 612 "dependencies": { 990 - "@types/hast": "@types/hast@3.0.1", 613 + "@types/hast": "@types/hast@3.0.2", 991 614 "@ungap/structured-clone": "@ungap/structured-clone@1.2.0", 992 615 "unist-util-position": "unist-util-position@5.0.0" 993 616 } ··· 995 618 "hast-util-to-estree@2.3.3": { 996 619 "integrity": "sha512-ihhPIUPxN0v0w6M5+IiAZZrn0LH2uZomeWwhn7uP7avZC6TE7lIiEh2yBMPr5+zi1aUCXq6VoYRgs2Bw9xmycQ==", 997 620 "dependencies": { 998 - "@types/estree": "@types/estree@1.0.2", 999 - "@types/estree-jsx": "@types/estree-jsx@1.0.1", 1000 - "@types/hast": "@types/hast@2.3.6", 1001 - "@types/unist": "@types/unist@2.0.8", 621 + "@types/estree": "@types/estree@1.0.3", 622 + "@types/estree-jsx": "@types/estree-jsx@1.0.2", 623 + "@types/hast": "@types/hast@2.3.7", 624 + "@types/unist": "@types/unist@2.0.9", 1002 625 "comma-separated-tokens": "comma-separated-tokens@2.0.3", 1003 626 "estree-util-attach-comments": "estree-util-attach-comments@2.1.1", 1004 627 "estree-util-is-identifier-name": "estree-util-is-identifier-name@2.1.0", ··· 1007 630 "mdast-util-mdxjs-esm": "mdast-util-mdxjs-esm@1.3.1", 1008 631 "property-information": "property-information@6.3.0", 1009 632 "space-separated-tokens": "space-separated-tokens@2.0.2", 1010 - "style-to-object": "style-to-object@0.4.2", 633 + "style-to-object": "style-to-object@0.4.4", 1011 634 "unist-util-position": "unist-util-position@4.0.4", 1012 635 "zwitch": "zwitch@2.0.4" 1013 636 } ··· 1015 638 "hast-util-to-html@9.0.0": { 1016 639 "integrity": "sha512-IVGhNgg7vANuUA2XKrT6sOIIPgaYZnmLx3l/CCOAK0PtgfoHrZwX7jCSYyFxHTrGmC6S9q8aQQekjp4JPZF+cw==", 1017 640 "dependencies": { 1018 - "@types/hast": "@types/hast@3.0.1", 1019 - "@types/unist": "@types/unist@3.0.0", 641 + "@types/hast": "@types/hast@3.0.2", 642 + "@types/unist": "@types/unist@3.0.1", 1020 643 "ccount": "ccount@2.0.1", 1021 644 "comma-separated-tokens": "comma-separated-tokens@2.0.3", 1022 645 "hast-util-raw": "hast-util-raw@9.0.1", ··· 1032 655 "hast-util-to-parse5@8.0.0": { 1033 656 "integrity": "sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==", 1034 657 "dependencies": { 1035 - "@types/hast": "@types/hast@3.0.1", 658 + "@types/hast": "@types/hast@3.0.2", 1036 659 "comma-separated-tokens": "comma-separated-tokens@2.0.3", 1037 660 "devlop": "devlop@1.1.0", 1038 661 "property-information": "property-information@6.3.0", ··· 1044 667 "hast-util-to-string@2.0.0": { 1045 668 "integrity": "sha512-02AQ3vLhuH3FisaMM+i/9sm4OXGSq1UhOOCpTLLQtHdL3tZt7qil69r8M8iDkZYyC0HCFylcYoP+8IO7ddta1A==", 1046 669 "dependencies": { 1047 - "@types/hast": "@types/hast@2.3.6" 1048 - } 1049 - }, 1050 - "hast-util-to-text@4.0.0": { 1051 - "integrity": "sha512-EWiE1FSArNBPUo1cKWtzqgnuRQwEeQbQtnFJRYV1hb1BWDgrAlBU0ExptvZMM/KSA82cDpm2sFGf3Dmc5Mza3w==", 1052 - "dependencies": { 1053 - "@types/hast": "@types/hast@3.0.1", 1054 - "@types/unist": "@types/unist@3.0.0", 1055 - "hast-util-is-element": "hast-util-is-element@3.0.0", 1056 - "unist-util-find-after": "unist-util-find-after@5.0.0" 670 + "@types/hast": "@types/hast@2.3.7" 1057 671 } 1058 672 }, 1059 673 "hast-util-whitespace@2.0.1": { ··· 1063 677 "hast-util-whitespace@3.0.0": { 1064 678 "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", 1065 679 "dependencies": { 1066 - "@types/hast": "@types/hast@3.0.1" 680 + "@types/hast": "@types/hast@3.0.2" 1067 681 } 1068 682 }, 1069 683 "hastscript@7.2.0": { 1070 684 "integrity": "sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==", 1071 685 "dependencies": { 1072 - "@types/hast": "@types/hast@2.3.6", 686 + "@types/hast": "@types/hast@2.3.7", 1073 687 "comma-separated-tokens": "comma-separated-tokens@2.0.3", 1074 688 "hast-util-parse-selector": "hast-util-parse-selector@3.1.1", 1075 689 "property-information": "property-information@6.3.0", ··· 1079 693 "hastscript@8.0.0": { 1080 694 "integrity": "sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==", 1081 695 "dependencies": { 1082 - "@types/hast": "@types/hast@3.0.1", 696 + "@types/hast": "@types/hast@3.0.2", 1083 697 "comma-separated-tokens": "comma-separated-tokens@2.0.3", 1084 698 "hast-util-parse-selector": "hast-util-parse-selector@4.0.0", 1085 699 "property-information": "property-information@6.3.0", 1086 700 "space-separated-tokens": "space-separated-tokens@2.0.2" 1087 701 } 1088 702 }, 1089 - "heap@0.2.7": { 1090 - "integrity": "sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==", 1091 - "dependencies": {} 1092 - }, 1093 703 "hls.js@1.4.12": { 1094 704 "integrity": "sha512-1RBpx2VihibzE3WE9kGoVCtrhhDWTzydzElk/kyRbEOLnb1WIE+3ZabM/L8BqKFTCL3pUy4QzhXgD1Q6Igr1JA==", 1095 705 "dependencies": {} ··· 1098 708 "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", 1099 709 "dependencies": {} 1100 710 }, 1101 - "iconv-lite@0.6.3": { 1102 - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", 1103 - "dependencies": { 1104 - "safer-buffer": "safer-buffer@2.1.2" 1105 - } 1106 - }, 1107 711 "inflight@1.0.6": { 1108 712 "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", 1109 713 "dependencies": { ··· 1119 723 "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==", 1120 724 "dependencies": {} 1121 725 }, 1122 - "internmap@1.0.1": { 1123 - "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==", 1124 - "dependencies": {} 1125 - }, 1126 - "internmap@2.0.3": { 1127 - "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", 1128 - "dependencies": {} 1129 - }, 1130 726 "is-alphabetical@2.0.1": { 1131 727 "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", 1132 728 "dependencies": {} ··· 1148 744 "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", 1149 745 "dependencies": {} 1150 746 }, 1151 - "is-core-module@2.13.0": { 1152 - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", 747 + "is-core-module@2.13.1": { 748 + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", 1153 749 "dependencies": { 1154 - "has": "has@1.0.3" 750 + "hasown": "hasown@2.0.0" 1155 751 } 1156 752 }, 1157 753 "is-decimal@2.0.1": { ··· 1183 779 "is-reference@3.0.2": { 1184 780 "integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==", 1185 781 "dependencies": { 1186 - "@types/estree": "@types/estree@1.0.2" 782 + "@types/estree": "@types/estree@1.0.3" 1187 783 } 1188 784 }, 1189 785 "jiti@1.20.0": { ··· 1194 790 "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 1195 791 "dependencies": {} 1196 792 }, 1197 - "khroma@2.0.0": { 1198 - "integrity": "sha512-2J8rDNlQWbtiNYThZRvmMv5yt44ZakX+Tz5ZIp/mN1pt4snn+m030Va5Z4v8xA0cQFDXBwO/8i42xL4QPsVk3g==", 1199 - "dependencies": {} 1200 - }, 1201 793 "kleur@4.1.5": { 1202 794 "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", 1203 795 "dependencies": {} 1204 796 }, 1205 - "layout-base@1.0.2": { 1206 - "integrity": "sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==", 1207 - "dependencies": {} 1208 - }, 1209 - "layout-base@2.0.1": { 1210 - "integrity": "sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==", 1211 - "dependencies": {} 1212 - }, 1213 797 "lilconfig@2.1.0": { 1214 798 "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", 1215 799 "dependencies": {} ··· 1224 808 "uc.micro": "uc.micro@1.0.6" 1225 809 } 1226 810 }, 1227 - "lodash-es@4.17.21": { 1228 - "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", 1229 - "dependencies": {} 1230 - }, 1231 811 "lodash.castarray@4.4.0": { 1232 812 "integrity": "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==", 1233 813 "dependencies": {} ··· 1238 818 }, 1239 819 "lodash.merge@4.6.2": { 1240 820 "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", 1241 - "dependencies": {} 1242 - }, 1243 - "lodash@4.17.21": { 1244 - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", 1245 821 "dependencies": {} 1246 822 }, 1247 823 "longest-streak@3.1.0": { ··· 1285 861 "mdast-util-definitions@5.1.2": { 1286 862 "integrity": "sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==", 1287 863 "dependencies": { 1288 - "@types/mdast": "@types/mdast@3.0.13", 1289 - "@types/unist": "@types/unist@2.0.8", 864 + "@types/mdast": "@types/mdast@3.0.14", 865 + "@types/unist": "@types/unist@2.0.9", 1290 866 "unist-util-visit": "unist-util-visit@4.1.2" 1291 867 } 1292 868 }, 1293 869 "mdast-util-find-and-replace@2.2.2": { 1294 870 "integrity": "sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==", 1295 871 "dependencies": { 1296 - "@types/mdast": "@types/mdast@3.0.13", 872 + "@types/mdast": "@types/mdast@3.0.14", 1297 873 "escape-string-regexp": "escape-string-regexp@5.0.0", 1298 874 "unist-util-is": "unist-util-is@5.2.1", 1299 875 "unist-util-visit-parents": "unist-util-visit-parents@5.1.3" ··· 1302 878 "mdast-util-from-markdown@1.3.1": { 1303 879 "integrity": "sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==", 1304 880 "dependencies": { 1305 - "@types/mdast": "@types/mdast@3.0.13", 1306 - "@types/unist": "@types/unist@2.0.8", 881 + "@types/mdast": "@types/mdast@3.0.14", 882 + "@types/unist": "@types/unist@2.0.9", 1307 883 "decode-named-character-reference": "decode-named-character-reference@1.0.2", 1308 884 "mdast-util-to-string": "mdast-util-to-string@3.2.0", 1309 885 "micromark": "micromark@3.2.0", ··· 1319 895 "mdast-util-gfm-autolink-literal@1.0.3": { 1320 896 "integrity": "sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==", 1321 897 "dependencies": { 1322 - "@types/mdast": "@types/mdast@3.0.13", 898 + "@types/mdast": "@types/mdast@3.0.14", 1323 899 "ccount": "ccount@2.0.1", 1324 900 "mdast-util-find-and-replace": "mdast-util-find-and-replace@2.2.2", 1325 901 "micromark-util-character": "micromark-util-character@1.2.0" ··· 1328 904 "mdast-util-gfm-footnote@1.0.2": { 1329 905 "integrity": "sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==", 1330 906 "dependencies": { 1331 - "@types/mdast": "@types/mdast@3.0.13", 907 + "@types/mdast": "@types/mdast@3.0.14", 1332 908 "mdast-util-to-markdown": "mdast-util-to-markdown@1.5.0", 1333 909 "micromark-util-normalize-identifier": "micromark-util-normalize-identifier@1.1.0" 1334 910 } ··· 1336 912 "mdast-util-gfm-strikethrough@1.0.3": { 1337 913 "integrity": "sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==", 1338 914 "dependencies": { 1339 - "@types/mdast": "@types/mdast@3.0.13", 915 + "@types/mdast": "@types/mdast@3.0.14", 1340 916 "mdast-util-to-markdown": "mdast-util-to-markdown@1.5.0" 1341 917 } 1342 918 }, 1343 919 "mdast-util-gfm-table@1.0.7": { 1344 920 "integrity": "sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==", 1345 921 "dependencies": { 1346 - "@types/mdast": "@types/mdast@3.0.13", 922 + "@types/mdast": "@types/mdast@3.0.14", 1347 923 "markdown-table": "markdown-table@3.0.3", 1348 924 "mdast-util-from-markdown": "mdast-util-from-markdown@1.3.1", 1349 925 "mdast-util-to-markdown": "mdast-util-to-markdown@1.5.0" ··· 1352 928 "mdast-util-gfm-task-list-item@1.0.2": { 1353 929 "integrity": "sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==", 1354 930 "dependencies": { 1355 - "@types/mdast": "@types/mdast@3.0.13", 931 + "@types/mdast": "@types/mdast@3.0.14", 1356 932 "mdast-util-to-markdown": "mdast-util-to-markdown@1.5.0" 1357 933 } 1358 934 }, ··· 1371 947 "mdast-util-mdx-expression@1.3.2": { 1372 948 "integrity": "sha512-xIPmR5ReJDu/DHH1OoIT1HkuybIfRGYRywC+gJtI7qHjCJp/M9jrmBEJW22O8lskDWm562BX2W8TiAwRTb0rKA==", 1373 949 "dependencies": { 1374 - "@types/estree-jsx": "@types/estree-jsx@1.0.1", 1375 - "@types/hast": "@types/hast@2.3.6", 1376 - "@types/mdast": "@types/mdast@3.0.13", 950 + "@types/estree-jsx": "@types/estree-jsx@1.0.2", 951 + "@types/hast": "@types/hast@2.3.7", 952 + "@types/mdast": "@types/mdast@3.0.14", 1377 953 "mdast-util-from-markdown": "mdast-util-from-markdown@1.3.1", 1378 954 "mdast-util-to-markdown": "mdast-util-to-markdown@1.5.0" 1379 955 } ··· 1381 957 "mdast-util-mdx-jsx@2.1.4": { 1382 958 "integrity": "sha512-DtMn9CmVhVzZx3f+optVDF8yFgQVt7FghCRNdlIaS3X5Bnym3hZwPbg/XW86vdpKjlc1PVj26SpnLGeJBXD3JA==", 1383 959 "dependencies": { 1384 - "@types/estree-jsx": "@types/estree-jsx@1.0.1", 1385 - "@types/hast": "@types/hast@2.3.6", 1386 - "@types/mdast": "@types/mdast@3.0.13", 1387 - "@types/unist": "@types/unist@2.0.8", 960 + "@types/estree-jsx": "@types/estree-jsx@1.0.2", 961 + "@types/hast": "@types/hast@2.3.7", 962 + "@types/mdast": "@types/mdast@3.0.14", 963 + "@types/unist": "@types/unist@2.0.9", 1388 964 "ccount": "ccount@2.0.1", 1389 965 "mdast-util-from-markdown": "mdast-util-from-markdown@1.3.1", 1390 966 "mdast-util-to-markdown": "mdast-util-to-markdown@1.5.0", ··· 1408 984 "mdast-util-mdxjs-esm@1.3.1": { 1409 985 "integrity": "sha512-SXqglS0HrEvSdUEfoXFtcg7DRl7S2cwOXc7jkuusG472Mmjag34DUDeOJUZtl+BVnyeO1frIgVpHlNRWc2gk/w==", 1410 986 "dependencies": { 1411 - "@types/estree-jsx": "@types/estree-jsx@1.0.1", 1412 - "@types/hast": "@types/hast@2.3.6", 1413 - "@types/mdast": "@types/mdast@3.0.13", 987 + "@types/estree-jsx": "@types/estree-jsx@1.0.2", 988 + "@types/hast": "@types/hast@2.3.7", 989 + "@types/mdast": "@types/mdast@3.0.14", 1414 990 "mdast-util-from-markdown": "mdast-util-from-markdown@1.3.1", 1415 991 "mdast-util-to-markdown": "mdast-util-to-markdown@1.5.0" 1416 992 } ··· 1418 994 "mdast-util-phrasing@3.0.1": { 1419 995 "integrity": "sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==", 1420 996 "dependencies": { 1421 - "@types/mdast": "@types/mdast@3.0.13", 997 + "@types/mdast": "@types/mdast@3.0.14", 1422 998 "unist-util-is": "unist-util-is@5.2.1" 1423 999 } 1424 1000 }, 1425 1001 "mdast-util-to-hast@12.3.0": { 1426 1002 "integrity": "sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==", 1427 1003 "dependencies": { 1428 - "@types/hast": "@types/hast@2.3.6", 1429 - "@types/mdast": "@types/mdast@3.0.13", 1004 + "@types/hast": "@types/hast@2.3.7", 1005 + "@types/mdast": "@types/mdast@3.0.14", 1430 1006 "mdast-util-definitions": "mdast-util-definitions@5.1.2", 1431 1007 "micromark-util-sanitize-uri": "micromark-util-sanitize-uri@1.2.0", 1432 1008 "trim-lines": "trim-lines@3.0.1", ··· 1438 1014 "mdast-util-to-hast@13.0.2": { 1439 1015 "integrity": "sha512-U5I+500EOOw9e3ZrclN3Is3fRpw8c19SMyNZlZ2IS+7vLsNzb2Om11VpIVOR+/0137GhZsFEF6YiKD5+0Hr2Og==", 1440 1016 "dependencies": { 1441 - "@types/hast": "@types/hast@3.0.1", 1442 - "@types/mdast": "@types/mdast@4.0.1", 1017 + "@types/hast": "@types/hast@3.0.2", 1018 + "@types/mdast": "@types/mdast@4.0.2", 1443 1019 "@ungap/structured-clone": "@ungap/structured-clone@1.2.0", 1444 1020 "devlop": "devlop@1.1.0", 1445 1021 "micromark-util-sanitize-uri": "micromark-util-sanitize-uri@2.0.0", ··· 1451 1027 "mdast-util-to-markdown@1.5.0": { 1452 1028 "integrity": "sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==", 1453 1029 "dependencies": { 1454 - "@types/mdast": "@types/mdast@3.0.13", 1455 - "@types/unist": "@types/unist@2.0.8", 1030 + "@types/mdast": "@types/mdast@3.0.14", 1031 + "@types/unist": "@types/unist@2.0.9", 1456 1032 "longest-streak": "longest-streak@3.1.0", 1457 1033 "mdast-util-phrasing": "mdast-util-phrasing@3.0.1", 1458 1034 "mdast-util-to-string": "mdast-util-to-string@3.2.0", ··· 1464 1040 "mdast-util-to-string@3.2.0": { 1465 1041 "integrity": "sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==", 1466 1042 "dependencies": { 1467 - "@types/mdast": "@types/mdast@3.0.13" 1043 + "@types/mdast": "@types/mdast@3.0.14" 1468 1044 } 1469 1045 }, 1470 1046 "mdurl@1.0.1": { ··· 1475 1051 "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 1476 1052 "dependencies": {} 1477 1053 }, 1478 - "mermaid-isomorphic@2.1.1": { 1479 - "integrity": "sha512-iShQaYYfGYakKs6fbwVjaTAaTVYm02aIvq8QZJFZMEJ18it2YMhW7QF23jLc1SgXHfVLbeWVoQ27jar2X8KP9g==", 1480 - "dependencies": { 1481 - "@fortawesome/fontawesome-free": "@fortawesome/fontawesome-free@6.4.2", 1482 - "mermaid": "mermaid@10.5.0_cytoscape@3.26.0", 1483 - "playwright-core": "playwright-core@1.39.0" 1484 - } 1485 - }, 1486 - "mermaid@10.5.0_cytoscape@3.26.0": { 1487 - "integrity": "sha512-9l0o1uUod78D3/FVYPGSsgV+Z0tSnzLBDiC9rVzvelPxuO80HbN1oDr9ofpPETQy9XpypPQa26fr09VzEPfvWA==", 1488 - "dependencies": { 1489 - "@braintree/sanitize-url": "@braintree/sanitize-url@6.0.4", 1490 - "@types/d3-scale": "@types/d3-scale@4.0.5", 1491 - "@types/d3-scale-chromatic": "@types/d3-scale-chromatic@3.0.0", 1492 - "cytoscape": "cytoscape@3.26.0", 1493 - "cytoscape-cose-bilkent": "cytoscape-cose-bilkent@4.1.0_cytoscape@3.26.0", 1494 - "cytoscape-fcose": "cytoscape-fcose@2.2.0_cytoscape@3.26.0", 1495 - "d3": "d3@7.8.5_d3-selection@3.0.0", 1496 - "d3-sankey": "d3-sankey@0.12.3", 1497 - "dagre-d3-es": "dagre-d3-es@7.0.10", 1498 - "dayjs": "dayjs@1.11.10", 1499 - "dompurify": "dompurify@3.0.6", 1500 - "elkjs": "elkjs@0.8.2", 1501 - "khroma": "khroma@2.0.0", 1502 - "lodash-es": "lodash-es@4.17.21", 1503 - "mdast-util-from-markdown": "mdast-util-from-markdown@1.3.1", 1504 - "non-layered-tidy-tree-layout": "non-layered-tidy-tree-layout@2.0.2", 1505 - "stylis": "stylis@4.3.0", 1506 - "ts-dedent": "ts-dedent@2.2.0", 1507 - "uuid": "uuid@9.0.1", 1508 - "web-worker": "web-worker@1.2.0" 1509 - } 1510 - }, 1511 1054 "micromark-core-commonmark@1.1.0": { 1512 1055 "integrity": "sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==", 1513 1056 "dependencies": { ··· 1604 1147 "micromark-extension-mdx-expression@1.0.8": { 1605 1148 "integrity": "sha512-zZpeQtc5wfWKdzDsHRBY003H2Smg+PUi2REhqgIhdzAa5xonhP03FcXxqFSerFiNUr5AWmHpaNPQTBVOS4lrXw==", 1606 1149 "dependencies": { 1607 - "@types/estree": "@types/estree@1.0.2", 1150 + "@types/estree": "@types/estree@1.0.3", 1608 1151 "micromark-factory-mdx-expression": "micromark-factory-mdx-expression@1.0.9", 1609 1152 "micromark-factory-space": "micromark-factory-space@1.1.0", 1610 1153 "micromark-util-character": "micromark-util-character@1.2.0", ··· 1618 1161 "integrity": "sha512-gPH+9ZdmDflbu19Xkb8+gheqEDqkSpdCEubQyxuz/Hn8DOXiXvrXeikOoBA71+e8Pfi0/UYmU3wW3H58kr7akA==", 1619 1162 "dependencies": { 1620 1163 "@types/acorn": "@types/acorn@4.0.6", 1621 - "@types/estree": "@types/estree@1.0.2", 1164 + "@types/estree": "@types/estree@1.0.3", 1622 1165 "estree-util-is-identifier-name": "estree-util-is-identifier-name@2.1.0", 1623 1166 "micromark-factory-mdx-expression": "micromark-factory-mdx-expression@1.0.9", 1624 1167 "micromark-factory-space": "micromark-factory-space@1.1.0", ··· 1638 1181 "micromark-extension-mdxjs-esm@1.0.5": { 1639 1182 "integrity": "sha512-xNRBw4aoURcyz/S69B19WnZAkWJMxHMT5hE36GtDAyhoyn/8TuAeqjFJQlwk+MKQsUD7b3l7kFX+vlfVWgcX1w==", 1640 1183 "dependencies": { 1641 - "@types/estree": "@types/estree@1.0.2", 1184 + "@types/estree": "@types/estree@1.0.3", 1642 1185 "micromark-core-commonmark": "micromark-core-commonmark@1.1.0", 1643 1186 "micromark-util-character": "micromark-util-character@1.2.0", 1644 1187 "micromark-util-events-to-acorn": "micromark-util-events-to-acorn@1.2.3", ··· 1682 1225 "micromark-factory-mdx-expression@1.0.9": { 1683 1226 "integrity": "sha512-jGIWzSmNfdnkJq05c7b0+Wv0Kfz3NJ3N4cBjnbO4zjXIlxJr+f8lk+5ZmwFvqdAbUy2q6B5rCY//g0QAAaXDWA==", 1684 1227 "dependencies": { 1685 - "@types/estree": "@types/estree@1.0.2", 1228 + "@types/estree": "@types/estree@1.0.3", 1686 1229 "micromark-util-character": "micromark-util-character@1.2.0", 1687 1230 "micromark-util-events-to-acorn": "micromark-util-events-to-acorn@1.2.3", 1688 1231 "micromark-util-symbol": "micromark-util-symbol@1.1.0", ··· 1779 1322 "integrity": "sha512-ij4X7Wuc4fED6UoLWkmo0xJQhsktfNh1J0m8g4PbIMPlx+ek/4YdW5mvbye8z/aZvAPUoxgXHrwVlXAPKMRp1w==", 1780 1323 "dependencies": { 1781 1324 "@types/acorn": "@types/acorn@4.0.6", 1782 - "@types/estree": "@types/estree@1.0.2", 1783 - "@types/unist": "@types/unist@2.0.8", 1325 + "@types/estree": "@types/estree@1.0.3", 1326 + "@types/unist": "@types/unist@2.0.9", 1784 1327 "estree-util-visit": "estree-util-visit@1.2.1", 1785 1328 "micromark-util-symbol": "micromark-util-symbol@1.1.0", 1786 1329 "micromark-util-types": "micromark-util-types@1.1.0", ··· 1848 1391 "micromark@3.2.0": { 1849 1392 "integrity": "sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==", 1850 1393 "dependencies": { 1851 - "@types/debug": "@types/debug@4.1.9", 1394 + "@types/debug": "@types/debug@4.1.10", 1852 1395 "debug": "debug@4.3.4", 1853 1396 "decode-named-character-reference": "decode-named-character-reference@1.0.2", 1854 1397 "micromark-core-commonmark": "micromark-core-commonmark@1.1.0", ··· 1908 1451 "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", 1909 1452 "dependencies": {} 1910 1453 }, 1911 - "non-layered-tidy-tree-layout@2.0.2": { 1912 - "integrity": "sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==", 1913 - "dependencies": {} 1914 - }, 1915 1454 "normalize-path@3.0.0": { 1916 1455 "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 1917 1456 "dependencies": {} ··· 1945 1484 "parse-entities@4.0.1": { 1946 1485 "integrity": "sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==", 1947 1486 "dependencies": { 1948 - "@types/unist": "@types/unist@2.0.8", 1487 + "@types/unist": "@types/unist@2.0.9", 1949 1488 "character-entities": "character-entities@2.0.2", 1950 1489 "character-entities-legacy": "character-entities-legacy@3.0.0", 1951 1490 "character-reference-invalid": "character-reference-invalid@2.0.1", ··· 1980 1519 "periscopic@3.1.0": { 1981 1520 "integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==", 1982 1521 "dependencies": { 1983 - "@types/estree": "@types/estree@1.0.2", 1522 + "@types/estree": "@types/estree@1.0.3", 1984 1523 "estree-walker": "estree-walker@3.0.3", 1985 1524 "is-reference": "is-reference@3.0.2" 1986 1525 } ··· 2001 1540 "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", 2002 1541 "dependencies": {} 2003 1542 }, 2004 - "playwright-core@1.39.0": { 2005 - "integrity": "sha512-+k4pdZgs1qiM+OUkSjx96YiKsXsmb59evFoqv8SKO067qBA+Z2s/dCzJij/ZhdQcs2zlTAgRKfeiiLm8PQ2qvw==", 2006 - "dependencies": {} 2007 - }, 2008 1543 "postcss-import@15.1.0_postcss@8.4.29": { 2009 1544 "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", 2010 1545 "dependencies": { 2011 1546 "postcss": "postcss@8.4.29", 2012 1547 "postcss-value-parser": "postcss-value-parser@4.2.0", 2013 1548 "read-cache": "read-cache@1.0.0", 2014 - "resolve": "resolve@1.22.6" 1549 + "resolve": "resolve@1.22.8" 2015 1550 } 2016 1551 }, 2017 1552 "postcss-js@4.0.1_postcss@8.4.29": { ··· 2026 1561 "dependencies": { 2027 1562 "lilconfig": "lilconfig@2.1.0", 2028 1563 "postcss": "postcss@8.4.29", 2029 - "yaml": "yaml@2.3.2" 1564 + "yaml": "yaml@2.3.3" 2030 1565 } 2031 1566 }, 2032 1567 "postcss-nested@6.0.1_postcss@8.4.29": { ··· 2081 1616 "integrity": "sha512-X9BODrvQ4Ekwv9GURm9AKAGaomqXmip7NQTZgY7gcNmr7XE83adOMJvd3N42id1tMFU7ojiynRsYnY6/BRFxLA==", 2082 1617 "dependencies": {} 2083 1618 }, 1619 + "preact@10.18.1": { 1620 + "integrity": "sha512-mKUD7RRkQQM6s7Rkmi7IFkoEHjuFqRQUaXamO61E6Nn7vqF/bo7EZCmSyrUnp2UWHw0O7XjZ2eeXis+m7tf4lg==", 1621 + "dependencies": {} 1622 + }, 2084 1623 "pretty-format@3.8.0": { 2085 1624 "integrity": "sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew==", 2086 1625 "dependencies": {} ··· 2122 1661 "refractor@4.8.1": { 2123 1662 "integrity": "sha512-/fk5sI0iTgFYlmVGYVew90AoYnNMP6pooClx/XKqyeeCQXrL0Kvgn8V0VEht5ccdljbzzF1i3Q213gcntkRExg==", 2124 1663 "dependencies": { 2125 - "@types/hast": "@types/hast@2.3.6", 2126 - "@types/prismjs": "@types/prismjs@1.26.1", 1664 + "@types/hast": "@types/hast@2.3.7", 1665 + "@types/prismjs": "@types/prismjs@1.26.2", 2127 1666 "hastscript": "hastscript@7.2.0", 2128 1667 "parse-entities": "parse-entities@4.0.1" 2129 1668 } ··· 2132 1671 "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==", 2133 1672 "dependencies": {} 2134 1673 }, 2135 - "rehype-mermaidjs@2.0.0": { 2136 - "integrity": "sha512-QY8uiV31GZd/devc/3vzGOrTkNI5vktEXvRmArqw1oBSeFe1EWnfXXH/5J83Had8kG6Z/2xiLWvL/pJ/rgIr9g==", 2137 - "dependencies": { 2138 - "@types/hast": "@types/hast@3.0.1", 2139 - "hast-util-from-html-isomorphic": "hast-util-from-html-isomorphic@2.0.0", 2140 - "hast-util-to-text": "hast-util-to-text@4.0.0", 2141 - "mermaid-isomorphic": "mermaid-isomorphic@2.1.1", 2142 - "mini-svg-data-uri": "mini-svg-data-uri@1.4.4", 2143 - "space-separated-tokens": "space-separated-tokens@2.0.2", 2144 - "unified": "unified@11.0.2", 2145 - "unist-util-visit-parents": "unist-util-visit-parents@6.0.1", 2146 - "vfile": "vfile@6.0.1" 2147 - } 2148 - }, 2149 1674 "rehype-parse@8.0.5": { 2150 1675 "integrity": "sha512-Ds3RglaY/+clEX2U2mHflt7NlMA72KspZ0JLUJgBBLpRddBcEw3H8uYZQliQriku22NZpYMfjDdSgHcjxue24A==", 2151 1676 "dependencies": { 2152 - "@types/hast": "@types/hast@2.3.6", 1677 + "@types/hast": "@types/hast@2.3.7", 2153 1678 "hast-util-from-parse5": "hast-util-from-parse5@7.1.2", 2154 1679 "parse5": "parse5@6.0.1", 2155 1680 "unified": "unified@10.1.2" ··· 2169 1694 "rehype-raw@7.0.0": { 2170 1695 "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", 2171 1696 "dependencies": { 2172 - "@types/hast": "@types/hast@3.0.1", 1697 + "@types/hast": "@types/hast@3.0.2", 2173 1698 "hast-util-raw": "hast-util-raw@9.0.1", 2174 1699 "vfile": "vfile@6.0.1" 2175 1700 } ··· 2177 1702 "rehype-sanitize@6.0.0": { 2178 1703 "integrity": "sha512-CsnhKNsyI8Tub6L4sm5ZFsme4puGfc6pYylvXo1AeqaGbjOYyzNv3qZPwvs0oMJ39eryyeOdmxwUIo94IpEhqg==", 2179 1704 "dependencies": { 2180 - "@types/hast": "@types/hast@3.0.1", 1705 + "@types/hast": "@types/hast@3.0.2", 2181 1706 "hast-util-sanitize": "hast-util-sanitize@5.0.0" 2182 1707 } 2183 1708 }, 2184 1709 "rehype-stringify@10.0.0": { 2185 1710 "integrity": "sha512-1TX1i048LooI9QoecrXy7nGFFbFSufxVRAfc6Y9YMRAi56l+oB0zP51mLSV312uRuvVLPV1opSlJmslozR1XHQ==", 2186 1711 "dependencies": { 2187 - "@types/hast": "@types/hast@3.0.1", 1712 + "@types/hast": "@types/hast@3.0.2", 2188 1713 "hast-util-to-html": "hast-util-to-html@9.0.0", 2189 1714 "unified": "unified@11.0.2" 2190 1715 } ··· 2192 1717 "remark-gfm@3.0.1": { 2193 1718 "integrity": "sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==", 2194 1719 "dependencies": { 2195 - "@types/mdast": "@types/mdast@3.0.13", 1720 + "@types/mdast": "@types/mdast@3.0.14", 2196 1721 "mdast-util-gfm": "mdast-util-gfm@2.0.2", 2197 1722 "micromark-extension-gfm": "micromark-extension-gfm@2.0.3", 2198 1723 "unified": "unified@10.1.2" ··· 2208 1733 "remark-parse@10.0.2": { 2209 1734 "integrity": "sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==", 2210 1735 "dependencies": { 2211 - "@types/mdast": "@types/mdast@3.0.13", 1736 + "@types/mdast": "@types/mdast@3.0.14", 2212 1737 "mdast-util-from-markdown": "mdast-util-from-markdown@1.3.1", 2213 1738 "unified": "unified@10.1.2" 2214 1739 } ··· 2216 1741 "remark-rehype@10.1.0": { 2217 1742 "integrity": "sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==", 2218 1743 "dependencies": { 2219 - "@types/hast": "@types/hast@2.3.6", 2220 - "@types/mdast": "@types/mdast@3.0.13", 1744 + "@types/hast": "@types/hast@2.3.7", 1745 + "@types/mdast": "@types/mdast@3.0.14", 2221 1746 "mdast-util-to-hast": "mdast-util-to-hast@12.3.0", 2222 1747 "unified": "unified@10.1.2" 2223 1748 } 2224 1749 }, 2225 - "resolve@1.22.6": { 2226 - "integrity": "sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==", 1750 + "resolve@1.22.8": { 1751 + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", 2227 1752 "dependencies": { 2228 - "is-core-module": "is-core-module@2.13.0", 1753 + "is-core-module": "is-core-module@2.13.1", 2229 1754 "path-parse": "path-parse@1.0.7", 2230 1755 "supports-preserve-symlinks-flag": "supports-preserve-symlinks-flag@1.0.0" 2231 1756 } 2232 1757 }, 2233 1758 "reusify@1.0.4": { 2234 1759 "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 2235 - "dependencies": {} 2236 - }, 2237 - "robust-predicates@3.0.2": { 2238 - "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==", 2239 1760 "dependencies": {} 2240 1761 }, 2241 1762 "run-parallel@1.2.0": { ··· 2244 1765 "queue-microtask": "queue-microtask@1.2.3" 2245 1766 } 2246 1767 }, 2247 - "rw@1.3.3": { 2248 - "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==", 2249 - "dependencies": {} 2250 - }, 2251 1768 "sade@1.8.1": { 2252 1769 "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", 2253 1770 "dependencies": { 2254 1771 "mri": "mri@1.2.0" 2255 1772 } 2256 - }, 2257 - "safer-buffer@2.1.2": { 2258 - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", 2259 - "dependencies": {} 2260 1773 }, 2261 1774 "scheduler@0.23.0": { 2262 1775 "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", ··· 2283 1796 "character-entities-legacy": "character-entities-legacy@3.0.0" 2284 1797 } 2285 1798 }, 2286 - "style-to-object@0.4.2": { 2287 - "integrity": "sha512-1JGpfPB3lo42ZX8cuPrheZbfQ6kqPPnPHlKMyeRYtfKD+0jG+QsXgXN57O/dvJlzlB2elI6dGmrPnl5VPQFPaA==", 1799 + "style-to-object@0.4.4": { 1800 + "integrity": "sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==", 2288 1801 "dependencies": { 2289 1802 "inline-style-parser": "inline-style-parser@0.1.1" 2290 1803 } 2291 1804 }, 2292 - "stylis@4.3.0": { 2293 - "integrity": "sha512-E87pIogpwUsUwXw7dNyU4QDjdgVMy52m+XEOPEKUn161cCzWjjhPSQhByfd1CcNvrOLnXQ6OnnZDwnJrz/Z4YQ==", 2294 - "dependencies": {} 2295 - }, 2296 1805 "sucrase@3.34.0": { 2297 1806 "integrity": "sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==", 2298 1807 "dependencies": { ··· 2332 1841 "postcss-load-config": "postcss-load-config@4.0.1_postcss@8.4.29", 2333 1842 "postcss-nested": "postcss-nested@6.0.1_postcss@8.4.29", 2334 1843 "postcss-selector-parser": "postcss-selector-parser@6.0.13", 2335 - "resolve": "resolve@1.22.6", 1844 + "resolve": "resolve@1.22.8", 2336 1845 "sucrase": "sucrase@3.34.0" 2337 1846 } 2338 1847 }, ··· 2362 1871 "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==", 2363 1872 "dependencies": {} 2364 1873 }, 2365 - "ts-dedent@2.2.0": { 2366 - "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==", 2367 - "dependencies": {} 2368 - }, 2369 1874 "ts-interface-checker@0.1.13": { 2370 1875 "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", 2371 1876 "dependencies": {} ··· 2377 1882 "unified@10.1.2": { 2378 1883 "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", 2379 1884 "dependencies": { 2380 - "@types/unist": "@types/unist@2.0.8", 1885 + "@types/unist": "@types/unist@2.0.9", 2381 1886 "bail": "bail@2.0.2", 2382 1887 "extend": "extend@3.0.2", 2383 1888 "is-buffer": "is-buffer@2.0.5", ··· 2389 1894 "unified@11.0.2": { 2390 1895 "integrity": "sha512-Zta++onvS/dJ6xUvXQOR5q8XJZOkiMCE5wQ8Yv9mLR25pxRS567EX0GO6HZRxxNV/lznwfsvRZ/1pqe9K9QLeQ==", 2391 1896 "dependencies": { 2392 - "@types/unist": "@types/unist@3.0.0", 1897 + "@types/unist": "@types/unist@3.0.1", 2393 1898 "@ungap/structured-clone": "@ungap/structured-clone@1.2.0", 2394 1899 "bail": "bail@2.0.2", 2395 1900 "devlop": "devlop@1.1.0", ··· 2401 1906 "unist-util-filter@4.0.1": { 2402 1907 "integrity": "sha512-RynicUM/vbOSTSiUK+BnaK9XMfmQUh6gyi7L6taNgc7FIf84GukXVV3ucGzEN/PhUUkdP5hb1MmXc+3cvPUm5Q==", 2403 1908 "dependencies": { 2404 - "@types/unist": "@types/unist@2.0.8", 1909 + "@types/unist": "@types/unist@2.0.9", 2405 1910 "unist-util-is": "unist-util-is@5.2.1", 2406 1911 "unist-util-visit-parents": "unist-util-visit-parents@5.1.3" 2407 1912 } 2408 1913 }, 2409 - "unist-util-find-after@5.0.0": { 2410 - "integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==", 2411 - "dependencies": { 2412 - "@types/unist": "@types/unist@3.0.0", 2413 - "unist-util-is": "unist-util-is@6.0.0" 2414 - } 2415 - }, 2416 1914 "unist-util-generated@2.0.1": { 2417 1915 "integrity": "sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==", 2418 1916 "dependencies": {} ··· 2420 1918 "unist-util-is@5.2.1": { 2421 1919 "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", 2422 1920 "dependencies": { 2423 - "@types/unist": "@types/unist@2.0.8" 1921 + "@types/unist": "@types/unist@2.0.9" 2424 1922 } 2425 1923 }, 2426 1924 "unist-util-is@6.0.0": { 2427 1925 "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", 2428 1926 "dependencies": { 2429 - "@types/unist": "@types/unist@3.0.0" 1927 + "@types/unist": "@types/unist@3.0.1" 2430 1928 } 2431 1929 }, 2432 1930 "unist-util-position-from-estree@1.1.2": { 2433 1931 "integrity": "sha512-poZa0eXpS+/XpoQwGwl79UUdea4ol2ZuCYguVaJS4qzIOMDzbqz8a3erUCOmubSZkaOuGamb3tX790iwOIROww==", 2434 1932 "dependencies": { 2435 - "@types/unist": "@types/unist@2.0.8" 1933 + "@types/unist": "@types/unist@2.0.9" 2436 1934 } 2437 1935 }, 2438 1936 "unist-util-position@4.0.4": { 2439 1937 "integrity": "sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==", 2440 1938 "dependencies": { 2441 - "@types/unist": "@types/unist@2.0.8" 1939 + "@types/unist": "@types/unist@2.0.9" 2442 1940 } 2443 1941 }, 2444 1942 "unist-util-position@5.0.0": { 2445 1943 "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", 2446 1944 "dependencies": { 2447 - "@types/unist": "@types/unist@3.0.0" 1945 + "@types/unist": "@types/unist@3.0.1" 2448 1946 } 2449 1947 }, 2450 1948 "unist-util-remove-position@4.0.2": { 2451 1949 "integrity": "sha512-TkBb0HABNmxzAcfLf4qsIbFbaPDvMO6wa3b3j4VcEzFVaw1LBKwnW4/sRJ/atSLSzoIg41JWEdnE7N6DIhGDGQ==", 2452 1950 "dependencies": { 2453 - "@types/unist": "@types/unist@2.0.8", 1951 + "@types/unist": "@types/unist@2.0.9", 2454 1952 "unist-util-visit": "unist-util-visit@4.1.2" 2455 - } 2456 - }, 2457 - "unist-util-remove-position@5.0.0": { 2458 - "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", 2459 - "dependencies": { 2460 - "@types/unist": "@types/unist@3.0.0", 2461 - "unist-util-visit": "unist-util-visit@5.0.0" 2462 1953 } 2463 1954 }, 2464 1955 "unist-util-stringify-position@3.0.3": { 2465 1956 "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", 2466 1957 "dependencies": { 2467 - "@types/unist": "@types/unist@2.0.8" 1958 + "@types/unist": "@types/unist@2.0.9" 2468 1959 } 2469 1960 }, 2470 1961 "unist-util-stringify-position@4.0.0": { 2471 1962 "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", 2472 1963 "dependencies": { 2473 - "@types/unist": "@types/unist@3.0.0" 1964 + "@types/unist": "@types/unist@3.0.1" 2474 1965 } 2475 1966 }, 2476 1967 "unist-util-visit-parents@5.1.3": { 2477 1968 "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", 2478 1969 "dependencies": { 2479 - "@types/unist": "@types/unist@2.0.8", 1970 + "@types/unist": "@types/unist@2.0.9", 2480 1971 "unist-util-is": "unist-util-is@5.2.1" 2481 1972 } 2482 1973 }, 2483 1974 "unist-util-visit-parents@6.0.1": { 2484 1975 "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", 2485 1976 "dependencies": { 2486 - "@types/unist": "@types/unist@3.0.0", 1977 + "@types/unist": "@types/unist@3.0.1", 2487 1978 "unist-util-is": "unist-util-is@6.0.0" 2488 1979 } 2489 1980 }, 2490 1981 "unist-util-visit@4.1.2": { 2491 1982 "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", 2492 1983 "dependencies": { 2493 - "@types/unist": "@types/unist@2.0.8", 1984 + "@types/unist": "@types/unist@2.0.9", 2494 1985 "unist-util-is": "unist-util-is@5.2.1", 2495 1986 "unist-util-visit-parents": "unist-util-visit-parents@5.1.3" 2496 1987 } ··· 2498 1989 "unist-util-visit@5.0.0": { 2499 1990 "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", 2500 1991 "dependencies": { 2501 - "@types/unist": "@types/unist@3.0.0", 1992 + "@types/unist": "@types/unist@3.0.1", 2502 1993 "unist-util-is": "unist-util-is@6.0.0", 2503 1994 "unist-util-visit-parents": "unist-util-visit-parents@6.0.1" 2504 1995 } 2505 1996 }, 2506 - "update-browserslist-db@1.0.13_browserslist@4.22.0": { 1997 + "update-browserslist-db@1.0.13_browserslist@4.22.1": { 2507 1998 "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", 2508 1999 "dependencies": { 2509 - "browserslist": "browserslist@4.22.0", 2000 + "browserslist": "browserslist@4.22.1", 2510 2001 "escalade": "escalade@3.1.1", 2511 2002 "picocolors": "picocolors@1.0.0" 2512 2003 } 2513 2004 }, 2514 2005 "util-deprecate@1.0.2": { 2515 2006 "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", 2516 - "dependencies": {} 2517 - }, 2518 - "uuid@9.0.1": { 2519 - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", 2520 2007 "dependencies": {} 2521 2008 }, 2522 2009 "uvu@0.5.6": { ··· 2531 2018 "vfile-location@4.1.0": { 2532 2019 "integrity": "sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==", 2533 2020 "dependencies": { 2534 - "@types/unist": "@types/unist@2.0.8", 2021 + "@types/unist": "@types/unist@2.0.9", 2535 2022 "vfile": "vfile@5.3.7" 2536 2023 } 2537 2024 }, 2538 2025 "vfile-location@5.0.2": { 2539 2026 "integrity": "sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==", 2540 2027 "dependencies": { 2541 - "@types/unist": "@types/unist@3.0.0", 2028 + "@types/unist": "@types/unist@3.0.1", 2542 2029 "vfile": "vfile@6.0.1" 2543 2030 } 2544 2031 }, 2545 2032 "vfile-message@3.1.4": { 2546 2033 "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", 2547 2034 "dependencies": { 2548 - "@types/unist": "@types/unist@2.0.8", 2035 + "@types/unist": "@types/unist@2.0.9", 2549 2036 "unist-util-stringify-position": "unist-util-stringify-position@3.0.3" 2550 2037 } 2551 2038 }, 2552 2039 "vfile-message@4.0.2": { 2553 2040 "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", 2554 2041 "dependencies": { 2555 - "@types/unist": "@types/unist@3.0.0", 2042 + "@types/unist": "@types/unist@3.0.1", 2556 2043 "unist-util-stringify-position": "unist-util-stringify-position@4.0.0" 2557 2044 } 2558 2045 }, 2559 2046 "vfile@5.3.7": { 2560 2047 "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", 2561 2048 "dependencies": { 2562 - "@types/unist": "@types/unist@2.0.8", 2049 + "@types/unist": "@types/unist@2.0.9", 2563 2050 "is-buffer": "is-buffer@2.0.5", 2564 2051 "unist-util-stringify-position": "unist-util-stringify-position@3.0.3", 2565 2052 "vfile-message": "vfile-message@3.1.4" ··· 2568 2055 "vfile@6.0.1": { 2569 2056 "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", 2570 2057 "dependencies": { 2571 - "@types/unist": "@types/unist@3.0.0", 2058 + "@types/unist": "@types/unist@3.0.1", 2572 2059 "unist-util-stringify-position": "unist-util-stringify-position@4.0.0", 2573 2060 "vfile-message": "vfile-message@4.0.2" 2574 2061 } ··· 2577 2064 "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", 2578 2065 "dependencies": {} 2579 2066 }, 2580 - "web-worker@1.2.0": { 2581 - "integrity": "sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA==", 2582 - "dependencies": {} 2583 - }, 2584 2067 "wrappy@1.0.2": { 2585 2068 "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", 2586 2069 "dependencies": {} 2587 2070 }, 2588 - "yaml@2.3.2": { 2589 - "integrity": "sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==", 2071 + "yaml@2.3.3": { 2072 + "integrity": "sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ==", 2590 2073 "dependencies": {} 2591 2074 }, 2592 2075 "zwitch@2.0.4": { ··· 3054 2537 "https://deno.land/x/lume@v1.18.5/plugins/url.ts": "43d3d47896a7322a8dd34572dedb4baa6f73a382594a2ff7c34a3a064dcc6c9e", 3055 2538 "https://deno.land/x/lume@v1.18.5/plugins/utils.ts": "6435d164539d9e408e7e818b080cc1a96ff76ed3c376160577a7df751b57fa07", 3056 2539 "https://deno.land/x/lume@v1.18.5/plugins/yaml.ts": "df24aac4098dba258f1ac331a3b16ba488a336eb63c51afed8f59201228d583c", 3057 - "https://deno.land/x/tabler_icons_tsx@0.0.3/tsx/air-balloon.tsx": "d237673312f298c003138801b86d775b46d1699eb580d8a03018c9361d365cb5", 3058 2540 "https://deno.land/x/tabler_icons_tsx@0.0.3/tsx/alarm.tsx": "dffda4eadbab77c870236178f760f83e1e1f64a1ad6b136a6c99153b5137b8db", 3059 2541 "https://deno.land/x/tabler_icons_tsx@0.0.3/tsx/armchair.tsx": "8f30005e11d3f227e9fb1607e256bf360fad121e824bf54cf8fe48ae7b94a0d4", 3060 2542 "https://deno.land/x/tabler_icons_tsx@0.0.3/tsx/brand-github.tsx": "3e7c2e085570ebe78bf72d7ba9ad77e6519930feff5f3b653c3ba5b29b1c863b",
+1 -1
lume/src/_components/BlockQuote.jsx
··· 4 4 &gt; {children} 5 5 </div> 6 6 ); 7 - }; 7 + };
+1 -1
lume/src/_components/XeblogConv.tsx
··· 12 12 13 13 return ( 14 14 <> 15 - <div className="my-4 flex space-x-4 rounded-md border border-solid border-fg-4 bg-bg-2 p-3 dark:border-fgDark-4 dark:bg-bgDark-2 max-w-full"> 15 + <div className="my-4 flex space-x-4 rounded-md border border-solid border-fg-4 bg-bg-2 p-3 dark:border-fgDark-4 dark:bg-bgDark-2 max-w-full min-h-fit"> 16 16 <div className="flex max-h-16 shrink-0 items-center justify-center self-center"> 17 17 <img 18 18 style="max-height:6rem"
-10
lume/src/_includes/base.njk
··· 56 56 <link rel="alternate" type="application/rss+xml" href="https://xeiaso.net/blog.rss"/> 57 57 <link rel="alternate" type="application/json" href="https://xeiaso.net/blog.json"/> 58 58 59 - <link rel="apple-touch-icon" sizes="57x57" href="/static/favicon/apple-icon-57x57.png"> 60 - <link rel="apple-touch-icon" sizes="60x60" href="/static/favicon/apple-icon-60x60.png"> 61 - <link rel="apple-touch-icon" sizes="72x72" href="/static/favicon/apple-icon-72x72.png"> 62 - <link rel="apple-touch-icon" sizes="76x76" href="/static/favicon/apple-icon-76x76.png"> 63 - <link rel="apple-touch-icon" sizes="114x114" href="/static/favicon/apple-icon-114x114.png"> 64 - <link rel="apple-touch-icon" sizes="120x120" href="/static/favicon/apple-icon-120x120.png"> 65 - <link rel="apple-touch-icon" sizes="144x144" href="/static/favicon/apple-icon-144x144.png"> 66 - <link rel="apple-touch-icon" sizes="152x152" href="/static/favicon/apple-icon-152x152.png"> 67 59 <link rel="apple-touch-icon" sizes="180x180" href="/static/favicon/apple-icon-180x180.png"> 68 60 <link rel="icon" type="image/png" sizes="192x192" href="/static/favicon/android-icon-192x192.png"> 69 61 <link rel="icon" type="image/png" sizes="32x32" href="/static/favicon/favicon-32x32.png"> ··· 71 63 <link rel="icon" type="image/png" sizes="16x16" href="/static/favicon/favicon-16x16.png"> 72 64 <link rel="icon" href="/favicon.ico?v=2"/> 73 65 <link rel="manifest" href="/static/manifest.json"> 74 - <meta name="msapplication-TileColor" content="#ffffff"> 75 - <meta name="msapplication-TileImage" content="/static/favicon/ms-icon-144x144.png"> 76 66 <meta name="theme-color" content="#ffffff"> 77 67 78 68 {% if title %}
+1 -1
lume/src/blog/templeos-1-installation-and-basic-use-2019-05-20.md
··· 12 12 13 13 This is not intended to make fun of the mentally ill, disabled or otherwise incapacitated. This is not an endorsement of any of Davis' political views. This is intended to glorify and preserve his life's work that so few can currently really grasp the scope of. 14 14 15 - If for some reason you are having issues downloading the TempleOS ISO, I have uploaded my copy of it [here](/static/tos/TOS_Distro.ISO). Here is its SHA512 sum: 15 + If for some reason you are having issues downloading the TempleOS ISO, I have uploaded my copy of it [here](https://cdn.xeiaso.net/file/christine-static/blog/TOS_Distro.ISO). Here is its SHA512 sum: 16 16 17 17 ``` 18 18 7a382d802039c58fb14aab7940ee2e4efb57d132d0cff58878c38111d065a235562b27767de4382e222208285f3edab172f29dba76cb70c37f116d9521e54c45 TOS_Distro.ISO
lume/src/static/favicon/apple-icon-114x114.png

This is a binary file and will not be displayed.

lume/src/static/favicon/apple-icon-120x120.png

This is a binary file and will not be displayed.

lume/src/static/favicon/apple-icon-144x144.png

This is a binary file and will not be displayed.

lume/src/static/favicon/apple-icon-152x152.png

This is a binary file and will not be displayed.

lume/src/static/favicon/apple-icon-57x57.png

This is a binary file and will not be displayed.

lume/src/static/favicon/apple-icon-60x60.png

This is a binary file and will not be displayed.

lume/src/static/favicon/apple-icon-72x72.png

This is a binary file and will not be displayed.

lume/src/static/favicon/apple-icon-76x76.png

This is a binary file and will not be displayed.

lume/src/static/manifest.json lume/src/static/site.webmanifest
lume/src/static/talks/irc-why-it-failed.pdf

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain.pdf

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/001.d.avif

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/001.d.png

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/001.d.webp

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/002.d.avif

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/002.d.png

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/002.d.webp

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/003.d.avif

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/003.d.png

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/003.d.webp

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/004.d.avif

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/004.d.png

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/004.d.webp

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/005.d.avif

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/005.d.png

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/005.d.webp

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/006.d.avif

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/006.d.png

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/006.d.webp

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/007.d.avif

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/007.d.png

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/007.d.webp

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/008.d.avif

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/008.d.png

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/008.d.webp

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/009.d.avif

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/009.d.png

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/009.d.webp

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/010.d.avif

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/010.d.png

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/010.d.webp

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/011.d.avif

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/011.d.png

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/011.d.webp

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/012.d.avif

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/012.d.png

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/012.d.webp

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/013.d.avif

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/013.d.png

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/013.d.webp

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/014.d.avif

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/014.d.png

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/014.d.webp

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/015.d.avif

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/015.d.png

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/015.d.webp

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/016.d.avif

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/016.d.png

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/016.d.webp

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/017.d.avif

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/017.d.png

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/017.d.webp

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/018.d.avif

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/018.d.png

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/018.d.webp

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/019.d.avif

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/019.d.png

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/019.d.webp

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/020.d.avif

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/020.d.png

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/020.d.webp

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/021.d.avif

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/021.d.png

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/021.d.webp

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/022.d.avif

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/022.d.png

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/022.d.webp

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/023.d.avif

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/023.d.png

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/023.d.webp

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/024.d.avif

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/024.d.png

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/024.d.webp

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/025.d.avif

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/025.d.png

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/025.d.webp

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/026.d.avif

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/026.d.png

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/026.d.webp

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/027.d.avif

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/027.d.png

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/027.d.webp

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/028.d.avif

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/028.d.png

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/028.d.webp

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/029.d.avif

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/029.d.png

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/029.d.webp

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/030.d.avif

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/030.d.png

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/030.d.webp

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/031.d.avif

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/031.d.png

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/031.d.webp

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/032.d.avif

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/032.d.png

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/032.d.webp

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/033.d.avif

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/033.d.png

This is a binary file and will not be displayed.

lume/src/static/talks/nixos-pain/033.d.webp

This is a binary file and will not be displayed.

lume/src/static/talks/pwa-conversion.pdf

This is a binary file and will not be displayed.

lume/src/static/talks/surreal-horror-pam.pdf

This is a binary file and will not be displayed.

lume/src/static/talks/surreal-horror-pam/001.jpeg

This is a binary file and will not be displayed.

lume/src/static/talks/surreal-horror-pam/002.jpeg

This is a binary file and will not be displayed.

lume/src/static/talks/surreal-horror-pam/003.jpeg

This is a binary file and will not be displayed.

lume/src/static/talks/surreal-horror-pam/004.jpeg

This is a binary file and will not be displayed.

lume/src/static/talks/surreal-horror-pam/005.jpeg

This is a binary file and will not be displayed.

lume/src/static/talks/surreal-horror-pam/006.jpeg

This is a binary file and will not be displayed.

lume/src/static/talks/surreal-horror-pam/007.jpeg

This is a binary file and will not be displayed.

lume/src/static/talks/surreal-horror-pam/008.jpeg

This is a binary file and will not be displayed.

lume/src/static/talks/surreal-horror-pam/009.jpeg

This is a binary file and will not be displayed.

lume/src/static/talks/surreal-horror-pam/010.jpeg

This is a binary file and will not be displayed.

lume/src/static/talks/surreal-horror-pam/011.jpeg

This is a binary file and will not be displayed.

lume/src/static/talks/surreal-horror-pam/012.jpeg

This is a binary file and will not be displayed.

lume/src/static/talks/surreal-horror-pam/013.jpeg

This is a binary file and will not be displayed.

lume/src/static/talks/surreal-horror-pam/014.jpeg

This is a binary file and will not be displayed.

lume/src/static/talks/surreal-horror-pam/015.jpeg

This is a binary file and will not be displayed.

lume/src/static/talks/surreal-horror-pam/016.jpeg

This is a binary file and will not be displayed.

lume/src/static/talks/surreal-horror-pam/017.jpeg

This is a binary file and will not be displayed.

lume/src/static/talks/surreal-horror-pam/018.jpeg

This is a binary file and will not be displayed.

lume/src/static/talks/surreal-horror-pam/019.jpeg

This is a binary file and will not be displayed.

lume/src/static/talks/thinking-different.pdf

This is a binary file and will not be displayed.

lume/src/static/talks/wasm-on-the-server-system-calls.pdf

This is a binary file and will not be displayed.

lume/src/static/tos/TOS_Distro.ISO

This is a binary file and will not be displayed.

+1 -1
lume/src/talks/irc-why-it-failed-2018-05-17.md
··· 1 1 --- 2 2 title: "IRC: Why it Failed" 3 3 date: 2018-05-17 4 - slides_link: /static/talks/irc-why-it-failed.pdf 4 + slides_link: https://cdn.xeiaso.net/file/christine-static/static/talks/irc-why-it-failed.pdf 5 5 --- 6 6 7 7 A brief discussion of the IRC protocol and why it has failed in today's internet.
+49 -49
lume/src/talks/nixos-pain-2021-11-10.md
··· 1 1 --- 2 2 title: How Nix and NixOS Get So Close to Perfect 3 3 date: 2021-11-10 4 - slides_link: /static/talks/nixos-pain.pdf 4 + slides_link: https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain.pdf 5 5 tags: 6 6 - nix 7 7 - nixos ··· 37 37 38 38 <center> 39 39 <picture> 40 - <source srcset="/static/talks/nixos-pain/001.d.avif" type="image/avif"> 41 - <source srcset="/static/talks/nixos-pain/001.d.webp" type="image/webp"> 42 - <img src="/static/talks/nixos-pain/001.d.png" alt="" /> 40 + <source srcset="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/001.d.avif" type="image/avif"> 41 + <source srcset="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/001.d.webp" type="image/webp"> 42 + <img src="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/001.d.png" alt="" /> 43 43 </picture> 44 44 </center> 45 45 ··· 51 51 52 52 <center> 53 53 <picture> 54 - <source srcset="/static/talks/nixos-pain/002.d.avif" type="image/avif"> 55 - <source srcset="/static/talks/nixos-pain/002.d.webp" type="image/webp"> 56 - <img src="/static/talks/nixos-pain/002.d.png" alt="" /> 54 + <source srcset="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/002.d.avif" type="image/avif"> 55 + <source srcset="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/002.d.webp" type="image/webp"> 56 + <img src="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/002.d.png" alt="" /> 57 57 </picture> 58 58 </center> 59 59 ··· 72 72 73 73 <center> 74 74 <picture> 75 - <source srcset="/static/talks/nixos-pain/003.d.avif" type="image/avif"> 76 - <source srcset="/static/talks/nixos-pain/003.d.webp" type="image/webp"> 77 - <img src="/static/talks/nixos-pain/003.d.png" alt="" /> 75 + <source srcset="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/003.d.avif" type="image/avif"> 76 + <source srcset="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/003.d.webp" type="image/webp"> 77 + <img src="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/003.d.png" alt="" /> 78 78 </picture> 79 79 </center> 80 80 ··· 86 86 87 87 <center> 88 88 <picture> 89 - <source srcset="/static/talks/nixos-pain/004.d.avif" type="image/avif"> 90 - <source srcset="/static/talks/nixos-pain/004.d.webp" type="image/webp"> 91 - <img src="/static/talks/nixos-pain/004.d.png" alt="" /> 89 + <source srcset="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/004.d.avif" type="image/avif"> 90 + <source srcset="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/004.d.webp" type="image/webp"> 91 + <img src="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/004.d.png" alt="" /> 92 92 </picture> 93 93 </center> 94 94 ··· 105 105 106 106 <center> 107 107 <picture> 108 - <source srcset="/static/talks/nixos-pain/006.d.avif" type="image/avif"> 109 - <source srcset="/static/talks/nixos-pain/006.d.webp" type="image/webp"> 110 - <img src="/static/talks/nixos-pain/006.d.png" alt="" /> 108 + <source srcset="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/006.d.avif" type="image/avif"> 109 + <source srcset="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/006.d.webp" type="image/webp"> 110 + <img src="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/006.d.png" alt="" /> 111 111 </picture> 112 112 </center> 113 113 ··· 118 118 119 119 <center> 120 120 <picture> 121 - <source srcset="/static/talks/nixos-pain/007.d.avif" type="image/avif"> 122 - <source srcset="/static/talks/nixos-pain/007.d.webp" type="image/webp"> 123 - <img src="/static/talks/nixos-pain/007.d.png" alt="" /> 121 + <source srcset="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/007.d.avif" type="image/avif"> 122 + <source srcset="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/007.d.webp" type="image/webp"> 123 + <img src="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/007.d.png" alt="" /> 124 124 </picture> 125 125 </center> 126 126 ··· 131 131 132 132 <center> 133 133 <picture> 134 - <source srcset="/static/talks/nixos-pain/008.d.avif" type="image/avif" /> 135 - <source srcset="/static/talks/nixos-pain/008.d.webp" type="image/webp" /> 136 - <img src="/static/talks/nixos-pain/008.d.png" alt="" /> 134 + <source srcset="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/008.d.avif" type="image/avif" /> 135 + <source srcset="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/008.d.webp" type="image/webp" /> 136 + <img src="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/008.d.png" alt="" /> 137 137 </picture> 138 138 </center> 139 139 ··· 159 159 160 160 <center> 161 161 <picture> 162 - <source srcset="/static/talks/nixos-pain/010.d.avif" type="image/avif" /> 163 - <source srcset="/static/talks/nixos-pain/010.d.webp" type="image/webp" /> 164 - <img src="/static/talks/nixos-pain/010.d.png" alt="" /> 162 + <source srcset="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/010.d.avif" type="image/avif" /> 163 + <source srcset="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/010.d.webp" type="image/webp" /> 164 + <img src="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/010.d.png" alt="" /> 165 165 </picture> 166 166 </center> 167 167 ··· 172 172 173 173 <center> 174 174 <picture> 175 - <source srcset="/static/talks/nixos-pain/012.d.avif" type="image/avif"> 176 - <source srcset="/static/talks/nixos-pain/012.d.webp" type="image/webp"> 177 - <img src="/static/talks/nixos-pain/012.d.png" alt=""> 175 + <source srcset="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/012.d.avif" type="image/avif"> 176 + <source srcset="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/012.d.webp" type="image/webp"> 177 + <img src="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/012.d.png" alt=""> 178 178 </picture> 179 179 </center> 180 180 ··· 214 214 215 215 <center> 216 216 <picture> 217 - <source srcset="/static/talks/nixos-pain/016.d.avif" type="image/avif"> 218 - <source srcset="/static/talks/nixos-pain/016.d.webp" type="image/webp"> 219 - <img src="/static/talks/nixos-pain/016.d.png" alt=""> 217 + <source srcset="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/016.d.avif" type="image/avif"> 218 + <source srcset="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/016.d.webp" type="image/webp"> 219 + <img src="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/016.d.png" alt=""> 220 220 </picture> 221 221 </center> 222 222 ··· 250 250 251 251 <center> 252 252 <picture> 253 - <source srcset="/static/talks/nixos-pain/022.d.avif" type="image/avif"> 254 - <source srcset="/static/talks/nixos-pain/022.d.webp" type="image/webp"> 255 - <img src="/static/talks/nixos-pain/022.d.png" alt=""> 253 + <source srcset="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/022.d.avif" type="image/avif"> 254 + <source srcset="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/022.d.webp" type="image/webp"> 255 + <img src="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/022.d.png" alt=""> 256 256 </picture> 257 257 </center> 258 258 ··· 278 278 279 279 <center> 280 280 <picture> 281 - <source srcset="/static/talks/nixos-pain/024.d.avif" type="image/avif"> 282 - <source srcset="/static/talks/nixos-pain/024.d.webp" type="image/webp"> 283 - <img src="/static/talks/nixos-pain/024.d.png" alt=""> 281 + <source srcset="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/024.d.avif" type="image/avif"> 282 + <source srcset="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/024.d.webp" type="image/webp"> 283 + <img src="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/024.d.png" alt=""> 284 284 </picture> 285 285 </center> 286 286 ··· 323 323 324 324 <center> 325 325 <picture> 326 - <source srcset="/static/talks/nixos-pain/028.d.avif" type="image/avif"> 327 - <source srcset="/static/talks/nixos-pain/028.d.webp" type="image/webp"> 328 - <img src="/static/talks/nixos-pain/028.d.png" alt=""> 326 + <source srcset="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/028.d.avif" type="image/avif"> 327 + <source srcset="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/028.d.webp" type="image/webp"> 328 + <img src="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/028.d.png" alt=""> 329 329 </picture> 330 330 </center> 331 331 ··· 339 339 340 340 <center> 341 341 <picture> 342 - <source srcset="/static/talks/nixos-pain/029.d.avif" type="image/avif"> 343 - <source srcset="/static/talks/nixos-pain/029.d.webp" type="image/webp"> 344 - <img src="/static/talks/nixos-pain/029.d.png" alt=""> 342 + <source srcset="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/029.d.avif" type="image/avif"> 343 + <source srcset="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/029.d.webp" type="image/webp"> 344 + <img src="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/029.d.png" alt=""> 345 345 </picture> 346 346 </center> 347 347 ··· 357 357 358 358 <center> 359 359 <picture> 360 - <source srcset="/static/talks/nixos-pain/030.d.avif" type="image/avif"> 361 - <source srcset="/static/talks/nixos-pain/030.d.webp" type="image/webp"> 362 - <img src="/static/talks/nixos-pain/030.d.png" alt=""> 360 + <source srcset="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/030.d.avif" type="image/avif"> 361 + <source srcset="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/030.d.webp" type="image/webp"> 362 + <img src="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/030.d.png" alt=""> 363 363 </picture> 364 364 </center> 365 365 ··· 386 386 387 387 <center> 388 388 <picture> 389 - <source srcset="/static/talks/nixos-pain/033.d.avif" type="image/avif"> 390 - <source srcset="/static/talks/nixos-pain/033.d.webp" type="image/webp"> 391 - <img src="/static/talks/nixos-pain/033.d.png" alt=""> 389 + <source srcset="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/033.d.avif" type="image/avif"> 390 + <source srcset="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/033.d.webp" type="image/webp"> 391 + <img src="https://cdn.xeiaso.net/file/christine-static/static/talks/nixos-pain/033.d.png" alt=""> 392 392 </picture> 393 393 </center> 394 394
+1 -1
lume/src/talks/progressive-webapp-conversion-in-5-minutes-2019-01-28.md
··· 1 1 --- 2 2 title: "Progressive Web App Conversion in 5 Minutes" 3 3 date: 2019-01-28 4 - slides_link: /static/talks/pwa-conversion.pdf 4 + slides_link: https://cdn.xeiaso.net/file/christine-static/static/talks/pwa-conversion.pdf 5 5 --- 6 6 7 7 A brief overview of how [Progressive Web Apps](https://developers.google.com/web/progressive-web-apps/) work and how to make one out of an existing index.html app.
+20 -20
lume/src/talks/surreal-horror-pam-2021-11-09.md
··· 1 1 --- 2 2 title: The Surreal Horror of PAM 3 3 date: 2021-11-09 4 - slides_link: /static/talks/surreal-horror-pam.pdf 4 + slides_link: https://cdn.xeiaso.net/file/christine-static/static/talks/surreal-horror-pam.pdf 5 5 tags: 6 6 - alpinelinux 7 7 - pam ··· 14 14 15 15 --- 16 16 17 - ![](/static/talks/surreal-horror-pam/001.jpeg) 17 + ![](https://cdn.xeiaso.net/file/christine-static/static/talks/surreal-horror-pam/001.jpeg) 18 18 19 19 Hi, I’m Xe. You know this because that is what your computer tells you. But how 20 20 does it know that? ··· 29 29 publishing this publicly, so please avoid mentioning privileged information in 30 30 the Q&A section at the end. 31 31 32 - ![](/static/talks/surreal-horror-pam/002.jpeg) 32 + ![](https://cdn.xeiaso.net/file/christine-static/static/talks/surreal-horror-pam/002.jpeg) 33 33 34 34 So before we talk about complicated things, let’s start with the basics. This is 35 35 how UNIX systems authenticate. They have some files in /etc/ that are ··· 53 53 steps I’m leaving out for brevity, but they are boring things that only nerds 54 54 care about. 55 55 56 - ![](/static/talks/surreal-horror-pam/003.jpeg) 56 + ![](https://cdn.xeiaso.net/file/christine-static/static/talks/surreal-horror-pam/003.jpeg) 57 57 58 58 This UNIX authentication model is really that simple. You can explain the high 59 59 level details on a single slide that was hastily written at 8 am in about 5 ··· 72 72 mainframe technology to get the job done in this day and age of hyperconverged 73 73 cloud federated femtoservices. 74 74 75 - ![](/static/talks/surreal-horror-pam/004.jpeg) 75 + ![](https://cdn.xeiaso.net/file/christine-static/static/talks/surreal-horror-pam/004.jpeg) 76 76 77 77 The last sentence probably set off the beard twitching alarms, so yes there are 78 78 some workarounds here. ··· 87 87 files on a CD, set the immutable flag or something, but all that will do is 88 88 making changing passwords more expensive, annoying and filled with anger. 89 89 90 - ![](/static/talks/surreal-horror-pam/005.jpeg) 90 + ![](https://cdn.xeiaso.net/file/christine-static/static/talks/surreal-horror-pam/005.jpeg) 91 91 92 92 What’s that? I think I hear something coming. 93 93 94 - ![](/static/talks/surreal-horror-pam/006.jpeg) 94 + ![](https://cdn.xeiaso.net/file/christine-static/static/talks/surreal-horror-pam/006.jpeg) 95 95 96 96 It’s sshd! Turns out that we do in fact need something more complicated because 97 97 we have networks and the cloud and complicated mutifactor auth requirements for ··· 101 101 102 102 Surely there has to be a better option out there _somewhere_. 103 103 104 - ![](/static/talks/surreal-horror-pam/007.jpeg) 104 + ![](https://cdn.xeiaso.net/file/christine-static/static/talks/surreal-horror-pam/007.jpeg) 105 105 106 106 Et voila! C’est le PAM! Turns out someone else a long time ago had the same 107 107 problems and somehow got legal to sign off on making it open source! PAM is a 108 108 modular system for making authentication and authorization work. 109 109 110 - ![](/static/talks/surreal-horror-pam/008.jpeg) 110 + ![](https://cdn.xeiaso.net/file/christine-static/static/talks/surreal-horror-pam/008.jpeg) 111 111 112 112 For reference, authentication and authorization are being split up into two 113 113 concepts here (like they are in a lot of the industry). We’re gonna take a page ··· 116 116 you _really_ take all the money out of the bank account?). It is a solid 90’s 117 117 solution to a 70’s problem and good god it shows. 118 118 119 - ![](/static/talks/surreal-horror-pam/009.jpeg) 119 + ![](https://cdn.xeiaso.net/file/christine-static/static/talks/surreal-horror-pam/009.jpeg) 120 120 121 121 PAM was made in the 90’s by this little startup nobody here has heard of called 122 122 Sun Microsystems. They had a problem where they had a bunch of machines to apply ··· 124 124 contracts) and no way to really do it. Money won this valiant fight between 125 125 engineering and sales, so we ended up with PAM. 126 126 127 - ![](/static/talks/surreal-horror-pam/010.jpeg) 127 + ![](https://cdn.xeiaso.net/file/christine-static/static/talks/surreal-horror-pam/010.jpeg) 128 128 129 129 So you’re probably wondering something along the lines of “how does this thing 130 130 work?”. Carefully, that's how. 131 131 132 - ![](/static/talks/surreal-horror-pam/011.jpeg) 132 + ![](https://cdn.xeiaso.net/file/christine-static/static/talks/surreal-horror-pam/011.jpeg) 133 133 134 134 This is a screenshot of a text file (a common thing to do these days) of the 135 135 main PAM configuration file in a distribution called Alpine Linux. I’m using ··· 165 165 until you forcibly reboot the system and hack back into it so you can regain 166 166 control. 167 167 168 - ![](/static/talks/surreal-horror-pam/012.jpeg) 168 + ![](https://cdn.xeiaso.net/file/christine-static/static/talks/surreal-horror-pam/012.jpeg) 169 169 170 170 How is this relevant to us? Well, I have a bit of a side project going on. I’ve 171 171 been trying to write a PAM module that would use Tailscale as its authentication ··· 177 177 authentication logic in order to let you SSH into the server? We know who you 178 178 are. You’re allowed to connect to it, so why stop you? 179 179 180 - ![](/static/talks/surreal-horror-pam/013.jpeg) 180 + ![](https://cdn.xeiaso.net/file/christine-static/static/talks/surreal-horror-pam/013.jpeg) 181 181 182 182 The heart of the PAM module I’ve been writing looks like this right now. It sets 183 183 up syslog for its log sink (this is really your only good option in PAM land) ··· 210 210 If you want to peek around the C module part of the PAM project, the QR code 211 211 will take you there. 212 212 213 - ![](/static/talks/surreal-horror-pam/014.jpeg) 213 + ![](https://cdn.xeiaso.net/file/christine-static/static/talks/surreal-horror-pam/014.jpeg) 214 214 215 215 I’m fairly sure that I can get away with this (I made my appropriate sacrifices 216 216 to the demo gods this morning), so let’s try SSHing into a VM on my laptop. If 217 217 you are watching the recording of this talk or you are not in the corp tailnet, 218 218 that command will not work. However you should see something like this: 219 219 220 - ![](/static/talks/surreal-horror-pam/015.jpeg) 220 + ![](https://cdn.xeiaso.net/file/christine-static/static/talks/surreal-horror-pam/015.jpeg) 221 221 222 222 It would be really cool to flesh this out as a full product. I feel this could 223 223 really make people’s lives a lot easier. The hard part is going to be making ··· 228 228 validate that you want to do this as a kind of second factor for authentication, 229 229 but even in this limited state I feel it has a lot of value as is. 230 230 231 - ![](/static/talks/surreal-horror-pam/016.jpeg) 231 + ![](https://cdn.xeiaso.net/file/christine-static/static/talks/surreal-horror-pam/016.jpeg) 232 232 233 233 Something you may wonder (and something I had to wonder too) is how do you debug 234 234 PAM? 235 235 236 - ![](/static/talks/surreal-horror-pam/017.jpeg) 236 + ![](https://cdn.xeiaso.net/file/christine-static/static/talks/surreal-horror-pam/017.jpeg) 237 237 238 238 It ain’t easy. I’m currently trying to get this thing to work on Ubuntu and all 239 239 of the paths I have taken are fraught with despair. I have luckily not managed ··· 244 244 get anywhere with it. PAM is a surreal horror because the most terrifying part 245 245 is that it works and that there’s not really any good other options. 246 246 247 - ![](/static/talks/surreal-horror-pam/018.jpeg) 247 + ![](https://cdn.xeiaso.net/file/christine-static/static/talks/surreal-horror-pam/018.jpeg) 248 248 249 249 This is not OpenBSD or Plan 9. This is Linux and macOS. Those exist but we can’t 250 250 use them because we are cursed into using PAM. Especially so if we want to do 251 251 this on arbitrary customer machines. 252 252 253 - ![](/static/talks/surreal-horror-pam/019.jpeg) 253 + ![](https://cdn.xeiaso.net/file/christine-static/static/talks/surreal-horror-pam/019.jpeg) 254 254 255 255 That’s the end of the talk! I want to give special thanks to the council of 256 256 elders that I summoned the help of in order to get this far. Without their help
+1 -1
lume/src/talks/thinking-different-2018-11-03.md
··· 1 1 --- 2 2 title: "Thinking Different" 3 3 date: 2018-11-03 4 - slides_link: /static/talks/thinking-different.pdf 4 + slides_link: https://cdn.xeiaso.net/file/christine-static/static/talks/thinking-different.pdf 5 5 --- 6 6 7 7 A look over [ilo Kesi](https://github.com/Xe/x/tree/master/discord/ilo-kesi), a chatbot of mine that parses commands from the grammar of [Toki Pona](https://tokipona.org).
+1 -1
lume/src/talks/webassembly-on-the-server-system-calls-2019-05-31.md
··· 1 1 --- 2 2 title: "WebAssembly on the Server: How System Calls Work" 3 3 date: 2019-05-31 4 - slides_link: /static/talks/wasm-on-the-server-system-calls.pdf 4 + slides_link: https://cdn.xeiaso.net/file/christine-static/static/talks/wasm-on-the-server-system-calls.pdf 5 5 --- 6 6 7 7 [Video](https://www.youtube.com/watch?v=G4l8RX0tA3E)